|
@@ -14,73 +14,178 @@
|
|
|
报表导出
|
|
|
</el-button> -->
|
|
|
<div class="btnList">
|
|
|
- <ExportChiose v-permission="{ child: 'export/orderList', parent: '/income' }"
|
|
|
- style="margin-bottom: 20px;margin-right:10px;" name="订单汇总导出" ExportEnum="ORDER_LIST_SUM"
|
|
|
- :exportData="onOrderExport" fileName="订单汇总" errorMsg="请选择月份" :isDownList="true" />
|
|
|
- <ExportChiose v-permission="{ child: 'export/orderList', parent: '/income' }"
|
|
|
- style="margin-bottom: 20px;margin-right:10px;" name="报表导出" ExportEnum="ORDER_LIST1" :exportData="onOrderExport"
|
|
|
- fileName="订单报表导出" errorMsg="请选择月份" :isDownList="true" />
|
|
|
+ <ExportChiose
|
|
|
+ v-permission="{ child: 'export/orderList', parent: '/income' }"
|
|
|
+ style="margin-bottom: 20px;margin-right:10px;"
|
|
|
+ name="订单汇总导出"
|
|
|
+ ExportEnum="ORDER_LIST_SUM"
|
|
|
+ :exportData="onOrderExport"
|
|
|
+ fileName="订单汇总"
|
|
|
+ errorMsg="请选择月份"
|
|
|
+ :isDownList="true"
|
|
|
+ />
|
|
|
+ <ExportChiose
|
|
|
+ v-permission="{ child: 'export/orderList', parent: '/income' }"
|
|
|
+ style="margin-bottom: 20px;margin-right:10px;"
|
|
|
+ name="报表导出"
|
|
|
+ ExportEnum="ORDER_LIST1"
|
|
|
+ :exportData="onOrderExport"
|
|
|
+ fileName="订单报表导出"
|
|
|
+ errorMsg="请选择月份"
|
|
|
+ :isDownList="true"
|
|
|
+ />
|
|
|
|
|
|
- <ExportChiose v-permission="{ child: 'export/MALL_ORDER_LIST', parent: '/income' }" style="margin-bottom: 20px"
|
|
|
- name="商城订单导出" ExportEnum="MALL_ORDER_LIST" :exportData="onOrderExport" fileName="商城订单导出" errorMsg="请选择月份"
|
|
|
- :isDownList="true" />
|
|
|
+ <ExportChiose
|
|
|
+ v-permission="{ child: 'export/MALL_ORDER_LIST', parent: '/income' }"
|
|
|
+ style="margin-bottom: 20px"
|
|
|
+ name="商城订单导出"
|
|
|
+ ExportEnum="MALL_ORDER_LIST"
|
|
|
+ :exportData="onOrderExport"
|
|
|
+ fileName="商城订单导出"
|
|
|
+ errorMsg="请选择月份"
|
|
|
+ :isDownList="true"
|
|
|
+ />
|
|
|
</div>
|
|
|
|
|
|
<!-- 搜索类型 -->
|
|
|
- <save-form :inline="true" class="searchForm" :model="searchForm" @submit="search" @reset="onReSet">
|
|
|
+ <save-form
|
|
|
+ :inline="true"
|
|
|
+ class="searchForm"
|
|
|
+ :model="searchForm"
|
|
|
+ @submit="search"
|
|
|
+ @reset="onReSet"
|
|
|
+ >
|
|
|
<el-form-item>
|
|
|
- <el-input placeholder="学生编号/姓名/手机号" type="text" clearable v-model.trim="searchForm.search"></el-input>
|
|
|
+ <el-input
|
|
|
+ placeholder="学生编号/姓名/手机号"
|
|
|
+ type="text"
|
|
|
+ clearable
|
|
|
+ v-model.trim="searchForm.search"
|
|
|
+ ></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
- <el-input placeholder="交易流水号" clearable type="text" v-model.trim="searchForm.transNo"></el-input>
|
|
|
+ <el-input
|
|
|
+ placeholder="交易流水号"
|
|
|
+ clearable
|
|
|
+ type="text"
|
|
|
+ v-model.trim="searchForm.transNo"
|
|
|
+ ></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
- <el-input placeholder="订单号" clearable type="text" v-model.trim="searchForm.orderNo"></el-input>
|
|
|
+ <el-input
|
|
|
+ placeholder="订单号"
|
|
|
+ clearable
|
|
|
+ type="text"
|
|
|
+ v-model.trim="searchForm.orderNo"
|
|
|
+ ></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
- <el-input placeholder="收款账户" clearable type="text" v-model.trim="searchForm.merNos"></el-input>
|
|
|
+ <el-input
|
|
|
+ placeholder="收款账户"
|
|
|
+ clearable
|
|
|
+ type="text"
|
|
|
+ v-model.trim="searchForm.merNos"
|
|
|
+ ></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
- <el-input placeholder="余额支付大于等于" clearable type="number" @mousewheel.native.prevent
|
|
|
- v-model.trim="searchForm.balancePaymentAmount"></el-input>
|
|
|
+ <el-input
|
|
|
+ placeholder="余额支付大于等于"
|
|
|
+ clearable
|
|
|
+ type="number"
|
|
|
+ @mousewheel.native.prevent
|
|
|
+ v-model.trim="searchForm.balancePaymentAmount"
|
|
|
+ ></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
- <el-input placeholder="余额支付小于等于" clearable type="number" @mousewheel.native.prevent
|
|
|
- v-model.trim="searchForm.lessBalancePaymentAmount"></el-input>
|
|
|
+ <el-input
|
|
|
+ placeholder="余额支付小于等于"
|
|
|
+ clearable
|
|
|
+ type="number"
|
|
|
+ @mousewheel.native.prevent
|
|
|
+ v-model.trim="searchForm.lessBalancePaymentAmount"
|
|
|
+ ></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
- <el-input placeholder="现金支付大于等于" clearable type="number" @mousewheel.native.prevent
|
|
|
- v-model.trim="searchForm.actualAmount"></el-input>
|
|
|
+ <el-input
|
|
|
+ placeholder="现金支付大于等于"
|
|
|
+ clearable
|
|
|
+ type="number"
|
|
|
+ @mousewheel.native.prevent
|
|
|
+ v-model.trim="searchForm.actualAmount"
|
|
|
+ ></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
- <el-input placeholder="现金支付小于等于" clearable type="number" @mousewheel.native.prevent
|
|
|
- v-model.trim="searchForm.lessActualAmount"></el-input>
|
|
|
+ <el-input
|
|
|
+ placeholder="现金支付小于等于"
|
|
|
+ clearable
|
|
|
+ type="number"
|
|
|
+ @mousewheel.native.prevent
|
|
|
+ v-model.trim="searchForm.lessActualAmount"
|
|
|
+ ></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item prop="organId">
|
|
|
- <el-select class="multiple" v-model.trim="searchForm.organId" filterable collapse-tags clearable multiple
|
|
|
- @clear="onClear('organId')" placeholder="请选择分部">
|
|
|
- <el-option v-for="(item, index) in selects.branchs" :key="index" :label="item.name"
|
|
|
- :value="item.id"></el-option>
|
|
|
+ <el-select
|
|
|
+ class="multiple"
|
|
|
+ v-model.trim="searchForm.organId"
|
|
|
+ filterable
|
|
|
+ collapse-tags
|
|
|
+ clearable
|
|
|
+ multiple
|
|
|
+ @clear="onClear('organId')"
|
|
|
+ placeholder="请选择分部"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in selects.branchs"
|
|
|
+ :key="index"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.id"
|
|
|
+ ></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
- <el-date-picker v-model="searchForm.orderDate" style="width: 410px" type="daterange" value-format="yyyy-MM-dd"
|
|
|
- range-separator="至" :picker-options="{
|
|
|
+ <el-date-picker
|
|
|
+ v-model="searchForm.orderDate"
|
|
|
+ style="width: 410px"
|
|
|
+ type="daterange"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ range-separator="至"
|
|
|
+ :picker-options="{
|
|
|
firstDayOfWeek: 1
|
|
|
- }" start-placeholder="订单开始日期" end-placeholder="订单结束日期"></el-date-picker>
|
|
|
+ }"
|
|
|
+ start-placeholder="订单开始日期"
|
|
|
+ end-placeholder="订单结束日期"
|
|
|
+ ></el-date-picker>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
- <el-select v-model.trim="searchForm.paymentType" clearable filterable @clear="onClear('paymentType')"
|
|
|
- placeholder="交易类型">
|
|
|
- <el-option v-for="(item, index) in orderStatus" :key="index" :label="item.label"
|
|
|
- :value="item.value"></el-option>
|
|
|
+ <el-select
|
|
|
+ v-model.trim="searchForm.paymentType"
|
|
|
+ clearable
|
|
|
+ filterable
|
|
|
+ @clear="onClear('paymentType')"
|
|
|
+ placeholder="交易类型"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in orderStatus"
|
|
|
+ :key="index"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
+ ></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
- <el-select v-model.trim="searchForm.paymentStatus" clearable filterable @clear="onClear('paymentStatus')"
|
|
|
- placeholder="交易状态">
|
|
|
- <el-option v-for="(item, index) in dealStatus" :key="index" :label="item.label"
|
|
|
- :value="item.value"></el-option>
|
|
|
+ <el-select
|
|
|
+ v-model.trim="searchForm.paymentStatus"
|
|
|
+ clearable
|
|
|
+ filterable
|
|
|
+ @clear="onClear('paymentStatus')"
|
|
|
+ placeholder="交易状态"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in dealStatus"
|
|
|
+ :key="index"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
+ ></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
@@ -102,35 +207,64 @@
|
|
|
实收金额=应收总额(包含余额支付)
|
|
|
预收金额=充值总额(发生消费,记负数)
|
|
|
预收余额=充值总余额 -->
|
|
|
- 营收金额:{{ totalRevenueAmount | moneyFormat }}元<i style="width: 10px; display: inline-block"></i>
|
|
|
- 实收金额:{{ totalActualAmount | moneyFormat }}元<i style="width: 10px; display: inline-block"></i>
|
|
|
- 预收金额:{{ totalAdvanceAmount | moneyFormat }}元<i style="width: 10px; display: inline-block"></i>
|
|
|
+ 营收金额:{{ totalRevenueAmount | moneyFormat }}元<i
|
|
|
+ style="width: 10px; display: inline-block"
|
|
|
+ ></i>
|
|
|
+ 实收金额:{{ totalActualAmount | moneyFormat }}元<i
|
|
|
+ style="width: 10px; display: inline-block"
|
|
|
+ ></i>
|
|
|
+ 预收金额:{{ totalAdvanceAmount | moneyFormat }}元<i
|
|
|
+ style="width: 10px; display: inline-block"
|
|
|
+ ></i>
|
|
|
预收余额:{{ totalUserBalance | moneyFormat }}元
|
|
|
</div>
|
|
|
<div class="tableWrap">
|
|
|
- <el-table :data="tableList" :header-cell-style="{ background: '#EDEEF0', color: '#444' }">
|
|
|
- <el-table-column align="center" prop="transNo" label="所属分部" v-if="tenantId != 28">
|
|
|
+ <el-table
|
|
|
+ :data="tableList"
|
|
|
+ :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
|
|
|
+ >
|
|
|
+ <el-table-column
|
|
|
+ align="center"
|
|
|
+ prop="transNo"
|
|
|
+ label="所属分部"
|
|
|
+ v-if="tenantId != 28"
|
|
|
+ >
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
<copy-text>{{ scope.row.organName }}</copy-text>
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column align="center" width="100px" prop="transNo" label="交易流水号">
|
|
|
+ <el-table-column
|
|
|
+ align="center"
|
|
|
+ width="100px"
|
|
|
+ prop="transNo"
|
|
|
+ label="交易流水号"
|
|
|
+ >
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
<copy-text>{{ scope.row.transNo }}</copy-text>
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column align="center" width="100px" prop="orderNo" label="订单号">
|
|
|
+ <el-table-column
|
|
|
+ align="center"
|
|
|
+ width="100px"
|
|
|
+ prop="orderNo"
|
|
|
+ label="订单号"
|
|
|
+ >
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
<copy-text>{{ scope.row.orderNo }}</copy-text>
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column align="center" width="150" prop="createTime" label="订单日期">
|
|
|
+ <el-table-column
|
|
|
+ align="center"
|
|
|
+ width="150"
|
|
|
+ prop="createTime"
|
|
|
+ label="订单日期"
|
|
|
+ >
|
|
|
<template slot-scope="scope">{{
|
|
|
scope.row.createTime | dateForMinFormat
|
|
|
}}</template>
|
|
@@ -145,7 +279,7 @@
|
|
|
<div>
|
|
|
{{
|
|
|
(scope.row.couponRemitFee + scope.row.expectAmount)
|
|
|
- | moneyFormat
|
|
|
+ | moneyFormat
|
|
|
}}
|
|
|
</div>
|
|
|
</template>
|
|
@@ -165,7 +299,11 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
|
|
|
- <el-table-column align="center" prop="balancePaymentAmount" label="余额支付">
|
|
|
+ <el-table-column
|
|
|
+ align="center"
|
|
|
+ prop="balancePaymentAmount"
|
|
|
+ label="余额支付"
|
|
|
+ >
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
{{ scope.row.balancePaymentAmount | moneyFormat }}
|
|
@@ -182,14 +320,21 @@
|
|
|
<el-table-column align="center" label="学员姓名" width="150px">
|
|
|
<template slot-scope="scope">
|
|
|
<copy-text v-if="scope.row.user.username">
|
|
|
- {{ scope.row.user.username }}</copy-text>
|
|
|
- <span v-if="scope.row.user.username && scope.row.user.phone">/</span>
|
|
|
+ {{ scope.row.user.username }}</copy-text
|
|
|
+ >
|
|
|
+ <span v-if="scope.row.user.username && scope.row.user.phone"
|
|
|
+ >/</span
|
|
|
+ >
|
|
|
<copy-text v-if="scope.row.user.phone">
|
|
|
{{ scope.row.user.phone }}
|
|
|
</copy-text>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column align="center" prop="paymentChannel" label="交易方式">
|
|
|
+ <el-table-column
|
|
|
+ align="center"
|
|
|
+ prop="paymentChannel"
|
|
|
+ label="交易方式"
|
|
|
+ >
|
|
|
<template slot-scope="scope">{{
|
|
|
scope.row.paymentChannel | paymentChannelStatus
|
|
|
}}</template>
|
|
@@ -210,14 +355,26 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column align="center" width="150px" label="操作">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-button v-if="scope.row.status != 'SUCCESS' && scope.row.actualAmount > 0
|
|
|
- " v-permission="'order/getOrderStatus'" @click="onGetOrderStatus(scope.row)"
|
|
|
- type="text">查询订单状态</el-button>
|
|
|
+ <el-button
|
|
|
+ v-if="
|
|
|
+ scope.row.status != 'SUCCESS' && scope.row.actualAmount > 0
|
|
|
+ "
|
|
|
+ v-permission="'order/getOrderStatus'"
|
|
|
+ @click="onGetOrderStatus(scope.row)"
|
|
|
+ type="text"
|
|
|
+ >查询订单状态</el-button
|
|
|
+ >
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
- <pagination sync :total.sync="pageInfo.total" :page.sync="pageInfo.page" :limit.sync="pageInfo.limit"
|
|
|
- :page-sizes="pageInfo.page_size" @pagination="getList" />
|
|
|
+ <pagination
|
|
|
+ sync
|
|
|
+ :total.sync="pageInfo.total"
|
|
|
+ :page.sync="pageInfo.page"
|
|
|
+ :limit.sync="pageInfo.limit"
|
|
|
+ :page-sizes="pageInfo.page_size"
|
|
|
+ @pagination="getList"
|
|
|
+ />
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -284,7 +441,8 @@ export default {
|
|
|
this.$store.dispatch("setBranchs");
|
|
|
if (this.$route.params?.orderNo || this.$route.query?.orderNo) {
|
|
|
this.searchForm.orderDate = [];
|
|
|
- this.searchForm.orderNo = this.$route.params.orderNo || this.$route.query?.orderNo;
|
|
|
+ this.searchForm.orderNo =
|
|
|
+ this.$route.params.orderNo || this.$route.query?.orderNo;
|
|
|
this.searchForm.paymentStatus = null;
|
|
|
}
|
|
|
this.getList();
|
|
@@ -451,7 +609,7 @@ export default {
|
|
|
this.getList();
|
|
|
});
|
|
|
})
|
|
|
- .catch(err => { });
|
|
|
+ .catch(err => {});
|
|
|
},
|
|
|
onReSet() {
|
|
|
// 重置搜索
|