|
|
@@ -6,10 +6,12 @@ import { ColorType } from "@/context/themes/color";
|
|
|
import "@/components/layout/Modal.scss";
|
|
|
import './IndexConsoleMuti.scss';
|
|
|
import { useRef, useState } from "react";
|
|
|
-import { batchClocks, getLocalPush } from "../actions/TrackTimeActions";
|
|
|
+import { batchClocks, endFast, getLocalPush } from "../actions/TrackTimeActions";
|
|
|
import dayjs from "dayjs";
|
|
|
import Modal from "@/components/layout/Modal.weapp";
|
|
|
import ConsolePicker from "./ConsolePicker";
|
|
|
+import Taro from "@tarojs/taro";
|
|
|
+import { TimeFormatter } from "@/utils/time_format";
|
|
|
|
|
|
let min = 0
|
|
|
let max = 0
|
|
|
@@ -19,10 +21,10 @@ export default function IndexConsoleMuti(props: { status: string, event: string,
|
|
|
const isLoading = false;
|
|
|
var color = ColorType.fast;
|
|
|
var alpha = alphaToHex(0.4)
|
|
|
- const [fastStart, setFastStart] = useState<any>(0)
|
|
|
- const [fastEnd, setFastEnd] = useState<any>(0)
|
|
|
- const [sleepStart, setSleepStart] = useState<any>(0)
|
|
|
- const [sleepEnd, setSleepEnd] = useState<any>(0)
|
|
|
+ const [fastStart, setFastStart] = useState<any>(null)
|
|
|
+ const [fastEnd, setFastEnd] = useState<any>(null)
|
|
|
+ const [sleepStart, setSleepStart] = useState<any>(null)
|
|
|
+ const [sleepEnd, setSleepEnd] = useState<any>(null)
|
|
|
const [showPicker, setShowPicker] = useState(false)
|
|
|
const [operateType, setOperateType] = useState('startFast')
|
|
|
const pickerRef = useRef(null)
|
|
|
@@ -37,38 +39,108 @@ export default function IndexConsoleMuti(props: { status: string, event: string,
|
|
|
var sleep: any = {}
|
|
|
switch (props.event) {
|
|
|
case 'start_sleep':
|
|
|
- fast.real_start_time = new Date().getTime() - 100 * 1000
|
|
|
- fast.real_start_date = dayjs().format('YYYYMMDD')
|
|
|
- sleep.real_start_time = new Date().getTime() - 50
|
|
|
- sleep.real_start_date = dayjs().format('YYYYMMDD')
|
|
|
+ if (!fastStart) {
|
|
|
+ Taro.showToast({
|
|
|
+ icon: 'none',
|
|
|
+ title: '请选择开始断食时间'
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if (!sleepStart) {
|
|
|
+ Taro.showToast({
|
|
|
+ icon: 'none',
|
|
|
+ title: '请选择开始睡眠时间'
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ fast.real_start_time = fastStart.time
|
|
|
+ fast.real_start_date = fastStart.date
|
|
|
+ sleep.real_start_time = sleepStart.time
|
|
|
+ sleep.real_start_date = sleepStart.date
|
|
|
break;
|
|
|
case 'end_sleep':
|
|
|
if (props.status == 'WAIT_FOR_START') {
|
|
|
- fast.real_start_time = new Date().getTime() - 100 * 1000
|
|
|
- fast.real_start_date = dayjs().format('YYYYMMDD')
|
|
|
+ if (!fastStart) {
|
|
|
+ Taro.showToast({
|
|
|
+ icon: 'none',
|
|
|
+ title: '请选择开始断食时间'
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ fast.real_start_time = fastStart.time
|
|
|
+ fast.real_start_date = fastStart.date
|
|
|
+ }
|
|
|
+ if (!sleepStart) {
|
|
|
+ Taro.showToast({
|
|
|
+ icon: 'none',
|
|
|
+ title: '请选择开始睡眠时间'
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if (!sleepEnd) {
|
|
|
+ Taro.showToast({
|
|
|
+ icon: 'none',
|
|
|
+ title: '请选择结束睡眠时间'
|
|
|
+ })
|
|
|
+ return
|
|
|
}
|
|
|
- sleep.real_start_time = new Date().getTime() - 50 * 1000
|
|
|
- sleep.real_start_date = dayjs().format('YYYYMMDD')
|
|
|
- sleep.real_end_time = new Date().getTime()
|
|
|
- sleep.real_end_date = dayjs().format('YYYYMMDD')
|
|
|
+ sleep.real_start_time = sleepStart.time
|
|
|
+ sleep.real_start_date = sleepStart.date
|
|
|
+ sleep.real_end_time = sleepEnd.time
|
|
|
+ sleep.real_end_date = sleepEnd.date
|
|
|
break;
|
|
|
case 'end_fast':
|
|
|
if (props.status == 'WAIT_FOR_START') {
|
|
|
- fast.real_start_time = new Date().getTime() - 100 * 1000
|
|
|
- fast.real_start_date = dayjs().format('YYYYMMDD')
|
|
|
+ if (!fastStart) {
|
|
|
+ Taro.showToast({
|
|
|
+ icon: 'none',
|
|
|
+ title: '请选择开始断食时间'
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if (!sleepStart) {
|
|
|
+ Taro.showToast({
|
|
|
+ icon: 'none',
|
|
|
+ title: '请选择开始睡眠时间'
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ fast.real_start_time = fastStart.time
|
|
|
+ fast.real_start_date = fastStart.date
|
|
|
|
|
|
- sleep.real_start_time = new Date().getTime() - 50 * 1000
|
|
|
- sleep.real_start_date = dayjs().format('YYYYMMDD')
|
|
|
+ sleep.real_start_time = sleepStart.time
|
|
|
+ sleep.real_start_date = sleepStart.date
|
|
|
|
|
|
}
|
|
|
else if (props.status == 'ONGOING1') {
|
|
|
- sleep.real_start_time = new Date().getTime() - 50 * 1000
|
|
|
- sleep.real_start_date = dayjs().format('YYYYMMDD')
|
|
|
+ if (!sleepStart) {
|
|
|
+ Taro.showToast({
|
|
|
+ icon: 'none',
|
|
|
+ title: '请选择开始睡眠时间'
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ sleep.real_start_time = sleepStart.time
|
|
|
+ sleep.real_start_date = sleepStart.date
|
|
|
}
|
|
|
- sleep.real_end_time = new Date().getTime() - 20 * 1000
|
|
|
- sleep.real_end_date = dayjs().format('YYYYMMDD')
|
|
|
- fast.real_end_time = new Date().getTime()
|
|
|
- fast.real_end_date = dayjs().format('YYYYMMDD')
|
|
|
+ if (!sleepEnd) {
|
|
|
+ Taro.showToast({
|
|
|
+ icon: 'none',
|
|
|
+ title: '请选择结束睡眠时间'
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if (!fastEnd) {
|
|
|
+ Taro.showToast({
|
|
|
+ icon: 'none',
|
|
|
+ title: '请选择结束断食时间'
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ sleep.real_end_time = sleepEnd.time
|
|
|
+ sleep.real_end_date = sleepEnd.date
|
|
|
+ fast.real_end_time = fastEnd.time
|
|
|
+ fast.real_end_date = fastEnd.date
|
|
|
break;
|
|
|
}
|
|
|
batchClocks({
|
|
|
@@ -110,7 +182,7 @@ export default function IndexConsoleMuti(props: { status: string, event: string,
|
|
|
return <View className="new_item_cell" onClick={() => tapItem(0)}>
|
|
|
<Text className="new_item_cell_title">{t('feature.track_time_duration.common.start_fast')}</Text>
|
|
|
<View style={{ flex: 1 }} />
|
|
|
- <Text className="new_item_cell_desc">Pick Time</Text>
|
|
|
+ <Text className="new_item_cell_desc">{fastStart?TimeFormatter.dateTimeFormate(fastStart.time,true):'Pick Time'}</Text>
|
|
|
<Image className="cell_arrow" src={require('@/assets/images/arrow3.png')} />
|
|
|
</View>
|
|
|
}
|
|
|
@@ -119,7 +191,7 @@ export default function IndexConsoleMuti(props: { status: string, event: string,
|
|
|
return <View className="new_item_cell" onClick={() => tapItem(1)}>
|
|
|
<Text className="new_item_cell_title">{t('feature.track_time_duration.common.start_sleep')}</Text>
|
|
|
<View style={{ flex: 1 }} />
|
|
|
- <Text className="new_item_cell_desc">Pick Time</Text>
|
|
|
+ <Text className="new_item_cell_desc">{sleepStart?TimeFormatter.dateTimeFormate(sleepStart.time,true):'Pick Time'}</Text>
|
|
|
<Image className="cell_arrow" src={require('@/assets/images/arrow3.png')} />
|
|
|
</View>
|
|
|
}
|
|
|
@@ -128,7 +200,7 @@ export default function IndexConsoleMuti(props: { status: string, event: string,
|
|
|
return <View className="new_item_cell" onClick={() => tapItem(2)}>
|
|
|
<Text className="new_item_cell_title">{t('feature.track_time_duration.common.end_sleep')}</Text>
|
|
|
<View style={{ flex: 1 }} />
|
|
|
- <Text className="new_item_cell_desc">Pick Time</Text>
|
|
|
+ <Text className="new_item_cell_desc">{sleepEnd?TimeFormatter.dateTimeFormate(sleepEnd.time,true):'Pick Time'}</Text>
|
|
|
<Image className="cell_arrow" src={require('@/assets/images/arrow3.png')} />
|
|
|
</View>
|
|
|
}
|
|
|
@@ -137,7 +209,7 @@ export default function IndexConsoleMuti(props: { status: string, event: string,
|
|
|
return <View className="new_item_cell" onClick={() => tapItem(3)}>
|
|
|
<Text className="new_item_cell_title">{t('feature.track_time_duration.common.end_fast')}</Text>
|
|
|
<View style={{ flex: 1 }} />
|
|
|
- <Text className="new_item_cell_desc">Pick Time</Text>
|
|
|
+ <Text className="new_item_cell_desc">{fastEnd?TimeFormatter.dateTimeFormate(fastEnd.time,true):'Pick Time'}</Text>
|
|
|
<Image className="cell_arrow" src={require('@/assets/images/arrow3.png')} />
|
|
|
</View>
|
|
|
}
|
|
|
@@ -207,8 +279,32 @@ export default function IndexConsoleMuti(props: { status: string, event: string,
|
|
|
isLoading={false}
|
|
|
hidenEndTime={true}
|
|
|
onChange={(e) => {
|
|
|
-
|
|
|
+ setShowPicker(false)
|
|
|
global.pauseIndexTimer = false
|
|
|
+ if (operateType == 'startFast') {
|
|
|
+ setFastStart({
|
|
|
+ time: e,
|
|
|
+ date: dayjs(e).format('YYYYMMDD')
|
|
|
+ })
|
|
|
+ }
|
|
|
+ else if (operateType == 'endFast') {
|
|
|
+ setFastEnd({
|
|
|
+ time: e,
|
|
|
+ date: dayjs(e).format('YYYYMMDD')
|
|
|
+ })
|
|
|
+ }
|
|
|
+ else if (operateType == 'startSleep') {
|
|
|
+ setSleepStart({
|
|
|
+ time: e,
|
|
|
+ date: dayjs(e).format('YYYYMMDD')
|
|
|
+ })
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ setSleepEnd({
|
|
|
+ time: e,
|
|
|
+ date: dayjs(e).format('YYYYMMDD')
|
|
|
+ })
|
|
|
+ }
|
|
|
}}
|
|
|
/>
|
|
|
|