|
@@ -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="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="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="success" @click="onStatistics">按小时统计</el-button>
|
|
|
|
+ <el-button style="margin-right:10px;margin-left:0px;margin-bottom:20px" type="text" @click="onOpenCacheStatistics">查看上次统计结果</el-button>
|
|
</div>
|
|
</div>
|
|
</el-header>
|
|
</el-header>
|
|
|
|
|
|
<el-table :data="tableData" border style="width: 1561px;font-size:13px;" v-loading="isLoading">
|
|
<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" 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="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="order_time" width="160" label="充值时间"></el-table-column>
|
|
<el-table-column align="center" prop="diff_time_text" width="85" label="耗时"></el-table-column>
|
|
<el-table-column align="center" prop="diff_time_text" width="85" label="耗时"></el-table-column>
|
|
@@ -102,14 +103,14 @@
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<!-- <el-table-column align="center" prop="official_sn" label="批次号"></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="官方流水号">
|
|
<el-table-column prop="official_sn" width="280" label="官方流水号">
|
|
<template slot-scope="{row}">
|
|
<template slot-scope="{row}">
|
|
{{row.official_sn ? row.official_sn : '无'}}
|
|
{{row.official_sn ? row.official_sn : '无'}}
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</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-table>
|
|
<el-row style="margin-top:10px;" type="flex" justify="end">
|
|
<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>
|
|
<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
|
|
<el-dialog
|
|
- title="统计"
|
|
|
|
|
|
+ :title="`统计(${showCacheTableData? `${statisticsCacheDate[0]}-${statisticsCacheDate[1]}` : formatSelectDate})`"
|
|
:visible.sync="statisticsDialogShow"
|
|
:visible.sync="statisticsDialogShow"
|
|
- width="80%"
|
|
|
|
|
|
+ width="50%"
|
|
|
|
+ @closed="showCacheTableData = false"
|
|
>
|
|
>
|
|
<el-table
|
|
<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-table>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
|
|
|
@@ -150,6 +154,14 @@ export default {
|
|
name: 'order',
|
|
name: 'order',
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
|
|
+ // 是否显示统计的缓存数据
|
|
|
|
+ showCacheTableData:false,
|
|
|
|
+ // 缓存统计数据
|
|
|
|
+ statisticsCacheTableData:[],
|
|
|
|
+ // 缓存统计数据的日期
|
|
|
|
+ statisticsCacheDate:[],
|
|
|
|
+ // 缓存数据加载指示
|
|
|
|
+ statisticsLoading:false,
|
|
statisticsDialogShow:false,
|
|
statisticsDialogShow:false,
|
|
statisticsTableData:[],
|
|
statisticsTableData:[],
|
|
tableData: [],
|
|
tableData: [],
|
|
@@ -199,6 +211,14 @@ export default {
|
|
this.getOrderList()
|
|
this.getOrderList()
|
|
this.queryList()
|
|
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: {
|
|
watch: {
|
|
dataRange(newVal) {
|
|
dataRange(newVal) {
|
|
@@ -267,6 +287,14 @@ export default {
|
|
console.log('formatStatisticsTableData',statisticsArr);
|
|
console.log('formatStatisticsTableData',statisticsArr);
|
|
return statisticsArr;
|
|
return statisticsArr;
|
|
},
|
|
},
|
|
|
|
+ onOpenCacheStatistics(){
|
|
|
|
+ if(this.statisticsCacheDate.length == 0) {
|
|
|
|
+ this.$message.info('暂无查询记录')
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ this.statisticsDialogShow = true;
|
|
|
|
+ this.showCacheTableData = true;
|
|
|
|
+ },
|
|
async onStatistics(){
|
|
async onStatistics(){
|
|
if (this.dataRange == null || !this.dataRange[0] || !this.dataRange[1]) {
|
|
if (this.dataRange == null || !this.dataRange[0] || !this.dataRange[1]) {
|
|
this.startTime = ''
|
|
this.startTime = ''
|
|
@@ -284,7 +312,7 @@ export default {
|
|
this.endTime = this.dataRange[1]/1000 || ''
|
|
this.endTime = this.dataRange[1]/1000 || ''
|
|
}
|
|
}
|
|
this.statisticsDialogShow = true;
|
|
this.statisticsDialogShow = true;
|
|
- this.isLoading = true
|
|
|
|
|
|
+ this.statisticsLoading = true
|
|
try {
|
|
try {
|
|
let param = new URLSearchParams()
|
|
let param = new URLSearchParams()
|
|
param.append('stat', true)
|
|
param.append('stat', true)
|
|
@@ -302,14 +330,17 @@ export default {
|
|
const res = await queryList(param)
|
|
const res = await queryList(param)
|
|
console.log('统计', res);
|
|
console.log('统计', res);
|
|
if (res && res.code == 200) {
|
|
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.tableData = res.datas.data
|
|
// this.total = res.datas.total * this.pageSize
|
|
// this.total = res.datas.total * this.pageSize
|
|
}
|
|
}
|
|
- this.isLoading = false
|
|
|
|
|
|
+ this.statisticsLoading = false
|
|
} catch (error) {
|
|
} catch (error) {
|
|
console.log(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) {
|
|
if (!this.mch_order || !this.order_sn || !this.mch_order) {
|
|
// let timeStart = (new Date(`${y}/${m}/${d} ${hend}:${mm}:${s}`)).getTime()
|
|
// let timeStart = (new Date(`${y}/${m}/${d} ${hend}:${mm}:${s}`)).getTime()
|
|
let timeEnd = (new Date(`${p}/${p}/${p} ${p}:${p}:${p}`)).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)
|
|
console.log('fetchData',this.dataRange,timeEnd)
|
|
} else {
|
|
} else {
|
|
let timeStart = (new Date(`${y}/${m}/${d} ${h}:${mm}:${s}`)).getTime()
|
|
let timeStart = (new Date(`${y}/${m}/${d} ${h}:${mm}:${s}`)).getTime()
|