19 changed files with 827 additions and 74 deletions
After Width: | Height: | Size: 243 KiB |
After Width: | Height: | Size: 752 KiB |
After Width: | Height: | Size: 61 KiB |
After Width: | Height: | Size: 68 KiB |
@ -0,0 +1,113 @@ |
|||
|
|||
var x_PI = (3.14159265358979324 * 3000.0) / 180.0; |
|||
var PI = 3.1415926535897932384626; |
|||
var a = 6378245.0; //卫星椭球坐标投影到平面地图坐标系的投影因子。
|
|||
var ee = 0.00669342162296594323; //椭球的偏心率。
|
|||
|
|||
|
|||
//判断是否在国内,在中国国内的经纬度才需要做偏移
|
|||
function out_of_china(lng, lat) { |
|||
return ( |
|||
lng < 72.004 || |
|||
lng > 137.8347 || |
|||
(lat < 0.8293 || lat > 55.8271 || false) |
|||
); |
|||
} |
|||
|
|||
//转化经度
|
|||
function transformlng(lng, lat) { |
|||
var ret = |
|||
300.0 + |
|||
lng + |
|||
2.0 * lat + |
|||
0.1 * lng * lng + |
|||
0.1 * lng * lat + |
|||
0.1 * Math.sqrt(Math.abs(lng)); |
|||
ret += |
|||
((20.0 * Math.sin(6.0 * lng * PI) + |
|||
20.0 * Math.sin(2.0 * lng * PI)) * |
|||
2.0) / |
|||
3.0; |
|||
ret += |
|||
((20.0 * Math.sin(lng * PI) + |
|||
40.0 * Math.sin((lng / 3.0) * PI)) * |
|||
2.0) / |
|||
3.0; |
|||
ret += |
|||
((150.0 * Math.sin((lng / 12.0) * PI) + |
|||
300.0 * Math.sin((lng / 30.0) * PI)) * |
|||
2.0) / |
|||
3.0; |
|||
return ret; |
|||
} |
|||
|
|||
//转化纬度
|
|||
function transformlat(lng, lat) { |
|||
var ret = |
|||
-100.0 + |
|||
2.0 * lng + |
|||
3.0 * lat + |
|||
0.2 * lat * lat + |
|||
0.1 * lng * lat + |
|||
0.2 * Math.sqrt(Math.abs(lng)); |
|||
ret += |
|||
((20.0 * Math.sin(6.0 * lng * PI) + |
|||
20.0 * Math.sin(2.0 * lng * PI)) * |
|||
2.0) / |
|||
3.0; |
|||
ret += |
|||
((20.0 * Math.sin(lat * PI) + |
|||
40.0 * Math.sin((lat / 3.0) * PI)) * |
|||
2.0) / |
|||
3.0; |
|||
ret += |
|||
((160.0 * Math.sin((lat / 12.0) * PI) + |
|||
320 * Math.sin((lat * PI) / 30.0)) * |
|||
2.0) / |
|||
3.0; |
|||
return ret; |
|||
} |
|||
|
|||
//wgs84 to gcj02 地球坐标系 转 火星坐标系
|
|||
export function wgs84_to_gcj02(lng, lat) { |
|||
if (out_of_china(lng, lat)) { |
|||
return [lng, lat]; |
|||
} else { |
|||
var dlat = transformlat(lng - 105.0, lat - 35.0); |
|||
var dlng = transformlng(lng - 105.0, lat - 35.0); |
|||
var radlat = (lat / 180.0) * PI; |
|||
var magic = Math.sin(radlat); |
|||
magic = 1 - ee * magic * magic; |
|||
var sqrtmagic = Math.sqrt(magic); |
|||
dlat = |
|||
(dlat * 180.0) / |
|||
(((a * (1 - ee)) / (magic * sqrtmagic)) * PI); |
|||
dlng = |
|||
(dlng * 180.0) / ((a / sqrtmagic) * Math.cos(radlat) * PI); |
|||
var mglat = lat + dlat; |
|||
var mglng = lng + dlng; |
|||
|
|||
return [mglng, mglat]; |
|||
} |
|||
} |
|||
|
|||
|
|||
//gcj02 to wgs84 火星坐标系 转 地球坐标系
|
|||
export function gcj02_to_wgs84(lng, lat) { |
|||
if (out_of_china(lng, lat)) { |
|||
return [lng, lat] |
|||
} |
|||
else { |
|||
var dlat = transformlat(lng - 105.0, lat - 35.0); |
|||
var dlng = transformlng(lng - 105.0, lat - 35.0); |
|||
var radlat = lat / 180.0 * PI; |
|||
var magic = Math.sin(radlat); |
|||
magic = 1 - ee * magic * magic; |
|||
var sqrtmagic = Math.sqrt(magic); |
|||
dlat = (dlat * 180.0) / ((a * (1 - ee)) / (magic * sqrtmagic) * PI); |
|||
dlng = (dlng * 180.0) / (a / sqrtmagic * Math.cos(radlat) * PI); |
|||
mglat = lat + dlat; |
|||
mglng = lng + dlng; |
|||
return [lng * 2 - mglng, lat * 2 - mglat] |
|||
} |
|||
} |
@ -0,0 +1,525 @@ |
|||
<template> |
|||
<div> |
|||
<div class="flex flex-mean" style="background-color: #FFFFFF; height: 150px;"> |
|||
<!-- <van-search class=".flex flex-1" v-model="searchValue" left-icon="" shape="round" placeholder="请输入搜索关键词" /> |
|||
<van-button round type="info" class="custom-button font-size13 m-top10 m-right12" @click="onSearch()">查询</van-button> --> |
|||
<!-- <van-image src="../../assets/images/servicePhone/" /> --> |
|||
<img src="../../assets/images/peoSuggestion/1.png" style="width: 100%; height:300px ;" /> |
|||
</div> |
|||
<div class='container' style="position: relative;top: -35px;"> |
|||
<div class="flex flex-x flex-end"> |
|||
<img src="../../assets/images/peoSuggestion/special.png" style="width: 180px;"> |
|||
<img src="../../assets/images/peoSuggestion/daily.png" style="width: 180px;"> |
|||
</div> |
|||
</div> |
|||
<div class='container' style="position: relative;top: -40px;"> |
|||
<div class="card"> |
|||
<div class="title"> |
|||
<div class="flex flex-center2"> |
|||
<img style="height:20px;" src="@/assets/images/home/biaoqian.png" alt=""> |
|||
<span class="m-left5" style=" color: black; font-family:pingfang-bold; |
|||
font-size: 20px;">最新专题 </span> |
|||
</div> |
|||
<span @click="$router.push('/activity')">更多</span> |
|||
|
|||
</div> |
|||
<div class="activity_content flex m-top10" v-for="(item, index) in eventList" :key="index" |
|||
@click="$router.push({ path: `/discusionDetail`, query: { eventId: item.eventId } })"> |
|||
<div class="flex flex-y flex1 flex-end" style="overflow: hidden;"> |
|||
<span class="van-multi-ellipsis--l2"> |
|||
{{ item.title }} |
|||
</span> |
|||
<div class="flex flex-end flex-end gray m-top10 font-size13"> |
|||
<div class="flex flex-center"> |
|||
<span>{{ item.total }} 人参与 </span> |
|||
</div> |
|||
<div class="flex flex-x"> |
|||
<div class="flex flex-center"> |
|||
<span> {{ item.data }}</span> |
|||
</div> |
|||
|
|||
</div> |
|||
|
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class='container' style="position: relative;top: -50px;"> |
|||
<div class="card"> |
|||
<div class="title"> |
|||
<div class="flex flex-center2"> |
|||
<img style="height:20px;" src="@/assets/images/home/biaoqian.png" alt=""> |
|||
<span class="m-left5" style=" color: black; font-family:pingfang-bold; |
|||
font-size: 20px;">金点子 </span> |
|||
</div> |
|||
<span @click="$router.push('/activity')">更多</span> |
|||
|
|||
</div> |
|||
<van-tabs v-model="tagActive" style="width: 100%;" @change="handelChangeTags" :title-style="titleStyle" title-class="custom-title-class"> |
|||
<van-tab v-for="item in tagList" :key="item.id" :title="item.tagName"> |
|||
|
|||
</van-tab> |
|||
</van-tabs> |
|||
<div class="activity_content flex m-top10" v-for="(item, index) in eventList" :key="index" |
|||
@click="$router.push({ path: `/discusionDetail`, query: { eventId: item.eventId } })"> |
|||
<div class="flex flex-y flex1 flex-end" style="overflow: hidden;"> |
|||
<span class="van-multi-ellipsis--l2"> |
|||
{{ item.title }} |
|||
</span> |
|||
<div class="flex flex-end flex-end gray m-top10 font-size13"> |
|||
<div class="flex flex-center"> |
|||
<span>{{ item.total }} 人参与 </span> |
|||
</div> |
|||
<div class="flex flex-x"> |
|||
<div class="flex flex-center"> |
|||
<span> {{ item.data }}</span> |
|||
</div> |
|||
|
|||
</div> |
|||
|
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
<Android @send-number="handleNumber" /> |
|||
</div> |
|||
|
|||
</template> |
|||
|
|||
<script> |
|||
import { activitySignIn,activityApply,addActivityRecord,cancelSignUp1, detail, |
|||
communityActivityApplicationRecordDelete,getById,activityApplySave} from "@/api/activity" |
|||
import Share from "@/components/Share" |
|||
import registerDialog from '@/components/registerDialog'; |
|||
import { setConfig } from '@/utils/jweixin' |
|||
import { Toast, Dialog } from 'vant' |
|||
|
|||
export default { |
|||
data() { |
|||
return { |
|||
titleStyle: { |
|||
color: "#007FF1", // 自定义字体颜色 |
|||
fontSize: "16px", // 自定义字体大小 |
|||
}, |
|||
tagList:[{ |
|||
id:"1", |
|||
tagName:"标签1" |
|||
}, |
|||
{ |
|||
id:"2", |
|||
tagName:"标签1" |
|||
}, |
|||
{ |
|||
id:"3", |
|||
tagName:"标签1" |
|||
}], |
|||
eventList:[{ |
|||
title:"70岁以上高龄老人补贴发放定在1月1日", |
|||
total:1, |
|||
data:"2000-00-00 13:00:00" |
|||
}, |
|||
{ |
|||
title:"70岁以上高龄老人补贴发放定在1月1日", |
|||
total:1, |
|||
data:"2000-00-00 13:00:00" |
|||
}], |
|||
applyedTimeType:false, |
|||
ActName:"", |
|||
info: null, |
|||
signInList: [], |
|||
applyType: false, |
|||
activityId: null, |
|||
realTimeList: [], |
|||
projectList: [], |
|||
realTimeList:[], |
|||
signInList:[], |
|||
applyList:[], |
|||
activityList: [], |
|||
signUp: [ |
|||
{ name: "", mobile: "", remark: "" }, |
|||
], |
|||
info: {}, |
|||
isPast: false, |
|||
showShare: false, |
|||
showRegister: false, |
|||
phone:"" |
|||
}; |
|||
}, |
|||
created() { |
|||
|
|||
}, |
|||
async mounted() { |
|||
|
|||
setConfig(['updateAppMessageShareData', 'onMenuShareAppMessage', 'updateTimelineShareData']) |
|||
if (this.$route.query.id) { |
|||
this.activityId= this.$route.query.id |
|||
await this.detail(this.$route.query.id) |
|||
if(this.$route.query.flag === 'share'){ |
|||
await this.getById(this.$route.query.id) |
|||
} |
|||
await this.share() |
|||
this.activityApplyList() |
|||
this.activitySignIn(1) |
|||
this.activitySignIn(0) |
|||
} |
|||
}, |
|||
methods: { |
|||
toSign(e) { |
|||
console.log(e.currentTarget.dataset, "e.currentTarget.dataset "); |
|||
this.$router.push({ path: `/sing`, query: { id: this.activityId,type:e.currentTarget.dataset.type } }); |
|||
// wx.navigateTo({ |
|||
// url: `/subpages/activity/pages/sign/sign?activityId=${this.data.activityId}&type=${e.currentTarget.dataset.type}&latitude=${e.currentTarget.dataset.latitude}&longitude=${e.currentTarget.dataset.longitude}`, |
|||
// }) |
|||
}, |
|||
//取消报名 |
|||
cancelSignUp() { |
|||
Dialog.confirm({ |
|||
title: '标题', |
|||
message: '弹窗内容', |
|||
}) |
|||
.then(() => { |
|||
console.log("用户点击了确认"); |
|||
|
|||
cancelSignUp1(this.activityId).then(res => { |
|||
console.log(res, "取消报名返回结果"); |
|||
if (res.code === 0) { |
|||
this.applyType = true; // 更新报名状态 |
|||
this.$toast.success("取消报名成功"); // 提示成功信息 |
|||
} else { |
|||
this.$toast.fail(res.message || "取消报名失败"); |
|||
} |
|||
}) |
|||
}) |
|||
.catch(() => { |
|||
console.log("取消"); |
|||
}); |
|||
// Dialog.confirm({ |
|||
// title: '提示', |
|||
// message: '确定取消报名吗?', |
|||
// }) |
|||
// .then(() => { |
|||
// // 用户点击了确认 |
|||
// console.log("用户点击了确认"); |
|||
// cancelSignUp1(this.data.activityId) |
|||
// .then(res => { |
|||
// console.log(res, "取消报名返回结果"); |
|||
// if (res.code === 0) { |
|||
// this.applyType = true; // 更新报名状态 |
|||
// this.$toast.success("取消报名成功"); // 提示成功信息 |
|||
// } else { |
|||
// this.$toast.fail(res.message || "取消报名失败"); |
|||
// } |
|||
// }) |
|||
// .catch(error => { |
|||
// console.error("取消报名接口调用失败", error); |
|||
// this.$toast.fail("网络错误,请稍后重试"); |
|||
// }) |
|||
// .finally(() => { |
|||
// // 隐藏 loading 状态 |
|||
// }); |
|||
// }) |
|||
// .catch(() => { |
|||
// // 用户点击了取消 |
|||
// console.log("用户点击了取消"); |
|||
// }); |
|||
}, |
|||
//报名 |
|||
toApply() { |
|||
console.log("dsklfjklsf"); |
|||
Dialog.confirm({ |
|||
title: '提示', |
|||
message: '您确定要报名吗?', |
|||
}) |
|||
.then(() => { |
|||
activityApplySave(this.activityId).then(res => { |
|||
console.log(res,"sdflkjlsfjd"); |
|||
Dialog.alert({ |
|||
// title: '吧', |
|||
message: '报名成功', |
|||
}) |
|||
// wx.showToast({ |
|||
// title: '报名成功', |
|||
// duration: 2000, |
|||
// success: () => { |
|||
// setTimeout(() => { |
|||
// wx.navigateBack() |
|||
// }, 2000) |
|||
// } |
|||
// }) |
|||
}).catch(err => { |
|||
console.log(err); |
|||
}) |
|||
}) |
|||
.catch(() => { |
|||
// on cancel |
|||
}); |
|||
|
|||
}, |
|||
share() { |
|||
let than = this |
|||
if (wx.updateAppMessageShareData) { |
|||
wx.ready(function () { |
|||
wx.updateAppMessageShareData({ |
|||
title: than.info.activityName || '活动详情', |
|||
desc: '', |
|||
link: `https://epmet-preview.elinkservice.cn/epmet-wx-pa/#/activityDetail?id=${than.$route.query.id}&appId=${than.$store.state.app.appId}&flag=share`, |
|||
imgUrl: than.info.coverPic || 'https://elink-esua-epdc.oss-cn-qingdao.aliyuncs.com/epmet/test/20240710/617f7fb327064d89892823b81b11cd70.png', |
|||
success: function () {} |
|||
}) |
|||
wx.updateTimelineShareData({ |
|||
title: than.info.activityName, |
|||
desc: '', |
|||
link: `https://epmet-preview.elinkservice.cn/epmet-wx-pa/#/activityDetail?id=${than.$route.query.id}&appId=${than.$store.state.app.appId}`, |
|||
imgUrl: than.info.coverPic || 'https://elink-esua-epdc.oss-cn-qingdao.aliyuncs.com/epmet/test/20240710/617f7fb327064d89892823b81b11cd70.png', |
|||
success: function () {} |
|||
}) |
|||
}); |
|||
} else { |
|||
wx.onMenuShareAppMessage({ |
|||
title: than.info.activityName, |
|||
desc: '', |
|||
link: `https://epmet-preview.elinkservice.cn/epmet-wx-pa/#/activityDetail?id=${than.$route.query.id}&appId=${than.$store.state.app.appId}`, |
|||
imgUrl: than.info.coverPic || 'https://elink-esua-epdc.oss-cn-qingdao.aliyuncs.com/epmet/test/20240710/617f7fb327064d89892823b81b11cd70.png', |
|||
success: function () {} |
|||
}) |
|||
} |
|||
}, |
|||
//获取打卡信息 |
|||
activitySignIn(whether) { |
|||
let parm = { |
|||
pageNo: 1, |
|||
pageSize: 100, |
|||
activityId: this.activityId, |
|||
whether: whether |
|||
} |
|||
activitySignIn(parm).then(res => { |
|||
if (res.code === 0) { |
|||
if (whether === 1) { |
|||
this.signInList=res.data.list |
|||
|
|||
} else { |
|||
this.realTimeList=res.data.list |
|||
|
|||
|
|||
} |
|||
} |
|||
}).catch(err => { |
|||
|
|||
}) |
|||
}, |
|||
//获取报名志愿者 |
|||
activityApplyList() { |
|||
let parm = { |
|||
pageNo: 1, |
|||
pageSize: 100, |
|||
activityId: this.activityId |
|||
} |
|||
activityApply(parm).then(res => { |
|||
if (res.code === 0) { |
|||
|
|||
this.applyList=res.data.list |
|||
|
|||
} |
|||
}).catch(err => { |
|||
|
|||
}) |
|||
}, |
|||
handleNumber(value){ |
|||
console.log(value,"wl kgnsl, "); |
|||
this.phone=value |
|||
}, |
|||
checkIfPast() { |
|||
const currentTimestamp = Date.now(); |
|||
const specifiedTimestamp = new Date(this.info.cutOffTime.replace(/-/g, '/')).getTime(); |
|||
this.isPast = specifiedTimestamp < currentTimestamp; |
|||
}, |
|||
//获取信息 |
|||
async detail(id, delId) { |
|||
const handleResponse = (res) => { |
|||
if (res.code === 0) { |
|||
this.info = res.data; |
|||
this.info.signInTime=res.data.signInTime.slice(0, 16), |
|||
this.info.signOutTime=res.data.signOutTime.slice(0, 16), |
|||
console.log(this.info,"wl info"); |
|||
// this.applyType = res.data.applyed === 0 ? true : false, |
|||
this.applyedTimeType = this.isCurrentTimeBefore(res.data.deadline), |
|||
console.log(this.applyedTimeType,"sdfkjdskfl"); |
|||
|
|||
this.signOutTimeType = this.isCurrentTimeBetween(res.data.signInTime, res.data.signOutTime) |
|||
// this.info.participants = res.data.participants; |
|||
// this.info.currentParticipants = res.data.currentParticipants; |
|||
// if (res.data.recordList && res.data.recordList.length > 0) { |
|||
// this.signUp = res.data.recordList; |
|||
// } |
|||
// if (res.data.cutOffTime) { |
|||
// this.checkIfPast(); |
|||
// } |
|||
} |
|||
}; |
|||
// if (delId) { |
|||
// this.signUp = this.signUp.filter(item => item.id != delId); |
|||
// } |
|||
let res = await detail(id); |
|||
handleResponse(res); |
|||
}, |
|||
async getById(id) { |
|||
const handleResponse = (res) => { |
|||
if (res.code === 0) { |
|||
this.info = res.data; |
|||
this.info.participants = res.data.participants; |
|||
this.info.currentParticipants = res.data.currentParticipants; |
|||
if (res.data.recordList && res.data.recordList.length > 0) { |
|||
this.signUp = res.data.recordList; |
|||
} |
|||
if (res.data.cutOffTime) { |
|||
this.checkIfPast(); |
|||
} |
|||
} |
|||
}; |
|||
if (delId) { |
|||
this.signUp = this.signUp.filter(item => item.id != delId); |
|||
} |
|||
|
|||
let res = await getById(id); |
|||
handleResponse(res); |
|||
}, |
|||
handelAddResi() { |
|||
this.signUp.push({ name: "", mobile: "", remark: "", }) |
|||
}, |
|||
isCurrentTimeBetween(startTime, endTime) { |
|||
const current = new Date().getTime(); |
|||
const startTimestamp = new Date(startTime).getTime(); |
|||
const endTimestamp = new Date(endTime).getTime(); |
|||
return current >= startTimestamp && current <= endTimestamp; |
|||
}, |
|||
isCurrentTimeBefore(targetTime) { |
|||
const current = new Date().getTime(); |
|||
const targetTimestamp = new Date(targetTime).getTime(); |
|||
return current < targetTimestamp; |
|||
}, |
|||
handelDelResi(item, index) { |
|||
if (item.id) { |
|||
let than = this |
|||
communityActivityApplicationRecordDelete([item.id]).then(res => { |
|||
if (res.code === 0) { |
|||
than.detail(this.$route.query.id, item.id); |
|||
} |
|||
}).catch(err => { |
|||
console.log(err); |
|||
}) |
|||
} else { |
|||
this.signUp.splice(index, 1) |
|||
} |
|||
}, |
|||
async save() { |
|||
if (this.$store.state.app.userInfo.mobile) { |
|||
this.signUp.forEach((item) => { |
|||
item.activityId = this.info.id; |
|||
item.applicationId = this.$store.state.app.userInfo.id; |
|||
item.customerId = this.$store.state.app.userInfo.customerId; |
|||
}) |
|||
if(this.signUp.findIndex(item=>!item.name) != -1){ |
|||
this.$toast('人员姓名不能为空') |
|||
return |
|||
} |
|||
if(this.signUp.findIndex(item=>!item.mobile) != -1){ |
|||
this.$toast('联系电话不能为空') |
|||
return |
|||
} |
|||
let parm = { |
|||
formDTOList: this.signUp |
|||
} |
|||
let res = await addActivityRecord(parm) |
|||
if (res.code === 0) { |
|||
this.$toast.success(res.data) |
|||
this.signUp = [{ name: "", mobile: "", remark: "" }] |
|||
this.detail(this.$route.query.id) |
|||
} |
|||
} else { |
|||
this.showRegister = true; |
|||
} |
|||
|
|||
}, |
|||
}, |
|||
components: { Share, registerDialog }, |
|||
computed: { |
|||
disabledRecord() { |
|||
return (item) => { |
|||
if (!item.cutOffTime || item.online != 1) return true |
|||
let flag = new Date(item.cutOffTime.replace(/-/g, '/')).getTime() < Date.now() || item.currentParticipants >= item.participants || item.currentParticipants >= item.participants; |
|||
return flag || false |
|||
} |
|||
}, |
|||
}, |
|||
watch: {}, |
|||
} |
|||
</script> |
|||
|
|||
<style lang='less' scoped> |
|||
.phone{ |
|||
height: 50px; |
|||
bottom:8vh; |
|||
} |
|||
:deep img{ |
|||
max-width: 100%; |
|||
} |
|||
:deep(.p0>.van-cell) { |
|||
padding: 0; |
|||
} |
|||
|
|||
:deep(.van-cell) { |
|||
padding: 16px 8px; |
|||
} |
|||
|
|||
:deep(.van-cell__title) { |
|||
color: #666666; |
|||
display: flex; |
|||
|
|||
&>span { |
|||
flex: 1; |
|||
} |
|||
} |
|||
|
|||
:deep(.van-cell__value) { |
|||
text-align: left; |
|||
} |
|||
|
|||
:deep(.van-cell--required) { |
|||
&::before { |
|||
left: -5px; |
|||
} |
|||
} |
|||
.activity_content{ |
|||
padding-bottom: 15px; |
|||
box-sizing: border-box; |
|||
width: 100%; |
|||
border-bottom: 1px solid #EAEAEA; |
|||
margin-top: 14px; |
|||
.img{ |
|||
width: 231px; |
|||
height: 33px; |
|||
} |
|||
&:last-child{ |
|||
border-bottom: none; |
|||
} |
|||
} |
|||
/* 基础标签样式 */ |
|||
::v-deep .custom-title-class { |
|||
border: 1px solid #007FF1; /* 设置边框颜色 */ |
|||
border-radius: 16px; /* 圆角边框 */ |
|||
padding: 4px 12px; /* 内边距 */ |
|||
background-color: transparent; /* 默认背景透明 */ |
|||
color: #007FF1; /* 默认文字颜色 */ |
|||
font-size: 14px; |
|||
} |
|||
|
|||
/* 激活状态的标签样式 */ |
|||
::v-deep .van-tab--active .custom-title-class { |
|||
background-color: #e6f2ff; /* 激活背景色 */ |
|||
color: #007FF1; /* 激活文字颜色 */ |
|||
font-weight: bold; /* 加粗字体 */ |
|||
} |
|||
</style> |
Loading…
Reference in new issue