no message
Showing
13 changed files
with
169 additions
and
155 deletions
| ... | @@ -252,7 +252,7 @@ aside { | ... | @@ -252,7 +252,7 @@ aside { |
| 252 | .xzbox{border: 2px solid #DDECFB;padding: 20px;line-height: 2; | 252 | .xzbox{border: 2px solid #DDECFB;padding: 20px;line-height: 2; |
| 253 | color: #29343C; | 253 | color: #29343C; |
| 254 | font-size: 16px;} | 254 | font-size: 16px;} |
| 255 | .funcBtn{width: 100%;cursor: pointer; | 255 | .funcBtn{width: 100%;cursor: pointer;height: calc(100% - 48px); |
| 256 | background:url("@/assets/dance/funcBg.png") no-repeat left; | 256 | background:url("@/assets/dance/funcBg.png") no-repeat left; |
| 257 | background-size: cover; | 257 | background-size: cover; |
| 258 | border-radius: 16px;box-shadow:var(--el-box-shadow-light); | 258 | border-radius: 16px;box-shadow:var(--el-box-shadow-light); | ... | ... |
| ... | @@ -358,39 +358,39 @@ export const constantRoutes = [ | ... | @@ -358,39 +358,39 @@ export const constantRoutes = [ |
| 358 | redirect: '/booking', | 358 | redirect: '/booking', |
| 359 | children: [ | 359 | children: [ |
| 360 | { | 360 | { |
| 361 | path: '0/:cptId', | 361 | path: 'ticket/:cptId', |
| 362 | component: () => import('@/viewsPc/booking/ticket'), | 362 | component: () => import('@/viewsPc/booking/ticket'), |
| 363 | name: 'ticket', | 363 | name: 'ticket', |
| 364 | meta: { title: '票务预订' } | 364 | meta: { title: '票务预订' } |
| 365 | }, | 365 | }, |
| 366 | { | 366 | { |
| 367 | path: '1/:cptId', | 367 | path: 'hotel/:cptId', |
| 368 | component: () => import('@/viewsPc/booking/hotel'), | 368 | component: () => import('@/viewsPc/booking/hotel'), |
| 369 | name: 'hotel', | 369 | name: 'hotel', |
| 370 | meta: { title: '酒店预约' } | 370 | meta: { title: '酒店预约' } |
| 371 | }, | 371 | }, |
| 372 | { | 372 | { |
| 373 | path: '2/:cptId', | 373 | path: 'car/:cptId', |
| 374 | component: () => import('@/viewsPc/booking/car'), | 374 | component: () => import('@/viewsPc/booking/car'), |
| 375 | name: 'car', | 375 | name: 'car', |
| 376 | meta: { title: '车辆预约' } | 376 | meta: { title: '车辆预约' } |
| 377 | }, | 377 | }, |
| 378 | { | 378 | { |
| 379 | path: '3/:cptId', | 379 | path: 'dinner/:cptId', |
| 380 | component: () => import('@/viewsPc/booking/dinner'), | 380 | component: () => import('@/viewsPc/booking/dinner'), |
| 381 | name: 'dinner', | 381 | name: 'dinner', |
| 382 | meta: { title: '餐饮预订' } | 382 | meta: { title: '餐饮预订' } |
| 383 | }, | 383 | }, |
| 384 | { | 384 | { |
| 385 | path: '4/:cptId', | 385 | path: 'makeUp/:cptId', |
| 386 | component: () => import('@/viewsPc/booking/makeUp'), | 386 | component: () => import('@/viewsPc/booking/makeUp'), |
| 387 | name: 'makeUp', | 387 | name: 'makeUp', |
| 388 | meta: { title: '化妆预约' } | 388 | meta: { title: '化妆预约' } |
| 389 | }, | 389 | }, |
| 390 | { | 390 | { |
| 391 | path: '5/:cptId', | 391 | path: 'photography/:cptId', |
| 392 | component: () => import('@/viewsPc/booking/photo'), | 392 | component: () => import('@/viewsPc/booking/photography'), |
| 393 | name: 'photo', | 393 | name: 'photography', |
| 394 | meta: { title: '拍照预约' } | 394 | meta: { title: '拍照预约' } |
| 395 | }, | 395 | }, |
| 396 | ] | 396 | ] | ... | ... |
| ... | @@ -346,6 +346,49 @@ export const constantRoutes = [ | ... | @@ -346,6 +346,49 @@ export const constantRoutes = [ |
| 346 | ] | 346 | ] |
| 347 | }, | 347 | }, |
| 348 | { | 348 | { |
| 349 | path: 'booking', | ||
| 350 | component: Empty, | ||
| 351 | redirect: '/booking', | ||
| 352 | children: [ | ||
| 353 | { | ||
| 354 | path: 'ticket/:cptId', | ||
| 355 | component: () => import('@/viewsPc/booking/ticket'), | ||
| 356 | name: 'ticket', | ||
| 357 | meta: { title: 'Ticket Booking' } | ||
| 358 | }, | ||
| 359 | { | ||
| 360 | path: 'hotel/:cptId', | ||
| 361 | component: () => import('@/viewsPc/booking/hotel'), | ||
| 362 | name: 'hotel', | ||
| 363 | meta: { title: 'Hotel Reservation' } | ||
| 364 | }, | ||
| 365 | { | ||
| 366 | path: 'car/:cptId', | ||
| 367 | component: () => import('@/viewsPc/booking/car'), | ||
| 368 | name: 'car', | ||
| 369 | meta: { title: 'Vehicle Reservation' } | ||
| 370 | }, | ||
| 371 | { | ||
| 372 | path: 'dinner/:cptId', | ||
| 373 | component: () => import('@/viewsPc/booking/dinner'), | ||
| 374 | name: 'dinner', | ||
| 375 | meta: { title: 'Dining Reservation' } | ||
| 376 | }, | ||
| 377 | { | ||
| 378 | path: 'makeUp/:cptId', | ||
| 379 | component: () => import('@/viewsPc/booking/makeUp'), | ||
| 380 | name: 'makeUp', | ||
| 381 | meta: { title: 'Makeup Appointment' } | ||
| 382 | }, | ||
| 383 | { | ||
| 384 | path: 'photography/:cptId', | ||
| 385 | component: () => import('@/viewsPc/booking/photography'), | ||
| 386 | name: 'photography', | ||
| 387 | meta: { title: 'Photography Appointment' } | ||
| 388 | }, | ||
| 389 | ] | ||
| 390 | }, | ||
| 391 | { | ||
| 349 | path: 'center', | 392 | path: 'center', |
| 350 | component: () => import('@/viewsPc/center/index'), | 393 | component: () => import('@/viewsPc/center/index'), |
| 351 | children: [ | 394 | children: [ | ... | ... |
| ... | @@ -22,7 +22,7 @@ | ... | @@ -22,7 +22,7 @@ |
| 22 | </div> | 22 | </div> |
| 23 | <div class="noPicChooseForm"> | 23 | <div class="noPicChooseForm"> |
| 24 | <el-checkbox-group v-model="choosedchoosed" @change="changechoosed"> | 24 | <el-checkbox-group v-model="choosedchoosed" @change="changechoosed"> |
| 25 | <el-button plain @click="chooseSportman">+{{ language == 0 ? '选择' : 'add' }}</el-button> | 25 | <el-button ref="addBtnRef" plain @click="chooseSportman">+{{ language == 0 ? '选择' : 'add' }}</el-button> |
| 26 | <el-checkbox v-for="c in choosedListBak" :label="c.id" border> | 26 | <el-checkbox v-for="c in choosedListBak" :label="c.id" border> |
| 27 | <p class="name">{{ c.realName }} | 27 | <p class="name">{{ c.realName }} |
| 28 | <!-- ({{ c.sexStr }})--> | 28 | <!-- ({{ c.sexStr }})--> |
| ... | @@ -147,11 +147,7 @@ | ... | @@ -147,11 +147,7 @@ |
| 147 | 147 | ||
| 148 | <dialogAddCoach ref="dialogAddCoachRef"/> | 148 | <dialogAddCoach ref="dialogAddCoachRef"/> |
| 149 | <dialogAllSportsmanList ref="dialogAllSportsmanListRef" @transfer="getChoosed" @submitForm="getSignInfoList"/> | 149 | <dialogAllSportsmanList ref="dialogAllSportsmanListRef" @transfer="getChoosed" @submitForm="getSignInfoList"/> |
| 150 | |||
| 151 | <dialogMates ref="dialogMatesRef" @submitForm="getSignInfoList"/> | ||
| 152 | |||
| 153 | <dialogImport ref="dialogImportProps" @submitForm="getMySignInfo"/> | 150 | <dialogImport ref="dialogImportProps" @submitForm="getMySignInfo"/> |
| 154 | |||
| 155 | <el-dialog v-model="showResult" :close-on-click-modal="false" :show-close="false"> | 151 | <el-dialog v-model="showResult" :close-on-click-modal="false" :show-close="false"> |
| 156 | <el-result icon="success" :title="language==0?'报名成功':'Sign up successful'"> | 152 | <el-result icon="success" :title="language==0?'报名成功':'Sign up successful'"> |
| 157 | <template #extra> | 153 | <template #extra> |
| ... | @@ -162,6 +158,8 @@ | ... | @@ -162,6 +158,8 @@ |
| 162 | 158 | ||
| 163 | </el-dialog> | 159 | </el-dialog> |
| 164 | <dialogExtraForm ref="popExtraForm" @submitForm="getSignInfoList"/> | 160 | <dialogExtraForm ref="popExtraForm" @submitForm="getSignInfoList"/> |
| 161 | |||
| 162 | <!-- <el-tour v-model="openTour"></el-tour>--> | ||
| 165 | </div> | 163 | </div> |
| 166 | </template> | 164 | </template> |
| 167 | 165 | ||
| ... | @@ -173,7 +171,6 @@ import dialogAddCoach from './components/addCoach' | ... | @@ -173,7 +171,6 @@ import dialogAddCoach from './components/addCoach' |
| 173 | import dialogAllSportsmanList from './components/allSportsmanList' | 171 | import dialogAllSportsmanList from './components/allSportsmanList' |
| 174 | import dialogImport from './components/import' | 172 | import dialogImport from './components/import' |
| 175 | import dialogExtraForm from './components/extraForm' | 173 | import dialogExtraForm from './components/extraForm' |
| 176 | import dialogMates from './components/dialogMates' | ||
| 177 | import {Search, Switch} from "@element-plus/icons-vue"; | 174 | import {Search, Switch} from "@element-plus/icons-vue"; |
| 178 | 175 | ||
| 179 | const {proxy} = getCurrentInstance() | 176 | const {proxy} = getCurrentInstance() |
| ... | @@ -213,7 +210,6 @@ const data = reactive({ | ... | @@ -213,7 +210,6 @@ const data = reactive({ |
| 213 | showResult: false, | 210 | showResult: false, |
| 214 | showExtraForm: false, | 211 | showExtraForm: false, |
| 215 | loadingProject: false, | 212 | loadingProject: false, |
| 216 | extraTableHead: [], | ||
| 217 | activeTeam: '', | 213 | activeTeam: '', |
| 218 | names: {}, | 214 | names: {}, |
| 219 | choosedchoosed: [], | 215 | choosedchoosed: [], |
| ... | @@ -221,13 +217,13 @@ const data = reactive({ | ... | @@ -221,13 +217,13 @@ const data = reactive({ |
| 221 | projectList: [], | 217 | projectList: [], |
| 222 | choosed2List: [], | 218 | choosed2List: [], |
| 223 | choosed2Listbak: [], | 219 | choosed2Listbak: [], |
| 224 | projectQuery: {}, tableType: 1 | 220 | projectQuery: {}, tableType: 1, |
| 221 | openTour:true | ||
| 225 | }) | 222 | }) |
| 226 | const { | 223 | const { |
| 227 | activeTeam, names, tableData, signInfoList, zuTableList, choosedList,choosedListBak, showExtraForm, extraPersonInfoMapList, teamList, | 224 | activeTeam, names, tableData, signInfoList, zuTableList, choosedList,choosedListBak, |
| 228 | extraform, groupId, signType, coachOrLeaderFlag, showResult, noPhotoCanSign, extraTableHead, | 225 | extraform, groupId, signType, coachOrLeaderFlag, showResult, noPhotoCanSign, projectIds, choosedchoosed, activeStep, projectList, choosed2List,choosed2Listbak, loadingProject, |
| 229 | coachForm, projectIds, choosedchoosed, activeStep, projectList, choosed2List,choosed2Listbak, loadingProject, | 226 | projectQuery, tableType, athletesQuery, zuQuery,openTour |
| 230 | projectQuery, tableType, athletesQuery, zuQuery | ||
| 231 | } = toRefs(data) | 227 | } = toRefs(data) |
| 232 | const matchId = ref(route.query.matchId) | 228 | const matchId = ref(route.query.matchId) |
| 233 | let signInfoType = null | 229 | let signInfoType = null | ... | ... |
| 1 | <template> | ||
| 2 | <div class="collapsebox"> | ||
| 3 | <div class="pd20"> | ||
| 4 | <table class="table" cellspacing="0" cellpadding="0" v-if="list.length > 0"> | ||
| 5 | <tr v-if="language==0"> | ||
| 6 | <th>组别编号</th> | ||
| 7 | <th>组别名称</th> | ||
| 8 | <th>舞种</th> | ||
| 9 | <th>舞种明细</th> | ||
| 10 | <th>参赛性别</th> | ||
| 11 | <th>参赛年龄</th> | ||
| 12 | <th>服务费(元)</th> | ||
| 13 | </tr> | ||
| 14 | <tr v-else> | ||
| 15 | <th>Group code</th> | ||
| 16 | <th>Group</th> | ||
| 17 | <th>Dance Style</th> | ||
| 18 | <th>Dance Detail</th> | ||
| 19 | <th>Sex</th> | ||
| 20 | <th>Age</th> | ||
| 21 | <th>Registration Fee</th> | ||
| 22 | </tr> | ||
| 23 | <tr v-for="(p,index) in list" :key="index"> | ||
| 24 | <td>{{ p.code }}</td> | ||
| 25 | <td>{{ p.name }}</td> | ||
| 26 | <td>{{ p.danceType }}</td> | ||
| 27 | <td>{{ p.danceTypeDetailStr }}</td> | ||
| 28 | <td>{{ p.playTypeStr }}</td> | ||
| 29 | <td>{{ p.birthPeriod }}</td> | ||
| 30 | <td>{{ language==0?'¥':'€' }}{{ p.serviceFee }}</td> | ||
| 31 | </tr> | ||
| 32 | </table> | ||
| 33 | |||
| 34 | </div> | ||
| 35 | <el-empty :image="`/img/order_no.png`" :image-size="228" v-if="list.length == 0" description=""/> | ||
| 36 | </div> | ||
| 37 | </template> | ||
| 38 | |||
| 39 | <script setup> | ||
| 40 | import {useStorage} from "@vueuse/core/index" | ||
| 41 | const language= useStorage('language',0) | ||
| 42 | |||
| 43 | const props = defineProps({ | ||
| 44 | list: { | ||
| 45 | type: Array, | ||
| 46 | required: true, | ||
| 47 | default:[] | ||
| 48 | } | ||
| 49 | }) | ||
| 50 | </script> | ||
| 51 | |||
| 52 | <style scoped lang="scss"> | ||
| 53 | .table{width: 100%;border-left: 1px solid #e1e1e1;border-top:1px solid #e1e1e1; | ||
| 54 | th{background: #eee;padding: 6px 10px; | ||
| 55 | border-right: 1px solid #e1e1e1; | ||
| 56 | border-bottom:1px solid #e1e1e1; | ||
| 57 | font-size: 15px; | ||
| 58 | } | ||
| 59 | td{padding: 6px 10px;border-right: 1px solid #e1e1e1;font-size: 15px; | ||
| 60 | border-bottom:1px solid #e1e1e1;vertical-align: middle;text-align: center; | ||
| 61 | span{margin-right: 10px} | ||
| 62 | span::after{content: ','} | ||
| 63 | span:last-child::after{content: ''} | ||
| 64 | } | ||
| 65 | } | ||
| 66 | </style> |
| ... | @@ -20,9 +20,9 @@ | ... | @@ -20,9 +20,9 @@ |
| 20 | <script setup> | 20 | <script setup> |
| 21 | import {onMounted} from "@vue/runtime-core"; | 21 | import {onMounted} from "@vue/runtime-core"; |
| 22 | import * as match from "@/apiPc/match"; | 22 | import * as match from "@/apiPc/match"; |
| 23 | import cache from "@/plugins/cache"; | 23 | import {useStorage} from "@vueuse/core/index"; |
| 24 | 24 | ||
| 25 | const language = ref(cache.local.get('language') || 0) | 25 | const language= useStorage('language',0) |
| 26 | const props = defineProps({ | 26 | const props = defineProps({ |
| 27 | matchId: { | 27 | matchId: { |
| 28 | type: String, | 28 | type: String, | ... | ... |
| ... | @@ -36,31 +36,10 @@ | ... | @@ -36,31 +36,10 @@ |
| 36 | </el-link> | 36 | </el-link> |
| 37 | </div> | 37 | </div> |
| 38 | <div class="indexTitle" v-if="form.type==1&&form.cptProjectList?.length > 0"><h3 class="leftboderTT">竞赛项目</h3></div> | 38 | <div class="indexTitle" v-if="form.type==1&&form.cptProjectList?.length > 0"><h3 class="leftboderTT">竞赛项目</h3></div> |
| 39 | <div class="collapsebox" v-if="form.type==1&&form.cptProjectList?.length > 0"> | 39 | <div v-if="form.type==1&&form.cptProjectList?.length > 0"> |
| 40 | <div class="pd20"> | 40 | |
| 41 | <table class="table" cellspacing="0" cellpadding="0" v-if="form.cptProjectList?.length > 0"> | ||
| 42 | <tr> | ||
| 43 | <th>组别编号</th> | ||
| 44 | <th>组别名称</th> | ||
| 45 | <th>舞种</th> | ||
| 46 | <th>舞种明细</th> | ||
| 47 | <th>参赛性别</th> | ||
| 48 | <th>参赛年龄</th> | ||
| 49 | <th>服务费(元)</th> | ||
| 50 | </tr> | ||
| 51 | <tr v-for="(p,index) in form.cptProjectList" :key="index"> | ||
| 52 | <td>{{ p.code }}</td> | ||
| 53 | <td>{{ p.name }}</td> | ||
| 54 | <td>{{ p.danceType }}</td> | ||
| 55 | <td>{{ p.danceTypeDetailStr }}</td> | ||
| 56 | <td>{{ p.playTypeStr }}</td> | ||
| 57 | <td>{{ p.birthPeriod }}</td> | ||
| 58 | <td>{{ language==0?'¥':'€' }}{{ p.serviceFee }}</td> | ||
| 59 | </tr> | ||
| 60 | </table> | ||
| 61 | </div> | ||
| 62 | <el-empty :image="`/img/order_no.png`" :image-size="228" v-if="form.cptProjectList?.length == 0" description=""/> | ||
| 63 | </div> | 41 | </div> |
| 42 | |||
| 64 | </div> | 43 | </div> |
| 65 | <div style="padding: 0 20px 20px" v-else> | 44 | <div style="padding: 0 20px 20px" v-else> |
| 66 | <!--赛事详情--> | 45 | <!--赛事详情--> |
| ... | @@ -102,40 +81,18 @@ | ... | @@ -102,40 +81,18 @@ |
| 102 | </el-link> | 81 | </el-link> |
| 103 | </div> | 82 | </div> |
| 104 | <div class="indexTitle" v-if="form.type==1 && form.cptProjectList?.length > 0"><h3 class="leftboderTT">Event settings</h3></div> | 83 | <div class="indexTitle" v-if="form.type==1 && form.cptProjectList?.length > 0"><h3 class="leftboderTT">Event settings</h3></div> |
| 105 | <div class="collapsebox" v-if="form.type==1 && form.cptProjectList?.length > 0"> | 84 | <div v-if="form.type==1 && form.cptProjectList?.length > 0"> |
| 106 | 85 | <match-info-project-list :list="form.cptProjectList" /> | |
| 107 | <div class="pd20"> | ||
| 108 | <table class="table" cellspacing="0" cellpadding="0" v-if="form.cptProjectList?.length > 0"> | ||
| 109 | <tr> | ||
| 110 | <th>Group code</th> | ||
| 111 | <th>Group</th> | ||
| 112 | <th>Dance Style</th> | ||
| 113 | <th>Dance Detail</th> | ||
| 114 | <th>Sex</th> | ||
| 115 | <th>Age</th> | ||
| 116 | <th>Registration Fee</th> | ||
| 117 | </tr> | ||
| 118 | <tr v-for="(p,index) in form.cptProjectList" :key="index"> | ||
| 119 | <td>{{ p.code }}</td> | ||
| 120 | <td>{{ p.name }}</td> | ||
| 121 | <td>{{ p.danceType }}</td> | ||
| 122 | <td>{{ p.danceTypeDetailStr }}</td> | ||
| 123 | <td>{{ p.playTypeStr }}</td> | ||
| 124 | <td>{{ p.birthPeriod }}</td> | ||
| 125 | <td>{{ language==0?'¥':'€' }}{{ p.serviceFee }}</td> | ||
| 126 | </tr> | ||
| 127 | </table> | ||
| 128 | </div> | ||
| 129 | <el-empty :image="`/img/order_no.png`" :image-size="228" v-if="form.cptProjectList?.length == 0" description=" "/> | ||
| 130 | </div> | 86 | </div> |
| 131 | </div> | 87 | </div> |
| 132 | </template> | 88 | </template> |
| 133 | 89 | ||
| 134 | <script setup> | 90 | <script setup> |
| 135 | import {ref} from "vue"; | 91 | import {ref} from "vue"; |
| 136 | import cache from "@/plugins/cache"; | 92 | import MatchInfoProjectList from "@/viewsPc/match/components/matchInfo-projectList"; |
| 93 | import {useStorage} from "@vueuse/core/index"; | ||
| 137 | 94 | ||
| 138 | const language = ref(cache.local.get('language') || 0) | 95 | const language= useStorage('language',0) |
| 139 | const props = defineProps({ | 96 | const props = defineProps({ |
| 140 | form:{ | 97 | form:{ |
| 141 | type:Object, | 98 | type:Object, |
| ... | @@ -151,17 +108,5 @@ const props = defineProps({ | ... | @@ -151,17 +108,5 @@ const props = defineProps({ |
| 151 | color:var(--el-color-primary); | 108 | color:var(--el-color-primary); |
| 152 | } | 109 | } |
| 153 | } | 110 | } |
| 154 | .table{width: 100%;border-left: 1px solid #e1e1e1;border-top:1px solid #e1e1e1; | 111 | |
| 155 | th{background: #eee;padding: 6px 10px; | ||
| 156 | border-right: 1px solid #e1e1e1; | ||
| 157 | border-bottom:1px solid #e1e1e1; | ||
| 158 | font-size: 15px; | ||
| 159 | } | ||
| 160 | td{padding: 6px 10px;border-right: 1px solid #e1e1e1;font-size: 15px; | ||
| 161 | border-bottom:1px solid #e1e1e1;vertical-align: middle;text-align: center; | ||
| 162 | span{margin-right: 10px} | ||
| 163 | span::after{content: ','} | ||
| 164 | span:last-child::after{content: ''} | ||
| 165 | } | ||
| 166 | } | ||
| 167 | </style> | 112 | </style> | ... | ... |
| ... | @@ -79,9 +79,17 @@ | ... | @@ -79,9 +79,17 @@ |
| 79 | 79 | ||
| 80 | <script setup> | 80 | <script setup> |
| 81 | import {ElMessage} from "element-plus"; | 81 | import {ElMessage} from "element-plus"; |
| 82 | import cache from "@/plugins/cache"; | 82 | import {useRouter} from "vue-router"; |
| 83 | const language = ref(cache.local.get('language') || 0) | 83 | import {useStorage} from "@vueuse/core/index"; |
| 84 | 84 | const router = useRouter() | |
| 85 | const language= useStorage('language',0) | ||
| 86 | const props = defineProps({ | ||
| 87 | matchId: { | ||
| 88 | type: String, | ||
| 89 | required: true, | ||
| 90 | default: '0' | ||
| 91 | } | ||
| 92 | }) | ||
| 85 | function building() { | 93 | function building() { |
| 86 | ElMessage.warning('Building!') | 94 | ElMessage.warning('Building!') |
| 87 | } | 95 | } |
| ... | @@ -89,26 +97,32 @@ function goBooking(n) { | ... | @@ -89,26 +97,32 @@ function goBooking(n) { |
| 89 | switch (n) { | 97 | switch (n) { |
| 90 | case 0: | 98 | case 0: |
| 91 | // 票务 | 99 | // 票务 |
| 100 | router.push({path: `/booking/ticket/${props.matchId}`}) | ||
| 92 | break; | 101 | break; |
| 93 | case 1: | 102 | case 1: |
| 94 | //酒店 | 103 | //酒店 |
| 104 | router.push({path: `/booking/hotel/${props.matchId}`}) | ||
| 95 | break; | 105 | break; |
| 96 | case 2: | 106 | case 2: |
| 97 | //车辆 | 107 | //车辆 |
| 108 | router.push({path: `/booking/car/${props.matchId}`}) | ||
| 98 | break; | 109 | break; |
| 99 | case 4: | 110 | case 4: |
| 100 | //餐饮 | 111 | //餐饮 |
| 112 | router.push({path: `/booking/dining/${props.matchId}`}) | ||
| 101 | break; | 113 | break; |
| 102 | case 5: | 114 | case 5: |
| 103 | //化妆 | 115 | //化妆 |
| 116 | router.push({path: `/booking/makeup/${props.matchId}`}) | ||
| 104 | break; | 117 | break; |
| 105 | case 6: | 118 | case 6: |
| 106 | //拍照 | 119 | //拍照 |
| 120 | router.push({path: `/booking/photography/${props.matchId}`}) | ||
| 107 | break; | 121 | break; |
| 108 | } | 122 | } |
| 109 | } | 123 | } |
| 110 | </script> | 124 | </script> |
| 111 | 125 | ||
| 112 | <style scoped> | 126 | <style scoped lang="scss"> |
| 113 | 127 | h4{padding: 0 10px;} | |
| 114 | </style> | 128 | </style> | ... | ... |
| ... | @@ -62,7 +62,7 @@ const props = defineProps({ | ... | @@ -62,7 +62,7 @@ const props = defineProps({ |
| 62 | total:{ | 62 | total:{ |
| 63 | type: Number, | 63 | type: Number, |
| 64 | required: false, | 64 | required: false, |
| 65 | default: '0' | 65 | default: 0 |
| 66 | } | 66 | } |
| 67 | }) | 67 | }) |
| 68 | import cache from "@/plugins/cache"; | 68 | import cache from "@/plugins/cache"; | ... | ... |
| ... | @@ -48,7 +48,7 @@ | ... | @@ -48,7 +48,7 @@ |
| 48 | </el-row> | 48 | </el-row> |
| 49 | </el-card> | 49 | </el-card> |
| 50 | 50 | ||
| 51 | <quick-row/> | 51 | <quick-row :match-id="matchId"/> |
| 52 | 52 | ||
| 53 | <el-row :gutter="20" v-if="matchData.type=='0'"> | 53 | <el-row :gutter="20" v-if="matchData.type=='0'"> |
| 54 | <el-col :lg="18"> | 54 | <el-col :lg="18"> |
| ... | @@ -62,33 +62,7 @@ | ... | @@ -62,33 +62,7 @@ |
| 62 | </div> | 62 | </div> |
| 63 | <matchInfo :form="matchData" v-if="menu[0].active==1"/> | 63 | <matchInfo :form="matchData" v-if="menu[0].active==1"/> |
| 64 | <div v-if="menu[1].active==1"> | 64 | <div v-if="menu[1].active==1"> |
| 65 | <div class="collapsebox"> | 65 | <match-info-project-list :list="matchData.cptProjectList" /> |
| 66 | <div class="pd20"> | ||
| 67 | <table class="table" cellspacing="0" cellpadding="0" v-if="matchData.cptProjectList?.length > 0"> | ||
| 68 | <tr> | ||
| 69 | <th>组别编号</th> | ||
| 70 | <th>组别名称</th> | ||
| 71 | <th>舞种</th> | ||
| 72 | <th>舞种明细</th> | ||
| 73 | <th>参赛性别</th> | ||
| 74 | <th>参赛年龄</th> | ||
| 75 | <th>服务费(元)</th> | ||
| 76 | </tr> | ||
| 77 | <tr v-for="(p,index) in matchData.cptProjectList" :key="index"> | ||
| 78 | <td>{{ p.code }}</td> | ||
| 79 | <td>{{ p.name }}</td> | ||
| 80 | <td>{{ p.danceType }}</td> | ||
| 81 | <td>{{ p.danceTypeDetailStr }}</td> | ||
| 82 | <td>{{ p.playTypeStr }}</td> | ||
| 83 | <td>{{ p.birthPeriod }}</td> | ||
| 84 | <td>{{ language==0?'¥':'€' }}{{ p.serviceFee }}</td> | ||
| 85 | </tr> | ||
| 86 | </table> | ||
| 87 | </div> | ||
| 88 | |||
| 89 | <el-empty :image="`/img/order_no.png`" :image-size="228" v-if="matchData.cptProjectList?.length == 0" | ||
| 90 | description=" "/> | ||
| 91 | </div> | ||
| 92 | </div> | 66 | </div> |
| 93 | <match-schedule-list :match-data="matchData" v-if="menu[2].active==1"/> | 67 | <match-schedule-list :match-data="matchData" v-if="menu[2].active==1"/> |
| 94 | <div v-if="menu[3].active==1"> | 68 | <div v-if="menu[3].active==1"> |
| ... | @@ -173,6 +147,8 @@ import MatchInfo from '@/viewsPc/match/components/matchInfo' | ... | @@ -173,6 +147,8 @@ import MatchInfo from '@/viewsPc/match/components/matchInfo' |
| 173 | import MatchScheduleList from "@/viewsPc/match/components/matchScheduleList"; | 147 | import MatchScheduleList from "@/viewsPc/match/components/matchScheduleList"; |
| 174 | import MatchNews from "@/viewsPc/match/components/matchNews"; | 148 | import MatchNews from "@/viewsPc/match/components/matchNews"; |
| 175 | import SubstationList from "@/viewsPc/match/components/substation-list"; | 149 | import SubstationList from "@/viewsPc/match/components/substation-list"; |
| 150 | import MatchInfoProjectList from "@/viewsPc/match/components/matchInfo-projectList"; | ||
| 151 | import QuickRow from "@/viewsPc/match/components/quick-row"; | ||
| 176 | 152 | ||
| 177 | import {getCurrentInstance, ref} from 'vue' | 153 | import {getCurrentInstance, ref} from 'vue' |
| 178 | import {reactive, onMounted} from '@vue/runtime-core' | 154 | import {reactive, onMounted} from '@vue/runtime-core' |
| ... | @@ -185,7 +161,6 @@ import * as match from '@/apiPc/match' | ... | @@ -185,7 +161,6 @@ import * as match from '@/apiPc/match' |
| 185 | import {toRefs} from '@vueuse/shared' | 161 | import {toRefs} from '@vueuse/shared' |
| 186 | import {dayjs, ElMessage, ElMessageBox} from 'element-plus' | 162 | import {dayjs, ElMessage, ElMessageBox} from 'element-plus' |
| 187 | import useUserStore from "@/store/modules/user"; | 163 | import useUserStore from "@/store/modules/user"; |
| 188 | import QuickRow from "@/viewsPc/match/components/quick-row"; | ||
| 189 | import {isRelogin} from "@/utils/request"; | 164 | import {isRelogin} from "@/utils/request"; |
| 190 | 165 | ||
| 191 | const data = reactive({ | 166 | const data = reactive({ |
| ... | @@ -205,8 +180,6 @@ const data = reactive({ | ... | @@ -205,8 +180,6 @@ const data = reactive({ |
| 205 | time: '' | 180 | time: '' |
| 206 | }) | 181 | }) |
| 207 | const {loading,error,time, matchData, matchId, groupId, activeName2, popupGroupList, menu, menu1, signDoneGroupList} = toRefs(data) | 182 | const {loading,error,time, matchData, matchId, groupId, activeName2, popupGroupList, menu, menu1, signDoneGroupList} = toRefs(data) |
| 208 | import cache from "@/plugins/cache" | ||
| 209 | const language = ref(cache.local.get('language') || 0) | ||
| 210 | const group = useUserStore().group | 183 | const group = useUserStore().group |
| 211 | const user = useUserStore().user | 184 | const user = useUserStore().user |
| 212 | onMounted(() => { | 185 | onMounted(() => { | ... | ... |
| ... | @@ -51,7 +51,7 @@ | ... | @@ -51,7 +51,7 @@ |
| 51 | </el-row> | 51 | </el-row> |
| 52 | </el-card> | 52 | </el-card> |
| 53 | 53 | ||
| 54 | <quick-row/> | 54 | <quick-row :match-id="matchId"/> |
| 55 | 55 | ||
| 56 | <el-row :gutter="20" v-if="matchData.type=='0'"> | 56 | <el-row :gutter="20" v-if="matchData.type=='0'"> |
| 57 | <el-col :lg="18"> | 57 | <el-col :lg="18"> |
| ... | @@ -65,33 +65,7 @@ | ... | @@ -65,33 +65,7 @@ |
| 65 | </div> | 65 | </div> |
| 66 | <matchInfo :form="matchData" v-if="menu[0].active==1"/> | 66 | <matchInfo :form="matchData" v-if="menu[0].active==1"/> |
| 67 | <div v-if="menu[1].active==1"> | 67 | <div v-if="menu[1].active==1"> |
| 68 | <div class="collapsebox"> | 68 | <match-info-project-list :list="matchData.cptProjectList" /> |
| 69 | <div class="pd20"> | ||
| 70 | <table class="table" cellspacing="0" cellpadding="0" v-if="matchData.cptProjectList?.length > 0"> | ||
| 71 | <tr> | ||
| 72 | <th>Group code</th> | ||
| 73 | <th>Group</th> | ||
| 74 | <th>Dance Style</th> | ||
| 75 | <th>Dance Detail</th> | ||
| 76 | <th>Sex</th> | ||
| 77 | <th>Age</th> | ||
| 78 | <th>Registration Fee</th> | ||
| 79 | </tr> | ||
| 80 | <tr v-for="(p,index) in matchData.cptProjectList" :key="index"> | ||
| 81 | <td>{{ p.code }}</td> | ||
| 82 | <td>{{ p.name }}</td> | ||
| 83 | <td>{{ p.danceType }}</td> | ||
| 84 | <td>{{ p.danceTypeDetailStr }}</td> | ||
| 85 | <td>{{ p.playTypeStr }}</td> | ||
| 86 | <td>{{ p.birthPeriod }}</td> | ||
| 87 | <td>{{ language==0?'¥':'€' }}{{ p.serviceFee }}</td> | ||
| 88 | </tr> | ||
| 89 | </table> | ||
| 90 | </div> | ||
| 91 | |||
| 92 | <el-empty :image="`/img/order_no.png`" :image-size="228" v-if="matchData.cptProjectList?.length == 0" | ||
| 93 | description=" "/> | ||
| 94 | </div> | ||
| 95 | </div> | 69 | </div> |
| 96 | <match-schedule-list :match-data="matchData" v-if="menu[2].active==1"/> | 70 | <match-schedule-list :match-data="matchData" v-if="menu[2].active==1"/> |
| 97 | <div v-if="menu[3].active==1"> | 71 | <div v-if="menu[3].active==1"> |
| ... | @@ -125,7 +99,7 @@ | ... | @@ -125,7 +99,7 @@ |
| 125 | v-if="(signDoneGroupList==null)||(signDoneGroupList.length==0)" description=""/> | 99 | v-if="(signDoneGroupList==null)||(signDoneGroupList.length==0)" description=""/> |
| 126 | </div> | 100 | </div> |
| 127 | <div v-if="menu[4].active==1"> | 101 | <div v-if="menu[4].active==1"> |
| 128 | <!-- 成绩--> | 102 | <!--成绩--> |
| 129 | <el-empty :image="`/img/order_no.png`" :image-size="228" description=""/> | 103 | <el-empty :image="`/img/order_no.png`" :image-size="228" description=""/> |
| 130 | </div> | 104 | </div> |
| 131 | <div v-if="menu[5].active==1" class="pd20"> | 105 | <div v-if="menu[5].active==1" class="pd20"> |
| ... | @@ -189,6 +163,8 @@ import MatchInfo from '@/viewsPc/match/components/matchInfo' | ... | @@ -189,6 +163,8 @@ import MatchInfo from '@/viewsPc/match/components/matchInfo' |
| 189 | import MatchScheduleList from "@/viewsPc/match/components/matchScheduleList"; | 163 | import MatchScheduleList from "@/viewsPc/match/components/matchScheduleList"; |
| 190 | import MatchNews from "@/viewsPc/match/components/matchNews"; | 164 | import MatchNews from "@/viewsPc/match/components/matchNews"; |
| 191 | import SubstationList from "@/viewsPc/match/components/substation-list"; | 165 | import SubstationList from "@/viewsPc/match/components/substation-list"; |
| 166 | import MatchInfoProjectList from "@/viewsPc/match/components/matchInfo-projectList"; | ||
| 167 | import QuickRow from "@/viewsPc/match/components/quick-row"; | ||
| 192 | 168 | ||
| 193 | import {getCurrentInstance, ref} from 'vue' | 169 | import {getCurrentInstance, ref} from 'vue' |
| 194 | import {reactive, onMounted} from '@vue/runtime-core' | 170 | import {reactive, onMounted} from '@vue/runtime-core' |
| ... | @@ -201,7 +177,6 @@ import * as match from '@/apiPc/match' | ... | @@ -201,7 +177,6 @@ import * as match from '@/apiPc/match' |
| 201 | import {toRefs} from '@vueuse/shared' | 177 | import {toRefs} from '@vueuse/shared' |
| 202 | import {dayjs, ElMessage, ElMessageBox} from 'element-plus' | 178 | import {dayjs, ElMessage, ElMessageBox} from 'element-plus' |
| 203 | import useUserStore from "@/store/modules/user"; | 179 | import useUserStore from "@/store/modules/user"; |
| 204 | import QuickRow from "@/viewsPc/match/components/quick-row"; | ||
| 205 | 180 | ||
| 206 | const user = useUserStore().user | 181 | const user = useUserStore().user |
| 207 | const group = useUserStore().group | 182 | const group = useUserStore().group | ... | ... |
-
Please register or sign in to post a comment