88074c19 by zhangmeng

前台保险

1 parent f0cdcd30
...@@ -506,7 +506,8 @@ export function commitSign(data) { ...@@ -506,7 +506,8 @@ export function commitSign(data) {
506 export function getTotalFee(data) { 506 export function getTotalFee(data) {
507 return request({ 507 return request({
508 url: `/league/expenseConfig/getTotalFee/${data.cptId}/${data.entryId}`, 508 url: `/league/expenseConfig/getTotalFee/${data.cptId}/${data.entryId}`,
509 method: 'get' 509 method: 'get',
510 params: data
510 }) 511 })
511 } 512 }
512 513
......
...@@ -3,32 +3,36 @@ ...@@ -3,32 +3,36 @@
3 <!-- 个人报名-国外--> 3 <!-- 个人报名-国外-->
4 <div class="box ph-30"> 4 <div class="box ph-30">
5 <el-card class="mb20"> 5 <el-card class="mb20">
6 <single-sign-step :activeStep="1" :language="language"/> 6 <single-sign-step :active-step="1" :language="language" />
7 </el-card> 7 </el-card>
8 8
9 <el-card :body-style="{'padding': '0'}"> 9 <el-card :body-style="{'padding': '0'}">
10 <match-info-row :match-id="matchId"/> 10 <match-info-row :match-id="matchId" />
11 <div class="pd20"> 11 <div class="pd20">
12 <el-row :gutter="20"> 12 <el-row :gutter="20">
13 <el-col :lg="6"> 13 <el-col :lg="6">
14 <div class="panel border"> 14 <div class="panel border">
15 <div class="panel-header "> 15 <div class="panel-header ">
16 <h3 class="panel-title" v-if="language==0">完善我的信息</h3> 16 <h3 v-if="language==0" class="panel-title">完善我的信息</h3>
17 <h3 class="panel-title" v-else>My Information</h3> 17 <h3 v-else class="panel-title">My Information</h3>
18 </div> 18 </div>
19 <div class="panel-body"> 19 <div class="panel-body">
20 <div class="chooseForm" style="display: flex;flex-wrap: wrap;"> 20 <div class="chooseForm" style="display: flex;flex-wrap: wrap;">
21 <div style="width:50%;text-align: center;" v-for="s in choosedList"> 21 <div v-for="s in choosedList" :key="s" style="width:50%;text-align: center;">
22 <div> 22 <div>
23 <el-avatar fit="cover" v-if="s.picUrl" :size="60" :src="fillImgUrl(s.picUrl)"/> 23 <el-avatar v-if="s.picUrl" :size="60" :src="fillImgUrl(s.picUrl)" fit="cover" />
24 <el-avatar fit="cover" v-else-if="s.sex == 0" :size="60" 24 <el-avatar
25 src="/img/head1.png"/> 25 v-else-if="s.sex == 0" :size="60" fit="cover"
26 <el-avatar fit="cover" v-else-if="s.sex == 1" :size="60" 26 src="/img/head1.png"
27 src="/img/head0.png"/> 27 />
28 <el-avatar
29 v-else-if="s.sex == 1" :size="60" fit="cover"
30 src="/img/head0.png"
31 />
28 <div class="text-center mt10" @click="editMate(s)"> 32 <div class="text-center mt10" @click="editMate(s)">
29 <span class="mName">{{ s.realName }}</span> 33 <span class="mName">{{ s.realName }}</span>
30 <el-icon size="20"> 34 <el-icon size="20">
31 <Edit/> 35 <Edit />
32 </el-icon> 36 </el-icon>
33 </div> 37 </div>
34 </div> 38 </div>
...@@ -36,10 +40,14 @@ ...@@ -36,10 +40,14 @@
36 40
37 </div> 41 </div>
38 <div class="text-center mt20"> 42 <div class="text-center mt20">
39 <el-button type="primary" class="w100" round @click="switchPerson">{{language==0?'切换':'Switch'}}</el-button> 43 <el-button class="w100" round type="primary" @click="switchPerson">
44 {{ language == 0 ? '切换' : 'Switch' }}
45 </el-button>
40 </div> 46 </div>
41 <div class="tip"> 47 <div class="tip">
42 <span v-if="language==0">*如果您参加个人项目,或给其他组合/选手进行报名,请点击切换按钮重新选择人员</span> 48 <span
49 v-if="language==0"
50 >*如果您参加个人项目,或给其他组合/选手进行报名,请点击切换按钮重新选择人员</span>
43 <span v-else>*If you would like to register individual competitions for yourself or other couples/athletes, please click "Switch" button to re-select persons concerned.</span> 51 <span v-else>*If you would like to register individual competitions for yourself or other couples/athletes, please click "Switch" button to re-select persons concerned.</span>
44 </div> 52 </div>
45 </div> 53 </div>
...@@ -49,29 +57,41 @@ ...@@ -49,29 +57,41 @@
49 <el-col :lg="18"> 57 <el-col :lg="18">
50 <div class="panel border"> 58 <div class="panel border">
51 <div class="panel-header "> 59 <div class="panel-header ">
52 <h3 class="panel-title" v-if="language==0">可参与报名的项目 <span v-if="signInfoList.length>0">已报项目在下方查看</span></h3> 60 <h3 v-if="language==0" class="panel-title">可参与报名的项目 <span v-if="signInfoList.length>0">已报项目在下方查看</span>
53 <h3 class="panel-title" v-else>Search Events</h3> 61 </h3>
62 <h3 v-else class="panel-title">Search Events</h3>
54 <div class="fr"> 63 <div class="fr">
55 <el-input size="small" v-model="projectQuery.name" :prefix-icon="Search" @change="getProjectList" 64 <el-input
56 clearable/> 65 v-model="projectQuery.name" :prefix-icon="Search" clearable size="small"
66 @change="getProjectList"
67 />
68 </div>
57 </div> 69 </div>
70 <div v-if="cantBao.flag" class="pl-15 text-danger fontsize14">
71 *{{
72 language == 0 ? `请上传 ${cantBao.name} 的有效证件` : `Please upload the Valid Passport of ${cantBao.name}`
73 }}
58 </div> 74 </div>
59 <div class="pl-15 text-danger fontsize14" v-if="cantBao.flag">*{{language==0?`请上传 ${ cantBao.name } 的有效证件`:`Please upload the Valid Passport of ${cantBao.name}`}}</div>
60 <div v-loading="loadingProject" style="height: 55vh;overflow: auto;"> 75 <div v-loading="loadingProject" style="height: 55vh;overflow: auto;">
61 <el-checkbox-group v-model="projectIds"> 76 <el-checkbox-group v-model="projectIds">
62 <el-checkbox class="flexBetweenBox" v-for="c in projectList" :label="c.id" :key="c.id" 77 <el-checkbox
63 :disabled="cantBao.flag"> 78 v-for="c in projectList" :key="c.id" :disabled="cantBao.flag" :label="c.id"
79 class="flexBetweenBox"
80 >
64 <div class="flexBetween w100"> 81 <div class="flexBetween w100">
65 <div class="l"> 82 <div class="l">
66 {{ c.code }}:{{ c.name }} {{c.danceType}} 83 {{ c.code }}:{{ c.name }} {{ c.danceType }}
67 <div>{{ c.danceTypeDetailStr }}</div> 84 <div>{{ c.danceTypeDetailStr }}</div>
68 </div> 85 </div>
69 <div class="text-primary">{{ language == 0 ? '¥' : '€' }}{{ c.serviceFee }}</div> 86 <div class="text-primary">{{ language == 0 ? '¥' : '€' }}{{ c.serviceFee }}</div>
70 </div> 87 </div>
71 </el-checkbox> 88 </el-checkbox>
72 </el-checkbox-group> 89 </el-checkbox-group>
73 <el-empty v-if="projectList.length==0" :image="`/img/order_no.png`" :image-size="228" 90 <el-empty
74 :description="language==0?'无可选项目':''"/> 91 v-if="projectList.length==0" :description="language==0?'无可选项目':''"
92 :image="`/img/order_no.png`"
93 :image-size="228"
94 />
75 </div> 95 </div>
76 </div> 96 </div>
77 </el-col> 97 </el-col>
...@@ -80,7 +100,7 @@ ...@@ -80,7 +100,7 @@
80 <el-row class="mt20"> 100 <el-row class="mt20">
81 <el-col :span="24"> 101 <el-col :span="24">
82 <div class="text-center"> 102 <div class="text-center">
83 <el-button type="primary" class="btn-lineG w200px" round @click="signUp"> 103 <el-button class="btn-lineG w200px" round type="primary" @click="signUp">
84 {{ language == 0 ? '确定' : 'Confirm' }} 104 {{ language == 0 ? '确定' : 'Confirm' }}
85 </el-button> 105 </el-button>
86 </div> 106 </div>
...@@ -98,27 +118,29 @@ ...@@ -98,27 +118,29 @@
98 {{ language == 0 ? '按人员查看报项' : 'Check Registrations by Participant' }} 118 {{ language == 0 ? '按人员查看报项' : 'Check Registrations by Participant' }}
99 </div> 119 </div>
100 </div> 120 </div>
101 <sign-info-table v-if="tableType==0" :match-id="matchId" 121 <sign-info-table
102 :extraform="extraform" :language="language" :list="signInfoList" 122 v-if="tableType==0" :extraform="extraform"
103 @editExtra="goPersonInfo"/> 123 :language="language" :list="signInfoList" :match-id="matchId"
104 <zu-table v-else :list="zuTableList" :language="language" @delete="removeThis"/> 124 @editExtra="goPersonInfo"
125 />
126 <zu-table v-else :language="language" :list="zuTableList" @delete="removeThis" />
105 127
106 <div v-if="showPersonList||myMemberTable.length>0"> 128 <div v-if="showPersonList||myMemberTable.length>0">
107 <el-row class="mt20"> 129 <el-row class="mt20">
108 <el-col :span="24"> 130 <el-col :span="24">
109 <el-button @click="addAccompany" type="primary" plain> 131 <el-button plain type="primary" @click="addAccompany">
110 {{ language == 0 ? '添加随行人员' : 'Add accompanying personnel' }} 132 {{ language == 0 ? '添加随行人员' : 'Add accompanying personnel' }}
111 </el-button> 133 </el-button>
112 </el-col> 134 </el-col>
113 </el-row> 135 </el-row>
114 <el-table class="mt20" :data="myMemberTable" border> 136 <el-table :data="myMemberTable" border class="mt20">
115 <el-table-column type="index" :label="language==0?'序号':'Index'" width="70" align="center"/> 137 <el-table-column :label="language==0?'序号':'Index'" align="center" type="index" width="70" />
116 <el-table-column :label="language==0?'姓氏':'Surname'" prop="xing" min-width="100"/> 138 <el-table-column :label="language==0?'姓氏':'Surname'" min-width="100" prop="xing" />
117 <el-table-column :label="language==0?'名':'Name'" prop="ming" min-width="100"/> 139 <el-table-column :label="language==0?'名':'Name'" min-width="100" prop="ming" />
118 <el-table-column :label="language==0?'国家/地区':'Nationality'" prop="countryName" min-width="100"/> 140 <el-table-column :label="language==0?'国家/地区':'Nationality'" min-width="100" prop="countryName" />
119 <!-- <el-table-column :label="language==0?'证件号':'Valid Documents'" prop="idcCode" min-width="120"/>--> 141 <!-- <el-table-column :label="language==0?'证件号':'Valid Documents'" prop="idcCode" min-width="120"/>-->
120 <!-- <el-table-column label="Birthday" prop="birth"/>--> 142 <!-- <el-table-column label="Birthday" prop="birth"/>-->
121 <el-table-column :label="language==0?'性别':'Gender'" prop="sexStr"/> 143 <el-table-column :label="language==0?'性别':'Gender'" prop="sexStr" />
122 <el-table-column :label="language==0?'会员角色':'Role'" min-width="160"> 144 <el-table-column :label="language==0?'会员角色':'Role'" min-width="160">
123 <template #default="scope"> 145 <template #default="scope">
124 <div class="roletd"> 146 <div class="roletd">
...@@ -144,51 +166,71 @@ ...@@ -144,51 +166,71 @@
144 </el-table> 166 </el-table>
145 </div> 167 </div>
146 168
147 <div class="text-center mt20"> 169 <div class="text-center mt20 father">
148 <el-button type="primary" class="btn-lineG w200px" round @click="submitForm()"> 170 <el-button class="btn-lineG w200px" round type="primary" @click="submitForm()">
149 {{ language == 0 ? '预览报名信息' : 'Preview Registration Information' }} 171 {{ language == 0 ? '预览报名信息' : 'Preview Registration Information' }}
150 </el-button> 172 </el-button>
173
174 <span v-if="insuranceFlag!=0" class="checkbox">
175 <el-checkbox
176 v-model="checked"
177 :label="language==0?'我同意授权赛事方帮忙购买保险':'I agree to authorize the event organizer to purchase insurance on my behalf'"
178 false-value="0"
179 size="large" true-value="1"
180 />
181 <br v-if="language == 1">
182 <span
183 @click="handelInsurance"
184 >{{ language == 0 ? '赛事购买协议' : 'Event Insurance Procurement Agreement' }} </span>
185 </span>
151 </div> 186 </div>
152 </div> 187 </div>
153 </el-card> 188 </el-card>
154 </div> 189 </div>
155 190
156 <DialogAllSportsmanListPerson ref="dialogAllSportsmanListPersonalRef" @transfer="getChoosed"/> 191 <DialogAllSportsmanListPerson ref="dialogAllSportsmanListPersonalRef" @transfer="getChoosed" />
157 <dialogEditWdsf ref="dialogEditWdsfRef" @submitForm="changeMeDone"/> 192 <dialogEditWdsf ref="dialogEditWdsfRef" @submitForm="changeMeDone" />
158 <dialogEditAccompany ref="dialogEditAccompanyRef" @submitForm="getMyMemberTable"/> 193 <dialogEditAccompany ref="dialogEditAccompanyRef" @submitForm="getMyMemberTable" />
159 <addCoachEn ref="dialogAddCoachEnRef" @submitForm="getMyMemberTable"/> 194 <addCoachEn ref="dialogAddCoachEnRef" @submitForm="getMyMemberTable" />
160 <dialogExtraForm ref="popExtraForm" @submitForm="getSignInfoList"/> 195 <dialogExtraForm ref="popExtraForm" @submitForm="getSignInfoList" />
196
197 <insuranceView ref="insuranceViewRef" />
161 </div> 198 </div>
162 </template> 199 </template>
163 200
164 <script setup> 201 <script setup>
165 import {ref, reactive, toRefs} from 'vue' 202 import { ref, reactive, toRefs } from 'vue'
166 import * as match from '@/apiPc/match' 203 import * as match from '@/apiPc/match'
167 import {getCurrentInstance, nextTick, onMounted} from '@vue/runtime-core' 204 import { getCurrentInstance, onMounted } from '@vue/runtime-core'
168 import DialogEditWdsf from './components/addWdsf' 205 import DialogEditWdsf from './components/addWdsf'
169 import DialogEditAccompany from './components/addAccompany' 206 import DialogEditAccompany from './components/addAccompany'
170 import AddCoachEn from './components/addCoach_en' 207 import AddCoachEn from './components/addCoach_en'
171 import DialogAllSportsmanListPerson from './components/allSportsmanListForPersonal' 208 import DialogAllSportsmanListPerson from './components/allSportsmanListForPersonal'
172 import DialogExtraForm from './components/extraForm' 209 import DialogExtraForm from './components/extraForm'
173 import {Search, Switch} from "@element-plus/icons-vue"; 210 import { Search } from '@element-plus/icons-vue'
211 import { useRouter, useRoute } from 'vue-router'
212 import insuranceView from './components/insuranceView.vue'
174 213
175 const {proxy} = getCurrentInstance() 214 const { proxy } = getCurrentInstance()
176 const router = useRouter() 215 const router = useRouter()
177 const route = useRoute() 216 const route = useRoute()
178 import _ from 'lodash' 217 import _ from 'lodash'
179 import {ElMessage, ElMessageBox} from 'element-plus' 218 import { ElMessage, ElMessageBox } from 'element-plus'
180 import cache from "@/plugins/cache" 219 // import cache from '@/plugins/cache'
181 import TeamSignStep from "@/viewsPc/match/components/teamSignStep" 220 // import TeamSignStep from '@/viewsPc/match/components/teamSignStep'
182 import CoachInfoRow from "@/viewsPc/match/components/coachInfo-row" 221 // import CoachInfoRow from '@/viewsPc/match/components/coachInfo-row'
183 import SignInfoTable from "@/viewsPc/match/components/signInfo-table" 222 import SignInfoTable from '@/viewsPc/match/components/signInfo-table'
184 import ZuTable from '@/viewsPc/match/components/zu-table' 223 import ZuTable from '@/viewsPc/match/components/zu-table'
185 import SingleSignStep from "@/viewsPc/match/components/singleSignStep"; 224 import SingleSignStep from '@/viewsPc/match/components/singleSignStep'
186 import MatchInfoRow from "@/viewsPc/match/components/matchInfo-row"; 225 import MatchInfoRow from '@/viewsPc/match/components/matchInfo-row'
187 import useUserStore from "@/store/modules/user"; 226 import useUserStore from '@/store/modules/user'
188 import {getPerPersonList} from "@/apiPc/match"; 227 import { getPerPersonList } from '@/apiPc/match'
189 import {useStorage} from "@vueuse/core/index"; 228 import { useStorage } from '@vueuse/core/index'
190 229
191 const language= useStorage('language',0) 230 const language = useStorage('language', 0)
231 const checked = ref('0')
232 const insuranceFlag = ref()
233 const insuranceAgreement = ref()
192 234
193 const data = reactive({ 235 const data = reactive({
194 coachForm: {}, activeStep: 2, 236 coachForm: {}, activeStep: 2,
...@@ -212,29 +254,27 @@ const data = reactive({ ...@@ -212,29 +254,27 @@ const data = reactive({
212 projectIds: [], 254 projectIds: [],
213 projectList: [], 255 projectList: [],
214 athletesList: [], projectQuery: {}, tableType: 1, 256 athletesList: [], projectQuery: {}, tableType: 1,
215 isNational:true, 257 isNational: true,
216 cantBao: { 258 cantBao: {
217 flag: false, 259 flag: false,
218 name:'' 260 name: ''
219 } 261 }
220 }) 262 })
221 const { 263 const {
222 names,
223 tableData, 264 tableData,
224 myMemberTable, 265 myMemberTable,
225 signInfoList, 266 signInfoList,
226 zuTableList, 267 zuTableList,
227 choosedList,isNational, 268 choosedList, isNational,
228 extraform, 269 extraform,
229 groupId, 270 groupId,
230 coachOrLeaderFlag, 271 coachOrLeaderFlag,
231 noPhotoCanSign, 272 noPhotoCanSign,
232 projectIds, 273 projectIds,
233 activeStep,
234 projectList, 274 projectList,
235 loadingProject, 275 loadingProject,
236 projectQuery, 276 projectQuery,
237 tableType,cantBao,athletesList 277 tableType, cantBao, athletesList
238 } = toRefs(data) 278 } = toRefs(data)
239 const matchId = ref(route.query.matchId) 279 const matchId = ref(route.query.matchId)
240 let signInfoType = null 280 let signInfoType = null
...@@ -257,9 +297,9 @@ onMounted(() => { ...@@ -257,9 +297,9 @@ onMounted(() => {
257 function getMyInfo() { 297 function getMyInfo() {
258 match.getMyPersonInfo().then(res => { 298 match.getMyPersonInfo().then(res => {
259 form.value = res.data 299 form.value = res.data
260 if(form.value.danceMate){ 300 if (form.value.danceMate) {
261 choosedList.value = [form.value,form.value.danceMate] 301 choosedList.value = [form.value, form.value.danceMate]
262 if(!form.value.danceMate.passportUrl){ 302 if (!form.value.danceMate.passportUrl) {
263 cantBao.value.flag = true 303 cantBao.value.flag = true
264 cantBao.value.name = form.value.danceMate.realName 304 cantBao.value.name = form.value.danceMate.realName
265 } else { 305 } else {
...@@ -270,16 +310,18 @@ function getMyInfo() { ...@@ -270,16 +310,18 @@ function getMyInfo() {
270 } 310 }
271 getProjectList() 311 getProjectList()
272 }).catch(err => { 312 }).catch(err => {
273 router.push({name: 'home'}) 313 console.log(err)
314 router.push({ name: 'home' })
274 }) 315 })
275 } 316 }
317
276 const getAthletesList = () => { 318 const getAthletesList = () => {
277 getPerPersonList({label:'0',},userId.value).then(res => { 319 getPerPersonList({ label: '0' }, userId.value).then(res => {
278 athletesList.value = res.rows 320 athletesList.value = res.rows
279 if(res.total <= 2){ 321 if (res.total <= 2) {
280 choosedList.value = athletesList.value 322 choosedList.value = athletesList.value
281 for (var a of choosedList.value){ 323 for (var a of choosedList.value) {
282 if(!a.passportUrl){ 324 if (!a.passportUrl) {
283 cantBao.value.flag = true 325 cantBao.value.flag = true
284 cantBao.value.name = a.realName 326 cantBao.value.name = a.realName
285 } else { 327 } else {
...@@ -291,16 +333,17 @@ const getAthletesList = () => { ...@@ -291,16 +333,17 @@ const getAthletesList = () => {
291 } 333 }
292 }) 334 })
293 } 335 }
336
294 function upDateChoosedList() { 337 function upDateChoosedList() {
295 for (var a of athletesList.value){ 338 for (const a of athletesList.value) {
296 for (var b of choosedList.value){ 339 for (let b of choosedList.value) {
297 if(a.id == b.id){ 340 if (a.id == b.id) {
298 b = a 341 b = a
299 } 342 }
300 } 343 }
301 } 344 }
302 for (var a of choosedList.value){ 345 for (const a of choosedList.value) {
303 if(!a.passportUrl){ 346 if (!a.passportUrl) {
304 cantBao.value.flag = true 347 cantBao.value.flag = true
305 cantBao.value.name = a.realName 348 cantBao.value.name = a.realName
306 } else { 349 } else {
...@@ -308,10 +351,11 @@ function upDateChoosedList() { ...@@ -308,10 +351,11 @@ function upDateChoosedList() {
308 } 351 }
309 } 352 }
310 } 353 }
354
311 function getMyMemberTable() { 355 function getMyMemberTable() {
312 match.getPerPersonList({cptId: matchId.value, searchLabels: '1,2,3,4,5,6'}, userId.value).then(res => { 356 match.getPerPersonList({ cptId: matchId.value, searchLabels: '1,2,3,4,5,6' }, userId.value).then(res => {
313 myMemberTable.value = res.rows 357 myMemberTable.value = res.rows
314 if(res.rows.length > 0){ 358 if (res.rows.length > 0) {
315 showPersonList.value = true 359 showPersonList.value = true
316 } 360 }
317 }) 361 })
...@@ -332,14 +376,14 @@ function changeMeDone(mateId) { ...@@ -332,14 +376,14 @@ function changeMeDone(mateId) {
332 getProjectList() 376 getProjectList()
333 } 377 }
334 378
335 let chargeFlag
336 379
337 function getMatch(id) { 380 function getMatch(id) {
338 match.getMatchById({ 381 match.getMatchById({
339 id: id 382 id: id
340 }).then(res => { 383 }).then(res => {
384 insuranceAgreement.value = res.data.insuranceAgreement
385 insuranceFlag.value = res.data.insuranceFlag
341 signEndTime.value = res.data.signEndTime 386 signEndTime.value = res.data.signEndTime
342 chargeFlag = res.data.chargeFlag
343 noPhotoCanSign.value = res.data.noPhotoCanSign 387 noPhotoCanSign.value = res.data.noPhotoCanSign
344 coachOrLeaderFlag.value = res.data.coachOrLeaderFlag 388 coachOrLeaderFlag.value = res.data.coachOrLeaderFlag
345 extraform.value = JSON.parse(res.data.participantsInfo) 389 extraform.value = JSON.parse(res.data.participantsInfo)
...@@ -379,13 +423,13 @@ function submitForm(n) { ...@@ -379,13 +423,13 @@ function submitForm(n) {
379 } 423 }
380 424
381 if (signInfoType == '1') { 425 if (signInfoType == '1') {
382 ElMessageBox.confirm(language.value==0?'已报项,前往我的报项':'Reported items, go to my submission', 426 ElMessageBox.confirm(language.value == 0 ? '已报项,前往我的报项' : 'Reported items, go to my submission',
383 language.value==0?'提示':'Tips', { 427 language.value == 0 ? '提示' : 'Tips', {
384 confirmButtonText: language.value==0?'确定':'OK', 428 confirmButtonText: language.value == 0 ? '确定' : 'OK',
385 cancelButtonText: language.value==0?'取消':'Cancel', 429 cancelButtonText: language.value == 0 ? '取消' : 'Cancel',
386 type: 'warning' 430 type: 'warning'
387 }).then(() => { 431 }).then(() => {
388 router.push({name: 'myMatch'}) 432 router.push({ name: 'myMatch' })
389 }) 433 })
390 return 434 return
391 } 435 }
...@@ -404,6 +448,7 @@ function submitForm(n) { ...@@ -404,6 +448,7 @@ function submitForm(n) {
404 } 448 }
405 } 449 }
406 } 450 }
451
407 if (showPersonList.value) { 452 if (showPersonList.value) {
408 if (myMemberTable.value.length == 0) { 453 if (myMemberTable.value.length == 0) {
409 ElMessageBox.confirm(language.value == 0 ? '是否继续添加随行人员?' : 'Do you want to add casual personnel?', 454 ElMessageBox.confirm(language.value == 0 ? '是否继续添加随行人员?' : 'Do you want to add casual personnel?',
...@@ -434,29 +479,73 @@ function submitForm(n) { ...@@ -434,29 +479,73 @@ function submitForm(n) {
434 } 479 }
435 480
436 function commit() { 481 function commit() {
482 if (insuranceFlag.value == 2 && checked.value == '0') {
483 ElMessageBox.confirm(language.value == 0 ? '你是否同意赛事放帮忙购买保险?' : 'Do you agree to have the event organizer help purchase insurance?',
484 language.value == 0 ? '提示' : 'Tip', {
485 confirmButtonText: language.value == 0 ? '是' : 'Yes',
486 cancelButtonText: language.value == 0 ? '否,进入下一步' : 'NO,Go Next',
487 type: 'warning'
488 }).then(() => {
489 checked.value = '1'
490 router.push({
491 name: 'signPreview',
492 query: {
493 matchId: matchId.value,
494 buy: checked.value
495
496 }
497 })
498 }).catch(() => {
499 router.push({
500 name: 'signPreview',
501 query: {
502 matchId: matchId.value,
503 buy: checked.value
504
505 }
506 })
507 })
508 } else if (insuranceFlag.value == 1 && checked.value != '1') {
509 ElMessageBox.confirm(language.value == 0 ? '请阅读并勾选同意赛事保险购买协议' : 'Please read and tick to agree to the event insurance purchase agreement',
510 language.value == 0 ? '提示' : 'Tip', {
511 showCancelButton: false,
512 confirmButtonText: language.value == 0 ? '是' : 'Yes',
513 // cancelButtonText: language.value == 0 ? '否,进入下一步' : 'NO,Go Next',
514 type: 'warning'
515 }).then(() => {
516
517 }).catch(() => {
518
519 })
520 } else {
437 router.push({ 521 router.push({
438 name: 'signPreview', 522 name: 'signPreview',
439 query: { 523 query: {
440 matchId: matchId.value 524 matchId: matchId.value,
525 buy: checked.value
526
441 } 527 }
442 }) 528 })
529 }
443 } 530 }
531
444 function getChoosed(list) { 532 function getChoosed(list) {
445 console.log(list) 533 console.log(list)
446 choosedList.value = list 534 choosedList.value = list
447 getProjectList() 535 getProjectList()
448 } 536 }
537
449 function getProjectList() { 538 function getProjectList() {
450 if(choosedList.value.length==0){ 539 if (choosedList.value.length == 0) {
451 return 540 return
452 } 541 }
453 let arr = [] 542 const arr = []
454 for(var l of choosedList.value){ 543 for (var l of choosedList.value) {
455 arr.push(l.id) 544 arr.push(l.id)
456 } 545 }
457 projectIds.value = [] 546 projectIds.value = []
458 loadingProject.value = true 547 loadingProject.value = true
459 //根据已选人员id 获取项目列表 548 // 根据已选人员id 获取项目列表
460 var obj = {} 549 var obj = {}
461 obj = { 550 obj = {
462 cptId: matchId.value, 551 cptId: matchId.value,
...@@ -502,7 +591,7 @@ function addCoach() { ...@@ -502,7 +591,7 @@ function addCoach() {
502 } 591 }
503 592
504 function delperson(p) { 593 function delperson(p) {
505 //删除团队下的人 594 // 删除团队下的人
506 let text = '' 595 let text = ''
507 let t = '提示' 596 let t = '提示'
508 let s = '确定' 597 let s = '确定'
...@@ -539,11 +628,11 @@ function signUp() { ...@@ -539,11 +628,11 @@ function signUp() {
539 } 628 }
540 return 629 return
541 } 630 }
542 let arr = [] 631 const arr = []
543 for(var l of choosedList.value){ 632 for (var l of choosedList.value) {
544 arr.push(l.id) 633 arr.push(l.id)
545 } 634 }
546 let obj = { 635 const obj = {
547 projectIds: projectIds.value.toString(), 636 projectIds: projectIds.value.toString(),
548 groupId: 0, 637 groupId: 0,
549 athleteIds: arr.toString() 638 athleteIds: arr.toString()
...@@ -570,8 +659,8 @@ function removeThis(id) { ...@@ -570,8 +659,8 @@ function removeThis(id) {
570 }) 659 })
571 } 660 }
572 661
573 function switchPerson(){ 662 function switchPerson() {
574 console.log( choosedList.value) 663 console.log(choosedList.value)
575 const params = { 664 const params = {
576 title: language.value == 0 ? '选择运动员' : 'Participating athletes', 665 title: language.value == 0 ? '选择运动员' : 'Participating athletes',
577 matchId: matchId.value, 666 matchId: matchId.value,
...@@ -579,7 +668,7 @@ function switchPerson(){ ...@@ -579,7 +668,7 @@ function switchPerson(){
579 coachOrLeaderFlag: coachOrLeaderFlag.value, 668 coachOrLeaderFlag: coachOrLeaderFlag.value,
580 choosedList: choosedList.value, 669 choosedList: choosedList.value,
581 isNational: isNational.value, 670 isNational: isNational.value,
582 mateId:form.value.danceMate?.id || 0, 671 mateId: form.value.danceMate?.id || 0
583 } 672 }
584 proxy.$refs['dialogAllSportsmanListPersonalRef'].open(params) 673 proxy.$refs['dialogAllSportsmanListPersonalRef'].open(params)
585 } 674 }
...@@ -591,7 +680,7 @@ const goPersonInfo = (row) => { ...@@ -591,7 +680,7 @@ const goPersonInfo = (row) => {
591 language.value == 0 ? '提示' : 'Tips', { 680 language.value == 0 ? '提示' : 'Tips', {
592 confirmButtonText: 'OK', 681 confirmButtonText: 'OK',
593 callback: (Action) => { 682 callback: (Action) => {
594 router.push({name: 'myMatch'}) 683 router.push({ name: 'myMatch' })
595 } 684 }
596 }) 685 })
597 return 686 return
...@@ -599,11 +688,11 @@ const goPersonInfo = (row) => { ...@@ -599,11 +688,11 @@ const goPersonInfo = (row) => {
599 // 完善补充信息 688 // 完善补充信息
600 const params = { 689 const params = {
601 matchId: matchId.value, 690 matchId: matchId.value,
602 title: language.value==0?'完善补充信息':'Complete the supplementary information', 691 title: language.value == 0 ? '完善补充信息' : 'Complete the supplementary information',
603 participantsInfoArr: extraform.value, 692 participantsInfoArr: extraform.value,
604 personId: row.personInfo.id, 693 personId: row.personInfo.id,
605 extraId: row.extraPersonInfo?.id || 0, 694 extraId: row.extraPersonInfo?.id || 0,
606 isNational:true 695 isNational: true
607 696
608 } 697 }
609 proxy.$refs['popExtraForm'].open(_.cloneDeep(params)) 698 proxy.$refs['popExtraForm'].open(_.cloneDeep(params))
...@@ -621,7 +710,7 @@ function editMate(obj) { ...@@ -621,7 +710,7 @@ function editMate(obj) {
621 title: language.value == 0 ? '编辑' : 'Edit', 710 title: language.value == 0 ? '编辑' : 'Edit',
622 isMe: false, 711 isMe: false,
623 form: obj || {}, 712 form: obj || {},
624 cptId:matchId.value, 713 cptId: matchId.value,
625 id: obj?.id || 0 714 id: obj?.id || 0
626 }) 715 })
627 } 716 }
...@@ -634,15 +723,20 @@ function switchTabletype() { ...@@ -634,15 +723,20 @@ function switchTabletype() {
634 tableType.value = 0 723 tableType.value = 0
635 } 724 }
636 } 725 }
726
727 function handelInsurance() {
728 proxy.$refs['insuranceViewRef'].open(insuranceAgreement.value)
729 }
637 </script> 730 </script>
638 731
639 <style scoped lang="scss"> 732 <style lang="scss" scoped>
640 :deep(.el-checkbox__label) { 733 :deep(.el-checkbox__label) {
641 flex: 1 1 auto; 734 flex: 1 1 auto;
642 } 735 }
643 736
644 .flexBetweenBox { 737 .flexBetweenBox {
645 width: 100%;margin-right: 0; 738 width: 100%;
739 margin-right: 0;
646 height: auto; 740 height: auto;
647 border-bottom: 1px solid #eee; 741 border-bottom: 1px solid #eee;
648 padding: 0 10px; 742 padding: 0 10px;
...@@ -795,10 +889,38 @@ function switchTabletype() { ...@@ -795,10 +889,38 @@ function switchTabletype() {
795 display: inline-block 889 display: inline-block
796 } 890 }
797 } 891 }
798 .mName{color: #000;font-size: 15px;display: inline-block;max-width: 6.5em;text-overflow: ellipsis;
799 overflow: hidden;}
800 892
801 .panel h3.panel-title{ 893 .mName {
802 span{ color: #999;font-size: 12px;} 894 color: #000;
895 font-size: 15px;
896 display: inline-block;
897 max-width: 6.5em;
898 text-overflow: ellipsis;
899 overflow: hidden;
900 }
901
902 .panel h3.panel-title {
903 span {
904 color: #999;
905 font-size: 12px;
906 }
907 }
908
909 .father {
910 position: relative;
911 height: 50px;
912 }
913
914 .checkbox {
915 position: absolute;
916 right: 5%;
917 text-align: left;
918
919 span {
920 color: #453DEA;
921 position: relative;
922 top: -1px;
923 cursor: pointer
924 }
803 } 925 }
804 </style> 926 </style>
......
...@@ -2,38 +2,48 @@ ...@@ -2,38 +2,48 @@
2 <div> 2 <div>
3 <div class="box ph-30"> 3 <div class="box ph-30">
4 <el-card class="mb20"> 4 <el-card class="mb20">
5 <team-sign-step :activeStep="activeStep" :language="language"/> 5 <team-sign-step :active-step="activeStep" :language="language" />
6 </el-card> 6 </el-card>
7 7
8 <el-card :body-style="{'padding-top': '0'}"> 8 <el-card :body-style="{'padding-top': '0'}">
9 <el-row class="mt20" :gutter="20"> 9 <el-row :gutter="20" class="mt20">
10 <el-col :lg="10"> 10 <el-col :lg="10">
11 <div class="panel border"> 11 <div class="panel border">
12 <div class="panel-header "> 12 <div class="panel-header ">
13 <h3 class="panel-title" v-if="language==0">选择参赛运动员清单</h3> 13 <h3 v-if="language==0" class="panel-title">选择参赛运动员清单</h3>
14 <h3 class="panel-title" v-else>Select list of participating athletes</h3> 14 <h3 v-else class="panel-title">Select list of participating athletes</h3>
15 <!-- <a class="fr" @click="emptyChoosed">{{ language == 0 ? '清空' : 'Empty' }}</a>--> 15 <!-- <a class="fr" @click="emptyChoosed">{{ language == 0 ? '清空' : 'Empty' }}</a>-->
16 <el-button type="primary" plain class="fr" @click="chooseSportman" size="small" style="top:12px"> 16 <el-button
17 class="fr" plain size="small" style="top:12px" type="primary"
18 @click="chooseSportman"
19 >
17 {{ language == 0 ? '选手管理' : 'Athlete Management' }} 20 {{ language == 0 ? '选手管理' : 'Athlete Management' }}
18 </el-button> 21 </el-button>
19 </div> 22 </div>
20 <div class="panel-body" style="padding: 10px"> 23 <div class="panel-body" style="padding: 10px">
21 <div class="tip text-right"> 24 <div class="tip text-right">
22 *{{ language == 0?'可通过[选手管理],增加和编辑运动员':'You can add and edit athletes through [Athlete Management]' }} 25 *{{
26 language == 0 ? '可通过[选手管理],增加和编辑运动员' : 'You can add and edit athletes through [Athlete Management]'
27 }}
23 </div> 28 </div>
24 <div style="margin: 0 4px 10px;display: flex"> 29 <div style="margin: 0 4px 10px;display: flex">
25 <el-select multiple v-model="choosedchoosed" collapse-tags-tooltip filterable 30 <el-select
26 @change="changechoosed"> 31 v-model="choosedchoosed" collapse-tags-tooltip filterable multiple
27 <el-option v-for="c in athletesList" :key="c.id" :label="c.realName" :value="c.id" :disabled="c.disabled"> 32 @change="changechoosed"
33 >
34 <el-option
35 v-for="c in athletesList" :key="c.id" :disabled="c.disabled" :label="c.realName"
36 :value="c.id"
37 >
28 <div class="flexOption" style="width: 100%"> 38 <div class="flexOption" style="width: 100%">
29 {{ c.realName }} 39 {{ c.realName }}
30 <img v-if="c.sex=='0'" src="@/assets/img/female.png"/> 40 <img v-if="c.sex=='0'" src="@/assets/img/female.png">
31 <img v-if="c.sex=='1'" src="@/assets/img/male.png"/> 41 <img v-if="c.sex=='1'" src="@/assets/img/male.png">
32 42
33 {{c.representing}} 43 {{ c.representing }}
34 {{c.ageGroup}} 44 {{ c.ageGroup }}
35 {{c.division}}<span v-if="c.age"> -{{ c.age }}{{language==0 ? '岁' : 'years'}}</span> 45 {{ c.division }}<span v-if="c.age"> -{{ c.age }}{{ language == 0 ? '岁' : 'years' }}</span>
36 <!-- @click="editPerson(c.id)"--> 46 <!-- @click="editPerson(c.id)"-->
37 <span v-if="c.disabled" class="text-danger po-right">需补全信息</span> 47 <span v-if="c.disabled" class="text-danger po-right">需补全信息</span>
38 48
39 </div> 49 </div>
...@@ -50,13 +60,13 @@ ...@@ -50,13 +60,13 @@
50 </div> 60 </div>
51 61
52 62
53 <!-- --> 63 <!-- -->
54 <div class="pd20 text-center" v-if="athletesList.length==0"> 64 <div v-if="athletesList.length==0" class="pd20 text-center">
55 <span>{{ language == 0 ? '暂无参赛选手' : 'No athlete yet,' }} 65 <span>{{ language == 0 ? '暂无参赛选手' : 'No athlete yet,' }}
56 </span> 66 </span>
57 <span class="text-primary" @click="chooseSportman">{{ language == 0 ? '去创建':' Create' }}</span> 67 <span class="text-primary" @click="chooseSportman">{{ language == 0 ? '去创建' : ' Create' }}</span>
58 </div> 68 </div>
59 <div class="pd20 text-center" v-if="choosedchoosed.length==0&&athletesList.length>0"> 69 <div v-if="choosedchoosed.length==0&&athletesList.length>0" class="pd20 text-center">
60 <span class="text-warning"> 70 <span class="text-warning">
61 {{ language == 0 ? '请在上面的下拉框中选择运动员' : 'Please select athletes in the drop-down box' }} 71 {{ language == 0 ? '请在上面的下拉框中选择运动员' : 'Please select athletes in the drop-down box' }}
62 </span> 72 </span>
...@@ -83,34 +93,41 @@ ...@@ -83,34 +93,41 @@
83 <el-col :lg="14"> 93 <el-col :lg="14">
84 <div class="panel border"> 94 <div class="panel border">
85 <div class="panel-header "> 95 <div class="panel-header ">
86 <h3 class="panel-title" v-if="language==0">可参与报名的项目 96 <h3 v-if="language==0" class="panel-title">可参与报名的项目
87 <span class="text-danger" v-if="signInfoList.length>0">已报项目在下方查看</span> 97 <span v-if="signInfoList.length>0" class="text-danger">已报项目在下方查看</span>
88 </h3> 98 </h3>
89 <h3 class="panel-title" v-else>Search Events 99 <h3 v-else class="panel-title">Search Events
90 <span class="text-danger" v-if="signInfoList.length>0">Slide down to view reported projects</span> 100 <span v-if="signInfoList.length>0" class="text-danger">Slide down to view reported projects</span>
91 </h3> 101 </h3>
92 <div class="fr"> 102 <div class="fr">
93 <el-input size="small" v-model="projectQuery.name" :prefix-icon="Search" 103 <el-input
104 v-model="projectQuery.name" :prefix-icon="Search" clearable
105 size="small"
94 @change="getProjectList" 106 @change="getProjectList"
95 clearable/> 107 />
96 </div> 108 </div>
97 </div> 109 </div>
98 <div v-loading="loadingProject" id="projectbox" style="height: 50vh;overflow: auto;"> 110 <div id="projectbox" v-loading="loadingProject" style="height: 50vh;overflow: auto;">
99 <el-checkbox-group v-model="projectIds" @change="changeProject"> 111 <el-checkbox-group v-model="projectIds" @change="changeProject">
100 <el-checkbox class="flexBetweenBox" v-for="c in projectList" :value="c.id" :key="c.id" 112 <el-checkbox
101 v-show="!c.disabled" :disabled="c.disabled"> 113 v-for="c in projectList" v-show="!c.disabled" :key="c.id" :disabled="c.disabled"
114 :value="c.id" class="flexBetweenBox"
115 >
102 <div class="flexBetween w100"> 116 <div class="flexBetween w100">
103 <div class="l"> 117 <div class="l">
104 {{ c.code }}:{{ c.name }}({{c.danceType}}) 118 {{ c.code }}:{{ c.name }}({{ c.danceType }})
105 <div v-if="c.danceType=='Breaking'">--</div> 119 <div v-if="c.danceType=='Breaking'">--</div>
106 <div v-else>{{c.danceTypeDetailStr}}</div> 120 <div v-else>{{ c.danceTypeDetailStr }}</div>
107 </div> 121 </div>
108 <div class="text-primary">{{ language == 0 ? '¥' : '€' }}{{ c.serviceFee }}</div> 122 <div class="text-primary">{{ language == 0 ? '¥' : '€' }}{{ c.serviceFee }}</div>
109 </div> 123 </div>
110 </el-checkbox> 124 </el-checkbox>
111 </el-checkbox-group> 125 </el-checkbox-group>
112 <el-empty v-if="projectList.length==0" :image="`/img/order_no.png`" :image-size="228" 126 <el-empty
113 :description="language==0?'无可选项目':''"/> 127 v-if="projectList.length==0" :description="language==0?'无可选项目':''"
128 :image="`/img/order_no.png`"
129 :image-size="228"
130 />
114 </div> 131 </div>
115 </div> 132 </div>
116 </el-col> 133 </el-col>
...@@ -118,8 +135,11 @@ ...@@ -118,8 +135,11 @@
118 <el-row class="mt20"> 135 <el-row class="mt20">
119 <el-col :span="24"> 136 <el-col :span="24">
120 <div class="text-center"> 137 <div class="text-center">
121 <el-button type="primary" class="btn-lineG w200px" id="signUpBtn" 138 <el-button
122 :disabled="projectIds.length==0||choosedchoosed.length==0" round @click="signUp"> 139 id="signUpBtn" :disabled="projectIds.length==0||choosedchoosed.length==0"
140 class="btn-lineG w200px"
141 round type="primary" @click="signUp"
142 >
123 {{ language == 0 ? '确定' : 'Confirm' }} 143 {{ language == 0 ? '确定' : 'Confirm' }}
124 </el-button> 144 </el-button>
125 </div> 145 </div>
...@@ -129,8 +149,8 @@ ...@@ -129,8 +149,8 @@
129 <!-- <el-button type="success" @click="importSportman">批量导入人员</el-button>--> 149 <!-- <el-button type="success" @click="importSportman">批量导入人员</el-button>-->
130 <!-- <el-button type="success" @click="addCoach">新增运动员</el-button>--> 150 <!-- <el-button type="success" @click="addCoach">新增运动员</el-button>-->
131 151
132 <el-card class="mt20" :body-style="{'padding': '0'}"> 152 <el-card :body-style="{'padding': '0'}" class="mt20">
133 <coach-info-row :match-id="matchId" :group-id="groupId" :language="language"/> 153 <coach-info-row :group-id="groupId" :language="language" :match-id="matchId" />
134 <div class="m20"> 154 <div class="m20">
135 <div class="ttbb"> 155 <div class="ttbb">
136 <div :class="tableType==1 ? 'active' : ''" @click="switchTabletype"> 156 <div :class="tableType==1 ? 'active' : ''" @click="switchTabletype">
...@@ -148,28 +168,43 @@ ...@@ -148,28 +168,43 @@
148 <!-- {{ language == 0 ? '按组别查看报项' : 'Check Registrations by Group' }}--> 168 <!-- {{ language == 0 ? '按组别查看报项' : 'Check Registrations by Group' }}-->
149 <!-- </el-button>--> 169 <!-- </el-button>-->
150 <!-- </div>--> 170 <!-- </div>-->
151 <sign-info-table v-if="tableType==0" :match-id="matchId" 171 <sign-info-table
152 :extraform="extraform" :list="signInfoList" 172 v-if="tableType==0" :extraform="extraform"
153 @editExtra="goPersonInfo" :isNational="isNational"/> 173 :is-national="isNational" :list="signInfoList"
154 <zu-table v-else :list="zuTableList" @delete="removeThis"/> 174 :match-id="matchId" @editExtra="goPersonInfo"
155 <div class="text-center mt20"> 175 />
156 <el-button type="primary" class="w200px" plain round @click="goPrev()"> 176 <zu-table v-else :list="zuTableList" @delete="removeThis" />
177 <div class="text-center mt20 father">
178 <el-button class="w200px" plain round type="primary" @click="goPrev()">
157 {{ language == 0 ? "上一步" : 'Go back' }} 179 {{ language == 0 ? "上一步" : 'Go back' }}
158 </el-button> 180 </el-button>
159 <el-button type="primary" class="btn-lineG w200px" round @click="submitForm()"> 181 <el-button class="btn-lineG w200px" round type="primary" @click="submitForm()">
160 {{ language == 0 ? '预览报名信息' : 'Preview registration information' }} 182 {{ language == 0 ? '预览报名信息' : 'Preview registration information' }}
161 </el-button> 183 </el-button>
184
185 <span v-if="insuranceFlag!=0" class="checkbox">
186 <el-checkbox
187 v-model="checked"
188 :label="language==0?'我同意授权赛事方帮忙购买保险':'I agree to authorize the event organizer to purchase insurance on my behalf'"
189 false-value="0"
190 size="large" true-value="1"
191 />
192 <br v-if="language == 1">
193 <span
194 @click="handelInsurance"
195 >《{{ language == 0 ? '赛事购买协议' : 'Event Insurance Procurement Agreement' }} 》</span>
196 </span>
162 </div> 197 </div>
163 </div> 198 </div>
164 </el-card> 199 </el-card>
165 </div> 200 </div>
166 201
167 <dialogAddCoach ref="dialogAddCoachRef"/> 202 <dialogAddCoach ref="dialogAddCoachRef" />
168 <!-- <dialogAllSportsmanList ref="dialogAllSportsmanListRef" @transfer="getChoosed" @submitForm="getSignInfoList"/>--> 203 <!-- <dialogAllSportsmanList ref="dialogAllSportsmanListRef" @transfer="getChoosed" @submitForm="getSignInfoList"/>-->
169 <dialogAllSportsmanList ref="dialogAllSportsmanListRef" @submitForm="getAthletesList"/> 204 <dialogAllSportsmanList ref="dialogAllSportsmanListRef" @submitForm="getAthletesList" />
170 <dialogImport ref="dialogImportProps" @submitForm="getMySignInfo"/> 205 <dialogImport ref="dialogImportProps" @submitForm="getMySignInfo" />
171 <el-dialog v-model="showResult" :close-on-click-modal="false" :show-close="false"> 206 <el-dialog v-model="showResult" :close-on-click-modal="false" :show-close="false">
172 <el-result icon="success" :title="language==0?'报名成功':'Sign up successful'"> 207 <el-result :title="language==0?'报名成功':'Sign up successful'" icon="success">
173 <template #extra> 208 <template #extra>
174 <el-button type="primary" @click="downloadVoucher">下载凭证</el-button> 209 <el-button type="primary" @click="downloadVoucher">下载凭证</el-button>
175 <el-button type="primary" @click="goMySign">{{ language == 0 ? '查看报项' : 'View Entries' }}</el-button> 210 <el-button type="primary" @click="goMySign">{{ language == 0 ? '查看报项' : 'View Entries' }}</el-button>
...@@ -177,40 +212,44 @@ ...@@ -177,40 +212,44 @@
177 </el-result> 212 </el-result>
178 213
179 </el-dialog> 214 </el-dialog>
180 <dialogExtraForm ref="popExtraForm" @submitForm="getSignInfoList"/> 215 <dialogExtraForm ref="popExtraForm" @submitForm="getSignInfoList" />
181 <dialogWdsf ref="popWdsf" @submitForm="getAthletesList" @cancel="removeCurproject"/> 216 <dialogWdsf ref="popWdsf" @cancel="removeCurproject" @submitForm="getAthletesList" />
182 <!-- <el-tour v-model="openTour" :current="tourCurrent">--> 217 <!-- <el-tour v-model="openTour" :current="tourCurrent">-->
183 <!-- <el-tour-step target="#addRef" title="第一步" description="点击选择运动员" :next-button-props="nextButtonProps"/>--> 218 <!-- <el-tour-step target="#addRef" title="第一步" description="点击选择运动员" :next-button-props="nextButtonProps"/>-->
184 <!-- <el-tour-step v-if="choosedList.length>0" target="#chooseArr" title="第二步" description="勾选报项运动员"/>--> 219 <!-- <el-tour-step v-if="choosedList.length>0" target="#chooseArr" title="第二步" description="勾选报项运动员"/>-->
185 <!-- <el-tour-step v-if="projectList.length>0" target="#projectbox" title="第三步" description="选择报名项目"/>--> 220 <!-- <el-tour-step v-if="projectList.length>0" target="#projectbox" title="第三步" description="选择报名项目"/>-->
186 <!-- <el-tour-step v-if="projectIds.length>0" target="#signUpBtn" title="第四步" description="点击报项"/>--> 221 <!-- <el-tour-step v-if="projectIds.length>0" target="#signUpBtn" title="第四步" description="点击报项"/>-->
187 <!-- </el-tour>--> 222 <!-- </el-tour>-->
223
224 <insuranceView ref="insuranceViewRef" />
188 </div> 225 </div>
189 </template> 226 </template>
190 227
191 <script setup> 228 <script setup>
192 import {ref, reactive, toRefs, watch} from 'vue' 229 import { ref, reactive, toRefs, watch } from 'vue'
193 import * as match from '@/apiPc/match' 230 import * as match from '@/apiPc/match'
194 import {getCurrentInstance, onMounted} from '@vue/runtime-core' 231 import { getCurrentInstance, onMounted } from '@vue/runtime-core'
195 import DialogAddCoach from './components/addCoach' 232 import DialogAddCoach from './components/addCoach'
196 import DialogAllSportsmanList from './components/allSportsmanList' 233 import DialogAllSportsmanList from './components/allSportsmanList'
197 import DialogImport from './components/import' 234 import DialogImport from './components/import'
198 import DialogExtraForm from './components/extraForm' 235 import DialogExtraForm from './components/extraForm'
199 import DialogWdsf from './components/wdsfForm' 236 import DialogWdsf from './components/wdsfForm'
200 import {Search, Switch} from "@element-plus/icons-vue"; 237 import { Search } from '@element-plus/icons-vue'
238 import { useRouter, useRoute } from 'vue-router'
239 import insuranceView from './components/insuranceView.vue'
201 240
202 const {proxy} = getCurrentInstance() 241 const { proxy } = getCurrentInstance()
203 const router = useRouter() 242 const router = useRouter()
204 const route = useRoute() 243 const route = useRoute()
205 import _ from 'lodash' 244 import _ from 'lodash'
206 import {ElMessage, ElMessageBox} from 'element-plus' 245 import { ElMessage, ElMessageBox } from 'element-plus'
207 import cache from "@/plugins/cache" 246 // import cache from '@/plugins/cache'
208 import TeamSignStep from "@/viewsPc/match/components/teamSignStep" 247 import TeamSignStep from '@/viewsPc/match/components/teamSignStep'
209 import CoachInfoRow from "@/viewsPc/match/components/coachInfo-row" 248 import CoachInfoRow from '@/viewsPc/match/components/coachInfo-row'
210 import SignInfoTable from "@/viewsPc/match/components/signInfo-table" 249 import SignInfoTable from '@/viewsPc/match/components/signInfo-table'
211 import ZuTable from '@/viewsPc/match/components/zu-table' 250 import ZuTable from '@/viewsPc/match/components/zu-table'
212 import {signgetSignInfoConflict} from "@/apiPc/match"; 251 import { signgetSignInfoConflict } from '@/apiPc/match'
213 import {useStorage} from "@vueuse/core/index"; 252 import { useStorage } from '@vueuse/core/index'
214 253
215 const language = useStorage('language', 0) 254 const language = useStorage('language', 0)
216 const data = reactive({ 255 const data = reactive({
...@@ -249,7 +288,7 @@ const data = reactive({ ...@@ -249,7 +288,7 @@ const data = reactive({
249 currProjectId: '', 288 currProjectId: '',
250 openTour: false, 289 openTour: false,
251 isNational: false, 290 isNational: false,
252 languageSource:'',singlePersonEntryLimit:'',doublePersonEntryLimit:'' 291 languageSource: '', singlePersonEntryLimit: '', doublePersonEntryLimit: ''
253 }) 292 })
254 const { 293 const {
255 activeTeam, 294 activeTeam,
...@@ -277,10 +316,15 @@ const { ...@@ -277,10 +316,15 @@ const {
277 tableType, 316 tableType,
278 zuQuery, 317 zuQuery,
279 openTour, currProjectId, 318 openTour, currProjectId,
280 tourCurrent, isNational,languageSource,singlePersonEntryLimit,doublePersonEntryLimit 319 tourCurrent, isNational, languageSource, singlePersonEntryLimit, doublePersonEntryLimit
281 } = toRefs(data) 320 } = toRefs(data)
282 const nextButtonProps = ref({}) 321
283 const matchId = ref(route.query.matchId) 322 const matchId = ref(route.query.matchId)
323 const checked = ref('0')
324 const insuranceFlag = ref()
325 const insuranceAgreement = ref()
326
327
284 let signInfoType = null 328 let signInfoType = null
285 onMounted(() => { 329 onMounted(() => {
286 signType.value = route.query.signType || 1 330 signType.value = route.query.signType || 1
...@@ -293,11 +337,11 @@ onMounted(() => { ...@@ -293,11 +337,11 @@ onMounted(() => {
293 337
294 function getAthletesList() { 338 function getAthletesList() {
295 // athletesList.value 339 // athletesList.value
296 match.getGroupPersonList({label: '0'}, groupId.value).then(res => { 340 match.getGroupPersonList({ label: '0' }, groupId.value).then(res => {
297 athletesList.value = res.rows 341 athletesList.value = res.rows
298 if(!isNational.value){ 342 if (!isNational.value) {
299 for(let ath of athletesList.value){ 343 for (const ath of athletesList.value) {
300 if(!ath.phone){ 344 if (!ath.phone) {
301 ath.disabled = true 345 ath.disabled = true
302 } else { 346 } else {
303 ath.disabled = false 347 ath.disabled = false
...@@ -316,6 +360,8 @@ function getMatch(id) { ...@@ -316,6 +360,8 @@ function getMatch(id) {
316 noPhotoCanSign.value = res.data.noPhotoCanSign 360 noPhotoCanSign.value = res.data.noPhotoCanSign
317 coachOrLeaderFlag.value = res.data.coachOrLeaderFlag 361 coachOrLeaderFlag.value = res.data.coachOrLeaderFlag
318 extraform.value = JSON.parse(res.data.participantsInfo) 362 extraform.value = JSON.parse(res.data.participantsInfo)
363 insuranceAgreement.value = res.data.insuranceAgreement
364 insuranceFlag.value = res.data.insuranceFlag
319 if (res.data.languageSource == '100') { 365 if (res.data.languageSource == '100') {
320 isNational.value = false 366 isNational.value = false
321 } else { 367 } else {
...@@ -353,7 +399,7 @@ function submitForm() { ...@@ -353,7 +399,7 @@ function submitForm() {
353 cancelButtonText: language.value == 0 ? '取消' : 'Cancel', 399 cancelButtonText: language.value == 0 ? '取消' : 'Cancel',
354 type: 'warning' 400 type: 'warning'
355 }).then(() => { 401 }).then(() => {
356 router.push({name: 'myMatch'}) 402 router.push({ name: 'myMatch' })
357 }) 403 })
358 return 404 return
359 } 405 }
...@@ -380,16 +426,58 @@ function submitForm() { ...@@ -380,16 +426,58 @@ function submitForm() {
380 } 426 }
381 return 427 return
382 } 428 }
429
430
431 if (insuranceFlag.value == '1' && checked.value == 0) {
432 ElMessageBox.confirm(language.value == 0 ? '请阅读并勾选同意赛事保险购买协议' : 'Please read and tick to agree to the event insurance purchase agreement',
433 language.value == 0 ? '提示' : 'Tip', {
434 showCancelButton: false,
435 confirmButtonText: language.value == 0 ? '是' : 'Yes',
436 // cancelButtonText: language.value == 0 ? '否,进入下一步' : 'NO,Go Next',
437 type: 'warning'
438 })
439 } else if (insuranceFlag.value == '2' && checked.value == 0) {
440 ElMessageBox.confirm(language.value == 0 ? '你是否同意赛事放帮忙购买保险?' : 'Do you agree to have the event organizer help purchase insurance?',
441 language.value == 0 ? '提示' : 'Tip', {
442 confirmButtonText: language.value == 0 ? '是' : 'Yes',
443 cancelButtonText: language.value == 0 ? '否,进入下一步' : 'NO,Go Next',
444 type: 'warning'
445 }).then(() => {
446 checked.value = '1'
383 router.push({ 447 router.push({
384 name: 'signPreview', 448 name: 'signPreview',
385 query: { 449 query: {
386 matchId: matchId.value, 450 matchId: matchId.value,
387 groupId: groupId.value, 451 groupId: groupId.value,
388 isNational: isNational.value 452 isNational: isNational.value,
453 buy: checked.value
454 }
455 })
456 }).catch(() => {
457 router.push({
458 name: 'signPreview',
459 query: {
460 matchId: matchId.value,
461 groupId: groupId.value,
462 isNational: isNational.value,
463 buy: checked.value
389 } 464 }
390 }) 465 })
466 })
467 } else {
468 router.push({
469 name: 'signPreview',
470 query: {
471 matchId: matchId.value,
472 groupId: groupId.value,
473 isNational: isNational.value,
474 buy: checked.value
475 }
476 })
477 }
391 } 478 }
392 479
480
393 function goPrev() { 481 function goPrev() {
394 router.push({ 482 router.push({
395 name: `chooseCoach`, 483 name: `chooseCoach`,
...@@ -438,7 +526,7 @@ function getProjectList() { ...@@ -438,7 +526,7 @@ function getProjectList() {
438 return 526 return
439 } 527 }
440 loadingProject.value = true 528 loadingProject.value = true
441 //根据已选人员id 获取项目列表 529 // 根据已选人员id 获取项目列表
442 var obj = { 530 var obj = {
443 cptId: matchId.value, 531 cptId: matchId.value,
444 perIds: choosedchoosed.value.toString() 532 perIds: choosedchoosed.value.toString()
...@@ -587,12 +675,13 @@ function switchTabletype() { ...@@ -587,12 +675,13 @@ function switchTabletype() {
587 tableType.value = 0 675 tableType.value = 0
588 } 676 }
589 } 677 }
590 let hasPproperty='' 678
591 let hasPlevel='' 679 let hasPproperty = ''
592 let hasAlmighty={} 680 let hasPlevel = ''
593 let hasPpropertyLength=0 681 let hasAlmighty = {}
594 let isDanNum=0 682 let hasPpropertyLength = 0
595 let isShuangNum=0 683 let isDanNum = 0
684 let isShuangNum = 0
596 watch(projectIds, (newVal, oldVal) => { 685 watch(projectIds, (newVal, oldVal) => {
597 let currProject = {} 686 let currProject = {}
598 if (newVal.length > oldVal.length) { 687 if (newVal.length > oldVal.length) {
...@@ -600,64 +689,65 @@ watch(projectIds, (newVal, oldVal) => { ...@@ -600,64 +689,65 @@ watch(projectIds, (newVal, oldVal) => {
600 } else { 689 } else {
601 currProjectId.value = '' 690 currProjectId.value = ''
602 } 691 }
603 for(let p of projectList.value){ 692 for (const p of projectList.value) {
604 if(p.id==_.last(newVal)){ 693 if (p.id == _.last(newVal)) {
605 currProject = p 694 currProject = p
606 } 695 }
607 } 696 }
608 if(newVal.length>0){ 697 if (newVal.length > 0) {
609 hasPproperty='' 698 hasPproperty = ''
610 hasPlevel='' 699 hasPlevel = ''
611 hasAlmighty={} 700 hasAlmighty = {}
612 isDanNum = 0 701 isDanNum = 0
613 isShuangNum = 0 702 isShuangNum = 0
614 hasPpropertyLength=0 703 hasPpropertyLength = 0
615 for(let hh of projectList.value){ 704 for (const hh of projectList.value) {
616 if(projectIds.value.indexOf(hh.id)>-1&&hh.pproperty){ 705 if (projectIds.value.indexOf(hh.id) > -1 && hh.pproperty) {
617 hasPproperty = hh.pproperty 706 hasPproperty = hh.pproperty
618 hasPpropertyLength = hh.danceTypeDetailStr.split(',').length 707 hasPpropertyLength = hh.danceTypeDetailStr.split(',').length
619 } 708 }
620 if(projectIds.value.indexOf(hh.id)>-1&&hh.plevel){ 709 if (projectIds.value.indexOf(hh.id) > -1 && hh.plevel) {
621 hasPlevel = hh.plevel 710 hasPlevel = hh.plevel
622 } 711 }
623 if(projectIds.value.indexOf(hh.id)>-1&&hh.almightyFlag=='1'){ 712 if (projectIds.value.indexOf(hh.id) > -1 && hh.almightyFlag == '1') {
624 hasAlmighty = hh 713 hasAlmighty = hh
625 } 714 }
626 if(projectIds.value.indexOf(hh.id)>-1&&hh.singleFlag=='1'){ 715 if (projectIds.value.indexOf(hh.id) > -1 && hh.singleFlag == '1') {
627 isDanNum += 1 716 isDanNum += 1
628 } 717 }
629 if(projectIds.value.indexOf(hh.id)>-1&&hh.doubleSingleProjectFlag=='1'){ 718 if (projectIds.value.indexOf(hh.id) > -1 && hh.doubleSingleProjectFlag == '1') {
630 isShuangNum += 1 719 isShuangNum += 1
631 } 720 }
632 } 721 }
633 console.log(hasPproperty,hasPlevel,hasPpropertyLength) 722 console.log(hasPproperty, hasPlevel, hasPpropertyLength)
634 filterProjectList(currProject) 723 filterProjectList(currProject)
635 } else { 724 } else {
636 resetProjectList() 725 resetProjectList()
637 } 726 }
638 }) 727 })
639 728
640 function filterProjectList(currProject){ 729 function filterProjectList(currProject) {
641 for(let pp of projectList.value){ 730 for (const pp of projectList.value) {
642 if( 731 if (
643 (hasPproperty&&pp.pproperty==hasPproperty)&&((pp.danceTypeDetailStr.split(',').length>=4&&hasPpropertyLength<4)||(pp.danceTypeDetailStr.split(',').length<4&&hasPpropertyLength>=4)) 732 (hasPproperty && pp.pproperty == hasPproperty) && ((pp.danceTypeDetailStr.split(',').length >= 4 && hasPpropertyLength < 4) || (pp.danceTypeDetailStr.split(',').length < 4 && hasPpropertyLength >= 4)) ||
644 ||(hasPproperty&&pp.pproperty&&pp.pproperty!=hasPproperty) 733 (hasPproperty && pp.pproperty && pp.pproperty != hasPproperty) ||
645 ||(hasPlevel&&pp.plevel&&pp.plevel!=hasPlevel) 734 (hasPlevel && pp.plevel && pp.plevel != hasPlevel) ||
646 ||(isDanNum==Number(singlePersonEntryLimit.value) && pp.singleFlag=='1'&&projectIds.value.indexOf(pp.id)==-1) 735 (isDanNum == Number(singlePersonEntryLimit.value) && pp.singleFlag == '1' && projectIds.value.indexOf(pp.id) == -1) ||
647 ||(isShuangNum==Number(doublePersonEntryLimit.value) && pp.doubleSingleProjectFlag=='1'&&projectIds.value.indexOf(pp.id)==-1) 736 (isShuangNum == Number(doublePersonEntryLimit.value) && pp.doubleSingleProjectFlag == '1' && projectIds.value.indexOf(pp.id) == -1)
648 ){ 737 ) {
649 console.log(pp.name) 738 console.log(pp.name)
650 pp.disabled = true 739 pp.disabled = true
651 } else if((hasAlmighty.almightyFlag=='1'&&pp.almightyFlag=='1') 740 } else if ((hasAlmighty.almightyFlag == '1' && pp.almightyFlag == '1') &&
652 &&(hasAlmighty.danceTypeDetailStr.split(',').length!=pp.danceTypeDetailStr.split(',').length) 741 (hasAlmighty.danceTypeDetailStr.split(',').length != pp.danceTypeDetailStr.split(',').length)
653 ){ 742 ) {
654 console.log(pp.name) 743 console.log(pp.name)
655 pp.disabled = true 744 pp.disabled = true
656 }else { 745 } else {
657 pp.disabled = false 746 pp.disabled = false
658 } 747 }
659 } 748 }
660 } 749 }
750
661 // function refilterProjectList() { 751 // function refilterProjectList() {
662 // let arr = [] //已选项目 752 // let arr = [] //已选项目
663 // for(let p of projectList.value){ 753 // for(let p of projectList.value){
...@@ -669,25 +759,26 @@ function filterProjectList(currProject){ ...@@ -669,25 +759,26 @@ function filterProjectList(currProject){
669 // filterProjectList(a) 759 // filterProjectList(a)
670 // } 760 // }
671 // } 761 // }
672 function resetProjectList(){ 762 function resetProjectList() {
673 for(var p of projectList.value){ 763 for (var p of projectList.value) {
674 p.disabled = false 764 p.disabled = false
675 } 765 }
676 } 766 }
767
677 function changeProject(e) { 768 function changeProject(e) {
678 var obj = {} 769 var obj = {}
679 obj = _.find(projectList.value, (c) => { 770 obj = _.find(projectList.value, (c) => {
680 return e.indexOf(c.id) > -1 771 return e.indexOf(c.id) > -1
681 }) 772 })
682 //循环choosed2List 检查是否存在WDSF号 773 // 循环choosed2List 检查是否存在WDSF号
683 let n = 0 774 let n = 0
684 for (var cc of choosed2List.value) { 775 for (var cc of choosed2List.value) {
685 if (!cc.wdsfMin) { 776 if (!cc.wdsfMin) {
686 n++ 777 n++
687 } 778 }
688 } 779 }
689 //obj需要wdsf 且 currProjectId非空 780 // obj需要wdsf 且 currProjectId非空
690 if (obj&&obj.checkMemberFlag == '1' && currProjectId.value != '' && n > 0) { 781 if (obj && obj.checkMemberFlag == '1' && currProjectId.value != '' && n > 0) {
691 const params = { 782 const params = {
692 title: language.value == 0 ? '验证WDSF' : 'Verify WDSF', 783 title: language.value == 0 ? '验证WDSF' : 'Verify WDSF',
693 groupId: groupId.value, 784 groupId: groupId.value,
...@@ -702,13 +793,14 @@ function removeCurproject() { ...@@ -702,13 +793,14 @@ function removeCurproject() {
702 // projectIds.value 793 // projectIds.value
703 projectIds.value = _.without(projectIds.value, currProjectId.value) 794 projectIds.value = _.without(projectIds.value, currProjectId.value)
704 } 795 }
705 function checkTwo(a,b) { 796
706 match.checkMate({per1Id:a.id,per2Id:b.id,cptId:matchId.value}).then(res=>{ 797 function checkTwo(a, b) {
707 if(!res.data){ 798 match.checkMate({ per1Id: a.id, per2Id: b.id, cptId: matchId.value }).then(res => {
708 if(isNational.value){ 799 if (!res.data) {
709 ElMessage.warning(language.value == 0 ? '他们不是固定组合':'They\'re not a couple') 800 if (isNational.value) {
801 ElMessage.warning(language.value == 0 ? '他们不是固定组合' : 'They\'re not a couple')
710 } else { 802 } else {
711 ElMessageBox.confirm(language.value == 0 ? `${a.realName}/${b.realName} 已经和其他人组成舞伴,无法报名,请重新选择`:`${a.realName}/${b.realName} has already formed a dancer with another person, cannot sign up: please select again`, 803 ElMessageBox.confirm(language.value == 0 ? `${a.realName}/${b.realName} 已经和其他人组成舞伴,无法报名,请重新选择` : `${a.realName}/${b.realName} has already formed a dancer with another person, cannot sign up: please select again`,
712 language.value == 0 ? '提示' : 'Tips', { 804 language.value == 0 ? '提示' : 'Tips', {
713 confirmButtonText: language.value == 0 ? '确定' : 'Confirm', 805 confirmButtonText: language.value == 0 ? '确定' : 'Confirm',
714 showCancelButton: false, 806 showCancelButton: false,
...@@ -720,13 +812,14 @@ function checkTwo(a,b) { ...@@ -720,13 +812,14 @@ function checkTwo(a,b) {
720 } 812 }
721 }) 813 })
722 } 814 }
815
723 watch(choosedchoosed, (newVal, oldVal) => { 816 watch(choosedchoosed, (newVal, oldVal) => {
724 // console.log(choosedchoosed.value) 817 // console.log(choosedchoosed.value)
725 if(newVal.length==2){ 818 if (newVal.length == 2) {
726 //如果一男一女,判断是否舞伴 819 // 如果一男一女,判断是否舞伴
727 if(choosed2List.value.length==2){ 820 if (choosed2List.value.length == 2) {
728 if(choosed2List.value[0].sex!=choosed2List.value[1].sex){ 821 if (choosed2List.value[0].sex != choosed2List.value[1].sex) {
729 checkTwo(choosed2List.value[0],choosed2List.value[1]) 822 checkTwo(choosed2List.value[0], choosed2List.value[1])
730 } 823 }
731 } 824 }
732 } 825 }
...@@ -751,7 +844,6 @@ watch(choosedchoosed, (newVal, oldVal) => { ...@@ -751,7 +844,6 @@ watch(choosedchoosed, (newVal, oldVal) => {
751 } 844 }
752 } 845 }
753 projectList.value = [] 846 projectList.value = []
754 return
755 } else { 847 } else {
756 getProjectList() 848 getProjectList()
757 } 849 }
...@@ -760,9 +852,13 @@ watch(choosedchoosed, (newVal, oldVal) => { ...@@ -760,9 +852,13 @@ watch(choosedchoosed, (newVal, oldVal) => {
760 getProjectList() 852 getProjectList()
761 } 853 }
762 }) 854 })
855
856 function handelInsurance() {
857 proxy.$refs['insuranceViewRef'].open(insuranceAgreement.value)
858 }
763 </script> 859 </script>
764 860
765 <style scoped lang="scss"> 861 <style lang="scss" scoped>
766 :deep(.el-checkbox__label) { 862 :deep(.el-checkbox__label) {
767 flex: 1 1 auto; 863 flex: 1 1 auto;
768 } 864 }
...@@ -962,14 +1058,44 @@ watch(choosedchoosed, (newVal, oldVal) => { ...@@ -962,14 +1058,44 @@ watch(choosedchoosed, (newVal, oldVal) => {
962 height: 18px; 1058 height: 18px;
963 } 1059 }
964 } 1060 }
965 :deep(.el-select){ 1061
966 --el-border-color:var(--el-color-primary); 1062 :deep(.el-select) {
967 --el-text-color-placeholder:var(--el-color-primary); 1063 --el-border-color: var(--el-color-primary);
968 --el-input-icon-color:var(--el-color-primary); 1064 --el-text-color-placeholder: var(--el-color-primary);
1065 --el-input-icon-color: var(--el-color-primary);
1066 }
1067
1068 :deep(.el-select__tags-text) {
1069 color: #000;
1070 font-size: 14px;
1071 }
1072
1073 .po-right {
1074 position: absolute;
1075 right: 0;
1076 }
1077
1078 .panel h3.panel-title {
1079 span {
1080 font-size: 13px;
1081 }
1082 }
1083
1084 .father {
1085 position: relative;
1086 height: 60px;
969 } 1087 }
970 :deep(.el-select__tags-text){color: #000;font-size: 14px;} 1088
971 .po-right{position: absolute;right: 0;} 1089 .checkbox {
972 .panel h3.panel-title{ 1090 position: absolute;
973 span{font-size: 13px;} 1091 right: 5%;
1092 text-align: left;
1093
1094 span {
1095 color: #453DEA;
1096 position: relative;
1097 top: -1px;
1098 cursor: pointer
1099 }
974 } 1100 }
975 </style> 1101 </style>
......
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" @close="cancel" 4 class="pcloginpop"
5 destroy-on-close 5 close-icon="CircleClose" destroy-on-close width="800px"
6 @close="cancel"
6 > 7 >
7 <!-- wdsf 个人/舞伴/国际赛运动员--> 8 <!-- wdsf 个人/舞伴/国际赛运动员-->
8 <div class="pd10"></div> 9 <div class="pd10" />
9 <el-form ref="dialogRef" :model="form" :label-width="language==0?120:180" inline> 10 <el-form ref="dialogRef" :label-width="language==0?120:180" :model="form" inline>
10 <el-form-item :label="language==0?'WDSF卡号':'WDSF MIN'" v-if="form.id&&form.id!='0'"> 11 <el-form-item v-if="form.id&&form.id!='0'" :label="language==0?'WDSF卡号':'WDSF MIN'">
11 {{ form.wdsfMin }} 12 {{ form.wdsfMin }}
12 </el-form-item> 13 </el-form-item>
13 <el-form-item :label="language==0?'WDSF卡号':'WDSF MIN'" required v-else> 14 <el-form-item v-else :label="language==0?'WDSF卡号':'WDSF MIN'" required>
14 <el-input type="text" v-model="card" @change="resetCode"> 15 <el-input v-model="card" type="text" @change="resetCode">
15 <template #append> 16 <template #append>
16 <el-button type="primary" plain style="width: 110px" @click="checkCard"> 17 <el-button plain style="width: 110px" type="primary" @click="checkCard">
17 <el-icon v-if="isCodeTrue" size="16" color="#67C23A"> 18 <el-icon v-if="isCodeTrue" color="#67C23A" size="16">
18 <CircleCheckFilled/> 19 <CircleCheckFilled />
19 </el-icon> 20 </el-icon>
20 <span v-else>{{ language == 0 ? '校验卡号' : 'Check Code' }}</span> 21 <span v-else>{{ language == 0 ? '校验卡号' : 'Check Code' }}</span>
21 </el-button> 22 </el-button>
...@@ -23,56 +24,61 @@ ...@@ -23,56 +24,61 @@
23 </el-input> 24 </el-input>
24 <a class="text-primary text-sm mt10" href="https://www.worlddancesport.org/Athlete/List" target="_blank"> 25 <a class="text-primary text-sm mt10" href="https://www.worlddancesport.org/Athlete/List" target="_blank">
25 <el-icon> 26 <el-icon>
26 <Link/> 27 <Link />
27 </el-icon> 28 </el-icon>
28 {{ language == 0 ? '去WDSF官网查询我的会员号' : 'Search my WSDF MIN on the WDSF official website' }} 29 {{ language == 0 ? '去WDSF官网查询我的会员号' : 'Search my WSDF MIN on the WDSF official website' }}
29 </a> 30 </a>
30 31
31 <Vcode :successText="successVcode" :failText="failVcode" :slider-text="sliderText" :show="showVcode" 32 <Vcode
32 :z-index="2999" @success="codeSuccess()"></Vcode> 33 :fail-text="failVcode" :show="showVcode" :slider-text="sliderText" :success-text="successVcode"
34 :z-index="2999" @success="codeSuccess()"
35 />
33 </el-form-item> 36 </el-form-item>
34 <div class="h30"></div> 37 <div class="h30" />
35 <div class="leftboderTT">{{ language == 0 ? '个人信息' : 'Personal information' }} 38 <div class="leftboderTT">{{ language == 0 ? '个人信息' : 'Personal information' }}
36 <span v-if="language==0">(登录时需要验证,保护账户信息)</span> 39 <span v-if="language==0">(登录时需要验证,保护账户信息)</span>
37 <span v-else>(Obtain automatically according to the WDSF number)</span> 40 <span v-else>(Obtain automatically according to the WDSF number)</span>
38 </div> 41 </div>
39 <div class="h20"></div> 42 <div class="h20" />
40 <el-form-item :label="language==0?'名':'Name'"> 43 <el-form-item :label="language==0?'名':'Name'">
41 <el-input v-model="form.ming" disabled/> 44 <el-input v-model="form.ming" disabled />
42 </el-form-item> 45 </el-form-item>
43 <el-form-item :label="language==0?'姓氏':'Surname'"> 46 <el-form-item :label="language==0?'姓氏':'Surname'">
44 <el-input v-model="form.xing" disabled/> 47 <el-input v-model="form.xing" disabled />
45 </el-form-item> 48 </el-form-item>
46 <el-form-item :label="language==0?'代表':'Representing'"> 49 <el-form-item :label="language==0?'代表':'Representing'">
47 <el-input v-model="form.representing" disabled/> 50 <el-input v-model="form.representing" disabled />
48 </el-form-item> 51 </el-form-item>
49 <el-form-item :label="language==1?'Age group':'年龄组'"> 52 <el-form-item :label="language==1?'Age group':'年龄组'">
50 <el-input v-model="form.ageGroup" disabled/> 53 <el-input v-model="form.ageGroup" disabled />
51 </el-form-item> 54 </el-form-item>
52 <el-form-item :label="language==0?'舞种':'Division'"> 55 <el-form-item :label="language==0?'舞种':'Division'">
53 <el-input v-model="form.division" disabled/> 56 <el-input v-model="form.division" disabled />
54 </el-form-item> 57 </el-form-item>
55 <el-form-item :label="language==0?'状态':'Status'"> 58 <el-form-item :label="language==0?'状态':'Status'">
56 <el-input v-model="form.wdsfStatus" disabled/> 59 <el-input v-model="form.wdsfStatus" disabled />
57 </el-form-item> 60 </el-form-item>
58 <div class="h30"></div> 61 <div class="h30" />
59 <div class="leftboderTT"> 62 <div class="leftboderTT">
60 {{ language == 0 ? '补充信息' : 'ADDITIONAL INFORMATION' }} 63 {{ language == 0 ? '补充信息' : 'ADDITIONAL INFORMATION' }}
61 </div> 64 </div>
62 <div class="h20"></div> 65 <div class="h20" />
63 <el-form-item prop="picUrl" :label="language==0?'个人照片':'photo'"> 66 <el-form-item :label="language==0?'个人照片':'photo'" prop="picUrl">
64 <ImageUpload2 67 <ImageUpload2
65 v-model="form.picUrl" :crop-height="280" :crop-width="200" class="threeFour" :limit="1" 68 v-model="form.picUrl" :crop-height="280" :crop-width="200" :is-show-tip="false" :limit="1"
66 :is-show-tip="false" 69 class="threeFour"
67 /> 70 />
68 </el-form-item> 71 </el-form-item>
69 72
70 <el-form-item :label="language==0?'有效证件':'Valid Passport'" required> 73 <el-form-item :label="language==0?'有效证件':'Valid Passport'" required>
71 <image-upload ref="uploadPassportRef" v-model="form.passportUrl" :limit="1" :is-show-tip="false" 74 <image-upload
72 :action="'/common/getPersonInfoFromCert/3'" 75 ref="uploadPassportRef" v-model="form.passportUrl" :action="'/common/getPersonInfoFromCert/3'"
73 paramName="pic"
74 :button-text="language==0?'上传':'Upload'" 76 :button-text="language==0?'上传':'Upload'"
75 @response="ocrSuccess"/> 77 :is-show-tip="false"
78 :limit="1"
79 param-name="pic"
80 @response="ocrSuccess"
81 />
76 <div class="tip"> 82 <div class="tip">
77 <span v-if="language==0">请上传有效身份证件扫描件,用于核实身份信息、申请签证邀请函及购买保险等 </span> 83 <span v-if="language==0">请上传有效身份证件扫描件,用于核实身份信息、申请签证邀请函及购买保险等 </span>
78 <span v-else> 84 <span v-else>
...@@ -91,19 +97,19 @@ ...@@ -91,19 +97,19 @@
91 <el-form-item :label="language==0?'出生日期':'Date of Birth'" required> 97 <el-form-item :label="language==0?'出生日期':'Date of Birth'" required>
92 <el-date-picker 98 <el-date-picker
93 v-model="form.birth" 99 v-model="form.birth"
94 style="width: 100%;" :disabled-date="disabledBirth" 100 :disabled-date="disabledBirth" format="YYYY-MM-DD"
95 type="date" format="YYYY-MM-DD" value-format="YYYY-MM-DD" 101 style="width: 100%;" type="date" value-format="YYYY-MM-DD"
96 /> 102 />
97 </el-form-item> 103 </el-form-item>
98 104
99 <el-form-item :label="language==0?'证件号':'Passport number'" required> 105 <el-form-item :label="language==0?'证件号':'Passport number'" required>
100 <el-input v-model="form.passportNumber"/> 106 <el-input v-model="form.passportNumber" />
101 </el-form-item> 107 </el-form-item>
102 108
103 </el-form> 109 </el-form>
104 <template #footer> 110 <template #footer>
105 <div class="dialog-footer text-center"> 111 <div class="dialog-footer text-center">
106 <el-button type="primary" class="btn-lineG w200px" round @click="submitForm"> 112 <el-button class="btn-lineG w200px" round type="primary" @click="submitForm">
107 {{ language == 0 ? '确定' : 'Save' }} 113 {{ language == 0 ? '确定' : 'Save' }}
108 </el-button> 114 </el-button>
109 </div> 115 </div>
...@@ -112,14 +118,14 @@ ...@@ -112,14 +118,14 @@
112 </template> 118 </template>
113 119
114 <script setup> 120 <script setup>
115 import {reactive, ref, toRefs, watch} from 'vue' 121 import { reactive, ref, toRefs, watch } from 'vue'
116 import {getCurrentInstance, nextTick, onMounted} from '@vue/runtime-core' 122 import { getCurrentInstance, nextTick, onMounted } from '@vue/runtime-core'
117 import * as match from '@/apiPc/match' 123 import * as match from '@/apiPc/match'
118 import {ElMessage} from 'element-plus' 124 import { ElMessage } from 'element-plus'
119 import _ from 'lodash' 125 import _ from 'lodash'
120 import Vcode from "vue3-puzzle-vcode" 126 import Vcode from 'vue3-puzzle-vcode'
121 import {checkWdsf, checkWdsfAthletes} from "@/apiPc/match"; 127 import { checkWdsf, checkWdsfAthletes } from '@/apiPc/match'
122 import {useStorage} from "@vueuse/core/index"; 128 import { useStorage } from '@vueuse/core/index'
123 import ImageUpload from '@/components/ImageUpload/index.vue' 129 import ImageUpload from '@/components/ImageUpload/index.vue'
124 import ImageUpload2 from '@/components/ImageUpload/index2.vue' 130 import ImageUpload2 from '@/components/ImageUpload/index2.vue'
125 131
...@@ -138,7 +144,7 @@ const certificates = ref([ ...@@ -138,7 +144,7 @@ const certificates = ref([
138 label: language.value == 0 ? '其他' : 'Other' 144 label: language.value == 0 ? '其他' : 'Other'
139 } 145 }
140 ]) 146 ])
141 const {proxy} = getCurrentInstance() 147 const { proxy } = getCurrentInstance()
142 const emit = defineEmits(['submitForm']) 148 const emit = defineEmits(['submitForm'])
143 const data = reactive({ 149 const data = reactive({
144 form: { 150 form: {
...@@ -149,13 +155,13 @@ const data = reactive({ ...@@ -149,13 +155,13 @@ const data = reactive({
149 show: false, 155 show: false,
150 showVcode: false, 156 showVcode: false,
151 labels: [ 157 labels: [
152 {value: '0', label: '运动员', enlabel: 'Sportsman'}, 158 { value: '0', label: '运动员', enlabel: 'Sportsman' },
153 {value: '1', label: '教练', enlabel: 'Coach'}, 159 { value: '1', label: '教练', enlabel: 'Coach' },
154 {value: '2', label: '领队', enlabel: 'Head of team'}, 160 { value: '2', label: '领队', enlabel: 'Head of team' },
155 {value: '4', label: '队医', enlabel: 'Team Doctor'}, 161 { value: '4', label: '队医', enlabel: 'Team Doctor' },
156 {value: '5', label: '翻译', enlabel: 'Interpreter'}, 162 { value: '5', label: '翻译', enlabel: 'Interpreter' },
157 {value: '6', label: '官员', enlabel: 'Official'}, 163 { value: '6', label: '官员', enlabel: 'Official' },
158 {value: '3', label: '其他', enlabel: 'Other'} 164 { value: '3', label: '其他', enlabel: 'Other' }
159 ], 165 ],
160 title: '添加选手信息', 166 title: '添加选手信息',
161 isMe: false, 167 isMe: false,
...@@ -167,7 +173,7 @@ const data = reactive({ ...@@ -167,7 +173,7 @@ const data = reactive({
167 }) 173 })
168 const { 174 const {
169 form, show, showVcode, title, labels, uType, isMe, isCodeTrue, card, cptId, 175 form, show, showVcode, title, labels, uType, isMe, isCodeTrue, card, cptId,
170 failVcode, successVcode, sliderText,uploadPassportRef 176 failVcode, successVcode, sliderText, uploadPassportRef
171 } = toRefs(data) 177 } = toRefs(data)
172 178
173 let editgay = false 179 let editgay = false
...@@ -189,13 +195,13 @@ const open = (params) => { ...@@ -189,13 +195,13 @@ const open = (params) => {
189 sliderText.value = 'Drag the slider to complete the puzzle' 195 sliderText.value = 'Drag the slider to complete the puzzle'
190 } 196 }
191 if (isMe.value) { 197 if (isMe.value) {
192 //个人 198 // 个人
193 getMyInfo() 199 getMyInfo()
194 } else { 200 } else {
195 if (params.id == 0) { 201 if (params.id == 0) {
196 //新增 202 // 新增
197 editgay = false 203 editgay = false
198 } else {// 编辑舞伴 204 } else { // 编辑舞伴
199 editgay = true 205 editgay = true
200 if (params.form) { 206 if (params.form) {
201 form.value = params.form 207 form.value = params.form
...@@ -205,7 +211,7 @@ const open = (params) => { ...@@ -205,7 +211,7 @@ const open = (params) => {
205 } 211 }
206 } 212 }
207 } 213 }
208 defineExpose({open}) 214 defineExpose({ open })
209 215
210 function getMyInfo() { 216 function getMyInfo() {
211 match.getMyPersonInfo().then(res => { 217 match.getMyPersonInfo().then(res => {
...@@ -234,22 +240,22 @@ watch(show, (value) => { ...@@ -234,22 +240,22 @@ watch(show, (value) => {
234 const ocrSuccess = (res) => { 240 const ocrSuccess = (res) => {
235 // form.value.passportUrl = res.data.url 241 // form.value.passportUrl = res.data.url
236 console.log(form.value.passportUrl) 242 console.log(form.value.passportUrl)
237 if(res.code==200){ 243 if (res.code == 200) {
238 form.value.passportUrl = res.data.url 244 form.value.passportUrl = res.data.url
239 form.value.passportNumber = res.data.code 245 form.value.passportNumber = res.data.code
240 form.value.birth = res.data.birth?.slice(0, 10) 246 form.value.birth = res.data.birth?.slice(0, 10)
241 form.value.sex = res.data.sex 247 form.value.sex = res.data.sex
242 } else if(res.code==500){ 248 } else if (res.code == 500) {
243 ElMessage.warning(res.msg) 249 ElMessage.warning(res.msg)
244 } 250 }
245 } 251 }
246 252
247 function submitForm() { 253 function submitForm() {
248 if(!form.value.wdsfMin&&!card.value){ 254 if (!form.value.wdsfMin && !card.value) {
249 ElMessage.warning(language.value == 0 ? '请输入你的WDSF会员号' : 'Please fill in your WDSF MIN') 255 ElMessage.warning(language.value == 0 ? '请输入你的WDSF会员号' : 'Please fill in your WDSF MIN')
250 return 256 return
251 } 257 }
252 if(card.value&&!isCodeTrue.value){ 258 if (card.value && !isCodeTrue.value) {
253 ElMessage.warning(language.value == 0 ? '请验证你的WDSF会员号' : 'Please verify your WDSF MIN') 259 ElMessage.warning(language.value == 0 ? '请验证你的WDSF会员号' : 'Please verify your WDSF MIN')
254 return 260 return
255 } 261 }
...@@ -331,7 +337,6 @@ function addGroupMember() { ...@@ -331,7 +337,6 @@ function addGroupMember() {
331 show.value = false 337 show.value = false
332 emit('submitForm') 338 emit('submitForm')
333 }) 339 })
334
335 } 340 }
336 341
337 function cancel() { 342 function cancel() {
...@@ -359,10 +364,10 @@ function checkCard() { ...@@ -359,10 +364,10 @@ function checkCard() {
359 } 364 }
360 365
361 function codeSuccess(msg) { 366 function codeSuccess(msg) {
362 console.log('验证通过' + msg); 367 console.log('验证通过' + msg)
363 showVcode.value = false 368 showVcode.value = false
364 isCodeTrue.value = true 369 isCodeTrue.value = true
365 checkWdsfAthletes({card: card.value, groupId: groupId}).then(res => { 370 checkWdsfAthletes({ card: card.value, groupId: groupId }).then(res => {
366 if (res.data.wdsfFlag == -1) { 371 if (res.data.wdsfFlag == -1) {
367 ElMessage.warning(language.value == 0 ? '您添加的运动员代表国家/地区,与团体账号注册的国家/地区不符,无法添加' : 'The athlete \'s representing, does not match the group account‘s country/region and cannot be added.') 372 ElMessage.warning(language.value == 0 ? '您添加的运动员代表国家/地区,与团体账号注册的国家/地区不符,无法添加' : 'The athlete \'s representing, does not match the group account‘s country/region and cannot be added.')
368 isCodeTrue.value = false 373 isCodeTrue.value = false
...@@ -427,7 +432,8 @@ function disabledBirth(time) { ...@@ -427,7 +432,8 @@ function disabledBirth(time) {
427 432
428 .tip { 433 .tip {
429 font-size: 13px; 434 font-size: 13px;
430 color: #999; line-height: 1.6; 435 color: #999;
436 line-height: 1.6;
431 margin: 10px 0; 437 margin: 10px 0;
432 438
433 i { 439 i {
......
1 <template>
2 <el-dialog
3 v-model="show" :close-on-click-modal="false" :title="language==0?'赛事购买协会':'Event Insurance Procurement Agreement'" append-to-body center
4 class="pcloginpop"
5 close-icon="CircleClose" destroy-on-close
6 width="1100px"
7 >
8 <div v-html="data" />
9 <template #footer>
10 <div class="dialog-footer text-center">
11 <el-button class="btn-lineG w200px" round type="primary" @click="submitForm">{{
12 language == 0 ? '确定' : 'Save'
13 }}
14 </el-button>
15 </div>
16 </template>
17 </el-dialog>
18 </template>
19
20 <script setup>
21 import { getCurrentInstance, ref } from '@vue/runtime-core'
22 import { useStorage } from '@vueuse/core/index'
23
24 const language = useStorage('language', 0)
25 const { proxy } = getCurrentInstance()
26 const emit = defineEmits(['submitForm'])
27 const show = ref(false)
28 const data = ref()
29
30 const open = (row) => {
31 show.value = true
32 data.value = row
33 }
34
35 function submitForm() {
36 show.value = false
37 }
38
39
40 defineExpose({ open })
41
42 </script>
43
44 <style lang="scss">
45 .threeFour {
46 width: 100%;
47
48 .el-upload--picture-card {
49 width: 120px;
50 height: 160px;
51 }
52
53 .el-upload-list--picture-card .el-upload-list__item {
54 width: 120px;
55 height: 160px;
56 }
57 }
58
59 .tip {
60 font-size: 13px;
61 color: #999;
62 margin: 10px 0;
63
64 i {
65 color: red;
66 margin: 0 4px 0 0;
67 }
68 }
69
70 .shenfen {
71 .el-upload--picture-card {
72 width: 320px;
73 height: 200px;
74 }
75
76 .el-upload-list--picture-card .el-upload-list__item {
77 width: 320px;
78 height: 200px;
79 }
80 }
81
82 .touxiang {
83 :deep(.el-upload--picture-card ) {
84 width: 140px;
85 height: 200px;
86 }
87 }
88
89 .touxiang {
90 :deep(.el-upload-list__item ) {
91 width: 140px;
92 height: 200px;
93 }
94
95 }
96
97 .el-form--inline .el-form-item {
98 width: 100%
99 }
100
101
102 .boxDialog {
103 .el-dialog__header {
104 background: linear-gradient(#ed2c22, #fe6d45);
105 margin-right: 0;
106 height: 52px;
107
108 span {
109 color: #fff;
110 }
111 }
112 }
113
114 </style>
1 <template> 1 <template>
2 <div class="mt20"> 2 <div class="mt20">
3 <!-- {{isNational}}--> 3 <!-- {{isNational}}-->
4 </div> 4 </div>
5 <el-table :data="list" :sum-text="sumText" border style="width: 100%" v-loading="loading"> 5 <!-- 参赛人员清单-->
6 <el-table-column :label="language==0?'序号':'Index'" type="index" width="70" align="center"/> 6 <el-table v-loading="loading" :data="list" :sum-text="sumText" border style="width: 100%">
7 <el-table-column v-if="!isNational" :label="language==0?'姓名':'Real Name'" prop="personInfo.realName" align="center" min-width="100"/> 7 <el-table-column :label="language==0?'序号':'Index'" align="center" type="index" width="70" />
8 <el-table-column v-if="isNational" :label="language==0?'姓氏':'Surname'" prop="personInfo.xing" min-width="100"/> 8 <el-table-column
9 <el-table-column v-if="isNational" :label="language==0?'名':'Name'" prop="personInfo.ming" min-width="100"/> 9 v-if="!isNational" :label="language==0?'姓名':'Real Name'" align="center"
10 <el-table-column :label="language==0?'所属国家/地区':'Country'" min-width="120" header-align="center" align="center"> 10 min-width="100" prop="personInfo.realName"
11 />
12 <el-table-column v-if="isNational" :label="language==0?'姓氏':'Surname'" min-width="100" prop="personInfo.xing" />
13 <el-table-column v-if="isNational" :label="language==0?'名':'Name'" min-width="100" prop="personInfo.ming" />
14 <el-table-column
15 :label="language==0?'所属国家/地区':'Country'" align="center" header-align="center"
16 min-width="120"
17 >
11 <template #default="scope"> 18 <template #default="scope">
12 <span v-if="scope.row.personInfo.countryName">{{scope.row.personInfo.countryName}}</span> 19 <span v-if="scope.row.personInfo.countryName">{{ scope.row.personInfo.countryName }}</span>
13 <span v-if="scope.row.personInfo.representing">{{scope.row.personInfo.representing}}</span> 20 <span v-if="scope.row.personInfo.representing">{{ scope.row.personInfo.representing }}</span>
14 </template> 21 </template>
15 </el-table-column> 22 </el-table-column>
16 <el-table-column :label="language==0?'性别':'Gender'" prop="personInfo.sexStr" align="center"/> 23 <el-table-column :label="language==0?'性别':'Gender'" align="center" prop="personInfo.sexStr" />
17 <el-table-column v-if="!isNational" :label="language==0?'证件类型':'ID Type'" align="center" :width="language==0?'':'140'" prop="personInfo.idcTypeStr" header-align="center"/> 24 <el-table-column
18 <el-table-column v-if="!isNational" :label="language==0?'证件号码':'ID NO.'" prop="personInfo.idcCode" width="200" header-align="center"/> 25 v-if="!isNational" :label="language==0?'证件类型':'ID Type'" :width="language==0?'':'140'"
19 <el-table-column v-if="isNational" :label="language==0?'WDSF 会员号':'WDSF MIN'" prop="personInfo.wdsfMin" width="200" header-align="center"/> 26 align="center" header-align="center" prop="personInfo.idcTypeStr"
20 <el-table-column v-if="!isNational" :label="language==0?'出生日期':'Date of Birth'" align="center" prop="personInfo.birth" width="130" header-align="center"/> 27 />
21 <el-table-column v-if="isNational" :label="language==0?'年龄组':'Age group'" prop="personInfo.ageGroup" width="110" header-align="center"> 28 <el-table-column
22 </el-table-column> 29 v-if="!isNational" :label="language==0?'证件号码':'ID NO.'" header-align="center" prop="personInfo.idcCode"
23 <el-table-column v-if="isNational" :label="language==0?'舞种':'Division'" prop="personInfo.division" width="110" header-align="center"/> 30 width="200"
24 <!-- <el-table-column :label="language==0?'会员角色':'Role'" width="150">--> 31 />
25 <!-- <template #default="scope">--> 32 <el-table-column
26 <!-- <div class="esp">--> 33 v-if="isNational" :label="language==0?'WDSF 会员号':'WDSF MIN'" header-align="center"
27 <!-- <span v-for="item in scope.row.personInfo.label?.split(',')" :key="item.id" class="text-primary">--> 34 prop="personInfo.wdsfMin" width="200"
28 <!-- <span v-if="item==='0'" class="ml5">{{ language == 0 ? '运动员' : 'athletes' }}</span>--> 35 />
29 <!-- <span v-if="item==='1'" class="ml5">{{ language == 0 ? '教练' : 'coach' }}</span>--> 36 <el-table-column
30 <!-- <span v-if="item==='2'" class="ml5">{{ language == 0 ? '领队' : 'head of team' }}</span>--> 37 v-if="!isNational" :label="language==0?'出生日期':'Date of Birth'" align="center"
31 <!-- <span v-if="item==='4'" class="ml5">{{ language == 0 ? '队医' : 'Team doctor' }}</span>--> 38 header-align="center" prop="personInfo.birth" width="130"
32 <!-- <span v-if="item==='5'" class="ml5">{{ language == 0 ? '翻译' : 'Interpreter' }}</span>--> 39 />
33 <!-- <span v-if="item==='6'" class="ml5">{{ language == 0 ? '官员' : 'official' }}</span>--> 40 <el-table-column
34 <!-- <span v-if="item==='3'" class="ml5">{{ language == 0 ? '其他' : 'other' }}</span>--> 41 v-if="isNational" :label="language==0?'年龄组':'Age group'" header-align="center" prop="personInfo.ageGroup"
35 <!-- </span>--> 42 width="110"
36 <!-- </div>--> 43 />
37 <!-- </template>--> 44 <el-table-column
38 <!-- </el-table-column>--> 45 v-if="isNational" :label="language==0?'舞种':'Division'" header-align="center" prop="personInfo.division"
39 <!-- <el-table-column :label="language==0?'详细地址':'Detailed Address'" prop="personInfo.address" min-width="140"/>--> 46 width="110"
40 <el-table-column :label="language==0?'报项':'REGISTERED COMPETITION'" min-width="300" header-align="center" :fixed="hasAction?false:'right'"> 47 />
48 <!-- <el-table-column :label="language==0?'会员角色':'Role'" width="150">-->
49 <!-- <template #default="scope">-->
50 <!-- <div class="esp">-->
51 <!-- <span v-for="item in scope.row.personInfo.label?.split(',')" :key="item.id" class="text-primary">-->
52 <!-- <span v-if="item==='0'" class="ml5">{{ language == 0 ? '运动员' : 'athletes' }}</span>-->
53 <!-- <span v-if="item==='1'" class="ml5">{{ language == 0 ? '教练' : 'coach' }}</span>-->
54 <!-- <span v-if="item==='2'" class="ml5">{{ language == 0 ? '领队' : 'head of team' }}</span>-->
55 <!-- <span v-if="item==='4'" class="ml5">{{ language == 0 ? '队医' : 'Team doctor' }}</span>-->
56 <!-- <span v-if="item==='5'" class="ml5">{{ language == 0 ? '翻译' : 'Interpreter' }}</span>-->
57 <!-- <span v-if="item==='6'" class="ml5">{{ language == 0 ? '官员' : 'official' }}</span>-->
58 <!-- <span v-if="item==='3'" class="ml5">{{ language == 0 ? '其他' : 'other' }}</span>-->
59 <!-- </span>-->
60 <!-- </div>-->
61 <!-- </template>-->
62 <!-- </el-table-column>-->
63 <!-- <el-table-column :label="language==0?'详细地址':'Detailed Address'" prop="personInfo.address" min-width="140"/>-->
64 <el-table-column
65 :fixed="hasAction?false:'right'" :label="language==0?'报项':'REGISTERED COMPETITION'" header-align="center"
66 min-width="300"
67 >
41 <template #default="props"> 68 <template #default="props">
42 <ol> 69 <ol>
43 <li v-for="s in props.row.signInfo"> 70 <li v-for="s in props.row.signInfo" :key="s">
44 {{ s.cptProjectName }} 71 {{ s.cptProjectName }}
45 {{ s.cptGroupName }}{{ s.cptLevelName }} 72 {{ s.cptGroupName }}{{ s.cptLevelName }}
46 <span v-show="s.cptSonLevelName">[{{ s.cptSonLevelName }}]</span> 73 <span v-show="s.cptSonLevelName">[{{ s.cptSonLevelName }}]</span>
...@@ -52,47 +79,60 @@ ...@@ -52,47 +79,60 @@
52 </ol> 79 </ol>
53 </template> 80 </template>
54 </el-table-column> 81 </el-table-column>
55 <el-table-column :fixed="hasAction?false:'right'" min-width="100" align="center" :label="language==0?'保险费':'Premium'" prop="insuranceFee"> 82 <el-table-column
83 v-if="showSummary"
84 :fixed="hasAction?false:'right'" :label="language==0?'保险费':'Premium'" align="center"
85 min-width="100" prop="insuranceFee"
86 >
56 <template #default="scope"> 87 <template #default="scope">
57 <span class="text-primary">{{ language==0?'¥':'€' }}{{ scope.row.insuranceFee }}</span> 88 <span class="text-primary">{{ language == 0 ? '¥' : '€' }}{{ scope.row.insuranceFee }}</span>
58 </template> 89 </template>
59 </el-table-column> 90 </el-table-column>
60 <!-- 补充信息--> 91 <!-- 补充信息-->
61 <el-table-column v-for="(e,index) in extraTableHead" :key="index" :label="e" min-width="110" align="center"> 92 <el-table-column v-for="(e,index) in extraTableHead" :key="index" :label="e" align="center" min-width="110">
62 <template #default="scope"> 93 <template #default="scope">
63 <el-link v-if="scope.row.signInfo[0].extraPersonInfoMapList[index]?.type=='2'" 94 <el-link
95 v-if="scope.row.signInfo[0].extraPersonInfoMapList[index]?.type=='2'"
96 :href="fillImgUrl(scope.row.signInfo[0].extraPersonInfoMapList[index]?.value?.url)"
64 target="_blank" 97 target="_blank"
65 :href="fillImgUrl(scope.row.signInfo[0].extraPersonInfoMapList[index]?.value?.url)"> 98 >
66 <span class="text-primary">{{ scope.row.signInfo[0].extraPersonInfoMapList[index]?.value?.name }}</span> 99 <span class="text-primary">{{ scope.row.signInfo[0].extraPersonInfoMapList[index]?.value?.name }}</span>
67 </el-link> 100 </el-link>
68 <img v-else-if="scope.row.signInfo[0].extraPersonInfoMapList[index]?.type=='3'" style="width: 50px;" 101 <img
69 :src="fillImgUrl(scope.row.signInfo[0].extraPersonInfoMapList[index]?.value?.url||scope.row.signInfo[0]?.extraPersonInfoMapList[index]?.value)"> 102 v-else-if="scope.row.signInfo[0].extraPersonInfoMapList[index]?.type=='3'"
103 :src="fillImgUrl(scope.row.signInfo[0].extraPersonInfoMapList[index]?.value?.url||scope.row.signInfo[0]?.extraPersonInfoMapList[index]?.value)"
104 style="width: 50px;"
105 >
70 <span v-else>{{ scope.row.signInfo[0].extraPersonInfoMapList[index]?.value }}</span> 106 <span v-else>{{ scope.row.signInfo[0].extraPersonInfoMapList[index]?.value }}</span>
71 </template> 107 </template>
72 </el-table-column> 108 </el-table-column>
73 <el-table-column v-if="hasAction" :label="language==0?'操作':'Actions'" fixed="right" width="150" align="center"> 109 <el-table-column v-if="hasAction" :label="language==0?'操作':'Actions'" align="center" fixed="right" width="150">
74 <template #default="scope"> 110 <template #default="scope">
75 <el-button v-if="extraform&&extraform.length>0" type="primary" link @click="goPersonInfo(scope.row)"> 111 <el-button v-if="extraform&&extraform.length>0" link type="primary" @click="goPersonInfo(scope.row)">
76 <span v-if="scope.row.extraPersonInfo">{{ language == 0 ? '修改' : 'Edit' }}</span> 112 <span v-if="scope.row.extraPersonInfo">{{ language == 0 ? '修改' : 'Edit' }}</span>
77 <span v-else class="red">{{ language == 0?'完善补充信息':'Additional Information' }}</span> 113 <span v-else class="red">{{ language == 0 ? '完善补充信息' : 'Additional Information' }}</span>
78 </el-button> 114 </el-button>
79 </template> 115 </template>
80 </el-table-column> 116 </el-table-column>
81 </el-table> 117 </el-table>
82 <div v-if="showSummary" class="rowSummary"> 118 <div class="rowSummary">
83 <div> 119 <div>
84 {{ language==0?'总人数':'Count' }}: <span class="mr20">{{ list.length }}</span> 120 <div style="display: inline-block">
121 {{ language == 0 ? '总人数' : 'Count' }}: <span class="mr20">{{ list.length }}</span>
122 </div>
123
124 <div v-if="showSummary" style="display: inline-block">
125 {{ language == 0 ? '金额小计' : 'Amount' }}: <span>{{ language == 0 ? '¥' : '€' }}{{ total }}</span>
126 </div>
85 127
86 {{ language==0?'金额小计':'Amount' }}: <span>{{ language==0?'¥':'€' }}{{ total }}</span>
87 </div> 128 </div>
88 </div> 129 </div>
89 130
90 </template> 131 </template>
91 132
92 <script setup> 133 <script setup>
93 import * as match from "@/apiPc/match"; 134 import * as match from '@/apiPc/match'
94 import {onMounted} from "@vue/runtime-core"; 135 import { ref } from 'vue'
95 import {watch} from "vue";
96 136
97 const emit = defineEmits(['editExtra']) 137 const emit = defineEmits(['editExtra'])
98 const props = defineProps({ 138 const props = defineProps({
...@@ -113,19 +153,20 @@ const props = defineProps({ ...@@ -113,19 +153,20 @@ const props = defineProps({
113 required: false, 153 required: false,
114 default: true 154 default: true
115 }, 155 },
116 showSummary:{ 156 showSummary: {
117 type: Boolean, 157 type: Boolean,
118 required: false, 158 required: false,
119 default: false 159 default: false
120 }, 160 },
121 total:{ 161 total: {
122 type: Number, 162 type: Number,
123 required: false, 163 required: false,
124 default: '0' 164 default: 0
125 } 165 }
126 }) 166 })
127 import {useStorage} from "@vueuse/core/index"; 167 import { useStorage } from '@vueuse/core/index'
128 const language= useStorage('language',0) 168
169 const language = useStorage('language', 0)
129 const extraTableHead = ref([]) 170 const extraTableHead = ref([])
130 const loading = ref(true) 171 const loading = ref(true)
131 const isNational = ref(false) 172 const isNational = ref(false)
...@@ -135,17 +176,19 @@ getMatch() ...@@ -135,17 +176,19 @@ getMatch()
135 const goPersonInfo = (row) => { 176 const goPersonInfo = (row) => {
136 emit('editExtra', row) 177 emit('editExtra', row)
137 } 178 }
179
138 function getTableHead() { 180 function getTableHead() {
139 match.getCptExtraInfo(props.matchId).then(res => { 181 match.getCptExtraInfo(props.matchId).then(res => {
140 extraTableHead.value = res.data 182 extraTableHead.value = res.data
141 loading.value = false 183 loading.value = false
142 }) 184 })
143 } 185 }
186
144 function getMatch() { 187 function getMatch() {
145 match.getMatchById({ id: props.matchId }).then(res => { 188 match.getMatchById({ id: props.matchId }).then(res => {
146 if(res.data.languageSource == '100'){ 189 if (res.data.languageSource == '100') {
147 isNational.value = false 190 isNational.value = false
148 }else { 191 } else {
149 isNational.value = true 192 isNational.value = true
150 } 193 }
151 }) 194 })
...@@ -155,18 +198,27 @@ function totalMethod() { ...@@ -155,18 +198,27 @@ function totalMethod() {
155 } 198 }
156 </script> 199 </script>
157 200
158 <style scoped lang="scss"> 201 <style lang="scss" scoped>
159 .rowSummary{text-align: right;padding: 0 20px; 202 .rowSummary {
160 height: 40px;line-height: 40px; 203 text-align: right;
161 background: #FAFBFD;font-size: 16px; 204 padding: 0 20px;
205 height: 40px;
206 line-height: 40px;
207 background: #FAFBFD;
208 font-size: 16px;
162 color: #95A1A6; 209 color: #95A1A6;
163 border: 1px solid #EEEFF0; 210 border: 1px solid #EEEFF0;
164 span{font-size: 18px;font-family: DIN Alternate; 211
165 color: #000;} 212 span {
213 font-size: 18px;
214 font-family: DIN Alternate;
215 color: #000;
216 }
166 } 217 }
167 :deep(.el-table){ 218
168 th.cell{ 219 :deep(.el-table) {
220 th.cell {
169 text-transform: uppercase; 221 text-transform: uppercase;
170 } 222 }
171 } 223 }
172 </style> 224 </style>
......
...@@ -5,23 +5,23 @@ ...@@ -5,23 +5,23 @@
5 <div slot="header"> 5 <div slot="header">
6 <div class="bg-lineg">{{ language == 0 ? '报名缴费清单' : 'Registration Payment List' }}</div> 6 <div class="bg-lineg">{{ language == 0 ? '报名缴费清单' : 'Registration Payment List' }}</div>
7 </div> 7 </div>
8 <match-info-row v-if="matchId" :match-id="matchId"/> 8 <match-info-row v-if="matchId" :match-id="matchId" />
9 <div v-if="isLogin"> 9 <div v-if="isLogin">
10 <group-info-row v-if="groupId" :group-id="groupId" :match-id="matchId"/> 10 <group-info-row v-if="groupId" :group-id="groupId" :match-id="matchId" />
11 <coach-info-row v-if="groupId" :group-id="groupId" :match-id="matchId"/> 11 <coach-info-row v-if="groupId" :group-id="groupId" :match-id="matchId" />
12 12
13 <div v-if="user.utype=='1'&&myMemberTable.length>0" class="pd20"> 13 <div v-if="user.utype=='1'&&myMemberTable.length>0" class="pd20">
14 <div class="leftboderTT">{{ language == 0 ? '随行人员清单' : 'List of accompanying personnel' }} 14 <div class="leftboderTT">{{ language == 0 ? '随行人员清单' : 'List of accompanying personnel' }}
15 </div> 15 </div>
16 <div> 16 <div>
17 <el-table :data="myMemberTable" border class="mt20"> 17 <el-table :data="myMemberTable" border class="mt20">
18 <el-table-column :label="language=='0'?'序号':'Index'" align="center" type="index" width="70"/> 18 <el-table-column :label="language=='0'?'序号':'Index'" align="center" type="index" width="70" />
19 <el-table-column :label="language=='1'?'Surname':'姓氏'" min-width="100" prop="xing"/> 19 <el-table-column :label="language=='1'?'Surname':'姓氏'" min-width="100" prop="xing" />
20 <el-table-column :label="language=='0'?'名':'Name'" min-width="100" prop="ming"/> 20 <el-table-column :label="language=='0'?'名':'Name'" min-width="100" prop="ming" />
21 <el-table-column :label="language==0?'国家/地区':'Nationality'" min-width="100" prop="countryName"/> 21 <el-table-column :label="language==0?'国家/地区':'Nationality'" min-width="100" prop="countryName" />
22 <!-- <el-table-column :label="language=='1'?'Passport number':'护照号'" prop="idcCode" min-width="120"/>--> 22 <!-- <el-table-column :label="language=='1'?'Passport number':'护照号'" prop="idcCode" min-width="120"/>-->
23 <!-- <el-table-column :label="language=='1'?'Birthday':'生日'" prop="birth"/>--> 23 <!-- <el-table-column :label="language=='1'?'Birthday':'生日'" prop="birth"/>-->
24 <el-table-column :label="language=='1'?'Gender':'性别'" prop="sexStr"/> 24 <el-table-column :label="language=='1'?'Gender':'性别'" prop="sexStr" />
25 <el-table-column :label="language=='1'?'Role':'角色'" min-width="160"> 25 <el-table-column :label="language=='1'?'Role':'角色'" min-width="160">
26 <template #default="scope"> 26 <template #default="scope">
27 <div class="roletd"> 27 <div class="roletd">
...@@ -43,42 +43,50 @@ ...@@ -43,42 +43,50 @@
43 <div v-if="signInfoList?.length>0||zuQuery.athName" class="pd20"> 43 <div v-if="signInfoList?.length>0||zuQuery.athName" class="pd20">
44 <div class="leftboderTT">{{ language == 0 ? '参赛人员保险费' : 'Participant Insurance Fee' }} 44 <div class="leftboderTT">{{ language == 0 ? '参赛人员保险费' : 'Participant Insurance Fee' }}
45 <div class="fr"> 45 <div class="fr">
46 <el-input v-model="zuQuery.athName" :prefix-icon="Search" clearable 46 <el-input
47 size="small" @change="getSignList"/> 47 v-model="zuQuery.athName" :prefix-icon="Search" clearable
48 size="small" @change="getSignList"
49 />
48 </div> 50 </div>
49 </div> 51 </div>
50 <!-- 人员列表--> 52 <!-- 人员列表-->
51 <sign-info-table v-if="matchId" :hasAction="false" :list="signInfoList" :match-id="matchId" 53 <sign-info-table
52 :show-summary="true" :total="insuranceFeeTotal" class="mt20"/> 54 v-if="matchId" :has-action="false" :list="signInfoList" :match-id="matchId"
55 :show-summary="true" :total="insuranceFeeTotal" class="mt20"
56 />
53 </div> 57 </div>
54 <div v-if="zuTableList?.length>0||zuQuery.groName" class="pd20"> 58 <div v-if="zuTableList?.length>0||zuQuery.groName" class="pd20">
55 <div class="leftboderTT">{{ language == 0 ? '参赛设项服务费' : 'Registration Fee for Event Entry' }} 59 <div class="leftboderTT">{{ language == 0 ? '参赛设项服务费' : 'Registration Fee for Event Entry' }}
56 <div class="fr"> 60 <div class="fr">
57 <el-input v-model="zuQuery.groName" :prefix-icon="Search" clearable 61 <el-input
58 size="small" @change="getSignList"/> 62 v-model="zuQuery.groName" :prefix-icon="Search" clearable
63 size="small" @change="getSignList"
64 />
59 </div> 65 </div>
60 </div> 66 </div>
61 <zu-table :hasAction="false" :list="zuTableList" :show-summary="true" :total="serviceFeeTotal" 67 <zu-table
62 class="mt20"/> 68 :has-action="false" :list="zuTableList" :show-summary="true" :total="serviceFeeTotal"
69 class="mt20"
70 />
63 </div> 71 </div>
64 <el-row class="priceBar"> 72 <el-row class="priceBar">
65 <el-col :lg="12" :xs="24" class="pl-15"> 73 <el-col :lg="12" :xs="24" class="pl-15">
66 <el-link class="mr10" type="primary" @click="exportSignList(1)"> 74 <el-link class="mr10" type="primary" @click="exportSignList(1)">
67 <el-icon> 75 <el-icon>
68 <Upload/> 76 <Upload />
69 </el-icon> 77 </el-icon>
70 {{ language == 0 ? '导出参赛人员清单' : 'Export Participant List' }} 78 {{ language == 0 ? '导出参赛人员清单' : 'Export Participant List' }}
71 </el-link> 79 </el-link>
72 <el-link class="mr10" type="primary" @click="exportSignList(2)"> 80 <el-link class="mr10" type="primary" @click="exportSignList(2)">
73 <el-icon> 81 <el-icon>
74 <Upload/> 82 <Upload />
75 </el-icon> 83 </el-icon>
76 {{ language == 0 ? '导出设项报名清单' : 'Export LIST OF REGISTERED COMPETITIONS' }} 84 {{ language == 0 ? '导出设项报名清单' : 'Export LIST OF REGISTERED COMPETITIONS' }}
77 </el-link> 85 </el-link>
78 86
79 <el-link type="primary" @click="exportPdf"> 87 <el-link type="primary" @click="exportPdf">
80 <el-icon> 88 <el-icon>
81 <Upload/> 89 <Upload />
82 </el-icon> 90 </el-icon>
83 {{ language == 0 ? '导出pdf' : 'Export PDF' }} 91 {{ language == 0 ? '导出pdf' : 'Export PDF' }}
84 </el-link> 92 </el-link>
...@@ -92,15 +100,18 @@ ...@@ -92,15 +100,18 @@
92 language == 0 ? '保险费' : 'INSURANCE' 100 language == 0 ? '保险费' : 'INSURANCE'
93 }}:</label><span>{{ language == 0 ? '¥' : '€' }}{{ insuranceFeeTotal }}</span></div> 101 }}:</label><span>{{ language == 0 ? '¥' : '€' }}{{ insuranceFeeTotal }}</span></div>
94 <div class="item"><label>{{ language == 0 ? '费用总计' : 'Total Cost' }}:</label><span 102 <div class="item"><label>{{ language == 0 ? '费用总计' : 'Total Cost' }}:</label><span
95 class="size26">{{ language == 0 ? '¥' : '€' }}{{ form.totalFee }}</span></div> 103 class="size26"
104 >{{ language == 0 ? '¥' : '€' }}{{ form.totalFee }}</span></div>
96 </div> 105 </div>
97 </el-col> 106 </el-col>
98 </el-row> 107 </el-row>
99 </div> 108 </div>
100 <div v-else class="pd20 skeletonBox"> 109 <div v-else class="pd20 skeletonBox">
101 <el-skeleton :rows="8"/> 110 <el-skeleton :rows="8" />
102 <el-button :style="language == 0 ?'width:200px':'width:400px'" class="btn-lineG" round size="large" 111 <el-button
103 type="primary" @click="showLogin"> 112 :style="language == 0 ?'width:200px':'width:400px'" class="btn-lineG" round size="large"
113 type="primary" @click="showLogin"
114 >
104 {{ language == 0 ? '登录后查看详细报项信息' : 'View detailed report information after logging in' }} 115 {{ language == 0 ? '登录后查看详细报项信息' : 'View detailed report information after logging in' }}
105 </el-button> 116 </el-button>
106 </div> 117 </div>
...@@ -133,16 +144,20 @@ ...@@ -133,16 +144,20 @@
133 </el-col> 144 </el-col>
134 <el-col v-if="Number(form.totalFee)>0" :lg="12"> 145 <el-col v-if="Number(form.totalFee)>0" :lg="12">
135 <div v-if="form.payStatus=='0'" class="priceb">{{ language == 0 ? '待支付金额' : 'Amount Due' }}:<span 146 <div v-if="form.payStatus=='0'" class="priceb">{{ language == 0 ? '待支付金额' : 'Amount Due' }}:<span
136 class="price">{{ language == 0 ? '¥' : '€' }}{{ Number(totalFee).toFixed(2) }}</span></div> 147 class="price"
148 >{{ language == 0 ? '¥' : '€' }}{{ Number(totalFee).toFixed(2) }}</span></div>
137 <div v-else-if="form.payStatus=='1'" class="priceb">{{ 149 <div v-else-if="form.payStatus=='1'" class="priceb">{{
138 language == 0 ? '线下支付待核销' : 'Amount Due' 150 language == 0 ? '线下支付待核销' : 'Amount Due'
139 }}:<span class="price">{{ language == 0 ? '¥' : '€' }}{{ Number(totalFee).toFixed(2) }}</span></div> 151 }}:<span class="price">{{ language == 0 ? '¥' : '€' }}{{ Number(totalFee).toFixed(2) }}</span></div>
140 <div v-else-if="form.payStatus=='3'" class="priceb">{{ language == 0 ? '已支付金额' : 'Amount Due' }}:<span 152 <div v-else-if="form.payStatus=='3'" class="priceb">{{ language == 0 ? '已支付金额' : 'Amount Due' }}:<span
141 class="price">{{ language == 0 ? '¥' : '€' }}{{ Number(totalFee).toFixed(2) }}</span></div> 153 class="price"
154 >{{ language == 0 ? '¥' : '€' }}{{ Number(totalFee).toFixed(2) }}</span></div>
142 <div v-else-if="form.payStatus=='5'" class="priceb">{{ language == 0 ? '已退款' : 'Refunded' }}:<span 155 <div v-else-if="form.payStatus=='5'" class="priceb">{{ language == 0 ? '已退款' : 'Refunded' }}:<span
143 class="price">{{ language == 0 ? '¥' : '€' }}{{ Number(totalFee).toFixed(2) }}</span></div> 156 class="price"
157 >{{ language == 0 ? '¥' : '€' }}{{ Number(totalFee).toFixed(2) }}</span></div>
144 <div v-else class="priceb">{{ language == 0 ? '费用总计' : 'Amount Due' }}:<span 158 <div v-else class="priceb">{{ language == 0 ? '费用总计' : 'Amount Due' }}:<span
145 class="price">{{ language == 0 ? '¥' : '€' }}{{ Number(totalFee).toFixed(2) }}</span></div> 159 class="price"
160 >{{ language == 0 ? '¥' : '€' }}{{ Number(totalFee).toFixed(2) }}</span></div>
146 </el-col> 161 </el-col>
147 </el-row> 162 </el-row>
148 </el-card> 163 </el-card>
...@@ -156,74 +171,98 @@ ...@@ -156,74 +171,98 @@
156 <!-- </el-radio>--> 171 <!-- </el-radio>-->
157 <el-radio v-if="form.payTypeArr.indexOf('2')>-1" border label="2"> 172 <el-radio v-if="form.payTypeArr.indexOf('2')>-1" border label="2">
158 <!-- 微信--> 173 <!-- 微信-->
159 <svg class="icon" height="40" p-id="24747" t="1709002960407" 174 <svg
160 version="1.1" viewBox="0 0 3152 1024" width="94" xmlns="http://www.w3.org/2000/svg"> 175 class="icon" height="40" p-id="24747" t="1709002960407"
176 version="1.1" viewBox="0 0 3152 1024" width="94" xmlns="http://www.w3.org/2000/svg"
177 >
161 <path 178 <path
162 d="M381.998922 630.960647c-4.416173 2.208086-8.832345 3.312129-14.352561 3.312129-12.144474 0-22.080863-7.17628-28.1531-17.66469l-2.208086-4.968194-87.771428-204.247978c-1.104043-2.208086-1.104043-4.416173-1.104043-6.624259 0-9.384367 6.624259-16.560647 15.456603-16.560647 3.312129 0 6.624259 1.104043 9.936388 3.312129l103.780054 78.387062c7.728302 4.968194 16.560647 8.280323 26.497035 8.280324 5.520216 0 11.040431-1.104043 16.560647-3.312129l486.330998-230.192992C819.752022 131.381132 676.226415 60.17035 513.380054 60.17035 248.409704 59.618329 32.017251 250.61779 32.017251 486.883019c0 128.069003 64.586523 244.545553 166.15849 322.932614 7.728302 6.072237 13.248518 16.560647 13.248518 27.601079 0 3.312129-1.104043 7.17628-2.208086 10.488409-7.728302 32.017251-20.976819 84.459299-20.97682 86.667386-1.104043 3.312129-2.208086 8.280323-2.208086 13.248517 0 9.384367 6.624259 16.560647 15.456604 16.560647 3.312129 0 6.624259-1.104043 8.832345-3.312129l104.884097-65.138545c7.728302-4.968194 16.560647-8.280323 25.392992-8.280323 4.416173 0 9.936388 1.104043 14.35256 2.208086 49.129919 15.456604 102.676011 23.736927 157.326146 23.736927 265.522372 0 481.362803-191.551482 481.362803-427.816711 0-71.210782-19.872776-139.109434-54.650135-198.175741L385.863073 628.752561l-3.864151 2.208086z" 179 d="M381.998922 630.960647c-4.416173 2.208086-8.832345 3.312129-14.352561 3.312129-12.144474 0-22.080863-7.17628-28.1531-17.66469l-2.208086-4.968194-87.771428-204.247978c-1.104043-2.208086-1.104043-4.416173-1.104043-6.624259 0-9.384367 6.624259-16.560647 15.456603-16.560647 3.312129 0 6.624259 1.104043 9.936388 3.312129l103.780054 78.387062c7.728302 4.968194 16.560647 8.280323 26.497035 8.280324 5.520216 0 11.040431-1.104043 16.560647-3.312129l486.330998-230.192992C819.752022 131.381132 676.226415 60.17035 513.380054 60.17035 248.409704 59.618329 32.017251 250.61779 32.017251 486.883019c0 128.069003 64.586523 244.545553 166.15849 322.932614 7.728302 6.072237 13.248518 16.560647 13.248518 27.601079 0 3.312129-1.104043 7.17628-2.208086 10.488409-7.728302 32.017251-20.976819 84.459299-20.97682 86.667386-1.104043 3.312129-2.208086 8.280323-2.208086 13.248517 0 9.384367 6.624259 16.560647 15.456604 16.560647 3.312129 0 6.624259-1.104043 8.832345-3.312129l104.884097-65.138545c7.728302-4.968194 16.560647-8.280323 25.392992-8.280323 4.416173 0 9.936388 1.104043 14.35256 2.208086 49.129919 15.456604 102.676011 23.736927 157.326146 23.736927 265.522372 0 481.362803-191.551482 481.362803-427.816711 0-71.210782-19.872776-139.109434-54.650135-198.175741L385.863073 628.752561l-3.864151 2.208086z"
163 fill="#09BB07" p-id="24748"></path> 180 fill="#09BB07" p-id="24748"
181 />
164 <path 182 <path
165 d="M1398.822642 381.998922c-9.384367 19.320755-20.424798 38.641509-32.017251 57.962264v263.866307h-31.465229V485.226954c-13.248518 18.216712-27.049057 34.225337-40.297574 48.025876-3.864151-7.17628-14.352561-23.736927-20.424798-30.361186 34.777358-33.673315 71.210782-82.803235 93.843666-131.933153l30.361186 11.040431z m-8.280324-91.63558c-22.632884 36.985445-59.066307 78.939084-91.635579 105.98814-4.416173-7.17628-13.248518-19.320755-19.320755-25.945013 29.809164-23.736927 62.378437-61.274394 78.939083-92.187601l32.017251 12.144474z m181.615094 289.811321c1.656065 7.728302 6.072237 19.320755 8.832345 24.84097-55.754178 37.537466-66.242588 46.369811-72.866846 54.650135-1.656065-7.728302-8.280323-22.080863-12.696496-28.705121 4.968194-3.312129 12.696496-10.48841 12.696496-28.705121v-54.098114h-60.17035v27.049057c0 38.641509-7.728302 91.083558-42.505661 128.069003-4.416173-7.17628-16.560647-19.320755-22.632884-23.184906 29.809164-31.465229 34.225337-72.866846 34.225337-105.436119v-54.098113h118.684636v82.251213l36.433423-22.632884z m123.100809-176.094879c-9.384367 73.970889-23.184906 136.349326-48.025876 187.687332 16.560647 36.433423 39.193531 66.242588 67.346631 83.355256-7.17628 6.072237-17.112668 18.216712-22.632884 27.049057-25.945013-18.216712-46.369811-45.265768-62.930459-78.939084-20.424798 32.017251-45.81779 59.066307-78.939083 81.699191-3.864151-6.624259-13.248518-19.872776-19.872776-25.392992 36.985445-22.632884 64.034501-52.99407 83.907277-89.979514-12.696496-34.777358-22.080863-73.418868-28.705121-115.372507-4.968194 11.040431-10.48841 22.632884-16.560647 31.465229-3.864151-4.416173-10.48841-13.248518-17.112668-20.424798v5.520216h-154.014017v-29.809165h154.014017v9.384367c24.84097-49.129919 37.537466-118.684636 44.713746-191.551483l31.465229 4.968195c-3.864151 31.465229-8.280323 61.274394-13.800539 90.531536h96.051752v29.809164h-14.904582z m-142.973585 22.632884h-145.181671v-110.404312h24.84097v82.251213h35.32938V278.770889h26.497035v119.78868h33.673316V316.308356h25.392992v110.404312z m55.202156-22.632884c-1.656065 6.624259-3.312129 12.696496-4.416172 18.768734 6.072237 46.369811 14.904582 91.083558 28.1531 130.277088 16.560647-43.057682 26.497035-91.63558 32.569272-149.045822h-56.3062zM1882.393531 289.259299c-10.48841 31.465229-24.288949 62.378437-39.193531 91.63558v324.036657h-32.017251V437.201078c-13.800539 22.632884-29.257143 42.50566-44.161725 60.170351-3.312129-7.728302-13.248518-24.288949-19.320754-32.017251 41.953639-45.265768 80.043127-114.820485 103.780053-184.927224l30.913208 8.832345z m288.707278 65.690566v29.257143h-294.779515v-29.257143h294.779515z m-267.730459 199.831806h235.713208v147.941779h-30.913208v-16.560647h-174.438814v18.216712h-30.361186v-149.597844z m231.297035-104.332075H1909.994609v-28.1531h224.672776v28.1531zM1909.994609 486.883019h224.672776v28.1531H1909.994609v-28.1531z m23.736927 96.603773V656.90566h174.438814v-73.418868h-174.438814z m81.699192-231.297035c-6.072237-16.560647-20.424798-43.057682-32.017251-61.826415l29.257143-12.144474c13.248518 19.320755 27.601078 44.161725 34.225337 60.722372l-31.465229 13.248517zM2586.221024 468.114286c-26.497035 63.48248-69.002695 111.508356-122.548787 147.941779 50.785984 25.945013 110.956334 43.609704 180.511051 52.442048-7.728302 8.280323-16.560647 23.184906-21.528841 33.673316-75.074933-11.592453-139.661456-32.569272-192.655525-64.034502-57.962264 32.017251-125.308895 52.99407-195.415634 66.794609-3.312129-9.384367-12.696496-25.392992-19.320754-33.121293 66.242588-10.48841 129.173046-28.1531 183.271159-55.202157-44.161725-32.017251-78.939084-72.866846-103.780054-123.65283l10.48841-3.864151h-49.12992v-34.225337h155.670081V383.654987h-176.6469v-34.225337h176.6469V278.770889h35.32938v70.658761h177.750944v34.225337h-177.750944v71.210781H2555.859838l7.176281-1.656064 23.184905 14.904582z m-255.033962 20.976819c23.184906 43.609704 56.858221 80.043127 100.467925 108.748248 44.161725-28.1531 80.043127-63.48248 104.332075-108.748248h-204.8zM2834.630728 292.571429c-13.800539 34.777358-30.361186 69.554717-49.129919 101.571967v308.580054h-34.225337V447.689488c-14.904582 20.976819-31.465229 40.297574-46.921833 56.306199-4.416173-7.728302-14.904582-25.945013-21.528841-34.225337 47.473854-45.265768 91.63558-115.924528 118.132614-188.239353l33.673316 11.040432z m270.490566 123.65283h-58.514286v240.12938c0 25.945013-7.728302 36.985445-24.84097 41.953639-18.216712 5.520216-49.129919 6.072237-99.915903 5.520215-1.656065-8.832345-8.280323-24.84097-13.248518-34.225337 39.193531 1.656065 77.283019 1.656065 88.32345 1.104043 10.48841-1.104043 14.352561-3.864151 14.352561-14.35256V416.224259h-187.687332v-34.225337h187.687332V283.739084h34.777359v97.707816h58.514285v34.777359z m-184.375202 178.854986c-13.800539-28.705121-43.609704-78.939084-67.346631-115.924528l29.809164-13.800539c24.288949 35.881402 55.202156 84.459299 70.106739 112.612399l-32.569272 17.112668z" 183 d="M1398.822642 381.998922c-9.384367 19.320755-20.424798 38.641509-32.017251 57.962264v263.866307h-31.465229V485.226954c-13.248518 18.216712-27.049057 34.225337-40.297574 48.025876-3.864151-7.17628-14.352561-23.736927-20.424798-30.361186 34.777358-33.673315 71.210782-82.803235 93.843666-131.933153l30.361186 11.040431z m-8.280324-91.63558c-22.632884 36.985445-59.066307 78.939084-91.635579 105.98814-4.416173-7.17628-13.248518-19.320755-19.320755-25.945013 29.809164-23.736927 62.378437-61.274394 78.939083-92.187601l32.017251 12.144474z m181.615094 289.811321c1.656065 7.728302 6.072237 19.320755 8.832345 24.84097-55.754178 37.537466-66.242588 46.369811-72.866846 54.650135-1.656065-7.728302-8.280323-22.080863-12.696496-28.705121 4.968194-3.312129 12.696496-10.48841 12.696496-28.705121v-54.098114h-60.17035v27.049057c0 38.641509-7.728302 91.083558-42.505661 128.069003-4.416173-7.17628-16.560647-19.320755-22.632884-23.184906 29.809164-31.465229 34.225337-72.866846 34.225337-105.436119v-54.098113h118.684636v82.251213l36.433423-22.632884z m123.100809-176.094879c-9.384367 73.970889-23.184906 136.349326-48.025876 187.687332 16.560647 36.433423 39.193531 66.242588 67.346631 83.355256-7.17628 6.072237-17.112668 18.216712-22.632884 27.049057-25.945013-18.216712-46.369811-45.265768-62.930459-78.939084-20.424798 32.017251-45.81779 59.066307-78.939083 81.699191-3.864151-6.624259-13.248518-19.872776-19.872776-25.392992 36.985445-22.632884 64.034501-52.99407 83.907277-89.979514-12.696496-34.777358-22.080863-73.418868-28.705121-115.372507-4.968194 11.040431-10.48841 22.632884-16.560647 31.465229-3.864151-4.416173-10.48841-13.248518-17.112668-20.424798v5.520216h-154.014017v-29.809165h154.014017v9.384367c24.84097-49.129919 37.537466-118.684636 44.713746-191.551483l31.465229 4.968195c-3.864151 31.465229-8.280323 61.274394-13.800539 90.531536h96.051752v29.809164h-14.904582z m-142.973585 22.632884h-145.181671v-110.404312h24.84097v82.251213h35.32938V278.770889h26.497035v119.78868h33.673316V316.308356h25.392992v110.404312z m55.202156-22.632884c-1.656065 6.624259-3.312129 12.696496-4.416172 18.768734 6.072237 46.369811 14.904582 91.083558 28.1531 130.277088 16.560647-43.057682 26.497035-91.63558 32.569272-149.045822h-56.3062zM1882.393531 289.259299c-10.48841 31.465229-24.288949 62.378437-39.193531 91.63558v324.036657h-32.017251V437.201078c-13.800539 22.632884-29.257143 42.50566-44.161725 60.170351-3.312129-7.728302-13.248518-24.288949-19.320754-32.017251 41.953639-45.265768 80.043127-114.820485 103.780053-184.927224l30.913208 8.832345z m288.707278 65.690566v29.257143h-294.779515v-29.257143h294.779515z m-267.730459 199.831806h235.713208v147.941779h-30.913208v-16.560647h-174.438814v18.216712h-30.361186v-149.597844z m231.297035-104.332075H1909.994609v-28.1531h224.672776v28.1531zM1909.994609 486.883019h224.672776v28.1531H1909.994609v-28.1531z m23.736927 96.603773V656.90566h174.438814v-73.418868h-174.438814z m81.699192-231.297035c-6.072237-16.560647-20.424798-43.057682-32.017251-61.826415l29.257143-12.144474c13.248518 19.320755 27.601078 44.161725 34.225337 60.722372l-31.465229 13.248517zM2586.221024 468.114286c-26.497035 63.48248-69.002695 111.508356-122.548787 147.941779 50.785984 25.945013 110.956334 43.609704 180.511051 52.442048-7.728302 8.280323-16.560647 23.184906-21.528841 33.673316-75.074933-11.592453-139.661456-32.569272-192.655525-64.034502-57.962264 32.017251-125.308895 52.99407-195.415634 66.794609-3.312129-9.384367-12.696496-25.392992-19.320754-33.121293 66.242588-10.48841 129.173046-28.1531 183.271159-55.202157-44.161725-32.017251-78.939084-72.866846-103.780054-123.65283l10.48841-3.864151h-49.12992v-34.225337h155.670081V383.654987h-176.6469v-34.225337h176.6469V278.770889h35.32938v70.658761h177.750944v34.225337h-177.750944v71.210781H2555.859838l7.176281-1.656064 23.184905 14.904582z m-255.033962 20.976819c23.184906 43.609704 56.858221 80.043127 100.467925 108.748248 44.161725-28.1531 80.043127-63.48248 104.332075-108.748248h-204.8zM2834.630728 292.571429c-13.800539 34.777358-30.361186 69.554717-49.129919 101.571967v308.580054h-34.225337V447.689488c-14.904582 20.976819-31.465229 40.297574-46.921833 56.306199-4.416173-7.728302-14.904582-25.945013-21.528841-34.225337 47.473854-45.265768 91.63558-115.924528 118.132614-188.239353l33.673316 11.040432z m270.490566 123.65283h-58.514286v240.12938c0 25.945013-7.728302 36.985445-24.84097 41.953639-18.216712 5.520216-49.129919 6.072237-99.915903 5.520215-1.656065-8.832345-8.280323-24.84097-13.248518-34.225337 39.193531 1.656065 77.283019 1.656065 88.32345 1.104043 10.48841-1.104043 14.352561-3.864151 14.352561-14.35256V416.224259h-187.687332v-34.225337h187.687332V283.739084h34.777359v97.707816h58.514285v34.777359z m-184.375202 178.854986c-13.800539-28.705121-43.609704-78.939084-67.346631-115.924528l29.809164-13.800539c24.288949 35.881402 55.202156 84.459299 70.106739 112.612399l-32.569272 17.112668z"
166 fill="#595757" p-id="24749"></path> 184 fill="#595757" p-id="24749"
185 />
167 </svg> 186 </svg>
168 </el-radio> 187 </el-radio>
169 <el-radio v-if="form.payTypeArr.indexOf('0')>-1" border label="3"> 188 <el-radio v-if="form.payTypeArr.indexOf('0')>-1" border label="3">
170 <!-- 线下--> 189 <!-- 线下-->
171 <svg class="icon" height="40" p-id="32905" t="1709003441012" 190 <svg
172 version="1.1" viewBox="0 0 3527 1024" width="90" xmlns="http://www.w3.org/2000/svg"> 191 class="icon" height="40" p-id="32905" t="1709003441012"
192 version="1.1" viewBox="0 0 3527 1024" width="90" xmlns="http://www.w3.org/2000/svg"
193 >
173 <path 194 <path
174 d="M316.703858 1.763556h392.789333c54.840889 0 88.917333 45.966222 76.145778 102.542222l-182.897778 807.452444c-12.885333 56.405333-67.783111 102.4-122.652444 102.4H87.327858c-54.755556 0-88.917333-45.994667-76.145778-102.4L194.136747 104.305778C206.936747 47.729778 261.80608 1.763556 316.703858 1.763556" 195 d="M316.703858 1.763556h392.789333c54.840889 0 88.917333 45.966222 76.145778 102.542222l-182.897778 807.452444c-12.885333 56.405333-67.783111 102.4-122.652444 102.4H87.327858c-54.755556 0-88.917333-45.994667-76.145778-102.4L194.136747 104.305778C206.936747 47.729778 261.80608 1.763556 316.703858 1.763556"
175 fill="#E0002B" p-id="32906"></path> 196 fill="#E0002B" p-id="32906"
197 />
176 <path 198 <path
177 d="M679.569636 1.763556H1120.515413c53.532444 0 29.383111 45.966222 16.782223 102.542222l-178.460445 807.452444c-12.515556 56.405333-8.618667 102.4-62.264889 102.4H455.626524c-53.617778 0-86.812444-45.994667-74.211555-102.4L559.903858 104.305778C572.59008 47.729778 626.037191 1.763556 679.569636 1.763556" 199 d="M679.569636 1.763556H1120.515413c53.532444 0 29.383111 45.966222 16.782223 102.542222l-178.460445 807.452444c-12.515556 56.405333-8.618667 102.4-62.264889 102.4H455.626524c-53.617778 0-86.812444-45.994667-74.211555-102.4L559.903858 104.305778C572.59008 47.729778 626.037191 1.763556 679.569636 1.763556"
178 fill="#004380" p-id="32907"></path> 200 fill="#004380" p-id="32907"
201 />
179 <path 202 <path
180 d="M1106.748302 1.763556h388.096c54.243556 0 87.921778 45.966222 75.178667 102.542222l-180.622222 807.452444c-12.771556 56.405333-67.043556 102.4-121.287111 102.4H880.245191c-54.272 0-87.921778-45.994667-75.235555-102.4L985.688747 104.305778C998.31808 47.729778 1052.504747 1.763556 1106.776747 1.763556" 203 d="M1106.748302 1.763556h388.096c54.243556 0 87.921778 45.966222 75.178667 102.542222l-180.622222 807.452444c-12.771556 56.405333-67.043556 102.4-121.287111 102.4H880.245191c-54.272 0-87.921778-45.994667-75.235555-102.4L985.688747 104.305778C998.31808 47.729778 1052.504747 1.763556 1106.776747 1.763556"
181 fill="#007A8A" p-id="32908"></path> 204 fill="#007A8A" p-id="32908"
205 />
182 <path 206 <path
183 d="M1135.192747 604.416l-42.410667 173.568h11.434667l-8.874667 35.84h-11.320889l-2.673778 11.064889h-40.391111l2.759111-11.064889h-81.92l8.192-33.166222h8.334223l42.979555-176.241778 8.590222-35.527111h41.130667l-4.323556 17.92s10.979556-9.756444 21.361778-13.084445c10.382222-3.413333 70.001778-4.636444 70.001778-4.636444l-8.817778 35.328h-14.051555z m-72.533334 0l-10.894222 44.373333s12.231111-6.855111 18.858667-9.102222c6.741333-2.218667 16.839111-2.958222 16.839111-2.958222l7.879111-32.312889H1062.687858z m-16.327111 66.304l-11.264 46.193778s12.515556-7.879111 19.143111-10.382222a188.586667 188.586667 0 0 1 17.038223-3.470223l7.964444-32.341333h-32.881778z m-26.168889 107.690667h32.768l9.386667-38.968889H1029.692302l-9.500444 38.968889zM1186.108302 568.888889h40.704l0.398222 19.541333c-0.284444 3.328 1.934222 4.864 6.684445 4.864h8.277333l-7.566222 32.284445h-21.987556c-19.000889 1.763556-26.225778-8.789333-25.742222-20.650667L1186.108302 568.888889z" 207 d="M1135.192747 604.416l-42.410667 173.568h11.434667l-8.874667 35.84h-11.320889l-2.673778 11.064889h-40.391111l2.759111-11.064889h-81.92l8.192-33.166222h8.334223l42.979555-176.241778 8.590222-35.527111h41.130667l-4.323556 17.92s10.979556-9.756444 21.361778-13.084445c10.382222-3.413333 70.001778-4.636444 70.001778-4.636444l-8.817778 35.328h-14.051555z m-72.533334 0l-10.894222 44.373333s12.231111-6.855111 18.858667-9.102222c6.741333-2.218667 16.839111-2.958222 16.839111-2.958222l7.879111-32.312889H1062.687858z m-16.327111 66.304l-11.264 46.193778s12.515556-7.879111 19.143111-10.382222a188.586667 188.586667 0 0 1 17.038223-3.470223l7.964444-32.341333h-32.881778z m-26.168889 107.690667h32.768l9.386667-38.968889H1029.692302l-9.500444 38.968889zM1186.108302 568.888889h40.704l0.398222 19.541333c-0.284444 3.328 1.934222 4.864 6.684445 4.864h8.277333l-7.566222 32.284445h-21.987556c-19.000889 1.763556-26.225778-8.789333-25.742222-20.650667L1186.108302 568.888889z"
184 fill="#FEFEFE" p-id="32909"></path> 208 fill="#FEFEFE" p-id="32909"
209 />
185 <path 210 <path
186 d="M1174.844302 721.635556h-46.08l7.907556-31.516445h52.650666l7.480889-28.814222h-51.968L1153.71008 625.777778h144.583111l-8.988444 35.555555H1240.75008l-7.566222 28.785778h48.64l-8.106667 31.516445h-52.508444l-9.386667 13.255111h21.333333l5.233778 39.708444c0.568889 3.953778 0.568889 6.542222 1.678222 8.248889 1.080889 1.393778 7.480889 2.133333 11.207111 2.133333h6.456889l-9.841777 38.599111h-16.440889c-2.503111 0-6.286222-0.199111-11.52-0.455111-4.892444-0.540444-8.362667-3.982222-11.690667-5.973333a18.403556 18.403556 0 0 1-8.590222-13.425778l-5.12-39.623111-23.950222 38.997333c-7.566222 12.373333-17.834667 21.788444-35.185778 21.788445h-33.422222l8.760888-34.503111h12.8c3.697778 0 6.912-1.706667 9.329778-3.214222a15.189333 15.189333 0 0 0 7.082667-7.025778l34.872889-58.510222zM677.635413 625.777778H793.603413l-8.590222 36.380444h-46.336l-7.224889 31.061334h47.416889l-8.675555 37.546666h-47.36l-11.52 50.517334c-1.393778 5.546667 11.264 6.257778 15.843555 6.257777l23.665778-4.266666L741.29408 824.888889h-53.418667c-4.323556 0-7.509333-0.824889-12.145777-2.190222-4.494222-1.507556-6.485333-4.152889-8.476445-8.135111-1.934222-4.124444-4.977778-7.480889-2.901333-16.327112l15.36-66.816h-26.339556l8.760889-38.200888h26.396445l7.025777-31.061334h-26.311111L677.635413 625.777778zM770.648747 583.822222h50.972444l-9.244444 27.363556h-69.632l-7.537778 5.745778c-3.242667 2.787556-4.352 1.649778-8.590222 3.640888a55.779556 55.779556 0 0 1-22.897778 5.205334h-22.300445l8.988445-26.282667h6.712889c5.632 0 9.528889-0.455111 11.491555-1.536 2.218667-1.28 4.721778-4.039111 7.452445-8.533333l12.885333-20.536889h50.602667l-8.903111 14.933333zM837.606969 569.088h48.355555l-7.082666 24.120889s15.303111-12.117333 25.998222-16.469333c10.638222-3.868444 34.730667-7.395556 34.730667-7.395556L1017.887858 568.888889l-26.652445 87.950222c-4.522667 15.018667-9.756444 24.746667-13.027555 29.212445a33.792 33.792 0 0 1-13.198222 12.032 49.806222 49.806222 0 0 1-18.119112 6.058666c-5.176889 0.369778-13.084444 0.483556-24.092444 0.654222H847.363413l-21.191111 69.461334c-2.019556 6.940444-2.986667 10.24-1.649778 12.117333a8.732444 8.732444 0 0 0 7.168 3.470222l33.28-3.100444L853.564302 824.888889h-37.148444c-11.861333 0-20.48-0.284444-26.510222-0.739556-5.745778-0.483556-11.719111 0-15.786667-3.015111-3.413333-3.043556-8.704-7.054222-8.590222-11.093333 0.369778-3.754667 1.991111-10.040889 4.380444-18.659556l67.697778-222.293333z m102.684444 88.746667H861.016747l-4.892445 15.815111h68.608c8.078222-0.938667 9.756444 0.199111 10.467556-0.170667l5.034666-15.644444z m-74.951111-14.279111s15.502222-14.023111 42.040889-18.545778c6.030222-1.137778 43.662222-0.739556 43.662222-0.739556l5.745778-18.830222H876.945636l-11.576889 38.115556z" 211 d="M1174.844302 721.635556h-46.08l7.907556-31.516445h52.650666l7.480889-28.814222h-51.968L1153.71008 625.777778h144.583111l-8.988444 35.555555H1240.75008l-7.566222 28.785778h48.64l-8.106667 31.516445h-52.508444l-9.386667 13.255111h21.333333l5.233778 39.708444c0.568889 3.953778 0.568889 6.542222 1.678222 8.248889 1.080889 1.393778 7.480889 2.133333 11.207111 2.133333h6.456889l-9.841777 38.599111h-16.440889c-2.503111 0-6.286222-0.199111-11.52-0.455111-4.892444-0.540444-8.362667-3.982222-11.690667-5.973333a18.403556 18.403556 0 0 1-8.590222-13.425778l-5.12-39.623111-23.950222 38.997333c-7.566222 12.373333-17.834667 21.788444-35.185778 21.788445h-33.422222l8.760888-34.503111h12.8c3.697778 0 6.912-1.706667 9.329778-3.214222a15.189333 15.189333 0 0 0 7.082667-7.025778l34.872889-58.510222zM677.635413 625.777778H793.603413l-8.590222 36.380444h-46.336l-7.224889 31.061334h47.416889l-8.675555 37.546666h-47.36l-11.52 50.517334c-1.393778 5.546667 11.264 6.257778 15.843555 6.257777l23.665778-4.266666L741.29408 824.888889h-53.418667c-4.323556 0-7.509333-0.824889-12.145777-2.190222-4.494222-1.507556-6.485333-4.152889-8.476445-8.135111-1.934222-4.124444-4.977778-7.480889-2.901333-16.327112l15.36-66.816h-26.339556l8.760889-38.200888h26.396445l7.025777-31.061334h-26.311111L677.635413 625.777778zM770.648747 583.822222h50.972444l-9.244444 27.363556h-69.632l-7.537778 5.745778c-3.242667 2.787556-4.352 1.649778-8.590222 3.640888a55.779556 55.779556 0 0 1-22.897778 5.205334h-22.300445l8.988445-26.282667h6.712889c5.632 0 9.528889-0.455111 11.491555-1.536 2.218667-1.28 4.721778-4.039111 7.452445-8.533333l12.885333-20.536889h50.602667l-8.903111 14.933333zM837.606969 569.088h48.355555l-7.082666 24.120889s15.303111-12.117333 25.998222-16.469333c10.638222-3.868444 34.730667-7.395556 34.730667-7.395556L1017.887858 568.888889l-26.652445 87.950222c-4.522667 15.018667-9.756444 24.746667-13.027555 29.212445a33.792 33.792 0 0 1-13.198222 12.032 49.806222 49.806222 0 0 1-18.119112 6.058666c-5.176889 0.369778-13.084444 0.483556-24.092444 0.654222H847.363413l-21.191111 69.461334c-2.019556 6.940444-2.986667 10.24-1.649778 12.117333a8.732444 8.732444 0 0 0 7.168 3.470222l33.28-3.100444L853.564302 824.888889h-37.148444c-11.861333 0-20.48-0.284444-26.510222-0.739556-5.745778-0.483556-11.719111 0-15.786667-3.015111-3.413333-3.043556-8.704-7.054222-8.590222-11.093333 0.369778-3.754667 1.991111-10.040889 4.380444-18.659556l67.697778-222.293333z m102.684444 88.746667H861.016747l-4.892445 15.815111h68.608c8.078222-0.938667 9.756444 0.199111 10.467556-0.170667l5.034666-15.644444z m-74.951111-14.279111s15.502222-14.023111 42.040889-18.545778c6.030222-1.137778 43.662222-0.739556 43.662222-0.739556l5.745778-18.830222H876.945636l-11.576889 38.115556z"
187 fill="#FEFEFE" p-id="32910"></path> 212 fill="#FEFEFE" p-id="32910"
213 />
188 <path 214 <path
189 d="M961.795413 711.111111l-4.494222 21.219556c-1.877333 6.656-3.555556 11.576889-8.561778 15.872-5.290667 4.465778-11.491556 9.159111-25.969777 9.159111l-26.823112 1.137778-0.199111 23.950222c-0.284444 6.741333 1.536 6.087111 2.588445 7.168 1.251556 1.223111 2.360889 1.678222 3.498666 2.161778l8.533334-0.483556 25.571555-1.422222L925.301191 824.888889h-29.383111c-20.536889 0-35.811556-0.483556-40.760889-4.408889-4.949333-3.128889-5.603556-7.025778-5.518222-13.767111l1.877333-93.496889h46.876445l-0.654223 19.114667h11.264c3.868444 0 6.485333-0.369778 8.078223-1.422223a8.448 8.448 0 0 0 3.128889-4.835555l4.721777-14.961778h36.835556zM368.529636 256c-1.564444 7.509333-30.976 142.933333-31.061334 143.075556-6.314667 27.392-10.922667 46.933333-26.567111 59.534222a47.388444 47.388444 0 0 1-31.288889 10.894222c-19.285333 0-30.549333-9.585778-32.426666-27.761778l-0.398223-6.257778s5.888-36.693333 5.888-36.892444c0 0 30.862222-123.448889 36.408889-139.776 0.284444-0.910222 0.341333-1.422222 0.426667-1.848889-60.046222 0.540444-70.712889 0-71.424-0.967111-0.398222 1.336889-1.905778 8.988444-1.905778 8.988444l-31.516444 139.093334-2.673778 11.832889-5.262222 38.599111c0 11.434667 2.275556 20.764444 6.741333 28.672C197.834524 508.245333 238.76608 512 261.919858 512c29.866667 0 57.856-6.314667 76.771555-17.891556 32.824889-19.370667 41.415111-49.664 49.095111-76.600888l3.527112-13.795556s31.800889-128.199111 37.205333-144.896c0.199111-0.910222 0.284444-1.422222 0.568889-1.848889-43.576889 0.455111-56.433778 0-60.558222-0.967111M548.042524 482.645333a453.518222 453.518222 0 0 0-45.397333 0.910223l-0.796444-1.763556c1.820444-8.846222 3.811556-17.521778 5.603555-26.453333l2.588445-12.060445c3.896889-18.716444 7.68-40.476444 8.106666-47.160889 0.426667-3.982222 1.706667-13.937778-8.732444-13.937777-4.352 0-8.903111 2.304-13.539556 4.693333-2.56 9.955556-7.651556 37.973333-10.097777 50.716444-5.205333 26.88-5.546667 29.980444-7.879112 43.264l-1.507555 1.792c-18.545778-0.341333-25.031111-0.341333-46.364445 0.910223l-0.938666-2.019556c3.527111-15.928889 7.111111-32.056889 10.496-48.042667 8.96-43.349333 11.093333-59.904 13.539555-81.948444l1.706667-1.28c20.849778-3.242667 25.884444-3.896889 48.440889-8.931556l1.905778 2.332445-3.470223 13.795555c3.84-2.503111 7.480889-5.034667 11.320889-7.196444 10.638222-5.745778 22.471111-7.452444 28.956445-7.452445 9.927111 0 20.736 3.015111 25.230222 15.587556 4.266667 11.207111 1.422222 24.974222-4.181333 52.110222l-2.901334 13.880889a1275.761778 1275.761778 0 0 0-9.955555 56.462222l-2.133334 1.792zM607.206969 482.645333c-8.362667-0.085333-13.767111-0.341333-18.972445-0.085333-5.205333 0.085333-10.296889 0.455111-18.062222 0.995556l-0.398222-0.995556-0.512-1.052444c2.133333-11.605333 3.271111-15.616 4.323556-19.740445 1.080889-4.152889 2.048-8.248889 3.925333-20.024889 2.446222-15.36 3.953778-26.083556 4.920889-35.498666 1.137778-9.102222 1.735111-16.867556 2.616889-25.827556l0.568889-0.682667 0.682666-0.881777c8.305778-1.678222 13.568-2.816 18.972445-4.067556 5.461333-1.024 10.922667-2.616889 19.512889-5.006222l0.312888 1.052444 0.256 1.137778c-1.592889 9.500444-3.242667 19.000889-4.807111 28.643556-1.507556 9.671111-3.128889 19.143111-4.608 28.643555-3.100444 20.195556-4.352 27.761778-5.091555 33.223111-0.711111 5.091556-0.910222 7.907556-2.104889 18.346667l-0.796445 0.938667-0.739555 0.853333zM790.474524 412.216889c6.684444-30.492444 1.450667-44.743111-5.12-53.418667-9.955556-13.226667-27.562667-17.464889-45.795555-17.464889-10.979556 0-37.148444 1.137778-57.571556 20.650667-14.677333 14.108444-21.447111 33.223111-25.543111 51.541333-4.124444 18.688-8.874667 52.309333 20.935111 64.796445 9.216 4.096 22.471111 5.233778 31.004445 5.233778 21.845333 0 44.259556-6.257778 61.098666-24.746667 12.970667-15.047111 18.887111-37.376 20.963556-46.592m-50.119111-2.190222c-0.967111 5.176889-5.319111 24.291556-11.178667 32.426666-4.096 6.030222-8.931556 9.671111-14.307555 9.671111-1.592889 0-11.093333 0-11.235556-14.620444-0.056889-7.224889 1.336889-14.592 3.100445-22.584889 5.034667-23.096889 10.951111-42.496 26.140444-42.496 11.889778 0 12.743111 14.449778 7.480889 37.603556M1249.653191 482.787556c-15.644444-0.170667-20.138667-0.170667-34.616889 0.768l-0.881778-1.820445c3.896889-23.011556 7.822222-45.937778 11.320889-69.205333 4.551111-30.179556 5.575111-43.008 7.054223-60.672l1.166222-1.479111c15.559111-3.413333 19.911111-4.408889 36.067555-9.045334l0.455111 2.076445c-2.958222 19.000889-5.859556 37.859556-8.760888 56.917333-5.944889 39.793778-8.106667 59.989333-10.382223 80.782222l-1.422222 1.706667z" 215 d="M961.795413 711.111111l-4.494222 21.219556c-1.877333 6.656-3.555556 11.576889-8.561778 15.872-5.290667 4.465778-11.491556 9.159111-25.969777 9.159111l-26.823112 1.137778-0.199111 23.950222c-0.284444 6.741333 1.536 6.087111 2.588445 7.168 1.251556 1.223111 2.360889 1.678222 3.498666 2.161778l8.533334-0.483556 25.571555-1.422222L925.301191 824.888889h-29.383111c-20.536889 0-35.811556-0.483556-40.760889-4.408889-4.949333-3.128889-5.603556-7.025778-5.518222-13.767111l1.877333-93.496889h46.876445l-0.654223 19.114667h11.264c3.868444 0 6.485333-0.369778 8.078223-1.422223a8.448 8.448 0 0 0 3.128889-4.835555l4.721777-14.961778h36.835556zM368.529636 256c-1.564444 7.509333-30.976 142.933333-31.061334 143.075556-6.314667 27.392-10.922667 46.933333-26.567111 59.534222a47.388444 47.388444 0 0 1-31.288889 10.894222c-19.285333 0-30.549333-9.585778-32.426666-27.761778l-0.398223-6.257778s5.888-36.693333 5.888-36.892444c0 0 30.862222-123.448889 36.408889-139.776 0.284444-0.910222 0.341333-1.422222 0.426667-1.848889-60.046222 0.540444-70.712889 0-71.424-0.967111-0.398222 1.336889-1.905778 8.988444-1.905778 8.988444l-31.516444 139.093334-2.673778 11.832889-5.262222 38.599111c0 11.434667 2.275556 20.764444 6.741333 28.672C197.834524 508.245333 238.76608 512 261.919858 512c29.866667 0 57.856-6.314667 76.771555-17.891556 32.824889-19.370667 41.415111-49.664 49.095111-76.600888l3.527112-13.795556s31.800889-128.199111 37.205333-144.896c0.199111-0.910222 0.284444-1.422222 0.568889-1.848889-43.576889 0.455111-56.433778 0-60.558222-0.967111M548.042524 482.645333a453.518222 453.518222 0 0 0-45.397333 0.910223l-0.796444-1.763556c1.820444-8.846222 3.811556-17.521778 5.603555-26.453333l2.588445-12.060445c3.896889-18.716444 7.68-40.476444 8.106666-47.160889 0.426667-3.982222 1.706667-13.937778-8.732444-13.937777-4.352 0-8.903111 2.304-13.539556 4.693333-2.56 9.955556-7.651556 37.973333-10.097777 50.716444-5.205333 26.88-5.546667 29.980444-7.879112 43.264l-1.507555 1.792c-18.545778-0.341333-25.031111-0.341333-46.364445 0.910223l-0.938666-2.019556c3.527111-15.928889 7.111111-32.056889 10.496-48.042667 8.96-43.349333 11.093333-59.904 13.539555-81.948444l1.706667-1.28c20.849778-3.242667 25.884444-3.896889 48.440889-8.931556l1.905778 2.332445-3.470223 13.795555c3.84-2.503111 7.480889-5.034667 11.320889-7.196444 10.638222-5.745778 22.471111-7.452444 28.956445-7.452445 9.927111 0 20.736 3.015111 25.230222 15.587556 4.266667 11.207111 1.422222 24.974222-4.181333 52.110222l-2.901334 13.880889a1275.761778 1275.761778 0 0 0-9.955555 56.462222l-2.133334 1.792zM607.206969 482.645333c-8.362667-0.085333-13.767111-0.341333-18.972445-0.085333-5.205333 0.085333-10.296889 0.455111-18.062222 0.995556l-0.398222-0.995556-0.512-1.052444c2.133333-11.605333 3.271111-15.616 4.323556-19.740445 1.080889-4.152889 2.048-8.248889 3.925333-20.024889 2.446222-15.36 3.953778-26.083556 4.920889-35.498666 1.137778-9.102222 1.735111-16.867556 2.616889-25.827556l0.568889-0.682667 0.682666-0.881777c8.305778-1.678222 13.568-2.816 18.972445-4.067556 5.461333-1.024 10.922667-2.616889 19.512889-5.006222l0.312888 1.052444 0.256 1.137778c-1.592889 9.500444-3.242667 19.000889-4.807111 28.643556-1.507556 9.671111-3.128889 19.143111-4.608 28.643555-3.100444 20.195556-4.352 27.761778-5.091555 33.223111-0.711111 5.091556-0.910222 7.907556-2.104889 18.346667l-0.796445 0.938667-0.739555 0.853333zM790.474524 412.216889c6.684444-30.492444 1.450667-44.743111-5.12-53.418667-9.955556-13.226667-27.562667-17.464889-45.795555-17.464889-10.979556 0-37.148444 1.137778-57.571556 20.650667-14.677333 14.108444-21.447111 33.223111-25.543111 51.541333-4.124444 18.688-8.874667 52.309333 20.935111 64.796445 9.216 4.096 22.471111 5.233778 31.004445 5.233778 21.845333 0 44.259556-6.257778 61.098666-24.746667 12.970667-15.047111 18.887111-37.376 20.963556-46.592m-50.119111-2.190222c-0.967111 5.176889-5.319111 24.291556-11.178667 32.426666-4.096 6.030222-8.931556 9.671111-14.307555 9.671111-1.592889 0-11.093333 0-11.235556-14.620444-0.056889-7.224889 1.336889-14.592 3.100445-22.584889 5.034667-23.096889 10.951111-42.496 26.140444-42.496 11.889778 0 12.743111 14.449778 7.480889 37.603556M1249.653191 482.787556c-15.644444-0.170667-20.138667-0.170667-34.616889 0.768l-0.881778-1.820445c3.896889-23.011556 7.822222-45.937778 11.320889-69.205333 4.551111-30.179556 5.575111-43.008 7.054223-60.672l1.166222-1.479111c15.559111-3.413333 19.911111-4.408889 36.067555-9.045334l0.455111 2.076445c-2.958222 19.000889-5.859556 37.859556-8.760888 56.917333-5.944889 39.793778-8.106667 59.989333-10.382223 80.782222l-1.422222 1.706667z"
190 fill="#FEFEFE" p-id="32911"></path> 216 fill="#FEFEFE" p-id="32911"
217 />
191 <path 218 <path
192 d="M1231.078969 400.497778c-5.916444-15.644444-2.275556-47.217778-26.140445-57.827556-9.187556-4.181333-30.72 1.194667-49.265777 20.650667-13.056 13.880889-19.313778 32.938667-22.840889 51.2-3.754667 18.403556-8.049778 51.996444 18.631111 64 8.504889 4.152889 16.128 5.404444 23.893333 4.949333 26.794667-1.649778 47.217778-48.384 62.378667-66.844444 11.662222-14.620444-2.816-6.144-6.656-16.128z m-18.887111 10.439111c-1.052444 4.949333-5.006222 24.234667-10.268445 32.312889-3.527111 5.745778-11.889778 9.301333-16.725333 9.301333-1.365333 0-9.784889 0-10.097778-14.336-0.056889-7.139556 1.223111-14.506667 2.816-22.584889 4.579556-22.670222 9.870222-41.870222 23.552-41.870222 10.723556 0 15.303111 13.966222 10.723556 37.176889M912.472747 482.645333a452.408889 452.408889 0 0 0-45.368889 0.910223l-0.796445-1.763556c1.820444-8.846222 3.868444-17.521778 5.745778-26.453333l2.446222-12.060445c3.982222-18.716444 7.736889-40.476444 8.135111-47.160889 0.398222-3.982222 1.649778-13.937778-8.675555-13.937777-4.494222 0-8.988444 2.304-13.653333 4.693333-2.446222 9.955556-7.68 37.973333-10.183112 50.716444-5.063111 26.88-5.404444 29.980444-7.708444 43.264l-1.592889 1.792a469.788444 469.788444 0 0 0-46.307555 0.910223l-0.938667-2.019556c3.555556-15.928889 7.111111-32.056889 10.524444-48.042667 8.931556-43.349333 11.008-59.904 13.511111-81.948444l1.592889-1.28c20.821333-3.242667 25.969778-3.896889 48.526223-8.931556l1.706666 2.332445-3.214222 13.795555c3.697778-2.503111 7.509333-5.034667 11.292444-7.196444 10.552889-5.745778 22.471111-7.452444 28.956445-7.452445 9.784889 0 20.650667 3.015111 25.315555 15.587556 4.181333 11.207111 1.308444 24.974222-4.352 52.110222l-2.844444 13.880889a992.568889 992.568889 0 0 0-9.955556 56.462222l-2.161777 1.792zM1102.538524 335.815111c-3.043556 16.952889-12.032 31.175111-23.580444 38.087111-9.500444 5.831111-21.134222 6.314667-33.137778 6.314667h-7.765333l0.568889-3.811556 14.250666-75.918222 0.455112-3.896889 0.199111-2.986666 5.717333 0.739555 30.208 3.157333c11.662222 5.518222 16.440889 19.740444 13.084444 38.314667m-18.773333-79.445333l-14.478222 0.142222c-37.546667 0.568889-52.622222 0.426667-58.794667-0.512l-1.507555 9.301333-13.454223 76.458667-33.735111 169.955556c32.796444-0.483556 46.250667-0.483556 51.911111 0.284444 1.28-7.651556 8.874667-52.992 8.96-52.992 0 0 6.456889-33.251556 6.855112-34.474667 0 0 2.048-3.470222 4.067555-4.835555h3.015111c28.273778 0 60.216889 0 85.248-22.528 17.038222-15.473778 28.672-38.286222 33.848889-66.048 1.393778-6.798222 2.360889-14.876444 2.360889-22.983111 0-10.638222-1.735111-21.134222-6.769778-29.354667-12.771556-21.845333-38.200889-22.272-67.527111-22.414222M1438.438969 315.022222L1436.447858 312.888889c-25.429333 4.835556-30.037333 5.603556-53.447111 8.561778l-1.706667 1.621333c-0.085333 0.256-0.142222 0.654222-0.284444 1.024l-0.056889-0.369778c-17.436444 37.660444-16.924444 29.525333-31.089778 59.164445-0.085333-1.336889-0.085333-2.161778-0.142222-3.612445l-3.555556-64.284444-2.247111-2.104889c-26.652444 4.835556-27.306667 5.603556-51.911111 8.561778l-1.905778 1.621333c-0.284444 0.768-0.284444 1.592889-0.426667 2.531556l0.142223 0.312888c3.072 14.762667 2.332444 11.463111 5.404444 34.730667 1.479111 11.434667 3.384889 22.926222 4.835556 34.190222 2.417778 18.887111 3.783111 28.16 6.741333 57.002667-16.64 25.713778-20.565333 35.470222-36.579556 58.026667l1.024 2.133333c24.007111-0.853333 29.582222-0.853333 47.388445-0.853333l3.868444-4.124445c13.454222-27.192889 115.939556-192 115.939556-192M615.398969 363.832889c11.832889-6.4 13.312-15.217778 3.384889-19.797333-10.069333-4.636444-27.733333-3.128889-39.623111 3.242666-11.861333 6.257778-13.226667 15.160889-3.185778 19.854222 9.898667 4.494222 27.648 3.157333 39.424-3.299555M1298.264747 568.888889l-12.686223 35.555555c-3.982222 12.174222-11.434667 21.248-23.239111 21.333334l-20.167111-0.568889 5.888-32h3.953778c2.048 0 3.527111-0.170667 4.664889-1.109333 1.024-0.568889 1.763556-1.877333 2.588444-3.84l7.480889-19.370667h31.516445z" 219 d="M1231.078969 400.497778c-5.916444-15.644444-2.275556-47.217778-26.140445-57.827556-9.187556-4.181333-30.72 1.194667-49.265777 20.650667-13.056 13.880889-19.313778 32.938667-22.840889 51.2-3.754667 18.403556-8.049778 51.996444 18.631111 64 8.504889 4.152889 16.128 5.404444 23.893333 4.949333 26.794667-1.649778 47.217778-48.384 62.378667-66.844444 11.662222-14.620444-2.816-6.144-6.656-16.128z m-18.887111 10.439111c-1.052444 4.949333-5.006222 24.234667-10.268445 32.312889-3.527111 5.745778-11.889778 9.301333-16.725333 9.301333-1.365333 0-9.784889 0-10.097778-14.336-0.056889-7.139556 1.223111-14.506667 2.816-22.584889 4.579556-22.670222 9.870222-41.870222 23.552-41.870222 10.723556 0 15.303111 13.966222 10.723556 37.176889M912.472747 482.645333a452.408889 452.408889 0 0 0-45.368889 0.910223l-0.796445-1.763556c1.820444-8.846222 3.868444-17.521778 5.745778-26.453333l2.446222-12.060445c3.982222-18.716444 7.736889-40.476444 8.135111-47.160889 0.398222-3.982222 1.649778-13.937778-8.675555-13.937777-4.494222 0-8.988444 2.304-13.653333 4.693333-2.446222 9.955556-7.68 37.973333-10.183112 50.716444-5.063111 26.88-5.404444 29.980444-7.708444 43.264l-1.592889 1.792a469.788444 469.788444 0 0 0-46.307555 0.910223l-0.938667-2.019556c3.555556-15.928889 7.111111-32.056889 10.524444-48.042667 8.931556-43.349333 11.008-59.904 13.511111-81.948444l1.592889-1.28c20.821333-3.242667 25.969778-3.896889 48.526223-8.931556l1.706666 2.332445-3.214222 13.795555c3.697778-2.503111 7.509333-5.034667 11.292444-7.196444 10.552889-5.745778 22.471111-7.452444 28.956445-7.452445 9.784889 0 20.650667 3.015111 25.315555 15.587556 4.181333 11.207111 1.308444 24.974222-4.352 52.110222l-2.844444 13.880889a992.568889 992.568889 0 0 0-9.955556 56.462222l-2.161777 1.792zM1102.538524 335.815111c-3.043556 16.952889-12.032 31.175111-23.580444 38.087111-9.500444 5.831111-21.134222 6.314667-33.137778 6.314667h-7.765333l0.568889-3.811556 14.250666-75.918222 0.455112-3.896889 0.199111-2.986666 5.717333 0.739555 30.208 3.157333c11.662222 5.518222 16.440889 19.740444 13.084444 38.314667m-18.773333-79.445333l-14.478222 0.142222c-37.546667 0.568889-52.622222 0.426667-58.794667-0.512l-1.507555 9.301333-13.454223 76.458667-33.735111 169.955556c32.796444-0.483556 46.250667-0.483556 51.911111 0.284444 1.28-7.651556 8.874667-52.992 8.96-52.992 0 0 6.456889-33.251556 6.855112-34.474667 0 0 2.048-3.470222 4.067555-4.835555h3.015111c28.273778 0 60.216889 0 85.248-22.528 17.038222-15.473778 28.672-38.286222 33.848889-66.048 1.393778-6.798222 2.360889-14.876444 2.360889-22.983111 0-10.638222-1.735111-21.134222-6.769778-29.354667-12.771556-21.845333-38.200889-22.272-67.527111-22.414222M1438.438969 315.022222L1436.447858 312.888889c-25.429333 4.835556-30.037333 5.603556-53.447111 8.561778l-1.706667 1.621333c-0.085333 0.256-0.142222 0.654222-0.284444 1.024l-0.056889-0.369778c-17.436444 37.660444-16.924444 29.525333-31.089778 59.164445-0.085333-1.336889-0.085333-2.161778-0.142222-3.612445l-3.555556-64.284444-2.247111-2.104889c-26.652444 4.835556-27.306667 5.603556-51.911111 8.561778l-1.905778 1.621333c-0.284444 0.768-0.284444 1.592889-0.426667 2.531556l0.142223 0.312888c3.072 14.762667 2.332444 11.463111 5.404444 34.730667 1.479111 11.434667 3.384889 22.926222 4.835556 34.190222 2.417778 18.887111 3.783111 28.16 6.741333 57.002667-16.64 25.713778-20.565333 35.470222-36.579556 58.026667l1.024 2.133333c24.007111-0.853333 29.582222-0.853333 47.388445-0.853333l3.868444-4.124445c13.454222-27.192889 115.939556-192 115.939556-192M615.398969 363.832889c11.832889-6.4 13.312-15.217778 3.384889-19.797333-10.069333-4.636444-27.733333-3.128889-39.623111 3.242666-11.861333 6.257778-13.226667 15.160889-3.185778 19.854222 9.898667 4.494222 27.648 3.157333 39.424-3.299555M1298.264747 568.888889l-12.686223 35.555555c-3.982222 12.174222-11.434667 21.248-23.239111 21.333334l-20.167111-0.568889 5.888-32h3.953778c2.048 0 3.527111-0.170667 4.664889-1.109333 1.024-0.568889 1.763556-1.877333 2.588444-3.84l7.480889-19.370667h31.516445z"
193 fill="#FEFEFE" p-id="32912"></path> 220 fill="#FEFEFE" p-id="32912"
221 />
194 <path 222 <path
195 d="M3499.95008 747.576889c-5.148444-1.706667-10.524444-2.56-15.957333-2.503111a40.334222 40.334222 0 0 0-35.413334 30.151111v91.619555h-39.879111v-153.6h32.910222l2.730667 27.164445h0.995556a53.134222 53.134222 0 0 1 43.633777-31.004445c6.257778-0.170667 12.430222 0.938667 18.204445 3.328l-7.224889 34.844445z m-59.591111-179.114667h-63.800889a1286.144 1286.144 0 0 1-42.666667-204.231111h-14.193777v164.067556a16.184889 16.184889 0 0 0 15.957333 16.298666h17.720889v23.438223h-69.319111a27.676444 27.676444 0 0 1-28.16-27.619556v-176.184889h-27.676445v-23.836444h27.676445v-169.528889h63.800889v169.528889h121.656888v23.893333h-43.121777a1378.104889 1378.104889 0 0 0 42.126222 204.174222z m-104.675556-243.2a742.542222 742.542222 0 0 0 35.640889-143.530666h63.317334a835.811556 835.811556 0 0 1-34.673778 143.530666h-64.284445z m-106.467555 353.991111a50.062222 50.062222 0 0 0-16.213334-3.271111c-11.946667 0-18.688 7.111111-18.688 24.149334v13.169777h28.928v31.800889H3194.314524v121.770667h-40.135111v-121.742222h-20.679111v-29.952l20.679111-1.621334v-12.629333a49.863111 49.863111 0 0 1 53.361778-56.775111c9.955556 0 19.854222 1.848889 29.155556 5.461333l-7.480889 29.639111z m-59.335111-461.169777a12.458667 12.458667 0 0 0-13.454223-11.690667h-54.613333a11.946667 11.946667 0 0 0-12.686222 11.662222v217.656889h-49.379556v-225.564444a28.956444 28.956444 0 0 1 30.435556-28.046223h117.902222a29.098667 29.098667 0 0 1 30.919111 28.046223v225.564444h-49.123555V218.083556z m42.638222 351.488h-54.840889l-19.456-68.209778c-8.078222 23.893333-18.858667 46.791111-32.142222 68.209778h-62.577778a323.271111 323.271111 0 0 0 57.827556-195.413334V241.976889h55.580444v115.541333a583.964444 583.964444 0 0 1-6.968889 93.297778h28.444445l34.133333 118.727111z m-98.474667 158.663111l-17.948444 24.405333a59.192889 59.192889 0 0 0-33.393778-13.169778 16.327111 16.327111 0 0 0-20.195556 14.791111c0 11.264 15.189333 15.36 31.146667 21.418667 20.451556 7.68 42.894222 17.806222 42.894222 46.336 0 26.88-21.191111 48.554667-61.098666 48.554667a97.223111 97.223111 0 0 1-58.595556-21.674667l18.488889-25.230222c11.377778 10.097778 25.884444 15.985778 41.102222 16.725333 15.473778 0 22.186667-6.599111 22.186667-16.213333 0-11.491556-15.928889-16.696889-31.886222-23.011556a52.053333 52.053333 0 0 1-42.126223-44.686222 50.005333 50.005333 0 0 1 57.088-47.160889 85.589333 85.589333 0 0 1 52.337778 19.057778v-0.142222z m-249.031111-338.631111h106.183111a14.791111 14.791111 0 0 1 12.970667 6.712888c3.356444 4.266667 4.039111 10.040889 1.735111 14.961778l-75.292444 127.658667 16.952888 30.151111h-64.568888L2796.234524 449.422222h64.568889l16.952889 31.004445 41.870222-66.986667h-104.96a14.961778 14.961778 0 0 1-12.231111-6.286222 14.421333 14.421333 0 0 1-3.214222-12.970667l10.979556-51.854222h-41.159111v-24.32h46.648888l15.928889-73.671111H2781.016747v-24.263111h55.836444l10.979556-49.379556h64.568889l-10.979556 49.379556h80.014222v24.263111h-84.992l-16.213333 73.671111h112.440889v24.32h-117.418667l-10.24 47.274667z m-131.896889 179.086222H2670.083413v-74.922667l-78.279111 5.859556v-23.836445l78.279111-5.888v-61.098666h-59.818666a15.644444 15.644444 0 0 1-11.946667-4.977778 16.241778 16.241778 0 0 1-3.527111-12.970667l19.968-152.32h-22.698667v-23.893333h25.685334l5.973333-43.776h59.079111l-5.717333 43.918222h90.225777v23.864889h-93.724444l-18.204444 137.671111a7.480889 7.480889 0 0 0 1.991111 5.888 7.082667 7.082667 0 0 0 5.973333 2.929778h10.24V278.812444h59.562667v106.439112h29.667555v23.836444h-29.667555v56.092444l34.161777-2.503111v23.864889l-34.133333 2.503111v79.900445-0.284445z m-98.702222 140.629333c6.229333-0.199111 12.430222 0.910222 18.204444 3.271111l-7.224888 34.901334a47.616 47.616 0 0 0-15.729778-2.474667 40.106667 40.106667 0 0 0-35.384889 30.151111v91.591111h-40.135111v-153.571555h32.910222l2.730667 27.164444h0.995555a53.788444 53.788444 0 0 1 43.633778-30.890667v-0.142222z m-149.589333-168.618667a27.875556 27.875556 0 0 1-27.904 27.591112h-99.214223v-23.836445h46.848a15.815111 15.815111 0 0 0 15.957334-15.928889V333.653333h-128.853334v-23.808h252.501334v23.808h-59.335111v207.189334-0.142223z m-182.215111-349.013333h230.115555v24.064h-230.115555v-24.064z m-64.056889 151.523556h18.944v225.564444h-64.853334V398.506667h-48.839111a818.346667 818.346667 0 0 0 43.377778-90.823111h-43.377778a664.974222 664.974222 0 0 0 57.344-136.448h64.824889c-6.741333 26.026667-15.502222 51.484444-26.168889 76.174222h32.881778a569.685333 569.685333 0 0 1-34.133333 95.914666v-0.085333zM2169.233636 866.702222h-40.391112v-90.794666c0-23.580444-6.485333-32.085333-21.674666-32.085334a44.430222 44.430222 0 0 0-32.142222 17.294222v105.585778h-39.907556v-153.6h32.910222l2.730667 20.309334h0.995555a70.997333 70.997333 0 0 1 49.863112-24.120889c33.166222 0 47.616 23.04 47.616 61.696v95.715555z m-123.648-451.640889h49.863111a451.982222 451.982222 0 0 1-34.133334 87.893334c9.955556 21.390222 20.679111 42.752 32.398223 64.056889h-68.835556a747.861333 747.861333 0 0 1-72.760889-179.086223h-21.191111v140.202667c0.483556 8.96 7.964444 15.928889 16.952889 15.872l19.427555 0.426667v23.836444h-75.52a29.383111 29.383111 0 0 1-30.663111-27.619555V210.204444a29.098667 29.098667 0 0 1 30.663111-27.619555h166.769778a29.098667 29.098667 0 0 1 30.663111 27.619555v150.272a29.383111 29.383111 0 0 1-30.663111 27.619556h-38.4c4.750222 18.830222 10.723556 37.205333 16.952889 55.608889 3.584-9.272889 6.428444-18.801778 8.476445-28.529778v-0.113778z m-43.861334-209.635555H1947.878969a16.554667 16.554667 0 0 0-16.952889 15.900444v54.840889h88.462222V222.208a17.578667 17.578667 0 0 0-17.664-16.611556v-0.170666z m17.692445 94.606222h-88.490667v64.426667h70.798222a16.896 16.896 0 0 0 17.692445-15.872v-48.554667zM1761.909191 866.702222H1689.603413v-202.979555h67.072c41.614222 0 73.528889 12.088889 73.528889 49.863111a46.108444 46.108444 0 0 1-27.676444 43.889778v1.706666c23.04 4.039111 39.424 24.661333 38.144 47.985778 0 40.760889-33.905778 59.733333-78.791111 59.733333v-0.199111z m-7.736889-172.003555h-23.921778v51.541333h23.409778c25.941333 0 37.148444-10.410667 37.148445-26.595556 0-17.578667-12.231111-24.746667-36.636445-24.746666v-0.199111z m4.238222 81.720889h-28.16v58.965333h28.16c27.676444 0 42.638222-9.984 42.638223-31.004445 0-19.512889-14.734222-27.733333-42.666667-27.733333v-0.227555z m-13.454222-215.864889a28.586667 28.586667 0 0 1-8.476444-19.939556v-89.543111h-37.148445v-23.864889h37.148445v-76.856889h-37.148445v-24.291555h138.097778v24.291555H1802.527858v76.999111h34.901333v23.893334H1802.527858v77.368889a16.184889 16.184889 0 0 0 16.469333 16.327111h18.432v23.836444h-72.277333a28.785778 28.785778 0 0 1-20.195556-7.992889v-0.227555z m17.436445-247.608889h-66.048c14.506667-46.307556 24.092444-93.980444 28.672-142.279111h65.536c-1.991111 19.456-4.977778 38.855111-8.476445 58.168889h55.352889v23.836444h-59.818667a696.32 696.32 0 0 1-15.217777 60.501333v-0.227555z m191.203555 455.480889a23.921778 23.921778 0 0 0-25.912889-26.624 86.442667 86.442667 0 0 0-42.382222 14.535111l-14.478222-26.595556a121.742222 121.742222 0 0 1 64.085333-20.280889c38.883556 0 59.079111 23.324444 59.079111 67.726223v89.742222h-32.910222l-2.986667-16.497778h-0.995555a72.021333 72.021333 0 0 1-46.364445 20.337778 43.52 43.52 0 0 1-45.368888-45.539556c0-32.967111 26.652444-50.232889 88.234666-56.803555z m-29.667555 70.741333a40.675556 40.675556 0 0 0 29.667555-15.075556v-31.004444c-37.376 4.977778-49.863111 15.075556-49.863111 28.785778a17.152 17.152 0 0 0 20.195556 17.294222z m326.087111-59.505778h1.223111l53.105778-66.360889h43.889777l-53.105777 62.776889 58.083555 90.794667h-43.633778l-37.376-63.630222-22.186666 25.230222v38.4h-39.139556v-218.88h39.139556v131.669333z m201.415111-107.52h33.649778v41.159111h37.888v31.800889h-37.888v67.982222a20.707556 20.707556 0 0 0 20.707555 25.799112c5.205333-0.227556 10.353778-1.336889 15.189334-3.299556l6.485333 29.383111c-10.325333 3.697778-21.191111 5.632-32.142222 5.745778-36.664889 0-50.631111-23.04-50.631111-57.6v-67.982222h-21.674667v-29.952l23.694222-1.905778 4.721778-41.130667z m302.876444 96.284445a23.921778 23.921778 0 0 0-25.912889-26.624 86.442667 86.442667 0 0 0-42.382222 14.535111l-14.449778-26.595556a121.742222 121.742222 0 0 1 64.056889-20.280889c38.883556 0 59.079111 23.324444 59.079111 67.726223v89.742222h-32.910222l-2.986666-16.497778h-0.995556a72.021333 72.021333 0 0 1-46.364444 20.337778 43.52 43.52 0 0 1-45.368889-45.539556c0-32.967111 26.424889-50.232889 88.234666-56.803555z m-29.667555 70.741333a40.675556 40.675556 0 0 0 29.667555-15.075556v-31.004444c-37.376 4.977778-49.834667 15.075556-49.834666 28.785778a17.152 17.152 0 0 0 20.195555 17.294222z m146.858666-105.585778h0.995556a70.997333 70.997333 0 0 1 49.834667-24.120889c33.166222 0 47.616 23.04 47.616 61.696v95.715556h-40.391111v-90.794667c0-23.580444-6.456889-32.056889-21.674667-32.056889a44.430222 44.430222 0 0 0-32.142222 17.265778v105.585778h-39.907556v-153.6h32.910222l2.759111 20.309333z m439.751112-24.120889c42.382222 0 64.284444 31.004444 64.284444 73.472 0.056889 6.200889-0.597333 12.373333-1.991111 18.375111h-94.72a40.334222 40.334222 0 0 0 42.638222 38.4 63.203556 63.203556 0 0 0 34.417778-10.695111l13.681778 24.689778a96.113778 96.113778 0 0 1-53.589334 17.009778 74.410667 74.410667 0 0 1-76.288-80.355556 75.207111 75.207111 0 0 1 71.537778-80.896z m29.639111 65.251556a28.757333 28.757333 0 0 0-29.155556-33.991111 34.56 34.56 0 0 0-33.393778 33.991111h62.577778z" 223 d="M3499.95008 747.576889c-5.148444-1.706667-10.524444-2.56-15.957333-2.503111a40.334222 40.334222 0 0 0-35.413334 30.151111v91.619555h-39.879111v-153.6h32.910222l2.730667 27.164445h0.995556a53.134222 53.134222 0 0 1 43.633777-31.004445c6.257778-0.170667 12.430222 0.938667 18.204445 3.328l-7.224889 34.844445z m-59.591111-179.114667h-63.800889a1286.144 1286.144 0 0 1-42.666667-204.231111h-14.193777v164.067556a16.184889 16.184889 0 0 0 15.957333 16.298666h17.720889v23.438223h-69.319111a27.676444 27.676444 0 0 1-28.16-27.619556v-176.184889h-27.676445v-23.836444h27.676445v-169.528889h63.800889v169.528889h121.656888v23.893333h-43.121777a1378.104889 1378.104889 0 0 0 42.126222 204.174222z m-104.675556-243.2a742.542222 742.542222 0 0 0 35.640889-143.530666h63.317334a835.811556 835.811556 0 0 1-34.673778 143.530666h-64.284445z m-106.467555 353.991111a50.062222 50.062222 0 0 0-16.213334-3.271111c-11.946667 0-18.688 7.111111-18.688 24.149334v13.169777h28.928v31.800889H3194.314524v121.770667h-40.135111v-121.742222h-20.679111v-29.952l20.679111-1.621334v-12.629333a49.863111 49.863111 0 0 1 53.361778-56.775111c9.955556 0 19.854222 1.848889 29.155556 5.461333l-7.480889 29.639111z m-59.335111-461.169777a12.458667 12.458667 0 0 0-13.454223-11.690667h-54.613333a11.946667 11.946667 0 0 0-12.686222 11.662222v217.656889h-49.379556v-225.564444a28.956444 28.956444 0 0 1 30.435556-28.046223h117.902222a29.098667 29.098667 0 0 1 30.919111 28.046223v225.564444h-49.123555V218.083556z m42.638222 351.488h-54.840889l-19.456-68.209778c-8.078222 23.893333-18.858667 46.791111-32.142222 68.209778h-62.577778a323.271111 323.271111 0 0 0 57.827556-195.413334V241.976889h55.580444v115.541333a583.964444 583.964444 0 0 1-6.968889 93.297778h28.444445l34.133333 118.727111z m-98.474667 158.663111l-17.948444 24.405333a59.192889 59.192889 0 0 0-33.393778-13.169778 16.327111 16.327111 0 0 0-20.195556 14.791111c0 11.264 15.189333 15.36 31.146667 21.418667 20.451556 7.68 42.894222 17.806222 42.894222 46.336 0 26.88-21.191111 48.554667-61.098666 48.554667a97.223111 97.223111 0 0 1-58.595556-21.674667l18.488889-25.230222c11.377778 10.097778 25.884444 15.985778 41.102222 16.725333 15.473778 0 22.186667-6.599111 22.186667-16.213333 0-11.491556-15.928889-16.696889-31.886222-23.011556a52.053333 52.053333 0 0 1-42.126223-44.686222 50.005333 50.005333 0 0 1 57.088-47.160889 85.589333 85.589333 0 0 1 52.337778 19.057778v-0.142222z m-249.031111-338.631111h106.183111a14.791111 14.791111 0 0 1 12.970667 6.712888c3.356444 4.266667 4.039111 10.040889 1.735111 14.961778l-75.292444 127.658667 16.952888 30.151111h-64.568888L2796.234524 449.422222h64.568889l16.952889 31.004445 41.870222-66.986667h-104.96a14.961778 14.961778 0 0 1-12.231111-6.286222 14.421333 14.421333 0 0 1-3.214222-12.970667l10.979556-51.854222h-41.159111v-24.32h46.648888l15.928889-73.671111H2781.016747v-24.263111h55.836444l10.979556-49.379556h64.568889l-10.979556 49.379556h80.014222v24.263111h-84.992l-16.213333 73.671111h112.440889v24.32h-117.418667l-10.24 47.274667z m-131.896889 179.086222H2670.083413v-74.922667l-78.279111 5.859556v-23.836445l78.279111-5.888v-61.098666h-59.818666a15.644444 15.644444 0 0 1-11.946667-4.977778 16.241778 16.241778 0 0 1-3.527111-12.970667l19.968-152.32h-22.698667v-23.893333h25.685334l5.973333-43.776h59.079111l-5.717333 43.918222h90.225777v23.864889h-93.724444l-18.204444 137.671111a7.480889 7.480889 0 0 0 1.991111 5.888 7.082667 7.082667 0 0 0 5.973333 2.929778h10.24V278.812444h59.562667v106.439112h29.667555v23.836444h-29.667555v56.092444l34.161777-2.503111v23.864889l-34.133333 2.503111v79.900445-0.284445z m-98.702222 140.629333c6.229333-0.199111 12.430222 0.910222 18.204444 3.271111l-7.224888 34.901334a47.616 47.616 0 0 0-15.729778-2.474667 40.106667 40.106667 0 0 0-35.384889 30.151111v91.591111h-40.135111v-153.571555h32.910222l2.730667 27.164444h0.995555a53.788444 53.788444 0 0 1 43.633778-30.890667v-0.142222z m-149.589333-168.618667a27.875556 27.875556 0 0 1-27.904 27.591112h-99.214223v-23.836445h46.848a15.815111 15.815111 0 0 0 15.957334-15.928889V333.653333h-128.853334v-23.808h252.501334v23.808h-59.335111v207.189334-0.142223z m-182.215111-349.013333h230.115555v24.064h-230.115555v-24.064z m-64.056889 151.523556h18.944v225.564444h-64.853334V398.506667h-48.839111a818.346667 818.346667 0 0 0 43.377778-90.823111h-43.377778a664.974222 664.974222 0 0 0 57.344-136.448h64.824889c-6.741333 26.026667-15.502222 51.484444-26.168889 76.174222h32.881778a569.685333 569.685333 0 0 1-34.133333 95.914666v-0.085333zM2169.233636 866.702222h-40.391112v-90.794666c0-23.580444-6.485333-32.085333-21.674666-32.085334a44.430222 44.430222 0 0 0-32.142222 17.294222v105.585778h-39.907556v-153.6h32.910222l2.730667 20.309334h0.995555a70.997333 70.997333 0 0 1 49.863112-24.120889c33.166222 0 47.616 23.04 47.616 61.696v95.715555z m-123.648-451.640889h49.863111a451.982222 451.982222 0 0 1-34.133334 87.893334c9.955556 21.390222 20.679111 42.752 32.398223 64.056889h-68.835556a747.861333 747.861333 0 0 1-72.760889-179.086223h-21.191111v140.202667c0.483556 8.96 7.964444 15.928889 16.952889 15.872l19.427555 0.426667v23.836444h-75.52a29.383111 29.383111 0 0 1-30.663111-27.619555V210.204444a29.098667 29.098667 0 0 1 30.663111-27.619555h166.769778a29.098667 29.098667 0 0 1 30.663111 27.619555v150.272a29.383111 29.383111 0 0 1-30.663111 27.619556h-38.4c4.750222 18.830222 10.723556 37.205333 16.952889 55.608889 3.584-9.272889 6.428444-18.801778 8.476445-28.529778v-0.113778z m-43.861334-209.635555H1947.878969a16.554667 16.554667 0 0 0-16.952889 15.900444v54.840889h88.462222V222.208a17.578667 17.578667 0 0 0-17.664-16.611556v-0.170666z m17.692445 94.606222h-88.490667v64.426667h70.798222a16.896 16.896 0 0 0 17.692445-15.872v-48.554667zM1761.909191 866.702222H1689.603413v-202.979555h67.072c41.614222 0 73.528889 12.088889 73.528889 49.863111a46.108444 46.108444 0 0 1-27.676444 43.889778v1.706666c23.04 4.039111 39.424 24.661333 38.144 47.985778 0 40.760889-33.905778 59.733333-78.791111 59.733333v-0.199111z m-7.736889-172.003555h-23.921778v51.541333h23.409778c25.941333 0 37.148444-10.410667 37.148445-26.595556 0-17.578667-12.231111-24.746667-36.636445-24.746666v-0.199111z m4.238222 81.720889h-28.16v58.965333h28.16c27.676444 0 42.638222-9.984 42.638223-31.004445 0-19.512889-14.734222-27.733333-42.666667-27.733333v-0.227555z m-13.454222-215.864889a28.586667 28.586667 0 0 1-8.476444-19.939556v-89.543111h-37.148445v-23.864889h37.148445v-76.856889h-37.148445v-24.291555h138.097778v24.291555H1802.527858v76.999111h34.901333v23.893334H1802.527858v77.368889a16.184889 16.184889 0 0 0 16.469333 16.327111h18.432v23.836444h-72.277333a28.785778 28.785778 0 0 1-20.195556-7.992889v-0.227555z m17.436445-247.608889h-66.048c14.506667-46.307556 24.092444-93.980444 28.672-142.279111h65.536c-1.991111 19.456-4.977778 38.855111-8.476445 58.168889h55.352889v23.836444h-59.818667a696.32 696.32 0 0 1-15.217777 60.501333v-0.227555z m191.203555 455.480889a23.921778 23.921778 0 0 0-25.912889-26.624 86.442667 86.442667 0 0 0-42.382222 14.535111l-14.478222-26.595556a121.742222 121.742222 0 0 1 64.085333-20.280889c38.883556 0 59.079111 23.324444 59.079111 67.726223v89.742222h-32.910222l-2.986667-16.497778h-0.995555a72.021333 72.021333 0 0 1-46.364445 20.337778 43.52 43.52 0 0 1-45.368888-45.539556c0-32.967111 26.652444-50.232889 88.234666-56.803555z m-29.667555 70.741333a40.675556 40.675556 0 0 0 29.667555-15.075556v-31.004444c-37.376 4.977778-49.863111 15.075556-49.863111 28.785778a17.152 17.152 0 0 0 20.195556 17.294222z m326.087111-59.505778h1.223111l53.105778-66.360889h43.889777l-53.105777 62.776889 58.083555 90.794667h-43.633778l-37.376-63.630222-22.186666 25.230222v38.4h-39.139556v-218.88h39.139556v131.669333z m201.415111-107.52h33.649778v41.159111h37.888v31.800889h-37.888v67.982222a20.707556 20.707556 0 0 0 20.707555 25.799112c5.205333-0.227556 10.353778-1.336889 15.189334-3.299556l6.485333 29.383111c-10.325333 3.697778-21.191111 5.632-32.142222 5.745778-36.664889 0-50.631111-23.04-50.631111-57.6v-67.982222h-21.674667v-29.952l23.694222-1.905778 4.721778-41.130667z m302.876444 96.284445a23.921778 23.921778 0 0 0-25.912889-26.624 86.442667 86.442667 0 0 0-42.382222 14.535111l-14.449778-26.595556a121.742222 121.742222 0 0 1 64.056889-20.280889c38.883556 0 59.079111 23.324444 59.079111 67.726223v89.742222h-32.910222l-2.986666-16.497778h-0.995556a72.021333 72.021333 0 0 1-46.364444 20.337778 43.52 43.52 0 0 1-45.368889-45.539556c0-32.967111 26.424889-50.232889 88.234666-56.803555z m-29.667555 70.741333a40.675556 40.675556 0 0 0 29.667555-15.075556v-31.004444c-37.376 4.977778-49.834667 15.075556-49.834666 28.785778a17.152 17.152 0 0 0 20.195555 17.294222z m146.858666-105.585778h0.995556a70.997333 70.997333 0 0 1 49.834667-24.120889c33.166222 0 47.616 23.04 47.616 61.696v95.715556h-40.391111v-90.794667c0-23.580444-6.456889-32.056889-21.674667-32.056889a44.430222 44.430222 0 0 0-32.142222 17.265778v105.585778h-39.907556v-153.6h32.910222l2.759111 20.309333z m439.751112-24.120889c42.382222 0 64.284444 31.004444 64.284444 73.472 0.056889 6.200889-0.597333 12.373333-1.991111 18.375111h-94.72a40.334222 40.334222 0 0 0 42.638222 38.4 63.203556 63.203556 0 0 0 34.417778-10.695111l13.681778 24.689778a96.113778 96.113778 0 0 1-53.589334 17.009778 74.410667 74.410667 0 0 1-76.288-80.355556 75.207111 75.207111 0 0 1 71.537778-80.896z m29.639111 65.251556a28.757333 28.757333 0 0 0-29.155556-33.991111 34.56 34.56 0 0 0-33.393778 33.991111h62.577778z"
196 fill="#4D4D4D" p-id="32913"></path> 224 fill="#4D4D4D" p-id="32913"
225 />
197 </svg> 226 </svg>
198 </el-radio> 227 </el-radio>
199 <el-radio v-if="form.payTypeArr.indexOf('3')>-1" border label="4"> 228 <el-radio v-if="form.payTypeArr.indexOf('3')>-1" border label="4">
200 <!-- paypal--> 229 <!-- paypal-->
201 <svg class="icon" height="40" p-id="22654" t="1709002828937" 230 <svg
202 version="1.1" viewBox="0 0 4220 1024" width="94" xmlns="http://www.w3.org/2000/svg"> 231 class="icon" height="40" p-id="22654" t="1709002828937"
232 version="1.1" viewBox="0 0 4220 1024" width="94" xmlns="http://www.w3.org/2000/svg"
233 >
203 <path 234 <path
204 d="M3249.722604 229.409369h-232.537679c-15.641548 0-29.197556 11.470468-32.325865 27.112016l-93.849287 595.421589c-2.08554 11.470468 7.299389 21.898167 18.769857 21.898167h118.875764c11.470468 0 20.855397-8.342159 21.898167-18.769858l27.112016-168.928717c2.08554-15.641548 15.641548-27.112016 32.325866-27.112016h72.99389c153.287169 0 240.879837-74.03666 263.820774-221.06721 10.427699-63.608961 0-114.704684-29.197556-150.158859-31.283096-38.582485-89.678208-58.395112-167.885947-58.395112z m27.112016 216.89613c-12.513238 83.421589-76.1222 83.421589-137.645621 83.421589h-35.454175l25.026476-155.372709c1.04277-9.384929 9.384929-16.684318 18.769858-16.684318h15.641547c41.710794 0 81.336049 0 102.191447 23.983707 12.513238 14.598778 15.641548 35.454175 11.470468 64.651731z" 235 d="M3249.722604 229.409369h-232.537679c-15.641548 0-29.197556 11.470468-32.325865 27.112016l-93.849287 595.421589c-2.08554 11.470468 7.299389 21.898167 18.769857 21.898167h118.875764c11.470468 0 20.855397-8.342159 21.898167-18.769858l27.112016-168.928717c2.08554-15.641548 15.641548-27.112016 32.325866-27.112016h72.99389c153.287169 0 240.879837-74.03666 263.820774-221.06721 10.427699-63.608961 0-114.704684-29.197556-150.158859-31.283096-38.582485-89.678208-58.395112-167.885947-58.395112z m27.112016 216.89613c-12.513238 83.421589-76.1222 83.421589-137.645621 83.421589h-35.454175l25.026476-155.372709c1.04277-9.384929 9.384929-16.684318 18.769858-16.684318h15.641547c41.710794 0 81.336049 0 102.191447 23.983707 12.513238 14.598778 15.641548 35.454175 11.470468 64.651731z"
205 fill="#009CDE" p-id="22655"></path> 236 fill="#009CDE" p-id="22655"
237 />
206 <path 238 <path
207 d="M1594.84684 229.409369h-232.537678c-15.641548 0-29.197556 11.470468-32.325866 27.112016l-93.849287 595.421589c-2.08554 11.470468 7.299389 21.898167 18.769857 21.898167h110.533605c15.641548 0 29.197556-11.470468 32.325866-27.112017l25.026476-160.586558c2.08554-15.641548 15.641548-27.112016 32.325866-27.112016h72.99389c153.287169 0 240.879837-74.03666 263.820774-221.06721 10.427699-63.608961 0-114.704684-29.197556-150.158859-31.283096-38.582485-89.678208-58.395112-167.885947-58.395112z m27.112016 216.89613c-12.513238 83.421589-76.1222 83.421589-137.645621 83.421589h-35.454175l25.026476-155.372709c1.04277-9.384929 9.384929-16.684318 18.769858-16.684318h15.641548c41.710794 0 81.336049 0 102.191446 23.983707 12.513238 14.598778 15.641548 35.454175 11.470468 64.651731zM2288.288795 443.177189h-111.576375c-9.384929 0-17.727088 7.299389-18.769857 16.684318l-5.213849 31.283096-7.299389-11.470469c-23.983707-34.411405-77.164969-46.924644-131.389002-46.924643-123.046843 0-227.323829 92.806517-248.179226 223.152749-10.427699 64.651731 4.171079 127.217923 41.710794 171.014257 34.411405 39.625255 82.378819 56.309572 139.731161 56.309572 99.063136 0 153.287169-63.608961 153.287169-63.608961l-5.21385 31.283096c-2.08554 11.470468 7.299389 21.898167 18.769858 21.898167h100.105906c15.641548 0 29.197556-11.470468 32.325866-27.112017l60.480652-380.610998c2.08554-10.427699-6.256619-21.898167-18.769858-21.898167z m-154.329939 216.896131c-10.427699 63.608961-61.523422 106.362525-125.132383 106.362525-32.325866 0-58.395112-10.427699-75.079429-30.240326-16.684318-19.812627-22.940937-46.924644-17.727088-78.207739 10.427699-62.566191 61.523422-107.405295 124.089613-107.405295 31.283096 0 57.352342 10.427699 74.03666 30.240326 17.727088 20.855397 25.026477 47.967413 19.812627 79.250509z" 239 d="M1594.84684 229.409369h-232.537678c-15.641548 0-29.197556 11.470468-32.325866 27.112016l-93.849287 595.421589c-2.08554 11.470468 7.299389 21.898167 18.769857 21.898167h110.533605c15.641548 0 29.197556-11.470468 32.325866-27.112017l25.026476-160.586558c2.08554-15.641548 15.641548-27.112016 32.325866-27.112016h72.99389c153.287169 0 240.879837-74.03666 263.820774-221.06721 10.427699-63.608961 0-114.704684-29.197556-150.158859-31.283096-38.582485-89.678208-58.395112-167.885947-58.395112z m27.112016 216.89613c-12.513238 83.421589-76.1222 83.421589-137.645621 83.421589h-35.454175l25.026476-155.372709c1.04277-9.384929 9.384929-16.684318 18.769858-16.684318h15.641548c41.710794 0 81.336049 0 102.191446 23.983707 12.513238 14.598778 15.641548 35.454175 11.470468 64.651731zM2288.288795 443.177189h-111.576375c-9.384929 0-17.727088 7.299389-18.769857 16.684318l-5.213849 31.283096-7.299389-11.470469c-23.983707-34.411405-77.164969-46.924644-131.389002-46.924643-123.046843 0-227.323829 92.806517-248.179226 223.152749-10.427699 64.651731 4.171079 127.217923 41.710794 171.014257 34.411405 39.625255 82.378819 56.309572 139.731161 56.309572 99.063136 0 153.287169-63.608961 153.287169-63.608961l-5.21385 31.283096c-2.08554 11.470468 7.299389 21.898167 18.769858 21.898167h100.105906c15.641548 0 29.197556-11.470468 32.325866-27.112017l60.480652-380.610998c2.08554-10.427699-6.256619-21.898167-18.769858-21.898167z m-154.329939 216.896131c-10.427699 63.608961-61.523422 106.362525-125.132383 106.362525-32.325866 0-58.395112-10.427699-75.079429-30.240326-16.684318-19.812627-22.940937-46.924644-17.727088-78.207739 10.427699-62.566191 61.523422-107.405295 124.089613-107.405295 31.283096 0 57.352342 10.427699 74.03666 30.240326 17.727088 20.855397 25.026477 47.967413 19.812627 79.250509z"
208 fill="#003087" p-id="22656"></path> 240 fill="#003087" p-id="22656"
241 />
209 <path 242 <path
210 d="M3943.164559 443.177189h-111.576375c-9.384929 0-17.727088 7.299389-18.769857 16.684318l-5.21385 31.283096-7.299389-11.470469c-23.983707-34.411405-77.164969-46.924644-131.389002-46.924643-123.046843 0-227.323829 92.806517-248.179226 223.152749-10.427699 64.651731 4.171079 127.217923 41.710795 171.014257 34.411405 39.625255 82.378819 56.309572 139.73116 56.309572 99.063136 0 153.287169-63.608961 153.28717-63.608961l-5.21385 31.283096c-2.08554 11.470468 7.299389 21.898167 18.769858 21.898167h100.105906c15.641548 0 29.197556-11.470468 32.325866-27.112017l60.480651-380.610998c2.08554-10.427699-6.256619-21.898167-18.769857-21.898167z m-154.329939 216.896131c-10.427699 63.608961-61.523422 106.362525-125.132383 106.362525-32.325866 0-58.395112-10.427699-75.07943-30.240326-16.684318-19.812627-22.940937-46.924644-17.727087-78.207739 10.427699-62.566191 61.523422-107.405295 124.089613-107.405295 31.283096 0 57.352342 10.427699 74.03666 30.240326 17.727088 20.855397 25.026477 47.967413 19.812627 79.250509z" 243 d="M3943.164559 443.177189h-111.576375c-9.384929 0-17.727088 7.299389-18.769857 16.684318l-5.21385 31.283096-7.299389-11.470469c-23.983707-34.411405-77.164969-46.924644-131.389002-46.924643-123.046843 0-227.323829 92.806517-248.179226 223.152749-10.427699 64.651731 4.171079 127.217923 41.710795 171.014257 34.411405 39.625255 82.378819 56.309572 139.73116 56.309572 99.063136 0 153.287169-63.608961 153.28717-63.608961l-5.21385 31.283096c-2.08554 11.470468 7.299389 21.898167 18.769858 21.898167h100.105906c15.641548 0 29.197556-11.470468 32.325866-27.112017l60.480651-380.610998c2.08554-10.427699-6.256619-21.898167-18.769857-21.898167z m-154.329939 216.896131c-10.427699 63.608961-61.523422 106.362525-125.132383 106.362525-32.325866 0-58.395112-10.427699-75.07943-30.240326-16.684318-19.812627-22.940937-46.924644-17.727087-78.207739 10.427699-62.566191 61.523422-107.405295 124.089613-107.405295 31.283096 0 57.352342 10.427699 74.03666 30.240326 17.727088 20.855397 25.026477 47.967413 19.812627 79.250509z"
211 fill="#009CDE" p-id="22657"></path> 244 fill="#009CDE" p-id="22657"
245 />
212 <path 246 <path
213 d="M2880.582074 443.177189h-111.576375c-10.427699 0-20.855397 5.213849-27.112016 14.598778l-154.329939 227.323829-65.694501-217.9389c-4.171079-13.556008-16.684318-22.940937-31.283096-22.940937h-109.490835c-13.556008 0-22.940937 13.556008-18.769857 26.069247l123.046843 360.79837-115.747454 162.672098c-9.384929 12.513238 0 30.240326 15.641548 30.240326h111.576375c10.427699 0 20.855397-5.213849 26.069246-13.556008l371.226069-535.983707c11.470468-13.556008 2.08554-31.283096-13.556008-31.283096z" 247 d="M2880.582074 443.177189h-111.576375c-10.427699 0-20.855397 5.213849-27.112016 14.598778l-154.329939 227.323829-65.694501-217.9389c-4.171079-13.556008-16.684318-22.940937-31.283096-22.940937h-109.490835c-13.556008 0-22.940937 13.556008-18.769857 26.069247l123.046843 360.79837-115.747454 162.672098c-9.384929 12.513238 0 30.240326 15.641548 30.240326h111.576375c10.427699 0 20.855397-5.213849 26.069246-13.556008l371.226069-535.983707c11.470468-13.556008 2.08554-31.283096-13.556008-31.283096z"
214 fill="#003087" p-id="22658"></path> 248 fill="#003087" p-id="22658"
249 />
215 <path 250 <path
216 d="M4074.553561 245.050916l-94.892057 605.849288c-2.08554 11.470468 7.299389 21.898167 18.769857 21.898167h95.934827c15.641548 0 29.197556-11.470468 32.325866-27.112017l93.849287-595.421588c2.08554-11.470468-7.299389-21.898167-18.769857-21.898167h-107.405296c-10.427699 1.04277-18.769857 7.299389-19.812627 16.684317z" 251 d="M4074.553561 245.050916l-94.892057 605.849288c-2.08554 11.470468 7.299389 21.898167 18.769857 21.898167h95.934827c15.641548 0 29.197556-11.470468 32.325866-27.112017l93.849287-595.421588c2.08554-11.470468-7.299389-21.898167-18.769857-21.898167h-107.405296c-10.427699 1.04277-18.769857 7.299389-19.812627 16.684317z"
217 fill="#009CDE" p-id="22659"></path> 252 fill="#009CDE" p-id="22659"
253 />
218 <path 254 <path
219 d="M782.529121 259.649695c12.513238-79.250509 0-133.474542-42.753564-182.484726C691.808143 22.940937 606.301015 0 496.81018 0H178.765374c-21.898167 0-41.710794 16.684318-44.839104 38.582485L0.451728 879.05499c-3.12831 16.684318 10.427699 31.283096 27.112016 31.283096h196.040733l-13.556008 85.507128c-2.08554 14.598778 9.384929 27.112016 23.983707 27.112016h165.800407c19.812627 0 36.496945-14.598778 39.625255-33.368635l2.08554-8.342159 31.283095-198.126273 2.08554-10.427699c3.12831-19.812627 19.812627-33.368635 39.625255-33.368635h25.026476c160.586558 0 285.718941-64.651731 322.215886-253.393075 15.641548-79.250509 7.299389-144.94501-33.368635-190.826884-12.513238-13.556008-28.154786-26.069246-45.881874-35.454175" 255 d="M782.529121 259.649695c12.513238-79.250509 0-133.474542-42.753564-182.484726C691.808143 22.940937 606.301015 0 496.81018 0H178.765374c-21.898167 0-41.710794 16.684318-44.839104 38.582485L0.451728 879.05499c-3.12831 16.684318 10.427699 31.283096 27.112016 31.283096h196.040733l-13.556008 85.507128c-2.08554 14.598778 9.384929 27.112016 23.983707 27.112016h165.800407c19.812627 0 36.496945-14.598778 39.625255-33.368635l2.08554-8.342159 31.283095-198.126273 2.08554-10.427699c3.12831-19.812627 19.812627-33.368635 39.625255-33.368635h25.026476c160.586558 0 285.718941-64.651731 322.215886-253.393075 15.641548-79.250509 7.299389-144.94501-33.368635-190.826884-12.513238-13.556008-28.154786-26.069246-45.881874-35.454175"
220 fill="#009CDE" p-id="22660"></path> 256 fill="#009CDE" p-id="22660"
257 />
221 <path 258 <path
222 d="M782.529121 259.649695c12.513238-79.250509 0-133.474542-42.753564-182.484726C691.808143 22.940937 606.301015 0 496.81018 0H178.765374c-21.898167 0-41.710794 16.684318-44.839104 38.582485L0.451728 879.05499c-3.12831 16.684318 10.427699 31.283096 27.112016 31.283096h196.040733l49.010184-312.830958-1.04277 9.384929c3.12831-21.898167 21.898167-38.582485 44.839104-38.582485h93.849287c183.527495 0 327.429735-74.03666 369.140529-289.89002l3.12831-18.769857" 259 d="M782.529121 259.649695c12.513238-79.250509 0-133.474542-42.753564-182.484726C691.808143 22.940937 606.301015 0 496.81018 0H178.765374c-21.898167 0-41.710794 16.684318-44.839104 38.582485L0.451728 879.05499c-3.12831 16.684318 10.427699 31.283096 27.112016 31.283096h196.040733l49.010184-312.830958-1.04277 9.384929c3.12831-21.898167 21.898167-38.582485 44.839104-38.582485h93.849287c183.527495 0 327.429735-74.03666 369.140529-289.89002l3.12831-18.769857"
223 fill="#012169" p-id="22661"></path> 260 fill="#012169" p-id="22661"
261 />
224 <path 262 <path
225 d="M326.838693 260.692464c2.08554-13.556008 10.427699-23.983707 21.898167-30.240326 5.213849-2.08554 11.470468-4.171079 16.684318-4.171079h250.264766c29.197556 0 57.352342 2.08554 82.378819 6.256619 7.299389 1.04277 14.598778 2.08554 20.855397 4.17108 7.299389 1.04277 13.556008 3.12831 19.812627 5.213849l9.384929 3.128309c12.513238 4.171079 23.983707 9.384929 34.411405 14.598779 12.513238-79.250509 0-133.474542-42.753564-182.484726C691.808143 22.940937 606.301015 0 496.81018 0H178.765374c-21.898167 0-41.710794 16.684318-44.839104 38.582485L0.451728 879.05499c-3.12831 16.684318 10.427699 31.283096 27.112016 31.283096h196.040733l49.010184-312.830958L326.838693 260.692464z" 263 d="M326.838693 260.692464c2.08554-13.556008 10.427699-23.983707 21.898167-30.240326 5.213849-2.08554 11.470468-4.171079 16.684318-4.171079h250.264766c29.197556 0 57.352342 2.08554 82.378819 6.256619 7.299389 1.04277 14.598778 2.08554 20.855397 4.17108 7.299389 1.04277 13.556008 3.12831 19.812627 5.213849l9.384929 3.128309c12.513238 4.171079 23.983707 9.384929 34.411405 14.598779 12.513238-79.250509 0-133.474542-42.753564-182.484726C691.808143 22.940937 606.301015 0 496.81018 0H178.765374c-21.898167 0-41.710794 16.684318-44.839104 38.582485L0.451728 879.05499c-3.12831 16.684318 10.427699 31.283096 27.112016 31.283096h196.040733l49.010184-312.830958L326.838693 260.692464z"
226 fill="#003087" p-id="22662"></path> 264 fill="#003087" p-id="22662"
265 />
227 </svg> 266 </svg>
228 </el-radio> 267 </el-radio>
229 </el-radio-group> 268 </el-radio-group>
...@@ -231,11 +270,11 @@ ...@@ -231,11 +270,11 @@
231 <div v-if="payType == '2'&&wePayCodeUrl"> 270 <div v-if="payType == '2'&&wePayCodeUrl">
232 <div class="payImgbox flexCenter"> 271 <div class="payImgbox flexCenter">
233 <div> 272 <div>
234 <img :src="wePayCodeUrl" class="border" width="260"/> 273 <img :src="wePayCodeUrl" class="border" width="260">
235 <img class="mt20" src="@/assets/img/sm.png"/> 274 <img class="mt20" src="@/assets/img/sm.png">
236 </div> 275 </div>
237 <div class="ml20"> 276 <div class="ml20">
238 <img height="360" src="@/assets/img/rr.jpg"/> 277 <img height="360" src="@/assets/img/rr.jpg">
239 </div> 278 </div>
240 </div> 279 </div>
241 <div v-if="language==0" class="tip text-center text-danger"> 280 <div v-if="language==0" class="tip text-center text-danger">
...@@ -244,7 +283,7 @@ ...@@ -244,7 +283,7 @@
244 </div> 283 </div>
245 <div v-else class="tip text-center text-danger"> 284 <div v-else class="tip text-center text-danger">
246 After payment, do not close this window and wait for confirmation of successful payment. 285 After payment, do not close this window and wait for confirmation of successful payment.
247 <br/> 286 <br>
248 If you have not received a notification of successful payment for a long time, 287 If you have not received a notification of successful payment for a long time,
249 please refresh the page 288 please refresh the page
250 </div> 289 </div>
...@@ -271,8 +310,10 @@ ...@@ -271,8 +310,10 @@
271 <th>{{ language == 0 ? '收款账号' : `Receiver's Account Number` }}</th> 310 <th>{{ language == 0 ? '收款账号' : `Receiver's Account Number` }}</th>
272 <td> 311 <td>
273 {{ form.payInformation?.receivingAccount }} 312 {{ form.payInformation?.receivingAccount }}
274 <span v-if="language==0" class="text-primary size12 pointer" 313 <span
275 @click="copy(form.payInformation?.receivingAccount)">复制25位账号</span> 314 v-if="language==0" class="text-primary size12 pointer"
315 @click="copy(form.payInformation?.receivingAccount)"
316 >复制25位账号</span>
276 <span v-else class="text-primary size12 pointer" @click="copy(form.payInformation?.receivingAccount)">Copy 25-digit Account Number</span> 317 <span v-else class="text-primary size12 pointer" @click="copy(form.payInformation?.receivingAccount)">Copy 25-digit Account Number</span>
277 <div v-if="language==0" class="text-gray">请勿重复打款</div> 318 <div v-if="language==0" class="text-gray">请勿重复打款</div>
278 <div v-else class="text-gray">Please do not make duplicate payments</div> 319 <div v-else class="text-gray">Please do not make duplicate payments</div>
...@@ -305,11 +346,15 @@ ...@@ -305,11 +346,15 @@
305 <tr> 346 <tr>
306 <th>{{ language == 0 ? '操作' : 'Actions' }}</th> 347 <th>{{ language == 0 ? '操作' : 'Actions' }}</th>
307 <td> 348 <td>
308 <file-upload v-model="voucherObj" :button-text="language==0?'上传汇款单':'Upload Remittance Receipt'" 349 <file-upload
350 v-model="voucherObj" :button-text="language==0?'上传汇款单':'Upload Remittance Receipt'"
309 :button-type="1" :is-show-tip="false" 351 :button-type="1" :is-show-tip="false"
310 :limit="1"/> 352 :limit="1"
311 <span v-if="language==0" 353 />
312 class="text-danger size12">*您可以在上传汇款单完成后,与联系人进行电话确认。具体缴费结果,可以在个人中心-我的报名中查看进度</span> 354 <span
355 v-if="language==0"
356 class="text-danger size12"
357 >*您可以在上传汇款单完成后,与联系人进行电话确认。具体缴费结果,可以在个人中心-我的报名中查看进度</span>
313 <span v-else class="text-danger size12">*You can confirm with the contact person by phone after uploading the remittance form. The specific payment results can be viewed in the My Registration section of the personal center to check the progress</span> 358 <span v-else class="text-danger size12">*You can confirm with the contact person by phone after uploading the remittance form. The specific payment results can be viewed in the My Registration section of the personal center to check the progress</span>
314 </td> 359 </td>
315 </tr> 360 </tr>
...@@ -332,7 +377,7 @@ ...@@ -332,7 +377,7 @@
332 <el-card class="mb60"> 377 <el-card class="mb60">
333 <div v-if="form.payStatus == '3'" class="text-center"> 378 <div v-if="form.payStatus == '3'" class="text-center">
334 <el-icon color="#32B16C" size="80"> 379 <el-icon color="#32B16C" size="80">
335 <SuccessFilled/> 380 <SuccessFilled />
336 </el-icon> 381 </el-icon>
337 <p class="text-success">{{ language == 0 ? '支付成功' : 'successful!' }}</p> 382 <p class="text-success">{{ language == 0 ? '支付成功' : 'successful!' }}</p>
338 <h3 class="wePrice">{{ language == 0 ? '¥' : '€' }}{{ form.totalFee || 0 }}</h3> 383 <h3 class="wePrice">{{ language == 0 ? '¥' : '€' }}{{ form.totalFee || 0 }}</h3>
...@@ -347,12 +392,14 @@ ...@@ -347,12 +392,14 @@
347 <label>{{ language == 0 ? '线下支付' : 'Offline Payment' }}</label> 392 <label>{{ language == 0 ? '线下支付' : 'Offline Payment' }}</label>
348 <div class="text-center"> 393 <div class="text-center">
349 <el-icon color="#32B16C" size="80"> 394 <el-icon color="#32B16C" size="80">
350 <SuccessFilled/> 395 <SuccessFilled />
351 </el-icon> 396 </el-icon>
352 <p class="text-success">{{ language == 0 ? '支付成功' : 'successfully!' }}</p> 397 <p class="text-success">{{ language == 0 ? '支付成功' : 'successfully!' }}</p>
353 <h3 class="wePrice">{{ language == 0 ? '¥' : '€' }}{{ form.totalFee }}</h3> 398 <h3 class="wePrice">{{ language == 0 ? '¥' : '€' }}{{ form.totalFee }}</h3>
354 <span v-if="language==0" 399 <span
355 class="text-danger size12">*您可以在上传汇款单完成后,与联系人进行电话确认。具体缴费结果,可以在个人中心-我的报名中查看进度</span> 400 v-if="language==0"
401 class="text-danger size12"
402 >*您可以在上传汇款单完成后,与联系人进行电话确认。具体缴费结果,可以在个人中心-我的报名中查看进度</span>
356 <span v-else class="text-danger size12">*You can confirm with the contact person by phone after uploading the remittance form. The specific payment results can be viewed in the My Registration section of the personal center to check the progress</span> 403 <span v-else class="text-danger size12">*You can confirm with the contact person by phone after uploading the remittance form. The specific payment results can be viewed in the My Registration section of the personal center to check the progress</span>
357 </div> 404 </div>
358 </el-card> 405 </el-card>
...@@ -372,12 +419,14 @@ ...@@ -372,12 +419,14 @@
372 </el-result> 419 </el-result>
373 </div> 420 </div>
374 421
375 <el-dialog v-model="showSJDialog" :close-on-click-modal="false" :close-on-press-escape="false" 422 <el-dialog
376 :title="language==0?'开收据':'Issue a receipt'" width="460px"> 423 v-model="showSJDialog" :close-on-click-modal="false" :close-on-press-escape="false"
424 :title="language==0?'开收据':'Issue a receipt'" width="460px"
425 >
377 <div class="flex"> 426 <div class="flex">
378 <el-form-item :label="language==0?'开票人':'Name'"> 427 <el-form-item :label="language==0?'开票人':'Name'">
379 <div class="flex"> 428 <div class="flex">
380 <el-input v-model="lpName" :placeholder="language==0?'请输入开票人':'Please enter your name'"></el-input> 429 <el-input v-model="lpName" :placeholder="language==0?'请输入开票人':'Please enter your name'" />
381 <el-button type="primary" @click="submitSJ">{{ language == 0 ? '提交并下载' : 'Submit' }}</el-button> 430 <el-button type="primary" @click="submitSJ">{{ language == 0 ? '提交并下载' : 'Submit' }}</el-button>
382 </div> 431 </div>
383 </el-form-item> 432 </el-form-item>
...@@ -394,29 +443,29 @@ ...@@ -394,29 +443,29 @@
394 </template> 443 </template>
395 444
396 <script setup> 445 <script setup>
397 import {Search} from "@element-plus/icons-vue" 446 import { Search } from '@element-plus/icons-vue'
398 import {getCurrentInstance, ref} from 'vue' 447 import { getCurrentInstance, ref } from 'vue'
399 import {onMounted} from "@vue/runtime-core" 448 import { onMounted } from '@vue/runtime-core'
400 import {useRoute, useRouter} from "vue-router" 449 import { useRoute, useRouter } from 'vue-router'
401 import * as match from "@/apiPc/match" 450 import * as match from '@/apiPc/match'
402 import MatchInfoRow from "@/viewsPc/match/components/matchInfo-row"; 451 import MatchInfoRow from '@/viewsPc/match/components/matchInfo-row'
403 452
404 const {proxy} = getCurrentInstance() 453 const { proxy } = getCurrentInstance()
405 const route = useRoute() 454 const route = useRoute()
406 const router = useRouter() 455 const router = useRouter()
407 const payType = ref('2') 456 const payType = ref('2')
408 const orderId = ref(route.query.orderId) 457 const orderId = ref(route.query.orderId)
409 const matchId = ref() 458 const matchId = ref()
410 const groupId = ref() 459 const groupId = ref()
411 import GroupInfoRow from "@/viewsPc/match/components/groupInfo-row"; 460 import GroupInfoRow from '@/viewsPc/match/components/groupInfo-row'
412 import CoachInfoRow from "@/viewsPc/match/components/coachInfo-row"; 461 import CoachInfoRow from '@/viewsPc/match/components/coachInfo-row'
413 import SignInfoTable from "@/viewsPc/match/components/signInfo-table" 462 import SignInfoTable from '@/viewsPc/match/components/signInfo-table'
414 import ZuTable from "@/viewsPc/match/components/zu-table"; 463 import ZuTable from '@/viewsPc/match/components/zu-table'
415 import useUserStore from "@/store/modules/user"; 464 import useUserStore from '@/store/modules/user'
416 import FileUpload from "@/components/FileUpload"; 465 import FileUpload from '@/components/FileUpload'
417 import {useStorage} from "@vueuse/core/index"; 466 import { useStorage } from '@vueuse/core/index'
418 import {ElMessage, ElMessageBox} from "element-plus"; 467 import { ElMessage, ElMessageBox } from 'element-plus'
419 import {getBaseInfoByActiveId, getReceipt} from "@/apiPc/booking"; 468 import { getBaseInfoByActiveId, getReceipt } from '@/apiPc/booking'
420 469
421 const isLogin = ref(false) 470 const isLogin = ref(false)
422 const language = useStorage('language', 0) 471 const language = useStorage('language', 0)
...@@ -458,7 +507,7 @@ onMounted(() => { ...@@ -458,7 +507,7 @@ onMounted(() => {
458 language.value = 1 507 language.value = 1
459 } 508 }
460 } 509 }
461 var is_mobile = navigator.userAgent.toLowerCase().match(/(ipod|ipad|iphone|android|coolpad|mmp|smartphone|midp|wap|xoom|symbian|j2me|blackberry|wince)/i) != null; 510 var is_mobile = navigator.userAgent.toLowerCase().match(/(ipod|ipad|iphone|android|coolpad|mmp|smartphone|midp|wap|xoom|symbian|j2me|blackberry|wince)/i) != null
462 console.log(is_mobile) 511 console.log(is_mobile)
463 512
464 if (is_mobile) { 513 if (is_mobile) {
...@@ -472,7 +521,7 @@ if (useUserStore().user) { ...@@ -472,7 +521,7 @@ if (useUserStore().user) {
472 } 521 }
473 522
474 function getData() { 523 function getData() {
475 return match.getMyOrderDetail({orderId: orderId.value}).then(res => { 524 return match.getMyOrderDetail({ orderId: orderId.value }).then(res => {
476 totalFee.value = res.data.totalFee 525 totalFee.value = res.data.totalFee
477 form.value = res.data 526 form.value = res.data
478 form.value.payTypeArr = res.data.payType.split(',') 527 form.value.payTypeArr = res.data.payType.split(',')
...@@ -493,7 +542,7 @@ function getData() { ...@@ -493,7 +542,7 @@ function getData() {
493 } 542 }
494 543
495 function getMyMemberTable() { 544 function getMyMemberTable() {
496 match.getPerPersonList({cptId: matchId.value, searchLabels: '1,2,3,4,5,6'}, user.userId).then(res => { 545 match.getPerPersonList({ cptId: matchId.value, searchLabels: '1,2,3,4,5,6' }, user.userId).then(res => {
497 myMemberTable.value = res.rows 546 myMemberTable.value = res.rows
498 }) 547 })
499 } 548 }
...@@ -523,8 +572,7 @@ function getSignList() { ...@@ -523,8 +572,7 @@ function getSignList() {
523 } 572 }
524 }).catch(err => { 573 }).catch(err => {
525 if (isLogin.value) { 574 if (isLogin.value) {
526 router.push({name: 'myMatch'}) 575 router.push({ name: 'myMatch' })
527
528 } 576 }
529 }) 577 })
530 } 578 }
...@@ -545,13 +593,13 @@ function changePaytype() { ...@@ -545,13 +593,13 @@ function changePaytype() {
545 function goPay() { 593 function goPay() {
546 if (payType.value == '2' && form.value.payTypeArr.indexOf('2') > -1) { 594 if (payType.value == '2' && form.value.payTypeArr.indexOf('2') > -1) {
547 if (isphone.value) { 595 if (isphone.value) {
548 //拉起移动支付 596 // 拉起移动支付
549 match.createWePayPhone({orderId: orderId.value}).then(res => { 597 match.createWePayPhone({ orderId: orderId.value }).then(res => {
550 hideconfirmbtn.value = true 598 hideconfirmbtn.value = true
551 window.location.href = res.data 599 window.location.href = res.data
552 }) 600 })
553 } else { 601 } else {
554 match.createWePay({orderId: orderId.value}).then(res => { 602 match.createWePay({ orderId: orderId.value }).then(res => {
555 wePayCodeUrl.value = res.data 603 wePayCodeUrl.value = res.data
556 hideconfirmbtn.value = true 604 hideconfirmbtn.value = true
557 startforGetData() 605 startforGetData()
...@@ -562,7 +610,7 @@ function goPay() { ...@@ -562,7 +610,7 @@ function goPay() {
562 return 610 return
563 } 611 }
564 if (payType.value == '4') { 612 if (payType.value == '4') {
565 match.createPalPay({orderId: orderId.value}).then(res => { 613 match.createPalPay({ orderId: orderId.value }).then(res => {
566 if (res.data) { 614 if (res.data) {
567 location.href = res.data 615 location.href = res.data
568 } 616 }
...@@ -570,7 +618,7 @@ function goPay() { ...@@ -570,7 +618,7 @@ function goPay() {
570 } 618 }
571 } 619 }
572 620
573 let handle; 621 let handle
574 622
575 function startforGetData() { 623 function startforGetData() {
576 handle = setTimeout(() => { 624 handle = setTimeout(() => {
...@@ -617,7 +665,6 @@ function exportSignList(n) { ...@@ -617,7 +665,6 @@ function exportSignList(n) {
617 ...obj 665 ...obj
618 }, `${fileName}_${new Date().getTime()}.xlsx`) 666 }, `${fileName}_${new Date().getTime()}.xlsx`)
619 } 667 }
620
621 } 668 }
622 669
623 function exportPdf() { 670 function exportPdf() {
...@@ -637,7 +684,6 @@ function exportPdf() { ...@@ -637,7 +684,6 @@ function exportPdf() {
637 ...obj 684 ...obj
638 }, `${fileName}_${new Date().getTime()}.pdf`) 685 }, `${fileName}_${new Date().getTime()}.pdf`)
639 } 686 }
640
641 } 687 }
642 688
643 function copy(str) { 689 function copy(str) {
......
...@@ -2,26 +2,27 @@ ...@@ -2,26 +2,27 @@
2 <div> 2 <div>
3 <div class="box ph-30"> 3 <div class="box ph-30">
4 <el-card class="mb20"> 4 <el-card class="mb20">
5 <team-sign-step v-if="user.utype=='2'" :language="language" :active-step="activeStep"/> 5 <team-sign-step v-if="user.utype=='2'" :active-step="activeStep" :language="language" />
6 <single-sign-step v-if="user.utype=='1'" :language="language" :active-step="2"/> 6 <single-sign-step v-if="user.utype=='1'" :active-step="2" :language="language" />
7 </el-card> 7 </el-card>
8 <el-card :body-style="{ padding: '0px' }"> 8 <el-card :body-style="{ padding: '0px' }">
9 <match-info-row v-if="matchId" :match-id="matchId"/> 9 <match-info-row v-if="matchId" :match-id="matchId" />
10 <group-info-row v-if="matchId&&groupId!=0" :match-id="matchId" :group-id="groupId"/> 10 <group-info-row v-if="matchId&&groupId!=0" :group-id="groupId" :match-id="matchId" />
11 <coach-info-row v-if="matchId&&user.utype=='2'" :match-id="matchId" :language="language"/> 11 <coach-info-row v-if="matchId&&user.utype=='2'" :language="language" :match-id="matchId" />
12 <div style="margin: 20px"> 12 <div style="margin: 20px">
13 <div class="leftboderTT" v-if="user.utype=='1'&&myMemberTable.length>0">{{ language==0?'随行人员清单':'List of accompanying personnel' }} 13 <div v-if="user.utype=='1'&&myMemberTable.length>0" class="leftboderTT">
14 {{ language == 0 ? '随行人员清单' : 'List of accompanying personnel' }}
14 </div> 15 </div>
15 <div v-if="user.utype=='1'&&myMemberTable.length>0"> 16 <div v-if="user.utype=='1'&&myMemberTable.length>0">
16 <el-table class="mt20" :data="myMemberTable" border> 17 <el-table :data="myMemberTable" border class="mt20">
17 <el-table-column type="index" :label="language==0?'序号':'Index'" width="70" align="center"/> 18 <el-table-column :label="language==0?'序号':'Index'" align="center" type="index" width="70" />
18 <el-table-column :label="language==0?'姓氏':'Surname'" prop="xing" min-width="100"/> 19 <el-table-column :label="language==0?'姓氏':'Surname'" min-width="100" prop="xing" />
19 <el-table-column :label="language==0?'名':'Name'" prop="ming" min-width="100"/> 20 <el-table-column :label="language==0?'名':'Name'" min-width="100" prop="ming" />
20 <el-table-column :label="language==0?'国家/地区':'Nationality'" prop="countryName" min-width="100"/> 21 <el-table-column :label="language==0?'国家/地区':'Nationality'" min-width="100" prop="countryName" />
21 <!-- <el-table-column :label="language==0?'国家':'Nationality'" prop="countryStr" min-width="120"/>--> 22 <!-- <el-table-column :label="language==0?'国家':'Nationality'" prop="countryStr" min-width="120"/>-->
22 <!-- <el-table-column :label="language==0?'护照号':'Passport Number'" prop="idcCode" min-width="120"/>--> 23 <!-- <el-table-column :label="language==0?'护照号':'Passport Number'" prop="idcCode" min-width="120"/>-->
23 <!-- <el-table-column v-show="!isNational" :label="language==0?'出生日期':'Birthday'" prop="birth"/>--> 24 <!-- <el-table-column v-show="!isNational" :label="language==0?'出生日期':'Birthday'" prop="birth"/>-->
24 <el-table-column :label="language==0?'性别':'Gender'" prop="sexStr"/> 25 <el-table-column :label="language==0?'性别':'Gender'" prop="sexStr" />
25 <el-table-column :label="language==0?'角色':'Role'" min-width="160"> 26 <el-table-column :label="language==0?'角色':'Role'" min-width="160">
26 <template #default="scope"> 27 <template #default="scope">
27 <div class="roletd"> 28 <div class="roletd">
...@@ -40,81 +41,133 @@ ...@@ -40,81 +41,133 @@
40 </el-table> 41 </el-table>
41 </div> 42 </div>
42 <div class="mt20"> 43 <div class="mt20">
43 <div class="leftboderTT">{{ language==0?'参赛人员清单':'Participant List' }} 44 <div class="leftboderTT">{{ language == 0 ? '参赛人员清单' : 'Participant List' }}
44 <div class="fr"> 45 <div class="fr">
45 <el-input size="small" v-model="zuQuery.athName" :prefix-icon="Search" 46 <el-input
46 @change="getSignList" clearable/> 47 v-model="zuQuery.athName" :prefix-icon="Search" clearable
48 size="small" @change="getSignList"
49 />
47 </div> 50 </div>
48 </div> 51 </div>
49 <sign-info-table class="mt20" :showSummary="true" :total="signTotal" :match-id="matchId" 52 <sign-info-table
50 :list="signInfoList" :hasAction="false" :is-national="isNational"/> 53 :has-action="false"
54 :is-national="isNational"
55 :list="signInfoList"
56 :match-id="matchId"
57 :show-summary="route.query.buy=='1'"
58 :total="signTotal" class="mt20"
59 />
51 </div> 60 </div>
52 <div class="mt20"> 61 <div class="mt20">
53 <div class="leftboderTT">{{ language==0?'设项报名清单':'LIST OF REGISTERED COMPETITIONS' }} 62 <div class="leftboderTT">{{ language == 0 ? '设项报名清单' : 'LIST OF REGISTERED COMPETITIONS' }}
54 <div class="fr"> 63 <div class="fr">
55 <el-input size="small" v-model="zuQuery.groName" :prefix-icon="Search" 64 <el-input
56 @change="getSignList" clearable/> 65 v-model="zuQuery.groName" :prefix-icon="Search" clearable
66 size="small" @change="getSignList"
67 />
57 </div> 68 </div>
58 </div> 69 </div>
59 <zu-table class="mt20" :showSummary="true" :total="zuTotal" :list="zuTableList" :hasAction="false"/> 70 <zu-table
71 :has-action="false"
72 :list="zuTableList"
73 :show-summary="true"
74 :total="zuTotal"
75 class="mt20"
76 />
60 </div> 77 </div>
61 </div> 78 </div>
62
63
64 </el-card> 79 </el-card>
65 <el-card class="mt20" :body-style="{padding: '0px'}"> 80 <!-- 参赛服务费-->
81 <el-card :body-style="{padding: '0px'}" class="mt20">
66 <el-row class="priceBar"> 82 <el-row class="priceBar">
67 <el-col :lg="12" :xs="24" class="pd20"> 83 <el-col :lg="12" :xs="24" class="pd20">
68 <div class="flex"> 84 <div class="flex">
69 <div class="item" v-if="form.cptRegistrationFee?.totalFee>0"><label>{{ language==0?'参赛服务费':'REGISTRATION FEE' }}:</label><span>{{ language==0?'¥':'€' }}{{form.cptRegistrationFee?.totalFee}}</span></div> 85 <div v-if="form.cptRegistrationFee?.totalFee>0" class="item">
70 <div class="item" v-if="form.cptInsuranceFee?.totalFee>0"><label>{{ language==0?'保险费':'INSURANCE' }}:</label><span>{{ language==0?'¥':'€' }}{{form.cptInsuranceFee?.totalFee}}</span></div> 86 <label>{{
71 <div class="item" v-if="form.totalFee>0"><label>{{ language==0?'费用总计':'Total Cost' }}:</label><span>{{ language==0?'¥':'€' }}{{form.totalFee}}</span></div> 87 language == 0 ? '参赛服务费' : 'REGISTRATION FEE'
88 }}:</label>
89 <span>{{ language == 0 ? '¥' : '€' }}{{ form.cptRegistrationFee?.totalFee }}</span>
90 </div>
91 <div v-if="route.query.buy=='1'&& form.cptInsuranceFee?.totalFee>0" class="item">
92 <label>{{
93 language == 0 ? '保险费' : 'INSURANCE'
94 }}:</label>
95 <span>{{ language == 0 ? '¥' : '€' }}{{ form.cptInsuranceFee?.totalFee }}</span>
96 </div>
97 <div v-if="form.totalFee>0" class="item">
98 <label>{{
99 language == 0 ? '费用总计' : 'Total Cost'
100 }}:</label>
101 <span>{{ language == 0 ? '¥' : '€' }}{{ form.totalFee }}</span>
102 </div>
72 </div> 103 </div>
73 </el-col> 104 </el-col>
74 <el-col :lg="12" :xs="24" class="text-right pd20"> 105 <el-col :lg="12" :xs="24" class="text-right pd20">
75 106
76 <el-link type="primary" @click="exportSignList(1)"><el-icon><Upload /></el-icon> 107 <el-link type="primary" @click="exportSignList(1)">
77 {{ language==0?'导出参赛人员清单':'Export Participant List' }}</el-link> 108 <el-icon>
78 <el-link type="primary" @click="exportSignList(2)"><el-icon><Upload /></el-icon> 109 <Upload />
79 {{ language==0?'导出设项报名清单':'EXPORT LIST OF REGISTERED COMPETITIONS' }}</el-link> 110 </el-icon>
111 {{ language == 0 ? '导出参赛人员清单' : 'Export Participant List' }}
112 </el-link>
113 <el-link type="primary" @click="exportSignList(2)">
114 <el-icon>
115 <Upload />
116 </el-icon>
117 {{ language == 0 ? '导出设项报名清单' : 'EXPORT LIST OF REGISTERED COMPETITIONS' }}
118 </el-link>
80 119
81 <el-link type="primary" @click="exportPdf"><el-icon><Upload /></el-icon> 120 <el-link type="primary" @click="exportPdf">
82 {{ language==0?'导出pdf':'Export PDF' }} 121 <el-icon>
122 <Upload />
123 </el-icon>
124 {{ language == 0 ? '导出pdf' : 'Export PDF' }}
83 </el-link> 125 </el-link>
84 </el-col> 126 </el-col>
85 </el-row> 127 </el-row>
86 <div class="text-center pd20"> 128 <div class="text-center pd20">
87 <el-button type="primary" class="" plain round @click="goPrev()">{{ language == 0 ? "上一步" : 'Go back' }}</el-button> 129 <el-button class="" plain round type="primary" @click="goPrev()">{{
88 <el-button type="primary" class="" plain round @click="submitForm(0)">{{ language==0?'保存暂不提交审核':'Save, Do Not Submit for Review Yet' }}</el-button> 130 language == 0 ? "上一步" : 'Go back'
89 <el-button type="primary" class="btn-lineG w200px" round @click="submitForm(1)">{{ language==0?'提交审核':'Submit for review' }}</el-button> 131 }}
132 </el-button>
133 <el-button class="" plain round type="primary" @click="submitForm(0)">
134 {{ language == 0 ? '保存暂不提交审核' : 'Save, Do Not Submit for Review Yet' }}
135 </el-button>
136 <el-button class="btn-lineG w200px" round type="primary" @click="submitForm(1)">
137 {{ language == 0 ? '提交审核' : 'Submit for review' }}
138 </el-button>
90 </div> 139 </div>
91 </el-card> 140 </el-card>
92 </div> 141 </div>
142 <insuranceView ref="insuranceViewRef" />
93 </div> 143 </div>
94 </template> 144 </template>
95 145
96 <script setup> 146 <script setup>
97 import {Search} from "@element-plus/icons-vue"; 147 import { Search } from '@element-plus/icons-vue'
98 import TeamSignStep from './components/teamSignStep' 148 import TeamSignStep from './components/teamSignStep'
99 import MatchInfoRow from "@/viewsPc/match/components/matchInfo-row" 149 import MatchInfoRow from '@/viewsPc/match/components/matchInfo-row'
100 import GroupInfoRow from "@/viewsPc/match/components/groupInfo-row" 150 import GroupInfoRow from '@/viewsPc/match/components/groupInfo-row'
101 import CoachInfoRow from "@/viewsPc/match/components/coachInfo-row" 151 import CoachInfoRow from '@/viewsPc/match/components/coachInfo-row'
102 import SignInfoTable from "@/viewsPc/match/components/signInfo-table" 152 import SignInfoTable from '@/viewsPc/match/components/signInfo-table'
103 import {getCurrentInstance, ref} from "vue" 153 import insuranceView from './components/insuranceView.vue'
104 import cache from "@/plugins/cache"; 154
105 import {onMounted} from "@vue/runtime-core"; 155 import { getCurrentInstance, ref } from 'vue'
106 import * as match from "@/apiPc/match" 156 import cache from '@/plugins/cache'
107 import {useRoute, useRouter} from "vue-router"; 157 import { onMounted } from '@vue/runtime-core'
108 import useUserStore from "@/store/modules/user"; 158 import * as match from '@/apiPc/match'
109 import ZuTable from "@/viewsPc/match/components/zu-table"; 159 import { useRoute, useRouter } from 'vue-router'
110 import {ElMessageBox} from "element-plus"; 160 import useUserStore from '@/store/modules/user'
111 import SingleSignStep from "@/viewsPc/match/components/singleSignStep"; 161 import ZuTable from '@/viewsPc/match/components/zu-table'
112 import {useStorage} from "@vueuse/core/index"; 162 import { ElMessageBox } from 'element-plus'
163 import SingleSignStep from '@/viewsPc/match/components/singleSignStep'
164 import { useStorage } from '@vueuse/core/index'
165
113 const route = useRoute() 166 const route = useRoute()
114 const router = useRouter() 167 const router = useRouter()
115 const activeStep = ref(3) 168 const activeStep = ref(3)
116 const groupInfo = useUserStore().group || {} 169 const groupInfo = useUserStore().group || {}
117 const language= useStorage('language',0) 170 const language = useStorage('language', 0)
118 const form = ref({}) 171 const form = ref({})
119 const signInfoList = ref([]) 172 const signInfoList = ref([])
120 const signEndTime = ref('') 173 const signEndTime = ref('')
...@@ -123,55 +176,65 @@ const zuTotal = ref(0) ...@@ -123,55 +176,65 @@ const zuTotal = ref(0)
123 const signTotal = ref(0) 176 const signTotal = ref(0)
124 const groupId = ref(route.query.groupId || 0) 177 const groupId = ref(route.query.groupId || 0)
125 const matchId = ref(route.query.matchId) 178 const matchId = ref(route.query.matchId)
126 const isNational = ref(route.query.isNational||false) 179 const isNational = ref(route.query.isNational || false)
127 const myMemberTable = ref([]) 180 const myMemberTable = ref([])
128 const user = useUserStore().user 181 const user = useUserStore().user
129 const {proxy} = getCurrentInstance() 182 const { proxy } = getCurrentInstance()
130 const zuQuery = ref({ 183 const zuQuery = ref({
131 cptId: matchId.value, 184 cptId: matchId.value,
132 groupId: groupId.value 185 groupId: groupId.value,
186 buy: route.query.buy// 0不购买,1购买
133 }) 187 })
134 onMounted(()=>{ 188 const matchData = ref({})
189 onMounted(() => {
135 Promise.all([ 190 Promise.all([
136 getMatch(), 191 getMatch(),
137 getSignList(), 192 getSignList(),
138 getFee(groupId.value) 193 getFee(groupId.value)
139 ]) 194 ])
140 if(user.utype=='1'){ 195 if (user.utype == '1') {
141 getMyMemberTable() 196 getMyMemberTable()
142 } 197 }
143 }) 198 })
199
144 function getMatch() { 200 function getMatch() {
145 match.getMatchById({ 201 match.getMatchById({
146 id: matchId.value 202 id: matchId.value
147 }).then(res => { 203 }).then(res => {
148 signEndTime.value = res.data.signEndTime 204 signEndTime.value = res.data.signEndTime
149 }).catch(err=>{ 205 matchData.value = res.data
150 router.push({name: 'matchList'}) 206 if (matchData.value.insuranceFlag == '2' && route.query.buy == '1') {
151 return 207 proxy.$refs['insuranceViewRef'].open(matchData.value.insuranceAgreement)
208 }
209 }).catch(err => {
210 router.push({ name: 'matchList' })
152 }) 211 })
153 } 212 }
213
154 function getMyMemberTable() { 214 function getMyMemberTable() {
155 match.getPerPersonList({cptId: matchId.value, searchLabels: '1,2,3,4,5,6'}, user.userId).then(res => { 215 match.getPerPersonList({ cptId: matchId.value, searchLabels: '1,2,3,4,5,6' }, user.userId).then(res => {
156 myMemberTable.value = res.rows 216 myMemberTable.value = res.rows
157 }) 217 })
158 } 218 }
219
159 function getSignList() { 220 function getSignList() {
160 match.getMySignInfoList(zuQuery.value).then(res=>{ 221 match.getMySignInfoList(zuQuery.value).then(res => {
161 zuTotal.value = 0 222 zuTotal.value = 0
162 signTotal.value = 0 223 signTotal.value = 0
163 signInfoList.value = res.data.singleData 224 signInfoList.value = res.data.singleData
225 console.log(signInfoList.value)
164 zuTableList.value = res.data.zuData 226 zuTableList.value = res.data.zuData
165 for(var s of signInfoList.value){ 227 for (var s of signInfoList.value) {
166 signTotal.value = (Number(signTotal.value) + Number(s.insuranceFee)).toFixed(2) 228 signTotal.value = (Number(signTotal.value) + Number(s.insuranceFee)).toFixed(2)
167 } 229 }
168 for(var z of zuTableList.value){ 230 for (var z of zuTableList.value) {
169 zuTotal.value = (Number(zuTotal.value) + Number(z.project.serviceFee)).toFixed(2) 231 zuTotal.value = (Number(zuTotal.value) + Number(z.project.serviceFee)).toFixed(2)
170 } 232 }
171 }) 233 })
172 } 234 }
235
173 const goPrev = () => { 236 const goPrev = () => {
174 if(user.utype=='2'){ 237 if (user.utype == '2') {
175 router.push({ 238 router.push({
176 name: 'chooseSportsman', 239 name: 'chooseSportsman',
177 query: { 240 query: {
...@@ -180,23 +243,23 @@ const goPrev = () => { ...@@ -180,23 +243,23 @@ const goPrev = () => {
180 } 243 }
181 }) 244 })
182 } 245 }
183 if(user.utype=='1'){ 246 if (user.utype == '1') {
184 router.push({ 247 router.push({
185 name: 'chooseProject', 248 name: 'chooseProject',
186 params:{ 249 params: {
187 id:matchId.value 250 id: matchId.value
188 }, 251 },
189 query: { 252 query: {
190 matchId: matchId.value 253 matchId: matchId.value
191 } 254 }
192 }) 255 })
193 } 256 }
194
195 } 257 }
196 const getFee = (entryId) => { 258 const getFee = (entryId) => {
197 match.getTotalFee({ 259 match.getTotalFee({
198 entryId: entryId, 260 entryId: entryId,
199 cptId: matchId.value 261 cptId: matchId.value,
262 buy: route.query.buy// 0不购买,1购买"
200 }).then(res => { 263 }).then(res => {
201 form.value = res.data 264 form.value = res.data
202 // zuTotal.value = form.value.cptRegistrationFee?.totalFee 265 // zuTotal.value = form.value.cptRegistrationFee?.totalFee
...@@ -204,12 +267,12 @@ const getFee = (entryId) => { ...@@ -204,12 +267,12 @@ const getFee = (entryId) => {
204 }) 267 })
205 } 268 }
206 const submitForm = (n) => { 269 const submitForm = (n) => {
207 if(n==0){ 270 if (n == 0) {
208 ElMessageBox.confirm(language.value==0?`您当前的操作为暂存,并不是提交审核, 271 ElMessageBox.confirm(language.value == 0 ? `您当前的操作为暂存,并不是提交审核,
209 必须在报名截止时间${signEndTime.value.substring(0,10)}之前完成提交。 272 必须在报名截止时间${signEndTime.value.substring(0, 10)}之前完成提交。
210 您也可以在个人中心-我的报名中,找到这条报名,点击提交审核。`: 273 您也可以在个人中心-我的报名中,找到这条报名,点击提交审核。`
211 `Your current operation is temporary and not submitted for review, 274 : `Your current operation is temporary and not submitted for review,
212 Submission must be completed before the registration deadline${signEndTime.value.substring(0,10)} 275 Submission must be completed before the registration deadline${signEndTime.value.substring(0, 10)}
213 You can also find this registration in the My Registration section of your personal center and click submit for review.`, 276 You can also find this registration in the My Registration section of your personal center and click submit for review.`,
214 language.value == 0 ? '提示' : 'Tip', { 277 language.value == 0 ? '提示' : 'Tip', {
215 confirmButtonText: language.value == 0 ? '去个人中心' : 'Go My Registration ', 278 confirmButtonText: language.value == 0 ? '去个人中心' : 'Go My Registration ',
...@@ -217,7 +280,7 @@ const submitForm = (n) => { ...@@ -217,7 +280,7 @@ const submitForm = (n) => {
217 type: 'warning' 280 type: 'warning'
218 }).then((res) => { 281 }).then((res) => {
219 console.log(res) 282 console.log(res)
220 router.push({name: 'myMatch'}) 283 router.push({ name: 'myMatch' })
221 }) 284 })
222 return 285 return
223 } 286 }
...@@ -225,11 +288,12 @@ const submitForm = (n) => { ...@@ -225,11 +288,12 @@ const submitForm = (n) => {
225 language.value == 0 ? '注意' : 'Note', 288 language.value == 0 ? '注意' : 'Note',
226 { 289 {
227 confirmButtonText: language.value == 0 ? '确定' : 'Yes', 290 confirmButtonText: language.value == 0 ? '确定' : 'Yes',
228 cancelButtonText: language.value == 0 ? '取消' : 'Cancel', 291 cancelButtonText: language.value == 0 ? '取消' : 'Cancel'
229 }).then(()=>{ 292 }).then(() => {
230 match.commitSign({ 293 match.commitSign({
231 groupId: groupId.value||0, 294 groupId: groupId.value || 0,
232 cptId: matchId.value 295 cptId: matchId.value,
296 buy: route.query.buy// 0不购买,1购买
233 }).then(res => { 297 }).then(res => {
234 router.push({ 298 router.push({
235 name: `commitDone`, 299 name: `commitDone`,
...@@ -237,44 +301,48 @@ const submitForm = (n) => { ...@@ -237,44 +301,48 @@ const submitForm = (n) => {
237 orderId: res.data 301 orderId: res.data
238 } 302 }
239 }) 303 })
240 })} 304 })
305 }
241 ) 306 )
242 } 307 }
308
243 function exportSignList(n) { 309 function exportSignList(n) {
244 var obj = { 310 var obj = {
245 cptId: matchId.value, 311 cptId: matchId.value,
246 groupId: groupId.value, 312 groupId: groupId.value,
247 type:n 313 type: n,
314 buy: route.query.buy// 0不购买,1购买
248 } 315 }
249 var fileName 316 var fileName
250 if(language.value==0){ 317 if (language.value == 0) {
251 if(n==1){ 318 if (n == 1) {
252 fileName = '参赛人员清单' 319 fileName = '参赛人员清单'
253 }else { 320 } else {
254 fileName = '设项报名清单' 321 fileName = '设项报名清单'
255 } 322 }
256 proxy.download('/league/sign/exportCn', { 323 proxy.download('/league/sign/exportCn', {
257 ...obj 324 ...obj
258 }, `${fileName}_${new Date().getTime()}.xlsx`) 325 }, `${fileName}_${new Date().getTime()}.xlsx`)
259 } else { 326 } else {
260 if(n==1){ 327 if (n == 1) {
261 fileName = 'Participant List' 328 fileName = 'Participant List'
262 }else { 329 } else {
263 fileName = 'Export LIST OF REGISTERED COMPETITIONS' 330 fileName = 'Export LIST OF REGISTERED COMPETITIONS'
264 } 331 }
265 proxy.download('/league/sign/exportEn', { 332 proxy.download('/league/sign/exportEn', {
266 ...obj 333 ...obj
267 }, `${fileName}_${new Date().getTime()}.xlsx`) 334 }, `${fileName}_${new Date().getTime()}.xlsx`)
268 } 335 }
269
270 } 336 }
337
271 function exportPdf() { 338 function exportPdf() {
272 var obj = { 339 var obj = {
273 cptId: matchId.value, 340 cptId: matchId.value,
274 groupId: groupId.value 341 groupId: groupId.value,
342 buy: route.query.buy// 0不购买,1购买
275 } 343 }
276 var fileName 344 var fileName
277 if(language.value==0){ 345 if (language.value == 0) {
278 fileName = '设项报名清单' 346 fileName = '设项报名清单'
279 proxy.download('/pdf/exportMySignInfoList', { 347 proxy.download('/pdf/exportMySignInfoList', {
280 ...obj 348 ...obj
...@@ -285,35 +353,63 @@ function exportPdf() { ...@@ -285,35 +353,63 @@ function exportPdf() {
285 ...obj 353 ...obj
286 }, `${fileName}_${new Date().getTime()}.pdf`) 354 }, `${fileName}_${new Date().getTime()}.pdf`)
287 } 355 }
288
289 } 356 }
290 </script> 357 </script>
291 358
292 <style scoped lang="scss"> 359 <style lang="scss" scoped>
293 .leftboderTT{font-weight: 600; 360 .leftboderTT {
361 font-weight: 600;
294 font-size: 16px; 362 font-size: 16px;
295 color: #453DEA;} 363 color: #453DEA;
364 }
365
296 .bg-lineg { 366 .bg-lineg {
297 height: 40px; 367 height: 40px;
298 line-height: 40px; 368 line-height: 40px;
299 font-size: 18px; 369 font-size: 18px;
300 text-align: center; 370 text-align: center;
301 } 371 }
302 .priceBar{ 372
373 .priceBar {
303 background: #FAFBFD; 374 background: #FAFBFD;
304 .flex{display: flex; 375
305 .item{font-size: 16px;margin-right: 15px; 376 .flex {
306 label{color: #95A1A6; } 377 display: flex;
307 span{font-family: DIN Alternate;} 378
379 .item {
380 font-size: 16px;
381 margin-right: 15px;
382
383 label {
384 color: #95A1A6;
385 }
386
387 span {
388 font-family: DIN Alternate;
389 }
308 } 390 }
309 } 391 }
310 } 392 }
311 .text-right{text-align: right; 393
312 a{margin-left: 20px;} 394 .text-right {
395 text-align: right;
396
397 a {
398 margin-left: 20px;
399 }
313 } 400 }
314 .border-info{ 401
315 .item{margin: 5px 0;color: #4C5359; font-size: 14px; 402 .border-info {
316 label{font-size: 14px;margin-right: 14px;text-transform: uppercase;} 403 .item {
404 margin: 5px 0;
405 color: #4C5359;
406 font-size: 14px;
407
408 label {
409 font-size: 14px;
410 margin-right: 14px;
411 text-transform: uppercase;
412 }
317 } 413 }
318 } 414 }
319 </style> 415 </style>
......
...@@ -2,75 +2,82 @@ ...@@ -2,75 +2,82 @@
2 <div> 2 <div>
3 <div class="mt30 mb60"> 3 <div class="mt30 mb60">
4 <div class="box"> 4 <div class="box">
5 <personal-step v-if="matchId!=0" :active-step="activeStep"/> 5 <personal-step v-if="matchId!=0" :active-step="activeStep" />
6 <div class="mt20"></div> 6 <div class="mt20" />
7 <div> 7 <div>
8 <el-card style="min-height: 50vh"> 8 <el-card style="min-height: 50vh">
9 <div class="pt30"> 9 <div class="pt30">
10 <el-form ref="wdsfDataRef" class="d-form" size="large" :label-width="language==0?120:180" 10 <el-form
11 style="max-width: 560px;margin: auto" :rules="wdsfDataRule"> 11 ref="wdsfDataRef" :label-width="language==0?120:180" :rules="wdsfDataRule" class="d-form"
12 size="large" style="max-width: 560px;margin: auto"
13 >
12 <el-form-item :label="language==0?'WDSF会员号':'WDSF MIN'" required> 14 <el-form-item :label="language==0?'WDSF会员号':'WDSF MIN'" required>
13 <el-input type="text" v-model="form.card" @change="resetCode(0)" @blur="verifyCode"> 15 <el-input v-model="form.card" type="text" @blur="verifyCode" @change="resetCode(0)">
14 <template #append> 16 <template #append>
15 <el-button type="primary" plain style="width: 110px" @click="checkCard"> 17 <el-button plain style="width: 110px" type="primary" @click="checkCard">
16 <el-icon v-if="wdsfData.wdsfFlag=='1'" size="16" color="#67C23A"> 18 <el-icon v-if="wdsfData.wdsfFlag=='1'" color="#67C23A" size="16">
17 <CircleCheckFilled/> 19 <CircleCheckFilled />
18 </el-icon> 20 </el-icon>
19 <span v-else>{{ language == 0 ? '校验卡号' : 'Check Code' }}</span> 21 <span v-else>{{ language == 0 ? '校验卡号' : 'Check Code' }}</span>
20 </el-button> 22 </el-button>
21 </template> 23 </template>
22 </el-input> 24 </el-input>
23 <a class="text-primary text-sm mt10" href="https://www.worlddancesport.org/Athlete/List" 25 <a
24 target="_blank"> 26 class="text-primary text-sm mt10" href="https://www.worlddancesport.org/Athlete/List"
27 target="_blank"
28 >
25 <el-icon> 29 <el-icon>
26 <Link/> 30 <Link />
27 </el-icon> 31 </el-icon>
28 {{ language == 0 ? '去WDSF官网查询我的会员号' : 'Search my WSDF MIN on the WDSF official website' }} 32 {{ language == 0 ? '去WDSF官网查询我的会员号' : 'Search my WSDF MIN on the WDSF official website' }}
29 </a> 33 </a>
30 34
31 </el-form-item> 35 </el-form-item>
32 <div class="h30"></div> 36 <div class="h30" />
33 <div class="leftboderTT">{{ language == 0 ? '个人信息' : 'Personal information' }} 37 <div class="leftboderTT">{{ language == 0 ? '个人信息' : 'Personal information' }}
34 <span v-if="language==0">(登录时需要验证,保护账户信息)</span> 38 <span v-if="language==0">(登录时需要验证,保护账户信息)</span>
35 <span v-else>(Obtain automatically according to the WDSF MIN)</span> 39 <span v-else>(Obtain automatically according to the WDSF MIN)</span>
36 </div> 40 </div>
37 <div class="h20"></div> 41 <div class="h20" />
38 <el-form-item :label="language==0?'姓氏':'Surname'"> 42 <el-form-item :label="language==0?'姓氏':'Surname'">
39 <el-input v-model="wdsfData.surname" disabled/> 43 <el-input v-model="wdsfData.surname" disabled />
40 </el-form-item> 44 </el-form-item>
41 <el-form-item :label="language==0?'名':'Name'"> 45 <el-form-item :label="language==0?'名':'Name'">
42 <el-input v-model="wdsfData.name" disabled/> 46 <el-input v-model="wdsfData.name" disabled />
43 </el-form-item> 47 </el-form-item>
44 <el-form-item :label="language==0?'代表':'Representing'"> 48 <el-form-item :label="language==0?'代表':'Representing'">
45 <el-input v-model="wdsfData.representing" disabled/> 49 <el-input v-model="wdsfData.representing" disabled />
46 </el-form-item> 50 </el-form-item>
47 <el-form-item :label="language==1?'Age group':'年龄组'"> 51 <el-form-item :label="language==1?'Age group':'年龄组'">
48 <el-input v-model="wdsfData.ageGroup" disabled/> 52 <el-input v-model="wdsfData.ageGroup" disabled />
49 </el-form-item> 53 </el-form-item>
50 <el-form-item :label="language==0?'舞种':'Division'"> 54 <el-form-item :label="language==0?'舞种':'Division'">
51 <el-input v-model="wdsfData.division" disabled/> 55 <el-input v-model="wdsfData.division" disabled />
52 </el-form-item> 56 </el-form-item>
53 <el-form-item :label="language==0?'状态':'Status'"> 57 <el-form-item :label="language==0?'状态':'Status'">
54 <el-input v-model="wdsfData.status" disabled/> 58 <el-input v-model="wdsfData.status" disabled />
55 </el-form-item> 59 </el-form-item>
56 <div class="h30"></div> 60 <div class="h30" />
57 <div class="leftboderTT"> 61 <div class="leftboderTT">
58 {{ language == 0 ? '补充信息' : 'ADDITIONAL INFORMATION' }} 62 {{ language == 0 ? '补充信息' : 'ADDITIONAL INFORMATION' }}
59 </div> 63 </div>
60 <div class="h20"></div> 64 <div class="h20" />
61 <el-form-item prop="picUrl" :label="language==0?'个人照片':'Photo'"> 65 <el-form-item :label="language==0?'个人照片':'Photo'" prop="picUrl">
62 <ImageUpload2 66 <ImageUpload2
63 v-model="wdsfData.picUrl" :crop-height="280" :crop-width="200" class="threeFour" :limit="1" 67 v-model="wdsfData.picUrl" :crop-height="280" :crop-width="200" :is-show-tip="false" :limit="1"
64 :is-show-tip="false" 68 class="threeFour"
65 /> 69 />
66 </el-form-item> 70 </el-form-item>
67 71
68 <el-form-item :label="language==0?'有效证件':'Valid Passport'" required> 72 <el-form-item :label="language==0?'有效证件':'Valid Passport'" required>
69 <image-upload v-model="wdsfData.passportUrl" :limit="1" :is-show-tip="false" 73 <image-upload
70 :action="'/common/getPersonInfoFromCert/3'" 74 v-model="wdsfData.passportUrl" :action="'/common/getPersonInfoFromCert/3'"
71 paramName="pic"
72 :button-text="language==0?'上传':'Upload'" 75 :button-text="language==0?'上传':'Upload'"
73 @response="ocrSuccess"/> 76 :is-show-tip="false"
77 :limit="1"
78 param-name="pic"
79 @response="ocrSuccess"
80 />
74 <div class="tip"> 81 <div class="tip">
75 <span v-if="language==0">请上传有效身份证件扫描件,用于核实身份信息、申请签证邀请函及购买保险等</span> 82 <span v-if="language==0">请上传有效身份证件扫描件,用于核实身份信息、申请签证邀请函及购买保险等</span>
76 <span v-else>Please upload a scanned copy of your valid passport for verification of identity information, 83 <span v-else>Please upload a scanned copy of your valid passport for verification of identity information,
...@@ -78,7 +85,7 @@ ...@@ -78,7 +85,7 @@
78 </div> 85 </div>
79 </el-form-item> 86 </el-form-item>
80 <el-form-item :label="language==0?'证件号':'Passport number'" required> 87 <el-form-item :label="language==0?'证件号':'Passport number'" required>
81 <el-input v-model="wdsfData.passportNumber"/> 88 <el-input v-model="wdsfData.passportNumber" />
82 </el-form-item> 89 </el-form-item>
83 <el-form-item :label="language==0?'性别':'Gender'" required> 90 <el-form-item :label="language==0?'性别':'Gender'" required>
84 <el-radio-group v-model="wdsfData.sex"> 91 <el-radio-group v-model="wdsfData.sex">
...@@ -89,28 +96,34 @@ ...@@ -89,28 +96,34 @@
89 <el-form-item :label="language==0?'出生日期':'Date of Birth'" required> 96 <el-form-item :label="language==0?'出生日期':'Date of Birth'" required>
90 <el-date-picker 97 <el-date-picker
91 v-model="wdsfData.birthday" 98 v-model="wdsfData.birthday"
92 style="width: 100%;" 99 format="YYYY-MM-DD"
93 type="date" format="YYYY-MM-DD" value-format="YYYY-MM-DD" 100 style="width: 100%;" type="date" value-format="YYYY-MM-DD"
94 /> 101 />
95 </el-form-item> 102 </el-form-item>
96 103
97 <div class="h30"></div> 104 <div class="h30" />
98 105
99 <div v-if="!user"> 106 <div v-if="!user">
100 <div class="leftboderTT">{{ language == 0 ? '登录密码' : 'Login Information' }} <span 107 <div class="leftboderTT">{{ language == 0 ? '登录密码' : 'Login Information' }} <span
101 v-if="language==0">(登录时需要验证,保护账户信息)</span></div> 108 v-if="language==0"
102 <div class="h20"></div> 109 >(登录时需要验证,保护账户信息)</span></div>
110 <div class="h20" />
103 <el-form-item :label="language==0?'邮箱':'E-mail'" required> 111 <el-form-item :label="language==0?'邮箱':'E-mail'" required>
104 <div class="pvbox"> 112 <div class="pvbox">
105 <el-input type="text" v-model="wdsfData.email" @change="resetCode(1)" autocomplete="false" 113 <el-input
106 @blur="verifyCode" :disabled="wdsfData.personFlag=='1'"/> 114 v-model="wdsfData.email" :disabled="wdsfData.personFlag=='1'" autocomplete="false"
115 type="text"
116 @blur="verifyCode" @change="resetCode(1)"
117 />
107 118
108 <span class="text-primary" v-if="wdsfData.personFlag=='1'" 119 <span
109 @click="forgetPassword(wdsfData.email)">忘记密码</span> 120 v-if="wdsfData.personFlag=='1'" class="text-primary"
121 @click="forgetPassword(wdsfData.email)"
122 >忘记密码</span>
110 </div> 123 </div>
111 124
112 125
113 <div class="tip" v-if="wdsfData.personFlag=='0'"> 126 <div v-if="wdsfData.personFlag=='0'" class="tip">
114 <div v-if="language==0"> 127 <div v-if="language==0">
115 (请填写正确的邮箱信息,邮箱信息在注册完成后无法修改。该邮箱后续会作为您登录的账户, 128 (请填写正确的邮箱信息,邮箱信息在注册完成后无法修改。该邮箱后续会作为您登录的账户,
116 并接收报名审核结果、支付账单、签证邀请函等相关信息) 129 并接收报名审核结果、支付账单、签证邀请函等相关信息)
...@@ -124,10 +137,10 @@ ...@@ -124,10 +137,10 @@
124 137
125 138
126 </el-form-item> 139 </el-form-item>
127 <el-form-item :label="language==0?'验证码':'Code'" required v-if="wdsfData.personFlag=='0'"> 140 <el-form-item v-if="wdsfData.personFlag=='0'" :label="language==0?'验证码':'Code'" required>
128 <el-input v-model="form.code"> 141 <el-input v-model="form.code">
129 <template #append> 142 <template #append>
130 <el-button type="primary" plain style="width: 110px" @click="sendsmsMsg"> 143 <el-button plain style="width: 110px" type="primary" @click="sendsmsMsg">
131 <count-down v-if="counting" v-slot="{ totalSeconds }" :time="60000" @end="counting=false"> 144 <count-down v-if="counting" v-slot="{ totalSeconds }" :time="60000" @end="counting=false">
132 {{ totalSeconds }} {{ language == 0 ? '秒' : 's' }} 145 {{ totalSeconds }} {{ language == 0 ? '秒' : 's' }}
133 </count-down> 146 </count-down>
...@@ -138,15 +151,24 @@ ...@@ -138,15 +151,24 @@
138 </el-form-item> 151 </el-form-item>
139 152
140 <el-form-item :label="language==0?'密码':'Password'" required> 153 <el-form-item :label="language==0?'密码':'Password'" required>
141 <el-input type="password" show-password v-model="form.password" autocomplete="false" 154 <el-input
142 :placeholder="language==0?'6-16位密码。区分大小写':'Password'"/> 155 v-model="form.password" :placeholder="language==0?'6-16位密码。区分大小写':'Password'"
156 autocomplete="false" show-password
157 type="password"
158 />
143 </el-form-item> 159 </el-form-item>
144 <el-form-item :label="language==0?'确认密码':'Confirm Password'" required 160 <el-form-item
145 v-if="wdsfData.personFlag=='0'"> 161 v-if="wdsfData.personFlag=='0'" :label="language==0?'确认密码':'Confirm Password'"
146 <el-input type="password" show-password v-model="form.confirmPassword" autocomplete="false" 162 required
163 >
164 <el-input
165 v-model="form.confirmPassword"
166 :placeholder="language==0?'再次输入密码':'Confirm Password'" autocomplete="false"
167 show-password
168 type="password"
147 @change="vconfirmPassword" 169 @change="vconfirmPassword"
148 :placeholder="language==0?'再次输入密码':'Confirm Password'"/> 170 />
149 <div class="text-danger" v-if="showError"> 171 <div v-if="showError" class="text-danger">
150 {{ language == 0 ? '密码不一致' : 'Password inconsistency' }} 172 {{ language == 0 ? '密码不一致' : 'Password inconsistency' }}
151 </div> 173 </div>
152 </el-form-item> 174 </el-form-item>
...@@ -156,7 +178,7 @@ ...@@ -156,7 +178,7 @@
156 </div> 178 </div>
157 <div class="text-center"> 179 <div class="text-center">
158 <el-button class="primary-kx" round @click="goBack"> {{ language == 0 ? '取消' : 'Cancel' }}</el-button> 180 <el-button class="primary-kx" round @click="goBack"> {{ language == 0 ? '取消' : 'Cancel' }}</el-button>
159 <el-button type="primary" class="btn-lineG w200px" round @click="bigNext" v-if="wdsfData.wdsfFlag=='1'"> 181 <el-button v-if="wdsfData.wdsfFlag=='1'" class="btn-lineG w200px" round type="primary" @click="bigNext">
160 <span v-if="matchId=='0'">{{ language == 0 ? '立即注册' : 'Register Now' }}</span> 182 <span v-if="matchId=='0'">{{ language == 0 ? '立即注册' : 'Register Now' }}</span>
161 <span v-else>{{ language == 0 ? '下一步' : 'Next' }}</span> 183 <span v-else>{{ language == 0 ? '下一步' : 'Next' }}</span>
162 </el-button> 184 </el-button>
...@@ -164,8 +186,10 @@ ...@@ -164,8 +186,10 @@
164 </el-card> 186 </el-card>
165 </div> 187 </div>
166 188
167 <Vcode :show="isShow" :z-index="3000" @success="codeSuccess()" 189 <Vcode
168 :successText="successVcode" :failText="failVcode" :slider-text="sliderText"></Vcode> 190 :fail-text="failVcode" :show="isShow" :slider-text="sliderText"
191 :success-text="successVcode" :z-index="3000" @success="codeSuccess()"
192 />
169 193
170 </div> 194 </div>
171 </div> 195 </div>
...@@ -173,25 +197,25 @@ ...@@ -173,25 +197,25 @@
173 </template> 197 </template>
174 198
175 <script setup> 199 <script setup>
176 import {ref, toRefs, reactive} from "vue" 200 import { ref, toRefs, reactive } from 'vue'
177 import {getCurrentInstance, onMounted} from "@vue/runtime-core"; 201 import { getCurrentInstance, onMounted } from '@vue/runtime-core'
178 import Step3 from "./team/step3" 202 import Step3 from './team/step3'
179 import Vcode from "vue3-puzzle-vcode" 203 import Vcode from 'vue3-puzzle-vcode'
180 import {ElMessage, ElMessageBox} from 'element-plus' 204 import { ElMessage, ElMessageBox } from 'element-plus'
181 import CountDown from '@chenfengyuan/vue-countdown' 205 import CountDown from '@chenfengyuan/vue-countdown'
182 import {checkWdsf, getCaptchaSms, loginSingle, registerSingle} from "@/apiPc/match"; 206 import { checkWdsf, getCaptchaSms, loginSingle, registerSingle } from '@/apiPc/match'
183 import {setToken} from "@/utils/auth"; 207 import { setToken } from '@/utils/auth'
184 import PersonalStep from "@/viewsPc/register/components/personal-step"; 208 import PersonalStep from '@/viewsPc/register/components/personal-step'
185 import FileUpload from "@/components/FileUpload"; 209 import FileUpload from '@/components/FileUpload'
186 import {useRouter, useRoute} from "vue-router"; 210 import { useRouter, useRoute } from 'vue-router'
187 import {useStorage} from "@vueuse/core/index"; 211 import { useStorage } from '@vueuse/core/index'
188 import useUserStore from "@/store/modules/user"; 212 import useUserStore from '@/store/modules/user'
189 import {upgradePersonal} from "@/apiPc/common"; 213 import { upgradePersonal } from '@/apiPc/common'
190 214
191 const language = useStorage('language', 0) 215 const language = useStorage('language', 0)
192 const router = useRouter() 216 const router = useRouter()
193 const route = useRoute() 217 const route = useRoute()
194 const {proxy} = getCurrentInstance() 218 const { proxy } = getCurrentInstance()
195 const userStore = useUserStore() 219 const userStore = useUserStore()
196 const user = useUserStore().user 220 const user = useUserStore().user
197 const data = reactive({ 221 const data = reactive({
...@@ -209,8 +233,8 @@ const data = reactive({ ...@@ -209,8 +233,8 @@ const data = reactive({
209 // sex: '0' 233 // sex: '0'
210 }, 234 },
211 wdsfDataRule: { 235 wdsfDataRule: {
212 birthday: [{required: true, message: 'required', trigger: 'blur'}], 236 birthday: [{ required: true, message: 'required', trigger: 'blur' }],
213 passportNumber: [{required: true, message: 'required', trigger: 'blur'}], 237 passportNumber: [{ required: true, message: 'required', trigger: 'blur' }]
214 } 238 }
215 }) 239 })
216 const { 240 const {
...@@ -219,8 +243,8 @@ const { ...@@ -219,8 +243,8 @@ const {
219 } = toRefs(data) 243 } = toRefs(data)
220 const matchId = ref('0') 244 const matchId = ref('0')
221 onMounted(() => { 245 onMounted(() => {
222 if(user?.utype=='1'||user?.utype=='2'){ 246 if (user?.utype == '1' || user?.utype == '2') {
223 router.push({name: 'matchList'}) 247 router.push({ name: 'matchList' })
224 } 248 }
225 if (language.value == 1) { 249 if (language.value == 1) {
226 failVcode.value = 'Error!' 250 failVcode.value = 'Error!'
...@@ -246,7 +270,6 @@ function sendsmsMsg() { ...@@ -246,7 +270,6 @@ function sendsmsMsg() {
246 } else { 270 } else {
247 ElMessage.warning('Please wait for the countdown to end') 271 ElMessage.warning('Please wait for the countdown to end')
248 } 272 }
249 return
250 } else { 273 } else {
251 isShow.value = true 274 isShow.value = true
252 } 275 }
...@@ -269,7 +292,7 @@ function verifyCode() { ...@@ -269,7 +292,7 @@ function verifyCode() {
269 return 292 return
270 } 293 }
271 if (form.value.account.indexOf('@') > -1) { 294 if (form.value.account.indexOf('@') > -1) {
272 //邮箱 295 // 邮箱
273 } 296 }
274 } 297 }
275 298
...@@ -277,7 +300,7 @@ function codeSuccess(msg) { ...@@ -277,7 +300,7 @@ function codeSuccess(msg) {
277 isShow.value = false 300 isShow.value = false
278 isCodeTrue.value += 1 301 isCodeTrue.value += 1
279 if (isCodeTrue.value == 1) { 302 if (isCodeTrue.value == 1) {
280 checkWdsf({card: form.value.card}).then(res => { 303 checkWdsf({ card: form.value.card }).then(res => {
281 wdsfData.value = res.data 304 wdsfData.value = res.data
282 if (wdsfData.value.passportUrl) { 305 if (wdsfData.value.passportUrl) {
283 } 306 }
...@@ -295,7 +318,7 @@ function codeSuccess(msg) { ...@@ -295,7 +318,7 @@ function codeSuccess(msg) {
295 } 318 }
296 if (isCodeTrue.value >= 2) { 319 if (isCodeTrue.value >= 2) {
297 counting.value = true 320 counting.value = true
298 getCaptchaSms({account: wdsfData.value.email}).then(res => { 321 getCaptchaSms({ account: wdsfData.value.email }).then(res => {
299 isCodeTrue.value = 1 322 isCodeTrue.value = 1
300 ElMessage.success(language.value == 0 ? '发送成功,请关注邮箱邮件' : 'Send success, please check your email') 323 ElMessage.success(language.value == 0 ? '发送成功,请关注邮箱邮件' : 'Send success, please check your email')
301 }).catch(err => { 324 }).catch(err => {
...@@ -319,13 +342,14 @@ function vconfirmPassword() { ...@@ -319,13 +342,14 @@ function vconfirmPassword() {
319 function goBack() { 342 function goBack() {
320 router.go(-1) 343 router.go(-1)
321 } 344 }
322 function bigNext(){ 345
346 function bigNext() {
323 if (!wdsfData.value.passportNumber) { 347 if (!wdsfData.value.passportNumber) {
324 ElMessage.warning(language.value == 0 ?'请填写护照号':'Please fill in your passport number') 348 ElMessage.warning(language.value == 0 ? '请填写护照号' : 'Please fill in your passport number')
325 return 349 return
326 } 350 }
327 if (!wdsfData.value.birthday) { 351 if (!wdsfData.value.birthday) {
328 ElMessage.warning(language.value == 0 ?'请填写出生年月':'Please fill in your birthday') 352 ElMessage.warning(language.value == 0 ? '请填写出生年月' : 'Please fill in your birthday')
329 return 353 return
330 } 354 }
331 355
...@@ -337,24 +361,24 @@ function bigNext(){ ...@@ -337,24 +361,24 @@ function bigNext(){
337 ElMessage.warning(language.value == 0 ? '请选择性别' : 'Please select your gender') 361 ElMessage.warning(language.value == 0 ? '请选择性别' : 'Please select your gender')
338 return 362 return
339 } 363 }
340 if(user&&user.utype=='3'){ 364 if (user && user.utype == '3') {
341 let obj = { 365 const obj = {
342 card: form.value.card, 366 card: form.value.card,
343 userId: user.userId, 367 userId: user.userId,
344 picUrl: wdsfData.value.picUrl, 368 picUrl: wdsfData.value.picUrl,
345 code: form.value.code, 369 code: form.value.code,
346 sex: wdsfData.value.sex, 370 sex: wdsfData.value.sex,
347 birth: wdsfData.value.birthday, 371 birth: wdsfData.value.birthday,
348 passportNumber: wdsfData.value.passportNumber, 372 passportNumber: wdsfData.value.passportNumber
349 } 373 }
350 if (Array.isArray(wdsfData.value.passportUrl)) { 374 if (Array.isArray(wdsfData.value.passportUrl)) {
351 obj.passportUrl = wdsfData.value.passportUrl[0].url 375 obj.passportUrl = wdsfData.value.passportUrl[0].url
352 } else { 376 } else {
353 obj.passportUrl = wdsfData.value.passportUrl || '' 377 obj.passportUrl = wdsfData.value.passportUrl || ''
354 } 378 }
355 upgradePersonal(obj).then(res=>{ 379 upgradePersonal(obj).then(res => {
356 if(res.data){ 380 if (res.data) {
357 userStore.getInfo().then(res=>{ 381 userStore.getInfo().then(res => {
358 afterR() 382 afterR()
359 }) 383 })
360 } 384 }
...@@ -365,20 +389,20 @@ function bigNext(){ ...@@ -365,20 +389,20 @@ function bigNext(){
365 } 389 }
366 390
367 function next() { 391 function next() {
368 if(!form.value.code){ 392 if (!form.value.code) {
369 ElMessage.warning(language.value == 0 ?'请填写验证码':'Please fill in your verification code') 393 ElMessage.warning(language.value == 0 ? '请填写验证码' : 'Please fill in your verification code')
370 return 394 return
371 } 395 }
372 if(!form.value.password){ 396 if (!form.value.password) {
373 ElMessage.warning(language.value == 0 ?'请填写密码':'Please fill in your password') 397 ElMessage.warning(language.value == 0 ? '请填写密码' : 'Please fill in your password')
374 return 398 return
375 } 399 }
376 if(!form.value.confirmPassword){ 400 if (!form.value.confirmPassword) {
377 ElMessage.warning(language.value == 0 ?'请再次填写密码':'Please fill in Confirm Password') 401 ElMessage.warning(language.value == 0 ? '请再次填写密码' : 'Please fill in Confirm Password')
378 return 402 return
379 } 403 }
380 if (wdsfData.value.personFlag == '0') { 404 if (wdsfData.value.personFlag == '0') {
381 let obj = { 405 const obj = {
382 card: form.value.card, 406 card: form.value.card,
383 account: wdsfData.value.email, 407 account: wdsfData.value.email,
384 picUrl: wdsfData.value.picUrl, 408 picUrl: wdsfData.value.picUrl,
...@@ -386,7 +410,7 @@ function next() { ...@@ -386,7 +410,7 @@ function next() {
386 password: form.value.password, 410 password: form.value.password,
387 sex: wdsfData.value.sex, 411 sex: wdsfData.value.sex,
388 birth: wdsfData.value.birthday, 412 birth: wdsfData.value.birthday,
389 passportNumber: wdsfData.value.passportNumber, 413 passportNumber: wdsfData.value.passportNumber
390 } 414 }
391 if (Array.isArray(wdsfData.value.passportUrl)) { 415 if (Array.isArray(wdsfData.value.passportUrl)) {
392 obj.passportUrl = wdsfData.value.passportUrl[0].url 416 obj.passportUrl = wdsfData.value.passportUrl[0].url
...@@ -403,14 +427,14 @@ function next() { ...@@ -403,14 +427,14 @@ function next() {
403 ElMessage.warning('Please fill in your password') 427 ElMessage.warning('Please fill in your password')
404 return 428 return
405 } 429 }
406 let obj = { 430 const obj = {
407 sex: wdsfData.value.sex, 431 sex: wdsfData.value.sex,
408 passportNumber: wdsfData.value.passportNumber, 432 passportNumber: wdsfData.value.passportNumber,
409 picUrl: wdsfData.value.picUrl, 433 picUrl: wdsfData.value.picUrl,
410 birth: wdsfData.value.birthday, 434 birth: wdsfData.value.birthday,
411 personId: wdsfData.value.personId, 435 personId: wdsfData.value.personId,
412 username: wdsfData.value.email, 436 username: wdsfData.value.email,
413 password: form.value.password, 437 password: form.value.password
414 } 438 }
415 if (Array.isArray(wdsfData.value.passportUrl)) { 439 if (Array.isArray(wdsfData.value.passportUrl)) {
416 obj.passportUrl = wdsfData.value.passportUrl[0].url 440 obj.passportUrl = wdsfData.value.passportUrl[0].url
...@@ -452,8 +476,9 @@ function afterR() { ...@@ -452,8 +476,9 @@ function afterR() {
452 } 476 }
453 477
454 function forgetPassword(account) { 478 function forgetPassword(account) {
455 useUserStore().setReLogin({account: account, active: 2}) 479 useUserStore().setReLogin({ account: account, active: 2 })
456 } 480 }
481
457 const ocrSuccess = (res) => { 482 const ocrSuccess = (res) => {
458 if (res.code == 200) { 483 if (res.code == 200) {
459 wdsfData.value.passportUrl = res.data.url 484 wdsfData.value.passportUrl = res.data.url
...@@ -466,7 +491,7 @@ const ocrSuccess = (res) => { ...@@ -466,7 +491,7 @@ const ocrSuccess = (res) => {
466 } 491 }
467 </script> 492 </script>
468 493
469 <style scoped lang="scss"> 494 <style lang="scss" scoped>
470 .pvbox { 495 .pvbox {
471 position: relative; 496 position: relative;
472 width: 100%; 497 width: 100%;
......
...@@ -64,33 +64,33 @@ export default defineConfig(({ mode, command }) => { ...@@ -64,33 +64,33 @@ 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://123.60.96.243:1896/stage-api', 67 target: 'http://192.168.1.243: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.253:8081', 73 target: 'http://192.168.1.243:8081',
74 // target: 'https://wdsfwuxicenter.com/stage-api/', 74 // target: 'https://wdsfwuxicenter.com/stage-api/',
75 changeOrigin: true, 75 changeOrigin: true,
76 rewrite: (p) => p.replace(/^\/dev-api\/ztx-match/, '') 76 rewrite: (p) => p.replace(/^\/dev-api\/ztx-match/, '')
77 }, 77 },
78 '/dev-api/ztx-webSite': { 78 '/dev-api/ztx-webSite': {
79 target: 'http://192.168.1.253:8081', 79 target: 'http://192.168.1.243:8081',
80 changeOrigin: true, 80 changeOrigin: true,
81 rewrite: (p) => p.replace(/^\/dev-api\/ztx-webSite/, '') 81 rewrite: (p) => p.replace(/^\/dev-api\/ztx-webSite/, '')
82 }, 82 },
83 '/dev-api': { 83 '/dev-api': {
84 target: 'http://192.168.1.118:8081/', 84 // target: 'http://192.168.1.118:8081/',
85 // target: 'http://192.168.1.253:8081', 85 target: 'http://192.168.1.243:8081',
86 // target: 'https://jijin.wtwuxicenter.com/stage-api', 86 // target: 'https://jijin.wtwuxicenter.com/stage-api',
87 // target: 'https://wdsfwuxicenter.com/stage-api/', 87 // target: 'https://wdsfwuxicenter.com/stage-api/',
88 changeOrigin: true, 88 changeOrigin: true,
89 rewrite: (p) => p.replace(/^\/dev-api/, '') 89 rewrite: (p) => p.replace(/^\/dev-api/, '')
90 }, 90 },
91 '/ticket': { 91 '/ticket': {
92 // target: 'http://192.168.1.131:8081/', 92 target: 'http://192.168.1.243:8081/',
93 target: 'https://jijin.wtwuxicenter.com/h5/', 93 // target: 'https://jijin.wtwuxicenter.com/h5/',
94 // target: 'https://ticketh5.wdsfwuxicenter.com/h5/', 94 // target: 'https://ticketh5.wdsfwuxicenter.com/h5/',
95 changeOrigin: true, 95 changeOrigin: true,
96 rewrite: (p) => p.replace(/^\/ticket/, '') 96 rewrite: (p) => p.replace(/^\/ticket/, '')
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!