|
|
@ -8,7 +8,7 @@ |
|
|
|
<view class="ml12"> |
|
|
|
<view class="ml12"> |
|
|
|
<view class="flex ai-c fs18 cor-333 fwb"> |
|
|
|
<view class="flex ai-c fs18 cor-333 fwb"> |
|
|
|
<text class="mr10">{{ user.userName }}{{user.userId}}</text> |
|
|
|
<text class="mr10">{{ user.userName }}{{user.userId}}</text> |
|
|
|
<image src="/static/image/mine/vip.png" mode="widthFix" style="width: 18px;"></image> |
|
|
|
<image v-if="vipOn.length" src="/static/image/mine/vip.png" mode="widthFix" style="width: 18px;"></image> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="mt5 fs14 cor-666">陪您学车 第{{ user.count }}天</view> |
|
|
|
<view class="mt5 fs14 cor-666">陪您学车 第{{ user.count }}天</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
@ -26,47 +26,52 @@ |
|
|
|
<view class="p15lr" style="transform: translateY(-90px);"> |
|
|
|
<view class="p15lr" style="transform: translateY(-90px);"> |
|
|
|
<view class="relative mb10" @tap="handleVip"> |
|
|
|
<view class="relative mb10" @tap="handleVip"> |
|
|
|
<image src="/static/image/mine/vip_bg.png" mode="widthFix" style="width: 100%;"></image> |
|
|
|
<image src="/static/image/mine/vip_bg.png" mode="widthFix" style="width: 100%;"></image> |
|
|
|
<view class="absolute p15lr p10tb flex ai-c jc-sb" style="left: 0;top: 0;right: 0;height: 40px;"> |
|
|
|
<view class="absolute p15lr p10tb flex ai-c jc-sb" style="left: 0;top: 0;right: 0;height: 40px;"> |
|
|
|
<view class="flex ai-c"> |
|
|
|
<view class="flex ai-c"> |
|
|
|
<view class="p3 br-p50" style="background-color: #873E1D;"> |
|
|
|
<view class="p3 br-p50" style="background-color: #873E1D;"> |
|
|
|
<image src="/static/image/mine/vip.png" mode="widthFix" style="width: 18px;height: 15px;"></image> |
|
|
|
<image src="/static/image/mine/vip.png" mode="widthFix" style="width: 18px;height: 15px;"></image> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<text class="ml5 fs16 fwb" style="color: #7E4012FF;">VIP会员</text> |
|
|
|
<text class="ml5 fs16 fwb" style="color: #7E4012FF;">VIP会员</text> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<text class="fs12" style="color: #7E4012FF;">2024-12-12到期</text> |
|
|
|
<text v-if="vipOn.length" class="fs12" style="color: #7E4012FF;">{{expireTime}}到期</text> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="absolute flex ai-c jc-c" style="left: 0;top: 40px;right: 0;bottom: 0;"> |
|
|
|
<view class="absolute flex ai-c jc-c" style="left: 0;top: 40px;right: 0;bottom: 0;"> |
|
|
|
<view class="text-center"> |
|
|
|
<view class="text-center"> |
|
|
|
<view class="fs18 fwb" style="color: #7E4012FF;">尊享科目一二三四全部付费权益</view> |
|
|
|
<view v-if="vipOn.length" class="fs18 fwb" style="color: #7E4012FF;">{{vipText}}</view> |
|
|
|
<view class="study fs16 text-center" style="margin: 25px auto 0;color: #F6E99FFF;"> |
|
|
|
<view class="study fs16 text-center" style="margin: 25px auto 0;color: #F6E99FFF;"> |
|
|
|
马上学习 |
|
|
|
{{ vipOn.length?'马上学习':'开通会员'}} |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="br8 bc-fff p15 z-index2"> |
|
|
|
<view class="br8 bc-fff p15 z-index2"> |
|
|
|
<text class="fs16 cor-333">我的驾校</text> |
|
|
|
<text class="fs16 cor-333">我的驾校</text> |
|
|
|
<div class="mt12 flex ai-c jc-sb"> |
|
|
|
<view v-if="user.schoolId"> |
|
|
|
<text class="fs18 cor-000 fwb">合肥八一驾校</text> |
|
|
|
<div class="mt12 flex ai-c jc-sb"> |
|
|
|
<u-button text="切换驾校" shape="circle" @click="handleChangeSchool"></u-button> |
|
|
|
<text class="fs18 cor-000 fwb">{{user.schoolName}}</text> |
|
|
|
</div> |
|
|
|
<u-button text="切换驾校" shape="circle" @click="handleChangeSchool"></u-button> |
|
|
|
<u-line margin="14px 0 18px 0"></u-line> |
|
|
|
</div> |
|
|
|
<view class="flex ai-c" @tap="handleCallPhone"> |
|
|
|
<u-line margin="14px 0 18px 0"></u-line> |
|
|
|
<view class="flex ai-c jc-c phone"> |
|
|
|
<view class="flex ai-c" @tap="handleCallPhone"> |
|
|
|
<img src="/static/image/mine/phone.png" style="width: 12px;height: 12px;"> |
|
|
|
<view class="flex ai-c jc-c phone"> |
|
|
|
<text class="ml2 fs12 cor-fff">客服热线</text> |
|
|
|
<img src="/static/image/mine/phone.png" style="width: 12px;height: 12px;"> |
|
|
|
|
|
|
|
<text class="ml2 fs12 cor-fff">客服热线</text> |
|
|
|
|
|
|
|
</view> |
|
|
|
|
|
|
|
<text class="ml5 fs26 cor-333 fwb" style="line-height: 26px;">{{user.schoolPhone}}</text> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<text class="ml5 fs26 cor-333 fwb" style="line-height: 26px;">0551-12345678</text> |
|
|
|
</view> |
|
|
|
|
|
|
|
<view v-else class="pt30 pb15"> |
|
|
|
|
|
|
|
<u-button text="绑定驾校" shape="circle" @click="handleChangeSchool"></u-button> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="mt12 bc-fff br8"> |
|
|
|
<view class="mt12 bc-fff br8"> |
|
|
|
<u-cell-group> |
|
|
|
<u-cell-group> |
|
|
|
<u-cell size="large" title="我的资料" value="修改" isLink @tap="handleInfo"> |
|
|
|
<u-cell size="large" title="我的资料" isLink @tap="handleInfo"> |
|
|
|
<template #icon> |
|
|
|
<template #icon> |
|
|
|
<img src="/static/image/mine/wdzl.png" style="width: 24px;height: 24px;"> |
|
|
|
<img src="/static/image/mine/wdzl.png" style="width: 24px;height: 24px;"> |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
</u-cell> |
|
|
|
</u-cell> |
|
|
|
<u-cell size="large" title="我的体检" value="查看报告" isLink @tap="handleTJ"> |
|
|
|
<u-cell size="large" title="我的体检" isLink @tap="handleTJ"> |
|
|
|
<template #icon> |
|
|
|
<template #icon> |
|
|
|
<img src="/static/image/mine/wdtj.png" style="width: 24px;height: 24px;"> |
|
|
|
<img src="/static/image/mine/wdtj.png" style="width: 24px;height: 24px;"> |
|
|
|
</template> |
|
|
|
</template> |
|
|
@ -78,7 +83,7 @@ |
|
|
|
</u-cell> |
|
|
|
</u-cell> |
|
|
|
</u-cell-group> |
|
|
|
</u-cell-group> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="flex ai-c jc-c mt12 br8 bc-fff" style="height: 50px;" @tap="handleLogout"> |
|
|
|
<view v-if="isLogin" class="flex ai-c jc-c mt12 br8 bc-fff" style="height: 50px;" @tap="handleLogout"> |
|
|
|
<text class="fs16" style="color: #A09F9F;">退出登录</text> |
|
|
|
<text class="fs16" style="color: #A09F9F;">退出登录</text> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
@ -86,7 +91,6 @@ |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
<script> |
|
|
|
<script> |
|
|
|
import useUserStore from '@/jtools/store/user' |
|
|
|
import useUserStore from '@/jtools/store/user' |
|
|
|
import { queryVip } from '@/jtools/api/vip' |
|
|
|
|
|
|
|
export default { |
|
|
|
export default { |
|
|
|
components: {}, |
|
|
|
components: {}, |
|
|
|
computed: { |
|
|
|
computed: { |
|
|
@ -94,7 +98,36 @@ export default { |
|
|
|
return useUserStore().isLogin |
|
|
|
return useUserStore().isLogin |
|
|
|
}, |
|
|
|
}, |
|
|
|
user() { |
|
|
|
user() { |
|
|
|
return useUserStore().userInfo |
|
|
|
let userInfo = useUserStore().userInfo |
|
|
|
|
|
|
|
return { ...userInfo, count: this.dateDiff(userInfo.createTime) } |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
vipOn() { |
|
|
|
|
|
|
|
return useUserStore().vipOnList |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
expireTime() { |
|
|
|
|
|
|
|
if(this.vipOn.length) { |
|
|
|
|
|
|
|
const t = this.vipOn.reduce((pre, cur) => { |
|
|
|
|
|
|
|
if(Date.parse(pre) > Date.parse(cur.endDate)) { |
|
|
|
|
|
|
|
return cur.endDate |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
return pre |
|
|
|
|
|
|
|
}, '2099-12-31') |
|
|
|
|
|
|
|
return t.split(' ')[0] |
|
|
|
|
|
|
|
}else { |
|
|
|
|
|
|
|
return '' |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
vipText() { |
|
|
|
|
|
|
|
if(this.vipOn.length) { |
|
|
|
|
|
|
|
const t = this.vipOn.reduce((pre, cur) => { |
|
|
|
|
|
|
|
return [...pre, ...cur.subjects.split(',').map(it =>['','一','二','三','四'][it])] |
|
|
|
|
|
|
|
}, []) |
|
|
|
|
|
|
|
let val = Array.from(new Set(t)) |
|
|
|
|
|
|
|
val = val.length == 4 ? val.join('')+'全部':val.join('') |
|
|
|
|
|
|
|
return `尊享科目${val}付费权益` |
|
|
|
|
|
|
|
}else { |
|
|
|
|
|
|
|
return '' |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
}, |
|
|
|
data() { |
|
|
|
data() { |
|
|
@ -102,30 +135,36 @@ export default { |
|
|
|
}; |
|
|
|
}; |
|
|
|
}, |
|
|
|
}, |
|
|
|
onShow() { |
|
|
|
onShow() { |
|
|
|
this.searchVip() |
|
|
|
|
|
|
|
}, |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
methods: { |
|
|
|
searchVip() { |
|
|
|
|
|
|
|
queryVip().then(resp => { |
|
|
|
|
|
|
|
if(resp.code == '0000') { |
|
|
|
|
|
|
|
debugger |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
handleVip() { |
|
|
|
handleVip() { |
|
|
|
uni.navigateTo({ |
|
|
|
if(this.isLogin) { |
|
|
|
url: '/pages/me/vip' |
|
|
|
if(this.vipOn.length) { |
|
|
|
}) |
|
|
|
uni.navigateTo({ |
|
|
|
|
|
|
|
url: '/pages/me/vip' |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
uni.navigateTo({ |
|
|
|
|
|
|
|
url: '/pages/index/videoVip' |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
this.toLogin() |
|
|
|
|
|
|
|
} |
|
|
|
}, |
|
|
|
}, |
|
|
|
handleCallPhone() { |
|
|
|
handleCallPhone() { |
|
|
|
uni.makePhoneCall({ |
|
|
|
uni.makePhoneCall({ |
|
|
|
phoneNumber: '17318531354' |
|
|
|
phoneNumber: this.user.schoolPhone |
|
|
|
}) |
|
|
|
}) |
|
|
|
}, |
|
|
|
}, |
|
|
|
handleChangeSchool() { |
|
|
|
handleChangeSchool() { |
|
|
|
uni.navigateTo({ |
|
|
|
if(this.isLogin) { |
|
|
|
url: '/pages/me/school' |
|
|
|
uni.navigateTo({ |
|
|
|
}) |
|
|
|
url: '/pages/me/school' |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
this.toLogin() |
|
|
|
|
|
|
|
} |
|
|
|
}, |
|
|
|
}, |
|
|
|
handleInfo() { |
|
|
|
handleInfo() { |
|
|
|
if(this.isLogin) { |
|
|
|
if(this.isLogin) { |
|
|
@ -152,7 +191,20 @@ export default { |
|
|
|
}, |
|
|
|
}, |
|
|
|
handleLogout() { |
|
|
|
handleLogout() { |
|
|
|
useUserStore().logout() |
|
|
|
useUserStore().logout() |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
dateDiff(end){ |
|
|
|
|
|
|
|
if(!end) { |
|
|
|
|
|
|
|
return 1 |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
today = new Date(); |
|
|
|
|
|
|
|
end = new Date(end); |
|
|
|
|
|
|
|
if(end > today){ |
|
|
|
|
|
|
|
days = parseInt(Math.abs(end - today) / 1000 / 60 / 60 / 24); |
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
days = parseInt(Math.abs(end - today) / 1000 / 60 / 60 / 24); // 如果不限制对比时间和当前时间大小可以不用if |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
return days + 1; |
|
|
|
|
|
|
|
}, |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
</script> |
|
|
|
</script> |
|
|
|