|
@@ -6,6 +6,13 @@
|
|
|
:model="form"
|
|
:model="form"
|
|
|
:inline="true"
|
|
:inline="true"
|
|
|
label-width="150px">
|
|
label-width="150px">
|
|
|
|
|
+ <el-form-item
|
|
|
|
|
+ label="关键字"
|
|
|
|
|
+ prop="searchKeywords">
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ v-model="form.searchKeywords"
|
|
|
|
|
+ placeholder="订单号/票号/姓名/电话/证件号"></el-input>
|
|
|
|
|
+ </el-form-item>
|
|
|
<el-form-item
|
|
<el-form-item
|
|
|
label="下单起始时间"
|
|
label="下单起始时间"
|
|
|
prop="createTimeBegin">
|
|
prop="createTimeBegin">
|
|
@@ -42,26 +49,11 @@
|
|
|
placeholder="选择日期时间">
|
|
placeholder="选择日期时间">
|
|
|
</el-date-picker>
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <el-form-item
|
|
|
|
|
- label="订单号"
|
|
|
|
|
- prop="orderNo">
|
|
|
|
|
- <el-input v-model="form.orderNo"></el-input>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
<el-form-item
|
|
<el-form-item
|
|
|
label="合作方订单号"
|
|
label="合作方订单号"
|
|
|
prop="partnerOrderNo">
|
|
prop="partnerOrderNo">
|
|
|
<el-input v-model="form.partnerOrderNo"></el-input>
|
|
<el-input v-model="form.partnerOrderNo"></el-input>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <el-form-item
|
|
|
|
|
- label="票号"
|
|
|
|
|
- prop="ticketNo">
|
|
|
|
|
- <el-input v-model="form.ticketNo"></el-input>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- <el-form-item
|
|
|
|
|
- label="第三方分销商订单号"
|
|
|
|
|
- prop="keyWords7">
|
|
|
|
|
- <el-input v-model="form.keyWords7"></el-input>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
<el-form-item
|
|
<el-form-item
|
|
|
label="分销商名称"
|
|
label="分销商名称"
|
|
|
prop="keyWords9">
|
|
prop="keyWords9">
|
|
@@ -116,21 +108,6 @@
|
|
|
</el-option>
|
|
</el-option>
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <el-form-item
|
|
|
|
|
- label="游客名称"
|
|
|
|
|
- prop="visitorName">
|
|
|
|
|
- <el-input v-model="form.visitorName"></el-input>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- <el-form-item
|
|
|
|
|
- label="游客电话"
|
|
|
|
|
- prop="visitorPhone">
|
|
|
|
|
- <el-input v-model="form.visitorPhone"></el-input>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- <el-form-item
|
|
|
|
|
- label="游客证件号"
|
|
|
|
|
- prop="visitorIdentify">
|
|
|
|
|
- <el-input v-model="form.visitorIdentify"></el-input>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
<el-form-item
|
|
<el-form-item
|
|
|
label="门票状态"
|
|
label="门票状态"
|
|
|
prop="ticketStatus">
|
|
prop="ticketStatus">
|
|
@@ -156,6 +133,9 @@
|
|
|
<el-button
|
|
<el-button
|
|
|
type="primary"
|
|
type="primary"
|
|
|
@click="getOrderList($event,true)">搜索</el-button>
|
|
@click="getOrderList($event,true)">搜索</el-button>
|
|
|
|
|
+ <el-button
|
|
|
|
|
+ type="primary"
|
|
|
|
|
+ @click="reportExport">导出</el-button>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
@@ -166,13 +146,16 @@
|
|
|
<el-table
|
|
<el-table
|
|
|
:data="tableData"
|
|
:data="tableData"
|
|
|
stripe
|
|
stripe
|
|
|
|
|
+ border
|
|
|
row-class-name="is-center"
|
|
row-class-name="is-center"
|
|
|
v-loading="loading">
|
|
v-loading="loading">
|
|
|
<el-table-column type="expand">
|
|
<el-table-column type="expand">
|
|
|
<template
|
|
<template
|
|
|
slot-scope="scope"
|
|
slot-scope="scope"
|
|
|
v-if="scope.row.ticketList && scope.row.ticketList.length > 0">
|
|
v-if="scope.row.ticketList && scope.row.ticketList.length > 0">
|
|
|
- <el-table :data="scope.row.ticketList">
|
|
|
|
|
|
|
+ <el-table
|
|
|
|
|
+ :data="scope.row.ticketList"
|
|
|
|
|
+ border>
|
|
|
<el-table-column
|
|
<el-table-column
|
|
|
min-width="260"
|
|
min-width="260"
|
|
|
prop="ticketInfo"
|
|
prop="ticketInfo"
|
|
@@ -180,6 +163,7 @@
|
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
|
<div class=""><span>票号:</span>{{ scope.row.ticketNo }}</div>
|
|
<div class=""><span>票号:</span>{{ scope.row.ticketNo }}</div>
|
|
|
<div class=""><span>票种:</span>{{ scope.row.ticketTypeName }}</div>
|
|
<div class=""><span>票种:</span>{{ scope.row.ticketTypeName }}</div>
|
|
|
|
|
+ <div class=""><span>产品ID:</span>{{ scope.row.otaProductId }}</div>
|
|
|
<div class=""><span>金额:</span>{{ scope.row.price }}</div>
|
|
<div class=""><span>金额:</span>{{ scope.row.price }}</div>
|
|
|
<div class=""><span>状态:</span>
|
|
<div class=""><span>状态:</span>
|
|
|
<el-tag :type="ticketStatus[scope.row.status]&&ticketStatus[scope.row.status].color">
|
|
<el-tag :type="ticketStatus[scope.row.status]&&ticketStatus[scope.row.status].color">
|
|
@@ -251,9 +235,17 @@
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
<el-table-column
|
|
|
prop="partnerOrderNo"
|
|
prop="partnerOrderNo"
|
|
|
- min-width="120"
|
|
|
|
|
|
|
+ min-width="220"
|
|
|
label="合作方订单号">
|
|
label="合作方订单号">
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
|
|
+ <el-table-column
|
|
|
|
|
+ prop="ticketTypeName"
|
|
|
|
|
+ width="120"
|
|
|
|
|
+ label="票种">
|
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
|
+ {{ getTicketTypeName(scope.row) }}
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
<el-table-column
|
|
<el-table-column
|
|
|
prop="buyerName"
|
|
prop="buyerName"
|
|
|
min-width="90"
|
|
min-width="90"
|
|
@@ -282,6 +274,19 @@
|
|
|
</el-tag>
|
|
</el-tag>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
|
|
+ <el-table-column
|
|
|
|
|
+ prop="status"
|
|
|
|
|
+ width="100"
|
|
|
|
|
+ label="订单状态">
|
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
|
+ <el-tag
|
|
|
|
|
+ :type="getOrderStatus(scope.row.status, 'color')"
|
|
|
|
|
+ size="normal"
|
|
|
|
|
+ >
|
|
|
|
|
+ {{ getOrderStatus(scope.row.status) }}
|
|
|
|
|
+ </el-tag>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
<el-table-column
|
|
<el-table-column
|
|
|
prop="price"
|
|
prop="price"
|
|
|
width="70"
|
|
width="70"
|
|
@@ -328,7 +333,6 @@
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column> -->
|
|
</el-table-column> -->
|
|
|
<el-table-column
|
|
<el-table-column
|
|
|
- fixed="right"
|
|
|
|
|
width="80"
|
|
width="80"
|
|
|
label="操作">
|
|
label="操作">
|
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
@@ -343,7 +347,7 @@
|
|
|
@click="showGuestInfo(scope.row)">游客信息</el-button> -->
|
|
@click="showGuestInfo(scope.row)">游客信息</el-button> -->
|
|
|
<el-button
|
|
<el-button
|
|
|
type="text"
|
|
type="text"
|
|
|
- v-if="scope.row.isSelfOrder === 0"
|
|
|
|
|
|
|
+ v-if="scope.row.isSelfOrder === 0 && hasPermission('order-cancel')"
|
|
|
@click="showRefundOrder(scope.row)">退单</el-button>
|
|
@click="showRefundOrder(scope.row)">退单</el-button>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
@@ -479,9 +483,9 @@ import ElDialog from '@/components/Dialog'
|
|
|
import OrderDialog from './orderList/OrderDialog'
|
|
import OrderDialog from './orderList/OrderDialog'
|
|
|
import GuestDialog from './orderList/GuestDialog'
|
|
import GuestDialog from './orderList/GuestDialog'
|
|
|
import TicketInfo from './orderList/TicketInfo'
|
|
import TicketInfo from './orderList/TicketInfo'
|
|
|
-import { orderStatus, ticketStatusDic, ticketStatus, IDENTIFY_TYPES } from '@/const'
|
|
|
|
|
|
|
+import { ORDER_STATUS, ticketStatusDic, ticketStatus, IDENTIFY_TYPES } from '@/const'
|
|
|
import moment from 'moment'
|
|
import moment from 'moment'
|
|
|
-import { getPayStatus } from '@/utils'
|
|
|
|
|
|
|
+import { getPayStatus, getOrderStatus } from '@/utils'
|
|
|
|
|
|
|
|
export default {
|
|
export default {
|
|
|
name: 'orderList',
|
|
name: 'orderList',
|
|
@@ -506,6 +510,7 @@ export default {
|
|
|
totalObj: {},
|
|
totalObj: {},
|
|
|
type: '', // 操作状态 cancel退订单
|
|
type: '', // 操作状态 cancel退订单
|
|
|
form: {
|
|
form: {
|
|
|
|
|
+ searchKeywords: '', // 关键字搜索
|
|
|
createTimeBegin: moment().subtract(7, 'days').startOf('day'),
|
|
createTimeBegin: moment().subtract(7, 'days').startOf('day'),
|
|
|
createTimeEnd: moment().endOf('day'),
|
|
createTimeEnd: moment().endOf('day'),
|
|
|
partnerOrderNo: '', // ota订单号
|
|
partnerOrderNo: '', // ota订单号
|
|
@@ -521,7 +526,7 @@ export default {
|
|
|
pageNum: 1,
|
|
pageNum: 1,
|
|
|
pageSize: 10
|
|
pageSize: 10
|
|
|
},
|
|
},
|
|
|
- orderStatusDic: orderStatus,
|
|
|
|
|
|
|
+ orderStatusDic: ORDER_STATUS,
|
|
|
ticketStatusDic,
|
|
ticketStatusDic,
|
|
|
ticketStatus,
|
|
ticketStatus,
|
|
|
loading: false,
|
|
loading: false,
|
|
@@ -544,10 +549,21 @@ export default {
|
|
|
otaList () {
|
|
otaList () {
|
|
|
const list = JSON.parse(localStorage.getItem('otaList'))
|
|
const list = JSON.parse(localStorage.getItem('otaList'))
|
|
|
return this.projectName === 'YINXIANGMAZU' && !this.queryClear ? list.filter(item => item.otaSourceCode !== 'CLEARWX') : list
|
|
return this.projectName === 'YINXIANGMAZU' && !this.queryClear ? list.filter(item => item.otaSourceCode !== 'CLEARWX') : list
|
|
|
|
|
+ },
|
|
|
|
|
+ permissionList () {
|
|
|
|
|
+ return this.$store.state.user.menuList || []
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
methods: {
|
|
methods: {
|
|
|
getPayStatus,
|
|
getPayStatus,
|
|
|
|
|
+ getOrderStatus,
|
|
|
|
|
+ hasPermission (key) {
|
|
|
|
|
+ return !!this.permissionList.some(item => item.code === key)
|
|
|
|
|
+ },
|
|
|
|
|
+ getTicketTypeName (row) {
|
|
|
|
|
+ const ticket = row.ticketList && row.ticketList.length > 0 && row.ticketList[0]
|
|
|
|
|
+ return ticket ? ticket.ticketTypeName : ''
|
|
|
|
|
+ },
|
|
|
reset () {
|
|
reset () {
|
|
|
this.$refs.form.resetFields()
|
|
this.$refs.form.resetFields()
|
|
|
},
|
|
},
|
|
@@ -638,6 +654,7 @@ export default {
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
cancelOrder({
|
|
cancelOrder({
|
|
|
|
|
+ orderId: item.id,
|
|
|
ticketCancelRequestList: ticketList
|
|
ticketCancelRequestList: ticketList
|
|
|
}).then(res => {
|
|
}).then(res => {
|
|
|
this.loading = false
|
|
this.loading = false
|
|
@@ -652,14 +669,35 @@ export default {
|
|
|
this.currentItem = item
|
|
this.currentItem = item
|
|
|
this.guestDialogVisible = true
|
|
this.guestDialogVisible = true
|
|
|
},
|
|
},
|
|
|
|
|
+ reportExport () {
|
|
|
|
|
+ this.$confirm(`是否要导出明细数据`, '确认提示', {
|
|
|
|
|
+ confirmButtonText: '是',
|
|
|
|
|
+ cancelButtonText: '否',
|
|
|
|
|
+ type: 'warning'
|
|
|
|
|
+ }).then(() => {
|
|
|
|
|
+ this.handelExport({
|
|
|
|
|
+ ...this.form,
|
|
|
|
|
+ export: true,
|
|
|
|
|
+ exportDetail: true
|
|
|
|
|
+ })
|
|
|
|
|
+ }).catch(() => {
|
|
|
|
|
+ this.handelExport({
|
|
|
|
|
+ ...this.form,
|
|
|
|
|
+ export: true,
|
|
|
|
|
+ exportDetail: false
|
|
|
|
|
+ })
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
handelExport () {
|
|
handelExport () {
|
|
|
this.form.export = true
|
|
this.form.export = true
|
|
|
getOrderList(this.form).then(res => {
|
|
getOrderList(this.form).then(res => {
|
|
|
- this.$notify({
|
|
|
|
|
- title: '提示',
|
|
|
|
|
- message: '导出成功',
|
|
|
|
|
- type: 'success'
|
|
|
|
|
- })
|
|
|
|
|
|
|
+ this.$confirm('导出成功,是否去下载页', '提示', {
|
|
|
|
|
+ confirmButtonText: '确定',
|
|
|
|
|
+ cancelButtonText: '取消',
|
|
|
|
|
+ type: 'warning'
|
|
|
|
|
+ }).then(() => {
|
|
|
|
|
+ this.$router.push('/queryReport/reportExport')
|
|
|
|
|
+ }).catch(() => {})
|
|
|
}, () => {
|
|
}, () => {
|
|
|
this.$notify.error({
|
|
this.$notify.error({
|
|
|
title: '提示',
|
|
title: '提示',
|
|
@@ -672,6 +710,5 @@ export default {
|
|
|
}
|
|
}
|
|
|
</script>
|
|
</script>
|
|
|
|
|
|
|
|
-<style scoped>
|
|
|
|
|
-
|
|
|
|
|
|
|
+<style lang="scss" scoped>
|
|
|
</style>
|
|
</style>
|