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