MONSTER-ygh 1 سال پیش
والد
کامیت
711ec2212f

+ 3 - 2
src/views/finance/flowingWaterMr/index.vue

@@ -73,7 +73,8 @@
       <el-table-column label="业务类型" align="center" prop="businessType" />
       <el-table-column label="产生渠道" align="center" prop="refundTime" width="160" >
         <template slot-scope="scope">
-          <span>{{ sourceMap[scope.row.source] }}</span>
+          <!-- <span>{{ sourceMap[scope.row.source] }}</span> -->
+          <dict-tag :options="dict.type.order_form_type" :value="scope.row.source"/>
         </template>
       </el-table-column>
       <el-table-column label="产生时间" align="center" prop="createTime" width="160" >
@@ -101,7 +102,7 @@ import { pageList, downOrderListXls } from '@/api/financeMr/flowingWaterMr'
 import { exportExcel } from '@/utils/exportexcel'
 export default {
   name: "agreement",
-  dicts: ['agreement_type'],
+  dicts: ['agreement_type','order_form_type'],
   data() {
     return {
       // 遮罩层

+ 3 - 0
src/views/order/orderMr/dialog/details.vue

@@ -47,6 +47,9 @@
         <el-col :span="12">
           <div style="display: flex;" class="grid-content bg-purple item-class">购票渠道: <span style="display: block;margin-left: 5px;"><dict-tag :options="dict.type.order_form_type" :value="form.source"/></span></div>
         </el-col>
+        <el-col :span="12" v-if="form.orderIdOrQrCode">
+          <div style="display: flex;" class="grid-content bg-purple item-class">核销码: <span style="display: block;margin-left: 5px;"><span>{{ form.orderIdOrQrCode }}</span></span></div>
+        </el-col>
         <el-col :span="12">
           <div class="grid-content bg-purple item-class">购票数量: <span>{{ form.viewerNum || '' }}</span></div>
         </el-col>

+ 70 - 22
src/views/windowTicketSales/model/increaseViewers.vue

@@ -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;

+ 5 - 0
src/views/windowTicketSales/ticketingCollection.vue

@@ -212,6 +212,11 @@
       };
     },
     created() {
+      console.log("params====",this.$route)
+      if(this.$route.query&&this.$route.query.orderId) {
+        this.$set(this.queryParams,'orderId',this.$route.query.orderId)
+        this.getList()
+      }
       //this.getList();
       //this.getPrintListApi()
     },

+ 1 - 1
src/views/windowTicketSales/ticketingSales.vue

@@ -256,7 +256,7 @@
                         message: res.msg,
                         type: 'success'
                     });
-                    this.querySeatListFun()
+                    this.querySeatListFun(true)
                 }
                 
             } catch (error) {