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¶m=zzz 鎴栬�� bs=缁勪欢name?type=xxx&context=yyy¶m=zzz + customClass: '', //?type=xxx&context=yyy¶m=zzz 鎴栬�� 缁勪欢name?type=xxx&context=yyy¶m=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¶m=zzz杩欑褰㈠紡銆傚叾涓璽ype鏄笟鍔$被鍨嬶紙鎴栭摼鎺ョ被鍨嬶級锛宑ontext鏄疷I涓婁笅鏂囩殑鍚嶇О"); + this.$message.error("閰嶇疆鐨勪俊鎭敊璇紝璇峰弬鑰冣��?type=xxx&context=yyy¶m=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¶m=zzz杩欑褰㈠紡銆傚叾涓璽ype鏄笟鍔$被鍨嬶紙鎴栭摼鎺ョ被鍨嬶級锛宑ontext鏄疷I涓婁笅鏂囩殑鍚嶇О,name涓虹粍浠跺悕绉帮紝绌哄�兼椂榛樿灞曠ずUI寮曟搸"); + this.$message.error("鑷畾涔夌粍浠堕厤缃殑淇℃伅閿欒锛岃鍙傝�冣��?type=xxx&context=yyy¶m=zzz鈥滆繖绉嶅舰寮忋�傚叾涓璽ype鏄笟鍔$被鍨嬶紙鎴栭摼鎺ョ被鍨嬶級锛宑ontext鏄疷I涓婁笅鏂囩殑鍚嶇О"); return false; } }, -- Gitblit v1.9.3