From 5848ccc253f59e32742cf7de16b13c5860f25824 Mon Sep 17 00:00:00 2001 From: wangting <675591594@qq.com> Date: 星期一, 08 四月 2024 11:05:58 +0800 Subject: [PATCH] 路由 --- Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue | 95 ++++++++++++++++++++++------------------------- 1 files changed, 45 insertions(+), 50 deletions(-) diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue index 5d85586..4ed2338 100644 --- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue +++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue @@ -1,15 +1,16 @@ <template> <div class="UI-dynamic" :id="'UI-dynamic-'+areasName+componentVO.oid"> - <div v-if="isError" style="color: #F56C6C">杩欎釜鑷畾涔夐〉闈㈢殑鍦板潃鏍煎紡涓嶆纭�傛帹鑽愪娇鐢║I:type#content?param=xxx杩欑褰㈠紡</div> + <div v-if="isError" style="color: #F56C6C">杩欎釜鑷畾涔夐〉闈㈢殑鍦板潃鏍煎紡涓嶆纭�傛帹鑽愪娇鐢╞s=?type=xxx&context=yyy&pparam=zzz杩欑褰㈠紡</div> <component v-else :is="currentComponent" - :customOptions="customOptions" + :btmType="btmType" + :content="content" :inDialog="true" :key="areasName+'customCom-'+componentVO.oid" :componentVO="componentVO" :sourceData="sourceData" :dataStore="dataStore" :areasName="areasName" - :paramVOS="paramVOS"></component> + :paramVOS="urlParams"></component> </div> </template> @@ -18,8 +19,8 @@ name: "dynamic-custom", components:{ 'UI':()=>import('@/views/base/UIContentViewerInDialog'), - 'test':()=>import('@/components/custom-ui/test'), - 'test2':()=>import('@/components/custom-ui/test2'), + 'test':()=>import('@/views/custom-ui/test'), + 'test2':()=>import('@/views/custom-ui/test2'), }, props:{ componentVO:{ @@ -35,7 +36,7 @@ default:'' }, sourceData:{ - //鑿滃崟婧愭暟鎹垨鑰呭脊绐楁椂鎸夐挳鎵�灞炲尯鍩熺殑涓婁竴鍖哄煙閫変腑鏁版嵁 + //鎵�灞炲尯鍩熺殑涓婁竴鍖哄煙閫変腑鏁版嵁 type:Object, default: {} }, @@ -56,8 +57,11 @@ }, data() { return { + btmType:'', + content:'', + urlParams:{}, height:'300px', - customClass:this.componentVO.customClass, //UI:type#content?param=xxx鎴栬�� 缁勪欢name:type#content?param=xxx + customClass:this.componentVO.customClass, //bs=?type=xxx&context=yyy¶m=zzz 鎴栬�� bs=缁勪欢name?type=xxx&context=yyy¶m=zzz isError:false, //璺緞瑙f瀽澶辫触 currentComponent: 'UI',//缁勪欢name } @@ -65,61 +69,52 @@ watch:{ sourceData:{ handler(newval) { + //婧愭暟鎹湁鍙樺寲鏃跺彉鏇村綋鍓嶅尯鍩熸暟鎹� console.log(this.areasName); console.log(newval); } } }, computed:{ - customOptions() { - if(this.customClass.indexOf(":") <0){ - this.isError=true; - return ; - } - - if(this.customClass.split(':')[0]!='UI' && this.customClass.split(':')[0]!='ui'){ - this.currentComponent=this.customClass.split(':')[0]; - } - let urlParams={}; - let btmType='' - let content='' - if(this.customClass.split(':')[1].indexOf("?") <0){ - btmType=this.customClass.split(':')[1].split('#')[0]; - content=this.customClass.split(':')[1].split('#')[1]; - }else { - let split1 = this.customClass.split(':')[1].split('?')[0]; - let split2 = this.customClass.split(':')[1].split('?')[1]; - btmType=split1.split('#')[0]; - content=split1.split('#')[1]; - let paramsArray = split2.split("&"); - paramsArray.forEach(item=>{ - var preParam =item.split("="); - if(preParam[0]=='btmname'){ - urlParams['btmType']=preParam[1]; - }else if(preParam[0]=='imagetype'){ - urlParams['imageType']=preParam[1]; - if(preParam[1]=='fileobject'){ - - } - }else{ - urlParams[preParam[0]] = preParam[1]; - } - }) - } - - return { - btmType:btmType, - content:content, - urlParams: urlParams - } - } }, created() { }, mounted() { + if(this.customClass.indexOf("bs=") <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 ; + } + if(this.customClass.split('?')[0]!='' && this.customClass.split('?')[0]!='UI' && this.customClass.split('?')[0]!='ui'){ + this.currentComponent=this.customClass.split('?')[0]; + } + this.customClass=this.componentVO.customClass.split("?")[1].split('&'); + let urlParams={}; + let btmType='' + let content='' + this.customClass.forEach(item=>{ + var preParam =item.split("="); + if(preParam[0]=='type'){ + btmType=preParam[1]; + }else if(preParam[0]=='context'){ + content=preParam[1]; + }else{ + urlParams[preParam[0]] = preParam[1]; + } + }) + + + this.btmType=btmType, + this.content=content, + this.urlParams=Object.assign(this.paramVOS,urlParams) + //this.getHeight(this.$parent); - }, + }, methods:{ getHeight(el){ if(el.$el.clientHeight>50){ -- Gitblit v1.9.3