From 43ef00b944c787bcfc16a396cc521a0ddfbb2beb Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期四, 11 四月 2024 17:49:20 +0800
Subject: [PATCH] 富文本组件选项中文汉化

---
 Source/ProjectWeb/src/views/base/UIContentViewerInDialog.vue |   80 ++++++++++++++++++++++++----------------
 1 files changed, 48 insertions(+), 32 deletions(-)

diff --git a/Source/ProjectWeb/src/views/base/UIContentViewerInDialog.vue b/Source/ProjectWeb/src/views/base/UIContentViewerInDialog.vue
index af3363a..cfb67d8 100644
--- a/Source/ProjectWeb/src/views/base/UIContentViewerInDialog.vue
+++ b/Source/ProjectWeb/src/views/base/UIContentViewerInDialog.vue
@@ -6,7 +6,7 @@
                      :areasData="uiDefineVO.northAreas"
                      :inDialog="inDialog"
                      :sourceData="sourceData"
-                     :dataStore="checkedData.northAreaInDialog[0]"
+                     :dataStore="checkedData.northAreaInDialog"
                      :paramVOS="paramVOS"
                      @setDataStore="setDataStore">
       </UIContentArea>
@@ -18,30 +18,30 @@
                        :areasData="uiDefineVO.westAreas"
                        :inDialog="inDialog"
                        :sourceData="sourceData"
-                       :dataStore="checkedData.westAreaInDialog[0]"
+                       :dataStore="checkedData.westAreaInDialog"
                        :paramVOS="paramVOS"
                        @setDataStore="setDataStore">
         </UIContentArea>
       </el-aside>
-      <el-container style="height: 100%">
-        <el-main v-if="uiDefineVO.centerAreas && uiDefineVO.centerAreas.length>0" :style="'height: '+centerHeight">
+      <el-container style="height: 100%;display: block">
+        <el-main v-if="uiDefineVO.centerAreas && uiDefineVO.centerAreas.length>0" :style="'min-height: 260px;height: '+centerHeight">
           <UIContentArea :key="'centerArea-'+uiDefineVO.oid" areas-name="centerAreaInDialog"
                          cradStyle=""
                          :areasData="uiDefineVO.centerAreas"
                          :inDialog="inDialog"
-                         :sourceData="checkedData.westAreaInDialog[0]"
-                         :dataStore="checkedData.centerAreaInDialog[0]"
+                         :sourceData="checkedData.westAreaInDialog[checkedData.westAreaInDialog.length-1]"
+                         :dataStore="checkedData.centerAreaInDialog"
                          :paramVOS="paramVOS"
                          @setDataStore="setDataStore">
           </UIContentArea>
         </el-main>
-        <el-footer v-if="uiDefineVO.southAreas && uiDefineVO.southAreas.length>0" height="35%" style="max-height: 300px">
+        <el-footer v-if="uiDefineVO.southAreas && uiDefineVO.southAreas.length>0" height="35%" style="min-height: 150px;">
           <UIContentArea :key="'southArea-'+uiDefineVO.oid" areas-name="southAreaInDialog"
                          cradStyle=""
                          :areasData="uiDefineVO.southAreas"
                          :inDialog="inDialog"
-                         :sourceData="checkedData.centerAreaInDialog[0]"
-                         :dataStore="checkedData.southAreaInDialog[0]"
+                         :sourceData="checkedData.centerAreaInDialog[checkedData.centerAreaInDialog.length-1]"
+                         :dataStore="checkedData.southAreaInDialog"
                          :paramVOS="paramVOS"
                          @setDataStore="setDataStore">
           </UIContentArea>
@@ -53,18 +53,25 @@
 
 <script>
 import UIContentArea from "@/views/base/UIContentArea"
-import {uiDefineVOData} from "@/views/base/uiDefineVOInDialog"
+import {verifyNull} from "@/util/validate";
+import {getUIContent} from '@/api/base/region'
 
 export default {
   name: "UIContentViewerInDialog",
   components:{UIContentArea},
   props:{
+    btmType:{
+      type: String,
+    },
+    content:{
+      type: String,
+    },
     inDialog: {
       type: Boolean,
       default: false
     },
     sourceData:{
-      //鑿滃崟婧愭暟鎹垨鑰呭脊绐楁椂鎸夐挳鎵�灞炲尯鍩熺殑涓婁竴鍖哄煙閫変腑鏁版嵁
+      //鎵�灞炲尯鍩熺殑涓婁竴鍖哄煙閫変腑鏁版嵁
       type:Object,
       default: {}
     },
@@ -76,46 +83,55 @@
     paramVOS:{
       type:Object,
       default: {}
-    },
-    customOptions:{
-      type:Object,
-      default: {}
     }
   },
   data() {
     return {
-      btmType:this.customOptions.btmType,//涓氬姟绫诲瀷锛堟垨閾炬帴绫诲瀷锛�
-      content:this.customOptions.content,//UI涓婁笅鏂囩殑鍚嶇О
       checkedData:{
         //鍚勫尯鍩熼�変腑鏁版嵁
-        northAreaInDialog:[],
-        westAreaInDialog:[],
-        centerAreaInDialog:[],
-        southAreaInDialog:[]
+        northAreaInDialog:[{}],
+        westAreaInDialog:[{}],
+        centerAreaInDialog:[{}],
+        southAreaInDialog:[{}]
       },
-      uiDefineVO: uiDefineVOData,
+      uiDefineVO: {},
       centerHeight:'100%'
     }
   },
   watch: {
-
+    typeAContent:{
+      handler(newV,oldV){
+        if(oldV!=newV && !verifyNull(newV)){
+          this.initUI();
+        }
+      },
+      immediate: true,
+    }
   },
   computed: {
-
+    typeAContent(){
+      return this.btmType+this.content;
+    }
   },
   created() {
-    if (this.uiDefineVO.southAreas && this.uiDefineVO.southAreas.length > 0) {
-      this.centerHeight = 'calc(100% - 310px)';
-    } else {
-      this.centerHeight = '100%';
+    if (verifyNull(this.btmType) || verifyNull(this.content) ) {
+      this.$message.error("鑷畾涔夌粍浠堕厤缃殑淇℃伅閿欒锛岃鍙傝�冣��?type=xxx&context=yyy&param=zzz鈥滆繖绉嶅舰寮忋�傚叾涓璽ype鏄笟鍔$被鍨嬶紙鎴栭摼鎺ョ被鍨嬶級锛宑ontext鏄疷I涓婁笅鏂囩殑鍚嶇О");
+      return false;
     }
   },
   methods: {
-    initUI(){
-
+    initUI() {
+      getUIContent({btmType: this.btmType, id: this.content}).then(res => {
+        this.uiDefineVO = res.data.obj;
+        this.initContent();
+      })
     },
-    initContent(){
-
+    initContent() {
+      if (this.uiDefineVO.southAreas && this.uiDefineVO.southAreas.length > 0) {
+        this.centerHeight = '65%';
+      } else {
+        this.centerHeight = '100%';
+      }
     },
     setDataStore(value) {
       this.checkedData[value.area] = value.dataStore;

--
Gitblit v1.9.3