WXL (wul)
3 天以前 fb34ba28cb908bd328cf6690ab0b19a56428f4e2
src/store/modules/user.js
@@ -2,11 +2,29 @@
import { getConfig, getConfigKey, listConfig } from "@/api/system/config";
import { getToken, setToken, removeToken } from "@/utils/auth";
/**
 * sys_user_dept 里同一科室/病区可能存在大量重复行(HIS 同步/重复保存导致),
 * 接口会原样返回,这里按编码去重,避免个人中心、待处理卡片等处重复展示
 */
function uniqueByCode(list) {
  const seen = {};
  return (list || []).filter((item) => {
    if (!item) return false;
    const code =
      item.districtCode || item.deptCode || item.districtId || item.deptId;
    const key = String(code === undefined || code === null ? "" : code);
    if (!key || seen[key]) return false;
    seen[key] = true;
    return true;
  });
}
const user = {
  state: {
    token: getToken(),
    name: "",
    nickName: "",
    orgname: localStorage.getItem("orgname") || "",
    Id: "",
    avatar: "",
    hisUserId: "",
@@ -94,6 +112,9 @@
    SET_nickNAME: (state, name) => {
      state.nickName = name;
    },
    SET_ORGNAME: (state, orgname) => {
      state.orgname = orgname;
    },
    SET_visitAgain: (state, visitAgain) => {
      state.visitAgain = visitAgain;
    },
@@ -180,8 +201,8 @@
              localStorage.setItem("orgname", "缙云第二人民医院");
              localStorage.setItem("ZuHuID", "1429338802177000013");
              localStorage.setItem("deptCode", "");
              localStorage.setItem("YongHuID", "");
              localStorage.setItem("YongHuXM", "");
              localStorage.setItem("YongHuID", "1570315144653705216");
              localStorage.setItem("YongHuXM", "JYDERMYY");
            } else if (orgid == "47240018433118111A2101") {
              localStorage.setItem("orgname", "龙泉市中医医院");
              localStorage.setItem("ZuHuID", "1429338802177000003");
@@ -239,25 +260,39 @@
              localStorage.setItem("deptCode", "");
              localStorage.setItem("YongHuID", "");
              localStorage.setItem("YongHuXM", "");
            } else if (orgid == "1" && campusid == 8) {
              localStorage.setItem("orgname", "第一人民医院城东院区");
              localStorage.setItem("ZuHuID", "");
              localStorage.setItem("deptCode", "");
              localStorage.setItem("YongHuID", "");
              localStorage.setItem("YongHuXM", "");
            } else if (orgid == "47246116333112211A1001") {
              localStorage.setItem("orgname", "缙云县人民医院");
              localStorage.setItem("ZuHuID", "1429338802177000010");
              localStorage.setItem("deptCode", "");
              localStorage.setItem("YongHuID", "");
              localStorage.setItem("YongHuXM", "");
              localStorage.setItem("YongHuID", "1512704798124675072");
              localStorage.setItem("YongHuXM", "JYRMYY ");
            } else if (orgid == "47226079133110211G1001") {
              localStorage.setItem("orgname", "丽水市妇幼保健院");
              localStorage.setItem("ZuHuID", "1429338802177000014");
              localStorage.setItem("deptCode", "");
              localStorage.setItem("YongHuID", "");
              localStorage.setItem("YongHuXM", "");
              localStorage.setItem("YongHuID", "1540518838905344000");
              localStorage.setItem("YongHuXM", "LSFBY");
            } else if (orgid == "47226007033110211A5201") {
              localStorage.setItem("orgname", "丽水市第二人民医院");
              localStorage.setItem("ZuHuID", "");
              localStorage.setItem("deptCode", "");
              localStorage.setItem("YongHuID", "1540295571200282624");
              localStorage.setItem("YongHuXM", "LSDERMYY");
            }else if (orgid == "1") {
              localStorage.setItem("orgname", "浙江省新华医院");
              localStorage.setItem("ZuHuID", "");
              localStorage.setItem("deptCode", "");
              localStorage.setItem("YongHuID", "");
              localStorage.setItem("YongHuXM", "");
            }
            // 同步到 Vuex,供全局 getter(如 isTongdeOrg)使用
            commit("SET_ORGNAME", localStorage.getItem("orgname") || orgname);
            resolve();
          })
          .catch((error) => {
@@ -288,8 +323,8 @@
            commit("SET_Id", user.userId);
            commit("SET_hisUserId", user.hisUserId);
            commit("SET_satisfactionCategories", user.satisfactionCategories);
            commit("SET_leavehospitaldistrictcodes", user.belongWards);
            commit("SET_leaveldeptcodes", user.belongDepts);
            commit("SET_leavehospitaldistrictcodes", uniqueByCode(user.belongWards));
            commit("SET_leaveldeptcodes", uniqueByCode(user.belongDepts));
            commit("SET_AVATAR", avatar);
            // 正确调用方式:通过 dispatch
            dispatch("GetConfig")