Files
crm-uni/pages/index/mine.vue
T

358 lines
8.8 KiB
Vue
Raw Normal View History

2025-03-14 16:55:12 +08:00
<template>
<view class="contents">
2025-03-21 17:57:32 +08:00
<!-- <uni-nav-bar leftText=" " :fixed="true" :border="false" @clickLeft="leftClick" color="#fff" backgroundColor="#4579ff" :statusBar="true" :title="$t('mine.title')"></uni-nav-bar> -->
<!-- <view class="navbar">{{$t('mine.title')}}</view> -->
<view class="navbar"></view>
2025-03-14 16:55:12 +08:00
<view class="content">
<view class="contop">
<view class="">
2025-03-22 16:35:45 +08:00
<image class="userimg" :src="userinfo.avatar==''||userinfo.avatar==null||userinfo.avatar=='null'?'/static/image/mine/user.png':userinfo.avatar" mode=""></image>
<!-- <image class="userimg" src="/static/image/mine/user.png" mode=""></image> -->
2025-03-14 16:55:12 +08:00
</view>
2025-03-21 17:57:32 +08:00
<view class="right">
2025-03-22 16:35:45 +08:00
<!-- <view class="right"> -->
<view class="" @click="changinfo">
<text>{{userinfo.name}}</text>
<image src="/static/image/mine/edit.png" mode=""></image>
2025-03-14 16:55:12 +08:00
</view>
2025-03-22 16:35:45 +08:00
<view class="minemp">
2025-03-23 01:15:13 +08:00
<view class="mineid">ID:{{userinfo.sn}}</view>
2025-03-22 16:35:45 +08:00
<!-- <view class="mp" @click="gomymp">{{$t('auth')}}</view> -->
2025-03-22 19:23:14 +08:00
<!-- <view v-if="!isopenid" class="mp" @click="gomyauth">{{$t('auth')}}</view> -->
2025-03-14 16:55:12 +08:00
</view>
</view>
</view>
<view class="bottomCon">
2025-03-21 17:57:32 +08:00
<!-- <view class="sonContent" @click="navTo('/pages/mine/massege')">
2025-03-14 16:55:12 +08:00
<image class="son-img-bg" src="/static/image/mine/icon1.png"></image>
2025-03-15 15:46:16 +08:00
<span>{{$t('mine.msg')}}</span>
2025-03-14 16:55:12 +08:00
<view class="">
2025-03-19 17:44:52 +08:00
<view class="badge">
2025-03-20 10:58:04 +08:00
0
2025-03-19 17:44:52 +08:00
</view>
<uni-icons type="right" class="icon" size="18"></uni-icons>
2025-03-14 16:55:12 +08:00
</view>
2025-03-21 17:57:32 +08:00
</view> -->
2025-03-22 16:35:45 +08:00
<view class="sonContent" @click="navTo('/pages/mine/resetPwd')">
2025-03-14 16:55:12 +08:00
<image class="son-img-bg" src="/static/image/mine/icon2.png"></image>
2025-03-15 15:46:16 +08:00
<span>{{$t('mine.cpassword')}}</span>
2025-03-19 17:44:52 +08:00
<uni-icons type="right" class="icon" size="18"></uni-icons>
2025-03-22 16:35:45 +08:00
</view>
2025-03-15 15:46:16 +08:00
<view class="sonContent" @click="show=true">
2025-03-14 16:55:12 +08:00
<image class="son-img-bg" src="/static/image/mine/icon3.png"></image>
2025-03-15 15:46:16 +08:00
<span>{{$t('mine.contact')}}</span>
2025-03-19 17:44:52 +08:00
<uni-icons type="right" size="18" class="icon"></uni-icons>
2025-03-14 16:55:12 +08:00
</view>
2025-03-21 17:57:32 +08:00
<!-- <view class="sonContent" @click="navTo('/pages/mine/feedback')">
2025-03-14 16:55:12 +08:00
<image class="son-img-bg" src="/static/image/mine/icon4.png"></image>
2025-03-15 15:46:16 +08:00
<span>{{$t('mine.feedback')}}</span>
2025-03-19 17:44:52 +08:00
<uni-icons type="right" class="icon" size="18"></uni-icons>
2025-03-21 17:57:32 +08:00
</view> -->
<view class="sonContent" v-if="!isopenid" @click="gomyauth">
2025-03-22 19:23:14 +08:00
<image class="son-img-bg" style="width: 30px; height: 30px;" src="/static/image/login/fenshu.png"></image>
<span>{{$t('auth')}}</span>
<uni-icons type="right" class="icon" size="18"></uni-icons>
</view>
2025-03-15 15:46:16 +08:00
<view class="sonContent" @click="navTo('/pages/mine/about')">
2025-03-14 16:55:12 +08:00
<image class="son-img-bg" src="/static/image/mine/icon5.png"></image>
2025-03-15 15:46:16 +08:00
<span>{{$t('mine.about')}}</span>
2025-03-19 17:44:52 +08:00
<uni-icons type="right" class="icon" size="18"></uni-icons>
2025-03-14 16:55:12 +08:00
</view>
2025-03-21 17:57:32 +08:00
<!-- <view class="sonContent" @click="navTo('/pages/mine/logoff')">
2025-03-14 16:55:12 +08:00
<image class="son-img-bg" src="/static/image/mine/icon6.png"></image>
2025-03-15 15:46:16 +08:00
<span>{{$t('mine.logoff')}}</span>
2025-03-19 17:44:52 +08:00
<uni-icons type="right" class="icon" size="18"></uni-icons>
2025-03-21 17:57:32 +08:00
</view> -->
2025-03-22 16:35:45 +08:00
<!-- <view class="sonContent" @click="navTo('/pages/mine/recyclebin')">
<image class="son-img-bg" src="/static/image/mine/icon8.png"></image>
<span>{{$t('mine.recyclebin')}}</span>
<uni-icons type="right" class="icon" size="18"></uni-icons>
</view> -->
2025-03-22 19:23:14 +08:00
2025-03-21 17:57:32 +08:00
<view class="sonContent" @click="logout">
2025-03-14 16:55:12 +08:00
<image class="son-img-bg" src="/static/image/mine/icon7.png"></image>
2025-03-15 15:46:16 +08:00
<span>{{$t('mine.logout')}}</span>
2025-03-19 17:44:52 +08:00
<uni-icons type="right" class="icon" size="18"></uni-icons>
2025-03-14 16:55:12 +08:00
</view>
</view>
</view>
2025-03-15 15:46:16 +08:00
<!-- 联系客服弹框 -->
<u-popup :show="show" :round="20" mode="center" @close="close">
2025-03-15 15:46:16 +08:00
<view class="popupcontent">
<image class="log1" src="/static/image/mine/kefu.png"></image>
<view class="title">{{$t('mine.kfphone')}}</view>
2025-03-21 17:57:32 +08:00
<view class="calls">18137110386</view>
<button class="btn" @click="callPhone('18137110386')">{{$t('call')}}</button>
2025-03-15 15:46:16 +08:00
</view>
<view class="upopupqx" @click="close">
<image src="/static/image/mine/chaprop.png" mode=""></image>
</view>
2025-03-15 15:46:16 +08:00
</u-popup>
2025-03-14 16:55:12 +08:00
</view>
</template>
<script>
import { request,showToast } from '@/api/apiT.js'
export default {
data() {
return {
userinfo:'',
2025-03-22 16:35:45 +08:00
show: false,
isopenid:false,
2025-03-14 16:55:12 +08:00
}
},
onLoad() {
2025-03-22 16:35:45 +08:00
// this.userinfo =JSON.parse(uni.getStorageSync('userinfo'))
2025-03-14 16:55:12 +08:00
},
onShow() {
2025-03-22 16:35:45 +08:00
this.getuserinfo()
2025-03-14 16:55:12 +08:00
},
methods: {
2025-03-22 16:35:45 +08:00
getuserinfo(){
request({
url:'user/getInfo',
method:'get',
}).then(res => {
this.userinfo = res.data.data;
if(this.userinfo.feishu_openid&&this.userinfo.feishu_openid!=null&&this.userinfo.feishu_openid!='null'&&this.userinfo.feishu_openid!=''){
this.isopenid=true
}
})
},
gomymp(){
uni.navigateTo({
url: '/pages/mine/webview'
})
},
gomyauth(){
uni.navigateTo({
url: '/pages/index/webview'
})
},
2025-03-14 16:55:12 +08:00
changinfo(){
uni.navigateTo({
url: '/pages/mine/changinfo'
});
2025-03-14 17:32:45 +08:00
},
navTo(url) {
uni.navigateTo({
url: url
});
},
2025-03-20 10:58:04 +08:00
close() {
this.show = false
},
2025-03-15 15:46:16 +08:00
// 拨打电话
callPhone(phoneNumber) {
this.show = false;
if (!phoneNumber) {
uni.showToast({
title: '请输入电话号码',
icon: 'none',
});
return;
}
uni.makePhoneCall({
phoneNumber: phoneNumber,
success: () => {
console.log('拨打电话成功');
},
fail: (err) => {
console.log('拨打电话失败', err);
},
});
},
2025-03-21 17:57:32 +08:00
//退出登录
logout(){
uni.clearStorageSync();
uni.reLaunch({
url: '/pages/login/index',// 替换为你要跳转的页面路径
});
}
2025-03-14 16:55:12 +08:00
}
}
</script>
<style lang="scss">
::v-deep .u-popup__content{
background-color: transparent !important;
}
.upopupqx{
margin-top: 20px;
text-align: center;
image{
width: 80rpx;
height: 80rpx;
}
}
2025-03-14 17:32:45 +08:00
uni-page-body {
background-color: #F6F6F6 !important;
}
2025-03-19 17:44:52 +08:00
.badge{
2025-03-20 17:35:53 +08:00
padding: 0px 7px;
/* #ifdef APP-PLUS */
padding: 2px 8px;
2025-03-19 17:44:52 +08:00
margin-right: 30px;
2025-03-20 17:35:53 +08:00
/* #endif */
2025-03-19 17:44:52 +08:00
display: inline-block;
text-align: center;
background-color: #ff3d40;
color: white;
border-radius: 50%;
2025-03-14 16:55:12 +08:00
}
.contents{
background-image: url("/static/image/mine/bg.png");
background-size: 100%;
background-repeat: no-repeat;
}
.navbar{
2025-03-21 17:57:32 +08:00
/* #ifdef APP-PLUS */
height:44px;
/* #endif */
height:30px;
2025-03-14 16:55:12 +08:00
}
.content{
2025-03-20 17:35:53 +08:00
padding:10px 15px 15px;
2025-03-14 16:55:12 +08:00
.contop{
display: flex;
align-items: center;
2025-03-21 17:57:32 +08:00
margin: 0px 0px 30px;
2025-03-14 16:55:12 +08:00
font-size: 34rpx;
color: white;
.right{
2025-03-22 16:35:45 +08:00
flex: 2;
2025-03-14 16:55:12 +08:00
margin-left: 15px;
image{
width: 32rpx;
height:32rpx;
2025-03-14 17:32:45 +08:00
margin-left: 10px;
}
view{
line-height: 30px;
}
2025-03-22 16:35:45 +08:00
.minemp{
display: flex;
align-items: center;
justify-content: space-between;
.mp{
font-size: 28rpx;
background: #fff;
color: #3471FF;
padding: 1px 15px;
border-radius: 5px 15px 15px 15px;
}
}
2025-03-14 17:32:45 +08:00
.mineid{
font-size: 24rpx;
2025-03-14 16:55:12 +08:00
}
2025-03-22 16:35:45 +08:00
2025-03-14 16:55:12 +08:00
}
}
}
.slot-image {
/* #ifndef APP-NVUE */
display: block;
/* #endif */
margin-right: 10px;
width: 20px;
height: 20px;
}
.userimg{
width: 60px;
height: 60px;
border-radius: 50%;
}
.timg{
width: 100%;
height: 220rpx;
}
.bottomCon {
color: #000;
font-weight: 400;
// padding: 0 24rpx 20rpx;
box-sizing: border-box;
// border-radius: 22rpx;
// background: #FFFFFF;
display: flex;
box-sizing: border-box;
flex-direction: column;
.sonTitle {
height: 80rpx;
line-height: 80rpx;
font-size: 36rpx;
border-bottom: 2rpx solid #F3F3F3;
}
.sonContent {
background: #FFFFFF;
border-radius: 22rpx;
position: relative;
flex: 1;
// border-bottom: 2rpx solid #F3F3F3;
display: flex;
align-items: center;
justify-content: space-between;
font-size: 28rpx;
font-weight: 500;
padding: 32rpx 28rpx;
color: #000;
margin-bottom: 10px;
2025-03-19 17:44:52 +08:00
position: relative;
2025-03-20 17:35:53 +08:00
/* #ifdef APP-PLUS */
2025-03-19 17:44:52 +08:00
.icon{
position: absolute;
right: -15px;
top: 32%;
}
2025-03-20 17:35:53 +08:00
/* #endif */
2025-03-14 16:55:12 +08:00
.son-img-bg {
2025-03-20 10:58:04 +08:00
width: 20px;
height: 20px;
2025-03-14 16:55:12 +08:00
position: absolute;
2025-03-20 10:58:04 +08:00
top: 45%;
2025-03-14 16:55:12 +08:00
margin-top: -20rpx;
2025-03-20 10:58:04 +08:00
left: 12px;
2025-03-14 16:55:12 +08:00
}
span {
margin-left: 68rpx;
font-size: 28rpx;
}
}
}
2025-03-15 15:46:16 +08:00
.popupcontent{
padding: 20px 30px;
background: linear-gradient(to bottom, #B1C8FF, #ffffff);
border-radius: 10px;
text-align: center;
color: #333333;
.title{
font-size: 32rpx;
}
.calls{
color: #3471FF;
font-size: 40rpx;
margin: 10px 0px;
}
image{
width: 360rpx;
height:360rpx;
}
.btn{
background: linear-gradient(to right, #3471FF, #6776FF);
color: white;
border-radius: 50px;
width: 100%;
margin-top: 30px;
height: 80rpx;
line-height: 80rpx;
font-size: 30rpx;
}
}
2025-03-14 16:55:12 +08:00
</style>