|
|
|
@@ -50,6 +50,7 @@ const DSOverview: React.FC<Props> = ({ type, defaultInputs }) => { |
|
|
|
>([]); |
|
|
|
const { t } = useTranslation("schedule"); |
|
|
|
const { setIsUploading } = useUploadContext(); |
|
|
|
const today = dayjs().format("YYYY-MM-DD"); |
|
|
|
|
|
|
|
const router = useRouter(); |
|
|
|
// const [filterObj, setFilterObj] = useState({}); |
|
|
|
@@ -58,7 +59,10 @@ const DSOverview: React.FC<Props> = ({ type, defaultInputs }) => { |
|
|
|
defaultPagingController, |
|
|
|
); |
|
|
|
const [totalCount, setTotalCount] = useState(0); |
|
|
|
const [inputs, setInputs] = useState(defaultInputs); |
|
|
|
const [inputs, setInputs] = useState({ |
|
|
|
...defaultInputs, |
|
|
|
produceAt: dayjs().format("YYYY-MM-DD"), |
|
|
|
}); |
|
|
|
const typeOptions = [ |
|
|
|
{ |
|
|
|
value: "detailed", |
|
|
|
@@ -78,7 +82,7 @@ const DSOverview: React.FC<Props> = ({ type, defaultInputs }) => { |
|
|
|
// paramName: "schedulePeriod", |
|
|
|
// type: "dateRange", |
|
|
|
// }, |
|
|
|
{ label: t("Production Date"), paramName: "produceAt", type: "date" }, |
|
|
|
{ label: t("Production Date"), paramName: "produceAt", type: "date", defaultValue: dayjs().format("YYYY-MM-DD") }, |
|
|
|
//{ |
|
|
|
// label: t("Product Count"), |
|
|
|
// paramName: "totalEstProdCount", |
|
|
|
@@ -182,15 +186,6 @@ const DSOverview: React.FC<Props> = ({ type, defaultInputs }) => { |
|
|
|
produceAt: dayjs(query?.produceAt).isValid() |
|
|
|
? query?.produceAt |
|
|
|
: undefined, |
|
|
|
//schedulePeriod: dayjs(query?.schedulePeriod).isValid() |
|
|
|
// ? query?.schedulePeriod |
|
|
|
// : undefined, |
|
|
|
//schedulePeriodTo: dayjs(query?.schedulePeriodTo).isValid() |
|
|
|
// ? query?.schedulePeriodTo |
|
|
|
// : undefined, |
|
|
|
//totalEstProdCount: query?.totalEstProdCount |
|
|
|
// ? Number(query?.totalEstProdCount) |
|
|
|
// : undefined, |
|
|
|
types: convertedTypes, |
|
|
|
pageNum: pagingController.pageNum - 1, |
|
|
|
pageSize: pagingController.pageSize, |
|
|
|
@@ -221,77 +216,24 @@ const DSOverview: React.FC<Props> = ({ type, defaultInputs }) => { |
|
|
|
refetchData(inputs, "paging"); |
|
|
|
}, [pagingController]); |
|
|
|
|
|
|
|
// useEffect(() => { |
|
|
|
// refetchData(filterObj); |
|
|
|
|
|
|
|
// }, [filterObj, pagingController.pageNum, pagingController.pageSize]); |
|
|
|
|
|
|
|
// const refetchData = async (filterObj: SearchQuery | null) => { |
|
|
|
|
|
|
|
// const authHeader = axiosInstance.defaults.headers['Authorization']; |
|
|
|
// if (!authHeader) { |
|
|
|
// return; // Exit the function if the token is not set |
|
|
|
// } |
|
|
|
|
|
|
|
// const params = { |
|
|
|
// pageNum: pagingController.pageNum, |
|
|
|
// pageSize: pagingController.pageSize, |
|
|
|
// ...filterObj, |
|
|
|
// ...tempSelectedValue, |
|
|
|
// } |
|
|
|
|
|
|
|
// try { |
|
|
|
// const response = await axiosInstance.get<ItemsResult[]>(`${NEXT_PUBLIC_API_URL}/items/getRecordByPage`, { |
|
|
|
// params, |
|
|
|
// paramsSerializer: (params) => { |
|
|
|
// return Qs.stringify(params, { arrayFormat: 'repeat' }); |
|
|
|
// }, |
|
|
|
// }); |
|
|
|
// //setFilteredItems(response.data.records); |
|
|
|
// setFilteredItems([ |
|
|
|
// { |
|
|
|
// id: 1, |
|
|
|
// scheduledPeriod: "2025-05-11 to 2025-05-17", |
|
|
|
// scheduledAt: "2025-05-07", |
|
|
|
// productCount: 13, |
|
|
|
// }, |
|
|
|
// { |
|
|
|
// id: 2, |
|
|
|
// scheduledPeriod: "2025-05-18 to 2025-05-24", |
|
|
|
// scheduledAt: "2025-05-14", |
|
|
|
// productCount: 15, |
|
|
|
// }, |
|
|
|
// { |
|
|
|
// id: 3, |
|
|
|
// scheduledPeriod: "2025-05-25 to 2025-05-31", |
|
|
|
// scheduledAt: "2025-05-21", |
|
|
|
// productCount: 13, |
|
|
|
// }, |
|
|
|
// ]) |
|
|
|
// setPagingController({ |
|
|
|
// ...pagingController, |
|
|
|
// totalCount: response.data.total |
|
|
|
// }) |
|
|
|
// return response; // Return the data from the response |
|
|
|
// } catch (error) { |
|
|
|
// console.error('Error fetching items:', error); |
|
|
|
// throw error; // Rethrow the error for further handling |
|
|
|
// } |
|
|
|
// }; |
|
|
|
|
|
|
|
const onReset = useCallback(() => { |
|
|
|
//setFilteredItems(items ?? []); |
|
|
|
// setFilterObj({}); |
|
|
|
// setTempSelectedValue({}); |
|
|
|
refetchData(defaultInputs, "reset"); |
|
|
|
}, []); |
|
|
|
|
|
|
|
const resetWithToday = { |
|
|
|
...defaultInputs, |
|
|
|
produceAt: dayjs().format("YYYY-MM-DD"), |
|
|
|
}; |
|
|
|
setInputs(resetWithToday); // Update state |
|
|
|
refetchData(resetWithToday, "reset"); // Fetch data |
|
|
|
}, [defaultInputs, refetchData]); |
|
|
|
|
|
|
|
const testDetailedScheduleClick = useCallback(async () => { |
|
|
|
try { |
|
|
|
setIsUploading(true) |
|
|
|
const response = await testDetailedSchedule(inputs.scheduleAt) |
|
|
|
if (response) { |
|
|
|
refetchData(inputs, "paging"); |
|
|
|
//refetchData(inputs, "paging"); |
|
|
|
setPagingController(prev => ({ ...prev, pageNum: 1 })); |
|
|
|
refetchData(inputs, "search"); |
|
|
|
} |
|
|
|
} catch(e) { |
|
|
|
console.log(e) |
|
|
|
@@ -394,14 +336,14 @@ const DSOverview: React.FC<Props> = ({ type, defaultInputs }) => { |
|
|
|
<SearchBox |
|
|
|
criteria={searchCriteria} |
|
|
|
onSearch={(query) => { |
|
|
|
setInputs(() => ({ |
|
|
|
scheduleAt: query?.scheduleAt, |
|
|
|
schedulePeriod: query?.schedulePeriod, |
|
|
|
schedulePeriodTo: query?.schedulePeriodTo, |
|
|
|
const updatedInputs = { |
|
|
|
...inputs, |
|
|
|
produceAt: query?.produceAt, // Ensure this matches paramName in searchCriteria |
|
|
|
totalEstProdCount: Number(query?.totalEstProdCount), |
|
|
|
types: query.types as unknown as ScheduleType[], |
|
|
|
})); |
|
|
|
refetchData(query, "search"); |
|
|
|
}; |
|
|
|
setInputs(updatedInputs); |
|
|
|
refetchData(updatedInputs, "search"); |
|
|
|
}} |
|
|
|
onReset={onReset} |
|
|
|
/> |
|
|
|
|