From a9bbbe822377536e6f3374b05e2b64b12b2f188c Mon Sep 17 00:00:00 2001 From: wangting <675591594@qq.com> Date: 星期一, 27 五月 2024 10:25:43 +0800 Subject: [PATCH] action文档 --- Source/ProjectWeb/src/components/actions/base/BaseAction.js | 76 ++++++++++++------------------------- 1 files changed, 25 insertions(+), 51 deletions(-) diff --git a/Source/ProjectWeb/src/components/actions/base/BaseAction.js b/Source/ProjectWeb/src/components/actions/base/BaseAction.js index 732231c..1c336ee 100644 --- a/Source/ProjectWeb/src/components/actions/base/BaseAction.js +++ b/Source/ProjectWeb/src/components/actions/base/BaseAction.js @@ -1,5 +1,6 @@ import {validatenull} from "@/util/validate"; import Vue from 'vue'; +import {handlerAction} from '../handlers'; /** * 鎸夐挳鐨勫熀纭�鏈嶅姟 @@ -10,30 +11,30 @@ */ export const doAction = (button,options,callback) => { options.paramVOS = paramLow(options.paramVOS) - options.paramVOS['title']=replaceFreeMarker(options.paramVOS.title,options.dataStore,options.sourceData); + options.paramVOS['title'] = replaceFreeMarker(options.paramVOS.title, options.dataStore, options.sourceData); let isShow = true; - if (options.paramVOS['initvalue'] && typeof(options.paramVOS.initvalue)=='string') { + if (options.paramVOS['initvalue'] && typeof (options.paramVOS.initvalue) == 'string') { let values = options.paramVOS['initvalue'].split(';'); let initValues = {} - values.forEach((item,i) => { - if(isShow){ + values.forEach((item, i) => { + if (isShow) { item = item.replace(':', '='); if (item.indexOf('${') > -1) { if (item.split('=')[1].indexOf('.') > -1) { //initvaluenull=true鍏佽鍒濆鍊间负绌� - if ((options.sourceData.length < 1 || !options.sourceData.oid) && options.paramVOS['initvaluenull']!=true && options.paramVOS['initvaluenull']!="true") { + if ((options.sourceData.length < 1 || !options.sourceData.oid) && options.paramVOS['needselect'] != false && options.paramVOS['needselect'] != "false") { isShow = false; Vue.prototype.$message.error("璇峰厛閫夋嫨涓�鏉℃潵婧愭暟鎹�") return false; } let name = item.split('=')[1].split('.')[1].replace('${', '').replace('}', ''); - if(options.sourceData){ + if (options.sourceData) { initValues[item.split('=')[0]] = options.sourceData[name] - }else { - initValues[item.split('=')[0]]="" + } else { + initValues[item.split('=')[0]] = "" } } else { - if (options.dataStore.length < 1 && options.paramVOS['initvaluenull'] != true && options.paramVOS['initvaluenull'] != "true") { + if (options.dataStore.length < 1 && options.paramVOS['needselect'] != false && options.paramVOS['needselect'] != "false") { isShow = false; Vue.prototype.$message.error("璇峰厛閫夋嫨涓�鏉℃暟鎹�"); return false; @@ -48,52 +49,25 @@ } } }) - if(isShow){ + if (isShow) { options.paramVOS['initvalue'] = initValues } } - if(!isShow){ + if (!isShow) { return; } - - if(button.url && button.url!='null'){ - //鏈夐厤缃產ction璺緞锛屼娇鐢ㄨ矾寰勫搴旂殑js - import("../"+button.url+".js").then(module => { - module.doAction(options,callback); - }) - }else { - //閫氱敤action - const handlers = { - //鏌ョ湅 - view: () => {import("@/components/actions/base/TabViewAction").then(module => { - module.doAction(options,callback); - })}, - //鍒涘缓 - add: () => {import("@/components/actions/base/AddAction").then(module => { - module.doAction(options,callback); - })}, - //淇敼 - edit: () => {import("@/components/actions/base/EditAction").then(module => { - module.doAction(options,callback); - })}, - //鍒犻櫎 - delete: () => {import("@/components/actions/base/DeleteAction").then(module => { - module.doAction(options,callback); - })}, //鍒犻櫎 - del: () => {import("@/components/actions/base/DeleteAction").then(module => { - module.doAction(options,callback); - })}, - }; - if(validatenull(options.paramVOS.context)) { - options.paramVOS.context = options.paramVOS.content; - } - if(handlers[button.actionVO.id.toLowerCase()]){ - handlers[button.actionVO.id.toLowerCase()]() - }else{ - Vue.prototype.$message.error('鏈壘鍒板搴攁ction锛岃閲嶆柊閰嶇疆鎸夐挳锛�'); - } + if (validatenull(options.paramVOS.context)) { + options.paramVOS.context = options.paramVOS.content; } - + if (button.url && button.url != 'null') { + //鏈夐厤缃產ction璺緞锛屼娇鐢ㄨ矾寰勫搴旂殑js + import(`../${button.url}`).then(module => { + module.doAction(options, callback); + }) + } else { + //鎵ц閫氱敤action + handlerAction(button.actionVO.id.toLowerCase(),options, callback) + } }; @@ -174,7 +148,7 @@ fnTarget(buttonParse,callback); }else{ try { - import("../"+buttonParse.jsPath+".js").then(module => { + import(`../${buttonParse.jsPath}.js`).then(module => { module[buttonParse.methodName](options,callback); }) } catch (error) { @@ -202,7 +176,7 @@ fnTarget(buttonParse,callback,actionType); }else{ try { - import("../"+buttonParse.jsPath+".js").then(module => { + import(`../${buttonParse.jsPath}.js`).then(module => { module[buttonParse.methodName](options,callback,actionType); }) } catch (error) { -- Gitblit v1.9.3