308 lines
7.9 KiB
Vue
308 lines
7.9 KiB
Vue
<template>
|
||
<custom-nav-bar :left="false" leftText="" @leftClick="" title="我的">
|
||
<template v-slot:right>
|
||
<view class="fixed">
|
||
<view align="right" class="iconfont icon-xiaoxi icon"></view>
|
||
</view>
|
||
</template>
|
||
</custom-nav-bar>
|
||
<view class="mine-container" :style="{height: `${windowHeight}px`}">
|
||
<!--顶部个人信息栏-->
|
||
<view class="header-section">
|
||
<view class="flex padding justify-between">
|
||
<view class="flex align-center">
|
||
<!-- <view v-if="!avatar" class="cu-avatar xl round bg-white">
|
||
<view class="iconfont icon-people text-gray icon"></view>
|
||
</view> -->
|
||
<image v-if="avatar" @click="toPage('avatar')" :src="avatar" class="cu-avatar xl round"
|
||
mode="widthFix">
|
||
</image>
|
||
<view @click="toPage('info')" class="user-info">
|
||
<view class="u_title">
|
||
<text>
|
||
<text style="font-size: 30rpx;">{{ user.userName }}</text>
|
||
({{user.role.roleName}})
|
||
</text>
|
||
<text>{{user.mobilePhone}}</text>
|
||
<text>{{user.company.companyName}}</text>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
|
||
<view class="content-section">
|
||
<view class="menu-list">
|
||
<view class="list-cell list-cell-arrow" v-hasPermi="['system:land:list']" @click="toPage('land')">
|
||
<view class="menu-item-box">
|
||
<view class="iconfont icon-tudidiya menu-icon"></view>
|
||
<view>地块管理</view>
|
||
</view>
|
||
</view>
|
||
<view class="list-cell list-cell-arrow" v-hasPermi="['system:user:list']" @click="toPage('user')">
|
||
<view class="menu-item-box">
|
||
<view class="iconfont icon-yonghu menu-icon"></view>
|
||
<view>用户管理</view>
|
||
</view>
|
||
</view>
|
||
<view class="list-cell list-cell-arrow" v-hasPermi="['system:irrigation_runtime:list']"
|
||
@click="toPage('wh')">
|
||
<view class="menu-item-box">
|
||
<view class="iconfont icon-lvli menu-icon"></view>
|
||
<view>灌溉履历</view>
|
||
</view>
|
||
</view>
|
||
<view class="list-cell list-cell-arrow" v-hasPermi="['iotlog:userlog:list']" @click="toPage('dl')">
|
||
<view class="menu-item-box">
|
||
<view class="iconfont icon-caozuo menu-icon"></view>
|
||
<view>操作日志</view>
|
||
</view>
|
||
</view>
|
||
<view class="list-cell list-cell-arrow" v-hasPermi="['iot:head:list']" @click="toPage('nq')">
|
||
<view class="menu-item-box">
|
||
<view class="iconfont icon-nq2 menu-icon"></view>
|
||
<view>农情</view>
|
||
</view>
|
||
</view>
|
||
<!-- <view class="list-cell list-cell-arrow">
|
||
<view class="menu-item-box">
|
||
<view class="iconfont icon-weihu menu-icon"></view>
|
||
<view>设备维护</view>
|
||
</view>
|
||
</view> -->
|
||
<view class="list-cell list-cell-arrow" v-hasPermi="['mine:dev-ops']" @click="toPage('DevOps')">
|
||
<view class="menu-item-box">
|
||
<view class="iconfont icon-yunwei menu-icon"></view>
|
||
<view>运维</view>
|
||
</view>
|
||
</view>
|
||
<view class="list-cell list-cell-arrow" v-hasPermi="['mine:retrace']" @click="toPage('retrace')">
|
||
<view class="menu-item-box">
|
||
<view class="iconfont icon-zs1 menu-icon"></view>
|
||
<view>追溯</view>
|
||
</view>
|
||
</view>
|
||
<view class="list-cell list-cell-arrow" @click="toPage('textview')">
|
||
<view class="menu-item-box">
|
||
<view class="iconfont icon-v menu-icon"></view>
|
||
<view>我的权益</view>
|
||
</view>
|
||
</view>
|
||
<!-- <view class="list-cell list-cell-arrow" @click="toPage('help')">
|
||
<view class="menu-item-box">
|
||
<view class="iconfont icon-help menu-icon"></view>
|
||
<view>常见问题</view>
|
||
</view>
|
||
</view>
|
||
<view class="list-cell list-cell-arrow" @click="toPage('about')">
|
||
<view class="menu-item-box">
|
||
<view class="iconfont icon-aixin menu-icon"></view>
|
||
<view>关于我们</view>
|
||
</view>
|
||
</view> -->
|
||
<!-- <view class="list-cell list-cell-arrow" @click="toPage('setting')">
|
||
<view class="menu-item-box">
|
||
<view class="iconfont icon-setting menu-icon"></view>
|
||
<view>应用设置</view>
|
||
</view>
|
||
</view> -->
|
||
</view>
|
||
<view class="menu-list">
|
||
<view class="list-cell list-cell-arrow" style="border-radius: 10px;" @click="toPage('setting')">
|
||
<view class="menu-item-box">
|
||
<view class="iconfont icon-shezhi menu-icon"></view>
|
||
<view>设置</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view style="position: absolute;bottom: 5px;width: 100vw;text-align: center;color: darkgray;">
|
||
版本 {{version.versionName}}
|
||
</view>
|
||
</view>
|
||
<custom-app-update ref="appUpdate" />
|
||
</template>
|
||
|
||
<script setup>
|
||
import {
|
||
ref
|
||
} from "vue";
|
||
import store from '@/store'
|
||
import storage from '@/utils/storage'
|
||
import config from '@/config.js'
|
||
const user = store.state.user.user;
|
||
const avatar = ref(store.state.user.avatar);
|
||
const windowHeight = ref(uni.getSystemInfoSync().windowHeight - 50);
|
||
const popup = ref(null);
|
||
const rolses = store.state.user.roles;
|
||
// const version = config.appInfo.version;
|
||
const version = getApp().version.oldV;
|
||
const appUpdate = ref(null)
|
||
|
||
uni.$on('refresh', () => {
|
||
avatar.value = store.state.user.avatar;
|
||
})
|
||
|
||
//页面跳转
|
||
function toPage(type) {
|
||
switch (type) {
|
||
// case "info": //用户资料
|
||
// uni.navigateTo({
|
||
// url: '/pages/mine/info/index'
|
||
// });
|
||
// break;
|
||
case "avatar": //头像
|
||
uni.navigateTo({
|
||
url: '/pages/mine/avatar/index'
|
||
});
|
||
break;
|
||
case "edit": //用户编辑
|
||
uni.navigateTo({
|
||
url: '/pages/mine/info/edit'
|
||
});
|
||
break;
|
||
case "land": //地块
|
||
uni.navigateTo({
|
||
url: '/pages/work/land/index'
|
||
});
|
||
break;
|
||
case "user": //用户管理
|
||
uni.navigateTo({
|
||
url: '/pages/work/user/index'
|
||
});
|
||
break;
|
||
case "wh": //灌溉履历
|
||
uni.navigateTo({
|
||
url: '/pages/work/watering-history/index'
|
||
});
|
||
break;
|
||
case "dl": //操作日志
|
||
uni.navigateTo({
|
||
url: '/pages/work/operation-log/index'
|
||
});
|
||
break;
|
||
case "setting": //设置
|
||
uni.navigateTo({
|
||
url: '/pages/mine/setting/index'
|
||
});
|
||
break;
|
||
case "help": //帮助
|
||
uni.navigateTo({
|
||
url: '/pages/mine/help/index'
|
||
});
|
||
break;
|
||
case "about": //关于我们
|
||
uni.navigateTo({
|
||
url: '/pages/mine/about/index'
|
||
});
|
||
break;
|
||
case "video": //视频
|
||
uni.navigateTo({
|
||
url: '/pages/mine/video/index'
|
||
});
|
||
break;
|
||
case "nq": //农情
|
||
uni.navigateTo({
|
||
url: '/pages/fourmonitor/index'
|
||
});
|
||
break;
|
||
case "DevOps": //运维
|
||
uni.navigateTo({
|
||
url: '/pages/dev-ops/index'
|
||
});
|
||
break;
|
||
case "retrace": //追溯
|
||
uni.navigateTo({
|
||
url: '/pages/retrace/index'
|
||
});
|
||
break;
|
||
case "textview": //我的权益
|
||
const title = "我的权益"
|
||
const content = store.state.user.user.role.remark;
|
||
uni.navigateTo({
|
||
url: `/pages/common/textview/index?title=${title}&content=${content}`
|
||
});
|
||
break;
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style lang="scss">
|
||
// nav
|
||
::v-deep.uni-navbar__header-container {
|
||
align-items: center;
|
||
justify-content: center;
|
||
|
||
&>view {
|
||
font-size: 34rpx;
|
||
}
|
||
}
|
||
|
||
::v-deep.uni-navbar__header-btns-right .icon {
|
||
font-size: 44rpx;
|
||
margin-left: 10px;
|
||
}
|
||
|
||
.mine-container {
|
||
width: 100%;
|
||
height: 100%;
|
||
|
||
// 个人信息
|
||
.header-section {
|
||
padding: 0px 0px 30px 0px;
|
||
background-color: #39ac4f;
|
||
color: white;
|
||
border-radius: 0 0 30px 30px;
|
||
|
||
|
||
.cu-avatar {width: 70px !important;height: 70px !important;
|
||
border: 2px solid #1cb93a;
|
||
background-color: #fff;
|
||
|
||
}
|
||
|
||
.user-info {
|
||
margin-left: 15px;
|
||
|
||
.u_title {
|
||
font-size: 24rpx;
|
||
display: flex;
|
||
flex-direction: column;
|
||
|
||
&>text {
|
||
margin-bottom: 5px;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
.content-section {
|
||
position: relative;
|
||
top: -50px;
|
||
|
||
.menu-list {
|
||
margin: 10px;
|
||
border-radius: 10px;
|
||
box-shadow: 0 1px 9px rgb(209, 209, 209, 0.5);
|
||
|
||
.list-cell:first-child {
|
||
border-radius: 10px 10px 0 0;
|
||
}
|
||
|
||
.list-cell:last-child {
|
||
border-radius: 0 0 10px 10px;
|
||
}
|
||
|
||
.list-cell {
|
||
.menu-item-box {
|
||
.menu-icon {
|
||
font-size: 40rpx;
|
||
color: #39ac4f;
|
||
}
|
||
}
|
||
}
|
||
|
||
}
|
||
}
|
||
}
|
||
</style> |