From 22119b6c5128b773d4e72a0a6ca1f736d0def087 Mon Sep 17 00:00:00 2001 From: wangting <675591594@qq.com> Date: 星期二, 08 八月 2023 18:08:05 +0800 Subject: [PATCH] 修改流程启动,流程执行 --- Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue | 312 ++++++++++++++++++--------------------------------- 1 files changed, 109 insertions(+), 203 deletions(-) diff --git a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue index 6d4c5a1..347fef0 100644 --- a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue +++ b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue @@ -190,14 +190,14 @@ WupinFindValue: "", //鐩镐技椤规煡璇� similarVisible: false, - //鍙戝竷 + //鍚姩娴佺▼ parameter: { ids: [], btmtype:'', code: "", type: '', // this.visibleDeactivate ?'ENABLE':this.visibleEnable ? 'DISABLE' :this.visibleRecovery ? 'ROLLBACK' :'PUBLIC' - template: "", + processName: "", vars: { codeClassifyOid: "", templateOid: "" @@ -268,12 +268,19 @@ result: '' }; }, - computed: {}, + computed: { + oids() { + let oids = []; + this.selectRow.forEach(ele => { + oids.push(ele.oid); + }); + return oids; + } + }, created() { // const index = this.$route.query.id.indexOf('@name=') + '@name='.length; // this.result = this.$route.query.id.substring(index); getUserInfo().then(res=>{ - console.log(res.data.data) this.result=res.data.data.realName }) }, @@ -294,7 +301,6 @@ codeClassifyOid: { handler(newval, oldval) { this.codeClassifyOid = newval; - this.parameter.vars.codeClassifyOid = newval }, deep: true, }, @@ -337,9 +343,7 @@ }, templateOid: { handler(newval, oldval) { - this.parameter.code = newval; this.fileOptions.ownbizOid = "0"; - this.parameter.vars.templateOid = newval }, deep: true, }, @@ -434,213 +438,120 @@ }, // 鍙戝竷 setHandler() { - console.log('Treedata',this.Treedata) - if (this.selectRow.length > 0) { - let hasEditing = this.selectRow.some(item => item.lcstatus !== 'Editing'); - let showMessage = true; - this.selectRow.forEach(item => { - if (this.selectRow.length === 1 && item.lcstatus !== "Editing" && showMessage) { - this.$message.warning('鍙湁鐘舵�佹槸銆愮紪杈戜腑銆戠殑鏁版嵁鎵嶅彲浠ュ彂璧锋祦绋�'); - showMessage = false; - } else if (hasEditing && showMessage) { - this.$message.warning('鎮ㄩ�夋嫨鐨勬暟鎹叏閮ㄤ负銆愮紪杈戜腑銆戞墠鍙互鍙戣捣娴佺▼'); - showMessage = false; - } else if (showMessage) { - processTS({templateId: this.templateOid, buttonTypeKey: 'PUBLIC'}).then(res => { - if (res.data.data.records && res.data.data.records.length != 0) { - this.parameter.processName = this.result + '-鐢宠[' + this.Treedata[0].name + '-' + this.selectRow[0].name + ']'; - this.parameter.type = 'PUBLIC'; - this.parameter.code = this.templateOid; - this.parameter.btmtype=this.selectRow[0].btmname || this.selectRow[0].btmtype; - this.title = '娴佺▼瀹℃壒' - this.visibleFlow = true; - } else { - this.$confirm('褰撳墠鍒嗙被娌℃湁娣诲姞娴佺▼妯℃澘锛屾槸鍚︿笉鐢ㄦ祦绋嬪鎵圭洿鎺ユ墽琛�?', '鎻愮ず', { - confirmButtonText: '纭畾', - cancelButtonText: '鍙栨秷', - type: 'warning' - }).then(() => { - const oid = this.selectRow.map(obj => obj.oid).join(","); - changeStatus({oid: oid, btmname: this.selectRow[0].btmname, lcStatus: 'Released'}).then(res => { - if (res.data.code == 200) { - this.$message.success('鍙戝竷鎴愬姛') - this.onLoad() - } - }); - }).catch(() => { - this.$message({ - type: 'info', - message: '宸插彇娑�' - }); - }) - } - }) - } - }); - } else { - this.$message.warning('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�') + var options = { + processUse:'PUBLIC', + processUseText:'鐢宠', + allowStatus:'Editing', + allowStatusText:'宸茬紪杈�', + startStatus:'Auditing', + resetStatus:'Editing', + batchTitle:'鎵归噺鎻愪氦缂栫爜鏁版嵁鍒版祦绋嬪鎵�', + title:'鎻愪氦缂栫爜鏁版嵁鍒版祦绋嬪鎵�' } + this.checkStatusAndSubmitProcess(options,'Released'); }, //鍋滅敤 Deactivate() { - if (this.selectRow.length <= 0) { - this.$message.warning("璇烽�夋嫨涓�鏉℃暟鎹�"); - } else { - let hasEditing = this.selectRow.every(item => item.lcstatus == 'Released'); - let showMessage = true; - this.selectRow.forEach(item => { - if (this.selectRow.length === 1 && item.lcstatus === "Disabled" && showMessage) { - this.$message.warning('閫夋嫨鐨勬暟鎹腑鐘舵�佹棤闇�鍐嶆墽琛屽綋鍓嶆搷浣�'); - showMessage = false; - } else if (this.selectRow.length > 1 && !hasEditing && showMessage) { - this.$message.warning('鎮ㄩ�夋嫨鐨勬暟鎹叏閮ㄤ负銆愬彂甯冪姸鎬併�戞墠鍙互鍙戣捣娴佺▼'); - showMessage = false; - } else if (this.selectRow.length >= 1 && hasEditing && showMessage) { - processTS({templateId: this.templateOid, buttonTypeKey: 'DISABLE'}).then(res => { - if (res.data.records != [] && res.data.data.records.length != 0) { - this.parameter.processName = this.result + '-鍋滅敤[' + this.Treedata[0].name + '-' + this.selectRow[0].name + ']'; - this.parameter.type = 'DISABLE'; - this.parameter.code = this.templateOid - this.parameter.btmtype=this.selectRow[0].btmname || this.selectRow[0].btmtype; - this.title = '鍋滅敤锛堝喕缁擄級缂栫爜鏁版嵁' - this.visibleDeactivate = true; - } else { - if (showMessage) { - showMessage = false; // 鏍囪宸叉墽琛岃繃鎿嶄綔 - this.$confirm('褰撳墠鍒嗙被娌℃湁娣诲姞娴佺▼妯℃澘锛屾槸鍚︿笉鐢ㄦ祦绋嬪鎵圭洿鎺ユ墽琛�?', '鎻愮ず', { - confirmButtonText: '纭畾', - cancelButtonText: '鍙栨秷', - type: 'warning' - }).then(() => { - const oid = this.selectRow.map(obj => obj.oid).join(","); - changeStatus({oid: oid, btmname: this.selectRow[0].btmname, lcStatus: 'Disabled'}).then(res => { - if (res.data.code == 200) { - this.$message.success('鍋滅敤鎴愬姛') - this.onLoad() - } - }); - }).catch(() => { - this.$message({ - type: 'info', - message: '宸插彇娑�' - }); - }); - } - } - }); - } else if(this.selectRow.length == 1 && !hasEditing && showMessage ) { - this.$message.warning('鎮ㄩ�夋嫨鐨勬暟鎹负銆愬彂甯冪姸鎬併�戞墠鍙互鍙戣捣娴佺▼') - } - }); + var options = { + processUse:'DISABLE', + processUseText:'鍋滅敤', + allowStatus:'Released', + allowStatusText:'宸插彂甯�', + resetStatus:'Released', + batchTitle:'鎵归噺鍋滅敤(鍐荤粨)鐨勭紪鐮佹暟鎹�', + title:'鍋滅敤(鍐荤粨)缂栫爜鏁版嵁', + confirmMsg:'鏄惁瑕佸仠鐢ㄨ繖浜涙暟鎹�' } + this.checkStatusAndSubmitProcess(options,'Disabled'); }, //鍚敤 Enable() { - if (this.selectRow.length <= 0) { - this.$message.warning("璇烽�夋嫨涓�鏉℃暟鎹�"); - } else { - let hasEditing = this.selectRow.every(item => item.lcstatus == 'Disabled'); - let showMessage = true; - this.selectRow.forEach(item => { - if (this.selectRow.length === 1 && item.lcstatus !== "Disabled" && showMessage) { - this.$message.warning('閫夋嫨鐨勬暟鎹腑鐘舵�佹棤闇�鍐嶆墽琛屽綋鍓嶆搷浣�'); - showMessage = false; - } else if (this.selectRow.length >= 1 && hasEditing && showMessage) { - processTS({templateId: this.templateOid, buttonTypeKey: 'ENABLE'}).then(res => { - if (res.data.data.records && res.data.data.records.length != 0) { - this.parameter = res.data.data.records[0] - this.parameter.processName = this.result + '-鍚敤[' + this.Treedata[0].name + '-' + this.selectRow[0].name + ']'; - this.parameter.type = 'Released'; - this.parameter.code = this.templateOid - this.parameter.btmtype=this.selectRow[0].btmname || this.selectRow[0].btmtype; - this.title = '鍚敤缂栫爜鏁版嵁' - this.visibleDeactivate = true; - } else { - if (showMessage) { - showMessage = false; // 鏍囪宸叉墽琛岃繃鎿嶄綔 - this.$confirm('褰撳墠鍒嗙被娌℃湁娣诲姞娴佺▼妯℃澘锛屾槸鍚︿笉鐢ㄦ祦绋嬪鎵圭洿鎺ユ墽琛�?', '鎻愮ず', { - confirmButtonText: '纭畾', - cancelButtonText: '鍙栨秷', - type: 'warning' - }).then(() => { - const oid = this.selectRow.map(obj => obj.oid).join(","); - changeStatus({oid: oid, btmname: this.selectRow[0].btmname, lcStatus: 'Released'}).then(res => { - if (res.data.code == 200) { - this.$message.success('鍚敤鎴愬姛') - this.onLoad() - } - }); - }).catch(() => { - this.$message({ - type: 'info', - message: '宸插彇娑�' - }); - }); - } - } - }); - } else if (this.selectRow.length > 1 && !hasEditing && showMessage) { - this.$message.warning('鎮ㄩ�夋嫨鐨勬暟鎹叏閮ㄤ负銆愬仠鐢ㄧ姸鎬併�戞墠鍙互鍙戣捣娴佺▼'); - showMessage = false; - } - }); + var options = { + processUse:'ENABLE', + processUseText:'鍚敤', + allowStatus:'Disabled', + allowStatusText:'宸插仠鐢�', + resetStatus:'Disabled', + batchTitle:'鎵归噺鍚敤(瑙e喕)鐨勭紪鐮佹暟鎹�', + title:'鍚敤(瑙e喕)缂栫爜鏁版嵁', + confirmMsg:'鏄惁瑕佸惎鐢�(瑙e喕)杩欎簺鏁版嵁' } + this.checkStatusAndSubmitProcess(options,'Released'); }, //鍥炴敹 Recovery() { + var options = { + processUse:'ROLLBACK', + processUseText:'鍥炴敹', + allowStatus:'Released,Disabled', + allowStatusText:'宸插彂甯�,宸插仠鐢�', + batchTitle:'鎵归噺鍥炴敹鐨勭紪鐮佹暟鎹�', + title:'鍥炴敹缂栫爜鏁版嵁', + confirmMsg:'鏄惁瑕佸洖鏀惰繖浜涙暟鎹�', + } + this.checkStatusAndSubmitProcess(options,'TakeBack'); + }, + checkStatusAndSubmitProcess(options,targetLcstatus){ + // 缂栬緫涓�-鍙兘鍙戝竷锛屼笉鑳藉洖鏀� + // 瀹℃牳涓�-浠�涔堥兘涓嶈兘鍋� + // 宸插彂甯�-鍋滅敤銆佸洖鏀� + // 鍋滅敤-鍙兘鍚敤銆佸洖鏀� if (this.selectRow.length <= 0) { - this.$message.warning("璇烽�夋嫨涓�鏉℃暟鎹�"); + this.$message.warning("璇烽�夋嫨鏁版嵁"); + } else if (this.selectRow.length >1000) { + this.$message.warning("姣忔鎻愪氦鍒版祦绋嬬殑鏁伴噺璇蜂笉瑕佽秴杩�1000鏉�"); } else { - // 缂栬緫涓�-鍙兘鍙戝竷锛屼笉鑳藉洖鏀� - // 瀹℃牳涓�-浠�涔堥兘涓嶈兘鍋� - // 宸插彂甯�-鍋滅敤銆佸洖鏀� - // 鍋滅敤-鍙兘鍚敤銆佸洖鏀� - const disabledCount = this.selectRow.filter(item => item.lcstatus === 'Disabled').length; - const releasedCount = this.selectRow.filter(item => item.lcstatus === 'Released').length; - let showMessage = true; - this.selectRow.forEach(item => { - if (this.selectRow.length === 1 && item.lcstatus == "TakeBack" && showMessage) { - this.$message.warning('閫夋嫨鐨勬暟鎹腑鐘舵�佹棤闇�鍐嶆墽琛屽綋鍓嶆搷浣�'); - showMessage = false; - } else if (this.selectRow.length >= 1 && (disabledCount === this.selectRow.length || releasedCount === this.selectRow.length) || (disabledCount > 0 && releasedCount > 0) && showMessage) { - //disabledCount 鍜� releasedCount 涓换鎰忎竴涓瓑浜� this.selectRow 鏁扮粍鐨勯暱搴﹀垯琛ㄧず鍏ㄩ儴鏄悓涓�绉嶇姸鎬侊紝杩斿洖 true 濡傛灉disabledCount 鍜� releasedCount 閮藉ぇ浜�0锛屽垯琛ㄧず鏃㈡湁Disabled涔熸湁Released杩斿洖 true - processTS({templateId: this.templateOid, buttonTypeKey: 'ROLLBACK'}).then(res => { - if (res.data.records != [] && res.data.data.records.length != 0) { - this.parameter.processName = this.result + '-鍥炴敹[' + this.selectRow[0].btmname + '-' + this.selectRow[0].name + ']'; - this.parameter.type = 'TakeBack'; - this.parameter.code = this.templateOid - this.parameter.btmtype=this.selectRow[0].btmname || this.selectRow[0].btmtype; - this.title = '鍥炴敹缂栫爜鏁版嵁' - this.visibleDeactivate = true; - } else { - if (showMessage) { - showMessage = false; // 鏍囪宸叉墽琛岃繃鎿嶄綔 - this.$confirm('褰撳墠鍒嗙被娌℃湁娣诲姞娴佺▼妯℃澘锛屾槸鍚︿笉鐢ㄦ祦绋嬪鎵圭洿鎺ユ墽琛�?', '鎻愮ず', { - confirmButtonText: '纭畾', - cancelButtonText: '鍙栨秷', - type: 'warning' - }).then(() => { - const oid = this.selectRow.map(obj => obj.oid).join(","); - changeStatus({oid: oid, btmname: this.selectRow[0].btmname, lcStatus: 'TakeBack'}).then(res => { - if (res.data.code == 200) { - this.$message.success('鍥炴敹鎴愬姛') - this.onLoad() - } - }); - }).catch(() => { - this.$message({ - type: 'info', - message: '宸插彇娑�' - }); - }); + //瀹℃壒鐨勬暟鎹殑鐘舵�佸繀椤荤浉鍚� + var lcstatus = this.selectRow[0].lcstatus; + let hasDiff = this.selectRow.every(item => item.lcstatus == lcstatus); + if (!hasDiff) { + this.$message.warning("鎮ㄩ�夋嫨鐨勬暟鎹殑鐘舵�佷笉鐩稿悓"); + return false; + } + if (lcstatus == targetLcstatus) { + this.$message.warning("閫夋嫨鐨勬暟鎹腑鐘舵�佹棤闇�鍐嶆墽琛屽綋鍓嶆搷浣�"); + return false; + } + if(options.processUseText=='鐢宠' && !validatenull(this.selectRow[0].copyfromversion)){ + options.processUseText='淇敼' + options.processUse='EDIT' + } + let checkStatus = this.selectRow.every(item => options.allowStatus.indexOf(item.lcstatus)!=-1); + if(!checkStatus){ + this.$message.warning('鍙湁鐘舵�佹槸銆�'+options.allowStatusText+'銆戠殑鏁版嵁鎵嶅彲浠ュ彂璧锋祦绋�'); + return false; + } + processTS({templateId: this.templateOid, buttonTypeKey: options.processUse}).then(res => { + if (res.data.data.records && res.data.data.records.length != 0) { + this.parameter.ids=this.oids; + this.parameter.processName = this.result + '-'+options.processUseText+'[' + this.Treedata[0].name + '-' + this.selectRow[0].name + ']'; + this.parameter.type = options.processUse; + this.parameter.code = this.templateOid + this.parameter.btmtype=this.selectRow[0].btmname || this.selectRow[0].btmtype; + this.parameter.vars= { + codeClassifyOid: this.codeClassifyOid, + templateOid: this.templateOid + }; + this.title = this.selectRow.length>1?options.batchTitle:options.title; + this.visibleDeactivate = true; + } else { + this.$confirm('褰撳墠鍒嗙被娌℃湁娣诲姞娴佺▼妯℃澘锛屾槸鍚︿笉鐢ㄦ祦绋嬪鎵圭洿鎺ユ墽琛�?', '鎻愮ず', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning' + }).then(() => { + changeStatus({oid: this.oids.join(','), btmname: this.selectRow[0].btmname, lcStatus: targetLcstatus}).then(res => { + if (res.data.code == 200) { + this.$message.success(options.processUseText + '鎴愬姛') + this.onLoad() } - } + }); + }).catch(() => { + this.$message({ + type: 'info', + message: '宸插彇娑�' + }); }); - } else if (showMessage && this.selectRow.length > 1 && !(disabledCount === this.selectRow.length || releasedCount === this.selectRow.length) || (disabledCount > 0 && releasedCount > 0)) { - this.$message.warning('鎮ㄩ�夋嫨鐨勬暟鎹叏閮ㄤ负銆愬仠鐢ㄧ姸鎬佹垨鍙戝竷鐘舵�併�戞墠鍙互鍙戣捣娴佺▼'); - showMessage = false; - } else if (showMessage) { - this.$message.warning('鎮ㄩ�夋嫨鐨勬暟鎹负銆愬仠鐢ㄧ姸鎬佹垨鍙戝竷鐘舵�併�戞墠鍙互鍙戣捣娴佺▼') } }); } @@ -787,11 +698,6 @@ //澶氶�� handleSelectionChange(list) { this.selectRow = list; - console.log(this.selectRow) - this.parameter.ids = []; - list.forEach((item) => { - this.parameter.ids.push(item.oid); - }); }, //閫夋嫨 handleSelection(list, row) { -- Gitblit v1.9.3