import { isObject, isUnDef } from '@/utils/is' export default { namespace: 'refresh', state: { client: false, company: false, software: false, department: false, staff: false, // 部门与员工 business: false, // 商机 cloud: false, personal: false, enterprise: false }, effects: { *commitAction({ payload }, { put }) { yield put({ type: 'changState', payload }) } }, reducers: { changState(state, action) { if (isObject(action.payload)) { const { main, target } = action.payload return { ...state, [main]: !state[main], [target]: !state[target] } } if (isUnDef(state[action.payload])) { return { ...state, [action.payload]: false } } return { ...state, [action.payload]: !state[action.payload] } } } }