From a94b8b8d9022a7e279337aeb0961fbafb885128c Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期五, 26 四月 2024 15:47:04 +0800 Subject: [PATCH] 整合富文本和上传文件到表单组件 --- Source/ProjectWeb/src/actions/base/AddAction.js | 49 ++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 38 insertions(+), 11 deletions(-) diff --git a/Source/ProjectWeb/src/actions/base/AddAction.js b/Source/ProjectWeb/src/actions/base/AddAction.js index fc16632..e233a7e 100644 --- a/Source/ProjectWeb/src/actions/base/AddAction.js +++ b/Source/ProjectWeb/src/actions/base/AddAction.js @@ -1,20 +1,25 @@ /** * 鎸夐挳澶勭悊 涓氬姟绫诲瀷鏂板 */ -import {callPreEvent,callPostEvent} from './BaseAction'; +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) => { - let paramVOS = Object.assign({ - url: 'uiDataController/addSave', + options.paramVOS = paramLow(options.paramVOS) + const paramVOS = Object.assign({ + url: '/api/uiDataController/addSave', method: 'post', - uploadFileUrl: 'vciFileUploadController/uploadFile' + uploadfileurl: 'vciFileUploadController/uploadFile' }, options.paramVOS) options.paramVOS = paramVOS; - callPreEvent(options, doBefore,function (options) { + options.sourceData = options.sourceData || {}; + + callPreEvent(options, doBefore, function (options) { doAdd(options, function () { - callPostEvent(options,doAfter, options.callback); + callPostEvent(options, doAfter, options.callback); }); }); }; @@ -25,10 +30,32 @@ * @param callback 鍥炶皟 */ export const doAdd = (options,callback)=> { - this.$message.success('鎵ц澧炲姞'); - if(callback){ - callback(options); + const paramVOS = options.paramVOS; + if (!paramVOS['form'] && !paramVOS['context'] && !paramVOS['content']) { + Vue.prototype.$message.error("鎸夐挳閰嶇疆涓嶆纭�"); + return false; } + + const dialogConstructor = Vue.extend(AddEditDialog); + let instance = new dialogConstructor(); + instance.sourceData = options.sourceData; + instance.dataStore = options.dataStore; + instance.paramVOS = paramVOS + + instance.type = 'add'; + instance.dialogClose = function () { + vm.visible = false; + document.body.removeChild(vm.$el); + instance.$destroy(); + instance = null; + }; + if (callback) { + instance.saveCallback = callback(options); + } + let vm = instance.$mount(); + document.body.appendChild(vm.$el); + instance.visible = true; + } /** * 鍓嶇疆浜嬩欢 @@ -36,7 +63,7 @@ * @param callback 鍥炶皟 */ export const doBefore = (options,callback)=> { - this.$message.success('鎵ц鍓嶇疆浜嬩欢'); + Vue.prototype.$message.success('鎵ц澧炲姞鍓嶇疆浜嬩欢'); if(callback){ callback(options); } @@ -47,7 +74,7 @@ * @param callback 鍥炶皟 */ export const doAfter = (options,callback)=> { - this.$message.success('鎵ц鍚庣疆浜嬩欢'); + Vue.prototype.$message.success('鎵ц澧炲姞鍚庣疆浜嬩欢'); if(callback){ callback(options); } -- Gitblit v1.9.3