|
@@ -15,9 +15,6 @@
|
|
|
<div class="rebook1_box" v-loading="loading">
|
|
|
<div class="rebook1_from-box">
|
|
|
<div class="rebook1_from">
|
|
|
- <div class="tip-box">
|
|
|
- <p>温馨提示:每张票仅限改签一次,改签成功后原订单费用将原路返回退还给客户,请知悉。</p>
|
|
|
- </div>
|
|
|
<el-form :model="rebookForm" ref="rebookForm" label-width="100px" :rules="rules">
|
|
|
<el-form-item label="剧目名称:">
|
|
|
<span>{{ rebookForm.performName }}</span>
|
|
@@ -28,6 +25,9 @@
|
|
|
<el-form-item label="座位类型:">
|
|
|
<span>{{ rebookForm.seatTypeName }}</span>
|
|
|
</el-form-item>
|
|
|
+ <el-form-item label="订单座位数:">
|
|
|
+ <span>{{ rebookForm.touristNum }}个</span>
|
|
|
+ </el-form-item>
|
|
|
|
|
|
<el-form-item label="选择日期:" prop="performDate">
|
|
|
<el-date-picker
|
|
@@ -42,7 +42,7 @@
|
|
|
v-model="rebookForm.performTimeId"
|
|
|
placeholder="选择场次"
|
|
|
style="width: 100%"
|
|
|
- @change="selectRegionFun"
|
|
|
+ @change="querySeatListFun"
|
|
|
>
|
|
|
<el-option
|
|
|
v-for="item in intervalList"
|
|
@@ -62,6 +62,9 @@
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
+ <div class="tip-box">
|
|
|
+ <p>温馨提示:每张票仅限改签一次,改签成功后原订单费用将原路返回退还给客户,请知悉。</p>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<div class="rebook1_seat" v-loading="seatLoading" :element-loading-text="seatLoadText">
|
|
|
<seatBox
|
|
@@ -147,7 +150,7 @@
|
|
|
</el-dialog>
|
|
|
</template>
|
|
|
<script>
|
|
|
-import { reSubmitPageList, getDateTimeAll, rebook } from '@/api/windowTicketSales/rebook'
|
|
|
+import { getDateTimeAll } from '@/api/windowTicketSales/rebook'
|
|
|
import {
|
|
|
orderInfoSubmit,
|
|
|
gotoMicroPay,
|
|
@@ -160,7 +163,8 @@ import {
|
|
|
orderInfoCancel,
|
|
|
factorAuth,
|
|
|
selectMarketTeamBySourceApi,
|
|
|
- querySeatListNew
|
|
|
+ querySeatListNew,
|
|
|
+ querySeatList,
|
|
|
} from '@/api/windowTicketSales/ticketingSales'
|
|
|
import { pageList as getPrintListApi } from "@/api/device/pda";
|
|
|
import { printApi } from '@/api/windowTicketSales/ticketingCollection'
|
|
@@ -168,9 +172,6 @@ import {
|
|
|
import { countBySeatTyp } from '@/api/ticketMr/InventoryTemplate'
|
|
|
import { pageList as getSeatType } from '@/api/seatTypeMr/seatTypeMr'
|
|
|
import seatBox from '@/components/seatBox/index.vue';
|
|
|
- import {
|
|
|
- querySeatList,
|
|
|
- } from '@/api/windowTicketSales/ticketingSales'
|
|
|
const mathM = require('mathjs')
|
|
|
const https = require('https');
|
|
|
const axios = require('axios');
|
|
@@ -236,7 +237,8 @@ export default {
|
|
|
performTimeId: undefined,
|
|
|
performId: row.performId,
|
|
|
auditoriumId: row.auditoriumId,
|
|
|
- paymentType: "1", // 支付方式
|
|
|
+ paymentType: "1", // 支付方式'
|
|
|
+ touristNum: row.touristNum,
|
|
|
seatList: []
|
|
|
}
|
|
|
await this.countBySeatTypFun(row.auditoriumId)
|
|
@@ -261,8 +263,12 @@ export default {
|
|
|
orderId: this.rebookForm.orderId,
|
|
|
performId: this.rebookForm.performId,
|
|
|
auditoriumId: this.rebookForm.auditoriumId
|
|
|
- }).then(response => {
|
|
|
- this.intervalList = response.data.list || []
|
|
|
+ }).then(res => {
|
|
|
+ this.intervalList = res.data.list || []
|
|
|
+ if(this.intervalList.length == 0){
|
|
|
+ this.$message.error('没有可售卖的场次!!!');
|
|
|
+ }
|
|
|
+
|
|
|
this.intervalListLoading = false
|
|
|
}).catch(()=>{
|
|
|
this.intervalListLoading = true
|
|
@@ -285,6 +291,10 @@ export default {
|
|
|
this.$message.error('请选择座位!!!');
|
|
|
return
|
|
|
}
|
|
|
+ if( this.rebookForm.seatList.length < this.rebookForm.touristNum ) {
|
|
|
+ this.$message.error(`请选择${ this.rebookForm.touristNum }座位!!!`);
|
|
|
+ return
|
|
|
+ }
|
|
|
this.orderInfoSubmitFun()
|
|
|
} else {
|
|
|
return false;
|
|
@@ -851,60 +861,23 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
|
|
|
-
|
|
|
-
|
|
|
- /** 获取票务信息 */
|
|
|
- async selectRegionFun(){
|
|
|
- try {
|
|
|
- this.seatLoading = true
|
|
|
- this.seatLoadText = "获取座位中..."
|
|
|
- let res = await selectRegion({
|
|
|
- "auditoriumId": this.rebookForm.auditoriumId, // 演艺厅ID
|
|
|
- "goodsId": this.rebookForm.goodsId, // 商品ID
|
|
|
- "performId": this.rebookForm.performId, // 上一界面节目ID
|
|
|
- "performTimeId": this.rebookForm.timeId, // 时段ID
|
|
|
- "retailId": "" // 分销ID
|
|
|
- })
|
|
|
- if(res.code == 200) {
|
|
|
- if(res.data.regionPriceList &&res.data.regionPriceList.length>0){
|
|
|
- let obj = {}
|
|
|
- res.data.regionPriceList.forEach((item,index)=>{
|
|
|
- if(this.rebookForm.seatTypeId == item.seatTypeId) {
|
|
|
- obj = item
|
|
|
- }
|
|
|
- })
|
|
|
- if(JSON.stringify(obj) != '{}'){
|
|
|
- this.querySeatListFun()
|
|
|
- }else {
|
|
|
- this.$message.error('存在座位未设置价格,请选择其他票!!!');
|
|
|
- this.seatLoading = false
|
|
|
- }
|
|
|
-
|
|
|
- }else {
|
|
|
- this.$message.error('存在座位未设置价格,请选择其他票!!!');
|
|
|
- this.seatLoading = false
|
|
|
- }
|
|
|
- console.log("res====",res)
|
|
|
- }else {
|
|
|
- this.$message.error(res.msg);
|
|
|
- this.seatLoading = false
|
|
|
- }
|
|
|
- } catch (error) {
|
|
|
- console.error("error=====",error)
|
|
|
- this.$message.error('价格查询出错');
|
|
|
- this.seatLoading = false
|
|
|
- }
|
|
|
- },
|
|
|
/** 获取座位 */
|
|
|
async querySeatListFun(type){
|
|
|
try {
|
|
|
- let res = await querySeatList({
|
|
|
+ let res = await querySeatListNew({
|
|
|
auditoriumId: this.rebookForm.auditoriumId,
|
|
|
timeId: this.rebookForm.performTimeId,
|
|
|
goodsId: this.rebookForm.goodsId,
|
|
|
})
|
|
|
if(res.code == 200){
|
|
|
- this.setList = res.data;
|
|
|
+ let list1 = []
|
|
|
+ res.data.forEach((item,index)=>{
|
|
|
+ list1.push({
|
|
|
+ ...item,
|
|
|
+ isSame: this.rebookForm.seatTypeId != item.seatTypeId
|
|
|
+ })
|
|
|
+ })
|
|
|
+ this.setList = list1;
|
|
|
let list = []
|
|
|
let list3 = []
|
|
|
this.countBySeatTypList.forEach((item,index)=>{
|
|
@@ -943,7 +916,7 @@ export default {
|
|
|
isNoSelect: true,
|
|
|
}
|
|
|
if(item.seatTypeId == this.rebookForm.seatTypeId){
|
|
|
- obj['seatNum_'+item.seatTypeId].stockYes = item.stock-1
|
|
|
+ obj['seatNum_'+item.seatTypeId].stockYes = item.stock-this.rebookForm.touristNum
|
|
|
obj['seatNum_'+item.seatTypeId].isNoSelect = false
|
|
|
}
|
|
|
})
|
|
@@ -1001,6 +974,11 @@ export default {
|
|
|
padding: 0 20px 0 0;
|
|
|
width: 400px;
|
|
|
box-sizing: border-box;
|
|
|
+ .tip-box {
|
|
|
+ >p {
|
|
|
+ color: red;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
.rebook1_seat {
|
|
|
width: calc( 100% - 400px );
|