diff --git a/src/moduleIOT/pages/iotCarePlan/FR200.tsx b/src/moduleIOT/pages/iotCarePlan/FR200.tsx index 2f4e44f..e62be4a 100644 --- a/src/moduleIOT/pages/iotCarePlan/FR200.tsx +++ b/src/moduleIOT/pages/iotCarePlan/FR200.tsx @@ -691,10 +691,54 @@ class IotCarePlanFR200 extends Component { let formattedDate = `${year}.${month}.${day}`; - go(`/recoding/pages/moisture_test_report/moisture_test_report?data=${params.nursingData}&date=${formattedDate}&modeId=${ActiveModeItem.id}&id=${currentDevice.id}`); + + this.moistureTest(params.nursingData, formattedDate, ActiveModeItem.id, currentDevice.id) }, 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 => { + 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 检测紧贴肌肤 diff --git a/src/recoding/pages/moisture_test_report/Echarts/index.tsx b/src/recoding/pages/moisture_test_report/Echarts/index.tsx index e66d878..a61f8ff 100644 --- a/src/recoding/pages/moisture_test_report/Echarts/index.tsx +++ b/src/recoding/pages/moisture_test_report/Echarts/index.tsx @@ -2,18 +2,17 @@ import Taro from "@tarojs/taro"; import classnames from "classnames"; import { Block, View, Image, Text, Input } from "@tarojs/components"; import { Popup, Progress, Slider } from "@antmjs/vantui"; -import { useRef } from "react"; +import { useEffect, useRef } from "react"; import Echarts, { EChartOption, EchartsHandle } from "taro-react-echarts"; import * as echarts from "echarts"; import "./index.less"; interface Props { - Electricity: any; - matrixElectricity: any; - facialMaskConnectStatus: any; + echartsData: any } -function Index() { +function Index(echartsData: Props) { + let { gears, eDate } = echartsData.echartsData; const echartsRef = useRef(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 1555640..b46234e 100644 --- a/src/recoding/pages/recording/recording.tsx +++ b/src/recoding/pages/recording/recording.tsx @@ -348,9 +348,51 @@ export default class Recording extends Component { }; // 打开第三种类型 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); + 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 => { + 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);