From d1d59913384ce70d30ae9f98b4c79a976611e9ad Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期三, 10 四月 2024 15:54:21 +0800
Subject: [PATCH] 路径解析

---
 Source/ProjectWeb/src/views/base/UIContentViewerInDialog.vue           |    2 +-
 Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue |   39 ++++++++++++++++++++++++---------------
 Source/ProjectWeb/src/views/base/UIContentViewer.vue                   |    2 +-
 3 files changed, 26 insertions(+), 17 deletions(-)

diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue
index c15d92f..9a1a0cf 100644
--- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue
+++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue
@@ -2,11 +2,12 @@
   <div class="UI-dynamic" :id="'UI-dynamic-'+areasName+componentVO.oid">
     <el-alert
       class="alert"
+      :closable="false"
       v-if="isError"
       title="鑷畾涔夌粍浠堕厤缃俊鎭敊璇紒"
       type="error"
       show-icon
-      description="杩欎釜鑷畾涔夐〉闈㈢殑鍦板潃鏍煎紡涓嶆纭�傛帹鑽愪娇鐢╞s=缁勪欢name?type=xxx&context=yyy&pparam=zzz杩欑褰㈠紡">
+      description="杩欎釜鑷畾涔夐〉闈㈢殑鍦板潃鏍煎紡涓嶆纭�傛帹鑽愪娇鐢ㄢ�滅粍浠秐ame?param=xxx鈥濓紙鑷畾涔夌粍浠讹級鎴栬�呪��?type=xxx&context=yyy&pparam=zzz鈥濓紙UI寮曟搸锛夎繖2绉嶅舰寮�">
     </el-alert>
     <component v-else :is="currentComponent"
                :btmType="btmType"
@@ -23,6 +24,7 @@
 
 <script>
 import {queryStringToObject} from '@/util/util'
+import {validatenull} from "@/util/validate";
 export default {
   name: "dynamic-custom",
   components: {
@@ -69,7 +71,7 @@
       content: '',
       urlParams: {},
       height: '300px',
-      customClass: this.componentVO.customClass, //bs=?type=xxx&context=yyy&param=zzz  鎴栬�� bs=缁勪欢name?type=xxx&context=yyy&param=zzz
+      customClass: '', //?type=xxx&context=yyy&param=zzz  鎴栬�� 缁勪欢name?type=xxx&context=yyy&param=zzz
       isError: false, //璺緞瑙f瀽澶辫触
       currentComponent: 'UI',//缁勪欢name
     }
@@ -88,24 +90,31 @@
 
   },
   mounted() {
-    if (this.customClass.indexOf("bs=") < 0) {
+    this.componentVO.customClass.split(';').forEach(item=>{
+      if(item.indexOf('web=')==0){
+        this.customClass=item.split('web=')[1];
+      }
+    })
+    // 濡傛灉璺緞涓瓨鍦� '?'锛屽垯鍙栭棶鍙峰墠闈㈤儴鍒嗙粰 parts
+    if (this.customClass.includes('?')) {
+      this.currentComponent = this.customClass.split("?")[0];
+    } else {
+      this.currentComponent = this.customClass; // 涓嶅瓨鍦� '?' 鏁存潯璺緞灏辨槸 parts
+    }
+    if(validatenull(this.currentComponent)){
+      this.currentComponent='UI';
+    }
+    if (['UI', 'ui'].includes(this.currentComponent) && (this.customClass.indexOf("type=") < 0 || this.customClass.indexOf("context=") < 0)) {
       this.isError = true;
       return;
     }
-    this.customClass = this.componentVO.customClass.split("bs=")[1];
-    if (this.customClass.indexOf("?") < 0 || this.customClass.indexOf("type=") < 0 || this.customClass.indexOf("context=") < 0) {
-      this.isError = true;
-      return;
+    let urlParams = {};
+    if(this.customClass.includes('?')) {
+      urlParams = queryStringToObject(this.customClass);
     }
-    if (this.customClass.split('?')[0] != '' && this.customClass.split('?')[0] != 'UI' && this.customClass.split('?')[0] != 'ui') {
-      this.currentComponent = this.customClass.split('?')[0];
-    }
-    let urlParams = queryStringToObject(this.customClass);
-    let btmType = urlParams.type;
-    let content = urlParams.context;
 
-    this.btmType = btmType;
-    this.content = content;
+    this.btmType = urlParams.type;
+    this.content = urlParams.context;
     this.urlParams = Object.assign(this.paramVOS, urlParams)
 
     //this.getHeight(this.$parent);
diff --git a/Source/ProjectWeb/src/views/base/UIContentViewer.vue b/Source/ProjectWeb/src/views/base/UIContentViewer.vue
index a963086..c987860 100644
--- a/Source/ProjectWeb/src/views/base/UIContentViewer.vue
+++ b/Source/ProjectWeb/src/views/base/UIContentViewer.vue
@@ -90,7 +90,7 @@
   },
   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.getTheParameters()
diff --git a/Source/ProjectWeb/src/views/base/UIContentViewerInDialog.vue b/Source/ProjectWeb/src/views/base/UIContentViewerInDialog.vue
index 86c330a..cfb67d8 100644
--- a/Source/ProjectWeb/src/views/base/UIContentViewerInDialog.vue
+++ b/Source/ProjectWeb/src/views/base/UIContentViewerInDialog.vue
@@ -115,7 +115,7 @@
   },
   created() {
     if (verifyNull(this.btmType) || verifyNull(this.content) ) {
-      this.$message.error("鑷畾涔夌粍浠堕厤缃殑淇℃伅閿欒锛岃鍙傝�僢s=name?type=xxx&context=yyy&param=zzz杩欑褰㈠紡銆傚叾涓璽ype鏄笟鍔$被鍨嬶紙鎴栭摼鎺ョ被鍨嬶級锛宑ontext鏄疷I涓婁笅鏂囩殑鍚嶇О,name涓虹粍浠跺悕绉帮紝绌哄�兼椂榛樿灞曠ずUI寮曟搸");
+      this.$message.error("鑷畾涔夌粍浠堕厤缃殑淇℃伅閿欒锛岃鍙傝�冣��?type=xxx&context=yyy&param=zzz鈥滆繖绉嶅舰寮忋�傚叾涓璽ype鏄笟鍔$被鍨嬶紙鎴栭摼鎺ョ被鍨嬶級锛宑ontext鏄疷I涓婁笅鏂囩殑鍚嶇О");
       return false;
     }
   },

--
Gitblit v1.9.3