|
@@ -157,8 +157,8 @@
|
|
|
<el-form-item label="用户来源 :" prop="source">
|
|
|
<el-radio-group v-model="ruleForm.source">
|
|
|
<el-radio label="7">窗口</el-radio>
|
|
|
- <el-radio label="2">美团</el-radio>
|
|
|
- <el-radio label="3">携程</el-radio>
|
|
|
+ <el-radio label="10">美团</el-radio>
|
|
|
+ <el-radio label="11">携程</el-radio>
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
<el-form-item v-if="ruleForm.source && ruleForm.source != 7" label="核销码/订单码" prop="orderIdOrQrCode">
|
|
@@ -183,7 +183,7 @@
|
|
|
</div>
|
|
|
<!-- 支付过程 控制 -->
|
|
|
<div v-if="payStatus" class="increase-viewers-pay-status">
|
|
|
- <div class="increase-viewers-pay-status-info">
|
|
|
+ <div class="increase-viewers-pay-status-info" v-if="!loading">
|
|
|
<span style="font-weight: 600;font-size: 20px;">提示</span>
|
|
|
<span style="padding: 10px 0;">
|
|
|
{{ payStatus==1 ? '生成订单失败!!!' :
|
|
@@ -193,6 +193,7 @@
|
|
|
payStatus==6 ? '连接扫码器失败!!!' :
|
|
|
payStatus==7 ? '用户支付失败或未支付,请重新连接支付!!!' :
|
|
|
payStatus==8 ? '用户支付成功,请点击打印票!!!' :
|
|
|
+ payStatus==9 ? '支付超时!!!' :
|
|
|
payStatus==3 ? '现金支付记录入库失败,请重新提交' : '未知状态' }}
|
|
|
</span>
|
|
|
<!-- 重新生成订单 1 -->
|
|
@@ -211,6 +212,12 @@
|
|
|
<el-option :label="item.deviceName" :key="item.id" :value="item.id" v-for="(item,index) in printList"></el-option>
|
|
|
</el-select>
|
|
|
<el-button style="margin-left: 15px" @click="print" type="success">打印门票</el-button>
|
|
|
+ <el-button style="margin-left: 15px" @click="goTicketingCollections" type="success">跳转取票界面</el-button>
|
|
|
+ </div>
|
|
|
+ <!-- 支付超时 9 -->
|
|
|
+ <div v-if="payStatus==9">
|
|
|
+ <!-- <el-button @click="print" type="danger">取消支付</el-button> -->
|
|
|
+ <el-button @click="orderInfoSubmitFun()" type="primary">重新扫码</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -305,8 +312,10 @@ import {
|
|
|
{ id: "4" , name:'残疾军人' }
|
|
|
],
|
|
|
payTime: null, // 支付等待时间
|
|
|
+ payTimeNum: 0,
|
|
|
printListId: null,
|
|
|
- printList: []
|
|
|
+ printList: [],
|
|
|
+
|
|
|
};
|
|
|
|
|
|
},
|
|
@@ -319,7 +328,7 @@ import {
|
|
|
retailId: "", // 分销ID
|
|
|
goodsList: [], // 商品列表
|
|
|
auditoriumId: "", // 演出厅ID
|
|
|
- performTimeId: "1", // 场次时段ID
|
|
|
+ performTimeId: "", // 场次时段ID
|
|
|
seatTypeId: "", // 座位类型ID
|
|
|
source: '', // 订单来源
|
|
|
purchaser: {},// 购票人信息
|
|
@@ -420,6 +429,31 @@ import {
|
|
|
this.dialogVisible = false
|
|
|
}
|
|
|
},
|
|
|
+ /** 取消订单 */
|
|
|
+ async orderInfoCancelFun(type){
|
|
|
+ try {
|
|
|
+ this.loading = true
|
|
|
+ this.loadingText = "取消订单中..."
|
|
|
+ orderInfoCancel({
|
|
|
+ orderId: this.orderId
|
|
|
+ }).then((res)=>{
|
|
|
+ if(res.code==200) {
|
|
|
+ if(type){ // 关闭弹窗
|
|
|
+ this.$emit('clearDialogVisible')
|
|
|
+ this.dialogVisible = false
|
|
|
+ }else {
|
|
|
+ this.payStatus = 9
|
|
|
+ this.loading = false
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }).catch(()=>{
|
|
|
+ this.$message.error('订单关闭失败!!!');
|
|
|
+ })
|
|
|
+ } catch (error) {
|
|
|
+
|
|
|
+ }
|
|
|
+ },
|
|
|
/** 退出窗口 */
|
|
|
handleClose(done) {
|
|
|
// if(this.payStatus==8) {
|
|
@@ -429,16 +463,7 @@ import {
|
|
|
this.$confirm('确认关闭?')
|
|
|
.then(_ => {
|
|
|
if(this.orderId){
|
|
|
- orderInfoCancel({
|
|
|
- orderId: this.orderId
|
|
|
- }).then((res)=>{
|
|
|
- if(res.code==200) {
|
|
|
- this.$emit('clearDialogVisible')
|
|
|
- this.dialogVisible = false
|
|
|
- }
|
|
|
- }).catch(()=>{
|
|
|
- this.$message.error('订单关闭失败!!!');
|
|
|
- })
|
|
|
+ this.orderInfoCancelFun(true)
|
|
|
}else {
|
|
|
this.dialogVisible = false
|
|
|
}
|
|
@@ -571,6 +596,7 @@ import {
|
|
|
"authCode": code // 微信扫码支付-支付码
|
|
|
})
|
|
|
if(res.code == 200){
|
|
|
+ this.payTimeNum = 0
|
|
|
this.websocketClear()
|
|
|
if(this.payTime){
|
|
|
clearInterval(this.payTime)
|
|
@@ -603,9 +629,10 @@ import {
|
|
|
if(this.payTime){
|
|
|
clearInterval(this.payTime)
|
|
|
}
|
|
|
+ this.payTimeNum = 0
|
|
|
this.payTime = setInterval(()=>{
|
|
|
this.payQueryFun(this.orderId)
|
|
|
- },1500)
|
|
|
+ },1000)
|
|
|
}else{
|
|
|
this.$message.error('订单入库中失败!!!');
|
|
|
this.loading = false
|
|
@@ -617,11 +644,29 @@ import {
|
|
|
this.payStatus = 3
|
|
|
}
|
|
|
},
|
|
|
+ // 跳转取票界面
|
|
|
+ goTicketingCollections(){
|
|
|
+ this.$router.push({
|
|
|
+ path:"/windowTicketSales/ticketingCollections",
|
|
|
+ query:{
|
|
|
+ orderId: this.orderId
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
|
|
|
/** 查看支付 状态 */
|
|
|
async payQueryFun(orderId){
|
|
|
this.loading = true
|
|
|
+
|
|
|
try {
|
|
|
+ this.payTimeNum = this.payTimeNum + 1
|
|
|
+ if(this.payTimeNum==15){
|
|
|
+ if(this.payTime){
|
|
|
+ clearInterval(this.payTime)
|
|
|
+ }
|
|
|
+ this.orderInfoCancelFun()
|
|
|
+ return
|
|
|
+ }
|
|
|
if(this.ruleForm.paymentType == 2){
|
|
|
this.loadingText = "订单入库中..."
|
|
|
}else {
|
|
@@ -652,16 +697,19 @@ import {
|
|
|
clearInterval(this.payTime)
|
|
|
}
|
|
|
if(this.ruleForm.paymentType == 2){
|
|
|
- this.$message.error('"订单入库中成功"');
|
|
|
+ this.$message.error('"订单入库成功"');
|
|
|
this.loading = false
|
|
|
- this.payStatus = 8
|
|
|
- this.getPrintListApi()
|
|
|
+ // this.payStatus = 8
|
|
|
+ // this.getPrintListApi()
|
|
|
+ this.goTicketingCollections()
|
|
|
+
|
|
|
}else {
|
|
|
this.$message('用户已支付!!!');
|
|
|
// 开始 打印
|
|
|
this.loading = false
|
|
|
- this.payStatus = 8
|
|
|
- this.getPrintListApi()
|
|
|
+ // this.payStatus = 8
|
|
|
+ // this.getPrintListApi()
|
|
|
+ this.goTicketingCollections()
|
|
|
}
|
|
|
|
|
|
|
|
@@ -896,7 +944,7 @@ import {
|
|
|
width: 100%;
|
|
|
height: 100%;
|
|
|
position: absolute;
|
|
|
- z-index: 999999;
|
|
|
+ z-index: 999;
|
|
|
background-color: rgba(0,0,0,0.3);
|
|
|
top: 0;
|
|
|
left: 0;
|