From fecc7305a48f8ce6e283434718da33e143885c75 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期二, 09 四月 2024 10:03:43 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue | 117 ++++++++++++++++++++++++++++------------------------------ 1 files changed, 56 insertions(+), 61 deletions(-) diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue index 4ed2338..c15d92f 100644 --- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue +++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue @@ -1,6 +1,13 @@ <template> <div class="UI-dynamic" :id="'UI-dynamic-'+areasName+componentVO.oid"> - <div v-if="isError" style="color: #F56C6C">杩欎釜鑷畾涔夐〉闈㈢殑鍦板潃鏍煎紡涓嶆纭�傛帹鑽愪娇鐢╞s=?type=xxx&context=yyy&pparam=zzz杩欑褰㈠紡</div> + <el-alert + class="alert" + v-if="isError" + title="鑷畾涔夌粍浠堕厤缃俊鎭敊璇紒" + type="error" + show-icon + description="杩欎釜鑷畾涔夐〉闈㈢殑鍦板潃鏍煎紡涓嶆纭�傛帹鑽愪娇鐢╞s=缁勪欢name?type=xxx&context=yyy&pparam=zzz杩欑褰㈠紡"> + </el-alert> <component v-else :is="currentComponent" :btmType="btmType" :content="content" @@ -15,38 +22,39 @@ </template> <script> +import {queryStringToObject} from '@/util/util' export default { name: "dynamic-custom", - components:{ - 'UI':()=>import('@/views/base/UIContentViewerInDialog'), - 'test':()=>import('@/views/custom-ui/test'), - 'test2':()=>import('@/views/custom-ui/test2'), + components: { + 'UI': () => import('@/views/base/UIContentViewerInDialog'), + 'test': () => import('@/views/custom-ui/test'), + 'test2': () => import('@/views/custom-ui/test2'), }, - props:{ - componentVO:{ - type:Object, + props: { + componentVO: { + type: Object, default: {} }, inDialog: { type: Boolean, default: false }, - areasName:{ - type:String, - default:'' + areasName: { + type: String, + default: '' }, - sourceData:{ + sourceData: { //鎵�灞炲尯鍩熺殑涓婁竴鍖哄煙閫変腑鏁版嵁 - type:Object, + type: Object, default: {} }, - dataStore:{ + dataStore: { //寮圭獥鏃舵寜閽墍灞炲尯鍩熼�変腑鏁版嵁 - type:Array, + type: Array, default: [] }, - paramVOS:{ - type:Object, + paramVOS: { + type: Object, default: {} }, isShow: { @@ -57,17 +65,17 @@ }, data() { return { - btmType:'', - content:'', - urlParams:{}, - height:'300px', - customClass:this.componentVO.customClass, //bs=?type=xxx&context=yyy¶m=zzz 鎴栬�� bs=缁勪欢name?type=xxx&context=yyy¶m=zzz - isError:false, //璺緞瑙f瀽澶辫触 + btmType: '', + content: '', + urlParams: {}, + height: '300px', + 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 } }, - watch:{ - sourceData:{ + watch: { + sourceData: { handler(newval) { //婧愭暟鎹湁鍙樺寲鏃跺彉鏇村綋鍓嶅尯鍩熸暟鎹� console.log(this.areasName); @@ -75,51 +83,38 @@ } } }, - computed:{ - }, + computed: {}, created() { }, mounted() { - if(this.customClass.indexOf("bs=") <0){ - this.isError=true; - return ; + 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 ; + 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]; + 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]; - } - }) + let urlParams = queryStringToObject(this.customClass); + let btmType = urlParams.type; + let content = urlParams.context; - - this.btmType=btmType, - this.content=content, - this.urlParams=Object.assign(this.paramVOS,urlParams) + 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){ - this.height=el.$el.clientHeight+'px'; - }else { + }, + methods: { + getHeight(el) { + if (el.$el.clientHeight > 50) { + this.height = el.$el.clientHeight + 'px'; + } else { this.getHeight(el.$parent); } } @@ -127,6 +122,6 @@ } </script> -<style scoped> +<style scoped lang="scss"> </style> -- Gitblit v1.9.3