You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

215 lines
5.8 KiB

<template>
<view>
<cu-custom bgColor="bg-gradual-pink" :isBack="true">
<block slot="backText">返回</block>
<block slot="content">编辑资料</block>
</cu-custom>
<form>
<view class="cu-form-group">
<view class="title">姓名</view>
<input placeholder="请输入姓名" name="input" v-model="myFormData.realname"></input>
</view>
<view class="cu-form-group">
<view class="title">用户名</view>
<input placeholder="用户名" name="input" v-model="myFormData.username" disabled></input>
</view>
<view class="cu-form-group">
<view class="title">头像</view>
<view class="grid col-4 grid-square flex-sub">
<view class="bg-img" v-for="(item,index) in imgList" :key="index" @tap="ViewImage" :data-url="imgList[index]">
<image :src="imgList[index]" mode="aspectFill"></image>
<view class="cu-tag bg-red radius" @tap.stop="DelImg" :data-index="index">
<text class='cuIcon-close'></text>
</view>
</view>
<view class="solids" @tap="ChooseImage" v-if="imgList.length<1">
<text class='cuIcon-cameraadd'></text>
</view>
</view>
</view>
<view class="cu-form-group margin-top">
<view class="title">性别</view>
<switch class='switch-sex' @change="SwitchC" :class="switchC?'checked':''" :checked="switchC?true:false"></switch>
</view>
<view class="cu-form-group margin-top">
<view class="title">手机号码</view>
<input placeholder="输入手机号码" name="input" v-model="myFormData.phone"></input>
<view class="cu-capsule radius">
<view class='cu-tag bg-blue '>
+86
</view>
<view class="cu-tag line-blue">
中国大陆
</view>
</view>
</view>
<view class="cu-form-group">
<view class="title">邮箱</view>
<input placeholder="输入邮箱" name="input" v-model="myFormData.email"></input>
</view>
<view class="padding flex flex-direction">
<button class="cu-btn bg-blue lg" @click="onSubmit"></button>
</view>
</form>
</view>
</template>
<script>
export default {
data() {
return {
index: -1,
switchC: true,
imgList: [],
uploadUrl:"/sys/common/upload",
myFormData:{
avatar:'',
realname:'',
username:'',
sex:1,
birthday:'',
orgCode:'',
workNo:'',
phone:'',
email:'',
id:'',
},
};
},
onLoad: function (option) {
console.log("this.$Route.query",this.$Route.query);
let query=this.$Route.query
if(query){
this.myFormData=query;
if(this.myFormData.sex=='女'){
this.switchC = false
}else if(this.myFormData.sex=='男'){
this.switchC = true
}
if(this.myFormData.avatar){
this.imgList=[this.myFormData.avatar]
}
if(!this.myFormData.birthday){
this.myFormData.birthday= '无'
}
if(this.myFormData.identity=='普通成员'){
this.myFormData.identity = 1
}else if(this.myFormData.identity=='上级'){
this.myFormData.identity = 2
}
if(this.myFormData.status=='正常'){
this.myFormData.status = 1
}else if(this.myFormData.status=='冻结'){
this.myFormData.status = 2
}
this.Avatar=this.myFormData.avatar
Object.keys(this.myFormData).map(key=>{
if(this.myFormData[key]=='无'){
this.myFormData[key] = ''
}
})
console.log("this.myFormData",this.myFormData)
}
},
methods: {
onSubmit() {
let myForm = this.myFormData
let checkPhone = new RegExp(/^[1]([3-9])[0-9]{9}$/);
let checkEmail = /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/;
console.log("myForm",myForm)
if(!myForm.phone || myForm.phone.length==0){
this.$tip.alert('请输入手机号');
return false
}
if(!checkPhone.test(myForm.phone)){
this.$tip.alert('请输入正确的手机号');
return false
}
if(!checkEmail.test(myForm.email)){
this.$tip.alert('请输入正确的邮箱地址');
return false
}
this.myFormData.id = this.$store.getters.userid
if(this.switchC){
this.myFormData.sex=1
}else{
this.myFormData.sex=2
}
console.log('myform',this.myFormData)
this.$tip.loading();
this.$http.put('/sys/user/appEdit',this.myFormData).then(res=>{
console.log(res)
this.$tip.loaded();
if (res.data.success){
this.$tip.toast('提交成功')
this.$Router.replace({name:'userdetail'})
/* uni.navigateTo({
url: '/pages/user/userdetail'
}) */
}
}).catch(()=>{
this.$tip.loaded();
this.$tip.error('提交失败')
});
},
DateChange(e) {
this.myFormData.birthday = e.detail.value
},
SwitchC(e) {
this.switchC = e.detail.value
},
ChooseImage() {
var that=this;
uni.chooseImage({
count: 4, //默认9
sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
sourceType: ['album'], //从相册选择
success: (res) => {
that.$http.upload(that.$config.apiUrl+that.uploadUrl, {
filePath: res.tempFilePaths[0],
name: 'file'
})
.then(res => {
that.myFormData.avatar=res.data.message;
})
.catch(err => {
that.$tip.error(err.data.message)
});
this.imgList = res.tempFilePaths
}
});
},
ViewImage(e) {
uni.previewImage({
urls: this.imgList,
current: e.currentTarget.dataset.url
});
},
DelImg(e) {
uni.showModal({
title: '召唤师',
content: '确定要删除这段回忆吗?',
cancelText: '再看看',
confirmText: '再见',
success: res => {
if (res.confirm) {
this.imgList.splice(e.currentTarget.dataset.index, 1)
}
}
})
}
}
}
</script>
<style>
.cu-form-group .title {
min-width: calc(4em + 15px);
}
</style>