From 8be3182372eb774dce8f9c97a0b51c03bda165c7 Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期一, 08 四月 2024 15:33:11 +0800
Subject: [PATCH] UI展示

---
 Source/ProjectWeb/src/views/base/UIContentViewerInDialog.vue         |   19 ++-
 Source/ProjectWeb/src/page/index/index.vue                           |  230 +++++++++++++++++++++++-----------------------
 Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue |   13 +-
 Source/ProjectWeb/src/views/base/UIContentViewer.vue                 |   24 +++-
 4 files changed, 151 insertions(+), 135 deletions(-)

diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue
index de695df..9641b5f 100644
--- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue
+++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue
@@ -81,8 +81,7 @@
   },
   data() {
     return {
-      form: {},
-      ruleForm:{}
+      form: {}
     }
   },
   mounted() {
@@ -107,7 +106,7 @@
       },
       immediate: true,
     },
-    ruleForm: {
+    form: {
       handler(val) {
         if (val) {
           if (Array.isArray(val)) { // 妫�鏌� val 鏄惁涓烘暟缁�
@@ -228,7 +227,7 @@
         if (code.type == "refer") {
           if (code.referConfig && code.referConfig.useFormKey) {
             if (verifyNull(code.referConfig.formValuesKey)) {
-              code.referConfig.formValuesKey = "ruleForm";
+              code.referConfig.formValuesKey = "form";
             }
             code.referConfig.formValues = this[code.referConfig.formValuesKey];
           }
@@ -249,8 +248,8 @@
     },
     setReferValue(data) {
       if (data && data.prop) {
-        this.ruleForm[data.prop] = data.value || "";
-        this.ruleForm[data.showProp] = data.text || "";
+        this.form[data.prop] = data.value || "";
+        this.form[data.showProp] = data.text || "";
         if (data.propMap) {
           //璇存槑闇�瑕佹槧灏�
           for (let key in data.propMap) {
@@ -278,7 +277,7 @@
                 value.push(temp);
               }
             });
-            this.ruleForm[key] = value.join(",");
+            this.form[key] = value.join(",");
           }
         }
       }
diff --git a/Source/ProjectWeb/src/page/index/index.vue b/Source/ProjectWeb/src/page/index/index.vue
index 1fdad95..93689d3 100644
--- a/Source/ProjectWeb/src/page/index/index.vue
+++ b/Source/ProjectWeb/src/page/index/index.vue
@@ -29,129 +29,129 @@
 </template>
 
 <script>
-  import {mapGetters} from "vuex";
-  import tags from "./tags";
-  import search from "./search";
-  import top from "./top/";
-  import sidebar from "./sidebar/";
-  import admin from "@/util/admin";
-  import {validatenull} from "@/util/validate";
-  import {calcDate} from "@/util/date.js";
-  import {getStore} from "@/util/store.js";
+import {mapGetters} from "vuex";
+import tags from "./tags";
+import search from "./search";
+import top from "./top/";
+import sidebar from "./sidebar/";
+import admin from "@/util/admin";
+import {validatenull} from "@/util/validate";
+import {calcDate} from "@/util/date.js";
+import {getStore} from "@/util/store.js";
 
-  export default {
-    components: {
-      top,
-      tags,
-      search,
-      sidebar
+export default {
+  components: {
+    top,
+    tags,
+    search,
+    sidebar
+  },
+  name: "index",
+  provide() {
+    return {
+      index: this
+    };
+  },
+  data() {
+    return {
+      //鎼滅储鎺у埗
+      isSearch: false,
+      //鍒锋柊token閿�
+      refreshLock: false,
+      //鍒锋柊token鐨勬椂闂�
+      refreshTime: "",
+      loading:true
+    };
+  },
+
+  created() {
+    //瀹炴椂妫�娴嬪埛鏂皌oken
+    //this.refreshToken();
+
+  },
+  mounted() {
+    this.init();
+    // 宸︿晶鑿滃崟鍔犺浇
+    setTimeout(()=>{
+      this.loading=false
+    },600)
+  },
+  computed: mapGetters(["isMenu", "isLock", "isCollapse", "website", "menu"]),
+  props: [],
+  methods: {
+    showCollapse() {
+      this.$store.commit("SET_COLLAPSE");
     },
-    name: "index",
-    provide() {
-      return {
-        index: this
+    // 鍒濆鍖�
+    init() {
+      this.$store.commit("SET_SCREEN", admin.getScreen());
+      window.onresize = () => {
+        setTimeout(() => {
+          this.$store.commit("SET_SCREEN", admin.getScreen());
+        }, 0);
+
       };
+      this.$store.dispatch("FlowRoutes").then(() => {
+      });
     },
-    data() {
-      return {
-        //鎼滅储鎺у埗
-        isSearch: false,
-        //鍒锋柊token閿�
-        refreshLock: false,
-        //鍒锋柊token鐨勬椂闂�
-        refreshTime: "",
-        loading:true
-      };
-    },
-
-    created() {
-      //瀹炴椂妫�娴嬪埛鏂皌oken
-      this.refreshToken();
-
-    },
-    mounted() {
-      this.init();
-      // 宸︿晶鑿滃崟鍔犺浇
-      setTimeout(()=>{
-        this.loading=false
-      },600)
-    },
-    computed: mapGetters(["isMenu", "isLock", "isCollapse", "website", "menu"]),
-    props: [],
-    methods: {
-      showCollapse() {
-        this.$store.commit("SET_COLLAPSE");
-      },
-      // 鍒濆鍖�
-      init() {
-        this.$store.commit("SET_SCREEN", admin.getScreen());
-        window.onresize = () => {
-          setTimeout(() => {
-            this.$store.commit("SET_SCREEN", admin.getScreen());
-          }, 0);
-
-        };
-        this.$store.dispatch("FlowRoutes").then(() => {
-        });
-      },
-      //鎵撳紑鑿滃崟
-      openMenu(item = {}) {
-        this.$store.dispatch("GetMenu", item.id).then(data => {
-          if (data.length !== 0) {
-            this.$router.$avueRouter.formatRoutes(data, true);
-          }
-          //褰撶偣鍑婚《閮ㄨ彍鍗曞悗榛樿鎵撳紑绗竴涓彍鍗�
-          /*if (!this.validatenull(item)) {
-            let itemActive = {},
-              childItemActive = 0;
-            if (item.path) {
-              itemActive = item;
+    //鎵撳紑鑿滃崟
+    openMenu(item = {}) {
+      this.$store.dispatch("GetMenu", item.id).then(data => {
+        if (data.length !== 0) {
+          this.$router.$avueRouter.formatRoutes(data, true);
+        }
+        //褰撶偣鍑婚《閮ㄨ彍鍗曞悗榛樿鎵撳紑绗竴涓彍鍗�
+        /*if (!this.validatenull(item)) {
+          let itemActive = {},
+            childItemActive = 0;
+          if (item.path) {
+            itemActive = item;
+          } else {
+            if (this.menu[childItemActive].length === 0) {
+              itemActive = this.menu[childItemActive];
             } else {
-              if (this.menu[childItemActive].length === 0) {
-                itemActive = this.menu[childItemActive];
-              } else {
-                itemActive = this.menu[childItemActive].children[childItemActive];
-              }
+              itemActive = this.menu[childItemActive].children[childItemActive];
             }
-            this.$store.commit('SET_MENU_ID', item);
-            this.$router.push({
-              path: this.$router.$avueRouter.getPath({
-                name: (itemActive.label || itemActive.name),
-                src: itemActive.path
-              }, itemActive.meta)
-            });
-          }*/
-
-        });
-      },
-      // 瀹氭椂妫�娴媡oken
-      refreshToken() {
-        this.refreshTime = setInterval(() => {
-          const token = getStore({
-            name: "token",
-            debug: true
-          }) || {};
-          const date = calcDate(token.datetime, new Date().getTime());
-          if (validatenull(date)) return;
-          if (date.seconds >= this.website.tokenTime && !this.refreshLock) {
-            this.refreshLock = true;
-            this.$store
-              .dispatch("refreshToken")
-              .then(() => {
-                this.refreshLock = false;
-              })
-              .catch(() => {
-                this.refreshLock = false;
-              });
           }
-        }, 10000);
-      }
+          this.$store.commit('SET_MENU_ID', item);
+          this.$router.push({
+            path: this.$router.$avueRouter.getPath({
+              name: (itemActive.label || itemActive.name),
+              src: itemActive.path
+            }, itemActive.meta)
+          });
+        }*/
+
+      });
+    },
+    // 瀹氭椂妫�娴媡oken
+    refreshToken() {
+      this.refreshTime = setInterval(() => {
+        const token = getStore({
+          name: "token",
+          debug: true
+        }) || {};
+        const date = calcDate(token.datetime, new Date().getTime());
+        if (validatenull(date)) return;
+        if (date.seconds >= this.website.tokenTime && !this.refreshLock) {
+          this.refreshLock = true;
+          this.$store
+            .dispatch("refreshToken")
+            .then(() => {
+              this.refreshLock = false;
+            })
+            .catch(() => {
+              this.refreshLock = false;
+            });
+        }
+      }, 10000);
     }
-  };
+  }
+};
 </script>
 <style lang="scss">
- #avue-view .avue-view{
-   height: 100%;
-   padding: 0 6px !important;
- }
+#avue-view > .avue-view{
+  height: 100%;
+  padding: 0 6px !important;
+}
 </style>
diff --git a/Source/ProjectWeb/src/views/base/UIContentViewer.vue b/Source/ProjectWeb/src/views/base/UIContentViewer.vue
index 8b2cd6b..44104ce 100644
--- a/Source/ProjectWeb/src/views/base/UIContentViewer.vue
+++ b/Source/ProjectWeb/src/views/base/UIContentViewer.vue
@@ -54,7 +54,6 @@
 <script>
 import {verifyNull} from "@/util/validate";
 import UIContentArea from "@/views/base/UIContentArea"
-import {uiDefineVOData} from "@/views/base/uiDefineVO"
 import {getUIContent} from '@/api/base/region'
 
 export default {
@@ -78,8 +77,21 @@
       sourceData: {},
     }
   },
-  watch: {},
-  computed: {},
+  watch: {
+    typeAContent:{
+      handler(newV,oldV){
+        if(oldV!=newV && !verifyNull(newV)){
+          this.initUI();
+        }
+      },
+      immediate: true,
+    }
+  },
+  computed: {
+    typeAContent(){
+      return this.btmType+this.content;
+    }
+  },
   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涓婁笅鏂囩殑鍚嶇О");
@@ -88,15 +100,13 @@
     this.btmType = this.$route.query.type;
     this.content = this.$route.query.context || this.$route.query.content;
     this.sourceData = this.$route.query;
-    this.initUI();
-    this.initContent();
   },
   methods: {
     initUI() {
-      const query = {btmType: 'folder', id: 'cardtemplatemanager'}
-      getUIContent(query).then(res => {
+      getUIContent({btmType: this.btmType, id: this.content}).then(res => {
         console.log(res.data.obj)
         this.uiDefineVO = res.data.obj;
+        this.initContent();
       })
     },
     initContent() {
diff --git a/Source/ProjectWeb/src/views/base/UIContentViewerInDialog.vue b/Source/ProjectWeb/src/views/base/UIContentViewerInDialog.vue
index 120ac2f..1ac86c5 100644
--- a/Source/ProjectWeb/src/views/base/UIContentViewerInDialog.vue
+++ b/Source/ProjectWeb/src/views/base/UIContentViewerInDialog.vue
@@ -100,25 +100,32 @@
     }
   },
   watch: {
-
+    typeAContent:{
+      handler(newV,oldV){
+        if(oldV!=newV && !verifyNull(newV)){
+          this.initUI();
+        }
+      },
+      immediate: true,
+    }
   },
   computed: {
-
+    typeAContent(){
+      return this.btmType+this.content;
+    }
   },
   created() {
     if (verifyNull(this.btmType) || verifyNull(this.content) ) {
       this.$message.error("鑷畾涔夌粍浠堕厤缃殑淇℃伅閿欒锛岃鍙傝�僢s=name?type=xxx&context=yyy&param=zzz杩欑褰㈠紡銆傚叾涓璽ype鏄笟鍔$被鍨嬶紙鎴栭摼鎺ョ被鍨嬶級锛宑ontext鏄疷I涓婁笅鏂囩殑鍚嶇О,name涓虹粍浠跺悕绉帮紝绌哄�兼椂榛樿灞曠ずUI寮曟搸");
       return false;
     }
-    this.initUI();
-    this.initContent();
   },
   methods: {
     initUI() {
-      const query = {btmType: 'folder', id: 'cardtemplatemanager'}
-      getUIContent(query).then(res => {
+      getUIContent({btmType: this.btmType, id: this.content}).then(res => {
         console.log(res.data.obj)
         this.uiDefineVO = res.data.obj;
+        this.initContent();
       })
     },
     initContent() {

--
Gitblit v1.9.3