wangting
2024-11-14 aa6f213ac00f69c8812b0d6a97232a1f1a9b7e44
Source/plt-web/plt-web-ui/src/components/actions/base/ViewAction.js
@@ -1,10 +1,12 @@
/**
 * 按钮处理 页面展示为tab选项卡
 * 按钮处理 弹窗展示详情
 */
import {paramLow,callPreEvent,callPostEvent,replaceFreeMarker} from '../BaseAction';
import {validatenull} from "@/util/validate";
import Vue from "vue";
import ViewDialog from "@/components/actions/base/ViewDialog";
import ViewTab from "@/views/base/ViewTab";
import router from "@/router/router"
import store from "@/store/index"
export const doAction = (options,callback) => {
  const paramVOS = Object.assign({
@@ -26,7 +28,6 @@
    Vue.prototype.$message.error("仅能选择一条数据来操作");
    return false;
  }
  callPreEvent(options, doBefore, function (options) {
    doView(options, function (type,formData) {
      callPostEvent(options, doAfter,type, callback);
@@ -57,25 +58,19 @@
    name="查看【"+replaceFreeMarker(paramVOS.showname,options.dataStore,options.sourceData)+"】"
  }
  paramVOS.title=name;
  const dialogConstructor = Vue.extend(ViewDialog);
  let instance = new dialogConstructor();
  instance.sourceData = options.sourceData;
  instance.dataStore = options.dataStore;
  instance.paramVOS = paramVOS
  instance.dialogClose = function () {
    vm.visible = false;
    document.body.removeChild(vm.$el);
    instance.$destroy();
    instance = null;
  };
  if (callback) {
    instance.saveCallback = callback;
  const params= {
    options:options,
    paramVOS:paramVOS,
    saveCallback:callback
  }
  let vm = instance.$mount();
  document.body.appendChild(vm.$el);
  instance.visible = true;
  store.dispatch("setViewtabparams", params);
  router.push({
    name: "查看详情",
    params:params,
  });
}
/**
 * 前置事件
 * @param options 按钮的配置信息