From 15b0a1b9b5aa37de28876ff76ef1cba0685b63e5 Mon Sep 17 00:00:00 2001
From: wujiabao <jiabaowu@mjitech.com>
Date: Thu, 6 Dec 2018 15:34:45 +0800
Subject: [PATCH] 关门改动

---
 client/containers/PageContainer/PageContainer.jsx          |  77 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------
 client/containers/TroubleContainer/TroubleContainer.jsx    |  21 ++++++++++++++-------
 client/containers/oldTroubleContainer/TroubleContainer.jsx | 356 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 client/containers/oldTroubleContainer/index.css            |  83 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 client/reducers/common.js                                  |  13 +++++++++++++
 5 files changed, 524 insertions(+), 26 deletions(-)
 create mode 100644 client/containers/oldTroubleContainer/TroubleContainer.jsx
 create mode 100644 client/containers/oldTroubleContainer/index.css

diff --git a/client/containers/PageContainer/PageContainer.jsx b/client/containers/PageContainer/PageContainer.jsx
index 7f7aec2..9ab36ff 100755
--- a/client/containers/PageContainer/PageContainer.jsx
+++ b/client/containers/PageContainer/PageContainer.jsx
@@ -37,6 +37,7 @@ import {finishBoxRecovery} from "../../actions/recovery";
 import replenishAction from "../../actions/replenish";
 import AllClassify from '../AllClassifyContainer/AllClassifyContainer'
 import {willCloseDoor,closeDoorSuccess} from '../../actions/chooseTaskContainer'
+import {sendMsg} from '../../util/socket'
 /*二期引用 end*/
 
 import {on,remove} from '../../util/event';
@@ -75,7 +76,8 @@ class PageContainer extends React.Component {
             pageStyle : {},
             successCloseDoor : false,
             showClassify : false, //显示右侧菜单栏,默认不显示,目前没用
-            isSend:false
+            isSend:false,
+            area:''//区域
 
         };
         this.getPages = this.getPages.bind(this); //获取当前页面
@@ -180,7 +182,8 @@ class PageContainer extends React.Component {
     getSocketMsg(data){
         this.showError(JSON.stringify(data));
         let {dispatch,state} = this.props;
-        let {isSend} = this.state;
+        let {isSend , area} = this.state;
+        console.log(data,'kldasjdkljaskljdklsjakldjkla')
         switch (data.type){
             case 'SUCCESS_OPENDOOR':
                 this.showError(JSON.stringify(data));
@@ -204,26 +207,55 @@ class PageContainer extends React.Component {
                 }
 
                 this.setState({
-                    successCloseDoor : false
+                    successCloseDoor : false,
+                    area:info.area
                 });
                 break;
             case 'SUCCESS_CLOSEDOOR':
-                //关门成功
-                 if(isSend){
-                    console.log("closedoor");
-                    dispatch(logout());
-                    // this.endCountBack();
-                    // remove(CONFIG.socketType.GETSTOREINFO,this)
-                    // remove(CONFIG.socketType.GETSOCKETMSG,this)
-                    dispatch(closeDoorSuccess(state.commonInfo))
-                    this.setState({
-                        showPage : showPage[initPage],
-                        showClock : false,
-                        popupInfo : defaultPopupInfo,
-                        successCloseDoor : true,
-                        isSend:false
-                    });
-                 }
+                if(area==="A"){
+                    if(data.info.left_tread===1){
+                       //关门成功
+                        if(isSend){
+                            console.log("closedoor");
+                            dispatch(logout());
+                            // this.endCountBack();
+                            // remove(CONFIG.socketType.GETSTOREINFO,this)
+                            // remove(CONFIG.socketType.GETSOCKETMSG,this)
+                            dispatch(closeDoorSuccess(state.commonInfo))
+                            this.setState({
+                                showPage : showPage[initPage],
+                                showClock : false,
+                                popupInfo : defaultPopupInfo,
+                                successCloseDoor : true,
+                                isSend:false
+                            });
+                        }
+                    }else{
+                        sendMsg(JSON.stringify({type:'WILL_CLOSEDOOR'}))
+                    }
+                }else if(area==="B"){
+                    if(data.info.right_tread===1){
+                        //关门成功
+                        if(isSend){
+                            console.log("closedoor");
+                            dispatch(logout());
+                            // this.endCountBack();
+                            // remove(CONFIG.socketType.GETSTOREINFO,this)
+                            // remove(CONFIG.socketType.GETSOCKETMSG,this)
+                            dispatch(closeDoorSuccess(state.commonInfo))
+                            this.setState({
+                                showPage : showPage[initPage],
+                                showClock : false,
+                                popupInfo : defaultPopupInfo,
+                                successCloseDoor : true,
+                                isSend:false
+                            });
+                        }
+                    }else{
+                        sendMsg(JSON.stringify({type:'WILL_CLOSEDOOR'}))
+                    }
+                }
+                
                 break;
         }
     }
@@ -278,6 +310,8 @@ class PageContainer extends React.Component {
                         break;
                     case 'PF' :
                         this.changePages(CONFIG.showPage[14]);
+                    case 'EH' :
+                        this.changePages(CONFIG.showPage[12]);
                         break;
                 }
             }
@@ -705,6 +739,11 @@ class PageContainer extends React.Component {
                                   hidePopup={()=>this.hidePopup()}
                                    />;
                 break;
+            case showPage[12]:
+                pages =<TroubleContainer
+                                 headerInfo={commonInfo}
+                        />
+                break;
             case showPage[131]:
                 pages = <HomePage headerInfo={commonInfo}
                                   getTaskList={()=>{dispatch(getTaskList(commonInfo))}}
diff --git a/client/containers/TroubleContainer/TroubleContainer.jsx b/client/containers/TroubleContainer/TroubleContainer.jsx
index 126bf08..cafea13 100644
--- a/client/containers/TroubleContainer/TroubleContainer.jsx
+++ b/client/containers/TroubleContainer/TroubleContainer.jsx
@@ -7,6 +7,8 @@ import Qrcode from '../../components/CommonComponent/Qrcode/Qrcode'
 import FinishTrouble from '../../components/TroubleComponent/FinishTroubleComponent/FinishTroubleComponent'
 import Button from '../../components/CommonComponent/ButtonComponent/ButtonComponent'
 import PopModel from '../../components/CommonComponent/PopupComponent/PopupMiddleComponent'
+import LeftContainer from '../LeftContainer/LeftContainer';
+import RightContainer from '../RightContainer/RightContainer';
 require('./index.css')
 
 const showDom={
@@ -282,10 +284,10 @@ export default class TroubleContainer extends React.Component{
 
         return(
             <div className={"toubleContainer " + (showTrouble ? '' : 'hide')}>
-                <HeaderComponent
+                {/* <HeaderComponent
                     showHeader={CONFIG.headerStatus[1]}
                     headerInfo={headerInfo}
-                />
+                /> */}
 
                 {
                     this.state.showTrouble ?
@@ -346,11 +348,16 @@ export default class TroubleContainer extends React.Component{
 
     render(){
         return (
-            <div className={"troubleContainers "+(this.state.showStatus === showDom[2] ? 'backfff' : '')} style={this.state.style}>
-                {
-                    this.getDom()
-                }
-            </div>
+           <div>
+               <LeftContainer leftInfo={props.headerInfo} />
+               <RightContainer>
+                    <div className={"troubleContainers "+(this.state.showStatus === showDom[2] ? 'backfff' : '')} style={this.state.style}>
+                        {
+                            this.getDom()
+                        }
+                    </div>
+               </RightContainer>
+           </div>
         )
     }
 }
diff --git a/client/containers/oldTroubleContainer/TroubleContainer.jsx b/client/containers/oldTroubleContainer/TroubleContainer.jsx
new file mode 100644
index 0000000..126bf08
--- /dev/null
+++ b/client/containers/oldTroubleContainer/TroubleContainer.jsx
@@ -0,0 +1,356 @@
+import React from 'react';
+import SwiperComponent from '../../components/CommonComponent/SwiperComponent/SwiperComponent'
+import TroubleItem from '../../components/TroubleComponent/TroubleItemComponent/TroubleItemComponent'
+import HeaderComponent from '../../components/CommonComponent/HeaderComponent/HeaderComponent'
+import TextArea from "../../components/CommonComponent/TextAreaContainer/TextAreaContainer";
+import Qrcode from '../../components/CommonComponent/Qrcode/Qrcode'
+import FinishTrouble from '../../components/TroubleComponent/FinishTroubleComponent/FinishTroubleComponent'
+import Button from '../../components/CommonComponent/ButtonComponent/ButtonComponent'
+import PopModel from '../../components/CommonComponent/PopupComponent/PopupMiddleComponent'
+require('./index.css')
+
+const showDom={
+    1:'default',
+    2:'textArea',
+    3:'qrcode'
+};
+
+export default class TroubleContainer extends React.Component{
+    constructor(props){
+        super(props);
+        this.state = {
+            showTrouble : true,
+            troubleList : {},
+            currentErrorCode : 0,
+            tmpText : '',
+            tmpUrl : '',
+            showStatus:showDom[1],
+            style : {},
+            initialSlide : 0,
+            tempinitialSlide : 0
+        };
+        this.setItem = this.setItem.bind(this);
+        this.showText = this.showText.bind(this);
+        this.showQrcode = this.showQrcode.bind(this);
+        this.goBack = this.goBack.bind(this);
+        this.saveText = this.saveText.bind(this);
+        this.getDefaultDom = this.getDefaultDom.bind(this);
+        this.getTextAreaDom = this.getTextAreaDom.bind(this);
+        this.getQrcodeDom = this.getQrcodeDom.bind(this);
+        this.updateImg = this.updateImg.bind(this);
+        this.dealTrouble = this.dealTrouble.bind(this);
+        this.setStyle = this.setStyle.bind(this);
+        this.onSlideChangeEnd = this.onSlideChangeEnd.bind(this);
+        this.abandonSaveText = this.abandonSaveText.bind(this);
+        this.changeIsSend =this.changeIsSend.bind(this);
+    }
+
+
+    componentWillMount(){
+        let {troubleList,initTroubleList} = this.props;
+        // initTroubleList({storeId: 7, employeeId: 5, token: "966D5C0B-3CF2-420D-B9A3-313BA37DE092"});
+        this.setState({
+            troubleList : troubleList
+        })
+    }
+
+    componentWillReceiveProps(nextProps){
+        let troubleList = nextProps.troubleList;
+        let nowTroubleList = this.state.troubleList;
+        let troubleErrorCodeList = Array.isArray(troubleList.details) ? troubleList.details.map(i=>i.errorCode) : [];
+        let nowtroubleErrorCodeList = Array.isArray(nowTroubleList.details) ? nowTroubleList.details.map(i=>i.errorCode) : [];
+
+        //上一次和这一次不一样
+        let troubleErrorCodeListStr = troubleErrorCodeList.join(",");
+        let nowtroubleErrorCodeListStr = nowtroubleErrorCodeList.join(",");
+
+        if(
+            troubleErrorCodeListStr !== nowtroubleErrorCodeListStr
+        ){
+            this.setState({
+                troubleList : troubleList
+            })
+        }
+        let refreshImg = nextProps.refreshImg;
+        if(refreshImg && refreshImg.files &&  refreshImg.errorId && refreshImg.type){
+            this.updateImg(refreshImg);
+        }
+        // let lastRefreshImg = this.props.refreshImg;
+        // if(
+        //     (
+        //         !lastRefreshImg && (refreshImg && refreshImg.errorId && refreshImg.type && refreshImg.files)
+        //     ) ||
+        //     (
+        //         lastRefreshImg && refreshImg && lastRefreshImg.errorId !== refreshImg.errorId
+        //     ) ||
+        //     (
+        //         lastRefreshImg && refreshImg && lastRefreshImg.type !== refreshImg.type
+        //     ) ||
+        //     (
+        //         lastRefreshImg && refreshImg && lastRefreshImg.files && refreshImg.files && refreshImg.files.length !== lastRefreshImg.files.length
+        //     )
+        //
+        // ){
+        //     this.updateImg(refreshImg);
+        // }
+    }
+  
+     
+
+
+    updateImg(info){
+        let {emptyImg} = this.props;
+        let id = info.errorId;
+        let type = info.type;
+        let files = info.files;
+        let troubleList = this.state.troubleList;
+        let details = troubleList.details;
+        let indexInfo = details.find(d=>d.id === id && d.type === type);
+        if(indexInfo && indexInfo.id){
+            this.setItem(indexInfo.errorCode,"files",files,()=>{
+                emptyImg()
+            });
+        }
+    }
+
+    showText(errcode){
+        let troubleList = this.state.troubleList;
+        let details = troubleList.details;
+        let indexInfo = details.find(d=>d.errorCode === errcode);
+        let index = details.findIndex(d=>d.errorCode === errcode);
+        if(indexInfo && indexInfo.id){
+            let text = indexInfo.explanation;
+            this.setState({
+                currentErrorCode : errcode,
+                showStatus : showDom[2],
+                tmpText: text,
+                tempinitialSlide : index
+            })
+        }
+    }
+
+    showQrcode(errcode){
+        let troubleList = this.state.troubleList;
+        let details = troubleList.details;
+        let indexInfo = details.find(d=>d.errorCode === errcode);
+        let index = details.findIndex(d=>d.errorCode === errcode);
+        if(indexInfo && indexInfo.id){
+            this.setState({
+                currentErrorCode : errcode,
+                showStatus : showDom[3],
+                tmpUrl: `${ENV.uploadImg}/${indexInfo.id}/${indexInfo.type}`,
+                tempinitialSlide : index
+            })
+        }
+    }
+
+    handleDeleteImg(errorId,type,fileId){
+        let {deleteImg} = this.props;
+        let troubleList = this.state.troubleList;
+        let details = troubleList.details;
+        let index = details.findIndex(d=>d.id === errorId && d.type === type);
+        if(index > -1){
+            this.setState({
+                tempinitialSlide : index,
+                initialSlide : index,
+            },()=>{
+                deleteImg(errorId,type,fileId)
+            })
+        }
+
+    }
+
+    setItem(errcode,option,info,callback){
+        let troubleList = this.state.troubleList;
+        let details = troubleList.details;
+        let index = details.findIndex(d=>d.errorCode === errcode);
+        if(index > -1){
+            details[index][option] = info;
+        }
+        this.setState({
+            troubleList : troubleList,
+        },()=>{
+            if(callback && callback instanceof Function){
+                callback()
+            }else{
+                this.abandonSaveText()
+            }
+
+        })
+    }
+
+    saveText(text){
+        let errcode = this.state.currentErrorCode;
+        this.setItem(errcode,'explanation',text,()=>{
+            this.abandonSaveText()
+        });
+    }
+
+    abandonSaveText(){
+        let {showPopup,hidePopup} = this.props;
+        hidePopup();
+        this.setState({
+            currentErrorCode : 0,
+            showStatus : showDom[1],
+            tmpText: '',
+            tmpUrl : '',
+            style:{},
+            initialSlide : this.state.tempinitialSlide
+        })
+    }
+
+    goBack(hasChange){
+        let {showPopup,hidePopup} = this.props;
+        if(hasChange){
+            let btnWidth = UTILPATH.getRemByPx(260);
+            let btnMarginLeft = UTILPATH.getRemByPx(30);
+            let btnDom1 = <Button btnContainer={"btne5"}  key={"textGoBackTrouble1"} style={{'width':btnWidth,'marginRight':btnMarginLeft}} text={"取消"} option={hidePopup}/>
+            let btnDom2 = <Button btnContainer={"btne5"}  key={"textGoBackTrouble2"} style={{'width':btnWidth}} text={"放弃"} option={this.abandonSaveText}/>
+            let popDom = <PopModel  popupText={"是否放弃更新编辑的内容?"} popupButtons={[btnDom1,btnDom2]}/>
+            showPopup({popupChild:popDom});
+        }else{
+            this.abandonSaveText();
+        }
+
+    }
+
+    dealTrouble(){
+        let {showPopup,hidePopup,updateTroubleList} = this.props;
+        let troubleList = this.state.troubleList;
+        let details = troubleList.details;
+        let arr = details.filter(d=>{
+            return !d.isExistProblem || ( d.isExistProblem === 1 && ! d.explanation)
+        });
+        let btnWidth = UTILPATH.getRemByPx(260);
+        let btnDom = <Button btnContainer={"btne5"}  key={"dealTrouble1"} style={{'width':btnWidth}} text={"关闭"} option={hidePopup}/>
+        if(arr && arr.length > 0){
+            let popDom = <PopModel  popupText={"请完成所有需要处理的故障的必填项"} popupButtons={[btnDom]}/>
+            showPopup({popupChild:popDom});
+        }else{
+            details.forEach((d)=>{
+                d.imagesFileId = Array.isArray(d.files) ? d.files.map(f=>f.id).join(',') : d.imagesFileId;
+            });
+            updateTroubleList(details);
+            this.setState({
+                showTrouble : false
+            })
+        }
+    }
+
+    onSlideChangeEnd(swiper){
+    }
+
+    getDefaultDom(){
+        let {headerInfo,getRefreshImg,deleteImg,changePages,showPopup,hidePopup} = this.props;
+        let troubleList = this.state.troubleList;
+        let showTrouble = Array.isArray(troubleList.details) && troubleList.details.length > 0;
+        let details = Array.isArray(troubleList.details) ? troubleList.details : [];
+        console.log(details);
+        let imgLength = details.map(d=>Array.isArray(d.files) ? d.files.length : 0).reduce((pre,next)=>{return pre + next},0);
+        let dom = details.map((i,k)=>{
+            return <TroubleItem key={k} item={i} num={k+1} setItem={this.setItem}
+                                showText={this.showText} showQrcode={this.showQrcode}
+                                getRefreshImg={getRefreshImg}
+                                deleteImg={(errorId,type,fileId)=>this.handleDeleteImg(errorId,type,fileId)}
+                                showPopup={showPopup}
+                                hidePopup={hidePopup}
+
+            />;
+        });
+        let initialSlide = this.state.initialSlide;
+        let swiperCount = details.length + imgLength;
+        let swiperOptions = {
+            // width : 1396,
+            slidesPerView: "auto",
+            spaceBetween: 30,
+            // freeMode:true,
+            // pagination: '.pagination',
+            // loop:false,
+            mode: 'horizontal',
+            touchRatio:0.5,
+            longSwipesRatio:0.1,
+            threshold:50,
+            followFinger:false,
+            observer: true,//修改swiper自己或子元素时,自动初始化swiper
+            observeParents: true,//修改swiper的父元素时,自动初始化swiper
+            lazyLoadingInPrevNextAmount: 1,
+            onSlideChangeEnd : this.onSlideChangeEnd,
+            initialSlide : initialSlide
+        };
+        let swiperContainer = CONFIG.swiperContainers.troubleSwiperContainer;
+
+
+        return(
+            <div className={"toubleContainer " + (showTrouble ? '' : 'hide')}>
+                <HeaderComponent
+                    showHeader={CONFIG.headerStatus[1]}
+                    headerInfo={headerInfo}
+                />
+
+                {
+                    this.state.showTrouble ?
+                        <div className={"troubleContent " + ( this.state.showTrouble ? '' : 'hide')}>
+                            <div className={"troubleText font32"}><span className={"colff7860"}>* </span>必填项</div>
+                            <div className={"troubleBox"}>
+                                <SwiperComponent
+                                    swiperContainer={swiperContainer} swiperOptions={swiperOptions} swiperCount={swiperCount}
+                                    initialSlide={initialSlide} canMove={true}
+                                >
+                                    {dom}
+                                </SwiperComponent>
+                            </div>
+                            <div className={"troubleBtnBox"}>
+                                <div className={"troubleBtn colfff font32"} onClick={()=>this.dealTrouble.bind(this)()}>
+                                    处理完毕
+                                </div>
+                            </div>
+
+                        </div> : <FinishTrouble changePages={changePages}/>
+                }
+            </div>
+        )
+    }
+
+    setStyle(style){
+        this.setState({
+            style : style
+        })
+    }
+
+    getTextAreaDom(){
+        return <TextArea
+            text={this.state.tmpText}
+            goBack={this.goBack}
+            saveText={this.saveText}
+            setStyle={this.setStyle}
+        />
+    }
+
+    getQrcodeDom(){
+        return <Qrcode goBack={this.goBack} url={this.state.tmpUrl}/>
+    }
+
+    getDom(){
+        switch (this.state.showStatus){
+            case showDom[1]:
+                return this.getDefaultDom();
+            case showDom[2]:
+                return this.getTextAreaDom();
+            case showDom[3]:
+                return this.getQrcodeDom();
+            default :
+                return null;
+        }
+    }
+
+
+    render(){
+        return (
+            <div className={"troubleContainers "+(this.state.showStatus === showDom[2] ? 'backfff' : '')} style={this.state.style}>
+                {
+                    this.getDom()
+                }
+            </div>
+        )
+    }
+}
diff --git a/client/containers/oldTroubleContainer/index.css b/client/containers/oldTroubleContainer/index.css
new file mode 100644
index 0000000..1f6ecda
--- /dev/null
+++ b/client/containers/oldTroubleContainer/index.css
@@ -0,0 +1,83 @@
+/*.troubleContainers {*/
+    /*width: 100%;*/
+    /*height: 100%;*/
+/*}*/
+
+/*.troubleContainers.backfff {*/
+    /*background-color: #ffffff;*/
+/*}*/
+
+/*.troubleContent {*/
+    /*padding-left: 30px;*/
+/*}*/
+
+/*.troubleContent .troubleText {*/
+    /*height: 100px;*/
+    /*display: table-cell;*/
+    /*vertical-align: bottom;*/
+/*}*/
+
+/*.troubleContent .troubleBox {*/
+    /*margin: 20px 0;*/
+/*}*/
+
+/*.troubleContent .troubleBtnBox {*/
+    /*height: 80px;*/
+    /*width: 100%;*/
+    /*text-align: right;*/
+    /*padding-right: 30px;*/
+/*}*/
+
+/*.troubleContent .troubleBtn {*/
+    /*width: 413px;*/
+    /*height: 100%;*/
+    /*display: inline-block;*/
+    /*line-height: 80px;*/
+    /*text-align: center;*/
+    /*background-color: #ff7860;*/
+    /*border-radius: 10px;*/
+/*}*/
+
+/*---------px rem 分割线-----------*/
+
+.troubleContainers {
+    width: 100%;
+    height: 100%;
+}
+
+.troubleContainers.backfff {
+    background-color: #ffffff;
+}
+
+.troubleContent {
+    padding-left: 0.25rem;
+}
+
+.troubleContent .troubleText {
+    height: 0.8333333333333334rem;
+    display: table-cell;
+    vertical-align: bottom;
+}
+
+.troubleContent .troubleBox {
+    margin: 0.16666666666666666rem 0;
+}
+
+.troubleContent .troubleBtnBox {
+    height: 0.6666666666666666rem;
+    width: 100%;
+    text-align: right;
+    padding-right: 0.25rem;
+}
+
+.troubleContent .troubleBtn {
+    width: 3.441666666666667rem;
+    height: 100%;
+    display: inline-block;
+    line-height: 0.6666666666666666rem;
+    text-align: center;
+    background-color: #ff7860;
+    border-radius: 0.08333333333333333rem;
+}
+
+/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLFlBQVk7SUFDWixhQUFhO0NBQ2hCOztBQUVEO0lBQ0ksMEJBQTBCO0NBQzdCOztBQUVEO0lBQ0ksbUJBQW1CO0NBQ3RCOztBQUVEO0lBQ0ksY0FBYztJQUNkLG9CQUFvQjtJQUNwQix1QkFBdUI7Q0FDMUI7O0FBRUQ7SUFDSSxlQUFlO0NBQ2xCOztBQUVEO0lBQ0ksYUFBYTtJQUNiLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsb0JBQW9CO0NBQ3ZCOztBQUVEO0lBQ0ksYUFBYTtJQUNiLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQiwwQkFBMEI7SUFDMUIsb0JBQW9CO0NBQ3ZCOztBQUVEO0lBQ0ksWUFBWTtJQUNaLGFBQWE7Q0FDaEI7O0FBRUQ7SUFDSSwwQkFBMEI7Q0FDN0I7O0FBRUQ7SUFDSSxzQkFBc0I7Q0FDekI7O0FBRUQ7SUFDSSw4QkFBOEI7SUFDOUIsb0JBQW9CO0lBQ3BCLHVCQUF1QjtDQUMxQjs7QUFFRDtJQUNJLGlDQUFpQztDQUNwQzs7QUFFRDtJQUNJLDhCQUE4QjtJQUM5QixZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLHVCQUF1QjtDQUMxQjs7QUFFRDtJQUNJLDRCQUE0QjtJQUM1QixhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLG1DQUFtQztJQUNuQyxtQkFBbUI7SUFDbkIsMEJBQTBCO0lBQzFCLHNDQUFzQztDQUN6QyIsImZpbGUiOiJpbmRleC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIudHJvdWJsZUNvbnRhaW5lcnMge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi50cm91YmxlQ29udGFpbmVycy5iYWNrZmZmIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XHJcbn1cclxuXHJcbi50cm91YmxlQ29udGVudCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XHJcbn1cclxuXHJcbi50cm91YmxlQ29udGVudCAudHJvdWJsZVRleHQge1xyXG4gICAgaGVpZ2h0OiAxMDBweDtcclxuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xyXG59XHJcblxyXG4udHJvdWJsZUNvbnRlbnQgLnRyb3VibGVCb3gge1xyXG4gICAgbWFyZ2luOiAyMHB4IDA7XHJcbn1cclxuXHJcbi50cm91YmxlQ29udGVudCAudHJvdWJsZUJ0bkJveCB7XHJcbiAgICBoZWlnaHQ6IDgwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcclxufVxyXG5cclxuLnRyb3VibGVDb250ZW50IC50cm91YmxlQnRuIHtcclxuICAgIHdpZHRoOiA0MTNweDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGxpbmUtaGVpZ2h0OiA4MHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNzg2MDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbn1cclxuXHJcbi50cm91YmxlQ29udGFpbmVycyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLnRyb3VibGVDb250YWluZXJzLmJhY2tmZmYge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxufVxyXG5cclxuLnRyb3VibGVDb250ZW50IHtcclxuICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbTtcclxufVxyXG5cclxuLnRyb3VibGVDb250ZW50IC50cm91YmxlVGV4dCB7XHJcbiAgICBoZWlnaHQ6IDAuODMzMzMzMzMzMzMzMzMzNHJlbTtcclxuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xyXG59XHJcblxyXG4udHJvdWJsZUNvbnRlbnQgLnRyb3VibGVCb3gge1xyXG4gICAgbWFyZ2luOiAwLjE2NjY2NjY2NjY2NjY2NjY2cmVtIDA7XHJcbn1cclxuXHJcbi50cm91YmxlQ29udGVudCAudHJvdWJsZUJ0bkJveCB7XHJcbiAgICBoZWlnaHQ6IDAuNjY2NjY2NjY2NjY2NjY2NnJlbTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtO1xyXG59XHJcblxyXG4udHJvdWJsZUNvbnRlbnQgLnRyb3VibGVCdG4ge1xyXG4gICAgd2lkdGg6IDMuNDQxNjY2NjY2NjY2NjY3cmVtO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbGluZS1oZWlnaHQ6IDAuNjY2NjY2NjY2NjY2NjY2NnJlbTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjc4NjA7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwLjA4MzMzMzMzMzMzMzMzMzMzcmVtO1xyXG59XHJcbiJdfQ== */
\ No newline at end of file
diff --git a/client/reducers/common.js b/client/reducers/common.js
index 5e28f7e..cf52828 100644
--- a/client/reducers/common.js
+++ b/client/reducers/common.js
@@ -51,6 +51,10 @@ const NumChangeWord = (currentTaskType,childTaskNum)=>{
         {
             title:'问题反馈',
             children:['']
+        },
+        {
+            title:'故障处理任务',
+            children:['']
         }
     ]
     let type = currentTaskType;
@@ -110,6 +114,15 @@ const NumChangeWord = (currentTaskType,childTaskNum)=>{
             }
         }
             break;
+        case 'EH' :
+        {
+            let name=6;
+            taskName = arr[name - 1].title;
+            if (child) {
+                taskName = arr[name - 1].children[child - 1]
+            }
+        }
+        break;
     }
 
     return taskName;
--
libgit2 0.26.0