diff --git a/src/app.config.ts b/src/app.config.ts index 880b905..25015c7 100644 --- a/src/app.config.ts +++ b/src/app.config.ts @@ -85,7 +85,7 @@ export default defineAppConfig({ "pages/recording/recording", "pages/face_report_one/face_report_one", "pages/moisture_test_report/moisture_test_report", - + "pages/face_report/face_report", ], }, { diff --git a/src/moduleIOT/pages/iotCarePlan/FR200.tsx b/src/moduleIOT/pages/iotCarePlan/FR200.tsx index 360c785..61a24f0 100644 --- a/src/moduleIOT/pages/iotCarePlan/FR200.tsx +++ b/src/moduleIOT/pages/iotCarePlan/FR200.tsx @@ -290,9 +290,9 @@ class IotCarePlanFR200 extends Component { this.getInstrumentClockSummary(); this.getInstrumentClockDetail(); } - componentDidMount() {} + componentDidMount() { } - componentWillUnmount() {} + componentWillUnmount() { } componentDidShow() { console.log("页面显示了"); @@ -684,6 +684,7 @@ class IotCarePlanFR200 extends Component { let date = new Date(); let year = date.getFullYear(); +<<<<<<< HEAD let month = (date.getMonth() + 1).toString().padStart(2, "0"); let day = date.getDate().toString().padStart(2, "0"); @@ -692,9 +693,63 @@ class IotCarePlanFR200 extends Component { go( `/recoding/pages/moisture_test_report/moisture_test_report?data=${params.nursingData}&date=${formattedDate}&modeId=${ActiveModeItem.id}&id=${currentDevice.id}` ); +======= + let month = (date.getMonth() + 1).toString().padStart(2, '0'); + let day = date.getDate().toString().padStart(2, '0'); + + let formattedDate = `${year}.${month}.${day}`; + + + this.moistureTest(params.nursingData, formattedDate, ActiveModeItem.id, currentDevice.id) +>>>>>>> 4c77ad357cabdbdc964386fcd5d889fe5cc5caca }, 2000); }; + async moistureTest(nursingData, formattedDate, ActiveModeItemId, currentDeviceId) { + let data = { + queryDate: formattedDate, + instrumentId: currentDeviceId + } + let res = await InstrumentInfo.fr200.moistureTest(data); + let echartsData = res.data.rows + for (let i = 0; i < echartsData.length; i++) { + for (let j = i + 1; j < echartsData.length; j++) { + if (echartsData[i].createTime.split(' ')[0] == echartsData[j].createTime.split(' ')[0]) { + let result = Date.parse(echartsData[i].createTime) - Date.parse(echartsData[j].createTime) + if (result < 0) { + echartsData.splice(i, 1) + } else { + echartsData.splice(j, 1) + } + } + } + } + let gears: any = [] + let eDate: any = [] + echartsData?.map(item => { + console.log(item,'查看数据'); + + const result = item.createTime.split(' ')[0].substring(5); + eDate.push(result) + item.nursingData = JSON.parse(item.nursingData) + let level: any = 0 + item.nursingData?.GearData?.map(gear => { + level = level + gear.forehead + }) + level = Math.floor(level / 3) + gears.push(level) + }) + echartsData = { + gears, eDate + } + setStorageSync('moistureEachtsData', JSON.stringify(echartsData)) + + // go(`/recoding/pages/moisture_test_report/moisture_test_report?data=${allData.nursingData}&date=${allData.createTime}&modeId=${allData.modeId}&id=${allData.instrumentId}&echartsData=${JSON.stringify(echartsData)}`); + go(`/recoding/pages/moisture_test_report/moisture_test_report?data=${nursingData}&date=${formattedDate}&modeId=${ActiveModeItemId}&id=${currentDeviceId}&echartsData=${JSON.stringify(echartsData)}`); + + } + + /** * @name 不可切换光照提示 * @description 检测紧贴肌肤 @@ -720,10 +775,10 @@ class IotCarePlanFR200 extends Component { } }, 1000); } - updata() {} + updata() { } // 绘制能量图 - drawProwerPicture() {} + drawProwerPicture() { } /** 切换光照 */ onSwitchChange = async () => { @@ -1313,7 +1368,11 @@ class IotCarePlanFR200 extends Component { * @description 步骤+1并设置视频 */ waterTestNext(index) { +<<<<<<< HEAD let ActiveModeItem = this.state.ActiveModeItem; +======= + let ActiveModeItem = this.state.ActiveModeItem +>>>>>>> 4c77ad357cabdbdc964386fcd5d889fe5cc5caca if (index === 0 && ActiveModeItem.stepOneVideo) { this.VideoSrcLoad(ActiveModeItem.stepOneVideo); } else if (index === 1 && ActiveModeItem.stepTwoVideo) { @@ -1563,7 +1622,11 @@ class IotCarePlanFR200 extends Component { // 水分测试需要特殊处理 // 水分测试准备 水分测试工作 水分测试启动 if (ActiveModeItem.modeType === "moistureTest") { +<<<<<<< HEAD let that = this; +======= + let that = this +>>>>>>> 4c77ad357cabdbdc964386fcd5d889fe5cc5caca sendParams.testStatus = "standby"; // 切换为准备 let waterStepList = this.state.waterStepList; let waterStepIndex = this.state.waterStepIndex; @@ -1970,10 +2033,20 @@ class IotCarePlanFR200 extends Component { // 脸部one todoPromise = async () => { const nowFR200NursingHistory = Taro.getStorageSync("FR200NursingHistory"); +<<<<<<< HEAD console.log(nowFR200NursingHistory, "nowFR200NursingHistory"); +======= + console.log(nowFR200NursingHistory, 'nowFR200NursingHistory'); +>>>>>>> 4c77ad357cabdbdc964386fcd5d889fe5cc5caca // 护理脸部 - if (nowFR200NursingHistory.jsonStatus.workMode === "face") { + if ([ + "face", + "eyes", + "nasolabialFold", + "mandibularLine", + "headLiftingPro", + ].includes(nowFR200NursingHistory.jsonStatus.workMode)) { // 把working=工作中的状态数据筛选出来 let filtered = nowFR200NursingHistory.dataArray.filter( (item) => item.workStatus === "working" @@ -2037,6 +2110,10 @@ class IotCarePlanFR200 extends Component { return nursingData; } +<<<<<<< HEAD +======= + return { nursingData: JSON.stringify({ workMode: nowFR200NursingHistory.workMode, }),showFace:true } +>>>>>>> 4c77ad357cabdbdc964386fcd5d889fe5cc5caca }; // 计算挡位 @@ -2073,11 +2150,15 @@ class IotCarePlanFR200 extends Component { }; } let res1: any = await this.todoPromise(); + if (!res1?.showFace) { + + params = { ...params, ...res1 }; + } console.log(res1, "查看返回数据"); - params = { ...params, ...res1 }; - let res: any = await InstrumentInfo.apiNursingLog.addLog(params); - console.log("PostNursingLogClock", res); - if (res.data.code === 200) { + + let res2: any = await InstrumentInfo.apiNursingLog.addLog(params); + console.log("PostNursingLogClock", res2); + if (res2.data.code === 200) { let params = { instrumentId: currentDevice.id, }; @@ -2095,7 +2176,7 @@ class IotCarePlanFR200 extends Component { isShowNursingSuccess: false, }); - this.goFaceReport(res1, ActiveModeItem.id); // 跳转 + this.goFaceReport(res1, ActiveModeItem.id, res2.data.data, currentDevice.id); // 跳转 }, 2000); } } @@ -2191,7 +2272,7 @@ class IotCarePlanFR200 extends Component { }; /** 完成护理提交:跳转护理报告页 */ - goFaceReport = (data, id) => { + goFaceReport = async (data, id, deviceid, currentDevice) => { let nursingData = JSON.parse(data.nursingData); // 跳转前置空定时器,防止重复提交 if (currentTimeTimer) clearInterval(currentTimeTimer); @@ -2204,31 +2285,51 @@ class IotCarePlanFR200 extends Component { "headLiftingPro", ].includes(nursingData.workMode) ) { - // let obj = { - // modeName: nursingData.modeName, - // data: nursingData, - // }; + let ids = Number(deviceid) + // 获取echarts数据 这个是获取接口更新echarts页面 + let res2 = await InstrumentInfo.apiNursingLog.getStatiCDE(ids); + + let nursingDatas = JSON.parse(res2.data.data.nursingData) + let obj = { + modeName: res2.data.data.modeName, + data: nursingDatas + } + let report = true; go( "/recoding/pages/face_report_one/face_report_one?id=" + +<<<<<<< HEAD id + "&report=" + report +======= + ids + + "&report=" + + report + "&obj=" + + JSON.stringify(obj) +>>>>>>> 4c77ad357cabdbdc964386fcd5d889fe5cc5caca ); } else if ("moistureTest" === nursingData.workMode) { console.log("水分测试"); } else { + console.log('跳转11111111'); + let report = true; + go( "/recoding/pages/face_report/face_report?id=" + +<<<<<<< HEAD this.state.currentDevice.id + "&report=" + report +======= + deviceid + + "&recordId=" + currentDevice + + "&report=" + + report +>>>>>>> 4c77ad357cabdbdc964386fcd5d889fe5cc5caca ); - // go( - // "/recoding/pages/face_report/face_report?id=" + - // this.state.currentDevice.id - // ); + } }; @@ -2539,9 +2640,9 @@ class IotCarePlanFR200 extends Component { deviceInfo={currentDevice} close={this.connectionClose} isDisconnect={!isConnectionBlutoot} - offlineChange={() => {}} + offlineChange={() => { }} pairingChange={this.pairingChange} - upgradeFun={() => {}} + upgradeFun={() => { }} /> )} @@ -2624,12 +2725,12 @@ class IotCarePlanFR200 extends Component { {(ActiveModeItem.modeType === "maskPenetration" || ActiveModeItem.modeType === "essence") && ( - - )} + + )} {ActiveModeItem.modeType === "moistureTest" && ( (null); const option: EChartOption = { grid: { @@ -32,7 +31,7 @@ function Index() { splitLine: { show: true, }, - data: ['6.17', '6.18', '6.19', '6.20', '6.21', '6.22', '6.23'], + data:eDate, axisTick: { show: false }, @@ -76,7 +75,7 @@ function Index() { } ]) }, - data: [5, 3, 4, 6, 3, 4, 3], + data: gears, } ] }; diff --git a/src/recoding/pages/moisture_test_report/moisture_test_report.tsx b/src/recoding/pages/moisture_test_report/moisture_test_report.tsx index bae9395..617950a 100644 --- a/src/recoding/pages/moisture_test_report/moisture_test_report.tsx +++ b/src/recoding/pages/moisture_test_report/moisture_test_report.tsx @@ -4,7 +4,7 @@ import { go } from "@/utils/traoAPI"; import { InstrumentInfo } from "@/utils/Interface"; import "taro-ui/dist/style/components/button.scss"; // 按需引入 -import Taro from "@tarojs/taro"; +import Taro, { setStorageSync } from "@tarojs/taro"; // 引入 Swiper, SwiperItem 组件 /*** redux ***/ @@ -13,6 +13,7 @@ import { setMobile } from "@/store/features/userInfo"; /*** redux end ***/ import Navbar from "@/components/navbar/navbar"; import Echarts from "./Echarts/index"; + import "./moisture_test_report.less"; class MoistureTestReport extends Component { @@ -40,7 +41,9 @@ class MoistureTestReport extends Component { imglist: [], id: 0, show: false, - modeId: 0 + modeId: 0, + echartsData: {}, + showEcharts: false }; } @@ -54,11 +57,9 @@ class MoistureTestReport extends Component { componentDidHide() { } onLoad(option) { - console.log(option.data); + console.log(option); let data = JSON.parse(option.data) - console.log(data); - let { reportData } = this.state reportData.curDate = option.date data.GearData.map(item => { @@ -78,18 +79,10 @@ class MoistureTestReport extends Component { } }) - this.setState({ reportData, modeId: option.modeId }); - this.moistureTest(option.id, reportData.curDate) + this.setState({ reportData, modeId: option.modeId, echartsData: JSON.parse(option.echartsData) }); + // this.moistureTest(option.id, reportData.curDate) } async initData() { } - async moistureTest(id, curDate) { - let data = { - queryDate: curDate, - instrumentId: id - } - let res = await InstrumentInfo.fr200.moistureTest(data); - - } toIndex() { Taro.reLaunch({ url: "/pages/index/index" }); @@ -99,7 +92,7 @@ class MoistureTestReport extends Component { } render() { - let { name, imgUrl, reportData, reportData1, isClock, xinde, imglist, id, show, modeId } = this.state + let { name, imgUrl, reportData, reportData1, isClock, xinde, imglist, id, show, modeId, echartsData, showEcharts } = this.state const getStatusData = (level) => { var bgCssData = { @@ -263,9 +256,9 @@ class MoistureTestReport extends Component { - 肌肤整体 + 肌肤整体水分测试报告 - + @@ -310,7 +303,7 @@ class MoistureTestReport extends Component { - + ); } } diff --git a/src/recoding/pages/recording/recording.tsx b/src/recoding/pages/recording/recording.tsx index 2517a77..f3c6f1a 100644 --- a/src/recoding/pages/recording/recording.tsx +++ b/src/recoding/pages/recording/recording.tsx @@ -299,8 +299,8 @@ export default class Recording extends Component { setStorageSync("instrument_detail", instrument); } }) - console.log(item,'查看'); - + console.log(item, '查看'); + if ([1, 2, 3, 4, 5].includes(item.jumpType)) { this.One(item); } else if (item.jumpType === 0) { @@ -316,25 +316,22 @@ export default class Recording extends Component { } // 打开第一种类型 One = async (item) => { - let ids =Number(item.id) - // 获取echarts数据 这个是获取接口更新echarts页面 - let res2 = await InstrumentInfo.apiNursingLog.getStatiCDE(ids); - let nursingData=JSON.parse(res2.data.data.nursingData) - - nursingData.groupedAa.push(50) - let obj ={ - modeName:res2.data.data.modeName, - data:nursingData - } - + let ids = Number(item.id) + // 获取echarts数据 这个是获取接口更新echarts页面 + let res2 = await InstrumentInfo.apiNursingLog.getStatiCDE(ids); + let nursingData = JSON.parse(res2.data.data.nursingData) + let obj = { + modeName: res2.data.data.modeName, + data: nursingData + } let report = false; - + go( "/recoding/pages/face_report_one/face_report_one?id=" + - item.id + - "&report=" + - report+ "&obj=" + - JSON.stringify(obj) + item.id + + "&report=" + + report + "&obj=" + + JSON.stringify(obj) ); }; // 打开第二种类型 @@ -343,17 +340,64 @@ export default class Recording extends Component { let report = false; go( "/recoding/pages/face_report/face_report?id=" + - item.id + - "&recordId=" + item.instrumentId+ - "&report=" + - report + item.id + + "&recordId=" + item.instrumentId + + "&report=" + + report ); }; // 打开第三种类型 three = async (item) => { - - go(`/recoding/pages/moisture_test_report/moisture_test_report?data=${item.nursingData}&date=${item.createTime}&modeId=${item.modeId}&id=${item.instrumentId}`); + this.moistureTest(item) }; + + async moistureTest(allData) { + let data = { + queryDate: allData.createTime, + instrumentId: allData.instrumentId + } + let res = await InstrumentInfo.fr200.moistureTest(data); + console.log(res,'查看返回数据'); + + let echartsData = res.data.rows + for (let i = 0; i < echartsData.length; i++) { + for (let j = i + 1; j < echartsData.length; j++) { + if (echartsData[i].createTime.split(' ')[0] == echartsData[j].createTime.split(' ')[0]) { + let result = Date.parse(echartsData[i].createTime) - Date.parse(echartsData[j].createTime) + if (result < 0) { + echartsData.splice(i, 1) + } else { + echartsData.splice(j, 1) + } + } + } + } + let gears: any = [] + let eDate: any = [] + console.log(echartsData,'echartsDataechartsData'); + + echartsData.map(item => { + + const result = item.createTime.split(' ')[0].substring(5); + eDate.push(result) + item.nursingData = JSON.parse(item.nursingData) + let level: any = 0 + item.nursingData?.GearData?.map(gear => { + level = level + gear.forehead + }) + level = Math.floor(level / 3) + gears.push(level) + }) + echartsData = { + gears, eDate + } + setStorageSync('moistureEachtsData', JSON.stringify(echartsData)) + + go(`/recoding/pages/moisture_test_report/moisture_test_report?data=${allData.nursingData}&date=${allData.createTime}&modeId=${allData.modeId}&id=${allData.instrumentId}&echartsData=${JSON.stringify(echartsData)}`); + + } + + // 打开其他类型 AllDevice = async (item) => { console.log("打开其他类型", item);