From f14cb28a59b977b048452f7ac8d5b4c27bc60aca Mon Sep 17 00:00:00 2001 From: blak-kong <546598185@qq.com> Date: Fri, 29 Mar 2024 16:59:24 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bluetoot/update-fr200/index.tsx | 7 +- .../bluetoot/update-wl200/index.tsx | 2 + src/moduleIOT/pages/iotCarePlan/FR200.tsx | 311 ++++++++++-------- src/moduleIOT/pages/iotCarePlan/WL200.tsx | 127 +++---- .../iotCarePlan/components/ModeList/FR200.tsx | 2 +- .../components/ModeList/FR200All.tsx | 108 ++++++ 6 files changed, 348 insertions(+), 209 deletions(-) create mode 100644 src/moduleIOT/pages/iotCarePlan/components/ModeList/FR200All.tsx diff --git a/src/components/bluetoot/update-fr200/index.tsx b/src/components/bluetoot/update-fr200/index.tsx index 6dff381..ff3c745 100644 --- a/src/components/bluetoot/update-fr200/index.tsx +++ b/src/components/bluetoot/update-fr200/index.tsx @@ -33,11 +33,8 @@ import { } from "@flossom-npm/iot-translater-we100"; // 通过设备类型判断给 deviceToolKitInstance 赋值 -import { DeviceToolKit as DeviceToolKitWE100 } from "@flossom-npm/iot-translater-we100"; import { DeviceToolKit as DeviceToolKitFR200 } from "@flossom-npm/iot-translater"; -import OtaDeviceTypeEnum from "../OtaDeviceTypeEnum"; - // 临时替代 var log = console; @@ -208,7 +205,9 @@ class UpdateIotFR200 extends Component { //@ts-ignore const value = deviceToolKitInstance.toBleCommand(jsoncmd as any); sendCommand({ value }).then((res) => { + console.log("finishedOTA", res); this.resetOta(); + this.finishFun(); }); } /** @@ -416,10 +415,12 @@ class UpdateIotFR200 extends Component { // 错误关闭回调 errorFun = () => { this.resetOta(); + if (this.$checkTimer) clearInterval(this.$checkTimer); this.props.errorFun(); }; // 升级完成回调 finishFun = () => { + if (this.$checkTimer) clearInterval(this.$checkTimer); this.props.finishFun(); }; diff --git a/src/components/bluetoot/update-wl200/index.tsx b/src/components/bluetoot/update-wl200/index.tsx index 4bd7287..cbc6f62 100644 --- a/src/components/bluetoot/update-wl200/index.tsx +++ b/src/components/bluetoot/update-wl200/index.tsx @@ -229,6 +229,7 @@ class UpdateIotWL200 extends Component { const value = deviceToolKitInstance.toBleCommand(jsoncmd as any); sendCommand({ value }).then((res) => { this.resetOta(); + this.finishFun(); }); } /** @@ -435,6 +436,7 @@ class UpdateIotWL200 extends Component { // 错误关闭回调 errorFun = () => { this.resetOta(); + if (this.$checkTimer) clearInterval(this.$checkTimer); this.props.errorFun(); }; // 升级完成回调 diff --git a/src/moduleIOT/pages/iotCarePlan/FR200.tsx b/src/moduleIOT/pages/iotCarePlan/FR200.tsx index 161fe7d..3a32bae 100644 --- a/src/moduleIOT/pages/iotCarePlan/FR200.tsx +++ b/src/moduleIOT/pages/iotCarePlan/FR200.tsx @@ -56,13 +56,12 @@ import ConnectionBluetoot from "@/components/bluetoot/connection"; /* 本页组件 */ import ElectricityView from "./components/ElectricityView/Electricity"; import ModeListView from "./components/ModeList/FR200"; +import ModeListAllView from "./components/ModeList/FR200All"; import Footer from "./components/Footer/FR200"; import WaterTest from "./components/WaterTest/index"; /* 本页组件 END */ import Echarts from "./components/Echart"; -import EchartsFullScean from "./components/EchartFullScean"; - import Gears from "./components/Gears"; import "./FR200.less"; @@ -345,10 +344,10 @@ class IotCarePlanFR200 extends Component { ], time: { min: 0, - second: 0 + second: 0, }, timeArr: [], - videoVoiceStatus: false + videoVoiceStatus: false, }; } bluetoothContainer: any = null; @@ -380,7 +379,6 @@ class IotCarePlanFR200 extends Component { ModeTypeArray: string[] = [ "all", "base", - "eyes", "zone", "permeation", "sensitive", @@ -409,9 +407,9 @@ class IotCarePlanFR200 extends Component { this.getInstrumentClockSummary(); this.getInstrumentClockDetail(); } - componentDidMount() { } + componentDidMount() {} - componentWillUnmount() { } + componentWillUnmount() {} componentDidShow() { console.log("页面显示了"); @@ -441,23 +439,7 @@ class IotCarePlanFR200 extends Component { title: obj.name, }); - let sendParams: any = { - // ...deviceCommandSamples.pause, - // workMode: 'moistureTest', // 使用模式 - commandType: "DeviceStatusSync", - deviceSyncCommandType: 'onlySyncStatusToDevice', - totalWorkingSeconds: 0, - workStatus: "pause", - workMode: 'face', - }; - sendParams.gear = 1; - let pauseArrayBuffer = deviceToolKitInstance.toBleCommand( - sendParams as any - ); - sendCommand({ - value: pauseArrayBuffer, - }).then((res) => console.log("同步为0=====》", res)); - + this.resetDeviceTimeSync(); await this.GetModeList(obj?.id); @@ -476,6 +458,26 @@ class IotCarePlanFR200 extends Component { } } + /**重置设备时间同步*/ + resetDeviceTimeSync(workMode = "face") { + let sendParams: any = { + // ...deviceCommandSamples.pause, + // workMode: 'moistureTest', // 使用模式 + commandType: "DeviceStatusSync", + deviceSyncCommandType: "onlySyncStatusToDevice", + totalWorkingSeconds: 0, + workStatus: "pause", + workMode: workMode, + }; + sendParams.gear = 1; + let pauseArrayBuffer = deviceToolKitInstance.toBleCommand( + sendParams as any + ); + sendCommand({ + value: pauseArrayBuffer, + }).then((res) => console.log("同步为0=====》", res)); + } + async init() { // 查询离线记录汇总 const queryInstructionParams = { @@ -601,12 +603,11 @@ class IotCarePlanFR200 extends Component { // 护理检查改变模式,是否提示切换护理模式 // isNotCheck为真时,不进行校验,直接切换 this.tempModeCurrent = data; + this.resetDeviceTimeSync(data.modeType); // 切换模式时,重置设备同步时间 // 仅在未开始护理前,切换模式的时候提示模式弹窗 // FR200默认开始护理 - if (!isShowNurse) { - this.openStepTips(); - } + this.openStepTips(); // 如果按钮不可点击则报错,内部自带检查底部按钮函数 // this.onEmitErrorTips(); @@ -627,14 +628,13 @@ class IotCarePlanFR200 extends Component { currentWorkModeType = 2; } - series.map(item => { - if (item.type == 'line') { - item.data = [] + series.map((item) => { + if (item.type == "line") { + item.data = []; } else { - item.data = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] + item.data = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; } - }) - + }); this.setState({ ActiveModeItem: data, @@ -645,7 +645,7 @@ class IotCarePlanFR200 extends Component { MaskModeStepIndex: 0, // 面膜促渗步骤 ModeType: this.ModeTypeArray[data.modeClass], currentWorkModeType, - series + series, }); // 切换模式时:重新设置视频地址 @@ -732,8 +732,11 @@ class IotCarePlanFR200 extends Component { }; // 取消并关闭切换护理模式弹窗 cancelModeSwitchBtn = () => { + let { ActiveModeItem } = this.state; this.setState({ isSwitchActiveMode: false, + activeModeID: ActiveModeItem?.id, + ModeID: "mode_" + ActiveModeItem?.id, }); }; // 弹窗确定切换护理模式 @@ -896,14 +899,14 @@ class IotCarePlanFR200 extends Component { } updata(level = 1, min = 0, seconds = 0) { if (seconds == 0 && min == 0) { - return + return; } // let that = this; // let stop = 0; // let time = setInterval(function () { // stop++; let series = JSON.parse(JSON.stringify(this.state.series)); - let num = level + let num = level; let count = 0; series.map((item) => { if (item.type === "line") { @@ -923,16 +926,16 @@ class IotCarePlanFR200 extends Component { } } else { if (count <= num) { - item.data.splice(seconds - 1, 1, 1) + item.data.splice(seconds - 1, 1, 1); } else { - item.data.splice(seconds - 1, 1, 0) + item.data.splice(seconds - 1, 1, 0); } } } }); let time = JSON.parse(JSON.stringify(this.state.time)); - time.min = min - time.second = seconds + time.min = min; + time.second = seconds; // 更新图表数据 this.setState({ series }); this.setState({ time }); @@ -1091,7 +1094,6 @@ class IotCarePlanFR200 extends Component { // 更新界面倒计时 this.resetTimer(); - if ( sceneTime > totalTime && this.isRuning && @@ -1381,14 +1383,12 @@ class IotCarePlanFR200 extends Component { } } - /** - * 视频声音切换 - */ + * 视频声音切换 + */ videoVoiceStatusChange() { let { videoVoiceStatus } = this.state; - this.setState({ videoVoiceStatus: !videoVoiceStatus }) - + this.setState({ videoVoiceStatus: !videoVoiceStatus }); } /** @name 精华促渗下一步,根据时间自动调用 */ essencePenetrationNext() { @@ -1905,17 +1905,16 @@ class IotCarePlanFR200 extends Component { console.log("保存setFR200NursingHistory"); }; - formatTime(min, sec) { - let mins + let mins; if (min < 10) { - mins = '0' + min; + mins = "0" + min; } else { mins = min; } - let secs + let secs; if (sec < 10) { - secs = '0' + sec; + secs = "0" + sec; } else { secs = sec; } @@ -1937,19 +1936,22 @@ class IotCarePlanFR200 extends Component { // 设置正确封面 if (!data) { if (jsonStatus) { - let { timeArr } = this.state - let newTime = this.formatTime(jsonStatus.totalWorkingMinutes, jsonStatus.totalWorkingSeconds) - let flag = false - timeArr.map(item => { + let { timeArr } = this.state; + let newTime = this.formatTime( + jsonStatus.totalWorkingMinutes, + jsonStatus.totalWorkingSeconds + ); + let flag = false; + timeArr.map((item) => { if (newTime === item) { - flag = true + flag = true; } - }) + }); if (flag) { - return + return; } - timeArr.push(newTime) - this.setState({ timeArr }) + timeArr.push(newTime); + this.setState({ timeArr }); // 缓存每秒数据 if (!params.dataArray) params.dataArray = []; params.dataArray.push(jsonStatus); @@ -1957,17 +1959,26 @@ class IotCarePlanFR200 extends Component { params.workMode = jsonStatus?.workMode; params.modeId = this.state.ActiveModeItem?.id; params.modeName = this.state.ActiveModeItem.modeName; - let impedance = jsonStatus.impedance - let level = impedance - 200 + let impedance = jsonStatus.impedance; + let level = impedance - 200; if (level < 0) { - level = 1 + level = 1; } else { - level = Math.ceil(level / 80) + 1 + level = Math.ceil(level / 80) + 1; } - console.log('min:', jsonStatus.totalWorkingMinutes, ' ', 'sec', jsonStatus.totalWorkingSeconds); - - this.updata(level, jsonStatus.totalWorkingMinutes, jsonStatus.totalWorkingSeconds) + console.log( + "min:", + jsonStatus.totalWorkingMinutes, + " ", + "sec", + jsonStatus.totalWorkingSeconds + ); + this.updata( + level, + jsonStatus.totalWorkingMinutes, + jsonStatus.totalWorkingSeconds + ); } } else { params.jsonStatus = jsonStatus; @@ -2282,11 +2293,11 @@ class IotCarePlanFR200 extends Component { let report = true; go( "/recoding/pages/face_report_one/face_report_one?id=" + - ids + - "&report=" + - report + - "&obj=" + - JSON.stringify(obj) + ids + + "&report=" + + report + + "&obj=" + + JSON.stringify(obj) ); } else if ("moistureTest" === nursingData.workMode) { console.log("水分测试"); @@ -2297,11 +2308,11 @@ class IotCarePlanFR200 extends Component { go( "/recoding/pages/face_report/face_report?id=" + - deviceid + - "&recordId=" + - currentDevice + - "&report=" + - report + deviceid + + "&recordId=" + + currentDevice + + "&report=" + + report ); } }; @@ -2491,7 +2502,7 @@ class IotCarePlanFR200 extends Component { series, time, isFullScreen, - videoVoiceStatus + videoVoiceStatus, } = this.state; return ( @@ -2510,19 +2521,19 @@ class IotCarePlanFR200 extends Component { { isLarge isClose isShow={isEndCarePlan} - title='提示' - content='是否结束护理' - textAlgin='center' - cancelButtonText='取消' - confirmButtonText='确定' + title="提示" + content="是否结束护理" + textAlgin="center" + cancelButtonText="取消" + confirmButtonText="确定" close={this.cancelEndBtn} confirm={this.confirmEndBtn} /> @@ -2546,7 +2557,7 @@ class IotCarePlanFR200 extends Component { isLarge isClose isShow={isSwitchActiveMode} - title='护理模式切换' + title="护理模式切换" content={ { onModeLockOpen={this.onModeLockOpen} /> } - textAlgin='center' - cancelButtonText='取消' - confirmButtonText='确定' + textAlgin="center" + cancelButtonText="取消" + confirmButtonText="确定" close={this.cancelModeSwitchBtn} confirm={this.confirmModeSwitchBtn} /> @@ -2572,7 +2583,7 @@ class IotCarePlanFR200 extends Component { isShow={isShowStepTips} isLarge isFirstEntry={false} - confirmButtonText='知道了' + confirmButtonText="知道了" data={ActiveModeItem.openSourceData} close={this.closeStepTips} /> @@ -2581,10 +2592,10 @@ class IotCarePlanFR200 extends Component { @@ -2593,11 +2604,11 @@ class IotCarePlanFR200 extends Component { isShow={isShowErrorTipsText} isClose zIndex={10020} - myClassName='level-up' - title='提示' + myClassName="level-up" + title="提示" content={errorTipsText} - confirmButtonText='知道了' - textAlgin='center' + confirmButtonText="知道了" + textAlgin="center" close={this.closeErrorTipsText} confirm={this.closeErrorTipsText} /> @@ -2606,17 +2617,17 @@ class IotCarePlanFR200 extends Component { isShow={isShowTipsSave} isClose zIndex={10020} - myClassName='level-up' - title='提示' + myClassName="level-up" + title="提示" content={ 当前模式已护理部分时间 是否保存护理记录 } - cancelButtonText='取消' - confirmButtonText='确认' - textAlgin='center' + cancelButtonText="取消" + confirmButtonText="确认" + textAlgin="center" close={this.closeTipsSave} cancel={this.cancelTipsSave} confirm={this.confirmTipsSave} @@ -2625,11 +2636,11 @@ class IotCarePlanFR200 extends Component { { /*不需要做处理*/ }} @@ -2640,71 +2651,75 @@ class IotCarePlanFR200 extends Component { deviceInfo={currentDevice} close={this.connectionClose} isDisconnect={!isConnectionBlutoot} - offlineChange={() => { }} + offlineChange={() => {}} pairingChange={this.pairingChange} - upgradeFun={() => { }} + upgradeFun={() => {}} /> )} - 正在同步护理记录... + 正在同步护理记录... - + {isFullScreen && ( - + - - - + + + 倒计时: - {currentTime} + {currentTime} - - - 档位:{currentGear}档 + + + 档位:{currentGear} - + { )} {ModeList.length > 0 && isFullScreen && ( - { )} {/* */} - - + + {(ActiveModeItem?.modeType === "maskPenetration" || diff --git a/src/moduleIOT/pages/iotCarePlan/WL200.tsx b/src/moduleIOT/pages/iotCarePlan/WL200.tsx index 86815d7..66a6fa9 100644 --- a/src/moduleIOT/pages/iotCarePlan/WL200.tsx +++ b/src/moduleIOT/pages/iotCarePlan/WL200.tsx @@ -241,9 +241,9 @@ class IotCarePlanWL200 extends Component { this.getWL200NursingHistory(); this.initData(); } - componentDidMount() { } + componentDidMount() {} - componentWillUnmount() { } + componentWillUnmount() {} componentDidShow() { console.log("页面显示了"); @@ -546,8 +546,11 @@ class IotCarePlanWL200 extends Component { }; // 取消并关闭切换护理模式弹窗 cancelModeSwitchBtn = () => { + let { ActiveModeItem } = this.state; this.setState({ isSwitchActiveMode: false, + activeModeID: ActiveModeItem?.id, + ModeID: "mode_" + ActiveModeItem?.id, }); }; // 弹窗确定切换护理模式 @@ -588,7 +591,7 @@ class IotCarePlanWL200 extends Component { this.onNursingTap(); // 倒计时弹窗: 倒计时完成后,自动开始,并判断弹窗 let downNum = CountDownTime[this.state.ActiveModeItem.modeType] || 3; - this.showCountdownFun(downNum, () => { }); + this.showCountdownFun(downNum, () => {}); }, 500); return; @@ -620,7 +623,7 @@ class IotCarePlanWL200 extends Component { }; // 绘制能量图 - drawProwerPicture() { } + drawProwerPicture() {} /** 切换光照 */ onSwitchChange = async () => { @@ -1385,7 +1388,7 @@ class IotCarePlanWL200 extends Component { // 仅在切换模式的时候,弹窗倒计时. if (type === "switch") { let downNum = CountDownTime[ActiveModeItem.modeType] || 3; - this.showCountdownFun(downNum, () => { }); // 倒计时弹窗 + this.showCountdownFun(downNum, () => {}); // 倒计时弹窗 } // 开始执行护理 @@ -1935,7 +1938,7 @@ class IotCarePlanWL200 extends Component { if (currentTimeTimer) clearInterval(currentTimeTimer); go( "/recording/pages/face_report/face_report?id=" + - this.state.currentDevice.id + this.state.currentDevice.id ); }; @@ -2128,11 +2131,11 @@ class IotCarePlanWL200 extends Component { { { isLarge isClose isShow={isEndCarePlan} - title='提示' - content='是否结束护理' - textAlgin='center' - cancelButtonText='取消' - confirmButtonText='确定' + title="提示" + content="是否结束护理" + textAlgin="center" + cancelButtonText="取消" + confirmButtonText="确定" close={this.cancelEndBtn} confirm={this.confirmEndBtn} /> @@ -2165,7 +2168,7 @@ class IotCarePlanWL200 extends Component { isLarge isClose isShow={isSwitchActiveMode} - title='护理模式切换' + title="护理模式切换" content={ { onModeLockOpen={this.onModeLockOpen} /> } - textAlgin='center' - cancelButtonText='取消' - confirmButtonText='确定' + textAlgin="center" + cancelButtonText="取消" + confirmButtonText="确定" close={this.cancelModeSwitchBtn} confirm={this.confirmModeSwitchBtn} /> @@ -2191,7 +2194,7 @@ class IotCarePlanWL200 extends Component { isShow={isShowStepTips} isLarge isFirstEntry={false} - confirmButtonText='知道了' + confirmButtonText="知道了" data={ActiveModeItem.openSourceData} close={this.closeStepTips} /> @@ -2200,10 +2203,10 @@ class IotCarePlanWL200 extends Component { @@ -2212,11 +2215,11 @@ class IotCarePlanWL200 extends Component { isShow={isShowErrorTipsText} isClose zIndex={10020} - myClassName='level-up' - title='提示' + myClassName="level-up" + title="提示" content={errorTipsText} - confirmButtonText='知道了' - textAlgin='center' + confirmButtonText="知道了" + textAlgin="center" close={this.closeErrorTipsText} confirm={this.closeErrorTipsText} /> @@ -2225,17 +2228,17 @@ class IotCarePlanWL200 extends Component { isShow={isShowTipsSave} isClose zIndex={10020} - myClassName='level-up' - title='提示' + myClassName="level-up" + title="提示" content={ 当前模式已护理部分时间 是否保存护理记录 } - cancelButtonText='取消' - confirmButtonText='确认' - textAlgin='center' + cancelButtonText="取消" + confirmButtonText="确认" + textAlgin="center" close={this.closeTipsSave} cancel={this.cancelTipsSave} confirm={this.confirmTipsSave} @@ -2244,11 +2247,11 @@ class IotCarePlanWL200 extends Component { { /*不需要做处理*/ }} @@ -2259,31 +2262,31 @@ class IotCarePlanWL200 extends Component { deviceInfo={currentDevice} close={this.connectionClose} isDisconnect={!isConnectionBlutoot} - offlineChange={() => { }} + offlineChange={() => {}} pairingChange={this.pairingChange} - upgradeFun={() => { }} + upgradeFun={() => {}} /> )} - 正在同步护理记录... + 正在同步护理记录... - - + + {!isShowNurse && ( - - - + + + 护理时间: - {currentTime} + {currentTime} - + 敏期护理 - {PermeationList.map((item: any, index: any) => { + {SensitiveList.map((item: any, index: any) => { return ( { + if (item.lock) { + onModeLockOpen(); // 点击了锁定模式 + return; + } + onEmit(item); + }; + + const showAll = () => { + onEmitShowAll(); + }; + + return ( + + + {!isPop && ModeList.length > 0 && ( + + 全部模式 + + + )} + + + {ModeList.map((item: any, index: any) => { + return ( + + + NEW + + + {item.modeName} + + {item.modeTimeStr === "00:00" + ? "--:--" + : item.modeTimeStr} + + + {activeModeID === item.id && ( + + )} + + + + {activeModeID === item.id && ( + + + + )} + + ); + })} + + + + + + ); +} + +export default Index;