Surpriseplus
2022-09-21 7aceca2fd1064c0788403e7147cf66ac31d7ec85
用户信息管理
已修改3个文件
443 ■■■■■ 文件已修改
src/assets/lang/en.js 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/lang/zh.js 59 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/userManage/userInfoManage.vue 296 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/lang/en.js
@@ -13,6 +13,10 @@
    update: 'Modify',
    append: 'Append',
    operate: 'Operate',
    clickupload: 'Click Upload',
    upload: 'Upload',
    preservation: 'Preservation',
    close: 'Close',
  },
  dataManage: {
    dataManage: 'Data Manage',
@@ -285,25 +289,53 @@
      state: 'State',
      post: 'Post',
      addtime: 'Add Time',
      userAccount: 'User account',
      userInformation: 'User information',
      username: 'User name',
      userpssword: 'Password',
      userstate: 'User state',
      accountinformation: 'Account information',
      toapplied: 'To be applied',
      phoneticAlphabet: 'Phonetic initials',
      userchinesename: 'Chinese name',
      sex: 'Sex',
      userMan: 'Man',
      userWoMan: 'Female',
      nativePlace: 'Native place',
      identityCard: 'Identity card',
      education: 'Education',
      pleaseSelect: '- Please select -',
      occupation: 'Occupation name',
      email: 'Email',
      receiveSMS: 'Receive SMS',
      major: 'Major',
      phoneNumber: 'cell-phone number',
      officeTelephone: 'Office telephone',
      addressbook: 'Address of address book',
      remarks: 'Remarks',
      scanningcopy: 'Scanning copy',
      spantitle1: '(Recommended picture size: 262 ×  146 pixels)',
      spantitle2:
        '(Scanned copy of user account application form, file format: PDF, size shall not exceed 20M)',
    },
    orgManage: 'Org Manage',
    userAuditing: 'User Auditing',
    UA: {
      userName: "User Name",
      userName: 'User Name',
      usernameInfo: '',
      all: "all",
      approvalPassed: "The Approval Passed",
      disable: "The disabled",
      delete: "The deleted",
      pendingReview: "Pending Review",
      auditFailed: "The Audit Failed",
      userState: "User State",
      unitName: "Unit Name",
      pass: "Pass",
      deny: "Deny",
      query: "Query",
      reset: "Reset",
      ChineseName: "ChineseName【username】",
      all: 'all',
      approvalPassed: 'The Approval Passed',
      disable: 'The disabled',
      delete: 'The deleted',
      pendingReview: 'Pending Review',
      auditFailed: 'The Audit Failed',
      userState: 'User State',
      unitName: 'Unit Name',
      pass: 'Pass',
      deny: 'Deny',
      query: 'Query',
      reset: 'Reset',
      ChineseName: 'ChineseName【username】',
      affiliatedUnit: 'Affiliated Unit',
      auditUser: 'Audit User',
      auditDate: 'Audit Date',
@@ -311,28 +343,28 @@
    },
    roleManage: 'Role Manage',
    RM: {
      roleName: "roleName",
      roleName: 'roleName',
      ownedSystem: 'ownedSystem',
      add: 'add',
      query: "query",
      reset: "reset",
      index: "index",
      Permission: "Permission",
      resourcePermission: "Resource Permission",
      groupSetting: "groupSetting",
      query: 'query',
      reset: 'reset',
      index: 'index',
      Permission: 'Permission',
      resourcePermission: 'Resource Permission',
      groupSetting: 'groupSetting',
      one: 'one',
    },
    groupManage: 'groupManage',
    GM: {
      groupName: "groupName",
      groupName: 'groupName',
      ownedSystem: 'ownedSystem',
      add: 'add',
      index: "index",
      query: "query",
      reset: "reset",
      applicationName: "applicationName",
      userSetting: "userSetting",
      roleSetting: "roleSetting",
      index: 'index',
      query: 'query',
      reset: 'reset',
      applicationName: 'applicationName',
      userSetting: 'userSetting',
      roleSetting: 'roleSetting',
      one: 'A picture',
    },
  },
src/assets/lang/zh.js
@@ -13,6 +13,10 @@
    update: '修改',
    append: '新增',
    operate: '操作',
    clickupload: '点击上传',
    upload: '上传',
    preservation: '保存',
    close: '关闭',
  },
  dataManage: {
    dataManage: '数据管理',
@@ -284,25 +288,52 @@
      state: '状态',
      post: '职务',
      addtime: '添加时间',
      userAccount: '用户账号',
      userInformation: '用户资料',
      username: '用户名',
      userpssword: '密码',
      userstate: '用户状态',
      accountinformation: '账号信息',
      toapplied: '待申请',
      phoneticAlphabet: '拼音首字母',
      userchinesename: '中文名',
      sex: '性别',
      userMan: '男',
      userWoMan: '女',
      nativePlace: '籍贯',
      identityCard: '身份证',
      education: '学历',
      pleaseSelect: '- 请选择 -',
      occupation: '职业名称',
      email: 'Email',
      receiveSMS: '接收短信',
      major: '所学专业',
      phoneNumber: '手机号',
      officeTelephone: '办公室电话',
      addressbook: '通讯录地址',
      remarks: '备注说明',
      scanningcopy: '扫描件',
      spantitle1: '(建议图片大小:262 × 146 像素)',
      spantitle2: '(用户账号申请单扫描件,文件格式:PDF,大小不得超过20M)',
    },
    orgManage: '组织机构管理',
    userAuditing: '用户审核',
    UA: {
      userName: "用户名称",
      userName: '用户名称',
      usernameInfo: '输入用户名、中文名或拼音首字母查询',
      all: "全部",
      approvalPassed: "审核已通过",
      disable: "禁用",
      delete: "删除",
      pendingReview: "待审核",
      auditFailed: "审核不通过",
      userState: "用户状态",
      unitName: "单位名称",
      pass: "通过",
      deny: "不通过",
      query: "查询",
      reset: "清除",
      ChineseName: "中文名【用户名】",
      all: '全部',
      approvalPassed: '审核已通过',
      disable: '禁用',
      delete: '删除',
      pendingReview: '待审核',
      auditFailed: '审核不通过',
      userState: '用户状态',
      unitName: '单位名称',
      pass: '通过',
      deny: '不通过',
      query: '查询',
      reset: '清除',
      ChineseName: '中文名【用户名】',
      affiliatedUnit: '所属单位(在职)',
      auditUser: '审核人',
      auditDate: '审核时间',
src/views/userManage/userInfoManage.vue
@@ -57,7 +57,7 @@
        </el-form-item>
        <br />
        <el-form-item>
          <el-button type="success" size="small"
          <el-button type="success" size="small" @click="showAddDialog"
            ><i class="el-icon-plus"></i>&nbsp;{{
              $t('common.append')
            }}</el-button
@@ -165,6 +165,255 @@
        </el-pagination>
      </div>
    </div>
    <el-dialog :visible.sync="dialogTableVisible" width="57%" >
      <el-tabs v-model="activeName" @tab-click="handleClick">
        <el-tab-pane
          :label="$t('userManage.userInfoObj.userAccount')"
          name="first"
        >
          <el-form
            :model="ruleForm"
            :rules="rules"
            ref="ruleForm"
            label-width="100px"
            class="demo-ruleForm"
          >
            <el-form-item
              :label="$t('userManage.userInfoObj.username')"
              prop="name"
            >
              <el-input v-model="ruleForm.name"></el-input>
            </el-form-item>
            <el-form-item
              :label="$t('userManage.userInfoObj.userpssword')"
              prop="password"
            >
              <el-input type="password" v-model="ruleForm.password"></el-input>
            </el-form-item>
            <el-form-item
              :label="$t('userManage.userInfoObj.userstate')"
              prop="password"
            >
              <label>{{ $t('userManage.userInfoObj.toapplied') }}</label>
            </el-form-item>
          </el-form>
        </el-tab-pane>
        <el-tab-pane
          :label="$t('userManage.userInfoObj.userInformation')"
          name="second"
        >
          <el-form
            :model="ruleForm"
            :rules="rules"
            ref="ruleForm"
            label-width="180px"
            class="demo-ruleForm"
          >
            <el-row>
              <el-col :span="12">
                <el-form-item
                  <el-form-item
                  :label="$t('userManage.userInfoObj.userchinesename')"
                  prop="name"
                >
                  <el-input v-model="ruleForm.name"></el-input>
                </el-form-item>
                <el-form-item
                  <el-form-item
                  :label="$t('userManage.userInfoObj.username')"
                  prop="name"
                >
                  <el-input v-model="ruleForm.name"></el-input>
                </el-form-item>
                <el-form-item
                  <el-form-item
                  :label="$t('userManage.userInfoObj.sex')"
                >
                  <el-radio v-model="radio" label="1">{{$t('userManage.userInfoObj.userMan')}}</el-radio>
                  <el-radio v-model="radio" label="2">{{$t('userManage.userInfoObj.userWoMan')}}</el-radio>
                </el-form-item>
                <el-form-item
                  <el-form-item
                  :label="$t('userManage.userInfoObj.nativePlace')"
                >
                  <el-input v-model="ruleForm.name"></el-input>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <div style="margin-left: 35px">
                  <div
                    style="
                      width: 205px;
                      height: 185px;
                      border: 1px solid gray;
                      margin: 5px;
                    "
                  >
                    <img />
                  </div>
                  <el-upload
                    class="upload-demo"
                    action="https://jsonplaceholder.typicode.com/posts/"
                    list-type="picture"
                  >
                    <el-button size="small" type="primary">{{$t('common.clickupload')}}</el-button>
                    <span style="color: red"
                      >  {{$t('userManage.userInfoObj.spantitle1')}}</span
                    >
                  </el-upload>
                </div>
              </el-col>
            </el-row>
            <el-row>
              <el-col :span="12">
                <el-form-item
                  <el-form-item
                  :label="$t('userManage.userInfoObj.identityCard')"
                >
                  <el-input v-model="ruleForm.name"></el-input>
                </el-form-item>
              </el-col>
              <el-col :span="12"
                ><el-form-item
                  <el-form-item
                  :label="$t('userManage.userInfoObj.education')"
                >
                  <el-select
                    v-model="form.region"
                    class="select"
                    :placeholder="$t('userManage.userInfoObj.pleaseSelect')"
                  >
                    <el-option label="Zone one" value="shanghai" />
                    <el-option label="Zone two" value="beijing" />
                  </el-select>
                </el-form-item>
              </el-col>
            </el-row>
            <el-row>
              <el-col :span="12">
                <el-form-item
                  <el-form-item
                  :label="$t('userManage.userInfoObj.occupation')"
                >
                  <el-select
                    v-model="form.region"
                    class="select"
                      :placeholder="$t('userManage.userInfoObj.pleaseSelect')"
                  >
                    <el-option label="Zone one" value="shanghai" />
                    <el-option label="Zone two" value="beijing" />
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col :span="12"
                ><el-form-item
                  <el-form-item
                  :label="$t('userManage.userInfoObj.post')"
                >
                  <el-select
                    class="select"
                    v-model="form.region"
                       :placeholder="$t('userManage.userInfoObj.pleaseSelect')"
                  >
                    <el-option label="Zone one" value="shanghai" />
                    <el-option label="Zone two" value="beijing" />
                  </el-select>
                </el-form-item>
              </el-col>
            </el-row>
                        <el-row>
              <el-col :span="12">
                <el-form-item
                  <el-form-item
                  :label="$t('userManage.userInfoObj.email')"
                >
                  <el-input v-model="ruleForm.name"></el-input>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item
                  <el-form-item
                  :label="$t('userManage.userInfoObj.major')"
                >
                  <el-input v-model="ruleForm.name"></el-input>
                </el-form-item>
              </el-col>
            </el-row>
            <el-row>
              <el-col :span="12">
                <el-form-item
                  :label="$t('userManage.userInfoObj.phoneNumber')"
                >
                  <el-input
                    v-model="ruleForm.name"
                    style="width: 225px"
                  ></el-input>
                  <el-checkbox style="margin-left: 10px" v-model="checked"
                    >{{$t('userManage.userInfoObj.receiveSMS')}}</el-checkbox
                  >
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item
                  :label="$t('userManage.userInfoObj.officeTelephone')"
                >
                  <el-input v-model="ruleForm.name"></el-input>
                </el-form-item>
              </el-col>
            </el-row>
            <el-row>
                <el-col :span="24">
                   <el-form-item
                  :label="$t('userManage.userInfoObj.addressbook')"
                >
                  <el-input style="width:755px" v-model="ruleForm.name"></el-input>
                </el-form-item>
                </el-col>
              </el-form-item>
            </el-row>
             <el-row>
                <el-col :span="24">
                   <el-form-item
                  :label="$t('userManage.userInfoObj.remarks')"
                >
                  <el-input type="textarea" style="width:755px" v-model="ruleForm.name"></el-input>
                </el-form-item>
                </el-col>
              </el-form-item>
            </el-row>
            <el-row>
                <el-col :span="24">
                   <el-form-item
                  :label="$t('userManage.userInfoObj.scanningcopy')"
                >
              <el-upload
                    class="upload-demo"
                    action="https://jsonplaceholder.typicode.com/posts/"
                    list-type="picture"
                  >
                    <el-button size="small" type="primary">{{$t('common.upload')}}</el-button>
                    <span style="color: red"
                      >  {{$t('userManage.userInfoObj.spantitle2')}}</span>
                  </el-upload>
                </el-form-item>
                </el-col>
              </el-form-item>
            </el-row>
          </el-form>
        </el-tab-pane>
      </el-tabs>
      <el-button type="primary" @click="onSubmit">{{$t('common.preservation')}}</el-button>
      <el-button>{{$t('common.close')}}</el-button>
    </el-dialog>
  </div>
</template>
@@ -180,6 +429,36 @@
  data() {
    return {
      currentPage: 1,
      dialogTableVisible: false,
      activeName: 'first',
      ruleForm: { name: '', password: '' },
      ruleForm1: {
        name: '',
        value: '',
      },
      rules: {
        name: [
          { required: true, message: '请输入用户名', trigger: 'blur' },
          { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' },
        ],
        password: [
          { required: true, message: '请输入密码', trigger: 'blur' },
          {
            trigger: 'blur',
            validator: (rule, value, callback) => {
              var passwordreg =
                /(?=.*\d)(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9]).{8,20}/;
              if (!passwordreg.test(value)) {
                callback(
                  new Error('密码必须由数字、字母、特殊字符组合,请输入8-20位')
                );
              } else {
                callback();
              }
            },
          },
        ],
      },
      form: {
        username: '',
        ownedSystem: 'all',
@@ -294,6 +573,9 @@
    resetForm(formName) {
      this.$refs[formName].resetFields();
    },
    showAddDialog() {
      this.dialogTableVisible = true;
    },
  },
  created() {},
};
@@ -337,5 +619,17 @@
  .text-center {
    text-align: center;
  }
  .select {
    width: 300px;
  }
}
/deep/ .el-card__header {
  padding: 10px 10px !important;
}
/deep/ .el-dialog {
  margin-top: 2vh !important;
}
/deep/ .el-dialog__wrapper{
  overflow: hidden !important;
}
</style>