<template> <!-- 用户改对话框 --> <el-dialog @close="close" @opened="updateUser" v-dialogDrag :title="$t('Security.modifyUser')" style="font-size: 10px; " width='500px' :visible.sync="updateUserVisible"> <el-form ref="form" :model="form" :inline="true"> <el-form-item prop="userName" style="margin-bottom: -10px;" :label="'*'+$t('Security.userName') + ':'" :label-width="formLabelWidth"> <el-input type="text" size='mini' :placeholder="$t('common.placeholder')" v-model="form.userName" v-on:blur="userNameCheck" autocomplete="off" style="width:200px"></el-input> </el-form-item> <el-form-item prop="usergroupKey" style="margin-bottom: -10px;" :label="'*'+$t('Security.userGroup') + ':'" :label-width="formLabelWidth"> <el-select v-model="form.usergroupKey" size="mini" style="width: 200px" :placeholder="$t('common.placeholder')"> <el-option v-for="item in userGroupList" :key="item.usergroupKey" :label="item.usergroupName" :value="item.usergroupKey"> </el-option> </el-select> </el-form-item> <el-form-item prop="phone" style="margin-bottom: -10px;" :label="$t('Security.telephone') + ':'" :label-width="formLabelWidth"> <el-input type="text" size='mini' :placeholder="$t('common.placeholder')" v-model="form.phone" v-on:blur="phoneCheck" autocomplete="off" style="width:200px"></el-input> </el-form-item> <el-form-item prop="address" style="margin-bottom: -10px;" :label="$t('Security.address') + ':'" :label-width="formLabelWidth"> <el-input type="text" size='mini' :placeholder="$t('common.placeholder')" v-model="form.address" v-on:blur="addressCheck" autocomplete="off" style="width:200px"></el-input> </el-form-item> <el-form-item prop="enable" style="margin-bottom: -10px;" :label="$t('Security.lockedOption') + ':'" :label-width="formLabelWidth"> <el-checkbox v-model="form.enableChecked" style="width:200px; padding-right: 150px" @change="checkboxChange">{{$t('Security.locked')}}</el-checkbox> </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> <el-button size='mini' type="primary" icon='el-icon-circle-check' @click="updateUserConfiguration">{{$t("common.ok")}}</el-button> <el-button size='mini' icon='el-icon-circle-close' @click="close">{{$t("common.cancel")}}</el-button> </div> </el-dialog> </template> <script> import UserService from '../../../domain/services/UserService' import UserGroupService from '../../../domain/services/UserGroupService' import legitimacyCheck from '../../../utils/legitimacyCheck' import HelperUtil from '../../../utils/HelperUtil' export default { props: ['command'], data: function () { return { updateInitList: this.command.target, userGroupList: [], updateUserVisible: false, formLabelWidth: '120px', form: { userName: '', userKey: '', usergroupName: '', usergroupKey: '', editFlag: 0, password: '123456', phone: '', address: '', modifyTime: '', delFlag: 0, lockFlag: 0, enableChecked: false } } }, methods: { close () { this.command.done() }, /*** * @Description : 点击锁定checkbox * @author : zf * @date : 2019/05/17 15:37 */ checkboxChange: function () { if (this.form.enableChecked) { this.form.lockFlag = 1 } else { this.form.lockFlag = 0 } }, // ------------------------------------创建开始------------------------------------------------------------------- /*** * @Description : 获取全部用户组 * @author : zf * @date : 2019/03/13 16:00 */ getAllUserGroups: function () { let _this = this UserGroupService.getAllUserGroups().then(result => { // 成功 _this.userGroupList = Object.values(result) }).catch(err => { // 失败 _this.InfoTip.errorTip(_this, err) }) }, updateUser () { this.getAllUserGroups() this.form.userKey = this.updateInitList.userKey this.form.userName = this.updateInitList.userName this.form.usergroupKey = this.updateInitList.usergroupKey this.form.editFlag = this.updateInitList.editFlag this.form.password = this.updateInitList.password this.form.phone = this.updateInitList.phone this.form.address = this.updateInitList.address this.form.modifyTime = this.updateInitList.modifyTime this.form.delFlag = this.updateInitList.delFlag this.form.lockFlag = this.updateInitList.lockFlag if (this.form.lockFlag === 1) { this.form.enableChecked = true } else { this.form.enableChecked = false } }, /*** * @Description : 修改用户 * @author : zf * @date : 2019/03/13 11:13 */ updateUserConfiguration: function () { let _this = this if (!(this.phoneCheck() && this.userNameCheck() && this.updateUserCheck(this.updateInitList, this.form) && this.userGroupCheck() && this.addressCheck())) { return false } else { let currentUser = {} currentUser['userKey'] = this.form.userKey currentUser['userName'] = this.form.userName currentUser['usergroupKey'] = this.form.usergroupKey currentUser['editFlag'] = this.form.editFlag currentUser['password'] = this.form.password currentUser['phone'] = this.form.phone currentUser['address'] = this.form.address currentUser['modifyTime'] = this.form.modifyTime currentUser['delFlag'] = this.form.delFlag if (this.form.enableChecked === true) { this.form.lockFlag = 1 } else { this.form.lockFlag = 0 } currentUser['lockFlag'] = this.form.lockFlag let loadingInstance = _this.Loading.openLoading() UserService.modifyUser(currentUser).then(result => { // 成功 _this.Loading.closeLoading(loadingInstance) _this.InfoTip.successTip(_this, HelperUtil.getStatusCodeObjectByCode(_this.successCode.MODIFY_CODE)) _this.close() }).catch(err => { // 失败 _this.Loading.closeLoading(loadingInstance) _this.InfoTip.errorTip(_this, err) }) } }, // ------------------------------------验证开始------------------------------------------------------------------- /** * @Description :用户名称校验: 不能为空 * @author : * @param : * @return : * @exception : * @date : */ userNameCheck: function () { let userCheck = legitimacyCheck() if (!userCheck.textNullCheck(this.form.userName)) { this.InfoTip.warningTip(this, HelperUtil.getCheckStatusCodeObjectByCode(this.successCode.TEXT_NULL_CODE), this.$t('Security.userName')) return false } else { if (this.textLengthCheck(this.form.userName)) { return true } else { this.InfoTip.warningTip(this, HelperUtil.getCheckStatusCodeObjectByCode(this.successCode.LENGTH_CODE), this.$t('Security.userName')) return false } } }, /** * @Description :用户组名称校验: 不能为空 * @author : * @param : * @return : * @exception : * @date : */ userGroupCheck: function () { let userCheck = legitimacyCheck() if (!userCheck.textNullCheck(this.form.usergroupKey)) { this.InfoTip.warningTip(this, HelperUtil.getCheckStatusCodeObjectByCode(this.successCode.TEXT_NULL_CODE), this.$t('Security.userGroup')) return false } else { return true } }, /** * @Description :文本框所输入的字符长度校验: 控制在20之内 * @author : bjh * @param : * @return : * @exception : * @date : 2019/1/15 16:09 */ textLengthCheck: function (text) { let userCheck = legitimacyCheck() if (!userCheck.textLengthCheck(text)) { return false } return true }, /*** * @Description : 检验电话号码合法性 * @author : zf * @date : 2019/03/18 14:29 */ phoneCheck: function () { let userCheck = legitimacyCheck() if (!userCheck.phoneNumberCheck(this.form.phone)) { this.InfoTip.warningTip(this, HelperUtil.getCheckStatusCodeObjectByCode(this.successCode.PHONE_CODE)) return false } return true }, /*** * @Description : 检验地址合法性 * @author : zf * @date : 2019/03/18 14:29 */ addressCheck: function () { let userCheck = legitimacyCheck() if (!userCheck.textLengthCheck(this.form.address)) { this.InfoTip.warningTip(this, HelperUtil.getCheckStatusCodeObjectByCode(this.successCode.LENGTH_CODE), this.$t('Security.address')) return false } return true }, /*** * @Description : 验证是否真正进行了修改 * @author : zf * @date : 2019/05/10 09:42 */ updateUserCheck: function (before, after) { if (after.userKey === before.userKey && after.userName === before.userName && after.usergroupKey === before.usergroupKey && after.phone === before.phone && after.address === before.address && after.lockFlag === before.lockFlag) { this.InfoTip.warningTip(this, HelperUtil.getCheckStatusCodeObjectByCode(this.successCode.UNUPDATE_CODE)) return false } else { return true } } // ------------------------------------验证结束------------------------------------------------------------------- }, created () { }, mounted () { this.updateUserVisible = true } } </script>