【modify】使用ESLint格式化代码
This commit is contained in:
@@ -138,383 +138,383 @@
|
||||
<script>
|
||||
import moment from 'moment'
|
||||
import Vue from 'vue'
|
||||
import { ACCESS_TOKEN } from "@/store/mutation-types"
|
||||
import { ACCESS_TOKEN } from '@/store/mutation-types'
|
||||
import { getAction } from '@/api/manage'
|
||||
import { addUser,editUser,queryUserRole,queryall } from '@/api/api'
|
||||
import { disabledAuthFilter } from "@/utils/authFilter"
|
||||
import { duplicateCheck } from '@/api/api'
|
||||
import { addUser, editUser, queryUserRole, queryall, duplicateCheck } from '@/api/api'
|
||||
import { disabledAuthFilter } from '@/utils/authFilter'
|
||||
|
||||
import { getRSAPublicKey } from '@/utils/encryption.js'
|
||||
import { JSEncrypt } from 'jsencrypt'
|
||||
|
||||
export default {
|
||||
name: "UserModal",
|
||||
components: {
|
||||
export default {
|
||||
name: 'UserModal',
|
||||
components: {
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
departDisabled: false, // 是否是我的部门调用该页面
|
||||
roleDisabled: false, // 是否是角色维护调用该页面
|
||||
modalWidth: 800,
|
||||
drawerWidth: 700,
|
||||
modaltoggleFlag: true,
|
||||
confirmDirty: false,
|
||||
userId: '', // 保存用户id
|
||||
disableSubmit: false,
|
||||
dateFormat: 'YYYY-MM-DD',
|
||||
validatorRules: {
|
||||
username: [{ required: true, message: '请输入用户账号!' },
|
||||
{ validator: this.validateUsername }],
|
||||
password: [{ required: true, pattern: /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/, message: '密码由8位数字、大小写字母和特殊符号组成!' },
|
||||
{ validator: this.validateToNextPassword, trigger: 'change' }],
|
||||
confirmpassword: [{ required: true, message: '请重新输入登录密码!' },
|
||||
{ validator: this.compareToFirstPassword }],
|
||||
realname: [{ required: true, message: '请输入用户名称!' }],
|
||||
phone: [{ validator: this.validatePhone }],
|
||||
email: [{ validator: this.validateEmail }],
|
||||
roles: {},
|
||||
workNo: [{ required: true, message: '请输入工号' },
|
||||
{ validator: this.validateWorkNo }]
|
||||
},
|
||||
departIdShow: false,
|
||||
title: '操作',
|
||||
visible: false,
|
||||
model: {},
|
||||
labelCol: {
|
||||
xs: { span: 24 },
|
||||
sm: { span: 5 }
|
||||
},
|
||||
wrapperCol: {
|
||||
xs: { span: 24 },
|
||||
sm: { span: 16 }
|
||||
},
|
||||
uploadLoading: false,
|
||||
confirmLoading: false,
|
||||
headers: {},
|
||||
url: {
|
||||
fileUpload: window._CONFIG.domianURL + '/sys/common/upload',
|
||||
userWithDepart: '/sys/user/userDepartList', // 引入为指定用户查看部门信息需要的url
|
||||
userId: '/sys/user/generateUserId', // 引入生成添加用户情况下的url
|
||||
syncUserByUserName: '/act/process/extActProcess/doSyncUserByUserName', // 同步用户到工作流
|
||||
queryTenantList: '/sys/tenant/queryList'
|
||||
},
|
||||
tenantsOptions: [],
|
||||
rolesOptions: [],
|
||||
nextDepartOptions: [],
|
||||
rsaPublicKey: ''
|
||||
}
|
||||
},
|
||||
created () {
|
||||
const token = Vue.ls.get(ACCESS_TOKEN)
|
||||
this.headers = { 'X-Access-Token': token }
|
||||
this.initRoleList()
|
||||
this.initTenantList()
|
||||
},
|
||||
computed: {
|
||||
uploadAction: function () {
|
||||
return this.url.fileUpload
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
add () {
|
||||
this.refresh()
|
||||
this.edit({ userIdentity: 1 })
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
departDisabled: false, //是否是我的部门调用该页面
|
||||
roleDisabled: false, //是否是角色维护调用该页面
|
||||
modalWidth:800,
|
||||
drawerWidth:700,
|
||||
modaltoggleFlag:true,
|
||||
confirmDirty: false,
|
||||
userId:"", //保存用户id
|
||||
disableSubmit:false,
|
||||
dateFormat:"YYYY-MM-DD",
|
||||
validatorRules:{
|
||||
username:[{required: true, message: '请输入用户账号!'},
|
||||
{validator: this.validateUsername,}],
|
||||
password: [{required: true,pattern:/^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/,message: '密码由8位数字、大小写字母和特殊符号组成!'},
|
||||
{validator: this.validateToNextPassword,trigger: 'change'}],
|
||||
confirmpassword: [{required: true, message: '请重新输入登录密码!',},
|
||||
{ validator: this.compareToFirstPassword,}],
|
||||
realname:[{ required: true, message: '请输入用户名称!' }],
|
||||
phone: [{validator: this.validatePhone}],
|
||||
email: [{validator: this.validateEmail}],
|
||||
roles:{},
|
||||
workNo:[ { required: true, message: '请输入工号' },
|
||||
{ validator: this.validateWorkNo }],
|
||||
},
|
||||
departIdShow:false,
|
||||
title:"操作",
|
||||
visible: false,
|
||||
model: {},
|
||||
labelCol: {
|
||||
xs: { span: 24 },
|
||||
sm: { span: 5 },
|
||||
},
|
||||
wrapperCol: {
|
||||
xs: { span: 24 },
|
||||
sm: { span: 16 },
|
||||
},
|
||||
uploadLoading:false,
|
||||
confirmLoading: false,
|
||||
headers:{},
|
||||
url: {
|
||||
fileUpload: window._CONFIG['domianURL']+"/sys/common/upload",
|
||||
userWithDepart: "/sys/user/userDepartList", // 引入为指定用户查看部门信息需要的url
|
||||
userId:"/sys/user/generateUserId", // 引入生成添加用户情况下的url
|
||||
syncUserByUserName:"/act/process/extActProcess/doSyncUserByUserName",//同步用户到工作流
|
||||
queryTenantList: '/sys/tenant/queryList'
|
||||
},
|
||||
tenantsOptions: [],
|
||||
rolesOptions:[],
|
||||
nextDepartOptions:[],
|
||||
rsaPublicKey:'',
|
||||
edit (record) {
|
||||
const that = this
|
||||
that.visible = true
|
||||
// 根据屏幕宽度自适应抽屉宽度
|
||||
this.resetScreenSize()
|
||||
that.model = Object.assign({}, { selectedroles: '', selecteddeparts: '' }, record)
|
||||
// 身份为上级显示负责部门,否则不显示
|
||||
if (this.model.userIdentity == 2) {
|
||||
this.departIdShow = true
|
||||
} else {
|
||||
this.departIdShow = false
|
||||
}
|
||||
|
||||
if (record.hasOwnProperty('id')) {
|
||||
that.userId = record.id
|
||||
that.getUserRoles(record.id)
|
||||
that.getUserDeparts(record.id)
|
||||
}
|
||||
},
|
||||
created () {
|
||||
const token = Vue.ls.get(ACCESS_TOKEN);
|
||||
this.headers = {"X-Access-Token":token}
|
||||
this.initRoleList()
|
||||
this.initTenantList()
|
||||
isDisabledAuth (code) {
|
||||
return disabledAuthFilter(code)
|
||||
},
|
||||
computed:{
|
||||
uploadAction:function () {
|
||||
return this.url.fileUpload;
|
||||
// 窗口最大化切换
|
||||
toggleScreen () {
|
||||
if (this.modaltoggleFlag) {
|
||||
this.modalWidth = window.innerWidth
|
||||
} else {
|
||||
this.modalWidth = 800
|
||||
}
|
||||
this.modaltoggleFlag = !this.modaltoggleFlag
|
||||
},
|
||||
// 根据屏幕变化,设置抽屉尺寸
|
||||
resetScreenSize () {
|
||||
const screenWidth = document.body.clientWidth
|
||||
if (screenWidth < 500) {
|
||||
this.drawerWidth = screenWidth
|
||||
} else {
|
||||
this.drawerWidth = 700
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
add () {
|
||||
this.refresh();
|
||||
this.edit({userIdentity:1});
|
||||
},
|
||||
edit (record) {
|
||||
let that = this;
|
||||
that.visible = true;
|
||||
//根据屏幕宽度自适应抽屉宽度
|
||||
this.resetScreenSize();
|
||||
that.model = Object.assign({},{selectedroles:'',selecteddeparts:''}, record);
|
||||
//身份为上级显示负责部门,否则不显示
|
||||
if(this.model.userIdentity==2){
|
||||
this.departIdShow=true;
|
||||
}else{
|
||||
this.departIdShow=false;
|
||||
}
|
||||
|
||||
if(record.hasOwnProperty("id")){
|
||||
that.userId = record.id;
|
||||
that.getUserRoles(record.id);
|
||||
that.getUserDeparts(record.id);
|
||||
}
|
||||
},
|
||||
isDisabledAuth(code){
|
||||
return disabledAuthFilter(code);
|
||||
},
|
||||
//窗口最大化切换
|
||||
toggleScreen(){
|
||||
if(this.modaltoggleFlag){
|
||||
this.modalWidth = window.innerWidth;
|
||||
}else{
|
||||
this.modalWidth = 800;
|
||||
}
|
||||
this.modaltoggleFlag = !this.modaltoggleFlag;
|
||||
},
|
||||
// 根据屏幕变化,设置抽屉尺寸
|
||||
resetScreenSize(){
|
||||
let screenWidth = document.body.clientWidth;
|
||||
if(screenWidth < 500){
|
||||
this.drawerWidth = screenWidth;
|
||||
}else{
|
||||
this.drawerWidth = 700;
|
||||
}
|
||||
},
|
||||
//初始化租户字典
|
||||
initTenantList(){
|
||||
getAction(this.url.queryTenantList).then(res=>{
|
||||
if(res.success){
|
||||
this.tenantsOptions = res.result.map((item,index,arr)=>{
|
||||
let c = {label:item.name, value: item.id+""}
|
||||
return c;
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
//初始化角色字典
|
||||
initRoleList(){
|
||||
queryall().then((res)=>{
|
||||
if(res.success){
|
||||
this.rolesOptions = res.result.map((item,index,arr)=>{
|
||||
let c = {label:item.roleName, value:item.id}
|
||||
return c;
|
||||
})
|
||||
}
|
||||
});
|
||||
},
|
||||
getUserRoles(userid){
|
||||
queryUserRole({userid:userid}).then((res)=>{
|
||||
if(res.success){
|
||||
this.model.selectedroles = res.result.join(",");
|
||||
}
|
||||
});
|
||||
},
|
||||
getUserDeparts(userid){
|
||||
let that = this;
|
||||
getAction(that.url.userWithDepart,{userId:userid}).then((res)=>{
|
||||
if(res.success){
|
||||
let departOptions=[];
|
||||
let selectDepartKeys=[]
|
||||
for (let i = 0; i < res.result.length; i++) {
|
||||
selectDepartKeys.push(res.result[i].key);
|
||||
//新增负责部门选择下拉框
|
||||
departOptions.push({
|
||||
value: res.result[i].key,
|
||||
label: res.result[i].title
|
||||
})
|
||||
}
|
||||
that.model.selecteddeparts = selectDepartKeys.join(",")
|
||||
that.nextDepartOptions = departOptions;
|
||||
}
|
||||
})
|
||||
},
|
||||
backDepartInfo(info) {
|
||||
this.model.departIds = this.model.selecteddeparts;
|
||||
this.nextDepartOptions = info.map((item,index,arr)=>{
|
||||
let c = {label:item.text, value: item.value+""}
|
||||
return c;
|
||||
})
|
||||
},
|
||||
refresh () {
|
||||
this.userId=""
|
||||
this.nextDepartOptions=[];
|
||||
this.departIdShow=false;
|
||||
},
|
||||
close () {
|
||||
this.$emit('close');
|
||||
this.visible = false;
|
||||
this.disableSubmit = false;
|
||||
this.nextDepartOptions=[];
|
||||
this.departIdShow=false;
|
||||
this.$refs.form.resetFields();
|
||||
},
|
||||
moment,
|
||||
handleSubmit () {
|
||||
const that = this;
|
||||
//先拉取秘钥
|
||||
getRSAPublicKey().then(res => {
|
||||
this.rsaPublicKey = res.result
|
||||
|
||||
// 触发表单验证
|
||||
this.$refs.form.validate(valid => {
|
||||
if (valid) {
|
||||
that.confirmLoading = true;
|
||||
//如果是上级择传入departIds,否则为空
|
||||
if(this.model.userIdentity!==2){
|
||||
this.model.departIds="";
|
||||
}
|
||||
|
||||
// 对密码、邮箱、手机号进行加密
|
||||
let encrypt = new JSEncrypt();
|
||||
encrypt.setPublicKey(that.rsaPublicKey);
|
||||
|
||||
if (this.model.password != ""
|
||||
&& this.model.password != null
|
||||
&& this.model.password != undefined){
|
||||
this.model.password = encrypt.encrypt(this.model.password)
|
||||
}
|
||||
|
||||
if (this.model.phone != ""
|
||||
&& this.model.phone != null
|
||||
&& this.model.phone != undefined){
|
||||
this.model.phone = encrypt.encrypt(this.model.phone)
|
||||
}
|
||||
|
||||
if (this.model.email != ""
|
||||
&& this.model.email != null
|
||||
&& this.model.email != undefined){
|
||||
this.model.email = encrypt.encrypt(this.model.email)
|
||||
}
|
||||
this.model.rsaPublicKey = that.rsaPublicKey
|
||||
|
||||
let obj;
|
||||
if(!this.model.id){
|
||||
this.model.id = this.userId;
|
||||
obj=addUser(this.model);
|
||||
}else{
|
||||
obj=editUser(this.model);
|
||||
}
|
||||
|
||||
obj.then((res)=>{
|
||||
if(res.success){
|
||||
that.$message.success(res.message);
|
||||
that.$emit('ok');
|
||||
}else{
|
||||
that.$message.warning(res.message);
|
||||
}
|
||||
}).finally(() => {
|
||||
that.confirmLoading = false;
|
||||
that.close();
|
||||
})
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
// 初始化租户字典
|
||||
initTenantList () {
|
||||
getAction(this.url.queryTenantList).then(res => {
|
||||
if (res.success) {
|
||||
this.tenantsOptions = res.result.map((item, index, arr) => {
|
||||
const c = { label: item.name, value: item.id + '' }
|
||||
return c
|
||||
})
|
||||
})
|
||||
},
|
||||
handleCancel () {
|
||||
this.close()
|
||||
},
|
||||
validateToNextPassword (rule, value, callback) {
|
||||
const confirmpassword=this.model.confirmpassword;
|
||||
|
||||
if (value && confirmpassword && value !== confirmpassword) {
|
||||
callback('两次输入的密码不一样!');
|
||||
}
|
||||
if (value && this.confirmDirty) {
|
||||
this.$refs.form.validateField(['confirmpassword']);
|
||||
}
|
||||
callback();
|
||||
},
|
||||
compareToFirstPassword (rule, value, callback) {
|
||||
if (value && value !== this.model.password) {
|
||||
callback('两次输入的密码不一样!');
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
},
|
||||
validatePhone(rule, value, callback){
|
||||
if(!value){
|
||||
callback()
|
||||
}else{
|
||||
if(new RegExp(/^1[3|4|5|7|8|9][0-9]\d{8}$/).test(value)){
|
||||
var params = {
|
||||
tableName: 'sys_user',
|
||||
fieldName: 'phone',
|
||||
fieldVal: value,
|
||||
dataId: this.userId
|
||||
};
|
||||
duplicateCheck(params).then((res) => {
|
||||
if (res.success) {
|
||||
callback()
|
||||
} else {
|
||||
callback("手机号已存在!")
|
||||
}
|
||||
})
|
||||
}else{
|
||||
callback("请输入正确格式的手机号码!");
|
||||
}
|
||||
}
|
||||
},
|
||||
validateEmail(rule, value, callback){
|
||||
if(!value){
|
||||
callback()
|
||||
}else{
|
||||
if(new RegExp(/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/).test(value)){
|
||||
var params = {
|
||||
tableName: 'sys_user',
|
||||
fieldName: 'email',
|
||||
fieldVal: value,
|
||||
dataId: this.userId
|
||||
};
|
||||
duplicateCheck(params).then((res) => {
|
||||
console.log(res)
|
||||
if (res.success) {
|
||||
callback()
|
||||
} else {
|
||||
callback("邮箱已存在!")
|
||||
}
|
||||
})
|
||||
}else{
|
||||
callback("请输入正确格式的邮箱!")
|
||||
}
|
||||
}
|
||||
},
|
||||
validateUsername(rule, value, callback){
|
||||
var params = {
|
||||
tableName: 'sys_user',
|
||||
fieldName: 'username',
|
||||
fieldVal: value,
|
||||
dataId: this.userId
|
||||
};
|
||||
duplicateCheck(params).then((res) => {
|
||||
if (res.success) {
|
||||
callback()
|
||||
} else {
|
||||
callback("用户名已存在!")
|
||||
}
|
||||
})
|
||||
},
|
||||
validateWorkNo(rule, value, callback){
|
||||
var params = {
|
||||
tableName: 'sys_user',
|
||||
fieldName: 'work_no',
|
||||
fieldVal: value,
|
||||
dataId: this.userId
|
||||
};
|
||||
duplicateCheck(params).then((res) => {
|
||||
if (res.success) {
|
||||
callback()
|
||||
},
|
||||
// 初始化角色字典
|
||||
initRoleList () {
|
||||
queryall().then((res) => {
|
||||
if (res.success) {
|
||||
this.rolesOptions = res.result.map((item, index, arr) => {
|
||||
const c = { label: item.roleName, value: item.id }
|
||||
return c
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
getUserRoles (userid) {
|
||||
queryUserRole({ userid: userid }).then((res) => {
|
||||
if (res.success) {
|
||||
this.model.selectedroles = res.result.join(',')
|
||||
}
|
||||
})
|
||||
},
|
||||
getUserDeparts (userid) {
|
||||
const that = this
|
||||
getAction(that.url.userWithDepart, { userId: userid }).then((res) => {
|
||||
if (res.success) {
|
||||
const departOptions = []
|
||||
const selectDepartKeys = []
|
||||
for (let i = 0; i < res.result.length; i++) {
|
||||
selectDepartKeys.push(res.result[i].key)
|
||||
// 新增负责部门选择下拉框
|
||||
departOptions.push({
|
||||
value: res.result[i].key,
|
||||
label: res.result[i].title
|
||||
})
|
||||
}
|
||||
that.model.selecteddeparts = selectDepartKeys.join(',')
|
||||
that.nextDepartOptions = departOptions
|
||||
}
|
||||
})
|
||||
},
|
||||
backDepartInfo (info) {
|
||||
this.model.departIds = this.model.selecteddeparts
|
||||
this.nextDepartOptions = info.map((item, index, arr) => {
|
||||
const c = { label: item.text, value: item.value + '' }
|
||||
return c
|
||||
})
|
||||
},
|
||||
refresh () {
|
||||
this.userId = ''
|
||||
this.nextDepartOptions = []
|
||||
this.departIdShow = false
|
||||
},
|
||||
close () {
|
||||
this.$emit('close')
|
||||
this.visible = false
|
||||
this.disableSubmit = false
|
||||
this.nextDepartOptions = []
|
||||
this.departIdShow = false
|
||||
this.$refs.form.resetFields()
|
||||
},
|
||||
moment,
|
||||
handleSubmit () {
|
||||
const that = this
|
||||
// 先拉取秘钥
|
||||
getRSAPublicKey().then(res => {
|
||||
this.rsaPublicKey = res.result
|
||||
|
||||
// 触发表单验证
|
||||
this.$refs.form.validate(valid => {
|
||||
if (valid) {
|
||||
that.confirmLoading = true
|
||||
// 如果是上级择传入departIds,否则为空
|
||||
if (this.model.userIdentity !== 2) {
|
||||
this.model.departIds = ''
|
||||
}
|
||||
|
||||
// 对密码、邮箱、手机号进行加密
|
||||
const encrypt = new JSEncrypt()
|
||||
encrypt.setPublicKey(that.rsaPublicKey)
|
||||
|
||||
if (this.model.password != '' &&
|
||||
this.model.password != null &&
|
||||
this.model.password != undefined) {
|
||||
this.model.password = encrypt.encrypt(this.model.password)
|
||||
}
|
||||
|
||||
if (this.model.phone != '' &&
|
||||
this.model.phone != null &&
|
||||
this.model.phone != undefined) {
|
||||
this.model.phone = encrypt.encrypt(this.model.phone)
|
||||
}
|
||||
|
||||
if (this.model.email != '' &&
|
||||
this.model.email != null &&
|
||||
this.model.email != undefined) {
|
||||
this.model.email = encrypt.encrypt(this.model.email)
|
||||
}
|
||||
this.model.rsaPublicKey = that.rsaPublicKey
|
||||
|
||||
let obj
|
||||
if (!this.model.id) {
|
||||
this.model.id = this.userId
|
||||
obj = addUser(this.model)
|
||||
} else {
|
||||
obj = editUser(this.model)
|
||||
}
|
||||
|
||||
obj.then((res) => {
|
||||
if (res.success) {
|
||||
that.$message.success(res.message)
|
||||
that.$emit('ok')
|
||||
} else {
|
||||
that.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
that.confirmLoading = false
|
||||
that.close()
|
||||
})
|
||||
} else {
|
||||
callback("工号已存在!")
|
||||
return false
|
||||
}
|
||||
})
|
||||
},
|
||||
handleConfirmBlur(e) {
|
||||
const value = e.target.value;
|
||||
this.confirmDirty = this.confirmDirty || !!value
|
||||
},
|
||||
beforeUpload: function(file){
|
||||
var fileType = file.type;
|
||||
if(fileType.indexOf('image')<0){
|
||||
this.$message.warning('请上传图片');
|
||||
return false;
|
||||
}
|
||||
//TODO 验证文件大小
|
||||
},
|
||||
})
|
||||
},
|
||||
handleCancel () {
|
||||
this.close()
|
||||
},
|
||||
validateToNextPassword (rule, value, callback) {
|
||||
const confirmpassword = this.model.confirmpassword
|
||||
|
||||
// 搜索用户对应的部门API
|
||||
onSearch(){
|
||||
this.$refs.departWindow.add(this.checkedDepartKeys,this.userId);
|
||||
},
|
||||
identityChange(e){
|
||||
if(e.target.value===1){
|
||||
this.departIdShow=false;
|
||||
}else{
|
||||
this.departIdShow=true;
|
||||
if (value && confirmpassword && value !== confirmpassword) {
|
||||
callback('两次输入的密码不一样!')
|
||||
}
|
||||
if (value && this.confirmDirty) {
|
||||
this.$refs.form.validateField(['confirmpassword'])
|
||||
}
|
||||
callback()
|
||||
},
|
||||
compareToFirstPassword (rule, value, callback) {
|
||||
if (value && value !== this.model.password) {
|
||||
callback('两次输入的密码不一样!')
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
},
|
||||
validatePhone (rule, value, callback) {
|
||||
if (!value) {
|
||||
callback()
|
||||
} else {
|
||||
if (new RegExp(/^1[3|4|5|7|8|9][0-9]\d{8}$/).test(value)) {
|
||||
var params = {
|
||||
tableName: 'sys_user',
|
||||
fieldName: 'phone',
|
||||
fieldVal: value,
|
||||
dataId: this.userId
|
||||
}
|
||||
duplicateCheck(params).then((res) => {
|
||||
if (res.success) {
|
||||
callback()
|
||||
} else {
|
||||
callback('手机号已存在!')
|
||||
}
|
||||
})
|
||||
} else {
|
||||
callback('请输入正确格式的手机号码!')
|
||||
}
|
||||
}
|
||||
},
|
||||
validateEmail (rule, value, callback) {
|
||||
if (!value) {
|
||||
callback()
|
||||
} else {
|
||||
if (new RegExp(/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/).test(value)) {
|
||||
var params = {
|
||||
tableName: 'sys_user',
|
||||
fieldName: 'email',
|
||||
fieldVal: value,
|
||||
dataId: this.userId
|
||||
}
|
||||
duplicateCheck(params).then((res) => {
|
||||
console.log(res)
|
||||
if (res.success) {
|
||||
callback()
|
||||
} else {
|
||||
callback('邮箱已存在!')
|
||||
}
|
||||
})
|
||||
} else {
|
||||
callback('请输入正确格式的邮箱!')
|
||||
}
|
||||
}
|
||||
},
|
||||
validateUsername (rule, value, callback) {
|
||||
var params = {
|
||||
tableName: 'sys_user',
|
||||
fieldName: 'username',
|
||||
fieldVal: value,
|
||||
dataId: this.userId
|
||||
}
|
||||
duplicateCheck(params).then((res) => {
|
||||
if (res.success) {
|
||||
callback()
|
||||
} else {
|
||||
callback('用户名已存在!')
|
||||
}
|
||||
})
|
||||
},
|
||||
validateWorkNo (rule, value, callback) {
|
||||
var params = {
|
||||
tableName: 'sys_user',
|
||||
fieldName: 'work_no',
|
||||
fieldVal: value,
|
||||
dataId: this.userId
|
||||
}
|
||||
duplicateCheck(params).then((res) => {
|
||||
if (res.success) {
|
||||
callback()
|
||||
} else {
|
||||
callback('工号已存在!')
|
||||
}
|
||||
})
|
||||
},
|
||||
handleConfirmBlur (e) {
|
||||
const value = e.target.value
|
||||
this.confirmDirty = this.confirmDirty || !!value
|
||||
},
|
||||
beforeUpload: function (file) {
|
||||
var fileType = file.type
|
||||
if (fileType.indexOf('image') < 0) {
|
||||
this.$message.warning('请上传图片')
|
||||
return false
|
||||
}
|
||||
// TODO 验证文件大小
|
||||
},
|
||||
|
||||
// 搜索用户对应的部门API
|
||||
onSearch () {
|
||||
this.$refs.departWindow.add(this.checkedDepartKeys, this.userId)
|
||||
},
|
||||
identityChange (e) {
|
||||
if (e.target.value === 1) {
|
||||
this.departIdShow = false
|
||||
} else {
|
||||
this.departIdShow = true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
@@ -548,4 +548,4 @@ import { JSEncrypt } from 'jsencrypt'
|
||||
background: #fff;
|
||||
border-radius: 0 0 2px 2px;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user