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,8 +34,8 @@ ...@@ -65,8 +34,8 @@
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>
...@@ -82,7 +51,7 @@ ...@@ -82,7 +51,7 @@
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>
...@@ -248,16 +217,16 @@ async function getTickInfo() { ...@@ -248,16 +217,16 @@ 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 {
...@@ -268,7 +237,7 @@ async function getTickInfo() { ...@@ -268,7 +237,7 @@ async function getTickInfo() {
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() {
......
...@@ -316,7 +316,7 @@ async function customerList() { ...@@ -316,7 +316,7 @@ 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
......
...@@ -74,6 +74,8 @@ ...@@ -74,6 +74,8 @@
74 :key="index" 74 :key="index"
75 :class="[ 75 :class="[
76 it.id == selectForm.latId ? 'tagActive' : 'tag', 76 it.id == selectForm.latId ? 'tagActive' : 'tag',
77 it.overdueView=='0' ? 'forbid' : '',
78 (it.ticketPackage==1 && overdueView=='0') ?'forbid':''
77 ]" 79 ]"
78 @click="select(it)" 80 @click="select(it)"
79 > 81 >
...@@ -151,17 +153,6 @@ ...@@ -151,17 +153,6 @@
151 <div class="label"> 153 <div class="label">
152 {{ triggerLanguage(language, "票型", "Ticket Type") }} : 154 {{ triggerLanguage(language, "票型", "Ticket Type") }} :
153 </div> 155 </div>
154 <div>
155 <!-- <span-->
156 <!-- v-if="currTick?.images"-->
157 <!-- style="color: #493ceb;cursor:pointer;font-weight:600;font-size: 14px"-->
158 <!-- @click="showUrl=currTick.images;show=true"-->
159 <!-- > <span style="color: red;font-size: 18px">*</span>-->
160 <!-- {{-->
161 <!-- language == 0 ? '点击查看区域布局' : 'View Area Layout'-->
162 <!-- }}-->
163 <!-- </span>-->
164 </div>
165 </div> 156 </div>
166 <div class="select_item_box"> 157 <div class="select_item_box">
167 <div class="select_item"> 158 <div class="select_item">
...@@ -219,21 +210,26 @@ ...@@ -219,21 +210,26 @@
219 </div> 210 </div>
220 211
221 <div 212 <div
222 v-if="endTime<=0" class="btn" style="margin-left: 40px;opacity: 0.5;cursor: not-allowed;margin-top: 10px" 213 v-if="isOver" class="btn"
223 @click="toSelectClosed" 214 style="margin-left: 40px;opacity: 0.5;cursor: not-allowed;margin-top: 10px"
224 > 215 >
225 {{ 216 {{
226 triggerLanguage(language, "售票结束", "Sale closed") 217 triggerLanguage(language, "售票结束", "Sale closed")
227 }} 218 }}
228 </div> 219 </div>
220 <template v-else>
221 <div v-if="leftCount<=0 && leftCount!=-999" class="btn" style="margin-left: 40px;margin-top: 10px">
222 {{
223 triggerLanguage(language, "票已售罄", "Sale out")
224 }}
225 </div>
229 <div v-else class="btn" style="margin-left: 40px;margin-top: 10px" @click="toSelectSeat()"> 226 <div v-else class="btn" style="margin-left: 40px;margin-top: 10px" @click="toSelectSeat()">
230 {{ 227 {{
231 triggerLanguage(language, "立即购票", "Buy tickets now") 228 triggerLanguage(language, "立即购票", "Buy tickets now")
232 }} 229 }}
233 </div> 230 </div>
234 231 </template>
235 </div> 232 </div>
236
237 </div> 233 </div>
238 </div> 234 </div>
239 235
...@@ -263,25 +259,27 @@ ...@@ -263,25 +259,27 @@
263 259
264 260
265 <script setup> 261 <script setup>
266 import { ref, computed, watch } from 'vue' 262 import { ref, computed, watch, getCurrentInstance } from 'vue'
267 import { 263 import {
268 getTicketInfoByActivityId, 264 getTicketInfoByActivityId,
269 getTicketListApi, 265 getTicketListApi,
270 checkNonPayment, 266 checkNonPayment,
271 getStadiumList, 267 getStadiumList,
272 getActivityTypeVoListByLatsId, 268 getActivityTypeVoListByLatsId,
273 getBaseInfoByActiveId 269 getBaseInfoByActiveId, getListByAtstId
274 } from '@/apiPc/booking' 270 } from '@/apiPc/booking'
271 import _ from 'lodash'
272
275 273
276 import { dayjs } from 'element-plus' 274 import { dayjs } from 'element-plus'
277 import { ElMessageBox } from 'element-plus' 275 import { ElMessageBox } from 'element-plus'
278 import { getDayName } from '@/viewsPc/seat/utils/language' 276 import { getDayName } from '@/viewsPc/seat/utils/language'
279 import { fillImgUrl } from '/@/utils/ruoyi' 277 import { fillImgUrl, triggerLanguage } from '/@/utils/ruoyi'
280 import useUserStore from '/@/store/modules/user' 278 import useUserStore from '/@/store/modules/user'
281 import { triggerLanguage } from '@/utils/ruoyi'
282 import { useStorage } from '@vueuse/core/index' 279 import { useStorage } from '@vueuse/core/index'
283 import { useRoute, useRouter } from 'vue-router' 280 import { useRoute, useRouter } from 'vue-router'
284 281
282 const { proxy } = getCurrentInstance()
285 const language = useStorage('language', 0) 283 const language = useStorage('language', 0)
286 const useStore = useUserStore() 284 const useStore = useUserStore()
287 const user = computed(() => useUserStore().user) 285 const user = computed(() => useUserStore().user)
...@@ -291,9 +289,6 @@ const show = ref(false) ...@@ -291,9 +289,6 @@ const show = ref(false)
291 const showUrl = ref('') 289 const showUrl = ref('')
292 const activeId = ref(route.params.activeId) 290 const activeId = ref(route.params.activeId)
293 const active = ref(1) 291 const active = ref(1)
294 const props = defineProps({
295 activityId: [String, Number]
296 })
297 const remarks = ref() 292 const remarks = ref()
298 const timeData = ref() 293 const timeData = ref()
299 const endTime = ref() 294 const endTime = ref()
...@@ -312,6 +307,9 @@ const tickList = ref([]) ...@@ -312,6 +307,9 @@ const tickList = ref([])
312 const currVenue = ref(null) 307 const currVenue = ref(null)
313 const currTick = ref(null) 308 const currTick = ref(null)
314 const matchData = ref({}) 309 const matchData = ref({})
310 const overdueView = ref('1')
311 const isOver = ref(false)
312 const leftCount = ref(-999)
315 313
316 watch(show, (val) => { 314 watch(show, (val) => {
317 if (!val) { 315 if (!val) {
...@@ -325,7 +323,7 @@ getDetail() ...@@ -325,7 +323,7 @@ getDetail()
325 async function getDetail() { 323 async function getDetail() {
326 const res = await getTicketInfoByActivityId({ activityId: activeId.value }) 324 const res = await getTicketInfoByActivityId({ activityId: activeId.value })
327 matchForm.value = res.data 325 matchForm.value = res.data
328 console.log(res) 326 // console.log(res)
329 const today = dayjs().format('YYYY-MM-DD HH:mm:ss') 327 const today = dayjs().format('YYYY-MM-DD HH:mm:ss')
330 timeData.value = dayjs(res.data.ticketStart).diff(today, 'millisecond') 328 timeData.value = dayjs(res.data.ticketStart).diff(today, 'millisecond')
331 endTime.value = dayjs(res.data.ticketEnd).diff(today, 'millisecond') 329 endTime.value = dayjs(res.data.ticketEnd).diff(today, 'millisecond')
...@@ -341,9 +339,18 @@ async function getTicketList() { ...@@ -341,9 +339,18 @@ async function getTicketList() {
341 activityId: activeId.value, status: 1 339 activityId: activeId.value, status: 1
342 }) 340 })
343 tickClass.value = res.rows 341 tickClass.value = res.rows
344 if (tickClass.value.length > 0) { 342
345 selectForm.value.latId = tickClass.value?.[0]?.id 343 if (_.some(tickClass.value, (item) => item.overdueView == '0')
344 ) {
345 overdueView.value = '0'
346 }
347
348 const item = _.find(tickClass.value, (item) => item.overdueView == '1')
349 if (item) {
350 selectForm.value.latId = item.id
346 await getVenueList() 351 await getVenueList()
352 } else {
353 isOver.value = true
347 } 354 }
348 } 355 }
349 356
...@@ -362,14 +369,13 @@ async function getTicketListType() { ...@@ -362,14 +369,13 @@ async function getTicketListType() {
362 const res = await getActivityTypeVoListByLatsId({ latsId: selectForm.value.latsId }) 369 const res = await getActivityTypeVoListByLatsId({ latsId: selectForm.value.latsId })
363 tickList.value = res.data 370 tickList.value = res.data
364 selectForm.value.sessionType = Object.keys(res.data)[0] 371 selectForm.value.sessionType = Object.keys(res.data)[0]
365 console.log(tickList.value)
366 // currTick.value = tickList.value[selectForm.value.sessionType][0]
367 // selectForm.value.latstId = currTick.value?.id
368 // selectForm.value.price = currTick.value?.price
369 // selectForm.value.priceEn = currTick.value?.priceEn
370 } 372 }
371 373
372 function select(v) { 374 function select(v) {
375 if (v.id == selectForm.value.latId) {
376 return
377 }
378
373 selectForm.value.latId = v.id 379 selectForm.value.latId = v.id
374 selectForm.value.latsId = null 380 selectForm.value.latsId = null
375 selectForm.value.sessionType = null 381 selectForm.value.sessionType = null
...@@ -377,11 +383,16 @@ function select(v) { ...@@ -377,11 +383,16 @@ function select(v) {
377 selectForm.value.id = null 383 selectForm.value.id = null
378 selectForm.value.price = '--' 384 selectForm.value.price = '--'
379 selectForm.value.priceEn = '--' 385 selectForm.value.priceEn = '--'
386 currTick.value = null
380 387
381 getVenueList() 388 getVenueList()
382 } 389 }
383 390
384 function selectVenue(v) { 391 function selectVenue(v) {
392 if (v.id == selectForm.value.latsId) {
393 return
394 }
395
385 currVenue.value = v 396 currVenue.value = v
386 selectForm.value.latsId = v.id 397 selectForm.value.latsId = v.id
387 selectForm.value.sessionType = null 398 selectForm.value.sessionType = null
...@@ -390,27 +401,58 @@ function selectVenue(v) { ...@@ -390,27 +401,58 @@ function selectVenue(v) {
390 selectForm.value.price = '--' 401 selectForm.value.price = '--'
391 selectForm.value.priceEn = '--' 402 selectForm.value.priceEn = '--'
392 remarks.value = v.remarks 403 remarks.value = v.remarks
404 currTick.value = null
405
393 getTicketListType() 406 getTicketListType()
394 } 407 }
395 408
396 function selectSessionType(key) { 409 function selectSessionType(key) {
410 if (key == selectForm.value.sessionType) {
411 return
412 }
413
397 selectForm.value.sessionType = key 414 selectForm.value.sessionType = key
398 415
399 // currTick.value = tickList.value[selectForm.value.sessionType][0] 416 // currTick.value = tickList.value[selectForm.value.sessionType][0]
400 selectForm.value.latstId = currTick.value?.id 417 selectForm.value.latstId = currTick.value?.id
401 selectForm.value.price = currTick.value?.price 418 selectForm.value.price = currTick.value?.price
402 selectForm.value.priceEn = currTick.value?.priceEn 419 selectForm.value.priceEn = currTick.value?.priceEn
420 currTick.value = null
403 } 421 }
404 422
405 // 选择票型 423 // 选择票型
406 function selectTick(v) { 424 function selectTick(v) {
425 if (v.id == selectForm.value.latstId) {
426 return
427 }
428
407 currTick.value = v 429 currTick.value = v
408 selectForm.value.latstId = v.id 430 selectForm.value.latstId = v.id
409 selectForm.value.price = v.price 431 selectForm.value.price = v.price
410 selectForm.value.priceEn = v.priceEn 432 selectForm.value.priceEn = v.priceEn
411 // console.log(v) 433
434 // vip票
435 if (currTick.value.ticketType == '1') {
412 showUrl.value = v.images 436 showUrl.value = v.images
413 show.value = true 437 show.value = true
438 leftCount.value = -999
439 } else {
440 checkNonPayment().then(res => {
441 if (res.data) {
442 getListByAtstId({
443 atstId: selectForm.value.latstId
444 }).then(res => {
445 leftCount.value = res.data
446 if (leftCount.value > 0) {
447 showUrl.value = v.images
448 show.value = true
449 }
450 })
451 } else {
452 leftCount.value = -999
453 }
454 })
455 }
414 } 456 }
415 457
416 function toSelectSeat() { 458 function toSelectSeat() {
...@@ -420,6 +462,9 @@ function toSelectSeat() { ...@@ -420,6 +462,9 @@ function toSelectSeat() {
420 useStore.setVisitor() 462 useStore.setVisitor()
421 return 463 return
422 } 464 }
465 if (!selectForm.value.latstId) {
466 return proxy.$modal.confirm(language.value == 0 ? '请选择票型' : 'Please select a ticket type')
467 }
423 checkNonPayment().then(res => { 468 checkNonPayment().then(res => {
424 if (res.data) { 469 if (res.data) {
425 router.push({ 470 router.push({
...@@ -449,7 +494,7 @@ function toSelectClosed() { ...@@ -449,7 +494,7 @@ function toSelectClosed() {
449 async function getmatchData() { 494 async function getmatchData() {
450 const res = await getBaseInfoByActiveId(route.params.activeId) 495 const res = await getBaseInfoByActiveId(route.params.activeId)
451 matchData.value = res.data 496 matchData.value = res.data
452 console.log(res) 497 // console.log(res)
453 } 498 }
454 499
455 function handleImage() { 500 function handleImage() {
...@@ -548,6 +593,7 @@ getmatchData() ...@@ -548,6 +593,7 @@ getmatchData()
548 } 593 }
549 594
550 .forbid { 595 .forbid {
596 pointer-events: none;
551 opacity: 0.5 !important; 597 opacity: 0.5 !important;
552 cursor: not-allowed !important; 598 cursor: not-allowed !important;
553 } 599 }
...@@ -798,4 +844,10 @@ getmatchData() ...@@ -798,4 +844,10 @@ getmatchData()
798 line-height: 40px; 844 line-height: 40px;
799 color: #2b2f3a; 845 color: #2b2f3a;
800 } 846 }
847
848 .disabled {
849 background: #878787 !important;
850 color: #4a4a4a !important;
851 cursor: no-drop !important;
852 }
801 </style> 853 </style>
......
...@@ -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
......
...@@ -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)
......
...@@ -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()
......
...@@ -5,26 +5,28 @@ ...@@ -5,26 +5,28 @@
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 v-model="query" :placeholder="language==0?'输入会员号 / 姓名查询':'Enter WDSF MIN / Name to Query'"
18 clearable 19 clearable
19 @enter="search" @blur="search" @empty="search"/> 20 @blur="search" @empty="search" @enter="search"
20 <el-button @click="search" class="btn-lineG" style="color: #fff">{{ 21 />
22 <el-button class="btn-lineG" style="color: #fff" @click="search">{{
21 language == 0 ? '查询' : 'Search' 23 language == 0 ? '查询' : 'Search'
22 }} 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
59 v-model="query2"
57 :placeholder="language==0?'请输入代表队名称至少两字符':'Enter the representing team name,At least two characters'" 60 :placeholder="language==0?'请输入代表队名称至少两字符':'Enter the representing team name,At least two characters'"
58 v-model="query2" clearable 61 clearable
59 @enter="searchTeam" @blur="searchTeam" @empty="searchTeam"/> 62 @blur="searchTeam" @empty="searchTeam" @enter="searchTeam"
60 <el-button @click="searchTeam" class="btn-lineG" style="color: #fff"> 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;
......
...@@ -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!