import React from 'react'; import Header from '../../components/CommonComponent/HeaderComponent/HeaderComponent'; import LeftContainer from '../LeftContainer/LeftContainer'; import RightContainer from '../RightContainer/RightContainer'; import ReplenishHomePage from '../../components/ReplenishComponent/ReplenishHomePage/ReplenishHomePage' import ReplenishSkuPage from '../../components/ReplenishComponent/ReplenishSkuPage/ReplenishSkuPage' import ReplenishScanPage from '../../components/ReplenishComponent/ReplenishScanPage/ReplenishScanPage' require('./index.css'); const replenishPageIndex = { 1 : 'getHomePage', 2 : 'getSkuPage', 3 : 'getScanPage', } export default class ReplenishContainer extends React.Component{ constructor(props){ super(props); this.beginScan = this.beginScan.bind(this) this.goBack = this.goBack.bind(this) this.state = { pageType : 1, showScanQrcode : false } } componentWillMount(){ } componentWillReceiveProps(nextProps){ } getPage(type){ return (props)=>this[replenishPageIndex[type]](props) } beginScan(){ this.setState({ pageType : 3, showScanQrcode : true, }) } getHomePage(props){ let {headerInfo} = props; return( <ReplenishHomePage headerInfo={headerInfo} scanQrcode={()=>this.beginScan()} /> ) } getSkuPage(props){ return <ReplenishSkuPage {...props} beginScan={this.beginScan}/> } getScanPage(props){ return <ReplenishScanPage {...props}/> } goBack(type){ this.setState({ showScanQrcode : false, pageType : type }) } render(){ let props = this.props; return ( <div className={"replenishContainer page"}> { this.state.showScanQrcode ? <ReplenishScanPage {...props} goBack={this.goBack}/> : <div style={{width:'100%',height:'100%'}}> { props.headerInfo && props.headerInfo.storeInfo ? <Header headerInfo={props.headerInfo}/> : null } <LeftContainer leftInfo={props.headerInfo}/> <RightContainer> {this.getPage(this.state.pageType)(props)} </RightContainer> </div> } </div> ) } }