From 353efff194122e281925a390be5d576c2f4fff6d Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期三, 27 三月 2024 18:04:04 +0800
Subject: [PATCH] UI上下文展示引擎

---
 Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue |   53 +++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 37 insertions(+), 16 deletions(-)

diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue
index 4074c3d..5d85586 100644
--- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue
+++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue
@@ -1,12 +1,13 @@
 <template>
   <div class="UI-dynamic" :id="'UI-dynamic-'+areasName+componentVO.oid">
     <div v-if="isError" style="color: #F56C6C">杩欎釜鑷畾涔夐〉闈㈢殑鍦板潃鏍煎紡涓嶆纭�傛帹鑽愪娇鐢║I:type#content?param=xxx杩欑褰㈠紡</div>
-    <component v-else :is="asyncComponent"
+    <component v-else :is="currentComponent"
                :customOptions="customOptions"
-               :inDialog="inDialog"
+               :inDialog="true"
                :key="areasName+'customCom-'+componentVO.oid"
                :componentVO="componentVO"
                :sourceData="sourceData"
+               :dataStore="dataStore"
                :areasName="areasName"
                :paramVOS="paramVOS"></component>
   </div>
@@ -15,6 +16,11 @@
 <script>
 export default {
   name: "dynamic-custom",
+  components:{
+    'UI':()=>import('@/views/base/UIContentViewerInDialog'),
+    'test':()=>import('@/components/custom-ui/test'),
+    'test2':()=>import('@/components/custom-ui/test2'),
+  },
   props:{
     componentVO:{
       type:Object,
@@ -33,6 +39,11 @@
       type:Object,
       default: {}
     },
+    dataStore:{
+      //寮圭獥鏃舵寜閽墍灞炲尯鍩熼�変腑鏁版嵁
+      type:Array,
+      default: []
+    },
     paramVOS:{
       type:Object,
       default: {}
@@ -43,26 +54,31 @@
       default: true
     },
   },
-  components:{
-
-  },
   data() {
     return {
+      height:'300px',
       customClass:this.componentVO.customClass, //UI:type#content?param=xxx鎴栬�� 缁勪欢name:type#content?param=xxx
       isError:false, //璺緞瑙f瀽澶辫触
-      componentPath:'@/views/base/UIContentViewer' //鑷畾涔変娇鐢ㄧ殑缁勪欢璺緞
+      currentComponent: 'UI',//缁勪欢name
+    }
+  },
+  watch:{
+    sourceData:{
+      handler(newval) {
+        console.log(this.areasName);
+        console.log(newval);
+      }
     }
   },
   computed:{
     customOptions() {
-      let componentPath='@/views/base/UIContentViewer';
       if(this.customClass.indexOf(":") <0){
         this.isError=true;
         return ;
       }
 
       if(this.customClass.split(':')[0]!='UI' && this.customClass.split(':')[0]!='ui'){
-        componentPath='@/views/custom/'+this.customClass.split(':')[0];
+        this.currentComponent=this.customClass.split(':')[0];
       }
       let urlParams={};
       let btmType=''
@@ -91,22 +107,27 @@
         })
       }
 
-      this.componentPath=componentPath;
       return {
         btmType:btmType,
         content:content,
-        urlParams: urlParams,
-        uiComponentType: this.componentVO.uiComponentType,
-        uiComponentTypeText: this.componentVO.uiComponentTypeText,
-        uiParseClass: this.componentVO.uiParseClass
+        urlParams: urlParams
       }
-    },
-    asyncComponent() {
-      return import(this.componentPath);
     }
   },
   created() {
 
+  },
+  mounted() {
+    //this.getHeight(this.$parent);
+  },
+  methods:{
+    getHeight(el){
+      if(el.$el.clientHeight>50){
+        this.height=el.$el.clientHeight+'px';
+      }else {
+        this.getHeight(el.$parent);
+      }
+    }
   }
 }
 </script>

--
Gitblit v1.9.3