Sfoglia il codice sorgente

fix(strain,sterilization): 修复列表加载状态逻辑问题

1. 统一初始化和重置时的loading状态为true
2. 补全请求失败时关闭loading的逻辑
3. 简化接口返回数据的取值判断
张旭伟 1 mese fa
parent
commit
3bd041a288
2 ha cambiato i file con 16 aggiunte e 7 eliminazioni
  1. 8 3
      src/view/sterilization/index.vue
  2. 8 4
      src/view/strain/index.vue

+ 8 - 3
src/view/sterilization/index.vue

@@ -70,20 +70,23 @@ const state = reactive({
     pageNum: 1,
     pageSize: 10
   },
-  loading: false,
+  loading: true,
   finished: false,
   list: [] as any[]
 })
 
 const onLoad = async () => {
   const [err, res]: any = await to(sterilizationApi.getList(state.queryForm))
-  if (err) return
+  if (err) {
+    state.loading = false
+    return
+  }
   const list = res?.data?.list || res?.data || []
   for (const item of list) {
     state.list.push(item)
   }
-  state.loading = false
   state.queryForm.pageNum++
+  state.loading = false
   if (list.length < state.queryForm.pageSize) {
     state.finished = true
   }
@@ -93,6 +96,7 @@ const onSearch = () => {
   state.queryForm.pageNum = 1
   state.list = []
   state.finished = false
+  state.loading = true
   onLoad()
 }
 
@@ -119,6 +123,7 @@ const onDel = async (item: any) => {
     state.queryForm.pageNum = 1
     state.list = []
     state.finished = false
+    state.loading = true
     onLoad()
   }).catch(() => {})
 }

+ 8 - 4
src/view/strain/index.vue

@@ -70,7 +70,7 @@ const hasAddPerm = computed(() => {
 })
 
 const state = reactive({
-  loading: false,
+  loading: true,
   finished: false,
   list: [] as any[],
   queryForm: {
@@ -84,19 +84,23 @@ const resetList = () => {
   state.queryForm.pageNum = 1
   state.list = []
   state.finished = false
+  state.loading = true
 }
 
 const onLoad = async () => {
   const query = { ...state.queryForm }
   const api = activeTab.value === 'inbound' ? strainApi.getInboundList : strainApi.getUsageList
   const [err, res]: any = await to(api(query))
-  if (err) return
-  const list = res?.data?.list || res?.data || []
+  if (err) {
+    state.loading = false
+    return
+  }
+  const list = res?.data?.list|| []
   for (const item of list) {
     state.list.push(item)
   }
-  state.loading = false
   state.queryForm.pageNum++
+  state.loading = false
   if (list.length < state.queryForm.pageSize) {
     state.finished = true
   }