1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- import { query, create, update, remove } from '../services/cmsUser';
- import modelExtend from 'dva-model-extend';
- import queryString from 'query-string';
- import { message } from 'antd';
- import { pageModel } from './common';
- import { pageSize } from '../utils/config';
- import { checkSearchParams } from '../utils/utils';
- export default modelExtend(pageModel, {
- namespace: 'cmsUser',
- state: {
- currentItem: {},
- itemLoading: false,
- listLoading: false,
- modalVisible: false,
- modalType: 'create',
- },
- subscriptions: {
- setup({ dispatch, history }) {
- history.listen((location) => {
- if (location.pathname === '/cms/user') {
- const payload = checkSearchParams(queryString.parse(location.search));
- dispatch({
- type: 'query',
- payload,
- });
- }
- });
- }
- },
- effects: {
- * query ({ payload = {} }, { call, put }) {
- yield put({ type: 'changeLoading', payload: { listLoading: true }});
- const { data, success } = yield call(query, payload);
- if (success) {
- yield put({
- type: 'querySuccess',
- payload: {
- list: data.list,
- pagination: {
- current: Number(payload.pageNo) || 1,
- pageSize: Number(payload.pageSize) || pageSize,
- total: data.totalSize,
- }
- }
- });
- }
- yield put({ type: 'changeLoading', payload: { listLoading: false }});
- },
- * create ({ payload, callback }, { call, put }) {
- const { data, success } = yield call(create, payload);
- if (success) {
- message.success('创建成功!');
- if (callback) callback();
- }
- },
- * update ({ payload, callback }, { call, put }) {
- const { data, success } = yield call(update, payload);
- if (success) {
- yield put({ type: 'hideModal' });
- message.success('更新成功!');
- if (callback) callback();
- }
- },
- * delete ({ payload, callback }, { call, put }) {
- const { data, success } = yield call(remove, payload);
- if (success) {
- message.success('禁用成功!');
- if (callback) callback();
- }
- },
- * recover ({ payload, callback }, { call, put }) {
- const { data, success } = yield call(update, payload);
- if (success) {
- message.success('解禁成功!');
- if (callback) callback();
- }
- },
- },
- reducers: {
- changeLoading(state, { payload }) {
- return { ...state, ...payload };
- },
- showModal(state, { payload }) {
- return { ...state, ...payload, modalVisible: true };
- },
- hideModal(state) {
- return { ...state, modalVisible: false };
- },
- }
- })
|