diff --git a/src/views/products/Detail.jsx b/src/views/products/Detail.jsx index cdba40f..ab11608 100644 --- a/src/views/products/Detail.jsx +++ b/src/views/products/Detail.jsx @@ -18,23 +18,15 @@ function Detail() { const navigate = useNavigate(); const { travel_agency_id, audit_state, use_year } = useParams(); const [addProductVisible, setAddProductVisible] = useState(false); - const [agencyProducts, loading] = useProductsStore((state) => [state.agencyProducts, state.loading]); + const [agencyProducts, loading, switchParams] = useProductsStore((state) => [state.agencyProducts, state.loading, state.switchParams]); const [getAgencyProducts, activeAgency] = useProductsStore((state) => [state.getAgencyProducts, state.activeAgency]); - const [setSwitchParams] = useProductsStore((state) => [state.setSwitchParams]); - const yearOptions = []; - const currentYear = dayjs().year(); - const baseYear = Number(use_year === 'all' ? currentYear : use_year); - for (let i = baseYear - 3; i <= baseYear + 3; i++) { - yearOptions.push({ label: i, value: i }); - } const { travelAgencyId } = usingStorage(); const handleGetAgencyProducts = ({ pick_year, pick_agency, pick_state } = {}) => { - const year = pick_year || use_year || dayjs().year(); + const year = pick_year || use_year || switchParams.use_year || dayjs().year(); const agency = pick_agency || travel_agency_id || travelAgencyId; const state = pick_state ?? audit_state; const param = { travel_agency_id: agency, use_year: year, audit_state: state }; - setSwitchParams(param); // setEditingProduct({}); getAgencyProducts(param); }; diff --git a/src/views/products/Detail/Header.jsx b/src/views/products/Detail/Header.jsx index 9a2ba12..fd87d6d 100644 --- a/src/views/products/Detail/Header.jsx +++ b/src/views/products/Detail/Header.jsx @@ -4,7 +4,7 @@ import { App, Button, Divider, Select } from 'antd'; import { useProductsAuditStatesMapVal } from '@/hooks/useProductsSets'; import { useTranslation } from 'react-i18next'; import useProductsStore, { postProductsQuoteAuditAction, postAgencyAuditAction } from '@/stores/Products/Index'; -import { isEmpty } from '@/utils/commons'; +import { isEmpty, objectMapper } from '@/utils/commons'; import useAuthStore from '@/stores/Auth'; import RequireAuth from '@/components/RequireAuth'; // import PrintContractPDF from './PrintContractPDF'; @@ -21,13 +21,13 @@ const Header = ({ refresh, newActionable, ...props }) => { const { t } = useTranslation(); const isPermitted = useAuthStore((state) => state.isPermitted); const [activeAgency, setActiveAgency] = useProductsStore((state) => [state.activeAgency, state.setActiveAgency]); - const [switchParams] = useProductsStore((state) => [state.switchParams]); + const [switchParams, setSwitchParams] = useProductsStore((state) => [state.switchParams, state.setSwitchParams]); const stateMapVal = useProductsAuditStatesMapVal(); const { message, notification } = App.useApp(); const navigate = useNavigate(); const yearOptions = []; - const currentYear = dayjs().year(); + const currentYear = switchParams.use_year || dayjs().year(); const baseYear = use_year ? Number(use_year === 'all' ? currentYear : use_year) : currentYear; for (let i = currentYear - 5; i <= baseYear + 5; i++) { yearOptions.push({ label: i, value: i }); @@ -38,6 +38,8 @@ const Header = ({ refresh, newActionable, ...props }) => { const [pickAgency, setPickAgency] = useState({ value: activeAgency.travel_agency_id, label: activeAgency.travel_agency_name }); const [pickAuditState, setPickAuditState] = useState(); useEffect(() => { + const _param = objectMapper(param, { pick_year: 'use_year', pick_agency: 'travel_agency_id', pick_state: 'audit_state' }) + setSwitchParams({ ..._param }); refresh(param); return () => {}; diff --git a/src/views/products/Detail/NewProductModal.jsx b/src/views/products/Detail/NewProductModal.jsx index 406ea9e..09ed31e 100644 --- a/src/views/products/Detail/NewProductModal.jsx +++ b/src/views/products/Detail/NewProductModal.jsx @@ -58,7 +58,7 @@ export const NewProductModal = ({ source, action = '#' | 'o', open, onSubmit, on const { t } = useTranslation(); const [formInstance, setFormInstance] = useState(); const [setEditingProduct] = useProductsStore((state) => [state.setEditingProduct]); - const [switchParams, setSwitchParams] = useProductsStore((state) => [state.switchParams, state.setSwitchParams]); + const [switchParams] = useProductsStore((state) => [state.switchParams]); const [copyLoading, setCopyLoading] = useState(false); const productsTypesMapVal = useProductsTypesMapVal();