product.js 1.1 KB

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