From a9bbbe822377536e6f3374b05e2b64b12b2f188c Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期一, 27 五月 2024 10:25:43 +0800
Subject: [PATCH] action文档

---
 Source/ProjectWeb/src/views/base/UIContentViewer.vue |  106 +++++++++++++++++++++++++++++++++-------------------
 1 files changed, 67 insertions(+), 39 deletions(-)

diff --git a/Source/ProjectWeb/src/views/base/UIContentViewer.vue b/Source/ProjectWeb/src/views/base/UIContentViewer.vue
index 44104ce..8279a53 100644
--- a/Source/ProjectWeb/src/views/base/UIContentViewer.vue
+++ b/Source/ProjectWeb/src/views/base/UIContentViewer.vue
@@ -1,11 +1,15 @@
 <template>
   <!--UI涓婁笅鏂囩殑灞曠ず鍣�-->
-  <div style="height:calc(100% - 4px);min-width:1200px">
+  <div style="height:calc(100% - 4px);min-width:1200px" >
     <el-header v-if="uiDefineVO.northAreas && uiDefineVO.northAreas.length>0">
-      <UIContentArea :key="'northArea-'+uiDefineVO.oid" :areasData="uiDefineVO.northAreas"
-                     :dataStore="checkedData.northArea"
+      <UIContentArea :key="'northArea-'+uiDefineVO.oid"
+                     :uiBtmType="btmType"
+                     :uiContext="context"
+                     :areasData="uiDefineVO.northAreas"
+                     :dataStore="checkedData.northArea.data"
                      :inDialog="inDialog"
                      :sourceData="sourceData"
+                     :sourceBtmType="btmType"
                      areas-name="northArea"
                      @setDataStore="setDataStore">
       </UIContentArea>
@@ -15,32 +19,44 @@
       <el-aside v-if="uiDefineVO.westAreas && uiDefineVO.westAreas.length>0"
                 :width="uiDefineVO.westAreas[0].componentVOs[0].uiComponentType=='table' || uiDefineVO.westAreas[0].componentVOs[0].uiComponentType=='TreeTable'?'420px':'320px'"
                 height="100%">
-        <UIContentArea :key="'westArea-'+uiDefineVO.oid" :areasData="uiDefineVO.westAreas"
-                       :dataStore="checkedData.westArea"
+        <UIContentArea :key="'westArea-'+uiDefineVO.oid"
+                       :uiBtmType="btmType"
+                       :uiContext="context"
+                       :areasData="uiDefineVO.westAreas"
+                       :dataStore="checkedData.westArea.data"
                        :inDialog="inDialog"
                        :sourceData="sourceData"
+                       :sourceBtmType="btmType"
                        areas-name="westArea"
                        cradStyle=""
                        @setDataStore="setDataStore">
         </UIContentArea>
       </el-aside>
-      <el-container style="height: 100%">
-        <el-main v-if="uiDefineVO.centerAreas && uiDefineVO.centerAreas.length>0" :style="'height: '+centerHeight">
-          <UIContentArea :key="'centerArea-'+uiDefineVO.oid" :areasData="uiDefineVO.centerAreas"
-                         :dataStore="checkedData.centerArea"
+      <el-container style="height: 100%;display: block">
+        <el-main v-if="uiDefineVO.centerAreas && uiDefineVO.centerAreas.length>0" :style="'min-height: 300px;height: '+centerHeight">
+          <UIContentArea :key="'centerArea-'+uiDefineVO.oid"
+                         :uiBtmType="btmType"
+                         :uiContext="context"
+                         :areasData="uiDefineVO.centerAreas"
+                         :dataStore="checkedData.centerArea.data"
                          :inDialog="inDialog"
-                         :sourceData="checkedData.westArea[checkedData.westArea.length-1]"
+                         :sourceData="checkedData.westArea.data[checkedData.westArea.data.length-1]"
+                         :sourceBtmType="checkedData.westArea.DefineVOBtmType"
                          areas-name="centerArea"
                          cradStyle=""
                          @setDataStore="setDataStore">
           </UIContentArea>
         </el-main>
         <el-footer v-if="uiDefineVO.southAreas && uiDefineVO.southAreas.length>0" height="35%"
-                   style="max-height: 300px">
-          <UIContentArea :key="'southArea-'+uiDefineVO.oid" :areasData="uiDefineVO.southAreas"
-                         :dataStore="checkedData.southArea"
+                   style="min-height: 150px;">
+          <UIContentArea :key="'southArea-'+uiDefineVO.oid"
+                         :uiBtmType="btmType"
+                         :uiContext="context"
+                         :areasData="uiDefineVO.southAreas"
+                         :dataStore="checkedData.southArea.data"
                          :inDialog="inDialog"
-                         :sourceData="checkedData.centerArea[checkedData.centerArea.length-1]"
+                         :sourceData="checkedData.centerArea.data[checkedData.centerArea.data.length-1]"
+                         :sourceBtmType="checkedData.centerArea.DefineVOBtmType"
                          areas-name="southArea"
                          cradStyle=""
                          @setDataStore="setDataStore">
@@ -54,7 +70,7 @@
 <script>
 import {verifyNull} from "@/util/validate";
 import UIContentArea from "@/views/base/UIContentArea"
-import {getUIContent} from '@/api/base/region'
+import {getUIContext} from '@/api/base/ui'
 
 export default {
   name: "UIContentViewer",
@@ -62,13 +78,25 @@
   data() {
     return {
       btmType: '',//涓氬姟绫诲瀷锛堟垨閾炬帴绫诲瀷锛�
-      content: '',//UI涓婁笅鏂囩殑鍚嶇О
+      context: '',//UI涓婁笅鏂囩殑鍚嶇О
       checkedData: {
         //鍚勫尯鍩熼�変腑鏁版嵁
-        northArea: [{}],
-        westArea: [{}],
-        centerArea: [{}],
-        southArea: [{}]
+        northArea: {
+          DefineVOBtmType:'',
+          data:[{}]
+        },
+        westArea: {
+          DefineVOBtmType:'',
+          data:[{}]
+        },
+        centerArea: {
+          DefineVOBtmType:'',
+          data:[{}]
+        },
+        southArea: {
+          DefineVOBtmType:'',
+          data:[{}]
+        }
       },
       uiDefineVO: {},
       centerHeight: '100%',
@@ -78,46 +106,46 @@
     }
   },
   watch: {
-    typeAContent:{
-      handler(newV,oldV){
-        if(oldV!=newV && !verifyNull(newV)){
-          this.initUI();
-        }
-      },
-      immediate: true,
+    $route(to, from) {
+      this.getTheParameters()
+      this.initUI();
     }
   },
   computed: {
-    typeAContent(){
-      return this.btmType+this.content;
+    typeAndContext(){
+      return this.btmType+this.context;
     }
   },
   created() {
     if (verifyNull(this.$route.query.type) || (verifyNull(this.$route.query.context) && verifyNull(this.$route.query.content))) {
-      this.$message.error("閰嶇疆鐨勪俊鎭敊璇紝璇峰弬鑰僢s=缁勪欢name?type=xxx&context=yyy&param=zzz杩欑褰㈠紡銆傚叾涓璽ype鏄笟鍔$被鍨嬶紙鎴栭摼鎺ョ被鍨嬶級锛宑ontext鏄疷I涓婁笅鏂囩殑鍚嶇О");
+      this.$message.error("閰嶇疆鐨勪俊鎭敊璇紝璇峰弬鑰冣��?type=xxx&context=yyy&param=zzz鈥濊繖绉嶅舰寮忋�傚叾涓璽ype鏄笟鍔$被鍨嬶紙鎴栭摼鎺ョ被鍨嬶級锛宑ontext鏄疷I涓婁笅鏂囩殑鍚嶇О");
       return false;
     }
-    this.btmType = this.$route.query.type;
-    this.content = this.$route.query.context || this.$route.query.content;
-    this.sourceData = this.$route.query;
+    this.getTheParameters()
+    this.initUI();
   },
   methods: {
+    getTheParameters(){
+      this.btmType = this.$route.query.type;
+      this.context = this.$route.query.context || this.$route.query.content;
+      this.sourceData = this.$route.query;
+    },
     initUI() {
-      getUIContent({btmType: this.btmType, id: this.content}).then(res => {
-        console.log(res.data.obj)
+      getUIContext({btmType: this.btmType, id: this.context}).then(res => {
         this.uiDefineVO = res.data.obj;
-        this.initContent();
+        this.initContext();
       })
     },
-    initContent() {
+    initContext() {
       if (this.uiDefineVO.southAreas && this.uiDefineVO.southAreas.length > 0) {
-        this.centerHeight = 'calc(100% - 310px)';
+        this.centerHeight = '65%';
       } else {
         this.centerHeight = '100%';
       }
     },
     setDataStore(value) {
-      this.checkedData[value.area] = value.dataStore;
+      this.checkedData[value.area].DefineVOBtmType = value.btmType;
+      this.checkedData[value.area].data = value.dataStore;
     }
   }
 }

--
Gitblit v1.9.3