Explorar el Código

修改查询窗口组件。

yangzhijie hace 4 años
padre
commit
d8131455b5

+ 2 - 3
packages/info/src/InfoMultiSearchWidget.vue

@@ -36,6 +36,7 @@
           :field-value="fieldValue"
           :where-clause-source="whereClauseSource"
           :is-search-widget="true"
+          :infoWindowNo="infoWindowNo"
           @data-selected="dataSelected"
           @delete-selected="deleteSelected"
         /> -->
@@ -111,9 +112,7 @@ export default {
       _self.$refs.modal.showModal();
       _self.$nextTick(function () {
         _self.$refs.modal.showModal();
-        if (_self.$refs.info.infoWindowNo != _self.infoWindowNo) {
-          _self.$refs.info.loadByInfoWindowNo(_self.infoWindowNo);
-        } else {
+        if (this.$refs.info) {
           _self.$refs.info.refresh();
         }
       });

+ 8 - 6
packages/info/src/InfoSearchWidget.vue

@@ -32,6 +32,7 @@
         <!-- <InfoWindow
           v-if="showSubInfoWindow"
           ref="info"
+          :infoWindowNo="infoWindowNo"
           :where-clause-source="whereClauseSource"
           :field-value="fieldValue"
           :is-search-widget="true"
@@ -155,7 +156,12 @@ export default {
 
     // 查询条件变化时,重新查询数据
     whereClauseSource: function () {
-      this.$refs.info.loadByInfoWindowNo(this.infoWindowNo);
+      let _self = this;
+      this.$nextTick(function(){
+      if (_self.$refs.info) {
+        _self.$refs.info.refresh();
+      }
+      });
     },
   },
 
@@ -197,11 +203,7 @@ export default {
 
       this.$nextTick(function () {
         if (this.$refs.info) {
-          if (this.$refs.info.infoWindowNo != this.infoWindowNo) {
-            _self.$refs.info.loadByInfoWindowNo(this.infoWindowNo);
-          } else {
-            _self.$refs.info.refresh();
-          }
+          _self.$refs.info.refresh();
         }
       });
     },

+ 12 - 26
packages/info/src/InfoWindow.vue

@@ -52,13 +52,19 @@ export default {
       type: Object,
       default: null,
     },
+    /**
+     * 查询窗口编号
+     */
+    'infoWindowNo': {
+      type: String,
+      default: null,
+    },
   },
 
   emits: ['dataSelected', 'valueChanged', 'deleteSelected'],
 
   data: function () {
     return {
-      'infoWindowNo': '',
       'infoWindowDto': {},
       // 显示部件名称
       'componentName': '',
@@ -66,14 +72,14 @@ export default {
   },
 
   watch: {
-    '$route': function (to, from) {
-      this.getInfoWindowNo();
-    },
 
     'infoWindowNo': {
       handler: function(newValue, oldValue){
+        let _self = this;
         if(newValue != oldValue){
-          this.loadData();
+          this.$nextTick(function(){
+            _self.loadData();
+          });
         }
       },
       immediate: true,
@@ -81,7 +87,7 @@ export default {
   },
 
   mounted: function () {
-    this.getInfoWindowNo();
+    
   },
 
   methods: {
@@ -132,13 +138,6 @@ export default {
       });
     },
 
-    /**
-     * 根据 infoWindowNo 加载数据
-     */
-    loadByInfoWindowNo: function (infoWindowNo) {
-      this.infoWindowNo = infoWindowNo;
-    },
-
     /**
      * 数据选择事件
      */
@@ -175,19 +174,6 @@ export default {
         }
       }
     },
-
-    /**
-     * 获取查询窗口的编号
-     */
-    getInfoWindowNo: function () {
-      if (this.$route.params != undefined) {
-        var routeInfoWindowNo = this.$route.params.infoWindowNo;
-        // 如果是搜索框,那么填充查询窗口编号
-        if (this.isSearchWidget != true) {
-          this.infoWindowNo = routeInfoWindowNo;
-        }
-      }
-    },
   },
 };
 

+ 23 - 11
packages/info/src/SearchWidget.vue

@@ -37,6 +37,7 @@
         <!-- <info
           ref="info"
           :field-value="fieldValue"
+          :infoWindowNo="infoWindowNo"
           :where-clause-source="whereClauseSource"
           :is-search-widget="true"
           :model-data="modelData"
@@ -76,18 +77,17 @@ export default {
     SearchAutoCompleteWidget, 
     Loading,
   },
-  // infoWindowNo: 查询窗口编号
-  // fieldValue: 显示的值
-  // fieldValue:{
-  //		displayValue: ['Jack'],
-  //		fieldType: 'Key',
-  //		id: 1
-  // }
+  // infoWindowNo: 
+  // fieldValue: 
+  // fieldValue:
   // titleName: 弹出窗口的标题
   // displayName: 文本框中显示的字段
   // whereClauseSource: 约束条件
 
   props: {
+    /**
+     * 查询窗口编号
+     */
     'infoWindowNo':{
       type: String,
       default: null,
@@ -96,14 +96,23 @@ export default {
       type: Object,
       default: null,
     },
+    /**
+     * 弹出窗口的标题
+     */
     'titleName':{
       type: String,
       default: null,
     },
+    /**
+     * 文本框中显示的字段
+     */
     'displayName':{
       type: String,
       default: null,
     },
+    /**
+     * 约束条件来源
+     */
     'whereClauseSource':{
       type: Object,
       default: null,
@@ -178,7 +187,12 @@ export default {
 
     // 查询条件变化时,重新查询数据
     whereClauseSource: function () {
-      this.$refs.info.loadByInfoWindowNo(this.infoWindowNo);
+      let _self = this;
+      this.$nextTick(function(){
+      if (_self.$refs.info) {
+        _self.$refs.info.refresh();
+      }
+      });
     },
   },
 
@@ -226,9 +240,7 @@ export default {
 
       _self.$refs.autoComplete.hide();
 
-      if (this.$refs.info.infoWindowNo != _self.infoWindowNo) {
-        this.$refs.info.loadByInfoWindowNo(this.infoWindowNo);
-      } else {
+      if (this.$refs.info) {
         _self.$refs.info.refresh();
       }
     },

+ 2 - 3
packages/process/src/MultiSearchWidget.vue

@@ -50,6 +50,7 @@
             <template #default>
               <info
                 ref="info"
+                :info-window-no="infoWindowNo"
                 @data-selected="dataSelected"
               />
             </template>
@@ -205,9 +206,7 @@ export default {
       _self.$refs.modal.showModal();
       _self.$nextTick(function () {
         _self.$refs.modal.showModal();
-        if (_self.$refs.info.infoWindowNo != _self.infoWindowNo) {
-          _self.$refs.info.loadByInfoWindowNo(_self.infoWindowNo);
-        } else {
+        if (this.$refs.info) {
           _self.$refs.info.refresh();
         }
       });