add: 媒体注册
Showing
25 changed files
with
247 additions
and
33 deletions
public/img/1.png
deleted
100644 → 0
124 KB
public/img/2.png
deleted
100644 → 0
80.6 KB
public/img/3.png
deleted
100644 → 0
90.7 KB
public/img/4.png
deleted
100644 → 0
96.8 KB
public/img/5.png
deleted
100644 → 0
127 KB
public/img/6.png
deleted
100644 → 0
88.3 KB
public/img/ji/1.png
deleted
100644 → 0
13 KB
public/img/ji/2.png
deleted
100644 → 0
10.8 KB
public/img/ji/3.png
deleted
100644 → 0
13.4 KB
public/img/ji/4.png
deleted
100644 → 0
11.1 KB
public/img/ji/5.png
deleted
100644 → 0
13.7 KB
public/img/ji/6.png
deleted
100644 → 0
11 KB
public/img/ji/7.png
deleted
100644 → 0
13.6 KB
public/img/ji/8.png
deleted
100644 → 0
10.5 KB
public/img/ji/9.png
deleted
100644 → 0
12.3 KB
| ... | @@ -190,4 +190,19 @@ export function getHomeRoomQuery(params) { | ... | @@ -190,4 +190,19 @@ export function getHomeRoomQuery(params) { |
| 190 | params: params | 190 | params: params |
| 191 | }) | 191 | }) |
| 192 | } | 192 | } |
| 193 | export function getMediaInfo(params) { | ||
| 194 | return request({ | ||
| 195 | url: `/league/media/getMediaInfo`, | ||
| 196 | method: 'get', | ||
| 197 | params: params | ||
| 198 | }) | ||
| 199 | } | ||
| 200 | export function mediaRegister(data) { | ||
| 201 | return request({ | ||
| 202 | url: `/league/media`, | ||
| 203 | method: 'post', | ||
| 204 | data | ||
| 205 | }) | ||
| 206 | } | ||
| 207 | |||
| 193 | 208 | ... | ... |
src/assets/dance/logo_l.png
0 → 100644
19.1 KB
src/assets/dance/logo_r1.png
0 → 100644
23.3 KB
src/assets/dance/logo_r2.png
0 → 100644
24.9 KB
| 1 | <template> | 1 | <template> |
| 2 | <div class="itemBox" v-if="language === 0"> | 2 | <div class="itemBox" v-if="language === 0"> |
| 3 | <el-row :gutter="20"> | 3 | <el-row :gutter="20"> |
| 4 | <el-col :sm="12" :lg="6" :xs="12"> | 4 | <el-col :sm="12" :lg="4" :xs="12"> |
| 5 | <div class="item" @click="popRemark(0)"><img src="@/assets/dance/btn01.png">签证服务</div> | 5 | <div class="item" @click="popRemark(0)"><img src="@/assets/dance/btn01.png">签证服务</div> |
| 6 | </el-col> | 6 | </el-col> |
| 7 | <el-col :sm="12" :lg="6" :xs="12"> | 7 | <el-col :sm="12" :lg="4" :xs="12"> |
| 8 | <div class="item" @click="popRemark(1)"><img src="@/assets/dance/btn02.png">酒店预订</div> | 8 | <div class="item" @click="popRemark(1)"><img src="@/assets/dance/btn02.png">酒店预订</div> |
| 9 | </el-col> | 9 | </el-col> |
| 10 | <el-col :sm="12" :lg="6" :xs="12"> | 10 | <el-col :sm="12" :lg="4" :xs="12"> |
| 11 | <div class="item" @click="popRemark(2)"><img src="@/assets/dance/btn03.png">接送服务</div> | 11 | <div class="item" @click="popRemark(2)"><img src="@/assets/dance/btn03.png">接送服务</div> |
| 12 | </el-col> | 12 | </el-col> |
| 13 | <el-col :sm="12" :lg="6" :xs="12"> | 13 | <el-col :sm="12" :lg="4" :xs="12"> |
| 14 | <div class="item" @click="goAbout"><img src="@/assets/dance/btn04.png">场地介绍</div> | 14 | <div class="item" @click="goAbout"><img src="@/assets/dance/btn04.png">场地介绍</div> |
| 15 | </el-col> | 15 | </el-col> |
| 16 | <el-col :sm="12" :lg="4" :xs="12"> | ||
| 17 | <div class="item" @click="goMedia"><img src="@/assets/dance/btn07.png">媒体注册</div> | ||
| 18 | </el-col> | ||
| 19 | <el-col :sm="12" :lg="4" :xs="12"> | ||
| 20 | <div class="item" @click="goAround"><img src="@/assets/dance/btn06.png">周边活动</div> | ||
| 21 | </el-col> | ||
| 16 | <!-- <el-col :sm="12" :lg="4" :xs="12">--> | 22 | <!-- <el-col :sm="12" :lg="4" :xs="12">--> |
| 17 | <!-- <div class="item" @click="liveClick"><img src="@/assets/dance/btn05.png">赛事直播</div>--> | 23 | <!-- <div class="item" @click="liveClick"><img src="@/assets/dance/btn05.png">赛事直播</div>--> |
| 18 | <!-- </el-col>--> | 24 | <!-- </el-col>--> |
| ... | @@ -32,13 +38,22 @@ | ... | @@ -32,13 +38,22 @@ |
| 32 | <el-col :sm="12" :lg="4" :xs="12"> | 38 | <el-col :sm="12" :lg="4" :xs="12"> |
| 33 | <div class="item" @click="goAbout"><img src="@/assets/dance/btn04.png">Venue Introduction</div> | 39 | <div class="item" @click="goAbout"><img src="@/assets/dance/btn04.png">Venue Introduction</div> |
| 34 | </el-col> | 40 | </el-col> |
| 35 | <!-- <el-col :sm="12" :lg="4" :xs="12">--> | 41 | <el-col :sm="12" :lg="4" :xs="12"> |
| 42 | <div class="item" @click="goMedia"><img src="@/assets/dance/btn07.png">Media Registration</div> | ||
| 43 | </el-col> | ||
| 44 | <el-col :sm="12" :lg="4" :xs="12"> | ||
| 45 | <div class="item" @click="goAround"><img src="@/assets/dance/btn06.png">Around Activity</div> | ||
| 46 | </el-col> | ||
| 47 | |||
| 48 | <!-- <el-col :sm="12" :lg="4" :xs="12">--> | ||
| 36 | <!-- <div class="item" @click="liveClick"><img src="@/assets/dance/btn05.png">live streaming</div>--> | 49 | <!-- <div class="item" @click="liveClick"><img src="@/assets/dance/btn05.png">live streaming</div>--> |
| 37 | <!-- </el-col>--> | 50 | <!-- </el-col>--> |
| 38 | </el-row> | 51 | </el-row> |
| 39 | </div> | 52 | </div> |
| 40 | <order-remark ref="orderRemarkRef" @submit="goBooking"/> | 53 | <order-remark ref="orderRemarkRef" @submit="goBooking"/> |
| 41 | <affix-invitation ref="dialogInvitationRef"/> | 54 | <affix-invitation ref="dialogInvitationRef"/> |
| 55 | <!-- 媒体注册--> | ||
| 56 | <media-register ref="mediaRegisterRef"/> | ||
| 42 | </template> | 57 | </template> |
| 43 | 58 | ||
| 44 | <script setup> | 59 | <script setup> |
| ... | @@ -47,6 +62,7 @@ import {useRouter} from "vue-router"; | ... | @@ -47,6 +62,7 @@ import {useRouter} from "vue-router"; |
| 47 | const router = useRouter() | 62 | const router = useRouter() |
| 48 | import OrderRemark from '@/viewsPc/components/orderRemark' | 63 | import OrderRemark from '@/viewsPc/components/orderRemark' |
| 49 | import AffixInvitation from '@/viewsPc/match/components/affix-invitation' | 64 | import AffixInvitation from '@/viewsPc/match/components/affix-invitation' |
| 65 | import MediaRegister from '@/viewsPc/components/mediaRegister.vue' | ||
| 50 | 66 | ||
| 51 | const {proxy} = getCurrentInstance() | 67 | const {proxy} = getCurrentInstance() |
| 52 | import {useStorage} from "@vueuse/core/index"; | 68 | import {useStorage} from "@vueuse/core/index"; |
| ... | @@ -105,6 +121,11 @@ const liveClick = () => { | ... | @@ -105,6 +121,11 @@ const liveClick = () => { |
| 105 | const goAbout = () => { | 121 | const goAbout = () => { |
| 106 | router.push({path: `/about/wuDao`}) | 122 | router.push({path: `/about/wuDao`}) |
| 107 | } | 123 | } |
| 124 | const goAround = () => { | ||
| 125 | //周边活动 | ||
| 126 | router.push({path: `/around/wuDao`}) | ||
| 127 | } | ||
| 128 | |||
| 108 | onMounted(() => { | 129 | onMounted(() => { |
| 109 | 130 | ||
| 110 | }) | 131 | }) |
| ... | @@ -120,6 +141,10 @@ function applyInvitation() { | ... | @@ -120,6 +141,10 @@ function applyInvitation() { |
| 120 | } | 141 | } |
| 121 | proxy.$refs['dialogInvitationRef'].open(obj) | 142 | proxy.$refs['dialogInvitationRef'].open(obj) |
| 122 | } | 143 | } |
| 144 | function goMedia() { | ||
| 145 | proxy.$refs['mediaRegisterRef'].open({cptId: matchId.value}) | ||
| 146 | } | ||
| 147 | |||
| 123 | function popRemark(type) { | 148 | function popRemark(type) { |
| 124 | if (!form.value) { | 149 | if (!form.value) { |
| 125 | building() | 150 | building() |
| ... | @@ -191,8 +216,8 @@ function goBooking(n) { | ... | @@ -191,8 +216,8 @@ function goBooking(n) { |
| 191 | 216 | ||
| 192 | <style scoped lang="scss"> | 217 | <style scoped lang="scss"> |
| 193 | .itemBox,.itemBox_en { | 218 | .itemBox,.itemBox_en { |
| 194 | padding: 20px;background: #fff;box-shadow: 0 0 46px 0 rgba(1,16,64,0.08); | 219 | //padding: 20px;background: #fff;box-shadow: 0 0 46px 0 rgba(1,16,64,0.08); |
| 195 | border-radius: 20px; | 220 | //border-radius: 20px; |
| 196 | } | 221 | } |
| 197 | 222 | ||
| 198 | 223 | ... | ... |
src/viewsPc/components/mediaRegister.vue
0 → 100644
| 1 | <template> | ||
| 2 | <el-dialog v-model="show" :title="title" width="500px" close-icon="CircleClose" center destroy-on-close> | ||
| 3 | <div class="pd20"> | ||
| 4 | <el-form ref="dialogRef" label-position="top" :model="form" :rules="rules" v-if="!isDone"> | ||
| 5 | <el-form-item :label="language==0?'姓氏':'family name'" required prop="lastName"> | ||
| 6 | <el-input v-model="form.lastName"></el-input> | ||
| 7 | </el-form-item> | ||
| 8 | <el-form-item :label="language==0?'名字':'first name'" required prop="fristName"> | ||
| 9 | <el-input v-model="form.fristName"></el-input> | ||
| 10 | </el-form-item> | ||
| 11 | <el-form-item :label="language==0?'媒体名称':'media organization'" required prop="mediaName"> | ||
| 12 | <el-input v-model="form.mediaName"></el-input> | ||
| 13 | </el-form-item> | ||
| 14 | <el-form-item :label="language==0?'媒体类型':'media category'" required prop="mediaType"> | ||
| 15 | <el-select v-model="form.mediaType"> | ||
| 16 | <el-option label="Reporter/Written Media" value="0"/> | ||
| 17 | <el-option label="Photographer" value="1"/> | ||
| 18 | <el-option label="TV Non-Rights Holder" value="2"/> | ||
| 19 | </el-select> | ||
| 20 | </el-form-item> | ||
| 21 | <el-form-item :label="language==0?'国家(地区)':'country'" required prop="country"> | ||
| 22 | <el-select v-model="form.country" filterable> | ||
| 23 | <el-option v-for="item in countrys" | ||
| 24 | :key="item.id" | ||
| 25 | :label="language==0?item.name:item.enName" | ||
| 26 | :value="language==0?item.id :item.id"/> | ||
| 27 | </el-select> | ||
| 28 | </el-form-item> | ||
| 29 | <el-form-item :label="language==0?'证件类型':'ID type'" required prop="passType"> | ||
| 30 | <el-select v-model="form.passType"> | ||
| 31 | <el-option :label="language==0?'身份证':'ID Card'" value="0"/> | ||
| 32 | <el-option :label="language==0?'护照':'Passport'" value="1"/> | ||
| 33 | </el-select> | ||
| 34 | </el-form-item> | ||
| 35 | <el-form-item :label="language==0?'身份证(护照)号码':'ID or passport number'" required prop="idCard"> | ||
| 36 | <el-input v-model="form.idCard"></el-input> | ||
| 37 | </el-form-item> | ||
| 38 | <el-form-item :label="language==0?'邮箱':'work email'" required prop="email"> | ||
| 39 | <el-input v-model="form.email"></el-input> | ||
| 40 | </el-form-item> | ||
| 41 | <el-form-item :label="language==0?'一寸证件照':'profile photo'" required prop="photos"> | ||
| 42 | <image-upload v-model="form.photos" :limit="1" :is-show-tip="false" | ||
| 43 | :button-text="language==0?'上传':'Upload'"/> | ||
| 44 | </el-form-item> | ||
| 45 | </el-form> | ||
| 46 | |||
| 47 | <!-- “提交成功”状态、提交记录、和提交的信息展示 提交后需要修改请联系XXXX邮箱--> | ||
| 48 | <div v-if="isDone"> | ||
| 49 | <el-descriptions column="1" border> | ||
| 50 | <el-descriptions-item :label="language==0?'姓氏':'family name'">{{form.lastName}}</el-descriptions-item> | ||
| 51 | <el-descriptions-item :label="language==0?'名字':'first name'">{{form.fristName}}</el-descriptions-item>/> | ||
| 52 | <el-descriptions-item :label="language==0?'媒体名称':'media organization'">{{form.mediaName}}</el-descriptions-item> | ||
| 53 | <el-descriptions-item :label="language==0?'媒体类型':'media category'"> | ||
| 54 | <span v-if="form.mediaType==0">Reporter/Written Media</span> | ||
| 55 | <span v-if="form.mediaType==1">Photographer</span> | ||
| 56 | <span v-if="form.mediaType==2">TV Non-Rights Holder</span> | ||
| 57 | </el-descriptions-item> | ||
| 58 | <el-descriptions-item :label="language==0?'国家(地区)':'country'">{{form.country}}</el-descriptions-item>/> | ||
| 59 | <el-descriptions-item :label="language==0?'证件类型':'ID type'"> | ||
| 60 | <span v-if="form.passType==0">身份证</span> | ||
| 61 | <span v-if="form.passType==1">护照</span> | ||
| 62 | </el-descriptions-item> | ||
| 63 | <el-descriptions-item :label="language==0?'证件号码':'ID NO.'">{{form.idCard}}</el-descriptions-item> | ||
| 64 | <el-descriptions-item :label="language==0?'邮箱':'work email'">{{form.email}}</el-descriptions-item> | ||
| 65 | <el-descriptions-item :label="language==0?'一寸证件照':'profile photo'"> | ||
| 66 | <el-image :src="fillImgUrl(form.photos)" style="width: 100px;"/> | ||
| 67 | </el-descriptions-item> | ||
| 68 | </el-descriptions> | ||
| 69 | |||
| 70 | <el-result icon="success" title="已提交" sub-title="提交后需要修改请联系XXXX邮箱" /> | ||
| 71 | |||
| 72 | </div> | ||
| 73 | |||
| 74 | </div> | ||
| 75 | <template #footer v-if="!isDone"> | ||
| 76 | <el-button @click="cancel">{{language==0?'取消':'cancel'}}</el-button> | ||
| 77 | <el-button type="primary" @click="submit">{{language==0?'确定':'confirm'}}</el-button> | ||
| 78 | </template> | ||
| 79 | </el-dialog> | ||
| 80 | </template> | ||
| 81 | |||
| 82 | <script setup> | ||
| 83 | import {useStorage} from "@vueuse/core/index"; | ||
| 84 | import { ref } from "vue"; | ||
| 85 | import ImageUpload from "/@/components/ImageUpload/index.vue"; | ||
| 86 | import {countryList} from "/@/apiPc/match"; | ||
| 87 | import {getMediaInfo, mediaRegister} from "/@/apiPc/common"; | ||
| 88 | import useUserStore from "@/store/modules/user"; | ||
| 89 | import {ElMessageBox} from "element-plus"; | ||
| 90 | const language = useStorage('language', 0) | ||
| 91 | const show = ref(false) | ||
| 92 | const title = ref('') | ||
| 93 | const form = ref({}) | ||
| 94 | const isDone = ref(false) | ||
| 95 | const countrys = ref([]) | ||
| 96 | const user = useUserStore().user | ||
| 97 | const rules = ref({ | ||
| 98 | lastName: [ | ||
| 99 | { required: true, message: language.value==0?'请输入姓氏':'Please enter family name', trigger: 'blur'} | ||
| 100 | ], | ||
| 101 | fristName: [ | ||
| 102 | { required: true, message: language.value==0?'请输入名字':'Please enter first name', trigger: 'blur'} | ||
| 103 | ], | ||
| 104 | mediaName: [ | ||
| 105 | { required: true, message: language.value==0?'请输入媒体名称':'Please enter media organization', trigger: 'blur'} | ||
| 106 | ], | ||
| 107 | mediaType: [ | ||
| 108 | { required: true, message: language.value==0?'请选择媒体类型':'Please select media category', trigger: 'blur'} | ||
| 109 | ], | ||
| 110 | country: [ | ||
| 111 | { required: true, message: language.value==0?'请选择国家':'Please select country', trigger: 'blur'} | ||
| 112 | ], | ||
| 113 | passType: [ | ||
| 114 | { required: true, message: language.value==0?'请选择证件类型':'Please select ID type', trigger: 'blur'} | ||
| 115 | ], | ||
| 116 | idCard: [ | ||
| 117 | { required: true, message: language.value==0?'请输入证件号码':'Please enter ID or passport number', trigger: 'blur'} | ||
| 118 | ], | ||
| 119 | email: [ | ||
| 120 | { required: true, message: language.value==0?'请输入邮箱':'Please enter work email', trigger: 'blur'} | ||
| 121 | ], | ||
| 122 | photos: [ | ||
| 123 | { required: true, message: language.value==0?'请上传一寸证件照':'Please upload profile photo', trigger: 'blur'} | ||
| 124 | ] | ||
| 125 | }) | ||
| 126 | |||
| 127 | const open = (params) => { | ||
| 128 | getCountryList() | ||
| 129 | form.value.cptId = params.cptId | ||
| 130 | form.value.userId = user.userId | ||
| 131 | show.value = true | ||
| 132 | title.value = language.value==0 ? '媒体注册' : 'Media Registration' | ||
| 133 | getInfo() | ||
| 134 | } | ||
| 135 | defineExpose({open}) | ||
| 136 | function getInfo() { | ||
| 137 | getMediaInfo({userId: user.userId}).then(res=>{ | ||
| 138 | if(res.data){ | ||
| 139 | isDone.value = true | ||
| 140 | form.value = res.data | ||
| 141 | } else { | ||
| 142 | isDone.value = false | ||
| 143 | } | ||
| 144 | }) | ||
| 145 | } | ||
| 146 | function getCountryList() { | ||
| 147 | countryList().then(res => { | ||
| 148 | countrys.value = res.data | ||
| 149 | }) | ||
| 150 | } | ||
| 151 | const cancel = () => { | ||
| 152 | show.value = false | ||
| 153 | } | ||
| 154 | const submit = () => { | ||
| 155 | proxy.$refs.dialogRef.validate(valid => { | ||
| 156 | ElMessageBox.confirm( '提交后不能修改,确定提交吗?','提示', { | ||
| 157 | confirmButtonText: language.value==0?'确定':'confirm', | ||
| 158 | cancelButtonText: language.value==0?'取消':'cancel', | ||
| 159 | type: 'warning' | ||
| 160 | }).then(() => { | ||
| 161 | mediaRegister(form.value).then(res=>{ | ||
| 162 | isDone.value = true | ||
| 163 | }) | ||
| 164 | }) | ||
| 165 | }) | ||
| 166 | } | ||
| 167 | |||
| 168 | </script> | ||
| 169 | |||
| 170 | <style scoped lang="scss"> | ||
| 171 | |||
| 172 | </style> |
| 1 | <template> | 1 | <template> |
| 2 | <div> | 2 | <div class="syBg"> |
| 3 | <div class="banner"> | 3 | <div class="banner"> |
| 4 | <el-carousel class="forPc" autoplay :interval="2000" height="450px" :autoplay="false" arrow="hover" | 4 | <el-carousel class="forPc" autoplay :interval="2000" height="450px" :autoplay="false" arrow="hover" |
| 5 | @change="carouselChange"> | 5 | @change="carouselChange"> |
| ... | @@ -173,34 +173,31 @@ | ... | @@ -173,34 +173,31 @@ |
| 173 | <el-row :gutter="20"> | 173 | <el-row :gutter="20"> |
| 174 | <el-col :lg="8"> | 174 | <el-col :lg="8"> |
| 175 | <a class="liveImgbox" target="_blank" @click="golive(livelist[0])"> | 175 | <a class="liveImgbox" target="_blank" @click="golive(livelist[0])"> |
| 176 | <div class="livetimecount" v-if="time>0"> | 176 | <!-- <div class="livetimecount" v-if="time>0">--> |
| 177 | <van-count-down :time="time" format="DD 天 HH 时 mm 分 ss 秒"> | 177 | <!-- <van-count-down :time="time" format="DD 天 HH 时 mm 分 ss 秒">--> |
| 178 | <template #default="timeData"> | 178 | <!-- <template #default="timeData">--> |
| 179 | <div class="block">{{ timeData.days }} | 179 | <!-- <div class="block">{{ timeData.days }}--> |
| 180 | </div> | 180 | <!-- </div>--> |
| 181 | <span class="colon">天</span> | 181 | <!-- <span class="colon">天</span>--> |
| 182 | <div class="block">{{ timeData.hours }} | 182 | <!-- <div class="block">{{ timeData.hours }}--> |
| 183 | </div> | 183 | <!-- </div>--> |
| 184 | <span class="colon">时</span> | 184 | <!-- <span class="colon">时</span>--> |
| 185 | <div class="block">{{ timeData.minutes }} | 185 | <!-- <div class="block">{{ timeData.minutes }}--> |
| 186 | </div> | 186 | <!-- </div>--> |
| 187 | <span class="colon">分</span> | 187 | <!-- <span class="colon">分</span>--> |
| 188 | <div class="block">{{ timeData.seconds }} | 188 | <!-- <div class="block">{{ timeData.seconds }}--> |
| 189 | </div> | 189 | <!-- </div>--> |
| 190 | <span class="colon">秒后开播 </span> | 190 | <!-- <span class="colon">秒后开播 </span>--> |
| 191 | </template> | 191 | <!-- </template>--> |
| 192 | </van-count-down> | 192 | <!-- </van-count-down>--> |
| 193 | </div> | 193 | <!-- </div>--> |
| 194 | <i class="ii" v-else-if="etime>0&&time<=0">直播中</i> | 194 | <!-- <i class="ii" v-else-if="etime>0&&time<=0">直播中</i>--> |
| 195 | <!-- <i class="livetimecount" v-if="etime<=0">直播已结束</i>--> | 195 | <!-- <i class="livetimecount" v-if="etime<=0">直播已结束</i>--> |
| 196 | <div class="imgBox"> | 196 | <div class="imgBox"> |
| 197 | <img v-if="time>0" src="/img/111.jpeg"/> | 197 | <img :src="fillImgUrl_webSite(livelist[0]?.picUrl)"> |
| 198 | <img v-else :src="fillImgUrl_webSite(livelist[0]?.picUrl)"> | ||
| 199 | </div> | 198 | </div> |
| 200 | <h3 class="esp" v-if="time>0"> | 199 | <!-- <h3 class="esp" v-if="time>0">世锦赛</h3>--> |
| 201 | 世锦赛 | 200 | <h3 class="esp"> |
| 202 | </h3> | ||
| 203 | <h3 class="esp" v-else> | ||
| 204 | {{ livelist[0]?.name }} | 201 | {{ livelist[0]?.name }} |
| 205 | </h3> | 202 | </h3> |
| 206 | </a> | 203 | </a> |
| ... | @@ -529,6 +526,11 @@ const gopicliveUrl = () => { | ... | @@ -529,6 +526,11 @@ const gopicliveUrl = () => { |
| 529 | </script> | 526 | </script> |
| 530 | 527 | ||
| 531 | <style scoped lang="scss"> | 528 | <style scoped lang="scss"> |
| 529 | .syBg{ | ||
| 530 | background: url("@/assets/dance/logo_l.png") no-repeat bottom left, | ||
| 531 | url("@/assets/dance/logo_r1.png") no-repeat bottom right; | ||
| 532 | } | ||
| 533 | |||
| 532 | .btabs{display: flex;position: absolute;bottom: 60px;gap: 10px; | 534 | .btabs{display: flex;position: absolute;bottom: 60px;gap: 10px; |
| 533 | div{color: #fff; background-color: rgba(0, 0, 0, 0.5); | 535 | div{color: #fff; background-color: rgba(0, 0, 0, 0.5); |
| 534 | backdrop-filter: blur(4px);border: 2px solid #9ba6d4;border-radius: 50px; | 536 | backdrop-filter: blur(4px);border: 2px solid #9ba6d4;border-radius: 50px; | ... | ... |
-
Please register or sign in to post a comment