product.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import { query } from '../services/product';
  2. import modelExtend from 'dva-model-extend';
  3. import { pageModel } from './common';
  4. import { pageSize } from '../utils/config';
  5. import { checkSearchParams } from '../utils/utils';
  6. import { Codes } from '../utils/config';
  7. export default modelExtend(pageModel, {
  8. namespace: 'product',
  9. state: { listLoading: false },
  10. effects: {
  11. * query({ payload = {} }, { call, put }) {
  12. yield put({ type: 'changeLoading', payload: { listLoading: true } });
  13. const { data, success } = yield call(query, payload);
  14. if (success) {
  15. yield put({
  16. type: 'querySuccess',
  17. payload: {
  18. list: data.list,
  19. pagination: {
  20. current: Number(payload.pageNo) || 1,
  21. pageSize: Number(payload.pageSize) || pageSize,
  22. total: data.totalSize,
  23. },
  24. },
  25. });
  26. }
  27. yield put({ type: 'changeLoading', payload: { listLoading: false } });
  28. },
  29. },
  30. reducers: {
  31. changeLoading(state, action) {
  32. return { ...state, ...action.payload };
  33. },
  34. },
  35. });