|
|
@@ -233,6 +233,7 @@
|
|
|
<div class=""><span>退款金额:</span>{{ scope.row.cancelPrice || '' }}</div>
|
|
|
<div class=""><span>退款申请时间:</span>{{ scope.row.cancelSubmitTime || '' }}</div>
|
|
|
<div class=""><span>退款完成时间:</span>{{ scope.row.cancelCompleteTime || '' }}</div>
|
|
|
+ <div class=""><span>是否强制取消:</span>{{ scope.row.isForceCancel ? '是' : '否' }}</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
@@ -342,8 +343,8 @@
|
|
|
@click="showGuestInfo(scope.row)">游客信息</el-button> -->
|
|
|
<el-button
|
|
|
type="text"
|
|
|
- v-if="checkRefundVisible(scope.row)&&canCancel"
|
|
|
- @click="showOrderInfo(scope.row,'cancel')">退订单</el-button>
|
|
|
+ v-if="scope.row.isSelfOrder === 0"
|
|
|
+ @click="showRefundOrder(scope.row)">退单</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
@@ -363,7 +364,6 @@
|
|
|
>
|
|
|
<OrderDialog
|
|
|
:current-item="currentItem"
|
|
|
- :can-cancel="canCancel"
|
|
|
@updateList="getOrderList"
|
|
|
:type="type"></OrderDialog>
|
|
|
</ElDialog>
|
|
|
@@ -374,6 +374,100 @@
|
|
|
<GuestDialog
|
|
|
:current-item="currentItem"></GuestDialog>
|
|
|
</ElDialog>
|
|
|
+ <ElDialog
|
|
|
+ title="退单"
|
|
|
+ v-model="refundOrderDialogVisible"
|
|
|
+ width="80%"
|
|
|
+ @close="refundOrderDialogVisible=false;ticketNoSearch=''">
|
|
|
+ <div
|
|
|
+ class="search-area"
|
|
|
+ style="margin: 20px;display: flex;align-items: center;justify-content: space-between;">
|
|
|
+ <div class="name">
|
|
|
+ <span style="margin-right: 10px;">票号搜索</span>
|
|
|
+ <el-input v-model="ticketNoSearch"></el-input>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div
|
|
|
+ class="table-wrap"
|
|
|
+ style="padding: 20px;">
|
|
|
+ <el-table
|
|
|
+ border
|
|
|
+ :data="(currentItem.ticketList || []).filter(v => v.ticketNo.includes(ticketNoSearch))"
|
|
|
+ @selection-change="handleSelectionChange">
|
|
|
+ <el-table-column
|
|
|
+ type="selection"
|
|
|
+ fixed
|
|
|
+ :selectable="isRowSelectable"
|
|
|
+ width="55">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ min-width="260"
|
|
|
+ prop="ticketInfo"
|
|
|
+ label="票信息">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div class=""><span>票号:</span>{{ scope.row.ticketNo }}</div>
|
|
|
+ <div class=""><span>票种:</span>{{ scope.row.ticketTypeName }}</div>
|
|
|
+ <div class=""><span>金额:</span>{{ scope.row.price }}</div>
|
|
|
+ <div class=""><span>状态:</span>
|
|
|
+ <el-tag :type="ticketStatus[scope.row.status]&&ticketStatus[scope.row.status].color">
|
|
|
+ {{ ticketStatus[scope.row.status]&&ticketStatus[scope.row.status].label }}
|
|
|
+ </el-tag>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="playDateBegin"
|
|
|
+ width="180"
|
|
|
+ label="游玩时间">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ scope.row.playDateBegin || scope.row.playDateEnd ? `${scope.row.playDateBegin || ''} - ${scope.row.playDateEnd || ''}` : "无限制" }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ min-width="210"
|
|
|
+ prop="guestInfo"
|
|
|
+ label="游客信息">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div class=""><span>姓名:</span>{{ scope.row.guestName }}</div>
|
|
|
+ <div class=""><span>手机号:</span>{{ scope.row.guestPhone }}</div>
|
|
|
+ <div class=""><span>证件类型:</span>{{ papersType[scope.row.guestIdentifyType] }}</div>
|
|
|
+ <div class=""><span>证件号码:</span>{{ scope.row.guestIdentify }}</div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ min-width="260"
|
|
|
+ prop="ticketCheckInfo"
|
|
|
+ label="检票信息">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div class=""><span>检票人数:</span>{{ scope.row.checkNum }}</div>
|
|
|
+ <div class=""><span>首次检票时间:</span>{{ scope.row.firstCheckTime }}</div>
|
|
|
+ <div class=""><span>核销通知:</span>{{ scope.row.isCheckSend ? '已通知' : '未通知' }}</div>
|
|
|
+ <div class=""><span>通知成功时间:</span>{{ scope.row.checkSendTime }}</div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ min-width="260"
|
|
|
+ prop="ticketRefundInfo"
|
|
|
+ label="退票信息">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div class=""><span>退款操作人:</span>{{ scope.row.cancelAdminName || '' }}</div>
|
|
|
+ <div class=""><span>退款金额:</span>{{ scope.row.cancelPrice || '' }}</div>
|
|
|
+ <div class=""><span>退款申请时间:</span>{{ scope.row.cancelSubmitTime || '' }}</div>
|
|
|
+ <div class=""><span>退款完成时间:</span>{{ scope.row.cancelCompleteTime || '' }}</div>
|
|
|
+ <div class=""><span>是否强制取消:</span>{{ scope.row.isForceCancel ? '是' : '否' }}</div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+ <div
|
|
|
+ class="dialog-footer"
|
|
|
+ style="padding: 20px; text-align: right;">
|
|
|
+ <el-button @click="refundOrderDialogVisible = false">取消</el-button>
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ @click="submitRefundOrder">确定</el-button>
|
|
|
+ </div>
|
|
|
+ </ElDialog>
|
|
|
|
|
|
<TicketInfo ref="ticketInfo"></TicketInfo>
|
|
|
</div>
|
|
|
@@ -399,6 +493,12 @@ export default {
|
|
|
},
|
|
|
data () {
|
|
|
return {
|
|
|
+ refundOrderDialogVisible: false,
|
|
|
+ refundOrderInfo: {
|
|
|
+ ticketCancelRequestList: []
|
|
|
+ },
|
|
|
+ ticketNoSearch: '',
|
|
|
+ multipleSelection: [],
|
|
|
papersType: IDENTIFY_TYPES,
|
|
|
ticketTypeList: [],
|
|
|
otaSourceList: [],
|
|
|
@@ -438,9 +538,6 @@ export default {
|
|
|
this.getOrderList()
|
|
|
},
|
|
|
computed: {
|
|
|
- canCancel () {
|
|
|
- return this.$store.state.user.permissionList.includes('orders:cancel')
|
|
|
- },
|
|
|
queryClear () {
|
|
|
return this.$store.state.user.permissionList.includes('stats:clearwx_query')
|
|
|
},
|
|
|
@@ -451,20 +548,12 @@ export default {
|
|
|
},
|
|
|
methods: {
|
|
|
getPayStatus,
|
|
|
- checkRefundVisible (item) {
|
|
|
- if (item.status !== 'CANCELED') return true
|
|
|
- if (item.status === 'CANCELED') {
|
|
|
- if (item.tickets && item.tickets.some(i => i.status !== 'CANCELED')) {
|
|
|
- return true
|
|
|
- } else {
|
|
|
- return false
|
|
|
- }
|
|
|
- }
|
|
|
- return false
|
|
|
- },
|
|
|
reset () {
|
|
|
this.$refs.form.resetFields()
|
|
|
},
|
|
|
+ handleSelectionChange (val) {
|
|
|
+ this.multipleSelection = val
|
|
|
+ },
|
|
|
getTicketTypeList () {
|
|
|
getTicketTypeList({
|
|
|
pageNum: 1,
|
|
|
@@ -526,16 +615,25 @@ export default {
|
|
|
this.type = type
|
|
|
this.orderDialogVisible = true
|
|
|
},
|
|
|
- cancelTicket (item) {
|
|
|
+ isRowSelectable (row, index) {
|
|
|
+ return true
|
|
|
+ },
|
|
|
+ showRefundOrder (item) {
|
|
|
+ this.currentItem = item
|
|
|
+ this.refundOrderDialogVisible = true
|
|
|
+ this.ticketNoSearch = ''
|
|
|
+ this.multipleSelection = []
|
|
|
+ },
|
|
|
+ submitRefundOrder (item) {
|
|
|
this.$confirm('确定退票?', '提示', {
|
|
|
confirmButtonText: '确定',
|
|
|
cancelButtonText: '取消',
|
|
|
type: 'warning'
|
|
|
}).then(() => {
|
|
|
this.loading = true
|
|
|
- let ticketList = item.ticketList.map(i => {
|
|
|
+ let ticketList = this.multipleSelection.map(v => {
|
|
|
return {
|
|
|
- ticketId: i.id
|
|
|
+ ticketId: v.id
|
|
|
}
|
|
|
})
|
|
|
|
|
|
@@ -544,6 +642,8 @@ export default {
|
|
|
}).then(res => {
|
|
|
this.loading = false
|
|
|
this.$message.success('退票成功')
|
|
|
+ this.refundOrderDialogVisible = false
|
|
|
+ this.ticketNoSearch = ''
|
|
|
this.getOrderList('', true)
|
|
|
})
|
|
|
})
|
|
|
@@ -552,7 +652,7 @@ export default {
|
|
|
this.currentItem = item
|
|
|
this.guestDialogVisible = true
|
|
|
},
|
|
|
- handleExport () {
|
|
|
+ handelExport () {
|
|
|
this.form.export = true
|
|
|
getOrderList(this.form).then(res => {
|
|
|
this.$notify({
|