Quellcode durchsuchen

升级 pc-component-v3,修复搜索控件的BUG。

yangzhijie vor 4 Jahren
Ursprung
Commit
39162d1ce2

+ 3 - 1
examples/App.vue

@@ -58,7 +58,9 @@
           <li>
             <router-link :to="{ path: '/desktop/year-picker-example'}">年份控件</router-link>
           </li>
-
+          <li>
+            <router-link :to="{ path: '/desktop/search-widget-example'}">搜索框控件</router-link>
+          </li>
           <li>
             <router-link :to="{ path: '/desktop/modal-example'}">模态框</router-link>
           </li>

+ 58 - 0
examples/info/SearchWidgetExample.vue

@@ -0,0 +1,58 @@
+<template>
+  <h1>搜索框</h1>
+
+  <SearchWidget
+    info-window-no="279750"
+    :field-value="parentOrganizationFieldValue"
+    :title-name="部门"
+    display-name="name"
+    :where-clause="parentOrganizationAdditionHql"
+    @value-changed="parentOrganizationValueChanged"
+  />
+
+  您选择的部门是: 
+  <span v-for="item, index in parentOrganizationFieldValue.displayValue" :key="index">
+    {{ item }}
+  </span>
+</template>
+
+<script>
+
+import SearchWidget from '@/info/search-widget.js';
+
+
+export default {
+
+  components: {
+    SearchWidget,
+  },
+  data: function () {
+    return {
+
+
+      parentOrganizationFieldValue: {
+        displayValue: [],
+        fieldType: 'Key',
+        id: null,
+      },
+
+
+      /**
+             * 上级部门发生修改
+             */
+      parentOrganizationValueChanged: function (newFieldValue) {
+        var _self = this;
+        _self.parentOrganizationFieldValue = newFieldValue;
+        _self.organization.parentId = newFieldValue.id;
+      },
+
+      parentOrganizationAdditionHql: 'id IN (:EnvOrganizationIdList)',
+
+    };
+  },
+
+  methods: {
+        
+  },
+};
+</script>

+ 7 - 1
examples/route/index.js

@@ -20,6 +20,9 @@ const YearPickerExample = () => import(/* webpackChunkName: "year-picker-example
 
 
 const LoadingExample = () => import(/* webpackChunkName: "loading-example" */ '../loading/src/LoadingExample.vue');
+const SearchWidgetExample = () => import(/* webpackChunkName: "search-widget-example" */ '../info/SearchWidgetExample.vue');
+
+
 const ProcessReport = () => import(/* webpackChunkName: "process-report" */ '../../packages/process/src/ProcessReport.vue');
 const InfoWindow = () => import(/* webpackChunkName: "info-window" */ '../../packages/info/src/InfoWindow.vue');
 const DocGeneratorSelected = () => import(/* webpackChunkName: "doc-generator-selected" */ '../../packages/info/src/DocGeneratorSelected.vue');
@@ -89,9 +92,12 @@ export default {
         { path: 'year-picker-example', component: YearPickerExample },
 
 				
-				
+        /** 搜索框 */
+        { path: 'search-widget-example', component: SearchWidgetExample },
 
+				
 
+        
 
         /** 流程报表 */
         { path: 'process-report/:no', component: ProcessReport },

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "pc-component-v3",
-  "version": "1.0.12",
+  "version": "1.0.13",
   "description": "",
   "main": "dist/pc-component-v3.js",
   "scripts": {

+ 4 - 4
packages/info/src/InfoMultiSearchWidget.vue

@@ -31,12 +31,12 @@
         <div>{{ infoWindowDto.name }}</div>
       </template>
       <template #default>
-        <!-- <InfoFilter
+        <!-- <InfoWindow
           ref="info"
           :field-value="fieldValue"
           :where-clause-source="whereClauseSource"
           :is-search-widget="true"
-          :infoWindowNo="infoWindowNo"
+          :info-window-no="infoWindowNo"
           @data-selected="dataSelected"
           @delete-selected="deleteSelected"
         /> -->
@@ -47,14 +47,14 @@
 </template>
 <script>
 var Modal = require('../../modal/src/Modal.vue').default;
-// var InfoFilter = require('./InfoWindow.vue').default;
+// var InfoWindow = require('./InfoWindow.vue').default;
 var Loading = require('../../loading/src/Loading.vue').default;
 
 export default {
 
   components: {
     Modal, 
-    // InfoFilter, 
+    // InfoWindow, 
     Loading,
   },
   props: {

+ 16 - 7
packages/info/src/InfoSearchWidget.vue

@@ -28,8 +28,8 @@
       <template #header>
         <div>{{ titleName }}</div>
       </template>
-      <template #default>
-        <!-- <InfoWindow
+      <!-- <template #default> -->
+      <!-- <InfoWindow
           v-if="showSubInfoWindow"
           ref="info"
           :infoWindowNo="infoWindowNo"
@@ -38,7 +38,7 @@
           :is-search-widget="true"
           @data-selected="dataSelected"
         /> -->
-      </template>
+      <!-- </template> -->
     </Modal>
     <SearchAutoCompleteWidget
       ref="autoComplete"
@@ -74,14 +74,23 @@ export default {
     Modal, SearchAutoCompleteWidget, Loading,
   },
   props: {
+    /**
+     * 编号
+     */
     'infoWindowNo':{
       type: String,
       default: null,
     }, 
+    /**
+     * 显示的值
+     */
     'fieldValue': {
       type: Object,
       default: null,
     },
+    /**
+     * 弹出窗口的标题
+     */
     'titleName':
     {
       type: String,
@@ -160,6 +169,10 @@ export default {
 
   },
 
+  mounted: function () {
+    this.searchText = this.initSearchText(this.fieldValue);
+  },
+
   methods: {
     selectDown: function () {
       this.$refs.autoComplete.selectDown();
@@ -261,10 +274,6 @@ export default {
         return tempFieldValue.displayValue[0];
       }
     },
-
-    mounted: function () {
-      this.searchText = this.initSearchText(this.fieldValue);
-    },
   },
 };
 </script>

+ 9 - 16
packages/info/src/SearchWidget.vue

@@ -34,15 +34,15 @@
       @cancel="searchDialogCancel"
     >
       <template #default>
-        <!-- <info
-          ref="info"
+        <InfoWindow
+          ref="infoWindow"
           :field-value="fieldValue"
-          :infoWindowNo="infoWindowNo"
+          :info-window-no="infoWindowNo"
           :where-clause-source="whereClauseSource"
           :is-search-widget="true"
           :model-data="modelData"
           @data-selected="dataSelected"
-        /> -->
+        />
       </template>
       <template #header>
         <div>{{ titleName }}</div>
@@ -65,7 +65,7 @@
 
 <script>
 var Modal = require('../../modal/src/Modal.vue').default;
-// var Info = require('./InfoWindow.vue').default;
+var InfoWindow = require('./InfoWindow.vue').default;
 var SearchAutoCompleteWidget = require('./SearchAutoCompleteWidget.vue').default;
 var Loading = require('../../loading/src/Loading.vue').default;
 
@@ -74,17 +74,10 @@ export default {
 
   components: {
     Modal, 
-    // Info, 
+    InfoWindow, 
     SearchAutoCompleteWidget, 
     Loading,
   },
-  // infoWindowNo: 
-  // fieldValue: 
-  // fieldValue:
-  // titleName: 弹出窗口的标题
-  // displayName: 文本框中显示的字段
-  // whereClauseSource: 约束条件
-
   props: {
     /**
      * 查询窗口编号
@@ -236,11 +229,11 @@ export default {
     },
 
     /**
-             * 搜索框【确定】按钮点击事件
-             */
+     * 搜索框【确定】按钮点击事件
+     */
     searchDialogOk: function () {
       var _self = this;
-      var selectedModelDatas = _self.$refs.info.getSelectedModelDatas();
+      var selectedModelDatas = _self.$refs.infoWindow.getSelectedModelDatas();
       if (selectedModelDatas != undefined || selectedModelDatas.length > 0) {
         // 选中了数据,更新数据
         _self.dataSelected(selectedModelDatas[0]);

+ 6 - 5
packages/process/src/MultiSearchWidget.vue

@@ -48,11 +48,11 @@
             @cancel="searchDialogCancel"
           >
             <template #default>
-              <info
-                ref="info"
+              <!-- <InfoWindow
+                ref="infoWindow"
                 :info-window-no="infoWindowNo"
                 @data-selected="dataSelected"
-              />
+              /> -->
             </template>
 
             <template #header>
@@ -130,13 +130,14 @@
 </template>
 <script>
 var Modal = require('../../modal/src/Modal.vue').default;
-var Info = require('../../info/src/InfoWindow.vue').default;
+// var InfoWindow = require('../../info/src/InfoWindow.vue').default;
 var Common = require('../../common/Common.js').default;
 
 export default {
 
   components: {
-    Modal, Info,
+    Modal, 
+    // InfoWindow,
   },
   props: {
     'infoWindowNo':{