产品管理: header

perf/export-docx
Lei OT 11 months ago
parent c03a8fd1fe
commit 98329e9876

@ -18,23 +18,15 @@ function Detail() {
const navigate = useNavigate(); const navigate = useNavigate();
const { travel_agency_id, audit_state, use_year } = useParams(); const { travel_agency_id, audit_state, use_year } = useParams();
const [addProductVisible, setAddProductVisible] = useState(false); 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 [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 { travelAgencyId } = usingStorage();
const handleGetAgencyProducts = ({ pick_year, pick_agency, pick_state } = {}) => { 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 agency = pick_agency || travel_agency_id || travelAgencyId;
const state = pick_state ?? audit_state; const state = pick_state ?? audit_state;
const param = { travel_agency_id: agency, use_year: year, audit_state: state }; const param = { travel_agency_id: agency, use_year: year, audit_state: state };
setSwitchParams(param);
// setEditingProduct({}); // setEditingProduct({});
getAgencyProducts(param); getAgencyProducts(param);
}; };

@ -4,7 +4,7 @@ import { App, Button, Divider, Select } from 'antd';
import { useProductsAuditStatesMapVal } from '@/hooks/useProductsSets'; import { useProductsAuditStatesMapVal } from '@/hooks/useProductsSets';
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
import useProductsStore, { postProductsQuoteAuditAction, postAgencyAuditAction } from '@/stores/Products/Index'; 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 useAuthStore from '@/stores/Auth';
import RequireAuth from '@/components/RequireAuth'; import RequireAuth from '@/components/RequireAuth';
// import PrintContractPDF from './PrintContractPDF'; // import PrintContractPDF from './PrintContractPDF';
@ -21,13 +21,13 @@ const Header = ({ refresh, newActionable, ...props }) => {
const { t } = useTranslation(); const { t } = useTranslation();
const isPermitted = useAuthStore((state) => state.isPermitted); const isPermitted = useAuthStore((state) => state.isPermitted);
const [activeAgency, setActiveAgency] = useProductsStore((state) => [state.activeAgency, state.setActiveAgency]); 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 stateMapVal = useProductsAuditStatesMapVal();
const { message, notification } = App.useApp(); const { message, notification } = App.useApp();
const navigate = useNavigate(); const navigate = useNavigate();
const yearOptions = []; 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; const baseYear = use_year ? Number(use_year === 'all' ? currentYear : use_year) : currentYear;
for (let i = currentYear - 5; i <= baseYear + 5; i++) { for (let i = currentYear - 5; i <= baseYear + 5; i++) {
yearOptions.push({ label: i, value: 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 [pickAgency, setPickAgency] = useState({ value: activeAgency.travel_agency_id, label: activeAgency.travel_agency_name });
const [pickAuditState, setPickAuditState] = useState(); const [pickAuditState, setPickAuditState] = useState();
useEffect(() => { useEffect(() => {
const _param = objectMapper(param, { pick_year: 'use_year', pick_agency: 'travel_agency_id', pick_state: 'audit_state' })
setSwitchParams({ ..._param });
refresh(param); refresh(param);
return () => {}; return () => {};

@ -58,7 +58,7 @@ export const NewProductModal = ({ source, action = '#' | 'o', open, onSubmit, on
const { t } = useTranslation(); const { t } = useTranslation();
const [formInstance, setFormInstance] = useState(); const [formInstance, setFormInstance] = useState();
const [setEditingProduct] = useProductsStore((state) => [state.setEditingProduct]); 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 [copyLoading, setCopyLoading] = useState(false);
const productsTypesMapVal = useProductsTypesMapVal(); const productsTypesMapVal = useProductsTypesMapVal();

Loading…
Cancel
Save