225 lines
4.9 KiB
Vue
225 lines
4.9 KiB
Vue
|
<template>
|
||
|
<view class="content">
|
||
|
<!-- 设置 -->
|
||
|
<view class="head">
|
||
|
<view class="personInfo">
|
||
|
<view>登录/注册</view>
|
||
|
<view class="account">点击登录 获取更多信息</view>
|
||
|
</view>
|
||
|
<u-avatar
|
||
|
:src="baseInfo.avatar"
|
||
|
size="140"
|
||
|
mode="circle"
|
||
|
class="avatar"
|
||
|
:show-level="true"
|
||
|
level-icon="camera"
|
||
|
@click="upload_avatar"
|
||
|
></u-avatar>
|
||
|
</view>
|
||
|
|
||
|
<view class="cell-list-box">
|
||
|
<view class="cell-list-group">
|
||
|
<view
|
||
|
class="cell-list-item"
|
||
|
v-for="item in cellList"
|
||
|
@click="toPage(item.path)"
|
||
|
>
|
||
|
<view class="cell-list-item-left">
|
||
|
<image
|
||
|
style="width: 60rpx; height: 60rpx"
|
||
|
mode="aspectFit"
|
||
|
:src="item.icon"
|
||
|
></image>
|
||
|
<text>{{ item.title }}</text>
|
||
|
</view>
|
||
|
|
||
|
<view class="cell-list-item-right">
|
||
|
<u-icon name="arrow-right" color="#eeeeee" size="32"></u-icon>
|
||
|
</view>
|
||
|
</view>
|
||
|
</view>
|
||
|
</view>
|
||
|
</view>
|
||
|
</template>
|
||
|
|
||
|
<script>
|
||
|
import {
|
||
|
toast,
|
||
|
clearStorageSync,
|
||
|
setStorageSync,
|
||
|
getStorageSync,
|
||
|
useRouter,
|
||
|
} from "@/utils/utils.js";
|
||
|
|
||
|
export default {
|
||
|
data() {
|
||
|
return {
|
||
|
baseInfo: {
|
||
|
name: "",
|
||
|
phone: "",
|
||
|
avatar: "",
|
||
|
company_name: "",
|
||
|
registerDate: "",
|
||
|
login_code: "",
|
||
|
auth: 0,
|
||
|
},
|
||
|
version: "",
|
||
|
|
||
|
cellList: [
|
||
|
{
|
||
|
title: "单位信息",
|
||
|
icon: "/static/images/pos-icon.png",
|
||
|
path: "/pages/user/unitInfo/index",
|
||
|
},
|
||
|
{
|
||
|
title: "版本信息",
|
||
|
icon: "/static/images/pos-icon.png",
|
||
|
path: "/pages/user/versionInfo/index",
|
||
|
},
|
||
|
{
|
||
|
title: "注销",
|
||
|
icon: "/static/images/pos-icon.png",
|
||
|
path: "",
|
||
|
},
|
||
|
],
|
||
|
};
|
||
|
},
|
||
|
onLoad() {
|
||
|
this.getUserInfo();
|
||
|
const that = this;
|
||
|
uni.getSystemInfo({
|
||
|
success: function (res) {
|
||
|
console.log("res", res);
|
||
|
that.version = res.appVersion;
|
||
|
},
|
||
|
});
|
||
|
},
|
||
|
onShow() {
|
||
|
uni.$on("refresh", (e) => {
|
||
|
this.getUserInfo();
|
||
|
uni.$off("refresh");
|
||
|
});
|
||
|
},
|
||
|
|
||
|
// 下拉刷新
|
||
|
onPullDownRefresh() {
|
||
|
//console.log('refresh');
|
||
|
this.getUserInfo();
|
||
|
uni.stopPullDownRefresh(); //停止刷新
|
||
|
},
|
||
|
|
||
|
methods: {
|
||
|
upload_avatar() {
|
||
|
const _this = this;
|
||
|
uni.chooseImage({
|
||
|
count: 1,
|
||
|
sizeType: ["original", "compressed"], //可以指定是原图还是压缩图,默认二者都有
|
||
|
sourceType: ["album", "camera"], //从相册选择
|
||
|
success: function (res) {
|
||
|
uni.uploadFile({
|
||
|
url: _this.$api_url + "/api/index/upload_cos",
|
||
|
filePath: res.tempFilePaths[0],
|
||
|
name: "file",
|
||
|
formData: {
|
||
|
floder: "avatar",
|
||
|
},
|
||
|
success: (uploadFileRes) => {
|
||
|
//let retData = JSON.parse(uploadFileRes)
|
||
|
|
||
|
let retData = JSON.parse(uploadFileRes.data);
|
||
|
console.log("up:", retData);
|
||
|
const _data = {
|
||
|
avatar: retData.data.file,
|
||
|
};
|
||
|
_this.$api.baseInfoSave(_data).then((ret) => {
|
||
|
if (ret.code == 1) {
|
||
|
_this.baseInfo.avatar = retData.data.file;
|
||
|
} else {
|
||
|
toast(res.msg);
|
||
|
}
|
||
|
});
|
||
|
},
|
||
|
});
|
||
|
},
|
||
|
});
|
||
|
},
|
||
|
getUserInfo() {
|
||
|
this.$api.baseInfo().then((res) => {
|
||
|
//console.log(res)
|
||
|
this.baseInfo = res.data;
|
||
|
this.avatar_src = res.data.avatar;
|
||
|
});
|
||
|
},
|
||
|
|
||
|
service_center() {
|
||
|
toast("未设置跳转,请自行定义");
|
||
|
},
|
||
|
|
||
|
setting() {
|
||
|
useRouter("/pages/my/account/setting", {}, "navigateTo");
|
||
|
},
|
||
|
|
||
|
toPage(path) {
|
||
|
if (!path) return;
|
||
|
console.log("path", path);
|
||
|
|
||
|
useRouter(path, {}, "navigateTo");
|
||
|
},
|
||
|
},
|
||
|
};
|
||
|
</script>
|
||
|
|
||
|
<style lang="scss" scoped>
|
||
|
.content {
|
||
|
.head {
|
||
|
display: flex;
|
||
|
justify-content: space-between;
|
||
|
background: linear-gradient(to bottom, #e5ebfd, #ffffff);
|
||
|
min-height: 300rpx;
|
||
|
padding: 70rpx 40rpx 0;
|
||
|
|
||
|
.personInfo {
|
||
|
color: #333;
|
||
|
margin-top: 25rpx;
|
||
|
font-size: 40rpx;
|
||
|
font-weight: 600;
|
||
|
margin-left: 30rpx;
|
||
|
line-height: 50rpx;
|
||
|
.account {
|
||
|
color: #999;
|
||
|
font-size: 28rpx;
|
||
|
font-weight: normal;
|
||
|
margin-top: 10rpx;
|
||
|
}
|
||
|
}
|
||
|
.avatar {
|
||
|
margin-left: 50rpx;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
.cell-list-box {
|
||
|
padding: 0 32rpx;
|
||
|
|
||
|
.cell-list-group {
|
||
|
.cell-list-item {
|
||
|
border-bottom: 1px solid #e9eaee;
|
||
|
padding: 0 10rpx;
|
||
|
height: 120rpx;
|
||
|
display: flex;
|
||
|
justify-content: space-between;
|
||
|
align-items: center;
|
||
|
|
||
|
&-left {
|
||
|
display: flex;
|
||
|
|
||
|
text {
|
||
|
margin-left: 24rpx;
|
||
|
align-self: center;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
</style>
|