web-africa-h5/pages/user/set/index.vue

428 lines
11 KiB
Vue

<template>
<view class="pb60">
<view class="set-group" style="padding-top: 18rpx;">
<view class="d-b-c set-group-item " @click="changeAvatarUrl">
<view>{{$t('MY_ORD_78')}}</view>
<view class="d-e-c">
<view class="info-image">
<image :src="userInfo.headPath || userInfo.countryCircularIcon" mode=""></image>
</view>
<text class="icon iconfont icon-jiantou"></text>
</view>
</view>
<view class="d-b-c set-group-item">
<view>{{$t('PER_DA_2')}}</view>
<view class="d-e-c gray9" @click="changeName('nickName')">
<text class="">{{ userData.nickName }}</text>
<text class="icon iconfont icon-jiantou"></text>
</view>
</view>
</view>
<view class="set-group" style="padding-top: 10rpx;">
<view class="d-b-c set-group-item ">
<view>{{$t('MY_WAL_33')}}</view>
<view class="d-e-c gray9">
<text class="">{{ userData.memberName }}</text>
<text class="icon iconfont icon-jiantou hide"></text>
</view>
</view>
<view class="d-b-c set-group-item">
<view>{{$t('MN_T_1')}}</view>
<view class="d-e-c gray9">
<text class="">{{ userData.memberCode }}</text>
<text class="icon iconfont icon-jiantou hide"></text>
</view>
</view>
<view class="d-b-c set-group-item">
<view>{{$t('w_0052')}}</view>
<view class="d-e-c gray9">
<text class="">{{ userData.phone }}</text>
<text class="icon iconfont icon-jiantou hide"></text>
</view>
</view>
<view class="d-b-c set-group-item">
<view>{{$t('MY_WAL_36')}}</view>
<view class="d-e-c gray9">
<text class="">{{ userData.idCardAuth || '--' }}</text>
<text class="icon iconfont icon-jiantou hide"></text>
</view>
</view>
</view>
<view class="set-group" style="padding-top: 10rpx;margin-bottom: 40rpx;">
<view class="d-b-c set-group-item ">
<view>{{$t('PER_DA_3')}}</view>
<view class="d-e-c gray9">
<text class="">{{ userData.countryName }}</text>
<text class="icon iconfont icon-jiantou hide"></text>
</view>
</view>
<view class="d-b-c set-group-item">
<view>{{$t('PER_DA_4')}}</view>
<view class="d-e-c gray9">
<text class="">{{ userData.settleCountryName }}</text>
<text class="icon iconfont icon-jiantou hide"></text>
</view>
</view>
<view class="d-b-c set-group-item">
<view>{{$t('PER_DA_5')}}</view>
<view class="d-e-c gray9">
<text class="">{{ userData.registerGradeVal }}</text>
<text class="icon iconfont icon-jiantou hide"></text>
</view>
</view>
<view class="d-b-c set-group-item">
<view>{{$t('CK_KS_15')}}</view>
<view class="d-e-c gray9">
<text class="">{{ userData.settleGradeVal }}</text>
<text class="icon iconfont icon-jiantou hide"></text>
</view>
</view>
<view class="d-b-c set-group-item">
<view>{{$t('PER_DA_7')}}</view>
<view class="d-e-c gray9">
<text class="">{{ userData.agentGradeVal || '--' }}</text>
<text class="icon iconfont icon-jiantou hide"></text>
</view>
</view>
<view class="d-b-c set-group-item">
<view>{{$t('CK_KS_16')}}</view>
<view class="d-e-c gray9">
<text class="">{{ userData.awardsVal }}</text>
<text class="icon iconfont icon-jiantou hide"></text>
</view>
</view>
<view class="d-b-c set-group-item">
<view>{{$t('PER_DA_9')}}</view>
<view class="d-e-c gray9">
<text class="">{{ userInfo.registerTime }}</text>
<text class="icon iconfont icon-jiantou hide"></text>
</view>
</view>
<view class="d-b-c set-group-item">
<view>{{$t('MY_ORD_3')}}</view>
<view class="d-e-c gray9">
<text class="">{{ userData.payTime }}</text>
<text class="icon iconfont icon-jiantou hide"></text>
</view>
</view>
<view class="d-b-c set-group-item">
<view>{{$t('PER_DA_11')}}</view>
<view class="d-e-c gray9">
<text class="">{{ userData.registerAuthorityVal || '' }}</text>
<text class="icon iconfont icon-jiantou hide"></text>
</view>
</view>
<view class="d-b-c set-group-item">
<view>{{$t('PER_DA_10')}}</view>
<view class="d-e-c gray9">
<text class="">{{ formatNum(userData.consumeAchieve) }}</text>
<text class="icon iconfont icon-jiantou hide"></text>
</view>
</view>
<!-- #ifdef APP-PLUS -->
<view class="d-b-c set-group-item" @click="deleteAccount()">
<view>{{$t('w_0415')}}</view>
<view class="d-e-c gray9">
<text class="icon iconfont icon-jiantou"></text>
</view>
</view>
<!-- #endif -->
</view>
<Popup :show="isPopup" type="bottom" :width="750" :padding="0" @hidePopup="hidePopupFunc">
<form @submit="subName">
<view class="d-s-s d-c p20 mpservice-wrap">
<view class="tc f32 fb ww100">{{$t('ENU_CONTROL_TYPE_2')}}</view>
<template
v-if="type == 'mobile' || type == 'nickName' || type == 'user_name' || type == 'email' || type == 'idcard'">
<view class="pop-input d-b-c">
<!-- #ifdef MP-WEIXIN -->
<input name="newName" :type="type == 'nickName' ? 'nickname' : 'text'" class="flex-1"
:placeholder="$t('S_C_70')" :value="newName" @input="changeinput" />
<!-- #endif -->
<!-- #ifndef MP-WEIXIN -->
<input :type="type == 'text'" name="newName" class="flex-1" :placeholder="$t('S_C_70')"
:value="newName" @input="changeinput" />
<!-- #endif -->
<view class="icon-guanbi icon iconfont" @click="clearName"></view>
</view>
</template>
<view class="d-a-c ww100">
<button class="btn-gray-border" @click="hidePopupFunc">{{$t('ENU_P_TYPE0')}}</button>
<button class="theme-btn" form-type="submit">{{$t('ENU_P_TYPE4')}}</button>
</view>
</view>
</form>
</Popup>
<!-- <view class="normal-sub-btn ">保存</view> -->
<!-- 上传头像 -->
<Upload v-if="isUpload" :num="1" @getImgs="getImgsFunc"></Upload>
</view>
</template>
<script>
import Upload from '@/components/upload/uploadOne.vue';
import Popup from '@/components/uni-popup.vue';
export default {
components: {
Upload,
Popup
},
data() {
return {
userInfo: {},
userData: {},
isUpload: false,
isPopup: false,
newName: '',
type: '',
};
},
onShow() {
/*获取个人中心数据*/
this.getUserInfoData();
this.getUserData();
},
methods: {
/*获取数据*/
// 获取用户信息
getUserInfoData() {
let self = this;
self.loadding = true;
self._get('member/api/member/get-info', {}, function(res) {
if (res.code == 200) {
self.userInfo = res.data;
}
self.loadding = false;
uni.hideLoading();
});
},
// 获取用户信息
getUserData() {
let self = this;
self.loadding = true;
self._get('member/api/member/get-data', {}, function(res) {
if (res.code == 200) {
self.userData = res.data;
}
self.loadding = false;
uni.hideLoading();
});
},
gotoBind() {
this.gotoPage('/pages/user/index/index');
},
logout() {
uni.removeStorageSync('token');
uni.removeStorageSync('user_id');
this.gotoPage('/pages/user/index/index');
},
changeName(type) {
let self = this;
self.type = type;
self.newName = self.userData[type];
self.isPopup = true;
},
hidePopupFunc() {
this.newName = '';
this.isPopup = false;
},
changeinput(e) {
this.newName = e.target.value;
},
changeGender(e) {
this.newName = e.detail.value;
},
fbindDateChange(e) {
this.newName = e.detail.value;
},
clearName() {
this.newName = '';
},
subName() {
let self = this;
if (self.loading) {
return;
}
self.userData[self.type] = this.newName;
self.update();
},
/* 修改头像 */
changeAvatarUrl() {
let self = this;
self.isUpload = true;
},
/*获取上传的图片*/
getImgsFunc(e) {
let self = this;
console.log(e);
self.isUpload = false;
if (e && typeof e != 'undefined') {
let self = this;
self.userInfo.headPath = e[0].url;
// self.getUserInfoData();
}
},
deleteAccount() {
let self = this;
uni.showModal({
title: self.$t('w_0034'),
content: self.$t('w_0416'),
success: function(res) {
if (res.confirm) {
uni.showLoading({
title: 'Loading...'
})
setTimeout(function() {
uni.hideLoading();
self.showSuccess('删除成功', () => {
uni.removeStorageSync('expires_in');
uni.removeStorageSync('Admin-Token');
uni.removeStorageSync('userCode');
self.gotoPage('/pages/index/index');
});
}, 400);
}
}
})
},
update() {
let self = this;
if (self.loading) {
return;
}
uni.showLoading({
title: self.$t('MN_F_6')
});
self.loading = true;
self._putjson('member/api/member/update-data', {
nickName: self.userData.nickName
}, function(res) {
self.showSuccess(
'修改成功',
function() {
self.loading = false;
self.isPopup = false;
uni.hideLoading();
self.getData();
},
function(err) {
uni.hideLoading();
self.loading = false;
self.isPopup = false;
}
);
});
}
}
};
</script>
<style lang="scss">
.address-form .key-name {
width: 200rpx;
}
.address-form .btn-red {
height: 88rpx;
line-height: 88rpx;
border-radius: 44rpx;
box-shadow: 0 8rpx 16rpx 0 rgba(226, 35, 26, 0.6);
}
.setup-btn {
position: fixed;
bottom: 20rpx;
left: 5%;
width: 90%;
height: 80rpx;
line-height: 80rpx;
border-radius: 80rpx;
background-color: #fd3826;
color: #fff;
font-size: 30rpx;
display: flex;
justify-content: center;
margin: 0 auto;
}
.info-item.avatar {
height: 162rpx;
}
.info-image {
width: 89rpx;
height: 89rpx;
border-radius: 45rpx;
image {
width: 89rpx;
height: 89rpx;
border-radius: 45rpx;
}
}
.make-item {
height: 60rpx;
}
.btn-red.code-btn {
height: 54rpx;
line-height: 54rpx;
}
.btn-red.code-btn.issend {
background: #666666;
border: none;
color: #ffffff;
box-shadow: none;
}
.pop-input {
width: 100%;
margin: 26rpx 0;
box-sizing: border-box;
border-bottom: 2rpx solid #d9d9d9;
}
.pop-input input {
width: 100%;
padding-left: 15rpx;
font-size: 26rpx;
color: #333333;
margin: 16rpx 0;
text-align: left;
height: 60rpx;
line-height: 60rpx;
}
.pop-input .icon.icon-guanbi {
width: 38rpx;
height: 38rpx;
background-color: #999999;
color: #ffffff;
font-size: 22rpx;
display: flex;
justify-content: center;
align-items: center;
border-radius: 50%;
opacity: 0.8;
}
.sub-box {
padding: 40rpx 0;
.setup-btn {
width: 686rpx;
height: 84rpx;
background: #e03325;
border-radius: 6rpx;
line-height: 84rpx;
color: #fff;
font-size: 30rpx;
display: flex;
justify-content: center;
margin: 0 auto;
}
}
</style>