소스 검색

feat(shop-information): 优化分页和表格展示逻辑

- 优化标签页切换时的分页重置逻辑
- 移除未使用的导入和变量
WanGxC 6 달 전
부모
커밋
1bd8f17c2d
2개의 변경된 파일16개의 추가작업 그리고 14개의 파일을 삭제
  1. 1 1
      src/utils/usePagination.ts
  2. 15 13
      src/views/shop-information/components/ShopDetail.vue

+ 1 - 1
src/utils/usePagination.ts

@@ -7,7 +7,7 @@ export function usePagination(getData: Function) {
     data: [],
     total: 0,
     page: 1,
-    limit: 10,
+    limit: 15,
     loading: false
   })
   /**

+ 15 - 13
src/views/shop-information/components/ShopDetail.vue

@@ -8,21 +8,15 @@
 import { Edit, Monitor, Picture as IconPicture, RefreshLeft, Timer } from '@element-plus/icons-vue';
 import { useResponse } from '/@/utils/useResponse';
 import * as api from '/@/views/shop-information/api';
-import {
-  computerColumns,
-  historyColumns,
-  shopCurrentColumns,
-  companySelect
-} from '/@/views/shop-information/useColumns';
+import { companySelect, computerColumns, historyColumns, shopCurrentColumns } from '/@/views/shop-information/useColumns';
 import { useTableData } from '/@/utils/useTableData';
 import { usePagination } from '/@/utils/usePagination';
 import EditDrawer from './EditDrawer.vue';
-import { getOperator } from '/@/views/shop-information/api';
 import { useTableHeight } from '/@/utils/useTableHeight';
 
-const cardContainer: Ref<HTMLElement | null> = useTemplateRef('cardContainer');
-const { tableHeight } = useTableHeight(cardContainer );
 
+const cardContainer: Ref<HTMLElement | null> = useTemplateRef('cardContainer');
+const { tableHeight } = useTableHeight(cardContainer);
 
 const route = useRoute();
 const platformNumber = route.query.platformNumber as string;
@@ -96,14 +90,22 @@ async function fetchShopDetailOverview() {
 }
 
 async function handleTabChange(tabValue: any) {
-  gridOptions.pagerConfig.page = 1;
-  gridOptions.pagerConfig.limit = 10;
+  const isTabSwitch = tabValue === selectedTab.value;
+
+  // 如果是切换标签,重置分页
+  if (isTabSwitch) {
+    gridOptions.pagerConfig.page = 1;
+  }
+
   const query = {
     platformNumber,
     page: gridOptions.pagerConfig.page,
     limit: gridOptions.pagerConfig.limit
   };
-  switch (tabValue) {
+
+  const temp = tabValue ?? selectedTab.value;
+
+  switch (temp) {
     case '1':
       gridOptions.columns = shopCurrentColumns;
       await useTableData(api.getCurrentInfo, query, gridOptions);
@@ -262,7 +264,7 @@ async function fetchOperator() {
           </template>
         </vxe-grid>
       </div>
-      
+
     </el-card>
     <EditDrawer
         v-if="isOpen"