import * as api from '../services/api'; export default { namespace: 'approval', state: { approvalTypeList: [], total: 0, current: 1 }, effects: { *getApprovalTypeList(action, sagaEffects) { const { call, put } = sagaEffects; const approvalTypeList = yield call( api.getApprovalTypeList, action.payload ); yield put({ type: 'approvalTypeList', payload: approvalTypeList.data.data, total: approvalTypeList.data.total, current: approvalTypeList.data.pageNumber }); }, *changeApprovalTempStatus(action, sagaEffects) { const { call, put } = sagaEffects; const status = yield call(api.changeApprovalTempStatus, action.payload); if (status.retType) { yield put({ type: 'approvalTempStatus', payload: action.payload }); } } }, reducers: { approvalTypeList(state, action) { return { ...state, approvalTypeList: action.payload, total: action.total, current: action.current }; }, approvalTempStatus(state, action) { let newApprovalTypeList = []; newApprovalTypeList = newApprovalTypeList.concat(state.approvalTypeList); newApprovalTypeList.forEach(v => { if (v.approveTempId === action.payload.approveTempId) { v.isActive = action.payload.isActive; } }); return { ...state, approvalTypeList: newApprovalTypeList }; } } };