空格
Showing
6 changed files
with
498 additions
and
282 deletions
| ... | @@ -24,7 +24,7 @@ | ... | @@ -24,7 +24,7 @@ |
| 24 | </el-col> | 24 | </el-col> |
| 25 | <el-col :span="24" style="border-top: 1px solid #d0d0d0"> | 25 | <el-col :span="24" style="border-top: 1px solid #d0d0d0"> |
| 26 | <div class="text-center copyright pd10">版权所有@无锡和畅赛事运营有限公司 | 26 | <div class="text-center copyright pd10">版权所有@无锡和畅赛事运营有限公司 |
| 27 |  &ensp | 27 |   |
| 28 | <a href="https://beian.miit.gov.cn/" target="_blank">ICP备案号:苏ICP备2023054420号-2</a></div> | 28 | <a href="https://beian.miit.gov.cn/" target="_blank">ICP备案号:苏ICP备2023054420号-2</a></div> |
| 29 | </el-col> | 29 | </el-col> |
| 30 | </el-row> | 30 | </el-row> |
| ... | @@ -88,20 +88,20 @@ | ... | @@ -88,20 +88,20 @@ |
| 88 | </div> | 88 | </div> |
| 89 | </div> | 89 | </div> |
| 90 | 90 | ||
| 91 | <a v-show="false" ref="aRef" :href="fillImgUrl(file[0]?.url)" target="_blank" /> | 91 | <a v-show="false" ref="aRef" :href="fillImgUrl(file[0]?.url)" target="_blank"/> |
| 92 | </div> | 92 | </div> |
| 93 | </template> | 93 | </template> |
| 94 | 94 | ||
| 95 | <script setup> | 95 | <script setup> |
| 96 | import { useStorage } from '@vueuse/core/index' | 96 | import {useStorage} from '@vueuse/core/index' |
| 97 | import { useRouter } from 'vue-router' | 97 | import {useRouter} from 'vue-router' |
| 98 | import { ElMessage } from 'element-plus' | 98 | import {ElMessage} from 'element-plus' |
| 99 | import { getCurrentInstance, ref } from '@vue/runtime-core' | 99 | import {getCurrentInstance, ref} from '@vue/runtime-core' |
| 100 | 100 | ||
| 101 | import { getMatchById, getppInfo, getZNList } from '@/apiPc/match' | 101 | import {getMatchById, getppInfo, getZNList} from '@/apiPc/match' |
| 102 | import { fillImgUrl } from '/@/utils/ruoyi' | 102 | import {fillImgUrl} from '/@/utils/ruoyi' |
| 103 | 103 | ||
| 104 | const { proxy } = getCurrentInstance() | 104 | const {proxy} = getCurrentInstance() |
| 105 | const router = useRouter() | 105 | const router = useRouter() |
| 106 | const language = useStorage('language', 0) | 106 | const language = useStorage('language', 0) |
| 107 | const goHelp = () => { | 107 | const goHelp = () => { |
| ... | @@ -115,7 +115,7 @@ const goHelp = () => { | ... | @@ -115,7 +115,7 @@ const goHelp = () => { |
| 115 | 115 | ||
| 116 | 116 | ||
| 117 | const file = ref({}) | 117 | const file = ref({}) |
| 118 | const goHelpZH = async() => { | 118 | const goHelpZH = async () => { |
| 119 | // ElMessage.success('已下载文件') | 119 | // ElMessage.success('已下载文件') |
| 120 | // router.push({ | 120 | // router.push({ |
| 121 | // name: 'guide', | 121 | // name: 'guide', |
| ... | @@ -123,7 +123,7 @@ const goHelpZH = async() => { | ... | @@ -123,7 +123,7 @@ const goHelpZH = async() => { |
| 123 | // index: 8 | 123 | // index: 8 |
| 124 | // } | 124 | // } |
| 125 | // }) | 125 | // }) |
| 126 | const res = await getZNList({ sortId: 30000009, language: 1 }) | 126 | const res = await getZNList({sortId: 30000009, language: 1}) |
| 127 | if (res.rows.length > 0) { | 127 | if (res.rows.length > 0) { |
| 128 | file.value = JSON.parse(res.rows[0].picUrl) | 128 | file.value = JSON.parse(res.rows[0].picUrl) |
| 129 | proxy.$refs['aRef'].click() | 129 | proxy.$refs['aRef'].click() | ... | ... |
| ... | @@ -4,40 +4,40 @@ | ... | @@ -4,40 +4,40 @@ |
| 4 | <el-col :span="6" :xs="24" class="colHight"> | 4 | <el-col :span="6" :xs="24" class="colHight"> |
| 5 | <div> | 5 | <div> |
| 6 | <div class="avatarBox"> | 6 | <div class="avatarBox"> |
| 7 | <userAvatar :user="state.user" /> | 7 | <userAvatar :user="state.user"/> |
| 8 | <h3 class="">{{ state.user.userName }}</h3> | 8 | <h3 class="">{{ state.user.userName }}</h3> |
| 9 | </div> | 9 | </div> |
| 10 | 10 | ||
| 11 | <div> | 11 | <div> |
| 12 | <ul class="list-group list-group-striped"> | 12 | <ul class="list-group list-group-striped"> |
| 13 | <li | 13 | <li |
| 14 | class="list-group-item" | ||
| 15 | :class="{ btn: index == 1 }" | 14 | :class="{ btn: index == 1 }" |
| 15 | class="list-group-item" | ||
| 16 | @click="index = 1" | 16 | @click="index = 1" |
| 17 | > | 17 | > |
| 18 | <i class="user01" />团体信息     | 18 | <i class="user01"/>团体信息 |
| 19 | </li> | 19 | </li> |
| 20 | <li | 20 | <li |
| 21 | class="list-group-item" | ||
| 22 | :class="{ btn: index == 2 }" | 21 | :class="{ btn: index == 2 }" |
| 22 | class="list-group-item" | ||
| 23 | @click="index = 2" | 23 | @click="index = 2" |
| 24 | > | 24 | > |
| 25 | <i class="user02" />会员认证     | 25 | <i class="user02"/>会员认证 |
| 26 | </li> | 26 | </li> |
| 27 | <li | 27 | <li |
| 28 | v-if="deptType==2||deptType==3" | 28 | v-if="deptType==2||deptType==3" |
| 29 | class="list-group-item" | ||
| 30 | :class="{ btn: index == 3 }" | 29 | :class="{ btn: index == 3 }" |
| 30 | class="list-group-item" | ||
| 31 | @click="index = 3" | 31 | @click="index = 3" |
| 32 | > | 32 | > |
| 33 | <i class="user03" />账户信息     | 33 | <i class="user03"/>账户信息 |
| 34 | </li> | 34 | </li> |
| 35 | <li | 35 | <li |
| 36 | class="list-group-item" | ||
| 37 | :class="{ btn: index == 4 }" | 36 | :class="{ btn: index == 4 }" |
| 37 | class="list-group-item" | ||
| 38 | @click="index = 4" | 38 | @click="index = 4" |
| 39 | > | 39 | > |
| 40 | <i class="user04" />账号与安全   | 40 | <i class="user04"/>账号与安全 |
| 41 | </li> | 41 | </li> |
| 42 | <!-- <li class="list-group-item"> | 42 | <!-- <li class="list-group-item"> |
| 43 | <svg-icon icon-class="peoples" /> | 43 | <svg-icon icon-class="peoples" /> |
| ... | @@ -60,21 +60,21 @@ | ... | @@ -60,21 +60,21 @@ |
| 60 | </div> | 60 | </div> |
| 61 | </template> --> | 61 | </template> --> |
| 62 | <div v-if="index == 1"> | 62 | <div v-if="index == 1"> |
| 63 | <Group /> | 63 | <Group/> |
| 64 | </div> | 64 | </div> |
| 65 | <div v-if="index == 2"> | 65 | <div v-if="index == 2"> |
| 66 | <Member :id="id" /> | 66 | <Member :id="id"/> |
| 67 | </div> | 67 | </div> |
| 68 | <div v-if="index == 3"> | 68 | <div v-if="index == 3"> |
| 69 | <Rates /> | 69 | <Rates/> |
| 70 | </div> | 70 | </div> |
| 71 | <div v-if="index == 4"> | 71 | <div v-if="index == 4"> |
| 72 | <el-tabs v-model="activeTab"> | 72 | <el-tabs v-model="activeTab"> |
| 73 | <el-tab-pane label="基本资料" name="userinfo"> | 73 | <el-tab-pane label="基本资料" name="userinfo"> |
| 74 | <userInfo style="min-height: 454px" :user="state.user" /> | 74 | <userInfo :user="state.user" style="min-height: 454px"/> |
| 75 | </el-tab-pane> | 75 | </el-tab-pane> |
| 76 | <el-tab-pane label="修改密码" name="resetPwd"> | 76 | <el-tab-pane label="修改密码" name="resetPwd"> |
| 77 | <resetPwd style="min-height: 454px" /> | 77 | <resetPwd style="min-height: 454px"/> |
| 78 | </el-tab-pane> | 78 | </el-tab-pane> |
| 79 | </el-tabs> | 79 | </el-tabs> |
| 80 | </div> | 80 | </div> |
| ... | @@ -83,8 +83,8 @@ | ... | @@ -83,8 +83,8 @@ |
| 83 | </div> | 83 | </div> |
| 84 | </template> | 84 | </template> |
| 85 | 85 | ||
| 86 | <script setup name="Profile"> | 86 | <script name="Profile" setup> |
| 87 | import { ref, reactive, computed, onMounted } from 'vue' | 87 | import {ref, reactive, computed, onMounted} from 'vue' |
| 88 | import UserAvatar from './userAvatar' | 88 | import UserAvatar from './userAvatar' |
| 89 | import UserInfo from './userInfo' | 89 | import UserInfo from './userInfo' |
| 90 | import ResetPwd from './resetPwd' | 90 | import ResetPwd from './resetPwd' |
| ... | @@ -92,8 +92,9 @@ import Group from './group.vue' | ... | @@ -92,8 +92,9 @@ import Group from './group.vue' |
| 92 | import Member from './member.vue' | 92 | import Member from './member.vue' |
| 93 | import Rates from './rates.vue' | 93 | import Rates from './rates.vue' |
| 94 | import useUserStore from '@/store/modules/user' | 94 | import useUserStore from '@/store/modules/user' |
| 95 | import { useRoute } from 'vue-router' | 95 | import {useRoute} from 'vue-router' |
| 96 | import { getUserProfile } from '@/api/system/user' | 96 | import {getUserProfile} from '@/api/system/user' |
| 97 | |||
| 97 | const route = useRoute() | 98 | const route = useRoute() |
| 98 | const deptType = computed(() => useUserStore().deptType) | 99 | const deptType = computed(() => useUserStore().deptType) |
| 99 | const index = ref(1) | 100 | const index = ref(1) |
| ... | @@ -119,29 +120,83 @@ function getUser() { | ... | @@ -119,29 +120,83 @@ function getUser() { |
| 119 | </script> | 120 | </script> |
| 120 | 121 | ||
| 121 | <style lang="scss" scoped> | 122 | <style lang="scss" scoped> |
| 122 | .user01{background: url("@/assets/admin/user01@2x.png") no-repeat center;background-size: contain;} | 123 | .user01 { |
| 123 | .user02{background: url("@/assets/admin/user02@2x.png") no-repeat center;background-size: contain;} | 124 | background: url("@/assets/admin/user01@2x.png") no-repeat center; |
| 124 | .user03{background: url("@/assets/admin/user03@2x.png") no-repeat center;background-size: contain;} | 125 | background-size: contain; |
| 125 | .user04{background: url("@/assets/admin/user04@2x.png") no-repeat center;background-size: contain;} | 126 | } |
| 127 | |||
| 128 | .user02 { | ||
| 129 | background: url("@/assets/admin/user02@2x.png") no-repeat center; | ||
| 130 | background-size: contain; | ||
| 131 | } | ||
| 132 | |||
| 133 | .user03 { | ||
| 134 | background: url("@/assets/admin/user03@2x.png") no-repeat center; | ||
| 135 | background-size: contain; | ||
| 136 | } | ||
| 137 | |||
| 138 | .user04 { | ||
| 139 | background: url("@/assets/admin/user04@2x.png") no-repeat center; | ||
| 140 | background-size: contain; | ||
| 141 | } | ||
| 142 | |||
| 126 | .list-group-item { | 143 | .list-group-item { |
| 127 | text-align: center;height: 60px;line-height: 60px; | 144 | text-align: center; |
| 128 | background: #FFFFFF;cursor: pointer; | 145 | height: 60px; |
| 129 | font-size: 18px;display: flex;align-items: center;justify-content: center; | 146 | line-height: 60px; |
| 130 | color: #000000;padding: 0;border: none; | 147 | background: #FFFFFF; |
| 131 | border-radius: 5px;margin-bottom: 17px; | 148 | cursor: pointer; |
| 132 | i{display: inline-block;width: 34px;height: 34px;margin-right: 20px;} | 149 | font-size: 18px; |
| 150 | display: flex; | ||
| 151 | align-items: center; | ||
| 152 | justify-content: center; | ||
| 153 | color: #000000; | ||
| 154 | padding: 0; | ||
| 155 | border: none; | ||
| 156 | border-radius: 5px; | ||
| 157 | margin-bottom: 17px; | ||
| 158 | |||
| 159 | i { | ||
| 160 | display: inline-block; | ||
| 161 | width: 34px; | ||
| 162 | height: 34px; | ||
| 163 | margin-right: 20px; | ||
| 164 | } | ||
| 165 | |||
| 133 | &.btn { | 166 | &.btn { |
| 134 | color: #fff;background: #1561CB; | 167 | color: #fff; |
| 135 | .user01{background: url("@/assets/admin/user01_dwn@2x.png") no-repeat center;background-size: contain;} | 168 | background: #1561CB; |
| 136 | .user02{background: url("@/assets/admin/user02_dwn@2x.png") no-repeat center;background-size: contain;} | 169 | |
| 137 | .user03{background: url("@/assets/admin/user03_dwn@2x.png") no-repeat center;background-size: contain;} | 170 | .user01 { |
| 138 | .user04{background: url("@/assets/admin/user04_dwn@2x.png") no-repeat center;background-size: contain;} | 171 | background: url("@/assets/admin/user01_dwn@2x.png") no-repeat center; |
| 172 | background-size: contain; | ||
| 173 | } | ||
| 174 | |||
| 175 | .user02 { | ||
| 176 | background: url("@/assets/admin/user02_dwn@2x.png") no-repeat center; | ||
| 177 | background-size: contain; | ||
| 178 | } | ||
| 179 | |||
| 180 | .user03 { | ||
| 181 | background: url("@/assets/admin/user03_dwn@2x.png") no-repeat center; | ||
| 182 | background-size: contain; | ||
| 183 | } | ||
| 184 | |||
| 185 | .user04 { | ||
| 186 | background: url("@/assets/admin/user04_dwn@2x.png") no-repeat center; | ||
| 187 | background-size: contain; | ||
| 188 | } | ||
| 139 | } | 189 | } |
| 140 | } | 190 | } |
| 191 | |||
| 141 | .colHight { | 192 | .colHight { |
| 142 | height: 800px; | 193 | height: 800px; |
| 143 | } | 194 | } |
| 144 | .avatarBox{background: url("@/assets/admin/user_bg@2x.png") no-repeat center;background-size: cover; | 195 | |
| 145 | text-align: center;padding: 30px 0 10px; | 196 | .avatarBox { |
| 197 | background: url("@/assets/admin/user_bg@2x.png") no-repeat center; | ||
| 198 | background-size: cover; | ||
| 199 | text-align: center; | ||
| 200 | padding: 30px 0 10px; | ||
| 146 | } | 201 | } |
| 147 | </style> | 202 | </style> | ... | ... |
| ... | @@ -4,21 +4,30 @@ | ... | @@ -4,21 +4,30 @@ |
| 4 | <el-row> | 4 | <el-row> |
| 5 | <el-col v-for="(d,i) in listData" :key="i" :lg="24" :sm="24"> | 5 | <el-col v-for="(d,i) in listData" :key="i" :lg="24" :sm="24"> |
| 6 | <div class="person-item"> | 6 | <div class="person-item"> |
| 7 | <img v-if="d.photo" class="photo" :src="fillImgUrl(d.photo)"> | 7 | <img v-if="d.photo" :src="fillImgUrl(d.photo)" class="photo"> |
| 8 | <img v-else class="photo" style="object-fit: contain;background: #fff;" src="@/assets/v1/default.png"> | 8 | <img v-else class="photo" src="@/assets/v1/default.png" style="object-fit: contain;background: #fff;"> |
| 9 | <div class="info"> | 9 | <div class="info"> |
| 10 | <div class="name">{{ d.name }} | 10 | <div class="name">{{ d.name }} |
| 11 | <el-image v-if="d.sex=='0'||d.sex=='1'" style="width: 20px;height: 20px;margin-left: 10px" :src="d.sex=='0'?male:female" /> | 11 | <el-image |
| 12 | v-if="d.sex=='0'||d.sex=='1'" :src="d.sex=='0'?male:female" | ||
| 13 | style="width: 20px;height: 20px;margin-left: 10px" | ||
| 14 | /> | ||
| 12 | </div> | 15 | </div> |
| 13 | <div class="flex"> | 16 | <div class="flex"> |
| 14 | <div> | 17 | <div> |
| 15 | <el-form-item label="会员编号:">{{ d.perCode }}</el-form-item> | 18 | <el-form-item label="会员编号:">{{ d.perCode }}</el-form-item> |
| 16 | <el-form-item label="出生日期:">{{ parseTime(d.birth,'{y}-{m}-{d}') }}</el-form-item> | 19 | <el-form-item label="出生日期:">{{ parseTime(d.birth, '{y}-{m}-{d}') }}</el-form-item> |
| 17 | </div> | 20 | </div> |
| 18 | <div> | 21 | <div> |
| 19 | <el-form-item label="  注册时间:">{{ parseTime(d.createTime,'{y}-{m}-{d}') }}</el-form-item> | 22 | <el-form-item label=" 注册时间:">{{ |
| 20 | <el-form-item label="有效期截止:">{{ parseTime(d.validityDate,'{y}-{m}-{d}')||'--' }}</el-form-item> | 23 | parseTime(d.createTime, '{y}-{m}-{d}') |
| 21 | 24 | }} | |
| 25 | </el-form-item> | ||
| 26 | <el-form-item label="有效期截止:">{{ | ||
| 27 | parseTime(d.validityDate, '{y}-{m}-{d}') || '--' | ||
| 28 | }} | ||
| 29 | </el-form-item> | ||
| 30 | |||
| 22 | </div> | 31 | </div> |
| 23 | <div style="width: 170px"> | 32 | <div style="width: 170px"> |
| 24 | <!-- <div v-if="d.canDownCert=='1'" class="vipDownLoad" @click="vipDownLoad(d.perId)">--> | 33 | <!-- <div v-if="d.canDownCert=='1'" class="vipDownLoad" @click="vipDownLoad(d.perId)">--> |
| ... | @@ -26,7 +35,7 @@ | ... | @@ -26,7 +35,7 @@ |
| 26 | <!-- </div>--> | 35 | <!-- </div>--> |
| 27 | </div> | 36 | </div> |
| 28 | </div> | 37 | </div> |
| 29 | 38 | ||
| 30 | </div> | 39 | </div> |
| 31 | </div> | 40 | </div> |
| 32 | </el-col> | 41 | </el-col> |
| ... | @@ -36,27 +45,31 @@ | ... | @@ -36,27 +45,31 @@ |
| 36 | <el-row> | 45 | <el-row> |
| 37 | <el-col v-for="(d,i) in listData" :key="i" :lg="24" :sm="24"> | 46 | <el-col v-for="(d,i) in listData" :key="i" :lg="24" :sm="24"> |
| 38 | <div class="person-item"> | 47 | <div class="person-item"> |
| 39 | <img v-if="d.photo" class="photo" :src="fillImgUrl(d.photo)"> | 48 | <img v-if="d.photo" :src="fillImgUrl(d.photo)" class="photo"> |
| 40 | <img v-else src="@/assets/v1/default.png"> | 49 | <img v-else src="@/assets/v1/default.png"> |
| 41 | <div class="info"> | 50 | <div class="info"> |
| 42 | <div class="name">{{ d.name }} | 51 | <div class="name">{{ d.name }} |
| 43 | <el-image v-if="d.sex=='0'||d.sex=='1'" style="width: 20px;height: 20px;margin-left: 10px" :src="d.sex=='0'?male:female" /> | 52 | <el-image |
| 53 | v-if="d.sex=='0'||d.sex=='1'" :src="d.sex=='0'?male:female" | ||
| 54 | style="width: 20px;height: 20px;margin-left: 10px" | ||
| 55 | /> | ||
| 44 | </div> | 56 | </div> |
| 45 | 57 | ||
| 46 | <div> | 58 | <div> |
| 47 | <el-form-item label="编号:">{{ d.perCode }}</el-form-item> | 59 | <el-form-item label="编号:">{{ d.perCode }}</el-form-item> |
| 48 | <el-form-item label="出生日期:">{{ parseTime(d.birth,'{y}-{m}-{d}') }}</el-form-item> | 60 | <el-form-item label="出生日期:">{{ parseTime(d.birth, '{y}-{m}-{d}') }}</el-form-item> |
| 49 | <el-form-item label="注册时间:">{{ parseTime(d.createTime,'{y}-{m}-{d}') }}</el-form-item> | 61 | <el-form-item label="注册时间:">{{ parseTime(d.createTime, '{y}-{m}-{d}') }}</el-form-item> |
| 50 | <el-form-item label="有效期截止:">{{ parseTime(d.validityDate,'{y}-{m}-{d}') }}</el-form-item> | 62 | <el-form-item label="有效期截止:">{{ parseTime(d.validityDate, '{y}-{m}-{d}') }}</el-form-item> |
| 51 | </div> | 63 | </div> |
| 52 | <div v-if="d.canDownCert=='1'" class="vipDownLoad" @click="vipDownLoad(d.perId)"> | 64 | <div v-if="d.canDownCert=='1'" class="vipDownLoad" @click="vipDownLoad(d.perId)"> |
| 53 | <i />会员证 | 65 | <i />会员证 |
| 54 | </div> | 66 | </div> |
| 55 | </div> | 67 | </div> |
| 56 | 68 | ||
| 57 | </div> | 69 | </div> |
| 58 | </el-col> | 70 | </el-col> |
| 59 | </el-row></div> | 71 | </el-row> |
| 72 | </div> | ||
| 60 | <div v-if="!loading" class="text-center pd20"> | 73 | <div v-if="!loading" class="text-center pd20"> |
| 61 | <el-divider> | 74 | <el-divider> |
| 62 | <span v-if="showMore" @click="handleQuery">加载更多</span> | 75 | <span v-if="showMore" @click="handleQuery">加载更多</span> |
| ... | @@ -80,22 +93,24 @@ const props = defineProps({ | ... | @@ -80,22 +93,24 @@ const props = defineProps({ |
| 80 | query: { | 93 | query: { |
| 81 | required: true, | 94 | required: true, |
| 82 | type: Object, | 95 | type: Object, |
| 83 | default: () => {} | 96 | default: () => { |
| 97 | } | ||
| 84 | } | 98 | } |
| 85 | }) | 99 | }) |
| 86 | 100 | ||
| 87 | const listData = ref([]) | 101 | const listData = ref([]) |
| 88 | const showMore = ref(false) | 102 | const showMore = ref(false) |
| 89 | const loading = ref(false) | 103 | const loading = ref(false) |
| 104 | |||
| 90 | function handleQuery() { | 105 | function handleQuery() { |
| 91 | loading.value = true | 106 | loading.value = true |
| 92 | queryParams.pageNum++ | 107 | queryParams.pageNum++ |
| 93 | 108 | ||
| 94 | authentic.query(queryParams).then((res) => { | 109 | authentic.query(queryParams).then((res) => { |
| 95 | _.each(res.data.personalList.rows, (r) => { | 110 | _.each(res.data.personalList.rows, (r) => { |
| 96 | listData.value.push(r) | 111 | listData.value.push(r) |
| 97 | }) | 112 | }) |
| 98 | 113 | ||
| 99 | showMore.value = listData.value.length < res.data.personalList.total | 114 | showMore.value = listData.value.length < res.data.personalList.total |
| 100 | loading.value = false | 115 | loading.value = false |
| 101 | }) | 116 | }) |
| ... | @@ -106,6 +121,7 @@ function vipDownLoad(perId) { | ... | @@ -106,6 +121,7 @@ function vipDownLoad(perId) { |
| 106 | } | 121 | } |
| 107 | 122 | ||
| 108 | let queryParams = {} | 123 | let queryParams = {} |
| 124 | |||
| 109 | function init() { | 125 | function init() { |
| 110 | queryParams = { | 126 | queryParams = { |
| 111 | pageNum: 0, | 127 | pageNum: 0, |
| ... | @@ -114,39 +130,79 @@ function init() { | ... | @@ -114,39 +130,79 @@ function init() { |
| 114 | name: props.query.name | 130 | name: props.query.name |
| 115 | } | 131 | } |
| 116 | listData.value = [] | 132 | listData.value = [] |
| 117 | 133 | ||
| 118 | handleQuery() | 134 | handleQuery() |
| 119 | } | 135 | } |
| 136 | |||
| 120 | defineExpose({ | 137 | defineExpose({ |
| 121 | init | 138 | init |
| 122 | }) | 139 | }) |
| 123 | </script> | 140 | </script> |
| 124 | 141 | ||
| 125 | <style scoped lang="scss"> | 142 | <style lang="scss" scoped> |
| 126 | .flex{display: flex;justify-content: space-between;} | 143 | .flex { |
| 127 | .person-item{position:relative; | 144 | display: flex; |
| 128 | display: flex;margin: 30px 0;background: #F5F7F9; | 145 | justify-content: space-between; |
| 129 | border-radius: 2px;padding: 10px 20px; | 146 | } |
| 130 | .photo{width: 100px; height: 130px} | 147 | |
| 131 | .info{margin-left: 20px;width: 90%; | 148 | .person-item { |
| 132 | .name{font-size: 24px;display: flex;align-items: center; | 149 | position: relative; |
| 133 | margin: 10px 0;} | 150 | display: flex; |
| 134 | .el-form-item--default{margin-bottom: 0;} | 151 | margin: 30px 0; |
| 152 | background: #F5F7F9; | ||
| 153 | border-radius: 2px; | ||
| 154 | padding: 10px 20px; | ||
| 155 | |||
| 156 | .photo { | ||
| 157 | width: 100px; | ||
| 158 | height: 130px | ||
| 159 | } | ||
| 160 | |||
| 161 | .info { | ||
| 162 | margin-left: 20px; | ||
| 163 | width: 90%; | ||
| 164 | |||
| 165 | .name { | ||
| 166 | font-size: 24px; | ||
| 167 | display: flex; | ||
| 168 | align-items: center; | ||
| 169 | margin: 10px 0; | ||
| 170 | } | ||
| 171 | |||
| 172 | .el-form-item--default { | ||
| 173 | margin-bottom: 0; | ||
| 135 | } | 174 | } |
| 136 | .el-form-item__content{ | ||
| 137 | font-size: 18px; | ||
| 138 | color: #95A1A6;} | ||
| 139 | } | 175 | } |
| 140 | @media (max-width: 500px) { | 176 | |
| 141 | .forWei{background: #F7F8FA;} | 177 | .el-form-item__content { |
| 142 | .person-item{margin: 15px 0;background: #fff; | 178 | font-size: 18px; |
| 143 | .photo{width: 120px;height: 140px;} | 179 | color: #95A1A6; |
| 144 | .info{margin-left: 15px; | 180 | } |
| 145 | .name{font-size: 18px} | 181 | } |
| 146 | } | 182 | |
| 183 | @media (max-width: 500px) { | ||
| 184 | .forWei { | ||
| 185 | background: #F7F8FA; | ||
| 186 | } | ||
| 187 | .person-item { | ||
| 188 | margin: 15px 0; | ||
| 189 | background: #fff; | ||
| 190 | |||
| 191 | .photo { | ||
| 192 | width: 120px; | ||
| 193 | height: 140px; | ||
| 147 | } | 194 | } |
| 148 | :deep(.el-form-item--default .el-form-item__label){ | 195 | |
| 149 | padding: 0; | 196 | .info { |
| 197 | margin-left: 15px; | ||
| 198 | |||
| 199 | .name { | ||
| 200 | font-size: 18px | ||
| 201 | } | ||
| 150 | } | 202 | } |
| 151 | } | 203 | } |
| 204 | :deep(.el-form-item--default .el-form-item__label) { | ||
| 205 | padding: 0; | ||
| 206 | } | ||
| 207 | } | ||
| 152 | </style> | 208 | </style> | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <div class="pv20"> | 2 | <div class="pv20"> |
| 3 | <div class="matchItem" v-for="n in list" :key="n.id" @click="goDetail(n.id)"> | 3 | <div v-for="n in list" :key="n.id" class="matchItem" @click="goDetail(n.id)"> |
| 4 | <el-row :gutter="15"> | 4 | <el-row :gutter="15"> |
| 5 | <el-col :lg="7" :md="24" :xl="6"> | 5 | <el-col :lg="7" :md="24" :xl="6"> |
| 6 | <div class="popo"> | 6 | <div class="popo"> |
| 7 | <el-tag v-if="n.signType==0">{{ language==0?'个人':'Individual' }}</el-tag> | 7 | <el-tag v-if="n.signType==0">{{ language == 0 ? '个人' : 'Individual' }}</el-tag> |
| 8 | <el-tag v-if="n.signType==1">{{ language==0?'团体':'Team' }}</el-tag> | 8 | <el-tag v-if="n.signType==1">{{ language == 0 ? '团体' : 'Team' }}</el-tag> |
| 9 | <el-tag v-if="n.signType==2">{{ language==0?'个人/团体':'Individual/Team' }}</el-tag> | 9 | <el-tag v-if="n.signType==2">{{ language == 0 ? '个人/团体' : 'Individual/Team' }}</el-tag> |
| 10 | </div> | 10 | </div> |
| 11 | <img class="mauto mw100 coverLimitHeight" :src="fillImgUrl(n.coverUrl)"> | 11 | <img :src="fillImgUrl(n.coverUrl)" class="mauto mw100 coverLimitHeight"> |
| 12 | </el-col> | 12 | </el-col> |
| 13 | <el-col :lg="9" :md="12" :xl="12"> | 13 | <el-col :lg="9" :md="12" :xl="12"> |
| 14 | <div class="info"> | 14 | <div class="info"> |
| 15 | <h3 class="esp">{{ n.name }}</h3> | 15 | <h3 class="esp">{{ n.name }}</h3> |
| 16 | <p class="ppl"><label>{{language==0?'赛事级别':'EVENT LEVEL'}}:</label>{{n.level}}</p> | 16 | <p class="ppl"><label>{{ language == 0 ? '赛事级别' : 'EVENT LEVEL' }}:</label>{{ n.level }}</p> |
| 17 | <p class="ppl"><label>{{ language==0?'赛事时间':'COMPETITION DATE' }}:</label>{{n.beginTime?.slice(0,10)}} ~ {{ n.endTime?.slice(0,10) }}</p> | 17 | <p class="ppl"><label>{{ |
| 18 | <p class="ppl esp"><label>{{ language==0?'地    点':'LOCATION' }}:</label>{{ n.address }}</p> | 18 | language == 0 ? '赛事时间' : 'COMPETITION DATE' |
| 19 | <!-- <p class="ppl"><label>{{ language==0?'报名截止':'Registration Deadline' }}:</label>{{ n.signEndTime?.slice(0,10) }}</p>--> | 19 | }}:</label>{{ n.beginTime?.slice(0, 10) }} ~ {{ n.endTime?.slice(0, 10) }}</p> |
| 20 | <p class="ppl" v-if="n.contactPerson"><label>{{ language==0?'联 系 人':'CONTACT PERSON' }}:</label>{{ n.contactPerson }}</p> | 20 | <p class="ppl esp"><label>{{ |
| 21 | <p class="ppl"><label>{{ language==0?'联系电话':'TEL' }}:</label>086-{{ n.contactTelno }}</p> | 21 | language == 0 ? '地 点' : 'LOCATION' |
| 22 | <p class="ppl" v-if="n.contactEmail"><label>{{ language==0?'邮    箱':'EMAIL' }}:</label>{{ n.contactEmail }}</p> | 22 | }}:</label>{{ n.address }}</p> |
| 23 | 23 | <!-- <p class="ppl"><label>{{ language==0?'报名截止':'Registration Deadline' }}:</label>{{ n.signEndTime?.slice(0,10) }}</p>--> | |
| 24 | <p v-if="n.contactPerson" class="ppl"><label>{{ | ||
| 25 | language == 0 ? '联 系 人' : 'CONTACT PERSON' | ||
| 26 | }}:</label>{{ n.contactPerson }}</p> | ||
| 27 | <p class="ppl"><label>{{ language == 0 ? '联系电话' : 'TEL' }}:</label>086-{{ n.contactTelno }}</p> | ||
| 28 | <p v-if="n.contactEmail" class="ppl"><label>{{ | ||
| 29 | language == 0 ? '邮 箱' : 'EMAIL' | ||
| 30 | }}:</label>{{ n.contactEmail }}</p> | ||
| 31 | |||
| 24 | </div> | 32 | </div> |
| 25 | </el-col> | 33 | </el-col> |
| 26 | <el-col :lg="8" :md="12" :xl="6"> | 34 | <el-col :lg="8" :md="12" :xl="6"> |
| ... | @@ -31,41 +39,44 @@ | ... | @@ -31,41 +39,44 @@ |
| 31 | <van-count-down :time="n.time" format="DD 天 HH 时 mm 分 ss 秒"> | 39 | <van-count-down :time="n.time" format="DD 天 HH 时 mm 分 ss 秒"> |
| 32 | <template #default="timeData"> | 40 | <template #default="timeData"> |
| 33 | <span class="block">{{ timeData.days }}</span> | 41 | <span class="block">{{ timeData.days }}</span> |
| 34 | <span class="colon">{{ language==0?'天':'Days' }}</span> | 42 | <span class="colon">{{ language == 0 ? '天' : 'Days' }}</span> |
| 35 | <span class="block">{{ timeData.hours }}</span> | 43 | <span class="block">{{ timeData.hours }}</span> |
| 36 | <span class="colon">{{ language==0?'时':'Hrs' }}</span> | 44 | <span class="colon">{{ language == 0 ? '时' : 'Hrs' }}</span> |
| 37 | <span class="block">{{ timeData.minutes }}</span> | 45 | <span class="block">{{ timeData.minutes }}</span> |
| 38 | <span class="colon">{{ language==0?'分':'Min' }}</span> | 46 | <span class="colon">{{ language == 0 ? '分' : 'Min' }}</span> |
| 39 | <span class="block">{{ timeData.seconds }}</span> | 47 | <span class="block">{{ timeData.seconds }}</span> |
| 40 | <span class="colon">{{ language==0?'秒':'Sec' }}</span> | 48 | <span class="colon">{{ language == 0 ? '秒' : 'Sec' }}</span> |
| 41 | </template> | 49 | </template> |
| 42 | </van-count-down> | 50 | </van-count-down> |
| 43 | 51 | ||
| 44 | <div class="text-center mt30"> | 52 | <div class="text-center mt30"> |
| 45 | <a class="btn-lineG mb20 mauto" style="display: block;" v-if="n.time>0"> | 53 | <a v-if="n.time>0" class="btn-lineG mb20 mauto" style="display: block;"> |
| 46 | <span v-if="n.time>0 && n.startSign<=0"> {{ language==0?'我要报名':'REGISTER' }}</span> | 54 | <span v-if="n.time>0 && n.startSign<=0"> {{ language == 0 ? '我要报名' : 'REGISTER' }}</span> |
| 47 | 55 | ||
| 48 | <span v-if="n.startSign>0"> {{ language==0?'报名未开始':'Not started yet' }}</span> | 56 | <span v-if="n.startSign>0"> {{ language == 0 ? '报名未开始' : 'Not started yet' }}</span> |
| 49 | </a> | 57 | </a> |
| 50 | <div v-else style="opacity: 0.5;" class="btn-lineG mb20 mauto text-center"> | 58 | <div v-else class="btn-lineG mb20 mauto text-center" style="opacity: 0.5;"> |
| 51 | {{ language == 0 ? '报名已结束' : 'Registration has ended' }} | 59 | {{ language == 0 ? '报名已结束' : 'Registration has ended' }} |
| 52 | </div> | 60 | </div> |
| 53 | <p class="text-gray uppercase">{{ language==0?'报名截止':'Registration Deadline' }}:{{ n.signEndTime?.slice(0,10) }}</p> | 61 | <p class="text-gray uppercase">{{ |
| 62 | language == 0 ? '报名截止' : 'Registration Deadline' | ||
| 63 | }}:{{ n.signEndTime?.slice(0, 10) }}</p> | ||
| 54 | </div> | 64 | </div> |
| 55 | </el-col> | 65 | </el-col> |
| 56 | </el-row> | 66 | </el-row> |
| 57 | </div> | 67 | </div> |
| 58 | </div> | 68 | </div> |
| 59 | 69 | ||
| 60 | <el-empty :image="`/img/order_no.png`" :image-size="228" v-if="list?.length == 0" description=" "/> | 70 | <el-empty v-if="list?.length == 0" :image="`/img/order_no.png`" :image-size="228" description=" " /> |
| 61 | </template> | 71 | </template> |
| 62 | 72 | ||
| 63 | <script setup> | 73 | <script setup> |
| 64 | import {ref} from "vue"; | 74 | import { ref } from 'vue' |
| 65 | import {onMounted} from "@vue/runtime-core"; | 75 | import { onMounted } from '@vue/runtime-core' |
| 66 | import {dayjs} from "element-plus" | 76 | import { dayjs } from 'element-plus' |
| 67 | import {useStorage} from "@vueuse/core/index"; | 77 | import { useStorage } from '@vueuse/core/index' |
| 68 | const language= useStorage('language',0) | 78 | |
| 79 | const language = useStorage('language', 0) | ||
| 69 | 80 | ||
| 70 | const router = useRouter() | 81 | const router = useRouter() |
| 71 | const time = ref(0) | 82 | const time = ref(0) |
| ... | @@ -75,13 +86,14 @@ const props = defineProps({ | ... | @@ -75,13 +86,14 @@ const props = defineProps({ |
| 75 | required: true | 86 | required: true |
| 76 | } | 87 | } |
| 77 | }) | 88 | }) |
| 78 | onMounted(()=>{ | 89 | onMounted(() => { |
| 79 | for(let n of props.list){ | 90 | for (const n of props.list) { |
| 80 | var today = dayjs().format('YYYY-MM-DD HH:mm:ss') | 91 | var today = dayjs().format('YYYY-MM-DD HH:mm:ss') |
| 81 | n.time = dayjs(n.signEndTime).diff(today, 'millisecond') | 92 | n.time = dayjs(n.signEndTime).diff(today, 'millisecond') |
| 82 | n.startSign = dayjs(n.signBeginTime).diff(today, 'millisecond') | 93 | n.startSign = dayjs(n.signBeginTime).diff(today, 'millisecond') |
| 83 | } | 94 | } |
| 84 | }) | 95 | }) |
| 96 | |||
| 85 | function goDetail(id) { | 97 | function goDetail(id) { |
| 86 | const routeData = router.resolve({ | 98 | const routeData = router.resolve({ |
| 87 | path: `/match/list/${id}` | 99 | path: `/match/list/${id}` |
| ... | @@ -90,50 +102,69 @@ function goDetail(id) { | ... | @@ -90,50 +102,69 @@ function goDetail(id) { |
| 90 | } | 102 | } |
| 91 | </script> | 103 | </script> |
| 92 | 104 | ||
| 93 | <style scoped lang="scss"> | 105 | <style lang="scss" scoped> |
| 94 | .pv20{padding: 0 20px;} | 106 | .pv20 { |
| 95 | .mt60{margin-top: 60px} | 107 | padding: 0 20px; |
| 108 | } | ||
| 109 | |||
| 110 | .mt60 { | ||
| 111 | margin-top: 60px | ||
| 112 | } | ||
| 113 | |||
| 96 | .matchItem { | 114 | .matchItem { |
| 97 | cursor: pointer;padding: 0 0 20px; | 115 | cursor: pointer; |
| 98 | background: #FFFFFF;border-bottom: 1px solid #e5e5e5; | 116 | padding: 0 0 20px; |
| 117 | background: #FFFFFF; | ||
| 118 | border-bottom: 1px solid #e5e5e5; | ||
| 99 | position: relative; | 119 | position: relative; |
| 100 | .el-col{padding-top: 20px} | 120 | |
| 101 | .countDownTitle{margin: 0} | 121 | .el-col { |
| 122 | padding-top: 20px | ||
| 123 | } | ||
| 124 | |||
| 125 | .countDownTitle { | ||
| 126 | margin: 0 | ||
| 127 | } | ||
| 128 | |||
| 102 | &:last-child { | 129 | &:last-child { |
| 103 | border-bottom: none; | 130 | border-bottom: none; |
| 104 | } | 131 | } |
| 132 | |||
| 105 | .el-avatar { | 133 | .el-avatar { |
| 106 | position: absolute; | 134 | position: absolute; |
| 107 | left: 20px; | 135 | left: 20px; |
| 108 | top: 30px; | 136 | top: 30px; |
| 137 | |||
| 109 | img { | 138 | img { |
| 110 | background: #fff; | 139 | background: #fff; |
| 111 | } | 140 | } |
| 112 | } | 141 | } |
| 113 | 142 | ||
| 114 | .info { | 143 | .info { |
| 115 | p { | 144 | p { |
| 116 | font-size: 14px; | 145 | font-size: 14px; |
| 117 | } | 146 | } |
| 118 | } | 147 | } |
| 119 | 148 | ||
| 120 | .typeTag { | 149 | .typeTag { |
| 121 | position: absolute; | 150 | position: absolute; |
| 122 | right: 0; | 151 | right: 0; |
| 123 | top: 0; | 152 | top: 0; |
| 124 | } | 153 | } |
| 125 | 154 | ||
| 126 | h3 { | 155 | h3 { |
| 127 | font-weight: 500;margin: 0 0 10px; | 156 | font-weight: 500; |
| 157 | margin: 0 0 10px; | ||
| 128 | font-size: 18px; | 158 | font-size: 18px; |
| 129 | color: #000000; | 159 | color: #000000; |
| 130 | text-overflow: ellipsis; | 160 | text-overflow: ellipsis; |
| 131 | } | 161 | } |
| 132 | 162 | ||
| 133 | &:hover h3 { | 163 | &:hover h3 { |
| 134 | color: var(--el-color-primary); | 164 | color: var(--el-color-primary); |
| 135 | } | 165 | } |
| 136 | } | 166 | } |
| 167 | |||
| 137 | .countDownTitle { | 168 | .countDownTitle { |
| 138 | text-align: center; | 169 | text-align: center; |
| 139 | color: #525F6B; | 170 | color: #525F6B; |
| ... | @@ -161,10 +192,19 @@ function goDetail(id) { | ... | @@ -161,10 +192,19 @@ function goDetail(id) { |
| 161 | width: 100%; | 192 | width: 100%; |
| 162 | left: 0; | 193 | left: 0; |
| 163 | } | 194 | } |
| 164 | .info .ppl{margin: 5px 0;} | 195 | |
| 165 | .ppl{color: #29343C; | 196 | .info .ppl { |
| 166 | label{color: #929AA0;} | 197 | margin: 5px 0; |
| 198 | } | ||
| 199 | |||
| 200 | .ppl { | ||
| 201 | color: #29343C; | ||
| 202 | |||
| 203 | label { | ||
| 204 | color: #929AA0; | ||
| 205 | } | ||
| 167 | } | 206 | } |
| 207 | |||
| 168 | .van-count-down { | 208 | .van-count-down { |
| 169 | text-align: center; | 209 | text-align: center; |
| 170 | margin: 20px 0; | 210 | margin: 20px 0; |
| ... | @@ -178,7 +218,8 @@ function goDetail(id) { | ... | @@ -178,7 +218,8 @@ function goDetail(id) { |
| 178 | } | 218 | } |
| 179 | 219 | ||
| 180 | .block { | 220 | .block { |
| 181 | display: inline-block; opacity: 0.7; | 221 | display: inline-block; |
| 222 | opacity: 0.7; | ||
| 182 | width: 52px; | 223 | width: 52px; |
| 183 | color: #fff; | 224 | color: #fff; |
| 184 | font-size: 26px; | 225 | font-size: 26px; |
| ... | @@ -189,7 +230,11 @@ function goDetail(id) { | ... | @@ -189,7 +230,11 @@ function goDetail(id) { |
| 189 | line-height: 50px; | 230 | line-height: 50px; |
| 190 | text-align: center; | 231 | text-align: center; |
| 191 | } | 232 | } |
| 233 | |||
| 192 | @media (max-width: 1450px) { | 234 | @media (max-width: 1450px) { |
| 193 | .block{width: 44px;font-size: 20px;} | 235 | .block { |
| 236 | width: 44px; | ||
| 237 | font-size: 20px; | ||
| 238 | } | ||
| 194 | } | 239 | } |
| 195 | </style> | 240 | </style> | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <div v-loading="loading" class="app-container"> | 2 | <div v-loading="loading" class="app-container"> |
| 3 | <div class="mt30" /> | 3 | <div class="mt30"/> |
| 4 | <div v-if="error"> | 4 | <div v-if="error"> |
| 5 | <el-result | 5 | <el-result |
| 6 | :title="language==0?'未找到赛事':'No Data'" | 6 | :title="language==0?'未找到赛事':'No Data'" |
| 7 | icon="error" | 7 | icon="error" |
| 8 | > | 8 | > |
| 9 | <template #extra /> | 9 | <template #extra/> |
| 10 | </el-result> | 10 | </el-result> |
| 11 | </div> | 11 | </div> |
| 12 | <div v-else class="box mb20"> | 12 | <div v-else class="box mb20"> |
| ... | @@ -33,7 +33,7 @@ | ... | @@ -33,7 +33,7 @@ |
| 33 | {{ matchData.endTime?.slice(0, 10) }}</p> | 33 | {{ matchData.endTime?.slice(0, 10) }}</p> |
| 34 | <p v-if="matchData.address" class="ppl"> | 34 | <p v-if="matchData.address" class="ppl"> |
| 35 | <label class="bm3"> | 35 | <label class="bm3"> |
| 36 | {{ language == 0 ? '地    点' : 'LOCATION' }}: | 36 | {{ language == 0 ? '地 点' : 'LOCATION' }}: |
| 37 | </label> | 37 | </label> |
| 38 | {{ matchData.address }}</p> | 38 | {{ matchData.address }}</p> |
| 39 | <!-- <p class="ppl" v-if="matchData.signEndTime"><label class="bm4">Registration Deadline:</label>{{ matchData.signEndTime?.slice(0, 10) }}</p>--> | 39 | <!-- <p class="ppl" v-if="matchData.signEndTime"><label class="bm4">Registration Deadline:</label>{{ matchData.signEndTime?.slice(0, 10) }}</p>--> |
| ... | @@ -49,7 +49,7 @@ | ... | @@ -49,7 +49,7 @@ |
| 49 | fill="#d3d8d9" p-id="37236" | 49 | fill="#d3d8d9" p-id="37236" |
| 50 | /> | 50 | /> |
| 51 | </svg> | 51 | </svg> |
| 52 | {{ language == 0 ? '联 系 人' : 'CONTACT PERSON' }}:</label>{{ matchData.contactPerson }} | 52 | {{ language == 0 ? '联 系 人' : 'CONTACT PERSON' }}:</label>{{ matchData.contactPerson }} |
| 53 | </p> | 53 | </p> |
| 54 | 54 | ||
| 55 | <p class="ppl"> | 55 | <p class="ppl"> |
| ... | @@ -78,7 +78,7 @@ | ... | @@ -78,7 +78,7 @@ |
| 78 | fill="#d3d8d9" p-id="40178" | 78 | fill="#d3d8d9" p-id="40178" |
| 79 | /> | 79 | /> |
| 80 | </svg> | 80 | </svg> |
| 81 | {{ language == 0 ? '邮    箱' : 'EMAIL' }}: | 81 | {{ language == 0 ? '邮 箱' : 'EMAIL' }}: |
| 82 | </label> | 82 | </label> |
| 83 | {{ matchData.contactEmail }} | 83 | {{ matchData.contactEmail }} |
| 84 | </p> | 84 | </p> |
| ... | @@ -94,7 +94,7 @@ | ... | @@ -94,7 +94,7 @@ |
| 94 | fill="#d3d8d9" p-id="6579" | 94 | fill="#d3d8d9" p-id="6579" |
| 95 | /> | 95 | /> |
| 96 | </svg> | 96 | </svg> |
| 97 | {{ language == 0 ? '分 站 赛' : 'NO. OF TOURNAMENTS' }}:</label> | 97 | {{ language == 0 ? '分 站 赛' : 'NO. OF TOURNAMENTS' }}:</label> |
| 98 | {{ matchData.cpts.length }} | 98 | {{ matchData.cpts.length }} |
| 99 | </p> | 99 | </p> |
| 100 | </div> | 100 | </div> |
| ... | @@ -105,7 +105,7 @@ | ... | @@ -105,7 +105,7 @@ |
| 105 | {{ matchData.beginTime?.slice(0, 10) }} ~ {{ matchData.endTime?.slice(0, 10) }} | 105 | {{ matchData.beginTime?.slice(0, 10) }} ~ {{ matchData.endTime?.slice(0, 10) }} |
| 106 | </p> | 106 | </p> |
| 107 | <p class="ppl esp"> | 107 | <p class="ppl esp"> |
| 108 | <label>{{ language == 0 ? '地    点' : 'LOCATION' }}:</label> | 108 | <label>{{ language == 0 ? '地 点' : 'LOCATION' }}:</label> |
| 109 | {{ matchData.address }} | 109 | {{ matchData.address }} |
| 110 | </p> | 110 | </p> |
| 111 | <p class="ppl"><label>{{ language == 0 ? '赛事级别' : 'EVENT LEVEL' }}:</label>{{ matchData.level }}</p> | 111 | <p class="ppl"><label>{{ language == 0 ? '赛事级别' : 'EVENT LEVEL' }}:</label>{{ matchData.level }}</p> |
| ... | @@ -114,17 +114,17 @@ | ... | @@ -114,17 +114,17 @@ |
| 114 | <!-- {{ matchData.signEndTime?.slice(0, 10) }}--> | 114 | <!-- {{ matchData.signEndTime?.slice(0, 10) }}--> |
| 115 | <!-- </p>--> | 115 | <!-- </p>--> |
| 116 | <p v-if="matchData.contactPerson" class="ppl"> | 116 | <p v-if="matchData.contactPerson" class="ppl"> |
| 117 | <label>{{ language == 0 ? '联 系 人' : 'CONTACT PERSON' }}:</label> | 117 | <label>{{ language == 0 ? '联 系 人' : 'CONTACT PERSON' }}:</label> |
| 118 | {{ matchData.contactPerson }} | 118 | {{ matchData.contactPerson }} |
| 119 | </p> | 119 | </p> |
| 120 | <p class="ppl"><label>{{ language == 0 ? '联系电话' : 'TEL' }}:</label> | 120 | <p class="ppl"><label>{{ language == 0 ? '联系电话' : 'TEL' }}:</label> |
| 121 | 086-{{ matchData.contactTelno }} | 121 | 086-{{ matchData.contactTelno }} |
| 122 | </p> | 122 | </p> |
| 123 | <p v-if="matchData.contactEmail" class="ppl"> | 123 | <p v-if="matchData.contactEmail" class="ppl"> |
| 124 | <label>{{ language == 0 ? '邮    箱' : 'EMAIL' }}:</label> | 124 | <label>{{ language == 0 ? '邮 箱' : 'EMAIL' }}:</label> |
| 125 | {{ matchData.contactEmail }}</p> | 125 | {{ matchData.contactEmail }}</p> |
| 126 | </div> | 126 | </div> |
| 127 | <div style="height: 30px" /> | 127 | <div style="height: 30px"/> |
| 128 | <div class="ppl_pb"> | 128 | <div class="ppl_pb"> |
| 129 | <el-link | 129 | <el-link |
| 130 | v-if="matchData.signKnowUrl&&JSON.parse(matchData.signKnowUrl)?.length>0" | 130 | v-if="matchData.signKnowUrl&&JSON.parse(matchData.signKnowUrl)?.length>0" |
| ... | @@ -133,7 +133,7 @@ | ... | @@ -133,7 +133,7 @@ |
| 133 | target="_blank" type="primary" | 133 | target="_blank" type="primary" |
| 134 | > | 134 | > |
| 135 | <el-icon :size="20"> | 135 | <el-icon :size="20"> |
| 136 | <Download /> | 136 | <Download/> |
| 137 | </el-icon> | 137 | </el-icon> |
| 138 | {{ language == 0 ? '报名须知' : 'Notes' }} | 138 | {{ language == 0 ? '报名须知' : 'Notes' }} |
| 139 | </el-link> | 139 | </el-link> |
| ... | @@ -145,7 +145,7 @@ | ... | @@ -145,7 +145,7 @@ |
| 145 | target="_blank" type="primary" | 145 | target="_blank" type="primary" |
| 146 | > | 146 | > |
| 147 | <el-icon :size="20"> | 147 | <el-icon :size="20"> |
| 148 | <Download /> | 148 | <Download/> |
| 149 | </el-icon> | 149 | </el-icon> |
| 150 | {{ language == 0 ? '免责声明' : 'Disclaimers' }} | 150 | {{ language == 0 ? '免责声明' : 'Disclaimers' }} |
| 151 | </el-link> | 151 | </el-link> |
| ... | @@ -156,7 +156,7 @@ | ... | @@ -156,7 +156,7 @@ |
| 156 | type="primary" | 156 | type="primary" |
| 157 | > | 157 | > |
| 158 | <el-icon :size="20"> | 158 | <el-icon :size="20"> |
| 159 | <Download /> | 159 | <Download/> |
| 160 | </el-icon> | 160 | </el-icon> |
| 161 | {{ language == 0 ? '赛事规程' : 'Competition Regulations' }} | 161 | {{ language == 0 ? '赛事规程' : 'Competition Regulations' }} |
| 162 | </el-link> | 162 | </el-link> |
| ... | @@ -201,8 +201,8 @@ | ... | @@ -201,8 +201,8 @@ |
| 201 | </div> | 201 | </div> |
| 202 | </div> | 202 | </div> |
| 203 | <p class="text-gray text-center uppercase">{{ | 203 | <p class="text-gray text-center uppercase">{{ |
| 204 | language == 0 ? '报名截止' : 'Registration Deadline' | 204 | language == 0 ? '报名截止' : 'Registration Deadline' |
| 205 | }}:{{ matchData.signEndTime?.slice(0, 10) }}</p> | 205 | }}:{{ matchData.signEndTime?.slice(0, 10) }}</p> |
| 206 | 206 | ||
| 207 | </el-col> | 207 | </el-col> |
| 208 | </el-row> | 208 | </el-row> |
| ... | @@ -210,7 +210,7 @@ | ... | @@ -210,7 +210,7 @@ |
| 210 | </el-card> | 210 | </el-card> |
| 211 | 211 | ||
| 212 | <!-- 只联赛有--> | 212 | <!-- 只联赛有--> |
| 213 | <quick-row v-if="matchData.leagueId==0" :match-id="matchId" /> | 213 | <quick-row v-if="matchData.leagueId==0" :match-id="matchId"/> |
| 214 | 214 | ||
| 215 | <el-row v-if="matchData.type=='0'" :gutter="20"> | 215 | <el-row v-if="matchData.type=='0'" :gutter="20"> |
| 216 | <el-col :lg="18"> | 216 | <el-col :lg="18"> |
| ... | @@ -222,11 +222,11 @@ | ... | @@ -222,11 +222,11 @@ |
| 222 | </li> | 222 | </li> |
| 223 | </ul> | 223 | </ul> |
| 224 | </div> | 224 | </div> |
| 225 | <matchInfo v-if="menu[0].active==1" :form="matchData" /> | 225 | <matchInfo v-if="menu[0].active==1" :form="matchData"/> |
| 226 | <div v-if="menu[1].active==1"> | 226 | <div v-if="menu[1].active==1"> |
| 227 | <match-info-project-list :is-national="isNational" :match-id="matchData.id" /> | 227 | <match-info-project-list :is-national="isNational" :match-id="matchData.id"/> |
| 228 | </div> | 228 | </div> |
| 229 | <match-schedule-list v-if="menu[2].active==1" :match-data="matchData" /> | 229 | <match-schedule-list v-if="menu[2].active==1" :match-data="matchData"/> |
| 230 | <div v-if="menu[3].active==1"> | 230 | <div v-if="menu[3].active==1"> |
| 231 | <div v-if="matchData.showPersonFlag=='1'"> | 231 | <div v-if="matchData.showPersonFlag=='1'"> |
| 232 | <!-- <el-row :gutter="20" v-if="matchData.signType == '0'">--> | 232 | <!-- <el-row :gutter="20" v-if="matchData.signType == '0'">--> |
| ... | @@ -299,24 +299,24 @@ | ... | @@ -299,24 +299,24 @@ |
| 299 | </el-row> | 299 | </el-row> |
| 300 | </div> | 300 | </div> |
| 301 | <div v-else> | 301 | <div v-else> |
| 302 | <el-empty :image="`/img/order_no.png`" :image-size="228" description="" /> | 302 | <el-empty :image="`/img/order_no.png`" :image-size="228" description=""/> |
| 303 | </div> | 303 | </div> |
| 304 | 304 | ||
| 305 | </div> | 305 | </div> |
| 306 | <div v-if="menu[4].active==1"> | 306 | <div v-if="menu[4].active==1"> |
| 307 | <!--成绩--> | 307 | <!--成绩--> |
| 308 | <el-empty :image="`/img/order_no.png`" :image-size="228" description="" /> | 308 | <el-empty :image="`/img/order_no.png`" :image-size="228" description=""/> |
| 309 | </div> | 309 | </div> |
| 310 | <div v-if="menu[5].active==1" class="pd20"> | 310 | <div v-if="menu[5].active==1" class="pd20"> |
| 311 | <div class="xzbox"> | 311 | <div class="xzbox"> |
| 312 | <div v-html="matchData.signKnow" /> | 312 | <div v-html="matchData.signKnow"/> |
| 313 | <div v-if="matchData.signKnowUrl"> | 313 | <div v-if="matchData.signKnowUrl"> |
| 314 | <el-link | 314 | <el-link |
| 315 | v-for="(item,index) in JSON.parse(matchData.signKnowUrl)" :href="fillImgUrl(item.url)" | 315 | v-for="(item,index) in JSON.parse(matchData.signKnowUrl)" :href="fillImgUrl(item.url)" |
| 316 | target="_blank" type="primary" | 316 | target="_blank" type="primary" |
| 317 | > | 317 | > |
| 318 | <el-icon :size="20"> | 318 | <el-icon :size="20"> |
| 319 | <Download /> | 319 | <Download/> |
| 320 | </el-icon> | 320 | </el-icon> |
| 321 | {{ item.name }} | 321 | {{ item.name }} |
| 322 | </el-link> | 322 | </el-link> |
| ... | @@ -324,11 +324,11 @@ | ... | @@ -324,11 +324,11 @@ |
| 324 | </div> | 324 | </div> |
| 325 | </div> | 325 | </div> |
| 326 | </el-card> | 326 | </el-card> |
| 327 | <div style="height: 20px" /> | 327 | <div style="height: 20px"/> |
| 328 | 328 | ||
| 329 | </el-col> | 329 | </el-col> |
| 330 | <el-col :lg="6"> | 330 | <el-col :lg="6"> |
| 331 | <match-news :match-id="matchId" /> | 331 | <match-news :match-id="matchId"/> |
| 332 | </el-col> | 332 | </el-col> |
| 333 | </el-row> | 333 | </el-row> |
| 334 | 334 | ||
| ... | @@ -343,9 +343,9 @@ | ... | @@ -343,9 +343,9 @@ |
| 343 | </ul> | 343 | </ul> |
| 344 | </div> | 344 | </div> |
| 345 | <!-- 分站赛--> | 345 | <!-- 分站赛--> |
| 346 | <substation-list v-if="menu1[0].active==1" :list="matchData.cpts" /> | 346 | <substation-list v-if="menu1[0].active==1" :list="matchData.cpts"/> |
| 347 | <matchInfo v-if="menu1[1].active==1" :form="matchData" /> | 347 | <matchInfo v-if="menu1[1].active==1" :form="matchData"/> |
| 348 | <match-schedule-list v-if="menu1[2].active==1" :match-data="matchData" /> | 348 | <match-schedule-list v-if="menu1[2].active==1" :match-data="matchData"/> |
| 349 | </el-card> | 349 | </el-card> |
| 350 | </el-col> | 350 | </el-col> |
| 351 | </el-row> | 351 | </el-row> |
| ... | @@ -356,8 +356,8 @@ | ... | @@ -356,8 +356,8 @@ |
| 356 | <img v-else src="@/assets/logo/Invitation_e.png"> | 356 | <img v-else src="@/assets/logo/Invitation_e.png"> |
| 357 | </div> | 357 | </div> |
| 358 | 358 | ||
| 359 | <affix-invitation ref="dialogInvitationRef" /> | 359 | <affix-invitation ref="dialogInvitationRef"/> |
| 360 | <div style="height: 50px" /> | 360 | <div style="height: 50px"/> |
| 361 | 361 | ||
| 362 | <el-dialog | 362 | <el-dialog |
| 363 | v-model="signTypePop" center class="pcloginpop" | 363 | v-model="signTypePop" center class="pcloginpop" |
| ... | @@ -391,9 +391,9 @@ | ... | @@ -391,9 +391,9 @@ |
| 391 | v-if="matchData.isAirView" class="ding" | 391 | v-if="matchData.isAirView" class="ding" |
| 392 | @click="openPickup" | 392 | @click="openPickup" |
| 393 | >{{ language == 0 ? '接 / 送机服务' : 'Pick-up/drop-off service' }}</a> | 393 | >{{ language == 0 ? '接 / 送机服务' : 'Pick-up/drop-off service' }}</a> |
| 394 | <pickup ref="pickupRef" /> | 394 | <pickup ref="pickupRef"/> |
| 395 | 395 | ||
| 396 | <checkAllSportsman ref="checkAllSportsmanRef" /> | 396 | <checkAllSportsman ref="checkAllSportsmanRef"/> |
| 397 | </div> | 397 | </div> |
| 398 | </template> | 398 | </template> |
| 399 | 399 | ||
| ... | @@ -405,9 +405,9 @@ import SubstationList from '@/viewsPc/match/components/substation-list' | ... | @@ -405,9 +405,9 @@ import SubstationList from '@/viewsPc/match/components/substation-list' |
| 405 | import MatchInfoProjectList from '@/viewsPc/match/components/matchInfo-projectList' | 405 | import MatchInfoProjectList from '@/viewsPc/match/components/matchInfo-projectList' |
| 406 | import QuickRow from '@/viewsPc/match/components/quick-row' | 406 | import QuickRow from '@/viewsPc/match/components/quick-row' |
| 407 | import Pickup from '@/viewsPc/components/pickup' | 407 | import Pickup from '@/viewsPc/components/pickup' |
| 408 | import { getCurrentInstance, ref } from 'vue' | 408 | import {getCurrentInstance, ref} from 'vue' |
| 409 | import { reactive, onMounted } from '@vue/runtime-core' | 409 | import {reactive, onMounted} from '@vue/runtime-core' |
| 410 | import { useRoute, useRouter } from 'vue-router' | 410 | import {useRoute, useRouter} from 'vue-router' |
| 411 | import AffixInvitation from '@/viewsPc/match/components/affix-invitation' | 411 | import AffixInvitation from '@/viewsPc/match/components/affix-invitation' |
| 412 | import checkAllSportsman from '@/viewsPc/match/components/checkAllSportsman' | 412 | import checkAllSportsman from '@/viewsPc/match/components/checkAllSportsman' |
| 413 | 413 | ||
| ... | @@ -415,14 +415,14 @@ import checkAllSportsman from '@/viewsPc/match/components/checkAllSportsman' | ... | @@ -415,14 +415,14 @@ import checkAllSportsman from '@/viewsPc/match/components/checkAllSportsman' |
| 415 | const language = useStorage('language', 0) | 415 | const language = useStorage('language', 0) |
| 416 | const route = useRoute() | 416 | const route = useRoute() |
| 417 | const router = useRouter() | 417 | const router = useRouter() |
| 418 | const { proxy } = getCurrentInstance() | 418 | const {proxy} = getCurrentInstance() |
| 419 | import * as match from '@/apiPc/match' | 419 | import * as match from '@/apiPc/match' |
| 420 | import { toRefs } from '@vueuse/shared' | 420 | import {toRefs} from '@vueuse/shared' |
| 421 | import { dayjs, ElMessage, ElMessageBox } from 'element-plus' | 421 | import {dayjs, ElMessage, ElMessageBox} from 'element-plus' |
| 422 | import useUserStore from '@/store/modules/user' | 422 | import useUserStore from '@/store/modules/user' |
| 423 | import { useStorage } from '@vueuse/core/index' | 423 | import {useStorage} from '@vueuse/core/index' |
| 424 | import { Search } from '@element-plus/icons-vue' | 424 | import {Search} from '@element-plus/icons-vue' |
| 425 | import { preCheckForGroup } from '@/apiPc/match' | 425 | import {preCheckForGroup} from '@/apiPc/match' |
| 426 | 426 | ||
| 427 | const user = useUserStore().user | 427 | const user = useUserStore().user |
| 428 | const group = useUserStore().group | 428 | const group = useUserStore().group |
| ... | @@ -434,16 +434,16 @@ const data = reactive({ | ... | @@ -434,16 +434,16 @@ const data = reactive({ |
| 434 | groupId: '', | 434 | groupId: '', |
| 435 | activeName2: 'first', | 435 | activeName2: 'first', |
| 436 | menu: [ | 436 | menu: [ |
| 437 | { name: 'Event details', cn: '赛事详情', active: 1 }, | 437 | {name: 'Event details', cn: '赛事详情', active: 1}, |
| 438 | { name: 'Event settings', cn: '赛事设项', active: 0 }, | 438 | {name: 'Event settings', cn: '赛事设项', active: 0}, |
| 439 | { name: 'Schedule', cn: '日程', active: 0 }, | 439 | {name: 'Schedule', cn: '日程', active: 0}, |
| 440 | { name: 'Participating teams', cn: '参赛人员', active: 0 }, | 440 | {name: 'Participating teams', cn: '参赛人员', active: 0}, |
| 441 | { name: 'Achievement', cn: '成绩', active: 0 }, | 441 | {name: 'Achievement', cn: '成绩', active: 0}, |
| 442 | { name: 'Notes', cn: '报名须知', active: 0 }], | 442 | {name: 'Notes', cn: '报名须知', active: 0}], |
| 443 | menu1: [ | 443 | menu1: [ |
| 444 | { name: 'Tournaments', cn: '分站赛', active: 1 }, | 444 | {name: 'Tournaments', cn: '分站赛', active: 1}, |
| 445 | { name: 'Event details', cn: '赛事详情', active: 0 }, | 445 | {name: 'Event details', cn: '赛事详情', active: 0}, |
| 446 | { name: 'Schedule', cn: '日程', active: 0 }], | 446 | {name: 'Schedule', cn: '日程', active: 0}], |
| 447 | signDoneGroupList: [], | 447 | signDoneGroupList: [], |
| 448 | signDoneGroupListToTal: 0, | 448 | signDoneGroupListToTal: 0, |
| 449 | queryGroupList: { | 449 | queryGroupList: { |
| ... | @@ -484,7 +484,7 @@ onMounted(() => { | ... | @@ -484,7 +484,7 @@ onMounted(() => { |
| 484 | }) | 484 | }) |
| 485 | 485 | ||
| 486 | function getMatchId() { | 486 | function getMatchId() { |
| 487 | match.getMaList({ topFlag: 1, status: 1 }).then((res) => { | 487 | match.getMaList({topFlag: 1, status: 1}).then((res) => { |
| 488 | matchId.value = res.rows[0].id | 488 | matchId.value = res.rows[0].id |
| 489 | getMatch(matchId.value) | 489 | getMatch(matchId.value) |
| 490 | getGroupListByCptId() | 490 | getGroupListByCptId() |
| ... | @@ -493,7 +493,7 @@ function getMatchId() { | ... | @@ -493,7 +493,7 @@ function getMatchId() { |
| 493 | 493 | ||
| 494 | function getMatch(id) { | 494 | function getMatch(id) { |
| 495 | loading.value = true | 495 | loading.value = true |
| 496 | match.getMatchById({ id: id }).then(res => { | 496 | match.getMatchById({id: id}).then(res => { |
| 497 | matchData.value = res.data | 497 | matchData.value = res.data |
| 498 | loading.value = false | 498 | loading.value = false |
| 499 | var today = dayjs().format('YYYY-MM-DD HH:mm:ss') | 499 | var today = dayjs().format('YYYY-MM-DD HH:mm:ss') |
| ... | @@ -505,7 +505,7 @@ function getMatch(id) { | ... | @@ -505,7 +505,7 @@ function getMatch(id) { |
| 505 | isNational.value = true | 505 | isNational.value = true |
| 506 | } | 506 | } |
| 507 | }).catch(res => { | 507 | }).catch(res => { |
| 508 | router.push({ path: '/match/list' }) | 508 | router.push({path: '/match/list'}) |
| 509 | loading.value = false | 509 | loading.value = false |
| 510 | // setTimeout("window.location.reload()", 1000) | 510 | // setTimeout("window.location.reload()", 1000) |
| 511 | }) | 511 | }) |
| ... | @@ -656,7 +656,7 @@ function goGeren() { | ... | @@ -656,7 +656,7 @@ function goGeren() { |
| 656 | // 注册 | 656 | // 注册 |
| 657 | router.push({ | 657 | router.push({ |
| 658 | name: 'personalRegister', | 658 | name: 'personalRegister', |
| 659 | query: { matchId: matchId.value } | 659 | query: {matchId: matchId.value} |
| 660 | }) | 660 | }) |
| 661 | } | 661 | } |
| 662 | 662 | ||
| ... | @@ -829,7 +829,7 @@ function switchSignType() { | ... | @@ -829,7 +829,7 @@ function switchSignType() { |
| 829 | 829 | ||
| 830 | // 个人报名校验 | 830 | // 个人报名校验 |
| 831 | async function handelGeRenNext() { | 831 | async function handelGeRenNext() { |
| 832 | const res = await match.preCheckForPerson({ type: '1' }) | 832 | const res = await match.preCheckForPerson({type: '1'}) |
| 833 | // 不给报名 | 833 | // 不给报名 |
| 834 | if (res.data == 0) { | 834 | if (res.data == 0) { |
| 835 | await proxy.$modal.confirm( | 835 | await proxy.$modal.confirm( |
| ... | @@ -841,7 +841,7 @@ async function handelGeRenNext() { | ... | @@ -841,7 +841,7 @@ async function handelGeRenNext() { |
| 841 | } | 841 | } |
| 842 | // 正常报名 | 842 | // 正常报名 |
| 843 | if (res.data == 1) { | 843 | if (res.data == 1) { |
| 844 | const flag = await getCheckOcr({ type: '1' }) | 844 | const flag = await getCheckOcr({type: '1'}) |
| 845 | if (flag) await goPersonalSign() | 845 | if (flag) await goPersonalSign() |
| 846 | } | 846 | } |
| 847 | // 提示 | 847 | // 提示 |
| ... | @@ -851,8 +851,8 @@ async function handelGeRenNext() { | ... | @@ -851,8 +851,8 @@ async function handelGeRenNext() { |
| 851 | ? '运动员的WDSF会员号已变更,是否更新?' | 851 | ? '运动员的WDSF会员号已变更,是否更新?' |
| 852 | : 'The athlete`s WDSF membership number has been changed. Should it be updated?' | 852 | : 'The athlete`s WDSF membership number has been changed. Should it be updated?' |
| 853 | ) | 853 | ) |
| 854 | await match.preCheckForPerson({ type: '2' }) | 854 | await match.preCheckForPerson({type: '2'}) |
| 855 | const flag = await getCheckOcr({ type: '1' }) | 855 | const flag = await getCheckOcr({type: '1'}) |
| 856 | if (flag) await goPersonalSign() | 856 | if (flag) await goPersonalSign() |
| 857 | } | 857 | } |
| 858 | } | 858 | } |
| ... | @@ -877,7 +877,7 @@ const openPickup = () => { | ... | @@ -877,7 +877,7 @@ const openPickup = () => { |
| 877 | async function handelPreCheckForGroup(fn) { | 877 | async function handelPreCheckForGroup(fn) { |
| 878 | const res = await match.preCheckForGroup(groupId.value, '1') | 878 | const res = await match.preCheckForGroup(groupId.value, '1') |
| 879 | if (res.data == 1 || res.data == 0) { | 879 | if (res.data == 1 || res.data == 0) { |
| 880 | const flag = await getCheckOcr({ type: '2', groupId: groupId.value }) | 880 | const flag = await getCheckOcr({type: '2', groupId: groupId.value}) |
| 881 | if (flag) await fn() | 881 | if (flag) await fn() |
| 882 | } | 882 | } |
| 883 | if (res.data == 2) { | 883 | if (res.data == 2) { |
| ... | @@ -886,13 +886,13 @@ async function handelPreCheckForGroup(fn) { | ... | @@ -886,13 +886,13 @@ async function handelPreCheckForGroup(fn) { |
| 886 | ? '运动员的WDSF会员号已变更,是否更新?' | 886 | ? '运动员的WDSF会员号已变更,是否更新?' |
| 887 | : 'The athlete`s WDSF membership number has been changed. Should it be updated?') | 887 | : 'The athlete`s WDSF membership number has been changed. Should it be updated?') |
| 888 | await match.preCheckForGroup(groupId.value, '2') | 888 | await match.preCheckForGroup(groupId.value, '2') |
| 889 | const flag = await getCheckOcr({ type: '2', groupId: groupId.value }) | 889 | const flag = await getCheckOcr({type: '2', groupId: groupId.value}) |
| 890 | if (flag) await fn() | 890 | if (flag) await fn() |
| 891 | } | 891 | } |
| 892 | } | 892 | } |
| 893 | 893 | ||
| 894 | async function getCheckOcr(obj) { | 894 | async function getCheckOcr(obj) { |
| 895 | const { data } = await match.checkOcr(obj) | 895 | const {data} = await match.checkOcr(obj) |
| 896 | if (!data) { | 896 | if (!data) { |
| 897 | // 人员ocr未通过 | 897 | // 人员ocr未通过 |
| 898 | await proxy.$modal.confirm(language.value == 0 ? '请完善人员信息' : 'Please complete the personnel information') | 898 | await proxy.$modal.confirm(language.value == 0 ? '请完善人员信息' : 'Please complete the personnel information') | ... | ... |
| ... | @@ -2,46 +2,46 @@ | ... | @@ -2,46 +2,46 @@ |
| 2 | <div class="app-container"> | 2 | <div class="app-container"> |
| 3 | <!-- 我是 赛事 --> | 3 | <!-- 我是 赛事 --> |
| 4 | <div class="kind mt20"> | 4 | <div class="kind mt20"> |
| 5 | 5 | ||
| 6 | <div class="box"> | 6 | <div class="box"> |
| 7 | <el-card> | 7 | <el-card> |
| 8 | <ul> | 8 | <ul> |
| 9 | <li> | 9 | <li> |
| 10 | <label>{{ language==0?'类型':'Type' }}:</label> | 10 | <label>{{ language == 0 ? '类型' : 'Type' }}:</label> |
| 11 | <el-radio-group v-model="query.type" @change="getList"> | 11 | <el-radio-group v-model="query.type" @change="getList"> |
| 12 | <el-radio-button value="-1">{{ language==0?'全部':'All' }}</el-radio-button> | 12 | <el-radio-button value="-1">{{ language == 0 ? '全部' : 'All' }}</el-radio-button> |
| 13 | <el-radio-button value="0">{{ language==0?'独立赛':'Tournaments' }}</el-radio-button> | 13 | <el-radio-button value="0">{{ language == 0 ? '独立赛' : 'Tournaments' }}</el-radio-button> |
| 14 | <el-radio-button value="1">{{ language==0?'联赛':'League' }}</el-radio-button> | 14 | <el-radio-button value="1">{{ language == 0 ? '联赛' : 'League' }}</el-radio-button> |
| 15 | </el-radio-group> | 15 | </el-radio-group> |
| 16 | </li> | 16 | </li> |
| 17 | <li> | 17 | <li> |
| 18 | <label>{{ language==0?'状态':'Status' }}:</label> | 18 | <label>{{ language == 0 ? '状态' : 'Status' }}:</label> |
| 19 | <el-radio-group | 19 | <el-radio-group |
| 20 | v-model="query.progressStatusCode" | 20 | v-model="query.progressStatusCode" |
| 21 | @change="getList" | 21 | @change="getList" |
| 22 | > | 22 | > |
| 23 | <el-radio-button value="-1">{{ language==0?'全部':'All' }}</el-radio-button> | 23 | <el-radio-button value="-1">{{ language == 0 ? '全部' : 'All' }}</el-radio-button> |
| 24 | <el-radio-button value="2">{{ language==0?'报名中':'Registering now' }}</el-radio-button> | 24 | <el-radio-button value="2">{{ language == 0 ? '报名中' : 'Registering now' }}</el-radio-button> |
| 25 | <el-radio-button value="3">{{ language==0?'赛事即将开始':'Begin in a minute' }}</el-radio-button> | 25 | <el-radio-button value="3">{{ language == 0 ? '赛事即将开始' : 'Begin in a minute' }}</el-radio-button> |
| 26 | <el-radio-button value="4">{{ language==0?'赛事进行中':'In progress' }}</el-radio-button> | 26 | <el-radio-button value="4">{{ language == 0 ? '赛事进行中' : 'In progress' }}</el-radio-button> |
| 27 | <el-radio-button value="5">{{ language==0?'已结束':'Ended' }}</el-radio-button> | 27 | <el-radio-button value="5">{{ language == 0 ? '已结束' : 'Ended' }}</el-radio-button> |
| 28 | </el-radio-group> | 28 | </el-radio-group> |
| 29 | </li> | 29 | </li> |
| 30 | <li> | 30 | <li> |
| 31 | <label>{{ language==0?'时间':'Date' }}:</label> | 31 | <label>{{ language == 0 ? '时间' : 'Date' }}:</label> |
| 32 | <el-radio-group v-model="query.month" @change="getList"> | 32 | <el-radio-group v-model="query.month" @change="getList"> |
| 33 | <el-radio-button value="">{{ language==0?'全部':'All' }}</el-radio-button> | 33 | <el-radio-button value="">{{ language == 0 ? '全部' : 'All' }}</el-radio-button> |
| 34 | <el-radio-button v-for="m in monthList" :key="m" :value="m">{{m}}</el-radio-button> | 34 | <el-radio-button v-for="m in monthList" :key="m" :value="m">{{ m }}</el-radio-button> |
| 35 | </el-radio-group> | 35 | </el-radio-group> |
| 36 | </li> | 36 | </li> |
| 37 | </ul> | 37 | </ul> |
| 38 | </el-card> | 38 | </el-card> |
| 39 | </div> | 39 | </div> |
| 40 | 40 | ||
| 41 | </div> | 41 | </div> |
| 42 | <div class="box"> | 42 | <div class="box"> |
| 43 | <div class="listTitle"> | 43 | <div class="listTitle"> |
| 44 | <h3>{{ language==0?'赛事列表':'List' }}</h3> | 44 | <h3>{{ language == 0 ? '赛事列表' : 'List' }}</h3> |
| 45 | <div class="search"> | 45 | <div class="search"> |
| 46 | <el-input | 46 | <el-input |
| 47 | v-model="query.name" | 47 | v-model="query.name" |
| ... | @@ -49,36 +49,42 @@ | ... | @@ -49,36 +49,42 @@ |
| 49 | class="input-with-select" @change="getList" | 49 | class="input-with-select" @change="getList" |
| 50 | > | 50 | > |
| 51 | <template #append> | 51 | <template #append> |
| 52 | <el-button type="success" round @click="getList">{{ language==0?'查询':'Search' }}</el-button> | 52 | <el-button round type="success" @click="getList">{{ language == 0 ? '查询' : 'Search' }}</el-button> |
| 53 | </template> | 53 | </template> |
| 54 | </el-input> | 54 | </el-input> |
| 55 | </div> | 55 | </div> |
| 56 | </div> | 56 | </div> |
| 57 | 57 | ||
| 58 | <div v-loading="loading"> | 58 | <div v-loading="loading"> |
| 59 | <div class="matchItem" v-for="n in list" :key="n.id" @click="goDetail(n.id)"> | 59 | <div v-for="n in list" :key="n.id" class="matchItem" @click="goDetail(n.id)"> |
| 60 | <el-row :gutter="15" align="middle"> | 60 | <el-row :gutter="15" align="middle"> |
| 61 | <el-col :lg="7" :md="24" :xl="6"> | 61 | <el-col :lg="7" :md="24" :xl="6"> |
| 62 | <div class="popo"> | 62 | <div class="popo"> |
| 63 | <el-tag v-if="n.signType==0">{{ language==0?'个人':'Individual' }}</el-tag> | 63 | <el-tag v-if="n.signType==0">{{ language == 0 ? '个人' : 'Individual' }}</el-tag> |
| 64 | <el-tag v-if="n.signType==1">{{ language==0?'团体':'Team' }}</el-tag> | 64 | <el-tag v-if="n.signType==1">{{ language == 0 ? '团体' : 'Team' }}</el-tag> |
| 65 | <el-tag v-if="n.signType==2">{{ language==0?'个人/团体':'Individual/Team' }}</el-tag> | 65 | <el-tag v-if="n.signType==2">{{ language == 0 ? '个人/团体' : 'Individual/Team' }}</el-tag> |
| 66 | </div> | 66 | </div> |
| 67 | <img class="mauto mw100 coverLimitHeight" :src="fillImgUrl(n.coverUrl)"> | 67 | <img :src="fillImgUrl(n.coverUrl)" class="mauto mw100 coverLimitHeight"> |
| 68 | </el-col> | 68 | </el-col> |
| 69 | <el-col :lg="9" :md="12" :xl="12"> | 69 | <el-col :lg="9" :md="12" :xl="12"> |
| 70 | <div class="info"> | 70 | <div class="info"> |
| 71 | <h3 class="esp">{{ n.name }}</h3> | 71 | <h3 class="esp">{{ n.name }}</h3> |
| 72 | <p class="ppl"><label>{{language==0?'赛事级别':'EVENT LEVEL'}}:</label>{{n.level}}</p> | 72 | <p class="ppl"><label>{{ language == 0 ? '赛事级别' : 'EVENT LEVEL' }}:</label>{{ n.level }}</p> |
| 73 | <p class="ppl esp"><label>{{ language==0?'赛事时间':'COMPETITION DATE' }}:</label>{{n.beginTime?.slice(0,10)}} ~ {{ n.endTime?.slice(0,10) }}</p> | 73 | <p class="ppl esp"><label>{{ |
| 74 | <!-- <p class="ppl" v-if="n.address"><label>{{ language==0?'地    点':'Location' }}:</label>{{ n.address }}</p>--> | 74 | language == 0 ? '赛事时间' : 'COMPETITION DATE' |
| 75 | <!-- <p class="ppl"><label>{{ language==0?'报名截止':'Registration Deadline' }}:</label>{{ n.signEndTime?.slice(0,10) }}</p>--> | 75 | }}:</label>{{ n.beginTime?.slice(0, 10) }} ~ {{ n.endTime?.slice(0, 10) }}</p> |
| 76 | 76 | <!-- <p class="ppl" v-if="n.address"><label>{{ language==0?'地 点':'Location' }}:</label>{{ n.address }}</p>--> | |
| 77 | <p class="ppl"><label>{{ language==0?'联 系 人':'CONTACT PERSON' }}:</label>{{ n.contactPerson }}</p> | 77 | <!-- <p class="ppl"><label>{{ language==0?'报名截止':'Registration Deadline' }}:</label>{{ n.signEndTime?.slice(0,10) }}</p>--> |
| 78 | <p class="ppl"><label>{{ language==0?'联系电话':'TEL' }}:</label>086-{{ n.contactTelno }}</p> | 78 | |
| 79 | <p class="ppl esp"><label>{{ language==0?'邮    箱':'EMAIL' }}:</label>{{ n.contactEmail }}</p> | 79 | <p class="ppl"><label>{{ |
| 80 | <p class="ppl" v-if="n.type=='1'"> | 80 | language == 0 ? '联 系 人' : 'CONTACT PERSON' |
| 81 | <label>{{ language==0?'分 站 赛':'NO. OF TOURNAMENTS' }}:</label>{{n.cptsSize}} | 81 | }}:</label>{{ n.contactPerson }}</p> |
| 82 | <p class="ppl"><label>{{ language == 0 ? '联系电话' : 'TEL' }}:</label>086-{{ n.contactTelno }}</p> | ||
| 83 | <p class="ppl esp"><label>{{ | ||
| 84 | language == 0 ? '邮 箱' : 'EMAIL' | ||
| 85 | }}:</label>{{ n.contactEmail }}</p> | ||
| 86 | <p v-if="n.type=='1'" class="ppl"> | ||
| 87 | <label>{{ language == 0 ? '分 站 赛' : 'NO. OF TOURNAMENTS' }}:</label>{{ n.cptsSize }} | ||
| 82 | </p> | 88 | </p> |
| 83 | </div> | 89 | </div> |
| 84 | </el-col> | 90 | </el-col> |
| ... | @@ -90,32 +96,36 @@ | ... | @@ -90,32 +96,36 @@ |
| 90 | <van-count-down :time="n.time" format="DD 天 HH 时 mm 分 ss 秒"> | 96 | <van-count-down :time="n.time" format="DD 天 HH 时 mm 分 ss 秒"> |
| 91 | <template #default="timeData"> | 97 | <template #default="timeData"> |
| 92 | <span class="block">{{ timeData.days }}</span> | 98 | <span class="block">{{ timeData.days }}</span> |
| 93 | <span class="colon">{{ language==0?'天':'Days' }}</span> | 99 | <span class="colon">{{ language == 0 ? '天' : 'Days' }}</span> |
| 94 | <span class="block">{{ timeData.hours }}</span> | 100 | <span class="block">{{ timeData.hours }}</span> |
| 95 | <span class="colon">{{ language==0?'时':'Hrs' }}</span> | 101 | <span class="colon">{{ language == 0 ? '时' : 'Hrs' }}</span> |
| 96 | <span class="block">{{ timeData.minutes }}</span> | 102 | <span class="block">{{ timeData.minutes }}</span> |
| 97 | <span class="colon">{{ language==0?'分':'Min' }}</span> | 103 | <span class="colon">{{ language == 0 ? '分' : 'Min' }}</span> |
| 98 | <span class="block">{{ timeData.seconds }}</span> | 104 | <span class="block">{{ timeData.seconds }}</span> |
| 99 | <span class="colon">{{ language==0?'秒':'Sec' }}</span> | 105 | <span class="colon">{{ language == 0 ? '秒' : 'Sec' }}</span> |
| 100 | </template> | 106 | </template> |
| 101 | </van-count-down> | 107 | </van-count-down> |
| 102 | 108 | ||
| 103 | <div class="text-center mt30"> | 109 | <div class="text-center mt30"> |
| 104 | <a class="btn-lineG mb20 mauto" v-if="n.time>0" style="display: block;"> | 110 | <a v-if="n.time>0" class="btn-lineG mb20 mauto" style="display: block;"> |
| 105 | {{ language==0?'我要报名':'REGISTER' }}</a> | 111 | {{ language == 0 ? '我要报名' : 'REGISTER' }}</a> |
| 106 | <div v-else style="opacity: 0.5;" class="btn-lineG mb20 mauto">{{ language==0?'报名已结束':'Registration has ended' }}</div> | 112 | <div v-else class="btn-lineG mb20 mauto" style="opacity: 0.5;"> |
| 107 | <p class="text-gray uppercase">{{ language==0?'报名截止':'Registration Deadline' }}:{{ n.signEndTime?.slice(0,10) }}</p> | 113 | {{ language == 0 ? '报名已结束' : 'Registration has ended' }} |
| 114 | </div> | ||
| 115 | <p class="text-gray uppercase">{{ | ||
| 116 | language == 0 ? '报名截止' : 'Registration Deadline' | ||
| 117 | }}:{{ n.signEndTime?.slice(0, 10) }}</p> | ||
| 108 | </div> | 118 | </div> |
| 109 | </el-col> | 119 | </el-col> |
| 110 | </el-row> | 120 | </el-row> |
| 111 | </div> | 121 | </div> |
| 112 | <el-empty :image="`/img/order_no.png`" :image-size="228" v-if="list?.length == 0" description=" "/> | 122 | <el-empty v-if="list?.length == 0" :image="`/img/order_no.png`" :image-size="228" description=" "/> |
| 113 | 123 | ||
| 114 | </div> | 124 | </div> |
| 115 | 125 | ||
| 116 | 126 | ||
| 117 | <div v-if="total>10" class="pc-page-box mb20"> | 127 | <div v-if="total>10" class="pc-page-box mb20"> |
| 118 | <PaginationPc v-model:page="query.pageNum" v-model:limit="query.pageSize" :total="total" @pagination="getList" /> | 128 | <PaginationPc v-model:limit="query.pageSize" v-model:page="query.pageNum" :total="total" @pagination="getList"/> |
| 119 | </div> | 129 | </div> |
| 120 | <div class="mb20"></div> | 130 | <div class="mb20"></div> |
| 121 | </div> | 131 | </div> |
| ... | @@ -123,17 +133,18 @@ | ... | @@ -123,17 +133,18 @@ |
| 123 | </template> | 133 | </template> |
| 124 | 134 | ||
| 125 | <script setup> | 135 | <script setup> |
| 126 | import { getCurrentInstance, ref } from 'vue' | 136 | import {getCurrentInstance, ref} from 'vue' |
| 127 | import { reactive, onMounted } from '@vue/runtime-core' | 137 | import {reactive, onMounted} from '@vue/runtime-core' |
| 128 | import { useRouter } from 'vue-router' | 138 | import {useRouter} from 'vue-router' |
| 129 | import { dayjs } from 'element-plus' | 139 | import {dayjs} from 'element-plus' |
| 130 | 140 | ||
| 131 | const router = useRouter() | 141 | const router = useRouter() |
| 132 | const { proxy } = getCurrentInstance() | 142 | const {proxy} = getCurrentInstance() |
| 133 | import * as match from '@/apiPc/match' | 143 | import * as match from '@/apiPc/match' |
| 134 | import {useStorage} from "@vueuse/core/index"; | 144 | import {useStorage} from "@vueuse/core/index"; |
| 135 | const language= useStorage('language',0) | 145 | |
| 136 | const typeList = ref([{ label: '全部', id: '0' }]) | 146 | const language = useStorage('language', 0) |
| 147 | const typeList = ref([{label: '全部', id: '0'}]) | ||
| 137 | const list = ref([]) | 148 | const list = ref([]) |
| 138 | const projectList = ref([]) | 149 | const projectList = ref([]) |
| 139 | const monthList = ref([]) | 150 | const monthList = ref([]) |
| ... | @@ -141,7 +152,7 @@ const loading = ref(false) | ... | @@ -141,7 +152,7 @@ const loading = ref(false) |
| 141 | const activeName = ref('') | 152 | const activeName = ref('') |
| 142 | const total = ref(0) | 153 | const total = ref(0) |
| 143 | const query = ref({ | 154 | const query = ref({ |
| 144 | type:'-1', | 155 | type: '-1', |
| 145 | projectId: '', | 156 | projectId: '', |
| 146 | progressStatusCode: '-1', | 157 | progressStatusCode: '-1', |
| 147 | month: '', | 158 | month: '', |
| ... | @@ -184,7 +195,7 @@ function getList() { | ... | @@ -184,7 +195,7 @@ function getList() { |
| 184 | loading.value = true | 195 | loading.value = true |
| 185 | match.getMaList(query.value).then((res) => { | 196 | match.getMaList(query.value).then((res) => { |
| 186 | list.value = res.rows | 197 | list.value = res.rows |
| 187 | for(let n of list.value){ | 198 | for (let n of list.value) { |
| 188 | var today = dayjs().format('YYYY-MM-DD HH:mm:ss') | 199 | var today = dayjs().format('YYYY-MM-DD HH:mm:ss') |
| 189 | n.time = dayjs(n.signEndTime).diff(today, 'millisecond') | 200 | n.time = dayjs(n.signEndTime).diff(today, 'millisecond') |
| 190 | } | 201 | } |
| ... | @@ -204,53 +215,67 @@ function goDetail(id) { | ... | @@ -204,53 +215,67 @@ function goDetail(id) { |
| 204 | } | 215 | } |
| 205 | </script> | 216 | </script> |
| 206 | 217 | ||
| 207 | <style scoped lang="scss"> | 218 | <style lang="scss" scoped> |
| 208 | .app-container { | 219 | .app-container { |
| 209 | background: #f5f7f9; | 220 | background: #f5f7f9; |
| 210 | padding: 0; | 221 | padding: 0; |
| 211 | } | 222 | } |
| 223 | |||
| 212 | .matchItem { | 224 | .matchItem { |
| 213 | cursor: pointer;padding:10px 20px 20px;box-shadow: 0 0 6px #eee; | 225 | cursor: pointer; |
| 214 | background: #FFFFFF;margin: 0 0 20px; | 226 | padding: 10px 20px 20px; |
| 227 | box-shadow: 0 0 6px #eee; | ||
| 228 | background: #FFFFFF; | ||
| 229 | margin: 0 0 20px; | ||
| 215 | position: relative; | 230 | position: relative; |
| 216 | .el-col{padding-top: 20px} | 231 | |
| 217 | .countDownTitle{margin: 0} | 232 | .el-col { |
| 233 | padding-top: 20px | ||
| 234 | } | ||
| 235 | |||
| 236 | .countDownTitle { | ||
| 237 | margin: 0 | ||
| 238 | } | ||
| 239 | |||
| 218 | &:last-child { | 240 | &:last-child { |
| 219 | border-bottom: none; | 241 | border-bottom: none; |
| 220 | } | 242 | } |
| 243 | |||
| 221 | .el-avatar { | 244 | .el-avatar { |
| 222 | position: absolute; | 245 | position: absolute; |
| 223 | left: 20px; | 246 | left: 20px; |
| 224 | top: 30px; | 247 | top: 30px; |
| 225 | 248 | ||
| 226 | img { | 249 | img { |
| 227 | background: #fff; | 250 | background: #fff; |
| 228 | } | 251 | } |
| 229 | } | 252 | } |
| 230 | 253 | ||
| 231 | .info { | 254 | .info { |
| 232 | p { | 255 | p { |
| 233 | font-size: 14px; | 256 | font-size: 14px; |
| 234 | } | 257 | } |
| 235 | } | 258 | } |
| 236 | 259 | ||
| 237 | .typeTag { | 260 | .typeTag { |
| 238 | position: absolute; | 261 | position: absolute; |
| 239 | right: 0; | 262 | right: 0; |
| 240 | top: 0; | 263 | top: 0; |
| 241 | } | 264 | } |
| 242 | 265 | ||
| 243 | h3 { | 266 | h3 { |
| 244 | font-weight: 500;margin: 0 0 10px; | 267 | font-weight: 500; |
| 268 | margin: 0 0 10px; | ||
| 245 | font-size: 18px; | 269 | font-size: 18px; |
| 246 | color: #000000; | 270 | color: #000000; |
| 247 | text-overflow: ellipsis; | 271 | text-overflow: ellipsis; |
| 248 | } | 272 | } |
| 249 | 273 | ||
| 250 | &:hover h3 { | 274 | &:hover h3 { |
| 251 | color: var(--el-color-primary); | 275 | color: var(--el-color-primary); |
| 252 | } | 276 | } |
| 253 | } | 277 | } |
| 278 | |||
| 254 | .countDownTitle { | 279 | .countDownTitle { |
| 255 | text-align: center; | 280 | text-align: center; |
| 256 | color: #525F6B; | 281 | color: #525F6B; |
| ... | @@ -278,11 +303,23 @@ function goDetail(id) { | ... | @@ -278,11 +303,23 @@ function goDetail(id) { |
| 278 | width: 100%; | 303 | width: 100%; |
| 279 | left: 0; | 304 | left: 0; |
| 280 | } | 305 | } |
| 281 | .info h3{margin: 0 0 15px} | 306 | |
| 282 | .info .ppl{margin: 6px 0;} | 307 | .info h3 { |
| 283 | .ppl{color: #29343C; | 308 | margin: 0 0 15px |
| 284 | label{color: #929AA0;} | 309 | } |
| 310 | |||
| 311 | .info .ppl { | ||
| 312 | margin: 6px 0; | ||
| 285 | } | 313 | } |
| 314 | |||
| 315 | .ppl { | ||
| 316 | color: #29343C; | ||
| 317 | |||
| 318 | label { | ||
| 319 | color: #929AA0; | ||
| 320 | } | ||
| 321 | } | ||
| 322 | |||
| 286 | .van-count-down { | 323 | .van-count-down { |
| 287 | text-align: center; | 324 | text-align: center; |
| 288 | margin: 20px 0; | 325 | margin: 20px 0; |
| ... | @@ -296,7 +333,8 @@ function goDetail(id) { | ... | @@ -296,7 +333,8 @@ function goDetail(id) { |
| 296 | } | 333 | } |
| 297 | 334 | ||
| 298 | .block { | 335 | .block { |
| 299 | display: inline-block; opacity: 0.7; | 336 | display: inline-block; |
| 337 | opacity: 0.7; | ||
| 300 | width: 52px; | 338 | width: 52px; |
| 301 | color: #fff; | 339 | color: #fff; |
| 302 | font-size: 26px; | 340 | font-size: 26px; |
| ... | @@ -307,30 +345,50 @@ function goDetail(id) { | ... | @@ -307,30 +345,50 @@ function goDetail(id) { |
| 307 | line-height: 50px; | 345 | line-height: 50px; |
| 308 | text-align: center; | 346 | text-align: center; |
| 309 | } | 347 | } |
| 348 | |||
| 310 | @media (max-width: 1450px) { | 349 | @media (max-width: 1450px) { |
| 311 | .block{width: 44px;font-size: 20px;} | 350 | .block { |
| 351 | width: 44px; | ||
| 352 | font-size: 20px; | ||
| 353 | } | ||
| 312 | } | 354 | } |
| 355 | |||
| 313 | .el-pagination { | 356 | .el-pagination { |
| 314 | --el-pagination-button-disabled-bg-color: transparent; | 357 | --el-pagination-button-disabled-bg-color: transparent; |
| 315 | justify-content: center; | 358 | justify-content: center; |
| 316 | --el-pagination-bg-color: transparent; | 359 | --el-pagination-bg-color: transparent; |
| 317 | 360 | ||
| 318 | } | 361 | } |
| 319 | 362 | ||
| 320 | .kind { | 363 | .kind { |
| 321 | .el-radio-group{width: 90%;} | 364 | .el-radio-group { |
| 365 | width: 90%; | ||
| 366 | } | ||
| 367 | |||
| 322 | ul { | 368 | ul { |
| 323 | list-style: none; | 369 | list-style: none; |
| 324 | 370 | ||
| 325 | li { | 371 | li { |
| 326 | margin: 0 0 10px; | 372 | margin: 0 0 10px; |
| 327 | display: flex; | 373 | display: flex; |
| 328 | align-items: flex-start; | 374 | align-items: flex-start; |
| 329 | & > label {padding: 8px 0; | 375 | |
| 330 | width:5em;text-align: right;font-weight: normal; | 376 | & > label { |
| 377 | padding: 8px 0; | ||
| 378 | width: 5em; | ||
| 379 | text-align: right; | ||
| 380 | font-weight: normal; | ||
| 381 | } | ||
| 382 | |||
| 383 | .el-radio-button { | ||
| 384 | min-width: 90px; | ||
| 385 | text-align: center; | ||
| 386 | } | ||
| 387 | |||
| 388 | &:last-child { | ||
| 389 | border-bottom: none; | ||
| 390 | margin: 0 | ||
| 331 | } | 391 | } |
| 332 | .el-radio-button{min-width: 90px;text-align: center;} | ||
| 333 | &:last-child{border-bottom: none;margin: 0} | ||
| 334 | } | 392 | } |
| 335 | } | 393 | } |
| 336 | } | 394 | } |
| ... | @@ -351,5 +409,7 @@ function goDetail(id) { | ... | @@ -351,5 +409,7 @@ function goDetail(id) { |
| 351 | background: var(--el-color-primary) | 409 | background: var(--el-color-primary) |
| 352 | } | 410 | } |
| 353 | 411 | ||
| 354 | .mw100{max-width: 100%;} | 412 | .mw100 { |
| 413 | max-width: 100%; | ||
| 414 | } | ||
| 355 | </style> | 415 | </style> | ... | ... |
-
Please register or sign in to post a comment