jsy-app-static/pages/mine/index.vue

306 lines
7.1 KiB
Vue
Raw Normal View History

2024-09-29 11:05:04 +08:00
<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>