Untitled
const updateParameters = (values = []) => { const valuesMap = Array.isArray(values) ? values.reduce((acc, { name, value }) => { acc[name[0]] = value || "" return acc }, {}) : {} const NCC_ID = valuesMap["NCC_ID"] || "" const Nam_SX = valuesMap["Nam_SX"] || "" const Nuoc_SX = valuesMap["Nuoc_SX"] || "" const Nhan_Hieu = valuesMap["Nhan_Hieu"] || "" const Nguon_Goc_TS = valuesMap["Nguon_Goc_TS"] || "" const Ly_Do_Tang = valuesMap["Ly_Do_Tang"] || "" const Muc_Dich_Giao = valuesMap["Muc_Dich_Giao"] || "" const Hien_Trang_SD = valuesMap["Hien_Trang_SD"] || "" const Hien_Trang_SD_Nha_Dat = valuesMap["Hien_Trang_SD_Nha_Dat"] || "" const Loai_TS = valuesMap["Loai_TS"] || "" const Truong_ID = valuesMap["Truong_ID"] || "" const Ngay_Filter = valuesMap["Ngay_Filter"] || [] const keyword = valuesMap["keyword"] || "" const Bien_Kiem_Soat = valuesMap["Bien_Kiem_Soat"] || "" const So_May = valuesMap["So_May"] || "" const So_Khung = valuesMap["So_Khung"] || "" const So_Cho_Ngoi = valuesMap["So_Cho_Ngoi"] || "" const Tai_Trong = valuesMap["Tai_Trong"] || "" const formatAddress = { Tinh_Thanh: getIncludes(valuesMap, "Tinh_Thanh"), Quan_Huyen: getIncludes(valuesMap, "Quan_Huyen"), Phuong_Xa: getIncludes(valuesMap, "Phuong_Xa"), } const fields = ["Nguon_NS", "Quy", "Nguon_Khac", "Nguon_Vien_Tro", "Nguon_Du_An", "Tong"] const initialValues = fields.reduce((acc, field) => { acc[field] = valuesMap[field] || "" acc[`${field}_select`] = valuesMap[`${field}_select`] || "" return acc }, {}) const formattedParamsNumber = fields.reduce((acc, field) => { const value = initialValues[field] const selectValue = initialValues[`${field}_select`] acc[field] = value ? (selectValue ? formatSelect(selectValue, field) : formatRadio(value, field)) : "" return acc }, {}) const formattedGiaTri = fields.reduce((acc, field) => { acc[`${field}_Tu`] = formattedParamsNumber[field]?.[`${field}_Tu`] || "" acc[`${field}_Den`] = formattedParamsNumber[field]?.[`${field}_Den`] || "" return acc }, {}) const formattedParams = { Nam_SX: formatDate(Nam_SX), Nguon_Goc_TS: formatArray(Nguon_Goc_TS), Ly_Do_Tang: formatArray(Ly_Do_Tang), Muc_Dich_Giao: formatArray(Muc_Dich_Giao), Hien_Trang_SD: formatArray(Hien_Trang_SD), Hien_Trang_SD_Nha_Dat: formatArray(Hien_Trang_SD_Nha_Dat), Nhan_Hieu: formatArray(Nhan_Hieu), Nuoc_SX: formatArray(Nuoc_SX), NCC_ID: formatArray(NCC_ID), Loai_TS: formatArray(Loai_TS.value), } const [Ngay_HD_From, Ngay_HD_To] = Ngay_Filter ? Ngay_Filter.map((date) => formatDate(date)) : ["", ""] const newParams = { ...parameters, ...formattedParams, ...formattedGiaTri, ...formatAddress, keyword, Bien_Kiem_Soat, So_May, So_Khung, So_Cho_Ngoi, Tai_Trong, Truong_ID, Ngay_HD_From, Ngay_HD_To, } const debounceValue = keyword || Bien_Kiem_Soat || So_May || So_Khung || So_Cho_Ngoi || Tai_Trong || Tai_Trong if (debounceValue) { debounceSearch(newParams, setParameters) } else { setParameters({ ...newParams }) } }
Leave a Comment