diff --git a/src/pages/measure/components/MeasureAction.tsx b/src/pages/measure/components/MeasureAction.tsx index 0d00bcc..fa99aad 100644 --- a/src/pages/measure/components/MeasureAction.tsx +++ b/src/pages/measure/components/MeasureAction.tsx @@ -29,24 +29,66 @@ export default function MeasureAction() { const [angles, setAngles] = useState([]); const [taskStatus, setTaskStatus] = useState("IDLE"); + const [startBtnText, setStartBtnText] = useState("开始测量"); + + const initialStatusList = [ + { + statusCode: 'START_RECORD_LEFT', + name: '请移动到顶部,停顿2秒', + background: '#ececec', + isReady: false, + color: 'h' + }, + { + statusCode: 'START_RECORD_LEFT', + name: '开始测量左侧', + background: '#ececec', + isReady: false, + color: 'h' + }, + { + statusCode: 'START_RECORD_LEFT', + name: '左测测量完成', + background: '#ececec', + isReady: false, + color: 'h' + }, + { + statusCode: 'START_RECORD_LEFT', + name: '请移动到顶部,停顿2秒', + background: '#ececec', + isReady: false, + color: 'h' + }, + { + statusCode: 'START_RECORD_LEFT', + name: '开始测量右侧', + background: '#ececec', + isReady: false, + color: 'h' + }, + { + statusCode: 'START_RECORD_LEFT', + name: '右侧测量完成', + background: '#ececec', + isReady: false, + color: 'h' + } + ]; + let [statusList, setStatusList] = useState(initialStatusList); const onAfterSaveChange: CheckboxProps["onChange"] = e => { dispatch(switchMeasureAfterSave(e.target.checked)); }; const onAnalysisBtnClick = () => { - // navigate("../detail"); - // if(taskStatus !== 'FINISHED'){ - // message.error('测量还未结束') - // return; - // } - const params = {//静态数据 TODO + const params = { code: 6001 } analysisReport(params).then(res => { console.log('res===', res) if (res.success) { const angleAnalysisList = res.data.angleAnalysisList; - let angles:any = [] + let angles: any = [] angleAnalysisList && angleAnalysisList.map(item => { const pointA = item.pointA; angles.push({ @@ -57,31 +99,28 @@ export default function MeasureAction() { }) }) setAngles(angles); - }else{ - + } else { } }) - // analyzeMeasurement().then(res => { - // if (res.success) { - // setAngles(res.data.angles); - // } else { - // message.error(res.data.info); - // } - // }); }; const onStart = () => { + if (startBtnText === "重新测量") { + setStatusList(initialStatusList); + } startMeasurement().then(res => { if (res.status !== 0) { message.error(res.data.info); let name = taskStatusDescMap['IDLE'] setTaskStatusName(name) } else { - statusList[0].color = 'b'; - setStatusList(statusList) + const newStatusList = [...initialStatusList]; + newStatusList[0].color = 'b'; + setStatusList(newStatusList); message.success("已通知设备开始测量"); let name = taskStatusDescMap['IDLE'] setTaskStatusName(name) + setStartBtnText("重新测量") } }); }; @@ -103,36 +142,36 @@ export default function MeasureAction() { useEffect(() => { const subscription = wsClient.dataOb.subscribe(data => { if (data.messageType === "STATE" && data.path === "/measurement-task/get-task-state") { - if(!data.data)return; - if(data.data.isMeasuringLeftEnd && !data.data.isMeasuringRightEnd){ - console.log('这是右侧的状态===', data.data.isMeasuringRightEnd) + if (!data.data) return; + if (data.data.isMeasuringLeftEnd && !data.data.isMeasuringRightEnd) { + console.log('这是右侧的状态===', data.data.isMeasuringRightEnd) } - if(data.data.taskStatus === 'IDLE'){ + if (data.data.taskStatus === 'IDLE') { setTaskStatusName('空闲') - }else if(!data.data.isMeasuringLeftEnd){//正在测量左边 + } else if (!data.data.isMeasuringLeftEnd) { setTaskStatusName('左侧正在测量') statusList[0].isReady = true; setStatusList(statusList) - }else if(data.data.isMeasuringLeftEnd && !data.data.isMeasuringRightEnd){//左边为true, 右边是false时表示左边已完成,右边准备 + } else if (data.data.isMeasuringLeftEnd && !data.data.isMeasuringRightEnd) { setTaskStatusName('右侧正在测量') - }else{ + } else { let name = taskStatusDescMap[data.data.taskStatus] setTaskStatusName(name) } setTaskStatus(data.data.taskStatus) } if (data.messageType === "EVENT" && data.path === "/measurement-task/event") { - if(data.data === "START_RECORD_LEFT"){ + if (data.data === "START_RECORD_LEFT") { statusList[0].color = 'g'; statusList[1].color = 'b'; - }else if(data.data === "FINISH_RECORD_LEFT"){ + } else if (data.data === "FINISH_RECORD_LEFT") { statusList[1].color = 'g'; statusList[2].color = 'g'; statusList[3].color = 'b'; - }else if(data.data === "START_RECORD_RIGHT"){ + } else if (data.data === "START_RECORD_RIGHT") { statusList[3].color = 'g'; statusList[4].color = 'b'; - }else if(data.data === "FINISH_RECORD_RIGHT"){ + } else if (data.data === "FINISH_RECORD_RIGHT") { statusList[4].color = 'g'; statusList[5].color = 'g'; } @@ -147,65 +186,27 @@ export default function MeasureAction() { statusCode: string; name: string; background: string; - isReady:boolean; + isReady: boolean; color: string; } - const onHandleChangeStatus = (item:StatusCodeData) => { + const onHandleChangeStatus = (item: StatusCodeData) => { let backgroundColor = '' - if(item.statusCode === 'START_RECORD_LEFT'){ + if (item.statusCode === 'START_RECORD_LEFT') { backgroundColor = item.background } return backgroundColor; } - const onHandleIcon =(item:StatusCodeData, index:number)=>{ - if(item.color === 'g'){ - return - }else if(item.color === 'b'){//index > 0 && statusList[index-1].isReady - return - }else if(item.color === 'h'){ - return
+ const onHandleIcon = (item: StatusCodeData, index: number) => { + if (item.color === 'g') { + return + } else if (item.color === 'b') { + return + } else if (item.color === 'h') { + return
} } - let [statusList,setStatusList] = useState([{ - statusCode: 'START_RECORD_LEFT', - name:'请移动到顶部,停顿2秒', - background:'#ececec', - isReady:false, - color:'h' - },{ - statusCode: 'START_RECORD_LEFT', - name:'开始测量左侧', - background:'#ececec', - isReady:false, - color:'h' - },{ - statusCode: 'START_RECORD_LEFT', - name:'左测测量完成', - background:'#ececec', - isReady:false, - color:'h' - },{ - statusCode: 'START_RECORD_LEFT', - name:'请移动到顶部,停顿2秒', - background:'#ececec', - isReady:false, - color:'h' - },{ - statusCode: 'START_RECORD_LEFT', - name:'开始测量右侧', - background:'#ececec', - isReady:false, - color:'h' - },{ - statusCode: 'START_RECORD_LEFT', - name:'右侧测量完成', - background:'#ececec', - isReady:false, - color:'h' - }]) - return (
@@ -218,10 +219,6 @@ export default function MeasureAction() { setShowStandard(checked)} /> 标准线
- {/*
*/} - {/* setShowResult(checked)} />*/} - {/* 对比线*/} - {/*
*/} {angles.length > 0 && (
setShowMark(checked)} /> @@ -290,9 +287,9 @@ export default function MeasureAction() {

测量步骤

- {statusList && statusList.map((item,index) => { - return
-
+ {statusList && statusList.map((item, index) => { + return
+
{onHandleIcon(item, index)}
{item.name}
@@ -300,24 +297,8 @@ export default function MeasureAction() { })}
- {/*
测量状态: {taskStatusDescMap[taskStatus]}
*/} - {/*
- {taskStatus !== 'FINISHED' && -
- -
{taskStatusName}
-
- } - { - taskStatus === 'FINISHED' && -
- -
{taskStatusName}
-
- } -
*/}
-
);