he wei
2023-04-21 75ea43086e4932aec330c0f96c8e668a22f76671
UA 用户信息管理修改
5个文件已修改
1个文件已添加
67 ■■■■■ 已修改文件
src/assets/css/common.css 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/js/const/const_rules.js 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/js/i18n/const_rules.js 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/js/tools/testVal.js 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/userMager/addEdit.vue 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/userMager/userInfo.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/css/common.css
@@ -288,10 +288,10 @@
}
/* 列表不对齐样式 */
.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 {
src/assets/js/const/const_rules.js
@@ -2,16 +2,16 @@
  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"
  },
}
src/assets/js/i18n/const_rules.js
New file
@@ -0,0 +1,14 @@
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',
    }
  }
}
src/assets/js/tools/testVal.js
@@ -1,16 +1,18 @@
/**
 * 校验数据
 * 校验数据 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;
@@ -23,7 +25,7 @@
    }
    if(result.code == 0) {
        callback(new Error(option.msg));
        callback(new Error(msg));
    }else {
        callback()
    }
src/views/userMager/addEdit.vue
@@ -26,7 +26,6 @@
            </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="">
@@ -38,7 +37,6 @@
          </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')">
@@ -51,7 +49,6 @@
              </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="">
@@ -60,7 +57,6 @@
              </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="">
@@ -78,12 +74,11 @@
            </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'">
@@ -95,7 +90,7 @@
            </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">
@@ -104,7 +99,7 @@
          </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>
@@ -129,7 +124,8 @@
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],
@@ -137,6 +133,7 @@
  data() {
    let userId = sessionStorage.getItem("userPowerGroup");
    let constRules = const_rules;
    const vm = this;
    return {
      row: {
        gutter: 16,
@@ -187,28 +184,28 @@
        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",
          },
          {
@@ -221,14 +218,14 @@
        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'
          },
@@ -469,6 +466,10 @@
.staff {
  margin-bottom: 6px;
}
/* .staff /deep/ .el-form-item__error {
  padding-top: 0;
//  top: 8%;
} */
.staff>p {
  padding: 6px 5px;
src/views/userMager/userInfo.vue
@@ -70,7 +70,7 @@
      </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>