Commit 72e89563 authored by Gavin Peng's avatar Gavin Peng

feat: 送货单

parent 248ce0d7
/**
* 订单能力 -- 送货单
* @author: Gavin
*/
const DeliveryNoticed = [
{
path: '/memberCenter/order/deliveryNoticed',
name: '送货单',
routes: [
{
/** 送货单管理SRM*/
path: '/memberCenter/order/deliveryNoticed/manageSRM',
name: '送货单管理(SRM)',
component: '@/pages/order/deliveryNoticed/manageSRM'
},
{
/** 送货单管理详情SRM*/
path: '/memberCenter/order/deliveryNoticed/manageSRM/details',
name: '送货单管理详情(SRM)',
component: '@/pages/order/deliveryNoticed/manageSRM/details',
hideInMenu: true,
},
{
/** 送货单管理B2B*/
path: '/memberCenter/order/deliveryNoticed/manageB2B',
name: '送货单管理(B2B)',
component: '@/pages/order/deliveryNoticed/manageB2B'
},
{
/** 送货单管理详情B2B*/
path: '/memberCenter/order/deliveryNoticed/manageB2B/details',
name: '送货单管理详情(B2B)',
component: '@/pages/order/deliveryNoticed/manageB2B/details',
hideInMenu: true,
},
{
/** 收货单查询*/
path: '/memberCenter/order/deliveryNoticed/receivingNoteQuery',
name: '收货单查询',
component: '@/pages/order/deliveryNoticed/receivingNoteQuery'
},
{
/** 收货单详情*/
path: '/memberCenter/order/deliveryNoticed/receivingNoteQuery/details',
name: '收货单详情',
component: '@/pages/order/deliveryNoticed/receivingNoteQuery/details',
hideInMenu: true,
},
]
}
]
export default DeliveryNoticed
\ No newline at end of file
......@@ -6,6 +6,7 @@
import DeliveryPlanManagement from './deliveryPlanManagement'
import DeliveryNoticeManagement from './deliveryNoticeManagement'
import DeliveryNoticeCollaboration from './deliveryNoticeCollaboration'
import DeliveryNoticed from './deliveryNotice'
const OrderRoute = {
path: "/memberCenter/order",
......@@ -20,6 +21,8 @@ const OrderRoute = {
...DeliveryNoticeManagement,
// 送货通知单协同
...DeliveryNoticeCollaboration,
// 送货单
...DeliveryNoticed,
]
}
......
/**
* 订单能力 - 送货通知单协同 - 待确定送货通知单
* @author: Gavin
* @description: deliveryNoticeAwait
* @description:
*/
import React, { useRef, useState } from 'react'
import { PageHeaderWrapper } from '@ant-design/pro-layout'
......@@ -16,7 +16,7 @@
import { FORM_FILTER_PATH } from '@/formSchema/const'
import { deliveryNoticeCollaborationAwaitSchema } from './schema'
const tagStatusColor = {
const tagStatusColor = {
// 待提交
2: { color: '#f4f5f7', fontColor: '#5c626a' },
// 待确认
......
/**
* 订单能力 - 送货单 - 送货单管理详情SRM
* @author: Gavin
* @description: 与B2B内容大致相同,文件分开方便后续对接以及日后变动修改二开
*/
import React, { useState } from 'react'
import { PageHeaderWrapper } from '@ant-design/pro-layout'
import { history } from 'umi'
import ReutrnEle from '@/components/ReturnEle'
const DeliveryNoticedManageSRMDetails: React.FC = () => {
const [details, setDetails] = useState<any>({})
return (
<PageHeaderWrapper
title={details?.name}
onBack={() => history.goBack()}
backIcon={<ReutrnEle />}
>
<div>送货单 - 送货单管理详情SRM</div>
</PageHeaderWrapper>
)
}
export default DeliveryNoticedManageSRMDetails
\ No newline at end of file
/**
* 订单能力 - 送货单 - 送货单管理B2B
* @author: Gavin
* @description: 与SRM内容大致相同,文件分开方便后续对接以及日后变动修改二开
*/
import React, { useRef, useState } from 'react'
import { PageHeaderWrapper } from '@ant-design/pro-layout'
import { Button, Card, Space, Tag } from 'antd'
import { PlusOutlined } from '@ant-design/icons'
import StandardTable from '@/components/StandardTable'
import { ColumnType } from 'antd/lib/table'
import TableOperation from '@/components/TableOperation'
import EyePreview from '@/components/EyePreview'
import NiceForm from '@/components/NiceForm'
import { createFormActions } from '@formily/antd'
import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilterSearch'
import { FORM_FILTER_PATH } from '@/formSchema/const'
import { deliveryNoticedManageB2BSchema } from './schema'
const tagStatusColor = {
// 待提交
2: { color: '#f4f5f7', fontColor: '#5c626a' },
// 待确认
3: { color: '#ecf2fe', fontColor: '#4787f0' },
// 待修订
4: { color: '#eae6ff', fontColor: '#9963d8' },
// 已确认
5: { color: '#ebf9f6', fontColor: '#00a98f' },
// 已生产送货单
6: { color: '#f0f5ff', fontColor: '#f0f5ff' },
// 已作废
7: { color: '#fff2f0', fontColor: '#ff4d4f' },
}
const DeliveryNoticedManageB2B: React.FC = () => {
const ref = useRef<any>({})
const formActions = createFormActions()
const controllerBtns = (<Space>
<Button type='primary' icon={<PlusOutlined/>}>新增</Button>
</Space>)
const renderOptionButton = (record: any) => {
const btnAuthOfOperationTextMap = {
'修改': 'DevTest',
'作废': 'DevTest',
'查看': 'DevTest',
}
const buttonGroup = {
'修改': true,
'作废': true,
'查看': true,
}
const operationHandler = {
'修改': () => { console.log('修改 :>> ',) },
'作废': () => { console.log('作废 :>> ',) },
'查看': () => { console.log('查看 :>> ',) },
}
return (
<TableOperation
buttonTextFieldMap={buttonGroup}
operationHandler={operationHandler}
buttonPermissionsMap={btnAuthOfOperationTextMap}
/>
)
}
const columns: ColumnType<unknown>[] = [
{
title: '送货单号',
dataIndex: 'id',
key: 'id',
width: 160,
render: (text: unknown, record: unknown) => <EyePreview url='/memberCenter/order/deliveryNoticed/manageB2B/details'>{text}</EyePreview>
},
{ title: '送货单摘要', dataIndex: 'id2', key: 'id2' },
{ title: '送货日期', dataIndex: 'id3', key: 'id3' },
{ title: '采购会员', dataIndex: 'id5', key: 'id5' },
{ title: '单据时间', dataIndex: 'id4', key: 'id4' },
{
title: '外部状态',
dataIndex: 'id6',
key: 'id6',
render: (text: string, record: any) => (
<Tag color={tagStatusColor[record.id]?.color}>
<span style={{ color: tagStatusColor[record.id]?.fontColor }}>{text}</span>
</Tag>
)
},
{
title: '操作',
dataIndex: '',
key: 'x',
align: 'center',
render: (record) => renderOptionButton(record)
},
]
const fetchData = (params: unknown) => {
console.log('params :>> ', params);
return new Promise((resolve) => {
const data = {
totalCount: 1, data: [
{ id: 1, id2: 2, id3: 3, id4: 4, id5: 5, id6: 6 },
{ id: 2, id2: 3, id3: 4, id4: 5, id5: 6, id6: 7 },
{ id: 3, id2: 3, id3: 4, id4: 5, id5: 6, id6: 7 },
{ id: 4, id2: 3, id3: 4, id4: 5, id5: 6, id6: 7 },
{ id: 5, id2: 3, id3: 4, id4: 5, id5: 6, id6: 7 },
{ id: 6, id2: 3, id3: 4, id4: 5, id5: 6, id6: 7 },
{ id: 7, id2: 3, id3: 4, id4: 5, id5: 6, id6: 7 },
{ id: 8, id2: 3, id3: 4, id4: 5, id5: 6, id6: 7 },
]
}
resolve(data)
})
}
return (
<PageHeaderWrapper>
<Card>
<StandardTable
// keepAlive={false}
currentRef={ref}
columns={columns}
tableProps={{ rowKey: 'id', }}
fetchTableData={(params: unknown) => fetchData(params)}
controlRender={
<NiceForm
actions={formActions}
onSubmit={values => ref.current.reload(values)}
expressionScope={{
controllerBtns,
}}
effects={($, actions) => {
useStateFilterSearchLinkageEffect(
$,
actions,
'planCode',
FORM_FILTER_PATH,
)
}}
schema={deliveryNoticedManageB2BSchema}
/>
}
/>
</Card>
</PageHeaderWrapper>
)
}
export default DeliveryNoticedManageB2B
\ No newline at end of file
/**
* 订单能力 -送货通知单协同 - 待确认送货通知单 - Schema
* @author: Gavin
*/
import { ISchema } from '@formily/antd'
import { FORM_FILTER_PATH } from '@/formSchema/const'
export const deliveryNoticedManageB2BSchema: ISchema = {
type: 'object',
properties: {
mageLayout: {
type: 'object',
'x-component': 'mega-layout',
properties: {
topLayout: {
type: 'object',
'x-component': 'mega-layout',
'x-component-props': {
grid: true,
},
properties: {
ctl: {
type: 'object',
'x-component': 'Children',
'x-component-props': {
children: '{{controllerBtns}}',
},
},
planCode: {
type: 'string',
'x-component': 'Search',
'x-component-props': {
allowClear: true,
placeholder: '请输入送货单号查询'
},
},
},
},
[FORM_FILTER_PATH]: {
type: 'object',
'x-component': 'flex-layout',
'x-component-props': {
rowStyle: {
flexWrap: 'nowrap',
},
colStyle: {
marginLeft: 20,
},
},
properties: {
abstract: {
type: 'string',
'x-component-props': {
allowClear: true,
placeholder: '通知单摘要'
}
},
'[startTime, endTime]': {
type: 'daterange',
'x-component-props': {
allowClear: true,
placeholder: ['送货开始日期', '送货结束日期'],
},
},
supplyMember: {
type: 'string',
'x-component-props': {
allowClear: true,
placeholder: '供应会员'
}
},
submit: {
'x-component': 'Submit',
'x-mega-props': {
span: 1,
},
'x-component-props': {
children: '查询',
},
},
}
}
}
}
}
}
\ No newline at end of file
/**
* 订单能力 - 送货单 - 送货单管理详情SRM
* @author: Gavin
* @description: 与B2B内容大致相同,文件分开方便后续对接以及日后变动修改二开
*/
import React, { useState } from 'react'
import { PageHeaderWrapper } from '@ant-design/pro-layout'
import { history } from 'umi'
import ReutrnEle from '@/components/ReturnEle'
const DeliveryNoticedManageSRMDetails: React.FC = () => {
const [details, setDetails] = useState<any>({})
return (
<PageHeaderWrapper
title={details?.name}
onBack={() => history.goBack()}
backIcon={<ReutrnEle />}
>
<div>送货单 - 送货单管理详情SRM</div>
</PageHeaderWrapper>
)
}
export default DeliveryNoticedManageSRMDetails
\ No newline at end of file
/**
* 订单能力 - 送货单 - 送货单管理SRM
* @author: Gavin
* @description: 与B2B内容大致相同,文件分开方便后续对接以及日后变动修改二开
*/
import React, { useRef, useState } from 'react'
import { PageHeaderWrapper } from '@ant-design/pro-layout'
import { Button, Card, Space, Tag } from 'antd'
import { PlusOutlined } from '@ant-design/icons'
import StandardTable from '@/components/StandardTable'
import { ColumnType } from 'antd/lib/table'
import TableOperation from '@/components/TableOperation'
import EyePreview from '@/components/EyePreview'
import NiceForm from '@/components/NiceForm'
import { createFormActions } from '@formily/antd'
import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilterSearch'
import { FORM_FILTER_PATH } from '@/formSchema/const'
import { deliveryNoticedManageSRMSchema } from './schema'
const tagStatusColor = {
// 待提交
2: { color: '#f4f5f7', fontColor: '#5c626a' },
// 待确认
3: { color: '#ecf2fe', fontColor: '#4787f0' },
// 待修订
4: { color: '#eae6ff', fontColor: '#9963d8' },
// 已确认
5: { color: '#ebf9f6', fontColor: '#00a98f' },
// 已生产送货单
6: { color: '#f0f5ff', fontColor: '#f0f5ff' },
// 已作废
7: { color: '#fff2f0', fontColor: '#ff4d4f' },
}
const DeliveryNoticedManageSRM: React.FC = () => {
const ref = useRef<any>({})
const formActions = createFormActions()
const controllerBtns = (<Space>
<Button type='primary' icon={<PlusOutlined/>}>新增</Button>
</Space>)
const renderOptionButton = (record: any) => {
const btnAuthOfOperationTextMap = {
'修改': 'DevTest',
'作废': 'DevTest',
'查看': 'DevTest',
}
const buttonGroup = {
'修改': true,
'作废': true,
'查看': true,
}
const operationHandler = {
'修改': () => { console.log('修改 :>> ',) },
'作废': () => { console.log('作废 :>> ',) },
'查看': () => { console.log('查看 :>> ',) },
}
return (
<TableOperation
buttonTextFieldMap={buttonGroup}
operationHandler={operationHandler}
buttonPermissionsMap={btnAuthOfOperationTextMap}
/>
)
}
const columns: ColumnType<unknown>[] = [
{
title: '送货单号',
dataIndex: 'id',
key: 'id',
width: 160,
render: (text: unknown, record: unknown) => <EyePreview url='/memberCenter/order/deliveryNoticed/manageSRM/details'>{text}</EyePreview>
},
{ title: '送货单摘要', dataIndex: 'id2', key: 'id2' },
{ title: '送货日期', dataIndex: 'id3', key: 'id3' },
{ title: '采购会员', dataIndex: 'id5', key: 'id5' },
{ title: '单据时间', dataIndex: 'id4', key: 'id4' },
{
title: '外部状态',
dataIndex: 'id6',
key: 'id6',
render: (text: string, record: any) => (
<Tag color={tagStatusColor[record.id]?.color}>
<span style={{ color: tagStatusColor[record.id]?.fontColor }}>{text}</span>
</Tag>
)
},
{
title: '操作',
dataIndex: '',
key: 'x',
align: 'center',
render: (record) => renderOptionButton(record)
},
]
const fetchData = (params: unknown) => {
console.log('params :>> ', params);
return new Promise((resolve) => {
const data = {
totalCount: 1, data: [
{ id: 1, id2: 2, id3: 3, id4: 4, id5: 5, id6: 6 },
{ id: 2, id2: 3, id3: 4, id4: 5, id5: 6, id6: 7 },
{ id: 3, id2: 3, id3: 4, id4: 5, id5: 6, id6: 7 },
{ id: 4, id2: 3, id3: 4, id4: 5, id5: 6, id6: 7 },
{ id: 5, id2: 3, id3: 4, id4: 5, id5: 6, id6: 7 },
{ id: 6, id2: 3, id3: 4, id4: 5, id5: 6, id6: 7 },
{ id: 7, id2: 3, id3: 4, id4: 5, id5: 6, id6: 7 },
{ id: 8, id2: 3, id3: 4, id4: 5, id5: 6, id6: 7 },
]
}
resolve(data)
})
}
return (
<PageHeaderWrapper>
<Card>
<StandardTable
// keepAlive={false}
currentRef={ref}
columns={columns}
tableProps={{ rowKey: 'id', }}
fetchTableData={(params: unknown) => fetchData(params)}
controlRender={
<NiceForm
actions={formActions}
onSubmit={values => ref.current.reload(values)}
expressionScope={{
controllerBtns,
}}
effects={($, actions) => {
useStateFilterSearchLinkageEffect(
$,
actions,
'planCode',
FORM_FILTER_PATH,
)
}}
schema={deliveryNoticedManageSRMSchema}
/>
}
/>
</Card>
</PageHeaderWrapper>
)
}
export default DeliveryNoticedManageSRM
\ No newline at end of file
/**
* 订单能力 -送货通知单协同 - 待确认送货通知单 - Schema
* @author: Gavin
*/
import { ISchema } from '@formily/antd'
import { FORM_FILTER_PATH } from '@/formSchema/const'
export const deliveryNoticedManageSRMSchema: ISchema = {
type: 'object',
properties: {
mageLayout: {
type: 'object',
'x-component': 'mega-layout',
properties: {
topLayout: {
type: 'object',
'x-component': 'mega-layout',
'x-component-props': {
grid: true,
},
properties: {
ctl: {
type: 'object',
'x-component': 'Children',
'x-component-props': {
children: '{{controllerBtns}}',
},
},
planCode: {
type: 'string',
'x-component': 'Search',
'x-component-props': {
allowClear: true,
placeholder: '请输入送货单号查询'
},
},
},
},
[FORM_FILTER_PATH]: {
type: 'object',
'x-component': 'flex-layout',
'x-component-props': {
rowStyle: {
flexWrap: 'nowrap',
},
colStyle: {
marginLeft: 20,
},
},
properties: {
abstract: {
type: 'string',
'x-component-props': {
allowClear: true,
placeholder: '通知单摘要'
}
},
'[startTime, endTime]': {
type: 'daterange',
'x-component-props': {
allowClear: true,
placeholder: ['送货开始日期', '送货结束日期'],
},
},
supplyMember: {
type: 'string',
'x-component-props': {
allowClear: true,
placeholder: '供应会员'
}
},
submit: {
'x-component': 'Submit',
'x-mega-props': {
span: 1,
},
'x-component-props': {
children: '查询',
},
},
}
}
}
}
}
}
\ No newline at end of file
/**
* 订单能力 - 送货单 - 收货单详情
* @author: Gavin
* @description:
*/
import React, { useState } from 'react'
import { PageHeaderWrapper } from '@ant-design/pro-layout'
import { history } from 'umi'
import ReutrnEle from '@/components/ReturnEle'
const ReceivingNoteDetails: React.FC = () => {
const [details, setDetails] = useState<any>({})
return (
<PageHeaderWrapper
title={details?.name}
onBack={() => history.goBack()}
backIcon={<ReutrnEle />}
>
<div>送货单 - 送货单管理详情SRM</div>
</PageHeaderWrapper>
)
}
export default ReceivingNoteDetails
\ No newline at end of file
/**
* 订单能力 - 送货单 - 收货单查询
* @author: Gavin
* @description:
*/
import React, { useRef, useState } from 'react'
import { PageHeaderWrapper } from '@ant-design/pro-layout'
import { Button, Card, Space, Tag } from 'antd'
import { PlusOutlined } from '@ant-design/icons'
import StandardTable from '@/components/StandardTable'
import { ColumnType } from 'antd/lib/table'
import TableOperation from '@/components/TableOperation'
import EyePreview from '@/components/EyePreview'
import NiceForm from '@/components/NiceForm'
import { createFormActions } from '@formily/antd'
import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilterSearch'
import { FORM_FILTER_PATH } from '@/formSchema/const'
import { receivingNoteQuerySchema } from './schema'
const tagStatusColor = {
// 待提交
2: { color: '#f4f5f7', fontColor: '#5c626a' },
// 待确认
3: { color: '#ecf2fe', fontColor: '#4787f0' },
// 待修订
4: { color: '#eae6ff', fontColor: '#9963d8' },
// 已确认
5: { color: '#ebf9f6', fontColor: '#00a98f' },
// 已生产送货单
6: { color: '#f0f5ff', fontColor: '#f0f5ff' },
// 已作废
7: { color: '#fff2f0', fontColor: '#ff4d4f' },
}
const ReceivingNoteQuery: React.FC = () => {
const ref = useRef<any>({})
const formActions = createFormActions()
const controllerBtns = (<Space>
<Button type='primary' icon={<PlusOutlined/>}>新增</Button>
</Space>)
const renderOptionButton = (record: any) => {
const btnAuthOfOperationTextMap = {
'查看': 'DevTest',
}
const buttonGroup = {
'查看': true,
}
const operationHandler = {
'查看': () => { console.log('查看 :>> ',) },
}
return (
<TableOperation
buttonTextFieldMap={buttonGroup}
operationHandler={operationHandler}
buttonPermissionsMap={btnAuthOfOperationTextMap}
/>
)
}
const columns: ColumnType<unknown>[] = [
{
title: '收货单号',
dataIndex: 'id',
key: 'id',
width: 160,
render: (text: unknown, record: unknown) => <EyePreview url='/memberCenter/order/deliveryNoticed/receivingNoteQuery/details'>{text}</EyePreview>
},
{ title: '收货单摘要', dataIndex: 'id2', key: 'id2' },
{ title: '收货日期', dataIndex: 'id3', key: 'id3' },
{ title: '送货单号', dataIndex: 'id3', key: 'id3' },
{ title: '送货日期', dataIndex: 'id3', key: 'id3' },
{ title: '采购会员', dataIndex: 'id5', key: 'id5' },
{ title: '单据时间', dataIndex: 'id4', key: 'id4' },
{
title: '外部状态',
dataIndex: 'id6',
key: 'id6',
render: (text: string, record: any) => (
<Tag color={tagStatusColor[record.id]?.color}>
<span style={{ color: tagStatusColor[record.id]?.fontColor }}>{text}</span>
</Tag>
)
},
{
title: '操作',
dataIndex: '',
key: 'x',
align: 'center',
render: (record) => renderOptionButton(record)
},
]
const fetchData = (params: unknown) => {
console.log('params :>> ', params);
return new Promise((resolve) => {
const data = {
totalCount: 1, data: [
{ id: 1, id2: 2, id3: 3, id4: 4, id5: 5, id6: 6 },
{ id: 2, id2: 3, id3: 4, id4: 5, id5: 6, id6: 7 },
{ id: 3, id2: 3, id3: 4, id4: 5, id5: 6, id6: 7 },
{ id: 4, id2: 3, id3: 4, id4: 5, id5: 6, id6: 7 },
{ id: 5, id2: 3, id3: 4, id4: 5, id5: 6, id6: 7 },
{ id: 6, id2: 3, id3: 4, id4: 5, id5: 6, id6: 7 },
{ id: 7, id2: 3, id3: 4, id4: 5, id5: 6, id6: 7 },
{ id: 8, id2: 3, id3: 4, id4: 5, id5: 6, id6: 7 },
]
}
resolve(data)
})
}
return (
<PageHeaderWrapper>
<Card>
<StandardTable
// keepAlive={false}
currentRef={ref}
columns={columns}
tableProps={{ rowKey: 'id', }}
fetchTableData={(params: unknown) => fetchData(params)}
controlRender={
<NiceForm
actions={formActions}
onSubmit={values => ref.current.reload(values)}
expressionScope={{
controllerBtns,
}}
effects={($, actions) => {
useStateFilterSearchLinkageEffect(
$,
actions,
'planCode',
FORM_FILTER_PATH,
)
}}
schema={receivingNoteQuerySchema}
/>
}
/>
</Card>
</PageHeaderWrapper>
)
}
export default ReceivingNoteQuery
\ No newline at end of file
/**
* 订单能力 -送货通知单协同 - 待确认送货通知单 - Schema
* @author: Gavin
*/
import { ISchema } from '@formily/antd'
import { FORM_FILTER_PATH } from '@/formSchema/const'
export const receivingNoteQuerySchema: ISchema = {
type: 'object',
properties: {
mageLayout: {
type: 'object',
'x-component': 'mega-layout',
properties: {
topLayout: {
type: 'object',
'x-component': 'mega-layout',
'x-component-props': {
grid: true,
},
properties: {
ctl: {
type: 'object',
'x-component': 'Children',
'x-component-props': {
children: '{{controllerBtns}}',
},
},
planCode: {
type: 'string',
'x-component': 'Search',
'x-component-props': {
allowClear: true,
placeholder: '请输入收货单号查询'
},
},
},
},
[FORM_FILTER_PATH]: {
type: 'object',
'x-component': 'flex-layout',
'x-component-props': {
rowStyle: {
flexWrap: 'nowrap',
},
colStyle: {
marginLeft: 20,
},
},
properties: {
abstract: {
type: 'string',
'x-component-props': {
allowClear: true,
placeholder: '收货单摘要'
}
},
'[startTime, endTime]': {
type: 'daterange',
'x-component-props': {
allowClear: true,
placeholder: ['送货开始日期', '送货结束日期'],
},
},
supplyMember: {
type: 'string',
'x-component-props': {
allowClear: true,
placeholder: '供应会员'
}
},
submit: {
'x-component': 'Submit',
'x-mega-props': {
span: 1,
},
'x-component-props': {
children: '查询',
},
},
}
}
}
}
}
}
\ No newline at end of file
/**
* 订单能力 -- 待提交送货计划 SRM 详情
* 订单能力 - 送货通知单管理 - 待提交送货计划 SRM 详情
* @author: Gavin
* @description: 与B2B内容大致相同,文件分开方便后续对接以及日后变动修改二开
*/
......
/**
* 订单能力 -- 待提交送货计划 SRM
* 订单能力 - 送货通知单管理 - 待提交送货计划 SRM
* @author: Gavin
* @description: 与B2B内容大致相同,文件分开方便后续对接以及日后变动修改二开
*/
......
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