Quellcode durchsuchen

1.0.66 查询窗口记忆每页条数

liuyanpeng vor 2 Jahren
Ursprung
Commit
2b0a4d54fe

+ 1 - 1
package.json

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

+ 1 - 0
packages/info/src/InfoWindow.vue

@@ -12,6 +12,7 @@
       :parent-model-data="parentModelData"
       :model-data="modelData" 
       :multiple="multiple" 
+      :window-no="infoWindowNo"
       @data-selected="dataSelected"
       @delete-selected="deleteSelected"
     />

+ 115 - 105
packages/info/src/QueryPage.vue

@@ -1,17 +1,14 @@
 <template>
   <div
     class="flex-container"
-    :class="{'flex-container-modal': isSearchWidget == true, 'flex-container' : (isSearchWidget == null || isSearchWidget == false)}"
+    :class="{
+      'flex-container-modal': isSearchWidget == true,
+      'flex-container': isSearchWidget == null || isSearchWidget == false,
+    }"
   >
     <div class="flex-header">
-      <div
-        class="panel panel-default"
-        style="margin-bottom: 5px;"
-      >
-        <div
-          class="panel-heading"
-          style="padding: 0px;"
-        >
+      <div class="panel panel-default" style="margin-bottom: 5px">
+        <div class="panel-heading" style="padding: 0px">
           <InfoHeader
             :html-help-url="infoWindowDto.htmlHelpUrl"
             :info-grid-fields="infoGridFields"
@@ -22,10 +19,7 @@
             @grid-field-property-changed="gridFieldPropertyChanged($event)"
           />
         </div>
-        <div
-          class="panel-body"
-          style="padding-bottom: 5px; padding-top: 8px;"
-        >
+        <div class="panel-body" style="padding-bottom: 5px; padding-top: 8px">
           <QueryCondition
             ref="queryCondition"
             :info-filter-fields="infoFilterFields"
@@ -43,10 +37,7 @@
       </div>
     </div>
     <div class="flex-content">
-      <div
-        :id="tableOutDivId"
-        class="flex-main table-fix-head"
-      >
+      <div :id="tableOutDivId" class="flex-main table-fix-head">
         <table
           class="fixed-table table-striped table-bordered"
           :width="tableWidth"
@@ -54,11 +45,11 @@
         >
           <thead>
             <tr height="40px">
-              <th width="50px">{{ $t('lang.QueryPage.serialNumber') }}</th>
+              <th width="50px">{{ $t("lang.QueryPage.serialNumber") }}</th>
               <th
                 width="30px"
                 class="text-center"
-                :class="{'mulitiple-select': multipleSelect}"
+                :class="{ 'mulitiple-select': multipleSelect }"
                 @click.self="changeSelectMode"
               >
                 <input
@@ -68,7 +59,7 @@
                 />
               </th>
               <th
-                v-for="(infoGridField) in infoGridFields"
+                v-for="infoGridField in infoGridFields"
                 v-show="infoGridField.isShow"
                 :key="infoGridField.fieldName"
                 :width="infoGridField.width + 'px'"
@@ -85,7 +76,9 @@
                 />
 
                 <div
-                  v-tooltip.right="Language.getHelpTrl($i18n.locale, infoGridField)"
+                  v-tooltip.right="
+                    Language.getHelpTrl($i18n.locale, infoGridField)
+                  "
                   class="td-max"
                 >
                   {{ Language.getNameTrl($i18n.locale, infoGridField) }}
@@ -95,13 +88,19 @@
           </thead>
           <tbody>
             <tr
-              v-for="(item1,index) in infoWindowData.dataList"
+              v-for="(item1, index) in infoWindowData.dataList"
               :key="'tr' + item1.id"
               height="40px"
-              :class="{'warning':item1.select}"
+              :class="{ warning: item1.select }"
               @dblclick="selectNode(item1)"
             >
-              <td style="text-align: center;">{{ index+1+(pagination.current_page-1)*pagination.per_page }}</td>
+              <td style="text-align: center">
+                {{
+                  index +
+                    1 +
+                    (pagination.current_page - 1) * pagination.per_page
+                }}
+              </td>
 
               <td class="text-center">
                 <input
@@ -125,7 +124,11 @@
                   />
                 </span>
                 <span v-else>
-                  {{ item1.data[item2.fieldName] != undefined ? item1.data[item2.fieldName].displayValue[0] : "" }}
+                  {{
+                    item1.data[item2.fieldName] != undefined
+                      ? item1.data[item2.fieldName].displayValue[0]
+                      : ""
+                  }}
                 </span>
               </td>
             </tr>
@@ -133,31 +136,25 @@
         </table>
       </div>
     </div>
-    <div
-      class="flex-footer"
-      style="margin-top: 10px;"
-    >
+    <div class="flex-footer" style="margin-top: 10px">
       <div class="pull-left">
-        <span>{{ $t('lang.QueryPage.the') }}
-          {{ (pagination.current_page-1)*pagination.per_page+1 }}
+        <span>{{ $t("lang.QueryPage.the") }}
+          {{ (pagination.current_page - 1) * pagination.per_page + 1 }}
           -
-          {{ pagination.current_page*pagination.per_page }}
-          {{ $t('lang.QueryPage.strip') }}
+          {{ pagination.current_page * pagination.per_page }}
+          {{ $t("lang.QueryPage.strip") }}
           ,
-          {{ $t('lang.QueryPage.total') }}
+          {{ $t("lang.QueryPage.total") }}
           {{ pagination.total }}
-          {{ $t('lang.QueryPage.strip') }}
+          {{ $t("lang.QueryPage.strip") }}
           ,
-          {{ $t('lang.QueryPage.displayOnEachPage') }}
+          {{ $t("lang.QueryPage.displayOnEachPage") }}
         </span>
-        <PageSizeSelect @page-size-changed="gridSizeSelect" />
-        <span>{{ $t('lang.QueryPage.strip') }}</span>
+        <PageSizeSelect :size="pagination.per_page" @page-size-changed="gridSizeSelect" />
+        <span>{{ $t("lang.QueryPage.strip") }}</span>
       </div>
       <div class="pull-right">
-        <Pagination
-          :pagination="pagination"
-          :callback="pageSearch"
-        />
+        <Pagination :pagination="pagination" :callback="pageSearch" />
       </div>
     </div>
     <Loading v-if="loading" />
@@ -170,7 +167,7 @@
         />
       </template>
       <template #header>
-        <div>{{ $t('lang.QueryPage.resultsOfEnforcement') }}</div>
+        <div>{{ $t("lang.QueryPage.resultsOfEnforcement") }}</div>
       </template>
     </Modal>
   </div>
@@ -256,6 +253,13 @@ export default {
       type: Boolean,
       default: false,
     },
+    /**
+     * 查询窗口编号
+     */
+    'windowNo': {
+      type: String,
+      default: null,
+    },
   },
 
   emits: ['dataSelected'],
@@ -347,12 +351,18 @@ export default {
       immediate: true,
     },
   },
-
+  created:function(){
+    const infoPageSize = localStorage.getItem(`InfoWindowPageSize${this.windowNo}`);
+    if(infoPageSize){
+      this.pagination.per_page = infoPageSize;
+    }
+  },
   methods: {
     // 页码数量改变
     gridSizeSelect: function (newPageSize) {
-      this.pagination.per_page = newPageSize;
       this.pagination.current_page = 1;
+      this.pagination.per_page = newPageSize;
+      localStorage.setItem(`InfoWindowPageSize${this.windowNo}`,newPageSize);
     },
 
     ondragstart: function (event, gridFieldItem) {
@@ -925,111 +935,111 @@ export default {
 
 <style scoped>
 .sort-button {
-    float: left;
+  float: left;
 }
 
 .fixed-table {
-    table-layout: fixed;
+  table-layout: fixed;
 }
 table.fixed-table tr th {
-    text-align: center;
+  text-align: center;
 }
 table.fixed-table td {
-    text-align: center;
-    word-wrap: break-word;
-    word-break: normal;
+  text-align: center;
+  word-wrap: break-word;
+  word-break: normal;
 }
 .btn-process {
-    float: right;
-    margin-left: 15px;
+  float: right;
+  margin-left: 15px;
 }
 .mulitiple-select {
-    background-color: #6699cc !important;
+  background-color: #6699cc !important;
 }
 
 table.fixed-table th {
-    position: relative;
-    min-width: 25px;
+  position: relative;
+  min-width: 25px;
 }
 
 table.fixed-table th,
 table.fixed-table td {
-    overflow: hidden;
-    white-space: nowrap;
-    text-overflow: ellipsis;
-    border-right: 1px solid rgba(0, 0, 0, 0.05);
+  overflow: hidden;
+  white-space: nowrap;
+  text-overflow: ellipsis;
+  border-right: 1px solid rgba(0, 0, 0, 0.05);
 }
 
 table.fixed-table th {
-    min-width: 10px;
-    background-color: #f8f8f8;
+  min-width: 10px;
+  background-color: #f8f8f8;
 }
 
 table.fixed-table th .rz-handle {
-    width: 10px;
-    height: 100%;
-    position: absolute;
-    top: 0;
-    right: 0;
-    background: repeating-linear-gradient(
-        45deg,
-        transparent,
-        transparent 2px,
-        rgba(0, 0, 0, 0.05) 2px,
-        rgba(0, 0, 0, 0.05) 4px
-    );
-    cursor: ew-resize !important;
+  width: 10px;
+  height: 100%;
+  position: absolute;
+  top: 0;
+  right: 0;
+  background: repeating-linear-gradient(
+    45deg,
+    transparent,
+    transparent 2px,
+    rgba(0, 0, 0, 0.05) 2px,
+    rgba(0, 0, 0, 0.05) 4px
+  );
+  cursor: ew-resize !important;
 }
 
 table.fixed-table th .rz-handle.rz-handle-active {
-    border-right: 2px solid #000;
-    transform: scaleX(100);
-    background: rgba(0, 0, 0, 0.05) 2px;
+  border-right: 2px solid #000;
+  transform: scaleX(100);
+  background: rgba(0, 0, 0, 0.05) 2px;
 }
 
 .rz-handle:hover {
-    background: rgba(0, 0, 0, 0.2) 4px;
+  background: rgba(0, 0, 0, 0.2) 4px;
 }
 
 .flex-container {
-    display: flex;
-    /* 垂直*/
-    flex-direction: column;
-    width: 100%;
-    /*视口被均分为100单位的vh 占据整个窗口*/
-    height: calc(100vh - 75px);
+  display: flex;
+  /* 垂直*/
+  flex-direction: column;
+  width: 100%;
+  /*视口被均分为100单位的vh 占据整个窗口*/
+  height: calc(100vh - 75px);
 }
 
 .flex-container-modal {
-    display: flex;
-    /* 垂直*/
-    flex-direction: column;
-    width: 100%;
-    /*视口被均分为100单位的vh 占据整个窗口*/
-    height: calc(100vh - 215px);
+  display: flex;
+  /* 垂直*/
+  flex-direction: column;
+  width: 100%;
+  /*视口被均分为100单位的vh 占据整个窗口*/
+  height: calc(100vh - 215px);
 }
 
 .flex-header {
-    /*放大缩小比例为0 占据垂直方向80px*/
-    height: 400px;
-    flex: 0 0 100px;
+  /*放大缩小比例为0 占据垂直方向80px*/
+  height: 400px;
+  flex: 0 0 100px;
 }
 
 .flex-footer {
-    height: 40px;
-    flex: 0 0 40px;
+  height: 40px;
+  flex: 0 0 40px;
 }
 
 .flex-content {
-    display: flex;
-    flex: 1;
-    height: 0;
+  display: flex;
+  flex: 1;
+  height: 0;
 }
 
 .flex-main {
-    overflow: scroll;
-    flex: 1;
-    margin-bottom: 0px;
+  overflow: scroll;
+  flex: 1;
+  margin-bottom: 0px;
 }
 </style>
 
@@ -1037,16 +1047,16 @@ table.fixed-table th .rz-handle.rz-handle-active {
 <style scoped>
 /** 修复分页的样式 By YangZhiJie 2021-07-06 11:23 */
 nav >>> ul.pagination {
-    margin: 0 !important;
+  margin: 0 !important;
 }
 </style>
 
 <style scoped>
 .warning {
-    background-color: #fcf8e3 !important;
+  background-color: #fcf8e3 !important;
 }
 
 .text-center {
-    text-align: center !important;
+  text-align: center !important;
 }
 </style>

+ 9 - 2
packages/page-size-select/src/PageSizeSelect.vue

@@ -20,20 +20,27 @@ export default {
   components : {
 
   },
+  props:{
+    size:{
+      type:String,
+      default:'20',
+    },
+  },
 
   emits: ['pageSizeChanged'],
-
   data: function(){
     return {
       pageSize : 20,
     };
   },
-
   watch:{
     pageSize: function(newValue, oldValue){
       this.$emit('pageSizeChanged', newValue);
     },
   },
+  created:function(){
+    this.pageSize = this.size;
+  },
 };
 </script>