二维码
Showing
6 changed files
with
239 additions
and
64 deletions
| ... | @@ -827,6 +827,14 @@ export function checkOcr(data) { | ... | @@ -827,6 +827,14 @@ export function checkOcr(data) { |
| 827 | }) | 827 | }) |
| 828 | } | 828 | } |
| 829 | 829 | ||
| 830 | // 赛事二维码 | ||
| 831 | export const getMiniappQrCode = (cptId, query) => { | ||
| 832 | return request({ | ||
| 833 | url: `/getMiniappQrCode/${cptId}`, | ||
| 834 | method: 'get' | ||
| 835 | }) | ||
| 836 | } | ||
| 837 | |||
| 830 | // 修改人员 | 838 | // 修改人员 |
| 831 | export function editOcr(data) { | 839 | export function editOcr(data) { |
| 832 | return request({ | 840 | return request({ | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <div> | 2 | <div> |
| 3 | <index-Ch v-if="language ==0" @pop="openMaster" @pickup="openPickup" @backNumber="openBackNumber" @schSearch="openSchSearch"/> | 3 | <index-Ch |
| 4 | <index-En v-else @pop="openMaster" @pickup="openPickup" @backNumber="openBackNumber" @schSearch="openSchSearch"/> | 4 | v-if="language ==0" @backNumber="openBackNumber" @pickup="openPickup" @pop="openMaster" |
| 5 | @schSearch="openSchSearch" | ||
| 6 | /> | ||
| 7 | <index-En v-else @backNumber="openBackNumber" @pickup="openPickup" @pop="openMaster" @schSearch="openSchSearch" /> | ||
| 5 | <div v-if="showgg" class="fixed_gg"> | 8 | <div v-if="showgg" class="fixed_gg"> |
| 6 | <!--天气--> | 9 | <!--天气--> |
| 7 | <el-icon class="cclose" @click.stop="showgg=false"><circle-close /></el-icon> | 10 | <el-icon class="cclose" @click.stop="showgg=false"> |
| 11 | <circle-close /> | ||
| 12 | </el-icon> | ||
| 8 | <div class="bg-lineg pd20"> | 13 | <div class="bg-lineg pd20"> |
| 9 | <div class="smallToday" @click="popWeather"> | 14 | <div class="smallToday" @click="popWeather"> |
| 10 | <div> | 15 | <div> |
| 11 | <div class="type"> | 16 | <div class="type"> |
| 12 | <weather-icon :type="weatherObj.forecast[0]?.type" :width="50"/> | 17 | <weather-icon :type="weatherObj.forecast[0]?.type" :width="50" /> |
| 13 | </div> | 18 | </div> |
| 14 | </div> | 19 | </div> |
| 15 | <div> | 20 | <div> |
| 16 | <h3 v-if="language == 0">无锡</h3> | 21 | <h3 v-if="language == 0">无锡</h3> |
| 17 | <h3 v-else>WUXI</h3> | 22 | <h3 v-else>WUXI</h3> |
| 18 | <div class="wd_p">{{weatherObj.forecast[0]?.low.slice(2)}}~{{weatherObj.forecast[0]?.high.slice(2)}}</div> | 23 | <div class="wd_p">{{ weatherObj.forecast[0]?.low.slice(2) }}~{{ weatherObj.forecast[0]?.high.slice(2) }} |
| 24 | </div> | ||
| 19 | </div> | 25 | </div> |
| 20 | </div> | 26 | </div> |
| 21 | </div> | 27 | </div> |
| 22 | <el-dialog v-model="weatherdialog" width="540" :close-on-click-modal="true" | 28 | <el-dialog |
| 23 | style="--el-dialog-padding-primary:0;--el-dialog-border-radius:15px; | 29 | v-model="weatherdialog" :close-on-click-modal="true" style="--el-dialog-padding-primary:0;--el-dialog-border-radius:15px; |
| 24 | --el-dialog-bg-color:transparent;overflow: hidden;"> | 30 | --el-dialog-bg-color:transparent;overflow: hidden;" |
| 31 | width="540" | ||
| 32 | > | ||
| 25 | <div class="bg-lineg pd20"> | 33 | <div class="bg-lineg pd20"> |
| 26 | <div class="weatherbox"> | 34 | <div class="weatherbox"> |
| 27 | <div class="today"> | 35 | <div class="today"> |
| ... | @@ -30,44 +38,48 @@ | ... | @@ -30,44 +38,48 @@ |
| 30 | <h1 v-else>WUXI</h1> | 38 | <h1 v-else>WUXI</h1> |
| 31 | </div> | 39 | </div> |
| 32 | <div> | 40 | <div> |
| 33 | <div class="wd">{{weatherObj.wendu}}°c</div> | 41 | <div class="wd">{{ weatherObj.wendu }}°c</div> |
| 34 | <div class="wd_p">{{weatherObj.forecast[0]?.low.slice(2)}}~{{weatherObj.forecast[0]?.high.slice(2)}}</div> | 42 | <div class="wd_p"> |
| 35 | <div class="week">{{weatherObj.forecast[0]?.week}}</div> | 43 | {{ weatherObj.forecast[0]?.low.slice(2) }}~{{ weatherObj.forecast[0]?.high.slice(2) }} |
| 44 | </div> | ||
| 45 | <div class="week">{{ weatherObj.forecast[0]?.week }}</div> | ||
| 36 | </div> | 46 | </div> |
| 37 | <div> | 47 | <div> |
| 38 | <div class="type"> | 48 | <div class="type"> |
| 39 | <weather-icon :type="weatherObj.forecast[0].type" :width="64"/> | 49 | <weather-icon :type="weatherObj.forecast[0].type" :width="64" /> |
| 40 | </div> | 50 | </div> |
| 41 | </div> | 51 | </div> |
| 42 | </div> | 52 | </div> |
| 43 | <ul class="wlist"> | 53 | <ul class="wlist"> |
| 44 | <li v-for="n in weatherObj.forecast.slice(1,6)"> | 54 | <li v-for="n in weatherObj.forecast.slice(1,6)"> |
| 45 | <div class="type"> | 55 | <div class="type"> |
| 46 | <weather-icon :type="n.type||n.wea" :width="32"/> | 56 | <weather-icon :type="n.type||n.wea" :width="32" /> |
| 47 | </div> | 57 | </div> |
| 48 | <div class="wd" v-if="n.low">{{n.low.slice(2,-1)}}/{{n.high.slice(2)}}</div> | 58 | <div v-if="n.low" class="wd">{{ n.low.slice(2, -1) }}/{{ n.high.slice(2) }}</div> |
| 49 | <div class="wd" v-if="n.tem_night">{{n.tem_night}}/{{n.tem_day}}</div> | 59 | <div v-if="n.tem_night" class="wd">{{ n.tem_night }}/{{ n.tem_day }}</div> |
| 50 | <div class="week" v-if="language==1"> | 60 | <div v-if="language==1" class="week"> |
| 51 | {{n.week=='星期一'?'Mon':n.week=='星期二'?'Tue':n.week=='星期三'?'Wed':n.week=='星期四'?'Thu':n.week=='星期五'?'Fri':n.week=='星期六'?'Sat':n.week=='星期日'?'Sun':''}} | 61 | {{ |
| 62 | n.week == '星期一' ? 'Mon' : n.week == '星期二' ? 'Tue' : n.week == '星期三' ? 'Wed' : n.week == '星期四' ? 'Thu' : n.week == '星期五' ? 'Fri' : n.week == '星期六' ? 'Sat' : n.week == '星期日' ? 'Sun' : '' | ||
| 63 | }} | ||
| 52 | </div> | 64 | </div> |
| 53 | <div class="week" v-else> | 65 | <div v-else class="week"> |
| 54 | {{n.week}} | 66 | {{ n.week }} |
| 55 | </div> | 67 | </div> |
| 56 | <div class="date mt10" v-if="n.ymd">{{n.ymd.slice(5,10)}}</div> | 68 | <div v-if="n.ymd" class="date mt10">{{ n.ymd.slice(5, 10) }}</div> |
| 57 | <div class="date mt10" v-else>{{n.date.slice(5,10)}}</div> | 69 | <div v-else class="date mt10">{{ n.date.slice(5, 10) }}</div> |
| 58 | </li> | 70 | </li> |
| 59 | </ul> | 71 | </ul> |
| 60 | </div> | 72 | </div> |
| 61 | </div> | 73 | </div> |
| 62 | </el-dialog> | 74 | </el-dialog> |
| 63 | </div> | 75 | </div> |
| 64 | <div class="poCode"> | 76 | <!-- <div class="poCode">--> |
| 65 | <el-image :preview-src-list="['/img/code.jpg']" hide-on-click-modal="true" style="width: 120px;height: 120px;" src="/img/code.jpg"/> | 77 | <!-- <el-image :preview-src-list="['/img/code.jpg']" hide-on-click-modal="true" style="width: 120px;height: 120px;" src="/img/code.jpg"/>--> |
| 66 | </div> | 78 | <!-- </div>--> |
| 67 | <dialog-master-class ref="masterClassRef"/> | 79 | <dialog-master-class ref="masterClassRef" /> |
| 68 | <pick-up ref="pickupRef"></pick-up> | 80 | <pick-up ref="pickupRef" /> |
| 69 | <back-number ref="backNumberRef"></back-number> | 81 | <back-number ref="backNumberRef" /> |
| 70 | <sch-search ref="schSearchRef"></sch-search> | 82 | <sch-search ref="schSearchRef" /> |
| 71 | </div> | 83 | </div> |
| 72 | 84 | ||
| 73 | </template> | 85 | </template> |
| ... | @@ -80,74 +92,95 @@ import DialogMasterClass from '@/viewsPc/components/masterClass' | ... | @@ -80,74 +92,95 @@ import DialogMasterClass from '@/viewsPc/components/masterClass' |
| 80 | import PickUp from '@/viewsPc/components/pickup' | 92 | import PickUp from '@/viewsPc/components/pickup' |
| 81 | import BackNumber from '@/viewsPc/components/querybackNumber' | 93 | import BackNumber from '@/viewsPc/components/querybackNumber' |
| 82 | import SchSearch from '@/viewsPc/components/schSearch' | 94 | import SchSearch from '@/viewsPc/components/schSearch' |
| 83 | import {useStorage} from "@vueuse/core/index"; | 95 | import { useStorage } from '@vueuse/core/index' |
| 84 | import {ref} from "vue"; | 96 | import { ref } from 'vue' |
| 85 | import {getWeather} from "@/apiPc/webSite"; | 97 | import { getWeather } from '@/apiPc/webSite' |
| 86 | import {getCurrentInstance} from "@vue/runtime-core"; | 98 | import { getCurrentInstance } from '@vue/runtime-core' |
| 87 | const {proxy} = getCurrentInstance() | 99 | |
| 100 | const { proxy } = getCurrentInstance() | ||
| 88 | const showgg = ref(false) | 101 | const showgg = ref(false) |
| 89 | 102 | ||
| 90 | const language = useStorage('language', 0) | 103 | const language = useStorage('language', 0) |
| 91 | const weatherObj = ref({ | 104 | const weatherObj = ref({ |
| 92 | forecast:[] | 105 | forecast: [] |
| 93 | }) | 106 | }) |
| 94 | const weatherdialog = ref(false) | 107 | const weatherdialog = ref(false) |
| 108 | |||
| 95 | // init() | 109 | // init() |
| 96 | function init(){ | 110 | function init() { |
| 97 | getWeather().then(res=>{ | 111 | getWeather().then(res => { |
| 98 | weatherObj.value = JSON.parse(res.data).data | 112 | weatherObj.value = JSON.parse(res.data).data |
| 99 | showgg.value = true | 113 | showgg.value = true |
| 100 | }).catch(err=>{ | 114 | }).catch(err => { |
| 101 | showgg.value = false | 115 | showgg.value = false |
| 102 | }) | 116 | }) |
| 103 | } | 117 | } |
| 118 | |||
| 104 | const popWeather = () => { | 119 | const popWeather = () => { |
| 105 | weatherdialog.value = true | 120 | weatherdialog.value = true |
| 106 | } | 121 | } |
| 107 | const openMaster = (params) => { | 122 | const openMaster = (params) => { |
| 108 | console.log(params) | 123 | console.log(params) |
| 109 | var obj = { | 124 | var obj = { |
| 110 | title:'大师课申请', | 125 | title: '大师课申请', |
| 111 | cptId:params.cptId | 126 | cptId: params.cptId |
| 112 | } | 127 | } |
| 113 | proxy.$refs['masterClassRef'].open(obj) | 128 | proxy.$refs['masterClassRef'].open(obj) |
| 114 | } | 129 | } |
| 115 | 130 | ||
| 116 | const openPickup= (params) => { | 131 | const openPickup = (params) => { |
| 117 | console.log(params) | 132 | console.log(params) |
| 118 | const obj = { | 133 | const obj = { |
| 119 | title:'接送机服务', | 134 | title: '接送机服务', |
| 120 | cptId:params.cptId | 135 | cptId: params.cptId |
| 121 | } | 136 | } |
| 122 | proxy.$refs['pickupRef'].open(obj) | 137 | proxy.$refs['pickupRef'].open(obj) |
| 123 | } | 138 | } |
| 124 | const openBackNumber = (params) => { | 139 | const openBackNumber = (params) => { |
| 125 | console.log(params) | 140 | console.log(params) |
| 126 | const obj = { | 141 | const obj = { |
| 127 | title:'背号查询', | 142 | title: '背号查询', |
| 128 | cptId:params.cptId | 143 | cptId: params.cptId |
| 129 | } | 144 | } |
| 130 | proxy.$refs['backNumberRef'].open(obj) | 145 | proxy.$refs['backNumberRef'].open(obj) |
| 131 | } | 146 | } |
| 132 | const openSchSearch = (params) => { | 147 | const openSchSearch = (params) => { |
| 133 | console.log(params) | 148 | console.log(params) |
| 134 | const obj = { | 149 | const obj = { |
| 135 | title:'日程查询', | 150 | title: '日程查询', |
| 136 | cptId:params.cptId | 151 | cptId: params.cptId |
| 137 | } | 152 | } |
| 138 | proxy.$refs['schSearchRef'].open(obj) | 153 | proxy.$refs['schSearchRef'].open(obj) |
| 139 | } | 154 | } |
| 140 | </script> | 155 | </script> |
| 141 | 156 | ||
| 142 | <style scoped lang="scss"> | 157 | <style lang="scss" scoped> |
| 143 | .poCode{position: fixed;right: 0;top: 40%;background: #fff;padding: 10px 0 0;border-radius: 10px;overflow: hidden; | 158 | .poCode { |
| 144 | box-shadow: 0 2px 8px #aaa;z-index: 99;} | 159 | position: fixed; |
| 160 | right: 0; | ||
| 161 | top: 40%; | ||
| 162 | background: #fff; | ||
| 163 | padding: 10px 0 0; | ||
| 164 | border-radius: 10px; | ||
| 165 | overflow: hidden; | ||
| 166 | box-shadow: 0 2px 8px #aaa; | ||
| 167 | z-index: 99; | ||
| 168 | } | ||
| 169 | |||
| 145 | @media screen and (max-width: 768px) { | 170 | @media screen and (max-width: 768px) { |
| 146 | :deep(.zn-Box .zn-btn){margin-top: 10px;font-size: 14px} | 171 | :deep(.zn-Box .zn-btn) { |
| 147 | :deep(.bgbg){ padding: 3% 5% 0!important; | 172 | margin-top: 10px; |
| 148 | h1 {font-size: 22px;margin:20px 0 0;} | 173 | font-size: 14px |
| 174 | } | ||
| 175 | :deep(.bgbg) { | ||
| 176 | padding: 3% 5% 0 !important; | ||
| 177 | |||
| 178 | h1 { | ||
| 179 | font-size: 22px; | ||
| 180 | margin: 20px 0 0; | ||
| 181 | } | ||
| 149 | } | 182 | } |
| 150 | .fixed_gg{ | 183 | .fixed_gg { |
| 151 | transform: scale(0.7); | 184 | transform: scale(0.7); |
| 152 | transform-origin: right; | 185 | transform-origin: right; |
| 153 | } | 186 | } | ... | ... |
| ... | @@ -424,13 +424,22 @@ | ... | @@ -424,13 +424,22 @@ |
| 424 | :src="clubImage" | 424 | :src="clubImage" |
| 425 | fit="cover" | 425 | fit="cover" |
| 426 | preview-teleported | 426 | preview-teleported |
| 427 | style="width: 124px" | 427 | style="width: 120px" |
| 428 | /> | 428 | /> |
| 429 | </div> | 429 | </div> |
| 430 | 430 | ||
| 431 | </div> | 431 | </div> |
| 432 | 432 | ||
| 433 | <div class="fixed_gg_l club" /> | 433 | <!-- 群聊--> |
| 434 | <div class="fixed_gg_l club"> | ||
| 435 | <el-image | ||
| 436 | :preview-src-list="[ fillImgUrl(matchData.chatQrcode) ]" | ||
| 437 | :src="fillImgUrl(matchData.chatQrcode)" | ||
| 438 | fit="cover" | ||
| 439 | preview-teleported | ||
| 440 | style="width: 120px" | ||
| 441 | /> | ||
| 442 | </div> | ||
| 434 | 443 | ||
| 435 | <affix-invitation ref="dialogInvitationRef" /> | 444 | <affix-invitation ref="dialogInvitationRef" /> |
| 436 | </div> | 445 | </div> |
| ... | @@ -456,6 +465,7 @@ import { getAboutUs, getppInfo, getZNList } from '@/apiPc/match' | ... | @@ -456,6 +465,7 @@ import { getAboutUs, getppInfo, getZNList } from '@/apiPc/match' |
| 456 | import AffixInvitation from '/@/viewsPc/match/components/affix-invitation.vue' | 465 | import AffixInvitation from '/@/viewsPc/match/components/affix-invitation.vue' |
| 457 | import { useStorage } from '@vueuse/core/index' | 466 | import { useStorage } from '@vueuse/core/index' |
| 458 | import useUserStore from '@/store/modules/user' | 467 | import useUserStore from '@/store/modules/user' |
| 468 | import { fillImgUrl } from '/@/utils/ruoyi' | ||
| 459 | 469 | ||
| 460 | const language = useStorage('language', 0) | 470 | const language = useStorage('language', 0) |
| 461 | 471 | ||
| ... | @@ -546,7 +556,7 @@ const init = () => { | ... | @@ -546,7 +556,7 @@ const init = () => { |
| 546 | match.getMaList({ topFlag: 1 }).then((res) => { | 556 | match.getMaList({ topFlag: 1 }).then((res) => { |
| 547 | maList.value = res.rows | 557 | maList.value = res.rows |
| 548 | for (const n of maList.value) { | 558 | for (const n of maList.value) { |
| 549 | var today = dayjs().format('YYYY-MM-DD HH:mm:ss') | 559 | const today = dayjs().format('YYYY-MM-DD HH:mm:ss') |
| 550 | if (n.signBeginTime) { | 560 | if (n.signBeginTime) { |
| 551 | n.time = dayjs(n.signBeginTime).diff(today, 'millisecond') | 561 | n.time = dayjs(n.signBeginTime).diff(today, 'millisecond') |
| 552 | } else { | 562 | } else { |
| ... | @@ -559,6 +569,7 @@ const init = () => { | ... | @@ -559,6 +569,7 @@ const init = () => { |
| 559 | } | 569 | } |
| 560 | } | 570 | } |
| 561 | matchData.value = maList.value[0] | 571 | matchData.value = maList.value[0] |
| 572 | console.log(matchData.value) | ||
| 562 | }) | 573 | }) |
| 563 | getpartners() | 574 | getpartners() |
| 564 | } | 575 | } |
| ... | @@ -1256,8 +1267,8 @@ function applyInvitation() { | ... | @@ -1256,8 +1267,8 @@ function applyInvitation() { |
| 1256 | } | 1267 | } |
| 1257 | 1268 | ||
| 1258 | .club { | 1269 | .club { |
| 1259 | width: 160px; | 1270 | width: 130px; |
| 1260 | left: 5px; | 1271 | right: 0; |
| 1261 | top: 50%; | 1272 | top: 40%; |
| 1262 | } | 1273 | } |
| 1263 | </style> | 1274 | </style> | ... | ... |
| ... | @@ -410,7 +410,16 @@ | ... | @@ -410,7 +410,16 @@ |
| 410 | /> | 410 | /> |
| 411 | </div> | 411 | </div> |
| 412 | </div> | 412 | </div> |
| 413 | 413 | <!-- 群聊--> | |
| 414 | <div class="fixed_gg_l club"> | ||
| 415 | <el-image | ||
| 416 | :preview-src-list="[ fillImgUrl(matchData.chatQrcode) ]" | ||
| 417 | :src="fillImgUrl(matchData.chatQrcode)" | ||
| 418 | fit="cover" | ||
| 419 | preview-teleported | ||
| 420 | style="width: 120px" | ||
| 421 | /> | ||
| 422 | </div> | ||
| 414 | <affix-invitation ref="dialogInvitationRef" /> | 423 | <affix-invitation ref="dialogInvitationRef" /> |
| 415 | </div> | 424 | </div> |
| 416 | </template> | 425 | </template> |
| ... | @@ -432,6 +441,7 @@ import AffixInvitation from '/@/viewsPc/match/components/affix-invitation.vue' | ... | @@ -432,6 +441,7 @@ import AffixInvitation from '/@/viewsPc/match/components/affix-invitation.vue' |
| 432 | import { useStorage } from '@vueuse/core/index' | 441 | import { useStorage } from '@vueuse/core/index' |
| 433 | import useUserStore from '/@/store/modules/user' | 442 | import useUserStore from '/@/store/modules/user' |
| 434 | import clubImage from '@/assets/logo/club.png' | 443 | import clubImage from '@/assets/logo/club.png' |
| 444 | import { fillImgUrl } from '/@/utils/ruoyi' | ||
| 435 | 445 | ||
| 436 | 446 | ||
| 437 | const language = useStorage('language', 0) | 447 | const language = useStorage('language', 0) |
| ... | @@ -1376,4 +1386,10 @@ function applyInvitation() { | ... | @@ -1376,4 +1386,10 @@ function applyInvitation() { |
| 1376 | top: 40%; | 1386 | top: 40%; |
| 1377 | 1387 | ||
| 1378 | } | 1388 | } |
| 1389 | |||
| 1390 | .club { | ||
| 1391 | width: 130px; | ||
| 1392 | right: 0; | ||
| 1393 | top: 40%; | ||
| 1394 | } | ||
| 1379 | </style> | 1395 | </style> | ... | ... |
| ... | @@ -21,7 +21,7 @@ | ... | @@ -21,7 +21,7 @@ |
| 21 | 21 | ||
| 22 | <img :src="fillImgUrl(matchData.coverUrl)" class="mauto w100 as16_9"> | 22 | <img :src="fillImgUrl(matchData.coverUrl)" class="mauto w100 as16_9"> |
| 23 | </el-col> | 23 | </el-col> |
| 24 | <el-col :lg="matchData.type=='0'?9:16" :md="12" :xl="10" style="position: relative"> | 24 | <el-col :lg="matchData.type=='0'?9:16" :md="12" :xl="10" class="father" style="position: relative"> |
| 25 | <h3 style="margin: 0 0 10px">{{ matchData.name }}</h3> | 25 | <h3 style="margin: 0 0 10px">{{ matchData.name }}</h3> |
| 26 | <div v-if="matchData.type=='1'"> | 26 | <div v-if="matchData.type=='1'"> |
| 27 | <p class="ppl"> | 27 | <p class="ppl"> |
| ... | @@ -124,6 +124,7 @@ | ... | @@ -124,6 +124,7 @@ |
| 124 | <label>{{ language == 0 ? '邮 箱' : 'EMAIL' }}:</label> | 124 | <label>{{ language == 0 ? '邮 箱' : 'EMAIL' }}:</label> |
| 125 | {{ matchData.contactEmail }}</p> | 125 | {{ matchData.contactEmail }}</p> |
| 126 | </div> | 126 | </div> |
| 127 | |||
| 127 | <div style="height: 30px" /> | 128 | <div style="height: 30px" /> |
| 128 | <div class="ppl_pb"> | 129 | <div class="ppl_pb"> |
| 129 | <el-link | 130 | <el-link |
| ... | @@ -161,7 +162,75 @@ | ... | @@ -161,7 +162,75 @@ |
| 161 | {{ language == 0 ? '赛事规程' : 'Competition Regulations' }} | 162 | {{ language == 0 ? '赛事规程' : 'Competition Regulations' }} |
| 162 | </el-link> | 163 | </el-link> |
| 163 | </div> | 164 | </div> |
| 164 | 165 | <div v-if="matchData.type!=1" class="son"> | |
| 166 | <div v-if="matchData.chatQrcode"> | ||
| 167 | <!-- <div style="font-size: 14px">群聊二维码</div>--> | ||
| 168 | <el-image | ||
| 169 | :preview-src-list="[fillImgUrl(matchData.chatQrcode)]" | ||
| 170 | :src="fillImgUrl(matchData.chatQrcode)" | ||
| 171 | fit="cover" | ||
| 172 | preview-teleported | ||
| 173 | style="width: 50px;height: 50px;margin-left: 10px" | ||
| 174 | /> | ||
| 175 | </div> | ||
| 176 | <div v-if="matchData.liveQrcode"> | ||
| 177 | <!-- <div style="font-size: 14px">直播二维码</div>--> | ||
| 178 | <el-image | ||
| 179 | :preview-src-list="[fillImgUrl(matchData.liveQrcode) ]" | ||
| 180 | :src="fillImgUrl(matchData.liveQrcode)" | ||
| 181 | fit="cover" | ||
| 182 | preview-teleported | ||
| 183 | style="width: 50px;height: 50px;margin-left: 10px" | ||
| 184 | /> | ||
| 185 | </div> | ||
| 186 | <div v-if="matchData.qrcode"> | ||
| 187 | <!-- <div style="font-size: 14px">赛事二维码</div>--> | ||
| 188 | <el-image | ||
| 189 | v-if="matchData.qrcode" | ||
| 190 | :preview-src-list="[fillImgUrl(matchData.qrcode)]" | ||
| 191 | :src="fillImgUrl(matchData.qrcode)" | ||
| 192 | fit="cover" | ||
| 193 | preview-teleported | ||
| 194 | style="width: 50px;height: 50px;margin-left: 10px" | ||
| 195 | /> | ||
| 196 | </div> | ||
| 197 | |||
| 198 | </div> | ||
| 199 | <div v-else class="son2"> | ||
| 200 | <div v-if="matchData.chatQrcode"> | ||
| 201 | <!-- <div style="font-size: 14px">群聊二维码</div>--> | ||
| 202 | <el-image | ||
| 203 | :preview-src-list="[fillImgUrl(matchData.chatQrcode)]" | ||
| 204 | :src="fillImgUrl(matchData.chatQrcode)" | ||
| 205 | fit="cover" | ||
| 206 | preview-teleported | ||
| 207 | style="width: 80px;height: 80px;margin-left: 10px" | ||
| 208 | /> | ||
| 209 | </div> | ||
| 210 | <div v-if="matchData.liveQrcode"> | ||
| 211 | <!-- <div style="font-size: 14px">直播二维码</div>--> | ||
| 212 | <el-image | ||
| 213 | :preview-src-list="[fillImgUrl(matchData.liveQrcode) ]" | ||
| 214 | :src="fillImgUrl(matchData.liveQrcode)" | ||
| 215 | fit="cover" | ||
| 216 | preview-teleported | ||
| 217 | style="width: 80px;height: 80px;margin-left: 10px" | ||
| 218 | /> | ||
| 219 | </div> | ||
| 220 | {{ matchData.cptQrcode }} | ||
| 221 | <div> | ||
| 222 | <!-- <div style="font-size: 14px"></div>--> | ||
| 223 | <el-image | ||
| 224 | v-if="matchData.qrcode" | ||
| 225 | :preview-src-list="[fillImgUrl(matchData.qrcode)]" | ||
| 226 | :src="fillImgUrl(matchData.qrcode)" | ||
| 227 | fit="cover" | ||
| 228 | preview-teleported | ||
| 229 | style="width: 80px;height: 80px;margin-left: 10px" | ||
| 230 | /> | ||
| 231 | </div> | ||
| 232 | |||
| 233 | </div> | ||
| 165 | </el-col> | 234 | </el-col> |
| 166 | <el-col v-if="matchData.type=='0'" :lg="8" :md="12" :xl="8"> | 235 | <el-col v-if="matchData.type=='0'" :lg="8" :md="12" :xl="8"> |
| 167 | <p v-if="language==0" class="countDownTitle"> | 236 | <p v-if="language==0" class="countDownTitle"> |
| ... | @@ -424,7 +493,9 @@ import useUserStore from '@/store/modules/user' | ... | @@ -424,7 +493,9 @@ import useUserStore from '@/store/modules/user' |
| 424 | import { useStorage } from '@vueuse/core/index' | 493 | import { useStorage } from '@vueuse/core/index' |
| 425 | import { Search } from '@element-plus/icons-vue' | 494 | import { Search } from '@element-plus/icons-vue' |
| 426 | import { preCheckForGroup } from '@/apiPc/match' | 495 | import { preCheckForGroup } from '@/apiPc/match' |
| 496 | import { fillImgUrl } from '/@/utils/ruoyi' | ||
| 427 | 497 | ||
| 498 | const qrUrl = ref() | ||
| 428 | const user = useUserStore().user | 499 | const user = useUserStore().user |
| 429 | const group = useUserStore().group | 500 | const group = useUserStore().group |
| 430 | const data = reactive({ | 501 | const data = reactive({ |
| ... | @@ -499,6 +570,7 @@ function getMatch(id) { | ... | @@ -499,6 +570,7 @@ function getMatch(id) { |
| 499 | loading.value = true | 570 | loading.value = true |
| 500 | match.getMatchById({ id: id }).then(res => { | 571 | match.getMatchById({ id: id }).then(res => { |
| 501 | matchData.value = res.data | 572 | matchData.value = res.data |
| 573 | console.log(matchData.value) | ||
| 502 | loading.value = false | 574 | loading.value = false |
| 503 | const today = dayjs().format('YYYY-MM-DD HH:mm:ss') | 575 | const today = dayjs().format('YYYY-MM-DD HH:mm:ss') |
| 504 | time.value = dayjs(res.data.signEndTime).diff(today, 'millisecond') | 576 | time.value = dayjs(res.data.signEndTime).diff(today, 'millisecond') |
| ... | @@ -971,6 +1043,22 @@ const reFlash = () => { | ... | @@ -971,6 +1043,22 @@ const reFlash = () => { |
| 971 | // 刷新 | 1043 | // 刷新 |
| 972 | location.reload() | 1044 | location.reload() |
| 973 | } | 1045 | } |
| 1046 | |||
| 1047 | |||
| 1048 | async function handelQR(id, type) { | ||
| 1049 | let patch | ||
| 1050 | if (type == 1) { | ||
| 1051 | patch = '/pages_match/match/singleLs' | ||
| 1052 | } else { | ||
| 1053 | patch = '/pages_match/match/single' | ||
| 1054 | } | ||
| 1055 | const res = await match.getMiniappQrCode(id, patch) | ||
| 1056 | if (res.data) { | ||
| 1057 | qrUrl.value = 'data:image/gif;base64,' + res.data | ||
| 1058 | } else { | ||
| 1059 | qrUrl.value = undefined | ||
| 1060 | } | ||
| 1061 | } | ||
| 974 | </script> | 1062 | </script> |
| 975 | 1063 | ||
| 976 | <style lang="scss" scoped> | 1064 | <style lang="scss" scoped> |
| ... | @@ -1628,4 +1716,22 @@ const reFlash = () => { | ... | @@ -1628,4 +1716,22 @@ const reFlash = () => { |
| 1628 | } | 1716 | } |
| 1629 | } | 1717 | } |
| 1630 | } | 1718 | } |
| 1719 | |||
| 1720 | .father { | ||
| 1721 | position: relative; | ||
| 1722 | |||
| 1723 | .son { | ||
| 1724 | position: absolute; | ||
| 1725 | bottom: 0; | ||
| 1726 | right: -10%; | ||
| 1727 | display: flex; | ||
| 1728 | } | ||
| 1729 | |||
| 1730 | .son2 { | ||
| 1731 | position: absolute; | ||
| 1732 | bottom: 0; | ||
| 1733 | right: 10%; | ||
| 1734 | display: flex; | ||
| 1735 | } | ||
| 1736 | } | ||
| 1631 | </style> | 1737 | </style> | ... | ... |
| ... | @@ -84,9 +84,10 @@ export default defineConfig(({ mode, command }) => { | ... | @@ -84,9 +84,10 @@ export default defineConfig(({ mode, command }) => { |
| 84 | }, | 84 | }, |
| 85 | '/dev-api': { | 85 | '/dev-api': { |
| 86 | // target: 'http://192.168.1.118:8081/', | 86 | // target: 'http://192.168.1.118:8081/', |
| 87 | // target: 'http://192.168.1.118:8081', | 87 | // target: 'http://192.168.1.129:8081', |
| 88 | target: 'https://jijin.wtwuxicenter.com/stage-api', | 88 | // target: 'https://jijin.wtwuxicenter.com/stage-api', |
| 89 | // target: 'https://wdsfwuxicenter.com/stage-api/', | 89 | // target: 'https://wdsfwuxicenter.com/stage-api/', |
| 90 | target: 'http://7s18uou5jv74.ngrok.xiaomiqiu123.top/', | ||
| 90 | changeOrigin: true, | 91 | changeOrigin: true, |
| 91 | rewrite: (p) => p.replace(/^\/dev-api/, '') | 92 | rewrite: (p) => p.replace(/^\/dev-api/, '') |
| 92 | }, | 93 | }, | ... | ... |
-
Please register or sign in to post a comment