FPSMS-frontend
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 

60 строки
1.7 KiB

  1. import type { PoWorkbenchAdvancedFilters } from "@/components/PoWorkbench/types";
  2. import { trimString } from "@/components/PoWorkbench/search/workbenchUtils";
  3. /** Rows per request; keeps the results list DOM small until the user scrolls. */
  4. export const PO_WORKBENCH_LIST_PAGE_SIZE = 50;
  5. /**
  6. * Builds GET /po/list query params for the PO Workbench.
  7. * Same contract as the legacy Po search screen (CriteriaArgsBuilder on the server).
  8. */
  9. export function buildWorkbenchPoListSearchParams(
  10. poNumber: string,
  11. advanced: PoWorkbenchAdvancedFilters,
  12. pageNum: number,
  13. pageSize: number,
  14. ): URLSearchParams {
  15. const params = new URLSearchParams();
  16. params.set("pageNum", String(pageNum));
  17. params.set("pageSize", String(pageSize));
  18. const code = trimString(poNumber);
  19. if (code) {
  20. params.set("code", code);
  21. }
  22. const supplier = trimString(advanced.supplierQuery);
  23. if (supplier) {
  24. params.set("supplier", supplier);
  25. }
  26. const orderDateFrom = trimString(advanced.orderDateFrom);
  27. if (orderDateFrom) {
  28. params.set("orderDate", orderDateFrom);
  29. }
  30. const orderDateTo = trimString(advanced.orderDateTo);
  31. if (orderDateTo) {
  32. params.set("orderDateTo", orderDateTo);
  33. }
  34. const etaDateFrom = trimString(advanced.etaDateFrom);
  35. if (etaDateFrom) {
  36. params.set("estimatedArrivalDate", etaDateFrom);
  37. }
  38. const etaDateTo = trimString(advanced.etaDateTo);
  39. if (etaDateTo) {
  40. params.set("estimatedArrivalDateTo", etaDateTo);
  41. }
  42. if (advanced.reportStatus === "ESCALATED") {
  43. params.set("escalated", "true");
  44. } else if (advanced.reportStatus === "NOT_ESCALATED") {
  45. params.set("escalated", "false");
  46. }
  47. if (advanced.receiveStatus !== "ALL") {
  48. params.set("status", advanced.receiveStatus);
  49. }
  50. return params;
  51. }