diff --git a/src/pages/pms/entity.ts b/src/pages/pms/entity.ts index aed7196..66150d7 100644 --- a/src/pages/pms/entity.ts +++ b/src/pages/pms/entity.ts @@ -201,3 +201,20 @@ export const typeSenderObj: {[key: string]: string} = { '调出锁定': '', '': '', }; + +export function getUrl(url: string, obj: object): string { + if (!Object.keys(obj).length) { + return url; + } + const pa: string[] = []; + for (let k in obj) { + if (obj[k]) { + pa.push(`${k}=${obj[k]}`); + } + } + const st = pa.join("&"); + if (st) { + return `${url}?${st}`; + } + return ''; +} diff --git a/src/pages/pms/partPlan/PlanPool/components/Filter.tsx b/src/pages/pms/partPlan/PlanPool/components/Filter.tsx index c2384ae..74f5021 100644 --- a/src/pages/pms/partPlan/PlanPool/components/Filter.tsx +++ b/src/pages/pms/partPlan/PlanPool/components/Filter.tsx @@ -1,8 +1,8 @@ -import React from 'react'; +import React, { useEffect, useState } from 'react'; import { Input } from 'antd'; import { useStore } from '../index'; import debounce from 'lodash/debounce'; -import {planPoolTypeData} from '@/pages/pms/entity'; +import { planPoolTypeData, getUrl } from '@/pages/pms/entity'; import usePagination from "@/hooks/usePagination"; import {getStoragePage} from "@/pages/pms/storage/StorageManage/api"; import useInitail from "@/hooks/useInitail"; @@ -15,13 +15,18 @@ export default function Filter() { const { list: storages } = usePagination(getStoragePage, {pageSize: 1000}); const { data: shops } = useInitail(api.getShopApi, [], {}); const { dfParams, setDfParams, partTypeData } = useStore(); + const [url, setUrl] = useState('/api/pms/erp/plan/pool/export'); + + useEffect(() => { + setUrl(getUrl('/api/pms/erp/plan/pool/export', dfParams)); + }, [dfParams]); const handleChangeKeywords = debounce((value: string) => { setDfParams({ ...dfParams, current: 1, keywords: value }); }, 500); return ( -
+
handleChangeKeywords(v)} /> + + 导出计划池表格 +
); }