Commit ba68398e authored by 前端-黄佳鑫's avatar 前端-黄佳鑫
parents ccf85b8b 3b2feaf3
import { ISchema } from '@formily/antd'
import { FORM_FILTER_PATH } from '@/formSchema/const'
export const orderTypeLabel = ['',
'询价采购',
'需求采购',
......@@ -24,4 +27,58 @@ export enum SALE_ORDER_STATUS {
CONFIRM_DELIVE_GOODS_ORDER,
CONFIRM_RETURN_ORDER,
RETURN_DOCUMENT_ORDER
}
/**
* 除了订单必填字段, 默认
*/
export const tableListSchema: ISchema = {
type: 'object',
properties: {
orderNo: {
type: 'string',
"x-component": 'SearchFilter',
'x-component-props': {
placeholder: '请输入订单编号',
align: 'flex-end',
},
},
[FORM_FILTER_PATH]: {
type: 'object',
'x-component': 'flex-layout',
'x-component-props': {
inline: true,
colStyle: {
marginLeft: 20
}
},
properties: {
orderThe: {
type: 'string',
'x-component-props': {
placeholder: '请输入订单摘要',
}
},
"supplyMembersName": {
type: 'string',
"x-component-props": {
placeholder: '请输入供应会员名称'
}
},
"[startCreateTime,endCreateTime]": {
type: 'array',
"x-component": 'daterangepicker',
'x-component-props': {
placeholder: ['开始时间','结束时间'],
},
},
submit: {
'x-component': 'Submit',
'x-component-props': {
children: '查询',
},
},
},
},
}
}
\ No newline at end of file
import React, { useContext, useRef } from 'react'
import { Modal, Button } from 'antd'
import { Modal, Button, message } from 'antd'
import { createFormActions, ISchema } from '@formily/antd'
import ModalForm from '@/components/ModalForm'
import { history } from 'umi'
......@@ -120,6 +120,10 @@ const CreateOrderElectronModal:React.FC<OrderElectronModalProps> = (props) => {
const { run: submitRun, loading: submitLoading } = useHttpRequest(PublicApi.postOrderSubmittedReviewOrder)
const createElectron = async () => {
const contractTemplateId = schemaActions.getFieldValue('contractTemplateId')
if (!contractTemplateId) {
message.error('请先选择电子合同模板')
return ;
}
const orderNo = data.orderNo
const signMemberId = data.createMemberId
......
......@@ -162,19 +162,19 @@ const OrderDeleveRecord:React.FC<OrderDeleveRecordProps> = (props) => {
const { orderReceivingStatisticsResponses, orderDeliveryDetailsResponses } = data
const sideOrderCols: any[] = [
{
title: '货批次',
title: '货批次',
dataIndex: 'deliveryBatch',
align: 'center',
key: 'deliveryBatch'
},
{
title: '货单号',
title: '货单号',
dataIndex: 'deliveryNo',
align: 'center',
key: 'deliveryNo',
},
{
title: '货时间',
title: '货时间',
dataIndex: 'deliveryTime',
align: 'center',
key: 'deliveryTime',
......
......@@ -82,14 +82,18 @@ const warehouseColumns: any[] = [
const modalPriceActions = createFormActions()
// 总计金额联动框
export const MoneyTotalBox = ({ dataSource, isEditData }) => {
const { orderProductRequests = [], receiverAddressId } = dataSource || {}
const sum = orderProductRequests.reduce((prev, next) => prev + parseInt((next.price || 0)), 0)
const { orderProductRequests = [], receiverAddressId, freight, amount } = dataSource || {}
const sum = orderProductRequests.reduce((prev, next) => prev + parseInt((next.money || 0)), 0)
const modelRef = useRef<any>({})
const [freePrice, setFreePrice] = useState<number>(0)
const [freePrice, setFreePrice] = useState<number>(freight || 0)
const handleSetting = () => {
modelRef.current.setVisible(true)
}
// 总计金额
const amountMoney = amount || sum + freePrice
const handleConfirm = () => {
setFreePrice(parseInt(modalPriceActions.getFieldValue('freePrice') || 0))
modelRef.current.setVisible(false)
......@@ -126,7 +130,7 @@ export const MoneyTotalBox = ({ dataSource, isEditData }) => {
</Col>
<Col span={2}>
<div>总计金额</div>
<div>{sum + freePrice}</div>
<div>{amountMoney}</div>
</Col>
<ModalForm
modalTitle='设置运费'
......@@ -377,9 +381,9 @@ const SaleOrderProductTable:React.FC<OrderProductTableProps> = (props) => {
},
{
title: '金额',
dataIndex: 'price',
dataIndex: 'money',
align: 'center',
key: 'price',
key: 'money',
},
// 接口调用
{
......
......@@ -28,12 +28,12 @@ export const useSelfTable = () => {
}
},
{
title: '订单商品摘要/下单时间',
title: '订单摘要/下单时间',
align: 'center',
dataIndex: 'orderThe',
key: 'orderThe',
render: (text, record) => <>
<div>{record.productName}</div>
<div>{text}</div>
<div><FieldTimeOutlined />{formatTimeString(record.createTime)}</div>
</>,
width: 200
......
......@@ -4,6 +4,13 @@ import { StandardTable } from 'god'
import { PageHeaderWrapper } from '@ant-design/pro-layout'
import { PublicApi } from '@/services/api'
import { baseOrderListColumns } from './constant'
import { PurchaseOrderOutWorkState } from '@/constants'
import { history } from 'umi'
import { tableListSchema } from '../_public/order/constant'
import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilterSearch'
import { FORM_FILTER_PATH } from '@/formSchema/const'
import { DatePicker } from '@formily/antd-components'
import Submit from '@/components/NiceForm/components/Submit'
// 订单查询
......@@ -25,7 +32,7 @@ const PurchaseOrder: React.FC<PurchaseOrderProps> = (props) => {
}
const handleEvaluate = (id) => {
history.push(`/memberCenter/tranactionAbility/purchaserEvaluation/unevaluated`)
}
const secondColumns: any[] = baseOrderListColumns.concat([
......@@ -35,7 +42,7 @@ const PurchaseOrder: React.FC<PurchaseOrderProps> = (props) => {
dataIndex: 'ctl',
key: 'ctl',
render: (text, record) => <>
<Button type='link' onClick={() => handleEvaluate(record.id)}>评价</Button>
{ record.externalState === PurchaseOrderOutWorkState.FINISH_ORDER && <Button type='link' onClick={() => handleEvaluate(record.id)}>评价</Button> }
{/* todo */}
{/* <Button type='link' onClick={() => handleSaleAfter(record.id)}>售后</Button> */}
</>
......@@ -48,6 +55,37 @@ const PurchaseOrder: React.FC<PurchaseOrderProps> = (props) => {
<StandardTable
fetchTableData={params => fetchTableData(params)}
columns={secondColumns}
rowKey={'orderNo'}
formilyLayouts={{
justify: 'space-between'
}}
formilyChilds={{
layouts: {
order: 2
},
children: <Button style={{width: 140}} onClick={() => {}} type='default'>导出</Button>
}}
formilyProps={{
layouts: {
order: 3
},
ctx: {
inline: false,
schema: tableListSchema,
effects: ($, actions) => {
useStateFilterSearchLinkageEffect(
$,
actions,
'orderNo',
FORM_FILTER_PATH,
);
},
components: {
DateRangePicker: DatePicker.RangePicker,
Submit
}
}
}}
/>
</Card>
</PageHeaderWrapper>
......
......@@ -137,10 +137,15 @@ const ProductModalTable:React.FC<ProductModalTableProps> = (props) => {
}, [])
const handleConfirmProduct = async () => {
const productData = schemaAction.getFieldValue('orderProductRequests')
schemaAction.setFieldValue('orderProductRequests', await filterProductDataById(productData, rowSelectionCtl.selectRow))
confirmModal && confirmModal()
setVisible(false)
// 判断所选择的商品是否属于同一个工作流
const { code, data } = await PublicApi.postOrderIsWorkFlow({productIds: rowSelectionCtl.selectedRowKeys}, { ctlType: 'none' })
if (code === 1000) {
const productData = schemaAction.getFieldValue('orderProductRequests')
schemaAction.setFieldValue('orderProductRequests', await filterProductDataById(productData, rowSelectionCtl.selectRow))
confirmModal && confirmModal()
setVisible(false)
}
}
const fetchProductList = (values) => {
......
......@@ -44,7 +44,7 @@ export const useProductTable = (ctx: ISchemaFormActions | ISchemaFormAsyncAction
productInfoColumns[productInfoColumns.length - 1].render = (text, record) => {
return <>
<Button type='link' onClick={() => handleDelete(record)}>删除</Button>
<Button type='link'>选择合并订单</Button>
{/* <Button type='link'>选择合并订单</Button> */}
</>
}
} else {
......
......@@ -68,12 +68,12 @@ export const useSelfTable = () => {
}
},
{
title: '订单商品摘要/下单时间',
title: '订单摘要/下单时间',
align: 'center',
dataIndex: 'orderThe',
key: 'orderThe',
render: (text, record) => <>
<div>{record.productName}</div>
<div>{text}</div>
<div><FieldTimeOutlined />{formatTimeString(record.createTime)}</div>
</>,
width: 200
......
......@@ -39,12 +39,12 @@ export const useSelfTable = () => {
}
},
{
title: '订单商品摘要/下单时间',
title: '订单摘要/下单时间',
align: 'center',
dataIndex: 'orderThe',
key: 'orderThe',
render: (text, record) => <>
<div>{record.productName}</div>
<div>{text}</div>
<div><FieldTimeOutlined />{formatTimeString(record.createTime)}</div>
</>,
width: 200
......
......@@ -39,12 +39,12 @@ export const useSelfTable = () => {
}
},
{
title: '订单商品摘要/下单时间',
title: '订单摘要/下单时间',
align: 'center',
dataIndex: 'orderThe',
key: 'orderThe',
render: (text, record) => <>
<div>{record.productName}</div>
<div>{text}</div>
<div><FieldTimeOutlined />{formatTimeString(record.createTime)}</div>
</>,
width: 200
......
......@@ -4,6 +4,13 @@ import { StandardTable } from 'god'
import { PageHeaderWrapper } from '@ant-design/pro-layout'
import { PublicApi } from '@/services/api'
import { baseOrderListColumns } from './constant'
import { history } from 'umi'
import { PurchaseOrderInsideWorkState, PurchaseOrderOutWorkState } from '@/constants'
import { tableListSchema } from '../_public/order/constant'
import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilterSearch'
import { FORM_FILTER_PATH } from '@/formSchema/const'
import { DatePicker } from '@formily/antd-components'
import Submit from '@/components/NiceForm/components/Submit'
// 销售订单查询
......@@ -25,7 +32,7 @@ const SaleOrder: React.FC<SaleOrderProps> = (props) => {
}
const handleEvaluate = (id) => {
history.push(`/memberCenter/tranactionAbility/supplierEvaluation/unevaluated`)
}
const secondColumns: any[] = baseOrderListColumns.concat([
......@@ -35,7 +42,7 @@ const SaleOrder: React.FC<SaleOrderProps> = (props) => {
dataIndex: 'ctl',
key: 'ctl',
render: (text, record) => <>
<Button type='link' onClick={() => handleEvaluate(record.id)}>评价</Button>
{ record.externalState === PurchaseOrderOutWorkState.FINISH_ORDER && <Button type='link' onClick={() => handleEvaluate(record.id)}>评价</Button> }
{/* todo */}
{/* <Button type='link' onClick={() => handleSaleAfter(record.id)}>售后</Button> */}
</>
......@@ -47,6 +54,37 @@ const SaleOrder: React.FC<SaleOrderProps> = (props) => {
<StandardTable
fetchTableData={params => fetchTableData(params)}
columns={secondColumns}
rowKey={'orderNo'}
formilyLayouts={{
justify: 'space-between'
}}
formilyChilds={{
layouts: {
order: 2
},
children: <Button style={{width: 140}} onClick={() => {}} type='default'>导出</Button>
}}
formilyProps={{
layouts: {
order: 3
},
ctx: {
inline: false,
schema: tableListSchema,
effects: ($, actions) => {
useStateFilterSearchLinkageEffect(
$,
actions,
'orderNo',
FORM_FILTER_PATH,
);
},
components: {
DateRangePicker: DatePicker.RangePicker,
Submit
}
}
}}
/>
</Card>
</PageHeaderWrapper>
......
......@@ -29,12 +29,12 @@ export const useSelfTable = () => {
}
},
{
title: '订单商品摘要/下单时间',
title: '订单摘要/下单时间',
align: 'center',
dataIndex: 'orderThe',
key: 'orderThe',
render: (text, record) => <>
<div>{record.productName}</div>
<div>{text}</div>
<div><FieldTimeOutlined />{formatTimeString(record.createTime)}</div>
</>,
width: 200
......
......@@ -39,12 +39,12 @@ export const useSelfTable = () => {
}
},
{
title: '订单商品摘要/下单时间',
title: '订单摘要/下单时间',
align: 'center',
dataIndex: 'orderThe',
key: 'orderThe',
render: (text, record) => <>
<div>{record.productName}</div>
<div>{text}</div>
<div><FieldTimeOutlined />{formatTimeString(record.createTime)}</div>
</>,
width: 200
......
......@@ -39,12 +39,12 @@ export const useSelfTable = () => {
}
},
{
title: '订单商品摘要/下单时间',
title: '订单摘要/下单时间',
align: 'center',
dataIndex: 'orderThe',
key: 'orderThe',
render: (text, record) => <>
<div>{record.productName}</div>
<div>{text}</div>
<div><FieldTimeOutlined />{formatTimeString(record.createTime)}</div>
</>,
width: 200
......
......@@ -69,12 +69,12 @@ export const useSelfTable = () => {
}
},
{
title: '订单商品摘要/下单时间',
title: '订单摘要/下单时间',
align: 'center',
dataIndex: 'orderThe',
key: 'orderThe',
render: (text, record) => <>
<div>{record.productName}</div>
<div>{text}</div>
<div><FieldTimeOutlined />{formatTimeString(record.createTime)}</div>
</>,
width: 200
......
......@@ -49,7 +49,7 @@ const orderColumns: any[] = [
dataIndex: 'orderNo',
},
{
title: '订单商品摘要',
title: '订单摘要',
align: 'center',
dataIndex: 'orderThe',
},
......
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