diff --git a/src/api/branch.js b/src/api/branch.js
index f9da89cb..811f65cc 100644
--- a/src/api/branch.js
+++ b/src/api/branch.js
@@ -9,11 +9,11 @@ let base=config.getSysBasePath();
*1 默认只开放普通查询,所有查询,只要上传 分页参数 {currentPage:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉,
*2 查询、新增、修改的参数格式 params={id:'机构编号 主键',branchName:'机构名称',enabled:'是否可用',industryCategory:'行业分类',cuserid:'创建人编号',cdate:'创建日期',cusername:'创建人姓名',phoneNo:'联系电话',emaill:'邮件'}
**/
-
-//普通查询 条件之间and关系
+
+//普通查询 条件之间and关系
export const listBranchNoAuth = params => { return axios.get(`${base}/mdp/sys/branch/listBranchNoAuth`, { params: params }); };
-//模糊查询管理端机构表(机构下面若干部门) 条件之间or关系
+//模糊查询管理端机构表(机构下面若干部门) 条件之间or关系
//export const listBranchKey = params => { return axios.get(`${base}/mdp/sys/branch/listKey`, { params: params }); };
//删除一条管理端机构表(机构下面若干部门) params={id:'机构编号 主键'}
@@ -30,4 +30,4 @@ export const addBranchNoAuth = params => { return axios.post(`${base}/mdp/sys/br
//新增一条企业入驻审核流程
-export const addUserJoinBranchRequire = params => { return axios.post(`${base}/mdp/sys/userJoinBranchRequire/add`, params); };
\ No newline at end of file
+export const addUserJoinBranchRequire = params => { return axios.post(`${base}/mdp/sys/userJoinBranchRequire/add`, params); };
diff --git a/src/api/login.js b/src/api/login.js
index 695083cc..f01c13ec 100644
--- a/src/api/login.js
+++ b/src/api/login.js
@@ -7,13 +7,14 @@ import config from '@/common/config'
let base=config.getOauth2LoginBasePath();
//let base='';
-export function doLoginByUserloginid(userloginid, password,grantType,authType,deptid) {
+export function doLoginByUserloginid(userloginid, password,grantType,authType,deptid,userid) {
removeToken();
const data = {
userloginid: userloginid,
password: password,
authType:authType,
- deptid:deptid
+ deptid:deptid,
+ userid:userid,
}
return axios({
url: base+'/login/token?grantType='+grantType,
@@ -55,6 +56,14 @@ export function checkPhoneno(phoneno ) {
data
})
}
+export function queryByUserloginid( params ) {
+ return axios({
+ url: base+'/user/queryByUserloginid',
+ method: 'get',
+ params:params
+ })
+}
+
export function doRegister( userInfo ) {
removeToken();
const data = {
@@ -79,6 +88,7 @@ export function resetPasswordByPhoneno( userInfo ) {
newPassword:userInfo.newPassword,
phoneno:userInfo.phoneno,
smsCode:userInfo.smsCode,
+ userid:userInfo.userid
}
return axios({
url: base+'/user/password/reset?type=sms',
@@ -109,3 +119,27 @@ export function getUserInfo(params) {
data
})
}
+
+/**
+ * 发送邮件
+ */
+
+export function sendEmail(params) {
+ const data=params;
+ return axios({
+ url: base+'/user/sendEmail',
+ method: 'post',
+ data
+ })
+}
+/**
+ * 验证邮箱
+ */
+
+export function validEmailCode(params) {
+ return axios({
+ url: base+'/user/validEmailCode',
+ method: 'get',
+ params:params
+ })
+}
diff --git a/src/views/login/BranchAdd.vue b/src/views/login/BranchAdd.vue
index a2854514..bf470096 100644
--- a/src/views/login/BranchAdd.vue
+++ b/src/views/login/BranchAdd.vue
@@ -7,16 +7,16 @@
创建新公司申请加入已有公司
-
+
- 查询机构是否存在
+ 查询机构是否存在
-
-
+
+
-
+
-
+
-
+
-
-
- 取消
- 创建新公司
-
+
+
+ 取消
+ 创建新公司
+
-
+
-
-
+
+
选择已有公司-申请加入
-
+
-
+
-
+
-
-
- 取消
- 加入公司
-
+
+
+ 取消
+ 加入公司
+
@@ -88,49 +88,49 @@
import { listOption } from '@/api/itemOption';//下拉框数据查询
import { addBranchNoAuth,listBranchNoAuth,addUserJoinBranchRequire } from '@/api/branch';
import { mapGetters } from 'vuex'
-
+
export default {
props:['branch','visible'],
watch: {
'branch':function( branch ) {
this.addForm = branch;
},
- 'visible':function(visible) {
+ 'visible':function(visible) {
if(visible==true){
//从新打开页面时某些数据需要重新加载,可以在这里添加
}
- }
- },
+ }
+ },
data() {
- const validateBranchName = (rule, value, callback) => {
+ const validateBranchName = (rule, value, callback) => {
if( !value || value.length<=6){
callback(new Error('请输入6位以上公司名称'))
}else{
callback()
- }
+ }
}
- const validatePhoneNo = (rule, value, callback) => {
+ const validatePhoneNo = (rule, value, callback) => {
if( !value || value.length !=11 ){
callback(new Error('手机号码必须为11位号码'))
}else{
callback()
- }
- }
- const validateCusername = (rule, value, callback) => {
+ }
+ }
+ const validateCusername = (rule, value, callback) => {
if( !value || value.length <2 ){
callback(new Error('请输入联系人名称'))
}else{
callback()
- }
- }
+ }
+ }
return {
- options:{},//下拉选择框的所有静态数据 params=[{categoryId:'0001',itemCode:'sex'}] 返回结果 {'sex':[{optionValue:'1',optionName:'男',seqOrder:'1',fp:'',isDefault:'0'},{optionValue:'2',optionName:'女',seqOrder:'2',fp:'',isDefault:'0'}]}
+ options:{},//下拉选择框的所有静态数据 params=[{categoryId:'0001',itemCode:'sex'}] 返回结果 {'sex':[{optionValue:'1',optionName:'男',seqOrder:'1',fp:'',isDefault:'0'},{optionValue:'2',optionName:'女',seqOrder:'2',fp:'',isDefault:'0'}]}
load:{ list: false, edit: false, del: false, add: false },//查询中...
addFormRules: {
branchName: [{ required: true, trigger: 'blur', validator: validateBranchName }],
cusername: [{ required: true, trigger: 'blur', validator: validateCusername }],
- phoneNo: [{ required: true, trigger: 'blur', validator: validatePhoneNo }],
+ phoneNo: [{ required: true, trigger: 'blur', validator: validatePhoneNo }],
},
//新增界面数据 管理端机构表(机构下面若干部门)
addForm: {
@@ -139,18 +139,18 @@
joinFormRules: {
//branchName: [{ required: true, trigger: 'blur', validator: validateBranchName }],
joinUsername: [{ required: true, trigger: 'blur', validator: validateCusername }],
- joinUserPhoneno: [{ required: true, trigger: 'blur', validator: validatePhoneNo }],
+ joinUserPhoneno: [{ required: true, trigger: 'blur', validator: validatePhoneNo }],
joinBranchId:[{ required: true, message: '要加入的公司不能为空', trigger: 'blur' }],
joinReason:[{ required: true, message: '加入理由不能为空', trigger: 'blur' }],
},
//新增界面数据 管理端机构表(机构下面若干部门)
joinForm: {
id:'',joinBranchId:'',joinUserPhoneno:'',joinUserid:'',joinUsername:'',joinDeptid:'',joinReason:''
- },
+ },
branchs:[],
addOrJoinBranch:'join'
/**begin 在下面加自定义属性,记得补上面的一个逗号**/
-
+
/**end 在上面加自定义属性**/
}//end return
},//end data
@@ -161,10 +161,10 @@
},
//新增提交Branch 管理端机构表(机构下面若干部门) 父组件监听@submit="afterAddSubmit"
addSubmit: function () {
-
+
this.$refs.addForm.validate((valid) => {
- if (valid) {
- this.$confirm('确认提交吗?', '提示', {}).then(() => {
+ if (valid) {
+ this.$confirm('确认提交吗?', '提示', {}).then(() => {
if(this.addForm.branchName.length>=6){
var params={
key:"%"+this.addForm.branchName+"%"
@@ -173,32 +173,32 @@
if(res.data.tips.isOk){
if(res.data.data.length<=0){
this.load.add=true
- let params = Object.assign({}, this.addForm);
+ let params = Object.assign({}, this.addForm);
params.cuserid=this.userInfo.userid
addBranchNoAuth(params).then((res) => {
this.load.add=false
var tips=res.data.tips;
- if(tips.isOk){
+ if(tips.isOk){
this.$emit('submit',res.data.data );// @submit="afterAddSubmit"
}
- this.$notify({position:'bottom-left',showClose:true,message: tips.msg, type: tips.isOk?'success':'error' });
+ this.$notify({position:'bottom-left',showClose:true,message: tips.msg, type: tips.isOk?'success':'error' });
}).catch(() => this.load.add=false);
}else{
- this.$notify({position:'bottom-left',showClose:true,message: "该公司名已注册,不可以使用", type: 'error' });
+ this.$notify({position:'bottom-left',showClose:true,message: "该公司名已注册,不可以使用", type: 'error' });
return;
}
}
})
}else{
- this.$notify({position:'bottom-left',showClose:true,message: "公司名必须6个字以上", type: 'error' });
+ this.$notify({position:'bottom-left',showClose:true,message: "公司名必须6个字以上", type: 'error' });
return;
}
-
+
});
}
});
},
-
+
searchBranchs:function(query){
this.load.list=true;
if(query.length>=2){
@@ -219,29 +219,29 @@
})
}else{
this.load.list=false;
- this.$notify({position:'bottom-left',showClose:true,message: "最少输入两个字", type: 'info' });
+ this.$notify({position:'bottom-left',showClose:true,message: "最少输入两个字", type: 'info' });
return;
}
},
- joinBranch:function(){
+ joinBranch:function(){
this.$refs.joinForm.validate((valid) => {
- if (valid) {
- this.$confirm('确认提交吗?', '提示', {}).then(() => {
+ if (valid) {
+ this.$confirm('确认提交吗?', '提示', {}).then(() => {
var params= this.joinForm
- addUserJoinBranchRequire(params).then(res=>{
+ addUserJoinBranchRequire(params).then(res=>{
var tips = res.data.tips;
- if(tips.isOk){
- this.$notify({position:'bottom-left',showClose:true,message:tips.msg, type: 'success' });
- //this.$emit('submit',res.data.data );// @submit="afterAddSubmit"
- return;
- }else{
- this.$notify({position:'bottom-left',showClose:true,message: tips.msg, type: 'error' });
+ if(tips.isOk){
+ this.$notify({position:'bottom-left',showClose:true,message:tips.msg, type: 'success' });
+ //this.$emit('submit',res.data.data );// @submit="afterAddSubmit"
+ return;
+ }else{
+ this.$notify({position:'bottom-left',showClose:true,message: tips.msg, type: 'error' });
return;
}
})
});
}
- });
+ });
},
checkBranchExists:function(){
if(this.addForm.branchName.length>=2){
@@ -251,25 +251,25 @@
listBranchNoAuth(params).then(res=>{
if(res.data.tips.isOk){
if(res.data.data.length<=0){
- this.$notify({position:'bottom-left',showClose:true,message: "该公司名未注册,可以使用", type: 'success' });
+ this.$notify({position:'bottom-left',showClose:true,message: "该公司名未注册,可以使用", type: 'success' });
return;
}else{
- this.$notify({position:'bottom-left',showClose:true,message: "该公司名已注册,不可以使用", type: 'error' });
+ this.$notify({position:'bottom-left',showClose:true,message: "该公司名已注册,不可以使用", type: 'error' });
return;
}
}
})
}else{
- this.$notify({position:'bottom-left',showClose:true,message: "最少输入两个字", type: 'error' });
+ this.$notify({position:'bottom-left',showClose:true,message: "最少输入两个字", type: 'error' });
return;
}
}
/**begin 在下面加自定义方法,记得补上面的一个逗号**/
-
+
/**end 在上面加自定义方法**/
-
+
},//end method
- components: {
+ components: {
//在下面添加其它组件 'branch-edit':BranchEdit
},
computed: {
@@ -278,7 +278,7 @@
])
},
mounted() {
- this.addForm=Object.assign(this.addForm, this.branch);
+ this.addForm=Object.assign(this.addForm, this.branch);
this.addForm.cusername=this.userInfo.username
this.addForm.phoneNo=this.userInfo.phoneno;
this.addForm.cuserid=this.userInfo.userid;
@@ -299,4 +299,4 @@
\ No newline at end of file
+
diff --git a/src/views/login/index.vue b/src/views/login/index.vue
index 865258bb..a63b7267 100644
--- a/src/views/login/index.vue
+++ b/src/views/login/index.vue
@@ -13,14 +13,14 @@
- 账户密码登录
+ 账户密码
短信验证码快速登录
-
-
+
+
账号
-
+
@@ -34,8 +34,13 @@
手机号码
- 发送验证码
+ 发送验证码
+
+ 该手机号有{{users.length}}个账户,请选择需要登录的账户
+
+ 已选择:{{selectUser.username}} 选择账户
+
@@ -87,6 +92,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 选中
+
+
+
+
@@ -96,6 +122,7 @@ import LangSelect from '@/components/LangSelect';
import SocialSign from './socialsignin';
import Register from './register';
import ResetPassword from './resetPassword';
+import { queryByUserloginid } from '@/api/login';
import BranchAdd from './BranchAdd';
import { mapGetters } from 'vuex';
@@ -151,14 +178,14 @@ export default {
}
return {
loginForm: {
- displayUserid: '',
+ userloginid: '',
password: '',
authType:'password_display_userid',//password/sms/password_display_userid 分别为账户密码、短信验证码快捷登录
phoneno:'',//手机号码
smsCode:'',//短信验证码
},
loginRules: {
- displayUserid: [{ required: true, trigger: 'blur', validator: validateDisplayUserid }],
+ userloginid: [{ required: true, trigger: 'blur', validator: validateDisplayUserid }],
password: [{ required: true, trigger: 'blur', validator: validatePassword }],
phoneno: [{ required: true, trigger: 'blur', validator: validatePhoneno }],
smsCode: [{ required: true, trigger: 'blur', validator: validateSmsCode }],
@@ -166,13 +193,16 @@ export default {
passwordType: 'password',
loading: false,
+ load:{sendSmsCode:false,},
showResetPasswordDialog:false,//显示忘记密码重置密码窗口
showTpLoginDialog: false, //显示第三方登陆对话框
showRegisterDialog: false,//显示注册窗口
deptSelectVisible:false,//显示选择部门对话框
userDeptid:'',//选中的部门编号
- userBranchId:'',//选中的部门对应的机构号
addBranchFormVisible:false, //显示添加机构对话框
+ users:[],
+ phonenoUsersVisible:false,
+ selectUser:null,
}
},
methods: {
@@ -184,17 +214,30 @@ export default {
}
},
sendPhonenoSmsCode(){
- var params={
- phoneno:this.loginForm.phoneno,
- scene:"login"
- }
- sendSmsCode(params).then(res=>{
- if(res.data.tips.isOk){
- this.$message.info(res.data.tips.msg);
+ this.load.sendSmsCode=true;
+ this.$refs.loginForm.validateField("phoneno",(err)=>{
+ if(err){
+ this.$message.error(err);
+ this.load.sendSmsCode=false;
+ return;
}else{
- this.$message.error(res.data.tips.msg);
+ var params={
+ phoneno:this.loginForm.phoneno,
+ scene:"login"
+ }
+
+ sendSmsCode(params).then(res=>{
+ this.load.sendSmsCode=false;
+ if(res.data.tips.isOk){
+ this.$message.success(res.data.tips.msg);
+ this.queryByUserloginid();
+ }else{
+ this.$message.error(res.data.tips.msg);
+ }
+ }).catch(()=>this.load.sendSmsCode=false)
}
- })
+ });
+
},
handleLogin() {
@@ -202,29 +245,29 @@ export default {
if (valid) {
this.loading = true
let params={
- displayUserid:this.loginForm.displayUserid,
+ userloginid:this.loginForm.userloginid,
password:md5(this.loginForm.password),
deptid:this.userDeptid,
authType:this.loginForm.authType,
phoneno:this.loginForm.phoneno,
- smsCode:this.loginForm.smsCode,
- branchId:this.userBranchId,
+ smsCode:this.loginForm.smsCode
}
var loginParams={ }
if(params.authType=='password_display_userid'){
- loginParams.userloginid=params.displayUserid
+ loginParams.userloginid=params.userloginid
loginParams.password=params.password
loginParams.grantType="password"
loginParams.authType='password_display_userid'
- //loginParams.deptid=params.deptid
- loginParams.branchId=params.branchId
+ loginParams.deptid=params.deptid
}else if(params.authType=='sms'){
loginParams.userloginid=params.phoneno
loginParams.password=params.smsCode
loginParams.grantType="password"
loginParams.authType="sms"
- //loginParams.deptid=params.deptid
- loginParams.branchId=params.branchId
+ loginParams.deptid=params.deptid
+ }
+ if(this.selectUser){
+ loginParams.userid=this.selectUser.userid
}
this.$store.dispatch("LoginByUserloginid",loginParams).then(res => {
this.loading = false
@@ -235,11 +278,7 @@ export default {
//this.userDeptid=res2.data.userInfo.deptid
this.loading = false
if(res2.data.tips.isOk==true){
- if(this.$store.state.user.myBranchs==null ||this.$store.state.user.myBranchs.length==0||this.$store.state.user.myDepts==null || this.$store.state.user.myDepts.length<=0){
- //if(1==1){
- //this.$message.error("亲,您不在任何一个公司或者部门中,需要【先创建公司】\n 或者请【管理员加您进入公司】哦");
- this.addBranchFormVisible=true;
- }else if(this.$store.state.user.myDepts.length>1 ){
+ if(this.$store.state.user.myDepts.length>1 ){
//this.$message.info("亲,您在多个部门中任职,我分不清您要登陆哪个部门,请选择一个部门登陆吧");
if( !this.userDeptid ){
this.userDeptid=res2.data.userInfo.deptid
@@ -283,10 +322,8 @@ export default {
return
}
-
+ let depts=this.myDepts.filter(d=>d.deptid==this.userDeptid)
if(this.$store.state.user.userInfo.deptid!=this.userDeptid){
- let depts=this.myDepts.filter(d=>d.deptid==this.userDeptid)
- this.userBranchId=depts[0].branchId
this.handleLogin();
return;
}else{
@@ -329,6 +366,24 @@ export default {
// this.$router.push({ path: '/' })
// })
// }
+ },
+ queryByUserloginid(){
+ var params={userloginid:this.loginForm.userloginid}
+ if(this.loginForm.authType=='sms'){
+ params.idType="phoneno"
+ }else{
+ params.idType='all'
+ }
+ queryByUserloginid(params).then(res=>{
+ var tips = res.data.tips;
+ if(tips.isOk){
+ this.users=res.data.data
+ }
+ })
+ },
+ onUserSelect(user){
+ this.selectUser=user
+ this.phonenoUsersVisible=false;
}
},
created() {
diff --git a/src/views/login/register.vue b/src/views/login/register.vue
index cb74fa47..fb879e04 100644
--- a/src/views/login/register.vue
+++ b/src/views/login/register.vue
@@ -11,8 +11,11 @@
- 发送验证码
+ 发送验证码
+ 该手机号已注册有{{phonenoUsers.length}}个账户
+ 查看明细
+
@@ -54,7 +57,22 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
{{$t('login.thirdpartyTips')}}
@@ -73,7 +91,7 @@