From 46f7ae4e3a00e3a1ce38498dce0dd373726e9648 Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期五, 10 五月 2024 12:16:05 +0800
Subject: [PATCH] 查看action,自定义组件展示

---
 Source/ProjectWeb/src/components/actions/base/TabViewAction.js |   48 +++++++++++++++++++++++++-----------------------
 1 files changed, 25 insertions(+), 23 deletions(-)

diff --git a/Source/ProjectWeb/src/components/actions/base/TabViewAction.js b/Source/ProjectWeb/src/components/actions/base/TabViewAction.js
index 9430fa9..d8c914d 100644
--- a/Source/ProjectWeb/src/components/actions/base/TabViewAction.js
+++ b/Source/ProjectWeb/src/components/actions/base/TabViewAction.js
@@ -4,9 +4,7 @@
 import {paramLow,callPreEvent,callPostEvent,replaceFreeMarker} from './BaseAction';
 import {validatenull} from "@/util/validate";
 import Vue from "vue";
-import AddEditDialog from "@/components/actions/AddEditDialog";
-import Layout from "@/router/page";
-import router from '@/router/router';
+import ViewDialog from "@/components/actions/base/ViewDialog";
 
 export const doAction = (options,callback) => {
   const paramVOS = Object.assign({
@@ -43,36 +41,40 @@
  */
 export const doView = (options,callback)=> {
   const paramVOS = options.paramVOS;
-  let component = '@/views/base/UIContentViewerInDialog';
+  let component = 'base/UIContentViewerInDialog';
   if (!validatenull(paramVOS.customurl)) {
     //鑷畾涔塲s
-    component = `@/views/custom-ui/` + paramVOS.customurl;
+    component = `custom-ui/` + paramVOS.customurl;
   }else{
     if (!paramVOS['type'] || !paramVOS['context']) {
       Vue.prototype.$message.error("鎸夐挳閰嶇疆涓嶆纭�");
       return false;
     }
   }
-  let name="鏌ョ湅鏁版嵁"
+  paramVOS.component=component;
+  let name="鏌ョ湅璇︽儏"
   if(paramVOS.showname){
-    name=replaceFreeMarker(paramVOS.showname,options.dataStore,options.sourceData)
+    name="鏌ョ湅銆�"+replaceFreeMarker(paramVOS.showname,options.dataStore,options.sourceData)+"銆�"
   }
-  router.addRoutes({
-    path: '/view-form'+options.dataStore[0].oid,
-    name: name,
-    component: Layout,
-    meta: {
-      keepAlive: true,
-      isTab: true
-    },
-    children: [
-      {
-        path: '', // 绌鸿矾寰勮〃绀鸿闂� '/dynamic-form' 鏃跺姞杞� Layout 缁勪欢
-        component: () => import(component),
-        props: true
-      }
-    ]
-    })
+  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;
+  }
+  let vm = instance.$mount();
+  document.body.appendChild(vm.$el);
+  instance.visible = true;
 }
 /**
  * 鍓嶇疆浜嬩欢

--
Gitblit v1.9.3