| | |
| | | <el-table-column label="属性值" prop="value" min-width="100px" show-overflow-tooltip /> |
| | | <el-table-column label="操作" width="90px"> |
| | | <template slot-scope="{ row, $index }"> |
| | | <el-button size="mini" type="text" @click="openAttributesForm(row, $index)">编辑</el-button> |
| | | <el-divider direction="vertical" /> |
| | | <el-button size="mini" type="text" style="color: #ff4d4f" @click="removeAttributes(row, $index)">移除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div class="element-drawer__button"> |
| | | <el-button size="mini" type="primary" icon="el-icon-plus" @click="openAttributesForm(null, -1)">添加属性</el-button> |
| | | <el-button size="mini" type="primary" icon="el-icon-setting" @click="openAttributesForm(null, -1)">属性设置</el-button> |
| | | </div> |
| | | |
| | | <el-dialog :visible.sync="propertyFormModelVisible" title="属性配置" width="600px" append-to-body destroy-on-close> |
| | | <el-form :model="propertyForm" label-width="80px" size="mini" ref="attributeFormRef" @submit.native.prevent> |
| | | <el-form-item label="属性名:" prop="name"> |
| | | <el-input v-model="propertyForm.name" clearable /> |
| | | </el-form-item> |
| | | <el-form-item label="属性值:" prop="value"> |
| | | <el-input v-model="propertyForm.value" clearable /> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div v-for="item in canConfigPropertyList"> |
| | | <div v-if="item.vueType === 'switch'"> |
| | | <el-switch |
| | | v-model="item.value" |
| | | :inactive-text="item.name" |
| | | @change="(val) => item.method(item.name, val === true ? '是' : '否')" |
| | | active-color="#13ce66" |
| | | inactive-color="#ff4949"> |
| | | </el-switch> |
| | | </div> |
| | | </div> |
| | | <!-- <el-form :model="propertyForm" label-width="80px" size="mini" ref="attributeFormRef" @submit.native.prevent>--> |
| | | <!-- <el-form-item label="属性名:" prop="name">--> |
| | | <!-- <el-input v-model="propertyForm.name" clearable />--> |
| | | <!-- </el-form-item>--> |
| | | <!-- <el-form-item label="属性值:" prop="value">--> |
| | | <!-- <el-input v-model="propertyForm.value" clearable />--> |
| | | <!-- </el-form-item>--> |
| | | <!-- </el-form>--> |
| | | <template slot="footer"> |
| | | <el-button size="mini" @click="propertyFormModelVisible = false">取 消</el-button> |
| | | <el-button size="mini" type="primary" @click="saveAttribute">确 定</el-button> |
| | | <el-button size="mini" @click="propertyFormModelVisible = false">关 闭</el-button> |
| | | </template> |
| | | </el-dialog> |
| | | </div> |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | elementPropertyList: [], |
| | | canConfigPropertyList: [ |
| | | { |
| | | name: '该节点是审批节点', |
| | | value: false, |
| | | vueType: 'switch', |
| | | method: (name, value) => { |
| | | this.propertyForm.name = name |
| | | this.propertyForm.value = value |
| | | this.saveAttribute() |
| | | } |
| | | } |
| | | ], // 可以配置的属性列表 |
| | | elementPropertyList: [], // 扩展属性列表 |
| | | otherExtensionList: [], |
| | | propertyForm: {}, |
| | | editingPropertyIndex: -1, |
| | |
| | | } |
| | | return ex.$type === `flowable:Properties`; |
| | | }) ?? []; |
| | | |
| | | // 保存所有的 扩展属性字段 |
| | | this.bpmnElementPropertyList = this.bpmnElementProperties.reduce((pre, current) => pre.concat(current.values), []); |
| | | // 复制 显示 |
| | | |
| | | // 回显 |
| | | this.canConfigPropertyList.forEach(item => { |
| | | const find = this.bpmnElementPropertyList.find(el => el.name === item.name); |
| | | if (find) { |
| | | if (item.vueType === 'switch') { |
| | | item.value = find.value === '是' ? true : false |
| | | } |
| | | |
| | | } |
| | | }) |
| | | console.log(this.canConfigPropertyList, "这是什么鬼") |
| | | this.elementPropertyList = JSON.parse(JSON.stringify(this.bpmnElementPropertyList ?? [])); |
| | | }, |
| | | openAttributesForm(attr, index) { |
| | |
| | | value |
| | | }); |
| | | } else { |
| | | // 如果已经存在这个属性,就做修改 |
| | | const find = this.bpmnElementPropertyList.find(item => item.name === name); |
| | | if (find) { |
| | | this.modelerStore.modeling.updateModdleProperties(this.bpmnElement, this.bpmnElementPropertyList[this.bpmnElementPropertyList.indexOf(find)], { |
| | | name, |
| | | value |
| | | }); |
| | | } else { |
| | | // 新建属性字段 |
| | | const newPropertyObject = this.modelerStore.moddle.create(`flowable:Property`, { name, value }); |
| | | // 新建一个属性字段的保存列表 |
| | |
| | | }); |
| | | this.updateElementExtensions(propertiesObject); |
| | | } |
| | | this.propertyFormModelVisible = false; |
| | | } |
| | | // this.propertyFormModelVisible = false; |
| | | this.$message.success("操作成功") |
| | | this.resetAttributesList(); |
| | | }, |
| | | updateElementExtensions(properties) { |