diff --git a/nl-ui/nl-ui-admin-vben/yudao-ui-admin-vben/apps/web-antdv-next/src/views/base/materialbase/components/MaterialSelectModal.vue b/nl-ui/nl-ui-admin-vben/yudao-ui-admin-vben/apps/web-antdv-next/src/views/base/materialbase/components/MaterialSelectModal.vue index f9a86181..55a937bb 100644 --- a/nl-ui/nl-ui-admin-vben/yudao-ui-admin-vben/apps/web-antdv-next/src/views/base/materialbase/components/MaterialSelectModal.vue +++ b/nl-ui/nl-ui-admin-vben/yudao-ui-admin-vben/apps/web-antdv-next/src/views/base/materialbase/components/MaterialSelectModal.vue @@ -72,6 +72,7 @@ const [Grid, gridApi] = useVbenVxeGrid({ gridOptions: { columns: [{ type: 'radio', width: 40 }, ...baseColumns], height: 'auto', + maxHeight: '500px', keepSource: true, proxyConfig: { ajax: { diff --git a/nl-ui/nl-ui-admin-vben/yudao-ui-admin-vben/apps/web-antdv-next/src/views/wms/storagevehicleext/modules/form.vue b/nl-ui/nl-ui-admin-vben/yudao-ui-admin-vben/apps/web-antdv-next/src/views/wms/storagevehicleext/modules/form.vue index 11755020..ece1de3c 100644 --- a/nl-ui/nl-ui-admin-vben/yudao-ui-admin-vben/apps/web-antdv-next/src/views/wms/storagevehicleext/modules/form.vue +++ b/nl-ui/nl-ui-admin-vben/yudao-ui-admin-vben/apps/web-antdv-next/src/views/wms/storagevehicleext/modules/form.vue @@ -13,6 +13,7 @@ import { $t } from '#/locales'; import { useFormSchema } from '../data'; import MaterialSelectModalComponent from '../../../base/materialbase/components/MaterialSelectModal.vue'; +import StorageVehicleSelectModalComponent from '../../storagevehicleinfo/components/StorageVehicleSelectModal.vue'; const emit = defineEmits(['success']); const formData = ref(); @@ -43,7 +44,29 @@ function handleMaterialSelect(rows: any[]) { } } -// 覆盖物料名称字段:只读,点击弹出选择窗 +/** 载具信息选择弹窗 */ +const [StorageVehicleSelectModal, storageVehicleSelectModalApi] = useVbenModal({ + connectedComponent: StorageVehicleSelectModalComponent, +}); + +function openStorageVehicleSelect() { + storageVehicleSelectModalApi.setData({ multiple: false }).open(); +} + +function handleStorageVehicleSelect(rows: any[]) { + if (rows.length > 0) { + const row = rows[0]; + const currentValues = formApi.getValues(); + formApi.setValues({ + ...currentValues, + storageVehicleId: row.storageVehicleId, + storageVehicleCode: row.storageVehicleCode, + storageVehicleType: row.storageVehicleType, + }); + } +} + +// 覆盖物料名称和载具编码字段:只读,点击弹出选择窗 const schema = useFormSchema().map((field) => { if (field.fieldName === 'materialName') { return { @@ -54,6 +77,17 @@ const schema = useFormSchema().map((field) => { }, }; } + if (field.fieldName === 'storageVehicleCode') { + return { + ...field, + componentProps: { + ...field.componentProps, + readonly: true, + style: 'cursor: pointer', + onClick: openStorageVehicleSelect, + }, + }; + } return field; }); @@ -115,5 +149,6 @@ const [Modal, modalApi] = useVbenModal({
+ diff --git a/nl-ui/nl-ui-admin-vben/yudao-ui-admin-vben/apps/web-antdv-next/src/views/wms/storagevehicleinfo/components/StorageVehicleSelectModal.vue b/nl-ui/nl-ui-admin-vben/yudao-ui-admin-vben/apps/web-antdv-next/src/views/wms/storagevehicleinfo/components/StorageVehicleSelectModal.vue new file mode 100644 index 00000000..44a7e586 --- /dev/null +++ b/nl-ui/nl-ui-admin-vben/yudao-ui-admin-vben/apps/web-antdv-next/src/views/wms/storagevehicleinfo/components/StorageVehicleSelectModal.vue @@ -0,0 +1,112 @@ + + +