no message
Showing
62 changed files
with
368 additions
and
182 deletions
| ... | @@ -555,6 +555,14 @@ export function getPayedOrderPdf(cptId, groupId) { | ... | @@ -555,6 +555,14 @@ export function getPayedOrderPdf(cptId, groupId) { |
| 555 | method: 'get' | 555 | method: 'get' |
| 556 | }) | 556 | }) |
| 557 | } | 557 | } |
| 558 | export function checkNoRepeat(query) { | ||
| 559 | return request({ | ||
| 560 | url: `/league/wdsf/checkNoRepeat`, | ||
| 561 | method: 'get', | ||
| 562 | params: query | ||
| 563 | }) | ||
| 564 | } | ||
| 565 | |||
| 558 | //todo | 566 | //todo |
| 559 | export function bindWdsf(perId,card) { | 567 | export function bindWdsf(perId,card) { |
| 560 | return request({ | 568 | return request({ | ... | ... |
| ... | @@ -335,7 +335,7 @@ export const rankList = [ | ... | @@ -335,7 +335,7 @@ export const rankList = [ |
| 335 | yin: '0', | 335 | yin: '0', |
| 336 | tong: '2' | 336 | tong: '2' |
| 337 | }, | 337 | }, |
| 338 | {index: '7', code: 'cn', name: 'Yan Bangbang - Du Yujun', gj: '中国', en_gj: 'China', jin: '0', yin: '0', tong: '1'} | 338 | {index: '7', code: 'cn', name: 'Yan Bangbang - Du Yujun', gj: '中国', en_gj: 'CHN', jin: '0', yin: '0', tong: '1'} |
| 339 | ] | 339 | ] |
| 340 | export const cjList = [ | 340 | export const cjList = [ |
| 341 | { | 341 | { | ... | ... |
src/assets/json/citycode-2019-08-23.json
0 → 100644
This diff could not be displayed because it is too large.
| ... | @@ -1002,13 +1002,47 @@ img{display: block;} | ... | @@ -1002,13 +1002,47 @@ img{display: block;} |
| 1002 | &:hover{filter: brightness(1.1)} | 1002 | &:hover{filter: brightness(1.1)} |
| 1003 | 1003 | ||
| 1004 | } | 1004 | } |
| 1005 | 1005 | .fixed_gg { | |
| 1006 | position: fixed;right:0; | ||
| 1007 | top: 25%; | ||
| 1008 | z-index: 10; | ||
| 1009 | .cclose.el-icon{font-size:0;color: #fff;z-index: 2; | ||
| 1010 | transition: font-size 0.2s;cursor: pointer; | ||
| 1011 | position: absolute;right: 0;} | ||
| 1012 | &:hover .el-icon{font-size: 26px;} | ||
| 1013 | img { | ||
| 1014 | width: 100%; | ||
| 1015 | } | ||
| 1016 | .bg-lineg{position: relative;border-radius: 15px;} | ||
| 1017 | .cover{position: absolute;width: 100%;z-index: 1;height: 100%;background: red;opacity: 0;top:0;} | ||
| 1018 | } | ||
| 1019 | .smallToday{display: flex;align-items: center; | ||
| 1020 | .type{margin-right: 20px;} | ||
| 1021 | h3{margin: 0 0 10px;} | ||
| 1022 | } | ||
| 1023 | .weatherbox{padding: 20px 0; | ||
| 1024 | .today{text-align: center;display: flex;justify-content: center;align-items: center;margin: 0 0 30px; | ||
| 1025 | .type{margin-left: 30px;} | ||
| 1026 | .wd{font-size: 50px;font-weight: bold;font-family: "DIN"} | ||
| 1027 | .wd_p{font-size: 14px;} | ||
| 1028 | .week{display: none} | ||
| 1029 | } | ||
| 1030 | .wlist{ | ||
| 1031 | display: flex;justify-content: space-between; | ||
| 1032 | li{text-align: center;margin: 0 10px; | ||
| 1033 | .wd{font-size: 15px;font-weight: bold;margin: 10px 0;white-space: nowrap} | ||
| 1034 | .week{font-size: 14px;} | ||
| 1035 | .type{} | ||
| 1036 | } | ||
| 1037 | } | ||
| 1038 | } | ||
| 1006 | //赛事 | 1039 | //赛事 |
| 1007 | .ph-30{padding-top: 30px;padding-bottom: 30px;} | 1040 | .ph-30{padding-top: 30px;padding-bottom: 30px;} |
| 1008 | .panel{border-radius: 0;background: #FFFFFF;padding: 1px 0 0; | 1041 | .panel{border-radius: 0;background: #FFFFFF;padding: 1px 0 0; |
| 1009 | .panel-header{line-height: 50px;height: 50px;border-bottom: 1px solid #EEEEEE; | 1042 | .panel-header{line-height: 50px;height: 50px;border-bottom: 1px solid #EEEEEE; |
| 1010 | padding: 0 20px;position: relative; | 1043 | padding: 0 20px;position: relative; |
| 1011 | .fr{position: absolute;right: 20px;top: 0px;font-size: 14px;color: #666; | 1044 | .fr{position: absolute;right: 20px;top: 0px;font-size: 14px;} |
| 1045 | a.fr{color: #666; | ||
| 1012 | text-decoration: underline;} | 1046 | text-decoration: underline;} |
| 1013 | } | 1047 | } |
| 1014 | .panel-title{font-size: 16px;line-height: 50px;margin: 0; | 1048 | .panel-title{font-size: 16px;line-height: 50px;margin: 0; | ... | ... |
src/assets/weather/01_sunny_color_w64.png
0 → 100644
2.89 KB
3.6 KB
src/assets/weather/03_cloud_color_w64.png
0 → 100644
3.93 KB
4.72 KB
4.95 KB
src/assets/weather/06_cloudy_color_w64.png
0 → 100644
4.65 KB
4.17 KB
src/assets/weather/08_wet_color_w64.png
0 → 100644
3.15 KB
3.96 KB
4.29 KB
4.56 KB
4.83 KB
5.26 KB
4.75 KB
src/assets/weather/15_fog_color_w64.png
0 → 100644
3.72 KB
src/assets/weather/16_hail_color_w64.png
0 → 100644
4.32 KB
3.93 KB
4.29 KB
4.54 KB
4.81 KB
5.04 KB
src/assets/weather/22_snow_color_w64.png
0 → 100644
4.21 KB
src/assets/weather/23_windy_color_w64.png
0 → 100644
2.85 KB
src/assets/weather/24_blizzard_color_w64.png
0 → 100644
3.75 KB
src/assets/weather/25_mist_color_w64.png
0 → 100644
5.21 KB
src/assets/weather/26_haze_color_w64.png
0 → 100644
3.85 KB
src/assets/weather/27_typhoon_color_w64.png
0 → 100644
3.8 KB
src/assets/weather/28_NA_color_w64.png
0 → 100644
2.85 KB
src/assets/weather/29_sunrise_color_w64.png
0 → 100644
2.37 KB
src/assets/weather/30_sunset_color_w64.png
0 → 100644
2.48 KB
3.53 KB
3.11 KB
src/assets/weather/33_sparkles_color_w64.png
0 → 100644
2.73 KB
4.27 KB
4.44 KB
4.11 KB
src/assets/weather/37_dry_color_w64.png
0 → 100644
3.4 KB
3.47 KB
4.1 KB
src/assets/weather/40_rainbow_color_w64.png
0 → 100644
4.44 KB
| ... | @@ -48,7 +48,7 @@ | ... | @@ -48,7 +48,7 @@ |
| 48 | </el-col> | 48 | </el-col> |
| 49 | <el-col :lg="6" :md="12" :xs="24"> | 49 | <el-col :lg="6" :md="12" :xs="24"> |
| 50 | <ul style="text-align: right"> | 50 | <ul style="text-align: right"> |
| 51 | <li>Telephone:15606190026</li> | 51 | <li>Telephone:086-15606190026</li> |
| 52 | <li>E-mail:info@wdsfwuxicenter.com</li> | 52 | <li>E-mail:info@wdsfwuxicenter.com</li> |
| 53 | <li> | 53 | <li> |
| 54 | 54 | ... | ... |
| ... | @@ -103,6 +103,7 @@ | ... | @@ -103,6 +103,7 @@ |
| 103 | <el-menu-item index="/about/wuDao">舞蹈节</el-menu-item> | 103 | <el-menu-item index="/about/wuDao">舞蹈节</el-menu-item> |
| 104 | <el-menu-item index="/about/culture">地方文化</el-menu-item> | 104 | <el-menu-item index="/about/culture">地方文化</el-menu-item> |
| 105 | </el-sub-menu> | 105 | </el-sub-menu> |
| 106 | <el-menu-item v-if="isLogin" index="/center/myInfo">个人中心</el-menu-item> | ||
| 106 | </el-menu> | 107 | </el-menu> |
| 107 | <el-menu class="weiMenu" | 108 | <el-menu class="weiMenu" |
| 108 | v-if="language==1" | 109 | v-if="language==1" |
| ... | @@ -337,9 +338,7 @@ function getCode() { | ... | @@ -337,9 +338,7 @@ function getCode() { |
| 337 | .home-menu .el-menu--horizontal > .el-menu-item{font-size: 15px} | 338 | .home-menu .el-menu--horizontal > .el-menu-item{font-size: 15px} |
| 338 | } | 339 | } |
| 339 | @media (max-width: 1340px) { | 340 | @media (max-width: 1340px) { |
| 340 | .loginBtn { | 341 | |
| 341 | display: none; | ||
| 342 | } | ||
| 343 | .home-menu .el-menu--horizontal > .el-menu-item{margin: 0; } | 342 | .home-menu .el-menu--horizontal > .el-menu-item{margin: 0; } |
| 344 | } | 343 | } |
| 345 | @media (max-width: 1250px) { | 344 | @media (max-width: 1250px) { |
| ... | @@ -354,7 +353,9 @@ function getCode() { | ... | @@ -354,7 +353,9 @@ function getCode() { |
| 354 | display: none; | 353 | display: none; |
| 355 | } | 354 | } |
| 356 | .ropenbtn{display: block} | 355 | .ropenbtn{display: block} |
| 357 | 356 | .loginBtn { | |
| 357 | display: none; | ||
| 358 | } | ||
| 358 | } | 359 | } |
| 359 | </style> | 360 | </style> |
| 360 | 361 | ... | ... |
| ... | @@ -44,7 +44,7 @@ | ... | @@ -44,7 +44,7 @@ |
| 44 | </el-row> | 44 | </el-row> |
| 45 | </el-col> | 45 | </el-col> |
| 46 | </el-row> | 46 | </el-row> |
| 47 | <el-alert v-if="n.reason" :title="language==0?'驳回理由:':'Reason:'+n.reason" type="error" show-icon :closable="false"/> | 47 | <el-alert v-if="n.reason" :title="language==0?'驳回理由:'+n.reason :'Reason:'+n.reason" type="error" show-icon :closable="false"/> |
| 48 | </div> | 48 | </div> |
| 49 | 49 | ||
| 50 | <el-empty :image="`/img/order_no.png`" :image-size="228" v-if="billList?.length == 0"/> | 50 | <el-empty :image="`/img/order_no.png`" :image-size="228" v-if="billList?.length == 0"/> | ... | ... |
src/viewsPc/components/weatherIcon.vue
0 → 100644
| 1 | <template> | ||
| 2 | <div :style="`width: ${width}px`" class="mauto"> | ||
| 3 | <img v-if="type == '晴'" src="@/assets/weather/01_sunny_color_w64.png"/> | ||
| 4 | <img v-if="type == '多云'" src="@/assets/weather/04_sun_cloudy_color_w64.png"/> | ||
| 5 | <img v-if="type == '阴'" src="@/assets/weather/03_cloud_color_w64.png"/> | ||
| 6 | <img v-if="type == '小雨'" src="@/assets/weather/09_light_rain_color_w64.png"/> | ||
| 7 | <img v-if="type == '中雨'" src="@/assets/weather/10_moderate_rain_color_w64.png"/> | ||
| 8 | <img v-if="type == '大雨'" src="@/assets/weather/12_rainstorm_color_w64.png"/> | ||
| 9 | <img v-if="type == '暴雨'" src="@/assets/weather/13_heavy_rainstorm_color_w64.png"/> | ||
| 10 | <img v-if="type.indexOf('雷') > -1" src="@/assets/weather/14_thunderstorm_color_w64.png"/> | ||
| 11 | <img v-if="type.indexOf('雾') > -1" src="@/assets/weather/15_fog_color_w64.png"/> | ||
| 12 | <img v-if="type.indexOf('雪') > -1" src="@/assets/weather/22_snow_color_w64.png"/> | ||
| 13 | <img v-if="type.indexOf('风') > -1" src="@/assets/weather/23_windy_color_w64.png"/> | ||
| 14 | </div> | ||
| 15 | </template> | ||
| 16 | |||
| 17 | <script setup> | ||
| 18 | const props = defineProps({ | ||
| 19 | type: { | ||
| 20 | type: String, | ||
| 21 | default: '晴', | ||
| 22 | required: false | ||
| 23 | }, | ||
| 24 | width: { | ||
| 25 | type: Number, | ||
| 26 | default: 32, | ||
| 27 | required: false | ||
| 28 | } | ||
| 29 | }) | ||
| 30 | </script> | ||
| 31 | |||
| 32 | <style scoped lang="scss"> | ||
| 33 | img{width: 100%} | ||
| 34 | </style> |
| ... | @@ -105,23 +105,12 @@ | ... | @@ -105,23 +105,12 @@ |
| 105 | </template> | 105 | </template> |
| 106 | </el-calendar> | 106 | </el-calendar> |
| 107 | <div class="calendarList"> | 107 | <div class="calendarList"> |
| 108 | <ul> | 108 | <!-- <ul>--> |
| 109 | <li> | 109 | <!-- <li v-for="n in 6">--> |
| 110 | <label>08:00~10:30</label> 无锡公开赛 | 110 | <!-- <label>08:00~10:30</label> 无锡公开赛--> |
| 111 | </li> | 111 | <!-- </li>--> |
| 112 | <li> | 112 | <!-- </ul>--> |
| 113 | <label>11:00</label> 2024年WDSF公开赛 A组 | 113 | <el-empty style="--el-empty-padding:0;--el-empty-description-margin-top:0" :image="`/img/order_no.png`" :image-size="200"/> |
| 114 | </li> | ||
| 115 | <li> | ||
| 116 | <label>12:00</label> 2024年WDSF公开赛 B组 | ||
| 117 | </li> | ||
| 118 | <li> | ||
| 119 | <label>13:00</label> 2024年WDSF公开赛 C组 | ||
| 120 | </li> | ||
| 121 | <li> | ||
| 122 | <label>15:00</label> 2024年WDSF公开赛 D组 | ||
| 123 | </li> | ||
| 124 | </ul> | ||
| 125 | 114 | ||
| 126 | </div> | 115 | </div> |
| 127 | </el-card> | 116 | </el-card> |
| ... | @@ -366,17 +355,65 @@ | ... | @@ -366,17 +355,65 @@ |
| 366 | 355 | ||
| 367 | <div v-if="showgg" class="fixed_gg"> | 356 | <div v-if="showgg" class="fixed_gg"> |
| 368 | <!--天气--> | 357 | <!--天气--> |
| 369 | <el-icon @click="showgg=false"> | 358 | <el-icon class="cclose" @click.stop="showgg=false"><circle-close /></el-icon> |
| 370 | <circle-close/> | 359 | <!-- <img src="@/assets/dance/weather_en.png">--> |
| 371 | </el-icon> | 360 | <div class="bg-lineg pd10"> |
| 372 | <img src="@/assets/dance/weather.png"> | 361 | <div class="smallToday" @click="popWeather"> |
| 362 | <div> | ||
| 363 | <div class="type"> | ||
| 364 | <weather-icon :type="weatherObj.forecast[0]?.type" :width="50"/> | ||
| 365 | </div> | ||
| 366 | </div> | ||
| 367 | <div> | ||
| 368 | <h3>无锡</h3> | ||
| 369 | <div class="wd_p">{{weatherObj.forecast[0]?.low.slice(2)}}~{{weatherObj.forecast[0]?.high.slice(2)}}</div> | ||
| 370 | </div> | ||
| 371 | </div> | ||
| 372 | |||
| 373 | <!-- <iframe width="150" scrolling="no" height="60" frameborder="0" allowtransparency="true" src="https://i.tianqi.com?c=code&id=84&color=%23FFFFFF&bgc=%23&icon=1&py=binhuqu&site=17"></iframe>--> | ||
| 374 | </div> | ||
| 375 | <el-dialog v-model="weatherdialog" width="540" :close-on-click-modal="true" :show-close="false" | ||
| 376 | style="--el-dialog-padding-primary:0;--el-dialog-border-radius:15px; | ||
| 377 | --el-dialog-bg-color:transparent;overflow: hidden;"> | ||
| 378 | <div class="bg-lineg pd20"> | ||
| 379 | <!-- <iframe width="500" scrolling="no" height="270" frameborder="0" allowtransparency="true" src="https://i.tianqi.com?c=code&id=95&color=%23FFFFFF&icon=4&py=binhuqu&site=15"></iframe>--> | ||
| 380 | <div class="weatherbox"> | ||
| 381 | <div class="today"> | ||
| 382 | <div> | ||
| 383 | <div class="wd">{{weatherObj.wendu}}°c</div> | ||
| 384 | <div class="wd_p">{{weatherObj.forecast[0]?.low.slice(2)}}~{{weatherObj.forecast[0]?.high.slice(2)}}</div> | ||
| 385 | <div class="week">{{weatherObj.forecast[0]?.week}}</div> | ||
| 386 | </div> | ||
| 387 | <div> | ||
| 388 | <div class="type"> | ||
| 389 | <weather-icon :type="weatherObj.forecast[0].type" :width="64"/> | ||
| 390 | <!-- <div class="mt10">{{weatherObj.forecast[0].type}}</div>--> | ||
| 391 | </div> | ||
| 392 | </div> | ||
| 393 | </div> | ||
| 394 | <ul class="wlist"> | ||
| 395 | <li v-for="n in weatherObj.forecast.slice(1,6)"> | ||
| 396 | <div class="type"> | ||
| 397 | <weather-icon :type="n.type" :width="32"/> | ||
| 398 | </div> | ||
| 399 | <div class="wd">{{n.low.slice(2,-1)}}/{{n.high.slice(2)}}</div> | ||
| 400 | <!-- <div class="date">{{n.ymd}}</div>--> | ||
| 401 | <div class="week"> | ||
| 402 | {{n.week}} | ||
| 403 | </div> | ||
| 404 | </li> | ||
| 405 | </ul> | ||
| 406 | </div> | ||
| 407 | |||
| 408 | </div> | ||
| 409 | </el-dialog> | ||
| 373 | </div> | 410 | </div> |
| 374 | </div> | 411 | </div> |
| 375 | </template> | 412 | </template> |
| 376 | <script setup> | 413 | <script setup> |
| 377 | import {ref, nextTick, onMounted, watch} from 'vue' | 414 | import {ref, nextTick, onMounted, watch} from 'vue' |
| 378 | import {getCurrentInstance} from '@vue/runtime-core' | 415 | import {getCurrentInstance} from '@vue/runtime-core' |
| 379 | import {getHomePage, getNewsListById, getNewsList} from '@/apiPc/webSite' | 416 | import {getHomePage, getNewsListById, getNewsList, getWeather} from '@/apiPc/webSite' |
| 380 | import {useRouter} from 'vue-router' | 417 | import {useRouter} from 'vue-router' |
| 381 | import {rankList} from '@/assets/js/data' | 418 | import {rankList} from '@/assets/js/data' |
| 382 | import _ from 'lodash' | 419 | import _ from 'lodash' |
| ... | @@ -386,7 +423,7 @@ import {Autoplay, Navigation} from 'swiper' | ... | @@ -386,7 +423,7 @@ import {Autoplay, Navigation} from 'swiper' |
| 386 | import 'swiper/css' | 423 | import 'swiper/css' |
| 387 | import {dayjs} from 'element-plus' | 424 | import {dayjs} from 'element-plus' |
| 388 | import * as match from "@/apiPc/match"; | 425 | import * as match from "@/apiPc/match"; |
| 389 | 426 | import WeatherIcon from '@/viewsPc/components/weatherIcon' | |
| 390 | const modules = [Autoplay, Navigation] | 427 | const modules = [Autoplay, Navigation] |
| 391 | const navigationPic = ref({ | 428 | const navigationPic = ref({ |
| 392 | nextEl: '.picnext', | 429 | nextEl: '.picnext', |
| ... | @@ -399,6 +436,9 @@ const isPlay = ref(false) | ... | @@ -399,6 +436,9 @@ const isPlay = ref(false) |
| 399 | const canPrev = ref(false) | 436 | const canPrev = ref(false) |
| 400 | const canNext = ref(false) | 437 | const canNext = ref(false) |
| 401 | const activeRankName = ref(0) | 438 | const activeRankName = ref(0) |
| 439 | const weatherObj = ref({ | ||
| 440 | forecast:[] | ||
| 441 | }) | ||
| 402 | const time = ref(0) | 442 | const time = ref(0) |
| 403 | const personList = ref([ | 443 | const personList = ref([ |
| 404 | { name: 'Wolfgang Eliasch', pp: '拉丁舞裁判长 奥地利', src: '/img/1.png' }, | 444 | { name: 'Wolfgang Eliasch', pp: '拉丁舞裁判长 奥地利', src: '/img/1.png' }, |
| ... | @@ -421,6 +461,7 @@ const livelist = ref([]) | ... | @@ -421,6 +461,7 @@ const livelist = ref([]) |
| 421 | const matchData = ref({}) | 461 | const matchData = ref({}) |
| 422 | const maList = ref([]) | 462 | const maList = ref([]) |
| 423 | const loading = ref(false) | 463 | const loading = ref(false) |
| 464 | const weatherdialog = ref(false) | ||
| 424 | const picList = ref([]) | 465 | const picList = ref([]) |
| 425 | const calendarValue = ref(dayjs('2024-07-22').toDate()) | 466 | const calendarValue = ref(dayjs('2024-07-22').toDate()) |
| 426 | const calendarRange = ref([dayjs('2024-07-21').toDate(), dayjs('2024-07-27').toDate()]) | 467 | const calendarRange = ref([dayjs('2024-07-21').toDate(), dayjs('2024-07-27').toDate()]) |
| ... | @@ -472,6 +513,11 @@ const init = () => { | ... | @@ -472,6 +513,11 @@ const init = () => { |
| 472 | } | 513 | } |
| 473 | matchData.value = maList.value[0] | 514 | matchData.value = maList.value[0] |
| 474 | }) | 515 | }) |
| 516 | |||
| 517 | getWeather().then(res=>{ | ||
| 518 | weatherObj.value = JSON.parse(res.data).data | ||
| 519 | console.log(weatherObj.value) | ||
| 520 | }) | ||
| 475 | } | 521 | } |
| 476 | const carouselChange = (e) => { | 522 | const carouselChange = (e) => { |
| 477 | console.log(e) | 523 | console.log(e) |
| ... | @@ -508,6 +554,9 @@ const goMatch = (n) => { | ... | @@ -508,6 +554,9 @@ const goMatch = (n) => { |
| 508 | path: `/match/list/${n.id}` | 554 | path: `/match/list/${n.id}` |
| 509 | }) | 555 | }) |
| 510 | } | 556 | } |
| 557 | const popWeather = () => { | ||
| 558 | weatherdialog.value = true | ||
| 559 | } | ||
| 511 | </script> | 560 | </script> |
| 512 | 561 | ||
| 513 | <style scoped lang="scss"> | 562 | <style scoped lang="scss"> |
| ... | @@ -816,33 +865,6 @@ const goMatch = (n) => { | ... | @@ -816,33 +865,6 @@ const goMatch = (n) => { |
| 816 | position: relative; | 865 | position: relative; |
| 817 | height: 400px; | 866 | height: 400px; |
| 818 | } | 867 | } |
| 819 | |||
| 820 | |||
| 821 | .fixed_gg { | ||
| 822 | position: fixed; | ||
| 823 | right: 0; | ||
| 824 | top: 25%; | ||
| 825 | z-index: 10; | ||
| 826 | width: 200px; | ||
| 827 | |||
| 828 | .el-icon { | ||
| 829 | font-size: 0; | ||
| 830 | color: #fff; | ||
| 831 | transition: font-size 0.2s; | ||
| 832 | cursor: pointer; | ||
| 833 | position: absolute; | ||
| 834 | right: 0; | ||
| 835 | } | ||
| 836 | |||
| 837 | &:hover .el-icon { | ||
| 838 | font-size: 26px; | ||
| 839 | } | ||
| 840 | |||
| 841 | img { | ||
| 842 | width: 100%; | ||
| 843 | } | ||
| 844 | } | ||
| 845 | |||
| 846 | .ggbond { | 868 | .ggbond { |
| 847 | height: 230px; | 869 | height: 230px; |
| 848 | position: relative; | 870 | position: relative; | ... | ... |
| ... | @@ -108,24 +108,12 @@ | ... | @@ -108,24 +108,12 @@ |
| 108 | </template> | 108 | </template> |
| 109 | </el-calendar> | 109 | </el-calendar> |
| 110 | <div class="calendarList"> | 110 | <div class="calendarList"> |
| 111 | <ul> | 111 | <!-- <ul>--> |
| 112 | <li class="esp"> | 112 | <!-- <li class="esp" v-for="n in 6">--> |
| 113 | <label>08:00~10:30</label> Wuxi Open | 113 | <!-- <label>08:00~10:30</label> 2024 WDSF Open Group B--> |
| 114 | </li> | 114 | <!-- </li>--> |
| 115 | <li class="esp"> | 115 | <!-- </ul>--> |
| 116 | <label>11:00</label> 2024 WDSF Open Group A | 116 | <el-empty style="--el-empty-padding:0;--el-empty-description-margin-top:0" :image="`/img/order_no.png`" :image-size="200"/> |
| 117 | </li> | ||
| 118 | <li class="esp"> | ||
| 119 | <label>12:00</label> 2024 WDSF Open Group B | ||
| 120 | </li> | ||
| 121 | <li class="esp"> | ||
| 122 | <label>13:00</label> 2024 WDSF Open Group C | ||
| 123 | </li> | ||
| 124 | <li class="esp"> | ||
| 125 | <label>15:00</label> 2024 WDSF Open Group D | ||
| 126 | </li> | ||
| 127 | </ul> | ||
| 128 | |||
| 129 | </div> | 117 | </div> |
| 130 | </el-card> | 118 | </el-card> |
| 131 | </el-col> | 119 | </el-col> |
| ... | @@ -369,16 +357,62 @@ | ... | @@ -369,16 +357,62 @@ |
| 369 | 357 | ||
| 370 | <div v-if="showgg" class="fixed_gg"> | 358 | <div v-if="showgg" class="fixed_gg"> |
| 371 | <!--天气--> | 359 | <!--天气--> |
| 372 | <el-icon @click="showgg=false"><circle-close /></el-icon> | 360 | <el-icon class="cclose" @click.stop="showgg=false"><circle-close /></el-icon> |
| 373 | <img src="@/assets/dance/weather_en.png"> | 361 | <div class="bg-lineg pd20"> |
| 362 | <div class="smallToday" @click="popWeather"> | ||
| 363 | <div> | ||
| 364 | <div class="type"> | ||
| 365 | <weather-icon :type="weatherObj.forecast[0]?.type" :width="50"/> | ||
| 366 | </div> | ||
| 367 | </div> | ||
| 368 | <div> | ||
| 369 | <h3>WUXI</h3> | ||
| 370 | <div class="wd_p">{{weatherObj.forecast[0]?.low.slice(2)}}~{{weatherObj.forecast[0]?.high.slice(2)}}</div> | ||
| 371 | </div> | ||
| 372 | </div> | ||
| 373 | </div> | ||
| 374 | <el-dialog v-model="weatherdialog" width="540" :close-on-click-modal="true" | ||
| 375 | style="--el-dialog-padding-primary:0;--el-dialog-border-radius:15px; | ||
| 376 | --el-dialog-bg-color:transparent;overflow: hidden;"> | ||
| 377 | <div class="bg-lineg pd20"> | ||
| 378 | <!-- <iframe width="500" scrolling="no" height="270" frameborder="0" allowtransparency="true" src="https://i.tianqi.com?c=code&id=95&color=%23FFFFFF&icon=4&py=binhuqu&site=15"></iframe>--> | ||
| 379 | <div class="weatherbox"> | ||
| 380 | <div class="today"> | ||
| 381 | <div> | ||
| 382 | <div class="wd">{{weatherObj.wendu}}°c</div> | ||
| 383 | <div class="wd_p">{{weatherObj.forecast[0]?.low.slice(2)}}~{{weatherObj.forecast[0]?.high.slice(2)}}</div> | ||
| 384 | <div class="week">{{weatherObj.forecast[0]?.week}}</div> | ||
| 385 | </div> | ||
| 386 | <div> | ||
| 387 | <div class="type"> | ||
| 388 | <weather-icon :type="weatherObj.forecast[0].type" :width="64"/> | ||
| 389 | </div> | ||
| 390 | </div> | ||
| 391 | </div> | ||
| 392 | <ul class="wlist"> | ||
| 393 | <li v-for="n in weatherObj.forecast.slice(1,6)"> | ||
| 394 | <div class="type"> | ||
| 395 | <weather-icon :type="n.type" :width="32"/> | ||
| 396 | </div> | ||
| 397 | <div class="wd">{{n.low.slice(2,-1)}}/{{n.high.slice(2)}}</div> | ||
| 398 | <!-- <div class="date">{{n.ymd}}</div>--> | ||
| 399 | <div class="week"> | ||
| 400 | {{n.week=='星期一'?'Mon':n.week=='星期二'?'Tue':n.week=='星期三'?'Wed':n.week=='星期四'?'Thu':n.week=='星期五'?'Fri':n.week=='星期六'?'Sat':n.week=='星期日'?'Sun':''}} | ||
| 401 | </div> | ||
| 402 | </li> | ||
| 403 | </ul> | ||
| 404 | </div> | ||
| 405 | </div> | ||
| 406 | </el-dialog> | ||
| 374 | </div> | 407 | </div> |
| 375 | </div> | 408 | </div> |
| 376 | </template> | 409 | </template> |
| 377 | <script setup> | 410 | <script setup> |
| 378 | import { ref, nextTick, onMounted, watch } from 'vue' | 411 | import { ref, nextTick, onMounted, watch } from 'vue' |
| 379 | import { getCurrentInstance } from '@vue/runtime-core' | 412 | import { getCurrentInstance } from '@vue/runtime-core' |
| 380 | import { getNewsListById, getNewsList } from '@/apiPc/webSite' | 413 | import { getNewsListById, getNewsList,getWeather} from '@/apiPc/webSite' |
| 381 | import { useRouter } from 'vue-router' | 414 | import { useRouter } from 'vue-router' |
| 415 | import WeatherIcon from '@/viewsPc/components/weatherIcon' | ||
| 382 | import _ from 'lodash' | 416 | import _ from 'lodash' |
| 383 | import { Swiper, SwiperSlide } from 'swiper/vue' | 417 | import { Swiper, SwiperSlide } from 'swiper/vue' |
| 384 | import { Autoplay, Navigation } from 'swiper' | 418 | import { Autoplay, Navigation } from 'swiper' |
| ... | @@ -394,6 +428,10 @@ const navigationPic = ref({ | ... | @@ -394,6 +428,10 @@ const navigationPic = ref({ |
| 394 | const router = useRouter() | 428 | const router = useRouter() |
| 395 | const { proxy } = getCurrentInstance() | 429 | const { proxy } = getCurrentInstance() |
| 396 | const time = ref(0) | 430 | const time = ref(0) |
| 431 | const weatherObj = ref({ | ||
| 432 | forecast:[] | ||
| 433 | }) | ||
| 434 | const weatherdialog = ref(false) | ||
| 397 | const personList = ref([ | 435 | const personList = ref([ |
| 398 | { name: 'Wolfgang Eliasch', pp: 'Chairperson for Latin AUT', src: '/img/1.png' }, | 436 | { name: 'Wolfgang Eliasch', pp: 'Chairperson for Latin AUT', src: '/img/1.png' }, |
| 399 | { name: 'Nenad Jeftic', pp: 'Chairperson for Standard SRB', src: '/img/2.png' }, | 437 | { name: 'Nenad Jeftic', pp: 'Chairperson for Standard SRB', src: '/img/2.png' }, |
| ... | @@ -456,6 +494,10 @@ const init = () => { | ... | @@ -456,6 +494,10 @@ const init = () => { |
| 456 | } | 494 | } |
| 457 | matchData.value = maList.value[0] | 495 | matchData.value = maList.value[0] |
| 458 | }) | 496 | }) |
| 497 | getWeather().then(res=>{ | ||
| 498 | weatherObj.value = JSON.parse(res.data).data | ||
| 499 | console.log(weatherObj.value) | ||
| 500 | }) | ||
| 459 | } | 501 | } |
| 460 | 502 | ||
| 461 | 503 | ||
| ... | @@ -490,6 +532,10 @@ const goMatch = (n) => { | ... | @@ -490,6 +532,10 @@ const goMatch = (n) => { |
| 490 | path: `/match/list/${n.id}` | 532 | path: `/match/list/${n.id}` |
| 491 | }) | 533 | }) |
| 492 | } | 534 | } |
| 535 | const popWeather = () => { | ||
| 536 | weatherdialog.value = true | ||
| 537 | } | ||
| 538 | |||
| 493 | </script> | 539 | </script> |
| 494 | 540 | ||
| 495 | <style scoped lang="scss"> | 541 | <style scoped lang="scss"> |
| ... | @@ -665,20 +711,6 @@ const goMatch = (n) => { | ... | @@ -665,20 +711,6 @@ const goMatch = (n) => { |
| 665 | } | 711 | } |
| 666 | 712 | ||
| 667 | 713 | ||
| 668 | .fixed_gg { | ||
| 669 | position: fixed;right: 0; | ||
| 670 | top: 25%; | ||
| 671 | z-index: 10; | ||
| 672 | width: 200px; | ||
| 673 | .el-icon{font-size: 0;color: #fff; | ||
| 674 | transition: font-size 0.2s;cursor: pointer; | ||
| 675 | position: absolute;right: 0;} | ||
| 676 | &:hover .el-icon{font-size: 26px;} | ||
| 677 | img { | ||
| 678 | width: 100%; | ||
| 679 | } | ||
| 680 | } | ||
| 681 | |||
| 682 | .ggbond { | 714 | .ggbond { |
| 683 | height: 230px; | 715 | height: 230px; |
| 684 | position: relative; | 716 | position: relative; | ... | ... |
| ... | @@ -196,7 +196,6 @@ import dialogEditWdsf from './components/addWdsf' | ... | @@ -196,7 +196,6 @@ import dialogEditWdsf from './components/addWdsf' |
| 196 | import dialogEditAccompany from './components/addAccompany' | 196 | import dialogEditAccompany from './components/addAccompany' |
| 197 | import dialogAllSportsmanList from './components/allSportsmanList' | 197 | import dialogAllSportsmanList from './components/allSportsmanList' |
| 198 | import dialogExtraForm from './components/extraForm' | 198 | import dialogExtraForm from './components/extraForm' |
| 199 | import dialogMates from './components/dialogMates' | ||
| 200 | import {Search, Switch} from "@element-plus/icons-vue"; | 199 | import {Search, Switch} from "@element-plus/icons-vue"; |
| 201 | 200 | ||
| 202 | const {proxy} = getCurrentInstance() | 201 | const {proxy} = getCurrentInstance() | ... | ... |
This diff is collapsed.
Click to expand it.
| ... | @@ -7,26 +7,22 @@ | ... | @@ -7,26 +7,22 @@ |
| 7 | 7 | ||
| 8 | <el-card :body-style="{'padding-top': '0'}"> | 8 | <el-card :body-style="{'padding-top': '0'}"> |
| 9 | <el-row class="mt20" :gutter="20"> | 9 | <el-row class="mt20" :gutter="20"> |
| 10 | <el-col :lg="12"> | 10 | <el-col :lg="8"> |
| 11 | <div class="panel border"> | 11 | <div class="panel border"> |
| 12 | <div class="panel-header "> | 12 | <div class="panel-header "> |
| 13 | <h3 class="panel-title" v-if="language==0">选择参赛运动员清单</h3> | 13 | <h3 class="panel-title" v-if="language==0">选择参赛运动员清单</h3> |
| 14 | <h3 class="panel-title" v-else>Select list of participating athletes</h3> | 14 | <h3 class="panel-title" v-else>Select list of participating athletes</h3> |
| 15 | <!-- <a class="fr" @click="emptyChoosed">{{ language == 0 ? '清空' : 'Empty' }}</a>--> | 15 | <a class="fr" @click="emptyChoosed">{{ language == 0 ? '清空' : 'Empty' }}</a> |
| 16 | <el-button type="primary" style="color: #fff" class="fr" @click="chooseSportman">选手管理</el-button> | ||
| 17 | </div> | 16 | </div> |
| 18 | <div class="panel-body" style="padding: 10px"> | 17 | <div class="panel-body" style="padding: 10px"> |
| 19 | <div style="margin: 0 4px 10px"> | 18 | <div style="margin: 0 4px 10px"> |
| 20 | <el-select multiple v-model="choosedchoosed" collapse-tags-tooltip filterable | 19 | <el-input size="small" v-model="athletesQuery.name" :prefix-icon="Search" |
| 21 | @change="getProjectList"> | 20 | @change="queryAthletes" |
| 22 | <el-option v-for="c in athletesList" :key="c.id" :label="c.realName" :value="c.id" > | 21 | clearable/> |
| 23 | {{c.realName}}({{c.sexStr}})-{{c.age}} | ||
| 24 | </el-option> | ||
| 25 | </el-select> | ||
| 26 | <el-button type="primary" @change="emptychoosedchoosed">重选</el-button> | ||
| 27 | </div> | 22 | </div> |
| 28 | <div class="noPicChooseForm" id="chooseArr"> | 23 | <div class="noPicChooseForm" id="chooseArr"> |
| 29 | <el-checkbox-group v-model="choosedchoosed" @change="changechoosed"> | 24 | <el-checkbox-group v-model="choosedchoosed" @change="changechoosed"> |
| 25 | <el-button id="addRef" plain @click="chooseSportman">+{{ language == 0 ? '选择' : 'add' }}</el-button> | ||
| 30 | <el-checkbox v-for="c in choosedListBak" :value="c.id" border> | 26 | <el-checkbox v-for="c in choosedListBak" :value="c.id" border> |
| 31 | <p class="name">{{ c.realName }} | 27 | <p class="name">{{ c.realName }} |
| 32 | <!-- ({{ c.sexStr }})--> | 28 | <!-- ({{ c.sexStr }})--> |
| ... | @@ -39,7 +35,39 @@ | ... | @@ -39,7 +35,39 @@ |
| 39 | </div> | 35 | </div> |
| 40 | </div> | 36 | </div> |
| 41 | </el-col> | 37 | </el-col> |
| 42 | <el-col :lg="12"> | 38 | <el-col :lg="8"> |
| 39 | <div class="panel border"> | ||
| 40 | <div class="panel-header "> | ||
| 41 | <h3 class="panel-title" v-if="language==0">选择一个参赛组合</h3> | ||
| 42 | <h3 class="panel-title" v-else>Select a Participating team</h3> | ||
| 43 | <a class="fr" @click="emptyChangechoosed">{{ language == 0 ? '清空' : 'Empty' }}</a> | ||
| 44 | </div> | ||
| 45 | <div class="panel-body" style="padding: 10px"> | ||
| 46 | <div class="mb20"> | ||
| 47 | <el-input size="small" v-model="zuQuery.name" :prefix-icon="Search" | ||
| 48 | @change="queryTeam" clearable/> | ||
| 49 | </div> | ||
| 50 | <div class="chooseForm"> | ||
| 51 | <el-checkbox-group v-model="choosedchoosed" @change="changechoosed"> | ||
| 52 | <!-- v-show="choosedchoosed.indexOf(c.id) !== -1"--> | ||
| 53 | <el-checkbox v-for="c in choosed2Listbak" :value="c.id" checked> | ||
| 54 | <el-avatar fit="cover" v-if="c.picUrl" :size="60" :src="fillImgUrl(c.picUrl)"/> | ||
| 55 | <el-avatar fit="cover" v-else-if="c.sex == 0" :size="60" src="/img/head1.png"/> | ||
| 56 | <el-avatar fit="cover" v-else-if="c.sex == 1" :size="60" src="/img/head0.png"/> | ||
| 57 | <p class="name">{{ c.realName }} | ||
| 58 | <img v-if="c.sex=='0'" src="@/assets/img/female.png"/> | ||
| 59 | <img v-if="c.sex=='1'" src="@/assets/img/male.png"/> | ||
| 60 | <!-- <el-icon @click.stop="editPerson(c.id)">--> | ||
| 61 | <!-- <Edit/>--> | ||
| 62 | <!-- </el-icon>--> | ||
| 63 | </p> | ||
| 64 | </el-checkbox> | ||
| 65 | </el-checkbox-group> | ||
| 66 | </div> | ||
| 67 | </div> | ||
| 68 | </div> | ||
| 69 | </el-col> | ||
| 70 | <el-col :lg="8"> | ||
| 43 | <div class="panel border"> | 71 | <div class="panel border"> |
| 44 | <div class="panel-header "> | 72 | <div class="panel-header "> |
| 45 | <h3 class="panel-title" v-if="language==0">可参与报名的项目</h3> | 73 | <h3 class="panel-title" v-if="language==0">可参与报名的项目</h3> |
| ... | @@ -170,7 +198,6 @@ const data = reactive({ | ... | @@ -170,7 +198,6 @@ const data = reactive({ |
| 170 | signInfoList: [], | 198 | signInfoList: [], |
| 171 | zuTableList: [], | 199 | zuTableList: [], |
| 172 | choosedList: [], | 200 | choosedList: [], |
| 173 | athletesList: [], | ||
| 174 | choosedListBak: [], | 201 | choosedListBak: [], |
| 175 | athletesQuery: { | 202 | athletesQuery: { |
| 176 | name: '' | 203 | name: '' |
| ... | @@ -199,7 +226,7 @@ const data = reactive({ | ... | @@ -199,7 +226,7 @@ const data = reactive({ |
| 199 | openTour:false | 226 | openTour:false |
| 200 | }) | 227 | }) |
| 201 | const { | 228 | const { |
| 202 | activeTeam, names, tableData, signInfoList, zuTableList, choosedList,choosedListBak,athletesList, | 229 | activeTeam, names, tableData, signInfoList, zuTableList, choosedList,choosedListBak, |
| 203 | extraform, groupId, signType, coachOrLeaderFlag, showResult, noPhotoCanSign, projectIds, choosedchoosed, activeStep, projectList, choosed2List,choosed2Listbak, loadingProject, | 230 | extraform, groupId, signType, coachOrLeaderFlag, showResult, noPhotoCanSign, projectIds, choosedchoosed, activeStep, projectList, choosed2List,choosed2Listbak, loadingProject, |
| 204 | projectQuery, tableType, athletesQuery, zuQuery,openTour,tourCurrent | 231 | projectQuery, tableType, athletesQuery, zuQuery,openTour,tourCurrent |
| 205 | } = toRefs(data) | 232 | } = toRefs(data) |
| ... | @@ -211,18 +238,11 @@ onMounted(() => { | ... | @@ -211,18 +238,11 @@ onMounted(() => { |
| 211 | getSignInfoList() | 238 | getSignInfoList() |
| 212 | getMatch(matchId.value) | 239 | getMatch(matchId.value) |
| 213 | getMySignInfo() | 240 | getMySignInfo() |
| 214 | getAthletesList() | ||
| 215 | // openTour.value = true | 241 | // openTour.value = true |
| 216 | }) | 242 | }) |
| 217 | 243 | ||
| 218 | let chargeFlag | 244 | let chargeFlag |
| 219 | 245 | ||
| 220 | function getAthletesList() { | ||
| 221 | // athletesList.value | ||
| 222 | match.getGroupPersonList({}, groupId.value).then(res => { | ||
| 223 | athletesList.value = res.rows | ||
| 224 | }) | ||
| 225 | } | ||
| 226 | function getMatch(id) { | 246 | function getMatch(id) { |
| 227 | match.getMatchById({ | 247 | match.getMatchById({ |
| 228 | id: id | 248 | id: id |
| ... | @@ -307,9 +327,7 @@ function goPrev() { | ... | @@ -307,9 +327,7 @@ function goPrev() { |
| 307 | } | 327 | } |
| 308 | }) | 328 | }) |
| 309 | } | 329 | } |
| 310 | function emptychoosedchoosed() { | 330 | |
| 311 | choosedchoosed.value = [] | ||
| 312 | } | ||
| 313 | function chooseSportman() { | 331 | function chooseSportman() { |
| 314 | const params = { | 332 | const params = { |
| 315 | title: language.value == 0 ? '选择运动员' : 'Participating athletes', | 333 | title: language.value == 0 ? '选择运动员' : 'Participating athletes', |
| ... | @@ -345,11 +363,9 @@ function getProjectList() { | ... | @@ -345,11 +363,9 @@ function getProjectList() { |
| 345 | } | 363 | } |
| 346 | loadingProject.value = true | 364 | loadingProject.value = true |
| 347 | //根据已选人员id 获取项目列表 | 365 | //根据已选人员id 获取项目列表 |
| 348 | var obj = { | 366 | projectQuery.value.cptId = matchId.value |
| 349 | cptId: matchId.value, | 367 | projectQuery.value.perIds = choosedchoosed.value.toString() |
| 350 | perIds: choosedchoosed.value.toString() | 368 | match.getProjectPageByPerIds(projectQuery.value).then(res => { |
| 351 | } | ||
| 352 | match.getProjectPageByPerIds(obj).then(res => { | ||
| 353 | projectList.value = res.rows | 369 | projectList.value = res.rows |
| 354 | loadingProject.value = false | 370 | loadingProject.value = false |
| 355 | if(choosed2Listbak.value.length>0 && projectList.value.length>0){ | 371 | if(choosed2Listbak.value.length>0 && projectList.value.length>0){ |
| ... | @@ -361,6 +377,15 @@ function getProjectList() { | ... | @@ -361,6 +377,15 @@ function getProjectList() { |
| 361 | }) | 377 | }) |
| 362 | } | 378 | } |
| 363 | 379 | ||
| 380 | function queryAthletes() { | ||
| 381 | choosedListBak.value = [] | ||
| 382 | for (var t of choosedList.value) { | ||
| 383 | if (t.realName.indexOf(athletesQuery.value.name) > -1) { | ||
| 384 | // 筛选 | ||
| 385 | choosedListBak.value.push(t) | ||
| 386 | } | ||
| 387 | } | ||
| 388 | } | ||
| 364 | 389 | ||
| 365 | function queryTeam() { | 390 | function queryTeam() { |
| 366 | choosed2Listbak.value = [] | 391 | choosed2Listbak.value = [] |
| ... | @@ -413,6 +438,19 @@ function addCoach() { | ... | @@ -413,6 +438,19 @@ function addCoach() { |
| 413 | proxy.$refs['dialogAddCoachRef'].open(params) | 438 | proxy.$refs['dialogAddCoachRef'].open(params) |
| 414 | } | 439 | } |
| 415 | 440 | ||
| 441 | function emptyChoosed() { | ||
| 442 | choosedList.value = [] | ||
| 443 | choosedListBak.value = [] | ||
| 444 | } | ||
| 445 | |||
| 446 | function emptyChangechoosed() { | ||
| 447 | choosedchoosed.value = [] | ||
| 448 | choosed2List.value = [] | ||
| 449 | choosed2Listbak.value = [] | ||
| 450 | projectList.value = [] | ||
| 451 | projectIds.value = [] | ||
| 452 | } | ||
| 453 | |||
| 416 | function signUp() { | 454 | function signUp() { |
| 417 | if (projectIds.value.length == 0) { | 455 | if (projectIds.value.length == 0) { |
| 418 | return | 456 | return |
| ... | @@ -443,7 +481,7 @@ function removeThis(id) { | ... | @@ -443,7 +481,7 @@ function removeThis(id) { |
| 443 | }).then(() => { | 481 | }).then(() => { |
| 444 | match.deleteSign(id).then(res => { | 482 | match.deleteSign(id).then(res => { |
| 445 | // 重新获取已报名信息 | 483 | // 重新获取已报名信息 |
| 446 | ElMessage.success('已移除该报项') | 484 | ElMessage.success(language.value == 0 ? '已移除该报项' : 'success') |
| 447 | getSignInfoList() | 485 | getSignInfoList() |
| 448 | }) | 486 | }) |
| 449 | }) | 487 | }) |
| ... | @@ -526,12 +564,12 @@ function changeProject(e) { | ... | @@ -526,12 +564,12 @@ function changeProject(e) { |
| 526 | return e.indexOf(c.id)>-1 | 564 | return e.indexOf(c.id)>-1 |
| 527 | }) | 565 | }) |
| 528 | // if(obj.majorFlag==1){ | 566 | // if(obj.majorFlag==1){ |
| 529 | //需要填wdsf | 567 | // 需要填wdsf |
| 530 | // const params = { | 568 | const params = { |
| 531 | // title: '验证WDSF', | 569 | title: '验证WDSF', |
| 532 | // list:choosed2Listbak.value | 570 | list:choosed2Listbak.value |
| 533 | // } | 571 | } |
| 534 | // proxy.$refs['popWdsf'].open(_.cloneDeep(params)) | 572 | proxy.$refs['popWdsf'].open(_.cloneDeep(params)) |
| 535 | // } | 573 | // } |
| 536 | } | 574 | } |
| 537 | watch(choosedchoosed, (newVal, oldVal) => { | 575 | watch(choosedchoosed, (newVal, oldVal) => { |
| ... | @@ -576,7 +614,7 @@ watch(choosedchoosed, (newVal, oldVal) => { | ... | @@ -576,7 +614,7 @@ watch(choosedchoosed, (newVal, oldVal) => { |
| 576 | 614 | ||
| 577 | .flexBetweenBox { | 615 | .flexBetweenBox { |
| 578 | width: 100%; | 616 | width: 100%; |
| 579 | height: auto;margin: 0; | 617 | height: auto;margin-right: 0; |
| 580 | border-bottom: 1px solid #eee; | 618 | border-bottom: 1px solid #eee; |
| 581 | padding: 0 10px; | 619 | padding: 0 10px; |
| 582 | } | 620 | } |
| ... | @@ -585,7 +623,7 @@ watch(choosedchoosed, (newVal, oldVal) => { | ... | @@ -585,7 +623,7 @@ watch(choosedchoosed, (newVal, oldVal) => { |
| 585 | background: #FAFBFD; | 623 | background: #FAFBFD; |
| 586 | } | 624 | } |
| 587 | 625 | ||
| 588 | .flexBetween { | 626 | .flexBetween {white-space: normal; |
| 589 | padding: 10px; | 627 | padding: 10px; |
| 590 | border-left: 1px solid #eee; | 628 | border-left: 1px solid #eee; |
| 591 | 629 | ... | ... |
| ... | @@ -24,7 +24,7 @@ | ... | @@ -24,7 +24,7 @@ |
| 24 | <el-input v-model="form.ming"/> | 24 | <el-input v-model="form.ming"/> |
| 25 | </el-form-item> | 25 | </el-form-item> |
| 26 | <el-form-item :label="language==0?'证件类型':'ID type'" prop="idcType" required> | 26 | <el-form-item :label="language==0?'证件类型':'ID type'" prop="idcType" required> |
| 27 | <el-select v-model="form.idcType" style="width: 100%;"> | 27 | <el-select v-model="form.idcType" style="width: 100%;" :disabled="editgay"> |
| 28 | <el-option | 28 | <el-option |
| 29 | v-for="item in certificates" | 29 | v-for="item in certificates" |
| 30 | :key="item.value" | 30 | :key="item.value" |
| ... | @@ -34,10 +34,10 @@ | ... | @@ -34,10 +34,10 @@ |
| 34 | </el-select> | 34 | </el-select> |
| 35 | </el-form-item> | 35 | </el-form-item> |
| 36 | <el-form-item :label="language==0?'证件号码':'ID NO'" prop="idcCode" required> | 36 | <el-form-item :label="language==0?'证件号码':'ID NO'" prop="idcCode" required> |
| 37 | <el-input v-model="form.idcCode" @blur="checkCode"/> | 37 | <el-input v-model="form.idcCode" @blur="checkCode" :disabled="editgay"/> |
| 38 | </el-form-item> | 38 | </el-form-item> |
| 39 | <el-form-item :label="language==0?'性别':'sex'" prop="sex"> | 39 | <el-form-item :label="language==0?'性别':'sex'" prop="sex"> |
| 40 | <el-radio-group v-model="form.sex"> | 40 | <el-radio-group v-model="form.sex" :disabled="form.idcType=='0'"> |
| 41 | <el-radio value="0">{{ language==0?'女':'female' }}</el-radio> | 41 | <el-radio value="0">{{ language==0?'女':'female' }}</el-radio> |
| 42 | <el-radio value="1">{{ language==0?'男':'male' }}</el-radio> | 42 | <el-radio value="1">{{ language==0?'男':'male' }}</el-radio> |
| 43 | </el-radio-group> | 43 | </el-radio-group> |
| ... | @@ -46,7 +46,7 @@ | ... | @@ -46,7 +46,7 @@ |
| 46 | <el-col :lg="12"> | 46 | <el-col :lg="12"> |
| 47 | <el-form-item :label="language==0?'出生日期':'birth'" prop="birth" required> | 47 | <el-form-item :label="language==0?'出生日期':'birth'" prop="birth" required> |
| 48 | <el-date-picker | 48 | <el-date-picker |
| 49 | v-model="form.birth" | 49 | v-model="form.birth" :disabled="form.idcType=='0'" |
| 50 | style="width: 100%;" | 50 | style="width: 100%;" |
| 51 | type="date" format="YYYY-MM-DD" value-format="YYYY-MM-DD" | 51 | type="date" format="YYYY-MM-DD" value-format="YYYY-MM-DD" |
| 52 | /> | 52 | /> |
| ... | @@ -178,7 +178,7 @@ onMounted(() => { | ... | @@ -178,7 +178,7 @@ onMounted(() => { |
| 178 | getRegionsList() | 178 | getRegionsList() |
| 179 | 179 | ||
| 180 | }) | 180 | }) |
| 181 | let editgay = false | 181 | const editgay = ref(false) |
| 182 | const open = (params) => { | 182 | const open = (params) => { |
| 183 | console.log(params.label) | 183 | console.log(params.label) |
| 184 | show.value = true | 184 | show.value = true |
| ... | @@ -206,7 +206,7 @@ const open = (params) => { | ... | @@ -206,7 +206,7 @@ const open = (params) => { |
| 206 | }) | 206 | }) |
| 207 | } else { | 207 | } else { |
| 208 | if (params.id != 0) { // 编辑 | 208 | if (params.id != 0) { // 编辑 |
| 209 | editgay = true | 209 | editgay.value = true |
| 210 | match.getPersonInfoById(params.id).then(res => { | 210 | match.getPersonInfoById(params.id).then(res => { |
| 211 | form.value = res.data | 211 | form.value = res.data |
| 212 | form.value.id = params.id | 212 | form.value.id = params.id |
| ... | @@ -215,6 +215,8 @@ const open = (params) => { | ... | @@ -215,6 +215,8 @@ const open = (params) => { |
| 215 | form.value.labelArr = form.value.label.split(',') | 215 | form.value.labelArr = form.value.label.split(',') |
| 216 | } | 216 | } |
| 217 | }) | 217 | }) |
| 218 | } else { | ||
| 219 | editgay.value = false | ||
| 218 | } | 220 | } |
| 219 | } | 221 | } |
| 220 | } | 222 | } |
| ... | @@ -332,7 +334,7 @@ function submitForm() { | ... | @@ -332,7 +334,7 @@ function submitForm() { |
| 332 | emit('submitForm') | 334 | emit('submitForm') |
| 333 | }) | 335 | }) |
| 334 | } else { | 336 | } else { |
| 335 | if (editgay) { | 337 | if (editgay.value) { |
| 336 | // id不是0 | 338 | // id不是0 |
| 337 | match.editPersonInfo(form.value).then(res => { | 339 | match.editPersonInfo(form.value).then(res => { |
| 338 | ElMessage.success(language.value == 0 ?'保存成功':'Save successful') | 340 | ElMessage.success(language.value == 0 ?'保存成功':'Save successful') | ... | ... |
| ... | @@ -14,7 +14,7 @@ | ... | @@ -14,7 +14,7 @@ |
| 14 | <el-input v-model="query.realName" style="width: 120px;" clearable/> | 14 | <el-input v-model="query.realName" style="width: 120px;" clearable/> |
| 15 | </el-form-item> | 15 | </el-form-item> |
| 16 | <el-form-item :label="language==0?'证件类型':'ID Type'"> | 16 | <el-form-item :label="language==0?'证件类型':'ID Type'"> |
| 17 | <el-select v-model="query.idcType" style="width: 100px;" clearable> | 17 | <el-select v-model="query.idcType" style="width: 100px;" clearable @change="getList"> |
| 18 | <el-option | 18 | <el-option |
| 19 | v-for="item in certificates" | 19 | v-for="item in certificates" |
| 20 | :key="item.value" | 20 | :key="item.value" |
| ... | @@ -37,8 +37,8 @@ | ... | @@ -37,8 +37,8 @@ |
| 37 | <p v-if="noPhotoCanSign == 0" class="text-danger">{{ language==0?'*需上传照片才可报名':'*Please upload photo before sign up' }}</p> | 37 | <p v-if="noPhotoCanSign == 0" class="text-danger">{{ language==0?'*需上传照片才可报名':'*Please upload photo before sign up' }}</p> |
| 38 | <el-table ref="allSportmenTable" v-loading="loading" :data="tableData" height="60vh" | 38 | <el-table ref="allSportmenTable" v-loading="loading" :data="tableData" height="60vh" |
| 39 | @selection-change="handleSelectionChange"> | 39 | @selection-change="handleSelectionChange"> |
| 40 | <el-table-column type="selection" :label="language==0?'选择':'Selection'" :selectable="selectable"/> | 40 | <!-- <el-table-column type="selection" :label="language==0?'选择':'Selection'" :selectable="selectable"/>--> |
| 41 | <!-- <el-table-column type="index" :label="language==0?'序号':'Index'" :selectable="selectable"/>--> | 41 | <el-table-column type="index" :label="language==0?'序号':'Index'" width="50" :selectable="selectable"/> |
| 42 | <el-table-column :label="language==0?'姓氏':'Last Name'" prop="xing" min-width="100"/> | 42 | <el-table-column :label="language==0?'姓氏':'Last Name'" prop="xing" min-width="100"/> |
| 43 | <el-table-column :label="language==0?'名':'First Name'" prop="ming" min-width="100"/> | 43 | <el-table-column :label="language==0?'名':'First Name'" prop="ming" min-width="100"/> |
| 44 | <el-table-column :label="language==0?'所属国家':'Nationality'" prop="countryName" min-width="100"/> | 44 | <el-table-column :label="language==0?'所属国家':'Nationality'" prop="countryName" min-width="100"/> |
| ... | @@ -72,19 +72,19 @@ | ... | @@ -72,19 +72,19 @@ |
| 72 | </template> | 72 | </template> |
| 73 | </el-table-column> | 73 | </el-table-column> |
| 74 | </el-table> | 74 | </el-table> |
| 75 | <!-- <paginationPc--> | 75 | <paginationPc |
| 76 | <!-- v-show="total>0"--> | 76 | v-show="total>0" |
| 77 | <!-- v-model:page="query.pageNum"--> | 77 | v-model:page="query.pageNum" |
| 78 | <!-- v-model:limit="query.pageSize"--> | 78 | v-model:limit="query.pageSize" |
| 79 | <!-- :total="total"--> | 79 | :total="total" |
| 80 | <!-- @pagination="getList"--> | 80 | @pagination="getList" |
| 81 | <!-- />--> | 81 | /> |
| 82 | <template #footer> | 82 | <!-- <template #footer>--> |
| 83 | <div class="dialog-footer text-center"> | 83 | <!-- <div class="dialog-footer text-center">--> |
| 84 | <el-button type="primary" @click="submit">{{language==0?'确定':'Confirm'}}</el-button> | 84 | <!-- <el-button type="primary" @click="submit">{{language==0?'确定':'Confirm'}}</el-button>--> |
| 85 | <el-button @click="cancel">{{language==0?'取消':'Cancel'}}</el-button> | 85 | <!-- <el-button @click="cancel">{{language==0?'取消':'Cancel'}}</el-button>--> |
| 86 | </div> | 86 | <!-- </div>--> |
| 87 | </template> | 87 | <!-- </template>--> |
| 88 | </el-dialog> | 88 | </el-dialog> |
| 89 | 89 | ||
| 90 | <addCoach ref="dialogAddCoach" @submitForm="getList"/> | 90 | <addCoach ref="dialogAddCoach" @submitForm="getList"/> |
| ... | @@ -104,7 +104,9 @@ const {proxy} = getCurrentInstance() | ... | @@ -104,7 +104,9 @@ const {proxy} = getCurrentInstance() |
| 104 | const emit = defineEmits([ 'transfer']) | 104 | const emit = defineEmits([ 'transfer']) |
| 105 | const data = reactive({ | 105 | const data = reactive({ |
| 106 | query: { | 106 | query: { |
| 107 | label:'0' | 107 | label:'0', |
| 108 | pageSize: 10, | ||
| 109 | pageNum:1 | ||
| 108 | }, | 110 | }, |
| 109 | tableData: [], | 111 | tableData: [], |
| 110 | show: false, | 112 | show: false, | ... | ... |
This diff is collapsed.
Click to expand it.
| ... | @@ -62,6 +62,12 @@ function submit(res) { | ... | @@ -62,6 +62,12 @@ function submit(res) { |
| 62 | proxy.$modal.msgError(`${res.data.repeatInFileColumn}${language.value == 0? '文件内重复' : 'Repeat In File'}`) | 62 | proxy.$modal.msgError(`${res.data.repeatInFileColumn}${language.value == 0? '文件内重复' : 'Repeat In File'}`) |
| 63 | } | 63 | } |
| 64 | 64 | ||
| 65 | if(res.data.errIdcTypeColumn.length==0&&res.data.errSexColumn.length==0&& | ||
| 66 | res.data.incompleteColumn.length==0&&res.data.repeatInFileColumn.length==0&& | ||
| 67 | res.data.repeatInSystemColumn.length==0 | ||
| 68 | ){ | ||
| 69 | proxy.$modal.msgSuccess(res.msg) | ||
| 70 | } | ||
| 65 | } | 71 | } |
| 66 | proxy.$refs['upload'].handleClear() | 72 | proxy.$refs['upload'].handleClear() |
| 67 | emit('submitForm') | 73 | emit('submitForm') | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <el-dialog | 2 | <el-dialog |
| 3 | v-model="show" :title="title" width="500px" append-to-body :close-on-click-modal="false" | 3 | v-model="show" :title="title" width="500px" append-to-body :close-on-click-modal="false" |
| 4 | destroy-on-close | 4 | destroy-on-close @close="cancel" |
| 5 | > | 5 | > |
| 6 | <el-form label-width="120"> | 6 | <el-form label-width="120"> |
| 7 | <el-form-item required :label="item.realName" v-for="item in list"> | 7 | <el-form-item required :label="item.realName" v-for="item in list"> |
| ... | @@ -35,7 +35,7 @@ import { ElMessage } from 'element-plus' | ... | @@ -35,7 +35,7 @@ import { ElMessage } from 'element-plus' |
| 35 | import { useRoute } from 'vue-router' | 35 | import { useRoute } from 'vue-router' |
| 36 | 36 | ||
| 37 | const { proxy } = getCurrentInstance() | 37 | const { proxy } = getCurrentInstance() |
| 38 | const emit = defineEmits(['submitForm']) | 38 | const emit = defineEmits(['submitForm', 'cancel']) |
| 39 | const uploadUrl = ref('/upload/upLoadToFileServer') | 39 | const uploadUrl = ref('/upload/upLoadToFileServer') |
| 40 | const route = useRoute() | 40 | const route = useRoute() |
| 41 | import {useStorage} from "@vueuse/core/index"; | 41 | import {useStorage} from "@vueuse/core/index"; |
| ... | @@ -58,6 +58,7 @@ const open = (params) => { | ... | @@ -58,6 +58,7 @@ const open = (params) => { |
| 58 | show.value = true | 58 | show.value = true |
| 59 | title.value = params.title | 59 | title.value = params.title |
| 60 | matchId = params.matchId | 60 | matchId = params.matchId |
| 61 | groupId.value= params.groupId | ||
| 61 | list.value = params.list | 62 | list.value = params.list |
| 62 | init() | 63 | init() |
| 63 | } | 64 | } |
| ... | @@ -88,7 +89,7 @@ function checkCode(item) { | ... | @@ -88,7 +89,7 @@ function checkCode(item) { |
| 88 | return | 89 | return |
| 89 | } | 90 | } |
| 90 | 91 | ||
| 91 | match.checkWdsf({card: item.wdsfMin}).then(res => { | 92 | match.checkNoRepeat({card: item.wdsfMin,groupId: groupId.value}).then(res => { |
| 92 | if(res.data.wdsfFlag=='0'){ | 93 | if(res.data.wdsfFlag=='0'){ |
| 93 | if (language.value == 0) { | 94 | if (language.value == 0) { |
| 94 | ElMessage.warning('验证失败,卡号不存在') | 95 | ElMessage.warning('验证失败,卡号不存在') |
| ... | @@ -103,13 +104,23 @@ function checkCode(item) { | ... | @@ -103,13 +104,23 @@ function checkCode(item) { |
| 103 | }) | 104 | }) |
| 104 | } | 105 | } |
| 105 | function submitForm() { | 106 | function submitForm() { |
| 106 | //list.value | 107 | var arr = [] |
| 107 | show.value = false | 108 | for(var n of list.value){ |
| 108 | emit('submitForm') | 109 | arr.push({ |
| 110 | id: n.id, | ||
| 111 | wdsfMin: n.wdsfMin | ||
| 112 | }) | ||
| 113 | } | ||
| 114 | // match.saveWdsfMin(arr).then(res=>{ | ||
| 115 | // show.value = false | ||
| 116 | // }) | ||
| 117 | |||
| 118 | // emit('submitForm') | ||
| 109 | } | 119 | } |
| 110 | 120 | ||
| 111 | function cancel() { | 121 | function cancel() { |
| 112 | show.value = false | 122 | show.value = false |
| 123 | emit('cancel') | ||
| 113 | } | 124 | } |
| 114 | </script> | 125 | </script> |
| 115 | 126 | ... | ... |
| ... | @@ -159,10 +159,10 @@ function getSignList() { | ... | @@ -159,10 +159,10 @@ function getSignList() { |
| 159 | signInfoList.value = res.data.singleData | 159 | signInfoList.value = res.data.singleData |
| 160 | zuTableList.value = res.data.zuData | 160 | zuTableList.value = res.data.zuData |
| 161 | for(var s of signInfoList.value){ | 161 | for(var s of signInfoList.value){ |
| 162 | signTotal.value = signTotal.value + Number(s.insuranceFee) | 162 | signTotal.value = (Number(signTotal.value) + Number(s.insuranceFee)).toFixed(2) |
| 163 | } | 163 | } |
| 164 | for(var z of zuTableList.value){ | 164 | for(var z of zuTableList.value){ |
| 165 | zuTotal.value = zuTotal.value + Number(z.project.serviceFee) | 165 | zuTotal.value = (Number(zuTotal.value) + Number(z.project.serviceFee)).toFixed(2) |
| 166 | } | 166 | } |
| 167 | }) | 167 | }) |
| 168 | } | 168 | } | ... | ... |
| ... | @@ -21,25 +21,13 @@ | ... | @@ -21,25 +21,13 @@ |
| 21 | </el-col> | 21 | </el-col> |
| 22 | <el-col :sm="24" :lg="12"> | 22 | <el-col :sm="24" :lg="12"> |
| 23 | <div class="calendarList"> | 23 | <div class="calendarList"> |
| 24 | <ul> | 24 | <!-- <ul>--> |
| 25 | <li> | 25 | <!-- <li v-for="n in schList">--> |
| 26 | <label>08:00~10:30</label> 无锡公开赛 | 26 | <!-- <label>08:00~10:30</label> 无锡公开赛--> |
| 27 | </li> | 27 | <!-- </li>--> |
| 28 | <li> | 28 | <!-- </ul>--> |
| 29 | <label>11:00</label> 2024年WDSF公开赛 A组 | ||
| 30 | </li> | ||
| 31 | <li> | ||
| 32 | <label>12:00</label> 2024年WDSF公开赛 B组 | ||
| 33 | </li> | ||
| 34 | <li> | ||
| 35 | <label>13:00</label> 2024年WDSF公开赛 C组 | ||
| 36 | </li> | ||
| 37 | <li> | ||
| 38 | <label>15:00</label> 2024年WDSF公开赛 D组 | ||
| 39 | </li> | ||
| 40 | </ul> | ||
| 41 | |||
| 42 | </div> | 29 | </div> |
| 30 | <el-empty :image="`/img/order_no.png`" :image-size="200"/> | ||
| 43 | 31 | ||
| 44 | </el-col> | 32 | </el-col> |
| 45 | </el-row> | 33 | </el-row> |
| ... | @@ -95,6 +83,7 @@ const years = ref([]) | ... | @@ -95,6 +83,7 @@ const years = ref([]) |
| 95 | const currYear = ref(null) | 83 | const currYear = ref(null) |
| 96 | const ztxPlanList = ref([]) | 84 | const ztxPlanList = ref([]) |
| 97 | const planList = ref([]) | 85 | const planList = ref([]) |
| 86 | const schList = ref([]) | ||
| 98 | const loading = ref(false) | 87 | const loading = ref(false) |
| 99 | const calendarValue = ref('2024-07-22') | 88 | const calendarValue = ref('2024-07-22') |
| 100 | 89 | ... | ... |
-
Please register or sign in to post a comment