Forráskód Böngészése

refactor(Table Components): 优化表格组件的数据加载逻辑

- 移除了未使用的 API 导入
- 在多个组件中添加了对 gridOptions 和数据长度的判断,以优化性能
- 统一了表格列加载的逻辑,提高了代码的可维护性
WanGxC 5 hónapja
szülő
commit
4600ae0f44

+ 0 - 1
src/views/price-approval/components/AddPage.vue

@@ -10,7 +10,6 @@ import { CirclePlusFilled, Finished, RefreshLeft, Select } from '@element-plus/i
 import SelectDrawer from './SelectDrawer.vue';
 import { useResponse } from '/@/utils/useResponse';
 import * as api from '../api';
-import { getCurrencyCodeOptions, postDirectCreate } from '../api';
 
 
 const route = useRoute();

+ 1 - 1
src/views/product-manage/comment-detail/component/DataTable.vue

@@ -106,7 +106,7 @@ async function fetchList(isQuery = false) {
 		tiv: formInline?.tiv,
 	};
 	await useTableData(api.getTableData, query, gridOptions);
-	await gridRef.value.loadColumn(CompetitorMonitorCommentColumns);
+  if (gridOptions && gridOptions.data?.length) await gridRef.value.loadColumn(CompetitorMonitorCommentColumns);
 	gridOptions.showHeader = Boolean(gridOptions.data?.length);
 }
 

+ 1 - 1
src/views/product-manage/competitor-monitor/component/DataTable.vue

@@ -127,7 +127,7 @@ async function fetchList(isQuery = false) {
   };
 
   await useTableData(api.getTableData, query, gridOptions);
-  await gridRef.value.loadColumn(CompetitorMonitorColumns);
+  if (gridOptions && gridOptions.data?.length) await gridRef.value.loadColumn(CompetitorMonitorColumns);
 
   gridOptions.showHeader = Boolean(gridOptions.data?.length);
 }

+ 1 - 1
src/views/product-manage/historical-detail/component/DataTable.vue

@@ -84,7 +84,7 @@ async function fetchList() {
   };
 
   await useTableData(api.getTableData, query, gridOptions);
-  await gridRef.value.loadColumn(HistoricalColumns);
+  if (gridOptions && gridOptions.data?.length) await gridRef.value.loadColumn(HistoricalColumns);
   gridOptions.showHeader = Boolean(gridOptions.data?.length);
 }
 </script>

+ 1 - 1
src/views/product-manage/product-list/component/DataTable.vue

@@ -121,7 +121,7 @@ async function fetchList(isQuery = false) {
   };
 
   await useTableData(api.getTableData, query, gridOptions);
-  await gridRef.value.loadColumn(ProductColumns);
+  if (gridOptions && gridOptions.data?.length) await gridRef.value.loadColumn(ProductColumns);
   gridOptions.showHeader = Boolean(gridOptions.data?.length);
 }
 

+ 1 - 1
src/views/product-manage/product-monitor/component/DataTable.vue

@@ -124,7 +124,7 @@ async function fetchList(isQuery = false) {
   };
 
   await useTableData(api.getTableData, query, gridOptions);
-  await gridRef.value.loadColumn(ProductMonitorColumns);
+  if (gridOptions && gridOptions.data?.length) await gridRef.value.loadColumn(ProductMonitorColumns);
   gridOptions.showHeader = Boolean(gridOptions.data?.length);
 }
 

+ 1 - 1
src/views/sku-manage/company-sku/component/DataTable.vue

@@ -106,7 +106,7 @@ async function fetchList(isQuery = false) {
   };
 
   await useTableData(api.getTableData, query, gridOptions);
-  await gridRef.value.loadColumn(CompanySkuColumns);
+  if (gridOptions && gridOptions.data?.length) await gridRef.value.loadColumn(CompanySkuColumns);
   gridOptions.showHeader = Boolean(gridOptions.data?.length);
 }
 

+ 1 - 1
src/views/sku-manage/product-attribute/component/DataTable.vue

@@ -103,7 +103,7 @@ async function fetchList(isQuery = false) {
   };
 
   await useTableData(api.getTableData, query, gridOptions);
-  await gridRef.value.loadColumn(AttributeColumns);
+  if (gridOptions && gridOptions.data?.length) await gridRef.value.loadColumn(AttributeColumns);
   gridOptions.showHeader = Boolean(gridOptions.data?.length);
 }
 

+ 1 - 1
src/views/sku-manage/product-brand/component/DataTable.vue

@@ -95,7 +95,7 @@ async function fetchList(isQuery = false) {
   };
 
   await useTableData(api.getTableData, query, gridOptions);
-  await gridRef.value.loadColumn(ProductBrandColumns);
+  if (gridOptions && gridOptions.data?.length) await gridRef.value.loadColumn(ProductBrandColumns);
   gridOptions.showHeader = Boolean(gridOptions.data?.length);
 }
 

+ 1 - 1
src/views/sku-manage/product-category/component/DataTable.vue

@@ -100,7 +100,7 @@ async function fetchList(isQuery = false) {
   };
 
   await useTableData(api.getTableData, query, gridOptions);
-  await gridRef.value.loadColumn(ProductCategoryColumns);
+  if (gridOptions && gridOptions.data?.length) await gridRef.value.loadColumn(ProductCategoryColumns);
   gridOptions.showHeader = Boolean(gridOptions.data?.length);
 }
 

+ 1 - 1
src/views/store-manage/market-store/component/DataTable.vue

@@ -89,7 +89,7 @@ async function fetchList(isQuery = false) {
   };
 
   await useTableData(api.getTableData, query, gridOptions);
-  await gridRef.value.loadColumn(MarketStoreColumns);
+  if (gridOptions && gridOptions.data?.length) await gridRef.value.loadColumn(MarketStoreColumns);
   gridOptions.showHeader = Boolean(gridOptions.data?.length);
 }
 

+ 1 - 1
src/views/store-manage/online-merchandise/component/DataTable.vue

@@ -99,7 +99,7 @@ async function fetchList(isQuery = false) {
   };
 
   await useTableData(api.getTableData, query, gridOptions);
-  await gridRef.value.loadColumn(OnlineMerchandiseColumns);
+  if (gridOptions && gridOptions.data?.length) await gridRef.value.loadColumn(OnlineMerchandiseColumns);
   gridOptions.showHeader = Boolean(gridOptions.data?.length);
 }