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 ++++++++++++++++++--------------------------------- Source/UBCS-WEB/src/views/wel/index.vue | 2 Source/UBCS-WEB/src/views/work/process/leave/handle.vue | 5 Source/UBCS-WEB/src/components/work/BusinessWork.vue | 18 ++- 4 files changed, 125 insertions(+), 212 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) { diff --git a/Source/UBCS-WEB/src/components/work/BusinessWork.vue b/Source/UBCS-WEB/src/components/work/BusinessWork.vue index 68d6e27..b5ca69f 100644 --- a/Source/UBCS-WEB/src/components/work/BusinessWork.vue +++ b/Source/UBCS-WEB/src/components/work/BusinessWork.vue @@ -61,7 +61,7 @@ export default { name: "BusinessWork", components: { vciWebRefer }, - props:['ids','templateId',"taskId","modelKey","codeClassifyOid"], + props:['ids','templateId',"taskId","modelKey","codeClassifyOid",'stageAttrs'], data() { return { BuinessOids:[], @@ -92,9 +92,13 @@ this.BuinseseRend() }, deep:true + }, + stageAttrs(newval,oldval){ + this.hasEditor=newval.length>0; } }, created() { + }, mounted() { }, @@ -124,18 +128,17 @@ 'modelKey': this.modelKey, 'codeClassifyOid': this.codeClassifyOid }).then((res) => { - this.hasEditor=res.data.tableDefineVO.hasEditor; this.options = res.data.tableDefineVO.seniorQueryColumns; this.List = res.data.tableDefineVO.cols[0]; this.tableHeadData=[]; this.List.forEach((item) => { + let editAttr=this.stageAttrs.filter(stageitem => stageitem.attrId == item.field); let columnItem = { label: item.title, prop: item.field, type: this.columnType[item.type], sortable: item.sort, - width: item.minWidth, - edit:this.columnType[item.edit] + width: item.minWidth }; if(item.field == 'id' && validatenull(item.templet)){ //浼佷笟缂栫爜鐨勯粯璁ゆ坊鍔犺秴閾炬帴,鏆傛湭瀹炵幇 @@ -150,8 +153,11 @@ } } - if(!validatenull(item.edit)) { - if (typeof item.editConfig == "string") { + if(editAttr.length>0) { + debugger; + editAttr=editAttr[0] + columnItem.edit= 'text';//this.columnType[editAttr.edit] + if (typeof editAttr.editConfig == "string") { columnItem.editConfig = eval("(" + item.editConfig + ")"); } else { columnItem.editConfig = item.editConfig diff --git a/Source/UBCS-WEB/src/views/wel/index.vue b/Source/UBCS-WEB/src/views/wel/index.vue index da24de5..e5f02a9 100644 --- a/Source/UBCS-WEB/src/views/wel/index.vue +++ b/Source/UBCS-WEB/src/views/wel/index.vue @@ -267,7 +267,7 @@ }) }, cellHandle(row, column, cell, event) { - if (column.property == 'name') { + if (column.property == 'taskName') { this.gotodo(row) } }, diff --git a/Source/UBCS-WEB/src/views/work/process/leave/handle.vue b/Source/UBCS-WEB/src/views/work/process/leave/handle.vue index 4ead723..dbf35ab 100644 --- a/Source/UBCS-WEB/src/views/work/process/leave/handle.vue +++ b/Source/UBCS-WEB/src/views/work/process/leave/handle.vue @@ -5,7 +5,7 @@ <el-card class="dialogwarp_tab_card"> <el-tabs v-model="activeName" @tab-click="handleClick"> <el-tab-pane label="涓氬姟鏁版嵁淇℃伅" name="first"> - <businesswork ref="businesswork":ids="ids" :templateId="templateId" :taskId="taskId" :modelKey="modelKey" :codeClassifyOid="codeClassifyOid"></businesswork> + <businesswork ref="businesswork" :ids="ids" :templateId="templateId" :taskId="taskId" :modelKey="modelKey" :codeClassifyOid="codeClassifyOid" :stageAttrs="stageAttrs"></businesswork> </el-tab-pane> <el-tab-pane label="娴佺▼璺熻釜" name="second"> <avue-crud :data="flowList" :option="option" ref="crud"> @@ -82,6 +82,7 @@ codeClassifyOid:'', businessId: '', processInstanceId: '', + stageAttrs:[], src: '', flowList: [], btnList: [], @@ -147,9 +148,9 @@ this.modelKey=res.data.variables.modelKey; this.codeClassifyOid=res.data.variables.codeClassifyOid; this.title=res.data.variables.processName; + this.stageAttrs=res.data.stageAttrs; //this.taskId=res.data.variables.taskId; if (res.success) { - console.log(res) this.btnList = res.data.toTasks; } }, -- Gitblit v1.9.3