6f2459bd by zhangmeng

Merge branch 'devmatch' into 中分支

# Conflicts:
#	src/viewsPc/index.vue
#	src/viewsPc/index_en.vue
#	src/viewsPc/match/detail_en.vue
#	vite.config.js
2 parents ffb4a923 6c5ea483
...@@ -33,6 +33,7 @@ export function getExamRegionsList() { ...@@ -33,6 +33,7 @@ export function getExamRegionsList() {
33 method: 'get' 33 method: 'get'
34 }) 34 })
35 } 35 }
36
36 export function getIndexScheduleList(params) { 37 export function getIndexScheduleList(params) {
37 return request({ 38 return request({
38 url: '/league/competitionSchedule/getIndexScheduleList', 39 url: '/league/competitionSchedule/getIndexScheduleList',
...@@ -40,6 +41,7 @@ export function getIndexScheduleList(params) { ...@@ -40,6 +41,7 @@ export function getIndexScheduleList(params) {
40 params: params 41 params: params
41 }) 42 })
42 } 43 }
44
43 export function newbilllist(query) { 45 export function newbilllist(query) {
44 return request({ 46 return request({
45 url: `/ota/norder/list`, 47 url: `/ota/norder/list`,
...@@ -55,6 +57,7 @@ export function vistorRegister(data) { ...@@ -55,6 +57,7 @@ export function vistorRegister(data) {
55 data: data 57 data: data
56 }) 58 })
57 } 59 }
60
58 export function upgradePersonal(data) { 61 export function upgradePersonal(data) {
59 return request({ 62 return request({
60 url: `/upgradeAccountToSingle`, 63 url: `/upgradeAccountToSingle`,
...@@ -62,6 +65,7 @@ export function upgradePersonal(data) { ...@@ -62,6 +65,7 @@ export function upgradePersonal(data) {
62 data: data 65 data: data
63 }) 66 })
64 } 67 }
68
65 export function upgradeTeam(data) { 69 export function upgradeTeam(data) {
66 return request({ 70 return request({
67 url: `/upgradeAccountToTeam`, 71 url: `/upgradeAccountToTeam`,
...@@ -77,6 +81,7 @@ export function submitMasterApply(data) { ...@@ -77,6 +81,7 @@ export function submitMasterApply(data) {
77 data: data 81 data: data
78 }) 82 })
79 } 83 }
84
80 export function masterClassList(query) { 85 export function masterClassList(query) {
81 return request({ 86 return request({
82 // url: `/league/courseItem/list`, 87 // url: `/league/courseItem/list`,
...@@ -85,6 +90,7 @@ export function masterClassList(query) { ...@@ -85,6 +90,7 @@ export function masterClassList(query) {
85 params: query 90 params: query
86 }) 91 })
87 } 92 }
93
88 export function getByCard(query) { 94 export function getByCard(query) {
89 return request({ 95 return request({
90 url: `/league/courseUser/getByCard`, 96 url: `/league/courseUser/getByCard`,
...@@ -92,6 +98,7 @@ export function getByCard(query) { ...@@ -92,6 +98,7 @@ export function getByCard(query) {
92 params: query 98 params: query
93 }) 99 })
94 } 100 }
101
95 export function getMasterApply(query) { 102 export function getMasterApply(query) {
96 return request({ 103 return request({
97 url: `/league/courseUser/getCourseByUser`, 104 url: `/league/courseUser/getCourseByUser`,
...@@ -99,12 +106,14 @@ export function getMasterApply(query) { ...@@ -99,12 +106,14 @@ export function getMasterApply(query) {
99 params: query 106 params: query
100 }) 107 })
101 } 108 }
109
102 export function delByCard(card) { 110 export function delByCard(card) {
103 return request({ 111 return request({
104 url: `/league/courseUser/delByCard?card=${card}`, 112 url: `/league/courseUser/delByCard?card=${card}`,
105 method: 'delete' 113 method: 'delete'
106 }) 114 })
107 } 115 }
116
108 export function addPickup(data) { 117 export function addPickup(data) {
109 return request({ 118 return request({
110 url: `/league/pickup`, 119 url: `/league/pickup`,
...@@ -112,27 +121,31 @@ export function addPickup(data) { ...@@ -112,27 +121,31 @@ export function addPickup(data) {
112 data 121 data
113 }) 122 })
114 } 123 }
124
115 export function getBackNumber(qy) { 125 export function getBackNumber(qy) {
116 return request({ 126 return request({
117 url: `/league/backNumber/query`, 127 url: `/league/backNumber/query/${qy.cptId}`,
118 method: 'get', 128 method: 'get',
119 params: qy 129 params: qy
120 }) 130 })
121 } 131 }
132
122 export function getTeamBackNumber(qy) { 133 export function getTeamBackNumber(qy) {
123 return request({ 134 return request({
124 url: `/league/backNumber/teamQuery`, 135 url: `/league/backNumber/teamQuery/${qy.cptId}`,
125 method: 'get', 136 method: 'get',
126 params: qy 137 params: qy
127 }) 138 })
128 } 139 }
140
129 export function getTeamBackNumberPre(qy) { 141 export function getTeamBackNumberPre(qy) {
130 return request({ 142 return request({
131 url: `/league/backNumber/teamQueryPre`, 143 url: `/league/backNumber/teamQueryPre/${qy.cptId}`,
132 method: 'get', 144 method: 'get',
133 params: qy 145 params: qy
134 }) 146 })
135 } 147 }
148
136 export function getqySchedule(qy) { 149 export function getqySchedule(qy) {
137 return request({ 150 return request({
138 url: `/league/schedule/querySchedule`, 151 url: `/league/schedule/querySchedule`,
...@@ -140,6 +153,7 @@ export function getqySchedule(qy) { ...@@ -140,6 +153,7 @@ export function getqySchedule(qy) {
140 params: qy 153 params: qy
141 }) 154 })
142 } 155 }
156
143 export function getqySchedule2(qy) { 157 export function getqySchedule2(qy) {
144 return request({ 158 return request({
145 url: `/league/schedule/querySchedule2`, 159 url: `/league/schedule/querySchedule2`,
...@@ -147,6 +161,7 @@ export function getqySchedule2(qy) { ...@@ -147,6 +161,7 @@ export function getqySchedule2(qy) {
147 params: qy 161 params: qy
148 }) 162 })
149 } 163 }
164
150 export function getquerySchedule2Pre(qy) { 165 export function getquerySchedule2Pre(qy) {
151 return request({ 166 return request({
152 url: `/league/schedule/querySchedule2Pre`, 167 url: `/league/schedule/querySchedule2Pre`,
...@@ -154,9 +169,10 @@ export function getquerySchedule2Pre(qy) { ...@@ -154,9 +169,10 @@ export function getquerySchedule2Pre(qy) {
154 params: qy 169 params: qy
155 }) 170 })
156 } 171 }
172
157 export function queryScheduleSingle(qy) { 173 export function queryScheduleSingle(qy) {
158 return request({ 174 return request({
159 url: `/league/schedule/queryScheduleSingle`, 175 url: `/league/schedule/queryScheduleSingle/${qy.cptId}`,
160 method: 'get', 176 method: 'get',
161 params: qy 177 params: qy
162 }) 178 })
......
...@@ -381,7 +381,15 @@ ...@@ -381,7 +381,15 @@
381 </div> 381 </div>
382 </el-col> 382 </el-col>
383 <el-col :lg="24"> 383 <el-col :lg="24">
384 <div class="text-center" /> 384 <el-link
385 v-if="(form.viewStatus=='1'||form.viewStatus=='5')&&language!=0" type="primary"
386 @click="exportPdf"
387 >
388 <el-icon>
389 <Upload />
390 </el-icon>
391 {{ language == 0 ? '导出酒店预订单' : 'Export PDF' }}
392 </el-link>
385 </el-col> 393 </el-col>
386 </el-row> 394 </el-row>
387 </div> 395 </div>
......
...@@ -20,43 +20,12 @@ ...@@ -20,43 +20,12 @@
20 <label class="blueTag">{{ paymentType != 3 ? '票务订单' : 'Ticket' }}</label> 20 <label class="blueTag">{{ paymentType != 3 ? '票务订单' : 'Ticket' }}</label>
21 <h3>{{ matchForm.name }}</h3> 21 <h3>{{ matchForm.name }}</h3>
22 <div> 22 <div>
23 <p>地址:{{ matchForm.address }}</p> 23 <p>票档:{{ ticketForm.extJson?.atName }}</p>
24 <p>票档:{{ ticketForm.extJson?.ticketType?.name }}</p> 24 <p>场馆:{{ ticketForm.extJson?.atsName }}</p>
25 <p>时间:{{ ticketForm.extJson?.ticketDate.name }}</p> 25 <p>场次:{{ ticketForm.extJson?.sessionType =='1000'? '日间场' : '夜间场' }}</p>
26 <p>通票:{{ 26 <p>票型:{{ ticketForm.extJson?.atstName }}</p>
27 paymentType != 3 ? '¥' : '€'
28 }}
29 {{
30 paymentType != 3 ? ticketForm.extJson?.ticketDate.price : ticketForm.extJson?.ticketDate.priceEn
31 }}
32 /1张</p>
33 <p>优惠票:{{
34 paymentType != 3 ? '¥' : '€'
35 }}
36 {{
37 paymentType != 3 ? ticketForm.extJson?.ticketDate.rebatePrice : ticketForm.extJson?.ticketDate.rebatePriceEn
38 }}
39 /1张</p>
40
41 <p class="poPrice">{{ paymentType != 3 ? '¥' : '€' }}{{ totalMoney }}</p>
42 </div> 27 </div>
43 <div> 28 <div>
44 <el-row v-for="v in message" style="width: 100%">
45 <el-col :lg="8" :md="12" :sm="12" :xs="24">
46 <div>{{ v.name }}
47 </div>
48 </el-col>
49 <el-col :lg="8" :md="12" :sm="12" :xs="24">
50 <div>{{ !v.discount ? '通票' : '优惠票' }}
51 </div>
52 </el-col>
53 <el-col :lg="8" :md="12" :sm="12" :xs="24">
54 {{
55 !v.discount ? paymentType != 3 ? ticketForm.extJson?.ticketDate.price : ticketForm.extJson?.ticketDate.priceEn : paymentType != 3 ? ticketForm.extJson?.ticketDate.rebatePrice : ticketForm.extJson?.ticketDate.rebatePriceEn
56 }}
57 {{ paymentType != 3 ? '¥' : '€' }}/张
58 </el-col>
59 </el-row>
60 <el-row style="width: 100%"> 29 <el-row style="width: 100%">
61 <el-col :lg="8" :md="12" :sm="12" :xs="24"> 30 <el-col :lg="8" :md="12" :sm="12" :xs="24">
62 <div>购票数量:{{ ticketForm.num }} 31 <div>购票数量:{{ ticketForm.num }}
...@@ -65,14 +34,14 @@ ...@@ -65,14 +34,14 @@
65 <el-col :lg="8" :md="12" :sm="12" :xs="24">联系方式:{{ ticketForm.phone }} 34 <el-col :lg="8" :md="12" :sm="12" :xs="24">联系方式:{{ ticketForm.phone }}
66 </el-col> 35 </el-col>
67 <el-col :lg="8" :md="12" :sm="12" :xs="24"> 36 <el-col :lg="8" :md="12" :sm="12" :xs="24">
68 共计:{{ (totalMoney * 1).toFixed(2) }}{{ 37 共计:{{ (totalMoney*1).toFixed(2) }}{{
69 paymentType != 3 ? '¥' : '€' 38 paymentType == 1 ? '¥' : '€'
70 }} 39 }}
71 </el-col> 40 </el-col>
72 </el-row> 41 </el-row>
73 </div> 42 </div>
74 </div> 43 </div>
75 44
76 <div class="leftboderTT"> 45 <div class="leftboderTT">
77 {{ paymentType != 3 ? '开票信息' : 'Invoice information' }} 46 {{ paymentType != 3 ? '开票信息' : 'Invoice information' }}
78 </div> 47 </div>
...@@ -82,15 +51,15 @@ ...@@ -82,15 +51,15 @@
82 class="mw500" 51 class="mw500"
83 > 52 >
84 <el-form-item :label="language==0 ?'开票金额':'Amount'"> 53 <el-form-item :label="language==0 ?'开票金额':'Amount'">
85 <span class="bigprice">{{ paymentType != 3 ? '¥' : '€' }}{{ totalMoney }}</span> 54 <span class="bigprice">{{ paymentType != 3 ? '¥' : '€' }}{{ paymentType != 3?ticketForm.total:ticketForm.totalEn }}</span>
86 </el-form-item> 55 </el-form-item>
87 56
88 <el-form-item :label="language==0 ?`发票形式`:'Invoice Form'" prop="invoiceForm" required> 57 <el-form-item :label="language==0 ?`发票形式`:'Invoice Form'" prop="invoiceForm" required>
89 <el-radio-group v-model="form.invoiceForm"> 58 <el-radio-group v-model="form.invoiceForm">
90 <el-radio value="1">{{ language == 0 ? '电子发票' : 'E-invoice' }}</el-radio> 59 <el-radio value="1">{{ language == 0 ? '电子发票' : 'E-invoice' }}</el-radio>
91 </el-radio-group> 60 </el-radio-group>
92 </el-form-item> 61 </el-form-item>
93 62
94 <el-form-item :label="language==0 ?`发票类型`:'Invoice Type'" prop="invoiceType" required> 63 <el-form-item :label="language==0 ?`发票类型`:'Invoice Type'" prop="invoiceType" required>
95 <el-radio-group v-model="form.invoiceType"> 64 <el-radio-group v-model="form.invoiceType">
96 <el-radio value="0">{{ language == 0 ? '企业' : 'Company' }}</el-radio> 65 <el-radio value="0">{{ language == 0 ? '企业' : 'Company' }}</el-radio>
...@@ -132,7 +101,7 @@ ...@@ -132,7 +101,7 @@
132 </el-form-item> 101 </el-form-item>
133 </div> 102 </div>
134 </el-form> 103 </el-form>
135 104
136 <div v-if="remark" class="tip"> 105 <div v-if="remark" class="tip">
137 <label>{{ paymentType != 3 ? '开票须知' : 'Invoice Notice' }}:</label> 106 <label>{{ paymentType != 3 ? '开票须知' : 'Invoice Notice' }}:</label>
138 <div v-html="remark" /> 107 <div v-html="remark" />
...@@ -140,7 +109,7 @@ ...@@ -140,7 +109,7 @@
140 </div> 109 </div>
141 </el-col> 110 </el-col>
142 </el-row> 111 </el-row>
143 112
144 <el-row align="middle" class="pd20" justify="center"> 113 <el-row align="middle" class="pd20" justify="center">
145 <el-col :span="12" class="text-center"> 114 <el-col :span="12" class="text-center">
146 <el-button class="btn-lineG w200px" round size="large" type="primary" @click="submit"> 115 <el-button class="btn-lineG w200px" round size="large" type="primary" @click="submit">
...@@ -150,7 +119,7 @@ ...@@ -150,7 +119,7 @@
150 </el-row> 119 </el-row>
151 </el-card> 120 </el-card>
152 <div style="height: 60px;" /> 121 <div style="height: 60px;" />
153 122
154 </div> 123 </div>
155 </div> 124 </div>
156 <address-list-dialog ref="dialogAddressListRef" @submit="getAddress" /> 125 <address-list-dialog ref="dialogAddressListRef" @submit="getAddress" />
...@@ -248,27 +217,27 @@ async function getTickInfo() { ...@@ -248,27 +217,27 @@ async function getTickInfo() {
248 ticketForm.value = res.data 217 ticketForm.value = res.data
249 try { 218 try {
250 ticketForm.value.extJson = JSON.parse(ticketForm.value.extJson) 219 ticketForm.value.extJson = JSON.parse(ticketForm.value.extJson)
251 ticketForm.value.extJson.ticketDate = JSON.parse(ticketForm.value.extJson.ticketDate) 220 // ticketForm.value.extJson.ticketDate = JSON.parse(ticketForm.value.extJson.ticketDate)
252 ticketForm.value.extJson.ticketType = JSON.parse(ticketForm.value.extJson.ticketType) 221 // ticketForm.value.extJson.ticketType = JSON.parse(ticketForm.value.extJson.ticketType)
253 cptId = ticketForm.value.extJson.ticketDate.activityId 222 cptId = ticketForm.value.activeId
254 totalMoney.value.val = ticketForm.value.extJson.total 223 totalMoney.value = ticketForm.value.paymentType != 3 ? ticketForm.value.total : ticketForm.value.totalEn
255 message.value = JSON.parse(ticketForm.value.extJson.message) 224 // message.value = JSON.parse(ticketForm.value.extJson.message)
256 console.log(message.value) 225 // console.log(message.value)
257 paymentType.value = ticketForm.value.paymentType 226 paymentType.value = ticketForm.value.paymentType
258 totalMoney.value = paymentType.value == 3 ? ticketForm.value.totalEn : ticketForm.value.total 227
259 await getDetail(ticketForm.value.extJson.ticketDate.activityId) 228 await getDetail(ticketForm.value.activeId)
260 console.log(ticketForm.value) 229 // console.log(ticketForm.value)
261 } catch (e) { 230 } catch (e) {
262 console.log(e) 231 console.log(e)
263 } finally { 232 } finally {
264 233
265 } 234 }
266 } 235 }
267 236
268 async function getDetail(activeId) { 237 async function getDetail(activeId) {
269 const res = await getTicketInfoByActivityId({ activityId: activeId }) 238 const res = await getTicketInfoByActivityId({ activityId: activeId })
270 matchForm.value = res.data 239 matchForm.value = res.data
271 console.log(matchForm.value) 240 // console.log(matchForm.value)
272 } 241 }
273 242
274 function getList() { 243 function getList() {
...@@ -370,7 +339,7 @@ function goBack() { ...@@ -370,7 +339,7 @@ function goBack() {
370 339
371 .border-info { 340 .border-info {
372 position: relative; 341 position: relative;
373 342
374 & > label { 343 & > label {
375 position: absolute; 344 position: absolute;
376 right: 0; 345 right: 0;
...@@ -380,7 +349,7 @@ function goBack() { ...@@ -380,7 +349,7 @@ function goBack() {
380 padding: 5px 15px; 349 padding: 5px 15px;
381 font-size: 14px; 350 font-size: 14px;
382 } 351 }
383 352
384 .poPrice { 353 .poPrice {
385 position: absolute; 354 position: absolute;
386 bottom: 0px; 355 bottom: 0px;
...@@ -435,12 +404,12 @@ function goBack() { ...@@ -435,12 +404,12 @@ function goBack() {
435 404
436 .ccitemBox { 405 .ccitemBox {
437 overflow: auto; 406 overflow: auto;
438 407
439 label { 408 label {
440 margin: 10px 0; 409 margin: 10px 0;
441 display: block; 410 display: block;
442 min-height: 30px; 411 min-height: 30px;
443 412
444 span { 413 span {
445 color: #FF8124; 414 color: #FF8124;
446 font-family: DIN Alternate; 415 font-family: DIN Alternate;
...@@ -455,12 +424,12 @@ function goBack() { ...@@ -455,12 +424,12 @@ function goBack() {
455 font-size: 15px; 424 font-size: 15px;
456 color: #666; 425 color: #666;
457 margin: 5px 0 10px; 426 margin: 5px 0 10px;
458 427
459 label { 428 label {
460 font-size: 16px; 429 font-size: 16px;
461 color: #000; 430 color: #000;
462 } 431 }
463 432
464 span { 433 span {
465 font-size: 13px; 434 font-size: 13px;
466 } 435 }
......
...@@ -12,8 +12,8 @@ ...@@ -12,8 +12,8 @@
12 <div class="name">{{ TickForm.name }}</div> 12 <div class="name">{{ TickForm.name }}</div>
13 <div class="address">{{ TickForm.address }}</div> 13 <div class="address">{{ TickForm.address }}</div>
14 </div> 14 </div>
15 15
16 16
17 <div class="ticket_info mb20"> 17 <div class="ticket_info mb20">
18 <div class="tit_box"> 18 <div class="tit_box">
19 <div class="line" /> 19 <div class="line" />
...@@ -21,12 +21,12 @@ ...@@ -21,12 +21,12 @@
21 {{ languageFormat(language, "订票信息", "Ticket Info") }} 21 {{ languageFormat(language, "订票信息", "Ticket Info") }}
22 </div> 22 </div>
23 </div> 23 </div>
24 24
25 <div class="form"> 25 <div class="form">
26 <el-form ref="formRef" :model="orderForm" :rules="rules" label-width="140px"> 26 <el-form ref="formRef" :model="orderForm" :rules="rules" label-width="140px">
27 <div v-if="TickForm2.ticketType == '1'"> 27 <div v-if="TickForm2.ticketType == '1'">
28 <el-form-item :label="language == 0 ? '桌号' : 'Table'"> 28 <el-form-item :label="language == 0 ? '桌号' : 'Table'">
29 29
30 <!-- <el-popover :width="400" placement="right" trigger="hover">--> 30 <!-- <el-popover :width="400" placement="right" trigger="hover">-->
31 <!-- <template #reference>--> 31 <!-- <template #reference>-->
32 <!-- <div class="text-primary underline pointer" @click="showImg">--> 32 <!-- <div class="text-primary underline pointer" @click="showImg">-->
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
39 <!-- />--> 39 <!-- />-->
40 <!-- </el-popover>--> 40 <!-- </el-popover>-->
41 <!-- --> 41 <!-- -->
42 42
43 <el-radio-group v-model="currDesk"> 43 <el-radio-group v-model="currDesk">
44 <el-radio-button 44 <el-radio-button
45 v-for="(it, index) in deskList" :key="index" :disabled="it.status!=0" :label="it.deskNo" 45 v-for="(it, index) in deskList" :key="index" :disabled="it.status!=0" :label="it.deskNo"
...@@ -105,7 +105,7 @@ ...@@ -105,7 +105,7 @@
105 </div> 105 </div>
106 </div> 106 </div>
107 </el-col> 107 </el-col>
108 108
109 <el-col :lg="8" class="right"> 109 <el-col :lg="8" class="right">
110 <div class="tit_box"> 110 <div class="tit_box">
111 <div class="line" /> 111 <div class="line" />
...@@ -113,7 +113,7 @@ ...@@ -113,7 +113,7 @@
113 {{ languageFormat(language, "订单明细", "Order summary") }} 113 {{ languageFormat(language, "订单明细", "Order summary") }}
114 </div> 114 </div>
115 </div> 115 </div>
116 116
117 <div class="detail"> 117 <div class="detail">
118 <div class="detail_top"> 118 <div class="detail_top">
119 <div class="time"> 119 <div class="time">
...@@ -148,14 +148,14 @@ ...@@ -148,14 +148,14 @@
148 <span v-else>{{ language == 0 ? '夜间场' : 'Night' }}</span> 148 <span v-else>{{ language == 0 ? '夜间场' : 'Night' }}</span>
149 | {{ TickForm2.ticketName }} 149 | {{ TickForm2.ticketName }}
150 </div> 150 </div>
151 151
152 <div v-if="TickForm2.ticketType=='0'" class="address">{{ 152 <div v-if="TickForm2.ticketType=='0'" class="address">{{
153 language == 0 ? '剩余数量' : 'Remaining Quantity' 153 language == 0 ? '剩余数量' : 'Remaining Quantity'
154 }}: {{ leftCount }} 154 }}: {{ leftCount }}
155 </div> 155 </div>
156 </div> 156 </div>
157 </div> 157 </div>
158 158
159 <!-- 场馆布局图--> 159 <!-- 场馆布局图-->
160 <div style="margin-top: 30px"> 160 <div style="margin-top: 30px">
161 <el-image 161 <el-image
...@@ -256,7 +256,7 @@ onMounted(() => { ...@@ -256,7 +256,7 @@ onMounted(() => {
256 tickImg.value = route.query.tickImg 256 tickImg.value = route.query.tickImg
257 customerList() 257 customerList()
258 getDetail() 258 getDetail()
259 259
260 getActivityTypeVoById({ 260 getActivityTypeVoById({
261 id: route.params.latstId 261 id: route.params.latstId
262 }).then((res) => { 262 }).then((res) => {
...@@ -292,12 +292,12 @@ function changeGroup(e) { ...@@ -292,12 +292,12 @@ function changeGroup(e) {
292 }).then(res => { 292 }).then(res => {
293 if (res.data.length > 0) { 293 if (res.data.length > 0) {
294 const names = _.map(res.data, (d) => d.name).join(',') 294 const names = _.map(res.data, (d) => d.name).join(',')
295 295
296 ElMessage({ 296 ElMessage({
297 message: language.value == 0 ? `${names} 已购买该票` : 'The user has purchased the ticket', 297 message: language.value == 0 ? `${names} 已购买该票` : 'The user has purchased the ticket',
298 type: 'error' 298 type: 'error'
299 }) 299 })
300 300
301 _.each(res.data, (d) => { 301 _.each(res.data, (d) => {
302 _.remove(orderForm.value.customerIds, (c) => c == d.id) 302 _.remove(orderForm.value.customerIds, (c) => c == d.id)
303 _.find(personnelList.value, (p) => p.id == d.id).disabled = true 303 _.find(personnelList.value, (p) => p.id == d.id).disabled = true
...@@ -316,10 +316,10 @@ async function customerList() { ...@@ -316,10 +316,10 @@ async function customerList() {
316 // 提交 316 // 提交
317 async function paymentHandle() { 317 async function paymentHandle() {
318 if (!user.value) { 318 if (!user.value) {
319 useStore().setVisitor() 319 useStore.setVisitor()
320 return 320 return
321 } 321 }
322 322
323 if (TickForm2.value.ticketType == '1') { 323 if (TickForm2.value.ticketType == '1') {
324 if (currSeat.value.length == 0) { 324 if (currSeat.value.length == 0) {
325 ElMessage({ 325 ElMessage({
...@@ -336,9 +336,9 @@ async function paymentHandle() { ...@@ -336,9 +336,9 @@ async function paymentHandle() {
336 return 336 return
337 } 337 }
338 } 338 }
339 339
340 await formRef.value.validate() 340 await formRef.value.validate()
341 341
342 await ElMessageBox.confirm(language.value == 0 ? '确认提交订单吗?' : 'Confirm to submit the order?', { 342 await ElMessageBox.confirm(language.value == 0 ? '确认提交订单吗?' : 'Confirm to submit the order?', {
343 confirmButtonText: language.value == 0 ? '确定' : 'Confirm', 343 confirmButtonText: language.value == 0 ? '确定' : 'Confirm',
344 cancelButtonText: language.value == 0 ? '取消' : 'Cancel', 344 cancelButtonText: language.value == 0 ? '取消' : 'Cancel',
...@@ -359,7 +359,7 @@ async function paymentHandle() { ...@@ -359,7 +359,7 @@ async function paymentHandle() {
359 seatNo: tempSeat.seatNo 359 seatNo: tempSeat.seatNo
360 }) 360 })
361 }) 361 })
362 362
363 const res = await submitOrderTicket({ 363 const res = await submitOrderTicket({
364 activeId: orderForm.value.activeId, 364 activeId: orderForm.value.activeId,
365 orderName: TickForm2.value.ticketTypeName, 365 orderName: TickForm2.value.ticketTypeName,
...@@ -406,7 +406,7 @@ async function paymentHandle() { ...@@ -406,7 +406,7 @@ async function paymentHandle() {
406 } catch (e) { 406 } catch (e) {
407 ElMessage.error(language.value == 0 ? '下单失败,' : 'Order failure') 407 ElMessage.error(language.value == 0 ? '下单失败,' : 'Order failure')
408 } finally { 408 } finally {
409 409
410 } 410 }
411 }) 411 })
412 } 412 }
...@@ -450,7 +450,7 @@ div { ...@@ -450,7 +450,7 @@ div {
450 //padding: 20px 0; 450 //padding: 20px 0;
451 width: 1200px; 451 width: 1200px;
452 margin: 20px auto; 452 margin: 20px auto;
453 453
454 .tag_t { 454 .tag_t {
455 padding: 1px 10px; 455 padding: 1px 10px;
456 font-weight: 400; 456 font-weight: 400;
...@@ -460,7 +460,7 @@ div { ...@@ -460,7 +460,7 @@ div {
460 border: 1px solid #453dea; 460 border: 1px solid #453dea;
461 margin-left: 5px; 461 margin-left: 5px;
462 } 462 }
463 463
464 .title { 464 .title {
465 padding: 11px; 465 padding: 11px;
466 text-align: center; 466 text-align: center;
...@@ -468,18 +468,18 @@ div { ...@@ -468,18 +468,18 @@ div {
468 font-size: 18px; 468 font-size: 18px;
469 color: #ffffff; 469 color: #ffffff;
470 } 470 }
471 471
472 .content { 472 .content {
473 background-color: #fff; 473 background-color: #fff;
474 } 474 }
475 475
476 .line { 476 .line {
477 width: 4px; 477 width: 4px;
478 height: 18px; 478 height: 18px;
479 background: linear-gradient(180deg, #493ceb 0%, #8623fc 100%); 479 background: linear-gradient(180deg, #493ceb 0%, #8623fc 100%);
480 border-radius: 4px; 480 border-radius: 4px;
481 } 481 }
482 482
483 .left { 483 .left {
484 .info { 484 .info {
485 background: rgba(69, 61, 234, 0.04); 485 background: rgba(69, 61, 234, 0.04);
...@@ -487,54 +487,54 @@ div { ...@@ -487,54 +487,54 @@ div {
487 border: 1px solid #d3d1f6; 487 border: 1px solid #d3d1f6;
488 padding: 20px 0 28px 33px; 488 padding: 20px 0 28px 33px;
489 margin-bottom: 20px; 489 margin-bottom: 20px;
490 490
491 .name { 491 .name {
492 font-weight: 500; 492 font-weight: 500;
493 font-size: 18px; 493 font-size: 18px;
494 color: #000000; 494 color: #000000;
495 margin-bottom: 20px; 495 margin-bottom: 20px;
496 } 496 }
497 497
498 .address { 498 .address {
499 font-weight: 400; 499 font-weight: 400;
500 font-size: 14px; 500 font-size: 14px;
501 color: #929aa0; 501 color: #929aa0;
502 } 502 }
503 } 503 }
504 504
505 .ticket_info { 505 .ticket_info {
506 .tit_box { 506 .tit_box {
507 display: flex; 507 display: flex;
508 align-items: center; 508 align-items: center;
509 gap: 10px; 509 gap: 10px;
510 margin-bottom: 14px; 510 margin-bottom: 14px;
511 511
512 .txt { 512 .txt {
513 font-weight: bold; 513 font-weight: bold;
514 font-size: 16px; 514 font-size: 16px;
515 color: #493ceb; 515 color: #493ceb;
516 } 516 }
517 } 517 }
518 518
519 .form { 519 .form {
520 min-height: 464px; 520 min-height: 464px;
521 padding: 20px 60px; 521 padding: 20px 60px;
522 border-radius: 5px; 522 border-radius: 5px;
523 border: 1px solid #dcdfe6; 523 border: 1px solid #dcdfe6;
524 524
525 .p_box { 525 .p_box {
526 display: flex; 526 display: flex;
527 width: 100%; 527 width: 100%;
528 gap: 10px; 528 gap: 10px;
529 max-width: 400px; 529 max-width: 400px;
530 530
531 .people { 531 .people {
532 width: 100%; 532 width: 100%;
533 background: #fbfcfd; 533 background: #fbfcfd;
534 border-radius: 2px; 534 border-radius: 2px;
535 border: 1px solid #dcdfe6; 535 border: 1px solid #dcdfe6;
536 padding: 0 14px; 536 padding: 0 14px;
537 537
538 .prople_item { 538 .prople_item {
539 display: flex; 539 display: flex;
540 justify-content: space-between; 540 justify-content: space-between;
...@@ -543,30 +543,30 @@ div { ...@@ -543,30 +543,30 @@ div {
543 border-bottom: 1px solid #dcdfe6; 543 border-bottom: 1px solid #dcdfe6;
544 width: 100%; 544 width: 100%;
545 position: relative; 545 position: relative;
546 546
547 &:last-child { 547 &:last-child {
548 border: none; 548 border: none;
549 } 549 }
550 550
551 .name { 551 .name {
552 font-size: 16px; 552 font-size: 16px;
553 //color: #929aa0; 553 //color: #929aa0;
554 margin-bottom: 20px; 554 margin-bottom: 20px;
555 555
556 .tag_t { 556 .tag_t {
557 position: absolute; 557 position: absolute;
558 right: 30px; 558 right: 30px;
559 padding: 8px; 559 padding: 8px;
560 } 560 }
561 } 561 }
562 562
563 .idcard { 563 .idcard {
564 font-size: 10px; 564 font-size: 10px;
565 color: #929aa0; 565 color: #929aa0;
566 } 566 }
567 } 567 }
568 } 568 }
569 569
570 .btn { 570 .btn {
571 width: 90px; 571 width: 90px;
572 height: 40px; 572 height: 40px;
...@@ -585,30 +585,30 @@ div { ...@@ -585,30 +585,30 @@ div {
585 } 585 }
586 } 586 }
587 } 587 }
588 588
589 .right { 589 .right {
590 .tit_box { 590 .tit_box {
591 display: flex; 591 display: flex;
592 align-items: center; 592 align-items: center;
593 gap: 10px; 593 gap: 10px;
594 margin-bottom: 20px; 594 margin-bottom: 20px;
595 595
596 .txt { 596 .txt {
597 font-weight: bold; 597 font-weight: bold;
598 font-size: 16px; 598 font-size: 16px;
599 color: #493ceb; 599 color: #493ceb;
600 } 600 }
601 } 601 }
602 602
603 .detail { 603 .detail {
604 padding: 15px 26px; 604 padding: 15px 26px;
605 border-radius: 5px; 605 border-radius: 5px;
606 border: 1px solid #dcdfe6; 606 border: 1px solid #dcdfe6;
607 607
608 .detail_top { 608 .detail_top {
609 padding-bottom: 13px; 609 padding-bottom: 13px;
610 border-bottom: 1px solid #dcdfe6; 610 border-bottom: 1px solid #dcdfe6;
611 611
612 .time { 612 .time {
613 font-weight: 500; 613 font-weight: 500;
614 font-size: 20px; 614 font-size: 20px;
...@@ -616,13 +616,13 @@ div { ...@@ -616,13 +616,13 @@ div {
616 line-height: 25px; 616 line-height: 25px;
617 margin-bottom: 8px; 617 margin-bottom: 8px;
618 } 618 }
619 619
620 .ticket { 620 .ticket {
621 font-size: 16px; 621 font-size: 16px;
622 color: #2d373f; 622 color: #2d373f;
623 } 623 }
624 } 624 }
625 625
626 .detail_center { 626 .detail_center {
627 margin-top: 14px; 627 margin-top: 14px;
628 display: flex; 628 display: flex;
...@@ -630,26 +630,26 @@ div { ...@@ -630,26 +630,26 @@ div {
630 padding-bottom: 13px; 630 padding-bottom: 13px;
631 border-bottom: 1px solid #dcdfe6; 631 border-bottom: 1px solid #dcdfe6;
632 gap: 8px; 632 gap: 8px;
633 633
634 .ticket { 634 .ticket {
635 font-size: 16px; 635 font-size: 16px;
636 color: #2d373f; 636 color: #2d373f;
637 } 637 }
638 } 638 }
639 639
640 .detail_b { 640 .detail_b {
641 display: flex; 641 display: flex;
642 justify-content: space-between; 642 justify-content: space-between;
643 align-items: center; 643 align-items: center;
644 margin-top: 16px; 644 margin-top: 16px;
645 645
646 .sum_txt { 646 .sum_txt {
647 font-weight: 600; 647 font-weight: 600;
648 font-size: 18px; 648 font-size: 18px;
649 color: #2d373f; 649 color: #2d373f;
650 line-height: 25px; 650 line-height: 25px;
651 } 651 }
652 652
653 .price_num { 653 .price_num {
654 font-weight: 600; 654 font-weight: 600;
655 font-size: 36px; 655 font-size: 36px;
...@@ -659,7 +659,7 @@ div { ...@@ -659,7 +659,7 @@ div {
659 } 659 }
660 } 660 }
661 } 661 }
662 662
663 .footer { 663 .footer {
664 display: flex; 664 display: flex;
665 justify-content: space-between; 665 justify-content: space-between;
...@@ -669,20 +669,20 @@ div { ...@@ -669,20 +669,20 @@ div {
669 box-shadow: 0px 0px 46px 0px rgba(1, 16, 64, 0.08); 669 box-shadow: 0px 0px 46px 0px rgba(1, 16, 64, 0.08);
670 margin-top: 9px; 670 margin-top: 9px;
671 padding: 0 30px; 671 padding: 0 30px;
672 672
673 .label { 673 .label {
674 font-size: 16px; 674 font-size: 16px;
675 color: #7b7f83; 675 color: #7b7f83;
676 line-height: 22px; 676 line-height: 22px;
677 } 677 }
678 678
679 .value { 679 .value {
680 font-size: 22px; 680 font-size: 22px;
681 color: #ff8124; 681 color: #ff8124;
682 line-height: 30px; 682 line-height: 30px;
683 font-weight: 600; 683 font-weight: 600;
684 } 684 }
685 685
686 .pay { 686 .pay {
687 width: 200px; 687 width: 200px;
688 height: 40px; 688 height: 40px;
...@@ -696,7 +696,7 @@ div { ...@@ -696,7 +696,7 @@ div {
696 cursor: pointer; 696 cursor: pointer;
697 user-select: none; 697 user-select: none;
698 } 698 }
699 699
700 .goBack { 700 .goBack {
701 width: 200px; 701 width: 200px;
702 height: 40px; 702 height: 40px;
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
6 <div class="bg-lineg"> 6 <div class="bg-lineg">
7 <div class="pl-back" @click="goBack"> 7 <div class="pl-back" @click="goBack">
8 <el-icon> 8 <el-icon>
9 <ArrowLeftBold/> 9 <ArrowLeftBold />
10 </el-icon> 10 </el-icon>
11 返回 11 返回
12 </div> 12 </div>
...@@ -21,52 +21,22 @@ ...@@ -21,52 +21,22 @@
21 <label class="blueTag">票务订单</label> 21 <label class="blueTag">票务订单</label>
22 <h3>{{ matchForm.name }}</h3> 22 <h3>{{ matchForm.name }}</h3>
23 <div> 23 <div>
24 <p>地址:{{ matchForm.address }}</p> 24 <p>票档:{{ ticketForm.extJson?.atName }}</p>
25 <p>票档:{{ ticketForm.extJson?.ticketType?.name }}</p> 25 <p>场馆:{{ ticketForm.extJson?.atsName }}</p>
26 <p>时间:{{ ticketForm.extJson?.ticketDate.name }}</p> 26 <p>场次:{{ ticketForm.extJson?.sessionType =='1000'? '日间场' : '夜间场' }}</p>
27 <p>通票:{{ paymentType != 3 ? '¥' : '€' }} 27 <p>票型:{{ ticketForm.extJson?.atstName }}</p>
28 {{
29 paymentType != 3 ? ticketForm.extJson?.ticketDate.price : ticketForm.extJson?.ticketDate.priceEn
30 }}
31 /1张</p>
32 <p>优惠票:{{ paymentType != 3 ? '¥' : '€' }}
33 {{
34 paymentType != 3 ? ticketForm.extJson?.ticketDate.rebatePrice : ticketForm.extJson?.ticketDate.rebatePriceEn
35 }}
36 /1张</p>
37 <p class="poPrice">{{ paymentType != 3 ? '¥' : '€' }}{{ totalMoney }}</p>
38 </div> 28 </div>
39 <div> 29 <div>
40 <el-row v-for="v in message" style="width: 100%">
41 <el-col :lg="8" :md="12" :sm="12" :xs="24">
42 <div>{{ v.name }}
43 </div>
44 </el-col>
45 <el-col :lg="8" :md="12" :sm="12" :xs="24">
46 <div>{{ !v.discount ? '通票' : '优惠票' }}
47 </div>
48 </el-col>
49 <el-col :lg="8" :md="12" :sm="12" :xs="24">
50 {{
51 !v.discount ? paymentType != 3 ? ticketForm.extJson?.ticketDate.price : ticketForm.extJson?.ticketDate.priceEn : paymentType != 3 ? ticketForm.extJson?.ticketDate.rebatePrice : ticketForm.extJson?.ticketDate.rebatePriceEn
52 }}
53 {{ paymentType != 3 ? '¥' : '€' }}/张
54 </el-col>
55 </el-row>
56 <el-row style="width: 100%"> 30 <el-row style="width: 100%">
57 <el-col :lg="8" :md="12" :sm="12" :xs="24"> 31 <el-col :lg="8" :md="12" :sm="12" :xs="24">
58 <div>{{ 32 <div>购票数量:{{ ticketForm.num }}
59 language == 0 ? '购票数量' : 'Number of tickets purchased'
60 }}{{ ticketForm.num }}
61 </div> 33 </div>
62 </el-col> 34 </el-col>
63 <el-col :lg="8" :md="12" :sm="12" :xs="24">{{ 35 <el-col :lg="8" :md="12" :sm="12" :xs="24">联系方式:{{ ticketForm.phone }}
64 language == 0 ? '联系方式' : 'Contact Information'
65 }}{{ ticketForm.phone }}
66 </el-col> 36 </el-col>
67 <el-col :lg="8" :md="12" :sm="12" :xs="24"> 37 <el-col :lg="8" :md="12" :sm="12" :xs="24">
68 共计:{{ (totalMoney * 1).toFixed(2) }}{{ 38 共计:{{ (totalMoney*1).toFixed(2) }}{{
69 paymentType != 3 ? '¥' : '€' 39 paymentType == 1 ? '¥' : '€'
70 }} 40 }}
71 </el-col> 41 </el-col>
72 </el-row> 42 </el-row>
...@@ -74,8 +44,10 @@ ...@@ -74,8 +44,10 @@
74 </div> 44 </div>
75 <div class="leftboderTT">{{ language == 0 ? '开票信息' : 'Invoice information' }}</div> 45 <div class="leftboderTT">{{ language == 0 ? '开票信息' : 'Invoice information' }}</div>
76 <div class="border-rr mt20 pd20"> 46 <div class="border-rr mt20 pd20">
77 <el-form ref="formRef" :label-width="language == 0 ?'100':'150'" :model="form" :rules="rules" 47 <el-form
78 class="mw500"> 48 ref="formRef" :label-width="language == 0 ?'100':'150'" :model="form" :rules="rules"
49 class="mw500"
50 >
79 <el-form-item :label="'开票金额'"> 51 <el-form-item :label="'开票金额'">
80 <span class="bigprice">{{ paymentType != 3 ? '¥' : '€' }}{{ totalMoney }}</span> 52 <span class="bigprice">{{ paymentType != 3 ? '¥' : '€' }}{{ totalMoney }}</span>
81 </el-form-item> 53 </el-form-item>
...@@ -124,27 +96,27 @@ ...@@ -124,27 +96,27 @@
124 <el-button plain round type="primary" @click="backList">返回</el-button> 96 <el-button plain round type="primary" @click="backList">返回</el-button>
125 </div> 97 </div>
126 </el-card> 98 </el-card>
127 <div style="height: 60px;"></div> 99 <div style="height: 60px;" />
128 </div> 100 </div>
129 </div> 101 </div>
130 </template> 102 </template>
131 103
132 <script setup> 104 <script setup>
133 import {useRouter, useRoute} from "vue-router"; 105 import { useRouter, useRoute } from 'vue-router'
134 import {ref, onMounted} from "vue"; 106 import { ref, onMounted } from 'vue'
135 import {useStorage} from "@vueuse/core/index"; 107 import { useStorage } from '@vueuse/core/index'
136 import dayjs from 'dayjs' 108 import dayjs from 'dayjs'
137 import {ElMessage, ElMessageBox} from "element-plus"; 109 import { ElMessage, ElMessageBox } from 'element-plus'
138 import useUserStore from "@/store/modules/user"; 110 import useUserStore from '@/store/modules/user'
139 import {getCurrentInstance} from "@vue/runtime-core"; 111 import { getCurrentInstance } from '@vue/runtime-core'
140 import { 112 import {
141 getInvoiceDetail, 113 getInvoiceDetail,
142 getTicketOrderInfo, 114 getTicketOrderInfo,
143 getTicketInfoByActivityId 115 getTicketInfoByActivityId
144 } from "@/apiPc/booking"; 116 } from '@/apiPc/booking'
145 import {getOrderDetail} from "@/viewsPc/seat/api/index"; 117 import { getOrderDetail } from '@/viewsPc/seat/api/index'
146 118
147 const {proxy} = getCurrentInstance() 119 const { proxy } = getCurrentInstance()
148 120
149 const user = useUserStore().user 121 const user = useUserStore().user
150 const language = useStorage('language', 0) 122 const language = useStorage('language', 0)
...@@ -164,58 +136,57 @@ const invoiceId = ref() ...@@ -164,58 +136,57 @@ const invoiceId = ref()
164 136
165 const rules = ref({ 137 const rules = ref({
166 invoiceType: [ 138 invoiceType: [
167 {required: true, message: language.value == 0 ? '请选择发票类型' : 'Please select invoice type', trigger: 'change'} 139 { required: true, message: language.value == 0 ? '请选择发票类型' : 'Please select invoice type', trigger: 'change' }
168 ], 140 ],
169 invoiceEmail: [ 141 invoiceEmail: [
170 {required: true, message: language.value == 0 ? '请输入邮箱' : 'Please enter email', trigger: 'blur'} 142 { required: true, message: language.value == 0 ? '请输入邮箱' : 'Please enter email', trigger: 'blur' }
171 ], 143 ],
172 invoiceForm: [ 144 invoiceForm: [
173 {required: true, message: language.value == 0 ? '请选择发票形式' : 'Please select invoice form', trigger: 'change'} 145 { required: true, message: language.value == 0 ? '请选择发票形式' : 'Please select invoice form', trigger: 'change' }
174 ], 146 ],
175 invoiceTitle: [ 147 invoiceTitle: [
176 {required: true, message: language.value == 0 ? '请输入发票抬头' : 'Please enter invoice title', trigger: 'blur'} 148 { required: true, message: language.value == 0 ? '请输入发票抬头' : 'Please enter invoice title', trigger: 'blur' }
177 ], 149 ],
178 invoiceTfn: [ 150 invoiceTfn: [
179 {required: true, message: language.value == 0 ? '请输入税号' : 'Please enter TFN', trigger: 'blur'} 151 { required: true, message: language.value == 0 ? '请输入税号' : 'Please enter TFN', trigger: 'blur' }
180 ], 152 ],
181 invoiceAddress: [ 153 invoiceAddress: [
182 {required: true, message: language.value == 0 ? '请输入地址' : 'Please enter address', trigger: 'blur'} 154 { required: true, message: language.value == 0 ? '请输入地址' : 'Please enter address', trigger: 'blur' }
183 ], 155 ],
184 invoicePhone: [ 156 invoicePhone: [
185 {required: true, message: language.value == 0 ? '请输入电话' : 'Please enter phone', trigger: 'blur'} 157 { required: true, message: language.value == 0 ? '请输入电话' : 'Please enter phone', trigger: 'blur' }
186 ], 158 ],
187 invoiceBank: [ 159 invoiceBank: [
188 {required: true, message: language.value == 0 ? '请输入开户行' : 'Please enter bank', trigger: 'blur'} 160 { required: true, message: language.value == 0 ? '请输入开户行' : 'Please enter bank', trigger: 'blur' }
189 ], 161 ],
190 invoiceAccount: [ 162 invoiceAccount: [
191 {required: true, message: language.value == 0 ? '请输入账户' : 'Please enter account', trigger: 'blur'} 163 { required: true, message: language.value == 0 ? '请输入账户' : 'Please enter account', trigger: 'blur' }
192 ], 164 ]
193 }) 165 })
194 onMounted(() => { 166 onMounted(() => {
195 if (route.query.invoiceId) { 167 if (route.query.invoiceId) {
196 invoiceId.value = route.query.invoiceId 168 invoiceId.value = route.query.invoiceId
197 getList() 169 getList()
198 } 170 }
199 // 获取票务订单信息 171 // 获取票务订单信息
200 getTickInfo() 172 getTickInfo()
201 }) 173 })
202 174
203 175
204 // 票务订单详情 176 // 票务订单详情
205 async function getTickInfo() { 177 async function getTickInfo() {
206 const res = await getTicketOrderInfo({orderId: route.query.orderId}) 178 const res = await getTicketOrderInfo({ orderId: route.query.orderId })
207 ticketForm.value = res.data 179 ticketForm.value = res.data
208 try { 180 try {
209 ticketForm.value.extJson = JSON.parse(ticketForm.value.extJson) 181 ticketForm.value.extJson = JSON.parse(ticketForm.value.extJson)
210 ticketForm.value.extJson.ticketDate = JSON.parse(ticketForm.value.extJson.ticketDate) 182 // ticketForm.value.extJson.ticketDate = JSON.parse(ticketForm.value.extJson.ticketDate)
211 ticketForm.value.extJson.ticketType = JSON.parse(ticketForm.value.extJson.ticketType) 183 // ticketForm.value.extJson.ticketType = JSON.parse(ticketForm.value.extJson.ticketType)
212 cptId = ticketForm.value.extJson.ticketDate.activityId 184 cptId = ticketForm.value.activeId
213 totalMoney.val = ticketForm.value.extJson.total 185 totalMoney.value = ticketForm.value.paymentType != 3 ? ticketForm.value.total : ticketForm.value.totalEn
214 message.value = JSON.parse(ticketForm.value.extJson.message) 186 // message.value = JSON.parse(ticketForm.value.extJson.message)
215 paymentType.value = ticketForm.value.paymentType 187 paymentType.value = ticketForm.value.paymentType
216 totalMoney.value = paymentType.value == 3 ? ticketForm.value.totalEn : ticketForm.value.total 188 await getDetail(cptId)
217 await getDetail(ticketForm.value.extJson.ticketDate.activityId) 189 // console.log(ticketForm.value)
218 console.log(ticketForm.value)
219 } catch (e) { 190 } catch (e) {
220 console.log(e) 191 console.log(e)
221 } finally { 192 } finally {
...@@ -224,19 +195,19 @@ async function getTickInfo() { ...@@ -224,19 +195,19 @@ async function getTickInfo() {
224 } 195 }
225 196
226 async function getDetail(activeId) { 197 async function getDetail(activeId) {
227 const res = await getTicketInfoByActivityId({activityId: activeId}) 198 const res = await getTicketInfoByActivityId({ activityId: activeId })
228 matchForm.value = res.data 199 matchForm.value = res.data
229 console.log(matchForm.value) 200 console.log(matchForm.value)
230 } 201 }
231 202
232 async function getDataInfo() { 203 async function getDataInfo() {
233 const res = await getOrderDetail({orderSn: route.query.orderSn}) 204 const res = await getOrderDetail({ orderSn: route.query.orderSn })
234 formDate.value = res.data 205 formDate.value = res.data
235 } 206 }
236 207
237 function getList() { 208 function getList() {
238 getInvoiceDetail(invoiceId.value).then(res => { 209 getInvoiceDetail(invoiceId.value).then(res => {
239 form.value = res.data; 210 form.value = res.data
240 totalMoney.value = form.value.total 211 totalMoney.value = form.value.total
241 }) 212 })
242 } 213 }
......
...@@ -137,6 +137,7 @@ import { triggerLanguage } from '@/utils/ruoyi' ...@@ -137,6 +137,7 @@ import { triggerLanguage } from '@/utils/ruoyi'
137 import { useStorage } from '@vueuse/core/index' 137 import { useStorage } from '@vueuse/core/index'
138 import { useRoute, useRouter } from 'vue-router' 138 import { useRoute, useRouter } from 'vue-router'
139 import { getCurrentInstance } from '@vue/runtime-core' 139 import { getCurrentInstance } from '@vue/runtime-core'
140 import dayjs from 'dayjs'
140 141
141 const language = useStorage('language', 0) 142 const language = useStorage('language', 0)
142 const useStore = useUserStore() 143 const useStore = useUserStore()
...@@ -170,7 +171,9 @@ onMounted(() => { ...@@ -170,7 +171,9 @@ onMounted(() => {
170 async function getLogexScenicVoById() { 171 async function getLogexScenicVoById() {
171 const res = await booking.getLogexScenicVoById({ id: lasId.value }) 172 const res = await booking.getLogexScenicVoById({ id: lasId.value })
172 travel.value = res.data 173 travel.value = res.data
174 const nowDate = dayjs().format('YYYY-MM-DD')
173 selectForm.value.lasId = lasId.value 175 selectForm.value.lasId = lasId.value
176 travel.value.dateList = travel.value.dateList.filter(val => dayjs(val).format('YYYY-MM-DD') >= nowDate)
174 if (travel.value.dateList && travel.value.dateList.length > 0) { 177 if (travel.value.dateList && travel.value.dateList.length > 0) {
175 selectForm.value.scenicDate = travel.value.dateList[0] 178 selectForm.value.scenicDate = travel.value.dateList[0]
176 await getGateListByLasId() 179 await getGateListByLasId()
...@@ -183,6 +186,7 @@ async function getGateListByLasId() { ...@@ -183,6 +186,7 @@ async function getGateListByLasId() {
183 scenicDate: selectForm.value.scenicDate 186 scenicDate: selectForm.value.scenicDate
184 }) 187 })
185 ticketList.value = res.data 188 ticketList.value = res.data
189 console.log(33333, ticketList.value)
186 for (const v of ticketList.value) { 190 for (const v of ticketList.value) {
187 v.leftNum = v.num - v.orderCount 191 v.leftNum = v.num - v.orderCount
188 v.count = 0 192 v.count = 0
...@@ -230,6 +234,12 @@ async function toSelectSeat() { ...@@ -230,6 +234,12 @@ async function toSelectSeat() {
230 await proxy.$modal.confirm(language.value == 0 ? '请选择日期' : 'Please select a date') 234 await proxy.$modal.confirm(language.value == 0 ? '请选择日期' : 'Please select a date')
231 return 235 return
232 } 236 }
237
238 if (ticketList.value.length <= 0) {
239 await proxy.$modal.confirm(language.value == 0 ? `${selectForm.value.scenicDate}的票型已售完,请选择其它日期。` : `The ticket type for ${selectForm.value.scenicDate} is sold out. Please select another date.`)
240 return
241 }
242
233 if (!selectForm.value.price == '--' || selectForm.value.price == '--') { 243 if (!selectForm.value.price == '--' || selectForm.value.price == '--') {
234 await proxy.$modal.confirm(language.value == 0 ? '请选择购票数量' : 'Please select the number of tickets to purchase') 244 await proxy.$modal.confirm(language.value == 0 ? '请选择购票数量' : 'Please select the number of tickets to purchase')
235 return 245 return
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
14 <el-row :gutter="20" align="middle" class="hote "> 14 <el-row :gutter="20" align="middle" class="hote ">
15 <el-col :span="language == 0?16:24"> 15 <el-col :span="language == 0?16:24">
16 <h3 class="esp flex">{{ scenicItem?.name }} 16 <h3 class="esp flex">{{ scenicItem?.name }}
17 17
18 <!-- <el-tag class="ml20" effect="dark">{{ scenicItem?.rank || 0 }}A</el-tag>--> 18 <!-- <el-tag class="ml20" effect="dark">{{ scenicItem?.rank || 0 }}A</el-tag>-->
19 </h3> 19 </h3>
20 <div class="info"> 20 <div class="info">
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
33 <!-- ~ {{scenicItem?.workTime }}--> 33 <!-- ~ {{scenicItem?.workTime }}-->
34 </span> 34 </span>
35 </div> 35 </div>
36 36
37 <div class="info esp"> 37 <div class="info esp">
38 <el-icon> 38 <el-icon>
39 <MapLocation /> 39 <MapLocation />
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
45 </el-col> 45 </el-col>
46 </el-row> 46 </el-row>
47 </div> 47 </div>
48 48
49 <div class="leftboderTT">{{ language == 0 ? '预约信息' : 'Reservation information' }}</div> 49 <div class="leftboderTT">{{ language == 0 ? '预约信息' : 'Reservation information' }}</div>
50 <div class="border-rr mt20 pd20"> 50 <div class="border-rr mt20 pd20">
51 <el-form 51 <el-form
...@@ -120,21 +120,21 @@ ...@@ -120,21 +120,21 @@
120 </el-icon> 120 </el-icon>
121 </div> 121 </div>
122 </div> 122 </div>
123 123
124 <el-form-item :label="language==0?'联系人':'Contact'" prop="contacts"> 124 <el-form-item :label="language==0?'联系人':'Contact'" prop="contacts">
125 <el-input v-model="form.contacts" /> 125 <el-input v-model="form.contacts" />
126 </el-form-item> 126 </el-form-item>
127 <el-form-item :label="language==0?'联系电话':'Contact phone'" prop="phone" required> 127 <el-form-item :label="language==0?'联系电话':'Contact phone'" prop="phone" required>
128 <el-input v-model="form.phone" /> 128 <el-input v-model="form.phone" />
129 </el-form-item> 129 </el-form-item>
130 130
131 </el-form> 131 </el-form>
132 </div> 132 </div>
133 </el-col> 133 </el-col>
134 <el-col :span="10"> 134 <el-col :span="10">
135 <div class="leftboderTT">{{ language == 0 ? '订单明细' : 'Order details' }}</div> 135 <div class="leftboderTT">{{ language == 0 ? '订单明细' : 'Order details' }}</div>
136 <div class="border-rr mt20 pd20 ccitemBox"> 136 <div class="border-rr mt20 pd20 ccitemBox">
137 137
138 <div v-for="(c, index) in gateList" v-show="c.count>0" :key="index" class="ccitem"> 138 <div v-for="(c, index) in gateList" v-show="c.count>0" :key="index" class="ccitem">
139 {{ c.name }} 139 {{ c.name }}
140 <span v-if="language==0"> 140 <span v-if="language==0">
...@@ -143,18 +143,18 @@ ...@@ -143,18 +143,18 @@
143 <span v-else>{{ c.count }} * {{ '€' }} {{ c.priceEn }} 143 <span v-else>{{ c.count }} * {{ '€' }} {{ c.priceEn }}
144 </span> 144 </span>
145 </div> 145 </div>
146 146
147 <label>{{ language == 0 ? '共计' : 'Total' }} 147 <label>{{ language == 0 ? '共计' : 'Total' }}
148 <span class="fr bigMoney"> 148 <span class="fr bigMoney">
149 {{ language == 0 ? '¥' : '€' }} {{ money }} 149 {{ language == 0 ? '¥' : '€' }} {{ money }}
150 </span> 150 </span>
151 </label> 151 </label>
152 152
153 </div> 153 </div>
154 </el-col> 154 </el-col>
155 </el-row> 155 </el-row>
156 </el-card> 156 </el-card>
157 157
158 <el-card class="mt30"> 158 <el-card class="mt30">
159 <el-row align="middle" justify="space-between"> 159 <el-row align="middle" justify="space-between">
160 <el-col :span="12"> 160 <el-col :span="12">
...@@ -176,7 +176,7 @@ ...@@ -176,7 +176,7 @@
176 </el-card> 176 </el-card>
177 <div style="height: 60px;" /> 177 <div style="height: 60px;" />
178 </div> 178 </div>
179 179
180 <choose-person ref="choosePersonRef" @add-person="addPerson" /> 180 <choose-person ref="choosePersonRef" @add-person="addPerson" />
181 </div> 181 </div>
182 </template> 182 </template>
...@@ -319,7 +319,7 @@ function getCountInfo() { ...@@ -319,7 +319,7 @@ function getCountInfo() {
319 319
320 function changeNum(e) { 320 function changeNum(e) {
321 checkPersonNum() 321 checkPersonNum()
322 322
323 if (e.personArr.length < e.count) { 323 if (e.personArr.length < e.count) {
324 e.personArr.push({ 324 e.personArr.push({
325 customerId: '', 325 customerId: '',
...@@ -330,7 +330,7 @@ function changeNum(e) { ...@@ -330,7 +330,7 @@ function changeNum(e) {
330 } else if (e.personArr.length > e.count) { 330 } else if (e.personArr.length > e.count) {
331 e.personArr.splice(e.count) 331 e.personArr.splice(e.count)
332 } 332 }
333 333
334 countMoney() 334 countMoney()
335 } 335 }
336 336
...@@ -343,8 +343,8 @@ const showAddPerson = (item, index, person) => { ...@@ -343,8 +343,8 @@ const showAddPerson = (item, index, person) => {
343 } 343 }
344 }) 344 })
345 }) 345 })
346 346
347 347
348 choosePersonRef.value.open({ 348 choosePersonRef.value.open({
349 gateId: item.id, 349 gateId: item.id,
350 gateType: item.gateType, 350 gateType: item.gateType,
...@@ -361,13 +361,13 @@ const addPerson = (item) => { ...@@ -361,13 +361,13 @@ const addPerson = (item) => {
361 idcType: item.idcType, 361 idcType: item.idcType,
362 idCard: item.idCard 362 idCard: item.idCard
363 } 363 }
364 364
365 checkPersonNum() 365 checkPersonNum()
366 } 366 }
367 const delPerson = (item, index) => { 367 const delPerson = (item, index) => {
368 item.personArr.splice(index, 1) 368 item.personArr.splice(index, 1)
369 item.count-- 369 item.count--
370 370
371 checkPersonNum() 371 checkPersonNum()
372 countMoney() 372 countMoney()
373 } 373 }
...@@ -399,7 +399,7 @@ function submit() { ...@@ -399,7 +399,7 @@ function submit() {
399 ElMessage.warning(language.value == 0 ? '出行人数与票数不匹配' : 'The number of people travelling does not match the number of rooms') 399 ElMessage.warning(language.value == 0 ? '出行人数与票数不匹配' : 'The number of people travelling does not match the number of rooms')
400 return 400 return
401 } 401 }
402 402
403 // 提交确认 403 // 提交确认
404 ElMessageBox.confirm(language.value == 0 ? '确认提交订单吗?' : 'Confirm to submit the order?', { 404 ElMessageBox.confirm(language.value == 0 ? '确认提交订单吗?' : 'Confirm to submit the order?', {
405 confirmButtonText: language.value == 0 ? '确定' : 'Confirm', 405 confirmButtonText: language.value == 0 ? '确定' : 'Confirm',
...@@ -410,7 +410,7 @@ function submit() { ...@@ -410,7 +410,7 @@ function submit() {
410 form.value.asId = route.query.lasId 410 form.value.asId = route.query.lasId
411 form.value.orderName = scenicItem.value.name 411 form.value.orderName = scenicItem.value.name
412 form.value.dcStart = rzRange.value 412 form.value.dcStart = rzRange.value
413 413
414 const personArr = [] 414 const personArr = []
415 _.each(gateList.value, (item) => { 415 _.each(gateList.value, (item) => {
416 if (item.count > 0) { 416 if (item.count > 0) {
...@@ -433,7 +433,7 @@ function submit() { ...@@ -433,7 +433,7 @@ function submit() {
433 } 433 }
434 }) 434 })
435 form.value.touristList = personArr 435 form.value.touristList = personArr
436 436
437 submitOrderScenic(form.value).then(res => { 437 submitOrderScenic(form.value).then(res => {
438 if (res.data) { 438 if (res.data) {
439 if (res.data.orderId == -400) { 439 if (res.data.orderId == -400) {
...@@ -495,12 +495,12 @@ function handleGo() { ...@@ -495,12 +495,12 @@ function handleGo() {
495 495
496 .ccitemBox { 496 .ccitemBox {
497 overflow: auto; 497 overflow: auto;
498 498
499 label { 499 label {
500 margin: 10px 0; 500 margin: 10px 0;
501 display: block; 501 display: block;
502 min-height: 30px; 502 min-height: 30px;
503 503
504 span { 504 span {
505 color: #FF8124; 505 color: #FF8124;
506 font-family: DIN Alternate; 506 font-family: DIN Alternate;
...@@ -515,12 +515,12 @@ function handleGo() { ...@@ -515,12 +515,12 @@ function handleGo() {
515 font-size: 15px; 515 font-size: 15px;
516 color: #666; 516 color: #666;
517 margin: 5px 0 10px; 517 margin: 5px 0 10px;
518 518
519 label { 519 label {
520 font-size: 16px; 520 font-size: 16px;
521 color: #000; 521 color: #000;
522 } 522 }
523 523
524 span { 524 span {
525 font-size: 13px; 525 font-size: 13px;
526 } 526 }
...@@ -533,7 +533,7 @@ function handleGo() { ...@@ -533,7 +533,7 @@ function handleGo() {
533 .fakeFormItem { 533 .fakeFormItem {
534 display: flex; 534 display: flex;
535 padding: 10px 0; 535 padding: 10px 0;
536 536
537 label { 537 label {
538 height: 32px; 538 height: 32px;
539 font-size: var(--el-form-label-font-size); 539 font-size: var(--el-form-label-font-size);
...@@ -559,11 +559,11 @@ function handleGo() { ...@@ -559,11 +559,11 @@ function handleGo() {
559 .personIt { 559 .personIt {
560 display: flex; 560 display: flex;
561 align-items: center; 561 align-items: center;
562 562
563 .mation { 563 .mation {
564 width: 200px; 564 width: 200px;
565 font-size: 12px; 565 font-size: 12px;
566 566
567 div { 567 div {
568 font-size: 14px; 568 font-size: 14px;
569 } 569 }
...@@ -572,7 +572,7 @@ function handleGo() { ...@@ -572,7 +572,7 @@ function handleGo() {
572 572
573 .father { 573 .father {
574 position: relative; 574 position: relative;
575 575
576 } 576 }
577 577
578 .son { 578 .son {
......
...@@ -86,10 +86,10 @@ ...@@ -86,10 +86,10 @@
86 <el-col :lg="9" :md="12" :sm="12" :xs="24"> 86 <el-col :lg="9" :md="12" :sm="12" :xs="24">
87 <h3 class="m0">{{ b.name }}</h3> 87 <h3 class="m0">{{ b.name }}</h3>
88 <p> {{ language == 0 ? "时间" : "Event Date & Time" }}{{ 88 <p> {{ language == 0 ? "时间" : "Event Date & Time" }}{{
89 b.messageObj.ticketDate.name 89 b.messageObj.atName
90 }}</p> 90 }}</p>
91 <p class="common"> 91 <p class="common">
92 {{ language == 0 ? "张数" : "Location" }}{{ b.messageObj.num }}{{ language == 0 ? "张" : "tickets" }} 92 {{ language == 0 ? "张数" : "Location" }}{{ b.messageObj.orderCustomerList.length }}{{ language == 0 ? "张" : "tickets" }}
93 </p> 93 </p>
94 </el-col> 94 </el-col>
95 <el-col :lg="3" :md="6" :sm="6" :xs="6" class="text-center"> 95 <el-col :lg="3" :md="6" :sm="6" :xs="6" class="text-center">
...@@ -336,8 +336,6 @@ const getList = () => { ...@@ -336,8 +336,6 @@ const getList = () => {
336 list.value = res.rows 336 list.value = res.rows
337 for (const b of list.value) { 337 for (const b of list.value) {
338 b.messageObj = JSON.parse(b.extJson) 338 b.messageObj = JSON.parse(b.extJson)
339 b.messageObj.ticketDate = JSON.parse(b.messageObj.ticketDate)
340 b.messageObj.ticketType = JSON.parse(b.messageObj.ticketType)
341 } 339 }
342 loading.value = false 340 loading.value = false
343 console.log(list.value) 341 console.log(list.value)
......
...@@ -109,7 +109,7 @@ watch(matchId, (val) => { ...@@ -109,7 +109,7 @@ watch(matchId, (val) => {
109 }) 109 })
110 110
111 onMounted(() => { 111 onMounted(() => {
112 112
113 }) 113 })
114 114
115 function building() { 115 function building() {
...@@ -126,7 +126,7 @@ function popRemark(type) { ...@@ -126,7 +126,7 @@ function popRemark(type) {
126 (form.value.isFoodView == 0 && type == '3') || 126 (form.value.isFoodView == 0 && type == '3') ||
127 (form.value.isMealView == 0 && type == '4') || 127 (form.value.isMealView == 0 && type == '4') ||
128 (form.value.isPhotoView == 0 && type == '5') || 128 (form.value.isPhotoView == 0 && type == '5') ||
129 (form.value.isTicket == 0 && type == '0') || 129 (form.value.isTicketView == 0 && type == '0') ||
130 (form.value.isScenicView == 0 && type == '8') 130 (form.value.isScenicView == 0 && type == '8')
131 ) { 131 ) {
132 building() 132 building()
...@@ -186,7 +186,7 @@ function goBooking(n) { ...@@ -186,7 +186,7 @@ function goBooking(n) {
186 186
187 .itemBox_en { 187 .itemBox_en {
188 padding: 20px 40px; 188 padding: 20px 40px;
189 189
190 p { 190 p {
191 margin: 0; 191 margin: 0;
192 height: 40px; 192 height: 40px;
...@@ -205,7 +205,7 @@ function goBooking(n) { ...@@ -205,7 +205,7 @@ function goBooking(n) {
205 background: url("@/assets/dance/btn_bg.png") no-repeat left #FFFFFF; 205 background: url("@/assets/dance/btn_bg.png") no-repeat left #FFFFFF;
206 background-size: 100% 100%; 206 background-size: 100% 100%;
207 border-radius: 15px; 207 border-radius: 15px;
208 208
209 img { 209 img {
210 margin: 0 5%; 210 margin: 0 5%;
211 } 211 }
...@@ -226,20 +226,20 @@ function goBooking(n) { ...@@ -226,20 +226,20 @@ function goBooking(n) {
226 background-size: cover; 226 background-size: cover;
227 position: relative; 227 position: relative;
228 border-radius: 15px; 228 border-radius: 15px;
229 229
230 img { 230 img {
231 position: absolute; 231 position: absolute;
232 top: -30px; 232 top: -30px;
233 transition: all 0.2s; 233 transition: all 0.2s;
234 } 234 }
235 235
236 &:hover { 236 &:hover {
237 box-shadow: 0 0 10px #333; 237 box-shadow: 0 0 10px #333;
238 238
239 img { 239 img {
240 transform: rotateY(180deg); 240 transform: rotateY(180deg);
241 } 241 }
242 242
243 p { 243 p {
244 color: #000; 244 color: #000;
245 } 245 }
...@@ -252,7 +252,7 @@ function goBooking(n) { ...@@ -252,7 +252,7 @@ function goBooking(n) {
252 } 252 }
253 .item { 253 .item {
254 font-size: 16px; 254 font-size: 16px;
255 255
256 img { 256 img {
257 width: 50px; 257 width: 50px;
258 height: 50px 258 height: 50px
......
1 <template> 1 <template>
2 <el-dialog 2 <el-dialog
3 v-model="show" :close-on-click-modal="false" :title="language==0?'背号查询':'Competition Number'" append-to-body 3 v-model="show" :close-on-click-modal="false" :title="language==0?'背号查询':'Competition Number'" append-to-body
4 center class="pcloginpop" 4 center class="pcloginpop"
5 close-icon="CircleClose" destroy-on-close 5 close-icon="CircleClose" destroy-on-close
6 width="460px" 6 width="460px"
7 > 7 >
8 <div style="min-height: 300px" v-loading="loading"> 8 <div v-loading="loading" style="min-height: 300px">
9 9
10 <div v-if="!type||type==''"> 10 <div v-if="!type||type==''">
11 <div @click="type='0'" class="rItem">{{ language == 0 ? '个人查询' : 'Personal Query' }}</div> 11 <div class="rItem" @click="type='0'">{{ language == 0 ? '个人查询' : 'Personal Query' }}</div>
12 <div @click="type='1'" class="rItem">{{ language == 0 ? '团队查询' : 'Team Query' }}</div> 12 <div class="rItem" @click="type='1'">{{ language == 0 ? '团队查询' : 'Team Query' }}</div>
13 </div> 13 </div>
14 14
15 <div v-if="type=='0'"> 15 <div v-if="type=='0'">
16 <div class="flex mt30"> 16 <div class="flex mt30">
17 <el-input :placeholder="language==0?'输入会员号 / 姓名查询':'Enter WDSF MIN / Name to Query'" v-model="query" 17 <el-input
18 clearable 18 v-model="query" :placeholder="language==0?'输入会员号 / 姓名查询':'Enter WDSF MIN / Name to Query'"
19 @enter="search" @blur="search" @empty="search"/> 19 clearable
20 <el-button @click="search" class="btn-lineG" style="color: #fff">{{ 20 @blur="search" @empty="search" @enter="search"
21 language == 0 ? '查询' : 'Search' 21 />
22 }} 22 <el-button class="btn-lineG" style="color: #fff" @click="search">{{
23 language == 0 ? '查询' : 'Search'
24 }}
23 </el-button> 25 </el-button>
24 </div> 26 </div>
25 27
26 <div v-if="list.length>0"> 28 <div v-if="list.length>0">
27 <div class="nowteamItem" v-for="(form, index) in list" :key="index"> 29 <div v-for="(form, index) in list" :key="index" class="nowteamItem">
28 <div class="info"> 30 <div class="info">
29 <div class="nowName text-center"> 31 <div class="nowName text-center">
30 <span class="text-primary">{{ form.number }}</span> 32 <span class="text-primary">{{ form.number }}</span>
...@@ -48,36 +50,38 @@ ...@@ -48,36 +50,38 @@
48 </div> 50 </div>
49 </div> 51 </div>
50 <div v-else> 52 <div v-else>
51 <el-empty/> 53 <el-empty />
52 </div> 54 </div>
53 </div> 55 </div>
54 <div v-if="type=='1'"> 56 <div v-if="type=='1'">
55 <div class="flex mt20"> 57 <div class="flex mt20">
56 <el-input 58 <el-input
57 :placeholder="language==0?'请输入代表队名称至少两字符':'Enter the representing team name,At least two characters'" 59 v-model="query2"
58 v-model="query2" clearable 60 :placeholder="language==0?'请输入代表队名称至少两字符':'Enter the representing team name,At least two characters'"
59 @enter="searchTeam" @blur="searchTeam" @empty="searchTeam"/> 61 clearable
60 <el-button @click="searchTeam" class="btn-lineG" style="color: #fff"> 62 @blur="searchTeam" @empty="searchTeam" @enter="searchTeam"
63 />
64 <el-button class="btn-lineG" style="color: #fff" @click="searchTeam">
61 {{ language == 0 ? '查询' : 'Search' }} 65 {{ language == 0 ? '查询' : 'Search' }}
62 </el-button> 66 </el-button>
63 </div> 67 </div>
64 <span class="tip">*{{ language == 0 ? '模糊查询' : 'Fuzzy query' }}</span> 68 <span class="tip">*{{ language == 0 ? '模糊查询' : 'Fuzzy query' }}</span>
65 <div class="text-danger text-center" v-if="showGroupList"> 69 <div v-if="showGroupList" class="text-danger text-center">
66 {{ language == 0 ? '找到多个团体' : 'Found multiple teams' }} 70 {{ language == 0 ? '找到多个团体' : 'Found multiple teams' }}
67 </div> 71 </div>
68 <div class="groupList" v-if="showGroupList"> 72 <div v-if="showGroupList" class="groupList">
69 <ul> 73 <ul>
70 <li v-for="(item, index) in groupList" @click="showDetail(item)" :key="index">{{ item }} 74 <li v-for="(item, index) in groupList" :key="index" @click="showDetail(item)">{{ item }}
71 <el-icon class="fr"> 75 <el-icon class="fr">
72 <ArrowRight/> 76 <ArrowRight />
73 </el-icon> 77 </el-icon>
74 </li> 78 </li>
75 </ul> 79 </ul>
76 </div> 80 </div>
77 <div v-if="teamlist.length>0" class="temell mt20"> 81 <div v-if="teamlist.length>0" class="temell mt20">
78 <el-collapse v-model="activeNames" accordion> 82 <el-collapse v-model="activeNames" accordion>
79 <el-collapse-item :name="index" :title="team[0][0].groupName" v-for="(team,index) in teamlist" :key="index"> 83 <el-collapse-item v-for="(team,index) in teamlist" :key="index" :name="index" :title="team[0][0].groupName">
80 <div class="nowteamItem" v-for="(p,jndex) in team" :key="jndex"> 84 <div v-for="(p,jndex) in team" :key="jndex" class="nowteamItem">
81 <div class="fontSize14 text-bold">{{ p[0].zuInfo }}</div> 85 <div class="fontSize14 text-bold">{{ p[0].zuInfo }}</div>
82 <div v-for="f in p" :key="f.id"> 86 <div v-for="f in p" :key="f.id">
83 <span class="nowName text-primary">{{ f.number }}</span> 87 <span class="nowName text-primary">{{ f.number }}</span>
...@@ -94,10 +98,10 @@ ...@@ -94,10 +98,10 @@
94 </template> 98 </template>
95 99
96 <script setup> 100 <script setup>
97 import {ref} from "vue"; 101 import { ref } from 'vue'
98 import {ElMessage} from "element-plus"; 102 import { ElMessage } from 'element-plus'
99 import {getBackNumber, getTeamBackNumber, getTeamBackNumberPre} from "@/apiPc/common"; 103 import { getBackNumber, getTeamBackNumber, getTeamBackNumberPre } from '@/apiPc/common'
100 import {useStorage} from "@vueuse/core/index"; 104 import { useStorage } from '@vueuse/core/index'
101 105
102 const language = useStorage('language', 0) 106 const language = useStorage('language', 0)
103 const show = ref(false) 107 const show = ref(false)
...@@ -109,23 +113,24 @@ const teamlist = ref([]) ...@@ -109,23 +113,24 @@ const teamlist = ref([])
109 const query = ref('') 113 const query = ref('')
110 const query2 = ref('') 114 const query2 = ref('')
111 const type = ref('') 115 const type = ref('')
116 const cptId = ref('')
112 const activeNames = ref(0) 117 const activeNames = ref(0)
113 const showGroupList = ref(false) 118 const showGroupList = ref(false)
119
114 const search = () => { 120 const search = () => {
115 if (!query.value) { 121 if (!query.value) {
116 ElMessage.warning(language.value == 0 ? '请输入会员号/姓名' : 'Please enter WDSF MIN / Name') 122 ElMessage.warning(language.value == 0 ? '请输入会员号/姓名' : 'Please enter WDSF MIN / Name')
117 return 123 return
118 } 124 }
119 getBackNumber({query: query.value}).then(res => { 125 getBackNumber({ query: query.value, cptId: cptId.value }).then(res => {
120 if (!res.data || res.data.length == 0) { 126 if (!res.data || res.data.length == 0) {
121 list.value = [] 127 list.value = []
122 //提示 '未找到结果,请重新查询' 128 // 提示 '未找到结果,请重新查询'
123 ElMessage.warning(language.value == 0 ? '未找到结果,请重新查询' : 'No result') 129 ElMessage.warning(language.value == 0 ? '未找到结果,请重新查询' : 'No result')
124 return 130 return
125 } 131 }
126 list.value = res.data 132 list.value = res.data
127 }) 133 })
128
129 } 134 }
130 const searchTeam = () => { 135 const searchTeam = () => {
131 teamlist.value = [] 136 teamlist.value = []
...@@ -134,11 +139,11 @@ const searchTeam = () => { ...@@ -134,11 +139,11 @@ const searchTeam = () => {
134 return 139 return
135 } 140 }
136 loading.value = true 141 loading.value = true
137 getTeamBackNumberPre({query: query2.value}).then(res => { 142 getTeamBackNumberPre({ query: query2.value, cptId: cptId.value }).then(res => {
138 loading.value = false 143 loading.value = false
139 if (!res.data || res.data.length == 0) { 144 if (!res.data || res.data.length == 0) {
140 groupList.value = [] 145 groupList.value = []
141 //提示 '未找到结果,请重新查询' 146 // 提示 '未找到结果,请重新查询'
142 ElMessage.warning(language.value == 0 ? '未找到结果,请重新查询' : 'No result') 147 ElMessage.warning(language.value == 0 ? '未找到结果,请重新查询' : 'No result')
143 return 148 return
144 } 149 }
...@@ -149,10 +154,12 @@ const searchTeam = () => { ...@@ -149,10 +154,12 @@ const searchTeam = () => {
149 if (groupList.value.length > 1) { 154 if (groupList.value.length > 1) {
150 showGroupList.value = true 155 showGroupList.value = true
151 } 156 }
152
153 }) 157 })
154 } 158 }
159
155 const open = (param) => { 160 const open = (param) => {
161 console.log(param)
162 cptId.value = param.cptId
156 show.value = true 163 show.value = true
157 list.value = [] 164 list.value = []
158 teamlist.value = [] 165 teamlist.value = []
...@@ -168,14 +175,14 @@ function showDetail(name) { ...@@ -168,14 +175,14 @@ function showDetail(name) {
168 query2.value = name 175 query2.value = name
169 showGroupList.value = false 176 showGroupList.value = false
170 loading.value = true 177 loading.value = true
171 getTeamBackNumber({query: name}).then(res => { 178 getTeamBackNumber({ query: name, cptId: cptId.value }).then(res => {
172 loading.value = false 179 loading.value = false
173 teamlist.value = res.data 180 teamlist.value = res.data
174 }) 181 })
175 } 182 }
176 </script> 183 </script>
177 184
178 <style scoped lang="scss"> 185 <style lang="scss" scoped>
179 .tip { 186 .tip {
180 font-size: 12px; 187 font-size: 12px;
181 margin: 4px 0 0; 188 margin: 4px 0 0;
...@@ -195,7 +202,7 @@ function showDetail(name) { ...@@ -195,7 +202,7 @@ function showDetail(name) {
195 color: #fff; 202 color: #fff;
196 margin: 20px auto; 203 margin: 20px auto;
197 background: linear-gradient(90deg, #8623FC, #453DEA); 204 background: linear-gradient(90deg, #8623FC, #453DEA);
198 205
199 &:hover { 206 &:hover {
200 background: linear-gradient(90deg, #453DEA, #8623FC); 207 background: linear-gradient(90deg, #453DEA, #8623FC);
201 box-shadow: 0 4px 10px #453DEA; 208 box-shadow: 0 4px 10px #453DEA;
...@@ -212,7 +219,7 @@ function showDetail(name) { ...@@ -212,7 +219,7 @@ function showDetail(name) {
212 padding: 0 0 20px; 219 padding: 0 0 20px;
213 background: #FFFFFF; 220 background: #FFFFFF;
214 box-sizing: border-box; 221 box-sizing: border-box;
215 222
216 .info { 223 .info {
217 .nowName { 224 .nowName {
218 font-family: "DIN Alternate"; 225 font-family: "DIN Alternate";
...@@ -222,13 +229,13 @@ function showDetail(name) { ...@@ -222,13 +229,13 @@ function showDetail(name) {
222 display: block; 229 display: block;
223 margin: 10px; 230 margin: 10px;
224 } 231 }
225 232
226 label { 233 label {
227 text-align: right; 234 text-align: right;
228 font-size: 14px; 235 font-size: 14px;
229 padding-left: 7% 236 padding-left: 7%
230 } 237 }
231 238
232 div { 239 div {
233 font-size: 14px; 240 font-size: 14px;
234 color: #333; 241 color: #333;
...@@ -241,17 +248,17 @@ function showDetail(name) { ...@@ -241,17 +248,17 @@ function showDetail(name) {
241 .nowteamItem { 248 .nowteamItem {
242 padding: 10px; 249 padding: 10px;
243 margin: 0 0 10px; 250 margin: 0 0 10px;
244 251
245 .nowName { 252 .nowName {
246 font-size: 15px; 253 font-size: 15px;
247 font-weight: bold; 254 font-weight: bold;
248 margin-right: 10px 255 margin-right: 10px
249 } 256 }
250 257
251 .text-bold { 258 .text-bold {
252 font-weight: bold; 259 font-weight: bold;
253 } 260 }
254 261
255 .fontsize14 { 262 .fontsize14 {
256 font-size: 14px; 263 font-size: 14px;
257 } 264 }
...@@ -263,7 +270,7 @@ function showDetail(name) { ...@@ -263,7 +270,7 @@ function showDetail(name) {
263 overflow: auto; 270 overflow: auto;
264 border: 1px solid #e1e1e1; 271 border: 1px solid #e1e1e1;
265 margin-top: 10px; 272 margin-top: 10px;
266 273
267 li { 274 li {
268 padding: 10px; 275 padding: 10px;
269 border-bottom: 1px solid #e1e1e1; 276 border-bottom: 1px solid #e1e1e1;
......
...@@ -153,10 +153,10 @@ ...@@ -153,10 +153,10 @@
153 <!-- @click="popMaster"--> 153 <!-- @click="popMaster"-->
154 <!-- >青少年公益课报名</a>--> 154 <!-- >青少年公益课报名</a>-->
155 <a 155 <a
156 v-show="matchData?.id=='1778253367748993026'" class="zn-btn ml20 btn-q" 156 v-show="matchData?.id" class="zn-btn ml20 btn-q"
157 @click="backNumberSearch" 157 @click="backNumberSearch"
158 >背号查询</a> 158 >背号查询</a>
159 <a v-show="matchData?.id=='1778253367748993026'" class="zn-btn ml20 btn-q" @click="schSearch">日程查询</a> 159 <a v-show="matchData?.id" class="zn-btn ml20 btn-q" @click="schSearch">日程查询</a>
160 </div> 160 </div>
161 </el-col> 161 </el-col>
162 <el-col :lg="14" :sm="24"> 162 <el-col :lg="14" :sm="24">
...@@ -192,8 +192,13 @@ ...@@ -192,8 +192,13 @@
192 <el-table-column label="国家" prop="name"> 192 <el-table-column label="国家" prop="name">
193 <template #default="scope"> 193 <template #default="scope">
194 <div> 194 <div>
195 <span :class="`flag-icon flag-icon-${scope.row.code}`" /> 195 <span v-if="scope.row.code!='tw'" :class="`flag-icon flag-icon-${scope.row.code}`" />
196 {{ language == 0 ? scope.row.name : scope.row.enName }} 196 <span v-else class="flag-icon">
197 <img :src="hkImage" alt="" class="hkimg">
198 </span>
199 <span>
200 {{ language == 0 ? scope.row.code != 'tw' ? scope.row.name : '中华台北' : scope.row.enName }}
201 </span>
197 </div> 202 </div>
198 </template> 203 </template>
199 </el-table-column> 204 </el-table-column>
...@@ -490,6 +495,7 @@ import 'swiper/css' ...@@ -490,6 +495,7 @@ import 'swiper/css'
490 import { dayjs } from 'element-plus' 495 import { dayjs } from 'element-plus'
491 import * as match from '@/apiPc/match' 496 import * as match from '@/apiPc/match'
492 import { getAboutUs, getppInfo, getZNList } from '@/apiPc/match' 497 import { getAboutUs, getppInfo, getZNList } from '@/apiPc/match'
498 import hkImage from '@/assets/nationalFlag/hk.png'
493 499
494 import AffixInvitation from '/@/viewsPc/match/components/affix-invitation.vue' 500 import AffixInvitation from '/@/viewsPc/match/components/affix-invitation.vue'
495 import { useStorage } from '@vueuse/core/index' 501 import { useStorage } from '@vueuse/core/index'
...@@ -1301,6 +1307,13 @@ function applyInvitation() { ...@@ -1301,6 +1307,13 @@ function applyInvitation() {
1301 top: 40%; 1307 top: 40%;
1302 } 1308 }
1303 1309
1310 .hkimg {
1311 width: 19px;
1312 height: 14px;
1313 position: absolute;
1314 top: 0;
1315 }
1316
1304 .btn2 { 1317 .btn2 {
1305 cursor: pointer; 1318 cursor: pointer;
1306 padding: 10px 80px; 1319 padding: 10px 80px;
......
...@@ -184,7 +184,11 @@ ...@@ -184,7 +184,11 @@
184 <el-table-column label="COUNTRY" min-width="200"> 184 <el-table-column label="COUNTRY" min-width="200">
185 <template #default="scope"> 185 <template #default="scope">
186 <div> 186 <div>
187 <span :class="`flag-icon flag-icon-${scope.row.code}`" /> 187 <!-- <span :class="`flag-icon flag-icon-${scope.row.code}`" />-->
188 <span v-if="scope.row.code!='tw'" :class="`flag-icon flag-icon-${scope.row.code}`" />
189 <span v-else class="flag-icon">
190 <img :src="hkImage" alt="" class="hkimg">
191 </span>
188 {{ language == 0 ? scope.row.name : scope.row.enName }} 192 {{ language == 0 ? scope.row.name : scope.row.enName }}
189 </div> 193 </div>
190 </template> 194 </template>
...@@ -472,6 +476,7 @@ import { useStorage } from '@vueuse/core/index' ...@@ -472,6 +476,7 @@ import { useStorage } from '@vueuse/core/index'
472 import useUserStore from '/@/store/modules/user' 476 import useUserStore from '/@/store/modules/user'
473 import clubImage from '@/assets/logo/club.png' 477 import clubImage from '@/assets/logo/club.png'
474 import { fillImgUrl } from '/@/utils/ruoyi' 478 import { fillImgUrl } from '/@/utils/ruoyi'
479 import hkImage from '/@/assets/nationalFlag/hk.png'
475 480
476 481
477 const language = useStorage('language', 0) 482 const language = useStorage('language', 0)
...@@ -1418,6 +1423,13 @@ function applyInvitation() { ...@@ -1418,6 +1423,13 @@ function applyInvitation() {
1418 1423
1419 } 1424 }
1420 1425
1426 .hkimg {
1427 width: 19px;
1428 height: 14px;
1429 position: absolute;
1430 top: 0;
1431 }
1432
1421 .club { 1433 .club {
1422 width: 130px; 1434 width: 130px;
1423 right: 0; 1435 right: 0;
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
20 <el-col :span="10"> 20 <el-col :span="10">
21 <el-form-item v-if="language!=0" label="WDSF code" prop="wdsfMin"> 21 <el-form-item v-if="language!=0" label="WDSF code" prop="wdsfMin">
22 <span v-if="form.wdsfMin">{{ form.wdsfMin }}</span> 22 <span v-if="form.wdsfMin">{{ form.wdsfMin }}</span>
23 <el-input v-else v-model="form.wdsfMin" type="text" /> 23 <el-input v-else v-model.trim="form.wdsfMin" type="text" />
24 </el-form-item> 24 </el-form-item>
25 <el-form-item :label="language==0?'姓名':'Name'" prop="realName" required> 25 <el-form-item :label="language==0?'姓名':'Name'" prop="realName" required>
26 <el-input v-model="form.realName" :disabled="editgay&&form.labelArr.indexOf('0')>-1" /> 26 <el-input v-model="form.realName" :disabled="editgay&&form.labelArr.indexOf('0')>-1" />
......
...@@ -101,9 +101,11 @@ ...@@ -101,9 +101,11 @@
101 <el-input v-model="form.certName" :disabled="editgay" /> 101 <el-input v-model="form.certName" :disabled="editgay" />
102 </el-form-item> 102 </el-form-item>
103 <el-form-item 103 <el-form-item
104 v-if="form.idcType!=3 "
104 :label="language==0?'证件类型':'ID Type'" :required="!form.wdsfMin&&form.labelArr.indexOf('0')>-1" 105 :label="language==0?'证件类型':'ID Type'" :required="!form.wdsfMin&&form.labelArr.indexOf('0')>-1"
105 prop="idcType" 106 prop="idcType"
106 > 107 >
108
107 <el-select v-model="form.idcType" :disabled="editgay" style="width: 100%;"> 109 <el-select v-model="form.idcType" :disabled="editgay" style="width: 100%;">
108 <el-option 110 <el-option
109 v-for="item in certificates" 111 v-for="item in certificates"
...@@ -114,6 +116,7 @@ ...@@ -114,6 +116,7 @@
114 </el-select> 116 </el-select>
115 </el-form-item> 117 </el-form-item>
116 <el-form-item 118 <el-form-item
119 v-if="form.idcType!=3 "
117 :label="language==0?'证件号码':'ID NO'" :required="!form.wdsfMin&&form.labelArr.indexOf('0')>-1" 120 :label="language==0?'证件号码':'ID NO'" :required="!form.wdsfMin&&form.labelArr.indexOf('0')>-1"
118 prop="idcCode" 121 prop="idcCode"
119 > 122 >
...@@ -286,14 +289,15 @@ const open = (params) => { ...@@ -286,14 +289,15 @@ const open = (params) => {
286 if (form.value.wdsfMin) { 289 if (form.value.wdsfMin) {
287 editDis.value = true 290 editDis.value = true
288 } 291 }
289 if (form.value.idcType == '3') { 292 // if (form.value.idcType == '3') {
290 form.value.idcType = '' 293 // form.value.idcType = ''
291 form.value.idcCode = '' 294 // form.value.idcCode = ''
292 } 295 // }
293 if (form.value.label) { 296 if (form.value.label) {
294 // {0:0,1:1,2:3} 297 // {0:0,1:1,2:3}
295 form.value.labelArr = form.value.label.split(',') 298 form.value.labelArr = form.value.label.split(',')
296 } 299 }
300 console.log(form.value)
297 }) 301 })
298 } else { 302 } else {
299 editgay.value = false 303 editgay.value = false
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
20 {{ form.wdsfMin }} 20 {{ form.wdsfMin }}
21 </el-form-item> 21 </el-form-item>
22 <el-form-item v-else :label="language==0?'WDSF会员号':'WDSF MIN'" required> 22 <el-form-item v-else :label="language==0?'WDSF会员号':'WDSF MIN'" required>
23 <el-input v-model="form.wdsfMin" type="text" @change="resetCode"> 23 <el-input v-model.trim="form.wdsfMin" type="text" @change="resetCode">
24 <template #append> 24 <template #append>
25 <el-button plain style="width: 110px" type="primary" @click="checkCard"> 25 <el-button plain style="width: 110px" type="primary" @click="checkCard">
26 <el-icon v-if="isCodeTrue" color="#67C23A" size="16"> 26 <el-icon v-if="isCodeTrue" color="#67C23A" size="16">
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
12 {{ form.wdsfMin }} 12 {{ form.wdsfMin }}
13 </el-form-item> 13 </el-form-item>
14 <el-form-item v-else :label="language==0?'WDSF卡号':'WDSF MIN'" required> 14 <el-form-item v-else :label="language==0?'WDSF卡号':'WDSF MIN'" required>
15 <el-input v-model="card" type="text" @change="resetCode"> 15 <el-input v-model.trim="card" type="text" @change="resetCode">
16 <template #append> 16 <template #append>
17 <el-button plain style="width: 110px" type="primary" @click="checkCard"> 17 <el-button plain style="width: 110px" type="primary" @click="checkCard">
18 <el-icon v-if="isCodeTrue" color="#67C23A" size="16"> 18 <el-icon v-if="isCodeTrue" color="#67C23A" size="16">
......
...@@ -157,7 +157,7 @@ const emit = defineEmits(['transfer']) ...@@ -157,7 +157,7 @@ const emit = defineEmits(['transfer'])
157 const data = reactive({ 157 const data = reactive({
158 query: { 158 query: {
159 label: '0', 159 label: '0',
160 pageSize: 10, 160 pageSize: 9999,
161 pageNum: 1 161 pageNum: 1
162 }, 162 },
163 tableData: [], 163 tableData: [],
......
1 <template>
2 <div style="padding: 30px 20px 20px">
3 <!--成绩-->
4 <div v-html="matchData.scoreUrl" />
5 <el-empty
6 v-if="!matchData.scoreUrl" :image="`/img/order_no.png`" :image-size="228"
7 description=""
8 />
9
10 </div>
11 </template>
12
13 <script setup>
14
15 const props = defineProps({
16 matchData: {
17 type: Object,
18 required: true
19 }
20 })
21 </script>
22
23 <style lang="scss" scoped>
24 .time-address {
25 color: #666;
26 }
27
28 .indexTitle {
29 margin: 20px 0 12px;
30
31 h3 {
32 font-size: 20px;
33 color: var(--el-color-primary);
34 }
35 }
36
37 p img {
38 max-width: 100%;
39 }
40
41 .table {
42 width: 100%;
43 border-left: 1px solid #e1e1e1;
44 border-top: 1px solid #e1e1e1;
45
46 th {
47 background: #eee;
48 padding: 6px 10px;
49 border-right: 1px solid #e1e1e1;
50 border-bottom: 1px solid #e1e1e1;
51 font-size: 15px;
52 }
53
54 td {
55 padding: 6px 10px;
56 border-right: 1px solid #e1e1e1;
57 font-size: 15px;
58 border-bottom: 1px solid #e1e1e1;
59 vertical-align: middle;
60 text-align: center;
61
62 span {
63 margin-right: 10px
64 }
65
66 span::after {
67 content: ','
68 }
69
70 span:last-child::after {
71 content: ''
72 }
73 }
74 }
75 </style>
1 <template> 1 <template>
2 <div style="filter: opacity(1)"> 2 <div style="filter: opacity(1)">
3 <el-row v-if="language==0" class="btnbox" justify='space-between' :gutter="15"> 3 <el-row v-if="language==0" class="btnbox" justify="space-between" :gutter="15">
4 <el-col :lg="3" :md="6" :sm="12" :xs="12"> 4 <el-col :lg="3" :md="6" :sm="12" :xs="12">
5 <div class="funcBtn" @click="popRemark(0)"> 5 <div class="funcBtn" @click="popRemark(0)">
6 <img src="@/assets/dance/btn04.png"/> 6 <img src="@/assets/dance/btn04.png">
7 <h4>票务预订</h4> 7 <h4>票务预订</h4>
8 </div> 8 </div>
9 </el-col> 9 </el-col>
10 <el-col :lg="3" :md="6" :sm="12" :xs="12"> 10 <el-col :lg="3" :md="6" :sm="12" :xs="12">
11 <div class="funcBtn" @click="popRemark(1)"> 11 <div class="funcBtn" @click="popRemark(1)">
12 <img src="@/assets/dance/btn01.png"/> 12 <img src="@/assets/dance/btn01.png">
13 <h4>酒店预订</h4> 13 <h4>酒店预订</h4>
14 </div> 14 </div>
15 </el-col> 15 </el-col>
16 <el-col :lg="3" :md="6" :sm="12" :xs="11"> 16 <el-col :lg="3" :md="6" :sm="12" :xs="11">
17 <div class="funcBtn" @click="popRemark(8)"> 17 <div class="funcBtn" @click="popRemark(8)">
18 <img src="@/assets/dance/btn08.png"/> 18 <img src="@/assets/dance/btn08.png">
19 <h4>旅游服务</h4> 19 <h4>旅游服务</h4>
20 </div> 20 </div>
21 </el-col> 21 </el-col>
22 <el-col :lg="3" :md="6" :sm="12" :xs="11"> 22 <el-col :lg="3" :md="6" :sm="12" :xs="11">
23 <div class="funcBtn" @click="popRemark(2)"> 23 <div class="funcBtn" @click="popRemark(2)">
24 <img src="@/assets/dance/btn02.png"/> 24 <img src="@/assets/dance/btn02.png">
25 <h4>车辆预订</h4> 25 <h4>车辆预订</h4>
26 </div> 26 </div>
27 </el-col> 27 </el-col>
28 <el-col :lg="3" :md="6" :sm="12" :xs="11"> 28 <el-col :lg="3" :md="6" :sm="12" :xs="11">
29 <div class="funcBtn" @click="popRemark(6)"> 29 <div class="funcBtn" @click="popRemark(6)">
30 <img src="@/assets/dance/btn07.png"/> 30 <img src="@/assets/dance/btn07.png">
31 <h4>预订查询</h4> 31 <h4>预订查询</h4>
32 </div> 32 </div>
33 </el-col> 33 </el-col>
34 <el-col :lg="3" :md="6" :sm="12" :xs="11"> 34 <el-col :lg="3" :md="6" :sm="12" :xs="11">
35 <div class="funcBtn" @click="popRemark(3)"> 35 <div class="funcBtn" @click="popRemark(3)">
36 <img src="@/assets/dance/btn03.png"/> 36 <img src="@/assets/dance/btn03.png">
37 <h4>餐饮预订</h4> 37 <h4>餐饮预订</h4>
38 </div> 38 </div>
39 </el-col> 39 </el-col>
40 <el-col :lg="3" :md="6" :sm="12" :xs="11"> 40 <el-col :lg="3" :md="6" :sm="12" :xs="11">
41 <div class="funcBtn" @click="popRemark(4)"> 41 <div class="funcBtn" @click="popRemark(4)">
42 <img src="@/assets/dance/btn05.png"/> 42 <img src="@/assets/dance/btn05.png">
43 <h4>化妆预约</h4> 43 <h4>化妆预约</h4>
44 </div> 44 </div>
45 </el-col> 45 </el-col>
46 <el-col :lg="3" :md="6" :sm="12" :xs="11"> 46 <el-col :lg="3" :md="6" :sm="12" :xs="11">
47 <div class="funcBtn" @click="popRemark(5)"> 47 <div class="funcBtn" @click="popRemark(5)">
48 <img src="@/assets/dance/btn06.png"/> 48 <img src="@/assets/dance/btn06.png">
49 <h4>拍照预约</h4> 49 <h4>拍照预约</h4>
50 </div> 50 </div>
51 </el-col> 51 </el-col>
52 </el-row> 52 </el-row>
53 53
54 54
55 <el-row v-else class="btnbox enBtnbox" justify='space-between' :gutter="15"> 55 <el-row v-else class="btnbox enBtnbox" justify="space-between" :gutter="15">
56 <el-col :lg="3" :md="8" :sm="12" :xs="12"> 56 <el-col :lg="3" :md="8" :sm="12" :xs="12">
57 <div class="funcBtn" @click="popRemark(0)"> 57 <div class="funcBtn" @click="popRemark(0)">
58 <img src="@/assets/dance/btn04.png"/> 58 <img src="@/assets/dance/btn04.png">
59 <h4>TICKET BOOKING</h4> 59 <h4>TICKET BOOKING</h4>
60 </div> 60 </div>
61 </el-col> 61 </el-col>
62 <el-col :lg="3" :md="8" :sm="12" :xs="12"> 62 <el-col :lg="3" :md="8" :sm="12" :xs="12">
63 <div class="funcBtn" @click="popRemark(1)"> 63 <div class="funcBtn" @click="popRemark(1)">
64 <img src="@/assets/dance/btn01.png"/> 64 <img src="@/assets/dance/btn01.png">
65 <h4>HOTEL RESERVATION</h4> 65 <h4>HOTEL RESERVATION</h4>
66 </div> 66 </div>
67 </el-col> 67 </el-col>
68 <el-col :lg="3" :md="8" :sm="12" :xs="12"> 68 <el-col :lg="3" :md="8" :sm="12" :xs="12">
69 <div class="funcBtn" @click="popRemark(8)"> 69 <div class="funcBtn" @click="popRemark(8)">
70 <img src="@/assets/dance/btn08.png"/> 70 <img src="@/assets/dance/btn08.png">
71 <h4>TRAVEL SERVICE</h4> 71 <h4>TRAVEL SERVICE</h4>
72 </div> 72 </div>
73 </el-col> 73 </el-col>
74 <el-col :lg="3" :md="8" :sm="12" :xs="12"> 74 <el-col :lg="3" :md="8" :sm="12" :xs="12">
75 <div class="funcBtn" @click="popRemark(2)"> 75 <div class="funcBtn" @click="popRemark(2)">
76 <img src="@/assets/dance/btn02.png"/> 76 <img src="@/assets/dance/btn02.png">
77 <h4>TRANSPORTATION RESERVATION</h4> 77 <h4>TRANSPORTATION RESERVATION</h4>
78 </div> 78 </div>
79 </el-col> 79 </el-col>
80 <el-col :lg="3" :md="8" :sm="12" :xs="12"> 80 <el-col :lg="3" :md="8" :sm="12" :xs="12">
81 <div class="funcBtn" @click="popRemark(6)"> 81 <div class="funcBtn" @click="popRemark(6)">
82 <img src="@/assets/dance/btn07.png"/> 82 <img src="@/assets/dance/btn07.png">
83 <h4>RESERVATION SEARCH</h4> 83 <h4>RESERVATION SEARCH</h4>
84 </div> 84 </div>
85 </el-col> 85 </el-col>
86 <el-col :lg="3" :md="8" :sm="12" :xs="12"> 86 <el-col :lg="3" :md="8" :sm="12" :xs="12">
87 <div class="funcBtn" @click="popRemark(3)"> 87 <div class="funcBtn" @click="popRemark(3)">
88 <img src="@/assets/dance/btn03.png"/> 88 <img src="@/assets/dance/btn03.png">
89 <h4>DINING RESERVATION</h4> 89 <h4>DINING RESERVATION</h4>
90 </div> 90 </div>
91 </el-col> 91 </el-col>
92 <el-col :lg="3" :md="8" :sm="12" :xs="12"> 92 <el-col :lg="3" :md="8" :sm="12" :xs="12">
93 <div class="funcBtn" @click="popRemark(4)"> 93 <div class="funcBtn" @click="popRemark(4)">
94 <img src="@/assets/dance/btn05.png"/> 94 <img src="@/assets/dance/btn05.png">
95 <h4>MAKEUP APPOINTMENT</h4> 95 <h4>MAKEUP APPOINTMENT</h4>
96 </div> 96 </div>
97 </el-col> 97 </el-col>
98 <el-col :lg="3" :md="8" :sm="12" :xs="12"> 98 <el-col :lg="3" :md="8" :sm="12" :xs="12">
99 <div class="funcBtn" @click="popRemark(5)"> 99 <div class="funcBtn" @click="popRemark(5)">
100 <img src="@/assets/dance/btn06.png"/> 100 <img src="@/assets/dance/btn06.png">
101 <h4>PHOTOGRAPHY APPOINTMENT</h4> 101 <h4>PHOTOGRAPHY APPOINTMENT</h4>
102 </div> 102 </div>
103 </el-col> 103 </el-col>
104 </el-row> 104 </el-row>
105 </div> 105 </div>
106 <order-remark ref="orderRemarkRef" @submit="goBooking"/> 106 <order-remark ref="orderRemarkRef" @submit="goBooking" />
107 107
108 <!-- <div class="fixedKP" @click="addInvoice">--> 108 <!-- <div class="fixedKP" @click="addInvoice">-->
109 <!-- <img src="@/assets/img/kp.svg"/>--> 109 <!-- <img src="@/assets/img/kp.svg"/>-->
...@@ -112,15 +112,15 @@ ...@@ -112,15 +112,15 @@
112 </template> 112 </template>
113 113
114 <script setup> 114 <script setup>
115 import {ElMessage} from "element-plus"; 115 import { ElMessage } from 'element-plus'
116 import {useRouter} from "vue-router"; 116 import { useRouter } from 'vue-router'
117 import {useStorage} from "@vueuse/core/index"; 117 import { useStorage } from '@vueuse/core/index'
118 import OrderRemark from '@/viewsPc/components/orderRemark' 118 import OrderRemark from '@/viewsPc/components/orderRemark'
119 import {getBaseInfoByActiveId} from "@/apiPc/booking"; 119 import { getBaseInfoByActiveId } from '@/apiPc/booking'
120 import {getCurrentInstance} from "@vue/runtime-core"; 120 import { getCurrentInstance } from '@vue/runtime-core'
121 import {onMounted} from "vue"; 121 import { onMounted } from 'vue'
122 122
123 const {proxy} = getCurrentInstance() 123 const { proxy } = getCurrentInstance()
124 124
125 const router = useRouter() 125 const router = useRouter()
126 const language = useStorage('language', 0) 126 const language = useStorage('language', 0)
...@@ -148,7 +148,6 @@ onMounted(() => { ...@@ -148,7 +148,6 @@ onMounted(() => {
148 148
149 function building() { 149 function building() {
150 ElMessage.warning(language.value == 0 ? '感谢您对本次比赛的关注,该服务暂无可预订信息,敬请期待。' : 'Thank you for your attention to this competition. The service is currently unavailable for booking. Please stay tuned.') 150 ElMessage.warning(language.value == 0 ? '感谢您对本次比赛的关注,该服务暂无可预订信息,敬请期待。' : 'Thank you for your attention to this competition. The service is currently unavailable for booking. Please stay tuned.')
151
152 } 151 }
153 152
154 function popRemark(type) { 153 function popRemark(type) {
...@@ -156,7 +155,7 @@ function popRemark(type) { ...@@ -156,7 +155,7 @@ function popRemark(type) {
156 return router.push({ 155 return router.push({
157 path: '/match/list/reservationSearch', 156 path: '/match/list/reservationSearch',
158 query: { 157 query: {
159 matchId: props.matchId, 158 matchId: props.matchId
160 } 159 }
161 }) 160 })
162 } 161 }
...@@ -165,13 +164,13 @@ function popRemark(type) { ...@@ -165,13 +164,13 @@ function popRemark(type) {
165 return 164 return
166 } 165 }
167 166
168 if ((form.value.isJdView == 0 && type == '1') 167 if ((form.value.isJdView == 0 && type == '1') ||
169 || (form.value.isCarView == 0 && type == '2') 168 (form.value.isCarView == 0 && type == '2') ||
170 || (form.value.isFoodView == 0 && type == '3') 169 (form.value.isFoodView == 0 && type == '3') ||
171 || (form.value.isMealView == 0 && type == '4') 170 (form.value.isMealView == 0 && type == '4') ||
172 || (form.value.isPhotoView == 0 && type == '5') 171 (form.value.isPhotoView == 0 && type == '5') ||
173 || (form.value.isTicket == 0 && type == '0') 172 (form.value.isTicketView == 0 && type == '0') ||
174 || (form.value.isScenicView == 0 && type == '8') 173 (form.value.isScenicView == 0 && type == '8')
175 ) { 174 ) {
176 building() 175 building()
177 return 176 return
...@@ -184,7 +183,6 @@ function popRemark(type) { ...@@ -184,7 +183,6 @@ function popRemark(type) {
184 cptName: props.cptName 183 cptName: props.cptName
185 } 184 }
186 proxy.$refs['orderRemarkRef'].open(params) 185 proxy.$refs['orderRemarkRef'].open(params)
187
188 } 186 }
189 187
190 function goBooking(n) { 188 function goBooking(n) {
...@@ -192,33 +190,33 @@ function goBooking(n) { ...@@ -192,33 +190,33 @@ function goBooking(n) {
192 case 0: 190 case 0:
193 // 票务 191 // 票务
194 router.push({ 192 router.push({
195 path: `/booking/ticket/${props.matchId}`, 193 path: `/booking/ticket/${props.matchId}`
196 }) 194 })
197 break; 195 break
198 case 1: 196 case 1:
199 //酒店 197 // 酒店
200 router.push({path: `/booking/hotel/${props.matchId}`}) 198 router.push({ path: `/booking/hotel/${props.matchId}` })
201 break; 199 break
202 case 2: 200 case 2:
203 //车辆 201 // 车辆
204 router.push({path: `/booking/car/${props.matchId}`}) 202 router.push({ path: `/booking/car/${props.matchId}` })
205 break; 203 break
206 case 3: 204 case 3:
207 //餐饮 205 // 餐饮
208 router.push({path: `/booking/dinner/${props.matchId}`}) 206 router.push({ path: `/booking/dinner/${props.matchId}` })
209 break; 207 break
210 case 4: 208 case 4:
211 //化妆 209 // 化妆
212 router.push({path: `/booking/makeup/${props.matchId}`}) 210 router.push({ path: `/booking/makeup/${props.matchId}` })
213 break; 211 break
214 case 5: 212 case 5:
215 //拍照 213 // 拍照
216 router.push({path: `/booking/photography/${props.matchId}`}) 214 router.push({ path: `/booking/photography/${props.matchId}` })
217 break; 215 break
218 case 8: 216 case 8:
219 //旅游 217 // 旅游
220 router.push({path: `/booking/travel/${props.matchId}`}) 218 router.push({ path: `/booking/travel/${props.matchId}` })
221 break; 219 break
222 } 220 }
223 } 221 }
224 222
......
...@@ -380,8 +380,10 @@ ...@@ -380,8 +380,10 @@
380 380
381 </div> 381 </div>
382 <div v-if="menu[4].active==1"> 382 <div v-if="menu[4].active==1">
383 <!--成绩--> 383 <!-- &lt;!&ndash;成绩&ndash;&gt;-->
384 <el-empty :image="`/img/order_no.png`" :image-size="228" description="" /> 384 <!-- <el-empty :image="`/img/order_no.png`" :image-size="228" description="" />-->
385
386 <matchPerformance :match-data="matchData" />
385 </div> 387 </div>
386 <div v-if="menu[5].active==1" class="pd20"> 388 <div v-if="menu[5].active==1" class="pd20">
387 <div class="xzbox"> 389 <div class="xzbox">
...@@ -422,6 +424,7 @@ ...@@ -422,6 +424,7 @@
422 <substation-list v-if="menu1[0].active==1" :list="matchData.cpts" /> 424 <substation-list v-if="menu1[0].active==1" :list="matchData.cpts" />
423 <matchInfo v-if="menu1[1].active==1" :form="matchData" /> 425 <matchInfo v-if="menu1[1].active==1" :form="matchData" />
424 <match-schedule-list v-if="menu1[2].active==1" :match-data="matchData" /> 426 <match-schedule-list v-if="menu1[2].active==1" :match-data="matchData" />
427 <matchPerformance v-if="menu1[3].active==1" :match-data="matchData" />
425 </el-card> 428 </el-card>
426 </el-col> 429 </el-col>
427 </el-row> 430 </el-row>
...@@ -482,6 +485,9 @@ import SubstationList from '@/viewsPc/match/components/substation-list' ...@@ -482,6 +485,9 @@ import SubstationList from '@/viewsPc/match/components/substation-list'
482 import MatchInfoProjectList from '@/viewsPc/match/components/matchInfo-projectList' 485 import MatchInfoProjectList from '@/viewsPc/match/components/matchInfo-projectList'
483 import QuickRow from '@/viewsPc/match/components/quick-row' 486 import QuickRow from '@/viewsPc/match/components/quick-row'
484 import Pickup from '@/viewsPc/components/pickup' 487 import Pickup from '@/viewsPc/components/pickup'
488 import matchPerformance from '@/viewsPc/match/components/matchPerformance.vue'
489
490
485 import { getCurrentInstance, ref, watch } from 'vue' 491 import { getCurrentInstance, ref, watch } from 'vue'
486 import { reactive, onMounted } from '@vue/runtime-core' 492 import { reactive, onMounted } from '@vue/runtime-core'
487 import { useRoute, useRouter } from 'vue-router' 493 import { useRoute, useRouter } from 'vue-router'
...@@ -518,11 +524,15 @@ const data = reactive({ ...@@ -518,11 +524,15 @@ const data = reactive({
518 { name: 'Schedule', cn: '日程', active: 0 }, 524 { name: 'Schedule', cn: '日程', active: 0 },
519 { name: 'Participating teams', cn: '参赛人员', active: 0 }, 525 { name: 'Participating teams', cn: '参赛人员', active: 0 },
520 { name: 'Achievement', cn: '成绩', active: 0 }, 526 { name: 'Achievement', cn: '成绩', active: 0 },
521 { name: 'Notes', cn: '报名须知', active: 0 }], 527 { name: 'Notes', cn: '报名须知', active: 0 }
528 ],
522 menu1: [ 529 menu1: [
523 { name: 'Tournaments', cn: '分站赛', active: 1 }, 530 { name: 'Tournaments', cn: '分站赛', active: 1 },
524 { name: 'Event details', cn: '赛事详情', active: 0 }, 531 { name: 'Event details', cn: '赛事详情', active: 0 },
525 { name: 'Schedule', cn: '日程', active: 0 }], 532 { name: 'Schedule', cn: '日程', active: 0 },
533 { name: 'Achievement', cn: '成绩', active: 0 }
534 ],
535
526 signDoneGroupList: [], 536 signDoneGroupList: [],
527 signDoneGroupListToTal: 0, 537 signDoneGroupListToTal: 0,
528 queryGroupList: { 538 queryGroupList: {
...@@ -577,7 +587,7 @@ function getMatch(id) { ...@@ -577,7 +587,7 @@ function getMatch(id) {
577 loading.value = true 587 loading.value = true
578 match.getMatchById({ id: id }).then(res => { 588 match.getMatchById({ id: id }).then(res => {
579 matchData.value = res.data 589 matchData.value = res.data
580 console.log(matchData.value) 590 console.log(666666, matchData.value)
581 loading.value = false 591 loading.value = false
582 const today = dayjs().format('YYYY-MM-DD HH:mm:ss') 592 const today = dayjs().format('YYYY-MM-DD HH:mm:ss')
583 time.value = dayjs(res.data.signEndTime).diff(today, 'millisecond') 593 time.value = dayjs(res.data.signEndTime).diff(today, 'millisecond')
...@@ -603,12 +613,12 @@ function getGroupListByCptId() { ...@@ -603,12 +613,12 @@ function getGroupListByCptId() {
603 613
604 function changeMenu(menu, l) { 614 function changeMenu(menu, l) {
605 console.log(matchData.value.leagueId, l.name) 615 console.log(matchData.value.leagueId, l.name)
606 if ( 616 // if (
607 matchData.value.leagueId == '1778253367748993026' && 617 // matchData.value.leagueId == '1778253367748993026' &&
608 (l.name == '成绩' || l.name == 'Achievement') 618 // (l.name == '成绩' || l.name == 'Achievement')
609 ) { 619 // ) {
610 window.open('http://www.cdsf.org.cn/h5/sscj.index?matchID=526') 620 // window.open('http://www.cdsf.org.cn/h5/sscj.index?matchID=526')
611 } 621 // }
612 for (const n of menu) { 622 for (const n of menu) {
613 if (n == l) { 623 if (n == l) {
614 n.active = 1 624 n.active = 1
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
12 size="large" style="max-width: 560px;margin: auto" 12 size="large" style="max-width: 560px;margin: auto"
13 > 13 >
14 <el-form-item :label="language==0?'WDSF会员号':'WDSF MIN'" required> 14 <el-form-item :label="language==0?'WDSF会员号':'WDSF MIN'" required>
15 <el-input v-model="form.card" type="text" @blur="verifyCode" @change="resetCode(0)"> 15 <el-input v-model.trim="form.card" type="text" @blur="verifyCode" @change="resetCode(0)">
16 <template #append> 16 <template #append>
17 <el-button plain style="width: 110px" type="primary" @click="checkCard"> 17 <el-button plain style="width: 110px" type="primary" @click="checkCard">
18 <el-icon v-if="wdsfData.wdsfFlag=='1'" color="#67C23A" size="16"> 18 <el-icon v-if="wdsfData.wdsfFlag=='1'" color="#67C23A" size="16">
......
...@@ -63,8 +63,13 @@ ...@@ -63,8 +63,13 @@
63 <el-table-column :label="language==0?'国家':'Country'" min-width="200" prop="name"> 63 <el-table-column :label="language==0?'国家':'Country'" min-width="200" prop="name">
64 <template #default="scope"> 64 <template #default="scope">
65 <div> 65 <div>
66 <span :class="`flag-icon flag-icon-${scope.row.code}`" /> 66 <span v-if="scope.row.code!='tw'" :class="`flag-icon flag-icon-${scope.row.code}`" />
67 {{ language == 0 ? scope.row.name : scope.row.enName }} 67 <span v-else class="flag-icon">
68 <img :src="hkImage" alt="" class="hkimg">
69 </span>
70 <span>
71 {{ language == 0 ? scope.row.code != 'tw' ? scope.row.name : '中华台北' : scope.row.enName }}
72 </span>
68 </div> 73 </div>
69 </template> 74 </template>
70 </el-table-column> 75 </el-table-column>
...@@ -160,6 +165,7 @@ import { cjList } from '@/assets/js/data' ...@@ -160,6 +165,7 @@ import { cjList } from '@/assets/js/data'
160 import { ArrowRight } from '@element-plus/icons-vue' 165 import { ArrowRight } from '@element-plus/icons-vue'
161 import { dayjs } from 'element-plus' 166 import { dayjs } from 'element-plus'
162 import * as match from '@/apiPc/match' 167 import * as match from '@/apiPc/match'
168 import hkImage from '@/assets/nationalFlag/hk.png'
163 169
164 const router = useRouter() 170 const router = useRouter()
165 import { useStorage } from '@vueuse/core/index' 171 import { useStorage } from '@vueuse/core/index'
...@@ -441,4 +447,11 @@ h3 { ...@@ -441,4 +447,11 @@ h3 {
441 background-clip: text; /* 标准语法 */ 447 background-clip: text; /* 标准语法 */
442 -webkit-text-fill-color: transparent; /* 文字颜色透明 */ 448 -webkit-text-fill-color: transparent; /* 文字颜色透明 */
443 } 449 }
450
451 .hkimg {
452 width: 19px;
453 height: 14px;
454 position: absolute;
455 top: 0;
456 }
444 </style> 457 </style>
......
...@@ -4,7 +4,10 @@ ...@@ -4,7 +4,10 @@
4 <div class="mt20" /> 4 <div class="mt20" />
5 <el-card class="mt20 mb20"> 5 <el-card class="mt20 mb20">
6 6
7 <h3 style="text-align: center">{{ language == 0 ? query.name : query.enName }}</h3> 7 <h3 style="text-align: center">
8 <!-- {{ // language == 0 ? query.name : query.enName }}-->
9 {{ language == 0 ? query.code != 'tw' ? query.name : '中华台北' : query.enName }}
10 </h3>
8 <div class="mt20" /> 11 <div class="mt20" />
9 <el-table :data="rank" stripe> 12 <el-table :data="rank" stripe>
10 <el-table-column :label="language==0?'组别':'Group'" align="center" min-width="200"> 13 <el-table-column :label="language==0?'组别':'Group'" align="center" min-width="200">
...@@ -20,8 +23,13 @@ ...@@ -20,8 +23,13 @@
20 <el-table-column :label="language==0?'国家':'Country'" prop="name"> 23 <el-table-column :label="language==0?'国家':'Country'" prop="name">
21 <template #default="scope"> 24 <template #default="scope">
22 <div> 25 <div>
23 <span :class="`flag-icon flag-icon-${query.code}`" /> 26 <!-- <span :class="`flag-icon flag-icon-${query.code}`" />-->
24 {{ language == 0 ? scope.row.countryName : scope.row.countryNameEn }} 27 <span v-if="query.code!='tw'" :class="`flag-icon flag-icon-${query.code}`" />
28 <span v-else class="flag-icon">
29 <img :src="hkImage" alt="" class="hkimg">
30 </span>
31 {{ language == 0 ? query.code != 'tw' ? scope.row.name : '中华台北' : scope.row.enName }}
32 <!-- {{ language == 0 ? scope.row.countryName : scope.row.countryNameEn }}-->
25 </div> 33 </div>
26 </template> 34 </template>
27 </el-table-column> 35 </el-table-column>
...@@ -49,6 +57,7 @@ ...@@ -49,6 +57,7 @@
49 import { onMounted, ref } from 'vue' 57 import { onMounted, ref } from 'vue'
50 import * as match from '@/apiPc/match' 58 import * as match from '@/apiPc/match'
51 import { useRoute } from 'vue-router' 59 import { useRoute } from 'vue-router'
60 import hkImage from '@/assets/nationalFlag/hk.png'
52 61
53 const route = useRoute() 62 const route = useRoute()
54 import { useStorage } from '@vueuse/core/index' 63 import { useStorage } from '@vueuse/core/index'
...@@ -227,4 +236,11 @@ h3 { ...@@ -227,4 +236,11 @@ h3 {
227 .w15 { 236 .w15 {
228 width: 15%; 237 width: 15%;
229 } 238 }
239
240 .hkimg {
241 width: 19px;
242 height: 14px;
243 position: absolute;
244 top: 0;
245 }
230 </style> 246 </style>
......
...@@ -64,8 +64,8 @@ export default defineConfig(({ mode, command }) => { ...@@ -64,8 +64,8 @@ export default defineConfig(({ mode, command }) => {
64 proxy: { 64 proxy: {
65 // https://cn.vitejs.dev/config/#server-proxy 65 // https://cn.vitejs.dev/config/#server-proxy
66 '/dev-api/ztx-train': { 66 '/dev-api/ztx-train': {
67 // target: 'http://192.168.1.118:1896/stage-api', 67 target: 'http://192.168.1.118:1896/stage-api',
68 target: 'https://jijin.wtwuxicenter.com/stage-api', 68 // target: 'https://jijin.wtwuxicenter.com/stage-api',
69 changeOrigin: true, 69 changeOrigin: true,
70 rewrite: (p) => p.replace(/^\/dev-api\/ztx-train/, '') 70 rewrite: (p) => p.replace(/^\/dev-api\/ztx-train/, '')
71 }, 71 },
...@@ -83,11 +83,10 @@ export default defineConfig(({ mode, command }) => { ...@@ -83,11 +83,10 @@ export default defineConfig(({ mode, command }) => {
83 rewrite: (p) => p.replace(/^\/dev-api\/ztx-webSite/, '') 83 rewrite: (p) => p.replace(/^\/dev-api\/ztx-webSite/, '')
84 }, 84 },
85 '/dev-api': { 85 '/dev-api': {
86 // target: 'http://192.168.1.118:8081/', 86 // target: 'http://192.168.1.213:8081/',
87 // target: 'http://192.168.1.129:8081', 87 // target: 'http://192.168.1.118:8081',
88 // target: 'https://jijin.wtwuxicenter.com/stage-api', 88 target: 'https://jijin.wtwuxicenter.com/stage-api',
89 // target: 'https://wdsfwuxicenter.com/stage-api/', 89 // target: 'https://wdsfwuxicenter.com/stage-api/',
90 target: 'http://7s18uou5jv74.ngrok.xiaomiqiu123.top/',
91 changeOrigin: true, 90 changeOrigin: true,
92 rewrite: (p) => p.replace(/^\/dev-api/, '') 91 rewrite: (p) => p.replace(/^\/dev-api/, '')
93 }, 92 },
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!