| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- #set($upperEntityPath=$table.entityPath.toUpperCase())
- import { message } from 'antd';
- import router from 'umi/router';
- import { $!{upperEntityPath}_NAMESPACE } from '../actions/$!{table.entityPath}';
- import { list, submit, detail, remove } from '../services/$!{table.entityPath}';
- export default {
- namespace: $!{upperEntityPath}_NAMESPACE,
- state: {
- data: {
- list: [],
- pagination: false,
- },
- detail: {},
- },
- effects: {
- *fetchList({ payload }, { call, put }) {
- const response = yield call(list, payload);
- if (response.success) {
- yield put({
- type: 'saveList',
- payload: {
- list: response.data.records,
- pagination: {
- total: response.data.total,
- current: response.data.current,
- pageSize: response.data.size,
- },
- },
- });
- }
- },
- *fetchDetail({ payload }, { call, put }) {
- const response = yield call(detail, payload);
- if (response.success) {
- yield put({
- type: 'saveDetail',
- payload: {
- detail: response.data,
- },
- });
- }
- },
- *clearDetail({ payload }, { put }) {
- yield put({
- type: 'removeDetail',
- payload: { payload },
- });
- },
- *submit({ payload }, { call }) {
- const response = yield call(submit, payload);
- if (response.success) {
- message.success('提交成功');
- router.push('/$!{cfg.servicePackage}/$!{table.entityPath}');
- }
- },
- *remove({ payload }, { call }) {
- const {
- data: { keys },
- success,
- } = payload;
- const response = yield call(remove, { ids: keys });
- if (response.success) {
- success();
- }
- },
- },
- reducers: {
- saveList(state, action) {
- return {
- ...state,
- data: action.payload,
- };
- },
- saveDetail(state, action) {
- return {
- ...state,
- detail: action.payload.detail,
- };
- },
- removeDetail(state) {
- return {
- ...state,
- detail: {},
- };
- },
- },
- };
|