import React from "react"
import HeaderComponent from '../../components/CommonComponent/HeaderComponent/HeaderComponent'
import LeftContainer from '../LeftContainer/LeftContainer'
import RightContainer from '../RightContainer/RightContainer'
import {headerStatus} from '../../config/showPage'
import Button from '../../components/CommonComponent/ButtonComponent/ButtonComponent'
import PopupComponent from '../../components/CommonComponent/PopupComponent/PopupComponent'
require('./index.css')
class TakeStokeContaniner extends React.Component {
    constructor(props){
         super(props);
         this.state={
             showButton:true,
             number:1,
             initNum:'-'
         }
    }

    render(){
       let {showButton,number,initNum}=this.state;
       let props = this.props;
       let tokeTaskProduct=props.tokeTaskProduct;
       return (
                <div className={'TokeStokeContainer'}>
                        <HeaderComponent headerStatus={headerStatus[1]} headerInfo={props.headerInfo}/>
                         <LeftContainer leftInfo={props.headerInfo}/>
                         <RightContainer>
                             <div className={"TokeStokeContent"}>
                                  <div className={'commonPage'}>
                                        {
                                            showButton?<div className={'pageTitle clo333 font40'}>
                                              <span>任务目标:</span>
                                              <span>请<span className={number===1?'col333':'colff775c'}>{number===1?'输入':'再次输入'}</span>以下货道中货品的数量</span>
                                           </div>:
                                           <div className={'pageTitle clo333 font40'}>
                                              <span>任务目标:</span>
                                              <span>请从货道上拿下<span className={'colff775c'}>{initNum-tokeTaskProduct.realQuantity}</span>个货品放入回收箱</span>
                                           </div>
                                        }
                                      <div className={'pagebox'}>
                                            <div className={'productImg'}>
                                                  <img style={{width:'100%',height:'100%'}} src={UTILPATH.getPic(tokeTaskProduct.skuImage,"middle")} alt=""/>
                                            </div>
                                            <div className={'productDetail clo333 font30'}>
                                                <p><span>货品名称:</span>{tokeTaskProduct.skuName}</p>
                                                <p><span>所在区域:</span>{tokeTaskProduct.area}<span className={'colff775c'} onClick={this.showImg.bind(this)}>位置照片</span></p>
                                                <p><span>货道信息:</span>{tokeTaskProduct.position}<span>{tokeTaskProduct.positionNum}</span></p>
                                            </div>
                                      </div>
                                      {
                                             showButton?<div className={'productHandle'}>
                                             <div className={'productNum'}>
                                                     <p className={'font30 clo333'}>
                                                         <span>货品数量:</span>
                                                         <span className={'disNum'} onClick={this.productNum.bind(this,'dis')}>-</span>
                                                         <span className={'baseNum font50 colff775c'} style={{opacity:initNum==='-'?0:1}}>{initNum}</span>
                                                         <span className={'addNum'} onClick={this.productNum.bind(this,'add')}>+</span>
                                                     </p>
                                             </div>
                                          <Button text={'提交'} btnContainer={'font32 colfff'} style={{marginTop:UTILPATH.getRemByPx(80),background:initNum==='-'?'#ededed':'#ff7860'}} option={this.checkProductNum.bind(this)} />
                                          </div>:<Button option={this.clickPutIn.bind(this)} text={'已放入'} btnContainer={'backff775c font32 colfff'} style={{marginTop:UTILPATH.getRemByPx(280)}} />
                                      }
                                  </div>
                             </div>
                         </RightContainer>
                         <PopupComponent 
                          popupInfo={{}}
                          />
                    </div>
            )
    }
    //显示放大显示
    showImg(){
        let props = this.props;
        let tokeTaskProduct=props.tokeTaskProduct;
        let popupInfo={showPopup:true,popupChild:<img onClick={this.props.hidePopup} className={'defaultPopup'} src={tokeTaskProduct.skuImage} alt=""/>}
        this.props.showPopup(popupInfo)
    }
    //产品数量的加减
    productNum(str){
        let {initNum}=this.state;
        if(str==='add'){
            if(initNum==='-'){
                 initNum=0;
            }else{
                 initNum++;
            }
            this.setState({
                initNum
            })
        }else if(str==='dis'){
            if(initNum>0){
               initNum--; 
            }
            this.setState({
                initNum
            })
        }
    }
    //核对产品数量
    checkProductNum(){
        let {initNum}=this.state;
        if(initNum!=='-'){
            let {workListId,skuPassId}=this.props.tokeTaskProduct;
            let tokeProductInfo={workListId,skuPassId,quantity:initNum}
            this.props.checkProductQuantity(tokeProductInfo)
        }
        
    }
    //根据后台返回的数据  判断显示的组件
    componentWillReceiveProps(nextProps){
          if(!(this.props.TokeStokeState.type===3&&nextProps.TokeStokeState.type===3)){
                let {type}=nextProps.TokeStokeState;
                switch(type){
                    case 1 :
                    this.setState({number:1,showButton:true,initNum:'-'})
                    break;
                    case 2 :
                    this.setState({number:type,initNum:'-',showButton:true})
                    break;
                    case 3 :
                    this.setState({showButton:false})
                    break;
                }
          }
         
    }
    //点击已放入 继续拉取工单
    clickPutIn(){
        this.props.getTaskList();
        this.setState({number:1,showButton:true,initNum:0})
    }
   
}
export default TakeStokeContaniner