no message
Showing
19 changed files
with
234 additions
and
124 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,32 +124,58 @@ | ... | @@ -124,32 +124,58 @@ |
| 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"> | 132 | <el-table stripe :data="rankList"> |
| 133 | <el-tab-pane v-for="(p,index) in rankTabs" :label="p.name" :name="index"> | 133 | <el-table-column label="Ranking" align="center" width="80" type="index"> |
| 134 | <el-table stripe :data="rankList"> | 134 | <template #default="scope"> |
| 135 | <el-table-column label="Ranking" align="center" width="100" type="index"> | 135 | <span v-if="scope.row.index == 1" style="color:#F8A617">{{ scope.row.index }}</span> |
| 136 | <template #default="scope"> | 136 | <span v-else-if="scope.row.index == 2" style="color:#778B92">{{ scope.row.index }}</span> |
| 137 | <span v-if="scope.row.index == 1" style="color:#F8A617">{{ scope.row.index }}</span> | 137 | <span v-else-if="scope.row.index == 3" style="color:#7F2D00">{{ scope.row.index }}</span> |
| 138 | <span v-else-if="scope.row.index == 2" style="color:#778B92">{{ scope.row.index }}</span> | 138 | <span v-else>{{ scope.row.index }}</span> |
| 139 | <span v-else-if="scope.row.index == 3" style="color:#7F2D00">{{ scope.row.index }}</span> | 139 | </template> |
| 140 | <span v-else>{{ scope.row.index }}</span> | 140 | </el-table-column> |
| 141 | </template> | 141 | <el-table-column label="Country/Region" prop="name" min-width="100" align="center"> |
| 142 | </el-table-column> | 142 | <template #default="scope"> |
| 143 | <el-table-column label="Name" prop="name" /> | 143 | <div> |
| 144 | <el-table-column label="Country" prop="gj" /> | 144 | <span :class="`flag-icon flag-icon-${scope.row.code}`"></span> |
| 145 | <el-table-column label="Score" align="center"> | 145 | {{ scope.row.gj }}</div> |
| 146 | <template #default="scope"> | 146 | </template> |
| 147 | <div class="text-primary">{{ scope.row.score }}</div> | 147 | </el-table-column> |
| 148 | </template> | 148 | <el-table-column prop="score"> |
| 149 | </el-table-column> | 149 | <template #header> |
| 150 | </el-table> | 150 | <img src="@/assets/dance/1.png"> |
| 151 | </el-tab-pane> | 151 | </template> |
| 152 | </el-tabs> | 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"> | ||
| 173 | <template #default="scope"> | ||
| 174 | <div class="text-primary">{{ scope.row.score }}</div> | ||
| 175 | </template> | ||
| 176 | </el-table-column> | ||
| 177 | </el-table> | ||
| 178 | |||
| 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
This diff is collapsed.
Click to expand it.
| ... | @@ -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