jsy-app/pages/mine/index.vue
2025-02-10 12:18:40 +08:00

317 lines
8.0 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<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}}
</view>
</view>
</template>
<script setup>
import {
ref
} from "vue";
import {
onShow,
} from "@dcloudio/uni-app"
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 = ref("h5");
onShow(() => {
// #ifdef APP-PLUS
plus.runtime.getProperty(plus.runtime.appid, widgetInfo => {
version.value = widgetInfo.version;
})
// #endif
})
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 {
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>