Merge branch 'dev' into order
Showing
15 changed files
with
132 additions
and
93 deletions
public/file/COMPETITION_GUIDE_0511V1.pdf
0 → 100644
No preview for this file type
No preview for this file type
| ... | @@ -124,7 +124,7 @@ const goHelpZH = () => { | ... | @@ -124,7 +124,7 @@ const goHelpZH = () => { |
| 124 | .kf{width: 45px;margin: auto;height: auto; | 124 | .kf{width: 45px;margin: auto;height: auto; |
| 125 | //animation: pop 2s infinite; | 125 | //animation: pop 2s infinite; |
| 126 | } | 126 | } |
| 127 | .fixed-right{position: fixed;right: 0;bottom: 200px; | 127 | .fixed-right{position: fixed;right: 0;bottom: 200px;z-index: 9; |
| 128 | .mlb{background: #fff;border-radius: 10px 0 0 10px;box-shadow: 0 2px 8px #aaa; | 128 | .mlb{background: #fff;border-radius: 10px 0 0 10px;box-shadow: 0 2px 8px #aaa; |
| 129 | padding: 10px 8px;text-align: center;cursor: pointer; | 129 | padding: 10px 8px;text-align: center;cursor: pointer; |
| 130 | div:first-child{border-bottom: 0.5px solid #eee;padding: 0 0 10px;margin-bottom: 10px} | 130 | div:first-child{border-bottom: 0.5px solid #eee;padding: 0 0 10px;margin-bottom: 10px} | ... | ... |
| ... | @@ -28,7 +28,7 @@ | ... | @@ -28,7 +28,7 @@ |
| 28 | <div class="leftboderTT">{{ language == 0 ? '预约信息' : 'Reservation information' }}</div> | 28 | <div class="leftboderTT">{{ language == 0 ? '预约信息' : 'Reservation information' }}</div> |
| 29 | <div class="border-rr mt20 pd20"> | 29 | <div class="border-rr mt20 pd20"> |
| 30 | <el-form :model="form" :label-width="language == 0 ?'100':'160'" :rules="rules" ref="formRef"> | 30 | <el-form :model="form" :label-width="language == 0 ?'100':'160'" :rules="rules" ref="formRef"> |
| 31 | <el-form-item :label="language==0?'入住日期':'Check-in date'" required> | 31 | <el-form-item :label="language==0?'入住日期':'Check-in&Check-out'" required> |
| 32 | 32 | ||
| 33 | <el-date-picker @change="getDaysBetween" | 33 | <el-date-picker @change="getDaysBetween" |
| 34 | v-model="rzRange" | 34 | v-model="rzRange" | ... | ... |
| ... | @@ -20,7 +20,7 @@ | ... | @@ -20,7 +20,7 @@ |
| 20 | </el-select> | 20 | </el-select> |
| 21 | </el-form-item> | 21 | </el-form-item> |
| 22 | <el-form-item :label="language==0?'证件号码':'ID NO.'"> | 22 | <el-form-item :label="language==0?'证件号码':'ID NO.'"> |
| 23 | <el-input v-model="query.idcode" style="width: 120px;" clearable/> | 23 | <el-input v-model="query.idcCode" style="width: 120px;" clearable/> |
| 24 | </el-form-item> | 24 | </el-form-item> |
| 25 | <el-form-item :label="language==0?'会员角色':'Role'"> | 25 | <el-form-item :label="language==0?'会员角色':'Role'"> |
| 26 | <el-select v-model="labelArr" multiple style="width: 100px;"> | 26 | <el-select v-model="labelArr" multiple style="width: 100px;"> |
| ... | @@ -121,7 +121,11 @@ function addMember() { | ... | @@ -121,7 +121,11 @@ function addMember() { |
| 121 | groupId: groupId.value | 121 | groupId: groupId.value |
| 122 | } | 122 | } |
| 123 | if(language.value==1){ | 123 | if(language.value==1){ |
| 124 | proxy.$refs['dialogAddCoachEn'].open(params) | 124 | if(group.type == '4'){ |
| 125 | proxy.$refs['dialogAddWDSF'].open(params) | ||
| 126 | } else { | ||
| 127 | proxy.$refs['dialogAddCoachEn'].open(params) | ||
| 128 | } | ||
| 125 | } else { | 129 | } else { |
| 126 | proxy.$refs['dialogAddCoach'].open(params) | 130 | proxy.$refs['dialogAddCoach'].open(params) |
| 127 | } | 131 | } |
| ... | @@ -161,7 +165,7 @@ function editCoach(row,title) { | ... | @@ -161,7 +165,7 @@ function editCoach(row,title) { |
| 161 | } | 165 | } |
| 162 | if(row.label=='0'&&row.wdsfMin){ | 166 | if(row.label=='0'&&row.wdsfMin){ |
| 163 | proxy.$refs['dialogAddWDSF'].open(params) | 167 | proxy.$refs['dialogAddWDSF'].open(params) |
| 164 | } else if(row.idcType == '0'){ | 168 | } else if(row.idcType == '0'||group.type!='4'){ |
| 165 | proxy.$refs['dialogAddCoach'].open(params) | 169 | proxy.$refs['dialogAddCoach'].open(params) |
| 166 | } else { | 170 | } else { |
| 167 | proxy.$refs['dialogAddCoachEn'].open(params) | 171 | proxy.$refs['dialogAddCoachEn'].open(params) | ... | ... |
| ... | @@ -96,7 +96,8 @@ | ... | @@ -96,7 +96,8 @@ |
| 96 | 96 | ||
| 97 | <div class="content" v-if="activeName==8"> | 97 | <div class="content" v-if="activeName==8"> |
| 98 | <label>点击下载:</label> | 98 | <label>点击下载:</label> |
| 99 | <a target="_blank" class="text-primary" @click="showBuilding"> | 99 | <!-- <a target="_blank" class="text-primary" href="/file/COMPETITION_GUIDE_0511V1.pdf">--> |
| 100 | <a @click="showBuilding" class="text-primary"> | ||
| 100 | <el-icon style="position: relative;top: 2px"><download/></el-icon> | 101 | <el-icon style="position: relative;top: 2px"><download/></el-icon> |
| 101 | 2024 WDSF亚洲体育舞蹈节参赛指南 | 102 | 2024 WDSF亚洲体育舞蹈节参赛指南 |
| 102 | </a> | 103 | </a> |
| ... | @@ -199,9 +200,10 @@ | ... | @@ -199,9 +200,10 @@ |
| 199 | <div class="content" v-if="activeName==71"><el-empty description="no data"></el-empty></div> | 200 | <div class="content" v-if="activeName==71"><el-empty description="no data"></el-empty></div> |
| 200 | <div class="content" v-if="activeName==8"> | 201 | <div class="content" v-if="activeName==8"> |
| 201 | <label>Download:</label> | 202 | <label>Download:</label> |
| 202 | <a target="_blank" class="text-primary" @click="showBuilding"> | 203 | <!-- <a target="_blank" class="text-primary" href="/file/COMPETITION_GUIDE_0511V1.pdf">--> |
| 204 | <a @click="showBuilding" class="text-primary"> | ||
| 203 | <el-icon style="position: relative;top: 2px"><download/></el-icon> | 205 | <el-icon style="position: relative;top: 2px"><download/></el-icon> |
| 204 | 2024 WDSF ASIAN DANCESPORT FESTIVAL ENTRY GUIDE | 206 | 2024 WDSF ASIAN DANCESPORT FESTIVAL COMPETITION GUIDE |
| 205 | </a> | 207 | </a> |
| 206 | </div> | 208 | </div> |
| 207 | </div> | 209 | </div> | ... | ... |
| ... | @@ -145,14 +145,6 @@ | ... | @@ -145,14 +145,6 @@ |
| 145 | {{ language == 0 ? '预览报名信息' : 'Preview Registration Information' }} | 145 | {{ language == 0 ? '预览报名信息' : 'Preview Registration Information' }} |
| 146 | </el-button> | 146 | </el-button> |
| 147 | </div> | 147 | </div> |
| 148 | <!-- <div class="text-center mt20">--> | ||
| 149 | <!-- <el-button type="primary" class="" plain round @click="submitForm(0)">--> | ||
| 150 | <!-- {{ language == 0 ? '保存暂不提交审核' : 'Save, Do Not Submit for Review Yet' }}--> | ||
| 151 | <!-- </el-button>--> | ||
| 152 | <!-- <el-button type="primary" class="btn-lineG w200px" round @click="submitForm(1)">--> | ||
| 153 | <!-- {{ language == 0 ? '提交审核' : 'Submit for review' }}--> | ||
| 154 | <!-- </el-button>--> | ||
| 155 | <!-- </div>--> | ||
| 156 | </div> | 148 | </div> |
| 157 | </el-card> | 149 | </el-card> |
| 158 | </div> | 150 | </div> |
| ... | @@ -168,7 +160,7 @@ | ... | @@ -168,7 +160,7 @@ |
| 168 | <script setup> | 160 | <script setup> |
| 169 | import {ref, reactive, toRefs} from 'vue' | 161 | import {ref, reactive, toRefs} from 'vue' |
| 170 | import * as match from '@/apiPc/match' | 162 | import * as match from '@/apiPc/match' |
| 171 | import {getCurrentInstance, onMounted} from '@vue/runtime-core' | 163 | import {getCurrentInstance, nextTick, onMounted} from '@vue/runtime-core' |
| 172 | import DialogEditWdsf from './components/addWdsf' | 164 | import DialogEditWdsf from './components/addWdsf' |
| 173 | import DialogEditAccompany from './components/addAccompany' | 165 | import DialogEditAccompany from './components/addAccompany' |
| 174 | import AddCoachEn from './components/addCoach_en' | 166 | import AddCoachEn from './components/addCoach_en' |
| ... | @@ -213,11 +205,9 @@ const data = reactive({ | ... | @@ -213,11 +205,9 @@ const data = reactive({ |
| 213 | extraTableHead: [], | 205 | extraTableHead: [], |
| 214 | activeTeam: '', | 206 | activeTeam: '', |
| 215 | names: {}, | 207 | names: {}, |
| 216 | choosedchoosed: [], | ||
| 217 | mateChosed: [], | ||
| 218 | projectIds: [], | 208 | projectIds: [], |
| 219 | projectList: [], | 209 | projectList: [], |
| 220 | choosed2List: [], projectQuery: {}, tableType: 1, | 210 | athletesList: [], projectQuery: {}, tableType: 1, |
| 221 | isNational:true, | 211 | isNational:true, |
| 222 | cantBao: { | 212 | cantBao: { |
| 223 | flag: false, | 213 | flag: false, |
| ... | @@ -236,12 +226,11 @@ const { | ... | @@ -236,12 +226,11 @@ const { |
| 236 | coachOrLeaderFlag, | 226 | coachOrLeaderFlag, |
| 237 | noPhotoCanSign, | 227 | noPhotoCanSign, |
| 238 | projectIds, | 228 | projectIds, |
| 239 | mateChosed, | ||
| 240 | activeStep, | 229 | activeStep, |
| 241 | projectList, | 230 | projectList, |
| 242 | loadingProject, | 231 | loadingProject, |
| 243 | projectQuery, | 232 | projectQuery, |
| 244 | tableType,cantBao | 233 | tableType,cantBao,athletesList |
| 245 | } = toRefs(data) | 234 | } = toRefs(data) |
| 246 | const matchId = ref(route.query.matchId) | 235 | const matchId = ref(route.query.matchId) |
| 247 | let signInfoType = null | 236 | let signInfoType = null |
| ... | @@ -249,7 +238,6 @@ const form = ref({}) | ... | @@ -249,7 +238,6 @@ const form = ref({}) |
| 249 | const showPersonList = ref(false) | 238 | const showPersonList = ref(false) |
| 250 | const signEndTime = ref('') | 239 | const signEndTime = ref('') |
| 251 | const userId = ref('') | 240 | const userId = ref('') |
| 252 | const myId = ref('') | ||
| 253 | onMounted(() => { | 241 | onMounted(() => { |
| 254 | if (useUserStore().user) { | 242 | if (useUserStore().user) { |
| 255 | userId.value = useUserStore().user.userId | 243 | userId.value = useUserStore().user.userId |
| ... | @@ -257,6 +245,7 @@ onMounted(() => { | ... | @@ -257,6 +245,7 @@ onMounted(() => { |
| 257 | getSignInfoList() | 245 | getSignInfoList() |
| 258 | getMatch(matchId.value) | 246 | getMatch(matchId.value) |
| 259 | getMyInfo() | 247 | getMyInfo() |
| 248 | // getAthletesList() | ||
| 260 | getMyMemberTable() | 249 | getMyMemberTable() |
| 261 | getMySignInfo() | 250 | getMySignInfo() |
| 262 | }) | 251 | }) |
| ... | @@ -275,13 +264,27 @@ function getMyInfo() { | ... | @@ -275,13 +264,27 @@ function getMyInfo() { |
| 275 | } else { | 264 | } else { |
| 276 | choosedList.value = [form.value] | 265 | choosedList.value = [form.value] |
| 277 | } | 266 | } |
| 278 | myId.value = res.data.id | ||
| 279 | getProjectList() | 267 | getProjectList() |
| 280 | }).catch(err => { | 268 | }).catch(err => { |
| 281 | router.push({name: 'home'}) | 269 | router.push({name: 'home'}) |
| 282 | }) | 270 | }) |
| 283 | } | 271 | } |
| 284 | 272 | const getAthletesList = () => { | |
| 273 | getPerPersonList({label:'0',},userId.value).then(res => { | ||
| 274 | athletesList.value = res.rows | ||
| 275 | if(res.total <= 2){ | ||
| 276 | choosedList.value = athletesList.value | ||
| 277 | for (var a of choosedList.value){ | ||
| 278 | if(!a.passportUrl){ | ||
| 279 | cantBao.value.flag = true | ||
| 280 | cantBao.value.name = a.realName | ||
| 281 | } else { | ||
| 282 | cantBao.value.flag = false | ||
| 283 | } | ||
| 284 | } | ||
| 285 | } | ||
| 286 | }) | ||
| 287 | } | ||
| 285 | function getMyMemberTable() { | 288 | function getMyMemberTable() { |
| 286 | match.getPerPersonList({cptId: matchId.value, searchLabels: '1,2,3,4,5,6'}, userId.value).then(res => { | 289 | match.getPerPersonList({cptId: matchId.value, searchLabels: '1,2,3,4,5,6'}, userId.value).then(res => { |
| 287 | myMemberTable.value = res.rows | 290 | myMemberTable.value = res.rows |
| ... | @@ -302,6 +305,7 @@ function addAccompany() { | ... | @@ -302,6 +305,7 @@ function addAccompany() { |
| 302 | function changeMeDone(mateId) { | 305 | function changeMeDone(mateId) { |
| 303 | console.log(mateId) | 306 | console.log(mateId) |
| 304 | // getMyInfo() | 307 | // getMyInfo() |
| 308 | getAthletesList() | ||
| 305 | getProjectList() | 309 | getProjectList() |
| 306 | } | 310 | } |
| 307 | 311 | ||
| ... | @@ -404,22 +408,6 @@ function submitForm(n) { | ... | @@ -404,22 +408,6 @@ function submitForm(n) { |
| 404 | commit() | 408 | commit() |
| 405 | }) | 409 | }) |
| 406 | } | 410 | } |
| 407 | // if (n == 0) { | ||
| 408 | // ElMessageBox.confirm(language.value==0?`您当前的操作为暂存,并不是提交审核, | ||
| 409 | // 必须在报名截止时间${signEndTime.value}之前完成提交。 | ||
| 410 | // 您也可以在个人中心-我的报名中,找到这条报名,点击提交审核。`: | ||
| 411 | // `Your current operation is temporary and not submitted for review, | ||
| 412 | // Submission must be completed before the registration deadline${signEndTime.value}。 | ||
| 413 | // You can also find this registration in the My Registration section of your personal center and click submit for review.`, | ||
| 414 | // language.value == 0 ? '提示' : 'Tip', { | ||
| 415 | // confirmButtonText: language.value == 0 ? '去个人中心' : 'Go My Registration ', | ||
| 416 | // cancelButtonText: language.value == 0 ? '知道了' : 'OK', | ||
| 417 | // type: 'warning' | ||
| 418 | // }).then((res) => { | ||
| 419 | // console.log(res) | ||
| 420 | // router.push({name: 'myMatch'}) | ||
| 421 | // }) | ||
| 422 | // } | ||
| 423 | } | 411 | } |
| 424 | 412 | ||
| 425 | function commit() { | 413 | function commit() { |
| ... | @@ -514,7 +502,7 @@ function delperson(p) { | ... | @@ -514,7 +502,7 @@ function delperson(p) { |
| 514 | match.delPerson(p.id).then(res => { | 502 | match.delPerson(p.id).then(res => { |
| 515 | ElMessage.success(msg) | 503 | ElMessage.success(msg) |
| 516 | getMyMemberTable() | 504 | getMyMemberTable() |
| 517 | getMyInfo() | 505 | // getMyInfo() |
| 518 | }) | 506 | }) |
| 519 | }) | 507 | }) |
| 520 | } | 508 | } |
| ... | @@ -607,7 +595,7 @@ function editPerson() { | ... | @@ -607,7 +595,7 @@ function editPerson() { |
| 607 | 595 | ||
| 608 | function editMate(obj) { | 596 | function editMate(obj) { |
| 609 | proxy.$refs['dialogEditWdsfRef'].open({ | 597 | proxy.$refs['dialogEditWdsfRef'].open({ |
| 610 | title: language.value == 0 ? '编辑舞伴' : 'Edit My Mate', | 598 | title: language.value == 0 ? '编辑' : 'Edit', |
| 611 | isMe: false, | 599 | isMe: false, |
| 612 | form: obj || {}, | 600 | form: obj || {}, |
| 613 | cptId:matchId.value, | 601 | cptId:matchId.value, |
| ... | @@ -615,24 +603,6 @@ function editMate(obj) { | ... | @@ -615,24 +603,6 @@ function editMate(obj) { |
| 615 | }) | 603 | }) |
| 616 | } | 604 | } |
| 617 | 605 | ||
| 618 | function changeMate(e) { | ||
| 619 | console.log(e, mateChosed.value,form.value.danceMate.passportUrl) | ||
| 620 | if(form.value.danceMate.passportUrl==''||!form.value.danceMate.passportUrl){ | ||
| 621 | mateChosed.value = [] | ||
| 622 | ElMessageBox.confirm(language.value == 0 ? '请先上传舞伴的有效证件' : 'Please upload the valid certificate of the teammate', | ||
| 623 | language.value == 0 ? '提示' : 'Tip', | ||
| 624 | { | ||
| 625 | confirmButtonText: language.value == 0 ? '确定' : 'Yes', | ||
| 626 | cancelButtonText: language.value == 0 ? '取消' : 'Cancel', | ||
| 627 | }).then(()=>{ | ||
| 628 | editMate(form.value.danceMate) | ||
| 629 | return | ||
| 630 | }).catch(()=>{ | ||
| 631 | return | ||
| 632 | }) | ||
| 633 | } | ||
| 634 | getProjectList() | ||
| 635 | } | ||
| 636 | 606 | ||
| 637 | function switchTabletype() { | 607 | function switchTabletype() { |
| 638 | if (tableType.value == 0) { | 608 | if (tableType.value == 0) { | ... | ... |
| ... | @@ -24,8 +24,8 @@ | ... | @@ -24,8 +24,8 @@ |
| 24 | <div style="margin: 0 4px 10px;display: flex"> | 24 | <div style="margin: 0 4px 10px;display: flex"> |
| 25 | <el-select multiple v-model="choosedchoosed" collapse-tags-tooltip filterable | 25 | <el-select multiple v-model="choosedchoosed" collapse-tags-tooltip filterable |
| 26 | @change="changechoosed"> | 26 | @change="changechoosed"> |
| 27 | <el-option v-for="c in athletesList" :key="c.id" :label="c.realName" :value="c.id"> | 27 | <el-option v-for="c in athletesList" :key="c.id" :label="c.realName" :value="c.id" :disabled="c.disabled"> |
| 28 | <div class="flexOption"> | 28 | <div class="flexOption" style="width: 100%"> |
| 29 | {{ c.realName }} | 29 | {{ c.realName }} |
| 30 | <img v-if="c.sex=='0'" src="@/assets/img/female.png"/> | 30 | <img v-if="c.sex=='0'" src="@/assets/img/female.png"/> |
| 31 | <img v-if="c.sex=='1'" src="@/assets/img/male.png"/> | 31 | <img v-if="c.sex=='1'" src="@/assets/img/male.png"/> |
| ... | @@ -33,7 +33,8 @@ | ... | @@ -33,7 +33,8 @@ |
| 33 | {{c.representing}} | 33 | {{c.representing}} |
| 34 | {{c.ageGroup}} | 34 | {{c.ageGroup}} |
| 35 | {{c.division}} | 35 | {{c.division}} |
| 36 | 36 | <!-- @click="editPerson(c.id)"--> | |
| 37 | <span v-if="c.disabled" class="text-danger po-right">需补全信息</span> | ||
| 37 | <!-- -{{ c.age }}--> | 38 | <!-- -{{ c.age }}--> |
| 38 | </div> | 39 | </div> |
| 39 | </el-option> | 40 | </el-option> |
| ... | @@ -284,6 +285,15 @@ function getAthletesList() { | ... | @@ -284,6 +285,15 @@ function getAthletesList() { |
| 284 | // athletesList.value | 285 | // athletesList.value |
| 285 | match.getGroupPersonList({label: '0'}, groupId.value).then(res => { | 286 | match.getGroupPersonList({label: '0'}, groupId.value).then(res => { |
| 286 | athletesList.value = res.rows | 287 | athletesList.value = res.rows |
| 288 | if(!isNational.value){ | ||
| 289 | for(let ath of athletesList.value){ | ||
| 290 | if(!ath.picUrl||!ath.phone){ | ||
| 291 | ath.disabled = true | ||
| 292 | } else { | ||
| 293 | ath.disabled = false | ||
| 294 | } | ||
| 295 | } | ||
| 296 | } | ||
| 287 | }) | 297 | }) |
| 288 | } | 298 | } |
| 289 | 299 | ||
| ... | @@ -857,4 +867,5 @@ watch(choosedchoosed, (newVal, oldVal) => { | ... | @@ -857,4 +867,5 @@ watch(choosedchoosed, (newVal, oldVal) => { |
| 857 | --el-input-icon-color:var(--el-color-primary); | 867 | --el-input-icon-color:var(--el-color-primary); |
| 858 | } | 868 | } |
| 859 | :deep(.el-select__tags-text){color: #000;font-size: 14px;} | 869 | :deep(.el-select__tags-text){color: #000;font-size: 14px;} |
| 870 | .po-right{position: absolute;right: 0;} | ||
| 860 | </style> | 871 | </style> | ... | ... |
| ... | @@ -18,8 +18,8 @@ | ... | @@ -18,8 +18,8 @@ |
| 18 | <span v-if="form.wdsfMin">{{form.wdsfMin}}</span> | 18 | <span v-if="form.wdsfMin">{{form.wdsfMin}}</span> |
| 19 | <el-input v-else v-model="form.wdsfMin" type="number"/> | 19 | <el-input v-else v-model="form.wdsfMin" type="number"/> |
| 20 | </el-form-item> | 20 | </el-form-item> |
| 21 | <el-form-item :label="language==0?'姓名':'Name'" prop="realName" required> | 21 | <el-form-item :label="language==0?'姓名':'Name'" prop="realName" required> |
| 22 | <el-input v-model="form.realName"/> | 22 | <el-input v-model="form.realName" :disabled="editgay&&form.idcType=='0'"/> |
| 23 | </el-form-item> | 23 | </el-form-item> |
| 24 | <el-form-item :label="language==0?'证件类型':'ID type'" prop="idcType" required> | 24 | <el-form-item :label="language==0?'证件类型':'ID type'" prop="idcType" required> |
| 25 | <el-select v-model="form.idcType" style="width: 100%;" :disabled="editgay&&form.idcType=='0'"> | 25 | <el-select v-model="form.idcType" style="width: 100%;" :disabled="editgay&&form.idcType=='0'"> |
| ... | @@ -32,7 +32,7 @@ | ... | @@ -32,7 +32,7 @@ |
| 32 | </el-select> | 32 | </el-select> |
| 33 | </el-form-item> | 33 | </el-form-item> |
| 34 | <el-form-item :label="language==0?'证件号码':'ID NO'" prop="idcCode" required> | 34 | <el-form-item :label="language==0?'证件号码':'ID NO'" prop="idcCode" required> |
| 35 | <el-input v-model="form.idcCode" @blur="checkCode" :disabled="editgay&&form.idcType=='0'"/> | 35 | <el-input v-model="form.idcCode" @blur="giveBirthDay" :disabled="editgay&&form.idcType=='0'"/> |
| 36 | </el-form-item> | 36 | </el-form-item> |
| 37 | <el-form-item :label="language==0?'有效证件':'Valid Passport'" :required="form.idcType!='0'"> | 37 | <el-form-item :label="language==0?'有效证件':'Valid Passport'" :required="form.idcType!='0'"> |
| 38 | <file-upload v-model="form.passportUrl" :limit="1" :is-show-tip="false" /> | 38 | <file-upload v-model="form.passportUrl" :limit="1" :is-show-tip="false" /> |
| ... | @@ -59,7 +59,7 @@ | ... | @@ -59,7 +59,7 @@ |
| 59 | </el-select> | 59 | </el-select> |
| 60 | </el-form-item> | 60 | </el-form-item> |
| 61 | <el-form-item :label="language==0?'手机号码':'Phone'" prop="phone" required> | 61 | <el-form-item :label="language==0?'手机号码':'Phone'" prop="phone" required> |
| 62 | <el-input v-model="form.phone" type="number"/> | 62 | <el-input v-model="form.phone" type="text"/> |
| 63 | <span class="tip">*若未成年人没有手机号,请填写家长号码</span> | 63 | <span class="tip">*若未成年人没有手机号,请填写家长号码</span> |
| 64 | </el-form-item> | 64 | </el-form-item> |
| 65 | 65 | ||
| ... | @@ -257,17 +257,15 @@ function getRegionsList() { | ... | @@ -257,17 +257,15 @@ function getRegionsList() { |
| 257 | } | 257 | } |
| 258 | 258 | ||
| 259 | function checkCode() { | 259 | function checkCode() { |
| 260 | |||
| 261 | if (form.value.idcType=='0' && form.value.idcCode) { | 260 | if (form.value.idcType=='0' && form.value.idcCode) { |
| 262 | // giveBirthDay() | ||
| 263 | var obj = { | 261 | var obj = { |
| 264 | idcCode: form.value.idcCode, | 262 | idcCode: form.value.idcCode, |
| 265 | name: form.value.realName | 263 | name: form.value.realName |
| 266 | } | 264 | } |
| 267 | match.checkIdcCode(obj).then(res => { | 265 | match.checkIdcCode(obj).then(res => { |
| 268 | if (res.data) { | 266 | if (res.data) { |
| 269 | form.value.birth = res.data.birth | 267 | // form.value.birth = res.data.birth |
| 270 | form.value.sex = res.data.sex | 268 | // form.value.sex = res.data.sex |
| 271 | } | 269 | } |
| 272 | }) | 270 | }) |
| 273 | } | 271 | } |
| ... | @@ -312,7 +310,7 @@ function submitForm() { | ... | @@ -312,7 +310,7 @@ function submitForm() { |
| 312 | return | 310 | return |
| 313 | } | 311 | } |
| 314 | // 验证手机号 | 312 | // 验证手机号 |
| 315 | if (showRequire.value) { | 313 | if (form.value.idcType == 0&&form.value.phone) { |
| 316 | var pattern = /^1[3456789]\d{9}$/ | 314 | var pattern = /^1[3456789]\d{9}$/ |
| 317 | if (!pattern.test(form.value.phone)) { | 315 | if (!pattern.test(form.value.phone)) { |
| 318 | ElMessage.warning(language.value == 0 ?'请输入正确的手机号':'Please enter the correct mobile phone number') | 316 | ElMessage.warning(language.value == 0 ?'请输入正确的手机号':'Please enter the correct mobile phone number') |
| ... | @@ -333,12 +331,21 @@ function submitForm() { | ... | @@ -333,12 +331,21 @@ function submitForm() { |
| 333 | if (groupId.value != 0) { | 331 | if (groupId.value != 0) { |
| 334 | // 团队 | 332 | // 团队 |
| 335 | form.value.groupId = groupId.value | 333 | form.value.groupId = groupId.value |
| 336 | match.savePersonForMyGroup(form.value).then(res => { | 334 | if (form.value.idcType=='0' && form.value.idcCode) { |
| 337 | ElMessage.success(language.value == 0 ?'保存成功':'Save successful') | 335 | var obj = { |
| 338 | show.value = false | 336 | idcCode: form.value.idcCode, |
| 339 | emit('submitForm') | 337 | name: form.value.realName |
| 340 | }) | 338 | } |
| 339 | match.checkIdcCode(obj).then(res => { | ||
| 340 | if (res.data) { | ||
| 341 | saveGroupMember() | ||
| 342 | } | ||
| 343 | }) | ||
| 344 | } else { | ||
| 345 | saveGroupMember() | ||
| 346 | } | ||
| 341 | } else { | 347 | } else { |
| 348 | // 个人账号 | ||
| 342 | if (editgay.value) { | 349 | if (editgay.value) { |
| 343 | // id不是0 | 350 | // id不是0 |
| 344 | match.editPersonInfo(form.value).then(res => { | 351 | match.editPersonInfo(form.value).then(res => { |
| ... | @@ -365,7 +372,13 @@ function submitForm() { | ... | @@ -365,7 +372,13 @@ function submitForm() { |
| 365 | } | 372 | } |
| 366 | }) | 373 | }) |
| 367 | } | 374 | } |
| 368 | 375 | function saveGroupMember() { | |
| 376 | match.savePersonForMyGroup(form.value).then(res => { | ||
| 377 | ElMessage.success(language.value == 0 ?'保存成功':'Save successful') | ||
| 378 | show.value = false | ||
| 379 | emit('submitForm') | ||
| 380 | }) | ||
| 381 | } | ||
| 369 | function cancel() { | 382 | function cancel() { |
| 370 | show.value = false | 383 | show.value = false |
| 371 | } | 384 | } | ... | ... |
| ... | @@ -100,7 +100,7 @@ | ... | @@ -100,7 +100,7 @@ |
| 100 | </el-form-item> | 100 | </el-form-item> |
| 101 | 101 | ||
| 102 | <el-form-item :label="language==0?'手机号码':'Phone'" prop="phone"> | 102 | <el-form-item :label="language==0?'手机号码':'Phone'" prop="phone"> |
| 103 | <el-input v-model="form.phone" type="number"/> | 103 | <el-input v-model="form.phone" type="text"/> |
| 104 | </el-form-item> | 104 | </el-form-item> |
| 105 | 105 | ||
| 106 | <el-form-item :label="language==0?'详细地址':'Address'" prop="address"> | 106 | <el-form-item :label="language==0?'详细地址':'Address'" prop="address"> | ... | ... |
| ... | @@ -24,7 +24,7 @@ | ... | @@ -24,7 +24,7 @@ |
| 24 | </el-select> | 24 | </el-select> |
| 25 | </el-form-item> | 25 | </el-form-item> |
| 26 | <el-form-item :label="language==0?'证件号码':'ID NO.'" v-if="!isNational"> | 26 | <el-form-item :label="language==0?'证件号码':'ID NO.'" v-if="!isNational"> |
| 27 | <el-input v-model="query.idcode" style="width: 120px;" clearable/> | 27 | <el-input v-model="query.idcCode" style="width: 120px;" clearable/> |
| 28 | </el-form-item> | 28 | </el-form-item> |
| 29 | <!-- <el-form-item label="角色">--> | 29 | <!-- <el-form-item label="角色">--> |
| 30 | <!-- <el-input v-model="query.label" style="width: 120px;" clearable/>--> | 30 | <!-- <el-input v-model="query.label" style="width: 120px;" clearable/>--> |
| ... | @@ -70,11 +70,17 @@ | ... | @@ -70,11 +70,17 @@ |
| 70 | <!-- </div>--> | 70 | <!-- </div>--> |
| 71 | <!-- </template>--> | 71 | <!-- </template>--> |
| 72 | <!-- </el-table-column>--> | 72 | <!-- </el-table-column>--> |
| 73 | <el-table-column :label="language==0?'操作':'Actions'" width="120" fixed="right" align="center"> | 73 | <el-table-column :label="language==0?'操作':'Actions'" width="180" fixed="right" align="center"> |
| 74 | <template #default="scope"> | 74 | <template #default="scope"> |
| 75 | <el-button link type="primary" @click="editPerson(scope.row)"> | 75 | <el-button link v-if="!isNational&&(!scope.row.picUrl||!scope.row.phone)" type="danger" @click="editPerson(scope.row)"> |
| 76 | {{language==0?'完善信息':'Complete'}} | ||
| 77 | </el-button> | ||
| 78 | <el-button link v-else type="primary" @click="editPerson(scope.row)"> | ||
| 76 | {{language==0?'编辑':'Edit'}} | 79 | {{language==0?'编辑':'Edit'}} |
| 77 | </el-button> | 80 | </el-button> |
| 81 | <el-button link type="primary" @click="delperson(scope.row)"> | ||
| 82 | {{language==0?'删除':'Delete'}} | ||
| 83 | </el-button> | ||
| 78 | </template> | 84 | </template> |
| 79 | </el-table-column> | 85 | </el-table-column> |
| 80 | </el-table> | 86 | </el-table> |
| ... | @@ -108,6 +114,7 @@ import AddCoach from '../components/addCoach' | ... | @@ -108,6 +114,7 @@ import AddCoach from '../components/addCoach' |
| 108 | import AddWdsf from '../components/addWdsf' | 114 | import AddWdsf from '../components/addWdsf' |
| 109 | import Import from '../components/import' | 115 | import Import from '../components/import' |
| 110 | import {useStorage} from "@vueuse/core/index"; | 116 | import {useStorage} from "@vueuse/core/index"; |
| 117 | import {ElMessage, ElMessageBox} from "element-plus"; | ||
| 111 | const language= useStorage('language',0) | 118 | const language= useStorage('language',0) |
| 112 | 119 | ||
| 113 | const {proxy} = getCurrentInstance() | 120 | const {proxy} = getCurrentInstance() |
| ... | @@ -215,7 +222,33 @@ function editPerson(row) { | ... | @@ -215,7 +222,33 @@ function editPerson(row) { |
| 215 | proxy.$refs['dialogAddCoach'].open(params) | 222 | proxy.$refs['dialogAddCoach'].open(params) |
| 216 | } | 223 | } |
| 217 | } | 224 | } |
| 218 | 225 | function delperson(p) { | |
| 226 | //删除团队下的人 | ||
| 227 | let text = '' | ||
| 228 | let t = '提示' | ||
| 229 | let s = '确定' | ||
| 230 | let c = '取消' | ||
| 231 | let msg = '操作成功' | ||
| 232 | if (language.value==0){ | ||
| 233 | text = `确定删除${p.realName}吗?` | ||
| 234 | } else { | ||
| 235 | text = `Delete ${p.realName}?` | ||
| 236 | t = 'Tips' | ||
| 237 | s = 'Confirm' | ||
| 238 | c = 'Cancel' | ||
| 239 | msg = ' Successful!' | ||
| 240 | } | ||
| 241 | ElMessageBox.confirm(text, t, { | ||
| 242 | confirmButtonText: s, | ||
| 243 | cancelButtonText: c, | ||
| 244 | type: 'warning' | ||
| 245 | }).then(() => { | ||
| 246 | match.delPerson(p.id).then(res => { | ||
| 247 | ElMessage.success(msg) | ||
| 248 | getList() | ||
| 249 | }) | ||
| 250 | }) | ||
| 251 | } | ||
| 219 | function addMember() { | 252 | function addMember() { |
| 220 | console.log(isNational.value) | 253 | console.log(isNational.value) |
| 221 | const params = { | 254 | const params = { | ... | ... |
| ... | @@ -21,7 +21,7 @@ | ... | @@ -21,7 +21,7 @@ |
| 21 | </el-select> | 21 | </el-select> |
| 22 | </el-form-item> | 22 | </el-form-item> |
| 23 | <el-form-item :label="language==0?'证件号码':'ID NO.'" v-if="!isNational"> | 23 | <el-form-item :label="language==0?'证件号码':'ID NO.'" v-if="!isNational"> |
| 24 | <el-input v-model="query.idcode" style="width: 120px;" clearable/> | 24 | <el-input v-model="query.idcCode" style="width: 120px;" clearable/> |
| 25 | </el-form-item> | 25 | </el-form-item> |
| 26 | <!-- <el-form-item label="角色">--> | 26 | <!-- <el-form-item label="角色">--> |
| 27 | <!-- <el-input v-model="query.label" style="width: 120px;" clearable/>--> | 27 | <!-- <el-input v-model="query.label" style="width: 120px;" clearable/>--> | ... | ... |
| ... | @@ -61,10 +61,19 @@ function submit(res) { | ... | @@ -61,10 +61,19 @@ function submit(res) { |
| 61 | if(res.data.repeatInFileColumn.length>0){ | 61 | if(res.data.repeatInFileColumn.length>0){ |
| 62 | proxy.$modal.msgError(`${res.data.repeatInFileColumn}${language.value == 0? '文件内重复' : 'Repeat In File'}`) | 62 | proxy.$modal.msgError(`${res.data.repeatInFileColumn}${language.value == 0? '文件内重复' : 'Repeat In File'}`) |
| 63 | } | 63 | } |
| 64 | if(res.data.noRealNameColumn.length>0){ | ||
| 65 | proxy.$modal.msgError(`${res.data.noRealNameColumn}${language.value == 0? '实名未通过' : 'No real name'}`) | ||
| 66 | } | ||
| 67 | if(res.data.noExistColumn.length>0){ | ||
| 68 | proxy.$modal.msgError(`${res.data.noExistColumn}${language.value == 0? 'WDSF会员号不存在' : 'WDSF MIN does not exist'}`) | ||
| 69 | } | ||
| 70 | if(res.data.alreadyUseColumn.length>0){ | ||
| 71 | proxy.$modal.msgError(`${res.data.alreadyUseColumn}${language.value == 0? 'WDSF会员号已录入' : 'WDSF MIN has been entered'}`) | ||
| 72 | } | ||
| 64 | 73 | ||
| 65 | if(res.data.errIdcTypeColumn.length==0&&res.data.errSexColumn.length==0&& | 74 | if(res.data.errIdcTypeColumn.length==0&&res.data.errSexColumn.length==0&& |
| 66 | res.data.incompleteColumn.length==0&&res.data.repeatInFileColumn.length==0&& | 75 | res.data.incompleteColumn.length==0&&res.data.repeatInFileColumn.length==0&& |
| 67 | res.data.repeatInSystemColumn.length==0 | 76 | res.data.repeatInSystemColumn.length==0&&res.data.noRealNameColumn.length==0 |
| 68 | ){ | 77 | ){ |
| 69 | proxy.$modal.msgSuccess(res.msg) | 78 | proxy.$modal.msgSuccess(res.msg) |
| 70 | } | 79 | } | ... | ... |
| ... | @@ -9,9 +9,6 @@ | ... | @@ -9,9 +9,6 @@ |
| 9 | <match-info-row v-if="matchId" :match-id="matchId"/> | 9 | <match-info-row v-if="matchId" :match-id="matchId"/> |
| 10 | <group-info-row v-if="matchId&&groupId!=0" :match-id="matchId" :group-id="groupId"/> | 10 | <group-info-row v-if="matchId&&groupId!=0" :match-id="matchId" :group-id="groupId"/> |
| 11 | <coach-info-row v-if="matchId&&user.utype=='2'" :match-id="matchId" :language="language"/> | 11 | <coach-info-row v-if="matchId&&user.utype=='2'" :match-id="matchId" :language="language"/> |
| 12 | |||
| 13 | |||
| 14 | |||
| 15 | <div style="margin: 20px"> | 12 | <div style="margin: 20px"> |
| 16 | <div class="leftboderTT" v-if="user.utype=='1'&&myMemberTable.length>0">{{ language==0?'随行人员清单':'List of accompanying personnel' }} | 13 | <div class="leftboderTT" v-if="user.utype=='1'&&myMemberTable.length>0">{{ language==0?'随行人员清单':'List of accompanying personnel' }} |
| 17 | </div> | 14 | </div> | ... | ... |
| ... | @@ -76,14 +76,14 @@ export default defineConfig(({ mode, command }) => { | ... | @@ -76,14 +76,14 @@ export default defineConfig(({ mode, command }) => { |
| 76 | rewrite: (p) => p.replace(/^\/dev-api\/ztx-match/, '') | 76 | rewrite: (p) => p.replace(/^\/dev-api\/ztx-match/, '') |
| 77 | }, | 77 | }, |
| 78 | '/dev-api/ztx-webSite': { | 78 | '/dev-api/ztx-webSite': { |
| 79 | target: 'https://dance.itechtop.cn/stage-api', | 79 | // target: 'https://dance.itechtop.cn/stage-api', |
| 80 | // target: 'http://192.168.1.118:8081/', | 80 | target: 'http://192.168.1.118:8081/', |
| 81 | changeOrigin: true, | 81 | changeOrigin: true, |
| 82 | rewrite: (p) => p.replace(/^\/dev-api\/ztx-webSite/, '') | 82 | rewrite: (p) => p.replace(/^\/dev-api\/ztx-webSite/, '') |
| 83 | }, | 83 | }, |
| 84 | '/dev-api': { | 84 | '/dev-api': { |
| 85 | // target: 'http://192.168.1.131:8081/', | 85 | target: 'http://192.168.1.131:8081/', |
| 86 | target: 'https://dance.itechtop.cn/stage-api', | 86 | // target: 'https://dance.itechtop.cn/stage-api', |
| 87 | // target: 'https://wdsfwuxicenter.com/stage-api', | 87 | // target: 'https://wdsfwuxicenter.com/stage-api', |
| 88 | changeOrigin: true, | 88 | changeOrigin: true, |
| 89 | rewrite: (p) => p.replace(/^\/dev-api/, '') | 89 | rewrite: (p) => p.replace(/^\/dev-api/, '') | ... | ... |
-
Please register or sign in to post a comment