9d44b18e by 杨炀

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

# Conflicts:
#	vite.config.js
2 parents bafb8f2d 2c5c2b59
...@@ -174,9 +174,11 @@ import { useRouter, useRoute } from 'vue-router' ...@@ -174,9 +174,11 @@ import { useRouter, useRoute } from 'vue-router'
174 import { useStorage } from '@vueuse/core/index' 174 import { useStorage } from '@vueuse/core/index'
175 import useUserStore from '@/store/modules/user' 175 import useUserStore from '@/store/modules/user'
176 import { getVehicleByCheckIn } from '@/apiPc/booking' 176 import { getVehicleByCheckIn } from '@/apiPc/booking'
177 import { computed } from 'vue'
177 178
179 const useStore = useUserStore()
180 const user = computed(() => useUserStore().user)
178 const { proxy } = getCurrentInstance() 181 const { proxy } = getCurrentInstance()
179 const user = useUserStore().user
180 const router = useRouter() 182 const router = useRouter()
181 const route = useRoute() 183 const route = useRoute()
182 const language = useStorage('language', 0) 184 const language = useStorage('language', 0)
...@@ -245,6 +247,11 @@ async function changeSelectOut() { ...@@ -245,6 +247,11 @@ async function changeSelectOut() {
245 } 247 }
246 248
247 async function handleSubmit(v) { 249 async function handleSubmit(v) {
250 if (!user.value) {
251 useStore.setVisitor()
252 return
253 }
254
248 let checkOut = {} 255 let checkOut = {}
249 let obj = {} 256 let obj = {}
250 if (v == 0) { 257 if (v == 0) {
...@@ -275,7 +282,7 @@ async function handleSubmit(v) { ...@@ -275,7 +282,7 @@ async function handleSubmit(v) {
275 } 282 }
276 const res = await booking.checkOrderPay('1') 283 const res = await booking.checkOrderPay('1')
277 if (!res.data) { 284 if (!res.data) {
278 await proxy.$modal.confirm(language == 0 ? '您有未支付的订单,请前往支付!' : 'You have unpaid orders, please proceed to payment!') 285 await proxy.$modal.confirm(language.value == 0 ? '您有未支付的订单,请前往支付!' : 'You have unpaid orders, please proceed to payment!')
279 await router.push({ 286 await router.push({
280 path: '/center/myReservation' 287 path: '/center/myReservation'
281 }) 288 })
...@@ -292,7 +299,7 @@ async function handleSubmit(v) { ...@@ -292,7 +299,7 @@ async function handleSubmit(v) {
292 299
293 300
294 function goOrder(item, car) { 301 function goOrder(item, car) {
295 if (!user) { 302 if (!user.value) {
296 useUserStore().setReLogin() 303 useUserStore().setReLogin()
297 return 304 return
298 } 305 }
......
...@@ -13,20 +13,6 @@ ...@@ -13,20 +13,6 @@
13 <div class="address">{{ TickForm.address }}</div> 13 <div class="address">{{ TickForm.address }}</div>
14 </div> 14 </div>
15 15
16 <div class="info">
17 <div class="name">{{ TickForm2.ticketTypeName }}</div>
18 <div class="address">
19 {{ TickForm2.stadiumName }}
20 <span v-if="TickForm2.sessionType=='1000'">{{ language == 0 ? '日间场' : 'Day' }}</span>
21 <span v-else>{{ language == 0 ? '夜间场' : 'Night' }}</span>
22 {{ TickForm2.ticketName }}
23 </div>
24
25 <div v-if="TickForm2.ticketType=='0'" class="address">{{
26 language == 0 ? '剩余数量' : 'Remaining Quantity'
27 }}{{ leftCount }}
28 </div>
29 </div>
30 16
31 <div class="ticket_info mb20"> 17 <div class="ticket_info mb20">
32 <div class="tit_box"> 18 <div class="tit_box">
...@@ -153,9 +139,25 @@ ...@@ -153,9 +139,25 @@
153 </div> 139 </div>
154 </div> 140 </div>
155 </div> 141 </div>
156 <!-- 场馆布局图--> 142 <div class="rightBox">
143 <div class="info">
144 <div class="name">{{ TickForm2.ticketTypeName }}</div>
145 <div class="address">
146 {{ TickForm2.stadiumName }} |
147 <span v-if="TickForm2.sessionType=='1000'">{{ language == 0 ? '日间场' : 'Day' }}</span>
148 <span v-else>{{ language == 0 ? '夜间场' : 'Night' }}</span>
149 | {{ TickForm2.ticketName }}
150 </div>
151
152 <div v-if="TickForm2.ticketType=='0'" class="address">{{
153 language == 0 ? '剩余数量' : 'Remaining Quantity'
154 }}: {{ leftCount }}
155 </div>
156 </div>
157 </div>
157 158
158 <div style="margin-top: 95px"> 159 <!-- 场馆布局图-->
160 <div style="margin-top: 30px">
159 <el-image 161 <el-image
160 :preview-src-list="[fillImgUrl(tickImg)]" 162 :preview-src-list="[fillImgUrl(tickImg)]"
161 :src="fillImgUrl(tickImg)" 163 :src="fillImgUrl(tickImg)"
...@@ -709,4 +711,15 @@ div { ...@@ -709,4 +711,15 @@ div {
709 width: 100%; 711 width: 100%;
710 } 712 }
711 } 713 }
714
715 .rightBox {
716 .info {
717 background: rgba(69, 61, 234, 0.04);
718 border-radius: 8px;
719 border: 1px solid #d3d1f6;
720 padding: 20px 0 28px 33px;
721 margin-bottom: 20px;
722 margin-top: 30px;
723 }
724 }
712 </style> 725 </style>
......
1 <template> 1 <template>
2 <div> 2 <div>
3 <!-- top --> 3 <!-- top -->
4 <div class="container top father"> 4 <div class="container top ">
5 <img :src="fillImgUrl(matchForm.ticketImg)" alt="" class="cover_img"> 5 <img :src="fillImgUrl(matchForm.ticketImg)" alt="" class="cover_img">
6 <div class="info"> 6 <div class="info">
7 <div class="title">{{ matchForm.name }}</div> 7 <div class="title">{{ matchForm.name }}</div>
...@@ -176,7 +176,18 @@ ...@@ -176,7 +176,18 @@
176 > 176 >
177 {{ it.name }} 177 {{ it.name }}
178 </div> 178 </div>
179 <div class="father">
180 <el-image
181 v-if="currTick?.images"
182 :src="fillImgUrl(currTick?.images) "
183 class="son"
184 fit="cover"
185 preview-teleported
186 style="width:190px;height: 135px"
187 />
188 </div>
179 </div> 189 </div>
190
180 </div> 191 </div>
181 192
182 193
...@@ -222,15 +233,7 @@ ...@@ -222,15 +233,7 @@
222 </div> 233 </div>
223 234
224 </div> 235 </div>
225 <el-image 236
226 v-if="currTick?.images"
227 :preview-src-list="[fillImgUrl(currTick?.images)]"
228 :src="fillImgUrl(currTick?.images) "
229 class="son"
230 fit="cover"
231 preview-teleported
232 style="width:200px"
233 />
234 </div> 237 </div>
235 </div> 238 </div>
236 239
...@@ -245,10 +248,14 @@ ...@@ -245,10 +248,14 @@
245 <div v-show="active==1" class="rich_content" v-html="matchForm.ticketDes" /> 248 <div v-show="active==1" class="rich_content" v-html="matchForm.ticketDes" />
246 <div v-show="active==2" class="rich_content" v-html="matchForm.ticketNotice" /> 249 <div v-show="active==2" class="rich_content" v-html="matchForm.ticketNotice" />
247 250
248 <el-dialog v-model="show" title="" width="1000px"> 251 <el-dialog v-model="show" align-center title="" width="1000px">
249 <div> 252 <div style="padding: 20px">
250 <img :src="fillImgUrl(showUrl)" alt="" style="width: 100%"> 253 <img :src="fillImgUrl(showUrl)" alt="" style="width: 100%">
251 </div> 254 </div>
255 <br>
256 <div style="text-align: center;">
257 <el-button size="large" type="primary" @click="show=false">{{ language == 0 ? '关 闭' : 'close' }}</el-button>
258 </div>
252 </el-dialog> 259 </el-dialog>
253 </div> 260 </div>
254 </div> 261 </div>
...@@ -401,6 +408,9 @@ function selectTick(v) { ...@@ -401,6 +408,9 @@ function selectTick(v) {
401 selectForm.value.latstId = v.id 408 selectForm.value.latstId = v.id
402 selectForm.value.price = v.price 409 selectForm.value.price = v.price
403 selectForm.value.priceEn = v.priceEn 410 selectForm.value.priceEn = v.priceEn
411 // console.log(v)
412 showUrl.value = v.images
413 show.value = true
404 } 414 }
405 415
406 function toSelectSeat() { 416 function toSelectSeat() {
...@@ -778,8 +788,8 @@ getmatchData() ...@@ -778,8 +788,8 @@ getmatchData()
778 788
779 .son { 789 .son {
780 position: absolute; 790 position: absolute;
781 bottom: 30px; 791 top: 0;
782 right: 50px; 792 left: 50px;
783 } 793 }
784 794
785 .remarks { 795 .remarks {
......
...@@ -133,7 +133,7 @@ ...@@ -133,7 +133,7 @@
133 </div> 133 </div>
134 <div class="text-right"> 134 <div class="text-right">
135 <el-button 135 <el-button
136 v-if="(b.orderType == 0||b.orderType == 5)&&b.viewStatus!=0" class="mb10" plain round 136 v-if="(b.orderType == 0||b.orderType == 5||b.orderType==1)&&b.viewStatus!=0" class="mb10" plain round
137 size="small" type="success" 137 size="small" type="success"
138 @click="Rebook(b)" 138 @click="Rebook(b)"
139 > 139 >
...@@ -234,6 +234,12 @@ function goDetail(b) { ...@@ -234,6 +234,12 @@ function goDetail(b) {
234 234
235 function Rebook(row) { 235 function Rebook(row) {
236 console.log(row) 236 console.log(row)
237 if (row.orderType == 1) {
238 return router.push({
239 path: `/booking/car/${row.activeId}`
240 })
241 }
242
237 if (row.orderType == 0) { 243 if (row.orderType == 0) {
238 router.push({ 244 router.push({
239 name: 'hotelDetail', 245 name: 'hotelDetail',
......
...@@ -296,7 +296,7 @@ const data = reactive({ ...@@ -296,7 +296,7 @@ const data = reactive({
296 projectQuery: {}, tableType: 1, 296 projectQuery: {}, tableType: 1,
297 currProjectId: '', 297 currProjectId: '',
298 openTour: false, 298 openTour: false,
299 isNational: false, 299 isNational: false, // 是否为国际赛
300 languageSource: '', singlePersonEntryLimit: '', doublePersonEntryLimit: '' 300 languageSource: '', singlePersonEntryLimit: '', doublePersonEntryLimit: ''
301 }) 301 })
302 const { 302 const {
...@@ -349,15 +349,16 @@ function getAthletesList() { ...@@ -349,15 +349,16 @@ function getAthletesList() {
349 match.getGroupPersonList({ label: '0' }, groupId.value).then(res => { 349 match.getGroupPersonList({ label: '0' }, groupId.value).then(res => {
350 athletesList.value = res.rows 350 athletesList.value = res.rows
351 351
352 if (!isNational.value) { 352 for (const ath of athletesList.value) {
353 for (const ath of athletesList.value) { 353 if (!isNational.value) {
354 if (isNational.value && !ath.phone) { 354 ath.disabled = false
355 ath.disabled = true 355 ath.ocrFlag = 1
356 } else {
357 ath.disabled = false
358 }
359 } 356 }
360 console.log(athletesList.value) 357 // if (isNational.value && !ath.phone) {
358 // ath.disabled = true
359 // } else {
360 // ath.disabled = false
361 // }
361 } 362 }
362 }) 363 })
363 } 364 }
...@@ -525,18 +526,19 @@ function chooseSportman() { ...@@ -525,18 +526,19 @@ function chooseSportman() {
525 } 526 }
526 527
527 function handelOption(id) { 528 function handelOption(id) {
528 const flag = choosedchoosed.value.some(v => v == id) 529 if (isNational.value) {
529 if (flag) { 530 const flag = choosedchoosed.value.some(v => v == id)
530 const ocr = athletesList.value.find(v => v.id === id) || {} 531 if (flag) {
531 if (ocr.disabled || ocr.ocrFlag == 0) { 532 const ocr = athletesList.value.find(v => v.id === id) || {}
532 choosedchoosed.value = choosedchoosed.value.filter(v => v != id) 533 if (ocr.disabled || ocr.ocrFlag == 0) {
533 return proxy.$modal.confirm( 534 choosedchoosed.value = choosedchoosed.value.filter(v => v != id)
534 language.value == 0 535 return proxy.$modal.confirm(
535 ? '请到选手管理完善信息' 536 language.value == 0
536 : 'You can complete athletes details through [Athlete Manage') 537 ? '请到选手管理完善信息'
538 : 'You can complete athletes details through [Athlete Manage')
539 }
537 } 540 }
538 } 541 }
539
540 getProjectList() 542 getProjectList()
541 } 543 }
542 544
......
1 <template> 1 <template>
2 <el-dialog 2 <el-dialog
3 v-model="show" :title="title" width="800px" append-to-body close-icon="CircleClose" center 3 v-model="show" :close-on-click-modal="false" :title="title" append-to-body center
4 :close-on-click-modal="false" class="pcloginpop" 4 class="pcloginpop"
5 destroy-on-close 5 close-icon="CircleClose" destroy-on-close
6 width="800px"
6 > 7 >
7 <!-- 随性人员--> 8
8 <div class="pd10"></div> 9 <!-- 随性人员-->
9 <el-form ref="dialogRef" :model="form" :rules="language==0?rules:rules_cn" label-width="160px" inline> 10 <div class="pd10" />
11 <el-form ref="dialogRef" :model="form" :rules="language==0?rules:rules_cn" inline label-width="160px">
10 <el-row :gutter="30"> 12 <el-row :gutter="30">
11 <el-col :lg="24"> 13 <el-col :lg="24">
12 14
13 <el-form-item :label="language==0?'姓氏':'surname'" prop="xing" required> 15 <el-form-item :label="language==0?'姓氏':'surname'" prop="xing" required>
14 <el-input v-model="form.xing"/> 16 <el-input v-model="form.xing" />
15 </el-form-item> 17 </el-form-item>
16 <el-form-item :label="language==0?'名':'name'" prop="ming" required> 18 <el-form-item :label="language==0?'名':'name'" prop="ming" required>
17 <el-input v-model="form.ming"/> 19 <el-input v-model="form.ming" />
18 </el-form-item> 20 </el-form-item>
19 <!-- <el-form-item :label="language==0?'证件类型':'ID type'" prop="idcType" required>--> 21 <!-- <el-form-item :label="language==0?'证件类型':'ID type'" prop="idcType" required>-->
20 <!-- <el-select v-model="form.idcType" style="width: 100%;">--> 22 <!-- <el-select v-model="form.idcType" style="width: 100%;">-->
...@@ -27,16 +29,16 @@ ...@@ -27,16 +29,16 @@
27 <!-- </el-select>--> 29 <!-- </el-select>-->
28 <!-- </el-form-item>--> 30 <!-- </el-form-item>-->
29 <el-form-item :label="language==0?'护照号':'PassPort Number'" prop="idcCode" required> 31 <el-form-item :label="language==0?'护照号':'PassPort Number'" prop="idcCode" required>
30 <el-input v-model="form.idcCode"/> 32 <el-input v-model="form.idcCode" />
31 </el-form-item> 33 </el-form-item>
32 <el-form-item :label="language==0?'护照文件':'Passport File'" required> 34 <el-form-item :label="language==0?'护照文件':'Passport File'" required>
33 <file-upload v-model="form.passportUrl" :limit="1" :is-show-tip="false" :button-text="'Upload'"/> 35 <file-upload v-model="form.passportUrl" :button-text="'Upload'" :is-show-tip="false" :limit="1" />
34 </el-form-item> 36 </el-form-item>
35 <el-form-item :label="language==0?'出生日期':'Date of Birth'" prop="birth" required> 37 <el-form-item :label="language==0?'出生日期':'Date of Birth'" prop="birth" required>
36 <el-date-picker 38 <el-date-picker
37 v-model="form.birth" 39 v-model="form.birth"
38 style="width: 100%;" 40 format="YYYY-MM-DD"
39 type="date" format="YYYY-MM-DD" value-format="YYYY-MM-DD" 41 style="width: 100%;" type="date" value-format="YYYY-MM-DD"
40 /> 42 />
41 </el-form-item> 43 </el-form-item>
42 <el-form-item :label="language==0?'性别':'sex'" prop="sex"> 44 <el-form-item :label="language==0?'性别':'sex'" prop="sex">
...@@ -45,22 +47,22 @@ ...@@ -45,22 +47,22 @@
45 <el-radio value="1">{{ language == 0 ? '男' : 'male' }}</el-radio> 47 <el-radio value="1">{{ language == 0 ? '男' : 'male' }}</el-radio>
46 </el-radio-group> 48 </el-radio-group>
47 </el-form-item> 49 </el-form-item>
48 50
49 <el-form-item :label="language==0?'主要会员角色':'roles'" prop="labelArr"> 51 <el-form-item :label="language==0?'主要会员角色':'roles'" prop="labelArr">
50 <el-select v-model="form.labelArr" multiple> 52 <el-select v-model="form.labelArr" multiple>
51 <el-option v-for="l in labels" :key="l.value" :value="l.value" :label="language==0?l.label:l.enlabel"/> 53 <el-option v-for="l in labels" :key="l.value" :label="language==0?l.label:l.enlabel" :value="l.value" />
52 </el-select> 54 </el-select>
53 </el-form-item> 55 </el-form-item>
54 56
55 57
56 </el-col> 58 </el-col>
57 </el-row> 59 </el-row>
58 </el-form> 60 </el-form>
59 <template #footer> 61 <template #footer>
60 <div class="dialog-footer text-center"> 62 <div class="dialog-footer text-center">
61 <el-button type="primary" class="btn-lineG w200px" round @click="submitForm">{{ 63 <el-button class="btn-lineG w200px" round type="primary" @click="submitForm">{{
62 language == 0 ? '确定' : 'Save' 64 language == 0 ? '确定' : 'Save'
63 }} 65 }}
64 </el-button> 66 </el-button>
65 </div> 67 </div>
66 </template> 68 </template>
...@@ -68,16 +70,16 @@ ...@@ -68,16 +70,16 @@
68 </template> 70 </template>
69 71
70 <script setup> 72 <script setup>
71 import {reactive, ref, toRefs, watch} from 'vue' 73 import { reactive, ref, toRefs, watch } from 'vue'
72 import {getCurrentInstance, nextTick, onMounted} from '@vue/runtime-core' 74 import { getCurrentInstance, nextTick, onMounted } from '@vue/runtime-core'
73 import * as match from '@/apiPc/match' 75 import * as match from '@/apiPc/match'
74 import {ElMessage} from 'element-plus' 76 import { ElMessage } from 'element-plus'
75 import {nationList} from '@/assets/js/data' 77 import { nationList } from '@/assets/js/data'
76 import _ from 'lodash' 78 import _ from 'lodash'
77 import cache from "@/plugins/cache"; 79 import cache from '@/plugins/cache'
78 import {useStorage} from "@vueuse/core/index"; 80 import { useStorage } from '@vueuse/core/index'
79 81
80 const language= useStorage('language',0) 82 const language = useStorage('language', 0)
81 const certificates = ref([ 83 const certificates = ref([
82 { 84 {
83 value: '0', 85 value: '0',
...@@ -92,42 +94,42 @@ const certificates = ref([ ...@@ -92,42 +94,42 @@ const certificates = ref([
92 label: language.value == 0 ? '其他' : 'Other' 94 label: language.value == 0 ? '其他' : 'Other'
93 } 95 }
94 ]) 96 ])
95 const {proxy} = getCurrentInstance() 97 const { proxy } = getCurrentInstance()
96 const emit = defineEmits(['submitForm']) 98 const emit = defineEmits(['submitForm'])
97 const data = reactive({ 99 const data = reactive({
98 form: { 100 form: {
99 idcType: '1', 101 idcType: '1',
100 sex:'0' 102 sex: '0'
101 }, 103 },
102 rules: { 104 rules: {
103 xing: [{required: true, message: '必填', trigger: 'blur'}], 105 xing: [{ required: true, message: '必填', trigger: 'blur' }],
104 ming: [{required: true, message: '必填', trigger: 'blur'}], 106 ming: [{ required: true, message: '必填', trigger: 'blur' }],
105 idcCode: [{required: true, message: '必填', trigger: 'blur'}], 107 idcCode: [{ required: true, message: '必填', trigger: 'blur' }],
106 birth: [{required: true, message: '必填', trigger: 'change'}], 108 birth: [{ required: true, message: '必填', trigger: 'change' }],
107 sex: [{required: true, message: '必填', trigger: 'change'}], 109 sex: [{ required: true, message: '必填', trigger: 'change' }],
108 labelArr: [{required: true, message: '必填', trigger: 'blur'}] 110 labelArr: [{ required: true, message: '必填', trigger: 'blur' }]
109 }, 111 },
110 rules_cn: { 112 rules_cn: {
111 xing: [{required: true, message: 'required', trigger: 'blur'}], 113 xing: [{ required: true, message: 'required', trigger: 'blur' }],
112 ming: [{required: true, message: 'required', trigger: 'blur'}], 114 ming: [{ required: true, message: 'required', trigger: 'blur' }],
113 idcCode: [{required: true, message: 'required', trigger: 'blur'}], 115 idcCode: [{ required: true, message: 'required', trigger: 'blur' }],
114 birth: [{required: true, message: 'required', trigger: 'change'}], 116 birth: [{ required: true, message: 'required', trigger: 'change' }],
115 address: [{required: true, message: 'required', trigger: 'blur'}], 117 address: [{ required: true, message: 'required', trigger: 'blur' }],
116 sex: [{required: true, message: 'required', trigger: 'change'}], 118 sex: [{ required: true, message: 'required', trigger: 'change' }],
117 labelArr: [{required: true, message: 'required', trigger: 'blur'}] 119 labelArr: [{ required: true, message: 'required', trigger: 'blur' }]
118 }, 120 },
119 show: false, 121 show: false,
120 labels: [ 122 labels: [
121 // {value: '0', label: '运动员', enlabel: 'Athletes'}, 123 // {value: '0', label: '运动员', enlabel: 'Athletes'},
122 {value: '1', label: '教练', enlabel: 'Coach'}, 124 { value: '1', label: '教练', enlabel: 'Coach' },
123 {value: '2', label: '领队', enlabel: 'Head of team'}, 125 { value: '2', label: '领队', enlabel: 'Head of team' },
124 {value: '4', label: '队医', enlabel: 'Team doctor'}, 126 { value: '4', label: '队医', enlabel: 'Team doctor' },
125 {value: '5', label: '翻译', enlabel: 'Interpreter'}, 127 { value: '5', label: '翻译', enlabel: 'Interpreter' },
126 {value: '6', label: '官员', enlabel: 'Official'}, 128 { value: '6', label: '官员', enlabel: 'Official' },
127 {value: '3', label: '其他', enlabel: 'Other'} 129 { value: '3', label: '其他', enlabel: 'Other' }
128 ], 130 ],
129 title: 'Add accompanying personnel', 131 title: 'Add accompanying personnel',
130 cptId:'' 132 cptId: ''
131 }) 133 })
132 const { 134 const {
133 form, 135 form,
...@@ -157,7 +159,7 @@ const open = (params) => { ...@@ -157,7 +159,7 @@ const open = (params) => {
157 }) 159 })
158 } 160 }
159 } 161 }
160 defineExpose({open}) 162 defineExpose({ open })
161 watch(show, (value) => { 163 watch(show, (value) => {
162 if (!value) { 164 if (!value) {
163 form.value = {} 165 form.value = {}
...@@ -172,7 +174,7 @@ function submitForm() { ...@@ -172,7 +174,7 @@ function submitForm() {
172 ElMessage.warning('Please upload your passport file') 174 ElMessage.warning('Please upload your passport file')
173 return 175 return
174 } 176 }
175 if(Array.isArray(form.value.passportUrl)){ 177 if (Array.isArray(form.value.passportUrl)) {
176 form.value.passportUrl = form.value.passportUrl[0].url 178 form.value.passportUrl = form.value.passportUrl[0].url
177 } 179 }
178 proxy.$refs['dialogRef'].validate((valid) => { 180 proxy.$refs['dialogRef'].validate((valid) => {
...@@ -205,12 +207,12 @@ function cancel() { ...@@ -205,12 +207,12 @@ function cancel() {
205 <style lang="scss"> 207 <style lang="scss">
206 .threeFour { 208 .threeFour {
207 width: 100%; 209 width: 100%;
208 210
209 .el-upload--picture-card { 211 .el-upload--picture-card {
210 width: 120px; 212 width: 120px;
211 height: 160px; 213 height: 160px;
212 } 214 }
213 215
214 .el-upload-list--picture-card .el-upload-list__item { 216 .el-upload-list--picture-card .el-upload-list__item {
215 width: 120px; 217 width: 120px;
216 height: 160px; 218 height: 160px;
...@@ -221,7 +223,7 @@ function cancel() { ...@@ -221,7 +223,7 @@ function cancel() {
221 font-size: 13px; 223 font-size: 13px;
222 color: #999; 224 color: #999;
223 margin: 10px 0; 225 margin: 10px 0;
224 226
225 i { 227 i {
226 color: red; 228 color: red;
227 margin: 0 4px 0 0; 229 margin: 0 4px 0 0;
...@@ -233,7 +235,7 @@ function cancel() { ...@@ -233,7 +235,7 @@ function cancel() {
233 width: 320px; 235 width: 320px;
234 height: 200px; 236 height: 200px;
235 } 237 }
236 238
237 .el-upload-list--picture-card .el-upload-list__item { 239 .el-upload-list--picture-card .el-upload-list__item {
238 width: 320px; 240 width: 320px;
239 height: 200px; 241 height: 200px;
...@@ -252,7 +254,7 @@ function cancel() { ...@@ -252,7 +254,7 @@ function cancel() {
252 width: 140px; 254 width: 140px;
253 height: 200px; 255 height: 200px;
254 } 256 }
255 257
256 } 258 }
257 259
258 .el-form--inline .el-form-item { 260 .el-form--inline .el-form-item {
...@@ -265,7 +267,7 @@ function cancel() { ...@@ -265,7 +267,7 @@ function cancel() {
265 background: linear-gradient(#ed2c22, #fe6d45); 267 background: linear-gradient(#ed2c22, #fe6d45);
266 margin-right: 0; 268 margin-right: 0;
267 height: 52px; 269 height: 52px;
268 270
269 span { 271 span {
270 color: #fff; 272 color: #fff;
271 } 273 }
......
...@@ -420,6 +420,7 @@ function submitForm() { ...@@ -420,6 +420,7 @@ function submitForm() {
420 } 420 }
421 421
422 function saveGroupMember() { 422 function saveGroupMember() {
423 form.value.personId = null
423 match.savePersonForMyGroup(form.value).then(res => { 424 match.savePersonForMyGroup(form.value).then(res => {
424 ElMessage.success(language.value == 0 ? '保存成功' : 'Save successful') 425 ElMessage.success(language.value == 0 ? '保存成功' : 'Save successful')
425 show.value = false 426 show.value = false
......
...@@ -493,6 +493,7 @@ function submitForm() { ...@@ -493,6 +493,7 @@ function submitForm() {
493 // 团队 493 // 团队
494 form.value.groupId = groupId.value 494 form.value.groupId = groupId.value
495 form.value.ocrFlag = '1' 495 form.value.ocrFlag = '1'
496 form.value.personId = null
496 match.savePersonForMyGroup(form.value).then(res => { 497 match.savePersonForMyGroup(form.value).then(res => {
497 ElMessage.success(language.value == 0 ? '保存成功' : 'Save successful') 498 ElMessage.success(language.value == 0 ? '保存成功' : 'Save successful')
498 show.value = false 499 show.value = false
......
...@@ -375,6 +375,7 @@ function submitForm() { ...@@ -375,6 +375,7 @@ function submitForm() {
375 if (groupId.value != 0) { 375 if (groupId.value != 0) {
376 // 团队 376 // 团队
377 form.value.groupId = groupId.value 377 form.value.groupId = groupId.value
378 form.value.personId = null
378 match.savePersonForMyGroup(form.value).then(res => { 379 match.savePersonForMyGroup(form.value).then(res => {
379 ElMessage.success(language.value == 0 ? '保存成功' : 'Save successful') 380 ElMessage.success(language.value == 0 ? '保存成功' : 'Save successful')
380 show.value = false 381 show.value = false
......
...@@ -346,6 +346,7 @@ function addPersonal() { ...@@ -346,6 +346,7 @@ function addPersonal() {
346 346
347 function addGroupMember() { 347 function addGroupMember() {
348 form.value.groupId = groupId 348 form.value.groupId = groupId
349 form.value.personId = null
349 match.savePersonForMyGroup(form.value).then(res => { 350 match.savePersonForMyGroup(form.value).then(res => {
350 ElMessage.success(language.value == 0 ? '保存成功' : 'Save successful') 351 ElMessage.success(language.value == 0 ? '保存成功' : 'Save successful')
351 show.value = false 352 show.value = false
......
...@@ -97,7 +97,7 @@ ...@@ -97,7 +97,7 @@
97 <el-table-column :label="language==0?'操作':'Actions'" align="center" fixed="right" width="180"> 97 <el-table-column :label="language==0?'操作':'Actions'" align="center" fixed="right" width="180">
98 <template #default="scope"> 98 <template #default="scope">
99 <el-button 99 <el-button
100 v-if="(!isNational&&(!scope.row.phone))||scope.row.ocrFlag=='0'" link type="danger" 100 v-if="isNational&&scope.row.ocrFlag=='0'" link type="danger"
101 @click="editPerson(scope.row)" 101 @click="editPerson(scope.row)"
102 > 102 >
103 {{ language == 0 ? '完善信息' : 'Complete' }} 103 {{ language == 0 ? '完善信息' : 'Complete' }}
...@@ -159,7 +159,7 @@ const data = reactive({ ...@@ -159,7 +159,7 @@ const data = reactive({
159 title: '选择运动员', 159 title: '选择运动员',
160 noPhotoCanSign: 0, 160 noPhotoCanSign: 0,
161 total: 0, 161 total: 0,
162 isNational: false 162 isNational: false// 是否国际赛
163 }) 163 })
164 const { query, tableData, show, title, loading, noPhotoCanSign, total, isNational } = toRefs(data) 164 const { query, tableData, show, title, loading, noPhotoCanSign, total, isNational } = toRefs(data)
165 const certificates = ref([ 165 const certificates = ref([
......
...@@ -162,7 +162,7 @@ const ocrSuccess = (res) => { ...@@ -162,7 +162,7 @@ const ocrSuccess = (res) => {
162 162
163 if (res.data.msg) { 163 if (res.data.msg) {
164 return proxy.$modal.msgWarning(res.data.msg 164 return proxy.$modal.msgWarning(res.data.msg
165 ) 165 )
166 } 166 }
167 } 167 }
168 168
......
...@@ -889,8 +889,8 @@ async function handelGeRenNext() { ...@@ -889,8 +889,8 @@ async function handelGeRenNext() {
889 if (res.data == 2) { 889 if (res.data == 2) {
890 await proxy.$modal.confirm( 890 await proxy.$modal.confirm(
891 language.value == 0 891 language.value == 0
892 ? '运动员的WDSF会员号已变更,是否更新?' 892 ? '动员的wdsf信息已发生变更,是否更新?'
893 : 'The athlete`s WDSF membership number has been changed. Should it be updated?' 893 : 'The athlete`s WDSF details have changed. Update now?'
894 ) 894 )
895 // 删除 895 // 删除
896 await match.preCheckForPerson({ type: '2' }) 896 await match.preCheckForPerson({ type: '2' })
...@@ -933,8 +933,8 @@ async function handelPreCheckForGroup(fn) { ...@@ -933,8 +933,8 @@ async function handelPreCheckForGroup(fn) {
933 if (res.data == 2) { 933 if (res.data == 2) {
934 await proxy.$modal.confirm( 934 await proxy.$modal.confirm(
935 language.value == 0 935 language.value == 0
936 ? '运动员的WDSF会员号已变更,是否更新?' 936 ? '动员的wdsf信息已发生变更,是否更新?'
937 : 'The athlete`s WDSF membership number has been changed. Should it be updated?') 937 : 'The athlete`s WDSF details have changed. Update now?')
938 await match.preCheckForGroup(groupId.value, '2') 938 await match.preCheckForGroup(groupId.value, '2')
939 // const flag = await getCheckOcr({ type: '2', groupId: groupId.value }) 939 // const flag = await getCheckOcr({ type: '2', groupId: groupId.value })
940 // if (flag) await fn() 940 // if (flag) await fn()
......
...@@ -79,7 +79,9 @@ ...@@ -79,7 +79,9 @@
79 @response="ocrSuccess" 79 @response="ocrSuccess"
80 /> 80 />
81 <div class="tip"> 81 <div class="tip">
82 <span v-if="language==0">请上传有效身份证件扫描件,用于核实身份信息、申请签证邀请函及购买保险等</span> 82 <span
83 v-if="language==0"
84 >请上传有效身份证件扫描件,用于核实身份信息、申请签证邀请函及购买保险等</span>
83 <span v-else>Please upload a scanned copy of your valid passport for verification of identity information, 85 <span v-else>Please upload a scanned copy of your valid passport for verification of identity information,
84 application of visa invitation letter and purchasing insurance etc.</span> 86 application of visa invitation letter and purchasing insurance etc.</span>
85 </div> 87 </div>
......
...@@ -64,23 +64,26 @@ export default defineConfig(({ mode, command }) => { ...@@ -64,23 +64,26 @@ 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 },
72 '/dev-api/ztx-match': { 72 '/dev-api/ztx-match': {
73 target: 'http://192.168.1.118:8081', 73 // target: 'http://192.168.1.118:8081',
74 target: 'https://jijin.wtwuxicenter.com/stage-api',
74 // target: 'https://wdsfwuxicenter.com/stage-api/', 75 // target: 'https://wdsfwuxicenter.com/stage-api/',
75 changeOrigin: true, 76 changeOrigin: true,
76 rewrite: (p) => p.replace(/^\/dev-api\/ztx-match/, '') 77 rewrite: (p) => p.replace(/^\/dev-api\/ztx-match/, '')
77 }, 78 },
78 '/dev-api/ztx-webSite': { 79 '/dev-api/ztx-webSite': {
79 target: 'http://192.168.1.118:8081', 80 // target: 'http://192.168.1.118:8081',
81 target: 'https://jijin.wtwuxicenter.com/stage-api',
80 changeOrigin: true, 82 changeOrigin: true,
81 rewrite: (p) => p.replace(/^\/dev-api\/ztx-webSite/, '') 83 rewrite: (p) => p.replace(/^\/dev-api\/ztx-webSite/, '')
82 }, 84 },
83 '/dev-api': { 85 '/dev-api': {
86 // target: 'http://192.168.1.118:8081/',
84 // target: 'http://192.168.1.118:8081', 87 // target: 'http://192.168.1.118:8081',
85 target: 'https://jijin.wtwuxicenter.com/stage-api', 88 target: 'https://jijin.wtwuxicenter.com/stage-api',
86 // target: 'https://wdsfwuxicenter.com/stage-api/', 89 // target: 'https://wdsfwuxicenter.com/stage-api/',
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!