ll
liukangdong
2024-10-18 0ed2002103cfe3d0892ee2468d98b7d3fad8e7b9
admin/src/components/common/CommonHeader.vue
@@ -9,7 +9,7 @@
            <div class="linellae"></div>
          </div>
          <div class="item" @click="getHeaderNav('0')">安防中心</div>
          <div class="item" @click="getHeaderNav('1')">消防中心</div>
          <div class="item" @click="getHeaderNav('1')">消控中心</div>
          <div class="item" @click="getHeaderNav('2')">能管中心</div>
          <div class="item" @click="getHeaderNav('3')">驾驶舱</div>
        </div>
@@ -40,6 +40,8 @@
    <GlobalAlertWindow
      title="修改密码"
      :visible.sync="visible.changePwd"
      :showClose="!userInfo.needChangePwd || userInfo.needChangePwd == '1'"
      :showCancel="userInfo.needChangePwd && userInfo.needChangePwd == '0'"
      @confirm="confirmChangePwd"
      @close="visible.changePwd = false"
    >
@@ -62,7 +64,7 @@
            v-model="changePwdData.form.newPwd"
            type="password"
            placeholder="请输入新密码"
            maxlength="30"
            maxlength="20"
            show-password
          ></el-input>
        </el-form-item>
@@ -71,7 +73,7 @@
            v-model="changePwdData.form.confirmPwd"
            type="password"
            placeholder="请再次输入新密码"
            maxlength="30"
            maxlength="20"
            show-password
          ></el-input>
        </el-form-item>
@@ -119,7 +121,8 @@
            { required: true, message: '请输入原始密码' }
          ],
          newPwd: [
            { required: true, message: '请输入新密码' }
          { required: true, message: '请输入密码', trigger: 'blur' },
          { validator: this.validatePassword, trigger: 'blur' },
          ],
          confirmPwd: [
            { required: true, message: '请再次输入新密码' }
@@ -133,6 +136,13 @@
    // title () {
    //   return this.$route.meta.title
    // }
  },
  mounted() {
    // console.log('userInfo',this.userInfo);
    if(!this.userInfo.needChangePwd || this.userInfo.needChangePwd == '0'){
      this.visible.changePwd = true
    }
  },
  filters: {
    // 展示名称
@@ -154,6 +164,26 @@
      this.$nextTick(() => {
        this.$refs.changePwdDataForm.resetFields()
      })
    },
    validatePassword(rule, value, callback) {
      if (!value) {
        callback(new Error('请输入密码'));
      } else {
        const lengthValid = /^.{6,20}$/.test(value);
        const hasLetter = /[a-zA-Z]/.test(value);
        const hasNumber = /[0-9]/.test(value);
        const hasSpecial = /[!@#$%^&*(),.?":{}|<>]/.test(value);
        const typesCount = [hasLetter, hasNumber, hasSpecial].filter(Boolean).length;
        if (!lengthValid) {
          callback(new Error('密码长度需为6到20个字符'));
        } else if (typesCount < 2) {
          callback(new Error('密码需包含字母、数字及特殊字符中的至少两种'));
        } else {
          callback(); // 验证通过
        }
      }
    },
    getHeaderNav(type){
      getAppHeaderNav(type).then(res => {
@@ -277,6 +307,7 @@
    background: url("../../assets/images/top_ic_bolang@2x.png") no-repeat;
    flex-shrink: 0;
    text-align: right;
    cursor: pointer;
    .el-dropdown {
      top: 2px;
      color: #fff;