3 changed files with 79 additions and 329 deletions
@ -1,327 +0,0 @@ |
|||
<template> |
|||
<section> |
|||
|
|||
<!--工具条1--> |
|||
<!--如果有更多工具条,放开此注释 |
|||
<el-col :span="24" class="toolbar" style="padding-bottom: 0px;"> |
|||
<el-col :span="4"> |
|||
</el-col> |
|||
</el-col> |
|||
--> |
|||
|
|||
<!--编辑界面 User sys_user--> |
|||
<el-row class="padding" v-show="showPanel==='changePassword'" > |
|||
<el-form :model="passwordForm" label-width="120px" ref="passwordForm"> |
|||
<el-form-item label="" prop="headimgurl"> |
|||
<el-avatar :size="100" :src="editForm.headimgurl"></el-avatar> |
|||
</el-form-item> |
|||
<el-form-item label="原密码" prop="oldPassword" :rules="[{required:true,message:'原密码不能为空'}]"> |
|||
<el-input style="width:400px;" type="password" v-model="passwordForm.oldPassword" auto-complete="off"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="新密码" prop="newPassword" :rules="[{required:true,message:'新密码不能为空'}]"> |
|||
<el-input style="width:400px;" type="password" v-model="passwordForm.newPassword" auto-complete="off"></el-input> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button type="primary" @click.native="doChangePassword" :loading="editLoading">保存</el-button> |
|||
<el-button @click.native="showPanel='baseInfo'" :loading="editLoading">返回</el-button> |
|||
</el-form-item> |
|||
</el-form> |
|||
</el-row> |
|||
<el-row class="padding" v-show="showPanel==='baseInfo'" > |
|||
<el-form :model="editForm" label-width="120px" :rules="editFormRules" ref="editForm"> |
|||
<el-form-item label="" prop="headimgurl"> |
|||
<el-avatar :size="100" :src="editForm.headimgurl" @click="showUploadHeadimg"></el-avatar> |
|||
<br> |
|||
<el-button type="text" @click="showUploadHeadimg">更换头像</el-button> |
|||
</el-form-item> |
|||
|
|||
<el-form-item label="" v-show="false" prop="headimgurl"> |
|||
<single-shear-upload ref="uploadImg" |
|||
:img-width="100" |
|||
:img-height="100" |
|||
:show-title="true" |
|||
v-model="editForm.headimgurl" |
|||
:branch-id="userInfo.branchId" |
|||
:deptid="userInfo.deptid" |
|||
:remark="userInfo.username" |
|||
> |
|||
<span slot="title">商品高清大图</span> |
|||
</single-shear-upload> |
|||
</el-form-item> |
|||
<el-form-item label="账户性质" prop="memType"> |
|||
<el-tag v-if="editForm.memType==='0'" type="primary">个人账户</el-tag> |
|||
<el-tag type="warning" v-else-if="editForm.memType=='1'">企业管理员账户</el-tag> |
|||
<el-tag type="warning" v-else-if="editForm.memType=='2'">企业员工账户</el-tag> |
|||
<el-button v-if="editForm.memType!=='0'" type="text" icon="el-icon-setting" @click="toBranchDetail">{{editForm.branchName}}</el-button> |
|||
<el-button v-if="editForm.memType==='0'" type="text" icon="el-icon-top" @click="upgradeToBranchAccount">升级为企业账户</el-button> |
|||
</el-form-item> |
|||
<el-form-item label="用户名称" prop="username" :rules="[{required:true,message:'用户名称不能为空'}]"> |
|||
<el-input style="width:400px;" v-model="editForm.username" auto-complete="off"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="登录账号" prop="displayUserid" :rules="[{required:true,message:'登录账号不能为空'}]"> |
|||
<el-input style="width:400px;" v-model="editForm.displayUserid" auto-complete="off"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="邮箱" prop="email" :rules="[{required:true,message:'邮箱不能为空'},{validator:validateEmail}]"> |
|||
<el-input style="width:400px;" v-model="editForm.email" auto-complete="off"></el-input> |
|||
<el-button type="text" @click="registerEmail" v-if="!userInfo.email">绑定邮箱</el-button> |
|||
<el-button type="text" @click="changeEmail" v-if="userInfo.email">更换邮箱</el-button> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button @click.native="showPanel='changePassword'" :loading="editLoading">修改密码</el-button> |
|||
<el-button type="primary" @click.native="editSubmit" :loading="editLoading">保存</el-button> |
|||
<el-button @click.native="showPanel='bindMainAccount'" :loading="editLoading">绑定主账户</el-button> |
|||
</el-form-item> |
|||
</el-form> |
|||
</el-row> |
|||
|
|||
<el-row class="padding" v-show="showPanel==='bindMainAccount'" > |
|||
<el-form :model="editForm" label-width="120px" :rules="editFormRules" ref="editForm"> |
|||
<el-form-item label=""> |
|||
<font color="blue">主账号指平台统一账户,一般同一个手机号、微信号、邮箱认为是同一个账户</font> |
|||
<br> |
|||
<font color="blue">绑定主账户后,可以实现微信、app、公众号、小程序等各个应用账户互通</font> |
|||
</el-form-item> |
|||
<el-form-item label="" > |
|||
<vue-qr |
|||
ref="qrcode" |
|||
:logoSrc="logoSrc" |
|||
:text="' https://www.qingqinkj.com/miniapp?page=bindMainAccount&userid='+editForm.userid" |
|||
:size="200" |
|||
:loadMake="true"/> |
|||
<br> |
|||
<font color="blue">扫描绑定{{editForm.username}}主账号</font> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button @click.native="showPanel='baseInfo'" :loading="editLoading">返回</el-button> |
|||
</el-form-item> |
|||
</el-form> |
|||
</el-row> |
|||
|
|||
<!--新增 Branch 管理端机构表(机构下面若干部门)界面--> |
|||
<el-dialog |
|||
title="新增机构" |
|||
:visible.sync="branchAddVisible" |
|||
width="50%" |
|||
|
|||
top="20px" |
|||
:close-on-click-modal="false" |
|||
> |
|||
<branch-add |
|||
:branch="{id:userInfo.branchId,branchName:'',admUserid:userInfo.branchId,admUsername:userInfo.username,luserid:userInfo.userid,lusername:userInfo.username}" |
|||
op-type="add" |
|||
:visible="branchAddVisible" |
|||
@cancel="branchAddVisible=false" |
|||
@submit="afterAddSubmit" |
|||
></branch-add> |
|||
</el-dialog> |
|||
</section> |
|||
</template> |
|||
|
|||
<script> |
|||
import util from '@/common/js/util';//全局公共库 |
|||
import config from '@/common/config';//全局公共库 |
|||
import { editUser,changePassword } from '@/api/mdp/sys/user'; |
|||
import { sendEmail,validEmailCode } from '@/api/login'; |
|||
import { mapGetters } from 'vuex' |
|||
import SingleShearUpload from "@/components/Image/Single/Index"; |
|||
import BranchAdd from "@/views/mdp/sys/branch/BranchEdit"; |
|||
import logo1 from "@/assets/image/logo1.png" |
|||
import VueQr from 'vue-qr' |
|||
export default { |
|||
|
|||
computed: { |
|||
...mapGetters([ |
|||
'userInfo' |
|||
]) |
|||
}, |
|||
props:['user'], |
|||
watch: { |
|||
'user':function(data) { |
|||
this.editForm=data; |
|||
}, |
|||
|
|||
}, |
|||
data() { |
|||
|
|||
var validatePhoneno = (rule, value, callback) => { |
|||
if (!value) { |
|||
callback(); |
|||
} else { |
|||
if (value) { |
|||
if(value.length<11 || value.length>11){ |
|||
callback(new Error('手机号码必须11位')); |
|||
} |
|||
if(!(/^1[3456789]\d{9}$/.test(value))){ |
|||
callback(new Error('手机号码格式不正确')); |
|||
} |
|||
|
|||
} |
|||
callback(); |
|||
} |
|||
}; |
|||
|
|||
var validateEmail = (rule, value, callback) => { |
|||
if (value=='') { |
|||
callback(); |
|||
} else { |
|||
if (value !== '') { |
|||
var reg = /^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/; |
|||
if(!reg.test(value)){ |
|||
callback(new Error('邮箱格式不正确')); |
|||
} |
|||
} |
|||
callback(); |
|||
} |
|||
}; |
|||
|
|||
var validateIdCardNo = (rule, value, callback) => { |
|||
if (value === ''|| value==null) { |
|||
//callback(nPhonenoew Error('请输入密码')); |
|||
callback(); |
|||
}else { |
|||
if (value !== '' && value.length>15) { |
|||
var reg = /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/; |
|||
if(!reg.test(value)){ |
|||
callback(new Error('身份证号码格式不正确')); |
|||
}else{ |
|||
callback(); |
|||
} |
|||
}else if(value !== '' && value.length<15){ |
|||
callback(new Error('请输入15位或者18位长度身份证号码')); |
|||
}else{ |
|||
callback(); |
|||
} |
|||
|
|||
} |
|||
}; |
|||
return { |
|||
validateEmail:validateEmail, |
|||
uploadHeadimgVisible:false, |
|||
showPanel:'baseInfo',//baseInfo-基础信息,changePassword-修改密码,bindMainAccount |
|||
options:{},//下拉选择框的所有静态数据 |
|||
editLoading: false, |
|||
editFormRules: { |
|||
displayUserid: [ |
|||
{ required: true, message: '账号必填', trigger: 'blur' } |
|||
], |
|||
username: [ |
|||
{ required: true, message: '用户名称必填', trigger: 'blur' } |
|||
], |
|||
email: [ |
|||
{ validator:validateEmail, trigger: 'blur' } |
|||
] |
|||
}, |
|||
//编辑界面数据 User sys_user |
|||
editForm: { |
|||
unionid:'',displayUserid:'',userid:'',locked:'',startdate:'',nickname:'',username:'',phoneno:'',password:'',salt:'',fingerpassword1:'',fingerpassword2:'',fingerpassword3:'',fingerpassword4:'',pwdtype:'',headimgurl:'',country:'',city:'',province:'',address:'',sex:'',enddate:'',districtId:'',userid:'',userAccount:'',userPwd:'',userName:'',userDesc:'',officePhoneno:'',idCardNo:'',email:'', |
|||
memType:'', |
|||
}, |
|||
passwordForm:{ |
|||
newPassword:'',oldPassword:'' |
|||
}, |
|||
logoSrc:logo1, |
|||
branchAddVisible:false, |
|||
valiCode:'',//验证码 |
|||
} |
|||
}, |
|||
methods: { |
|||
|
|||
// 取消按钮点击 父组件监听@cancel="editFormVisible=false" 监听 |
|||
handleCancel:function(){ |
|||
this.$emit('cancel'); |
|||
}, |
|||
//编辑提交User sys_user父组件监听@submit="afterEditSubmit" |
|||
editSubmit: function () { |
|||
this.$refs.editForm.validate((valid) => { |
|||
if (valid) { |
|||
this.$confirm('确认提交吗?', '提示', {}).then(() => { |
|||
this.editLoading = true; |
|||
let params = Object.assign({}, this.editForm); |
|||
editUser(params).then((res) => { |
|||
this.editLoading = false; |
|||
var tips=res.data.tips; |
|||
if(tips.isOk){ |
|||
this.$emit('submit');// @submit="afterEditSubmit" |
|||
} |
|||
this.$message({ message: tips.msg, type: tips.isOk?'success':'error' }); |
|||
}).catch(() => { |
|||
this.editLoading = false; |
|||
}); |
|||
}); |
|||
} |
|||
}); |
|||
}, |
|||
doChangePassword(){ |
|||
this.$refs.passwordForm.validate((valid) => { |
|||
if (valid) { |
|||
changePassword({oldPassword:this.passwordForm.oldPassword,newPassword:this.passwordForm.newPassword}).then(res=>{ |
|||
var tips = res.data.tips; |
|||
this.$message({ message: tips.msg, type: tips.isOk?'success':'error' }); |
|||
}) |
|||
} |
|||
}) |
|||
|
|||
}, |
|||
showUploadHeadimg(){ |
|||
this.$refs.uploadImg.showAdd(); |
|||
}, |
|||
upgradeToBranchAccount(){ |
|||
//跳转到购买模块页面 |
|||
this.branchAddVisible=true; |
|||
}, |
|||
toBranchDetail(){ |
|||
//跳转到机构明细页面 |
|||
}, |
|||
registerEmail(){ |
|||
if(this.editForm.email){ |
|||
sendEmail({codeScene:'1',codeEmail:this.editForm.email,userType:'staff',callbackUri:'http://localhost:8015/#/updateUserInfo'}).then(res=>{ |
|||
var tips = res.data.tips; |
|||
if(tips.isOk){ |
|||
this.$message({ message: "邮件已发送,请到收件箱收取邮件,并点击其链接进行自动验证。", type: 'success' }); |
|||
}else{ |
|||
this.$message({ message: tips.msg, type: tips.isOk?'success':'error' }); |
|||
} |
|||
|
|||
}) |
|||
} |
|||
}, |
|||
changeEmail(){ |
|||
if(this.editForm.email){ |
|||
|
|||
var curlDomain=window.location.protocol+"//"+window.location.host+"/"+process.env.CONTEXT+"/"+process.env.VERSION; |
|||
sendEmail({codeScene:'2',codeEmail:this.editForm.email,userType:'staff',callbackUri:curlDomain+'/#/changeEmailStepOne'}).then(res=>{ |
|||
var tips = res.data.tips; |
|||
if(tips.isOk){ |
|||
this.$message({ message: "邮件已发送,请到收件箱收取邮件,并点击其链接进行验证原邮箱。", type: 'success' }); |
|||
}else{ |
|||
this.$message({ message: tips.msg, type: tips.isOk?'success':'error' }); |
|||
} |
|||
}) |
|||
} |
|||
}, |
|||
validEmailCode(){ |
|||
validEmailCode({valiCode:this.valiCode,userType:'staff'}).then(res=>{ |
|||
var tips = res.data.tips; |
|||
this.$message({ message: tips.msg, type: tips.isOk?'success':'error' }); |
|||
}) |
|||
}, |
|||
}, |
|||
components: { |
|||
SingleShearUpload,VueQr,BranchAdd, |
|||
}, |
|||
mounted() { |
|||
debugger; |
|||
this.editForm=Object.assign(this.editForm, this.userInfo); |
|||
var valiCode=this.$route.query.valiCode; |
|||
//var valiCode=util.getQueryStringByName('valiCode'); |
|||
if(valiCode){ |
|||
this.valiCode=valiCode; |
|||
this.validEmailCode(); |
|||
} |
|||
} |
|||
} |
|||
|
|||
</script> |
|||
|
|||
<style scoped> |
|||
</style> |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue