bafb8f2d by 杨炀

Merge branch 'dev' of https://code.itechtop.cn/yangyang/dance-pc into dev

2 parents 1227a2db a957eab0
...@@ -237,7 +237,7 @@ async function changeSelectIn() { ...@@ -237,7 +237,7 @@ async function changeSelectIn() {
237 async function changeSelectOut() { 237 async function changeSelectOut() {
238 const res = await booking.getVehicleByCheckIn({ 238 const res = await booking.getVehicleByCheckIn({
239 activityId: route.params.cptId, 239 activityId: route.params.cptId,
240 checkIn: form1.value.checkIn, 240 checkIn: form2.value.checkIn,
241 category: '1' 241 category: '1'
242 }) 242 })
243 form2.value.checkOut = '' 243 form2.value.checkOut = ''
...@@ -273,13 +273,21 @@ async function handleSubmit(v) { ...@@ -273,13 +273,21 @@ async function handleSubmit(v) {
273 // category: v 273 // category: v
274 // }) 274 // })
275 } 275 }
276 await router.push({ 276 const res = await booking.checkOrderPay('1')
277 name: 'carList', 277 if (!res.data) {
278 params: { 278 await proxy.$modal.confirm(language == 0 ? '您有未支付的订单,请前往支付!' : 'You have unpaid orders, please proceed to payment!')
279 id: route.params.cptId 279 await router.push({
280 }, 280 path: '/center/myReservation'
281 query: obj 281 })
282 }) 282 } else {
283 await router.push({
284 name: 'carList',
285 params: {
286 id: route.params.cptId
287 },
288 query: obj
289 })
290 }
283 } 291 }
284 292
285 293
......
...@@ -271,19 +271,26 @@ ...@@ -271,19 +271,26 @@
271 <el-col :span="24">{{ language == 0 ? '备注' : 'Remarks' }}{{ form.remarks }}</el-col> 271 <el-col :span="24">{{ language == 0 ? '备注' : 'Remarks' }}{{ form.remarks }}</el-col>
272 </el-row> 272 </el-row>
273 <el-row v-if="type == 'ticket'" style="width: 100%"> 273 <el-row v-if="type == 'ticket'" style="width: 100%">
274 <el-col :lg="12"> 274 <el-col :lg="8">
275 {{ language == 0 ? '联系人' : 'Contact' }}{{ form.contacts }} 275 {{ language == 0 ? '联系人' : 'Contact' }}{{ form.contacts }}
276 </el-col> 276 </el-col>
277 <el-col :lg="12"> 277 <el-col :lg="8">
278 {{ language == 0 ? '联系方式' : 'Contact' }}{{ form.phone }}
279 </el-col>
280 <el-col :lg="8">
278 {{ language == 0 ? '联系方式' : 'Contact' }}{{ form.phone }} 281 {{ language == 0 ? '联系方式' : 'Contact' }}{{ form.phone }}
279 </el-col> 282 </el-col>
280 <el-row v-for="(v,i) in form.extJson?.orderCustomerList" :key="i" style="width: 100%"> 283 <el-row v-for="(v,i) in form.extJson?.orderCustomerList" :key="i" style="width: 100%">
281 <el-col :lg="12" :md="12" :sm="12" :xs="24"> 284 <el-col :lg="8" :md="8" :sm="12" :xs="24">
282 {{ v.name }} - 285 {{ v.name }} -
283
284 <span class="text-gray">{{ v.idCard }}</span> 286 <span class="text-gray">{{ v.idCard }}</span>
285 </el-col> 287 </el-col>
286 <el-col :lg="12" :md="12" :sm="12" :xs="24" class="text-right"> 288 <el-col :lg="8" :md="8" :sm="12" :xs="24" class="">
289 <span v-if="v.deskNo" class="">{{ language == 0 ? '座位号' : 'Seat Number' }}{{
290 v.deskNo + '-' + v.seatNo
291 }}</span>
292 </el-col>
293 <el-col :lg="8" :md="8" :sm="12" :xs="24" class="text-right">
287 <span v-if="language == 0 " class="text-primary">{{ form.price }}</span> 294 <span v-if="language == 0 " class="text-primary">{{ form.price }}</span>
288 <span v-else>{{ form.priceEn || 0 }}</span> 295 <span v-else>{{ form.priceEn || 0 }}</span>
289 </el-col> 296 </el-col>
......
1 <template> 1 <template>
2 <div> 2 <div>
3 <!-- top --> 3 <!-- top -->
4 <div class="container top"> 4 <div class="container top father">
5 <img :src="fillImgUrl(matchForm.ticketImg)" alt="" class="cover_img"> 5 <img :src="fillImgUrl(matchForm.ticketImg)" alt="" class="cover_img">
6 <div class="info"> 6 <div class="info">
7 <div class="title">{{ matchForm.name }}</div> 7 <div class="title">{{ matchForm.name }}</div>
...@@ -114,6 +114,7 @@ ...@@ -114,6 +114,7 @@
114 > 114 >
115 {{ it.name }} 115 {{ it.name }}
116 </div> 116 </div>
117 <div v-if="remarks" class="remarks">{{ remarks }}</div>
117 </div> 118 </div>
118 </div> 119 </div>
119 120
...@@ -151,15 +152,15 @@ ...@@ -151,15 +152,15 @@
151 {{ triggerLanguage(language, "票型", "Ticket Type") }} : 152 {{ triggerLanguage(language, "票型", "Ticket Type") }} :
152 </div> 153 </div>
153 <div> 154 <div>
154 <span 155 <!-- <span-->
155 v-if="currTick?.images" 156 <!-- v-if="currTick?.images"-->
156 style="color: #493ceb;cursor:pointer;font-weight:600;font-size: 14px" 157 <!-- style="color: #493ceb;cursor:pointer;font-weight:600;font-size: 14px"-->
157 @click="showUrl=currTick.images;show=true" 158 <!-- @click="showUrl=currTick.images;show=true"-->
158 > <span style="color: red;font-size: 18px">*</span> 159 <!-- > <span style="color: red;font-size: 18px">*</span>-->
159 {{ 160 <!-- {{-->
160 language == 0 ? '点击查看区域布局' : 'View Area Layout' 161 <!-- language == 0 ? '点击查看区域布局' : 'View Area Layout'-->
161 }} 162 <!-- }}-->
162 </span> 163 <!-- </span>-->
163 </div> 164 </div>
164 </div> 165 </div>
165 <div class="select_item_box"> 166 <div class="select_item_box">
...@@ -221,7 +222,15 @@ ...@@ -221,7 +222,15 @@
221 </div> 222 </div>
222 223
223 </div> 224 </div>
224 225 <el-image
226 v-if="currTick?.images"
227 :preview-src-list="[fillImgUrl(currTick?.images)]"
228 :src="fillImgUrl(currTick?.images) "
229 class="son"
230 fit="cover"
231 preview-teleported
232 style="width:200px"
233 />
225 </div> 234 </div>
226 </div> 235 </div>
227 236
...@@ -278,6 +287,7 @@ const active = ref(1) ...@@ -278,6 +287,7 @@ const active = ref(1)
278 const props = defineProps({ 287 const props = defineProps({
279 activityId: [String, Number] 288 activityId: [String, Number]
280 }) 289 })
290 const remarks = ref()
281 const timeData = ref() 291 const timeData = ref()
282 const endTime = ref() 292 const endTime = ref()
283 const matchForm = ref({}) 293 const matchForm = ref({})
...@@ -336,6 +346,7 @@ async function getVenueList() { ...@@ -336,6 +346,7 @@ async function getVenueList() {
336 venueList.value = res.rows 346 venueList.value = res.rows
337 currVenue.value = res.rows[0] 347 currVenue.value = res.rows[0]
338 selectForm.value.latsId = res.rows[0]?.id 348 selectForm.value.latsId = res.rows[0]?.id
349 if (venueList.value.length > 0) remarks.value = res.rows[0].remarks
339 await getTicketListType() 350 await getTicketListType()
340 } 351 }
341 352
...@@ -345,10 +356,10 @@ async function getTicketListType() { ...@@ -345,10 +356,10 @@ async function getTicketListType() {
345 tickList.value = res.data 356 tickList.value = res.data
346 selectForm.value.sessionType = Object.keys(res.data)[0] 357 selectForm.value.sessionType = Object.keys(res.data)[0]
347 358
348 currTick.value = tickList.value[selectForm.value.sessionType][0] 359 // currTick.value = tickList.value[selectForm.value.sessionType][0]
349 selectForm.value.latstId = currTick.value?.id 360 // selectForm.value.latstId = currTick.value?.id
350 selectForm.value.price = currTick.value?.price 361 // selectForm.value.price = currTick.value?.price
351 selectForm.value.priceEn = currTick.value?.priceEn 362 // selectForm.value.priceEn = currTick.value?.priceEn
352 } 363 }
353 364
354 function select(v) { 365 function select(v) {
...@@ -371,19 +382,20 @@ function selectVenue(v) { ...@@ -371,19 +382,20 @@ function selectVenue(v) {
371 selectForm.value.id = null 382 selectForm.value.id = null
372 selectForm.value.price = '--' 383 selectForm.value.price = '--'
373 selectForm.value.priceEn = '--' 384 selectForm.value.priceEn = '--'
374 385 remarks.value = v.remarks
375 getTicketListType() 386 getTicketListType()
376 } 387 }
377 388
378 function selectSessionType(key) { 389 function selectSessionType(key) {
379 selectForm.value.sessionType = key 390 selectForm.value.sessionType = key
380 391
381 currTick.value = tickList.value[selectForm.value.sessionType][0] 392 // currTick.value = tickList.value[selectForm.value.sessionType][0]
382 selectForm.value.latstId = currTick.value?.id 393 selectForm.value.latstId = currTick.value?.id
383 selectForm.value.price = currTick.value?.price 394 selectForm.value.price = currTick.value?.price
384 selectForm.value.priceEn = currTick.value?.priceEn 395 selectForm.value.priceEn = currTick.value?.priceEn
385 } 396 }
386 397
398 // 选择票型
387 function selectTick(v) { 399 function selectTick(v) {
388 currTick.value = v 400 currTick.value = v
389 selectForm.value.latstId = v.id 401 selectForm.value.latstId = v.id
...@@ -760,4 +772,20 @@ getmatchData() ...@@ -760,4 +772,20 @@ getmatchData()
760 text-align: center; 772 text-align: center;
761 } 773 }
762 774
775 .father {
776 position: relative;
777 }
778
779 .son {
780 position: absolute;
781 bottom: 30px;
782 right: 50px;
783 }
784
785 .remarks {
786 font-size: 17px;
787 margin-left: 20px;
788 line-height: 40px;
789 color: #2b2f3a;
790 }
763 </style> 791 </style>
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
2 <div> 2 <div>
3 <!-- top --> 3 <!-- top -->
4 <div class="container top"> 4 <div class="container top">
5 <img :src="fillImgUrl(travel.cover)" alt="" class="cover_img" st> 5 <img :src="fillImgUrl(travel.cover)" alt="" class="cover_img">
6 <div class="info"> 6 <div class="info">
7 <div class="title">{{ travel.name }}</div> 7 <div class="title">{{ travel.name }}</div>
8 <div class="select_item_box"> 8 <div class="select_item_box">
...@@ -30,10 +30,10 @@ ...@@ -30,10 +30,10 @@
30 <br> 30 <br>
31 <div v-for="v in ticketList" v-show="v.leftNum!=0" :key="v.id"> 31 <div v-for="v in ticketList" v-show="v.leftNum!=0" :key="v.id">
32 <div class="select_item_box"> 32 <div class="select_item_box">
33 <div class="label ticket"> 33 <div class="ticket ticket-row">
34 {{ v.name }} : 34 <span class="label">
35 </div> 35 {{ v.name }} :
36 <div class="rowBox"> 36 </span>
37 <span class="titleTick"> 37 <span class="titleTick">
38 {{ 38 {{
39 triggerLanguage(language, v.price, v.priceEn) 39 triggerLanguage(language, v.price, v.priceEn)
...@@ -42,11 +42,17 @@ ...@@ -42,11 +42,17 @@
42 triggerLanguage(language, '¥/人', '€/person') 42 triggerLanguage(language, '¥/人', '€/person')
43 }} 43 }}
44 </span> 44 </span>
45 <el-input-number 45 </div>
46 v-model="v.count" :max="v.leftNum" :min="0" :precision="0" class="inputNumber" 46 <div class="rowBox">
47 @change="countTotal" 47
48 /> 48 <span>
49 <i class="residue">{{ language == 0 ? '剩余票数' : 'Remaining votes' }}{{ v.leftNum }}</i> 49 <el-input-number
50 v-model="v.count" :max="v.leftNum" :min="0" :precision="0" class="inputNumber"
51 @change="countTotal"
52 />
53 <i class="residue">{{ language == 0 ? '剩余票数' : 'Remaining votes' }}{{ v.leftNum }}</i>
54 </span>
55
50 </div> 56 </div>
51 </div> 57 </div>
52 </div> 58 </div>
...@@ -79,14 +85,18 @@ ...@@ -79,14 +85,18 @@
79 </div> 85 </div>
80 86
81 <div 87 <div
82 v-if="endTime<=0" class="btn" style="margin-left: 40px;opacity: 0.5;cursor: not-allowed;margin-top: 10px" 88 v-if="endTime<=0" class="btn"
89 style="margin-left: 40px;opacity: 0.5;cursor: not-allowed;margin-top: 10px"
83 @click="toSelectClosed" 90 @click="toSelectClosed"
84 > 91 >
85 {{ 92 {{
86 triggerLanguage(language, "售票结束", "Sale closed") 93 triggerLanguage(language, "售票结束", "Sale closed")
87 }} 94 }}
88 </div> 95 </div>
89 <div v-else class="btn" style="margin-left: 40px;margin-top: 10px" @click="toSelectSeat()"> 96 <div
97 v-else v-show="travel?.dateList?.length>0" class="btn" style="margin-left: 40px;margin-top: 10px"
98 @click="toSelectSeat()"
99 >
90 {{ 100 {{
91 triggerLanguage(language, "立即购票", "Buy tickets now") 101 triggerLanguage(language, "立即购票", "Buy tickets now")
92 }} 102 }}
...@@ -202,8 +212,8 @@ function countTotal() { ...@@ -202,8 +212,8 @@ function countTotal() {
202 })] 212 })]
203 } 213 }
204 } 214 }
205 selectForm.value.price = price 215 selectForm.value.price = price?.toFixed(2)
206 selectForm.value.priceEn = priceEn 216 selectForm.value.priceEn = priceEn?.toFixed(2)
207 } 217 }
208 218
209 async function toSelectSeat() { 219 async function toSelectSeat() {
...@@ -348,23 +358,29 @@ function toSelectClosed() { ...@@ -348,23 +358,29 @@ function toSelectClosed() {
348 .ticket { 358 .ticket {
349 height: 40px; 359 height: 40px;
350 line-height: 40px; 360 line-height: 40px;
351 width: 100px; 361 width: 320px;
362 }
363
364 .ticket-row {
365 display: flex;
366 justify-content: space-between;
367 align-items: center;
352 } 368 }
353 369
370 .titleTick {
371 color: #493ceb;
372 cursor: pointer;
373 font-weight: 600;
374 font-size: 18px;
375 margin-right: 30px;
376 height: 40px;
377 line-height: 40px;
378 }
379
380
354 .rowBox { 381 .rowBox {
355 display: flex; 382 display: flex;
356 383
357 .titleTick {
358 color: #493ceb;
359 cursor: pointer;
360 font-weight: 600;
361 font-size: 18px;
362 margin-right: 30px;
363 height: 40px;
364 line-height: 40px;
365 width: 180px;
366 //text-align: center;
367 }
368 384
369 .inputNumber { 385 .inputNumber {
370 height: 35px; 386 height: 35px;
......
...@@ -4,12 +4,12 @@ ...@@ -4,12 +4,12 @@
4 <div class="indexTitle"> 4 <div class="indexTitle">
5 <h3 class="leftboderTT">{{ language == 0 ? '我的预订' : 'My reservation' }} 5 <h3 class="leftboderTT">{{ language == 0 ? '我的预订' : 'My reservation' }}
6 </h3> 6 </h3>
7 7
8 <!-- <el-button class="fr" type="primary" plain @click="toInvoice">{{ language==0?'发票开具':'Invoice' }}</el-button>--> 8 <!-- <el-button class="fr" type="primary" plain @click="toInvoice">{{ language==0?'发票开具':'Invoice' }}</el-button>-->
9 <!-- <el-button class="fr" type="primary" plain @click="toInvoice">{{ language==0?'我的发票':'My Invoice' }}</el-button>--> 9 <!-- <el-button class="fr" type="primary" plain @click="toInvoice">{{ language==0?'我的发票':'My Invoice' }}</el-button>-->
10 </div> 10 </div>
11 <el-empty v-if="list?.length == 0" :image="`/img/order_no.png`" :image-size="228"/> 11 <el-empty v-if="list?.length == 0" :image="`/img/order_no.png`" :image-size="228" />
12 12
13 <div class="pd20"> 13 <div class="pd20">
14 <div v-for="b in list" class="item"> 14 <div v-for="b in list" class="item">
15 <div class="title"> 15 <div class="title">
...@@ -20,27 +20,29 @@ ...@@ -20,27 +20,29 @@
20 <label v-if="b.orderType == 4" class="orangeTag"> {{ language == 0 ? '拍摄' : 'Shooting ' }} </label> 20 <label v-if="b.orderType == 4" class="orangeTag"> {{ language == 0 ? '拍摄' : 'Shooting ' }} </label>
21 <label v-if="b.orderType == 5" class="greenTag"> {{ language == 0 ? '票务' : 'TICKETING ' }} </label> 21 <label v-if="b.orderType == 5" class="greenTag"> {{ language == 0 ? '票务' : 'TICKETING ' }} </label>
22 <label v-if="b.orderType == 6" class="orangeTag"> {{ language == 0 ? '旅游' : 'Travel ' }} </label> 22 <label v-if="b.orderType == 6" class="orangeTag"> {{ language == 0 ? '旅游' : 'Travel ' }} </label>
23 23
24 <span>{{ language == 0 ? '订单编号:' : 'No.' }} {{ b.id }}</span> 24 <span>{{ language == 0 ? '订单编号:' : 'No.' }} {{ b.id }}</span>
25 </div> 25 </div>
26 26
27 <div class="status-po"> 27 <div class="status-po">
28 <span v-if="b.status == '0'&&b.surplus!='0,0'&&b.surplus!='0'" class="bg-warning"> 28 <span v-if="b.status == '0'&&b.surplus!='0,0'&&b.surplus!='0'" class="bg-warning">
29 {{ language == 0 ? '待支付' : 'Unpaid' }} 29 {{ language == 0 ? '待支付' : 'Unpaid' }}
30 </span> 30 </span>
31 <span v-if="b.status == '0'&&(b.surplus=='0,0'||b.surplus=='0')" 31 <span
32 class="bg-warning">{{ language == 0 ? '已取消' : 'Canceled' }}</span> 32 v-if="b.status == '0'&&(b.surplus=='0,0'||b.surplus=='0')"
33 class="bg-warning"
34 >{{ language == 0 ? '已取消' : 'Canceled' }}</span>
33 <span v-if="b.status == '1'" class="bg-blue">{{ language == 0 ? '支付成功' : 'successful' }}</span> 35 <span v-if="b.status == '1'" class="bg-blue">{{ language == 0 ? '支付成功' : 'successful' }}</span>
34 <span v-if="b.status == '2'" class="bg-warning">{{ language == 0 ? '已取消' : 'Canceled' }}</span> 36 <span v-if="b.status == '2'" class="bg-warning">{{ language == 0 ? '已取消' : 'Canceled' }}</span>
35 <span v-if="b.status == '3'||b.status == '4'" class="bg-danger">{{ 37 <span v-if="b.status == '3'||b.status == '4'" class="bg-danger">{{
36 language == 0 ? '已退订' : 'Refunded' 38 language == 0 ? '已退订' : 'Refunded'
37 }}</span> 39 }}</span>
38 <span v-if="b.status == '7'" class="bg-danger">{{ 40 <span v-if="b.status == '7'" class="bg-danger">{{
39 language == 0 ? '退款审核中' : 'Refund in review' 41 language == 0 ? '退款审核中' : 'Refund in review'
40 }}</span> 42 }}</span>
41 <span v-if="b.status == '-1'" class="bg-blue">{{ language == 0 ? '已核销' : 'Completed' }}</span> 43 <span v-if="b.status == '-1'" class="bg-blue">{{ language == 0 ? '已核销' : 'Completed' }}</span>
42 </div> 44 </div>
43 45
44 <el-row align="middle" class="pd20 mt10" justify="space-between"> 46 <el-row align="middle" class="pd20 mt10" justify="space-between">
45 <el-col :lg="9" :md="12" :sm="12" :xs="24"> 47 <el-col :lg="9" :md="12" :sm="12" :xs="24">
46 <div v-if="b.orderType == 0"> 48 <div v-if="b.orderType == 0">
...@@ -48,7 +50,7 @@ ...@@ -48,7 +50,7 @@
48 <p v-if="language==0">{{ b.messageObj?.roomStayDate }}</p> 50 <p v-if="language==0">{{ b.messageObj?.roomStayDate }}</p>
49 <p v-else>{{ b.messageObj?.roomStayDate.replace('共', ' total ').replace('晚', ' days') }}</p> 51 <p v-else>{{ b.messageObj?.roomStayDate.replace('共', ' total ').replace('晚', ' days') }}</p>
50 <p>{{ b.messageObj?.roomInfo }}</p> 52 <p>{{ b.messageObj?.roomInfo }}</p>
51 53
52 </div> 54 </div>
53 <div v-if="b.orderType == 1"> 55 <div v-if="b.orderType == 1">
54 <h3 class="name">{{ b.name }}</h3> 56 <h3 class="name">{{ b.name }}</h3>
...@@ -68,7 +70,7 @@ ...@@ -68,7 +70,7 @@
68 </div> 70 </div>
69 <p>{{ language == 0 ? '配送日期' : 'Delivery Date' }}{{ b.extJsonObj.dcEnd }} ~ 71 <p>{{ language == 0 ? '配送日期' : 'Delivery Date' }}{{ b.extJsonObj.dcEnd }} ~
70 {{ b.extJsonObj.dcEnd }}</p> 72 {{ b.extJsonObj.dcEnd }}</p>
71 73
72 </div> 74 </div>
73 <div v-if="b.orderType==3 ||b.orderType == 4"> 75 <div v-if="b.orderType==3 ||b.orderType == 4">
74 <h3 class="name">{{ b.name }}</h3> 76 <h3 class="name">{{ b.name }}</h3>
...@@ -78,15 +80,19 @@ ...@@ -78,15 +80,19 @@
78 }} 80 }}
79 </p> 81 </p>
80 </div> 82 </div>
81 83
82 <div v-if="b.orderType==5"> 84 <div v-if="b.orderType==5">
83 <h3 class="name">{{ b.name }}</h3> 85 <h3 class="name">{{ b.name }}</h3>
84 <p v-if="b.extJsonObj.ticketDate.name"> 86 <p v-if="b.extJsonObj.ticketDate.name">
85 {{ b.extJsonObj.ticketDate.name }} 87 {{ b.extJsonObj.ticketDate.name }}
86 </p> 88 </p>
87 <p>{{ b.extJsonObj.atName }}{{ b.extJsonObj.atsName }}{{ b.extJsonObj.atstName }}</p> 89 <p>{{ b.extJsonObj.atName }}{{ b.extJsonObj.atsName }}
88 <p v-for="p in b.extJsonObj?.orderCustomerList"> 90 {{
89 <el-tag class="mr10" v-if="p.deskNo">{{p.deskNo}}-{{p.seatNo}}</el-tag> 91 b.extJsonObj.sessionType == '1000' ? language == 0 ? '日间场' : 'Day' : language == 0 ? '夜间场' : 'Night'
92 }} |
93 {{ b.extJsonObj.atstName }}</p>
94 <p v-for="(p,i) in b.extJsonObj?.orderCustomerList" :key="i">
95 <el-tag v-if="p.deskNo" class="mr10">{{ p.deskNo }}-{{ p.seatNo }}</el-tag>
90 {{ p.name }} - {{ p.paymentType == '3' ? '€' : '¥' }}{{ b.extJsonObj.price }} 96 {{ p.name }} - {{ p.paymentType == '3' ? '€' : '¥' }}{{ b.extJsonObj.price }}
91 </p> 97 </p>
92 </div> 98 </div>
...@@ -101,8 +107,8 @@ ...@@ -101,8 +107,8 @@
101 <p>{{ b.messageObj?.roomName }}</p> 107 <p>{{ b.messageObj?.roomName }}</p>
102 <p>{{ b.messageObj?.roomInfo }}</p> 108 <p>{{ b.messageObj?.roomInfo }}</p>
103 </div> 109 </div>
104 <div v-if="b.orderType == 1"/> 110 <div v-if="b.orderType == 1" />
105 <div v-if="b.orderType == 2"/> 111 <div v-if="b.orderType == 2" />
106 <div v-if="b.orderType == 3||b.orderType == 4"> 112 <div v-if="b.orderType == 3||b.orderType == 4">
107 <p>{{ b.extJsonObj.packageName }}</p> 113 <p>{{ b.extJsonObj.packageName }}</p>
108 </div> 114 </div>
...@@ -118,74 +124,73 @@ ...@@ -118,74 +124,73 @@
118 <el-col :lg="6" :md="16" :sm="16" :xs="16"> 124 <el-col :lg="6" :md="16" :sm="16" :xs="16">
119 <div class="text-right mb20 text-danger"> 125 <div class="text-right mb20 text-danger">
120 <el-countdown 126 <el-countdown
121 v-if="b.status == '0'&&(b.surplus!='0,0'&&b.surplus!='0')" 127 v-if="b.status == '0'&&(b.surplus!='0,0'&&b.surplus!='0')"
122 :value="b.countdown" 128 :value="b.countdown"
123 format="mm:ss" 129 format="mm:ss"
124 value-style="color:#E60012;font-size:16px;" 130 value-style="color:#E60012;font-size:16px;"
125 @finish="finish(b)" 131 @finish="finish(b)"
126 /> 132 />
127 </div> 133 </div>
128
129 <div class="text-right"> 134 <div class="text-right">
130 <el-button 135 <el-button
131 v-if="(b.orderType == 0||b.orderType == 5)&&b.viewStatus!=0" class="mb10" plain round 136 v-if="(b.orderType == 0||b.orderType == 5)&&b.viewStatus!=0" class="mb10" plain round
132 size="small" type="success" 137 size="small" type="success"
133 @click="Rebook(b)" 138 @click="Rebook(b)"
134 > 139 >
135 {{ language == 0 ? '再次预订' : 'Rebook' }} 140 {{ language == 0 ? '再次预订' : 'Rebook' }}
136 </el-button> 141 </el-button>
137 <el-button 142 <el-button
138 class="mb10" plain round size="small" type="primary" 143 class="mb10" plain round size="small" type="primary"
139 @click="goDetail(b)" 144 @click="goDetail(b)"
140 > 145 >
141 {{ language == 0 ? '详情' : 'Detail' }} 146 {{ language == 0 ? '详情' : 'Detail' }}
142 </el-button> 147 </el-button>
143 <el-button 148 <el-button
144 v-if="b.status == '0'&&(b.surplus!='0,0'&&b.surplus!='0')" class="mb10" 149 v-if="b.status == '0'&&(b.surplus!='0,0'&&b.surplus!='0')" class="mb10"
145 plain round size="small" type="primary" @click="goDetail(b)" 150 plain round size="small" type="primary" @click="goDetail(b)"
146 > 151 >
147 {{ language == 0 ? '支付' : 'Pay' }} 152 {{ language == 0 ? '支付' : 'Pay' }}
148 </el-button> 153 </el-button>
149 <el-button 154 <el-button
150 v-if="b.viewStatus==0" class="mb10" plain round size="small" 155 v-if="b.viewStatus==0" class="mb10" plain round size="small"
151 type="warning" 156 type="warning"
152 @click="cancel(b)" 157 @click="cancel(b)"
153 > 158 >
154 {{ language == 0 ? '取消订单' : 'Cancel Order' }} 159 {{ language == 0 ? '取消订单' : 'Cancel Order' }}
155 </el-button> 160 </el-button>
156 <el-button 161 <el-button
157 v-if="b.viewStatus==5" class="mb10" plain round size="small" 162 v-if="b.viewStatus==5" class="mb10" plain round size="small"
158 type="" @click="unsubscribe(b)" 163 type="" @click="unsubscribe(b)"
159 > 164 >
160 {{ language == 0 ? '退订' : 'Unsubscribe' }} 165 {{ language == 0 ? '退订' : 'Unsubscribe' }}
161 </el-button> 166 </el-button>
162 167
163 </div> 168 </div>
164 </el-col> 169 </el-col>
165 </el-row> 170 </el-row>
166 </div> 171 </div>
167 </div> 172 </div>
168 </el-card> 173 </el-card>
169 <div class="pd20"/> 174 <div class="pd20" />
170 175
171 </div> 176 </div>
172 </template> 177 </template>
173 178
174 <script setup> 179 <script setup>
175 import {onMounted, getCurrentInstance} from '@vue/runtime-core' 180 import { onMounted, getCurrentInstance } from '@vue/runtime-core'
176 import {useStorage} from '@vueuse/core/index' 181 import { useStorage } from '@vueuse/core/index'
177 import {newbilllist} from '@/apiPc/common' 182 import { newbilllist } from '@/apiPc/common'
178 import useUserStore from '@/store/modules/user' 183 import useUserStore from '@/store/modules/user'
179 import dayjs from 'dayjs' 184 import dayjs from 'dayjs'
180 import {cancelOrder2, cancelOrder} from '/@/apiPc/booking' 185 import { cancelOrder2, cancelOrder } from '/@/apiPc/booking'
181 186
182 import {ElMessage} from 'element-plus' 187 import { ElMessage } from 'element-plus'
183 188
184 const router = useRouter() 189 const router = useRouter()
185 const language = useStorage('language', 0) 190 const language = useStorage('language', 0)
186 const list = ref([]) 191 const list = ref([])
187 const user = useUserStore().user 192 const user = useUserStore().user
188 const {proxy} = getCurrentInstance() 193 const { proxy } = getCurrentInstance()
189 194
190 onMounted(() => { 195 onMounted(() => {
191 getList() 196 getList()
...@@ -197,7 +202,7 @@ function finish(bill) { ...@@ -197,7 +202,7 @@ function finish(bill) {
197 } 202 }
198 203
199 function getList() { 204 function getList() {
200 newbilllist({createById: user.userId}).then(res => { 205 newbilllist({ createById: user.userId }).then(res => {
201 list.value = res.rows || [] 206 list.value = res.rows || []
202 for (const b of list.value) { 207 for (const b of list.value) {
203 b.messageObj = JSON.parse(b.message) || {} 208 b.messageObj = JSON.parse(b.message) || {}
...@@ -300,28 +305,28 @@ function toInvoice() { ...@@ -300,28 +305,28 @@ function toInvoice() {
300 top: 0; 305 top: 0;
301 font-size: 12px; 306 font-size: 12px;
302 color: #FFFFFF; 307 color: #FFFFFF;
303 308
304 span { 309 span {
305 border-radius: 0px 10px 0px 10px; 310 border-radius: 0px 10px 0px 10px;
306 padding: 4px 10px; 311 padding: 4px 10px;
307 } 312 }
308 313
309 .bg-danger { 314 .bg-danger {
310 background: #E60012; 315 background: #E60012;
311 } 316 }
312 317
313 .bg-warning { 318 .bg-warning {
314 background: #e89f39; 319 background: #e89f39;
315 } 320 }
316 321
317 .bg-pink { 322 .bg-pink {
318 background: #F740A6; 323 background: #F740A6;
319 } 324 }
320 325
321 .bg-primary { 326 .bg-primary {
322 background: var(--el-color-primary) 327 background: var(--el-color-primary)
323 } 328 }
324 329
325 .bg-blue { 330 .bg-blue {
326 background: #00a0e9 331 background: #00a0e9
327 } 332 }
...@@ -332,11 +337,11 @@ function toInvoice() { ...@@ -332,11 +337,11 @@ function toInvoice() {
332 overflow: visible; 337 overflow: visible;
333 padding: 0 20px 15px; 338 padding: 0 20px 15px;
334 border-bottom: 1px solid #e5e5e5; 339 border-bottom: 1px solid #e5e5e5;
335 340
336 .fr { 341 .fr {
337 margin: -8px 0 0 342 margin: -8px 0 0
338 } 343 }
339 344
340 h3 { 345 h3 {
341 display: inline-block; 346 display: inline-block;
342 font-size: 16px; 347 font-size: 16px;
...@@ -350,32 +355,32 @@ function toInvoice() { ...@@ -350,32 +355,32 @@ function toInvoice() {
350 color: #000000; 355 color: #000000;
351 margin: 0 0 10px; 356 margin: 0 0 10px;
352 } 357 }
353 358
354 p { 359 p {
355 margin: 8px 0 0; 360 margin: 8px 0 0;
356 color: #707070; 361 color: #707070;
357 font-size: 14px; 362 font-size: 14px;
358 } 363 }
359 364
360 margin: 0 0 20px; 365 margin: 0 0 20px;
361 border: 1px solid #E5E5E5; 366 border: 1px solid #E5E5E5;
362 border-radius: 10px; 367 border-radius: 10px;
363 position: relative; 368 position: relative;
364 369
365 .bbody { 370 .bbody {
366 padding: 0 15px 20px; 371 padding: 0 15px 20px;
367 } 372 }
368 373
369 .title { 374 .title {
370 background: #F7F7F7; 375 background: #F7F7F7;
371 border-bottom: 1px solid #E5E5E5; 376 border-bottom: 1px solid #E5E5E5;
372 377
373 span { 378 span {
374 font-size: 14px; 379 font-size: 14px;
375 color: #4C5359; 380 color: #4C5359;
376 } 381 }
377 } 382 }
378 383
379 .title label { 384 .title label {
380 border-radius: 5px 0 5px 0; 385 border-radius: 5px 0 5px 0;
381 font-size: 12px; 386 font-size: 12px;
...@@ -383,19 +388,19 @@ function toInvoice() { ...@@ -383,19 +388,19 @@ function toInvoice() {
383 padding: 4px 10px; 388 padding: 4px 10px;
384 margin-right: 10px; 389 margin-right: 10px;
385 } 390 }
386 391
387 .blueTag { 392 .blueTag {
388 background-color: #1e62c8; 393 background-color: #1e62c8;
389 } 394 }
390 395
391 .greenTag { 396 .greenTag {
392 background-color: #1EC886; 397 background-color: #1EC886;
393 } 398 }
394 399
395 .purpleTag { 400 .purpleTag {
396 background-color: #717bef; 401 background-color: #717bef;
397 } 402 }
398 403
399 .orangeTag { 404 .orangeTag {
400 background-color: #ff8124; 405 background-color: #ff8124;
401 } 406 }
...@@ -420,19 +425,19 @@ function toInvoice() { ...@@ -420,19 +425,19 @@ function toInvoice() {
420 right: 10px; 425 right: 10px;
421 bottom: 60px; 426 bottom: 60px;
422 white-space: nowrap; 427 white-space: nowrap;
423 428
424 .warning { 429 .warning {
425 color: #ff8124; 430 color: #ff8124;
426 } 431 }
427 432
428 .danger { 433 .danger {
429 color: #da2a2a; 434 color: #da2a2a;
430 } 435 }
431 436
432 .gary { 437 .gary {
433 color: #666; 438 color: #666;
434 } 439 }
435 440
436 .success { 441 .success {
437 color: #1EC886; 442 color: #1EC886;
438 } 443 }
......
...@@ -430,7 +430,6 @@ function next() { ...@@ -430,7 +430,6 @@ function next() {
430 obj.passportUrl = wdsfData.value.passportUrl || '' 430 obj.passportUrl = wdsfData.value.passportUrl || ''
431 } 431 }
432 registerSingle(obj).then(res => { 432 registerSingle(obj).then(res => {
433 debugger
434 setToken(res.data.token) 433 setToken(res.data.token)
435 afterR() 434 afterR()
436 }) 435 })
...@@ -445,7 +444,7 @@ function next() { ...@@ -445,7 +444,7 @@ function next() {
445 passportNumber: wdsfData.value.passportNumber, 444 passportNumber: wdsfData.value.passportNumber,
446 picUrl: wdsfData.value.picUrl, 445 picUrl: wdsfData.value.picUrl,
447 birth: wdsfData.value.birthday, 446 birth: wdsfData.value.birthday,
448 personId: wdsfData.value.personId, 447 // personId: wdsfData.value.personId,
449 username: wdsfData.value.email, 448 username: wdsfData.value.email,
450 password: form.value.password, 449 password: form.value.password,
451 ocrFlag: '1' 450 ocrFlag: '1'
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!