소스 검색

🐛 fix(item): separate loading states for main table and dialog

Shinohara Haruna 6 달 전
부모
커밋
4e16ee20ec
1개의 변경된 파일8개의 추가작업 그리고 7개의 파일을 삭제
  1. 8 7
      smsb-plus-ui/src/views/smsb/item/index.vue

+ 8 - 7
smsb-plus-ui/src/views/smsb/item/index.vue

@@ -70,7 +70,7 @@
     </transition>
 
     <el-card shadow="never">
-      <el-table v-loading="loading" :data="itemList" @selection-change="handleSelectionChange">
+      <el-table v-loading="mainLoading" :data="itemList" @selection-change="handleSelectionChange">
         <el-table-column type="selection" width="55" header-align="center" />
         <el-table-column label="ID" header-align="left" prop="id" v-if="true" width="180"
           :show-overflow-tooltip="true" />
@@ -114,7 +114,7 @@
           <!-- 界面名称输入框 -->
           <el-input v-model="itemName" placeholder="请输入轮播组名称" class="interface-input"></el-input>
 
-          <el-table ref="fileTable" :data="minioDataList" reserve-selection row-key="id"
+          <el-table v-loading="dialogLoading" ref="fileTable" :data="minioDataList" reserve-selection row-key="id"
             @selection-change="handleSelectionFile" @select="handleSelect" @select-all="handleSelectAll">
             <el-table-column type="selection" width="55" header-align="center" />
             <el-table-column label="类型" header-align="center" prop="type" width="80">
@@ -308,7 +308,8 @@ const { smsb_item_type, smsb_split_screen, smsb_source_type, smsb_yes_no } = toR
 
 const itemList = ref<ItemVO[]>([]);
 const buttonLoading = ref(false);
-const loading = ref(true);
+const mainLoading = ref(true); // 主表 loading
+const dialogLoading = ref(false); // dialog loading
 const showSearch = ref(true);
 const ids = ref<Array<string | number>>([]);
 const single = ref(true);
@@ -381,7 +382,7 @@ const dialogQueryParams = ref({
 
 /** 查询节目管理列表 */
 const getList = async () => {
-  loading.value = true;
+  mainLoading.value = true;
   try {
     const res = await listItem(proxy?.addDateRange(queryParams.value, dateRangeCreateTime.value, 'CreateTime'));
     console.log('getList result:', res);
@@ -390,12 +391,12 @@ const getList = async () => {
   } catch (e: any) {
     proxy?.$modal.msgError(e?.message || '获取列表失败');
   } finally {
-    loading.value = false;
+    mainLoading.value = false;
   }
 };
 /** 查询文件资源列表 */
 const getFileList = async () => {
-  loading.value = true;
+  dialogLoading.value = true;
   try {
     const res = await listMinioData(dialogQueryParams.value);
     minioDataList.value = res.rows.map((data) => ({
@@ -415,7 +416,7 @@ const getFileList = async () => {
       }
     });
   } finally {
-    loading.value = false;
+    dialogLoading.value = false;
   }
 };