import showAlert from "@/components/basic/Alert"; import { getThemeColor } from "@/features/health/hooks/health_hooks"; import { rpxToPx } from "@/utils/tools"; import { View, Text } from "@tarojs/components"; import { AtSwipeAction } from "taro-ui"; import StatusIndicator, { StatusType } from "../base/status_indicator"; import { MainColorType } from "@/context/themes/color"; import { IconError, IconNotificationOff } from "@/components/basic/Icons"; import { useState } from "react"; import NewModal from "../base/new_modal"; import Card from "./card"; import NewTimePicker from "../base/new_timepicker"; import './schedule_item.scss' export default function ScheduleItem(props: { key: any, obj: any, highlight?: boolean, disable?: boolean, gray?:boolean, days?:string, showLine: boolean, errors: any, selMode: any, onDelete?:Function, onChange?: Function }) { const [showTimePicker, setShowTimePicker] = useState(false) const [time, setTime] = useState(props.obj.time) function itemStyle(obj) { if (obj.is_conflict) { return { // backgroundColor: '#FF00001A', // color: '#FF0000' backgroundColor: '#B2B2B21A', color: '#000', borderWidth: 2, borderColor: '#FF0000', borderStyle: 'solid' } } if (props.errors.length > 0) { return { backgroundColor: '#B2B2B21A', color: '#000' } } return { backgroundColor: obj.window == props.selMode ? getThemeColor(props.selMode) + '1A' : '#B2B2B21A', color: obj.window == props.selMode ? getThemeColor(props.selMode) : '#000' } } return { if (props.obj.window == 'ACTIVE' || props.obj.window == 'EAT') { // if (item.list.length == 1) { // Taro.showToast({ // title: '至少保留一项', // icon: 'none' // }) // return; // } } showAlert({ title: '删除', content: '确认删除此计划', showCancel: true, cancel: () => { console.log('cancel') }, confirm: () => { if (props.onDelete){ props.onDelete() } // delItem(index, i) } }) }} > { props.obj.is_conflict && } { props.days && {props.days} } { !props.obj.is_all_day && !props.obj.reminder && } { !props.disable&&!props.obj.is_all_day && { // setSelIndex(i) // setSelItem(obj) setTime(props.obj.time) setShowTimePicker(true) // if (props.onClick) // props.onClick() }} style={itemStyle(props.obj)}>{props.obj.time} } { props.disable && {props.obj.time} } { props.showLine && } { showTimePicker && { setShowTimePicker(false) }} confirm={() => { setShowTimePicker(false) if (props.onChange) props.onChange(time) // props.onChange({ // time: time, // duration: minutes, // isYesterday: isYesterday // }) }} themeColor={getThemeColor(props.obj.window)}> {time} { setTime(e) }} /> } }