From 1f8e24520ed07be80f2190656fd35bf24a0cd14f Mon Sep 17 00:00:00 2001 From: wangting <675591594@qq.com> Date: 星期一, 04 十一月 2024 18:23:01 +0800 Subject: [PATCH] 业务类型添加修改窗口 --- Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue | 276 ++++++++++++------------------------------------------- 1 files changed, 61 insertions(+), 215 deletions(-) diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue index 4f60ac9..ff0774e 100644 --- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue +++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue @@ -162,13 +162,11 @@ <el-input v-model="form.name"></el-input> </el-form-item> <el-form-item label="缁ф壙鑷細"> - <div style="display: flex;gap: 5px;align-items: center"> - <el-input v-model="form.fName" :readOnly="true"></el-input> - <el-button :disabled="title === 'add'" plain size="small" style="margin-left: 5px;height: 30px" - type="success" - @click="inheritClickHandler">閫夋嫨 - </el-button> - </div> + <avue-input-tree :disabled="title === 'add'" + v-model="form.fName" + placeholder="璇烽�夋嫨涓氬姟绫诲瀷" + :props="{label: 'id', value: 'id',children: 'children'}" + :dic="inheritTreeData"></avue-input-tree> </el-form-item> <el-form-item label="瀹炵幇绫伙細"> <el-input v-model="form.implClass"></el-input> @@ -186,19 +184,18 @@ </el-select> </el-form-item> <el-form-item v-if="form.revLevel !== '0'" label="鐗堟湰鍙疯鍒欙細" label-width="110px" prop="revisionRuleId"> - <div style="display: flex;gap: 5px;align-items: center"> - <el-input v-model="form.revisionRuleId" :readOnly="true"></el-input> - <el-button :disabled="form.inputRevisionFlag" plain size="small" style="margin-left: 5px;height: 30px" - type="success" - @click="versionAddHandler">娣诲姞 - </el-button> - <el-switch - v-model="form.inputRevisionFlag" - active-text="鎵嬪伐杈撳叆" - style="width: 300px" - @change="form.revisionRuleId = ''"> - </el-switch> - </div> + <avue-select v-model="form.revisionRuleId" + :disabled="form.inputRevisionFlag" + placeholder="璇烽�夋嫨鐗堟湰鍙疯鍒�" + :filterable="true" + :props="{label: 'id', value: 'id'}" + :dic="versionData"></avue-select> + <el-switch + v-model="form.inputRevisionFlag" + active-text="鎵嬪伐杈撳叆" + style="width: 300px" + @change="form.revisionRuleId = ''"> + </el-switch> </el-form-item> <el-form-item v-if="form.revLevel !== '0'" label="鍒嗛殧绗︼細" label-width="110px" prop="delimiter"> <el-select v-model="form.delimiter" clearable> @@ -217,12 +214,11 @@ </div> <div class="rightForm" style="width: 26%"> <el-form-item label="鐢熷懡鍛ㄦ湡锛�" label-width="138px" prop="lifeCycleId"> - <div style="display: flex;gap: 5px;align-items: center"> - <el-input v-model="form.lifeCycleId" :readOnly="true"></el-input> - <el-button plain size="small" style="margin-left: 5px;height: 30px" type="success" - @click="lifeAddHandler('input')">娣诲姞 - </el-button> - </div> + <avue-select v-model="form.lifeCycleId" + placeholder="璇烽�夋嫨鐢熷懡鍛ㄦ湡" + :filterable="true" + :props="{label: 'id', value: 'id'}" + :dic="dialogLifeData"></avue-select> </el-form-item> <el-form-item label="澶囬�夌敓鍛藉懆鏈熷垪琛細" label-width="138px"> @@ -310,35 +306,6 @@ </span> </el-dialog> - <!-- 鐗堟湰鍙疯鍒欓�夋嫨 --> - <el-dialog - v-dialogDrag - :visible.sync="dialogVersionVisible" - append-to-body="true" - class="avue-dialog" - title="鐗堟湰鍙疯鍒�" - width="60%" - > - - <avue-crud - :key="dialogVersionKey" - ref="dialogAttrCrud" - :data="dialogVersionData" - :option="dialogVersionOption" - :table-loading="dialogVersionLoading" - @row-click="dialogVersionRowClick" - @search-change="versionHandleSearch" - @search-reset="versionHandleReset" - > - </avue-crud> - - <span slot="footer" class="dialog-footer"> - <el-button @click="dialogVersionVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="dialogVersionAddClickHandler">纭� 瀹�</el-button> - </span> - - </el-dialog> - <!-- 鐢熷懡鍛ㄦ湡 --> <el-dialog v-dialogDrag @@ -353,7 +320,6 @@ ref="dialogAttrCrud" :data="dialogLifeData" :option="dialogLifeOption" - :table-loading="dialogLifeLoading" @row-click="dialogLifeRowClick" @search-change="lifeHandleSearch" @search-reset="lifeHandleReset" @@ -364,31 +330,6 @@ <el-button type="primary" @click="dialogLifeAddClickHandler">纭� 瀹�</el-button> </span> - </el-dialog> - - <!-- 缁ф壙鑷� --> - <el-dialog - v-dialogDrag - :visible.sync="dialogInheritVisible" - append-to-body="true" - class="avue-dialog" - title="缁ф壙涓氬姟绫诲瀷" - width="30%" - @close="inheritClose" - > - <avue-tree ref="inheritTree" v-model="treeForm" :data="inheritTreeData" :option="inheritTreeOption" - @node-click="inheritNodeClick"> - <span slot-scope="{ node, data }" class="el-tree-node__label"> - <span style="font-size: 15px"> - <i class="el-icon-s-promotion"></i> - {{ (node || {}).label }} - </span> - </span> - </avue-tree> - <span slot="footer" class="dialog-footer"> - <el-button type="primary" @click="inheritSaveClickHandler">纭� 瀹�</el-button> - <el-button @click="inheritClose">鍙� 娑�</el-button> - </span> </el-dialog> <!-- 瀵煎叆 --> @@ -667,21 +608,7 @@ fileUrl: 'api/linkTypeController/impData', createViewLoading: false, // 鍒涘缓瑙嗗浘 versionAddFlag: false, - treeForm: {}, - inheritNodeRow: {}, - inheritTreeOption: { - height: 'auto', - defaultExpandAll: false, - menu: false, - addBtn: false, - props: { - label: 'id', - value: 'id', - children: 'children' - } - }, inheritTreeData: [], - dialogInheritVisible: false, dialogLifeDefalutData: [], // 鏌ヨ閲嶇疆榛樿鏁版嵁 lifeType: '', dialogLifeTable: [], @@ -708,32 +635,7 @@ }, dialogLifeLoading: false, dialogLfeVisible: false, - dialogVersionDefalutData: [], // 鏌ヨ閲嶇疆榛樿鏁版嵁 - dialogSwitchValue: false, - dialogVersionSaveRow: {}, - dialogVersionVisible: false, - dialogVersionKey: Math.random(), - dialogVersionData: [], - dialogVersionOption: { - ...basicOption, - addBtn: false, - selection: false, - refreshBtn: false, - menu: false, - height: 450, - searchMenuSpan: 8, - highlightCurrentRow: true, - // calcHeight: 100, - column: [ - { - label: '鐗堟湰鍙疯鍒�', - prop: 'id', - searchLabelWidth: 110, - search: true - } - ] - }, - dialogVersionLoading: false, + versionData: [],//鐗堟湰瑙勫垯鏁版嵁 dialogAttrSelectList: [], searchAttrParams: {}, dialogAttrLoading: false, @@ -923,6 +825,8 @@ }, created() { this.getTreeList(); + this.getVersionList(); + this.getLifeCycle(); }, mounted() { }, @@ -958,7 +862,19 @@ this.attrData = row.attributes ? JSON.parse(row.attributes) : []; this.nodeRow = row; }, - + //鑾峰彇鐗堟湰瑙勫垯鏁版嵁 + getVersionList(){ + getVersionRuleAllList().then(res => { + this.versionData = res.data.data; + }); + }, + //鑾峰彇鐢熷懡鍛ㄦ湡鏁版嵁 + getLifeCycle(){ + gridLifeCycle().then(res => { + this.dialogLifeData = res.data.data; + this.dialogLifeDefalutData = res.data.data; + }); + }, // 鍒涘缓鎸夐挳 addClickHandler() { if (func.isEmptyObject(this.nodeRow)) { @@ -967,31 +883,8 @@ } this.title = 'add'; this.form.fName = this.nodeRow.id === 'topNode' ? "" : this.nodeRow.id; - console.log(this.nodeRow); this.form.inputRevisionFlag = JSON.parse(this.form.inputRevisionFlag); // 瀛楃涓瞗alse杞崲涓哄竷灏斿�� this.visible = true; - }, - - // 鍏抽棴缁ф壙瀵硅瘽妗� - inheritClose() { - this.dialogInheritVisible = false; - this.$refs.inheritTree.setCurrentKey(null); // 鍙栨秷褰撳墠閫変腑鐨勮妭鐐� - }, - - // 缁ф壙鎸夐挳 - inheritClickHandler() { - this.dialogInheritVisible = true; - }, - - // 缁ф壙鏍戣鐐瑰嚮 - inheritNodeClick(row) { - this.inheritNodeRow = row; - }, - - // 缁ф壙鏍戜繚瀛� - inheritSaveClickHandler() { - this.form.fName = this.inheritNodeRow.id; - this.dialogInheritVisible = false; }, // 瀵硅瘽妗� 灞炴�ф睜鍒楄〃澧炲姞鎸夐挳 @@ -1111,81 +1004,12 @@ this.dialogAttrData.splice(index, 1); }, - // 鐗堟湰瑙勫垯绠$悊娣诲姞 - versionAddHandler() { - this.dialogVersionVisible = true; - this.dialogVersionKey = Math.random(); // 鎵撳紑鏃跺埛鏂拌〃鏍奸伩鍏嶈〃鏍奸敊琛� - this.dialogVersionLoading = true; - getVersionRuleAllList().then(res => { - const data = res.data.data.map(item => { - return { - id: item.id - } - }); - this.dialogVersionData = data; - this.dialogVersionDefalutData = data; - this.dialogVersionLoading = false; - }).catch(err => { - this.$message.error(err) - }); - }, - - // 鐗堟湰瑙勫垯琛岀偣鍑� - dialogVersionRowClick(row) { - this.dialogVersionSaveRow = row; - }, - - // 鐗堟湰瑙勫垯鎼滅储 - versionHandleSearch(params, done) { - const {id} = params; - - if (!params.id) { - this.dialogVersionData = this.dialogVersionDefalutData; - return done(); - } - ; - - this.dialogVersionData = this.dialogVersionDefalutData.filter(item => { - return item.id && item.id.includes(id); - }); - - done(); - - }, - - // 鐗堟湰绠$悊缃┖ - versionHandleReset() { - this.dialogVersionData = this.dialogVersionDefalutData; - }, - - // 鐗堟湰鍙疯鍒欎繚瀛� - dialogVersionAddClickHandler() { - if (func.isEmptyObject(this.dialogVersionSaveRow)) { - this.$message.error('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�'); - return; - } - this.form.revisionRuleId = this.dialogVersionSaveRow.id; - this.dialogVersionVisible = false; - }, - // 鐢熷懡鍛ㄦ湡鏂板 lifeAddHandler(val) { this.dialogLfeVisible = true; this.dialogLifeKey = Math.random(); // 鎵撳紑鏃跺埛鏂拌〃鏍奸伩鍏嶈〃鏍奸敊琛� this.dialogLifeLoading = true; this.lifeType = val; - gridLifeCycle().then(res => { - const data = res.data.data.map(item => { - return { - id: item.id - } - }); - this.dialogLifeData = data; - this.dialogLifeDefalutData = data; - this.dialogLifeLoading = false - }).catch(err => { - this.$message.error(err) - }); }, // 鐢熷懡鍛ㄦ湡琛岀偣鍑� @@ -1350,9 +1174,31 @@ ? this.nodeRow.lifeCycleIds.split(',').map(item => ({id: item.trim()})) : []; this.dialogAttrData = this.nodeRow.attributes ? JSON.parse(this.nodeRow.attributes) : []; + function processChildren(item,fName) { + if (item.children && item.children.length > 0) { + item.children = item.children.map(child => { + processChildren(child,fName); // 閫掑綊澶勭悊姣忎釜瀛愯妭鐐� + if(fName==child.id){ + child.disabled=true; + }else { + child.disabled=false; + } + return child; + }); + } + }; + const inheritTreeData=this.inheritTreeData.map(item => { + processChildren(item,this.form.id); // 澶勭悊姣忎釜鑺傜偣 + if(this.form.id==item.id){ + item.disabled=true; + }else { + item.disabled=false; + } + return item; + }); + this.inheritTreeData=inheritTreeData this.title = 'edit'; this.visible = true; - console.log(this.form); }, // 鍒犻櫎鎸夐挳 -- Gitblit v1.9.3