From f37b3eceb7e962d32ebe420bb8b931ea4dae4fe2 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期四, 28 三月 2024 17:56:33 +0800
Subject: [PATCH] 表单参照

---
 Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue |   57 ++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 38 insertions(+), 19 deletions(-)

diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue
index 14bcc52..a64f2ae 100644
--- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue
+++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue
@@ -3,19 +3,24 @@
     <div v-if="isError" style="color: #F56C6C">杩欎釜鑷畾涔夐〉闈㈢殑鍦板潃鏍煎紡涓嶆纭�傛帹鑽愪娇鐢║I:type#content?param=xxx杩欑褰㈠紡</div>
     <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>
 </template>
 
 <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,
@@ -34,6 +39,11 @@
       type:Object,
       default: {}
     },
+    dataStore:{
+      //寮圭獥鏃舵寜閽墍灞炲尯鍩熼�変腑鏁版嵁
+      type:Array,
+      default: []
+    },
     paramVOS:{
       type:Object,
       default: {}
@@ -44,27 +54,32 @@
       default: true
     },
   },
-  components:{
-    'my-dynamic-component': ()=>import('@/views/base/UIContentViewerInDialog')
-  },
   data() {
     return {
+      height:'300px',
       customClass:this.componentVO.customClass, //UI:type#content?param=xxx鎴栬�� 缁勪欢name:type#content?param=xxx
       isError:false, //璺緞瑙f瀽澶辫触
-      currentComponent: 'my-dynamic-component',
-      componentPath:'@/views/base/UIContentViewerInDialog' //鑷畾涔変娇鐢ㄧ殑缁勪欢璺緞
+      currentComponent: 'UI',//缁勪欢name
+    }
+  },
+  watch:{
+    sourceData:{
+      handler(newval) {
+        //婧愭暟鎹湁鍙樺寲鏃跺彉鏇村綋鍓嶅尯鍩熸暟鎹�
+        console.log(this.areasName);
+        console.log(newval);
+      }
     }
   },
   computed:{
     customOptions() {
-      let componentPath='@/views/base/UIContentViewerInDialog';
       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=''
@@ -93,23 +108,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() {
-    debugger;
-    this.components["my-dynamic-component"] = import(this.componentPath);
+
+  },
+  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