From 46c673f0bf4a22ae108e90cfcf1bdeb4f0b6a45c Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期二, 07 五月 2024 17:48:19 +0800
Subject: [PATCH] 添加action,数据联动

---
 Source/ProjectWeb/src/actions/base/BaseAction.js |   27 ++++++++++++++++++---------
 1 files changed, 18 insertions(+), 9 deletions(-)

diff --git a/Source/ProjectWeb/src/actions/base/BaseAction.js b/Source/ProjectWeb/src/actions/base/BaseAction.js
index 2482fde..6fbbc0b 100644
--- a/Source/ProjectWeb/src/actions/base/BaseAction.js
+++ b/Source/ProjectWeb/src/actions/base/BaseAction.js
@@ -18,24 +18,33 @@
     values.forEach((item,i) => {
       if(isShow){
         item = item.replace(':', '=');
+        debugger;
         if (item.indexOf('${') > -1) {
           if (item.split('=')[1].indexOf('.') > -1) {
-            if (options.sourceData.length < 1 || !options.sourceData.oid) {
+            //initvaluenull=true鍏佽鍒濆鍊间负绌�
+            if ((options.sourceData.length < 1 || !options.sourceData.oid) && options.paramVOS['initvaluenull']!=true && options.paramVOS['initvaluenull']!="true") {
               isShow = false;
               Vue.prototype.$message.error("璇峰厛閫夋嫨涓�鏉℃潵婧愭暟鎹�")
               return false;
             }
             let name = item.split('=')[1].split('.')[1].replace('${', '').replace('}', '');
-            initValues[item.split('=')[0]] = options.sourceData[name]
+            if(options.sourceData){
+              initValues[item.split('=')[0]] = options.sourceData[name]
+            }else {
+              initValues[item.split('=')[0]]=""
+            }
           } else {
-            if (options.dataStore.length < 1) {
+            if (options.dataStore.length < 1 && options.paramVOS['initvaluenull'] != true && options.paramVOS['initvaluenull'] != "true") {
               isShow = false;
               Vue.prototype.$message.error("璇峰厛閫夋嫨涓�鏉℃暟鎹�");
               return false;
             }
             let name = item.split('=')[1].replace('${', '').replace('}', '');
-            initValues[item.split('=')[0]] = options.dataStore[0][name];
-
+            if (options.dataStore[0]) {
+              initValues[item.split('=')[0]] = options.dataStore[0][name];
+            } else {
+              initValues[item.split('=')[0]] = "";
+            }
           }
         }
       }
@@ -181,16 +190,16 @@
  * @param callback 鍥炶皟锛屽鏋滃瓨鍦ㄥ悗缃簨浠讹紝浼氬湪鎵ц瀹屾垚鍚庢墽琛屽洖璋冿紝鍚﹀垯鐩存帴鍥炶皟
  * @param preEventName 鍚庣疆浜嬩欢鍚嶇О锛岄粯璁� afterevent
  */
-export const callPostEvent = (options,fnTarget,callback,postEventName)=>{
+export const callPostEvent = (options,fnTarget,callback,actionType,postEventName)=>{
   let afterEvent = options.paramVOS[postEventName || 'afterevent'];
   if(afterEvent) {
     let buttonParse = parseEventByUrl(afterEvent,options,false);
     if(validatenull(buttonParse.jsPath)){
-      fnTarget(buttonParse,callback);
+      fnTarget(buttonParse,callback,actionType);
     }else{
       try {
         import("../"+buttonParse.jsPath+".js").then(module => {
-          module[buttonParse.methodName](options,callback);
+          module[buttonParse.methodName](options,callback,actionType);
         })
       } catch (error) {
         Vue.prototype.$message.error('鏈壘鍒板悗缃簨浠舵墽琛宩s');
@@ -198,7 +207,7 @@
     }
   }else{
     if(callback){
-      callback(options);
+      callback(actionType);
     }
   }
 };

--
Gitblit v1.9.3