no message
Showing
19 changed files
with
221 additions
and
972 deletions
| ... | @@ -547,6 +547,13 @@ export function getProjectPageByPerIds(query) { | ... | @@ -547,6 +547,13 @@ export function getProjectPageByPerIds(query) { |
| 547 | params: query | 547 | params: query |
| 548 | }) | 548 | }) |
| 549 | } | 549 | } |
| 550 | export function getMatchNewslistByCode(query) { | ||
| 551 | return request({ | ||
| 552 | url: `/ztx/notesort/listByCode`, | ||
| 553 | method: 'get', | ||
| 554 | params: query | ||
| 555 | }) | ||
| 556 | } | ||
| 550 | 557 | ||
| 551 | export function createWePay(data) { | 558 | export function createWePay(data) { |
| 552 | return request({ | 559 | return request({ |
| ... | @@ -571,3 +578,10 @@ export function callbackPalPay(tradeNo) { | ... | @@ -571,3 +578,10 @@ export function callbackPalPay(tradeNo) { |
| 571 | } | 578 | } |
| 572 | }) | 579 | }) |
| 573 | } | 580 | } |
| 581 | export function upReceipt(data) { | ||
| 582 | return request({ | ||
| 583 | url: `/league/signOrder/offlinePay`, | ||
| 584 | method: 'post', | ||
| 585 | data:data | ||
| 586 | }) | ||
| 587 | } | ... | ... |
| ... | @@ -17,7 +17,7 @@ | ... | @@ -17,7 +17,7 @@ |
| 17 | :accept="accept" | 17 | :accept="accept" |
| 18 | > | 18 | > |
| 19 | <!-- 上传按钮 --> | 19 | <!-- 上传按钮 --> |
| 20 | <el-button type="primary">选取文件</el-button> | 20 | <el-button type="primary">{{ text }}</el-button> |
| 21 | </el-upload> | 21 | </el-upload> |
| 22 | <!-- 上传提示 --> | 22 | <!-- 上传提示 --> |
| 23 | <div v-if="showTip" class="el-upload__tip"> | 23 | <div v-if="showTip" class="el-upload__tip"> |
| ... | @@ -88,6 +88,10 @@ const props = defineProps({ | ... | @@ -88,6 +88,10 @@ const props = defineProps({ |
| 88 | type: String, | 88 | type: String, |
| 89 | default: 'file' | 89 | default: 'file' |
| 90 | }, | 90 | }, |
| 91 | text: { | ||
| 92 | type: String, | ||
| 93 | default: '选取文件' | ||
| 94 | }, | ||
| 91 | action: { | 95 | action: { |
| 92 | type: String, | 96 | type: String, |
| 93 | default: '/upload/uploadFile' | 97 | default: '/upload/uploadFile' | ... | ... |
| ... | @@ -18,7 +18,13 @@ | ... | @@ -18,7 +18,13 @@ |
| 18 | :accept="accept" | 18 | :accept="accept" |
| 19 | > | 19 | > |
| 20 | <!-- 上传按钮 --> | 20 | <!-- 上传按钮 --> |
| 21 | <el-button type="primary" :disabled="props.disabled">{{ buttonText }}</el-button> | 21 | <el-button type="primary" v-if="buttonType=0" :disabled="props.disabled">{{ buttonText }}</el-button> |
| 22 | <el-link class="mr10" type="primary" v-else> | ||
| 23 | <el-icon> | ||
| 24 | <Upload/> | ||
| 25 | </el-icon> | ||
| 26 | {{ buttonText }} | ||
| 27 | </el-link> | ||
| 22 | </el-upload> | 28 | </el-upload> |
| 23 | <!-- 上传提示 --> | 29 | <!-- 上传提示 --> |
| 24 | <div v-if="showTip && !disabled" class="el-upload__tip"> | 30 | <div v-if="showTip && !disabled" class="el-upload__tip"> |
| ... | @@ -75,7 +81,7 @@ const props = defineProps({ | ... | @@ -75,7 +81,7 @@ const props = defineProps({ |
| 75 | // 文件类型, 例如['png', 'jpg', 'jpeg'] | 81 | // 文件类型, 例如['png', 'jpg', 'jpeg'] |
| 76 | fileType: { | 82 | fileType: { |
| 77 | type: Array, | 83 | type: Array, |
| 78 | default: () => ['doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'txt', 'pdf', 'zip', 'rar'] | 84 | default: () => ['doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'txt', 'pdf', 'zip', 'rar','png', 'jpg', 'jpeg'] |
| 79 | }, | 85 | }, |
| 80 | // 是否显示提示 | 86 | // 是否显示提示 |
| 81 | isShowTip: { | 87 | isShowTip: { |
| ... | @@ -93,6 +99,10 @@ const props = defineProps({ | ... | @@ -93,6 +99,10 @@ const props = defineProps({ |
| 93 | buttonText:{ | 99 | buttonText:{ |
| 94 | type: String, | 100 | type: String, |
| 95 | default: '上传文件' | 101 | default: '上传文件' |
| 102 | }, | ||
| 103 | buttonType:{ | ||
| 104 | type: Number, | ||
| 105 | default: 0 | ||
| 96 | } | 106 | } |
| 97 | }) | 107 | }) |
| 98 | const accept = computed(() => { | 108 | const accept = computed(() => { | ... | ... |
| ... | @@ -22,12 +22,12 @@ | ... | @@ -22,12 +22,12 @@ |
| 22 | <p class="ppl"><label v-if="n.groupName">{{ language==0?'参赛队':'Name of participating team' }}:</label>{{n.groupName}}</p> | 22 | <p class="ppl"><label v-if="n.groupName">{{ language==0?'参赛队':'Name of participating team' }}:</label>{{n.groupName}}</p> |
| 23 | </el-col> | 23 | </el-col> |
| 24 | <el-col :lg="8"> | 24 | <el-col :lg="8"> |
| 25 | <p class="ppl"><label>{{ language==0?'比赛时间':'Event Date' }}:</label>{{ n.signBeginTime }}~{{n.signEndTime}} | 25 | <p class="ppl"><label>{{ language==0?'比赛时间':'Event Date' }}:</label>{{ n.signBeginTime?.substring(0,10) }}~{{n.signEndTime.substring(0,10)}} |
| 26 | </p> | 26 | </p> |
| 27 | <p class="ppl"><label>{{ language==0?'参赛运动员':'Participating athletes' }}:</label>{{ n.signSize }} 人</p> | 27 | <p class="ppl"><label>{{ language==0?'参赛运动员':'Participating athletes' }}:</label>{{ n.signSize }} 人</p> |
| 28 | </el-col> | 28 | </el-col> |
| 29 | <el-col :lg="8"> | 29 | <el-col :lg="8"> |
| 30 | <p class="ppl"><label>{{ language==0?'报名时间':'Registration Period' }}:</label>{{ n.signBeginTime }}~{{n.signEndTime}}</p> | 30 | <p class="ppl"><label>{{ language==0?'报名时间':'Registration Period' }}:</label>{{ n.signBeginTime.substring(0,10) }}~{{n.signEndTime.substring(0,10)}}</p> |
| 31 | <div class="btnbox"> | 31 | <div class="btnbox"> |
| 32 | <el-button plain round type="primary" @click="goDetail(n)" v-if="n.auditStatus!='0'"> | 32 | <el-button plain round type="primary" @click="goDetail(n)" v-if="n.auditStatus!='0'"> |
| 33 | {{ language==0?'详情':'Detail' }}</el-button> | 33 | {{ language==0?'详情':'Detail' }}</el-button> | ... | ... |
| ... | @@ -390,13 +390,6 @@ const rankList = ref([ | ... | @@ -390,13 +390,6 @@ const rankList = ref([ |
| 390 | { index: '6', code: 'tn', score: '170' ,gj:'中国'}, | 390 | { index: '6', code: 'tn', score: '170' ,gj:'中国'}, |
| 391 | { index: '7', code: 'gw', score: '170' ,gj:'中国'} | 391 | { index: '7', code: 'gw', score: '170' ,gj:'中国'} |
| 392 | ]) | 392 | ]) |
| 393 | const rankTabs = ref([ | ||
| 394 | { name: '拉丁舞' }, | ||
| 395 | { name: '标准舞' }, | ||
| 396 | { name: '摇滚舞' }, | ||
| 397 | { name: '莎莎舞' }, | ||
| 398 | { name: '街舞' } | ||
| 399 | ]) | ||
| 400 | const personList = ref([ | 393 | const personList = ref([ |
| 401 | { name: '张晋', pp:'欧洲舞团团长、艺术总监',src:r01 }, | 394 | { name: '张晋', pp:'欧洲舞团团长、艺术总监',src:r01 }, |
| 402 | { name: '王晓敏', pp:'欧洲舞团团长、艺术总监',src:r02 }, | 395 | { name: '王晓敏', pp:'欧洲舞团团长、艺术总监',src:r02 }, | ... | ... |
| ... | @@ -124,15 +124,13 @@ | ... | @@ -124,15 +124,13 @@ |
| 124 | </el-col> | 124 | </el-col> |
| 125 | <el-col :sm="24" :lg="12"> | 125 | <el-col :sm="24" :lg="12"> |
| 126 | <div class="indexTitle"> | 126 | <div class="indexTitle"> |
| 127 | <h3 class="leftboderTT">RESULT</h3> | 127 | <h3 class="leftboderTT">MEDAL TALLY</h3> |
| 128 | <a class="more" @click="gosaiC">MORE</a> | 128 | <a class="more" href="#/saiC">MORE</a> |
| 129 | </div> | 129 | </div> |
| 130 | <!--历史排名--> | 130 | <!--历史排名--> |
| 131 | <el-card :body-style="{'padding':'10px 20px 18px'}"> | 131 | <el-card :body-style="{'padding':'10px 20px 18px'}"> |
| 132 | <el-tabs v-model="activeRankName" @tab-click="rankTabClick"> | ||
| 133 | <el-tab-pane v-for="(p,index) in rankTabs" :label="p.name" :name="index"> | ||
| 134 | <el-table stripe :data="rankList"> | 132 | <el-table stripe :data="rankList"> |
| 135 | <el-table-column label="Ranking" align="center" width="100" type="index"> | 133 | <el-table-column label="Ranking" align="center" width="80" type="index"> |
| 136 | <template #default="scope"> | 134 | <template #default="scope"> |
| 137 | <span v-if="scope.row.index == 1" style="color:#F8A617">{{ scope.row.index }}</span> | 135 | <span v-if="scope.row.index == 1" style="color:#F8A617">{{ scope.row.index }}</span> |
| 138 | <span v-else-if="scope.row.index == 2" style="color:#778B92">{{ scope.row.index }}</span> | 136 | <span v-else-if="scope.row.index == 2" style="color:#778B92">{{ scope.row.index }}</span> |
| ... | @@ -140,16 +138,44 @@ | ... | @@ -140,16 +138,44 @@ |
| 140 | <span v-else>{{ scope.row.index }}</span> | 138 | <span v-else>{{ scope.row.index }}</span> |
| 141 | </template> | 139 | </template> |
| 142 | </el-table-column> | 140 | </el-table-column> |
| 143 | <el-table-column label="Name" prop="name" /> | 141 | <el-table-column label="Country/Region" prop="name" min-width="100" align="center"> |
| 144 | <el-table-column label="Country" prop="gj" /> | 142 | <template #default="scope"> |
| 145 | <el-table-column label="Score" align="center"> | 143 | <div> |
| 144 | <span :class="`flag-icon flag-icon-${scope.row.code}`"></span> | ||
| 145 | {{ scope.row.gj }}</div> | ||
| 146 | </template> | ||
| 147 | </el-table-column> | ||
| 148 | <el-table-column prop="score"> | ||
| 149 | <template #header> | ||
| 150 | <img src="@/assets/dance/1.png"> | ||
| 151 | </template> | ||
| 152 | <template #default="scope"> | ||
| 153 | <div class="text-warning">{{ scope.row.score }}</div> | ||
| 154 | </template> | ||
| 155 | </el-table-column> | ||
| 156 | <el-table-column prop="score"> | ||
| 157 | <template #header> | ||
| 158 | <img src="@/assets/dance/2.png"> | ||
| 159 | </template> | ||
| 160 | <template #default="scope"> | ||
| 161 | <div class="text-blue">{{ scope.row.score }}</div> | ||
| 162 | </template> | ||
| 163 | </el-table-column> | ||
| 164 | <el-table-column prop="score"> | ||
| 165 | <template #header> | ||
| 166 | <img src="@/assets/dance/3.png"> | ||
| 167 | </template> | ||
| 168 | <template #default="scope"> | ||
| 169 | <div class="text-primary">{{ scope.row.score }}</div> | ||
| 170 | </template> | ||
| 171 | </el-table-column> | ||
| 172 | <el-table-column label="Total" align="center"> | ||
| 146 | <template #default="scope"> | 173 | <template #default="scope"> |
| 147 | <div class="text-primary">{{ scope.row.score }}</div> | 174 | <div class="text-primary">{{ scope.row.score }}</div> |
| 148 | </template> | 175 | </template> |
| 149 | </el-table-column> | 176 | </el-table-column> |
| 150 | </el-table> | 177 | </el-table> |
| 151 | </el-tab-pane> | 178 | |
| 152 | </el-tabs> | ||
| 153 | </el-card> | 179 | </el-card> |
| 154 | </el-col> | 180 | </el-col> |
| 155 | </el-row> | 181 | </el-row> |
| ... | @@ -366,22 +392,15 @@ const navigationPic = ref({ | ... | @@ -366,22 +392,15 @@ const navigationPic = ref({ |
| 366 | }) | 392 | }) |
| 367 | const router = useRouter() | 393 | const router = useRouter() |
| 368 | const { proxy } = getCurrentInstance() | 394 | const { proxy } = getCurrentInstance() |
| 369 | const activeRankName = ref(0) | ||
| 370 | const time = ref(0) | 395 | const time = ref(0) |
| 371 | const rankList = ref([ | 396 | const rankList = ref([ |
| 372 | { index: '1', name: 'Chen Shasha', score: '170',gj:'CHINA' }, | 397 | { index: '1', code: 'cn', score: '170',gj:'China' }, |
| 373 | { index: '2', name: 'Chen Shasha', score: '170' ,gj:'CHINA'}, | 398 | { index: '2', code: 'us', score: '170' ,gj:'China'}, |
| 374 | { index: '3', name: 'Chen Shasha', score: '170',gj:'CHINA' }, | 399 | { index: '3', code: 'de', score: '170',gj:'China' }, |
| 375 | { index: '4', name: 'Chen Shasha', score: '170',gj:'CHINA' }, | 400 | { index: '4', code: 'eg', score: '170',gj:'China' }, |
| 376 | { index: '5', name: 'Chen Shasha', score: '170' ,gj:'CHINA'}, | 401 | { index: '5', code: 'ly', score: '170' ,gj:'China'}, |
| 377 | { index: '6', name: 'Chen Shasha', score: '170' ,gj:'CHINA'} | 402 | { index: '6', code: 'tn', score: '170' ,gj:'China'}, |
| 378 | ]) | 403 | { index: '7', code: 'gw', score: '170' ,gj:'China'} |
| 379 | const rankTabs = ref([ | ||
| 380 | { name: 'Latin' }, | ||
| 381 | { name: 'Standard' }, | ||
| 382 | { name: 'Rock and roll' }, | ||
| 383 | { name: 'Sharsa' }, | ||
| 384 | { name: 'Breaking' } | ||
| 385 | ]) | 404 | ]) |
| 386 | const personList = ref([ | 405 | const personList = ref([ |
| 387 | { name: 'Zhang Jin', pp: 'artistic director', src: r01 }, | 406 | { name: 'Zhang Jin', pp: 'artistic director', src: r01 }, |
| ... | @@ -606,9 +625,9 @@ const goList = (query, name) => { | ... | @@ -606,9 +625,9 @@ const goList = (query, name) => { |
| 606 | } | 625 | } |
| 607 | } | 626 | } |
| 608 | 627 | ||
| 609 | .calendarList{border: 1px solid #F0F0F0;padding:12px 20px;overflow: auto;height: 220px; | 628 | .calendarList{border: 1px solid #F0F0F0;padding:12px 20px;overflow: auto;height: 233px; |
| 610 | ul{ | 629 | ul{ |
| 611 | li{background: #F6F9FE;margin:7px 0 7px 20px;position: relative;padding: 13px; | 630 | li{background: #F6F9FE;margin:7px 0 7px 0;position: relative;padding: 13px; |
| 612 | border-radius: 10px; | 631 | border-radius: 10px; |
| 613 | font-weight: 500; | 632 | font-weight: 500; |
| 614 | font-size: 15px; | 633 | font-size: 15px; | ... | ... |
| ... | @@ -33,7 +33,7 @@ | ... | @@ -33,7 +33,7 @@ |
| 33 | </div> | 33 | </div> |
| 34 | 34 | ||
| 35 | <div class="text-center mt30 mb20"> | 35 | <div class="text-center mt30 mb20"> |
| 36 | <el-button class="primary-kx w200px" round @click="goHome">{{ language == 0 ? '返回首页' : 'Homepage' }}</el-button> | 36 | <el-button class="primary-kx w200px" round @click="goHome">{{ language == 0 ? '返回首页' : 'Return to Homepage' }}</el-button> |
| 37 | <el-button type="primary" class="btn-lineG w200px" round @click="goSign"> | 37 | <el-button type="primary" class="btn-lineG w200px" round @click="goSign"> |
| 38 | {{ language == 0 ? '返回赛事报名模块' : 'Return to Event Registration Module' }}</el-button> | 38 | {{ language == 0 ? '返回赛事报名模块' : 'Return to Event Registration Module' }}</el-button> |
| 39 | </div> | 39 | </div> | ... | ... |
| ... | @@ -39,6 +39,9 @@ | ... | @@ -39,6 +39,9 @@ |
| 39 | <el-form-item :label="language==0?'手机号码':'Phone'" prop="phone" required> | 39 | <el-form-item :label="language==0?'手机号码':'Phone'" prop="phone" required> |
| 40 | <el-input v-model="form.phone" type="number"/> | 40 | <el-input v-model="form.phone" type="number"/> |
| 41 | </el-form-item> | 41 | </el-form-item> |
| 42 | <el-form-item :label="language==0?'WDSF会员号':'WDSF code'" prop="wdsfMin"> | ||
| 43 | <el-input v-model="form.wdsfMin" type="number"/> | ||
| 44 | </el-form-item> | ||
| 42 | </el-col> | 45 | </el-col> |
| 43 | <el-col :lg="12"> | 46 | <el-col :lg="12"> |
| 44 | <el-form-item :label="language==0?'所属国家':'Nationality'" prop="countryId" required> | 47 | <el-form-item :label="language==0?'所属国家':'Nationality'" prop="countryId" required> | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <el-dialog v-model="show" :title="title" width="500px" close-icon="CircleClose" | 2 | <el-dialog v-model="show" :title="title" width="500px" close-icon="CircleClose" |
| 3 | append-to-body :close-on-click-modal="false" class="pcloginpop" center> | 3 | append-to-body :close-on-click-modal="false" class="pcloginpop" center> |
| 4 | <el-form ref="dialogRef" label-width="100px"> | 4 | <el-form ref="dialogRef" :label-width="language==0?'100px':'160px'"> |
| 5 | <el-form-item :label="language==0?'下载模板':'Download template'"> | 5 | <el-form-item :label="language==0?'下载模板':'Download template'"> |
| 6 | <el-link href="/file/UserImport-ch.xlsx" v-if="language==0" type="primary" target="_blank">人员模板</el-link> | 6 | <el-link href="/file/UserImport-ch.xlsx" v-if="language==0" type="primary" target="_blank">人员模板</el-link> |
| 7 | <el-link href="/file/UserImport-en.xlsx" v-else type="primary" target="_blank">Personnel template</el-link> | 7 | <el-link href="/file/UserImport-en.xlsx" v-else type="primary" target="_blank">Personnel template</el-link> |
| 8 | </el-form-item> | 8 | </el-form-item> |
| 9 | 9 | ||
| 10 | <el-form-item :label="language==0?'上传模板':'Upload template'" prop="discount"> | 10 | <el-form-item :label="language==0?'上传模板':'Upload template'" prop="discount"> |
| 11 | <fileImport ref="upload" name="excel" :action="action" @uploadSuccess="uploadSuccess" /> | 11 | <fileImport :text="language==0?'选取文件':'Select File'" ref="upload" name="excel" :action="action" @uploadSuccess="uploadSuccess" /> |
| 12 | </el-form-item> | 12 | </el-form-item> |
| 13 | </el-form> | 13 | </el-form> |
| 14 | 14 | ||
| ... | @@ -45,23 +45,23 @@ function uploadSuccess(res) { | ... | @@ -45,23 +45,23 @@ function uploadSuccess(res) { |
| 45 | confirmButtonText: '好的' | 45 | confirmButtonText: '好的' |
| 46 | }) | 46 | }) |
| 47 | } else { | 47 | } else { |
| 48 | if(res.data.repeatInSystemColumn){ | 48 | if(res.data.repeatInSystemColumn.length>0){ |
| 49 | proxy.$modal.msgError(`${res.data.repeatInSystemColumn}系统中已存在`) | 49 | proxy.$modal.msgError(`${res.data.repeatInSystemColumn}${language.value==0?'系统中已存在':'is in system'}`) |
| 50 | } | 50 | } |
| 51 | if(res.data.errCountryColumn){ | 51 | if(res.data.errCountryColumn.length>0){ |
| 52 | proxy.$modal.msgError(`${res.data.errCountryColumn}所属国家有误`) | 52 | proxy.$modal.msgError(`${res.data.errCountryColumn}${language.value==0?'所属国家有误':'error Country'}`) |
| 53 | } | 53 | } |
| 54 | if(res.data.errIdcTypeColumn){ | 54 | if(res.data.errIdcTypeColumn.length>0){ |
| 55 | proxy.$modal.msgError(`${res.data.errIdcTypeColumn}证件号错误`) | 55 | proxy.$modal.msgError(`${res.data.errIdcTypeColumn}${language.value==0?'证件号错误':'error ID type'}`) |
| 56 | } | 56 | } |
| 57 | if(res.data.errSexColumn){ | 57 | if(res.data.errSexColumn.length>0){ |
| 58 | proxy.$modal.msgError(`${res.data.errSexColumn}性别错误`) | 58 | proxy.$modal.msgError(`${res.data.errSexColumn}${language.value == 0? '性别错误' : 'error sex'}`) |
| 59 | } | 59 | } |
| 60 | if(res.data.incompleteColumn){ | 60 | if(res.data.incompleteColumn.length>0){ |
| 61 | proxy.$modal.msgError(`${res.data.incompleteColumn}必填项未完成`) | 61 | proxy.$modal.msgError(`${res.data.incompleteColumn}${language.value == 0? '必填项未完成' : 'incomplete'}`) |
| 62 | } | 62 | } |
| 63 | if(res.data.repeatInFileColumn){ | 63 | if(res.data.repeatInFileColumn.length>0){ |
| 64 | proxy.$modal.msgError(`${res.data.repeatInFileColumn}文件内重复`) | 64 | proxy.$modal.msgError(`${res.data.repeatInFileColumn}${language.value == 0? '文件内重复' : 'Repeat In File'}`) |
| 65 | } | 65 | } |
| 66 | 66 | ||
| 67 | } | 67 | } | ... | ... |
| ... | @@ -7,11 +7,26 @@ | ... | @@ -7,11 +7,26 @@ |
| 7 | <div class="xzbox" v-html="form.ocOrganizer"> | 7 | <div class="xzbox" v-html="form.ocOrganizer"> |
| 8 | </div> | 8 | </div> |
| 9 | <div class="indexTitle"><h3 class="leftboderTT">报名须知</h3></div> | 9 | <div class="indexTitle"><h3 class="leftboderTT">报名须知</h3></div> |
| 10 | <div class="xzbox" v-html="form.signKnow"> | 10 | <div class="xzbox"> |
| 11 | 11 | <div v-html="form.signKnow"></div> | |
| 12 | <el-link v-if="form.signKnowUrl" type="primary" :href="fillImgUrl(JSON.parse(form.signKnowUrl)[0]?.url)" target="_blank"> | ||
| 13 | <el-icon :size="20"> | ||
| 14 | <Download /> | ||
| 15 | </el-icon> | ||
| 16 | {{ JSON.parse(form.signKnowUrl)[0]?.name }} | ||
| 17 | </el-link> | ||
| 12 | </div> | 18 | </div> |
| 13 | <div class="indexTitle" v-if="form.type==0"><h3 class="leftboderTT">赛事规程</h3></div> | 19 | <div class="indexTitle"><h3 class="leftboderTT">免责声明</h3></div> |
| 14 | <div class="xzbox" v-if="form.type==0"> | 20 | <div class="xzbox"> |
| 21 | <el-link v-if="form.disclaimerUrl" type="primary" :href="fillImgUrl(JSON.parse(form.disclaimerUrl)[0]?.url)" target="_blank"> | ||
| 22 | <el-icon :size="20"> | ||
| 23 | <Download /> | ||
| 24 | </el-icon> | ||
| 25 | {{ JSON.parse(form.disclaimerUrl)[0]?.name }} | ||
| 26 | </el-link> | ||
| 27 | </div> | ||
| 28 | <div class="indexTitle"><h3 class="leftboderTT">赛事规程</h3></div> | ||
| 29 | <div class="xzbox"> | ||
| 15 | 30 | ||
| 16 | <el-link v-if="form.ruleUrl" type="primary" :href="fillImgUrl(JSON.parse(form.ruleUrl)[0]?.url)" target="_blank"> | 31 | <el-link v-if="form.ruleUrl" type="primary" :href="fillImgUrl(JSON.parse(form.ruleUrl)[0]?.url)" target="_blank"> |
| 17 | <el-icon :size="20"> | 32 | <el-icon :size="20"> |
| ... | @@ -20,8 +35,8 @@ | ... | @@ -20,8 +35,8 @@ |
| 20 | {{ JSON.parse(form.ruleUrl)[0]?.name }} | 35 | {{ JSON.parse(form.ruleUrl)[0]?.name }} |
| 21 | </el-link> | 36 | </el-link> |
| 22 | </div> | 37 | </div> |
| 23 | <div class="indexTitle" v-if="form.type==1"><h3 class="leftboderTT">竞赛项目</h3></div> | 38 | <div class="indexTitle" v-if="form.type==1&&form.cptProjectList?.length > 0"><h3 class="leftboderTT">竞赛项目</h3></div> |
| 24 | <div class="collapsebox" v-if="form.type==1"> | 39 | <div class="collapsebox" v-if="form.type==1&&form.cptProjectList?.length > 0"> |
| 25 | <div class="pd20"> | 40 | <div class="pd20"> |
| 26 | <table class="table" cellspacing="0" cellpadding="0" v-if="form.cptProjectList?.length > 0"> | 41 | <table class="table" cellspacing="0" cellpadding="0" v-if="form.cptProjectList?.length > 0"> |
| 27 | <tr> | 42 | <tr> |
| ... | @@ -33,7 +48,7 @@ | ... | @@ -33,7 +48,7 @@ |
| 33 | <th>参赛年龄</th> | 48 | <th>参赛年龄</th> |
| 34 | <th>服务费(元)</th> | 49 | <th>服务费(元)</th> |
| 35 | </tr> | 50 | </tr> |
| 36 | <tr v-for="(p,index) in matchData.cptProjectList" :key="index"> | 51 | <tr v-for="(p,index) in form.cptProjectList" :key="index"> |
| 37 | <td>{{ p.code }}</td> | 52 | <td>{{ p.code }}</td> |
| 38 | <td>{{ p.name }}</td> | 53 | <td>{{ p.name }}</td> |
| 39 | <td>{{ p.danceType }}</td> | 54 | <td>{{ p.danceType }}</td> |
| ... | @@ -55,11 +70,27 @@ | ... | @@ -55,11 +70,27 @@ |
| 55 | <div class="xzbox" v-html="form.ocOrganizer"> | 70 | <div class="xzbox" v-html="form.ocOrganizer"> |
| 56 | </div> | 71 | </div> |
| 57 | <div class="indexTitle"><h3 class="leftboderTT">Notes</h3></div> | 72 | <div class="indexTitle"><h3 class="leftboderTT">Notes</h3></div> |
| 58 | <div class="xzbox" v-html="form.signKnow"> | 73 | <div class="xzbox"> |
| 59 | 74 | <div v-html="form.signKnow"></div> | |
| 75 | <el-link v-if="form.signKnowUrl" type="primary" :href="fillImgUrl(JSON.parse(form.signKnowUrl)[0]?.url)" target="_blank"> | ||
| 76 | <el-icon :size="20"> | ||
| 77 | <Download /> | ||
| 78 | </el-icon> | ||
| 79 | {{ JSON.parse(form.signKnowUrl)[0]?.name }} | ||
| 80 | </el-link> | ||
| 81 | </div> | ||
| 82 | <div class="indexTitle"><h3 class="leftboderTT">Disclaimers</h3></div> | ||
| 83 | <div class="xzbox"> | ||
| 84 | <el-link v-if="form.disclaimerUrl" type="primary" :href="fillImgUrl(JSON.parse(form.disclaimerUrl)[0]?.url)" target="_blank"> | ||
| 85 | <el-icon :size="20"> | ||
| 86 | <Download /> | ||
| 87 | </el-icon> | ||
| 88 | {{ JSON.parse(form.disclaimerUrl)[0]?.name }} | ||
| 89 | </el-link> | ||
| 60 | </div> | 90 | </div> |
| 61 | <div class="indexTitle" v-if="form.type==0"><h3 class="leftboderTT">Competition Regulations</h3></div> | 91 | |
| 62 | <div class="xzbox" v-if="form.type==0"> | 92 | <div class="indexTitle"><h3 class="leftboderTT">Competition Regulations</h3></div> |
| 93 | <div class="xzbox"> | ||
| 63 | <div v-html="form.ruleContent"> | 94 | <div v-html="form.ruleContent"> |
| 64 | 95 | ||
| 65 | </div> | 96 | </div> |
| ... | @@ -70,8 +101,8 @@ | ... | @@ -70,8 +101,8 @@ |
| 70 | {{ JSON.parse(form.ruleUrl)[0]?.name }} | 101 | {{ JSON.parse(form.ruleUrl)[0]?.name }} |
| 71 | </el-link> | 102 | </el-link> |
| 72 | </div> | 103 | </div> |
| 73 | <div class="indexTitle" v-if="form.type==1"><h3 class="leftboderTT">Event settings</h3></div> | 104 | <div class="indexTitle" v-if="form.type==1 && form.cptProjectList?.length > 0"><h3 class="leftboderTT">Event settings</h3></div> |
| 74 | <div class="collapsebox" v-if="form.type==1"> | 105 | <div class="collapsebox" v-if="form.type==1 && form.cptProjectList?.length > 0"> |
| 75 | 106 | ||
| 76 | <div class="pd20"> | 107 | <div class="pd20"> |
| 77 | <table class="table" cellspacing="0" cellpadding="0" v-if="form.cptProjectList?.length > 0"> | 108 | <table class="table" cellspacing="0" cellpadding="0" v-if="form.cptProjectList?.length > 0"> |
| ... | @@ -84,7 +115,7 @@ | ... | @@ -84,7 +115,7 @@ |
| 84 | <th>Age</th> | 115 | <th>Age</th> |
| 85 | <th>Registration Fee</th> | 116 | <th>Registration Fee</th> |
| 86 | </tr> | 117 | </tr> |
| 87 | <tr v-for="(p,index) in matchData.cptProjectList" :key="index"> | 118 | <tr v-for="(p,index) in form.cptProjectList" :key="index"> |
| 88 | <td>{{ p.code }}</td> | 119 | <td>{{ p.code }}</td> |
| 89 | <td>{{ p.name }}</td> | 120 | <td>{{ p.name }}</td> |
| 90 | <td>{{ p.danceType }}</td> | 121 | <td>{{ p.danceType }}</td> | ... | ... |
| ... | @@ -12,7 +12,7 @@ | ... | @@ -12,7 +12,7 @@ |
| 12 | <!-- <a class="more" @click="goList(query2.sortId,'专题报道')">MORE</a>--> | 12 | <!-- <a class="more" @click="goList(query2.sortId,'专题报道')">MORE</a>--> |
| 13 | </div> | 13 | </div> |
| 14 | <div> | 14 | <div> |
| 15 | <div class="item" v-for="n in newsList" :key="n.id"> | 15 | <div class="item" v-for="n in newsList" :key="n.id" @click="goDetail(n)"> |
| 16 | <p class="esp">{{ n.name }}</p> | 16 | <p class="esp">{{ n.name }}</p> |
| 17 | </div> | 17 | </div> |
| 18 | </div> | 18 | </div> |
| ... | @@ -20,25 +20,28 @@ | ... | @@ -20,25 +20,28 @@ |
| 20 | <div class="indexTitle"><h3 class="leftboderTT">{{ language==0?'赛事视频':'Event Videos' }}</h3> | 20 | <div class="indexTitle"><h3 class="leftboderTT">{{ language==0?'赛事视频':'Event Videos' }}</h3> |
| 21 | <!-- <a class="more" @click="goList(10000006,'赛事视频')">MORE</a>--> | 21 | <!-- <a class="more" @click="goList(10000006,'赛事视频')">MORE</a>--> |
| 22 | </div> | 22 | </div> |
| 23 | <div class="item" v-for="n in newsList2" :key="n.id"> | 23 | <div class="item" v-for="n in newsList2" :key="n.id" @click="goDetail(n)"> |
| 24 | <div class="videoImgbox" @click="goDetail(n)"> | 24 | <div class="videoImgbox" @click="goDetail(n)"> |
| 25 | <img :src="fillImgUrl_webSite(n.picUrl)"> | 25 | <img :src="fillImgUrl(n.picUrl)"> |
| 26 | </div> | 26 | </div> |
| 27 | </div> | 27 | </div> |
| 28 | <div class="indexTitle"><h3 class="leftboderTT">{{ language==0?'赛事图片':'Event Photos' }}</h3> | 28 | <div class="indexTitle"><h3 class="leftboderTT">{{ language==0?'赛事图片':'Event Photos' }}</h3> |
| 29 | <!-- <a class="more" @click="goList(10000007,'赛事图片')">MORE</a>--> | 29 | <!-- <a class="more" @click="goList(10000007,'赛事图片')">MORE</a>--> |
| 30 | </div> | 30 | </div> |
| 31 | <div v-for="n in newsList3" :key="n.id"> | 31 | <div v-for="n in newsList3" :key="n.id" @click="goDetail(n)"> |
| 32 | <div class="picbox" @click="goDetail(n)"><img :src="fillImgUrl_webSite(n.picUrl)"/></div> | 32 | <div class="picbox"><img :src="fillImgUrl(n.picUrl)"/></div> |
| 33 | </div> | 33 | </div> |
| 34 | </el-card> | 34 | </el-card> |
| 35 | </template> | 35 | </template> |
| 36 | 36 | ||
| 37 | <script setup> | 37 | <script setup> |
| 38 | import {getNewsListById} from "@/apiPc/webSite"; | ||
| 39 | import {onMounted, ref} from "vue"; | 38 | import {onMounted, ref} from "vue"; |
| 40 | import cache from '@/plugins/cache' | 39 | import cache from '@/plugins/cache' |
| 40 | import {getMatchNewslistByCode} from "@/apiPc/match"; | ||
| 41 | import {useRouter} from "vue-router"; | ||
| 42 | import {getNewsListById} from "@/apiPc/webSite"; | ||
| 41 | const language = ref(cache.local.get('language') || 0) | 43 | const language = ref(cache.local.get('language') || 0) |
| 44 | const router = useRouter() | ||
| 42 | const props = defineProps({ | 45 | const props = defineProps({ |
| 43 | matchId: { | 46 | matchId: { |
| 44 | type: String, | 47 | type: String, |
| ... | @@ -91,6 +94,15 @@ const goList = (sortId,name) => { | ... | @@ -91,6 +94,15 @@ const goList = (sortId,name) => { |
| 91 | } | 94 | } |
| 92 | }) | 95 | }) |
| 93 | } | 96 | } |
| 97 | const goDetail = (n) => { | ||
| 98 | if (n.isOut == '1') { | ||
| 99 | window.open(n.jumpUrl) | ||
| 100 | } else { | ||
| 101 | window.open(router.resolve({ | ||
| 102 | path: `/news/detail/${n.noteId}` | ||
| 103 | }).href) | ||
| 104 | } | ||
| 105 | } | ||
| 94 | </script> | 106 | </script> |
| 95 | 107 | ||
| 96 | <style scoped lang="scss"> | 108 | <style scoped lang="scss"> | ... | ... |
| ... | @@ -2,18 +2,18 @@ | ... | @@ -2,18 +2,18 @@ |
| 2 | <div style="padding: 30px 20px 20px"> | 2 | <div style="padding: 30px 20px 20px"> |
| 3 | <!--日程--> | 3 | <!--日程--> |
| 4 | <el-timeline> | 4 | <el-timeline> |
| 5 | <el-timeline-item | 5 | <el-timeline-item color="#453DEA" size="large" hollow="true" |
| 6 | v-for="s in matchData.cptScheduleList" | 6 | v-for="s in matchData.cptScheduleList" |
| 7 | :key="s.id" hide-timestamp | 7 | :key="s.id" hide-timestamp |
| 8 | placement="top" | 8 | placement="top" |
| 9 | > | 9 | > |
| 10 | <p style="font-size: 16px;margin: 0"> | 10 | <p style="font-size: 16px;margin: 0;color: var(--el-color-primary);"> |
| 11 | {{ s.timeRange?.split(',')[0].substring(0, 16) }} | 11 | {{ s.timeRange?.split(',')[0].substring(0, 16) }} |
| 12 | ~ | 12 | ~ |
| 13 | {{ s.timeRange?.split(',')[1].substring(0, 16) }} | 13 | {{ s.timeRange?.split(',')[1].substring(0, 16) }} |
| 14 | </p> | 14 | </p> |
| 15 | 15 | ||
| 16 | <p style="font-size: 16px;">{{ s.name }}</p> | 16 | <p style="font-size: 18px;color: #000;">{{ s.name }}</p> |
| 17 | <p v-if="s.introduction" v-html="s.introduction"></p> | 17 | <p v-if="s.introduction" v-html="s.introduction"></p> |
| 18 | <div class="time-address"> | 18 | <div class="time-address"> |
| 19 | <el-icon> | 19 | <el-icon> |
| ... | @@ -39,6 +39,7 @@ const props = defineProps({ | ... | @@ -39,6 +39,7 @@ const props = defineProps({ |
| 39 | </script> | 39 | </script> |
| 40 | 40 | ||
| 41 | <style scoped lang="scss"> | 41 | <style scoped lang="scss"> |
| 42 | .time-address{color: #666;} | ||
| 42 | .indexTitle{margin: 20px 0 12px; | 43 | .indexTitle{margin: 20px 0 12px; |
| 43 | h3{ | 44 | h3{ |
| 44 | font-size: 20px; | 45 | font-size: 20px; | ... | ... |
| ... | @@ -11,8 +11,9 @@ | ... | @@ -11,8 +11,9 @@ |
| 11 | <el-table-column :label="language==0?'出生日期':'Birth'" prop="birth" width="110"/> | 11 | <el-table-column :label="language==0?'出生日期':'Birth'" prop="birth" width="110"/> |
| 12 | <el-table-column :label="language==0?'手机号码':'Phone Number'" prop="phone" width="120"/> | 12 | <el-table-column :label="language==0?'手机号码':'Phone Number'" prop="phone" width="120"/> |
| 13 | <el-table-column :label="language==0?'邮箱':'E-mail'" prop="email" width="150"/> | 13 | <el-table-column :label="language==0?'邮箱':'E-mail'" prop="email" width="150"/> |
| 14 | <el-table-column :label="language==0?'证件类型':'ID Type'" prop="idcTypeStr"/> | 14 | <el-table-column :label="language==0?'证件类型':'ID Type'" prop="idcTypeStr" :min-width="language==0?'60':'160'"/> |
| 15 | <el-table-column :label="language==0?'证件号码':'ID NO.'" prop="idcCode" width="200"/> | 15 | <el-table-column :label="language==0?'证件号码':'ID NO.'" prop="idcCode" width="200"/> |
| 16 | <el-table-column :label="language==0?'WDSF会员号':'WDSF code'" prop="wdsfMin" width="200"/> | ||
| 16 | <el-table-column :label="language==0?'会员角色':'Role'" width="150"> | 17 | <el-table-column :label="language==0?'会员角色':'Role'" width="150"> |
| 17 | <template #default="scope"> | 18 | <template #default="scope"> |
| 18 | <div class="esp"> | 19 | <div class="esp"> | ... | ... |
| ... | @@ -38,7 +38,7 @@ | ... | @@ -38,7 +38,7 @@ |
| 38 | 38 | ||
| 39 | <div class="text-center mt30"> | 39 | <div class="text-center mt30"> |
| 40 | <a class="btn-lineG mb20 mauto" style="display: block;"> | 40 | <a class="btn-lineG mb20 mauto" style="display: block;"> |
| 41 | {{ language==0?'我要报名':'Application' }}</a> | 41 | {{ language==0?'我要报名':'Register' }}</a> |
| 42 | </div> | 42 | </div> |
| 43 | </el-col> | 43 | </el-col> |
| 44 | </el-row> | 44 | </el-row> | ... | ... |
| ... | @@ -4,7 +4,7 @@ | ... | @@ -4,7 +4,7 @@ |
| 4 | <div class="box mb20 "> | 4 | <div class="box mb20 "> |
| 5 | <el-card class="mb20"> | 5 | <el-card class="mb20"> |
| 6 | <el-row :gutter="20"> | 6 | <el-row :gutter="20"> |
| 7 | <el-col :lg="7" :md="24" :xl="6" > | 7 | <el-col :lg="7" :md="12" :xl="6" > |
| 8 | <img class="mauto w100" :src="fillImgUrl(matchData.coverUrl)" > | 8 | <img class="mauto w100" :src="fillImgUrl(matchData.coverUrl)" > |
| 9 | </el-col> | 9 | </el-col> |
| 10 | <el-col :lg="9" :md="12" :xl="10"> | 10 | <el-col :lg="9" :md="12" :xl="10"> |
| ... | @@ -31,45 +31,46 @@ | ... | @@ -31,45 +31,46 @@ |
| 31 | </template> | 31 | </template> |
| 32 | </van-count-down> | 32 | </van-count-down> |
| 33 | 33 | ||
| 34 | <div> | 34 | <div class="flexCenter"> |
| 35 | <a class="btn-lineG mb20" @click="choseSignType" style="display: block;text-align: center;">Register</a> | 35 | <el-button type="primary" round size="large" class="btn-lineG mb20 mt30 w100" |
| 36 | @click="choseSignType" style="font-size: 16px">Register</el-button> | ||
| 36 | </div> | 37 | </div> |
| 37 | </el-col> | 38 | </el-col> |
| 38 | </el-row> | 39 | </el-row> |
| 39 | </el-card> | 40 | </el-card> |
| 40 | 41 | ||
| 41 | <el-row gutter="14"> | 42 | <el-row gutter="14"> |
| 42 | <el-col :lg="4"> | 43 | <el-col :lg="4" :md="8" :xs="12"> |
| 43 | <div class="funcBtn" @click="building"> | 44 | <div class="funcBtn" @click="building"> |
| 44 | <img src="@/assets/dance/btn04.png"/> | 45 | <img src="@/assets/dance/btn04.png"/> |
| 45 | <h4>Ticket Booking</h4> | 46 | <h4>Ticket Booking</h4> |
| 46 | </div> | 47 | </div> |
| 47 | </el-col> | 48 | </el-col> |
| 48 | <el-col :lg="4"> | 49 | <el-col :lg="4" :md="8" :xs="12"> |
| 49 | <div class="funcBtn" @click="building"> | 50 | <div class="funcBtn" @click="building"> |
| 50 | <img src="@/assets/dance/btn01.png"/> | 51 | <img src="@/assets/dance/btn01.png"/> |
| 51 | <h4>Hotel Reservation</h4> | 52 | <h4>Hotel Reservation</h4> |
| 52 | </div> | 53 | </div> |
| 53 | </el-col> | 54 | </el-col> |
| 54 | <el-col :lg="4"> | 55 | <el-col :lg="4" :md="8" :xs="12"> |
| 55 | <div class="funcBtn" @click="building"> | 56 | <div class="funcBtn" @click="building"> |
| 56 | <img src="@/assets/dance/btn02.png"/> | 57 | <img src="@/assets/dance/btn02.png"/> |
| 57 | <h4>Vehicle Reservation</h4> | 58 | <h4>Vehicle Reservation</h4> |
| 58 | </div> | 59 | </div> |
| 59 | </el-col> | 60 | </el-col> |
| 60 | <el-col :lg="4"> | 61 | <el-col :lg="4" :md="8" :xs="12"> |
| 61 | <div class="funcBtn" @click="building"> | 62 | <div class="funcBtn" @click="building"> |
| 62 | <img src="@/assets/dance/btn03.png"/> | 63 | <img src="@/assets/dance/btn03.png"/> |
| 63 | <h4>Dining Reservation</h4> | 64 | <h4>Dining Reservation</h4> |
| 64 | </div> | 65 | </div> |
| 65 | </el-col> | 66 | </el-col> |
| 66 | <el-col :lg="4"> | 67 | <el-col :lg="4" :md="8" :xs="12"> |
| 67 | <div class="funcBtn" @click="building"> | 68 | <div class="funcBtn" @click="building"> |
| 68 | <img src="@/assets/dance/btn05.png"/> | 69 | <img src="@/assets/dance/btn05.png"/> |
| 69 | <h4>Makeup appointment</h4> | 70 | <h4>Makeup Appointment</h4> |
| 70 | </div> | 71 | </div> |
| 71 | </el-col> | 72 | </el-col> |
| 72 | <el-col :lg="4"> | 73 | <el-col :lg="4" :md="8" :xs="12"> |
| 73 | <div class="funcBtn" @click="building"> | 74 | <div class="funcBtn" @click="building"> |
| 74 | <img src="@/assets/dance/btn06.png"/> | 75 | <img src="@/assets/dance/btn06.png"/> |
| 75 | <h4>Photography Appointment</h4> | 76 | <h4>Photography Appointment</h4> |
| ... | @@ -119,7 +120,7 @@ | ... | @@ -119,7 +120,7 @@ |
| 119 | <el-row :gutter="20" v-if="matchData.signType == '0'"> | 120 | <el-row :gutter="20" v-if="matchData.signType == '0'"> |
| 120 | <el-col v-for="t in signDoneGroupList" :key="t.id" :span="8"> | 121 | <el-col v-for="t in signDoneGroupList" :key="t.id" :span="8"> |
| 121 | <div class="teamItem"> | 122 | <div class="teamItem"> |
| 122 | <el-avatar :size="60" :src="t.imgUrl||t.avatar" /> | 123 | <el-avatar :size="60" :src="fillImgUrl(t.imgUrl||t.avatar)" /> |
| 123 | <span class="name">{{ t.name }}</span> | 124 | <span class="name">{{ t.name }}</span> |
| 124 | </div> | 125 | </div> |
| 125 | </el-col> | 126 | </el-col> |
| ... | @@ -128,7 +129,7 @@ | ... | @@ -128,7 +129,7 @@ |
| 128 | <el-col :span="24" v-for="(t,index) in signDoneGroupList" :key="t.id"> | 129 | <el-col :span="24" v-for="(t,index) in signDoneGroupList" :key="t.id"> |
| 129 | <div class="nowteamItem"> | 130 | <div class="nowteamItem"> |
| 130 | <span>{{index+1}}.</span> | 131 | <span>{{index+1}}.</span> |
| 131 | <el-avatar :size="80" :src="t.imgUrl||t.avatar" :fit="cover"/> | 132 | <el-avatar :size="80" :src="fillImgUrl(t.imgUrl||t.avatar)" :fit="cover"/> |
| 132 | <div class="info"> | 133 | <div class="info"> |
| 133 | <h3 class="name">{{ t.name }}</h3> | 134 | <h3 class="name">{{ t.name }}</h3> |
| 134 | <p v-if="t.extraInfo"> | 135 | <p v-if="t.extraInfo"> | ... | ... |
src/viewsPc/match/detail_fake.vue
deleted
100644 → 0
| 1 | <template> | ||
| 2 | <div class="app-container"> | ||
| 3 | <div class="mt30" /> | ||
| 4 | <div class="box mb20 "> | ||
| 5 | <el-card class="mb20"> | ||
| 6 | <el-row :gutter="20"> | ||
| 7 | <el-col :lg="7" :md="24" :xl="6" > | ||
| 8 | <img class="mauto" src="@/assets/dance/fm.jpg"> | ||
| 9 | </el-col> | ||
| 10 | <el-col :lg="9" :md="12" :xl="10"> | ||
| 11 | <h3> | ||
| 12 | 2024年WDSF亚洲体育舞蹈节亚洲体育 舞蹈节 | ||
| 13 | </h3> | ||
| 14 | <p class="ppl"><label class="bm1">比赛时间:</label>2024.07.21-2024.07.23</p> | ||
| 15 | <p class="ppl"><label class="bm2">赛事级别:</label>联赛</p> | ||
| 16 | <p class="ppl"><label class="bm3">地    点:</label>江苏省无锡市滨湖区体育中心A区201</p> | ||
| 17 | <p class="ppl"><label class="bm4">报名截止:</label>2024-06-30 13:00</p> | ||
| 18 | </el-col> | ||
| 19 | <el-col :lg="8" :md="12" :xl="8"> | ||
| 20 | <p class="countDownTitle"><span>报名截止倒计时</span></p> | ||
| 21 | <van-count-down :time="time" format="DD 天 HH 时 mm 分 ss 秒"> | ||
| 22 | <template #default="timeData"> | ||
| 23 | <span class="block">{{ timeData.days }}</span> | ||
| 24 | <span class="colon">天</span> | ||
| 25 | <span class="block">{{ timeData.hours }}</span> | ||
| 26 | <span class="colon">时</span> | ||
| 27 | <span class="block">{{ timeData.minutes }}</span> | ||
| 28 | <span class="colon">分</span> | ||
| 29 | <span class="block">{{ timeData.seconds }}</span> | ||
| 30 | <span class="colon">秒</span> | ||
| 31 | </template> | ||
| 32 | </van-count-down> | ||
| 33 | |||
| 34 | <div class="funcBtns"> | ||
| 35 | <div> | ||
| 36 | <img src="@/assets/dance/btn01.png"/> | ||
| 37 | <h4>酒店预约</h4> | ||
| 38 | </div> | ||
| 39 | <div> | ||
| 40 | <img src="@/assets/dance/btn02.png"/> | ||
| 41 | <h4>接送预约</h4> | ||
| 42 | </div> | ||
| 43 | <div> | ||
| 44 | <img src="@/assets/dance/btn03.png"/> | ||
| 45 | <h4>餐饮预约</h4> | ||
| 46 | </div> | ||
| 47 | </div> | ||
| 48 | </el-col> | ||
| 49 | </el-row> | ||
| 50 | </el-card> | ||
| 51 | |||
| 52 | <el-row :gutter="20"> | ||
| 53 | <el-col :lg="18"> | ||
| 54 | <el-card :body-style="{'padding':'0'}"> | ||
| 55 | |||
| 56 | <div class="lineHead"> | ||
| 57 | <ul> | ||
| 58 | <li class="active">赛事详情</li> | ||
| 59 | <li>日程</li> | ||
| 60 | <li>参赛队</li> | ||
| 61 | <li>成绩</li> | ||
| 62 | <li>报名须知</li> | ||
| 63 | </ul> | ||
| 64 | </div> | ||
| 65 | |||
| 66 | <div style="padding: 0 20px 20px"> | ||
| 67 | <!-- 赛事详情--> | ||
| 68 | <div class="indexTitle"><h3 class="leftboderTT">组织机构</h3></div> | ||
| 69 | <el-row :gutter="20"> | ||
| 70 | <el-col :lg="8"> | ||
| 71 | <div class="dlbox"> | ||
| 72 | <dl> | ||
| 73 | <dt>主办单位</dt> | ||
| 74 | <dd>世界体育舞蹈联合会(WDSF)</dd> | ||
| 75 | <dd>亚洲体育舞蹈联合会(DSA)</dd> | ||
| 76 | <dd>中国体育联合会(CDSF)</dd> | ||
| 77 | </dl> | ||
| 78 | </div> | ||
| 79 | </el-col> | ||
| 80 | <el-col :lg="8"> | ||
| 81 | <div class="dlbox"> | ||
| 82 | <dl> | ||
| 83 | <dt>承办单位</dt> | ||
| 84 | <dd>江苏省体育总会</dd> | ||
| 85 | <dd>无锡市人民政府</dd> | ||
| 86 | </dl> | ||
| 87 | </div> | ||
| 88 | </el-col> | ||
| 89 | <el-col :lg="8"> | ||
| 90 | <div class="dlbox"> | ||
| 91 | <dl> | ||
| 92 | <dt>协办单位</dt> | ||
| 93 | <dd>无锡市体育局</dd> | ||
| 94 | <dd>江苏无锡经济开发区管理委员会</dd> | ||
| 95 | <dd>江苏省体育舞蹈运动协会</dd> | ||
| 96 | </dl> | ||
| 97 | </div> | ||
| 98 | </el-col> | ||
| 99 | <el-col :lg="8"> | ||
| 100 | <div class="dlbox"> | ||
| 101 | <dl> | ||
| 102 | <dt>运营单位</dt> | ||
| 103 | <dd>吉金无锡运动健康有限公司</dd> | ||
| 104 | </dl> | ||
| 105 | </div> | ||
| 106 | </el-col> | ||
| 107 | |||
| 108 | </el-row> | ||
| 109 | <div class="indexTitle"><h3 class="leftboderTT">报名须知</h3></div> | ||
| 110 | <div class="xzbox"> | ||
| 111 | 1.各单位限报1支队伍,每队需报领队1名(运动员可兼任),运动员限报4名<br> | ||
| 112 | 2.参赛运动员必须是参赛企业的员工(包括劳务派遣和外籍员工)<br> | ||
| 113 | 3.参赛运动员必须年满18至50周岁,50周岁以上者不建议参加此次比赛<br> | ||
| 114 | 4.参赛运动员必须身体健康 | ||
| 115 | </div> | ||
| 116 | |||
| 117 | <div class="indexTitle"><h3 class="leftboderTT">竞赛项目</h3></div> | ||
| 118 | <div class="collapsebox"> | ||
| 119 | <el-collapse v-model="activeNames" @change="handleChange"> | ||
| 120 | <el-collapse-item title="霹雳舞" name="1"> | ||
| 121 | <div class="pd20"> | ||
| 122 | <table class="table"> | ||
| 123 | <tr> | ||
| 124 | <td>日期</td> | ||
| 125 | <td>单元</td> | ||
| 126 | <td>组别</td> | ||
| 127 | <td>时间</td> | ||
| 128 | <td>阶段</td> | ||
| 129 | </tr> | ||
| 130 | <tr> | ||
| 131 | <td rowspan="4">2023/10/6(星期五)</td> | ||
| 132 | <td rowspan="4">BRK01</td> | ||
| 133 | <td>男子</td> | ||
| 134 | <td>14:30 - 15:30</td> | ||
| 135 | <td>资格赛</td> | ||
| 136 | </tr> | ||
| 137 | <tr> | ||
| 138 | <td>女子</td> | ||
| 139 | <td>14:30 - 15:30</td> | ||
| 140 | <td>资格赛</td> | ||
| 141 | </tr> | ||
| 142 | <tr> | ||
| 143 | <td>男子</td> | ||
| 144 | <td>14:30 - 15:30</td> | ||
| 145 | <td>循环赛</td> | ||
| 146 | </tr> | ||
| 147 | <tr> | ||
| 148 | <td>女子</td> | ||
| 149 | <td>14:30 - 15:30</td> | ||
| 150 | <td>循环赛</td> | ||
| 151 | </tr> | ||
| 152 | <tr> | ||
| 153 | <td rowspan="8">2023/10/7(星期六)</td> | ||
| 154 | <td rowspan="8">BRK02</td> | ||
| 155 | <td>男子</td> | ||
| 156 | <td>14:30 - 15:30</td> | ||
| 157 | <td>四分之一决赛</td> | ||
| 158 | </tr> | ||
| 159 | <tr> | ||
| 160 | <td>男子</td> | ||
| 161 | <td>14:30 - 15:30</td> | ||
| 162 | <td>四分之一决赛</td> | ||
| 163 | </tr> | ||
| 164 | <tr> | ||
| 165 | <td>女子</td> | ||
| 166 | <td>14:30 - 15:30</td> | ||
| 167 | <td>半决赛</td> | ||
| 168 | </tr> | ||
| 169 | <tr> | ||
| 170 | <td>女子</td> | ||
| 171 | <td>14:30 - 15:30</td> | ||
| 172 | <td>半决赛</td> | ||
| 173 | </tr> | ||
| 174 | <tr> | ||
| 175 | <td>男子</td> | ||
| 176 | <td>14:30 - 15:30</td> | ||
| 177 | <td>季军赛</td> | ||
| 178 | </tr> | ||
| 179 | <tr> | ||
| 180 | <td>女子</td> | ||
| 181 | <td>14:30 - 15:30</td> | ||
| 182 | <td>季军赛</td> | ||
| 183 | </tr> | ||
| 184 | <tr> | ||
| 185 | <td>男子</td> | ||
| 186 | <td>14:30 - 15:30</td> | ||
| 187 | <td>决赛</td> | ||
| 188 | </tr> | ||
| 189 | <tr> | ||
| 190 | <td>女子</td> | ||
| 191 | <td>14:30 - 15:30</td> | ||
| 192 | <td>决赛</td> | ||
| 193 | </tr> | ||
| 194 | <tr> | ||
| 195 | <td colspan="5" style="text-align: left"> | ||
| 196 | 注:竞赛日程将根据最终参赛人数和电视转播的要求进行调整 | ||
| 197 | </td> | ||
| 198 | </tr> | ||
| 199 | </table> | ||
| 200 | </div> | ||
| 201 | </el-collapse-item> | ||
| 202 | <el-collapse-item title="拉丁舞" name="2"> | ||
| 203 | <div class="pd20"> | ||
| 204 | <table class="table"> | ||
| 205 | <tr> | ||
| 206 | <td>日期</td> | ||
| 207 | <td>单元</td> | ||
| 208 | <td>组别</td> | ||
| 209 | <td>时间</td> | ||
| 210 | <td>阶段</td> | ||
| 211 | </tr> | ||
| 212 | <tr> | ||
| 213 | <td rowspan="4">2023/10/6(星期五)</td> | ||
| 214 | <td rowspan="4">BRK01</td> | ||
| 215 | <td>男子</td> | ||
| 216 | <td>14:30 - 15:30</td> | ||
| 217 | <td>资格赛</td> | ||
| 218 | </tr> | ||
| 219 | <tr> | ||
| 220 | <td>女子</td> | ||
| 221 | <td>14:30 - 15:30</td> | ||
| 222 | <td>资格赛</td> | ||
| 223 | </tr> | ||
| 224 | <tr> | ||
| 225 | <td>男子</td> | ||
| 226 | <td>14:30 - 15:30</td> | ||
| 227 | <td>循环赛</td> | ||
| 228 | </tr> | ||
| 229 | <tr> | ||
| 230 | <td>女子</td> | ||
| 231 | <td>14:30 - 15:30</td> | ||
| 232 | <td>循环赛</td> | ||
| 233 | </tr> | ||
| 234 | <tr> | ||
| 235 | <td rowspan="8">2023/10/7(星期六)</td> | ||
| 236 | <td rowspan="8">BRK02</td> | ||
| 237 | <td>男子</td> | ||
| 238 | <td>14:30 - 15:30</td> | ||
| 239 | <td>四分之一决赛</td> | ||
| 240 | </tr> | ||
| 241 | <tr> | ||
| 242 | <td>男子</td> | ||
| 243 | <td>14:30 - 15:30</td> | ||
| 244 | <td>四分之一决赛</td> | ||
| 245 | </tr> | ||
| 246 | <tr> | ||
| 247 | <td>女子</td> | ||
| 248 | <td>14:30 - 15:30</td> | ||
| 249 | <td>半决赛</td> | ||
| 250 | </tr> | ||
| 251 | <tr> | ||
| 252 | <td>女子</td> | ||
| 253 | <td>14:30 - 15:30</td> | ||
| 254 | <td>半决赛</td> | ||
| 255 | </tr> | ||
| 256 | <tr> | ||
| 257 | <td>男子</td> | ||
| 258 | <td>14:30 - 15:30</td> | ||
| 259 | <td>季军赛</td> | ||
| 260 | </tr> | ||
| 261 | <tr> | ||
| 262 | <td>女子</td> | ||
| 263 | <td>14:30 - 15:30</td> | ||
| 264 | <td>季军赛</td> | ||
| 265 | </tr> | ||
| 266 | <tr> | ||
| 267 | <td>男子</td> | ||
| 268 | <td>14:30 - 15:30</td> | ||
| 269 | <td>决赛</td> | ||
| 270 | </tr> | ||
| 271 | <tr> | ||
| 272 | <td>女子</td> | ||
| 273 | <td>14:30 - 15:30</td> | ||
| 274 | <td>决赛</td> | ||
| 275 | </tr> | ||
| 276 | |||
| 277 | </table> | ||
| 278 | </div> | ||
| 279 | </el-collapse-item> | ||
| 280 | <el-collapse-item title="国际舞" name="3"> | ||
| 281 | <div class="pd20"> | ||
| 282 | <table class="table"> | ||
| 283 | <tr> | ||
| 284 | <td>日期</td> | ||
| 285 | <td>单元</td> | ||
| 286 | <td>组别</td> | ||
| 287 | <td>时间</td> | ||
| 288 | <td>阶段</td> | ||
| 289 | </tr> | ||
| 290 | <tr> | ||
| 291 | <td rowspan="4">2023/10/6(星期五)</td> | ||
| 292 | <td rowspan="4">BRK01</td> | ||
| 293 | <td>男子</td> | ||
| 294 | <td>14:30 - 15:30</td> | ||
| 295 | <td>资格赛</td> | ||
| 296 | </tr> | ||
| 297 | <tr> | ||
| 298 | <td>女子</td> | ||
| 299 | <td>14:30 - 15:30</td> | ||
| 300 | <td>资格赛</td> | ||
| 301 | </tr> | ||
| 302 | <tr> | ||
| 303 | <td>男子</td> | ||
| 304 | <td>14:30 - 15:30</td> | ||
| 305 | <td>循环赛</td> | ||
| 306 | </tr> | ||
| 307 | <tr> | ||
| 308 | <td>女子</td> | ||
| 309 | <td>14:30 - 15:30</td> | ||
| 310 | <td>循环赛</td> | ||
| 311 | </tr> | ||
| 312 | <tr> | ||
| 313 | <td rowspan="8">2023/10/7(星期六)</td> | ||
| 314 | <td rowspan="8">BRK02</td> | ||
| 315 | <td>男子</td> | ||
| 316 | <td>14:30 - 15:30</td> | ||
| 317 | <td>四分之一决赛</td> | ||
| 318 | </tr> | ||
| 319 | <tr> | ||
| 320 | <td>男子</td> | ||
| 321 | <td>14:30 - 15:30</td> | ||
| 322 | <td>四分之一决赛</td> | ||
| 323 | </tr> | ||
| 324 | <tr> | ||
| 325 | <td>女子</td> | ||
| 326 | <td>14:30 - 15:30</td> | ||
| 327 | <td>半决赛</td> | ||
| 328 | </tr> | ||
| 329 | <tr> | ||
| 330 | <td>女子</td> | ||
| 331 | <td>14:30 - 15:30</td> | ||
| 332 | <td>半决赛</td> | ||
| 333 | </tr> | ||
| 334 | <tr> | ||
| 335 | <td>男子</td> | ||
| 336 | <td>14:30 - 15:30</td> | ||
| 337 | <td>季军赛</td> | ||
| 338 | </tr> | ||
| 339 | <tr> | ||
| 340 | <td>女子</td> | ||
| 341 | <td>14:30 - 15:30</td> | ||
| 342 | <td>季军赛</td> | ||
| 343 | </tr> | ||
| 344 | <tr> | ||
| 345 | <td>男子</td> | ||
| 346 | <td>14:30 - 15:30</td> | ||
| 347 | <td>决赛</td> | ||
| 348 | </tr> | ||
| 349 | <tr> | ||
| 350 | <td>女子</td> | ||
| 351 | <td>14:30 - 15:30</td> | ||
| 352 | <td>决赛</td> | ||
| 353 | </tr> | ||
| 354 | |||
| 355 | </table> | ||
| 356 | </div> | ||
| 357 | </el-collapse-item> | ||
| 358 | </el-collapse> | ||
| 359 | </div> | ||
| 360 | </div> | ||
| 361 | </el-card> | ||
| 362 | <div style="height: 20px"></div> | ||
| 363 | |||
| 364 | </el-col> | ||
| 365 | <el-col :lg="6"> | ||
| 366 | <a class="btn-lineG mb20" style="display: block;text-align: center;">我要报名</a> | ||
| 367 | <el-card :body-style="{padding: 0}"> | ||
| 368 | <el-tabs v-model="activeName2" class="match-tabs" @tab-click="handleClick"> | ||
| 369 | <el-tab-pane label="报名时间" name="first"> | ||
| 370 | <div class="gg"> | ||
| 371 | <p><label>报名时间:</label>2023-03-23至2023-05-09</p> | ||
| 372 | <p><label>比赛时间:</label>2023-05-14至2023-05-14</p> | ||
| 373 | <p><label>联系方式:</label>13915234567</p> | ||
| 374 | </div> | ||
| 375 | </el-tab-pane> | ||
| 376 | </el-tabs> | ||
| 377 | </el-card> | ||
| 378 | </el-col> | ||
| 379 | </el-row> | ||
| 380 | </div> | ||
| 381 | |||
| 382 | <el-dialog v-model="popupGroupList" title="请选择参赛队" width="600px"> | ||
| 383 | <div class="popList"> | ||
| 384 | <div v-for="(t,index) in groups" :key="index" class="teamItem" @click="getThisGroupId(t)"> | ||
| 385 | <el-avatar :size="60" :src="t.imgUrl" /> | ||
| 386 | <span class="name">{{ t.name }}({{ t.abreviations }})</span> | ||
| 387 | ({{ t.typeStr }}) | ||
| 388 | </div> | ||
| 389 | <el-button plain style="width: 100%;height: 50px;font-size:16px;" type="success" @click="goAddgroup()"> | ||
| 390 | <el-icon> | ||
| 391 | <Plus /> | ||
| 392 | </el-icon> | ||
| 393 | 新建参赛队 | ||
| 394 | </el-button> | ||
| 395 | </div> | ||
| 396 | </el-dialog> | ||
| 397 | |||
| 398 | |||
| 399 | </div> | ||
| 400 | </template> | ||
| 401 | |||
| 402 | <script setup> | ||
| 403 | import { getCurrentInstance, ref } from 'vue' | ||
| 404 | import { reactive, onMounted } from '@vue/runtime-core' | ||
| 405 | import { useRoute, useRouter } from 'vue-router' | ||
| 406 | |||
| 407 | const route = useRoute() | ||
| 408 | const router = useRouter() | ||
| 409 | const { proxy } = getCurrentInstance() | ||
| 410 | import * as match from '@/apiPc/match' | ||
| 411 | import { toRefs } from '@vueuse/shared' | ||
| 412 | import { ElMessage } from 'element-plus' | ||
| 413 | import groupDetail from '../center/component/teamInfo_form' | ||
| 414 | const activeName2 = ref('first') | ||
| 415 | |||
| 416 | </script> | ||
| 417 | |||
| 418 | <style scoped lang="scss"> | ||
| 419 | .indexTitle{margin: 20px 0 12px; | ||
| 420 | h3{ | ||
| 421 | font-size: 20px; | ||
| 422 | color:var(--el-color-primary); | ||
| 423 | } | ||
| 424 | } | ||
| 425 | .xzbox{border: 2px solid #DDECFB;padding: 20px;line-height: 2; | ||
| 426 | color: #29343C; | ||
| 427 | font-size: 16px;} | ||
| 428 | .dlbox{background: url("@/assets/dance/ds_bg.png") no-repeat left;background-size: 100% 100%; | ||
| 429 | padding: 0 0 20px;margin: 0 0 20px; | ||
| 430 | dl{height: 120px;margin: 0; | ||
| 431 | dt{ | ||
| 432 | height: 30px; | ||
| 433 | font-size: 16px;margin: 0 0 18px; | ||
| 434 | font-weight: 600;line-height: 30px;display: inline-block;padding:0 20px 0 14px; | ||
| 435 | background: linear-gradient(90deg, #8623FC, #453DEA); | ||
| 436 | border-radius: 0px 0px 15px 0px;color: #fff;} | ||
| 437 | } | ||
| 438 | dd{ | ||
| 439 | font-size: 14px;line-height: 1.6; | ||
| 440 | color: #29343C;} | ||
| 441 | } | ||
| 442 | .ppl{color: #29343C; | ||
| 443 | label{color: #929AA0;} | ||
| 444 | } | ||
| 445 | .bm1{background: url("@/assets/dance/bm1.png") no-repeat left;background-size: contain;padding-left: 24px;} | ||
| 446 | .bm2{background: url("@/assets/dance/bm2.png") no-repeat left;background-size: contain;padding-left: 24px;} | ||
| 447 | .bm3{background: url("@/assets/dance/bm3.png") no-repeat left;background-size: contain;padding-left: 24px;} | ||
| 448 | .bm4{background: url("@/assets/dance/bm4.png") no-repeat left;background-size: contain;padding-left: 24px;} | ||
| 449 | .app-container { | ||
| 450 | padding: 0; | ||
| 451 | background: #F5F7F9; | ||
| 452 | } | ||
| 453 | |||
| 454 | .countDownTitle { | ||
| 455 | text-align: center; | ||
| 456 | color: #525F6B; | ||
| 457 | position: relative; | ||
| 458 | width: 100%; | ||
| 459 | left: 0; | ||
| 460 | font-size: 14px; | ||
| 461 | } | ||
| 462 | |||
| 463 | .countDownTitle span { | ||
| 464 | background: #fff; | ||
| 465 | padding: 0 10px; | ||
| 466 | position: relative; | ||
| 467 | z-index: 1; | ||
| 468 | } | ||
| 469 | |||
| 470 | .countDownTitle::after { | ||
| 471 | position: absolute; | ||
| 472 | background: #ccc; | ||
| 473 | height: 1px; | ||
| 474 | content: ''; | ||
| 475 | top: 0; | ||
| 476 | bottom: 0; | ||
| 477 | margin: auto; | ||
| 478 | width: 100%; | ||
| 479 | left: 0; | ||
| 480 | } | ||
| 481 | |||
| 482 | .typeTag { | ||
| 483 | border-radius: 10px 10px 10px 0px; | ||
| 484 | padding: 2px 12px; | ||
| 485 | background: #FF8124; | ||
| 486 | font-size: 14px; | ||
| 487 | color: #fff; | ||
| 488 | } | ||
| 489 | |||
| 490 | .matchItem { | ||
| 491 | cursor: pointer; | ||
| 492 | margin-bottom: 40px; | ||
| 493 | height: 180px; | ||
| 494 | background: #FFFFFF; | ||
| 495 | position: relative; | ||
| 496 | border-radius: 10px; | ||
| 497 | |||
| 498 | .el-avatar { | ||
| 499 | position: absolute; | ||
| 500 | left: 20px; | ||
| 501 | top: 30px; | ||
| 502 | |||
| 503 | img { | ||
| 504 | background: #fff; | ||
| 505 | } | ||
| 506 | } | ||
| 507 | |||
| 508 | .info { | ||
| 509 | padding: 12px 0 0 140px; | ||
| 510 | |||
| 511 | p { | ||
| 512 | font-size: 14px; | ||
| 513 | } | ||
| 514 | } | ||
| 515 | |||
| 516 | .typeTag { | ||
| 517 | position: absolute; | ||
| 518 | right: 0; | ||
| 519 | top: 0; | ||
| 520 | } | ||
| 521 | |||
| 522 | h3 { | ||
| 523 | font-weight: 500; | ||
| 524 | font-size: 18px; | ||
| 525 | color: #000000; | ||
| 526 | text-overflow: ellipsis; | ||
| 527 | } | ||
| 528 | |||
| 529 | &:hover h3 { | ||
| 530 | font-weight: bold; | ||
| 531 | } | ||
| 532 | } | ||
| 533 | |||
| 534 | .el-pagination { | ||
| 535 | justify-content: center; | ||
| 536 | --el-pagination-bg-color: none; | ||
| 537 | } | ||
| 538 | |||
| 539 | .kind { | ||
| 540 | background: #fff; | ||
| 541 | margin: 0 0 30px; | ||
| 542 | |||
| 543 | ul { | ||
| 544 | list-style: none; | ||
| 545 | padding: 30px 0 10px; | ||
| 546 | |||
| 547 | li { | ||
| 548 | margin: 0 0 20px; | ||
| 549 | display: flex; | ||
| 550 | align-items: center; | ||
| 551 | } | ||
| 552 | } | ||
| 553 | } | ||
| 554 | |||
| 555 | .listTitle { | ||
| 556 | display: flex; | ||
| 557 | justify-content: space-between; | ||
| 558 | align-items: center; | ||
| 559 | } | ||
| 560 | |||
| 561 | .match-tabs { | ||
| 562 | background: #fff; | ||
| 563 | padding: 10px 20px 20px; | ||
| 564 | } | ||
| 565 | |||
| 566 | .teamItem { | ||
| 567 | height: 80px; | ||
| 568 | background: #FBFCFD; | ||
| 569 | border-radius: 10px; | ||
| 570 | margin: 10px 0; | ||
| 571 | display: flex; | ||
| 572 | align-items: center; | ||
| 573 | padding: 0 20px; | ||
| 574 | overflow: hidden; | ||
| 575 | text-overflow: ellipsis; | ||
| 576 | |||
| 577 | .el-avatar { | ||
| 578 | border: 1px solid #EEEEEE; | ||
| 579 | } | ||
| 580 | |||
| 581 | .name { | ||
| 582 | margin-left: 15px; | ||
| 583 | flex: 1; | ||
| 584 | font-size: 14px; | ||
| 585 | } | ||
| 586 | } | ||
| 587 | |||
| 588 | .grid-top { | ||
| 589 | background: #fff; | ||
| 590 | min-height: 300px; | ||
| 591 | padding: 28px 28px 10px; | ||
| 592 | border-radius: 10px; | ||
| 593 | margin: 30px auto; | ||
| 594 | position: relative; | ||
| 595 | |||
| 596 | .cover { | ||
| 597 | width: 420px; | ||
| 598 | height: 250px; | ||
| 599 | position: absolute; | ||
| 600 | border-radius: 10px; | ||
| 601 | background: #fff; | ||
| 602 | object-fit: cover; | ||
| 603 | } | ||
| 604 | |||
| 605 | .info { | ||
| 606 | padding-left: 440px; | ||
| 607 | |||
| 608 | h3 { | ||
| 609 | font-weight: 500; | ||
| 610 | color: #000000; | ||
| 611 | margin: 0 0 10px; | ||
| 612 | font-size: 24px; | ||
| 613 | img{margin-right: 10px} | ||
| 614 | .typeTag { | ||
| 615 | border-radius: 13px 13px 13px 0; | ||
| 616 | margin-left: 10px; | ||
| 617 | } | ||
| 618 | } | ||
| 619 | |||
| 620 | p { | ||
| 621 | color: #7B7F83; | ||
| 622 | font-size: 16px; | ||
| 623 | } | ||
| 624 | .countDownTitle{font-size: 14px;} | ||
| 625 | .el-button.el-button--primary { | ||
| 626 | background: #CA171D; | ||
| 627 | border: none; | ||
| 628 | } | ||
| 629 | } | ||
| 630 | } | ||
| 631 | |||
| 632 | .gg { | ||
| 633 | margin: 0 0 28px; | ||
| 634 | |||
| 635 | h3 {border-left: 2px solid #BA2E29; padding: 0 0 0 12px; | ||
| 636 | margin: 20px 0 8px; | ||
| 637 | font-weight: 500; | ||
| 638 | font-size: 16px; | ||
| 639 | } | ||
| 640 | |||
| 641 | p { | ||
| 642 | font-size: 16px; | ||
| 643 | color: #000; | ||
| 644 | margin: 0 0 8px; | ||
| 645 | line-height: 24px; | ||
| 646 | label{color: #7D8790;} | ||
| 647 | } | ||
| 648 | |||
| 649 | .pp { | ||
| 650 | border: 1px solid rgba(186, 46, 41, 0.3); | ||
| 651 | padding: 20px; | ||
| 652 | } | ||
| 653 | } | ||
| 654 | |||
| 655 | .van-count-down { | ||
| 656 | text-align: center; | ||
| 657 | margin: 20px 0; | ||
| 658 | } | ||
| 659 | |||
| 660 | .colon { | ||
| 661 | display: inline-block; | ||
| 662 | font-size: 16px; | ||
| 663 | margin: 0 8px; | ||
| 664 | color: #7B7F83; | ||
| 665 | } | ||
| 666 | |||
| 667 | .block { | ||
| 668 | display: inline-block; | ||
| 669 | width: 52px; | ||
| 670 | color: #fff; | ||
| 671 | font-size: 26px; | ||
| 672 | font-weight: bold; | ||
| 673 | border-radius: 10px; | ||
| 674 | background: url(@/assets/img/djs_bg.png) left; | ||
| 675 | background-size: 100% 100%; | ||
| 676 | line-height: 50px; | ||
| 677 | text-align: center; | ||
| 678 | } | ||
| 679 | |||
| 680 | |||
| 681 | .time-address { | ||
| 682 | font-size: 15px; | ||
| 683 | margin: 10px 0 0; | ||
| 684 | color: #999; | ||
| 685 | } | ||
| 686 | |||
| 687 | .popList .teamItem { | ||
| 688 | cursor: pointer; | ||
| 689 | } | ||
| 690 | |||
| 691 | .popList .teamItem:hover { | ||
| 692 | background: #e7e7e7; | ||
| 693 | } | ||
| 694 | |||
| 695 | .richContent { | ||
| 696 | overflow: hidden; | ||
| 697 | } | ||
| 698 | |||
| 699 | .richContent img { | ||
| 700 | max-width: 100%; | ||
| 701 | } | ||
| 702 | |||
| 703 | .red-center { | ||
| 704 | font-size: 24px; | ||
| 705 | text-align: center; | ||
| 706 | font-family: DIN Alternate; | ||
| 707 | padding: 30px 0; | ||
| 708 | font-weight: bold; | ||
| 709 | color: #E60012; | ||
| 710 | } | ||
| 711 | |||
| 712 | .plist { | ||
| 713 | dt { | ||
| 714 | font-size: 14px; | ||
| 715 | } | ||
| 716 | |||
| 717 | dd { | ||
| 718 | display: inline-block; | ||
| 719 | margin: 0 15px 0 0; | ||
| 720 | } | ||
| 721 | |||
| 722 | dd.t { | ||
| 723 | display: block; | ||
| 724 | margin: 15px 0 6px; | ||
| 725 | border-left: 3px solid #1ec886; | ||
| 726 | line-height: 1; | ||
| 727 | padding: 6px; | ||
| 728 | background: #f5f5f5; | ||
| 729 | } | ||
| 730 | |||
| 731 | li { | ||
| 732 | line-height: 40px; | ||
| 733 | display: flex; | ||
| 734 | justify-content: space-between; | ||
| 735 | padding: 0 20px; | ||
| 736 | align-items: center; | ||
| 737 | cursor: pointer; | ||
| 738 | } | ||
| 739 | |||
| 740 | li:hover { | ||
| 741 | background: #eee; | ||
| 742 | } | ||
| 743 | } | ||
| 744 | |||
| 745 | .pp .el-link { | ||
| 746 | margin-right: 15px; | ||
| 747 | font-size: 16px; | ||
| 748 | } | ||
| 749 | |||
| 750 | :deep(.el-collapse-item__header) { | ||
| 751 | font-weight: 500; | ||
| 752 | font-size: 16px; | ||
| 753 | } | ||
| 754 | |||
| 755 | .pobtns { | ||
| 756 | position: absolute; | ||
| 757 | right: 20px; | ||
| 758 | bottom: 20px; | ||
| 759 | } | ||
| 760 | |||
| 761 | :deep(.el-tabs__item) { | ||
| 762 | font-size: 16px; | ||
| 763 | } | ||
| 764 | |||
| 765 | .signButton { | ||
| 766 | margin: 0 0 20px; | ||
| 767 | |||
| 768 | button { | ||
| 769 | width: 90%;background: var(--el-color-primary); | ||
| 770 | font-size: 20px;margin: 30px auto 0;display: block; | ||
| 771 | height: 50px; | ||
| 772 | } | ||
| 773 | } | ||
| 774 | |||
| 775 | .el-timeline-item__timestamp.is-top { | ||
| 776 | font-size: 16px; | ||
| 777 | } | ||
| 778 | |||
| 779 | .el-timeline-item__content { | ||
| 780 | font-size: 16px; | ||
| 781 | margin: 10px 0 0; | ||
| 782 | } | ||
| 783 | |||
| 784 | .typeTag.blue { | ||
| 785 | background: #00a0e9; | ||
| 786 | } | ||
| 787 | |||
| 788 | .typeTag.green { | ||
| 789 | background: #34cf96; | ||
| 790 | } | ||
| 791 | |||
| 792 | :deep(.el-tabs__nav-wrap::after) { | ||
| 793 | height: 1px; | ||
| 794 | } | ||
| 795 | |||
| 796 | .table{width: 100%;border-left: 1px solid #e1e1e1;border-top:1px solid #e1e1e1; | ||
| 797 | th{background: #eee;padding: 6px 10px; | ||
| 798 | border-right: 1px solid #e1e1e1; | ||
| 799 | border-bottom:1px solid #e1e1e1; | ||
| 800 | font-size: 15px; | ||
| 801 | } | ||
| 802 | td{padding: 6px 10px;border-right: 1px solid #e1e1e1;font-size: 15px; | ||
| 803 | border-bottom:1px solid #e1e1e1;vertical-align: middle;text-align: center; | ||
| 804 | span{margin-right: 10px} | ||
| 805 | span::after{content: ','} | ||
| 806 | span:last-child::after{content: ''} | ||
| 807 | } | ||
| 808 | } | ||
| 809 | .flexLine{display: flex; | ||
| 810 | label{font-weight: normal} | ||
| 811 | } | ||
| 812 | |||
| 813 | .nowteamItem{ | ||
| 814 | height: 100px; | ||
| 815 | background: #FBFCFD; | ||
| 816 | border-radius: 10px; | ||
| 817 | margin: 20px 0; | ||
| 818 | display: flex; | ||
| 819 | align-items: center; | ||
| 820 | padding: 0 20px; | ||
| 821 | overflow: hidden; | ||
| 822 | text-overflow: ellipsis; | ||
| 823 | .el-avatar {margin: 0 20px} | ||
| 824 | .info{ | ||
| 825 | h3{margin: 0 0 15px;} | ||
| 826 | p{margin: 0;color: #1ab394} | ||
| 827 | } | ||
| 828 | .rr{text-align: right; flex: 1; | ||
| 829 | span{color: #1ab394} | ||
| 830 | } | ||
| 831 | } | ||
| 832 | |||
| 833 | .collapsebox{ | ||
| 834 | .el-collapse-item{margin-bottom: 15px;--el-collapse-content-bg-color:#F4F9FE; | ||
| 835 | border: 2px solid #DDECFB; | ||
| 836 | .table{background: #fff;} | ||
| 837 | } | ||
| 838 | .is-active{--el-collapse-header-bg-color:#F4F9FE} | ||
| 839 | :deep(.el-collapse-item__header){padding: 0 20px;} | ||
| 840 | } | ||
| 841 | .funcBtns{display: flex; justify-content: space-around; | ||
| 842 | div{text-align: center;background: #F7FAFF;box-shadow:0 0 10px #d4cae4; | ||
| 843 | border-radius: 15px;padding: 0px 10px 5px; | ||
| 844 | img{} | ||
| 845 | h4{margin: 0;font-size: 16px;} | ||
| 846 | } | ||
| 847 | } | ||
| 848 | .table{white-space: nowrap} | ||
| 849 | @media (max-width: 800px) { | ||
| 850 | .van-count-down{ | ||
| 851 | .block{margin: 0 10px;} | ||
| 852 | } | ||
| 853 | .colon{display: none;} | ||
| 854 | .funcBtns{ | ||
| 855 | div{padding: 0 0 10px; | ||
| 856 | margin: 0 5px; | ||
| 857 | |||
| 858 | } | ||
| 859 | } | ||
| 860 | } | ||
| 861 | </style> |
| ... | @@ -9,19 +9,21 @@ | ... | @@ -9,19 +9,21 @@ |
| 9 | <div v-if="isLogin"> | 9 | <div v-if="isLogin"> |
| 10 | <group-info-row v-if="groupId" :group-id="groupId"/> | 10 | <group-info-row v-if="groupId" :group-id="groupId"/> |
| 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 | <div class="pd20"> | 12 | <div class="pd20" v-if="signInfoList?.length>0"> |
| 13 | <div class="leftboderTT">{{ language == 0 ? '参赛人员保险费' : 'Participant Insurance Fee' }}</div> | 13 | <div class="leftboderTT">{{ language == 0 ? '参赛人员保险费' : 'Participant Insurance Fee' }}</div> |
| 14 | <!-- 人员列表--> | 14 | <!-- 人员列表--> |
| 15 | <sign-info-table class="mt20" v-if="matchId" :match-id="matchId" :list="signInfoList" :hasAction="false"/> | 15 | <sign-info-table class="mt20" v-if="matchId" :match-id="matchId" :list="signInfoList" :hasAction="false"/> |
| 16 | </div> | 16 | </div> |
| 17 | <div class="pd20"> | 17 | <div class="pd20" v-if="zuTableList?.length>0"> |
| 18 | <div class="leftboderTT">{{ language == 0 ? '参赛设项报名费' : 'Registration Fee for Event Entry' }}</div> | 18 | <div class="leftboderTT">{{ language == 0 ? '参赛设项报名费' : 'Registration Fee for Event Entry' }}</div> |
| 19 | <zu-table class="mt20" :list="zuTableList" :hasAction="false"/> | 19 | <zu-table class="mt20" :list="zuTableList" :hasAction="false"/> |
| 20 | </div> | 20 | </div> |
| 21 | </div> | 21 | </div> |
| 22 | <div v-else class="pd20 skeletonBox"> | 22 | <div v-else class="pd20 skeletonBox"> |
| 23 | <el-skeleton :rows="8"/> | 23 | <el-skeleton :rows="8"/> |
| 24 | <el-button type="primary" class="w200px btn-lineG" round @click="showLogin">登录后查看详细报项信息</el-button> | 24 | <el-button type="primary" class="w200px btn-lineG" round @click="showLogin"> |
| 25 | {{ language == 0 ?'登录后查看详细报项信息':'View detailed report information after logging in' }} | ||
| 26 | </el-button> | ||
| 25 | </div> | 27 | </div> |
| 26 | </el-card> | 28 | </el-card> |
| 27 | 29 | ||
| ... | @@ -146,13 +148,13 @@ | ... | @@ -146,13 +148,13 @@ |
| 146 | <th>{{ language==0?'付款金额':'Payment Amount' }}</th> | 148 | <th>{{ language==0?'付款金额':'Payment Amount' }}</th> |
| 147 | <td> | 149 | <td> |
| 148 | ¥{{ totalFee }} | 150 | ¥{{ totalFee }} |
| 149 | <div class="text-gray">请按照指定金额进行打款</div> | 151 | <div class="text-gray">{{ language==0?'请按照指定金额进行打款':'Please make the payment according to the specified amount' }}</div> |
| 150 | </td> | 152 | </td> |
| 151 | </tr> | 153 | </tr> |
| 152 | <tr> | 154 | <tr> |
| 153 | <th>{{ language==0?'收款账号':`Receiver's Account Number` }}</th> | 155 | <th>{{ language==0?'收款账号':`Receiver's Account Number` }}</th> |
| 154 | <td> | 156 | <td> |
| 155 | {{ form.orgBankAccountNum }} | 157 | {{ form.payInformation?.receivingAccount }} |
| 156 | <span v-if="language==0" class="text-primary size12">复制25位账号</span> | 158 | <span v-if="language==0" class="text-primary size12">复制25位账号</span> |
| 157 | <span v-else class="text-primary size12">Copy 25-digit Account Number</span> | 159 | <span v-else class="text-primary size12">Copy 25-digit Account Number</span> |
| 158 | <div v-if="language==0" class="text-gray">请勿重复打款</div> | 160 | <div v-if="language==0" class="text-gray">请勿重复打款</div> |
| ... | @@ -161,37 +163,32 @@ | ... | @@ -161,37 +163,32 @@ |
| 161 | </tr> | 163 | </tr> |
| 162 | <tr> | 164 | <tr> |
| 163 | <th>{{ language==0?'收款公司名':'Name of the Payee Company' }}</th> | 165 | <th>{{ language==0?'收款公司名':'Name of the Payee Company' }}</th> |
| 164 | <td>{{ form.orgBankAccount }}</td> | 166 | <td>{{ form.payInformation?.receivingCompany }}</td> |
| 165 | </tr> | 167 | </tr> |
| 166 | <tr> | 168 | <tr> |
| 167 | <th>{{ language==0?'开户银行':'Bank Name' }}</th> | 169 | <th>{{ language==0?'开户银行':'Bank Name' }}</th> |
| 168 | <td>{{ form.orgBankName }}</td> | 170 | <td>{{ form.payInformation?.openingBank }}</td> |
| 169 | </tr> | 171 | </tr> |
| 170 | <tr> | 172 | <tr> |
| 171 | <th>{{ language==0?'备注信息':'Remarks' }}</th> | 173 | <th>{{ language==0?'备注信息':'Remarks' }}</th> |
| 172 | <td> | 174 | <td> |
| 173 | 体育舞蹈报名费保险费 | 175 | {{ form.payInformation?.remarks }} |
| 174 | </td> | 176 | </td> |
| 175 | </tr> | 177 | </tr> |
| 176 | <tr> | 178 | <tr> |
| 177 | <th>{{ language==0?'联系人':'Contacts' }}</th> | 179 | <th>{{ language==0?'联系人':'Contacts' }}</th> |
| 178 | <td> | 180 | <td> |
| 179 | 张译文 | 181 | {{ form.payInformation?.contacts }} |
| 180 | </td> | 182 | </td> |
| 181 | </tr> | 183 | </tr> |
| 182 | <tr> | 184 | <tr> |
| 183 | <th>{{ language==0?'联系电话':'Telephone' }}</th> | 185 | <th>{{ language==0?'联系电话':'Telephone' }}</th> |
| 184 | <td>16882846767</td> | 186 | <td>{{ form.payInformation?.contactPhone }}</td> |
| 185 | </tr> | 187 | </tr> |
| 186 | <tr> | 188 | <tr> |
| 187 | <th>{{ language==0?'操作':'Actions' }}</th> | 189 | <th>{{ language==0?'操作':'Actions' }}</th> |
| 188 | <td> | 190 | <td> |
| 189 | <el-link class="mr10" type="primary"> | 191 | <file-upload :limit="1" v-model="voucherObj" :button-type="1" :is-show-tip="false" :button-text="language==0?'上传汇款单':'Upload Remittance Receipt'"/> |
| 190 | <el-icon> | ||
| 191 | <Upload/> | ||
| 192 | </el-icon> | ||
| 193 | {{ language==0?'上传汇款单':'Upload Remittance Receipt' }} | ||
| 194 | </el-link> | ||
| 195 | <span v-if="language==0" class="text-danger size12">*您可以在上传汇款单完成后,与联系人进行电话确认。具体缴费结果,可以在个人中心-我的报名中查看进度</span> | 192 | <span v-if="language==0" class="text-danger size12">*您可以在上传汇款单完成后,与联系人进行电话确认。具体缴费结果,可以在个人中心-我的报名中查看进度</span> |
| 196 | <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> | 193 | <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> |
| 197 | </td> | 194 | </td> |
| ... | @@ -199,7 +196,7 @@ | ... | @@ -199,7 +196,7 @@ |
| 199 | </table> | 196 | </table> |
| 200 | 197 | ||
| 201 | <div class="text-center"> | 198 | <div class="text-center"> |
| 202 | <el-button type="primary" round class="btn-lineG w200px">保存</el-button> | 199 | <el-button type="primary" @click="upRR" round class="btn-lineG w200px">{{ language==0?'保存':'Save' }}</el-button> |
| 203 | </div> | 200 | </div> |
| 204 | </div> | 201 | </div> |
| 205 | <div class="text-center mt20" v-else> | 202 | <div class="text-center mt20" v-else> |
| ... | @@ -217,14 +214,25 @@ | ... | @@ -217,14 +214,25 @@ |
| 217 | <h3 class="wePrice">¥{{form.totalFee}}</h3> | 214 | <h3 class="wePrice">¥{{form.totalFee}}</h3> |
| 218 | </div> | 215 | </div> |
| 219 | </el-card> | 216 | </el-card> |
| 217 | <el-card class="mb60" v-if="form.payStatus == '1' && form.curPayType=='2'"> | ||
| 218 | <!-- 线下支付待核销--> | ||
| 219 | <div class="text-center"> | ||
| 220 | <el-icon color="#32B16C" size="80"><SuccessFilled /></el-icon> | ||
| 221 | <p class="text-success">{{ language==0?'支付成功':'successful!' }}</p> | ||
| 222 | <h3 class="wePrice">¥{{form.totalFee}}</h3> | ||
| 223 | <span v-if="language==0" class="text-danger size12">*您可以在上传汇款单完成后,与联系人进行电话确认。具体缴费结果,可以在个人中心-我的报名中查看进度</span> | ||
| 224 | <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> | ||
| 225 | |||
| 226 | </div> | ||
| 227 | </el-card> | ||
| 220 | </div> | 228 | </div> |
| 221 | 229 | ||
| 222 | 230 | ||
| 223 | <div class="box" v-if="errorBox"> | 231 | <div class="box" v-if="errorBox"> |
| 224 | <el-result | 232 | <el-result |
| 225 | icon="error" | 233 | icon="error" |
| 226 | title="未找到对应订单" | 234 | :title="language==0?'未找到对应订单':'No corresponding order found'" |
| 227 | sub-title="请确认订单号是否正确" | 235 | :sub-title="language==0?'请确认订单号是否正确':'Please confirm if the order number is correct'" |
| 228 | > | 236 | > |
| 229 | <template #extra> | 237 | <template #extra> |
| 230 | <el-button type="primary" @click="goHome" class="btn-lineG w200px" round>{{ language==0?'返回首页':'Home' }}</el-button> | 238 | <el-button type="primary" @click="goHome" class="btn-lineG w200px" round>{{ language==0?'返回首页':'Home' }}</el-button> |
| ... | @@ -256,6 +264,8 @@ import CoachInfoRow from "@/viewsPc/match/components/coachInfo-row"; | ... | @@ -256,6 +264,8 @@ import CoachInfoRow from "@/viewsPc/match/components/coachInfo-row"; |
| 256 | import SignInfoTable from "@/viewsPc/match/components/signInfo-table" | 264 | import SignInfoTable from "@/viewsPc/match/components/signInfo-table" |
| 257 | import ZuTable from "@/viewsPc/match/components/zu-table"; | 265 | import ZuTable from "@/viewsPc/match/components/zu-table"; |
| 258 | import useUserStore from "@/store/modules/user"; | 266 | import useUserStore from "@/store/modules/user"; |
| 267 | import FileUpload from "@/components/FileUpload"; | ||
| 268 | import {upReceipt} from "@/apiPc/match"; | ||
| 259 | const isLogin = ref(false) | 269 | const isLogin = ref(false) |
| 260 | const language = ref(cache.local.get('language') || 0) | 270 | const language = ref(cache.local.get('language') || 0) |
| 261 | const signInfoList = ref([]) | 271 | const signInfoList = ref([]) |
| ... | @@ -263,6 +273,10 @@ const zuTableList = ref([]) | ... | @@ -263,6 +273,10 @@ const zuTableList = ref([]) |
| 263 | const totalFee = ref('') | 273 | const totalFee = ref('') |
| 264 | const wePayCodeUrl = ref('') | 274 | const wePayCodeUrl = ref('') |
| 265 | const form = ref({}) | 275 | const form = ref({}) |
| 276 | const voucherObj = ref({}) | ||
| 277 | const upForm = ref({ | ||
| 278 | orderId:orderId.value | ||
| 279 | }) | ||
| 266 | const errorBox = ref(false) | 280 | const errorBox = ref(false) |
| 267 | const hideconfirmbtn = ref(false) | 281 | const hideconfirmbtn = ref(false) |
| 268 | console.log(route.query.orderId) | 282 | console.log(route.query.orderId) |
| ... | @@ -285,7 +299,12 @@ function getData() { | ... | @@ -285,7 +299,12 @@ function getData() { |
| 285 | errorBox.value = true | 299 | errorBox.value = true |
| 286 | }) | 300 | }) |
| 287 | } | 301 | } |
| 288 | 302 | function upRR() { | |
| 303 | upForm.value.voucher = voucherObj.value[0].url | ||
| 304 | match.upReceipt(upForm.value).then(res=>{ | ||
| 305 | getData() | ||
| 306 | }) | ||
| 307 | } | ||
| 289 | function getSignList() { | 308 | function getSignList() { |
| 290 | match.getMySignInfoList({ | 309 | match.getMySignInfoList({ |
| 291 | cptId: matchId.value, | 310 | cptId: matchId.value, |
| ... | @@ -300,6 +319,7 @@ function goHome() { | ... | @@ -300,6 +319,7 @@ function goHome() { |
| 300 | } | 319 | } |
| 301 | function changePaytype() { | 320 | function changePaytype() { |
| 302 | hideconfirmbtn.value = false | 321 | hideconfirmbtn.value = false |
| 322 | wePayCodeUrl.value = '' | ||
| 303 | if(handle) { | 323 | if(handle) { |
| 304 | clearTimeout(handle) | 324 | clearTimeout(handle) |
| 305 | handle=null | 325 | handle=null | ... | ... |
| ... | @@ -10,7 +10,7 @@ | ... | @@ -10,7 +10,7 @@ |
| 10 | </div> | 10 | </div> |
| 11 | </div> | 11 | </div> |
| 12 | <div class="text-center mt30 mb20"> | 12 | <div class="text-center mt30 mb20"> |
| 13 | <el-button class="primary-kx w200px" round @click="goHome">{{ language == 0 ? '返回首页' : 'Homepage' }}</el-button> | 13 | <el-button class="primary-kx w200px" round @click="goHome">{{ language == 0 ? '返回首页' : 'Return to Homepage' }}</el-button> |
| 14 | <el-button type="primary" class="btn-lineG w200px" round @click="goSign">{{ language == 0 ? '去报名' : 'Sign Up' }}</el-button> | 14 | <el-button type="primary" class="btn-lineG w200px" round @click="goSign">{{ language == 0 ? '去报名' : 'Sign Up' }}</el-button> |
| 15 | </div> | 15 | </div> |
| 16 | </el-card> | 16 | </el-card> | ... | ... |
-
Please register or sign in to post a comment