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&param=zzz  鎴栬�� bs=缁勪欢name?type=xxx&context=yyy&param=zzz
-      isError:false, //璺緞瑙f瀽澶辫触
+      btmType: '',
+      content: '',
+      urlParams: {},
+      height: '300px',
+      customClass: this.componentVO.customClass, //bs=?type=xxx&context=yyy&param=zzz  鎴栬�� bs=缁勪欢name?type=xxx&context=yyy&param=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