From 62bdf48b635da1f913086d3e357c4db8052ca78f Mon Sep 17 00:00:00 2001 From: zlwu <704541015@qq.com> Date: Thu, 20 Aug 2026 12:11:54 +0800 Subject: [PATCH] feat(pl): frontend API for plan contract gaps Co-authored-by: Cursor --- web-admin/src/api/pl/index.ts | 42 ++++++++++++++++++++++++++++++----- 1 file changed, 36 insertions(+), 6 deletions(-) diff --git a/web-admin/src/api/pl/index.ts b/web-admin/src/api/pl/index.ts index 8eddb9c7b..e6874a8a9 100644 --- a/web-admin/src/api/pl/index.ts +++ b/web-admin/src/api/pl/index.ts @@ -425,11 +425,6 @@ export interface PlanProduct { remark?: string } -export interface PlanContractLink { - contractId: string - contractNo?: string -} - export interface Plan { id: string planNo: string @@ -659,6 +654,33 @@ export interface PlanSiteFeedbackUpdateBody { siteFeedbackTime?: string | null } +export interface PlanContractGapItem { + id: string + planNo: string + planDate?: string + followStatus: string + supplierId?: string + supplierName?: string + customerId?: string + customerName?: string + gapSides: Array<'supplier' | 'demander'> + supplierContractExempt: boolean + demanderContractExempt: boolean + supplierContracts: PlanContractLink[] + demanderContracts: PlanContractLink[] +} + +export interface PlanContractGapQuery { + page?: number + pageSize?: number + planNo?: string + gapType?: 'supplier' | 'demander' | 'both' | '' + customerKeyword?: string + planDateFrom?: string + planDateTo?: string + q?: string +} + export const planApi = { list: (params?: PlanQuery) => request.get('/transport/plan/', { params }), get: (id: string) => request.get(`/transport/plan/${id}`), @@ -713,7 +735,15 @@ export const planApi = { saveSubpackSlipTemplate: (id: string, slipTemplateContent: string) => request.put(`/transport/plan/${id}/subpack-slip-template`, { slipTemplateContent }), ensureSubpackSlipNo: (id: string) => - request.post(`/transport/plan/${id}/subpack-slip-no`) + request.post(`/transport/plan/${id}/subpack-slip-no`), + listContractGaps: (params?: PlanContractGapQuery) => + request.get>('/transport/plan/contract-gaps', { params }), + updateSideContracts: ( + id: string, + side: 'supplier' | 'demander', + contracts: PlanContractLink[] + ) => + request.put(`/transport/plan/${id}/contracts/${side}`, { contracts }) } // =============================================================================