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: "",
@@ -93,6 +111,9 @@
    },
    SET_nickNAME: (state, name) => {
      state.nickName = name;
    },
    SET_ORGNAME: (state, orgname) => {
      state.orgname = orgname;
    },
    SET_visitAgain: (state, visitAgain) => {
      state.visitAgain = visitAgain;
@@ -270,6 +291,8 @@
              localStorage.setItem("YongHuID", "");
              localStorage.setItem("YongHuXM", "");
            }
            // 同步到 Vuex,供全局 getter(如 isTongdeOrg)使用
            commit("SET_ORGNAME", localStorage.getItem("orgname") || orgname);
            resolve();
          })
          .catch((error) => {
@@ -300,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")