| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- import { message } from 'antd'
- import * as service from '../services/index'
- import URLS from '../constants/url'
- export default {
- namespace: 'user',
- state: {
- originData: {
- list: [],
- newOne: {},
- filterLabel: ''
- },
- newOne: {}
- },
- reducers: {
- list(state, action) {
- const { list } = action;
- return { ...state, list }
- },
- setFilterLabel(state, action) {
- const { label } = action;
- return { ...state, filterLabel: label}
- },
- setNewModelFields(state, action) {
- const { fields } = action;
- let newOne = state.newOne;
- for(let i = 0; i < fields.length; i++) {
- newOne[fields[i]['name']] = fields[i]['value'];
- }
- delete newOne.invalid;
- return Object.assign({}, state, {newOne});
- },
- reset(state, action) {
- let newState = Object.assign({}, state, state.originData);
- return Object.assign({}, newState);
- },
- },
- effects: {
- *fetchList(action, { put, call, select }) {
- const user = yield select(state => state.present.user);
- try {
- if(!action.mandatory && user.list.length > 0) {
- return;
- }
- const res = yield call(service.fetch, {
- url: URLS.USER_LIST
- });
- console.log('请求用户列表', res);
- if(!res.err && res.data.code > 0) {
- const list = res.data.data.map(d => ({
- code: d.id+'',
- userName: d.userName,
- fullName: d.name,
- role: d.role === 'admin' ? '管理员' : '普通用户'
- }));
- yield put({ type: 'list', list });
- }else {
- message.error('请求用户列表失败: ' + (res.err || res.data.msg));
- }
- }catch(e) {
- console.log(e);
- message.error('请求用户列表失败: ' + e);
- }
- },
- *remoteModify(action, { put, call, select }) {
- const user = yield select(state => state.present.user);
- const { newOne } = user;
- const { fields } = action;
- const body = {
- id: newOne.code
- };
- for(let k in fields) {
- if(k !== 'id') {
- body[k] = fields[k]
- }
- }
- try {
- const res = yield call(service.fetch({
- url: URLS.USER_UPDATE,
- body
- }));
- console.log('修改用户信息', body, res);
- if(!res.err && res.data.code > 0) {
- message.success('修改成功');
- }else {
- console.log(body, (res.err || res.data.msg));
- message.error('修改失败: ' + (res.err || res.data.msg));
- }
- }catch(e) {
- console.log(body, e);
- message.error('修改失败: ' + e);
- }
- }
- },
- subscriptions: {
- setup({ dispatch, history }) {
- dispatch({ type: 'reset' });
- }
- }
- };
|