|
|
|
|
@ -122,7 +122,37 @@ class IotCarePlanFR200 extends Component<any, any> {
|
|
|
|
|
{ name: "左脸颊", forehead: 6, Total: 10 },
|
|
|
|
|
{ name: "右脸颊", forehead: 2, Total: 10 },
|
|
|
|
|
],
|
|
|
|
|
|
|
|
|
|
stepList:[
|
|
|
|
|
{
|
|
|
|
|
value: "Step1",
|
|
|
|
|
name: "额头",
|
|
|
|
|
finish: false,
|
|
|
|
|
schedule:0,
|
|
|
|
|
color:'#c2e5f3',
|
|
|
|
|
forehead:0
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
value: "Step2",
|
|
|
|
|
name: "左脸颊",
|
|
|
|
|
finish: false,
|
|
|
|
|
schedule:0,
|
|
|
|
|
color:'#c2e5f3',
|
|
|
|
|
forehead:0
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
value: "Step3",
|
|
|
|
|
name: "右脸颊",
|
|
|
|
|
finish: false,
|
|
|
|
|
schedule:0,
|
|
|
|
|
color:'#c2e5f3',
|
|
|
|
|
forehead:0
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
stepIndex:0,
|
|
|
|
|
// 进度条定时器
|
|
|
|
|
timerIdSchedule:null,
|
|
|
|
|
timerIdSuccess:null,
|
|
|
|
|
|
|
|
|
|
gear: { gear: 1 },
|
|
|
|
|
currentShowDialog: "",
|
|
|
|
|
showVideoPlayBtn: true, // 视频播放按钮
|
|
|
|
|
@ -133,7 +163,7 @@ class IotCarePlanFR200 extends Component<any, any> {
|
|
|
|
|
/** 连接设备 End */
|
|
|
|
|
|
|
|
|
|
/** 护理过程 */
|
|
|
|
|
isRuningTest: false, // 是否正在测试
|
|
|
|
|
isRuningTest: 1, // 是否正在测试
|
|
|
|
|
isShowStepTips: false, // 是否显示介绍步骤弹窗
|
|
|
|
|
isConnectionBlutoot: true, // 是否已连接蓝牙
|
|
|
|
|
isShowNurse: true, // 是否开始并显示护理 FR200默认已经开始准备护理
|
|
|
|
|
@ -148,13 +178,13 @@ class IotCarePlanFR200 extends Component<any, any> {
|
|
|
|
|
isModeLock: false, // 模式是否锁定
|
|
|
|
|
isSwitchActiveMode: false, // 是否显示弹窗切换模式
|
|
|
|
|
ModeList: [],
|
|
|
|
|
ModeType: "all", // all
|
|
|
|
|
ModeType: "base", // all
|
|
|
|
|
modeClass: "", // 1基础护理 2专区护理 3专研促渗 4敏期护理 5智能测肤
|
|
|
|
|
ActiveModeItem: {
|
|
|
|
|
openSourceData: [],
|
|
|
|
|
}, // 当前选中模式
|
|
|
|
|
SwitchActiveModeItem: {}, // 切换选中模式
|
|
|
|
|
ModeID: "base_", // 模式KEY
|
|
|
|
|
ModeID: "mode_", // 模式KEY
|
|
|
|
|
activeModeID: "", // 当前选中模式ID:用于高亮
|
|
|
|
|
ModeStepIndex: 0, // 当前护理功效步骤:每个步骤时间不定,所以时间另外计算,根据步骤显示
|
|
|
|
|
ModeStepTimeArray: [], // 护理功效时间步骤,用于切换显示GIF
|
|
|
|
|
@ -380,6 +410,7 @@ class IotCarePlanFR200 extends Component<any, any> {
|
|
|
|
|
this.setState({
|
|
|
|
|
ModeList: res.data.data, // 模式列表
|
|
|
|
|
ActiveModeItem: res.data.data[0], // 让模式列表正常显示
|
|
|
|
|
ModeType: this.ModeTypeArray[res.data.data[0].modeClass],
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
if (this.state.activeModeID != "") {
|
|
|
|
|
@ -599,6 +630,7 @@ class IotCarePlanFR200 extends Component<any, any> {
|
|
|
|
|
this.handleWorkStatus(false, MODE_WORKING_ENUM.STANDBY);
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/** 开始护理按钮:点击开始,页面进行到下一步 */
|
|
|
|
|
onStartNurse = async () => {
|
|
|
|
|
this.stepNext();
|
|
|
|
|
@ -613,6 +645,37 @@ class IotCarePlanFR200 extends Component<any, any> {
|
|
|
|
|
// 如果检查失败,则报错
|
|
|
|
|
this.onEmitErrorTips();
|
|
|
|
|
};
|
|
|
|
|
/** 完成护理,跳转到水分 */
|
|
|
|
|
onsuccess = async () => {
|
|
|
|
|
let stepList= this.state.stepList
|
|
|
|
|
this.setState({
|
|
|
|
|
isShowNursingSuccess:true
|
|
|
|
|
})
|
|
|
|
|
// return;
|
|
|
|
|
let { currentDevice, ActiveModeItem } = this.state;
|
|
|
|
|
let params = {};
|
|
|
|
|
let nursingData ={
|
|
|
|
|
nursingData:JSON.stringify({
|
|
|
|
|
GearData:[...stepList]
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
params = {
|
|
|
|
|
instrumentId: currentDevice.id,
|
|
|
|
|
instrumentName: currentDevice.name,
|
|
|
|
|
modeId: ActiveModeItem.id,
|
|
|
|
|
modeName: ActiveModeItem.modeName,
|
|
|
|
|
nursingTime: s_to_hms(this.elapsedTime),
|
|
|
|
|
};
|
|
|
|
|
params = { ...params, ...nursingData };
|
|
|
|
|
let res: any = await InstrumentInfo.apiNursingLog.addLog(JSON.stringify(params));
|
|
|
|
|
setTimeout(() => {
|
|
|
|
|
|
|
|
|
|
this.setState({
|
|
|
|
|
isShowNursingSuccess: false,
|
|
|
|
|
})
|
|
|
|
|
go(`/recoding/pages/moisture_test_report/moisture_test_report?data=${nursingData}&date=${s_to_hms(this.elapsedTime)}&modeId=${ActiveModeItem.id}`);
|
|
|
|
|
}, 2000);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @name 不可切换光照提示
|
|
|
|
|
@ -740,11 +803,8 @@ class IotCarePlanFR200 extends Component<any, any> {
|
|
|
|
|
break;
|
|
|
|
|
case "working":
|
|
|
|
|
//设备的运行中状态
|
|
|
|
|
console.log("设备状态同步 运行中状态", jsonStatus);
|
|
|
|
|
if (jsonStatus.workMode === "moistureTest") {
|
|
|
|
|
// 水分测试
|
|
|
|
|
// teststatus:success
|
|
|
|
|
}
|
|
|
|
|
console.log("设备状态同步 运行中状态", jsonStatus.workMode);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 脸部模式
|
|
|
|
|
if (jsonStatus.workMode === "face") {
|
|
|
|
|
@ -761,6 +821,56 @@ class IotCarePlanFR200 extends Component<any, any> {
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
if (jsonStatus.workMode === "moistureTest") {
|
|
|
|
|
if('success' === jsonStatus.testStatus){
|
|
|
|
|
let stepList =this.state.stepList
|
|
|
|
|
let stepIndex =this.state.stepIndex
|
|
|
|
|
let timerIdSuccess =this.state.timerIdSuccess
|
|
|
|
|
let timerIdSchedule =this.state.timerIdSchedule
|
|
|
|
|
|
|
|
|
|
if(stepList[stepIndex].finish){
|
|
|
|
|
stepList[stepIndex].forehead =jsonStatus.waterLevel
|
|
|
|
|
if(stepIndex === 2){
|
|
|
|
|
this.setState({
|
|
|
|
|
isRuningTest:4
|
|
|
|
|
});
|
|
|
|
|
}else{
|
|
|
|
|
this.setState({
|
|
|
|
|
isRuningTest:1
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
clearTimeout(timerIdSuccess);
|
|
|
|
|
clearTimeout(timerIdSchedule);
|
|
|
|
|
console.log('成功拿到',jsonStatus,stepIndex);
|
|
|
|
|
let num =stepIndex
|
|
|
|
|
if(stepIndex < 2){
|
|
|
|
|
num =stepIndex+1
|
|
|
|
|
}
|
|
|
|
|
this.setState({
|
|
|
|
|
timerIdSuccess:null,timerIdSchedule:null,stepIndex:num,stepList
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
let stepList =this.state.stepList
|
|
|
|
|
let stepIndex =this.state.stepIndex
|
|
|
|
|
let timerIdSuccess =this.state.timerIdSuccess
|
|
|
|
|
let timerIdSchedule =this.state.timerIdSchedule
|
|
|
|
|
if(stepList[stepIndex].finish){
|
|
|
|
|
clearTimeout(timerIdSuccess);
|
|
|
|
|
clearTimeout(timerIdSchedule);
|
|
|
|
|
stepList[stepIndex].schedule=0
|
|
|
|
|
stepList[stepIndex].finish=false
|
|
|
|
|
this.setState({
|
|
|
|
|
stepList,isRuningTest:3
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// 水分测试
|
|
|
|
|
// testStatus:success
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
console.log(
|
|
|
|
|
"jsonStatus?.workMode === this.state.ActiveModeItem.modeType",
|
|
|
|
|
jsonStatus?.workMode === this.state.ActiveModeItem.modeType
|
|
|
|
|
@ -1227,17 +1337,39 @@ class IotCarePlanFR200 extends Component<any, any> {
|
|
|
|
|
workMode: ActiveModeItem.modeType, // 使用模式
|
|
|
|
|
workStatus: newWorkStatus,
|
|
|
|
|
};
|
|
|
|
|
console.log(ActiveModeItem,'查看ActiveModeItem');
|
|
|
|
|
console.log(ActiveModeItem,'查看工作状态');
|
|
|
|
|
|
|
|
|
|
// 水分测试需要特殊处理
|
|
|
|
|
// 水分测试准备 水分测试工作 水分测试启动
|
|
|
|
|
if (ActiveModeItem.modeType === "moistureTest") {
|
|
|
|
|
console.log('查看切换-----------------------------------------');
|
|
|
|
|
|
|
|
|
|
sendParams.testStatus = "standby"; // 切换为准备
|
|
|
|
|
let stepList =this.state.stepList
|
|
|
|
|
let stepIndex =this.state.stepIndex
|
|
|
|
|
let timerIdSchedule =this.state.timerIdSchedule
|
|
|
|
|
let timerIdSuccess =this.state.timerIdSuccess
|
|
|
|
|
if (isBtnClick) {
|
|
|
|
|
|
|
|
|
|
timerIdSchedule= setTimeout(function() {
|
|
|
|
|
stepList[stepIndex].schedule=100
|
|
|
|
|
|
|
|
|
|
timerIdSuccess= setTimeout(function() {
|
|
|
|
|
stepList[stepIndex].finish=true
|
|
|
|
|
this.setState({
|
|
|
|
|
stepList,
|
|
|
|
|
});
|
|
|
|
|
}, 2000);
|
|
|
|
|
this.setState({
|
|
|
|
|
stepList,timerIdSuccess
|
|
|
|
|
});
|
|
|
|
|
}, 3000);
|
|
|
|
|
this.setState({
|
|
|
|
|
isRuningTest: 2,
|
|
|
|
|
timerIdSchedule
|
|
|
|
|
});
|
|
|
|
|
// 水分测试启动
|
|
|
|
|
sendParams.testStatus = "start"; // 点击开始再开始
|
|
|
|
|
console.log('点击开始',isBtnClick);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -1263,7 +1395,7 @@ class IotCarePlanFR200 extends Component<any, any> {
|
|
|
|
|
*/
|
|
|
|
|
onNursingTap(type = "") {
|
|
|
|
|
// 如果已禁止运行,则停止执行后续逻辑
|
|
|
|
|
if (this.state.isRuningTest) return;
|
|
|
|
|
if (this.state.isRuningTest === 2) return;
|
|
|
|
|
// 防止多次点击
|
|
|
|
|
if (this.state.hadClickStart) return;
|
|
|
|
|
this.setState({
|
|
|
|
|
@ -1619,13 +1751,7 @@ class IotCarePlanFR200 extends Component<any, any> {
|
|
|
|
|
Taro.removeStorageSync("FR200NursingHistory");
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// todoPromise = () => {
|
|
|
|
|
// return new Promise<void>((resolve, reject) => {
|
|
|
|
|
// setTimeout(() => {
|
|
|
|
|
// resolve();
|
|
|
|
|
// });
|
|
|
|
|
// });
|
|
|
|
|
// };
|
|
|
|
|
|
|
|
|
|
// 脸部one
|
|
|
|
|
todoPromise = async () => {
|
|
|
|
|
const nowFR200NursingHistory = Taro.getStorageSync("FR200NursingHistory");
|
|
|
|
|
@ -1951,8 +2077,6 @@ class IotCarePlanFR200 extends Component<any, any> {
|
|
|
|
|
JSON.stringify(obj)
|
|
|
|
|
);
|
|
|
|
|
} else if ("moistureTest" === nursingData.workMode) {
|
|
|
|
|
// go(`/recoding/pages/moisture_test_report/moisture_test_report?data=${item.nursingData}&date=${item.createTime}`);
|
|
|
|
|
// go("/pages/face_report/face_report?id=" + this.state.currentDevice.id);
|
|
|
|
|
console.log("水分测试");
|
|
|
|
|
} else {
|
|
|
|
|
go("/pages/face_report/face_report?id=" + this.state.currentDevice.id);
|
|
|
|
|
@ -2050,6 +2174,8 @@ class IotCarePlanFR200 extends Component<any, any> {
|
|
|
|
|
title,
|
|
|
|
|
isConnectShow,
|
|
|
|
|
GearData,
|
|
|
|
|
stepList,
|
|
|
|
|
stepIndex,
|
|
|
|
|
isShowStepTips,
|
|
|
|
|
isShowNurse,
|
|
|
|
|
isStopNurse,
|
|
|
|
|
@ -2259,7 +2385,7 @@ class IotCarePlanFR200 extends Component<any, any> {
|
|
|
|
|
showFullscreenBtn={false}
|
|
|
|
|
/>
|
|
|
|
|
)}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{isShowNurse && (
|
|
|
|
|
<Block>
|
|
|
|
|
{isStopNurse ? (
|
|
|
|
|
@ -2341,6 +2467,8 @@ class IotCarePlanFR200 extends Component<any, any> {
|
|
|
|
|
<WaterTest
|
|
|
|
|
isRuningTest={isRuningTest}
|
|
|
|
|
TestModeStepIndex={TestModeStepIndex}
|
|
|
|
|
stepList={stepList}
|
|
|
|
|
stepIndex={stepIndex}
|
|
|
|
|
></WaterTest>
|
|
|
|
|
)}
|
|
|
|
|
</View>
|
|
|
|
|
@ -2352,6 +2480,7 @@ class IotCarePlanFR200 extends Component<any, any> {
|
|
|
|
|
onEmitStartNurse={this.onStartNurse}
|
|
|
|
|
onEmitSwitchChange={this.onSwitchChange}
|
|
|
|
|
onEmitEndPlan={this.onEndPlan}
|
|
|
|
|
onsuccess={this.onsuccess}
|
|
|
|
|
/>
|
|
|
|
|
</View>
|
|
|
|
|
</Block>
|
|
|
|
|
|