From 506b5b59e3899d8dd40a61cc8b9a575bbde3caaa Mon Sep 17 00:00:00 2001 From: wangting <675591594@qq.com> Date: 星期一, 06 五月 2024 18:24:33 +0800 Subject: [PATCH] 添加action --- Source/ProjectWeb/src/actions/base/EditAction.js | 40 +++++++++++++++++++++++++++++++++++----- 1 files changed, 35 insertions(+), 5 deletions(-) diff --git a/Source/ProjectWeb/src/actions/base/EditAction.js b/Source/ProjectWeb/src/actions/base/EditAction.js index 032d045..6dbadff 100644 --- a/Source/ProjectWeb/src/actions/base/EditAction.js +++ b/Source/ProjectWeb/src/actions/base/EditAction.js @@ -4,13 +4,13 @@ import {paramLow,callPreEvent,callPostEvent} from './BaseAction'; import {validatenull} from "@/util/validate"; import Vue from "vue"; +import AddEditDialog from "@/components/actions/AddEditDialog"; export const doAction = (options) => { - options.paramVOS = paramLow(options.paramVOS) const paramVOS = Object.assign({ - getdataurl: 'uiDataController/dataFormQuery', + getdataurl: '/api/uiDataController/dataFormQuery', getdatamethod: 'post', - url: 'uiDataController/editSave', + url: '/api/uiDataController/editSave', method: 'put', uploadfileurl: 'vciFileUploadController/uploadFile' }, options.paramVOS) @@ -25,6 +25,21 @@ if (!paramVOS.multi && options.dataStore.length > 1) { Vue.prototype.$message.error("浠呰兘閫夋嫨涓�鏉℃暟鎹潵鎿嶄綔"); return false; + } + + if(!validatenull(paramVOS.checknotedit)) { + let notedit = paramVOS.checknotedit.split('&'); + let checknotedit=false; + notedit.forEach((item,i)=>{ + if (options.dataStore[0][item.split('=')[0]] == item.split('=')[1]) { + checknotedit=true; + return false; + } + }) + if (checknotedit) { + Vue.prototype.$message.error(replaceFreeMarker(paramVOS.checknoteditmsg,options.dataStore,{}) || "褰撳墠鏁版嵁涓嶅厑璁镐慨鏀�"); + return false; + } } callPreEvent(options, doBefore, function (options) { doAdd(options, function () { @@ -44,10 +59,25 @@ Vue.prototype.$message.error("鎸夐挳閰嶇疆涓嶆纭�"); return false; } - Vue.prototype.$message.success('鎵ц'+paramVOS.title); + const dialogConstructor = Vue.extend(AddEditDialog); + let instance = new dialogConstructor(); + instance.sourceData = options.sourceData; + instance.dataStore = options.dataStore; + instance.paramVOS = paramVOS + + instance.type = 'edit'; + instance.dialogClose = function () { + vm.visible = false; + document.body.removeChild(vm.$el); + instance.$destroy(); + instance = null; + }; if (callback) { - callback(options); + instance.saveCallback = callback; } + let vm = instance.$mount(); + document.body.appendChild(vm.$el); + instance.visible = true; } /** * 鍓嶇疆浜嬩欢 -- Gitblit v1.9.3