import React, { useState, useEffect } from "react"; import { View, Text, Button } from "@tarojs/components"; import Taro, { useDidShow } from "@tarojs/taro"; import dayjs from 'dayjs' import "./index.scss"; import { DialogCalendarCard } from "@/components/index"; // import { CalendarUI } from "@/components"; const DownloadBill: React.FC = () => { const [dateRange, setDateRange] = useState({ start: "", end: "" }); const [dateType, setDateType] = useState("week"); const [visible, setVisible] = useState(false); useEffect(() => { culculateDateRange(dateType); }, []); const culculateDateRange = (dateType: string) => { const today = new Date(); const year = today.getFullYear(); const month = today.getMonth(); const day = today.getDate(); if (dateType === "week") { today.setDate(day - 6); } else if (dateType === "month") { today.setMonth(month - 1); today.setDate(day + 1); } const startYear = today.getFullYear(); const startMonth = today.getMonth(); const startDay = today.getDate(); setDateRange({ start: `${startYear}-${String(startMonth + 1).padStart(2, "0")}-${String( startDay ).padStart(2, "0")}`, end: `${year}-${String(month + 1).padStart(2, "0")}-${String( day ).padStart(2, "0")}`, }); }; const selectDateRange = (range: string) => { switch (range) { case "week": setDateType("week"); culculateDateRange("week"); break; case "month": setDateType("month"); culculateDateRange("month"); break; case "custom": setDateType("custom"); setDateRange({ start: "", end: "" }); setVisible(true); break; } }; const [currentTimeValue, setCurrentTimeValue] = useState(new Date()); const handleConfirm = (val: Date[]) => { setCurrentTimeValue(val); const [start, end] = val; setDateRange({ start: dayjs(start).format("YYYY-MM-DD"), end: dayjs(end).format("YYYY-MM-DD"), }); }; return ( 最长可导出三个月的账单 示例文件 接收方式 小程序消息 交易类型 全部 账单时间 { selectDateRange("week"); }} > 近一周 { selectDateRange("month"); }} > 近一月 { selectDateRange("custom"); }} > 自定义时间 {dateRange.start && dateRange.end && ( {dateRange.start}{dateRange.end} )} Taro.navigateTo({ url: "/user_pages/downloadBillRecords/index" }) } > 下载记录 {visible && ( setVisible(false)} /> )} ); }; export default DownloadBill;