import { View, Text, Image } from "@tarojs/components"; import './guide.scss' import '@/_health/pages/schedules.scss' import NewHeader, { NewHeaderType } from "../components/new_header"; import { useEffect, useState } from "react"; import { createSchedule, getSchedules } from "@/services/health"; import { setFooter, setSchedules } from "@/store/health"; import { useDispatch, useSelector } from "react-redux"; import Card from "../components/card"; import { rpxToPx } from "@/utils/tools"; import { getThemeColor } from "@/features/health/hooks/health_hooks"; import Modal from "@/components/layout/Modal.weapp"; import TimePicker from "@/features/common/TimePicker"; import NewButton, { NewButtonType } from "../base/new_button"; import { MainColorType } from "@/context/themes/color"; import { jumpPage } from "@/features/trackTimeDuration/hooks/Common"; import ScheduleItem from "../components/schedule_item"; import { useTranslation } from "react-i18next"; import CellFooter, { CellFooterType } from "../base/cell_footer"; import CellFooterText from "../base/cell_footer_text"; import Taro from "@tarojs/taro"; export default function GuideFast() { const systemInfo: any = Taro.getWindowInfo?Taro.getWindowInfo():Taro.getSystemInfoSync(); const navigationBarHeight = systemInfo.statusBarHeight + 44; const user = useSelector((state: any) => state.user); const [loaded, setLoaded] = useState(false) const health = useSelector((state: any) => state.health); const [errors, setErrors] = useState([]) const [highlight, setHighlight] = useState(true) const [selItem, setSelItem] = useState(null) const [showTimePicker, setShowTimePicker] = useState(false) const { t } = useTranslation() const dispatch = useDispatch() const selMode = 'FAST' useEffect(() => { getSchedules({ window: '', sort_by: 'EVENT' }).then(res => { dispatch(setSchedules((res as any).data)) dispatch(setFooter((res as any).footer)) setLoaded(true) setTimeout(() => { setHighlight(false) }, 2000) }) }, []) function modalContent() { const strTime = selItem.time var title = selItem.title var color = getThemeColor(selItem.window) return { // selItem.time = e setSelItem(selItem) setShowTimePicker(false) var array = JSON.parse(JSON.stringify(health.schedules)) array.map(item => { if (item.id == selItem.id) { item.time = e item.op_ms = new Date().getTime() } }) dispatch(setSchedules(array)) check(array) // var array = JSON.parse(JSON.stringify(list)) // array[selIndex].time = e // setList(array) // checkData(array) }} cancel={() => { setShowTimePicker(false) }} /> } function check(array) { createSchedule({ schedules: array, only_check: true, return_all: true, op_page: 'SCHEDULE_WALKTHROUGH_1', sort_by: 'EVENT' }).then(res => { dispatch(setSchedules((res as any).schedules)) dispatch(setFooter((res as any).footer)) if ((res as any).result) { setErrors([]) } else { setErrors((res as any).error_messages ? (res as any).error_messages : []) } }) } function footerTitle() { if (health.footer) { return health.footer.fast.title } return '' } function footerDesc() { if (health.footer) { return health.footer.fast.description } return '' } function items() { var items = health.schedules.filter(item => item.window == 'FAST') return { errors.map((item1, index) => { return {item1} }) } { items.map((obj, i) => { return { var array = JSON.parse(JSON.stringify(health.schedules)) array.map(item => { if (item.id == obj.id) { item.time = time item.op_ms = new Date().getTime() } }) dispatch(setSchedules(array)) check(array) }} /> }) } } if (!loaded) return return { Taro.navigateBack() }} /> { items() } 0} color={MainColorType.fast} width={rpxToPx(646)} height={rpxToPx(96)} onClick={() => { jumpPage('./guide_sleep') }} /> { showTimePicker && { setShowTimePicker(false) }} confirm={() => { }}> { modalContent() } } }