From 3f3de7e4cea0d9692cddd71df1e0c3d96a301fd1 Mon Sep 17 00:00:00 2001 From: wangting <675591594@qq.com> Date: 星期三, 06 十一月 2024 16:12:10 +0800 Subject: [PATCH] 修改业务类型 --- Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue | 213 ++++++++++++++++++++++++++++++----------------------- 1 files changed, 120 insertions(+), 93 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 646a7e6..88a6823 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 @@ -215,15 +215,15 @@ :props="{label: 'id', value: 'id'}" :dic="lifeData"></avue-select> </el-form-item> - <el-form-item label="澶囬�夌敓鍛藉懆鏈熷垪琛細" label-width="138px"> <avue-select multiple :filterable="true" - v-model="form.subLifeCycleId" + v-model="form.subLifeCycleIdList" placeholder="璇烽�夋嫨鐢熷懡鍛ㄦ湡" :props="{label: 'id', value: 'id'}" type="tree" - :dic="lifeData"></avue-select> + :dic="subLifeData" + @change="subLifeChange"></avue-select> </el-form-item> </div> </div> @@ -554,6 +554,8 @@ versionAddFlag: false, inheritTreeData: [], lifeData: [],//鐢熷懡鍛ㄦ湡涓嬫媺鏁版嵁 + subLifeData:[],//澶囬�夌敓鍛藉懆鏈熶笅鎷夋暟鎹� + allLifeData:[], versionData: [],//鐗堟湰瑙勫垯鏁版嵁 dialogAttrSelectList: [], searchAttrParams: {}, @@ -707,7 +709,8 @@ delimiter: '', // 鍒嗛殧绗� versionRule: '0', // 鐗堟鍙疯鍒� lifeCycleId: '', // 鐢熷懡鍛ㄦ湡 - subLifeCycleId: [], // 鐢熷懡鍛ㄦ湡澶囬�夊垪琛�, + subLifeCycleId: '', // 鐢熷懡鍛ㄦ湡澶囬�夊垪琛�, + subLifeCycleIdList:[], apNameArray: "", // 灞炴�ф睜鍒楄〃鈥欙紝鈥樺垎闅� }, nodeRow: {}, @@ -748,6 +751,19 @@ this.getLifeCycle(); }, mounted() { + }, + watch:{ + 'form.lifeCycleId':{ + handler(newval) { + if(this.form.lifeCycleId){ + this.subLifeData = this.allLifeData.filter(item=>{ + return item.id!=this.form.lifeCycleId + }); + }else { + this.subLifeData = this.allLifeData + } + }, + } }, methods: { //鏍戣〃鏌ヨ @@ -790,7 +806,7 @@ //鑾峰彇鐢熷懡鍛ㄦ湡鏁版嵁 getLifeCycle(){ gridLifeCycle().then(res => { - this.lifeData = res.data.data; + this.allLifeData=res.data.data; }); }, // 鍒涘缓鎸夐挳 @@ -801,10 +817,107 @@ } this.title = 'add'; this.form.fName = this.nodeRow.id === 'topNode' ? "" : this.nodeRow.id; + this.lifeData = this.allLifeData; + this.subLifeData = this.allLifeData; this.form.inputRevisionFlag = JSON.parse(this.form.inputRevisionFlag); // 瀛楃涓瞗alse杞崲涓哄竷灏斿�� this.visible = true; }, + // 鏂板缂栬緫淇濆瓨 + addDialogSavaHandler() { + if (this.form.revLevel !== '0' &&!this.form.inputRevisionFlag && (!this.form.revisionRuleId || this.form.revisionRuleId === "")) { + this.$message.error('璇锋鏌ョ増鏈彿瑙勫垯涓嶈兘涓虹┖'); + return; + } + this.form.lifeCycleIds=this.form.subLifeCycleIdList.join(','); + this.form.subLifeCycleId=this.form.subLifeCycleIdList.join(','); + this.form.apNameArray = this.dialogAttrData ? this.dialogAttrData.map(item => item.id).join(',') : ""; + this.$refs.form.validate((valid) => { + const saveFunction = this.title === 'add' ? addLifeCycle : updateLifeCycle; + if (valid) { + if (this.form.revLevel === 0) { + this.form.versionRule = ""; + } + saveFunction(this.form).then(res => { + if (res.data.code === 200) { + this.$message.success(res.data.obj); + this.getTreeList(); + this.resetForm(); + this.visible = false; + } + }) + } else { + return false; + } + }); + }, + + // 缂栬緫鎸夐挳鐐瑰嚮浜嬩欢 + editClickHandler() { + /** + * id 鍚嶇О + * name 鏍囩 + * implClass 瀹炵幇绫� + * fName 缁ф壙鑷� + * description 鎻忚堪 + * revLevel 鐗堟湰瑙勫垯 + * revisionRuleId 鐗堟湰鍙疯鍒� + * inputRevisionFlag 鎵嬪伐杈撳叆 + * delimiter 鍒嗛殧绗� + * versionRule 鐗堟鍙疯鍒� + * lifeCycleId 鐢熷懡鍛ㄦ湡 + * lifeCycleIds 鐢熷懡鍛ㄦ湡鍒楄〃 + * attributes 灞炴�ф睜鍒楄〃 + */ + if (func.isEmptyObject(this.nodeRow)) { + this.$message.error('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�'); + return; + } + if (this.nodeRow.id === 'topNode') { + this.$message.error('璇烽�夋嫨瀛愯妭鐐硅繘琛屼慨鏀�') + return; + } + this.form = {...this.nodeRow}; + this.form.inputRevisionFlag = JSON.parse(this.form.inputRevisionFlag); // 瀛楃涓瞗alse杞崲涓哄竷灏斿�� + // this.form.fName = this.nodeRow.id === 'topNode' ? "" : this.nodeRow.id; + this.form.subLifeCycleIdList = this.nodeRow.lifeCycleIds.split(','); + 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; + }, + + subLifeChange(data){ + if (data.value.length == 0) { + this.lifeData = this.allLifeData + } else { + this.lifeData = this.allLifeData.filter(item => { + return !data.value.includes(item.id) + }); + } + }, // 瀵硅瘽妗� 灞炴�ф睜鍒楄〃澧炲姞鎸夐挳 addDialogClickHandler() { this.dialogAttrLoading = true; @@ -947,7 +1060,8 @@ delimiter: '', // 鍒嗛殧绗� versionRule: '0', // 鐗堟鍙疯鍒� lifeCycleId: '', // 鐢熷懡鍛ㄦ湡 - subLifeCycleId: [], // 鐢熷懡鍛ㄦ湡澶囬�夊垪琛�, + subLifeCycleId: '', // 鐢熷懡鍛ㄦ湡澶囬�夊垪琛�, + subLifeCycleIdList:[], lifeCycleIds:'', apNameArray: "", // 灞炴�ф睜鍒楄〃鈥欙紝鈥樺垎闅� }; @@ -968,93 +1082,6 @@ this.form.delimiter = ""; this.form.versionRule = "0"; this.form.revisionRuleId = ""; - }, - - // 鏂板缂栬緫淇濆瓨 - addDialogSavaHandler() { - if (this.form.revLevel !== '0' &&!this.form.inputRevisionFlag && (!this.form.revisionRuleId || this.form.revisionRuleId === "")) { - this.$message.error('璇锋鏌ョ増鏈彿瑙勫垯涓嶈兘涓虹┖'); - return; - } - this.form.lifeCycleIds=this.form.subLifeCycleId.join(','); - this.form.apNameArray = this.dialogAttrData ? this.dialogAttrData.map(item => item.id).join(',') : ""; - this.$refs.form.validate((valid) => { - const saveFunction = this.title === 'add' ? addLifeCycle : updateLifeCycle; - if (valid) { - if (this.form.revLevel === 0) { - this.form.versionRule = ""; - } - saveFunction(this.form).then(res => { - if (res.data.code === 200) { - this.$message.success(res.data.obj); - this.getTreeList(); - this.resetForm(); - this.visible = false; - } - }) - } else { - return false; - } - }); - }, - - // 缂栬緫鎸夐挳鐐瑰嚮浜嬩欢 - editClickHandler() { - /** - * id 鍚嶇О - * name 鏍囩 - * implClass 瀹炵幇绫� - * fName 缁ф壙鑷� - * description 鎻忚堪 - * revLevel 鐗堟湰瑙勫垯 - * revisionRuleId 鐗堟湰鍙疯鍒� - * inputRevisionFlag 鎵嬪伐杈撳叆 - * delimiter 鍒嗛殧绗� - * versionRule 鐗堟鍙疯鍒� - * lifeCycleId 鐢熷懡鍛ㄦ湡 - * lifeCycleIds 鐢熷懡鍛ㄦ湡鍒楄〃 - * attributes 灞炴�ф睜鍒楄〃 - */ - if (func.isEmptyObject(this.nodeRow)) { - this.$message.error('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�'); - return; - } - if (this.nodeRow.id === 'topNode') { - this.$message.error('璇烽�夋嫨瀛愯妭鐐硅繘琛屼慨鏀�') - return; - } - this.form = {...this.nodeRow}; - this.form.inputRevisionFlag = JSON.parse(this.form.inputRevisionFlag); // 瀛楃涓瞗alse杞崲涓哄竷灏斿�� - // this.form.fName = this.nodeRow.id === 'topNode' ? "" : this.nodeRow.id; - this.form.subLifeCycleId = (this.nodeRow.lifeCycleIds && this.nodeRow.lifeCycleIds.trim()) - ? 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; }, // 鍒犻櫎鎸夐挳 -- Gitblit v1.9.3