2024-06-03 09:37:52 +08:00
|
|
|
|
<template>
|
|
|
|
|
|
<view class="my-page">
|
|
|
|
|
|
|
|
|
|
|
|
<view class="card-common user-info">
|
|
|
|
|
|
<!-- <image-->
|
|
|
|
|
|
<!-- class="user-edit-icon"-->
|
|
|
|
|
|
<!-- @click="linkToUserInfo"-->
|
|
|
|
|
|
<!-- src="/static/ic_edit@2x.png"-->
|
|
|
|
|
|
<!-- />-->
|
|
|
|
|
|
<view class="user">
|
|
|
|
|
|
<view class="user-avatar">
|
|
|
|
|
|
<!-- <image-->
|
|
|
|
|
|
<!-- src="/static/img_person@2x.png"-->
|
|
|
|
|
|
<!-- />-->
|
|
|
|
|
|
<u-avatar :text="userInfo.NAME.slice(1)" fontSize="20" size="64" randomBgColor></u-avatar>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view class="info">
|
|
|
|
|
|
<view class="user-name">{{`${userInfo.NAME}(${userInfo.CODE})`}}</view>
|
|
|
|
|
|
<!-- <view class="user-phone">{{userInfo.PHONE}}</view> -->
|
|
|
|
|
|
<view class="dep-num">
|
2024-06-05 09:21:54 +08:00
|
|
|
|
<text class="dep-num-name" v-if="userInfo.Nav_Department">{{userInfo.Nav_Department.NAME}}</text>
|
|
|
|
|
|
<text v-if="userInfo.PHONE">{{userInfo.PHONE}}</text>
|
2024-06-03 09:37:52 +08:00
|
|
|
|
<!-- <text>|</text>
|
|
|
|
|
|
<text>工号:{{userInfo.CODE}}</text> -->
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<!-- #ifdef APP-PLUS-->
|
|
|
|
|
|
<view class="dep-num">
|
|
|
|
|
|
<text class="dep-num-name">版本:</text>
|
|
|
|
|
|
<text>{{version}}</text>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<!-- #endif-->
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view class="message">
|
|
|
|
|
|
<!-- <view class="msg">
|
|
|
|
|
|
<view class="num">10</view>
|
|
|
|
|
|
<view class="text">待办任务</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view class="msg last">
|
|
|
|
|
|
<view class="num">10</view>
|
|
|
|
|
|
<view class="text">未读消息</view>
|
|
|
|
|
|
</view> -->
|
|
|
|
|
|
<!-- <view class="msg last">
|
|
|
|
|
|
<view class="num">10</view>
|
|
|
|
|
|
<view class="text">其它任务</view>
|
|
|
|
|
|
</view> -->
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view class="menu-list">
|
|
|
|
|
|
<view class="menu-list-ab">
|
|
|
|
|
|
<view class="row" @click="linkToUserInfo">
|
|
|
|
|
|
<view class="left">
|
|
|
|
|
|
<i class="iconfont icon-bianji5" style="font-size: 20px;color: #2979ff;margin-right: 15px;"></i>
|
|
|
|
|
|
<!-- <image src="/static/ic_edit@2x.png" /> -->
|
|
|
|
|
|
<text>我的资料</text>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view class="right">
|
|
|
|
|
|
<image src="/static/ic_more@2x.png" />
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view class="row" @click="linkToFeedBack">
|
|
|
|
|
|
<view class="left">
|
|
|
|
|
|
<i class="iconfont icon-yijianfankui1" style="font-size: 20px;color: #2979ff;margin-right: 15px;"></i>
|
|
|
|
|
|
<!-- <image src="/static/icon_feedback@2x.png" /> -->
|
|
|
|
|
|
<text>意见反馈</text>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view class="right">
|
|
|
|
|
|
<image src="/static/ic_more@2x.png" />
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view class="row" @click="linkToEditPassword">
|
|
|
|
|
|
<view class="left">
|
|
|
|
|
|
<i class="iconfont icon-xiugaimima1" style="font-size: 20px;color: #2979ff;margin-right: 15px;"></i>
|
|
|
|
|
|
<!-- <image src="/static/ic_key@2x.png" /> -->
|
|
|
|
|
|
<text>修改密码</text>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view class="right">
|
|
|
|
|
|
<image src="/static/ic_more@2x.png" />
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<!-- #ifdef APP-PLUS -->
|
|
|
|
|
|
<view class="row" @click="linkToUpdate">
|
|
|
|
|
|
<view class="left">
|
|
|
|
|
|
<i class="iconfont icon-jianchagengxin" style="font-size: 20px;color: #2979ff;margin-right: 15px;"></i>
|
|
|
|
|
|
<!-- <image src="/static/ic_key@2x.png" /> -->
|
|
|
|
|
|
<text>立即更新</text>
|
|
|
|
|
|
<u-badge :isDot="true" type="error" style="margin-left: 5px;" v-if="updateNow == true"></u-badge>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view class="right">
|
|
|
|
|
|
<!-- <image src="/static/ic_more@2x.png" /> -->
|
|
|
|
|
|
<!-- <u-badge :isDot="true" type="error"></u-badge> -->
|
|
|
|
|
|
<text style="font-size: 12px;color:#909399 ;" v-if="updateNow == true">检测到有新版本!</text>
|
|
|
|
|
|
<image src="/static/ic_more@2x.png" />
|
|
|
|
|
|
<!-- <view style="width: 20px;height: 20px;background-color: #e45656;border-radius: 20px;"></view> -->
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<!-- #endif -->
|
|
|
|
|
|
<view class="row" @click="handleLogout">
|
|
|
|
|
|
<view class="left">
|
|
|
|
|
|
<i class="iconfont icon-guanji" style="font-size: 20px;color: #2979ff;margin-right: 15px;"></i>
|
|
|
|
|
|
<!-- <image src="/static/icon_logout@2x.png" /> -->
|
|
|
|
|
|
<text>退出登录</text>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<!-- <view class="right">
|
|
|
|
|
|
<image src="/static/ic_more@2x.png" />
|
|
|
|
|
|
</view> -->
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
|
import {
|
|
|
|
|
|
getTasksUpdate
|
|
|
|
|
|
} from '../.././services/app.js'
|
|
|
|
|
|
import {
|
|
|
|
|
|
initFilter
|
|
|
|
|
|
} from '../.././utils/common.js'
|
|
|
|
|
|
import config from '../.././config/common.js'
|
|
|
|
|
|
export default {
|
|
|
|
|
|
data() {
|
|
|
|
|
|
return {
|
|
|
|
|
|
version: '',
|
|
|
|
|
|
userInfo: {},
|
|
|
|
|
|
updateNow: false,
|
|
|
|
|
|
updateData: '',
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
onShow() {
|
|
|
|
|
|
const appInfoData = uni.getStorageSync('appInfo')
|
|
|
|
|
|
const {
|
|
|
|
|
|
User
|
|
|
|
|
|
} = appInfoData
|
|
|
|
|
|
this.userInfo = User
|
|
|
|
|
|
|
|
|
|
|
|
// #ifdef APP-PLUS
|
|
|
|
|
|
plus.runtime.getProperty(plus.runtime.appid, (widgetInfo) => {
|
|
|
|
|
|
// 增量版本: widgetInfo.version
|
|
|
|
|
|
// 全量版本:plus.runtime.version
|
|
|
|
|
|
this.version = widgetInfo.version
|
|
|
|
|
|
})
|
|
|
|
|
|
const orgId = uni.getStorageSync('orgId')
|
|
|
|
|
|
const json = initFilter(orgId)
|
|
|
|
|
|
getTasksUpdate(json).then(res => {
|
|
|
|
|
|
if (res.Data.AppVersion) {
|
|
|
|
|
|
if (res.Data.AppVersion.Code !== this.version) {
|
|
|
|
|
|
this.updateNow = true
|
|
|
|
|
|
this.updateData = res.Data.AppVersion
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
// #endif
|
|
|
|
|
|
},
|
|
|
|
|
|
methods: {
|
|
|
|
|
|
// #ifdef APP-PLUS
|
|
|
|
|
|
linkToUpdate() {
|
|
|
|
|
|
if (this.updateNow == false) {
|
|
|
|
|
|
uni.$showErrorInfo('当前已是最新版,暂无更新', '温馨提示')
|
|
|
|
|
|
} else {
|
|
|
|
|
|
if (this.updateData.Upgrade === 0) {
|
|
|
|
|
|
uni.showLoading({
|
|
|
|
|
|
title: "下载资源包",
|
|
|
|
|
|
mask: true,
|
|
|
|
|
|
})
|
|
|
|
|
|
uni.downloadFile({ // 下载资源包
|
|
|
|
|
|
url: config.uni_app_web_source_url +
|
|
|
|
|
|
this.updateData.Url,
|
|
|
|
|
|
success: (downloadResult) => {
|
|
|
|
|
|
uni.hideLoading()
|
|
|
|
|
|
if (downloadResult.statusCode ===
|
|
|
|
|
|
200) {
|
|
|
|
|
|
plus.runtime.install(downloadResult
|
|
|
|
|
|
.tempFilePath, { // 安装资源包
|
|
|
|
|
|
force: false
|
|
|
|
|
|
},
|
|
|
|
|
|
function() {
|
|
|
|
|
|
console.log(
|
|
|
|
|
|
'install success...'
|
|
|
|
|
|
);
|
|
|
|
|
|
plus.runtime
|
|
|
|
|
|
.restart(); // 重启APP
|
|
|
|
|
|
},
|
|
|
|
|
|
function(e) {
|
|
|
|
|
|
console.error(e,
|
|
|
|
|
|
'install fail...'
|
|
|
|
|
|
);
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
} else if (this.updateData.Upgrade === 1) {
|
|
|
|
|
|
var appurl = ''
|
|
|
|
|
|
if (plus.os.name === 'Android') {
|
|
|
|
|
|
appurl = config.uni_app_web_source_url + this.updateData
|
|
|
|
|
|
.Url;
|
|
|
|
|
|
} else {
|
|
|
|
|
|
// 其它平台
|
|
|
|
|
|
// appurl = versionInfo.pathIos;
|
|
|
|
|
|
}
|
|
|
|
|
|
plus.runtime.openURL(appurl); // 跳转应用发布平台
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
// #endif
|
|
|
|
|
|
handleLogout() {
|
|
|
|
|
|
uni.removeStorageSync('accessToken')
|
|
|
|
|
|
uni.removeStorageSync('refreshToken')
|
|
|
|
|
|
uni.removeStorageSync('orgId')
|
|
|
|
|
|
uni.removeStorageSync('Tenant')
|
|
|
|
|
|
uni.removeStorageSync('appInfo')
|
|
|
|
|
|
uni.removeStorageSync('MineType')
|
|
|
|
|
|
uni.redirectTo({
|
|
|
|
|
|
url: '/pages/login/index'
|
|
|
|
|
|
})
|
|
|
|
|
|
},
|
|
|
|
|
|
linkToEditPassword() {
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '/pages/my/subPages/editPassword'
|
|
|
|
|
|
})
|
|
|
|
|
|
},
|
|
|
|
|
|
linkToUserInfo() {
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '/pages/my/subPages/userInfo1'
|
|
|
|
|
|
})
|
|
|
|
|
|
},
|
|
|
|
|
|
linkToFeedBack() {
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '/pages/my/subPages/feedBack'
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
<style>
|
|
|
|
|
|
.my-page {
|
|
|
|
|
|
/* padding: 16px; */
|
|
|
|
|
|
background: linear-gradient(360deg, #ffffff, #77b0c8);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.card-common {
|
|
|
|
|
|
border-radius: 8px;
|
|
|
|
|
|
/* border: 1px solid rgba(72, 160, 247, 1); */
|
|
|
|
|
|
box-shadow: 0 0px 4px 0 rgba(0, 0, 0, 0.1);
|
|
|
|
|
|
margin-bottom: 16px;
|
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.user-info {
|
|
|
|
|
|
/* padding: 24px; */
|
|
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
|
position: relative;
|
|
|
|
|
|
/* background: url('../../static/restaurant.webp'); */
|
|
|
|
|
|
opacity: 0.8;
|
|
|
|
|
|
padding: 64px 34px 84px 34px;
|
|
|
|
|
|
/* padding-bottom: 84px; */
|
|
|
|
|
|
/* border-radius:0px 0px 18px 18px; */
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.user-info .user {
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
margin-bottom: 24px;
|
|
|
|
|
|
justify-content: center;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.user-info .user .info {
|
|
|
|
|
|
flex: 1;
|
|
|
|
|
|
padding-left: 18px;
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
|
justify-content: center;
|
|
|
|
|
|
/* align-items: center; */
|
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
|
color: rgba(51, 51, 51, 1);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.user-info .user .info .user-name {
|
|
|
|
|
|
font-size: 18px;
|
|
|
|
|
|
font-weight: 500;
|
|
|
|
|
|
line-height: 24px;
|
|
|
|
|
|
margin-bottom: 8px;
|
|
|
|
|
|
color: #000000;
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
/* justify-content: center; */
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.user-info .user .info .user-phone {
|
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
|
line-height: 16px;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.user-info .user .info .dep-num {
|
|
|
|
|
|
line-height: 16px;
|
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
|
color: #666;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.dep-num-name {
|
|
|
|
|
|
margin-right: 10px;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.user-info .user-edit-icon {
|
|
|
|
|
|
position: absolute;
|
|
|
|
|
|
width: 16px;
|
|
|
|
|
|
height: 16px;
|
|
|
|
|
|
top: 24px;
|
|
|
|
|
|
right: 24px;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*.user-info .user-avatar image {*/
|
|
|
|
|
|
/* width: 64px;*/
|
|
|
|
|
|
/* height: 64px;*/
|
|
|
|
|
|
/* border-radius: 50%;*/
|
|
|
|
|
|
/* overflow: hidden;*/
|
|
|
|
|
|
/*}*/
|
|
|
|
|
|
.user-info .user-avatar {
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
justify-content: center;
|
|
|
|
|
|
/* border: #fff 1px solid; */
|
|
|
|
|
|
border-radius: 64px;
|
|
|
|
|
|
height: 100%;
|
|
|
|
|
|
box-shadow: 0px 0px 10px 5px #fff;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.user-info .message {
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.user-info .message .msg {
|
|
|
|
|
|
border-right: 1px solid #C9C9C9;
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
justify-content: center;
|
|
|
|
|
|
font-size: 16px;
|
|
|
|
|
|
color: #333;
|
|
|
|
|
|
width: 50%;
|
|
|
|
|
|
font-weight: 500;
|
|
|
|
|
|
line-height: 22px;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.user-info .message .text {
|
|
|
|
|
|
font-size: 14px;
|
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
|
line-height: 20px;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.user-info .message .last {
|
|
|
|
|
|
border-right: none;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.menu-list {
|
|
|
|
|
|
padding: 34px 0;
|
|
|
|
|
|
border: none;
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
/* transform: translate(1%,0%); */
|
|
|
|
|
|
background-color: #fff;
|
|
|
|
|
|
border-radius: 40px;
|
|
|
|
|
|
position: absolute;
|
|
|
|
|
|
top: 180px;
|
|
|
|
|
|
box-shadow: 0 0 0 1 #333;
|
|
|
|
|
|
/* margin: 20px; */
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.menu-list-ab {
|
|
|
|
|
|
margin: 0px 36px;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.menu-list .row {
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
height: 20px;
|
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
font-size: 16px;
|
|
|
|
|
|
color: #333;
|
|
|
|
|
|
margin-bottom: 28px;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.menu-list .row .left {
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.menu-list .row .left image {
|
|
|
|
|
|
width: 20px;
|
|
|
|
|
|
height: 20px;
|
|
|
|
|
|
margin-right: 15px;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.menu-list .row .right image {
|
|
|
|
|
|
width: 5px;
|
|
|
|
|
|
height: 10px;
|
|
|
|
|
|
}
|
|
|
|
|
|
</style>
|