WXL (wul)
2 天以前 fb34ba28cb908bd328cf6690ab0b19a56428f4e2
src/views/login.vue
@@ -39,16 +39,16 @@
        </el-input>
      </el-form-item>
      <!-- 丽===================水 -->
      <el-form-item prop="campusid">
      <el-form-item prop="orgid">
        <el-select
          style="width: 100%"
          v-model="loginForm.campusid"
          v-model="loginForm.orgid"
          placeholder="请选择院区"
        >
          <el-option
            v-for="item in options"
            :label="item.label"
            :value="item.campusid"
            :value="item.value"
          >
          </el-option>
          <i slot="prefix" class="el-icon-mobile"></i>
@@ -127,7 +127,7 @@
        password: "",
        rememberMe: false,
        code: "",
        orgid: "H41010500003",
        orgid: "",
      },
      options: [],
      loginRules: {
@@ -137,7 +137,7 @@
        password: [
          { required: true, trigger: "blur", message: "请输入您的密码" },
        ],
        campusid: [{ required: true, trigger: "blur", message: "请选择院区" }],
        orgid: [{ required: true, trigger: "change", message: "请选择院区" }],
      },
      loading: false,
      // 验证码开关
@@ -164,11 +164,11 @@
    //   this.loginForm.orgid = localStorage.getItem('orgid');
    // }
  },
    computed: {
  computed: {
    isAdmin() {
      const roles = this.$store.getters.roles || [];
      return roles.includes("mydstaff");
    }
    },
  },
  methods: {
    getCode() {
@@ -184,11 +184,23 @@
    getorganization() {
      getorganization({ pageSize: 30 }).then((res) => {
        if (res.code == 200) {
          this.options = res.rows.map((item) => ({
            value: item.orgid,
            label: item.organizationName,
            campusid: item.organizationID,
          }));
          // 同德系列 / 南华系列 / 浙江省新华医院:用 campusid(organizationID) 作下拉键值;
          // 其余(丽水区域 organizationID 全为 "1" 不唯一):用 orgid 作下拉键值
          const campusidKeywords = ["同德", "南华", "浙江省新华医院"];
          this.options = (res.rows || []).map((item) => {
            console.log(item.organizationName);
            const name = item.organizationName || "";
            const useCampusid = campusidKeywords.some((kw) =>
              name.includes(kw)
            );
            return {
              value: String(useCampusid ? item.organizationID : item.orgid),
              label: name,
              campusid: item.organizationID,
              orgid: item.orgid,
            };
          });
        }
      });
    },
@@ -233,13 +245,16 @@
            Cookies.remove("rememberMe");
          }
          // 动态设置 campusid 参数
          // 键值规则:丽水区域用 orgid(organizationID/campusid 均为 "1" 不唯一);
          // 同德/南华/浙江省新华医院等区域用 campusid(organizationID) 作下拉键值
          const selectedOrg = this.options.find(
            (item) => item.campusid === this.loginForm.campusid
            (item) => String(item.value) === String(this.loginForm.orgid)
          );
          this.loginForm.campusid = selectedOrg.campusid || 1;
          this.loginForm.orgid = selectedOrg.value || 1;
          this.loginForm.orgname = selectedOrg.label || "";
          if (selectedOrg) {
            this.loginForm.campusid = selectedOrg.campusid;
            this.loginForm.orgid = selectedOrg.orgid;
            this.loginForm.orgname = selectedOrg.label;
          }
          // 市一处理-----------------
          // if (selectedOrg) {
          //   if (selectedOrg.label.includes("湖滨")) {
@@ -259,7 +274,7 @@
              } else if (this.isAdmin) {
                console.log(1);
                 this.$router
                this.$router
                  .push({ path: "/Intelligentcenter/dispose" })
                  .catch(() => {});
              } else {
@@ -281,7 +296,6 @@
        }
      });
    },
  },
};
</script>