|
|
@ -2,9 +2,12 @@
|
|
|
|
<view class="my-v" v-if="loading">
|
|
|
|
<view class="my-v" v-if="loading">
|
|
|
|
<view class="u-flex user-box u-p-l-20 u-p-r-10 u-p-b-20">
|
|
|
|
<view class="u-flex user-box u-p-l-20 u-p-r-10 u-p-b-20">
|
|
|
|
<view class="u-m-r-10">
|
|
|
|
<view class="u-m-r-10">
|
|
|
|
<u-avatar size="140" @click='chooseAvatar' :src='avatarSrc'></u-avatar>
|
|
|
|
<u-avatar size="140" @click="chooseAvatar" :src="avatarSrc"></u-avatar>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
<view class="u-flex-1 f-right" @click="personalPage('/pages/my/personalData/index')">
|
|
|
|
<view
|
|
|
|
|
|
|
|
class="u-flex-1 f-right"
|
|
|
|
|
|
|
|
@click="personalPage('/pages/my/personalData/index')"
|
|
|
|
|
|
|
|
>
|
|
|
|
<view class="u-font-18 u-m-l-16">{{ baseInfo.realName }}</view>
|
|
|
|
<view class="u-font-18 u-m-l-16">{{ baseInfo.realName }}</view>
|
|
|
|
<view class="u-m-l-10 u-p-10">
|
|
|
|
<view class="u-m-l-10 u-p-10">
|
|
|
|
<u-icon name="arrow-right" color="#969799" size="28"></u-icon>
|
|
|
|
<u-icon name="arrow-right" color="#969799" size="28"></u-icon>
|
|
|
@ -12,133 +15,175 @@
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
<view class="u-m-t-20">
|
|
|
|
<view class="u-m-t-20">
|
|
|
|
<view class="" style="background-color: #fff;">
|
|
|
|
<view class="" style="background-color: #fff">
|
|
|
|
<u-cell-group style="padding: 0 20rpx;" :border="false">
|
|
|
|
<u-cell-group style="padding: 0 20rpx" :border="false">
|
|
|
|
<u-cell-item title="我的组织" @click="openPage('/pages/my/business/index','Organize')"
|
|
|
|
<u-cell-item
|
|
|
|
:title-style="titleStyle">
|
|
|
|
title="我的组织"
|
|
|
|
<text class="icon-ym icon-ym-zuzhi u-m-r-16 u-font-36" slot="icon" style="color: #303133;" />
|
|
|
|
@click="openPage('/pages/my/business/index', 'Organize')"
|
|
|
|
|
|
|
|
:title-style="titleStyle"
|
|
|
|
|
|
|
|
>
|
|
|
|
|
|
|
|
<text
|
|
|
|
|
|
|
|
class="icon-ym icon-ym-zuzhi u-m-r-16 u-font-36"
|
|
|
|
|
|
|
|
slot="icon"
|
|
|
|
|
|
|
|
style="color: #303133"
|
|
|
|
|
|
|
|
/>
|
|
|
|
</u-cell-item>
|
|
|
|
</u-cell-item>
|
|
|
|
<u-cell-item title=" 我的岗位" @click="openPage('/pages/my/business/index','Position')"
|
|
|
|
<u-cell-item
|
|
|
|
:title-style="titleStyle">
|
|
|
|
title=" 我的岗位"
|
|
|
|
<text class="icon-ym icon-ym-position1 u-m-r-16 u-font-36" slot="icon"
|
|
|
|
@click="openPage('/pages/my/business/index', 'Position')"
|
|
|
|
style="color: #303133;" />
|
|
|
|
:title-style="titleStyle"
|
|
|
|
|
|
|
|
>
|
|
|
|
|
|
|
|
<text
|
|
|
|
|
|
|
|
class="icon-ym icon-ym-position1 u-m-r-16 u-font-36"
|
|
|
|
|
|
|
|
slot="icon"
|
|
|
|
|
|
|
|
style="color: #303133"
|
|
|
|
|
|
|
|
/>
|
|
|
|
</u-cell-item>
|
|
|
|
</u-cell-item>
|
|
|
|
<u-cell-item title="我的下属" @click="openPage('/pages/my/subordinate/index')"
|
|
|
|
<u-cell-item
|
|
|
|
:title-style="titleStyle">
|
|
|
|
title="我的下属"
|
|
|
|
<text class="icon-ym icon-ym-generator-section u-m-r-16 u-font-36" slot="icon"
|
|
|
|
@click="openPage('/pages/my/subordinate/index')"
|
|
|
|
style="color: #303133;" />
|
|
|
|
:title-style="titleStyle"
|
|
|
|
|
|
|
|
>
|
|
|
|
|
|
|
|
<text
|
|
|
|
|
|
|
|
class="icon-ym icon-ym-generator-section u-m-r-16 u-font-36"
|
|
|
|
|
|
|
|
slot="icon"
|
|
|
|
|
|
|
|
style="color: #303133"
|
|
|
|
|
|
|
|
/>
|
|
|
|
</u-cell-item>
|
|
|
|
</u-cell-item>
|
|
|
|
<!-- #ifndef H5 -->
|
|
|
|
<!-- #ifndef H5 -->
|
|
|
|
<u-cell-item title="扫一扫" @click="scanCode()" :title-style="titleStyle">
|
|
|
|
<u-cell-item
|
|
|
|
<text class="icon-ym icon-ym-scanCode1 u-m-r-16 u-font-36"
|
|
|
|
title="扫一扫"
|
|
|
|
style="font-weight: bold;color: #303133;" slot="icon" />
|
|
|
|
@click="scanCode()"
|
|
|
|
|
|
|
|
:title-style="titleStyle"
|
|
|
|
|
|
|
|
>
|
|
|
|
|
|
|
|
<text
|
|
|
|
|
|
|
|
class="icon-ym icon-ym-scanCode1 u-m-r-16 u-font-36"
|
|
|
|
|
|
|
|
style="font-weight: bold; color: #303133"
|
|
|
|
|
|
|
|
slot="icon"
|
|
|
|
|
|
|
|
/>
|
|
|
|
</u-cell-item>
|
|
|
|
</u-cell-item>
|
|
|
|
<!-- #endif -->
|
|
|
|
<!-- #endif -->
|
|
|
|
<!-- #ifdef APP-PLUS -->
|
|
|
|
<!-- #ifdef APP-PLUS -->
|
|
|
|
<u-cell-item title="账号安全" @click="openPage('/pages/my/accountSecurity/index')"
|
|
|
|
<u-cell-item
|
|
|
|
:title-style="titleStyle">
|
|
|
|
title="账号安全"
|
|
|
|
<text class="icon-ym icon-ym-zhanghao u-m-r-16 u-font-36" slot="icon" style="color: #303133;" />
|
|
|
|
@click="openPage('/pages/my/accountSecurity/index')"
|
|
|
|
|
|
|
|
:title-style="titleStyle"
|
|
|
|
|
|
|
|
>
|
|
|
|
|
|
|
|
<text
|
|
|
|
|
|
|
|
class="icon-ym icon-ym-zhanghao u-m-r-16 u-font-36"
|
|
|
|
|
|
|
|
slot="icon"
|
|
|
|
|
|
|
|
style="color: #303133"
|
|
|
|
|
|
|
|
/>
|
|
|
|
</u-cell-item>
|
|
|
|
</u-cell-item>
|
|
|
|
<!-- #endif -->
|
|
|
|
<!-- #endif -->
|
|
|
|
<u-cell-item title="设置" @click="openPage('/pages/my/settings/index')" :title-style="titleStyle"
|
|
|
|
<u-cell-item
|
|
|
|
:border-bottom="false">
|
|
|
|
title="设置"
|
|
|
|
<text class="icon-ym icon-ym-shezhi u-m-r-16 u-font-36" slot="icon" style="color: #303133;" />
|
|
|
|
@click="openPage('/pages/my/settings/index')"
|
|
|
|
|
|
|
|
:title-style="titleStyle"
|
|
|
|
|
|
|
|
:border-bottom="false"
|
|
|
|
|
|
|
|
>
|
|
|
|
|
|
|
|
<text
|
|
|
|
|
|
|
|
class="icon-ym icon-ym-shezhi u-m-r-16 u-font-36"
|
|
|
|
|
|
|
|
slot="icon"
|
|
|
|
|
|
|
|
style="color: #303133"
|
|
|
|
|
|
|
|
/>
|
|
|
|
</u-cell-item>
|
|
|
|
</u-cell-item>
|
|
|
|
</u-cell-group>
|
|
|
|
</u-cell-group>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
<view class="u-p-t-20">
|
|
|
|
<view class="u-p-t-20">
|
|
|
|
<view class="logout-cell" hover-class="u-cell-hover" @click="logout">退出登录</view>
|
|
|
|
<view class="logout-cell" hover-class="u-cell-hover" @click="logout"
|
|
|
|
|
|
|
|
>退出登录</view
|
|
|
|
|
|
|
|
>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
<script>
|
|
|
|
<script>
|
|
|
|
import IndexMixin from './mixin.js'
|
|
|
|
import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
|
|
|
|
import {
|
|
|
|
import IndexMixin from "./mixin.js";
|
|
|
|
UpdateAvatar
|
|
|
|
import { UpdateAvatar } from "@/api/common";
|
|
|
|
} from '@/api/common'
|
|
|
|
import { UserSettingInfo } from "@/api/common";
|
|
|
|
import {
|
|
|
|
|
|
|
|
UserSettingInfo
|
|
|
|
|
|
|
|
} from '@/api/common'
|
|
|
|
|
|
|
|
export default {
|
|
|
|
export default {
|
|
|
|
mixins: [IndexMixin],
|
|
|
|
mixins: [IndexMixin],
|
|
|
|
data() {
|
|
|
|
data() {
|
|
|
|
return {
|
|
|
|
return {
|
|
|
|
titleStyle: {
|
|
|
|
titleStyle: {
|
|
|
|
color: '#303133'
|
|
|
|
color: "#303133",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
avatarSrc: '',
|
|
|
|
avatarSrc: "",
|
|
|
|
baseInfo: {},
|
|
|
|
baseInfo: {},
|
|
|
|
loading: false
|
|
|
|
loading: false,
|
|
|
|
}
|
|
|
|
};
|
|
|
|
},
|
|
|
|
},
|
|
|
|
computed: {
|
|
|
|
computed: {
|
|
|
|
baseURL() {
|
|
|
|
baseURL() {
|
|
|
|
return this.define.comUploadUrl
|
|
|
|
return this.define.comUploadUrl;
|
|
|
|
},
|
|
|
|
},
|
|
|
|
baseURL2() {
|
|
|
|
baseURL2() {
|
|
|
|
return this.define.baseURL
|
|
|
|
return this.define.baseURL;
|
|
|
|
},
|
|
|
|
},
|
|
|
|
token() {
|
|
|
|
token() {
|
|
|
|
return this.$store.getters.token
|
|
|
|
return this.$store.getters.token;
|
|
|
|
},
|
|
|
|
},
|
|
|
|
report() {
|
|
|
|
report() {
|
|
|
|
return this.define.report
|
|
|
|
return this.define.report;
|
|
|
|
}
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
onShow() {
|
|
|
|
onShow() {
|
|
|
|
UserSettingInfo().then(res => {
|
|
|
|
UserSettingInfo().then((res) => {
|
|
|
|
this.baseInfo = res.data || {}
|
|
|
|
this.baseInfo = res.data || {};
|
|
|
|
this.avatarSrc = this.baseURL2 + this.baseInfo.avatar
|
|
|
|
this.avatarSrc = this.baseURL2 + this.baseInfo.avatar;
|
|
|
|
this.loading = true
|
|
|
|
this.loading = true;
|
|
|
|
})
|
|
|
|
});
|
|
|
|
},
|
|
|
|
},
|
|
|
|
methods: {
|
|
|
|
methods: {
|
|
|
|
chooseAvatar() {
|
|
|
|
chooseAvatar() {
|
|
|
|
uni.chooseImage({
|
|
|
|
uni.chooseImage({
|
|
|
|
count: 1,
|
|
|
|
count: 1,
|
|
|
|
sizeType: ['original', 'compressed'],
|
|
|
|
sizeType: ["original", "compressed"],
|
|
|
|
success: (res) => {
|
|
|
|
success: (res) => {
|
|
|
|
let tempFilePaths = res.tempFilePaths[0]
|
|
|
|
let tempFilePaths = res.tempFilePaths[0];
|
|
|
|
uni.uploadFile({
|
|
|
|
uni.uploadFile({
|
|
|
|
url: this.baseURL + 'userAvatar',
|
|
|
|
url: this.baseURL + "userAvatar",
|
|
|
|
filePath: tempFilePaths,
|
|
|
|
filePath: tempFilePaths,
|
|
|
|
name: 'file',
|
|
|
|
name: "file",
|
|
|
|
header: {
|
|
|
|
header: {
|
|
|
|
'Authorization': this.token
|
|
|
|
Authorization: this.token,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
success: (uploadFileRes) => {
|
|
|
|
success: (uploadFileRes) => {
|
|
|
|
let data = JSON.parse(uploadFileRes.data)
|
|
|
|
let data = JSON.parse(uploadFileRes.data);
|
|
|
|
UpdateAvatar(data.data.name).then(res => {
|
|
|
|
UpdateAvatar(data.data.name).then((res) => {
|
|
|
|
this.$u.toast('头像更换成功')
|
|
|
|
this.$u.toast("头像更换成功");
|
|
|
|
this.avatarSrc = this.baseURL2 + data.data.url
|
|
|
|
this.avatarSrc = this.baseURL2 + data.data.url;
|
|
|
|
})
|
|
|
|
});
|
|
|
|
},
|
|
|
|
},
|
|
|
|
fail: (err) => {
|
|
|
|
fail: (err) => {
|
|
|
|
this.$u.toast('头像更换失败')
|
|
|
|
this.$u.toast("头像更换失败");
|
|
|
|
}
|
|
|
|
},
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
},
|
|
|
|
});
|
|
|
|
});
|
|
|
|
},
|
|
|
|
},
|
|
|
|
openPage(path, type) {
|
|
|
|
openPage(path, type) {
|
|
|
|
if (!path) return
|
|
|
|
if (!path) return;
|
|
|
|
let url = !!type ? path + '?majorType=' + type : path
|
|
|
|
let url = !!type ? path + "?majorType=" + type : path;
|
|
|
|
uni.navigateTo({
|
|
|
|
uni.navigateTo({
|
|
|
|
url: url
|
|
|
|
url: url,
|
|
|
|
})
|
|
|
|
});
|
|
|
|
},
|
|
|
|
},
|
|
|
|
personalPage(path) {
|
|
|
|
personalPage(path) {
|
|
|
|
if (!path) return
|
|
|
|
if (!path) return;
|
|
|
|
uni.navigateTo({
|
|
|
|
uni.navigateTo({
|
|
|
|
url: path + '?baseInfo=' + encodeURIComponent(JSON
|
|
|
|
url:
|
|
|
|
.stringify(this.baseInfo))
|
|
|
|
path +
|
|
|
|
})
|
|
|
|
"?baseInfo=" +
|
|
|
|
|
|
|
|
encodeURIComponent(JSON.stringify(this.baseInfo)),
|
|
|
|
|
|
|
|
});
|
|
|
|
},
|
|
|
|
},
|
|
|
|
isJSON(str) {
|
|
|
|
isJSON(str) {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
var obj = JSON.parse(str);
|
|
|
|
var obj = JSON.parse(str);
|
|
|
|
if (typeof obj == 'object' && obj) {
|
|
|
|
if (typeof obj == "object" && obj) {
|
|
|
|
return true;
|
|
|
|
return true;
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
return false;
|
|
|
|
return false;
|
|
|
@ -149,90 +194,94 @@
|
|
|
|
},
|
|
|
|
},
|
|
|
|
logout() {
|
|
|
|
logout() {
|
|
|
|
uni.showModal({
|
|
|
|
uni.showModal({
|
|
|
|
title: '提示',
|
|
|
|
title: "提示",
|
|
|
|
content: '确定退出当前账号吗?',
|
|
|
|
content: "确定退出当前账号吗?",
|
|
|
|
success: res => {
|
|
|
|
success: (res) => {
|
|
|
|
if (res.confirm) {
|
|
|
|
if (res.confirm) {
|
|
|
|
this.$store.dispatch('user/logout').then(() => {
|
|
|
|
this.$store.dispatch("user/logout").then(() => {
|
|
|
|
uni.closeSocket()
|
|
|
|
uni.closeSocket();
|
|
|
|
uni.reLaunch({
|
|
|
|
uni.reLaunch({
|
|
|
|
url: '/pages/login/index'
|
|
|
|
url: "/pages/login/index",
|
|
|
|
})
|
|
|
|
});
|
|
|
|
})
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
},
|
|
|
|
|
|
|
|
});
|
|
|
|
},
|
|
|
|
},
|
|
|
|
scanCode() {
|
|
|
|
scanCode() {
|
|
|
|
uni.scanCode({
|
|
|
|
uni.scanCode({
|
|
|
|
success: res => {
|
|
|
|
success: (res) => {
|
|
|
|
if (this.isJSON(res.result.trim())) {
|
|
|
|
if (this.isJSON(res.result.trim())) {
|
|
|
|
const result = JSON.parse(res.result.trim())
|
|
|
|
const result = JSON.parse(res.result.trim());
|
|
|
|
if (result.t === 'ADP') {
|
|
|
|
if (result.t === "ADP") {
|
|
|
|
let config = {
|
|
|
|
let config = {
|
|
|
|
isPreview: 1,
|
|
|
|
isPreview: 1,
|
|
|
|
moduleId: result.id,
|
|
|
|
moduleId: result.id,
|
|
|
|
previewType: result.previewType
|
|
|
|
previewType: result.previewType,
|
|
|
|
}
|
|
|
|
};
|
|
|
|
uni.navigateTo({
|
|
|
|
uni.navigateTo({
|
|
|
|
url: '/pages/apply/dynamicModel/index?config=' + this.base64
|
|
|
|
url:
|
|
|
|
.encode(JSON.stringify(config), "UTF-8"),
|
|
|
|
"/pages/apply/dynamicModel/index?config=" +
|
|
|
|
|
|
|
|
this.base64.encode(JSON.stringify(config), "UTF-8"),
|
|
|
|
fail: (err) => {
|
|
|
|
fail: (err) => {
|
|
|
|
this.$u.toast("暂无此页面")
|
|
|
|
this.$u.toast("暂无此页面");
|
|
|
|
}
|
|
|
|
},
|
|
|
|
})
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (result.t === 'DFD') {
|
|
|
|
if (result.t === "DFD") {
|
|
|
|
uni.navigateTo({
|
|
|
|
uni.navigateTo({
|
|
|
|
url: '/pages/apply/dynamicModel/scanForm?config=' + JSON.stringify(
|
|
|
|
url:
|
|
|
|
result),
|
|
|
|
"/pages/apply/dynamicModel/scanForm?config=" +
|
|
|
|
|
|
|
|
JSON.stringify(result),
|
|
|
|
fail: (err) => {
|
|
|
|
fail: (err) => {
|
|
|
|
this.$u.toast("暂无此页面")
|
|
|
|
this.$u.toast("暂无此页面");
|
|
|
|
}
|
|
|
|
},
|
|
|
|
})
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (result.t === 'WFP') {
|
|
|
|
if (result.t === "WFP") {
|
|
|
|
uni.navigateTo({
|
|
|
|
uni.navigateTo({
|
|
|
|
url: '/pages/workFlow/scanForm/index?config=' + JSON.stringify(
|
|
|
|
url:
|
|
|
|
result),
|
|
|
|
"/pages/workFlow/scanForm/index?config=" +
|
|
|
|
|
|
|
|
JSON.stringify(result),
|
|
|
|
fail: (err) => {
|
|
|
|
fail: (err) => {
|
|
|
|
this.$u.toast("暂无")
|
|
|
|
this.$u.toast("暂无");
|
|
|
|
}
|
|
|
|
},
|
|
|
|
})
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (result.t === 'report') {
|
|
|
|
if (result.t === "report") {
|
|
|
|
let url =
|
|
|
|
let url = `${this.report}/preview.html?id=${result.id}&token=${this.token}&page=1&from=menu`;
|
|
|
|
`${this.report}/preview.html?id=${result.id}&token=${this.token}&page=1&from=menu`
|
|
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
uni.navigateTo({
|
|
|
|
url: '/pages/apply/externalLink/index?url=' +
|
|
|
|
url:
|
|
|
|
encodeURIComponent(
|
|
|
|
"/pages/apply/externalLink/index?url=" +
|
|
|
|
url) + '&fullName= ' + result.fullName,
|
|
|
|
encodeURIComponent(url) +
|
|
|
|
|
|
|
|
"&fullName= " +
|
|
|
|
|
|
|
|
result.fullName,
|
|
|
|
fail: (err) => {
|
|
|
|
fail: (err) => {
|
|
|
|
this.$u.toast("暂无")
|
|
|
|
this.$u.toast("暂无");
|
|
|
|
}
|
|
|
|
},
|
|
|
|
})
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (result.t === 'portal') {
|
|
|
|
if (result.t === "portal") {
|
|
|
|
uni.navigateTo({
|
|
|
|
uni.navigateTo({
|
|
|
|
url: '/pages/index/scanProtal?id=' + result.id,
|
|
|
|
url: "/pages/index/scanProtal?id=" + result.id,
|
|
|
|
fail: (err) => {
|
|
|
|
fail: (err) => {
|
|
|
|
this.$u.toast("暂无")
|
|
|
|
this.$u.toast("暂无");
|
|
|
|
}
|
|
|
|
},
|
|
|
|
})
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
uni.navigateTo({
|
|
|
|
uni.navigateTo({
|
|
|
|
url: '/pages/my/scanResult/index?result=' + res.result,
|
|
|
|
url: "/pages/my/scanResult/index?result=" + res.result,
|
|
|
|
fail: (err) => {
|
|
|
|
fail: (err) => {
|
|
|
|
this.$u.toast("暂无此页面")
|
|
|
|
this.$u.toast("暂无此页面");
|
|
|
|
}
|
|
|
|
},
|
|
|
|
})
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
};
|
|
|
|
</script>
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
<style lang="scss">
|
|
|
|
<style lang="scss">
|
|
|
|