123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- import {queryHome, distributorFetch, fetchProductData,deliverSave,returnSave,fetchSearch} from './../services/home';
- import {createAction} from '../utils'
- import {REFRESH_STATE} from 'react-native-refresh-flatlist';
- import {NavigationActions} from "react-navigation";
- import {Alert} from "react-native";
- export default {
- namespace: 'home',
- state: {
- refreshState: REFRESH_STATE.Ready,
- list: [],
- searchState: 0,
- searchData: {},
- searchNoData: {},
- searchRState: REFRESH_STATE.Ready,
- searchDistData: [],
- searchProductData: {},
- },
- effects: {
- * fetch({payload}, {call, put}) {
- yield put(createAction('queryList')({refreshState: REFRESH_STATE.HeaderRefreshing}));
- const response = yield call(queryHome, payload);
- if (response == undefined || response.code == 1001) {
- yield put(NavigationActions.navigate({routeName: 'Login'}))
- } else {
- yield put(createAction('queryList')({list: response.data, refreshState: REFRESH_STATE.Idle}));
- }
- },
- * search({payload, callback}, {call, put}) {
- const response = yield call(fetchSearch, payload);
- if(response.code == 0) {
- if (response.data) {
- callback({searchData: response.data, searchState: 1})
- } else {
- callback({searchData: {}, searchState: 2})
- }
- }else {
- Alert.alert('提示', response.msg);
- }
- },
- * fetchProductData({payload,callback}, {call, put}) {
- const response = yield call(fetchProductData, payload);
- if (response.code == 0) {
- if (response.data) {
- if(callback){
- callback(response.data)
- }
- yield put(createAction('queryList')({searchProductData: response.data,}));
- }
- else {
- // Alert.alert('提示', '未查询到产品!');
- yield put(createAction('queryList')({searchProductData: {},}));
- }
- } else {
- Alert.alert('提示', response.msg);
- }
- },
- * searchDist({payload}, {call, put}) {
- yield put(createAction('queryList')({searchRState: REFRESH_STATE.HeaderRefreshing}));
- const response = yield call(distributorFetch, payload);
- if (response.code == 0) {
- yield put(createAction('queryList')({
- searchDistData: response.data,
- searchRState: REFRESH_STATE.Idle,
- }));
- }
- else {
- Alert.alert('提示', response.msg);
- }
- },
- * clear({}, {call, put}) {
- yield put(createAction('updateState')({
- searchDistData: [],
- searchProductData: {},
- searchState: 0,
- }));
- },
- * deliverSave({payload, callback}, {call, put}) {
- const response = yield call(deliverSave, payload);
- if (response.code == 0) {
- callback(response.data ?? {})
- } else {
- Alert.alert('提示', response.msg);
- }
- },
- * returnSave({payload, callback}, {call, put}) {
- const response = yield call(returnSave, payload);
- if (response.code == 0) {
- callback(response.data ?? {})
- } else {
- Alert.alert('提示', response.msg);
- }
- },
- },
- reducers: {
- queryList(state, {payload}) {
- // console.log('queryList', state, payload);
- return {...state, ...payload};
- },
- updateState(state, {payload}) {
- return {...state, ...payload};
- },
- },
- };
|