530e2dbb by 杨炀

Merge branch 'dev' into order

大师课申请
2 parents 9dc18f50 bb4313de
...@@ -217,6 +217,7 @@ onMounted(() => { ...@@ -217,6 +217,7 @@ onMounted(() => {
217 function changeUseType(e) { 217 function changeUseType(e) {
218 console.log(form.value.useType) 218 console.log(form.value.useType)
219 changecarNum() 219 changecarNum()
220 console.log(form.value)
220 } 221 }
221 222
222 function changecarNum(e) { 223 function changecarNum(e) {
...@@ -251,8 +252,9 @@ function initDays() { ...@@ -251,8 +252,9 @@ function initDays() {
251 } 252 }
252 function disabledDate(date) { 253 function disabledDate(date) {
253 // const today = dayjs().format('YYYY-MM-DD') 254 // const today = dayjs().format('YYYY-MM-DD')
254 if (form.value.carStart) { 255 if (lform.value.carStart) {
255 return date.getTime() > dayjs(form.value.carStart).valueOf() 256 return (date.getTime() < dayjs(lform.value.carStart).valueOf())||(date.getTime() > dayjs(lform.value.carEnd).valueOf())
257
256 } 258 }
257 return true 259 return true
258 } 260 }
......
...@@ -83,11 +83,9 @@ ...@@ -83,11 +83,9 @@
83 </template> 83 </template>
84 84
85 <script setup> 85 <script setup>
86 import {useRouter} from "vue-router"; 86 import {useRouter,useRoute} from "vue-router";
87 import {ref, reactive, onMounted} from "vue"; 87 import {ref, onMounted} from "vue";
88 import {useRoute} from "vue-router"; 88 import { getMenuById} from "@/apiPc/booking"
89 import {getHotelById, getMenuById} from "@/apiPc/booking"
90
91 import {useStorage} from "@vueuse/core/index"; 89 import {useStorage} from "@vueuse/core/index";
92 import useUserStore from "@/store/modules/user"; 90 import useUserStore from "@/store/modules/user";
93 import {fillImgUrl} from "@/utils/ruoyi"; 91 import {fillImgUrl} from "@/utils/ruoyi";
...@@ -98,7 +96,7 @@ const router = useRouter() ...@@ -98,7 +96,7 @@ const router = useRouter()
98 const route = useRoute() 96 const route = useRoute()
99 const form = ref({}) 97 const form = ref({})
100 const query = ref({ 98 const query = ref({
101 larId: route.query.id 99 larId: route.params.id
102 }) 100 })
103 const loading = ref(false) 101 const loading = ref(false)
104 const roomList = ref([]) 102 const roomList = ref([])
...@@ -106,11 +104,13 @@ const map = ref(null) ...@@ -106,11 +104,13 @@ const map = ref(null)
106 onMounted(() => { 104 onMounted(() => {
107 form.value = JSON.parse(decodeURIComponent(route.query.detail)) 105 form.value = JSON.parse(decodeURIComponent(route.query.detail))
108 getData() 106 getData()
107
109 }) 108 })
110 109
111 function getData() { 110 function getData() {
112 loading.value = true 111 loading.value = true
113 query.value.hotelId = route.query.id 112 query.value.hotelId = route.query.id
113 console.log(query.value)
114 getMenuById(query.value).then(res => { 114 getMenuById(query.value).then(res => {
115 loading.value = false 115 loading.value = false
116 roomList.value = res.rows 116 roomList.value = res.rows
......
...@@ -242,6 +242,7 @@ function submit() { ...@@ -242,6 +242,7 @@ function submit() {
242 form.value.foodsList.push(obj) 242 form.value.foodsList.push(obj)
243 form.value.activeId = restaurant.value.activityId 243 form.value.activeId = restaurant.value.activityId
244 form.value.larId = restaurant.value.id 244 form.value.larId = restaurant.value.id
245 form.value.orderName=restaurant.value.name
245 // 提交确认 246 // 提交确认
246 ElMessageBox.confirm(language.value == 0 ? '确认提交订单吗?' : 'Confirm to submit the order?', { 247 ElMessageBox.confirm(language.value == 0 ? '确认提交订单吗?' : 'Confirm to submit the order?', {
247 confirmButtonText: language.value == 0 ? '确定' : 'Confirm', 248 confirmButtonText: language.value == 0 ? '确定' : 'Confirm',
......
...@@ -241,9 +241,12 @@ function initMap() { ...@@ -241,9 +241,12 @@ function initMap() {
241 } 241 }
242 242
243 function goOrder(room) { 243 function goOrder(room) {
244 checkRoomPayByUserId(room.hotelId).then(res=>{ 244 ElMessageBox.confirm(language.value == 0 ? '你当前选择的入住时间为'+hotTime.value[0]+'至'+hotTime.value[1]+',是否确定?':'Your current check-in time is'+hotTime.value[0]+'~'+hotTime.value[1]+'Are you sure?',{type:'warning'}).then({
245 if(res.data == -100){ 245
246 ElMessageBox.confirm( 246 }).then(()=>{
247 checkRoomPayByUserId(room.hotelId).then(res=>{
248 if(res.data == -100){
249 ElMessageBox.confirm(
247 language.value == 0 ?'你有未支付的酒店订单,是否前往个人中心查看':'You already have an unpaid hotel order, do you want to go to the personal center to check it?', 250 language.value == 0 ?'你有未支付的酒店订单,是否前往个人中心查看':'You already have an unpaid hotel order, do you want to go to the personal center to check it?',
248 language.value==0?'提示':'Warning', 251 language.value==0?'提示':'Warning',
249 { 252 {
...@@ -251,21 +254,24 @@ function goOrder(room) { ...@@ -251,21 +254,24 @@ function goOrder(room) {
251 // cancelButtonText: language.value==1?'Continue to book':'继续预订', 254 // cancelButtonText: language.value==1?'Continue to book':'继续预订',
252 type: 'warning', 255 type: 'warning',
253 } 256 }
254 ).then((res) => { 257 ).then((res) => {
255 console.log(res) 258 console.log(res)
256 router.push({ 259 router.push({
257 name:'myReservation', 260 name:'myReservation',
261 })
258 }) 262 })
259 }) 263 // .catch((res) => {
260 // .catch((res) => { 264 // console.log(res)
261 // console.log(res) 265 // goNext(room)
262 // goNext(room) 266 // })
263 // }) 267 return
264 return 268 }
265 } 269 goNext(room)
266 goNext(room) 270 })
267 }) 271 })
268 272
273
274
269 } 275 }
270 function goNext(room) { 276 function goNext(room) {
271 router.push({ 277 router.push({
......
...@@ -90,16 +90,16 @@ ...@@ -90,16 +90,16 @@
90 </div> 90 </div>
91 91
92 <div class="text-right"> 92 <div class="text-right">
93 <el-button v-if="b.orderType == 0&&b.viewStatus!=0" class="mb10" plain round type="success" @click="Rebook(b)"> 93 <el-button v-if="b.orderType == 0&&b.viewStatus!=0" class="mb10" plain round type="success" size="small" @click="Rebook(b)">
94 {{ language==0?'再次预订':'Rebook' }}</el-button> 94 {{ language==0?'再次预订':'Rebook' }}</el-button>
95 <el-button class="mb10" plain round type="primary" @click="goDetail(b)"> 95 <el-button class="mb10" plain round type="primary" size="small" @click="goDetail(b)">
96 {{ language==0?'详情':'Detail' }}</el-button> 96 {{ language==0?'详情':'Detail' }}</el-button>
97 <el-button v-if="b.status == '0'&&(b.surplus!='0,0'&&b.surplus!='0')" @click="goDetail(b)" 97 <el-button v-if="b.status == '0'&&(b.surplus!='0,0'&&b.surplus!='0')" @click="goDetail(b)"
98 class="mb10" plain round type="primary" > 98 class="mb10" plain round type="primary" size="small" >
99 {{ language==0?'支付':'Pay' }}</el-button> 99 {{ language==0?'支付':'Pay' }}</el-button>
100 <el-button v-if="b.viewStatus==0" @click="cancel(b)" class="mb10" plain round type="warning" > 100 <el-button v-if="b.viewStatus==0" @click="cancel(b)" class="mb10" plain round type="warning" size="small" >
101 {{ language==0?'取消订单':'Cancel Order' }}</el-button> 101 {{ language==0?'取消订单':'Cancel Order' }}</el-button>
102 <el-button v-if="b.viewStatus==5" @click="unsubscribe(b)" class="mb10" plain round type="" > 102 <el-button v-if="b.viewStatus==5" @click="unsubscribe(b)" class="mb10" plain round type="" size="small" >
103 {{ language==0?'退订':'Unsubscribe' }}</el-button> 103 {{ language==0?'退订':'Unsubscribe' }}</el-button>
104 </div> 104 </div>
105 </el-col> 105 </el-col>
......
...@@ -97,12 +97,12 @@ function building() { ...@@ -97,12 +97,12 @@ function building() {
97 return 97 return
98 } 98 }
99 function popRemark(type){ 99 function popRemark(type){
100 // debugger
100 if(!form.value){ 101 if(!form.value){
101 building() 102 building()
102 return 103 return
103 } 104 }
104 if((form.value.isJdView == 0&&type=='1') || (form.value.isCarView == 0&&type=='2') || (form.value.isFoodView == 0&&type=='3') || (form.value.isMealView == 0&&type=='4') || (type=='5'&&form.value.isPhotoView == 0)){ 105 if((form.value.isJdView == 0&&type=='1') || (form.value.isCarView == 0&&type=='2') || (form.value.isFoodView == 0&&type=='3') || (form.value.isMealView == 0&&type=='4') || (type=='5'&&form.value.isPhotoView == 0)){
105 //type == '0'
106 building() 106 building()
107 return 107 return
108 } 108 }
......
...@@ -617,8 +617,11 @@ function removeCurproject() { ...@@ -617,8 +617,11 @@ function removeCurproject() {
617 function checkTwo(a,b) { 617 function checkTwo(a,b) {
618 match.checkMate({per1Id:a.id,per2Id:b.id,cptId:matchId.value}).then(res=>{ 618 match.checkMate({per1Id:a.id,per2Id:b.id,cptId:matchId.value}).then(res=>{
619 if(!res.data){ 619 if(!res.data){
620 // ElMessage.warning(language.value == 0 ? '他们不是固定组合':'They\'re not a couple') 620 if(isNational.value){
621 ElMessage.warning(language.value == 0 ? `${a.realName} 已经和其他人组成舞伴,无法报名,请重新选择`:`${a.realName} has already formed a dancer with another person, cannot sign up: please select again`) 621 ElMessage.warning(language.value == 0 ? '他们不是固定组合':'They\'re not a couple')
622 } else {
623 ElMessage.warning(language.value == 0 ? `${a.realName}/${b.realName} 已经和其他人组成舞伴,无法报名,请重新选择`:`${a.realName}/${b.realName} has already formed a dancer with another person, cannot sign up: please select again`)
624 }
622 } 625 }
623 }) 626 })
624 } 627 }
......
...@@ -70,7 +70,7 @@ ...@@ -70,7 +70,7 @@
70 </el-radio-group> 70 </el-radio-group>
71 </el-form-item> 71 </el-form-item>
72 72
73 <el-form-item :label="language==0?'出生日期':'Date of Birth'"> 73 <el-form-item :label="language==0?'出生日期':'Date of Birth'" required>
74 <el-date-picker 74 <el-date-picker
75 v-model="form.birth" 75 v-model="form.birth"
76 style="width: 100%;" 76 style="width: 100%;"
...@@ -88,7 +88,7 @@ ...@@ -88,7 +88,7 @@
88 </div> 88 </div>
89 89
90 </el-form-item> 90 </el-form-item>
91 <el-form-item :label="language==0?'证件号':'Passport number'"> 91 <el-form-item :label="language==0?'证件号':'Passport number'" required>
92 <el-input v-model="form.passportNumber"/> 92 <el-input v-model="form.passportNumber"/>
93 </el-form-item> 93 </el-form-item>
94 94
...@@ -218,10 +218,14 @@ watch(show, (value) => { ...@@ -218,10 +218,14 @@ watch(show, (value) => {
218 }) 218 })
219 219
220 function submitForm() { 220 function submitForm() {
221 // if (!form.value.passportNumber) { 221 if (!form.value.passportNumber) {
222 // ElMessage.warning('Please fill in your passport number') 222 ElMessage.warning(language.value == 0 ?'请输入你的证件号':'Please fill in your passport number')
223 // return 223 return
224 // } 224 }
225 if (!form.value.birth) {
226 ElMessage.warning(language.value == 0 ?'请输入你的出生日期':'Please fill in your birthday')
227 return
228 }
225 // if (!form.value.picUrl) { 229 // if (!form.value.picUrl) {
226 // ElMessage.warning('Please upload your photo') 230 // ElMessage.warning('Please upload your photo')
227 // return 231 // return
...@@ -246,10 +250,6 @@ function submitForm() { ...@@ -246,10 +250,6 @@ function submitForm() {
246 emit('submitForm') 250 emit('submitForm')
247 }) 251 })
248 } else { 252 } else {
249 // if (!form.value.birth) {
250 // ElMessage.warning('Please fill in your birthday')
251 // return
252 // }
253 if (Array.isArray(form.value.passportUrl)) { 253 if (Array.isArray(form.value.passportUrl)) {
254 form.value.passportUrl = form.value.passportUrl[0].url 254 form.value.passportUrl = form.value.passportUrl[0].url
255 } 255 }
......
...@@ -234,7 +234,11 @@ function handleSelectionChange(val) { ...@@ -234,7 +234,11 @@ function handleSelectionChange(val) {
234 function checkTwo(a,b) { 234 function checkTwo(a,b) {
235 match.checkMate({per1Id:a.id,per2Id:b.id,cptId:matchId}).then(res=>{ 235 match.checkMate({per1Id:a.id,per2Id:b.id,cptId:matchId}).then(res=>{
236 if(!res.data){ 236 if(!res.data){
237 ElMessage.warning(language.value == 0 ? `${a.realName} 已经和其他人组成舞伴,无法报名:请重新选择`:`${a.realName} has already formed a dancer with another person, cannot sign up: please select again`) 237 if(isNational.value){
238 ElMessage.warning(language.value == 0 ? '他们不是固定组合':'They\'re not a couple')
239 } else {
240 ElMessage.warning(language.value == 0 ? `${a.realName} 已经和其他人组成舞伴,无法报名:请重新选择`:`${a.realName} has already formed a dancer with another person, cannot sign up: please select again`)
241 }
238 proxy.$refs['allSportmenTable'].clearSelection() 242 proxy.$refs['allSportmenTable'].clearSelection()
239 } 243 }
240 }) 244 })
......
...@@ -80,11 +80,11 @@ ...@@ -80,11 +80,11 @@
80 application of visa invitation letter and purchasing insurance etc.</span> 80 application of visa invitation letter and purchasing insurance etc.</span>
81 </div> 81 </div>
82 </el-form-item> 82 </el-form-item>
83 <el-form-item :label="language==0?'证件号':'Passport number'"> 83 <el-form-item :label="language==0?'证件号':'Passport number'" required>
84 <el-input v-model="wdsfData.passportNumber"/> 84 <el-input v-model="wdsfData.passportNumber"/>
85 </el-form-item> 85 </el-form-item>
86 86
87 <el-form-item :label="language==0?'出生日期':'Date of Birth'"> 87 <el-form-item :label="language==0?'出生日期':'Date of Birth'" required>
88 <el-date-picker 88 <el-date-picker
89 v-model="wdsfData.birthday" 89 v-model="wdsfData.birthday"
90 style="width: 100%;" 90 style="width: 100%;"
...@@ -317,10 +317,14 @@ function goBack() { ...@@ -317,10 +317,14 @@ function goBack() {
317 router.go(-1) 317 router.go(-1)
318 } 318 }
319 function bigNext(){ 319 function bigNext(){
320 // if (!wdsfData.value.passportNumber) { 320 if (!wdsfData.value.passportNumber) {
321 // ElMessage.warning(language.value == 0 ?'请填写护照号':'Please fill in your passport number') 321 ElMessage.warning(language.value == 0 ?'请填写护照号':'Please fill in your passport number')
322 // return 322 return
323 // } 323 }
324 if (!wdsfData.value.birthday) {
325 ElMessage.warning(language.value == 0 ?'请填写出生年月':'Please fill in your birthday')
326 return
327 }
324 328
325 if (!wdsfData.value.passportUrl) { 329 if (!wdsfData.value.passportUrl) {
326 ElMessage.warning(language.value == 0 ? '请上传护照文件' : 'Please upload your passport file') 330 ElMessage.warning(language.value == 0 ? '请上传护照文件' : 'Please upload your passport file')
......
...@@ -224,7 +224,12 @@ order.fetchData(); ...@@ -224,7 +224,12 @@ order.fetchData();
224 224
225 <div class="detail"> 225 <div class="detail">
226 <div class="detail_top"> 226 <div class="detail_top">
227 <div class="time">{{ order.data?.dateStr }}</div> 227 <div class="time">
228 {{ order.data?.dateStr }}
229 <span v-if="order.data?.ticketType == 1" class="tag_t">
230 {{ languageFormat(language, "套票", "Package ticket") }}
231 </span>
232 </div>
228 <div class="ticket"> 233 <div class="ticket">
229 {{ order.data?.singlePrice }}<span v-if="language == 0"></span 234 {{ order.data?.singlePrice }}<span v-if="language == 0"></span
230 >{{ languageFormat(language, "票档", "Ticket file") }} x{{ 235 >{{ languageFormat(language, "票档", "Ticket file") }} x{{
...@@ -300,6 +305,15 @@ div { ...@@ -300,6 +305,15 @@ div {
300 padding: 20px 0; 305 padding: 20px 0;
301 width: 1200px; 306 width: 1200px;
302 margin: 0 auto; 307 margin: 0 auto;
308 .tag_t {
309 padding: 1px 10px;
310 font-weight: 400;
311 font-size: 12px;
312 color: #493ceb;
313 border-radius: 6px;
314 border: 1px solid #453dea;
315 margin-left: 5px;
316 }
303 317
304 .title { 318 .title {
305 padding: 11px; 319 padding: 11px;
......
...@@ -295,7 +295,12 @@ detail.fetchData(); ...@@ -295,7 +295,12 @@ detail.fetchData();
295 </div> 295 </div>
296 <div class="tr"> 296 <div class="tr">
297 <div style="width: 30.33%" class="td flex-col"> 297 <div style="width: 30.33%" class="td flex-col">
298 <div>{{ detail.data?.dateStr }}</div> 298 <div>
299 {{ detail.data?.dateStr }}
300 <span v-if="detail.data?.ticketType == 1" class="tag_t">
301 {{ languageFormat(language, "套票", "Package ticket") }}
302 </span>
303 </div>
299 <div> 304 <div>
300 {{ 305 {{
301 detail.data?.openType == 0 306 detail.data?.openType == 0
...@@ -337,7 +342,7 @@ detail.fetchData(); ...@@ -337,7 +342,7 @@ detail.fetchData();
337 <!-- 购票人 --> 342 <!-- 购票人 -->
338 <div class="pay_ticket"> 343 <div class="pay_ticket">
339 <div class="title"> 344 <div class="title">
340 {{ languageFormat(language, "购票人", "Full Name") }} 345 {{ languageFormat(language, "观看人", "Viewers") }}
341 </div> 346 </div>
342 <div class="people"> 347 <div class="people">
343 <div 348 <div
...@@ -537,6 +542,15 @@ detail.fetchData(); ...@@ -537,6 +542,15 @@ detail.fetchData();
537 flex-direction: column; 542 flex-direction: column;
538 gap: 16px; 543 gap: 16px;
539 } 544 }
545 .tag_t {
546 padding: 1px 10px;
547 font-weight: 400;
548 font-size: 12px;
549 color: #493ceb;
550 border-radius: 6px;
551 border: 1px solid #453dea;
552 margin-left: 5px;
553 }
540 } 554 }
541 } 555 }
542 // 购票人 556 // 购票人
......
...@@ -68,15 +68,15 @@ function onWindowMessage(e) { ...@@ -68,15 +68,15 @@ function onWindowMessage(e) {
68 if (route.query.sitePlace == "B6") { 68 if (route.query.sitePlace == "B6") {
69 // 绘制舞台矩形 69 // 绘制舞台矩形
70 sendMsg("draw-object-rectangle", { 70 sendMsg("draw-object-rectangle", {
71 x: 1800, 71 x: 2640,
72 y: 960, 72 y: 960,
73 w: 4400, 73 w: 2540,
74 h: 1300, 74 h: 1300,
75 color: "#e0e0e0", 75 color: "#e0e0e0",
76 }); 76 });
77 // 绘制舞台文字 77 // 绘制舞台文字
78 sendMsg("draw-object-text", { 78 sendMsg("draw-object-text", {
79 x: 3900, 79 x: 3760,
80 y: 1500, 80 y: 1500,
81 text: language.value == 0 ? "舞台" : "stage", 81 text: language.value == 0 ? "舞台" : "stage",
82 style: { fontSize: 160, fontWeight: "400", fill: "#6a6a6a" }, 82 style: { fontSize: 160, fontWeight: "400", fill: "#6a6a6a" },
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!