From 8d00e6783cd7cddd175b5ee2cda90ca2e1a69113 Mon Sep 17 00:00:00 2001 From: dxc Date: Tue, 10 Feb 2026 15:10:55 +0800 Subject: [PATCH] feat: add provider autocomplete to service form Co-authored-by: aider (openai/DeepSeek-V3.2-Thinking) --- .../src/views/stock/inbound/service.vue | 35 +++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/inventory-web/src/views/stock/inbound/service.vue b/inventory-web/src/views/stock/inbound/service.vue index 0542b36..a0dccdc 100644 --- a/inventory-web/src/views/stock/inbound/service.vue +++ b/inventory-web/src/views/stock/inbound/service.vue @@ -161,9 +161,14 @@ /> - @@ -199,6 +204,8 @@ import { updateService, deleteService, searchMaterialBase, + getProviderSuggestions, + getUserSuggestions, type ServiceItem, type ServiceQueryParams, type ServiceCreateRequest, @@ -305,6 +312,30 @@ const onMaterialSelected = (val: number) => { } } +// 服务商建议 +const fetchProviderSuggestions = async (query: string, cb: any) => { + if (!form.base_id) { + cb([]) + return + } + try { + const res: any = await getProviderSuggestions({ base_id: form.base_id }) + if (res.code === 200) { + const providers = res.data.map((name: string) => ({ value: name })) + const filtered = query ? providers.filter((item: any) => item.value.toLowerCase().includes(query.toLowerCase())) : providers + cb(filtered) + } else { + cb([]) + } + } catch (e) { + cb([]) + } +} +const querySearchProvider = (qs: string, cb: any) => fetchProviderSuggestions(qs, cb) +const handleProviderSelect = (item: any) => { + form.provider_name = item.value +} + // 弹窗相关 const dialogVisible = ref(false) const dialogTitle = ref('')