8621078b by 杨炀

no message

1 parent 8ede71b2
Showing 62 changed files with 369 additions and 183 deletions
...@@ -33,3 +33,4 @@ export function getExamRegionsList() { ...@@ -33,3 +33,4 @@ export function getExamRegionsList() {
33 method: 'get' 33 method: 'get'
34 }) 34 })
35 } 35 }
36
......
...@@ -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({
......
...@@ -140,3 +140,10 @@ export function getDropsorts() { ...@@ -140,3 +140,10 @@ export function getDropsorts() {
140 method: 'get' 140 method: 'get'
141 }) 141 })
142 } 142 }
143
144 export function getWeather() {
145 return request({
146 url: '/weather',
147 method: 'get'
148 })
149 }
......
...@@ -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 {
......
This diff could not be displayed because it is too large.
...@@ -1002,14 +1002,48 @@ img{display: block;} ...@@ -1002,14 +1002,48 @@ 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;}
1012 text-decoration: underline;} 1045 a.fr{color: #666;
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;
1015 color: var(--el-color-primary)} 1049 color: var(--el-color-primary)}
......
...@@ -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"/>
......
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()
......
...@@ -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,
......
...@@ -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
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!