| | |
| | | export default { |
| | | // privateKey: "MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAI+kneP5IdDr2Wqr5KF"+ |
| | | // "Xt14DjRj7ytitrquvhF44n5QTt6Ty2wkmtzLXEw7VKimEl0ddfBI1tlaGclb0aUirVSboimWTAVz8C3Kh4kM/cQm1RmAjkfp"+ |
| | | // "9LPQE8sUefXwLQ3HPUGvXT1TTsOpB0yxqtwGYpdhDD7ahk7PQqkDlvQVrAgMBAAECgYA8ASdX4W2n6a4kKnRSleLqqg8aHazqAP"+ |
| | | // "vTinmAJqU65VW02SJ42yxyV3gFnTSErXfIfxviO3/U+0ruWiFVEwV5oDEh0dOd+HHGm4YzFXIRglMeRBgLuVJ+owzoVDwZsti"+ |
| | | // "IBa69DIjaJtmpSf5FjwxAth+gtCv3e11IXHraKN720QJBAMPMB1WtmpRGYHxWVYjKSL+RGw+h3gMQLk3exZjhmYRlXuqfVZ2Zol+NazDc59"+ |
| | | // "K5f+geMdJ0/X2kKnKLVjWzYHMCQQC7z1cFYswtLemxGfj+dwlVC01VL4pKa7HGHl/FAQ2UNYZY2d5hE/nXYbTpfI0gMowX926/aFpia7Nb"+ |
| | | // "AUJO7WEpAkAyUFa+LJthaOhYazMVsK2bFKW4kabkcJ8Fga6TR73UaNxIPGOa2SUBmuylpM6ptuNoeYHiDBAr3ijOQIIJ0KuDAkBy9fPahCNe9F+73"+ |
| | | // "J4hhVPdDtIDdto7u7hSAX215XMeabUW5iXNXqDsSg6nbWolb0t50CemWoYZALwE1Lx1+7AhAkEAoZtFt+2skjAxHEqNUye4vKBqB2Ng/wmfitCfT34"+ |
| | | // "lXWQsxs4BGk/8eQMzkam9bcB7FcinolxHF/1UjsUYpI+AgA==", |
| | | privateKey: "", |
| | | privateKey: "MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAI+kneP5IdDr2Wqr5KF"+ |
| | | "Xt14DjRj7ytitrquvhF44n5QTt6Ty2wkmtzLXEw7VKimEl0ddfBI1tlaGclb0aUirVSboimWTAVz8C3Kh4kM/cQm1RmAjkfp"+ |
| | | "9LPQE8sUefXwLQ3HPUGvXT1TTsOpB0yxqtwGYpdhDD7ahk7PQqkDlvQVrAgMBAAECgYA8ASdX4W2n6a4kKnRSleLqqg8aHazqAP"+ |
| | | "vTinmAJqU65VW02SJ42yxyV3gFnTSErXfIfxviO3/U+0ruWiFVEwV5oDEh0dOd+HHGm4YzFXIRglMeRBgLuVJ+owzoVDwZsti"+ |
| | | "IBa69DIjaJtmpSf5FjwxAth+gtCv3e11IXHraKN720QJBAMPMB1WtmpRGYHxWVYjKSL+RGw+h3gMQLk3exZjhmYRlXuqfVZ2Zol+NazDc59"+ |
| | | "K5f+geMdJ0/X2kKnKLVjWzYHMCQQC7z1cFYswtLemxGfj+dwlVC01VL4pKa7HGHl/FAQ2UNYZY2d5hE/nXYbTpfI0gMowX926/aFpia7Nb"+ |
| | | "AUJO7WEpAkAyUFa+LJthaOhYazMVsK2bFKW4kabkcJ8Fga6TR73UaNxIPGOa2SUBmuylpM6ptuNoeYHiDBAr3ijOQIIJ0KuDAkBy9fPahCNe9F+73"+ |
| | | "J4hhVPdDtIDdto7u7hSAX215XMeabUW5iXNXqDsSg6nbWolb0t50CemWoYZALwE1Lx1+7AhAkEAoZtFt+2skjAxHEqNUye4vKBqB2Ng/wmfitCfT34"+ |
| | | "lXWQsxs4BGk/8eQMzkam9bcB7FcinolxHF/1UjsUYpI+AgA==", |
| | | //privateKey: "", |
| | | publicKey: "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCPpJ3j+SHQ69lqq+ShV7deA40Y+8rYra6rr4ReOJ+UE7ek8tsJJrcy1xMO1SophJdH"+ |
| | | "XXwSNbZWhnJW9GlIq1Um6IplkwFc/AtyoeJDP3EJtUZgI5H6fSz0BPLFHn18C0Nxz1Br109U07DqQdMsarcBmKXYQw+2oZOz0KpA5b0FawIDAQAB" |
| | | } |
| | |
| | | label: "用户信息管理", |
| | | name: "userInfoMager", |
| | | src: "#/userMager/userInfo", |
| | | permitName: "usr_query_permit", |
| | | closable: true, |
| | | id: 7001, |
| | | menuId: 7, |
| | |
| | | label: "权限管理", |
| | | name: "powerMager", |
| | | src: "#/userMager/powerMager", |
| | | permitName: "permit_query_permit", |
| | | closable: true, |
| | | id: 7003, |
| | | menuId: 7, |
| | |
| | | label: "包机组管理", |
| | | name: "baojiMager", |
| | | src: "#/userMager/baojiMager", |
| | | permitName: "usr_query_permit", |
| | | closable: true, |
| | | id: 7004, |
| | | menuId: 7, |
| | |
| | | { |
| | | label: "系统配置", |
| | | name: "realTimeSetting", |
| | | permitName: "batt_test_op_permit", |
| | | src: "#/pageSetting/realTime", |
| | | closable: true, |
| | | id: 8001, |
| | |
| | | ]; |
| | | break; |
| | | case 2: |
| | | list = [ |
| | | { |
| | | label: "首页", |
| | | name: "index", |
| | | src: homeSrc, |
| | | icon: "el-icon-s-home", |
| | | noChild: true, |
| | | closable: false, |
| | | id: 1, |
| | | menuId: 0, |
| | | enableduse: true, |
| | | ord: 1, |
| | | level: 1, |
| | | disabled: true |
| | | }, |
| | | { |
| | | label: "用户管理", |
| | | name: "userMager", |
| | | src: "", |
| | | icon: "el-icon-user-solid", |
| | | closable: false, |
| | | noChild: false, |
| | | id: 7, |
| | | menuId: 7, |
| | | enableduse: true, |
| | | ord: 7, |
| | | level: 1, |
| | | childrens: [ |
| | | { |
| | | label: "操作事件管理", |
| | | name: "operationRecordMager", |
| | | src: "#/userMager/operationRecord", |
| | | closable: true, |
| | | id: 7005, |
| | | menuId: 7, |
| | | enableduse: true, |
| | | ord: 5, |
| | | level: 2, |
| | | }, |
| | | // 最大ord=6 |
| | | ] |
| | | }, |
| | | ]; |
| | | break; |
| | | case 3: |
| | | list = [ |
| | | { |
| | | label: "首页", |
| | | name: "index", |
| | | src: homeSrc, |
| | | icon: "el-icon-s-home", |
| | | noChild: true, |
| | | closable: false, |
| | | id: 1, |
| | | menuId: 0, |
| | | enableduse: true, |
| | | ord: 1, |
| | | level: 1, |
| | | disabled: true |
| | | }, |
| | | { |
| | | label: "系统设置", |
| | | name: "systemPageSetting", |
| | | src: "", |
| | | icon: "el-icon-s-management", |
| | | closable: false, |
| | | noChild: false, |
| | | id: 8, |
| | | menuId: 8, |
| | | enableduse: true, |
| | | ord: 8, |
| | | level: 1, |
| | | childrens: [ |
| | | { |
| | | label: "系统配置", |
| | | name: "realTimeSetting", |
| | | src: "#/pageSetting/realTime", |
| | | closable: true, |
| | | id: 8001, |
| | | menuId: 8, |
| | | enableduse: true, |
| | | ord: 1, |
| | | level: 2, |
| | | disabled: true |
| | | }, |
| | | ] |
| | | } |
| | | ]; |
| | | break; |
| | | case 4: |
| | | list = [ |
| | | { |
| | | label: "首页", |
| | | name: "index", |
| | | src: homeSrc, |
| | | icon: "el-icon-s-home", |
| | | noChild: true, |
| | | closable: false, |
| | | id: 1, |
| | | menuId: 0, |
| | | enableduse: true, |
| | | ord: 1, |
| | | level: 1, |
| | | disabled: true |
| | | }, |
| | | { |
| | | label: "用户管理", |
| | | name: "userMager", |
| | | src: "", |
| | | icon: "el-icon-user-solid", |
| | | closable: false, |
| | | noChild: false, |
| | | id: 7, |
| | | menuId: 7, |
| | | enableduse: true, |
| | | ord: 7, |
| | | level: 1, |
| | | childrens: [ |
| | | { |
| | | label: "权限管理", |
| | | name: "powerMager", |
| | | src: "#/userMager/powerMager", |
| | | closable: true, |
| | | id: 7003, |
| | | menuId: 7, |
| | | enableduse: true, |
| | | ord: 3, |
| | | level: 2, |
| | | }, |
| | | { |
| | | label: "包机组管理", |
| | | name: "baojiMager", |
| | | src: "#/userMager/baojiMager", |
| | | closable: true, |
| | | id: 7004, |
| | | menuId: 7, |
| | | enableduse: true, |
| | | ord: 4, |
| | | level: 2, |
| | | }, |
| | | // 最大ord=6 |
| | | ] |
| | | } |
| | | ]; |
| | | break; |
| | | case 5: |
| | | list = [ |
| | | { |
| | | label: "首页", |
| | |
| | | // 最大ord=3 |
| | | ], |
| | | }, |
| | | { |
| | | label: "用户管理", |
| | | name: "userMager", |
| | | src: "", |
| | | icon: "el-icon-user-solid", |
| | | closable: false, |
| | | noChild: false, |
| | | id: 7, |
| | | menuId: 7, |
| | | enableduse: true, |
| | | ord: 7, |
| | | level: 1, |
| | | childrens: [ |
| | | { |
| | | label: "用户人脸管理", |
| | | name: "userFaceManager", |
| | | src: "#/faceManager/userFaceManager", |
| | | closable: true, |
| | | id: 7002, |
| | | menuId: 7, |
| | | enableduse: true, |
| | | ord: 2, |
| | | level: 2, |
| | | }, |
| | | // 最大ord=6 |
| | | ] |
| | | }, |
| | | ]; |
| | | break; |
| | | } |
New file |
| | |
| | | /** |
| | | * 获取密码的校验规则 |
| | | * @param type 密码的校验类型 |
| | | * @param num 密码的最小长度 |
| | | * @returns {{msg: string, pattern: string, regVal: boolean}} |
| | | */ |
| | | function getPasswordRule(type, num) { |
| | | let result = { |
| | | pattern: "", |
| | | regVal: false, |
| | | msg: "" |
| | | }; |
| | | switch (Number(type)) { |
| | | case 1: |
| | | result.pattern = new RegExp("(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[^]{"+num+",}"); |
| | | result.msg="最少"+num+"个字符,至少1个大写字母,1个小写字母和1个数字"; |
| | | break; |
| | | case 2: |
| | | result.pattern = new RegExp("(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[$@$!%*?&.])[A-Za-z\\d$@$!%*?&.]{"+num+",}"); |
| | | result.msg="最少"+num+"个字符,至少1个大写字母,1个小写字母和1个特殊字符"; |
| | | break; |
| | | case 3: |
| | | result.pattern = new RegExp("(?=.*[A-Z])(?=.*\\d)(?=.*[$@$!%*#?&])[A-Z\\d$@$!%*#?&][^]{"+num+",}"); |
| | | result.msg="最少"+num+"个字符,至少1个大写字母,1个数字和1个特殊字符"; |
| | | break; |
| | | case 4: |
| | | result.pattern = new RegExp("(?=.*[a-z])(?=.*\\d)(?=.*[$@$!%*#?&])[a-z\\d$@$!%*#?&][^]{"+num+",}"); |
| | | result.msg = "最少"+num+"个字符,至少1个小写字母,1个数字和1个特殊字符"; |
| | | break; |
| | | default: |
| | | result.pattern = new RegExp("(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[$@$!%*?&])[A-Za-z\\d$@$!%*?&]{"+num+",}"); |
| | | result.msg="最少"+num+"个字符,至少1个大写字母,1个小写字母,1个数字和1个特殊字符"; |
| | | break; |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | export default getPasswordRule; |
| | |
| | | import getPasswordRule from "@/assets/js/tools/getPasswordRule"; |
| | | |
| | | export default { |
| | | /** |
| | | * 用户名校验 |
| | |
| | | if (!value) { |
| | | return callback(new Error('密码不能为空')); |
| | | } |
| | | let pattern = /^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\\W_!@#$%^&*`~()-+=]+$)(?![a-z0-9]+$)(?![a-z\\W_!@#$%^&*`~()-+=]+$)(?![0-9\\W_!@#$%^&*`~()-+=]+$)[a-zA-Z0-9\\W_!@#$%^&*`~()-+=]{8,30}$/; |
| | | |
| | | // 根据密码类型和长度动态生成校验规则 |
| | | let type = sessionStorage.getItem("passwordType"); |
| | | let num = sessionStorage.getItem("passwordNum"); |
| | | type = type?Number(type):5; |
| | | num = num?Number(num):8; |
| | | let passwordRule = getPasswordRule(type, num); |
| | | |
| | | let pattern = passwordRule.pattern; |
| | | if(!pattern.test(value)) { |
| | | return callback(new Error('长度至少8位,必须符合由数字,大写字母,小写字母,特殊符,至少其中三种组成密码')); |
| | | return callback(new Error(passwordRule.msg)); |
| | | } |
| | | return callback(); |
| | | } |
| | |
| | | <template> |
| | | <div class="flex-box" :class="sizeClass"> |
| | | <div |
| | | class="flex-box" |
| | | :class="sizeClass" |
| | | v-loading="loading" |
| | | element-loading-text="拼命加载中" |
| | | element-loading-spinner="el-icon-loading" |
| | | element-loading-background="rgba(0, 0, 0, 0.2)"> |
| | | <div class="flex-box-border border-top-left"></div> |
| | | <div class="flex-box-border border-top-right"></div> |
| | | <div class="flex-box-border border-bottom-left"></div> |
| | |
| | | type: String, |
| | | default: "", |
| | | }, |
| | | loading: { |
| | | type: Boolean, |
| | | default: false, |
| | | }, |
| | | }, |
| | | computed: { |
| | | sizeClass() { |
| | |
| | | }, |
| | | showSingularDrawer() { |
| | | this.showSingular = true; |
| | | } |
| | | }, |
| | | searchPasswordRules() { |
| | | this.$apis.pageSetting.realTime.searchParam({ |
| | | categoryId: 10 |
| | | }).then(res=>{ |
| | | let rs = JSON.parse(res.data.result); |
| | | if(rs.code == 1 && rs.data.length != 0) { |
| | | let data = rs.data; |
| | | // 读取字符长度 |
| | | sessionStorage.setItem("passwordNum", data[0].status); |
| | | // 读取密码类型 |
| | | sessionStorage.setItem("passwordType", data[1].status); |
| | | }else { |
| | | // 读取字符长度 |
| | | sessionStorage.setItem("passwordNum", "8"); |
| | | // 读取密码类型 |
| | | sessionStorage.setItem("passwordType", "4"); |
| | | } |
| | | }).catch(error=>{ |
| | | // 读取字符长度 |
| | | sessionStorage.setItem("passwordNum", "8"); |
| | | // 读取密码类型 |
| | | sessionStorage.setItem("passwordType", "4"); |
| | | }); |
| | | }, |
| | | }, |
| | | computed: { |
| | | processAlarmMsg() { |
| | |
| | | |
| | | // 初始化实时页面页签 |
| | | this.initPageConfig(); |
| | | |
| | | // 查询密码规则 |
| | | this.searchPasswordRules(); |
| | | }, |
| | | destroyed() { |
| | | this.timer.stop(); |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import getPasswordRule from "@/assets/js/tools/getPasswordRule"; |
| | | |
| | | export default { |
| | | name: "PwdChange", |
| | | props: { |
| | |
| | | }, |
| | | data() { |
| | | let name = this.name; |
| | | // 根据密码类型和长度动态生成校验规则 |
| | | let type = sessionStorage.getItem("passwordType"); |
| | | let num = sessionStorage.getItem("passwordNum"); |
| | | type = type?Number(type):5; |
| | | num = num?Number(num):8; |
| | | let passwordRule = getPasswordRule(type, num); |
| | | |
| | | let validatePass = (rule, value, callback) => { |
| | | let name = this.params.userName; |
| | | let pwdRegex = /^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\\W_!@#$%^&*`~()-+=]+$)(?![a-z0-9]+$)(?![a-z\\W_!@#$%^&*`~()-+=]+$)(?![0-9\\W_!@#$%^&*`~()-+=]+$)[a-zA-Z0-9\\W_!@#$%^&*`~()-+=]{8,30}$/;; |
| | | let pwdRegex = passwordRule.pattern; |
| | | let nameReg = new RegExp(name); |
| | | if (pwdRegex.test(value)) { // 校验密码规则是否正确 |
| | | callback(); |
| | | } else if(nameReg.test(value)) { // 校验密码中是否存在用户名 |
| | | callback(new Error("密码中存在用户名信息")); |
| | | } else { |
| | | callback(new Error('长度至少8位,必须符合由数字,大写字母,小写字母,特殊符,至少其中三种组成密码')); |
| | | callback(new Error(passwordRule.msg)); |
| | | } |
| | | }; |
| | | return { |
| | |
| | | this.startReadSeconds(); |
| | | } |
| | | |
| | | // 查询密码规则 |
| | | this.searchPasswordRules(); |
| | | // 初始化置动 |
| | | this.$store.dispatch("user/changeAutoLogin", 0); |
| | | this.$store.dispatch("user/changePage", "m1c0"); |
| | |
| | | console.log(res); |
| | | }).catch(error => { |
| | | console.log(error); |
| | | }); |
| | | }, |
| | | searchPasswordRules() { |
| | | this.$apis.pageSetting.realTime.searchParam({ |
| | | categoryId: 10 |
| | | }).then(res=>{ |
| | | let rs = JSON.parse(res.data.result); |
| | | if(rs.code == 1 && rs.data.length != 0) { |
| | | let data = rs.data; |
| | | // 读取字符长度 |
| | | sessionStorage.setItem("passwordNum", data[0].status); |
| | | // 读取密码类型 |
| | | sessionStorage.setItem("passwordType", data[1].status); |
| | | }else { |
| | | // 读取字符长度 |
| | | sessionStorage.setItem("passwordNum", "8"); |
| | | // 读取密码类型 |
| | | sessionStorage.setItem("passwordType", "4"); |
| | | } |
| | | }).catch(error=>{ |
| | | // 读取字符长度 |
| | | sessionStorage.setItem("passwordNum", "8"); |
| | | // 读取密码类型 |
| | | sessionStorage.setItem("passwordType", "4"); |
| | | }); |
| | | }, |
| | | }, |
| | |
| | | //console.log(JSON.stringify("5OUaEnC33sVNY+jeXlx3Qg==")); |
| | | // let rsaWord = RSA.encrypt("123456"); |
| | | // console.log(rsaWord); |
| | | //console.log(RSA.decrypt("", const_num.privateKey)); |
| | | console.log(RSA.decrypt("f/SEw4pYzY2kAhgBOSOh5CCstWQqh5G2D0w+d7OyvhQ/H25Ph0WelI2JezrOFzNuAA4jCDJljNqzMio+hIYRVoXGWtSr4+PDro4GabjNh2wOb2Y9z9EJExphgr9/igpOqodHPXIZwbC+I8VakHLmeodpvPGx4EQD4/Tq2Czxov0=", const_num.privateKey)); |
| | | }, |
| | | }; |
| | | </script> |
New file |
| | |
| | | <template> |
| | | <div class="limit-lock"> |
| | | <div class="limit-lock-content"> |
| | | <flex-box title="密码复杂度配置" size="mini" :loading="loading"> |
| | | <div class="input-wrapper"> |
| | | <div class="input-content"> |
| | | <span class="input-label">密码长度(8~24)</span> |
| | | <el-input size="small" v-model.number="passwordNum.status"></el-input> |
| | | <br> |
| | | <br> |
| | | <span class="input-label">密码组合方式</span> |
| | | <el-select v-model="passwordType.status" size="small"> |
| | | <el-option |
| | | v-for="(item, key) in types" :key="'key'+key" |
| | | :label="item.label" |
| | | :value="item.value"></el-option> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | <div class="flex-box-footer" slot="footer"> |
| | | <el-button type="primary" @click="updateAll">确认修改</el-button> |
| | | <el-button type="warning" @click="search">恢复/刷新</el-button> |
| | | </div> |
| | | </flex-box> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import FlexBox from "@/components/FlexBox"; |
| | | import checkVal from "@/assets/js/tools/checkVal"; |
| | | export default { |
| | | name: "passwordComplex", |
| | | components: { |
| | | FlexBox |
| | | }, |
| | | data() { |
| | | return { |
| | | loading: false, |
| | | passwordNum: { |
| | | categoryId: 0, |
| | | id: 42, |
| | | param: "密码设置规则-位数", |
| | | status: 8, |
| | | }, |
| | | passwordType: { |
| | | categoryId: 0, |
| | | id: 43, |
| | | param: "密码设置规则-符号类型", |
| | | status: 1, |
| | | }, |
| | | types: [ |
| | | { |
| | | value: 1, |
| | | label: "大写字母,小写字母,数字" |
| | | }, |
| | | { |
| | | value: 2, |
| | | label: "大写字母,小写字母,特殊字符" |
| | | }, |
| | | { |
| | | value: 3, |
| | | label: "大写字母,数字,特殊字符" |
| | | }, |
| | | { |
| | | value: 4, |
| | | label: "小写字母,数字,特殊字符" |
| | | }, |
| | | { |
| | | value: 5, |
| | | label: "大写字母,小写字母,数字,特殊字符" |
| | | }, |
| | | ], |
| | | } |
| | | }, |
| | | methods: { |
| | | updateAll() { |
| | | if(!this.passwordNum.status) { |
| | | this.$layer.msg("请输入失败次数!"); |
| | | return; |
| | | } |
| | | let checkPasswordNumRs = checkVal(this.passwordNum.status, { |
| | | pattern: /^[0-9]+(\.[0-9]*)?$/, |
| | | regVal: true, |
| | | min: 8, |
| | | max: 24, |
| | | msg: '取值范围8~24' |
| | | }); |
| | | if(checkPasswordNumRs.code == 0) { |
| | | this.$layer.msg(checkPasswordNumRs.msg); |
| | | return; |
| | | } |
| | | this.loading = true; |
| | | // 请求后台 |
| | | this.$axios.all([ |
| | | this.update(this.passwordType), |
| | | this.update(this.passwordNum), |
| | | ]).then(res=>{ |
| | | this.loading = false; |
| | | this.$layer.msg("修改成功"); |
| | | }).catch(error=>{ |
| | | this.loading = false; |
| | | console.log(error); |
| | | this.$layer.msg("修改失败"); |
| | | }); |
| | | }, |
| | | update(data) { |
| | | // 请求后台 |
| | | this.$apis.pageSetting.realTime.updateStatus(data).then(res=>{ |
| | | let rs = JSON.parse(res.data.result); |
| | | }).catch(error=>{}); |
| | | }, |
| | | search() { |
| | | this.loading=true; |
| | | this.$apis.pageSetting.realTime.searchParam({ |
| | | categoryId: 10 |
| | | }).then(res=>{ |
| | | this.loading = false; |
| | | let rs = JSON.parse(res.data.result); |
| | | if(rs.code == 1 && rs.data.length != 0) { |
| | | let data = rs.data; |
| | | // 读取字符长度 |
| | | this.passwordNum.status = data[0].status; |
| | | this.passwordNum.id = data[0].id; |
| | | |
| | | // 读取密码类型 |
| | | this.passwordType.status = data[1].status; |
| | | this.passwordType.id = data[1].id; |
| | | |
| | | }else { |
| | | this.$layer.msg("获取密码规则失败,请联系管理员。"); |
| | | } |
| | | }).catch(error=>{ |
| | | this.loading = false; |
| | | this.$layer.msg("获取密码规则失败,请联系管理员。"); |
| | | }); |
| | | }, |
| | | }, |
| | | mounted() { |
| | | this.search(); |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .limit-lock { |
| | | display: flex; |
| | | justify-content: center; |
| | | height: 100%; |
| | | } |
| | | .limit-lock-content { |
| | | width: 450px; |
| | | height: 260px; |
| | | margin-top: 160px; |
| | | } |
| | | .flex-box-footer { |
| | | padding: 16px; |
| | | text-align: right; |
| | | } |
| | | .input-wrapper { |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | height: 100%; |
| | | } |
| | | .input-content { |
| | | width: 80%; |
| | | } |
| | | .input-content .el-select { |
| | | width: 100%; |
| | | } |
| | | .input-label { |
| | | display: inline-block; |
| | | padding: 4px 0; |
| | | font-size: 14px; |
| | | } |
| | | </style> |
| | |
| | | <el-tab-pane label="审计容量配置" v-if="isSystemAdmin"> |
| | | <audit-cap-setting></audit-cap-setting> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="口令复杂度" v-if="isSystemAdmin"> |
| | | <password-complex></password-complex> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </content-box> |
| | | </template> |
| | |
| | | import IpLimit from "@/pages/pageSetting/components/ipLimit"; |
| | | import MenuApprove from "@/pages/pageSetting/components/menuApprove"; |
| | | import AuditCapSetting from "@/pages/pageSetting/components/auditCapSetting"; |
| | | import PasswordComplex from "@/pages/pageSetting/components/passwordComplex"; |
| | | |
| | | export default { |
| | | components: { |
| | | PasswordComplex, |
| | | AuditCapSetting, |
| | | MenuApprove, |
| | | IpLimit, |
| | |
| | | ContentBox |
| | | }, |
| | | data() { |
| | | let isSystemAdmin = sessionStorage.getItem("userId"); |
| | | let isSystemAdmin = sessionStorage.getItem("userPowerGroup"); |
| | | |
| | | return { |
| | | status: { |
| | |
| | | }, |
| | | ] |
| | | }, |
| | | // { |
| | | // id: 'power_manage', |
| | | // label: '权限管理', |
| | | // children: [ |
| | | // { |
| | | // id: 'permit_query_permit', |
| | | // label: '查询', |
| | | // leaf: true, |
| | | // }, |
| | | // { |
| | | // id: 'permit_edit_permit', |
| | | // label: '编辑', |
| | | // leaf: true, |
| | | // }, |
| | | // ] |
| | | // }, |
| | | { |
| | | id: 'power_manage', |
| | | label: '权限管理', |
| | | children: [ |
| | | { |
| | | id: 'permit_query_permit', |
| | | label: '查询', |
| | | leaf: true, |
| | | }, |
| | | { |
| | | id: 'permit_edit_permit', |
| | | label: '编辑', |
| | | leaf: true, |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | id: 'server_manage', |
| | | label: '服务器参数设置权限', |
| | |
| | | } |
| | | // 设置权限组 |
| | | this.powergrouplist = data.filter(item => { |
| | | if (item.key != 100002 && item.key >100) { |
| | | if (item.key != 100002) { |
| | | return true; |
| | | } |
| | | }); |