From d28014d86e3bb144325e7ca921d82f7d132537e6 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期一, 10 二月 2025 10:53:31 +0800 Subject: [PATCH] 表单设计器增加支持的文件格式 --- src/components/Process/panel/PropertiesPanel.vue | 86 ++++++++++++++++++++++++++++++++++++++---- 1 files changed, 77 insertions(+), 9 deletions(-) diff --git a/src/components/Process/panel/PropertiesPanel.vue b/src/components/Process/panel/PropertiesPanel.vue index 5ecc92a..e1a171f 100644 --- a/src/components/Process/panel/PropertiesPanel.vue +++ b/src/components/Process/panel/PropertiesPanel.vue @@ -6,8 +6,6 @@ <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> @@ -16,8 +14,8 @@ <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> - <div v-for="item in canConfigPropertyList"> + <el-dialog :visible.sync="propertyFormModelVisible" title="灞炴�ч厤缃�" width="600px" @close="closeProperty" append-to-body :destroy-on-close="true" :close-on-click-modal="false"> + <div v-for="item in canConfigPropertyList" style="margin-bottom: 20px"> <div v-if="item.vueType === 'switch'"> <el-switch v-model="item.value" @@ -37,7 +35,7 @@ <!-- </el-form-item>--> <!-- </el-form>--> <template slot="footer"> - <el-button size="mini" @click="propertyFormModelVisible = false">鍏� 闂�</el-button> + <el-button size="mini" @click="closeProperty">鍏� 闂�</el-button> </template> </el-dialog> </div> @@ -58,13 +56,36 @@ return { canConfigPropertyList: [ { - name: '璇ヨ妭鐐规槸瀹℃壒鑺傜偣', - value: '鏄�', + name: '鏄惁瀹℃壒鑺傜偣', + value: false, vueType: 'switch', method: (name, value) => { this.propertyForm.name = name this.propertyForm.value = value this.saveAttribute() + this.resetList() + } + }, + { + name: '鏄惁鍏佽璺宠繃', + value: false, + vueType: 'switch', + method: (name, value) => { + this.propertyForm.name = name + this.propertyForm.value = value + this.saveAttribute() + this.resetList() + } + }, + { + name: '鏄惁鍏佽瀹圭己', + value: false, + vueType: 'switch', + method: (name, value) => { + this.propertyForm.name = name + this.propertyForm.value = value + this.saveAttribute() + this.resetList() } } ], // 鍙互閰嶇疆鐨勫睘鎬у垪琛� @@ -86,6 +107,44 @@ } }, methods: { + closeProperty() { + this.propertyFormModelVisible = false + this.resetList() + }, + resetList() { + this.canConfigPropertyList = [ + { + name: '鏄惁瀹℃壒鑺傜偣', + value: false, + vueType: 'switch', + method: (name, value) => { + this.propertyForm.name = name + this.propertyForm.value = value + this.saveAttribute() + } + }, + { + name: '鏄惁鍏佽璺宠繃', + value: false, + vueType: 'switch', + method: (name, value) => { + this.propertyForm.name = name + this.propertyForm.value = value + this.saveAttribute() + } + }, + { + name: '鏄惁鍏佽瀹圭己', + value: false, + vueType: 'switch', + method: (name, value) => { + this.propertyForm.name = name + this.propertyForm.value = value + this.saveAttribute() + } + } + ] + }, resetAttributesList() { this.bpmnElement = this.modelerStore.element; this.otherExtensionList = []; // 鍏朵粬鎵╁睍閰嶇疆 @@ -96,10 +155,19 @@ } 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 + } + + } + }) this.elementPropertyList = JSON.parse(JSON.stringify(this.bpmnElementPropertyList ?? [])); }, openAttributesForm(attr, index) { -- Gitblit v1.8.0