| | |
| | | |
| | | export type TonBagOption = PalletOption; |
| | | |
| | | /** 托盘、吨袋下拉的交互事件(支持搜索与滚动分段加载) */ |
| | | export interface BindingSelectHandlers { |
| | | onChange?: (ids: number[]) => void; |
| | | onPopupScroll?: (event: Event) => void; |
| | | onSearch?: (keyword: string) => void; |
| | | } |
| | | |
| | | /** 新增/修改的表单 */ |
| | | export function useFormSchema( |
| | | formType: FormType, |
| | | palletOptions: PalletOption[] = [], |
| | | onPalletChange?: (ids: number[]) => void, |
| | | palletHandlers: BindingSelectHandlers = {}, |
| | | tonBagOptions: TonBagOption[] = [], |
| | | onTonBagChange?: (ids: number[]) => void, |
| | | tonBagHandlers: BindingSelectHandlers = {}, |
| | | existingBinding?: 'pallet' | 'tonBag', |
| | | ): VbenFormSchema[] { |
| | | const disabled = formType === 'detail'; |
| | |
| | | mode: 'multiple', |
| | | optionFilterProp: 'label', |
| | | options: palletOptions, |
| | | onChange: onPalletChange, |
| | | filterOption: false, |
| | | ...palletHandlers, |
| | | placeholder: '请选择相同品种的托盘', |
| | | showSearch: true, |
| | | }, |
| | |
| | | mode: 'multiple', |
| | | optionFilterProp: 'label', |
| | | options: tonBagOptions, |
| | | onChange: onTonBagChange, |
| | | filterOption: false, |
| | | ...tonBagHandlers, |
| | | placeholder: '请选择相同品种的吨袋', |
| | | showSearch: true, |
| | | }, |