WXL (wul)
昨天 21051d356bb8589ad088abb52492fd2a1909ed9e
src/views/login.vue
@@ -6,7 +6,7 @@
      :rules="loginRules"
      class="login-form"
    >
      <h3 class="title">浙中医大二院智慧随访平台</h3>
      <h3 class="title">智慧随访系统</h3>
      <el-form-item prop="username">
        <el-input
          v-model="loginForm.username"
@@ -37,18 +37,21 @@
        </el-input>
      </el-form-item>
      <!-- 丽===================水 -->
      <!-- <el-form-item prop="guid">
        <el-select style="width: 100%;" v-model="loginForm.guid"  placeholder="请选择院区">
      <el-form-item prop="orgid">
        <el-select
          style="width: 100%"
          v-model="loginForm.orgid"
          placeholder="请选择院区"
        >
          <el-option
            v-for="item in options"
            :key="item.value"
            :label="item.label"
            :value="item.value"
          >
          </el-option>
          <i slot="prefix" class="el-icon-mobile"></i>
        </el-select>
      </el-form-item> -->
      </el-form-item>
      <!-- <el-form-item prop="code" v-if="captchaEnabled">
        <el-input
          v-model="loginForm.code"
@@ -101,6 +104,7 @@
import { getCodeImg } from "@/api/login";
import Cookies from "js-cookie";
import { encrypt, decrypt } from "@/utils/jsencrypt";
import { getorganization } from "@/api/AiCentre/index";
export default {
  name: "Login",
@@ -112,13 +116,9 @@
        password: "",
        rememberMe: false,
        code: "",
        uuid: "",
        guid:'',
        orgid: "H41010500003",
      },
      options: [
        { value: "1", label: "景宁畲族自治县人民医院" },
        { value: "2", label: "丽水市中医院" },
       ],
      options: [],
      loginRules: {
        username: [
          { required: true, trigger: "blur", message: "请输入您的账号" },
@@ -126,7 +126,7 @@
        password: [
          { required: true, trigger: "blur", message: "请输入您的密码" },
        ],
        // guid: [{ required: true, trigger: "blur", message: "请选择院区" }],
        orgid: [{ required: true, trigger: "blur", message: "请选择院区" }],
      },
      loading: false,
      // 验证码开关
@@ -145,21 +145,31 @@
    },
  },
  created() {
    this.getorganization();
    this.getCode();
    this.getCookie();
    if (localStorage.getItem('guid')) {
      this.loginForm.guid = localStorage.getItem('guid');
    }
    // if (localStorage.getItem('orgid')) {
    //   this.loginForm.orgid = localStorage.getItem('orgid');
    // }
  },
  methods: {
    getCode() {
      getCodeImg().then((res) => {
        console.log(res);
        this.captchaEnabled =
          res.captchaEnabled === undefined ? true : res.captchaEnabled;
        if (this.captchaEnabled) {
          this.codeUrl = "data:image/gif;base64," + res.img;
          this.loginForm.uuid = res.uuid;
        }
      });
    },
    getorganization() {
      getorganization({ pageSize: 30 }).then((res) => {
        if (res.code == 200) {
          this.options = res.rows.map((item) => ({
            value: item.orgid,
            label: item.organizationName,
          }));
        }
      });
    },
@@ -178,6 +188,7 @@
      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), {
@@ -191,11 +202,31 @@
            Cookies.remove("password");
            Cookies.remove("rememberMe");
          }
          localStorage.removeItem('guid');
          // 动态设置 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(() => {
              this.$router.push({ path: this.redirect || "/" }).catch(() => {});
            .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;