From e425674dc35d75ec846bce36138652fddb633cde Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期四, 15 二月 2024 22:15:21 +0800
Subject: [PATCH] #

---
 zy-asrs-flow/src/components/TableSearch/index.jsx |   37 ++++++++++++++++++++++++-------------
 1 files changed, 24 insertions(+), 13 deletions(-)

diff --git a/zy-asrs-flow/src/components/TableSearch/index.jsx b/zy-asrs-flow/src/components/TableSearch/index.jsx
index f43e07e..f91197d 100644
--- a/zy-asrs-flow/src/components/TableSearch/index.jsx
+++ b/zy-asrs-flow/src/components/TableSearch/index.jsx
@@ -106,6 +106,7 @@
 }
 
 const DatetimeRangeFilter = (props) => {
+    const [dates, setDates] = React.useState([null, null]);
     const [startDate, setStartDate] = React.useState(null);
     const [endDate, setEndDate] = React.useState(null);
 
@@ -115,21 +116,35 @@
                 <Space direction="vertical" size={12}>
                     <DatePicker.RangePicker
                         showTime
-                        onChange={dates => {
-                            setStartDate(dates[0]?.toISOString());
-                            setEndDate(dates[1]?.toISOString());
+                        value={dates}
+                        onChange={changeDates => {
+                            setDates(changeDates);
+                            if (changeDates && changeDates[0] && changeDates[1]) {
+                                const changeStartStr = changeDates[0]?.toISOString()
+                                setStartDate(changeStartStr);
+                                const changeEndStr = changeDates[1]?.toISOString()
+                                setEndDate(changeEndStr);
+                                props.setSelectedKeys([changeStartStr + '-' + changeEndStr]);
+                            }
                         }}
                     />
                     <Space>
                         <Button
                             type="primary"
                             onClick={() => {
-                                console.log(startDate, endDate);
                                 props.confirm();
-                                props.setSearchParam(prevState => ({
-                                    ...prevState,
-                                    [props.name]: [startDate, endDate]
-                                }));
+                                if (!dates[0] && !dates[1]) {
+                                    props.setSearchParam(prevState => {
+                                        const nextState = { ...prevState };
+                                        delete nextState[props.name + 'Range'];
+                                        return nextState;
+                                    });
+                                } else {
+                                    props.setSearchParam(prevState => ({
+                                        ...prevState,
+                                        [props.name + 'Range']: [startDate, endDate]
+                                    }));
+                                }
                                 props.actionRef.current?.reload();
                             }}
                             size="small"
@@ -138,14 +153,10 @@
                         </Button>
                         <Button
                             onClick={() => {
+                                setDates([null, null]);
                                 setStartDate(null);
                                 setEndDate(null);
                                 props.setSelectedKeys([]);
-                                props.setSearchParam(prevState => {
-                                    const nextState = { ...prevState };
-                                    delete nextState[props.name];
-                                    return nextState;
-                                });
                                 props.clearFilters();
                             }}
                             size="small"

--
Gitblit v1.9.1