gang.huang vor 2 Jahren
Ursprung
Commit
7271e54f66
1 geänderte Dateien mit 51 neuen und 20 gelöschten Zeilen
  1. 51 20
      src/pages/subPages/order.vue

+ 51 - 20
src/pages/subPages/order.vue

@@ -81,14 +81,15 @@
             <el-button style="margin-right:10px;margin-left:0px;margin-bottom:20px" type="danger" @click="onReset">重置</el-button>
             <!-- <el-button style="margin-right:10px;margin-left:0px;margin-bottom:20px" type="warning" @click="onExport">统计</el-button> -->
             <el-button style="margin-right:10px;margin-left:0px;margin-bottom:20px" type="success" @click="onStatistics">按小时统计</el-button>
+            <el-button style="margin-right:10px;margin-left:0px;margin-bottom:20px" type="text" @click="onOpenCacheStatistics">查看上次统计结果</el-button>
         </div>
     </el-header>
    
     <el-table :data="tableData" border style="width: 1561px;font-size:13px;" v-loading="isLoading">
         <el-table-column align="center" type="index" width="50" label="序号" fixed />
-        <el-table-column align="center" prop="mch_order" width="200" label="客户单号" fixed></el-table-column>
-        <el-table-column align="center" prop="card_no" width="180" label="卡号"></el-table-column>
-        <el-table-column align="center" prop="refill_amount" label="充值面额" width="80"></el-table-column>
+        <el-table-column align="right" prop="mch_order" width="200" label="客户单号" fixed></el-table-column>
+        <el-table-column align="right" prop="card_no" width="180" label="卡号"></el-table-column>
+        <el-table-column align="right" prop="refill_amount" label="充值面额" width="80"></el-table-column>
         <el-table-column align="center" prop="card_type_name" label="充值卡类型" width="95"></el-table-column>
         <el-table-column align="center" prop="order_time" width="160" label="充值时间"></el-table-column>
         <el-table-column align="center" prop="diff_time_text" width="85" label="耗时"></el-table-column>
@@ -102,14 +103,14 @@
             </template>
         </el-table-column>
         <!-- <el-table-column align="center" prop="official_sn" label="批次号"></el-table-column> -->
-        <el-table-column align="center" prop="order_sn" width="185" label="椰林单号"></el-table-column>
+        <el-table-column align="right" prop="order_sn" width="185" label="椰林单号"></el-table-column>
         <el-table-column prop="official_sn" width="280" label="官方流水号">
             <template slot-scope="{row}">
                 {{row.official_sn ? row.official_sn : '无'}}
             </template>
         </el-table-column>
-        <el-table-column align="center" prop="mch_amount" label="扣款" width="70"></el-table-column>
-        <el-table-column align="center" prop="err_msg" label="失败原因" width="300"></el-table-column>
+        <el-table-column align="right" prop="mch_amount" label="扣款" width="100"></el-table-column>
+        <el-table-column align="left" prop="err_msg" label="失败原因" width="300"></el-table-column>
     </el-table>
     <el-row style="margin-top:10px;" type="flex" justify="end">
         <el-pagination background layout="prev, pager, next" :total="total" :page-size="pageSize" :current-page="pageNumber" @current-change="onPageChange"></el-pagination>
@@ -118,18 +119,21 @@
 
 
     <el-dialog 
-        title="统计"
+        :title="`统计(${showCacheTableData? `${statisticsCacheDate[0]}-${statisticsCacheDate[1]}` : formatSelectDate})`"
         :visible.sync="statisticsDialogShow"
-        width="80%"
+        width="50%"
+        @closed="showCacheTableData = false"
     >
         <el-table
-            :data="statisticsTableData"
+            border
+            v-loading="statisticsLoading"
+            :data="showCacheTableData?statisticsCacheTableData :statisticsTableData"
         >
-            <el-table-column align="center" prop="date" label="日期"></el-table-column>
-            <el-table-column align="center" prop="successOrders" label="成功单量"></el-table-column>
-            <el-table-column align="center" prop="successPrices" label="成功金额"></el-table-column>
-            <el-table-column align="center" prop="failOrders" label="失败单量"></el-table-column>
-            <el-table-column align="center" prop="abnormalOrders" label="异常单子"></el-table-column>
+            <el-table-column align="right" prop="date" label="日期"></el-table-column>
+            <el-table-column align="right" prop="successOrders" label="成功单量"></el-table-column>
+            <el-table-column align="right" prop="successPrices" label="成功金额"></el-table-column>
+            <el-table-column align="right" prop="failOrders" label="失败单量"></el-table-column>
+            <el-table-column align="right" prop="abnormalOrders" label="异常单量"></el-table-column>
         </el-table>
     </el-dialog>
 
@@ -150,6 +154,14 @@ export default {
     name: 'order',
     data() {
         return {
+            // 是否显示统计的缓存数据
+            showCacheTableData:false,
+            // 缓存统计数据
+            statisticsCacheTableData:[],
+             // 缓存统计数据的日期
+            statisticsCacheDate:[],
+            // 缓存数据加载指示
+            statisticsLoading:false,
             statisticsDialogShow:false,
             statisticsTableData:[],
             tableData: [],
@@ -199,6 +211,14 @@ export default {
         this.getOrderList()
         this.queryList()
     },
+    computed:{
+        formatSelectDate(){
+            if(this.dataRange[0] && this.dataRange[1]) {
+                return `${moment(this.dataRange[0]).format('YYYY-MM-DD HH:mm:ss')} - ${moment(this.dataRange[1]).format('YYYY-MM-DD HH:mm:ss')}` 
+            } 
+            return '';
+        }
+    },
     // 监听器
     watch: {
         dataRange(newVal) {
@@ -267,6 +287,14 @@ export default {
             console.log('formatStatisticsTableData',statisticsArr);
             return statisticsArr;
         },
+        onOpenCacheStatistics(){
+            if(this.statisticsCacheDate.length == 0) {
+                this.$message.info('暂无查询记录')
+                return;
+            }
+             this.statisticsDialogShow = true;
+             this.showCacheTableData = true;
+        },
        async onStatistics(){
             if (this.dataRange == null || !this.dataRange[0] || !this.dataRange[1]) {
                 this.startTime = ''
@@ -284,7 +312,7 @@ export default {
                 this.endTime = this.dataRange[1]/1000 || ''
             }   
             this.statisticsDialogShow = true;
-            this.isLoading = true
+            this.statisticsLoading = true
             try {
                 let param = new URLSearchParams()
                 param.append('stat', true)
@@ -302,14 +330,17 @@ export default {
                 const res = await queryList(param)
                 console.log('统计', res);
                 if (res && res.code == 200) {
-                    this.statisticsTableData = this.formatStatisticsTableData(res.datas)
+                    this.statisticsTableData = this.formatStatisticsTableData(res.datas);
+                    this.statisticsCacheTableData = this.formatStatisticsTableData(res.datas);
+                    this.statisticsCacheDate = [moment(this.dataRange[0]).format('YYYY-MM-DD HH:mm:ss') ,moment(this.dataRange[1]).format('YYYY-MM-DD HH:mm:ss')]
+
                     // this.tableData = res.datas.data
                     // this.total = res.datas.total * this.pageSize
                 }
-                this.isLoading = false
+                this.statisticsLoading = false
             } catch (error) {
                 console.log(error);
-                this.isLoading = false
+                this.statisticsLoading = false
             }
         },
         // 获取订单列表
@@ -449,8 +480,8 @@ export default {
            if (!this.mch_order || !this.order_sn || !this.mch_order) {
             //  let timeStart =  (new Date(`${y}/${m}/${d} ${hend}:${mm}:${s}`)).getTime()
             let timeEnd = (new Date(`${p}/${p}/${p} ${p}:${p}:${p}`)).getTime()
-            this.dataRange[0] = new Date(moment(new Date()).format('YYYY-MM-DD 00:00:00')).getTime()
-            this.dataRange[1] = timeEnd
+            this.dataRange[0] =  new Date(moment(new Date()).format('YYYY-MM-DD 00:00:00')).getTime()
+            this.dataRange[1] =  new Date(moment().add('days', 1).format('YYYY-MM-DD 00:00:00')).getTime() 
             console.log('fetchData',this.dataRange,timeEnd)
            } else {
             let timeStart =  (new Date(`${y}/${m}/${d} ${h}:${mm}:${s}`)).getTime()