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}; }, }, };