import fetch from 'isomorphic-fetch'; import actionType from '../actiontype/common' import {addErrorInfo} from './uploadError' let domain = ENV.domain; let myHeaders = new Headers({ // 'Access-Control-Allow-Origin': '*', // 'Content-Type': 'text/plain;charset=UTF-8', // 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8', 'Content-Type': 'application/json; charset=UTF-8', }); //获取店铺信息 const getStoreInfo = (storeId)=>{ return(dispatch)=>{ let bodyData = {storeId}; fetch(domain + 'pad_warehouse/getMachineData.action',{ credentials : 'include', method : 'POST', mode : 'cors', headers:myHeaders, body: JSON.stringify(bodyData) }).then((response)=>response.json()) .then(json=>{ let storeInfo = Object.assign({},{id:storeId}); if(json.meta.success && json.data.warehouse){ storeInfo = Object.assign({},storeInfo,json.data.warehouse) } dispatch(saveCommonInfo(Object.assign({},{storeInfo}))) }).catch(e=>{console.error(e)}) } }; //获取用户信息 const getUserinfo = (employeeId,storeId)=>{ let bodyData = Object.assign({},{employeeId,storeId}) return(dispatch)=>{ fetch(domain + 'machine_pad/get_alowed_task.action',{ credentials : 'include', method : 'POST', mode : 'cors', headers:myHeaders, body : JSON.stringify(bodyData) }).then((response)=>response.json()) .then(json=>{ let userInfo = Object.assign({},{id:employeeId}) if(json.meta.success && json.data){ if(json.data.employee){ userInfo = Object.assign({},userInfo,json.data.employee) } if(json.data.type){ userInfo = Object.assign({},userInfo,{taskType:json.data.type}); }else{ dispatch(addErrorInfo('没有任务需要处理')) } dispatch(saveCommonInfo(Object.assign({},{userInfo}))); } }).catch(e=>{console.error(e)}) } }; //拉取工单 const getTaskList = (data={})=>{ let {storeInfo={},userInfo={},taskInfo={}} = data; let taskId=taskInfo.taskId || 0; let url =`${domain}machine_pad/work/list/${storeInfo.id}/${taskInfo.area}/${taskId}/${userInfo.employeeId}`; return (dispatch)=>{ if(!userInfo.id){ dispatch(addErrorInfo('没有获取用户信息')) }else if(!taskInfo.area){ dispatch(addErrorInfo('没有获取区域信息')) }else { fetch(url,{ credentials : 'include', method : 'GET', mode : 'cors', headers: myHeaders }).then(response=>response.json()) .then((json)=>{ let data =Object.assign({}); if(json.meta.success && json.data){ data.taskInfo = Object.assign({},json.data.flatCommonVo); // if(json.data.flatCommonVo.currentTaskType !== 'ADDR'){ // data.taskList = Object.assign({},json.data.skuFlatVo); // } data.taskList = Object.assign({},json.data.skuFlatVo); let childNum = 0; let currentTaskType = json.data.flatCommonVo.currentTaskType; let currentTaskNum = json.data.flatCommonVo.currentTaskNum; if(currentTaskType === 'RE'){ //回收 if(taskInfo.currentTaskType !== "RE"){ childNum = json.data.skuFlatVo.whetherType ? 1 : 2 }else{ childNum = 2 } } dispatch(getTaskName(currentTaskType,childNum)) } dispatch(saveCommonInfo(Object.assign({},data))) }) } } } const saveCommonInfo = (data)=>{ return { type : actionType.SAVECOMMONINFO, data } }; const logout = ()=>{ let data = Object.assign({},{userInfo:{},taskInfo:{},taskList:{}}); return { type : actionType.EMPTYCOMMONINFO, data } }; const getTaskName = (currentTaskType,childTaskNum=0)=>{ return { type : actionType.GETTASKNAME, data : {currentTaskType,childTaskNum} } } export {getStoreInfo,saveCommonInfo,getUserinfo,logout,getTaskList,getTaskName}