|
@@ -3,15 +3,17 @@
|
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="40px">
|
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="40px">
|
|
<el-form-item label="日期">
|
|
<el-form-item label="日期">
|
|
<el-date-picker
|
|
<el-date-picker
|
|
- v-model="queryParams.performStartDate"
|
|
|
|
- type="date"
|
|
|
|
|
|
+ style="width: 230px;"
|
|
|
|
+ v-model="selectTime"
|
|
|
|
+ type="daterange"
|
|
|
|
+ @change="dataChange"
|
|
value-format="yyyy-MM-dd"
|
|
value-format="yyyy-MM-dd"
|
|
placeholder="日期">
|
|
placeholder="日期">
|
|
</el-date-picker>
|
|
</el-date-picker>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="分销商类型" label-width="120px">
|
|
<el-form-item label="分销商类型" label-width="120px">
|
|
<el-select
|
|
<el-select
|
|
- v-model="queryParams.type"
|
|
|
|
|
|
+ v-model="queryParams.personType"
|
|
placeholder="分销商类型"
|
|
placeholder="分销商类型"
|
|
@change="getList"
|
|
@change="getList"
|
|
clearable
|
|
clearable
|
|
@@ -50,52 +52,63 @@
|
|
<el-table-column label="序号" align="center" type="index" width="60"></el-table-column>
|
|
<el-table-column label="序号" align="center" type="index" width="60"></el-table-column>
|
|
<!-- <el-table-column label="剧目名称" align="center" prop="performName" />
|
|
<!-- <el-table-column label="剧目名称" align="center" prop="performName" />
|
|
<el-table-column label="票务名称" align="center" prop="goodsName" /> -->
|
|
<el-table-column label="票务名称" align="center" prop="goodsName" /> -->
|
|
- <el-table-column label="场次日期" align="center">
|
|
|
|
|
|
+ <el-table-column label="分销商类型" align="center">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- <span>{{ scope.row.performDate }}</span>
|
|
|
|
|
|
+ <span>{{ scope.row.personType }}</span>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column label="场次" align="center">
|
|
|
|
|
|
+ <el-table-column label="分销商名称" align="center">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- <span>{{ scope.row.performTimeStart }} -- {{ scope.row.performTimeEnd }}</span>
|
|
|
|
|
|
+ <span>{{ scope.row.personName }}</span>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column label="销售量" align="center">
|
|
|
|
|
|
+ <el-table-column label="票种(元)" align="center">
|
|
|
|
+
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column label="结算价(元)" align="center">
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
+ <span>{{ scope.row.settlementAmount }}</span>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column label="人次" align="center">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- <span>{{ scope.row.saleTotal?scope.row.saleTotal+'张' : '-' }}</span>
|
|
|
|
|
|
+ <span>{{ scope.row.personNext }}</span>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column label="核销量" align="center">
|
|
|
|
|
|
+ <el-table-column label="收入" align="center">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- <span>{{ scope.row.usedTotal?scope.row.usedTotal+'张' : '-' }}</span>
|
|
|
|
|
|
+ <span>{{ scope.row.salePriceAmount }}</span>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column label="核销率" align="center">
|
|
|
|
|
|
+ <el-table-column label="收入占比" align="center">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- <span>{{ scope.row.usedRate?scope.row.usedRate+'%' : '-' }}</span>
|
|
|
|
|
|
+ <span>{{ scope.row.incomeRatio?scope.row.incomeRatio+'%' : '-' }}</span>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column label="核销上座率" align="center">
|
|
|
|
|
|
+ <el-table-column label="备注" align="center">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- <span>{{ scope.row.occupancyRate?scope.row.occupancyRate+'%' : '-' }}</span>
|
|
|
|
|
|
+ <span>{{ scope.row.remark }}</span>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-table>
|
|
|
|
+ <ul class="total-remark" v-if="responseData.saleTotalRemarkOnColor">
|
|
|
|
+ <li><span class="til">合计:</span><div class="html-wap" v-html="responseData.saleTotalRemarkOnColor||'-'"></div> </li>
|
|
|
|
+ </ul>
|
|
|
|
|
|
- <pagination
|
|
|
|
|
|
+ <!-- <pagination
|
|
v-show="total>0"
|
|
v-show="total>0"
|
|
:total="total"
|
|
:total="total"
|
|
:page.sync="queryParams.pageNum"
|
|
:page.sync="queryParams.pageNum"
|
|
:limit.sync="queryParams.pageSize"
|
|
:limit.sync="queryParams.pageSize"
|
|
@pagination="getList"
|
|
@pagination="getList"
|
|
- />
|
|
|
|
|
|
+ /> -->
|
|
|
|
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
|
|
|
|
- import { performTimeCount, downTimeCountListXls } from '@/api/statisticalReport/statistics'
|
|
|
|
|
|
+ import { marketPersonSaleCount, downMarketPersonSaleCount } from '@/api/statisticalReport/statistics'
|
|
import { exportExcel } from '@/utils/exportexcel'
|
|
import { exportExcel } from '@/utils/exportexcel'
|
|
import { seatPricePageList } from '@/api/distribution/ticketMr'
|
|
import { seatPricePageList } from '@/api/distribution/ticketMr'
|
|
import moment from "moment"
|
|
import moment from "moment"
|
|
@@ -127,8 +140,8 @@
|
|
dateRange: [],
|
|
dateRange: [],
|
|
// 查询参数
|
|
// 查询参数
|
|
queryParams: {
|
|
queryParams: {
|
|
- pageNum: 1,
|
|
|
|
- pageSize: 10,
|
|
|
|
|
|
+ // pageNum: 1,
|
|
|
|
+ // pageSize: 10,
|
|
},
|
|
},
|
|
visibleStatus: false,
|
|
visibleStatus: false,
|
|
newObj: {},
|
|
newObj: {},
|
|
@@ -137,10 +150,12 @@
|
|
tableData: {},
|
|
tableData: {},
|
|
ticketList: [],
|
|
ticketList: [],
|
|
seatList: [],
|
|
seatList: [],
|
|
|
|
+ selectTime:'',
|
|
|
|
+ responseData:{},
|
|
};
|
|
};
|
|
},
|
|
},
|
|
created() {
|
|
created() {
|
|
- this.$set(this.queryParams,'performStartDate',moment().format("yyyy-MM-DD"))
|
|
|
|
|
|
+ this.$set(this,'selectTime',[moment().format("yyyy-MM-DD"),moment().format("yyyy-MM-DD")]);
|
|
this.getList();
|
|
this.getList();
|
|
this.ticketListApi();
|
|
this.ticketListApi();
|
|
},
|
|
},
|
|
@@ -148,18 +163,22 @@
|
|
/** 查询列表 */
|
|
/** 查询列表 */
|
|
getList() {
|
|
getList() {
|
|
this.loading = true;
|
|
this.loading = true;
|
|
- if(this.queryParams.time){
|
|
|
|
- this.queryParams.performStartDate = this.queryParams.time[0];
|
|
|
|
- this.queryParams.performEndDate = this.queryParams.time[1];
|
|
|
|
|
|
+ if(this.selectTime){
|
|
|
|
+ this.queryParams.beginDate = this.selectTime[0];
|
|
|
|
+ this.queryParams.endDate = this.selectTime[1];
|
|
}
|
|
}
|
|
- performTimeCount(this.addDateRange(this.queryParams, this.dateRange))
|
|
|
|
|
|
+ marketPersonSaleCount(this.addDateRange(this.queryParams, this.dateRange))
|
|
.then(response => {
|
|
.then(response => {
|
|
- this.dataList = response.data.rows;
|
|
|
|
|
|
+ this.responseData = response.data;
|
|
|
|
+ this.dataList = response.data.dataList||[];
|
|
this.total = response.data.total;
|
|
this.total = response.data.total;
|
|
this.loading = false;
|
|
this.loading = false;
|
|
}
|
|
}
|
|
);
|
|
);
|
|
},
|
|
},
|
|
|
|
+ dataChange(data) {
|
|
|
|
+ this.getList()
|
|
|
|
+ },
|
|
/** 票务列表查询 */
|
|
/** 票务列表查询 */
|
|
ticketListApi() {
|
|
ticketListApi() {
|
|
this.ticketList = []
|
|
this.ticketList = []
|
|
@@ -200,7 +219,7 @@
|
|
},
|
|
},
|
|
/** 搜索按钮操作 */
|
|
/** 搜索按钮操作 */
|
|
handleQuery() {
|
|
handleQuery() {
|
|
- this.queryParams.pageNum = 1;
|
|
|
|
|
|
+ // this.queryParams.pageNum = 1;
|
|
this.getList();
|
|
this.getList();
|
|
},
|
|
},
|
|
/** 重置按钮操作 */
|
|
/** 重置按钮操作 */
|
|
@@ -212,8 +231,9 @@
|
|
this.$set(this.queryParams, 'performEndDate', '');
|
|
this.$set(this.queryParams, 'performEndDate', '');
|
|
this.$set(this.queryParams, 'goodsId', '');
|
|
this.$set(this.queryParams, 'goodsId', '');
|
|
this.$set(this.queryParams, 'seatTypeId', '');
|
|
this.$set(this.queryParams, 'seatTypeId', '');
|
|
- this.$set(this.queryParams, 'type', '');
|
|
|
|
- this.queryParams.pageNum = 1;
|
|
|
|
|
|
+ this.$set(this.queryParams, 'personType', '');
|
|
|
|
+ // this.queryParams.pageNum = 1;
|
|
|
|
+ this.$set(this,'selectTime',[moment().format("yyyy-MM-DD"),moment().format("yyyy-MM-DD")]);
|
|
this.handleQuery();
|
|
this.handleQuery();
|
|
},
|
|
},
|
|
/**
|
|
/**
|
|
@@ -236,9 +256,9 @@
|
|
postMap[key] = this.queryParams[key]
|
|
postMap[key] = this.queryParams[key]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- downTimeCountListXls(postMap)
|
|
|
|
|
|
+ downMarketPersonSaleCount(postMap)
|
|
.then((res) => {
|
|
.then((res) => {
|
|
- exportExcel(res, '场次销售分析', '.xlsx');
|
|
|
|
|
|
+ exportExcel(res, '分销明细', '.xlsx');
|
|
this.handleExportLoading = false;
|
|
this.handleExportLoading = false;
|
|
})
|
|
})
|
|
.catch(() => {
|
|
.catch(() => {
|
|
@@ -252,4 +272,25 @@
|
|
}
|
|
}
|
|
};
|
|
};
|
|
</script>
|
|
</script>
|
|
-
|
|
|
|
|
|
+ <style lang="scss" scoped>
|
|
|
|
+ .total-remark{
|
|
|
|
+ margin-top: 24px;
|
|
|
|
+ margin-bottom: 24px;
|
|
|
|
+ padding-left: 0;
|
|
|
|
+ li{
|
|
|
|
+ list-style: none;
|
|
|
|
+ display: flex;
|
|
|
|
+ ::v-deep .html-wap{
|
|
|
|
+ span{
|
|
|
|
+ color: blue;
|
|
|
|
+ margin: 0 5px;
|
|
|
|
+ display: inline-block;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ .til{
|
|
|
|
+ font-weight: bold;
|
|
|
|
+ color: #333;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ </style>
|