|
@@ -28,6 +28,15 @@
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
+ <el-form-item label="票务名称">
|
|
|
+ <el-input
|
|
|
+ v-model="queryParams.goodsName"
|
|
|
+ placeholder="请输入票务名称"
|
|
|
+ clearable
|
|
|
+ style="width: 240px;"
|
|
|
+ @keyup.enter.native="handleQuery"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
<el-form-item label="订单状态">
|
|
|
<el-select
|
|
|
v-model="queryParams.status"
|
|
@@ -50,16 +59,23 @@
|
|
|
clearable
|
|
|
style="width: 100%"
|
|
|
>
|
|
|
- <el-option
|
|
|
+ <!-- <el-option
|
|
|
v-for="dict in sourceMapList"
|
|
|
:key="dict.value"
|
|
|
:label="dict.name"
|
|
|
:value="dict.value"
|
|
|
+ /> -->
|
|
|
+ <el-option
|
|
|
+ v-for="dict in dict.type.order_form_type"
|
|
|
+ :key="dict.value"
|
|
|
+ :label="dict.label"
|
|
|
+ :value="dict.value"
|
|
|
/>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="支付时间">
|
|
|
<el-date-picker
|
|
|
+ style="width: 230px;"
|
|
|
v-model="queryParams.time"
|
|
|
type="daterange"
|
|
|
value-format="yyyy-MM-dd"
|
|
@@ -68,6 +84,42 @@
|
|
|
end-placeholder="结束日期">
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
|
+ <el-form-item label="下单时间">
|
|
|
+ <el-date-picker
|
|
|
+ style="width: 230px;"
|
|
|
+ v-model="queryParams.createTime"
|
|
|
+ type="daterange"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ range-separator="至"
|
|
|
+ start-placeholder="开始日期"
|
|
|
+ end-placeholder="结束日期">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="场次时间">
|
|
|
+ <el-date-picker
|
|
|
+ style="width: 230px;"
|
|
|
+ v-model="queryParams.performDate"
|
|
|
+ @change="pagePerformTimeListFun"
|
|
|
+ type="date"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ placeholder="选择日期">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="场次">
|
|
|
+ <el-select
|
|
|
+ v-model="queryParams.performTimeId"
|
|
|
+ placeholder="场次"
|
|
|
+ clearable
|
|
|
+ style="width: 100%"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="dict in pagePerformTimeList"
|
|
|
+ :key="dict.id"
|
|
|
+ :label="dict.timeSnapshot"
|
|
|
+ :value="dict.id"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
<el-form-item>
|
|
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
|
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
|
@@ -75,6 +127,17 @@
|
|
|
</el-form>
|
|
|
|
|
|
<el-row :gutter="10" class="mb8">
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ size="mini"
|
|
|
+ icon="el-icon-download"
|
|
|
+ v-hasPermi="['order:orderMr:downloadExcel']"
|
|
|
+ @click="handleExport"
|
|
|
+ v-loading.fullscreen.lock="handleExportLoading"
|
|
|
+ element-loading-text="正在拼命生成数据中..."
|
|
|
+ element-loading-spinner="el-icon-loading"
|
|
|
+ element-loading-background="rgba(0, 0, 0, 0.5)"
|
|
|
+ >导出excel</el-button>
|
|
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
|
|
</el-row>
|
|
|
|
|
@@ -87,9 +150,13 @@
|
|
|
<el-table-column label="票务类型" align="center" prop="seatTypeName" />
|
|
|
<el-table-column label="购票渠道" align="center" prop="type">
|
|
|
<template slot-scope="scope">
|
|
|
- <span>{{ sourceList[scope.row.source] }}</span>
|
|
|
+ <!-- <span>{{ sourceList[scope.row.source] }}</span> -->
|
|
|
+ <dict-tag :options="dict.type.order_form_type" :value="scope.row.source"/>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
+ <el-table-column label="场次时间" align="center" prop="performDate" />
|
|
|
+ <el-table-column label="场次" align="center" prop="timeSnapshot" />
|
|
|
+ <el-table-column label="下单时间" align="center" prop="createTime" />
|
|
|
<el-table-column label="购票数量" align="center" prop="quantity" />
|
|
|
<el-table-column label="支付总额" align="center" prop="orderPrice">
|
|
|
<template slot-scope="scope">
|
|
@@ -102,6 +169,7 @@
|
|
|
<span>{{ payWayList[scope.row.payWay] }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
+
|
|
|
<el-table-column label="支付时间" align="center" prop="payTime" width="160" >
|
|
|
<template slot-scope="scope">
|
|
|
<span>{{ parseTime(scope.row.payTime) }}</span>
|
|
@@ -112,6 +180,11 @@
|
|
|
<span>{{statusList[scope.row.status]}}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
+ <el-table-column label="已核销票数" align="center" prop="type">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ scope.row.usedTotal }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
<el-table-column label="操作" align="center" width="100" class-name="small-padding fixed-width">
|
|
|
<template slot-scope="scope">
|
|
|
<el-button
|
|
@@ -140,12 +213,13 @@
|
|
|
|
|
|
<script>
|
|
|
|
|
|
-import { pageList } from '@/api/order/orderMr'
|
|
|
+import { pageList,downOrderListXls } from '@/api/order/orderMr'
|
|
|
import detailsDia from "./dialog/details.vue";
|
|
|
-
|
|
|
+import { pagePerformTimeList } from "@/api/schedulingMr/schedulingMr"
|
|
|
+import { exportExcel } from '@/utils/exportexcel'
|
|
|
export default {
|
|
|
name: "agreement",
|
|
|
- dicts: ['agreement_type'],
|
|
|
+ dicts: ['order_form_type'],
|
|
|
components: { detailsDia },
|
|
|
data() {
|
|
|
return {
|
|
@@ -211,23 +285,13 @@ export default {
|
|
|
'wecaht.h5': '微信公众号支付',
|
|
|
'meituan': '美团支付',
|
|
|
},
|
|
|
- sourceList: {
|
|
|
- 1: '小程序',
|
|
|
- 2: '公众号',
|
|
|
- 3: '美团',
|
|
|
- 4: '携程',
|
|
|
- 5: '团购',
|
|
|
- },
|
|
|
- sourceMapList: [
|
|
|
- {id: 1, name: '小程序', value: 1},
|
|
|
- {id: 2, name: '公众号', value: 2},
|
|
|
- {id: 3, name: '美团', value: 3},
|
|
|
- {id: 4, name: '携程', value: 4},
|
|
|
- {id: 5, name: '团购', value: 5},
|
|
|
- ],
|
|
|
visibleStatus: false,
|
|
|
newObj: {},
|
|
|
- visibleType: ''
|
|
|
+ visibleType: '',
|
|
|
+
|
|
|
+ pagePerformTimeList: [], // 场次列表
|
|
|
+
|
|
|
+ handleExportLoading: false,
|
|
|
};
|
|
|
},
|
|
|
created() {
|
|
@@ -255,6 +319,10 @@ export default {
|
|
|
this.queryParams.payBeginTime = this.queryParams.time[0];
|
|
|
this.queryParams.payEndTime = this.queryParams.time[1];
|
|
|
}
|
|
|
+ if(this.queryParams.createTime&&this.queryParams.createTime.length>0){
|
|
|
+ this.queryParams.createBeginTime = this.queryParams.createTime[0];
|
|
|
+ this.queryParams.createEndTime = this.queryParams.createTime[1];
|
|
|
+ }
|
|
|
this.getList();
|
|
|
},
|
|
|
/** 重置按钮操作 */
|
|
@@ -268,6 +336,12 @@ export default {
|
|
|
this.$set(this.queryParams, 'payBeginTime', '');
|
|
|
this.$set(this.queryParams, 'payEndTime', '');
|
|
|
this.$set(this.queryParams, 'time', '');
|
|
|
+ this.$set(this.queryParams, 'createTime', '');
|
|
|
+ this.$set(this.queryParams, 'createBeginTime', '');
|
|
|
+ this.$set(this.queryParams, 'createEndTime', '');
|
|
|
+ this.$set(this.queryParams, 'goodsName', '');
|
|
|
+ this.$set(this.queryParams, 'performDate', '');
|
|
|
+ this.$set(this.queryParams, 'timeSnapshot', '');
|
|
|
this.queryParams.pageNum = 1;
|
|
|
this.handleQuery();
|
|
|
},
|
|
@@ -275,6 +349,58 @@ export default {
|
|
|
openDetails(row, type) {
|
|
|
this.$refs["detailsDia"].openDialog("详情", row, type);
|
|
|
},
|
|
|
+ async pagePerformTimeListFun(value) {
|
|
|
+ try {
|
|
|
+ this.pagePerformTimeList = []
|
|
|
+ this.$set(this.queryParams,'timeSnapshot',null)
|
|
|
+ if(!value){
|
|
|
+
|
|
|
+ return
|
|
|
+ }
|
|
|
+ let { data,code } = await pagePerformTimeList({
|
|
|
+ performDate: value,
|
|
|
+ pageNum: 1,
|
|
|
+ pageSize: 999
|
|
|
+ })
|
|
|
+ this.pagePerformTimeList = [].concat(data.rows)
|
|
|
+ } catch (error) {
|
|
|
+
|
|
|
+ }
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 导出报表
|
|
|
+ * @date 2022-10-24
|
|
|
+ * @returns {any}
|
|
|
+ */
|
|
|
+ handleExport() {
|
|
|
+ this.$confirm('您确定要导出当前查询的数据吗?', '提示', {
|
|
|
+ confirmButtonText: '确定 ',
|
|
|
+ cancelButtonText: '取消 ',
|
|
|
+ type: 'warning'
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ this.handleExportLoading = true;
|
|
|
+ // const { pageNum, pageSize} = this.params;
|
|
|
+ let postMap = {}
|
|
|
+ for (let key in this.queryParams) {
|
|
|
+ if(key != 'pageNum' && key != 'pageSize'){
|
|
|
+ postMap[key] = this.queryParams[key]
|
|
|
+ }
|
|
|
+ }
|
|
|
+ downOrderListXls(postMap)
|
|
|
+ .then((res) => {
|
|
|
+ exportExcel(res, '订单管理', '.xlsx');
|
|
|
+ this.handleExportLoading = false;
|
|
|
+ })
|
|
|
+ .catch((error) => {
|
|
|
+ console.log("error===",error)
|
|
|
+ this.handleExportLoading = false;
|
|
|
+ });
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ this.$message.info('您已取消导出!');
|
|
|
+ });
|
|
|
+ },
|
|
|
}
|
|
|
};
|
|
|
</script>
|