hz-zhhq-app/pages/user/user.vue

386 lines
9.4 KiB
Vue
Raw Normal View History

2025-01-22 10:53:47 +08:00
<template>
<view class="user">
<!-- 头部 -->
<!-- <view class="user-wrap">
<view class="info">
<image class="avatar" mode="aspectFill" :src="userInfo.wxProfile"></image>
<view class="nickname">{{ userInfo.realName }}</view>
</view>
</view> -->
<view class="com-item">
<view class="com-wrap">
<view class="cell" @click="goUserDetail()">
<view class="cell-left">
<image class="cell-icon" src="/static/images/user/yhxx.png" mode="aspectFill"></image>
<view class="cell-text">用户信息</view>
</view>
<view class="iconfont iconmore1"></view>
</view>
<!-- <view class="cell" @click="goEditPw()">
<view class="cell-left">
<image class="cell-icon" src="/static/images/user/xgmm.png" mode="aspectFill"></image>
<view class="cell-text">修改密码</view>
</view>
<view class="iconfont iconmore1"></view>
</view> -->
<view class="cell" @click="goUrlPath('/pages/tecSupport/tecSupport')">
<view class="cell-left">
<image class="cell-icon" src="/static/images/user/fwzc.png" mode="aspectFill"></image>
<view class="cell-text">服务支撑</view>
</view>
<view class="iconfont iconmore1"></view>
</view>
<view class="cell" @click="circulation()">
<view class="cell-left">
<image class="cell-icon" src="/static/images/user/wtfk.png" mode="aspectFill"></image>
<view class="cell-text">意见建议</view>
</view>
<view class="iconfont iconmore1"></view>
</view>
<!-- <view class="cell" >
<view class="cell-left">
<image class="cell-icon" src="/static/images/user/wtfk.png" mode="aspectFill"></image>
<view class="cell-text">设置</view>
</view>
<view class="iconfont iconmore1"></view>
</view> -->
</view>
</view>
<!-- <view class="com-item">
<view class="com-wrap">
<view @click="toLogOut()" style="text-align: center;border: none;border-radius: 12px;background: white;padding:30upx;font-size: 30upx;color: #4db4ea;">
退出登录
</view>
</view>
</view> -->
<!-- <view class="com-item">
<view class="com-wrap">
<view class="cell" >
<view class="cell-left">
<image class="cell-icon" src="/static/images/user/icon-help.png" mode="aspectFill"></image>
<view class="cell-text">帮助中心</view>
</view>
<view class="iconfont iconmore1"></view>
</view>
<view class="cell" >
<view class="cell-left">
<image class="cell-icon" src="/static/images/user/icon-about.png" mode="aspectFill"></image>
<view class="cell-text">版本</view>
</view>
<view class="iconfont iconmore1"></view>
</view>
</view>
</view> -->
<uni-popup ref="popup" type="center" style="">
<view style="background: white;width: 80%;height: 520upx;width: 600upx;position: relative;border-radius: 10upx;padding: 14upx;">
<view style="color: #333;font-size: 30upx;font-weight: bold;padding: 10upx 0px;">
<text>意见建议</text>
</view>
<view style="width: 100%;border: 1px solid #E5E5E5;margin-top: 20upx;padding: 20upx;height: 300upx;color: #666;border-radius: 10upx;">
<textarea style="width: 100%;height: 100%;" v-model="content" placeholder="请输入意见建议"/>
</view>
<!-- <view style="color: #333;font-size: 30upx;font-weight: bold;padding: 10upx 0px;">
<text>图片</text>
</view>
<view class="pic">
<view class="img-box">
<view class="img-item" v-for="(item, index) in imgs" :key="index">
<image class="remove-btn" @click="removeImg(index)" src="/static/icons/delete-icon.png" mode=""></image>
<image class="img" :src="item" mode=""></image>
</view>
<view class="img-item upload-btn" @click="chooseImg()" v-if="imgs.length < 2"><image class="img" src="/static/imgs/tianjia-img.png" mode=""></image></view>
</view>
</view> -->
<view class="footer-btn footer-btn-two" style="position: absolute;margin-bottom: 20upx;">
<view class="btn btn-col" style="width:40%;margin-left:7%;margin-right: 6%;border-radius: 10upx;" @click="closeCirculation()">取消</view>
<view class="btn btn-col1" style="width:40%;border-radius: 10upx" @click="submitProblem()">提交</view>
</view>
</view>
</uni-popup>
</view>
</template>
<script>
import {mapMutations} from 'vuex';
import comNav from './components/com-nav.vue'
import { iOpenidGetUserInfo, getBacklogInfo, getUserPers ,getShopMallToken,submitProblem} from '@/common/api.js';
import { callbackRequest, setStorage, getStorage, sureAlterTip, devEnv, alertTip } from '@/common/util.js';
import UniPopup from '@/components/uni-popup/uni-popup2.vue';
export default {
components: {
comNav,
UniPopup
},
data() {
return {
userInfo: getStorage("userInfo"),
currentIndex: 0,
imgs: [],
content:"",
};
},
onLoad() {
},
onShow() {
this.userInfo = getStorage("userInfo");
},
methods:{
...mapMutations(['logout']),
uploadFile(){
const dyChooseFile = uni.requireNativePlugin('K-ChooseFilesModule');
//let filters = ['txt', 'doc'];//筛选文件类型,不传此参数,默认全部
dyChooseFile.chooseFileAction({}, result => {
console.log(JSON.stringify(result));
});
},
circulation(){
this.$refs.popup.open();
//this.closeButPopup();
},
closeCirculation(){
this.$refs.popup.close()
},
goUserDetail(){
uni.navigateTo({
url: `/pages/user/c-userinfo`
});
},
goEditPw(){
uni.navigateTo({
url: `/pages/user/edit-pw`
});
},
goUrlPath(url){
uni.navigateTo({
url
});
},
goShopMall(){
let params = {
method:getShopMallToken,
data: {
mobile:this.userInfo.mobile,
realName:this.userInfo.realName,
id:this.userInfo.id,
deptName:this.userInfo.departmentName
}
}
callbackRequest(params).then(res => {
res = res.data;
if (res.returnCode == 1) {
// this.$api.msg(res.returnMsg);
var token = res.returnData;
uni.navigateTo({
url: `/pages/shopmall/shopmall?token=`+token
});
} else {
this.$api.msg(res.returnMsg);
}
});
},
submitProblem(){
let params = {
method:submitProblem,
data: {
createBy:this.userInfo.id,
content:this.content
}
}
callbackRequest(params).then(res => {
res = res.data;
if (res.returnCode == 1) {
this.closeCirculation();
alertTip(res.returnMsg);
} else {
this.$api.msg(res.returnMsg);
}
});
},
toLogOut(){
uni.showModal({
title: '确认',
content: '是否确认退出登录。',
showCancel: true,
cancelText: '取消',
confirmText: '确认',
success: res => {
if (res.confirm) {
this.logout();
uni.redirectTo({
url: '/pages/login/login'
});
} else if (res.cancel) {
}
}
});
}
}
};
</script>
<style lang="scss">
@import '@/static/css/common.scss';
page {
background: #f2f2f2;
}
.img-box {
overflow: hidden;
padding-top: 20rpx;
padding-bottom: 10rpx;
.img-item {
float: left;
width: 200upx;
height: 200upx;
border: 1px solid #ddd;
margin: 0 22rpx 20upx 0upx;
position: relative;
box-sizing: border-box;
.img {
display: block;
width: 100%;
height: 100%;
}
.remove-btn {
position: absolute;
top: -18upx;
right: -18upx;
width: 44upx;
height: 44upx;
z-index: 2;
}
}
.upload-btn {
.img {
width: 60upx;
height: 60upx;
margin: 70upx auto 0;
}
}
}
.btn-hover {
background: #f2f2f2 !important;
}
.user {
.user-wrap {
display: flex;
justify-content: center;
align-items: center;
height: 50vw;
padding: 30rpx;
z-index: 9;
border-radius: 0 0 20% 20%;
//background: url('https://handsel.oss-cn-shenzhen.aliyuncs.com/1588938371592.jpg') no-repeat;
background-image: linear-gradient(#4db4ea, #9198e5);
background-size: cover;
.setting {
color: #fff;
position: absolute;
top: 60rpx;
left: 60rpx;
font-size: 50rpx;
}
.info {
position: absolute;
text-align: center;
.avatar {
width: 150rpx;
height: 150rpx;
border-radius: 20upx;
}
.nickname {
color: #fff;
font-size: 28rpx;
}
}
}
.order-status {
padding: 0 20rpx;
margin-top: -10vw;
.status-wrap {
border-radius: 25rpx;
overflow: hidden;
.status-list {
display: flex;
justify-content: space-evenly;
align-items: center;
background: #fff;
padding-top: 30rpx;
padding-bottom: 30rpx;
.status-item {
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
.item-icon {
line-height: 1;
font-size: 65rpx;
color: #bbb;
}
.item-text {
font-size: 28rpx;
color: #666;
margin-top: 5rpx;
}
}
}
}
}
.com-item {
padding-left: 20rpx;
padding-right: 20rpx;
margin-top: 20rpx;
.com-wrap {
border-radius: 25rpx;
overflow: hidden;
}
}
.cell {
height: 80rpx;
padding-left: 20rpx;
padding-right: 20rpx;
display: flex;
justify-content: space-between;
align-items: center;
background: #fff;
border-bottom: 1px solid #f8f8f8;
&:active {
background: #f2f2f2;
}
&:last-child {
border-bottom: none !important;
}
.cell-left {
display: flex;
align-items: center;
.cell-icon {
width: 50rpx;
height: 50rpx;
}
.cell-text {
color: #666;
font-size: 28rpx;
margin-left: 20rpx;
}
}
.iconfont {
font-size: 40rpx;
color: #999;
}
}
}
</style>