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