12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- import { userStore } from '@/store/mobx'
- import { iAccountGroupItem, iGroup, iUserInfo } from '@/types/setting'
- import { storage } from '@/utils/util'
- import consts from '../consts'
- import { apiGetAccountWithSearch } from './api'
- const USER_INFO = 'user_info' // 用户个人信息
- const TENDER_INFO = 'tender_info' // 标段信息
- /**
- * 保存用户信息到本地存储中
- * @param {Object} userInfo - 用户信息
- */
- export const saveUserInfo = (userInfo: iUserInfo): void => {
- storage.set(USER_INFO, userInfo)
- }
- /**
- * 获取用户信息
- * @returns {iUserInfo} 用户信息
- */
- export const getUserInfo = (): iUserInfo => {
- return storage.get(USER_INFO)
- }
- /**
- * 删除用户信息
- */
- export const delUserInfo = () => {
- // 本身是同步的,所以不需要用promise包裹
- storage.del(USER_INFO)
- storage.del(TENDER_INFO)
- }
- /**
- * 用户注销
- */
- export const logout = () => {
- delUserInfo()
- }
- // 获取用户分组
- export const getUserGroupName = (key: number): iGroup | undefined =>{
- return userStore.groupList.find((item: iGroup) => item.key === key)
- }
- interface UserGroupQuery {
- name?: string
- hasOwner?: boolean
- }
- // 根据group对用户列表进行分组
- export const getUserGroup = async ({ name = '', hasOwner = true } : UserGroupQuery) => {
- const { code = -1, data = [] } = await apiGetAccountWithSearch(name)
- const accountGroup: iAccountGroupItem[] = []
- if (code === consts.RET_CODE.SUCCESS) {
- for (const group of userStore.groupList) {
- const groupItem = { value: group.value, children: [] }
- const items = data.filter((item: iUserInfo) => {
- if (!hasOwner && item.id === userStore.userInfo.id) {
- return
- }
- return item.accountGroup === group.key
- })
- groupItem.children = items
- accountGroup.push(groupItem)
- }
- }
- return accountGroup
- }
|