From c061998c347b0735c8a1db8d2e191de050caf7e8 Mon Sep 17 00:00:00 2001 From: wangting <675591594@qq.com> Date: 星期五, 14 六月 2024 15:21:36 +0800 Subject: [PATCH] 启动流程action --- Source/plt-web/plt-web-ui/src/components/actions/base/StartWorkflowAction.js | 74 ++++++++++++++++++ Source/plt-web/plt-web-ui/src/api/base/actions.js | 25 ++++++ Source/plt-web/plt-web-ui/src/components/actions/base/RevisionDialog.vue | 85 +++++++++++++++----- 3 files changed, 162 insertions(+), 22 deletions(-) diff --git a/Source/plt-web/plt-web-ui/src/api/base/actions.js b/Source/plt-web/plt-web-ui/src/api/base/actions.js index 9f4c25c..2e9931f 100644 --- a/Source/plt-web/plt-web-ui/src/api/base/actions.js +++ b/Source/plt-web/plt-web-ui/src/api/base/actions.js @@ -32,3 +32,28 @@ data }) } + +// 閾炬帴绫诲瀷鏂板 +export const linkAddSave = (data,url,method) => { + return request({ + url: url || "/api/uiDataController/linkAddSave", + method: method || 'post', + data + }) +} +// 閾炬帴绫诲瀷淇敼 +export const linkEditSave = (data,url,method) => { + return request({ + url: url || '/api/uiDataController/linkEditSave', + method: method || 'put', + data + }) +} +// 閾炬帴绫诲瀷鍒犻櫎 +export const linkDeleteData = (data,url,method) => { + return request({ + url:url || '/api/uiDataController/linkDeleteData', + method: method || 'delete', + data + }) +} diff --git a/Source/plt-web/plt-web-ui/src/components/actions/base/RevisionDialog.vue b/Source/plt-web/plt-web-ui/src/components/actions/base/RevisionDialog.vue index 5469dc2..8cc6c6a 100644 --- a/Source/plt-web/plt-web-ui/src/components/actions/base/RevisionDialog.vue +++ b/Source/plt-web/plt-web-ui/src/components/actions/base/RevisionDialog.vue @@ -175,13 +175,24 @@ this.formDefineId=this.$refs.uiViewRef.data[key].DefineVO.id; if (this.paramVOS.savebeforeevent) { var urlobj = parseEventByUrl(this.paramVOS.savebeforeevent,null,null,'doAction'); - import(`./${urlobj.jsPath}.js`).then(module => { - module[urlobj.methodName]({ - paramVOS: this.paramVOS, - dataStore: this.dataStore, - sourceData:this.sourceData - },this.formSaveHandle); - }) + if(urlobj.params){ + Object.assign(this.paramVOS,urlobj.params); + } + if(validatenull(urlobj.jsPath)){ + this.saveBforeHandle(this.paramVOS); + }else{ + try { + import(`./${urlobj.jsPath}.js`).then(module => { + module[urlobj.methodName]({ + paramVOS: this.paramVOS, + dataStore: this.dataStore, + sourceData:this.sourceData + },this.formSaveHandle); + }) + } catch (error) { + this.$message.error('鏈壘鍒颁繚瀛樺墠缃簨浠舵墽琛宩s'); + } + } } else { this.formSaveHandle(); } @@ -196,13 +207,24 @@ this.formDefineId=this.paramVOS.form; if (this.paramVOS.savebeforeevent) { var urlobj = parseEventByUrl(this.paramVOS.savebeforeevent,null,null,'doAction'); - import(`./${urlobj.jsPath}.js`).then(module => { - module[urlobj.methodName]({ - paramVOS: this.paramVOS, - dataStore: this.dataStore, - sourceData:this.sourceData - },that.formSaveHandle); - }) + if(urlobj.params){ + Object.assign(this.paramVOS,urlobj.params); + } + if(validatenull(urlobj.jsPath)){ + this.saveBforeHandle(this.paramVOS); + }else{ + try { + import(`./${urlobj.jsPath}.js`).then(module => { + module[urlobj.methodName]({ + paramVOS: this.paramVOS, + dataStore: this.dataStore, + sourceData:this.sourceData + },this.formSaveHandle); + }) + } catch (error) { + this.$message.error('鏈壘鍒颁繚瀛樺墠缃簨浠舵墽琛宩s'); + } + } } else { that.formSaveHandle(); } @@ -243,13 +265,24 @@ } if (this.paramVOS.saveafterevent) { let urlobj = parseEventByUrl(this.paramVOS.saveafterevent,null,null,'doAction'); - import(`./${urlobj.jsPath}.js`).then(module => { - module[urlobj.methodName]({ - paramVOS: this.paramVOS, - dataStore: this.dataStore, - sourceData:this.sourceData - }); - }) + if(urlobj.params){ + Object.assign(this.paramVOS,urlobj.params); + } + if(validatenull(urlobj.jsPath)){ + this.saveAfterHandle(this.paramVOS); + }else{ + try { + import(`./${urlobj.jsPath}.js`).then(module => { + module[urlobj.methodName]({ + paramVOS: this.paramVOS, + dataStore: this.dataStore, + sourceData:this.sourceData + }); + }) + } catch (error) { + this.$message.error('鏈壘鍒颁繚瀛樺悗缃簨浠舵墽琛宩s'); + } + } } that.dialogClose(); }); @@ -275,7 +308,15 @@ }, getFormData(form) { this.form = form; - } + }, + //淇濆瓨鍓嶇疆浜嬩欢 + saveBforeHandle(params){ + this.$message.info('鎵ц淇濆瓨鍓嶇疆浜嬩欢'); + }, + //淇濆瓨鍚庣疆浜嬩欢 + saveAfterHandle(params){ + this.$message.info('淇濆瓨鍚庣疆浜嬩欢鎵ц'); + }, } } </script> diff --git a/Source/plt-web/plt-web-ui/src/components/actions/base/StartWorkflowAction.js b/Source/plt-web/plt-web-ui/src/components/actions/base/StartWorkflowAction.js new file mode 100644 index 0000000..5d67215 --- /dev/null +++ b/Source/plt-web/plt-web-ui/src/components/actions/base/StartWorkflowAction.js @@ -0,0 +1,74 @@ +/** + * 鎸夐挳澶勭悊 涓氬姟绫诲瀷瀹$ + */ +import {paramLow,callPreEvent, callPostEvent} from '../BaseAction'; +import {validatenull} from "@/util/validate"; +import Vue from "vue"; + +export const doAction = (options,callback) => { + options.sourceData = options.sourceData || {}; + options.dataStore = options.dataStore || []; + if (!options.dataStore || options.dataStore.length < 1) { + Vue.prototype.$message.error("璇烽�夋嫨闇�瑕佸彂璧锋祦绋嬬殑鏁版嵁"); + return false; + } + if (!options.paramVOS.multi && options.dataStore.length > 1) { + Vue.prototype.$message.error("浠呰兘閫夋嫨涓�鏉℃暟鎹彂璧锋祦绋�"); + return false; + } + + //楠岃瘉涓嶅厑璁稿惎鍔ㄧ殑鏉′欢 + if(!validatenull(options.paramVOS.checknotprocess)) { + let notprocess = options.paramVOS.checknotprocess.split('&'); + let checknotprocess=false; + notprocess.forEach((item,i)=>{ + if (options.dataStore[0][item.split('=')[0]] == item.split('=')[1]) { + checknotprocess=true; + return false; + } + }) + if (checknotprocess) { + Vue.prototype.$message.error(replaceFreeMarker(options.paramVOS.checknotprocessmsg,options.dataStore,{}) || "褰撳墠鏁版嵁涓嶅厑璁稿彂璧锋祦绋�"); + return false; + } + } + + callPreEvent(options, doBefore, function (options) { + showStartWindow(options, function () { + callPostEvent(options, doAfter, callback,type); + }); + }); +}; + +/** + * 鏄剧ず娴佺▼鐨勭獥鍙� + * @param options 鎸夐挳鐨勯厤缃俊鎭� + * @param callback 鍥炶皟 + */ +export const showStartWindow = (options,callback)=> { + const paramVOS = options.paramVOS; + + +} +/** + * 鍓嶇疆浜嬩欢 + * @param options 鎸夐挳鐨勯厤缃俊鎭� + * @param callback 鍥炶皟 + */ +export const doBefore = (options,callback)=> { + console.log("鎵ц澧炲姞鍓嶇疆浜嬩欢") + if(callback){ + callback(options); + } +} +/** + * 鍚庣疆浜嬩欢 + * @param options 鎸夐挳鐨勯厤缃俊鎭� + * @param callback 鍥炶皟 + */ +export const doAfter = (options,callback,actionType)=> { + console.log('鎵ц澧炲姞鍚庣疆浜嬩欢'); + if(callback){ + callback(actionType); + } +} -- Gitblit v1.9.3