Commit cfe0d05b by Zhang Xin

add commonInfo

parent 98f22d1a
import fetch from 'isomorphic-fetch';
import actionType from '../actiontype/common'
import {saveHeaderInfo} from "./initHeader";
import actionTypes from "../actiontype/user";
const domain = ENV.domain;
//获取工单
const getTaskInfo = (data)=>{
let {employeeId,storeId} = data;
return(dispatch)=>{
}
};
//获取店铺信息
const getStoreInfo = (storeId)=>{
return(dispatch)=>{
let bodyData = {storeId};
fetch(domain + 'pad_warehouse/getMachineData.action',{
credentials : 'include',
method : 'POST',
mode : 'cors',
headers: { 'Content-Type': 'application/json' },
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 getInfoByBarcode = (data)=>{
let {storeId,barcode} = data;
let url = `flat/barcode/${storeId}/${barcode}`
return (dispatch)=>{
// dispatch(clearBarcodeInfo()); //清空barcode信息
fetch(domain + url,{
credentials : 'include',
method : 'GET',
mode : 'cors',
headers: { 'Content-Type': 'application/json' },
}).then(response=>response.json())
.then(json=>{
console.log(json);
if(json.meta.success){
//扫码成功
}else{
//扫码失败
}
})
}
};
//获取用户信息
const getUserinfo = (employeeId,storeId)=>{
let bodyData = Object.assign({},{employeeId,storeId})
return(dispatch)=>{
dispatch(saveHeaderInfo(info));
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 setBarcodeInfo = (data)=>{
return{
type : actionType.SETBARCODEINFO,
data
}
};
const clearBarcodeInfo = (data)=>{
return{
type : actionType.EMPTYBARCODEINFO,
data
}
};
const saveCommonInfo = (data)=>{
return {
type : actionType.SAVECOMMONINFO,
data
}
};
const logout = ()=>{
let data = Object.assign({},{userInfo:{},taskInfo:{}});
return {
type : actionTypes.EMPTYCOMMONINFO,
data
}
}
export {getStoreInfo,getTaskInfo,getInfoByBarcode,saveCommonInfo,getUserinfo,logout}
...@@ -9,10 +9,10 @@ const initStart = () => { ...@@ -9,10 +9,10 @@ const initStart = () => {
data : mock data : mock
} }
} }
const setPickedCategory = (data)=>{ const startTask = (data)=>{
return { return {
type:actiontypes.SETPICKEDCATEGORY, type:actiontypes.SETPICKEDCATEGORY,
data data
} }
} }
export {initStart,setPickedCategory} export {initStart}
const actionTypes = {
SETBARCODEINFO : 'SETBARCODEINFO',
EMPTYBARCODEINFO : 'EMPTYBARCODEINFO',
SAVECOMMONINFO : 'SAVECOMMONINFO',
EMPTYCOMMONINFO : 'EMPTYCOMMONINFO',
}
export default actionTypes
\ No newline at end of file
...@@ -40,23 +40,14 @@ export default class HeaderComponent extends React.Component{ ...@@ -40,23 +40,14 @@ export default class HeaderComponent extends React.Component{
} }
getHomeHeader(){ getHomeHeader(){
let {storeInfo,userinfo,taskInfo} = this.props; let headerInfo = this.props.headerInfo;
storeInfo = { let {storeInfo,userInfo,taskInfo} = headerInfo;
name : '华贸商业街', if(taskInfo && taskInfo.currentTaskNum && taskInfo.totalTaskNum){
id : 20 let style = {
}; 'width' : (parseInt(taskInfo.currentTaskNum) / parseInt(taskInfo.totalTaskNum) * 100) + '%'
userinfo = { }
headImageUrl : "",
employeeName : "你说呢",
id : "00001"
};
taskInfo = {
totalTaskNum : 5,
currentTaskNum : 2
};
let style = {
'width' : (parseInt(taskInfo.currentTaskNum) / parseInt(taskInfo.totalTaskNum) * 100) + '%'
} }
return ( return (
<div className={"homeHeader clearfix"}> <div className={"homeHeader clearfix"}>
{ {
...@@ -75,21 +66,24 @@ export default class HeaderComponent extends React.Component{ ...@@ -75,21 +66,24 @@ export default class HeaderComponent extends React.Component{
</div> :null </div> :null
} }
<div className={"taskProgress"}> {
<div className={"currentTask"} style={style}></div> taskInfo && taskInfo.currentTaskNum && taskInfo.totalTaskNum ?
<div className={"progressText col333 font26"}>任务进度 {taskInfo.currentTaskNum}/{taskInfo.totalTaskNum}</div> <div className={"taskProgress"}>
</div> <div className={"currentTask"} style={style}></div>
<div className={"progressText col333 font26"}>任务进度 {taskInfo.currentTaskNum}/{taskInfo.totalTaskNum}</div>
</div> : null
}
</div> </div>
} }
<div className={"headerContent rightContent fr "}> <div className={"headerContent rightContent fr "}>
{ {
userinfo && userinfo.id ? <div className={"userinfos"}> userInfo && userInfo.id ? <div className={"userinfos"}>
<img className={"userheadImg"} src={ userinfo.headImageUrl || UTILPATH.localImg.defaultImg} alt=""/> <img className={"userheadImg"} src={ userInfo.headImageUrl || UTILPATH.localImg.defaultImg} alt=""/>
<div className={"userinfo font24 colfff"}> <div className={"userinfo font24 colfff"}>
<p>{userinfo.employeeName || ''}</p> <p>{userInfo.employeeName || ''}</p>
<p>ID:{userinfo.id || 0}</p> <p>ID:{userInfo.id || 0}</p>
</div> </div>
</div> : null </div> : null
} }
...@@ -137,7 +131,13 @@ export default class HeaderComponent extends React.Component{ ...@@ -137,7 +131,13 @@ export default class HeaderComponent extends React.Component{
render(){ render(){
let pages = this.getHeader.bind(this)(); let props = this.props;
let pages = null;
console.log("props ",props);
console.log("props ",props.headerInfo);
if(props && props.headerInfo && props.headerInfo.storeInfo){
pages = this.getHeader.bind(this)();
}
return <div className={"headerComponent"}> return <div className={"headerComponent"}>
{pages} {pages}
</div> </div>
......
...@@ -2,14 +2,13 @@ ...@@ -2,14 +2,13 @@
import React from 'react' import React from 'react'
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import {getStoreInfo} from "../../actions/getStore"; import {getStoreInfo,saveCommonInfo,getUserinfo,logout} from "../../actions/common";
import {getTroubleList,updateTroubleList} from "../../actions/getTroubles"; import {getTroubleList,updateTroubleList} from "../../actions/getTroubles";
import {initGetOtherProblem,addNewProbem,deleteProblem,editProblemItem,submitProblemList} from "../../actions/otherQuestion" import {initGetOtherProblem,addNewProbem,deleteProblem,editProblemItem,submitProblemList} from "../../actions/otherQuestion"
import {scanBarCodeGetProductInfo,submitProductInfo,saveEditProductInfo,submitProductSuccess,clearProductSuccess} from "../../actions/ScanBarCode" import {scanBarCodeGetProductInfo,submitProductInfo,saveEditProductInfo,submitProductSuccess,clearProductSuccess} from "../../actions/ScanBarCode"
import {getReportDamageList,deleteDamageItem} from '../../actions/reportDamageList' import {getReportDamageList,deleteDamageItem} from '../../actions/reportDamageList'
import {getRefreshImg,deleteImg,emptyImg} from "../../actions/refreshImg" import {getRefreshImg,deleteImg,emptyImg} from "../../actions/refreshImg"
import {uploadError,addErrorInfo} from '../../actions/uploadError' import {uploadError,addErrorInfo} from '../../actions/uploadError'
import {getUserinfo,logoutUser} from '../../actions/userinfo'
import PopupComponent from '../../components/CommonComponent/PopupComponent/PopupComponent' import PopupComponent from '../../components/CommonComponent/PopupComponent/PopupComponent'
import TroubleContainer from '../TroubleContainer/TroubleContainer' import TroubleContainer from '../TroubleContainer/TroubleContainer'
import ScanBarCodeContainer from '../ScanBarCodeContainer/ScanBarCodeContaienr' import ScanBarCodeContainer from '../ScanBarCodeContainer/ScanBarCodeContaienr'
...@@ -22,7 +21,7 @@ import Button from '../../components/CommonComponent/ButtonComponent/ButtonCompo ...@@ -22,7 +21,7 @@ import Button from '../../components/CommonComponent/ButtonComponent/ButtonCompo
import Clock from '../../components/CommonComponent/ClockComponent/ClockComponent'; import Clock from '../../components/CommonComponent/ClockComponent/ClockComponent';
/*二期引用 start*/ /*二期引用 start*/
import HomePage from '../HomeContainer/HomeContainer' import HomePage from '../HomePageContainer/HomePageContainer'
import TakeStokeContainer from '../TakeStokeContainer/TakeStokeContainer' import TakeStokeContainer from '../TakeStokeContainer/TakeStokeContainer'
import BreakageContainer from '../BreakageContainer/BreakageConatiner' import BreakageContainer from '../BreakageContainer/BreakageConatiner'
import RecoveryPage from '../RecoveryContainer/RecoveryContainer' import RecoveryPage from '../RecoveryContainer/RecoveryContainer'
...@@ -67,7 +66,7 @@ class PageContainer extends React.Component { ...@@ -67,7 +66,7 @@ class PageContainer extends React.Component {
headerInfo : {}, headerInfo : {},
pageStyle : {}, pageStyle : {},
successCloseDoor : false, successCloseDoor : false,
showClassify : false //显示右侧菜单栏,默认不显示 showClassify : false //显示右侧菜单栏,默认不显示,目前没用
}; };
this.getPages = this.getPages.bind(this); //获取当前页面 this.getPages = this.getPages.bind(this); //获取当前页面
this.showPopup = this.showPopup.bind(this); //显示弹窗 this.showPopup = this.showPopup.bind(this); //显示弹窗
...@@ -132,12 +131,12 @@ class PageContainer extends React.Component { ...@@ -132,12 +131,12 @@ class PageContainer extends React.Component {
on(CONFIG.socketType.GETSTOREINFO,this,function (data) { on(CONFIG.socketType.GETSTOREINFO,this,function (data) {
console.log("==GETSTOREINFO===") console.log("==GETSTOREINFO===")
console.log(data); console.log(data);
dispatch(getStoreInfo(data)); dispatch(saveCommonInfo({ip:data.ip}));
dispatch(getStoreInfo(data.storeId));
}); });
on(CONFIG.socketType.GETSOCKETMSG,this,function (data) { on(CONFIG.socketType.GETSOCKETMSG,this,function (data) {
console.log("==GETSTOREINFO===") console.log("==GETSTOREINFO===")
console.log(data) console.log(data)
console.log(this);
that.getSocketMsg(data) that.getSocketMsg(data)
}) })
...@@ -146,7 +145,7 @@ class PageContainer extends React.Component { ...@@ -146,7 +145,7 @@ class PageContainer extends React.Component {
emptyUser(){ emptyUser(){
let {dispatch} = this.props; let {dispatch} = this.props;
dispatch(logoutUser()); dispatch(logout());
} }
getSocketMsg(data){ getSocketMsg(data){
...@@ -155,9 +154,21 @@ class PageContainer extends React.Component { ...@@ -155,9 +154,21 @@ class PageContainer extends React.Component {
case 'SUCCESS_OPENDOOR': case 'SUCCESS_OPENDOOR':
//执行开门 //执行开门
let info = data.info; let info = data.info;
let headerInfo = state.headerInfo; let commonInfo = state.commonInfo;
console.log("SUCCESS_OPENDOOR " ,info); console.log("SUCCESS_OPENDOOR " ,info);
dispatch(getUserinfo(info,headerInfo)); let {userinfo} = info;
let datas = info.data;
let {storeInfo} = commonInfo;
if(storeInfo && userinfo &&
storeInfo.id && userinfo.employeeId
){
dispatch(getUserinfo(userinfo.employeeId,storeInfo.id))
}
if(datas.area){
//区域信息
dispatch(saveCommonInfo(Object.assign({},{taskInfo:{area:datas.area}})))
}
this.setState({ this.setState({
successCloseDoor : false successCloseDoor : false
}); });
...@@ -165,7 +176,7 @@ class PageContainer extends React.Component { ...@@ -165,7 +176,7 @@ class PageContainer extends React.Component {
case 'SUCCESS_CLOSEDOOR': case 'SUCCESS_CLOSEDOOR':
//关门成功 //关门成功
console.log("closedoor"); console.log("closedoor");
dispatch(logoutUser()); dispatch(logout());
this.endCountBack(); this.endCountBack();
// remove(CONFIG.socketType.GETSTOREINFO,this) // remove(CONFIG.socketType.GETSTOREINFO,this)
// remove(CONFIG.socketType.GETSOCKETMSG,this) // remove(CONFIG.socketType.GETSOCKETMSG,this)
...@@ -198,6 +209,7 @@ class PageContainer extends React.Component { ...@@ -198,6 +209,7 @@ class PageContainer extends React.Component {
this.dealPageByType(userinfo.type); this.dealPageByType(userinfo.type);
} }
if(state.errMsg.errMsg){ if(state.errMsg.errMsg){
//有错误信息,弹出错误信息弹窗
this.showError(state.errMsg.errMsg) this.showError(state.errMsg.errMsg)
} }
} }
...@@ -225,8 +237,8 @@ class PageContainer extends React.Component { ...@@ -225,8 +237,8 @@ class PageContainer extends React.Component {
dealPageByType(type){ dealPageByType(type){
let {dispatch,state} = this.props; let {dispatch,state} = this.props;
if(this.taskTypeOption[type] && state.headerInfo){ if(this.taskTypeOption[type] && state.commonInfo){
this.taskTypeOption[type](state.headerInfo); this.taskTypeOption[type](state.commonInfo);
} }
} }
...@@ -307,7 +319,7 @@ class PageContainer extends React.Component { ...@@ -307,7 +319,7 @@ class PageContainer extends React.Component {
uploadErrs(type){ uploadErrs(type){
let {dispatch,state} = this.props; let {dispatch,state} = this.props;
dispatch(uploadError(Object.assign({},state.headerInfo,{exceptionType:type}))); dispatch(uploadError(Object.assign({},state.commonInfo,{exceptionType:type})));
} }
//弹出警告弹窗,并报警 //弹出警告弹窗,并报警
showAlarm(){ showAlarm(){
...@@ -455,7 +467,7 @@ class PageContainer extends React.Component { ...@@ -455,7 +467,7 @@ class PageContainer extends React.Component {
break; break;
case showPage[2]: case showPage[2]:
pages = <ScanBarCodeContainer pages = <ScanBarCodeContainer
headerInfo = {state.headerInfo} headerInfo = {state.commonInfo}
storeInfo={state.storeInfo} storeInfo={state.storeInfo}
userInfo={state.userInfo} userInfo={state.userInfo}
getProductInfo = {(postData)=>dispatch(scanBarCodeGetProductInfo(postData))} getProductInfo = {(postData)=>dispatch(scanBarCodeGetProductInfo(postData))}
...@@ -474,7 +486,7 @@ class PageContainer extends React.Component { ...@@ -474,7 +486,7 @@ class PageContainer extends React.Component {
getReportDamageList = {(postData)=>dispatch(getReportDamageList(postData))} getReportDamageList = {(postData)=>dispatch(getReportDamageList(postData))}
deleteDamageItem = {(postData)=>{dispatch(deleteDamageItem(postData))}} deleteDamageItem = {(postData)=>{dispatch(deleteDamageItem(postData))}}
changePages={(data)=>this.changePages(data)} changePages={(data)=>this.changePages(data)}
headerInfo = {state.headerInfo} headerInfo = {state.commonInfo}
storeInfo={state.storeInfo} storeInfo={state.storeInfo}
userInfo={state.userInfo} userInfo={state.userInfo}
state = {state} state = {state}
...@@ -492,7 +504,7 @@ class PageContainer extends React.Component { ...@@ -492,7 +504,7 @@ class PageContainer extends React.Component {
getRefreshImg={(errorId,type)=>dispatch(getRefreshImg(errorId,type))} getRefreshImg={(errorId,type)=>dispatch(getRefreshImg(errorId,type))}
deleteImg={(errorId,type,fileId)=>dispatch(deleteImg(errorId,type,fileId))} deleteImg={(errorId,type,fileId)=>dispatch(deleteImg(errorId,type,fileId))}
changePages={(data)=>this.changePages(data)} changePages={(data)=>this.changePages(data)}
headerInfo = {state.headerInfo} headerInfo = {state.commonInfo}
storeInfo={state.storeInfo} storeInfo={state.storeInfo}
userInfo={state.userInfo} userInfo={state.userInfo}
state = {state} state = {state}
...@@ -538,6 +550,7 @@ class PageContainer extends React.Component { ...@@ -538,6 +550,7 @@ class PageContainer extends React.Component {
break; break;
case showPage[10]: case showPage[10]:
pages = <RecoveryPage pages = <RecoveryPage
headerInfo = {state.commonInfo}
showPopup={(info)=>this.showPopup(info)} showPopup={(info)=>this.showPopup(info)}
hidePopup={()=>this.hidePopup()} hidePopup={()=>this.hidePopup()}
/>; />;
...@@ -553,8 +566,9 @@ class PageContainer extends React.Component { ...@@ -553,8 +566,9 @@ class PageContainer extends React.Component {
} }
render() { render() {
console.log("render ");
let {state} = this.props; let {state} = this.props;
let headerInfo = state.headerInfo; let headerInfo = state.commonInfo;
let ip = headerInfo ? headerInfo.ip : ''; let ip = headerInfo ? headerInfo.ip : '';
let mp3Url = ip ? `http://${ip}:7788/defaultMedia/back.mp3` : ''; let mp3Url = ip ? `http://${ip}:7788/defaultMedia/back.mp3` : '';
return ( return (
......
...@@ -65,9 +65,14 @@ export default class RecoveryContainer extends React.Component{ ...@@ -65,9 +65,14 @@ export default class RecoveryContainer extends React.Component{
render(){ render(){
let dom = this.getFirstPage(); let dom = this.getFirstPage();
let props = this.props;
return( return(
<div className={"recoveryContainer page"}> <div className={"recoveryContainer page"}>
<Header /> {
props.headerInfo && props.headerInfo.storeInfo ?
<Header headerInfo={props.headerInfo}/> : null
}
<LeftContainer /> <LeftContainer />
<RightContainer> <RightContainer>
{ {
......
...@@ -2,6 +2,6 @@ ...@@ -2,6 +2,6 @@
* Created by ruibing on 16/11/2. * Created by ruibing on 16/11/2.
*/ */
module.exports = { module.exports = {
domain: 'http://test.mjitech.com', domain: 'http://test.mjitech.com/web/',
uploadImg : 'https://preprod.mjitech.com/static/uploadTrouble' uploadImg : 'https://preprod.mjitech.com/static/uploadTrouble'
} }
\ No newline at end of file
...@@ -30,6 +30,6 @@ function renderPage(store) { ...@@ -30,6 +30,6 @@ function renderPage(store) {
let store = activateVendor(); let store = activateVendor();
// UTILPATH.socket.init(129,17); // UTILPATH.socket.init(129,17);
// UTILPATH.socket.testIp(209); // UTILPATH.socket.testIp(209);
// UTILPATH.socket.testIp(179); UTILPATH.socket.testIp(169);
renderPage(store); renderPage(store);
\ No newline at end of file
import actionTypes from '../actiontype/common';
const saveCommonInfo = (state,data)=>{
let keys = Object.keys(data);
keys.forEach(k=>
{
if(state[k]){
if(typeof data[k] === 'string'){
state[k] = data[k]
}else{
state[k] = Object.assign({},state[k],data[k]);
}
}else{
state[k] = data[k]
}
});
return Object.assign({},state);
};
const emptyCommInfo = (state,data)=>{
return Object.assign({},state,data)
}
export default function(state={}, action) {
switch (action.type) {
case actionTypes.SAVECOMMONINFO:
return saveCommonInfo(state,action.data);
case actionTypes.EMPTYCOMMONINFO:
return emptyCommInfo(state);
default:
return state;
}
}
\ No newline at end of file
...@@ -8,6 +8,7 @@ import refreshImg from './refreshImg' //刷新图片 ...@@ -8,6 +8,7 @@ import refreshImg from './refreshImg' //刷新图片
import headerInfo from './initHeader' //获取头部信息 import headerInfo from './initHeader' //获取头部信息
import reportDamageList from './reportDamge' //一期商铺报损 import reportDamageList from './reportDamge' //一期商铺报损
import errMsg from './error' //上报异常 import errMsg from './error' //上报异常
import commonInfo from './common' //上报异常
export default combineReducers({ export default combineReducers({
troubleList, troubleList,
...@@ -18,7 +19,8 @@ export default combineReducers({ ...@@ -18,7 +19,8 @@ export default combineReducers({
refreshImg, refreshImg,
headerInfo, headerInfo,
reportDamageList, reportDamageList,
errMsg errMsg,
commonInfo
}) })
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment