customer.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import {createAction} from '../utils';
  2. import * as customer from '../services/customer';
  3. import ResponseError from '../components/ResponseError';
  4. import TurnPage from '../components/TurnPage';
  5. import {REFRESH_STATE} from 'react-native-refresh-flatlist';
  6. let reportCustomerData=[];
  7. export default {
  8. namespace: 'customer',
  9. state: {
  10. loading: false,
  11. reportCustomerDataRState: REFRESH_STATE.Ready,
  12. reportCustomerData:[]
  13. },
  14. reducers: {
  15. updateState(state, {payload}) {
  16. return {...state, ...payload};
  17. },
  18. queryList(state, {payload}) {
  19. return {...state, ...payload};
  20. },
  21. },
  22. effects: {
  23. * fetchReportCustomerData({payload}, {call, put}) {
  24. if (payload.page > 1) {
  25. yield put(createAction('queryList')({reportCustomerDataRState: REFRESH_STATE.FooterRefreshing}));
  26. } else {
  27. yield put(createAction('queryList')({reportCustomerDataRState: REFRESH_STATE.HeaderRefreshing}));
  28. }
  29. const response = yield call(customer.queryReportCustomerData, payload);
  30. if (!response.code) {
  31. const result = TurnPage(response, payload, reportCustomerData);
  32. reportCustomerData = result.data;
  33. yield put(createAction('queryList')({
  34. reportCustomerData: reportCustomerData, reportCustomerDataRState: result.state,
  35. total: response.totalResult, page: payload.page,
  36. }));
  37. } else {
  38. ResponseError(response);
  39. yield put(createAction('queryList')({reportCustomerDataRState: REFRESH_STATE.Ready}));
  40. }
  41. },
  42. },
  43. subscriptions: {
  44. setup({dispatch}) {
  45. //dispatch({ type: 'loadStorage' })
  46. },
  47. },
  48. };