WXL (wul)
6 天以前 a5cba9ab040f6f97558046885dce3017f9bab7e9
src/views/login.vue
@@ -25,6 +25,7 @@
        <el-input
          v-model="loginForm.password"
          type="password"
          show-password
          auto-complete="off"
          placeholder="密码"
          @keyup.enter.native="handleLogin"
@@ -37,16 +38,16 @@
        </el-input>
      </el-form-item>
      <!-- 丽===================水 -->
      <el-form-item prop="orgid">
      <el-form-item prop="campusid">
        <el-select
          style="width: 100%"
          v-model="loginForm.orgid"
          v-model="loginForm.campusid"
          placeholder="请选择院区"
        >
          <el-option
            v-for="item in options"
            :label="item.label"
            :value="item.value"
            :value="item.campusid"
          >
          </el-option>
          <i slot="prefix" class="el-icon-mobile"></i>
@@ -93,10 +94,19 @@
        </div>
      </el-form-item>
    </el-form>
    <!--  底部  -->
    <!-- <div class="el-login-footer">
      <span style="color: #568FBD; font-size: 25px;">Copyright © 2018-2022 ruoyi.vip All Rights Reserved.</span>
    </div> -->
    <!-- 底部信息 -->
    <div class="el-login-footer">
      <div class="footer-content">
        <div class="footer-row">
          <span class="tech-label">技术支持:</span>
          <img src="@/assets/logo/Hrs.png" class="tech-logo" alt="logo" />
          <span class="tech-name">浙江亥尔时科技有限公司</span>
        </div>
        <div class="footer-row">
          <span class="hotline">服务热线:17778760073</span>
        </div>
      </div>
    </div>
  </div>
</template>
@@ -118,8 +128,7 @@
        code: "",
        orgid: "H41010500003",
      },
      options: [
      ],
      options: [],
      loginRules: {
        username: [
          { required: true, trigger: "blur", message: "请输入您的账号" },
@@ -127,7 +136,7 @@
        password: [
          { required: true, trigger: "blur", message: "请输入您的密码" },
        ],
        orgid: [{ required: true, trigger: "blur", message: "请选择院区" }],
        campusid: [{ required: true, trigger: "blur", message: "请选择院区" }],
      },
      loading: false,
      // 验证码开关
@@ -165,11 +174,12 @@
      });
    },
    getorganization() {
      getorganization().then((res) => {
      getorganization({ pageSize: 30 }).then((res) => {
        if (res.code == 200) {
          this.options = res.rows.map((item) => ({
            value: item.orgid,
            label: item.organizationName,
            campusid: item.organizationID,
          }));
        }
      });
@@ -186,56 +196,62 @@
      };
    },
    handleLogin() {
  this.$refs.loginForm.validate((valid) => {
    if (valid) {
      this.loading = true;
      this.$refs.loginForm.validate((valid) => {
        if (valid) {
          this.loading = true;
      if (this.loginForm.rememberMe) {
        Cookies.set("username", this.loginForm.username, { expires: 30 });
        Cookies.set("password", encrypt(this.loginForm.password), {
          expires: 30,
        });
        Cookies.set("rememberMe", this.loginForm.rememberMe, {
          expires: 30,
        });
      } else {
        Cookies.remove("username");
        Cookies.remove("password");
        Cookies.remove("rememberMe");
      }
      // 动态设置 campusid 参数
      const selectedOrg = this.options.find(item => item.value === this.loginForm.orgid);
      if (selectedOrg) {
        if (selectedOrg.label.includes('湖滨')) {
          this.loginForm.campusid = 1;
        } else if (selectedOrg.label.includes('吴山')) {
          this.loginForm.campusid = 2;
        } else {
          this.loginForm.campusid = 1; // 默认值或其他处理
        }
      }
      this.$store
        .dispatch("Login", this.loginForm)
        .then((res) => {
          if (this.loginForm.username == "admin") {
            this.$router.push({ path: "/index" }).catch(() => {});
          if (this.loginForm.rememberMe) {
            Cookies.set("username", this.loginForm.username, { expires: 30 });
            Cookies.set("password", encrypt(this.loginForm.password), {
              expires: 30,
            });
            Cookies.set("rememberMe", this.loginForm.rememberMe, {
              expires: 30,
            });
          } else {
            this.$router
              .push({ path: "/followvisit/discharge" })
              .catch(() => {});
            Cookies.remove("username");
            Cookies.remove("password");
            Cookies.remove("rememberMe");
          }
        })
        .catch(() => {
          this.loading = false;
          if (this.captchaEnabled) {
            this.getCode();
          }
        });
    }
  });
}
          // 动态设置 campusid 参数
          const selectedOrg = this.options.find(
            (item) => item.campusid === this.loginForm.campusid
          );
          this.loginForm.campusid = selectedOrg.campusid || 1;
          this.loginForm.orgid = selectedOrg.value || 1;
          this.loginForm.orgname = selectedOrg.label || "";
          // 市一处理-----------------
          // if (selectedOrg) {
          //   if (selectedOrg.label.includes("湖滨")) {
          //     this.loginForm.campusid = 1;
          //   } else if (selectedOrg.label.includes("吴山")) {
          //     this.loginForm.campusid = 2;
          //   } else {
          //     this.loginForm.campusid = 1; // 默认值或其他处理
          //   }
          // }
          // --------------------------------
          this.$store
            .dispatch("Login", this.loginForm)
            .then((res) => {
              if (this.loginForm.username == "admin") {
                this.$router.push({ path: "/index" }).catch(() => {});
              } else {
                this.$router
                  .push({ path: "/followvisit/discharge" })
                  .catch(() => {});
              }
            })
            .catch(() => {
              this.loading = false;
              if (this.captchaEnabled) {
                this.getCode();
              }
            });
        }
      });
    },
  },
};
</script>
@@ -298,18 +314,54 @@
  }
}
.el-login-footer {
  height: 40px;
  line-height: 40px;
  position: fixed;
  bottom: 0;
  bottom: 20px;
  left: 0;
  right: 0;
  width: 100%;
  text-align: center;
  color: #fff;
  font-family: Arial;
  font-size: 12px;
  letter-spacing: 1px;
  font-size: 13px;
  color: #3664D9;
  z-index: 10;
}
.footer-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
}
.footer-row {
  display: flex;
  align-items: center;
  justify-content: center;
}
.tech-logo {
  width: 28px;
  height: 28px;
  margin: 0 6px;
  vertical-align: middle;
}
.tech-label,
.tech-name,
.hotline {
  color: #3664D9;;
  font-size: 13px;
}
.tech-name {
  color: #3664D9;;
  font-weight: 500;
}
.hotline {
  font-size: 12px;
  color: #3664D9;;
}
.login-code-img {
  height: 38px;
}