ERPTurbo_Admin/packages/app-operation/src/components/Order/PurchaseOrderFormItem.tsx
shenyifei 01521fc8c5 feat(order): 新增采购单相关组件及功能
- 新增 PurchaseOrderFormItem、PurchaseOrderModal 等采购单表单项组件
- 在 OrderCostList 和 OrderSupplierList 中集成采购单选择功能
- 新增 OrderRebateList 返利列表组件
- 实现采购单数据的展示与选择逻辑
- 添加采购单相关的搜索和筛选字段
- 支持采购单详情查看及关联数据显示
- 优化订单成本列表的创建表单结构
- 增加表格行选择和批量操作功能
- 完善采购单状态标签显示及样式处理
2025-12-17 18:03:22 +08:00

63 lines
1.7 KiB
TypeScript

import PurchaseOrderModal from '@/components/Order/PurchaseOrderModal';
import { ProFormSelect } from '@ant-design/pro-components';
import { ProFieldFCRenderProps } from '@ant-design/pro-provider';
import { useState } from 'react';
export interface IPurchaseOrderFormItemProps
extends Omit<ProFieldFCRenderProps, 'value' | 'onChange'> {
value?: BusinessAPI.PurchaseOrderVO['orderId'];
onChange?: (value?: BusinessAPI.PurchaseOrderVO['orderId']) => void;
}
export default function PurchaseOrderFormItem(
props: IPurchaseOrderFormItemProps,
) {
const { value, onChange } = props;
const [showPurchaseOrderModal, setShowPurchaseOrderModal] =
useState<boolean>(false);
const [purchaseOrderList, setPurchaseOrderList] =
useState<(BusinessAPI.PurchaseOrderVO | undefined)[]>();
return (
<>
<ProFormSelect
fieldProps={{
open: false,
onClear: () => {
onChange?.(undefined);
},
onClick: () => {
setShowPurchaseOrderModal(true);
},
value: value,
placeholder: '请选择采购单',
options: purchaseOrderList?.map(
(dealerVO?: BusinessAPI.PurchaseOrderVO) => {
return {
value: dealerVO?.orderId,
label: `${dealerVO?.orderSn}`,
};
},
),
}}
/>
<PurchaseOrderModal
title={'选择采购单'}
open={showPurchaseOrderModal}
onOk={() => setShowPurchaseOrderModal(false)}
onCancel={() => setShowPurchaseOrderModal(false)}
onFinish={async (purchaseOrderVOList) => {
if (purchaseOrderVOList.length > 0) {
const purchaseOrderVO = purchaseOrderVOList[0];
onChange?.(purchaseOrderVO?.orderId);
setPurchaseOrderList(purchaseOrderVOList);
setShowPurchaseOrderModal(false);
}
}}
type={'radio'}
/>
</>
);
}