MONSTER-ygh 1 bulan lalu
induk
melakukan
6039ce3292

+ 1 - 4
src/components/seatBox/index.vue

@@ -524,10 +524,7 @@
                     item.isDisabled || item.status != 1 ? 'disabled-class' :
                     item.isSelect ? 'select-class' : ''
             if(!str) {
-                // if(item.isSame || item.isUse == 2) { // 是否为可选的座位类型
-                //     str = 'seat_is_same'
-                // }
-                if(item.isSame) { // 是否为可选的座位类型
+                if(item.isSame || item.isUse == 2) { // 是否为不可选的座位类型
                     str = 'seat_is_same'
                 }
                 if(item.channelType && item.channelType != this.channelType) { // 是否属于窗口售卖座位

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

@@ -105,16 +105,16 @@
           </el-col>
         </el-row>
 
-        <div class="title-class" v-if="resubmit.id">改签信息</div>
+        <div class="title-class" v-if="resubmit.id">{{form.resubmit && form.resubmit.resubmitType == 2 ? '升舱':'改签'}}信息</div>
         <el-row  v-if="resubmit.id">
           <el-col :span="12">
             <div class="grid-content bg-purple item-class">
-              改签费用: <span>{{ resubmit.diffPrice || 0 }}</span>
+              {{form.resubmit && form.resubmit.resubmitType == 2 ? '升舱':'改签'}}费用: <span>{{ resubmit.diffPrice || 0 }}</span>
               <span v-if="resubmit.diffPrice<0">({{ resubmit.remark }})</span>
             </div>
           </el-col>
           <el-col :span="12">
-            <div class="grid-content bg-purple item-class">改签时间: <span>{{ resubmit.createTime || '' }}</span></div>
+            <div class="grid-content bg-purple item-class">{{form.resubmit && form.resubmit.resubmitType == 2 ? '升舱':'改签'}}时间: <span>{{ resubmit.createTime || '' }}</span></div>
           </el-col>
           <el-col :span="12">
             <div class="grid-content bg-purple item-class" v-if="resubmit.diffPrice<0">退款方式: <span>{{ resubmit.refundWay || '原路返回' }}</span></div>

+ 1 - 1
src/views/otaMr/maoyan/index.vue

@@ -6,7 +6,7 @@
 
     <el-table ref="tables" v-loading="loading" :data="dataList" border>
       <el-table-column label="序号" align="center" type="index" width="50"></el-table-column>
-      <el-table-column label="美团ID" align="center" prop="id" />
+      <el-table-column label="猫眼ID" align="center" prop="id" />
       <el-table-column label="演出厅" align="center" prop="performHallName" />
       <el-table-column label="剧目名称" align="center" prop="performName" />
       <el-table-column label="商品名称" align="center" prop="goodsName" />

+ 1 - 1
src/views/ticket/schedulingConfiguration/index.vue

@@ -381,7 +381,7 @@ export default {
       try {
         let timeS = this.setTimeValueObj()
         if(!timeS) return
-        this.$modal.confirm(`确定要批量${ type == 1 ? '启用' : '禁用' }" ${timeS.startDate} —— ${timeS.endDate} "的日期范围内的场次吗?`).then(async ()=> {
+        this.$modal.confirm(`确定要批量${ type == 1 ? '启用' : '禁用' }" ${timeS.startDate} —— ${timeS.endDate} "的日期范围内的场次吗?`).then(async ()=> {
           let res = await updateStatusByDateApi({
             startDate: timeS.startDate,
             endDate: timeS.endDate,

+ 4 - 1
src/views/ticket/ticketMr/dialog/addAndEdit.vue

@@ -56,7 +56,7 @@
                 />
               </el-select>
             </el-form-item>
-            <el-form-item label="包含人数:" prop="personnelNum" v-if="channelType!=='group'">
+            <el-form-item label="包含人数:" prop="personnelNum" v-if=" channelType != 'group' ">
               <el-input-number v-model="form.personnelNum" :step="1" step-strictly :min="0" :controls="false" controls-position="right" placeholder="请输入包含人数"></el-input-number>
                 <p>0-表示不限制 其他数字表示限制人数</p>
               <!-- <span v-if="form.oneMany == 1">0-表示不限制 其他数字表示限制人数</span>
@@ -494,6 +494,8 @@ export default {
         this.$nextTick(() => {
           this.form = {}
           this.$set(this.form, 'id', obj.id);
+          this.$set(this.form,'channelType',obj.channelType)
+          this.channelType = obj.channelType
           this.$set(this.form, 'goodsName', obj.goodsName);
           this.$set(this.form, 'seatType', obj.seatTypeList ? obj.seatTypeList.map(item => item.seatTypeId) : []);
           this.$set(this.form, 'isAuth', obj.isAuth);
@@ -694,6 +696,7 @@ export default {
       this.$set(this.form, 'allowReSubmit', 1);
       this.$set(this.form, 'talkName', '');
       this.$set(this.form, 'reSubmitTime', '');
+      this.$set(this.form, 'printName','')
     },
     /**
      * 关闭弹框

+ 10 - 13
src/views/ticket/ticketMr/dialog/details.vue

@@ -26,22 +26,10 @@
         <el-col :span="12">
           <div class="grid-content bg-purple item-class">是否实名: <span>{{ form.isAuth == 1 ? '是' : '否' }}</span></div>
         </el-col>
-        <!-- <el-col :span="12">
-          <div class="grid-content bg-purple item-class">散客是否实名: <span>{{ form.goodsPerform && (form.goodsPerform.ifRealUser==1?'是':form.goodsPerform.ifRealUser==0?'否':'-') }}</span></div>
-        </el-col> -->
-        <!-- <el-col :span="12">
-          <div class="grid-content bg-purple item-class">团购是否实名: <span>{{ form.goodsPerform && (form.goodsPerform.ifRealTeam==1?'是':form.goodsPerform.ifRealTeam==0?'否':'-') }}</span></div>
-        </el-col> -->
-        <!-- <el-col :span="12" v-if="form.goodsPerform && (form.goodsPerform.ifRealTeam == 1 || form.goodsPerform.ifRealUser == 1)">
-          <div class="grid-content bg-purple item-class">实名要求: <span>{{ form.goodsPerform && (form.goodsPerform.oneMany==1?'一证一人':form.goodsPerform.oneMany==2?'一证多人':'-') }}</span></div>
-        </el-col>
-        <el-col :span="12" v-if="form.goodsPerform && (form.goodsPerform.ifRealTeam == 1 || form.goodsPerform.ifRealUser == 1)">
-          <div class="grid-content bg-purple item-class">包含人数(人): <span>{{ form.goodsPerform && form.goodsPerform.personnelNum }}</span></div>
-        </el-col> -->
         <el-col :span="12">
           <div class="grid-content bg-purple item-class">证件要求: <span>{{ form.goodsPerform && (form.goodsPerform.oneMany==1?'一证一人':form.goodsPerform.oneMany==2?'一证多人':'-') }}</span></div>
         </el-col>
-        <el-col :span="12">
+        <el-col :span="12" v-if="form.channelType != 'group'">
           <div class="grid-content bg-purple item-class">包含人数(人): <span>{{ form.goodsPerform && form.goodsPerform.personnelNum }}</span></div>
         </el-col>
         <el-col :span="12">
@@ -55,6 +43,9 @@
             <span>{{ getSeatTypeNames(form.seatTypeList) }}</span>
           </div>
         </el-col>
+        <el-col :span="24" v-if="form.goodsPerform">
+          <div class="grid-content bg-purple item-class">纸质票票务名称:<span>{{ form.printName }}</span></div>
+        </el-col>
       </el-row>
 
       <!--   演出信息   -->
@@ -118,6 +109,9 @@
             <span v-if="form.goodsPerform.backStatus == 0">(按购买日期结算, 提前{{ form.performRefundRule.days }}天{{ form.performRefundRule.hour }}时可退)</span>
           </div>
         </el-col>
+        <el-col :span="24">
+          <div class="grid-content bg-purple item-class">禁止改签时间:<span>开演前{{ form.reSubmitTime }}分钟内</span></div>
+        </el-col>
       </el-row>
 
       <!--   核销信息   -->
@@ -135,6 +129,9 @@
             <el-tag style="margin-left: 10px;" v-if="form.goodsPerform.verificationIdcard == 0">身份证</el-tag>
           </div>
         </el-col>
+        <el-col :span="12">
+          <div class="grid-content bg-purple item-class">票务闸机播报名称: <span>{{ form.talkName }}</span></div>
+        </el-col>
       </el-row>
     </div>
 

+ 1 - 0
src/views/windowTicketSales/mixins/pay.js

@@ -333,6 +333,7 @@ export default {
                                 this.loading = false
                                 // this.payStatus = 8
                                 // this.getPrintListApi()
+                                this.rebookDialog = false
                                 this.goTicketingCollections()
                                 
                             }else {

+ 17 - 2
src/views/windowTicketSales/model/rebookBox.vue

@@ -76,6 +76,13 @@
                                 <el-radio label="5">授信余额</el-radio>
                             </el-radio-group>
                         </el-form-item>
+                        <el-form-item v-if="rebookForm.diffPrice > 0 && rebookForm.paymentType == 2 " label="收取现金 :"  prop="realPrice_1">
+                            <el-input @input="setRealPrice_1" style="width: 200px;" v-model="rebookForm.realPrice_1"></el-input>
+                            <span>元</span>
+                        </el-form-item>
+                        <el-form-item label="找零金额 :" v-if="rebookForm.diffPrice > 0 && ruleForm.paymentType == 2">
+                            ¥{{ rebookForm.small }}元
+                        </el-form-item>
                         <el-form-item label="备注:">
                             <el-input
                                 v-model="rebookForm.resubmitRemark"
@@ -86,7 +93,7 @@
                         </el-form-item>
                     </el-form>
                     <div class="tip-box">
-                        <p>温馨提示:每张票仅限改签一次,改签成功后原订单费用将原路返回退还给客户,请知悉。</p>
+                        <p>温馨提示:仅限改签一次,且改签后禁止退款,确认要继续改签吗?</p>
                     </div>
                 </div>
                 <div class="rebook1_seat" v-loading="seatLoading" :element-loading-text="seatLoadText">
@@ -174,6 +181,7 @@ import { countBySeatTyp } from '@/api/ticketMr/InventoryTemplate'
 import { pageList as getSeatType } from '@/api/seatTypeMr/seatTypeMr'
 import seatBox from '@/components/seatBox/index.vue';
 import payJs from "../mixins/pay"
+const mathM = require('mathjs')
 export default {
     name: "RebookBox",
     components: { seatBox },
@@ -227,7 +235,7 @@ export default {
             this.rebookDialog = true
             this.payStatus = null
             this.rebookForm = {
-                resubmitType: 2,  // 改签类型: 1-改签 2-升舱 不传默认为改签
+                resubmitType: 1,  // 改签类型: 1-改签 2-升舱 不传默认为改签
                 goodsDiffAmount: undefined,
                 performName: row.performName,
                 goodsName: row.goodsName,
@@ -259,6 +267,8 @@ export default {
             this.intervalListLoading = true
             this.rebookForm.performTimeId = undefined
             this.intervalList = []
+            this.$set(this.rebookForm,'realPrice',0)
+            this.$set(this.rebookForm,'realPrice',0)
             if (!this.rebookForm.performDate) return
             
             getDateTimeAll({
@@ -438,6 +448,11 @@ export default {
             this.rebookForm.seatList = list1
             console.log("已选择的====",list)
         },
+        setRealPrice_1(value) {
+            if(this.rebookForm.realPrice && !isNaN(this.rebookForm.realPrice) && value && !isNaN(value)) {
+                this.$set(this.rebookForm,'small',mathM.format(Number(value) - Number(this.rebookForm.realPrice),10) )
+            }
+        },
     }
 }
 </script>

+ 17 - 1
src/views/windowTicketSales/model/upgradeBox.vue

@@ -76,6 +76,13 @@
                                 <el-radio label="5">授信余额</el-radio>
                             </el-radio-group>
                         </el-form-item>
+                        <el-form-item v-if="rebookForm.diffPrice > 0 && rebookForm.paymentType == 2 " label="收取现金 :"  prop="realPrice_1">
+                            <el-input @input="setRealPrice_1" style="width: 200px;" v-model="rebookForm.realPrice_1"></el-input>
+                            <span>元</span>
+                        </el-form-item>
+                        <el-form-item label="找零金额 :" v-if="rebookForm.diffPrice > 0 && ruleForm.paymentType == 2">
+                            ¥{{ rebookForm.small }}元
+                        </el-form-item>
                         <el-form-item label="备注:">
                             <el-input
                                 v-model="rebookForm.resubmitRemark"
@@ -182,6 +189,7 @@ import {
  import { getSelectById } from '@/api/order/orderMr'
  import seatBox from '@/components/seatBox/index.vue';
  import payJs from "../mixins/pay"
+ const mathM = require('mathjs')
 export default {
     name: "RebookBox",
     components: { seatBox },
@@ -342,6 +350,10 @@ export default {
                     realPrice: res.data.reSubmitInfo.realPrice,
                     diffPrice: res.data.reSubmitInfo.diffPrice
                 }
+
+                if(this.rebookForm.diffPrice <= 0) {
+                    this.rebookForm.paymentType == "2"
+                }
             } catch (error) {
                 
             }
@@ -439,7 +451,11 @@ export default {
             this.rebookForm.seatList = list1
             console.log("已选择的====",list)
         },
-        
+        setRealPrice_1(value) {
+            if(this.rebookForm.realPrice && !isNaN(this.rebookForm.realPrice) && value && !isNaN(value)) {
+                this.$set(this.rebookForm,'small',mathM.format(Number(value) - Number(this.rebookForm.realPrice),10) )
+            }
+        },
     }
 }
 </script>

+ 7 - 2
src/views/windowTicketSales/rebook.vue

@@ -62,6 +62,11 @@
             <el-table-column label="日期" align="center" prop="performDate" />
             <el-table-column label="场次" align="center" prop="performInterval" />
             <el-table-column label="下单时间" align="center" prop="createTime" />
+            <el-table-column label="支付方式" align="center" prop="payWay">
+              <template slot-scope="scope">
+                <dict-tag :options="dict.type.pay_way_type" :value="scope.row.payWay"/>
+              </template>
+            </el-table-column>
             <el-table-column label="支付金额" align="center" prop="realPrice" />
             <el-table-column label="购票渠道" align="center" prop="channelType">
               <template slot-scope="scope">
@@ -79,7 +84,7 @@
                 type="primary" 
                 size="small"
                 @click="handleUpgrade(scope.row)"
-                v-if="hasPermi('windowTicketSales:rebook:rebook') && scope.row.allowReSubmit == 1 && scope.row.status == 3"
+                v-if="hasPermi('windowTicketSales:rebook:rebook') && scope.row.allowReSubmit == 1 && scope.row.status == 3 && scope.row.channelType != 'group'"
                 >升舱</el-button>
                 <el-button 
                 type="primary" 
@@ -117,7 +122,7 @@ import upgradeBox from "./model/upgradeBox.vue"
 import auth from '@/plugins/auth'
 export default {
   name: 'Rebook',
-  dicts: ['order_status_type', 'channel_type'],
+  dicts: ['order_status_type', 'channel_type','pay_way_type'],
   components: { rebookBox,upgradeBox },
   data() {
     return {