Commit 754977ee authored by 何洋's avatar 何洋

feat: 新增合同采购订单静态

parent 4b49e7cb
......@@ -5,7 +5,7 @@ import { useModalTable } from '../../model/useModalTable'
import { ISchemaFormActions, ISchemaFormAsyncActions } from '@formily/antd'
import { requisitionColumns } from '../../constant'
import { OrderModalType } from '@/constants/order'
import { getContractManagePageCompleteList } from '@/services/ContractV2Api'
import { getOrderBuyerFindRequisition } from '@/services/OrderNewV2Api'
import { useIntl } from 'umi'
export interface ContractModalTableProps extends ModalTableProps {
......@@ -22,12 +22,24 @@ const RequisitionModalTable:React.FC<ContractModalTableProps> = (props) => {
const { visible, setVisible, rowSelection, rowSelectionCtl } = useModalTable({ type })
const intl = useIntl()
const [currentMaterial, setCurrentMaterial] = useState<any>()
const fetchTableData = async (params) => {
if (currentMaterial) {
// return await getOrderBuyerFindRequisition({
// ...params,
// productId: currentMaterial.id,
// }, {useCache: true, ttl: 10 * 1000}).data
}
}
useEffect(() => {
if (currentRef) {
currentRef.current = {
setVisible,
visible,
rowSelectionCtl
rowSelectionCtl,
setCurrentMaterial
}
}
}, [])
......@@ -37,16 +49,16 @@ const RequisitionModalTable:React.FC<ContractModalTableProps> = (props) => {
modalTitle={ '关联请购单' }
columns={requisitionColumns}
visible={visible}
fetchTableData={ () => {} }
cancel={() => setVisible(false)}
fetchTableData={fetchTableData}
rowSelection={rowSelection}
modalType='contractByDefault'
searchName="contractNo"
tableProps={{
rowKey: 'id',
rowKey: 'requisitionId',
scroll: { x: true }
}}
resetModal={{
destroyOnClose: true,
footer: null
}}
{...restProps}
/>
......
......@@ -463,9 +463,9 @@ export const materialInfoColumnsByRequisition: any[] = [
export const requisitionColumns: any[] = [
{
title: 'ID',
dataIndex: 'id',
dataIndex: 'requisitionId',
align: 'center',
key: 'id',
key: 'requisitionId',
className: 'commonHide'
},
]
......@@ -115,7 +115,7 @@ const PurchaseOrderDetail:React.FC<PurchaseOrderDetailProps> = (props) => {
// 订单物料
const { materialAddButton, materialRef, materialColumns, materialComponents, ...surplusProps } = useMaterialTable(addSchemaAction)
const { materialColumns: materialColumnsByRequisition } = useMaterialTable(addSchemaAction, OrderModalType.PURCHASE_REQUISITION_ORDER)
const { materialColumns: materialColumnsByRequisition } = useMaterialTable(addSchemaAction, OrderModalType.PURCHASE_REQUISITION_ORDER, requisitionRef)
let timerSignature = null
useEffect(() => {
......
......@@ -26,7 +26,7 @@ export const getUnitPriceTotal = (record) => {
/**
* @param ctx schemaAction
*/
export const useMaterialTable = (ctx: ISchemaFormActions | ISchemaFormAsyncActions, orderMode = ctx.getFieldValue('orderMode')) => {
export const useMaterialTable = (ctx: ISchemaFormActions | ISchemaFormAsyncActions, orderMode = ctx.getFieldValue('orderMode'), requisitionRef?: React.MutableRefObject<any>) => {
const materialRef = useRef<any>({})
const intl = useIntl()
const { visible, setVisible, rowSelection, rowSelectionCtl } = useModalTable({type: 'checkbox'})
......@@ -63,7 +63,12 @@ export const useMaterialTable = (ctx: ISchemaFormActions | ISchemaFormAsyncActio
tempColumn[associatedIndex].render = (text, record) => (
<Button
type="link"
onClick={ () => alert(JSON.stringify(record)) }
onClick={ () => {
if (requisitionRef) {
requisitionRef.current.setCurrentMaterial(record)
requisitionRef.current.setVisible(true)
}
} }
>
关联请购单
</Button>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment