wangting
2024-05-08 98f9901f5f50f4123557909f511d53c5da1608e9
Source/ProjectWeb/src/actions/base/DeleteAction.js
@@ -1,16 +1,16 @@
/**
 * 按钮处理 业务类型删除
 */
import {paramLow,callPreEvent,callPostEvent} from './BaseAction';
import {paramLow,callPreEvent,callPostEvent,replaceFreeMarker} from './BaseAction';
import {validatenull} from "@/util/validate";
import Vue from "vue";
import { del} from "@/api/base/actions"
export const doAction = (options) => {
export const doAction = (options,callback) => {
  options.paramVOS = paramLow(options.paramVOS)
  const paramVOS = Object.assign({
    url: 'uiDataController/addSave',
    method: 'post',
    uploadfileurl: 'vciFileUploadController/uploadFile'
    url: 'uiDataController/deleteData',
    method: 'delete'
  }, options.paramVOS)
  options.paramVOS = paramVOS;
@@ -26,8 +26,8 @@
  }
  callPreEvent(options, doBefore,function (options) {
    doAdd(options, function () {
      callPostEvent(options,doAfter, options.callback);
    doDelete(options, function (type) {
      callPostEvent(options,doAfter , callback,type);
    });
  });
};
@@ -37,12 +37,43 @@
 * @param options 按钮的配置信息
 * @param callback 回调
 */
export const doAdd = (options,callback)=> {
  const paramVOS = options.paramVOS;
  Vue.prototype.$message.success('执行'+paramVOS.title);
  if(callback){
    callback(options);
export const doDelete = (options,callback)=> {
  let submitData = {
    checkLinkedFlag:options.paramVOS.checklinkedflag,
    cascade:options.paramVOS.cascade,
    adminCascade:options.paramVOS.admincascade
  }
  if(options.paramVOS.checkonback){
    submitData['checkNotDelete']=options.paramVOS.checknotdelete;
    submitData['checkNotDeleteMsg']=options.paramVOS.checknotdeletemsg;
  }else if(options.paramVOS.checknotdelete){
    const notdelete = options.paramVOS.checknotdelete.split('&');
    let checknotdelete=false;
    let msgStore={};
    notdelete.forEach((item,i)=>{
      for (let j=0;j<options.dataStore.length;j++){
        if (options.dataStore[j][item.split('=')[0]] == item.split('=')[1]) {
          checknotdelete=true;
          msgStore=options.dataStore[j]
          return false;
        }
      }
    })
    if (checknotdelete) {
      Vue.prototype.$message.error(replaceFreeMarker(options.paramVOS.checknotdeletemsg,msgStore,{}) || '当前数据不允许删除');
      return false;
    }
  }
  submitData.dataList = options.dataStore;
  del(submitData,options.paramVOS.url,options.paramVOS.method).then(() => {
    Vue.prototype.$message({
      type: "success",
      message: options.paramVOS.successmsg||"删除成功!"
    });
    if(callback){
      callback("del");
    }
  });
}
/**
 * 前置事件
@@ -60,9 +91,9 @@
 * @param options 按钮的配置信息
 * @param callback 回调
 */
export const doAfter = (options,callback)=> {
export const doAfter = (options,callback,actionType)=> {
  Vue.prototype.$message.success('执行删除后置事件');
  if(callback){
    callback(options);
    callback(actionType);
  }
}