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('')