| | |
| | | } |
| | | /* 列表不对齐样式 */ |
| | | .el-table th { display: table-cell!important; } |
| | | .staff .el-form-item__error{ |
| | | /* .staff .el-form-item__error{ |
| | | padding-top: 0; |
| | | top: 88%; |
| | | } |
| | | } */ |
| | | |
| | | .vl-notify-content { |
| | | |
| | |
| | | isValidIp: { |
| | | pattern: /(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)/, |
| | | regVal: false, |
| | | msg: "IP地址格式不正确", |
| | | msg: "isValidIp", |
| | | }, |
| | | noSpecialChar: { |
| | | pattern: /^[^`~!@$%&*?<>/\\|=+^{}\[\]\'\"【】‘’¥——、,。;:?《》!]*$/i, |
| | | regVal: false, |
| | | msg: "存在特殊字符" |
| | | msg: "noSpecialChar" |
| | | }, |
| | | isWhiteIp: { |
| | | pattern:/^((\*,)*(((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?),)*(((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}((2[0-4]\d|25[0-5]|[01]?\d\d?)|(\*)),)*(((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){2}((\*\.)(\*)),)*(((2[0-4]\d|25[0-5]|[01]?\d\d?)\.)(\*\.){2}(\*),)*)*((\*)|(((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?))|(((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}((2[0-4]\d|25[0-5]|[01]?\d\d?)|(\*)))|(((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){2}((\*\.)(\*)))|(((2[0-4]\d|25[0-5]|[01]?\d\d?)\.)(\*\.){2}(\*)))$/, |
| | | regVal: false, |
| | | msg: "请输入正确的IP地址例如:*或192.168.10.7,192.168.10.8" |
| | | msg: "isWhiteIp" |
| | | }, |
| | | } |
New file |
| | |
| | | export default { |
| | | messages: { |
| | | CN: { |
| | | isValidIp: 'IP地址格式不正确', |
| | | noSpecialChar: '存在特殊字符', |
| | | isWhiteIp: '请输入正确的IP地址例如:*或192.168.10.7,192.168.10.8', |
| | | }, |
| | | US: { |
| | | isValidIp: 'IP地址格式不正确', |
| | | noSpecialChar: '存在特殊字符', |
| | | isWhiteIp: 'Enter the correct IP address. For example: * or 192.168.10.7, 192.168.10.8', |
| | | } |
| | | } |
| | | } |
| | |
| | | /** |
| | | * 校验数据 |
| | | * 校验数据 testVal |
| | | * |
| | | * @param {[Number,String]} val [val description] |
| | | * @param {[Object]} option [option description] |
| | | * |
| | | * @return {[Object]} [return description] |
| | | */ |
| | | function testVal(rules, val, callback, option) { |
| | | function testVal(rules, val, callback, option, context, nameSpace) { |
| | | let result = { |
| | | code: 1, |
| | | msg: option.msg |
| | | // msg: option.msg |
| | | }; |
| | | nameSpace = nameSpace || 'rule'; |
| | | let msg = context.$t(nameSpace + '.' + option.msg); |
| | | |
| | | // 根据正则验证数据 |
| | | result.code = option.pattern.test(val)?1:0; |
| | |
| | | } |
| | | |
| | | if(result.code == 0) { |
| | | callback(new Error(option.msg)); |
| | | callback(new Error(msg)); |
| | | }else { |
| | | callback() |
| | | } |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <!-- <div class="clear" v-if="status == 'add'"></div> --> |
| | | <el-row :gutter="row.gutter"> |
| | | <el-col :span="row.span"> |
| | | <el-form-item :label="$t('Gender') + ':'" class=""> |
| | |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="row.gutter"> |
| | | <!-- <div class="clear" v-if="status == 'edit'"></div> --> |
| | | <el-col :span="row.span"> |
| | | <el-form-item :label="$t('Phone') + ':'" class="" prop="umobilephone"> |
| | | <el-input class="" v-model="formData.umobilephone" size="mini" :placeholder="$t('form.inputMsg')"> |
| | |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <!-- <div class="clear" v-if="status == 'add'"></div> --> |
| | | <el-col :span="row.span"> |
| | | <el-form-item :label="$t('WorkTeam') + ':'" class=""> |
| | | <el-select v-model="formData.ujobGroup" size="mini" :placeholder="$t('form.selectMsg')" class=""> |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <!-- <div class="clear"></div> --> |
| | | <el-col :span="row.span"> |
| | | <el-form-item :label="$t('UserRole') + ':'" class=""> |
| | | <el-select v-model="formData.urole" size="mini" :placeholder="$t('form.selectMsg')" class=""> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="row.span"> |
| | | <el-form-item :label="$t('ExpirationDate') + ':'" class="" v-if="!0 || formData.type == 2"> |
| | | <el-form-item :label="$t('ExpirationDate') + ':'" class="" v-if="formData.type == 2"> |
| | | <el-date-picker v-model="expirationTime" type="datetime" size="mini" :start-placeholder="startTime"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | <!-- <div class="clear" v-if="!0 || formData.type == 2"></div> --> |
| | | <el-col :span="row.span"> |
| | | <el-form-item :label="$t('UserAuthority') + ':'" class="" prop="permitGroupId" |
| | | v-if="status == 'add'"> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="row.span"> |
| | | <el-form-item label="访问控制时间:" class="" prop="visitTime" v-if="!0 || isSysAdmin"> |
| | | <el-form-item label="访问控制时间:" class="" prop="visitTime" v-if="isSysAdmin"> |
| | | <el-time-picker popper-class="white-bg" is-range size="mini" arrow-control v-model="rangeTime" |
| | | range-separator="-" start-placeholder="开始时间" end-placeholder="结束时间" placeholder="选择时间范围" |
| | | @change="timeChange"> |
| | |
| | | </el-col> |
| | | <el-col :span="row.span"> |
| | | <el-form-item label="IP白名单:" prop="visitIp" v-if="isSysAdmin"> |
| | | <el-input type="textarea" :rows="6" :placeholder="$t('form.inputMsg')" resize="none" |
| | | <el-input type="textarea" :rows="2" :placeholder="$t('form.inputMsg')" resize="none" |
| | | v-model="formData.visitIp"> |
| | | </el-input> |
| | | </el-form-item> |
| | |
| | | import i18n from './i18n/addEdit'; |
| | | import { createI18nOption } from '@/assets/js/tools/i18n'; |
| | | import i18nConstUser from '@/assets/js/i18n/const_user'; |
| | | const i18nMixin = createI18nOption(i18n, [[i18nConstUser, 'user']]); |
| | | import i18nRules from '@/assets/js/i18n/const_rules'; |
| | | const i18nMixin = createI18nOption(i18n, [[i18nConstUser, 'user'], [i18nRules, 'rule']]); |
| | | export default { |
| | | name: 'addEdit', |
| | | mixins: [i18nMixin], |
| | |
| | | data() { |
| | | let userId = sessionStorage.getItem("userPowerGroup"); |
| | | let constRules = const_rules; |
| | | const vm = this; |
| | | return { |
| | | row: { |
| | | gutter: 16, |
| | |
| | | uname: [ |
| | | { |
| | | required: true, |
| | | // message: "请输入姓名", |
| | | message: this.$t('form.inputMsg'), |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | upassword: [ |
| | | { |
| | | required: true, |
| | | // message: "请输入密码", |
| | | message: this.$t('form.inputMsg'), |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | ubirthDay: [ |
| | | { |
| | | required: true, |
| | | // message: "请选择出生日期", |
| | | message: this.$t('form.inputMsg'), |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | umobilephone: [ |
| | | { |
| | | required: true, |
| | | // message: "请输入手机", |
| | | message: this.$t('form.inputMsg'), |
| | | trigger: "blur", |
| | | }, |
| | | { |
| | |
| | | uaccessionDay: [ |
| | | { |
| | | required: true, |
| | | // message: "请选择入职日期", |
| | | message: this.$t('form.inputMsg'), |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | visitIp: [ |
| | | { |
| | | validator(rule, value, callback) { |
| | | testVal(rule, value, callback, constRules.isWhiteIp) |
| | | testVal(rule, value, callback, constRules.isWhiteIp, vm) |
| | | }, |
| | | trigger: 'change' |
| | | }, |
| | |
| | | .staff { |
| | | margin-bottom: 6px; |
| | | } |
| | | /* .staff /deep/ .el-form-item__error { |
| | | padding-top: 0; |
| | | // top: 8%; |
| | | } */ |
| | | |
| | | .staff>p { |
| | | padding: 6px 5px; |
| | |
| | | </div> |
| | | </div> |
| | | <Dialog :title="dialogTitle" :visible.sync="centerDialogVisible" top='0' :close-on-click-modal="false" |
| | | class="dialog-center" width="700px" center> |
| | | class="dialog-center" width="800px" center> |
| | | <!-- addEdit --> |
| | | <add-edit v-if="reFresh" :seft="this" @success="success" @onClose="onClose" :status="status" :index="thisIndex" |
| | | :opt="opt"></add-edit> |