123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- import { message } from 'antd';
- import { routerRedux } from 'dva/router';
- import {
- queryCampusList,
- queryCampusItem,
- createCampusItem,
- updateCampusItem,
- deleteCampusItem,
- } from '../services/campus';
- export default {
- namespace: 'campus',
- state: {
- list: [],
- pageNo: 1,
- pageSize: 15,
- totalSize: 0,
- currentItem: {},
- },
- effects: {
- *fetchCampusList({ payload }, { call, put }) {
- const response = yield call(queryCampusList, payload);
- if (response.success) {
- message.success('加载校区列表成功');
- yield put({
- type: 'querySuccess',
- payload: {
- list: response.data.list || [],
- pageSize: response.data.pageSize,
- totalSize: response.data.totalSize,
- pageNo: response.data.pageNo,
- },
- });
- }
- },
- *fetchCampusItem({ payload }, { call, put }) {
- const response = yield call(queryCampusItem, payload);
- if (response.success) {
- message.success('加载校区详情成功');
- yield put({
- type: 'querySuccess',
- payload: {
- currentItem: response.data || {},
- }
- });
- }
- },
- *createCampusItem({ payload, state }, { call, put }) {
- const response = yield call(createCampusItem, payload);
- if (response.success) {
- message.success('创建校区成功');
- yield put(routerRedux.push({
- state,
- pathname: '/campus/list',
- }));
- }
- },
- *deleteCampusItem({ payload, states }, { call, put }) {
- const response = yield call(deleteCampusItem, payload);
- if (response.success) {
- message.success('删除校区成功');
- yield put({
- type: 'fetchCampusList',
- payload: states.Queryers,
- });
- }
- },
- *updateCampusItem({ payload, states }, { call, put }) {
- const response = yield call(updateCampusItem, payload);
- if (response.success) {
- message.success('修改校区成功');
- yield put(routerRedux.push({
- pathname: '/campus/list',
- state: states,
- }));
- }
- },
- },
- reducers: {
- querySuccess(state, action) {
- return {
- ...state,
- ...action.payload,
- };
- },
- cleanItemState(state) {
- return {
- ...state,
- currentItem: {},
- };
- }
- },
- };
|