jsy-app/pages/mine/index.vue
2024-09-20 18:16:54 +08:00

306 lines
7.1 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>
<uni-nav-bar :statusBar="true" :fixed="true" backgroundColor="#39ac4f" :border="false" color="#fff">
<block v-slot:left>
</block>
<view>我的</view>
<block v-slot:right>
<view class="fixed">
<view align="right" class="iconfont icon-xiaoxi icon"></view>
</view>
</block>
</uni-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="handleToAvatar" :src="avatar" class="cu-avatar xl round"
mode="widthFix">
</image>
<!-- <view v-if="!name" @click="handleToLogin" class="login-tip">
点击登录
</view> -->
<view v-if="name" @click="handleToInfo" class="user-info">
<view class="u_title">
<text><text style="font-size: 30rpx;">系统管理员</text>(系统管理员)</text>
<text>15232658595</text>
<text>浙江及时雨智能灌溉设备有限责任公司</text>
</view>
</view>
</view>
<!-- <view @click="handleToInfo" class="flex align-center">
<text>个人信息</text>
<view class="iconfont icon-right"></view>
</view> -->
</view>
</view>
<view class="content-section">
<view class="menu-list">
<view class="list-cell list-cell-arrow">
<view class="menu-item-box">
<view class="iconfont icon-tudidiya menu-icon"></view>
<view>地块管理</view>
</view>
</view>
<view class="list-cell list-cell-arrow">
<view class="menu-item-box">
<view class="iconfont icon-yonghu menu-icon"></view>
<view>用户管理</view>
</view>
</view>
<view class="list-cell list-cell-arrow">
<view class="menu-item-box">
<view class="iconfont icon-lvli menu-icon"></view>
<view>灌溉履历</view>
</view>
</view>
<view class="list-cell list-cell-arrow">
<view class="menu-item-box">
<view class="iconfont icon-caozuo 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">
<view class="menu-item-box">
<view class="iconfont icon-yunwei menu-icon"></view>
<view>运维</view>
</view>
</view>
<view class="list-cell list-cell-arrow">
<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="handleToEditInfo">
<view class="menu-item-box">
<view class="iconfont icon-user menu-icon"></view>
<view>编辑资料</view>
</view>
</view>
<view class="list-cell list-cell-arrow" @click="handleHelp">
<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="handleAbout">
<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="handleToSetting">
<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;">
<view class="menu-item-box">
<view class="iconfont icon-shezhi menu-icon"></view>
<view>设置</view>
</view>
</view>
</view>
</view>
</view>
<!-- <view>
<uni-popup ref="popup" type="dialog">
<uni-popup-dialog type="info" cancelText="关闭" confirmText="退出" title="通知" content="确定注销并退出系统吗"
@confirm="dialogConfirm" @close="dialogClose">
</uni-popup-dialog>
</uni-popup>
</view> -->
</template>
<script setup>
import storage from '@/utils/storage'
import store from '@/store'
import {
ref
} from "vue";
import config from '@/config.js'
const name = store.state.user.name;
const version = config.appInfo.version;
const avatar = ref(store.state.user.avatar);
const windowHeight = ref(uni.getSystemInfoSync().windowHeight - 50);
const popup = ref(null);
uni.$on('refresh', () => {
avatar.value = store.state.user.avatar;
})
function handleToInfo() {
uni.navigateTo({
url: '/pages/mine/info/index'
});
};
function handleToEditInfo() {
uni.navigateTo({
url: '/pages/mine/info/edit'
});
};
function handleToSetting() {
uni.navigateTo({
url: '/pages/mine/setting/index'
});
};
function handleToLogin() {
uni.reLaunch({
url: '/pages/login'
});
};
function handleToAvatar() {
uni.navigateTo({
url: '/pages/mine/avatar/index'
});
};
function handleLogout() {
popup.value.open();
};
function dialogConfirm() {
//console.log('----------------点击确认------------')
store.dispatch('LogOut').then(() => {
uni.reLaunch({
url: '/pages/login'
});
})
};
function dialogClose() {
//console.log('点击关闭')
};
function handleHelp() {
uni.navigateTo({
url: '/pages/mine/help/index'
});
};
function handleAbout() {
uni.navigateTo({
url: '/pages/mine/about/index'
});
};
function handleJiaoLiuQun() {
uni.showToast({
title: 'QQ群133713780',
mask: false,
icon: "none",
duration: 1000
});
};
function handleBuilding() {
uni.showToast({
title: '模块建设中~',
mask: false,
icon: "none",
duration: 1000
});
}
</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 15px 30px 30px;
background-color: #39ac4f;
color: white;
border-radius: 0 0 30px 30px;
// .login-tip {
// font-size: 18px;
// margin-left: 10px;
// }
.cu-avatar {
border: 2px solid #eaeaea;
// .icon {
// font-size: 40px;
// }
}
.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>