Commit 1fd1a5ef by yaxiLiuu

Merge branch 'dev' of git.mjitech.com:zhangxin/max_android_panel into dev

parents f1338701 77528d08
......@@ -36,18 +36,6 @@ let json = {
"errorCode": null,
"type": "OP",
"files": [
{
"id": 16,
"filePath": "/tmp/2016-08-16/1471329685902.jpg"
},
{
"id": 17,
"filePath": "/sku/0/0/427/1471329704482.jpg"
},
{
"id": 18,
"filePath": "/sku/0/0/426/1471330380712.jpg"
}
],
"parentProblemName": "机械故障",
"subProblemName": "其他问题111"
......
import React from 'react';
require('./index.css');
const initCount = -1;
export default class ClockComponent extends React.Component{
constructor(props){
super(props);
this.state = {
time : 60
count : initCount,
timer : null
};
this.time = 1000;
this.beginCountBack = this.beginCountBack.bind(this)
}
componentWillMount(){
console.log("componentWillMount")
let {totalTime} = this.props;
if(totalTime && totalTime > 0){
this.setState({
count : totalTime
},()=>{
this.beginCountBack()
})
}
}
componentWillReceiveProps(){
console.log("componentWillReceiveProps")
}
componentWillUnmount(){
console.log("componentWillUnmount")
window.clearTimeout(this.state.timer);
this.setState({
timer : null,
count : initCount
})
}
beginCountBack(){
let {callback} = this.props;
let that = this;
console.log("timer ",this.state.timer);
if(!this.state.timer && this.state.count >= 0){
let count = this.state.count - 1;
console.log("count ",count," ",this.state.count);
this.state.timer = window.setTimeout(()=>{
if(count >= 0){
window.clearTimeout(that.state.timer);
that.setState({
timer : null,
count : count
},()=>{
that.beginCountBack();
})
}else{
//倒计时结束
window.clearTimeout(that.state.timer);
that.setState({
timer : null
},()=>{
console.log("倒计时结束");
callback();
})
}
},this.time)
}
}
render(){
......@@ -14,7 +75,7 @@ export default class ClockComponent extends React.Component{
return(
<div className={"clockComponent font32"} style={props.style}>
<img className={"clockIcon"} src={UTILPATH.localImg.clockIcon} alt=""/>
<span className={"clockTime"}>{this.state.time}s</span>
<span className={"clockTime"}>{this.state.count}s</span>
</div>
)
}
......
......@@ -11,10 +11,7 @@ export default class PopupComponent extends React.Component{
let {popupInfo} = props;
let arrButton = popupInfo.popupButtons ? popupInfo.popupButtons : []
let dom = arrButton.map((a,k)=>{
return (
a.option && a.option instanceof Function ? <div key={"popuoButton"+k} className={"defaultPopupButton"} onClick={()=>a.option()}>{a.text}</div> :
<div key={"popuoButton"+k} className={"defaultPopupButton"}>{a.text}</div>
)
return a;
});
return (
<div className={"defaultPopup col333"}>
......
......@@ -63,10 +63,10 @@ export default class TroubleItemComponent extends React.Component{
</div>
<div className={"itemControl rel"}>
<div className={"plusImg controlBox "}>
<div className={"plusImg controlBox "} onClick={()=>props.showQrcode(item.errorCode)}>
<img src={UTILPATH.localImg.plusIcon} alt=""/>
</div>
<div className={"refreshImg controlBox "}>
<div className={"refreshImg controlBox "} onClick={()=>props.getRefreshImg(item.id,item.type)}>
<img src={UTILPATH.localImg.refreshIcon} alt=""/>
</div>
</div>
......
.editUploadItem .newTroubleContent .problemCategory{
.troubleItemComponent{
width: 1396px;
height: 608px;
border: 1px solid #e5e5e5;
background-color: #ffffff;
border-radius: 20px;
overflow: hidden;
padding: 42px 45px 0 45px;
position: relative;
}
.troubleItemComponent .border_e5{
border: 2px solid #e5e5e5;
border-radius: 10px;
}
.troubleItemComponent .border_dashed_e5{
border: 2px dashed #e5e5e5;
border-radius: 10px;
}
.troubleItemComponent .rel{
position: relative;
padding-left: 44px;
}
.troubleItemComponent .itemText{
font-weight: bold;
}
.editUploadItem .newTroubleContent .DetailProblem{}
.editUploadItem .newTroubleRemark{
margin-top: 4px;
.troubleItemComponent .itemWrongInfo{
height: 86px;
position: relative;
}
.editUploadItem .newTroubleRemark .startIcon{
float: left;
.troubleItemComponent .itemWrongInfo>p{
line-height: 32px;
top: 50%;
transform: translateY(-50%);
position: absolute;
}
.editUploadItem .newTroubleRemark .remarkContent{
float: left;
.troubleItemComponent .star{
display: inline-block;
position: absolute;
top: 50%;
transform: translateY(-50%);
left: 0;
}
.troubleItemComponent .jugdeQuestion{
height: 61px;
line-height: 61px;
margin-bottom: 30px;
}
.troubleItemComponent .jugdeQuestion .questionBox{
height: 100%;
width: 161px;
text-align: center;
display: inline-block;
margin-left: 30px;
}
.troubleItemComponent .jugdeQuestion .questionBox.active{
border-color: #26ce61;
}
.troubleItemComponent .itemTextArea{
height: 198px;
margin-bottom: 29px;
}
.troubleItemComponent .itemTextAreaBox{
width: 1250px;
height: 100%;
display: inline-block;
background-color: #f2f2f2;
padding: 20px;
overflow: hidden;
}
.itemTextAreaBoxs{
background-color: #f2f2f2;
border: none;
resize: none;
width: 100%;
height: 100%;
line-height: 40px;
text-align: justify;
}
.troubleItemComponent .itemTextArea .itemPlayceHolder{
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
}
.editUploadItem .newTroubleRemark .remarkContent .editIcon{
.troubleItemComponent .itemTextArea .itemTextEdit{
text-align: right;
padding: 13px 10px;
font-size: 24px;
color: #ff7860;
position: absolute;
line-height: 57px;
top: -57px;
right: 46px;
}
.troubleItemComponent .itemControl .controlBox{
width: 90px;
height: 90px;
position: relative;
display: inline-block;
margin-right: 30px;
}
.troubleItemComponent .itemControl .controlBox>img{
position: absolute;
width: 90px;
height: 90px;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
}
.troubleItemComponent .finishBox{
display: none;
position: absolute;
top: 0;
right: 0;
width: 0;
height: 0;
border-top: 63px solid #26ce61;
border-bottom: 63px solid transparent;
border-left: 63px solid transparent;
border-right: 63px solid #26ce61;
}
.editUploadItem .newTroubleRemark .remarkContent .remarkText{
height: 198px;
border: 1px solid #e5e5e5;
border-radius: 10px;
background-color: #f2f2f2;
line-height: 198px;
.troubleItemComponent .finishBox .finishText{
position: absolute;
text-align: center;
font-size: 24px;
color: #999999;
width: 178px;
height: 178px;
line-height: 126px;
left: -89px;
top: -89px;
transform: rotate(45deg);
}
.editUploadItem .damageImgs .uploadImgRight{
float: left;
.troubleItemComponent.finish{
border: 3px solid #26ce61;
}
.editUploadItem .damageImgs .operationLeft{
float: left;
.troubleItemComponent.finish .finishBox{
display: block;
}
......@@ -14,6 +14,8 @@ import OtherQuestionContainer from '../OtherQuestionContainer/OtherQuestionConta
import HomeContainer from '../HomeContainer/HomeContainer'
import FinishAskContainer from '../FinishAskContainer/FinishAskContainer'
import ChooseTaskContainer from '../ChooseTaskContainer/ChooseTaskContainer'
import Button from '../../components/CommonComponent/ButtonComponent/ButtonComponent';
import Clock from '../../components/CommonComponent/ClockComponent/ClockComponent'
require('./index.css')
......@@ -35,7 +37,7 @@ class PageContainer extends React.Component {
super(props);
// UTILPATH.socket.getIp();
this.state = {
showPage : showPage[4],
showPage : showPage[1],
lastPage : '',
page : null,
popupInfo : defaultPopupInfo,
......@@ -48,11 +50,15 @@ class PageContainer extends React.Component {
this.showQrCode = this.showQrCode.bind(this);
this.saveLastPage = this.saveLastPage.bind(this);
this.goBack = this.goBack.bind(this);
this.handleTouch = this.handleTouch.bind(this);
this.beginCountBack = this.beginCountBack.bind(this);
this.endCountBack = this.endCountBack.bind(this);
this.showAlarm = this.showAlarm.bind(this);
this.maxCountBackTime = 300;
this.count = 1000;
this.countbackTimer = null;
this.countBackTime = -1;
}
componentWillMount() {
......@@ -73,9 +79,55 @@ class PageContainer extends React.Component {
componentWillUnmount(){
}
//开始倒计时,看有没有操作,只是在整个开门过程中才监听
beginCountBack(){
this.countBackTime = this.maxCountBackTime;
clearTimeout(this.countbackTimer);
this.countbackTimer = null;
this.countBack.bind(this)();
}
endCountBack(){
this.countbackTimer = -1;
clearTimeout(this.countbackTimer);
this.countbackTimer = null;
}
countBack(){
if(!this.countbackTimer && this.countBackTime >= 0){
this.countBackTime--;
this.countbackTimer = window.setTimeout(()=>{
if(this.countBackTime > 0){
clearTimeout(this.countbackTimer);
this.countbackTimer = null;
this.countBack();
}else{
//超过300s未点击,进入异常状态
clearTimeout(this.countbackTimer);
this.countbackTimer = null;
let btnDom = <Button key={"pagecountBack1"} style={{'width':'260px'}} text={"关闭"} option={this.beginCountBack}/>
let clockDom = <Clock key={"pagecountBack2"} totalTime={60}
style={{'width':'260px','marginLeft':'30px','borderRadius':'10px'}}
callback={this.showAlarm}
/>
this.showPopup({
popupText : '您是否还在店铺准备执行您的任务',
popupButtons:[btnDom,clockDom]
})
}
},this.count);
}
}
//弹出警告弹窗,并报警
showAlarm(){
console.log("showAlarm");
}
hidePopup(){
this.setState({
......@@ -172,13 +224,13 @@ class PageContainer extends React.Component {
}
handleTouch(){
this.countBackTime = this.maxCountBackTime;
}
render() {
let {state} = this.props;
return (
<div className={"pageContainer "} style={this.state.pageStyle} onTouch="">
<div className={"pageContainer "} style={this.state.pageStyle} onTouchStart={()=>this.handleTouch()}>
<PopupComponent popupInfo={this.state.popupInfo} />
{this.getPages()}
......
import React from 'react';
import ReactQrCode from 'qrcode.react'
import HeaderComponent from '../../components/CommonComponent/HeaderComponent/HeaderComponent'
require('./index.css');
export default class Qrcode extends React.Component{
constructor(props){
super(props);
this.state = {
url : 'http://www.baidu.com'
this.getOtherHeader = this.getOtherHeader.bind(this);
}
getOtherHeader(){
let {goBack} = this.props;
return <div className={"otherHeader font32 clearfix"}>
<div className={"fl colfff"} onClick={()=>goBack()}>
<i className={"iconfont middle icon font58 icon-circle-left circleIcon"}></i>
<span className={"middle"}>添加照片</span>
</div>
</div>
}
render(){
return(
<div>
<HeaderComponent
showHeader={CONFIG.headerStatus[2]}
>
{this.getOtherHeader()}
</HeaderComponent>
<div className="qrCodeContainer">
<div className={"qrcode"}>
<ReactQrCode value={this.state.url} size={312}/>
<ReactQrCode value={this.props.url || ''} size={312}/>
</div>
<div className={"qrcodeText font32"}>
请用手机微信扫一扫上方二维码
请用手机微信“扫一扫”上方二维码进行图片上传
</div>
</div>
</div>
)
}
}
.troubleContainer{
.troubleContainers{
width: 100%;
height: 100%;
}
.troubleContainers.backfff{
background-color: #ffffff;
}
.troubleContent{
padding-left: 30px;
}
.troubleContainer .troubleText{
.troubleContent .troubleText{
height: 100px;
display: table-cell;
vertical-align: bottom;
}
.troubleContainer .troubleBox{
.troubleContent .troubleBox{
margin: 20px 0;
}
.troubleContainer .troubleBtnBox{
.troubleContent .troubleBtnBox{
height: 80px;
width: 100%;
text-align: right;
padding-right: 30px;
}
.troubleContainer .troubleBtn{
.troubleContent .troubleBtn{
width: 413px;
height: 100%;
display: inline-block;
......@@ -24,12 +31,3 @@
background-color: #ff7860;
border-radius: 10px;
}
.selectContainer{
text-align: center;
}
.selectButtons{
display: flex;
flex-direction: column;
align-items:center;
}
\ No newline at end of file
......@@ -4,13 +4,16 @@ import storeInfo from './store'
import scanBarCodeContainer from './scanBarCodeContainer'
import otherQuestion from './otherQuestion'
import userInfo from './user'
import refreshImg from './refreshImg'
export default combineReducers({
troubleList,
storeInfo,
scanBarCodeContainer,
otherQuestion,
userInfo
userInfo,
refreshImg
})
......@@ -4,6 +4,7 @@ import addIcon from '../image/addIcon.png';
import refreshIcon from '../image/refresh.png';
import plusIcon from '../image/plusIcon.png';
import clockIcon from '../image/clock.png';
import breakImg from '../image/breakImg.png';
const localHost = 'http://localhost:7788';
const devHost = 'http://test.mjitech.com';
......@@ -77,6 +78,6 @@ const handleImgLoad = (ref)=>{
return style;
}
const localImg = {headlogo,defaultImg,addIcon,refreshIcon,plusIcon,clockIcon}
const localImg = {headlogo,defaultImg,addIcon,refreshIcon,plusIcon,clockIcon,breakImg}
module.exports = {localHost,devHost,masterHost,getPic,handleImgError,handleImgLoad,localImg};
\ No newline at end of file
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