高中生报名
Showing
2 changed files
with
52 additions
and
54 deletions
| ... | @@ -720,29 +720,23 @@ const goPersonInfo = (row) => { | ... | @@ -720,29 +720,23 @@ const goPersonInfo = (row) => { |
| 720 | const flag2=row.signInfo.some(val=>val.cptProjectName.indexOf('高中')>-1) | 720 | const flag2=row.signInfo.some(val=>val.cptProjectName.indexOf('高中')>-1) |
| 721 | const participantsInfoArr=_.cloneDeep(extraform.value) | 721 | const participantsInfoArr=_.cloneDeep(extraform.value) |
| 722 | 722 | ||
| 723 | if (flag){ | 723 | for (const val of participantsInfoArr) { |
| 724 | for (const val of participantsInfoArr) { | 724 | if (flag){ |
| 725 | if(val.name.indexOf('学生证')>-1||val.name.indexOf('毕业证')>-1){ | 725 | if(val.name.indexOf('学生证')>-1||val.name.indexOf('毕业证')>-1){ |
| 726 | val.status=0 | 726 | val.status=0 |
| 727 | }else{ | ||
| 728 | val.status=1 | ||
| 729 | } | 727 | } |
| 730 | } | 728 | } |
| 731 | } | 729 | if (flag2){ |
| 732 | if (flag2){ | ||
| 733 | for (const val of participantsInfoArr) { | ||
| 734 | if(val.name.indexOf('学生证')>-1){ | 730 | if(val.name.indexOf('学生证')>-1){ |
| 735 | val.status=0 | 731 | val.status=0 |
| 736 | }else{ | ||
| 737 | val.status=1 | ||
| 738 | } | 732 | } |
| 739 | } | 733 | } |
| 740 | } | 734 | } |
| 741 | debugger | 735 | |
| 742 | const params = { | 736 | const params = { |
| 743 | matchId: matchId.value, | 737 | matchId: matchId.value, |
| 744 | title: language.value == 0 ? '完善补充信息' : 'Complete the supplementary information', | 738 | title: language.value == 0 ? '完善补充信息' : 'Complete the supplementary information', |
| 745 | participantsInfoArr: flag||flag2?participantsInfoArr: extraform.value, | 739 | participantsInfoArr: flag||flag2?participantsInfoArr: _.cloneDeep(extraform.value), |
| 746 | personId: row.personInfo.id, | 740 | personId: row.personInfo.id, |
| 747 | extraId: row.extraPersonInfo?.id || 0, | 741 | extraId: row.extraPersonInfo?.id || 0, |
| 748 | isNational: isNational.value | 742 | isNational: isNational.value | ... | ... |
| ... | @@ -4,46 +4,46 @@ | ... | @@ -4,46 +4,46 @@ |
| 4 | </div> | 4 | </div> |
| 5 | <!-- 参赛人员清单--> | 5 | <!-- 参赛人员清单--> |
| 6 | <el-table v-loading="loading" :data="list" :sum-text="sumText" border style="width: 100%"> | 6 | <el-table v-loading="loading" :data="list" :sum-text="sumText" border style="width: 100%"> |
| 7 | <el-table-column :label="language==0?'序号':'Index'" align="center" type="index" width="70" /> | 7 | <el-table-column :label="language==0?'序号':'Index'" align="center" type="index" width="70"/> |
| 8 | <el-table-column | 8 | <el-table-column |
| 9 | v-if="!isNational" :label="language==0?'姓名':'Real Name'" align="center" | 9 | v-if="!isNational" :label="language==0?'姓名':'Real Name'" align="center" |
| 10 | min-width="100" prop="personInfo.realName" | 10 | min-width="100" prop="personInfo.realName" |
| 11 | /> | 11 | /> |
| 12 | <el-table-column v-if="isNational" :label="language==0?'姓氏':'Surname'" min-width="100" prop="personInfo.xing" /> | 12 | <el-table-column v-if="isNational" :label="language==0?'姓氏':'Surname'" min-width="100" prop="personInfo.xing"/> |
| 13 | <el-table-column v-if="isNational" :label="language==0?'名':'Name'" min-width="100" prop="personInfo.ming" /> | 13 | <el-table-column v-if="isNational" :label="language==0?'名':'Name'" min-width="100" prop="personInfo.ming"/> |
| 14 | <el-table-column | 14 | <el-table-column |
| 15 | :label="language==0?'所属国家/地区':'Country'" align="center" header-align="center" | 15 | :label="language==0?'所属国家/地区':'Country'" align="center" header-align="center" |
| 16 | min-width="120" | 16 | min-width="120" |
| 17 | > | 17 | > |
| 18 | <template #default="scope"> | 18 | <template #default="scope"> |
| 19 | <span v-if="scope.row.personInfo.countryName">{{ scope.row.personInfo.countryName }}</span> | 19 | <span v-if="scope.row.personInfo.countryName">{{ scope.row.personInfo.countryName }}</span> |
| 20 | <span v-if="scope.row.personInfo.representing">{{ scope.row.personInfo.representing }}</span> | 20 | <span v-if="scope.row.personInfo.representing">{{ scope.row.personInfo.representing }}</span> |
| 21 | </template> | 21 | </template> |
| 22 | </el-table-column> | 22 | </el-table-column> |
| 23 | <el-table-column :label="language==0?'性别':'Gender'" align="center" prop="personInfo.sexStr" /> | 23 | <el-table-column :label="language==0?'性别':'Gender'" align="center" prop="personInfo.sexStr"/> |
| 24 | <el-table-column | 24 | <el-table-column |
| 25 | v-if="!isNational" :label="language==0?'证件类型':'ID Type'" :width="language==0?'':'140'" | 25 | v-if="!isNational" :label="language==0?'证件类型':'ID Type'" :width="language==0?'':'140'" |
| 26 | align="center" header-align="center" prop="personInfo.idcTypeStr" | 26 | align="center" header-align="center" prop="personInfo.idcTypeStr" |
| 27 | /> | 27 | /> |
| 28 | <el-table-column | 28 | <el-table-column |
| 29 | v-if="!isNational" :label="language==0?'证件号码':'ID NO.'" header-align="center" prop="personInfo.idcCode" | 29 | v-if="!isNational" :label="language==0?'证件号码':'ID NO.'" header-align="center" prop="personInfo.idcCode" |
| 30 | width="200" | 30 | width="200" |
| 31 | /> | 31 | /> |
| 32 | <el-table-column | 32 | <el-table-column |
| 33 | v-if="isNational" :label="language==0?'WDSF 会员号':'WDSF MIN'" header-align="center" | 33 | v-if="isNational" :label="language==0?'WDSF 会员号':'WDSF MIN'" header-align="center" |
| 34 | prop="personInfo.wdsfMin" width="200" | 34 | prop="personInfo.wdsfMin" width="200" |
| 35 | /> | 35 | /> |
| 36 | <el-table-column | 36 | <el-table-column |
| 37 | v-if="!isNational" :label="language==0?'出生日期':'Date of Birth'" align="center" | 37 | v-if="!isNational" :label="language==0?'出生日期':'Date of Birth'" align="center" |
| 38 | header-align="center" prop="personInfo.birth" width="130" | 38 | header-align="center" prop="personInfo.birth" width="130" |
| 39 | /> | 39 | /> |
| 40 | <el-table-column | 40 | <el-table-column |
| 41 | v-if="isNational" :label="language==0?'年龄组':'Age group'" header-align="center" prop="personInfo.ageGroup" | 41 | v-if="isNational" :label="language==0?'年龄组':'Age group'" header-align="center" prop="personInfo.ageGroup" |
| 42 | width="110" | 42 | width="110" |
| 43 | /> | 43 | /> |
| 44 | <el-table-column | 44 | <el-table-column |
| 45 | v-if="isNational" :label="language==0?'舞种':'Division'" header-align="center" prop="personInfo.division" | 45 | v-if="isNational" :label="language==0?'舞种':'Division'" header-align="center" prop="personInfo.division" |
| 46 | width="110" | 46 | width="110" |
| 47 | /> | 47 | /> |
| 48 | <!-- <el-table-column :label="language==0?'会员角色':'Role'" width="150">--> | 48 | <!-- <el-table-column :label="language==0?'会员角色':'Role'" width="150">--> |
| 49 | <!-- <template #default="scope">--> | 49 | <!-- <template #default="scope">--> |
| ... | @@ -62,8 +62,8 @@ | ... | @@ -62,8 +62,8 @@ |
| 62 | <!-- </el-table-column>--> | 62 | <!-- </el-table-column>--> |
| 63 | <!-- <el-table-column :label="language==0?'详细地址':'Detailed Address'" prop="personInfo.address" min-width="140"/>--> | 63 | <!-- <el-table-column :label="language==0?'详细地址':'Detailed Address'" prop="personInfo.address" min-width="140"/>--> |
| 64 | <el-table-column | 64 | <el-table-column |
| 65 | :fixed="hasAction?false:'right'" :label="language==0?'报项':'REGISTERED COMPETITION'" header-align="center" | 65 | :fixed="hasAction?false:'right'" :label="language==0?'报项':'REGISTERED COMPETITION'" header-align="center" |
| 66 | min-width="300" | 66 | min-width="300" |
| 67 | > | 67 | > |
| 68 | <template #default="props"> | 68 | <template #default="props"> |
| 69 | <ol> | 69 | <ol> |
| ... | @@ -80,9 +80,9 @@ | ... | @@ -80,9 +80,9 @@ |
| 80 | </template> | 80 | </template> |
| 81 | </el-table-column> | 81 | </el-table-column> |
| 82 | <el-table-column | 82 | <el-table-column |
| 83 | v-if="showSummary" | 83 | v-if="showSummary" |
| 84 | :fixed="hasAction?false:'right'" :label="language==0?'保险费':'Premium'" align="center" | 84 | :fixed="hasAction?false:'right'" :label="language==0?'保险费':'Premium'" align="center" |
| 85 | min-width="100" prop="insuranceFee" | 85 | min-width="100" prop="insuranceFee" |
| 86 | > | 86 | > |
| 87 | <template #default="scope"> | 87 | <template #default="scope"> |
| 88 | <span class="text-primary">{{ language == 0 ? '¥' : '€' }}{{ scope.row.insuranceFee }}</span> | 88 | <span class="text-primary">{{ language == 0 ? '¥' : '€' }}{{ scope.row.insuranceFee }}</span> |
| ... | @@ -92,26 +92,27 @@ | ... | @@ -92,26 +92,27 @@ |
| 92 | <el-table-column v-for="(e,index) in extraTableHead" :key="index" :label="e" align="center" min-width="110"> | 92 | <el-table-column v-for="(e,index) in extraTableHead" :key="index" :label="e" align="center" min-width="110"> |
| 93 | <template #default="scope"> | 93 | <template #default="scope"> |
| 94 | <el-link | 94 | <el-link |
| 95 | v-if="scope.row.signInfo[0].extraPersonInfoMapList[index]?.type=='2'" | 95 | v-if="scope.row.signInfo[0].extraPersonInfoMapList[index]?.type=='2'" |
| 96 | :href="fillImgUrl(scope.row.signInfo[0].extraPersonInfoMapList[index]?.value?.url)" | 96 | :href="fillImgUrl(scope.row.signInfo[0].extraPersonInfoMapList[index]?.value?.url)" |
| 97 | target="_blank" | 97 | target="_blank" |
| 98 | > | 98 | > |
| 99 | <span class="text-primary">{{ scope.row.signInfo[0].extraPersonInfoMapList[index]?.value?.name }}</span> | 99 | <span class="text-primary">{{ scope.row.signInfo[0].extraPersonInfoMapList[index]?.value?.name }}</span> |
| 100 | </el-link> | 100 | </el-link> |
| 101 | <img | 101 | <img |
| 102 | v-else-if="scope.row.signInfo[0].extraPersonInfoMapList[index]?.type=='3'" | 102 | v-else-if="scope.row.signInfo[0].extraPersonInfoMapList[index]?.type=='3'" |
| 103 | :src="fillImgUrl(scope.row.signInfo[0].extraPersonInfoMapList[index]?.value?.url||scope.row.signInfo[0]?.extraPersonInfoMapList[index]?.value)" | 103 | :src="fillImgUrl(scope.row.signInfo[0].extraPersonInfoMapList[index]?.value?.url||scope.row.signInfo[0]?.extraPersonInfoMapList[index]?.value)" |
| 104 | style="width: 50px;" | 104 | style="width: 50px;" |
| 105 | > | 105 | > |
| 106 | <span v-else>{{ scope.row.signInfo[0].extraPersonInfoMapList[index]?.value }}</span> | 106 | <span v-else>{{ scope.row.signInfo[0].extraPersonInfoMapList[index]?.value }}</span> |
| 107 | </template> | 107 | </template> |
| 108 | </el-table-column> | 108 | </el-table-column> |
| 109 | <el-table-column v-if="hasAction" :label="language==0?'操作':'Actions'" align="center" fixed="right" width="150"> | 109 | <el-table-column v-if="hasAction" :label="language==0?'操作':'Actions'" align="center" fixed="right" width="150"> |
| 110 | <template #default="scope"> | 110 | <template #default="scope"> |
| 111 | <el-button v-if="extraform&&extraform.length>0&&handelRules(scope.row)" link type="primary" @click="goPersonInfo(scope.row)"> | 111 | <el-button v-if="extraform&&extraform.length>0&&handelRules(scope.row)" link type="primary" |
| 112 | <span v-if="scope.row.extraPersonInfo">{{ language == 0 ? '修改' : 'Edit' }}</span> | 112 | @click="goPersonInfo(scope.row)"> |
| 113 | <span v-else class="red">{{ language == 0 ? '完善补充信息' : 'Additional Information' }}</span> | 113 | <span v-if="scope.row.extraPersonInfo">{{ language == 0 ? '修改' : 'Edit' }}</span> |
| 114 | </el-button> | 114 | <span v-else class="red">{{ language == 0 ? '完善补充信息' : 'Additional Information' }}</span> |
| 115 | </el-button> | ||
| 115 | </template> | 116 | </template> |
| 116 | </el-table-column> | 117 | </el-table-column> |
| 117 | </el-table> | 118 | </el-table> |
| ... | @@ -120,11 +121,11 @@ | ... | @@ -120,11 +121,11 @@ |
| 120 | <div style="display: inline-block"> | 121 | <div style="display: inline-block"> |
| 121 | {{ language == 0 ? '总人数' : 'Count' }}: <span class="mr20">{{ list.length }}</span> | 122 | {{ language == 0 ? '总人数' : 'Count' }}: <span class="mr20">{{ list.length }}</span> |
| 122 | </div> | 123 | </div> |
| 123 | 124 | ||
| 124 | <div v-if="showSummary" style="display: inline-block"> | 125 | <div v-if="showSummary" style="display: inline-block"> |
| 125 | {{ language == 0 ? '金额小计' : 'Amount' }}: <span>{{ language == 0 ? '¥' : '€' }}{{ total }}</span> | 126 | {{ language == 0 ? '金额小计' : 'Amount' }}: <span>{{ language == 0 ? '¥' : '€' }}{{ total }}</span> |
| 126 | </div> | 127 | </div> |
| 127 | 128 | ||
| 128 | </div> | 129 | </div> |
| 129 | </div> | 130 | </div> |
| 130 | 131 | ||
| ... | @@ -132,7 +133,7 @@ | ... | @@ -132,7 +133,7 @@ |
| 132 | 133 | ||
| 133 | <script setup> | 134 | <script setup> |
| 134 | import * as match from '@/apiPc/match' | 135 | import * as match from '@/apiPc/match' |
| 135 | import { ref } from 'vue' | 136 | import {ref} from 'vue' |
| 136 | 137 | ||
| 137 | const emit = defineEmits(['editExtra']) | 138 | const emit = defineEmits(['editExtra']) |
| 138 | const props = defineProps({ | 139 | const props = defineProps({ |
| ... | @@ -164,7 +165,7 @@ const props = defineProps({ | ... | @@ -164,7 +165,7 @@ const props = defineProps({ |
| 164 | default: 0 | 165 | default: 0 |
| 165 | } | 166 | } |
| 166 | }) | 167 | }) |
| 167 | import { useStorage } from '@vueuse/core/index' | 168 | import {useStorage} from '@vueuse/core/index' |
| 168 | 169 | ||
| 169 | const language = useStorage('language', 0) | 170 | const language = useStorage('language', 0) |
| 170 | const extraTableHead = ref([]) | 171 | const extraTableHead = ref([]) |
| ... | @@ -184,12 +185,15 @@ function getTableHead() { | ... | @@ -184,12 +185,15 @@ function getTableHead() { |
| 184 | }) | 185 | }) |
| 185 | } | 186 | } |
| 186 | 187 | ||
| 187 | function handelRules(row){ | 188 | function handelRules(row) { |
| 188 | return row.signInfo.some(val=>val.cptProjectName?.indexOf('大学生')>-1||val.cptProjectName?.indexOf('高中')>-1) | 189 | const flag = row.signInfo.some(val => val.cptProjectName?.indexOf('大学生') > -1 || val.cptProjectName?.indexOf('高中') > -1) |
| 190 | const status = props.extraform.some(val => val.status == 0) | ||
| 191 | return flag || status | ||
| 192 | // return true | ||
| 189 | } | 193 | } |
| 190 | 194 | ||
| 191 | function getMatch() { | 195 | function getMatch() { |
| 192 | match.getMatchById({ id: props.matchId }).then(res => { | 196 | match.getMatchById({id: props.matchId}).then(res => { |
| 193 | if (res.data.languageSource == '100') { | 197 | if (res.data.languageSource == '100') { |
| 194 | isNational.value = false | 198 | isNational.value = false |
| 195 | } else { | 199 | } else { |
| ... | @@ -212,7 +216,7 @@ function totalMethod() { | ... | @@ -212,7 +216,7 @@ function totalMethod() { |
| 212 | font-size: 16px; | 216 | font-size: 16px; |
| 213 | color: #95A1A6; | 217 | color: #95A1A6; |
| 214 | border: 1px solid #EEEFF0; | 218 | border: 1px solid #EEEFF0; |
| 215 | 219 | ||
| 216 | span { | 220 | span { |
| 217 | font-size: 18px; | 221 | font-size: 18px; |
| 218 | font-family: DIN Alternate; | 222 | font-family: DIN Alternate; | ... | ... |
-
Please register or sign in to post a comment