no message
Showing
8 changed files
with
247 additions
and
105 deletions
| ... | @@ -15,7 +15,8 @@ | ... | @@ -15,7 +15,8 @@ |
| 15 | "@element-plus/icons-vue": "2.0.10", | 15 | "@element-plus/icons-vue": "2.0.10", |
| 16 | "@videojs-player/vue": "^1.0.0", | 16 | "@videojs-player/vue": "^1.0.0", |
| 17 | "@vueup/vue-quill": "1.1.1", | 17 | "@vueup/vue-quill": "1.1.1", |
| 18 | "@vueuse/core": "^10.1.2", | 18 | "@vueuse/core": "^13.4.0", |
| 19 | "@vueuse/router": "^13.4.0", | ||
| 19 | "axios": "0.27.2", | 20 | "axios": "0.27.2", |
| 20 | "crypto-js": "^4.1.1", | 21 | "crypto-js": "^4.1.1", |
| 21 | "echarts": "5.4.0", | 22 | "echarts": "5.4.0", | ... | ... |
| ... | @@ -32,7 +32,9 @@ | ... | @@ -32,7 +32,9 @@ |
| 32 | <el-col :span="14"> | 32 | <el-col :span="14"> |
| 33 | <ul> | 33 | <ul> |
| 34 | <li>Postal code:214000</li> | 34 | <li>Postal code:214000</li> |
| 35 | <li>Address:100 meters northeast of the intersection of Hefeng Road and Qingshu, the Taihu Lake New Town, Wuxi, Jiangsu</li> | 35 | <li>Address:100 meters northeast of the intersection of Hefeng Road and Qingshu, the Taihu Lake New Town, |
| 36 | Wuxi, Jiangsu | ||
| 37 | </li> | ||
| 36 | </ul> | 38 | </ul> |
| 37 | </el-col> | 39 | </el-col> |
| 38 | <el-col :span="6"> | 40 | <el-col :span="6"> |
| ... | @@ -56,22 +58,25 @@ | ... | @@ -56,22 +58,25 @@ |
| 56 | </div> | 58 | </div> |
| 57 | <div class="fixed-right forPc"> | 59 | <div class="fixed-right forPc"> |
| 58 | <div class="mlb" v-if="language===0"> | 60 | <div class="mlb" v-if="language===0"> |
| 59 | <div @click="goAround" class="mb10 pb5"> | 61 | <div @click="goAround" class="mb10 pb5"> |
| 60 | <a> | 62 | <a> |
| 61 | <img class="kf" src="@/assets/logo/btn02.png"/> | 63 | <img class="kf" src="@/assets/logo/btn02.png"/> |
| 62 | <div class="text-center mt10">周边活动</div> | 64 | <div class="text-center mt10">周边活动</div> |
| 63 | </a> | 65 | </a> |
| 64 | </div> | 66 | </div> |
| 65 | <div onclick="window.open('https://ykf-weixin01.7moor.com/wapchat.html?accessId=6c500b60-02c6-11ef-9a4d-85cd5dacc5bf&fromUrl=&urlTitle=&language=ZHCN','_blank','height=700px,width=700px,top=50,left=0,toolbar=no,menubar=no,scrollbars=no, resizable=no,location=no, status=no')" title="客服" > | 67 | <div |
| 68 | style="display: none" title="客服" | ||
| 69 | onclick="window.open('https://ykf-weixin01.7moor.com/wapchat.html?accessId=6c500b60-02c6-11ef-9a4d-85cd5dacc5bf&fromUrl=&urlTitle=&language=ZHCN','_blank','height=700px,width=700px,top=50,left=0,toolbar=no,menubar=no,scrollbars=no, resizable=no,location=no, status=no')" | ||
| 70 | > | ||
| 66 | <img class="kf" src="@/assets/logo/btn01.png"/> | 71 | <img class="kf" src="@/assets/logo/btn01.png"/> |
| 67 | <div class="text-center mt10">在线客服</div> | 72 | <div class="text-center mt10">在线客服</div> |
| 68 | </div> | 73 | </div> |
| 69 | <!-- <div @click="goHelpZH">--> | 74 | <!-- <div @click="goHelpZH">--> |
| 70 | <!-- <a>--> | 75 | <!-- <a>--> |
| 71 | <!-- <img class="kf" src="@/assets/logo/btn02.png"/>--> | 76 | <!-- <img class="kf" src="@/assets/logo/btn02.png"/>--> |
| 72 | <!-- <div class="text-center mt10">周边活动</div>--> | 77 | <!-- <div class="text-center mt10">周边活动</div>--> |
| 73 | <!-- </a>--> | 78 | <!-- </a>--> |
| 74 | <!-- </div>--> | 79 | <!-- </div>--> |
| 75 | </div> | 80 | </div> |
| 76 | <div class="mlb" v-else> | 81 | <div class="mlb" v-else> |
| 77 | <div @click="goAround" class="mb10 pb5"> | 82 | <div @click="goAround" class="mb10 pb5"> |
| ... | @@ -80,14 +85,16 @@ | ... | @@ -80,14 +85,16 @@ |
| 80 | <div class="text-center mt10">ACTIVITIES</div> | 85 | <div class="text-center mt10">ACTIVITIES</div> |
| 81 | </a> | 86 | </a> |
| 82 | </div> | 87 | </div> |
| 83 | <div onclick="window.open('https://ykf-weixin01.7moor.com/wapchat.html?accessId=707daf80-02c6-11ef-9a4d-85cd5dacc5bf&fromUrl=&urlTitle=&language=EN','_blank','height=700px,width=700px,top=100,left=150,toolbar=no,menubar=no,scrollbars=no, resizable=no,location=no, status=no')" title="Live Chat"> | 88 | <div |
| 89 | onclick="window.open('https://ykf-weixin01.7moor.com/wapchat.html?accessId=707daf80-02c6-11ef-9a4d-85cd5dacc5bf&fromUrl=&urlTitle=&language=EN','_blank','height=700px,width=700px,top=100,left=150,toolbar=no,menubar=no,scrollbars=no, resizable=no,location=no, status=no')" | ||
| 90 | title="Live Chat"> | ||
| 84 | <img class="kf" src="@/assets/logo/btn01.png"/> | 91 | <img class="kf" src="@/assets/logo/btn01.png"/> |
| 85 | <div class="text-center ">LIVE CHAT</div> | 92 | <div class="text-center ">LIVE CHAT</div> |
| 86 | </div> | 93 | </div> |
| 87 | <!-- <div @click="goHelp">--> | 94 | <!-- <div @click="goHelp">--> |
| 88 | <!-- <img class="kf" src="@/assets/logo/btn02.png"/>--> | 95 | <!-- <img class="kf" src="@/assets/logo/btn02.png"/>--> |
| 89 | <!-- <div class="text-center uppercase">Video Guide</div>--> | 96 | <!-- <div class="text-center uppercase">Video Guide</div>--> |
| 90 | <!-- </div>--> | 97 | <!-- </div>--> |
| 91 | </div> | 98 | </div> |
| 92 | </div> | 99 | </div> |
| 93 | </template> | 100 | </template> |
| ... | @@ -96,78 +103,160 @@ | ... | @@ -96,78 +103,160 @@ |
| 96 | import {useStorage} from "@vueuse/core/index"; | 103 | import {useStorage} from "@vueuse/core/index"; |
| 97 | import {useRouter} from "vue-router"; | 104 | import {useRouter} from "vue-router"; |
| 98 | import {ElMessage} from "element-plus"; | 105 | import {ElMessage} from "element-plus"; |
| 106 | |||
| 99 | const router = useRouter() | 107 | const router = useRouter() |
| 100 | const language = useStorage('language', 0) | 108 | const language = useStorage('language', 0) |
| 101 | const goHelp = () => { | 109 | const goHelp = () => { |
| 102 | router.push({ | 110 | router.push({ |
| 103 | path: `/news/list/20000100`, | 111 | path: `/news/list/20000100`, |
| 104 | query:{ | 112 | query: { |
| 105 | kindName: language.value===0?'操作指引':'Video Guide' | 113 | kindName: language.value === 0 ? '操作指引' : 'Video Guide' |
| 106 | } | 114 | } |
| 107 | }) | 115 | }) |
| 108 | } | 116 | } |
| 109 | const goHelpZH = () => { | 117 | const goHelpZH = () => { |
| 110 | // ElMessage.success('已下载文件') | 118 | // ElMessage.success('已下载文件') |
| 111 | router.push({ | 119 | router.push({ |
| 112 | name: 'guide', | 120 | name: 'guide', |
| 113 | query: { | 121 | query: { |
| 114 | index:8 | 122 | index: 8 |
| 115 | } | 123 | } |
| 116 | }) | 124 | }) |
| 117 | } | 125 | } |
| 118 | const goAround = () => { | 126 | const goAround = () => { |
| 119 | //周边活动 | 127 | //周边活动 |
| 120 | router.push({path: `/about/wuDao`,query: {activeIndex: '2'}}) | 128 | router.push({path: `/about/wuDao`, query: {activeIndex: '2'}}) |
| 121 | } | 129 | } |
| 122 | </script> | 130 | </script> |
| 123 | 131 | ||
| 124 | <style lang="scss" scoped> | 132 | <style lang="scss" scoped> |
| 125 | .kf{width: 45px;margin: auto;height: auto; | 133 | .kf { |
| 134 | width: 45px; | ||
| 135 | margin: auto; | ||
| 136 | height: auto; | ||
| 126 | //animation: pop 2s infinite; | 137 | //animation: pop 2s infinite; |
| 127 | } | 138 | } |
| 128 | .fixed-right{position: fixed;right: 0;top: 65%;z-index: 9; | 139 | |
| 129 | .mlb{background: #fff;border-radius: 10px 0 0 10px;box-shadow: 0 2px 8px #aaa; | 140 | .fixed-right { |
| 130 | padding: 10px 8px;text-align: center;cursor: pointer; | 141 | position: fixed; |
| 131 | div{text-transform: uppercase;} | 142 | right: 0; |
| 132 | div:first-child{border-bottom: 0.5px solid #eee; | 143 | top: 65%; |
| 144 | z-index: 9; | ||
| 145 | |||
| 146 | .mlb { | ||
| 147 | background: #fff; | ||
| 148 | border-radius: 10px 0 0 10px; | ||
| 149 | box-shadow: 0 2px 8px #aaa; | ||
| 150 | padding: 10px 8px; | ||
| 151 | text-align: center; | ||
| 152 | cursor: pointer; | ||
| 153 | |||
| 154 | div { | ||
| 155 | text-transform: uppercase; | ||
| 156 | } | ||
| 157 | |||
| 158 | div:first-child { | ||
| 159 | border-bottom: 0.5px solid #eee; | ||
| 133 | //padding: 0 0 10px;margin-bottom: 10px; | 160 | //padding: 0 0 10px;margin-bottom: 10px; |
| 134 | } | 161 | } |
| 135 | div:hover{.gradient-text{font-weight: bold;}} | 162 | |
| 163 | div:hover { | ||
| 164 | .gradient-text { | ||
| 165 | font-weight: bold; | ||
| 166 | } | ||
| 167 | } | ||
| 136 | } | 168 | } |
| 137 | } | 169 | } |
| 138 | .copyright{font-size: 14px;opacity: 0.88;color: #4C5359;} | 170 | |
| 139 | .footAll{background: #E0E3E5;;padding: 36px 0 5px; | 171 | .copyright { |
| 140 | p{font-size: 14px;opacity: 0.88;color: #4C5359;} | 172 | font-size: 14px; |
| 141 | ul{list-style: none; | 173 | opacity: 0.88; |
| 142 | li{line-height: 30px;font-size: 14px;opacity: 0.88;color: #4C5359; | 174 | color: #4C5359; |
| 143 | a{margin-left: 15px; | 175 | } |
| 144 | &:hover{text-decoration: underline;} | 176 | |
| 177 | .footAll { | ||
| 178 | background: #E0E3E5;; | ||
| 179 | padding: 36px 0 5px; | ||
| 180 | |||
| 181 | p { | ||
| 182 | font-size: 14px; | ||
| 183 | opacity: 0.88; | ||
| 184 | color: #4C5359; | ||
| 185 | } | ||
| 186 | |||
| 187 | ul { | ||
| 188 | list-style: none; | ||
| 189 | |||
| 190 | li { | ||
| 191 | line-height: 30px; | ||
| 192 | font-size: 14px; | ||
| 193 | opacity: 0.88; | ||
| 194 | color: #4C5359; | ||
| 195 | |||
| 196 | a { | ||
| 197 | margin-left: 15px; | ||
| 198 | |||
| 199 | &:hover { | ||
| 200 | text-decoration: underline; | ||
| 201 | } | ||
| 145 | } | 202 | } |
| 146 | } | 203 | } |
| 147 | } | 204 | } |
| 148 | img{height: 80px;} | 205 | |
| 206 | img { | ||
| 207 | height: 80px; | ||
| 208 | } | ||
| 149 | } | 209 | } |
| 210 | |||
| 150 | .gradient-text { | 211 | .gradient-text { |
| 151 | font-family: FZJunHeiS-B-GB; | 212 | font-family: FZJunHeiS-B-GB; |
| 152 | font-weight: 600;font-size: 17px; | 213 | font-weight: 600; |
| 214 | font-size: 17px; | ||
| 153 | background: linear-gradient(0deg, #8226FC 0%, #483BEB 100%); | 215 | background: linear-gradient(0deg, #8226FC 0%, #483BEB 100%); |
| 154 | -webkit-background-clip: text; | 216 | -webkit-background-clip: text; |
| 155 | -webkit-text-fill-color: transparent; | 217 | -webkit-text-fill-color: transparent; |
| 156 | } | 218 | } |
| 219 | |||
| 157 | @media (max-width: 500px) { | 220 | @media (max-width: 500px) { |
| 158 | .forWei{display: none;} | 221 | .forWei { |
| 159 | .footAll{padding:10px 0; | 222 | display: none; |
| 160 | ul { | 223 | } |
| 161 | li { | 224 | .footAll { |
| 162 | font-size: 10px;line-height: 1.4; | 225 | padding: 10px 0; |
| 163 | } | 226 | |
| 227 | ul { | ||
| 228 | li { | ||
| 229 | font-size: 10px; | ||
| 230 | line-height: 1.4; | ||
| 164 | } | 231 | } |
| 165 | img{height: 60px;} | ||
| 166 | p{font-size: 10px;line-height: 1.4;} | ||
| 167 | .copyright{font-size: 10px;line-height: 1.4;} | ||
| 168 | } | 232 | } |
| 233 | |||
| 234 | img { | ||
| 235 | height: 60px; | ||
| 236 | } | ||
| 237 | |||
| 238 | p { | ||
| 239 | font-size: 10px; | ||
| 240 | line-height: 1.4; | ||
| 241 | } | ||
| 242 | |||
| 243 | .copyright { | ||
| 244 | font-size: 10px; | ||
| 245 | line-height: 1.4; | ||
| 246 | } | ||
| 247 | } | ||
| 169 | } | 248 | } |
| 170 | .ffoot{display: inline-flex; | 249 | |
| 171 | img{width: 20px;height: 20px;display: inline-block;position: relative;top: 4px;margin-right: 4px;} | 250 | .ffoot { |
| 251 | display: inline-flex; | ||
| 252 | |||
| 253 | img { | ||
| 254 | width: 20px; | ||
| 255 | height: 20px; | ||
| 256 | display: inline-block; | ||
| 257 | position: relative; | ||
| 258 | top: 4px; | ||
| 259 | margin-right: 4px; | ||
| 260 | } | ||
| 172 | } | 261 | } |
| 173 | </style> | 262 | </style> | ... | ... |
This diff is collapsed.
Click to expand it.
| ... | @@ -92,6 +92,8 @@ | ... | @@ -92,6 +92,8 @@ |
| 92 | <div v-if="labelObj.tv==1"><img src="@/assets/img/svg/tag18@2x.png"/>{{ language==0 ?'电视': 'tv' }}</div> | 92 | <div v-if="labelObj.tv==1"><img src="@/assets/img/svg/tag18@2x.png"/>{{ language==0 ?'电视': 'tv' }}</div> |
| 93 | <div v-if="labelObj.hours==1"><img src="@/assets/img/svg/tag19@2x.png"/>{{ language==0 ?'24小时前台': '24Hours Available' }}</div> | 93 | <div v-if="labelObj.hours==1"><img src="@/assets/img/svg/tag19@2x.png"/>{{ language==0 ?'24小时前台': '24Hours Available' }}</div> |
| 94 | <div v-if="labelObj.breakfast==1"><img src="@/assets/img/svg/tag20@2x.png"/>{{ language==0 ?'早餐': 'breakfast' }}</div> | 94 | <div v-if="labelObj.breakfast==1"><img src="@/assets/img/svg/tag20@2x.png"/>{{ language==0 ?'早餐': 'breakfast' }}</div> |
| 95 | <div v-if="labelObj.ntatorium==1"><img src="@/assets/img/svg/tag21@2x.png"/>{{ language==0 ?'泳池': 'ntatorium' }}</div> | ||
| 96 | <div v-if="labelObj.gymnasium==1"><img src="@/assets/img/svg/tag22@2x.png"/>{{ language==0 ?'健身房': 'gymnasium' }}</div> | ||
| 95 | </div> | 97 | </div> |
| 96 | </el-card> | 98 | </el-card> |
| 97 | 99 | ... | ... |
| ... | @@ -16,12 +16,12 @@ | ... | @@ -16,12 +16,12 @@ |
| 16 | <el-col :sm="12" :lg="4" :xs="12"> | 16 | <el-col :sm="12" :lg="4" :xs="12"> |
| 17 | <div class="item" @click="goMedia"><img src="@/assets/dance/btn07.png">媒体注册</div> | 17 | <div class="item" @click="goMedia"><img src="@/assets/dance/btn07.png">媒体注册</div> |
| 18 | </el-col> | 18 | </el-col> |
| 19 | <!-- <el-col :sm="12" :lg="4" :xs="12">--> | 19 | <!-- <el-col :sm="12" :lg="4" :xs="12">--> |
| 20 | <!-- <div class="item" @click="goAround"><img src="@/assets/dance/btn06.png">周边活动</div>--> | 20 | <!-- <div class="item" @click="goAround"><img src="@/assets/dance/btn06.png">周边活动</div>--> |
| 21 | <!-- </el-col>--> | 21 | <!-- </el-col>--> |
| 22 | <!-- <el-col :sm="12" :lg="4" :xs="12">--> | 22 | <!-- <el-col :sm="12" :lg="4" :xs="12">--> |
| 23 | <!-- <div class="item" @click="liveClick"><img src="@/assets/dance/btn05.png">赛事直播</div>--> | 23 | <!-- <div class="item" @click="liveClick"><img src="@/assets/dance/btn05.png">赛事直播</div>--> |
| 24 | <!-- </el-col>--> | 24 | <!-- </el-col>--> |
| 25 | </el-row> | 25 | </el-row> |
| 26 | </div> | 26 | </div> |
| 27 | <div class="itemBox_en" v-else> | 27 | <div class="itemBox_en" v-else> |
| ... | @@ -41,18 +41,18 @@ | ... | @@ -41,18 +41,18 @@ |
| 41 | <el-col :sm="12" :lg="4" :xs="12"> | 41 | <el-col :sm="12" :lg="4" :xs="12"> |
| 42 | <div class="item" @click="goMedia"><img src="@/assets/dance/btn07.png">Media Registration</div> | 42 | <div class="item" @click="goMedia"><img src="@/assets/dance/btn07.png">Media Registration</div> |
| 43 | </el-col> | 43 | </el-col> |
| 44 | <!-- <el-col :sm="12" :lg="4" :xs="12">--> | 44 | <!-- <el-col :sm="12" :lg="4" :xs="12">--> |
| 45 | <!-- <div class="item" @click="goAround"><img src="@/assets/dance/btn06.png">Around Activity</div>--> | 45 | <!-- <div class="item" @click="goAround"><img src="@/assets/dance/btn06.png">Around Activity</div>--> |
| 46 | <!-- </el-col>--> | 46 | <!-- </el-col>--> |
| 47 | 47 | ||
| 48 | <!-- <el-col :sm="12" :lg="4" :xs="12">--> | 48 | <!-- <el-col :sm="12" :lg="4" :xs="12">--> |
| 49 | <!-- <div class="item" @click="liveClick"><img src="@/assets/dance/btn05.png">live streaming</div>--> | 49 | <!-- <div class="item" @click="liveClick"><img src="@/assets/dance/btn05.png">live streaming</div>--> |
| 50 | <!-- </el-col>--> | 50 | <!-- </el-col>--> |
| 51 | </el-row> | 51 | </el-row> |
| 52 | </div> | 52 | </div> |
| 53 | <order-remark ref="orderRemarkRef" @submit="goBooking"/> | 53 | <order-remark ref="orderRemarkRef" @submit="goBooking"/> |
| 54 | <affix-invitation ref="dialogInvitationRef"/> | 54 | <affix-invitation ref="dialogInvitationRef"/> |
| 55 | <!-- 媒体注册--> | 55 | <!-- 媒体注册--> |
| 56 | <media-register ref="mediaRegisterRef"/> | 56 | <media-register ref="mediaRegisterRef"/> |
| 57 | </template> | 57 | </template> |
| 58 | 58 | ||
| ... | @@ -99,16 +99,16 @@ watch(matchId, (val) => { | ... | @@ -99,16 +99,16 @@ watch(matchId, (val) => { |
| 99 | form.value = null | 99 | form.value = null |
| 100 | }) | 100 | }) |
| 101 | 101 | ||
| 102 | match.getInfoByCptId({ cptId:props.matchId }).then((res) => { | 102 | match.getInfoByCptId({cptId: props.matchId}).then((res) => { |
| 103 | liveData.value = res.data || {} | 103 | liveData.value = res.data || {} |
| 104 | }) | 104 | }) |
| 105 | } | 105 | } |
| 106 | }) | 106 | }) |
| 107 | 107 | ||
| 108 | const liveClick = () => { | 108 | const liveClick = () => { |
| 109 | if (liveData.value.videoStatus=="1") { | 109 | if (liveData.value.videoStatus == "1") { |
| 110 | 110 | ||
| 111 | if(language.value==0){ | 111 | if (language.value == 0) { |
| 112 | 112 | ||
| 113 | window.open(liveData.value.videoUrlCn) | 113 | window.open(liveData.value.videoUrlCn) |
| 114 | } else { | 114 | } else { |
| ... | @@ -124,7 +124,7 @@ const goAbout = () => { | ... | @@ -124,7 +124,7 @@ const goAbout = () => { |
| 124 | } | 124 | } |
| 125 | const goAround = () => { | 125 | const goAround = () => { |
| 126 | //周边活动 | 126 | //周边活动 |
| 127 | router.push({path: `/about/wuDao`,query: {activeIndex: '2'}}) | 127 | router.push({path: `/about/wuDao`, query: {activeIndex: '2'}}) |
| 128 | } | 128 | } |
| 129 | 129 | ||
| 130 | onMounted(() => { | 130 | onMounted(() => { |
| ... | @@ -135,6 +135,7 @@ function building() { | ... | @@ -135,6 +135,7 @@ function building() { |
| 135 | ElMessage.warning(language.value == 0 ? '感谢您对本次比赛的关注,该服务暂无可预订信息,敬请期待。' : 'Thank you for your attention to this competition. The service is currently unavailable for booking. Please stay tuned.') | 135 | ElMessage.warning(language.value == 0 ? '感谢您对本次比赛的关注,该服务暂无可预订信息,敬请期待。' : 'Thank you for your attention to this competition. The service is currently unavailable for booking. Please stay tuned.') |
| 136 | return | 136 | return |
| 137 | } | 137 | } |
| 138 | |||
| 138 | function applyInvitation() { | 139 | function applyInvitation() { |
| 139 | var obj = { | 140 | var obj = { |
| 140 | title: language.value == 0 ? '邀请函申请' : 'Visa Invitation Letter ', | 141 | title: language.value == 0 ? '邀请函申请' : 'Visa Invitation Letter ', |
| ... | @@ -142,13 +143,18 @@ function applyInvitation() { | ... | @@ -142,13 +143,18 @@ function applyInvitation() { |
| 142 | } | 143 | } |
| 143 | proxy.$refs['dialogInvitationRef'].open(obj) | 144 | proxy.$refs['dialogInvitationRef'].open(obj) |
| 144 | } | 145 | } |
| 146 | |||
| 145 | const user = useUserStore().user | 147 | const user = useUserStore().user |
| 148 | |||
| 146 | function goMedia() { | 149 | function goMedia() { |
| 150 | proxy.$modal.msgWarning(language.value == 0 ? '暂未开放' :'Not yet open') | ||
| 151 | return; | ||
| 152 | |||
| 147 | //如果没登录 | 153 | //如果没登录 |
| 148 | if (!user) { | 154 | if (!user) { |
| 149 | ElMessage({ | 155 | ElMessage({ |
| 150 | type: 'warning', | 156 | type: 'warning', |
| 151 | message: language.value == 0 ? '请先登录' : 'Please log in first', | 157 | message: language.value == 0 ? '请先登录' : 'Please login first', |
| 152 | }) | 158 | }) |
| 153 | return | 159 | return |
| 154 | } | 160 | } |
| ... | @@ -162,16 +168,16 @@ function popRemark(type) { | ... | @@ -162,16 +168,16 @@ function popRemark(type) { |
| 162 | return | 168 | return |
| 163 | } | 169 | } |
| 164 | 170 | ||
| 165 | if(type == '0'){ | 171 | if (type == '0') { |
| 166 | // 签证 | 172 | // 签证 |
| 167 | if(language.value === 0){ | 173 | if (language.value === 0) { |
| 168 | ElMessage.warning('请切换英文页面办理') | 174 | ElMessage.warning('请切换英文页面办理') |
| 169 | return | 175 | return |
| 170 | } else { | 176 | } else { |
| 171 | if (!user) { | 177 | if (!user) { |
| 172 | ElMessage({ | 178 | ElMessage({ |
| 173 | type: 'warning', | 179 | type: 'warning', |
| 174 | message: language.value == 0 ? '请先登录' : 'Please log in first', | 180 | message: language.value == 0 ? '请先登录' : 'Please login first', |
| 175 | }) | 181 | }) |
| 176 | return | 182 | return |
| 177 | } | 183 | } |
| ... | @@ -200,20 +206,20 @@ function popRemark(type) { | ... | @@ -200,20 +206,20 @@ function popRemark(type) { |
| 200 | proxy.$refs['orderRemarkRef'].open(params) | 206 | proxy.$refs['orderRemarkRef'].open(params) |
| 201 | } | 207 | } |
| 202 | 208 | ||
| 203 | function goBooking(n) { | 209 | function goBooking(n, f) { |
| 204 | switch (n) { | 210 | switch (n) { |
| 205 | case 10: | 211 | case 10: |
| 206 | // 票务 | 212 | // 票务 |
| 207 | 213 | ||
| 208 | // router.push({ | 214 | // router.push({ |
| 209 | // path: `/booking/ticket/${props.matchId}`, | 215 | // path: `/booking/ticket/${props.matchId}`, |
| 210 | // params: {id:props.matchId}, | 216 | // params: {id:props.matchId}, |
| 211 | // query: {id: props.matchId} | 217 | // query: {id: props.matchId} |
| 212 | // }) | 218 | // }) |
| 213 | break; | 219 | break; |
| 214 | case 1: | 220 | case 1: |
| 215 | //酒店 | 221 | //酒店 |
| 216 | router.push({path: `/booking/hotel/${props.matchId}`}) | 222 | router.push({path: `/booking/hotel/${props.matchId}`, query: {flag: f}}) |
| 217 | break; | 223 | break; |
| 218 | case 2: | 224 | case 2: |
| 219 | //车辆 | 225 | //车辆 |
| ... | @@ -236,29 +242,43 @@ function goBooking(n) { | ... | @@ -236,29 +242,43 @@ function goBooking(n) { |
| 236 | </script> | 242 | </script> |
| 237 | 243 | ||
| 238 | <style scoped lang="scss"> | 244 | <style scoped lang="scss"> |
| 239 | .itemBox,.itemBox_en { | 245 | .itemBox, .itemBox_en { |
| 240 | padding: 20px;background: #fff;box-shadow: 0 0 46px 0 rgba(1,16,64,0.08); | 246 | padding: 20px; |
| 247 | background: #fff; | ||
| 248 | box-shadow: 0 0 46px 0 rgba(1, 16, 64, 0.08); | ||
| 241 | border-radius: 20px; | 249 | border-radius: 20px; |
| 242 | } | 250 | } |
| 243 | 251 | ||
| 244 | :deep(.el-col){ max-width: 20%;flex: 0 0 20%;} | 252 | :deep(.el-col) { |
| 253 | max-width: 20%; | ||
| 254 | flex: 0 0 20%; | ||
| 255 | } | ||
| 256 | |||
| 245 | .item { | 257 | .item { |
| 246 | //box-shadow: 0px 0px 21px 0px rgba(41, 23, 101, 0.14); | 258 | //box-shadow: 0px 0px 21px 0px rgba(41, 23, 101, 0.14); |
| 247 | padding: 10px 0; | 259 | padding: 10px 0; |
| 248 | display: flex; | 260 | display: flex; |
| 249 | align-items: center;justify-content: center; | 261 | align-items: center; |
| 262 | justify-content: center; | ||
| 250 | font-size: 20px; | 263 | font-size: 20px; |
| 251 | background: url("@/assets/dance/btn_bg.png") no-repeat left #FFFFFF; | 264 | background: url("@/assets/dance/btn_bg.png") no-repeat left #FFFFFF; |
| 252 | background-size: 100% 100%; | 265 | background-size: 100% 100%; |
| 253 | border-radius: 15px;gap: 10px; | 266 | border-radius: 15px; |
| 267 | gap: 10px; | ||
| 254 | 268 | ||
| 255 | img {object-fit: contain; | 269 | img { |
| 256 | width: 75px;height: 75px; | 270 | object-fit: contain; |
| 271 | width: 75px; | ||
| 272 | height: 75px; | ||
| 257 | } | 273 | } |
| 258 | } | 274 | } |
| 275 | |||
| 259 | .itemBox_en .item { | 276 | .itemBox_en .item { |
| 260 | flex-direction: column;text-align: center;text-transform: uppercase; | 277 | flex-direction: column; |
| 261 | height: 100%; | 278 | text-align: center; |
| 279 | text-transform: uppercase; | ||
| 280 | height: 100%; | ||
| 281 | |||
| 262 | img { | 282 | img { |
| 263 | position: relative; | 283 | position: relative; |
| 264 | transition: all 0.2s; | 284 | transition: all 0.2s; |
| ... | @@ -278,11 +298,23 @@ height: 100%; | ... | @@ -278,11 +298,23 @@ height: 100%; |
| 278 | } | 298 | } |
| 279 | 299 | ||
| 280 | @media screen and (max-width: 768px) { | 300 | @media screen and (max-width: 768px) { |
| 281 | .itemBox,.itemBox_en{padding: 0 20px 0} | 301 | .itemBox, .itemBox_en { |
| 282 | .item{font-size: 16px;height: auto !important; | 302 | padding: 0 20px 0 |
| 283 | padding: 15px 0;margin: 10px 0; | 303 | } |
| 284 | img{width: 50px;height: 50px} | 304 | .item { |
| 305 | font-size: 16px; | ||
| 306 | height: auto !important; | ||
| 307 | padding: 15px 0; | ||
| 308 | margin: 10px 0; | ||
| 309 | |||
| 310 | img { | ||
| 311 | width: 50px; | ||
| 312 | height: 50px | ||
| 313 | } | ||
| 314 | } | ||
| 315 | :deep(.el-col) { | ||
| 316 | max-width: 50%; | ||
| 317 | flex: 0 0 50%; | ||
| 285 | } | 318 | } |
| 286 | :deep(.el-col){ max-width: 50%;flex: 0 0 50%;} | ||
| 287 | } | 319 | } |
| 288 | </style> | 320 | </style> | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <el-dialog :title="title" v-model="show" width="400px" @close="close"> | 2 | <el-dialog :title="title" v-model="show" @close="close"> |
| 3 | <div> | 3 | <div> |
| 4 | <h2 class="text-warning text-center" v-if="cptName">{{cptName}}</h2> | 4 | <h2 class="text-warning text-center" v-if="cptName">{{cptName}}</h2> |
| 5 | 5 | ||
| ... | @@ -9,6 +9,15 @@ | ... | @@ -9,6 +9,15 @@ |
| 9 | <div v-if="type==4" class="plr20" v-html="form.reserveDesMeal"></div> | 9 | <div v-if="type==4" class="plr20" v-html="form.reserveDesMeal"></div> |
| 10 | <div v-if="type==5" class="plr20" v-html="form.reserveDesPhoto"></div> | 10 | <div v-if="type==5" class="plr20" v-html="form.reserveDesPhoto"></div> |
| 11 | <div v-if="type==10" class="plr20" v-html="form.reserveDesTitck"></div> | 11 | <div v-if="type==10" class="plr20" v-html="form.reserveDesTitck"></div> |
| 12 | |||
| 13 | |||
| 14 | <el-row v-if="type==1" justify="center"> | ||
| 15 | <el-radio-group v-model="hotelType"> | ||
| 16 | <el-radio label="0">{{language==0?'运动队酒店':'Team Hotel Reservation'}}</el-radio> | ||
| 17 | <el-radio label="1">{{language==0?'执委大会酒店':'Conference Hotel Reservation'}}</el-radio> | ||
| 18 | </el-radio-group> | ||
| 19 | </el-row> | ||
| 20 | |||
| 12 | </div> | 21 | </div> |
| 13 | <template #footer> | 22 | <template #footer> |
| 14 | <div class="dialog-footer text-center"> | 23 | <div class="dialog-footer text-center"> |
| ... | @@ -31,6 +40,8 @@ const title = ref('') | ... | @@ -31,6 +40,8 @@ const title = ref('') |
| 31 | const cptName = ref('') | 40 | const cptName = ref('') |
| 32 | const show = ref(false) | 41 | const show = ref(false) |
| 33 | const form = ref({}) | 42 | const form = ref({}) |
| 43 | const hotelType= ref('1') | ||
| 44 | |||
| 34 | let matchId = '' | 45 | let matchId = '' |
| 35 | let type = '' | 46 | let type = '' |
| 36 | const open = (params) => { | 47 | const open = (params) => { |
| ... | @@ -64,7 +75,7 @@ function ok() { | ... | @@ -64,7 +75,7 @@ function ok() { |
| 64 | // if(!user){ | 75 | // if(!user){ |
| 65 | // useUserStore().setVisitor() | 76 | // useUserStore().setVisitor() |
| 66 | // } else { | 77 | // } else { |
| 67 | emit('submit', type) | 78 | emit('submit', type, hotelType.value) |
| 68 | // } | 79 | // } |
| 69 | } | 80 | } |
| 70 | </script> | 81 | </script> | ... | ... |
This diff is collapsed.
Click to expand it.
| 1 | <template> | 1 | <template> |
| 2 | <el-dialog | 2 | <el-dialog |
| 3 | v-model="show" :title="title" width="600px" append-to-body close-icon="CircleClose" center | 3 | v-model="show" :title="title" append-to-body close-icon="CircleClose" center |
| 4 | :close-on-click-modal="false" class="pcloginpop" | 4 | :close-on-click-modal="false" class="pcloginpop" |
| 5 | destroy-on-close | 5 | destroy-on-close |
| 6 | > | 6 | > |
| ... | @@ -24,7 +24,7 @@ | ... | @@ -24,7 +24,7 @@ |
| 24 | <el-form :model="form" :rules="rules" ref="iformRef" label-position="top" v-else> | 24 | <el-form :model="form" :rules="rules" ref="iformRef" label-position="top" v-else> |
| 25 | <el-form-item :label="language==0?'申请人类别':'Applicant Type'" required prop="applicatType"> | 25 | <el-form-item :label="language==0?'申请人类别':'Applicant Type'" required prop="applicatType"> |
| 26 | <el-select v-model="form.applicatType"> | 26 | <el-select v-model="form.applicatType"> |
| 27 | <el-option label="MNA" value="1"/> | 27 | <el-option label="MNA/Team" value="1"/> |
| 28 | <el-option label="Technical Officials" value="2"/> | 28 | <el-option label="Technical Officials" value="2"/> |
| 29 | <el-option label="WT Staff" value="3"/> | 29 | <el-option label="WT Staff" value="3"/> |
| 30 | <el-option label="Supplier" value="4"/> | 30 | <el-option label="Supplier" value="4"/> |
| ... | @@ -38,6 +38,11 @@ | ... | @@ -38,6 +38,11 @@ |
| 38 | <el-option :label="language==0?'TE/PU(外办)邀请函':'TE/PU Invitation'" value="2"/> | 38 | <el-option :label="language==0?'TE/PU(外办)邀请函':'TE/PU Invitation'" value="2"/> |
| 39 | </el-select> | 39 | </el-select> |
| 40 | </el-form-item> | 40 | </el-form-item> |
| 41 | <el-form-item v-if="form.invitationType=='2'" label="Proof of Employment" required prop="invitationFile"> | ||
| 42 | <el-text type="danger">Proof of Employment(Note: This document must be issued by the invitee’s association and must bear an official stamp or signature.)</el-text> | ||
| 43 | <br/> | ||
| 44 | <file-upload v-model="form.invitationFile" :is-show-tip="false" :limit="1"></file-upload> | ||
| 45 | </el-form-item> | ||
| 41 | <el-form-item :label="language==0?'是否需要中文邀请函':'Do you need a Chinese invitation?'" required prop="chinese"> | 46 | <el-form-item :label="language==0?'是否需要中文邀请函':'Do you need a Chinese invitation?'" required prop="chinese"> |
| 42 | <el-radio-group v-model="form.chinese"> | 47 | <el-radio-group v-model="form.chinese"> |
| 43 | <el-radio :value="1">{{ language == 0 ? '是' : 'Yes' }}</el-radio> | 48 | <el-radio :value="1">{{ language == 0 ? '是' : 'Yes' }}</el-radio> |
| ... | @@ -46,18 +51,19 @@ | ... | @@ -46,18 +51,19 @@ |
| 46 | </el-form-item> | 51 | </el-form-item> |
| 47 | 52 | ||
| 48 | <!-- 一般信息--> | 53 | <!-- 一般信息--> |
| 49 | <el-form-item :label="language==0?'国家/地区协会名':'MNA Name'" :required="form.applicatType!=2" | 54 | <el-form-item :label="language==0?'国家/地区协会名':'MNA/Team Name'" :required="form.applicatType==1" |
| 50 | prop="associationCode"> | 55 | prop="associationCode"> |
| 51 | <el-select v-model="form.associationCode" filterable> | 56 | <el-select v-model="form.associationCode" filterable> |
| 52 | <el-option v-for="item in mnaList" :key="item.code" :label="language==0?item.nameCn:item.nameEn" | 57 | <el-option v-for="item in mnaList" :key="item.code" :label="language==0?item.nameCn:item.nameEn" |
| 53 | :value="item.code"/> | 58 | :value="item.code"/> |
| 54 | </el-select> | 59 | </el-select> |
| 55 | </el-form-item> | 60 | </el-form-item> |
| 56 | <el-form-item :label="language==0?'国家/地区协会地址':'MNA Address'" :required="form.applicatType!=2" | 61 | <el-form-item :label="language==0?'国家/地区协会地址':'MNA/Team Address'" :required="form.applicatType==1" |
| 57 | prop="associationAddress"> | 62 | prop="associationAddress"> |
| 58 | <el-input v-model="form.associationAddress"/> | 63 | <el-input v-model="form.associationAddress"/> |
| 59 | </el-form-item> | 64 | </el-form-item> |
| 60 | <el-form-item :label="language==0?'邮箱':'Contact Email'" required prop="email"> | 65 | <el-form-item :label="language==0?'邮箱':'Contact Email'" required prop="email"> |
| 66 | <el-text type="danger">Note: Notifications from the organizing committee will be sent to this email address.</el-text> | ||
| 61 | <el-input v-model="form.email" type="email"> | 67 | <el-input v-model="form.email" type="email"> |
| 62 | <template #append> | 68 | <template #append> |
| 63 | <el-button @click="sendEmail" v-loading="codeloading"> | 69 | <el-button @click="sendEmail" v-loading="codeloading"> |
| ... | @@ -95,7 +101,8 @@ | ... | @@ -95,7 +101,8 @@ |
| 95 | <!--上传护照,多张--> | 101 | <!--上传护照,多张--> |
| 96 | <div class="cptVisaInfoBosTable"> | 102 | <div class="cptVisaInfoBosTable"> |
| 97 | <el-form-item :label="language==0?'有效证件':'Passport Copy'" required> | 103 | <el-form-item :label="language==0?'有效证件':'Passport Copy'" required> |
| 98 | <ImageUpload v-model="form.passportCopy" :is-show-tip="false" :limit="100" | 104 | <el-text type="danger">Please ensure that the uploaded passport image is clear, complete, and free from glare or reflections.</el-text> |
| 105 | <ImageUpload v-model="form.passportCopy" :is-show-tip="false" :limit="20" | ||
| 99 | :action="'/league/visa/getPersonInfoFromCert/3'" | 106 | :action="'/league/visa/getPersonInfoFromCert/3'" |
| 100 | paramName="pic" list-type="text" :show-file-list="false" | 107 | paramName="pic" list-type="text" :show-file-list="false" |
| 101 | :button-text="language==0?'上传':'Upload'" @response="getPassportInfo" | 108 | :button-text="language==0?'上传':'Upload'" @response="getPassportInfo" |
| ... | @@ -230,7 +237,6 @@ | ... | @@ -230,7 +237,6 @@ |
| 230 | </el-table-column> | 237 | </el-table-column> |
| 231 | </el-table> | 238 | </el-table> |
| 232 | </div> | 239 | </div> |
| 233 | |||
| 234 | </div> | 240 | </div> |
| 235 | <!-- 补充材料--> | 241 | <!-- 补充材料--> |
| 236 | <el-form-item :label="language==0?'补充材料':'Additional Documents'" prop="files"> | 242 | <el-form-item :label="language==0?'补充材料':'Additional Documents'" prop="files"> |
| ... | @@ -266,7 +272,8 @@ const {proxy} = getCurrentInstance() | ... | @@ -266,7 +272,8 @@ const {proxy} = getCurrentInstance() |
| 266 | const language = useStorage('language', 0) | 272 | const language = useStorage('language', 0) |
| 267 | const form = ref({ | 273 | const form = ref({ |
| 268 | gender: '0', | 274 | gender: '0', |
| 269 | cptVisaInfoBos: [] | 275 | cptVisaInfoBos: [], |
| 276 | email: user?.email, | ||
| 270 | }) | 277 | }) |
| 271 | const show = ref(false) | 278 | const show = ref(false) |
| 272 | const codeloading = ref(false) | 279 | const codeloading = ref(false) |
| ... | @@ -294,7 +301,7 @@ const open = (params) => { | ... | @@ -294,7 +301,7 @@ const open = (params) => { |
| 294 | form.value.cptId = params.cptId | 301 | form.value.cptId = params.cptId |
| 295 | getCountryList() | 302 | getCountryList() |
| 296 | getMNAList() | 303 | getMNAList() |
| 297 | getVisa() | 304 | // getVisa() |
| 298 | } | 305 | } |
| 299 | defineExpose({open}) | 306 | defineExpose({open}) |
| 300 | 307 | ... | ... |
-
Please register or sign in to post a comment