Commit 5cd7092a authored by 何洋's avatar 何洋

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

parent 3bbad666
......@@ -115,6 +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)
let timerSignature = null
useEffect(() => {
......@@ -327,8 +328,12 @@ const PurchaseOrderDetail:React.FC<PurchaseOrderDetailProps> = (props) => {
// 选择某种类型时, 需显示对应的订单类型
ctx.setFieldValue('type', orderTypeLabelMap[value])
addSchemaAction.setFieldState('products', productState => {
productState.value = [] // 切换下单模式时,清空“订单物料”原有数据
productState.props["x-component-props"] = {
...productState.props["x-component-props"],
columns: value === OrderModalType.PURCHASE_REQUISITION_ORDER
? materialColumnsByRequisition
: materialColumns,
prefix: editable && pageStatus === PageStatus.ADD ? materialAddButton : '',
}
})
......@@ -354,6 +359,7 @@ const PurchaseOrderDetail:React.FC<PurchaseOrderDetailProps> = (props) => {
expressionScope={{
orderContract,
materialColumns,
materialColumnsByRequisition,
materialAddButton,
materialComponents,
orderCombination,
......
import React, { useRef, useState } from 'react'
import { ISchemaFormActions, ISchemaFormAsyncActions } from '@formily/antd';
import { Button, message } from 'antd';
import { materialInfoColumns } from '../constant';
import { materialInfoColumns, materialInfoColumnsByRequisition } from '../constant';
import MaterialTableCell, { MaterialEditableRow } from '../components/materialTableCell';
import { useModalTable } from './useModalTable';
import { usePageStatus, PageStatus } from '@/hooks/usePageStatus';
import { useIntl } from 'umi';
let orderMode = null;
import { OrderModalType } from '@/constants/order';
// 对象按key排序(运用于商城传过来的阶梯价格排序)
export const sortByKey = (params) => {
......@@ -27,13 +26,11 @@ export const getUnitPriceTotal = (record) => {
/**
* @param ctx schemaAction
*/
export const useMaterialTable = (ctx: ISchemaFormActions | ISchemaFormAsyncActions) => {
export const useMaterialTable = (ctx: ISchemaFormActions | ISchemaFormAsyncActions, orderMode = ctx.getFieldValue('orderMode')) => {
const materialRef = useRef<any>({})
const intl = useIntl()
const { visible, setVisible, rowSelection, rowSelectionCtl } = useModalTable({type: 'checkbox'})
orderMode = ctx.getFieldValue('orderMode')
const handleDelete = (record) => {
const newData = [...ctx.getFieldValue('products')]
// 删除formvalue
......@@ -50,7 +47,11 @@ export const useMaterialTable = (ctx: ISchemaFormActions | ISchemaFormAsyncActio
const [materialColumns, setMaterialColumns] = useState(() => {
const { pageStatus } = usePageStatus()
const tempColumn = [...materialInfoColumns]
const tempColumn = [...(
orderMode === OrderModalType.PURCHASE_REQUISITION_ORDER
? materialInfoColumnsByRequisition
: materialInfoColumns
)]
if (pageStatus === PageStatus.ADD) {
// 渲染操作
tempColumn[tempColumn.length - 1].render = (text, record) => <Button type='link' onClick={() => handleDelete(record)}>{intl.formatMessage({id: 'purchaseOrder.delete'})}</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