WXL (wul)
2025-08-27 6ee02971317445650b2938f5824518fec560e024
src/store/modules/user.js
@@ -1,186 +1,218 @@
import { login, logout, getInfo } from '@/api/login'
import { getToken, setToken, removeToken } from '@/utils/auth'
import { login, logout, getInfo } from "@/api/login";
import { getToken, setToken, removeToken } from "@/utils/auth";
const user = {
  state: {
    token: getToken(),
    name: '',
    Id: '',
    avatar: '',
    belongWards:[],
    belongDepts:[],
    name: "",
    nickName: "",
    Id: "",
    avatar: "",
    hisUserId: "",
    belongWards: [],
    belongDepts: [],
    roles: [],
    permissions: [],
    // 服务类型
  Serviceauthority:  [
    {
      value: "1",
      label: "患者报告",
      route: "followvisit/QuestionnaireTask",
      raw: {
        cssClass: "",
        listClass: "",
    Serviceauthority: [
      {
        value: "1",
        label: "患者报告",
        route: "followvisit/QuestionnaireTask",
        raw: {
          cssClass: "",
          listClass: "",
        },
      },
    },
    {
      value: "2",
      label: "心电随访",
      route: "followvisit/QuestionnaireTask",
      raw: {
        cssClass: "",
        listClass: "",
      {
        value: "2",
        label: "心电随访",
        route: "followvisit/QuestionnaireTask",
        raw: {
          cssClass: "",
          listClass: "",
        },
      },
    },
    {
      value: "3",
      label: "体检随访",
      route: "followvisit/particty",
      raw: {
        cssClass: "",
        listClass: "",
      {
        value: "3",
        label: "体检随访",
        route: "followvisit/particty",
        raw: {
          cssClass: "",
          listClass: "",
        },
      },
    },
    {
      value: "4",
      label: "宣教关怀",
      route: "followvisit/Missioncreation",
      raw: {
        cssClass: "",
        listClass: "",
      {
        value: "4",
        label: "宣教关怀",
        route: "followvisit/Missioncreation",
        raw: {
          cssClass: "",
          listClass: "",
        },
      },
    },
    {
      value: "5",
      label: "出院随访",
      route: "followvisit/particty",
      raw: {
        cssClass: "",
        listClass: "",
      {
        value: "5",
        label: "出院随访",
        route: "followvisit/particty",
        raw: {
          cssClass: "",
          listClass: "",
        },
      },
    },
    {
      value: "6",
      label: "门诊随访",
      route: "followvisit/particty",
      raw: {
        cssClass: "",
        listClass: "",
      {
        value: "6",
        label: "门诊随访",
        route: "followvisit/particty",
        raw: {
          cssClass: "",
          listClass: "",
        },
      },
    },
    {
      value: "7",
      label: "通知服务",
      route: "followvisit/Missioncreation",
      raw: {
        cssClass: "",
        listClass: "",
      {
        value: "7",
        label: "通知服务",
        route: "followvisit/Missioncreation",
        raw: {
          cssClass: "",
          listClass: "",
        },
      },
    },
  ],
    ],
  },
  mutations: {
    SET_TOKEN: (state, token) => {
      state.token = token
      state.token = token;
    },
    SET_NAME: (state, name) => {
      state.name = name
      state.name = name;
    },
    SET_nickNAME: (state, name) => {
      state.nickName = name;
    },
    SET_Id: (state, Id) => {
      state.Id = Id
      console.log(state.Id,'user2');
      state.Id = Id;
      console.log(state.Id, "user2");
    },
    SET_AVATAR: (state, avatar) => {
      state.avatar = avatar
      state.avatar = avatar;
    },
    SET_ROLES: (state, roles) => {
      state.roles = roles
      state.roles = roles;
    },
    SET_PERMISSIONS: (state, permissions) => {
      state.permissions = permissions
      state.permissions = permissions;
    },
    SET_Serviceauthority: (state, Serviceauthority) => {
      state.Serviceauthority = Serviceauthority
      state.Serviceauthority = Serviceauthority;
    },
    SET_leavehospitaldistrictcodes: (state, belongWards) => {
      state.belongWards = belongWards
      state.belongWards = belongWards;
    },
    SET_hisUserId: (state, hisUserId) => {
      state.hisUserId = hisUserId;
    },
    SET_leaveldeptcodes: (state, belongDepts) => {
      state.belongDepts = belongDepts
    }
      state.belongDepts = belongDepts;
    },
  },
  actions: {
    // 登录
    Login({ commit }, userInfo) {
      const username = userInfo.username.trim()
      const password = userInfo.password
      const code = userInfo.code
      const uuid = userInfo.uuid
      const guid = userInfo.guid
      console.log(userInfo, "user info");
      const username = userInfo.username.trim();
      const password = userInfo.password;
      const code = userInfo.code;
      const orgid = userInfo.orgid;
      return new Promise((resolve, reject) => {
        login(username, password, code, uuid,guid).then(res => {
          setToken(res.token)
          commit('SET_TOKEN', res.token)
          localStorage.setItem('guid', guid);
          resolve()
        }).catch(error => {
          reject(error)
        })
      })
        login(username, password, code, orgid)
          .then((res) => {
            setToken(res.token);
            commit("SET_TOKEN", res.token);
            localStorage.setItem("orgid", orgid);
            if (orgid == "H41010500003") {
              localStorage.setItem("orgname", "河南中医药大学第一附属医院");
              localStorage.setItem("ZuHuID", "1400361376454545408"); // 请替换为实际的ZuHuID
              localStorage.setItem("deptCode", "1017"); // 请替换为实际的科室代码
            } else if (orgid == "H41082200269") {
              localStorage.setItem("orgname", "博爱县人民医院");
              localStorage.setItem("ZuHuID", "1400360867068907520"); // 请替换为实际的ZuHuID
              localStorage.setItem("deptCode", "01040201"); // 请替换为实际的科室代码
            } else if (orgid == "H41078202417") {
              localStorage.setItem("orgname", "辉县市中医院");
              localStorage.setItem("ZuHuID", "1429338802177000002"); // 请替换为实际的ZuHuID
              localStorage.setItem("deptCode", ""); // 请替换为实际的科室代码
            }
            resolve();
          })
          .catch((error) => {
            reject(error);
          });
      });
    },
    // 获取用户信息
    GetInfo({ commit, state }) {
      return new Promise((resolve, reject) => {
        getInfo().then(res => {
          const user = res.user
          const avatar = (user.avatar == "" || user.avatar == null) ? require("@/assets/images/profile.jpg") : process.env.VUE_APP_BASE_API + user.avatar;
          if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组
            commit('SET_ROLES', res.roles)
            commit('SET_PERMISSIONS', res.permissions)
          } else {
            commit('SET_ROLES', ['ROLE_DEFAULT'])
          }
          commit('SET_NAME', user.userName)
          console.log(user.userId,'user1');
          commit('SET_Id', user.userId)
          commit('SET_leavehospitaldistrictcodes', user.belongWards)
          commit('SET_leaveldeptcodes', user.belongDepts)
          commit('SET_AVATAR', avatar)
          resolve(res)
        }).catch(error => {
          reject(error)
        })
      })
        getInfo()
          .then((res) => {
            const user = res.user;
            const avatar =
              user.avatar == "" || user.avatar == null
                ? require("@/assets/images/profile.jpg")
                : process.env.VUE_APP_BASE_API + user.avatar;
            if (res.roles && res.roles.length > 0) {
              // 验证返回的roles是否是一个非空数组
              commit("SET_ROLES", res.roles);
              commit("SET_PERMISSIONS", res.permissions);
            } else {
              commit("SET_ROLES", ["ROLE_DEFAULT"]);
            }
            commit("SET_NAME", user.userName);
            commit("SET_nickNAME", user.nickName);
            commit("SET_Id", user.userId);
            commit("SET_hisUserId", user.hisUserId);
            commit("SET_leavehospitaldistrictcodes", user.belongWards);
            commit("SET_leaveldeptcodes", user.belongDepts);
            commit("SET_AVATAR", avatar);
            resolve(res);
          })
          .catch((error) => {
            reject(error);
          });
      });
    },
    // 退出系统
    LogOut({ commit, state }) {
      return new Promise((resolve, reject) => {
        logout(state.token).then(() => {
          commit('SET_TOKEN', '')
          commit('SET_ROLES', [])
          commit('SET_PERMISSIONS', [])
          removeToken()
          resolve()
        }).catch(error => {
          reject(error)
        })
      })
        logout(state.token)
          .then(() => {
            commit("SET_TOKEN", "");
            commit("SET_ROLES", []);
            commit("SET_PERMISSIONS", []);
            removeToken();
            resolve();
          })
          .catch((error) => {
            reject(error);
          });
      });
    },
    // 前端 登出
    FedLogOut({ commit }) {
      return new Promise(resolve => {
        commit('SET_TOKEN', '')
        removeToken()
        resolve()
      })
    }
  }
}
      return new Promise((resolve) => {
        commit("SET_TOKEN", "");
        removeToken();
        resolve();
      });
    },
  },
};
export default user
export default user;