|
|
@@ -374,6 +374,13 @@
|
|
|
@click="showOrderDetail(scope.row)">
|
|
|
详情
|
|
|
</el-link>
|
|
|
+ <el-link
|
|
|
+ type="primary"
|
|
|
+ v-if="scope.row.status !== 'CANCELED'"
|
|
|
+ @click="editOrder(scope.row)">
|
|
|
+ 修改
|
|
|
+ </el-link>
|
|
|
+ <br>
|
|
|
<el-link
|
|
|
type="primary"
|
|
|
v-if="scope.row.status !== 'CANCELED'"
|
|
|
@@ -389,8 +396,8 @@
|
|
|
<el-link
|
|
|
type="primary"
|
|
|
v-if="scope.row.status !== 'CANCELED'"
|
|
|
- @click="editOrder(scope.row)">
|
|
|
- 修改
|
|
|
+ @click="secondPrint(scope.row)">
|
|
|
+ 补打
|
|
|
</el-link>
|
|
|
<!--
|
|
|
<el-link
|
|
|
@@ -801,6 +808,84 @@
|
|
|
@click="submitRefundOrder">确定</el-button>
|
|
|
</span>
|
|
|
</el-dialog>
|
|
|
+ <el-dialog
|
|
|
+ title="补打"
|
|
|
+ :visible.sync="secondPrintDialogVisible"
|
|
|
+ width="80%"
|
|
|
+ @close="secondPrintDialogVisible=false">
|
|
|
+ <!-- <div class="">
|
|
|
+ <div class="tag">退票金额</div>
|
|
|
+ <el-input-number
|
|
|
+ v-model="refundOrderInfo.cancelPrice"
|
|
|
+ :min="0"
|
|
|
+ :precision="0.01"></el-input-number>
|
|
|
+ </div> -->
|
|
|
+ <el-table
|
|
|
+ border
|
|
|
+ :data="currentOrder.ticketList"
|
|
|
+ @selection-change="handleSelectionChange">
|
|
|
+ <el-table-column
|
|
|
+ type="selection"
|
|
|
+ :selectable="selectable"
|
|
|
+ width="55">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="ticketNo" label="票号"> </el-table-column>
|
|
|
+ <el-table-column prop="ticketTypeName" label="票种"> </el-table-column>
|
|
|
+ <el-table-column prop="guestName" label="游客姓名">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="guestPhone" label="游客手机号">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="guestIdentifyType" label="证件类型">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ papersType[scope.row.guestIdentifyType] }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="guestIdentify" label="证件号码">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ scope.row.guestIdentify }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+
|
|
|
+ <el-table-column width="100" prop="checkNum" label="检票人数">
|
|
|
+ </el-table-column>
|
|
|
+
|
|
|
+ <el-table-column width="100" prop="payDateBegin" label="游玩时间">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ scope.row.playDateBegin || scope.row.playDateEnd ? `${scope.row.playDateBegin || ''} - ${scope.row.playDateEnd || ''}` : "无限制" }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column width="80" label="取票状态">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-tag :type="scope.row.isPrint ? 'success' : 'info'">
|
|
|
+ {{ scope.row.isPrint ? "已取票" : "未取票" }}
|
|
|
+ </el-tag>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column width="80" label="状态">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <OrderStatusTag :value="scope.row.status"></OrderStatusTag>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column width="80" prop="price" label="小计">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column width="80" label="检票景点">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button
|
|
|
+ v-if="scope.row.ticketListScenic"
|
|
|
+ @click="showDetail(scope.row)"
|
|
|
+ >
|
|
|
+ 明细
|
|
|
+ </el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ <span slot="footer">
|
|
|
+ <el-button @click="secondPrintDialogVisible = false">取消</el-button>
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ @click="submitSecondPrint">确定</el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
<el-dialog
|
|
|
title="修改"
|
|
|
:visible.sync="editOrderDialogVisible"
|
|
|
@@ -943,7 +1028,7 @@
|
|
|
|
|
|
<script>
|
|
|
/* eslint-disable no-unused-vars */
|
|
|
-import { apiOrderList, pickInvoice, getInvoice, cancelOrder, checkTickets, updateOrder, getSaleChannelList, getSingleOrder } from '@/api/order'
|
|
|
+import { apiOrderList, pickInvoice, getInvoice, cancelOrder, reprintTicket, checkTickets, updateOrder, getSaleChannelList, getSingleOrder } from '@/api/order'
|
|
|
import { orderStatusDic, ticketStatusDic, channelList, papersType, orderCategories } from '@/assets/staticData'
|
|
|
import { getPayStatus } from '@/utils/index'
|
|
|
import Ellipsis from '@/components/Ellipsis'
|
|
|
@@ -1054,6 +1139,11 @@ export default {
|
|
|
orderId: '',
|
|
|
ticketIdList: []
|
|
|
},
|
|
|
+ secondPrintDialogVisible: false,
|
|
|
+ secondPrintInfo: {
|
|
|
+ orderId: '',
|
|
|
+ ticketIdList: []
|
|
|
+ },
|
|
|
updateTypes: [
|
|
|
{ value: 'updateOrderPayChannel', label: '支付方式' },
|
|
|
{ value: 'updatePlayDate', label: '游玩日期' },
|
|
|
@@ -1256,6 +1346,11 @@ export default {
|
|
|
this.refundOrderDialogVisible = true
|
|
|
this.refundOrderInfo.orderId = order.id
|
|
|
},
|
|
|
+ async secondPrint (order) {
|
|
|
+ await this.getOrderDetail(order)
|
|
|
+ this.secondPrintDialogVisible = true
|
|
|
+ this.secondPrintInfo.orderId = order.id
|
|
|
+ },
|
|
|
submitRefundOrder () {
|
|
|
if (!this.multipleSelection?.length) {
|
|
|
return this.$message.error('请选择退单门票')
|
|
|
@@ -1284,6 +1379,29 @@ export default {
|
|
|
})
|
|
|
})
|
|
|
},
|
|
|
+ submitSecondPrint () {
|
|
|
+ if (!this.multipleSelection?.length) {
|
|
|
+ return this.$message.error('请选择打印门票')
|
|
|
+ }
|
|
|
+
|
|
|
+ this.secondPrintInfo.ticketIdList = this.multipleSelection.map(v => v.id)
|
|
|
+
|
|
|
+ this.$confirm('确定要打印吗?', '提示', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning'
|
|
|
+ }).then(() => {
|
|
|
+ reprintTicket(this.secondPrintInfo).then(res => {
|
|
|
+ if (res.code === '999999') {
|
|
|
+ this.$message.warning(res.msg || '打印失败')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ this.$message.success('打印成功')
|
|
|
+ this.secondPrintDialogVisible = false
|
|
|
+ this.getOrderList()
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
async showOrderDetail (order) {
|
|
|
await this.getOrderDetail(order)
|
|
|
this.$refs.orderDetail.show(this.currentOrder)
|