浏览代码

fix:“修复优化订单导出功能”

soobin 1 年之前
父节点
当前提交
44eb8919dc
共有 1 个文件被更改,包括 68 次插入23 次删除
  1. 68 23
      src/views/orderExport/index.vue

+ 68 - 23
src/views/orderExport/index.vue

@@ -53,8 +53,9 @@
             </div>
           </div>
           <!-- <van-pull-refresh disabled v-model="refreshing" @refresh="onRefresh"> -->
-          <van-list v-model:loading="loading" v-model:error="error" :finished="finished"
-            :finished-text="$t('public.noMore')" @load="onLoad" offset="300" immediate-check="false">
+          <van-list v-model:loading="loading" v-model:error="error" :error-text="$t('public.requestFailed')"
+            :finished="finished" :finished-text="$t('public.noMore')" @load="onLoad"
+            :immediate-check="false">
             <div v-for="(item, index) in tableData" :key="index" class="orderItem">
               <div class="mod9 flex-row">
                 <span class="info7">&yen;</span>
@@ -144,6 +145,8 @@ import { useI18n } from "vue-i18n";
 import kDialog from "@/components/commom/kDialog/index.vue";
 import moment from 'moment';
 import { styleUrl } from "../../common/js/utils";
+import { Toast } from "vant";
+
 export default {
   name: "orderExport",
   components: { sHeader, dateSelectList, kTabs, kDialog },
@@ -151,12 +154,15 @@ export default {
     // 分页
     const pageNo = ref(1);
     const pageSize = ref(10);
-    let ruleData = reactive({
-      tableData: [],
-    });
+    // let ruleData = reactive({
+    //   tableData: [],
+    // });
+    const tableData = ref([]);
+    const orderTotal = ref(0);
     // 上拉刷新
     const loading = ref(true);
     const finished = ref(false);
+    const error = ref(false);
     // 下拉刷新
     // const refreshing = ref(false);
     const user = getLoginUser();
@@ -170,8 +176,10 @@ export default {
     onMounted(() => {
       // 加载样式
       styleUrl('orderExport');
-      ruleData.tableData = [];
+      // ruleData.tableData = [];
+      tableData.value = [];
       pageNo.value = 1;
+      pageSize.value = 10;
       // 今日
       searchParams.startDate = moment().format("YYYY-MM-DD") + " 00:00:00";
       searchParams.endDate = moment().format("YYYY-MM-DD") + " 23:59:59";
@@ -199,12 +207,14 @@ export default {
       // if (!finished.value) {
       //   console.log("1");
       if (!finished.value) {
-        pageNo.value = pageNo.value + 1;
+        console.log("加载中")
+        pageNo.value = pageNo.value + pageSize.value;
         getList();
       }
     };
     // 获取列表数据
     const getList = async () => {
+      loading.value = true;
       finished.value = false;
       // 如果存在chartType去掉
       if (searchParams.chartType) {
@@ -214,21 +224,48 @@ export default {
         current: pageNo.value,
         size: pageSize.value,
       };
-      getOrderList(Object.assign(param, searchParams)).then((res) => {
-        const { data } = res.data;
-        console.log('data的值是 >>>', data)
-        if (data) {
-          // refreshing.value = false;
-          ruleData.tableData.push(...data.records);
-          console.log(ruleData.tableData.length);
-          // 加载状态结束
-          loading.value = false;
-          if (ruleData.tableData.length < data.size) {
+      const { data } = await getOrderList(Object.assign(param, searchParams));
+      if (data.code === "00000") {
+        if (data.data.total === 0) {
+          finished.value = true;
+        } else {
+          if (param.current === 1) {
+            tableData.value = [];
+            orderTotal.value = 0;
+          }
+          // 列表值叠加
+          if (data.data.records.length > 0) {
+            tableData.value = tableData.value.concat(data.data.records);
+            orderTotal.value = data.data.records.length + orderTotal.value;
+            if (orderTotal.value === data.data.total) {
+              finished.value = true;
+            }
+          } else {
             finished.value = true;
           }
         }
-      });
+        loading.value = false;
+      } else {
+        loading.value = false;
+        Toast.fail("数据加载失败");
+      }
     };
+    // getOrderList(Object.assign(param, searchParams)).then((res) => {
+    //   const { data } = res.data;
+    //   console.log('data的值是 >>>', data)
+    //   if (data) {
+    //     // refreshing.value = false;
+    //     ruleData.tableData.push(...data.records);
+    //     console.log("数据长度:", ruleData.tableData.length);
+    //     console.log("数据量:", data.total);
+    //     // 加载状态结束
+    //     loading.value = false;
+    //     if (ruleData.tableData.length === data.total) {
+    //       finished.value = true;
+    //     }
+    //   }
+    // });
+    // };
     // 引入语言
     const { t } = useI18n();
     // 大陆或海外弹窗
@@ -247,11 +284,11 @@ export default {
     const changeTypePopList = [
       {
         name: t('orderExport.searchPop.mainland'),
-        id: 1,
+        id: "0",
       },
       {
         name: t('orderExport.searchPop.overseas'),
-        id: 0,
+        id: "1",
       },
     ];
     // 点击弹窗的确定按钮
@@ -290,6 +327,7 @@ export default {
       ifForeign: "0",
       ifForeignName: "大陆",
       companyType: "",
+      companyTypeName: "全部",
     });
     // 点击筛选条件的清空条件按钮
     const cancelClk = () => {
@@ -305,6 +343,7 @@ export default {
       searchParams.username = searchForm.busiName;
       searchParams.ifForeign = searchForm.ifForeign;
       searchParams.companyType = searchForm.companyType;
+      tableData.value = [];
       getList();
     };
     // 商户设备tab栏
@@ -339,7 +378,8 @@ export default {
     const tabChg = (e) => {
       pageNo.value = 1;
       pageSize.value = 10;
-      ruleData.tableData = [];
+      // ruleData.tableData = [];
+      tableData.value = [];
       if (e == 1) {
         searchParams.type = 1;
       } else {
@@ -363,9 +403,11 @@ export default {
     };
     // 今日、明日、本周、本月、其他时间选择回调
     const update = (uDate) => {
+      console.log("日期修改")
       pageNo.value = 1;
       pageSize.value = 10;
-      ruleData.tableData = [];
+      // ruleData.tableData = [];
+      tableData.value = [];
       searchParams = Object.assign(searchParams, uDate);
       searchParams.startDate = dateUtil.formateDate(
         new Date(searchParams.startDate),
@@ -408,11 +450,14 @@ export default {
       onLoad,
       getList,
       isAdmin,
-      ...toRefs(ruleData),
+      tableData,
+      error,
+      // ...toRefs(ruleData),
     };
   },
 };
 </script>
 <style lang="less" scoped>
 @import "../../common/style/common.less";
+@import "../../styles/orderExport/index.less";
 </style>