Commit 7053453a authored by 前端-黄佳鑫's avatar 前端-黄佳鑫

🐞 fix: 修改物流BUG

parent 3508b2cf
......@@ -82,6 +82,27 @@ export default [
name: '运费模板',
component: '@/pages/transaction/logisticsAbility/logisticsAdminister/freightTemplate',
},
{
/** 运费模板 */
path: '/memberCenter/logisticsAbility/logisticsAdminister/freightTemplate/add',
name: '新增运费模板',
component: '@/pages/transaction/logisticsAbility/logisticsAdminister/freightTemplate/add',
hideInMenu: true,
},
{
/** 运费模板 */
path: '/memberCenter/logisticsAbility/logisticsAdminister/freightTemplate/edit',
name: '编辑运费模板',
component: '@/pages/transaction/logisticsAbility/logisticsAdminister/freightTemplate/add',
hideInMenu: true,
},
{
/** 运费模板 */
path: '/memberCenter/logisticsAbility/logisticsAdminister/freightTemplate/detail',
name: '查看运费模板',
component: '@/pages/transaction/logisticsAbility/logisticsAdminister/freightTemplate/add',
hideInMenu: true,
},
]
}
]
......@@ -29,6 +29,20 @@ export default [
name: '待提交物流单',
component: '@/pages/transaction/logisticsAbility/logisticsBillSubmit/waitSbumitLogisticsBill',
},
// 待提交物流单-新增
{
path: '/memberCenter/logisticsAbility/logisticsBillSubmit/waitSbumitLogisticsBill/add',
name: '待提交物流单-新增',
component: '@/pages/transaction/logisticsAbility/logisticsBillSubmit/addLogistics',
hideInMenu: true
},
// 待提交物流单-编辑
{
path: '/memberCenter/logisticsAbility/logisticsBillSubmit/waitSbumitLogisticsBill/edit',
name: '待提交物流单-编辑',
component: '@/pages/transaction/logisticsAbility/logisticsBillSubmit/addLogistics',
hideInMenu: true
},
{
/** 待提交物流单 - 详情 */
path: '/memberCenter/logisticsAbility/logisticsBillSubmit/waitSbumitLogisticsBill/preview',
......
......@@ -18,9 +18,9 @@ import { PageHeaderWrapper } from '@ant-design/pro-layout';
import { createFormActions } from '@formily/antd';
import { PublicApi } from '@/services/api';
import {
EXCHANGE_INNER_STATUS_CONSUMER_NOT_ADDED_LOGISTICS,
EXCHANGE_INNER_STATUS_CONSUMER_UNCONFIRMED_LOGISTICS,
EXCHANGE_INNER_STATUS_UNACCEPTED_RETURN_LOGISTICS,
EXCHANGE_INNER_STATUS_CONSUMER_NOT_ADDED_LOGISTICS,
EXCHANGE_INNER_STATUS_CONSUMER_UNCONFIRMED_LOGISTICS,
EXCHANGE_INNER_STATUS_UNACCEPTED_RETURN_LOGISTICS,
} from '@/constants/afterService';
import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilterSearch';
import { FORM_FILTER_PATH } from '@/formSchema/const';
......@@ -29,8 +29,8 @@ import NiceForm from '@/components/NiceForm';
import StatusTag from '@/components/StatusTag';
import { listSearchSchema } from './schema';
import {
EXCHANGE_OUTER_STATUS_TAG_MAP,
EXCHANGE_INNER_STATUS_BADGE_MAP,
EXCHANGE_OUTER_STATUS_TAG_MAP,
EXCHANGE_INNER_STATUS_BADGE_MAP,
} from '../../constants';
import styles from './index.less';
......@@ -58,13 +58,13 @@ const ExchangePrAddLogistics: React.FC = () => {
title: '申请单摘要',
dataIndex: 'applyAbstract',
align: 'center',
ellipsis: true,
},
ellipsis: true,
},
{
title: '供应会员',
dataIndex: 'supplierName',
align: 'center',
},
},
{
title: '单据时间',
dataIndex: 'applyTime',
......@@ -78,14 +78,14 @@ const ExchangePrAddLogistics: React.FC = () => {
{
title: '退货发货单号',
dataIndex: 'returnDeliveryNo',
align: 'center',
align: 'center',
render: (text, record) => (
<Link
to={`/memberCenter/tranactionAbility/stockSellStorage/bills/detail?id=${record.returnDeliveryId}`}
>
{text}
</Link>
),
),
},
{
title: '外部状态',
......@@ -100,7 +100,7 @@ const ExchangePrAddLogistics: React.FC = () => {
dataIndex: 'innerStatusName',
align: 'center',
render: (text, record) => <Badge color={EXCHANGE_INNER_STATUS_BADGE_MAP[record.innerStatus] || '#606266'} text={text} />,
},
},
{
title: '操作',
dataIndex: 'option',
......@@ -111,8 +111,8 @@ const ExchangePrAddLogistics: React.FC = () => {
<Button
type="link"
onClick={
() =>
history.push(`/memberCenter/logisticsAbility/logisticsSubmit/toOrderSumitList/add?createType=${4}&id=${record.replaceId}`)
() =>
history.push(`/memberCenter/logisticsAbility/logisticsBillSubmit/waitSbumitLogisticsBill/add?createType=${4}&id=${record.replaceId}`)
}
>
新增
......@@ -122,8 +122,8 @@ const ExchangePrAddLogistics: React.FC = () => {
<Button
type="link"
onClick={
() =>
history.push(`/memberCenter/logisticsAbility/logisticsSubmit/orderSubmitSearchList/detail?id=${record.returnLogisticsId}`)
() =>
history.push(`/memberCenter/logisticsAbility/logisticsBillSubmit/logisticsBillQuery/preview?id=${record.returnLogisticsId}`)
}
>
查看物流单
......@@ -133,8 +133,8 @@ const ExchangePrAddLogistics: React.FC = () => {
<Button
type="link"
onClick={
() =>
history.push(`/memberCenter/logisticsAbility/logisticsSubmit/toOrderSumitList/edit?id=${record.returnLogisticsId}`)
() =>
history.push(`/memberCenter/logisticsAbility/logisticsBillSubmit/waitSbumitLogisticsBill/edit?id=${record.returnLogisticsId}`)
}
>
编辑
......@@ -148,12 +148,12 @@ const ExchangePrAddLogistics: React.FC = () => {
const [columns, setColumns] = useState<any[]>(defaultColumns);
const fetchListData = (params: any) => {
const { startTime, endTime, ...rest } = params;
const { startTime, endTime, ...rest } = params;
return new Promise((resolve, reject) => {
PublicApi.getAsReplaceGoodsPageToBeAddLogisticsByConsumer({
startTime: startTime ? moment(+startTime).format('YYYY-MM-DD HH:mm:ss') : null,
endTime: endTime ? moment(+endTime).format('YYYY-MM-DD HH:mm:ss') : null,
...rest,
startTime: startTime ? moment(+startTime).format('YYYY-MM-DD HH:mm:ss') : null,
endTime: endTime ? moment(+endTime).format('YYYY-MM-DD HH:mm:ss') : null,
...rest,
})
.then(res => {
if (res.code === 1000) {
......@@ -198,4 +198,4 @@ const ExchangePrAddLogistics: React.FC = () => {
);
};
export default ExchangePrAddLogistics;
\ No newline at end of file
export default ExchangePrAddLogistics;
......@@ -18,9 +18,9 @@ import { PageHeaderWrapper } from '@ant-design/pro-layout';
import { createFormActions } from '@formily/antd';
import { PublicApi } from '@/services/api';
import {
EXCHANGE_INNER_STATUS_SUPPLIER_NOT_ADDED_LOGISTICS,
EXCHANGE_INNER_STATUS_SUPPLIER_UNCONFIRMED_LOGISTICS,
EXCHANGE_INNER_STATUS_UNACCEPTED_RETURN_EXCHANGE,
EXCHANGE_INNER_STATUS_SUPPLIER_NOT_ADDED_LOGISTICS,
EXCHANGE_INNER_STATUS_SUPPLIER_UNCONFIRMED_LOGISTICS,
EXCHANGE_INNER_STATUS_UNACCEPTED_RETURN_EXCHANGE,
} from '@/constants/afterService';
import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilterSearch';
import { FORM_FILTER_PATH } from '@/formSchema/const';
......@@ -29,8 +29,8 @@ import NiceForm from '@/components/NiceForm';
import StatusTag from '@/components/StatusTag';
import { listSearchSchema } from './schema';
import {
EXCHANGE_OUTER_STATUS_TAG_MAP,
EXCHANGE_INNER_STATUS_BADGE_MAP,
EXCHANGE_OUTER_STATUS_TAG_MAP,
EXCHANGE_INNER_STATUS_BADGE_MAP,
} from '../../constants';
import styles from './index.less';
......@@ -58,13 +58,13 @@ const ReturnPrAddLogistics: React.FC = () => {
title: '申请单摘要',
dataIndex: 'applyAbstract',
align: 'center',
ellipsis: true,
},
ellipsis: true,
},
{
title: '采购会员',
dataIndex: 'consumerName',
align: 'center',
},
},
{
title: '单据时间',
dataIndex: 'applyTime',
......@@ -78,14 +78,14 @@ const ReturnPrAddLogistics: React.FC = () => {
{
title: '换货发货单号',
dataIndex: 'replaceDeliveryNo',
align: 'center',
align: 'center',
render: (text, record) => (
<Link
to={`/memberCenter/tranactionAbility/stockSellStorage/bills/detail?id=${record.replaceDeliveryId}`}
>
{text}
</Link>
),
),
},
{
title: '外部状态',
......@@ -111,8 +111,8 @@ const ReturnPrAddLogistics: React.FC = () => {
<Button
type="link"
onClick={
() =>
history.push(`/memberCenter/logisticsAbility/logisticsSubmit/toOrderSumitList/add?createType=${5}&id=${record.replaceId}`)
() =>
history.push(`/memberCenter/logisticsAbility/logisticsBillSubmit/waitSbumitLogisticsBill/add?createType=${5}&id=${record.replaceId}`)
}
>
新增
......@@ -122,8 +122,8 @@ const ReturnPrAddLogistics: React.FC = () => {
<Button
type="link"
onClick={
() =>
history.push(`/memberCenter/logisticsAbility/logisticsSubmit/orderSubmitSearchList/detail?id=${record.replaceLogisticsId}`)
() =>
history.push(`/memberCenter/logisticsAbility/logisticsBillSubmit/logisticsBillQuery/preview?id=${record.replaceLogisticsId}`)
}
>
查看物流单
......@@ -133,8 +133,8 @@ const ReturnPrAddLogistics: React.FC = () => {
<Button
type="link"
onClick={
() =>
history.push(`/memberCenter/logisticsAbility/logisticsSubmit/toOrderSumitList/edit?id=${record.replaceLogisticsId}`)
() =>
history.push(`/memberCenter/logisticsAbility/logisticsBillSubmit/waitSbumitLogisticsBill/edit?id=${record.replaceLogisticsId}`)
}
>
编辑
......@@ -148,12 +148,12 @@ const ReturnPrAddLogistics: React.FC = () => {
const [columns, setColumns] = useState<any[]>(defaultColumns);
const fetchListData = (params: any) => {
const { startTime, endTime, ...rest } = params;
const { startTime, endTime, ...rest } = params;
return new Promise((resolve, reject) => {
PublicApi.getAsReplaceGoodsPageToBeAddLogisticsBySupplier({
startTime: startTime ? moment(+startTime).format('YYYY-MM-DD HH:mm:ss') : null,
endTime: endTime ? moment(+endTime).format('YYYY-MM-DD HH:mm:ss') : null,
...rest,
startTime: startTime ? moment(+startTime).format('YYYY-MM-DD HH:mm:ss') : null,
endTime: endTime ? moment(+endTime).format('YYYY-MM-DD HH:mm:ss') : null,
...rest,
})
.then(res => {
if (res.code === 1000) {
......@@ -198,4 +198,4 @@ const ReturnPrAddLogistics: React.FC = () => {
);
};
export default ReturnPrAddLogistics;
\ No newline at end of file
export default ReturnPrAddLogistics;
......@@ -18,9 +18,9 @@ import { PageHeaderWrapper } from '@ant-design/pro-layout';
import { createFormActions } from '@formily/antd';
import { PublicApi } from '@/services/api';
import {
RETURN_INNER_STATUS_CONSUMER_NOT_ADDED_LOGISTICS,
RETURN_INNER_STATUS_CONSUMER_NOT_ADDED_LOGISTICS,
RETURN_INNER_STATUS_CONSUMER_UNCONFIRMED_LOGISTICS,
RETURN_INNER_STATUS_UNACCEPTED_LOGISTICS,
RETURN_INNER_STATUS_UNACCEPTED_LOGISTICS,
} from '@/constants/afterService';
import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilterSearch';
import { FORM_FILTER_PATH } from '@/formSchema/const';
......@@ -29,8 +29,8 @@ import NiceForm from '@/components/NiceForm';
import StatusTag from '@/components/StatusTag';
import { listSearchSchema } from './schema';
import {
RETURN_OUTER_STATUS_TAG_MAP,
RETURN_INNER_STATUS_BADGE_MAP,
RETURN_OUTER_STATUS_TAG_MAP,
RETURN_INNER_STATUS_BADGE_MAP,
} from '../../constants';
import styles from './index.less';
......@@ -58,18 +58,18 @@ const ReturnPrAddLogistics: React.FC = () => {
title: '申请单摘要',
dataIndex: 'applyAbstract',
align: 'center',
ellipsis: true,
},
ellipsis: true,
},
{
title: '供应会员',
dataIndex: 'supplierName',
align: 'center',
},
},
{
title: '退款金额',
dataIndex: 'refundAmount',
align: 'center',
},
},
{
title: '单据时间',
dataIndex: 'applyTime',
......@@ -83,14 +83,14 @@ const ReturnPrAddLogistics: React.FC = () => {
{
title: '退货发货单号',
dataIndex: 'returnDeliveryNo',
align: 'center',
align: 'center',
render: (text, record) => (
<Link
to={`/memberCenter/tranactionAbility/stockSellStorage/bills/detail?id=${record.returnDeliveryId}`}
>
{text}
</Link>
),
),
},
{
title: '外部状态',
......@@ -116,8 +116,8 @@ const ReturnPrAddLogistics: React.FC = () => {
<Button
type="link"
onClick={
() =>
history.push(`/memberCenter/logisticsAbility/logisticsSubmit/toOrderSumitList/add?createType=${6}&id=${record.returnId}`)
() =>
history.push(`/memberCenter/logisticsAbility/logisticsBillSubmit/waitSbumitLogisticsBill/add?createType=${6}&id=${record.returnId}`)
}
>
新增
......@@ -127,8 +127,8 @@ const ReturnPrAddLogistics: React.FC = () => {
<Button
type="link"
onClick={
() =>
history.push(`/memberCenter/logisticsAbility/logisticsSubmit/orderSubmitSearchList/detail?id=${record.returnLogisticsId}`)
() =>
history.push(`/memberCenter/logisticsAbility/logisticsBillSubmit/logisticsBillQuery/preview?id=${record.returnLogisticsId}`)
}
>
查看物流单
......@@ -138,8 +138,8 @@ const ReturnPrAddLogistics: React.FC = () => {
<Button
type="link"
onClick={
() =>
history.push(`/memberCenter/logisticsAbility/logisticsSubmit/toOrderSumitList/edit?id=${record.returnLogisticsId}`)
() =>
history.push(`/memberCenter/logisticsAbility/logisticsBillSubmit/waitSbumitLogisticsBill/edit?id=${record.returnLogisticsId}`)
}
>
编辑
......@@ -153,12 +153,12 @@ const ReturnPrAddLogistics: React.FC = () => {
const [columns, setColumns] = useState<any[]>(defaultColumns);
const fetchListData = (params: any) => {
const { startTime, endTime, ...rest } = params;
const { startTime, endTime, ...rest } = params;
return new Promise((resolve, reject) => {
PublicApi.getAsReturnGoodsPageToBeAddLogisticsByConsumer({
startTime: startTime ? moment(+startTime).format('YYYY-MM-DD HH:mm:ss') : null,
endTime: endTime ? moment(+endTime).format('YYYY-MM-DD HH:mm:ss') : null,
...rest,
startTime: startTime ? moment(+startTime).format('YYYY-MM-DD HH:mm:ss') : null,
endTime: endTime ? moment(+endTime).format('YYYY-MM-DD HH:mm:ss') : null,
...rest,
})
.then(res => {
if (res.code === 1000) {
......@@ -203,4 +203,4 @@ const ReturnPrAddLogistics: React.FC = () => {
);
};
export default ReturnPrAddLogistics;
\ No newline at end of file
export default ReturnPrAddLogistics;
......@@ -27,8 +27,8 @@ import {
const formActions = createFormActions();
const ADD_PROCESS_PATH = '/memberCenter/tranactionAbility/stockSellStorage/bills/add';
const ADD_DELIVERY_PATH = '/memberCenter/tranactionAbility/stockSellStorage/bills/add';
const ADD_LOGISTICS_PATH = '/memberCenter/logisticsAbility/logisticsSubmit/toOrderSumitList/add';
const DETAIL_LOGISTICS_PATH = '/memberCenter/logisticsAbility/logisticsSubmit/orderSubmitSearchList/detail'
const ADD_LOGISTICS_PATH = '/memberCenter/logisticsAbility/logisticsBillSubmit/waitSbumitLogisticsBill/add';
const DETAIL_LOGISTICS_PATH = '/memberCenter/logisticsAbility/logisticsBillSubmit/logisticsBillQuery/preview'
const SERVICE_MAPS = {
......@@ -189,7 +189,7 @@ const processStock: React.FC<{}> = () => {
),
[OuterAndInnerStatus.pending_add_logistics]: <Link to={`${ADD_LOGISTICS_PATH}?createType=3&id=${record.id}`}>新增物流单</Link>,
[OuterAndInnerStatus.pending_confirm_logistics]: <Link to={`${DETAIL_LOGISTICS_PATH}?id=${record.logisticsOrderId}`}>查看物流单</Link>,
[OuterAndInnerStatus.editing_logistics]: <Link to={`/memberCenter/logisticsAbility/logisticsSubmit/toOrderSumitList/edit?id=${record.logisticsOrderId}`}>编辑</Link>,
[OuterAndInnerStatus.editing_logistics]: <Link to={`/memberCenter/logisticsAbility/logisticsBillSubmit/waitSbumitLogisticsBill/edit?id=${record.logisticsOrderId}`}>编辑</Link>,
[OuterAndInnerStatus.pending_confirm_deliver]: <Link to={`${PENDING_DELIVERD_PATH}/detail?id=${record.id}`}>发货</Link>,
[OuterAndInnerStatus.pending_add_process_in_warehouse]: (
<Link
......
......@@ -121,7 +121,7 @@ const DeliveryInfo: React.FC<Iprops> = (props: Iprops) => {
{
title: "物流单号",
value: (
<Link to={`/memberCenter/logisticsAbility/logisticsSubmit/orderSubmitSearchList/detail?id=${activeData?.logisticsOrderId}`}>
<Link to={`/memberCenter/logisticsAbility/logisticsBillSubmit/logisticsBillQuery/preview?id=${activeData?.logisticsOrderId}`}>
{activeData?.logisticsOrderNo}
</Link>
)
......
......@@ -111,7 +111,7 @@ const DetailTab: React.FC<Iprops> = (props) => {
<Col span={6}>
<div className={styles.detailItem}>
<span className={styles.title}>物流单号</span>
<Link to={`/memberCenter/logisticsAbility/logisticsSubmit/orderSubmitSearchList/detail?id=${activeData.logisticsOrderId}`} className={styles.value}>{activeData.logisticsOrderNo}</Link>
<Link to={`/memberCenter/logisticsAbility/logisticsBillSubmit/logisticsBillQuery/preview?id=${activeData.logisticsOrderId}`} className={styles.value}>{activeData.logisticsOrderNo}</Link>
</div>
<div>
<span className={styles.title}>物流公司</span>
......
......@@ -16,8 +16,8 @@ import useColumnWithFilter from '../../common/hooks/useColumnWithFilter';
import { Link } from 'umi'
import { ADD_LOGISTICS, EDIT_LOGISTICS } from '@/constants/handling'
const ADD_LOGISTICS_PATH = '/memberCenter/logisticsAbility/logisticsSubmit/toOrderSumitList/add';
const DETAIL_LOGISTICS_PATH = '/memberCenter/logisticsAbility/logisticsSubmit/orderSubmitSearchList/detail'
const ADD_LOGISTICS_PATH = '/memberCenter/logisticsAbility/logisticsBillSubmit/waitSbumitLogisticsBill/add';
const DETAIL_LOGISTICS_PATH = '/memberCenter/logisticsAbility/logisticsBillSubmit/logisticsBillQuery/preview'
const formActions = createFormActions();
const queryColumns = setColumnsByLinks({
detail: "/memberCenter/handling/confirm/pendingAddLogistics/detail",
......@@ -42,7 +42,7 @@ const AllQuery = () => {
}
{
record.processInnerStatus === EDIT_LOGISTICS && (
<Link to={`/memberCenter/logisticsAbility/logisticsSubmit/toOrderSumitList/edit?id=${record.logisticsOrderId}`}>编辑</Link>
<Link to={`/memberCenter/logisticsAbility/logisticsBillSubmit/waitSbumitLogisticsBill/edit?id=${record.logisticsOrderId}`}>编辑</Link>
)
}
</Space>
......
......@@ -193,7 +193,7 @@ const OrderDeleveRecord:React.FC<OrderDeleveRecordProps> = (props) => {
dataIndex: 'logisticsNo',
align: 'center',
key: 'logisticsNo',
// render: text => <a target="blank" href={`/memberCenter/logisticsAbility/logisticsSubmit/orderSubmitSearchList/detail?code=${text}`}>{text}</a>
// render: text => <a target="blank" href={`/memberCenter/logisticsAbility/logisticsBillSubmit/logisticsBillQuery/preview?code=${text}`}>{text}</a>
},
{
title: '物流公司',
......
......@@ -198,7 +198,7 @@ const OrderSaleRecord:React.FC<OrderSaleRecordProps> = (props) => {
dataIndex: 'logisticsNo',
align: 'center',
key: 'logisticsNo',
render: text => <a target="blank" href={`/memberCenter/logisticsAbility/logisticsSubmit/orderSubmitSearchList/detail?code=${text}`}>{text}</a>
render: text => <a target="blank" href={`/memberCenter/logisticsAbility/logisticsBillSubmit/logisticsBillQuery/preview?code=${text}`}>{text}</a>
},
{
title: '物流公司',
......
.schemaform {
:global {
.ant-row {
.ant-form-item-label {
label {
font-size: 12px !important;
}
}
.formily-mega-item-after,
.formily-mega-item-before {
font-size: 12px !important;
}
.mega-layout-item-content {
line-height: normal !important;
}
.formily-mega-item-before {
margin-left: 108px;
}
.preview-text {
line-height: 32px;
}
}
}
}
......@@ -7,6 +7,7 @@ import { PublicApi } from '@/services/api';
import { LOGISTICSADMINISTERSCHEMA } from '../schema';
import { PlusOutlined } from '@ant-design/icons';
import StatusSwitch from '@/components/StatusSwitch';
import EyePreview from '@/components/EyePreview';
const STATUS = {
/** 有效 */
......@@ -43,6 +44,7 @@ const FreightTemplate = () => {
title: '模板名称',
key: 'name',
dataIndex: 'name',
render: (text, data) => <EyePreview url={`/memberCenter/logisticsAbility/logisticsAdminister/freightTemplate/detail?id=${data.id}`}>{text}</EyePreview>
},
{
title: '计价方式',
......@@ -74,7 +76,7 @@ const FreightTemplate = () => {
key: 'operate',
dataIndex: 'operate',
render: (_text, data) => data.status === STATUS.INVALID && <>
<Button type='link' onClick={() => history.push(`/memberCenter/logisticsAbility/logistics/company/edit?id=${data.id}`)}>编辑</Button>
<Button type='link' onClick={() => history.push(`/memberCenter/logisticsAbility/logisticsAdminister/freightTemplate/edit?id=${data.id}`)}>编辑</Button>
<Popconfirm title="确定要删除吗?" okText="是" cancelText="否" onConfirm={() => handleDelete(data.id)}>
<Button type='link'>
删除
......@@ -97,6 +99,7 @@ const FreightTemplate = () => {
<Button
type="primary"
icon={<PlusOutlined />}
onClick={() => history.push(`/memberCenter/logisticsAbility/logisticsAdminister/freightTemplate/add`)}
>
新建
</Button>
......
import React, { ReactText, useRef, useEffect, useLayoutEffect, useState } from 'react';
import { StandardTable } from 'god';
import { ISchema } from '@formily/antd';
import NestTable from '@/components/NestTable';
import { IStandardTableProps } from 'god/dist/src/standard-table';
import { Row, Col, Modal, Form, Radio } from 'antd';
import Search from '@/components//NiceForm/components/Search';
import SearchSelect from '@/components//NiceForm/components/SearchSelect';
import Submit from '@/components//NiceForm/components/Submit';
import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilterSearch';
import { FORM_FILTER_PATH } from '@/formSchema/const';
import DateSelect from '@/components//NiceForm/components/DateSelect';
import { PublicApi } from '@/services/api';
export interface ModalTableProps extends IStandardTableProps<any> {
width?: number,
confirm?: Function,
cancel?(),
visible?: boolean,
resetModal?: object,
useNestTable?: boolean, // 是否使用嵌套表格
nestColumns?: any[],
nestTableProps?: any,
// fix: 新增参数, 为true时每次开启弹窗都会重新reload接口
forceRender?: boolean,
invoicesNo?: string, // 对应订单号/售后单号
relevanceType?: number, //对应单据类型
}
export const logisticsDeliverySearchSchema: ISchema = {
type: 'object',
properties: {
orderNo: {
type: 'string',
'x-component': 'ModalSearch',
'x-component-props': {
placeholder: '单据号',
align: 'flex-left',
},
},
[FORM_FILTER_PATH]: {
type: 'object',
'x-component': 'flex-layout',
'x-component-props': {
rowStyle: {
flexWrap: 'nowrap',
style: {
marginRight: 0
}
},
colStyle: {
marginTop: 20,
},
},
properties: {
memberName: {
type: 'string',
"x-component-props": {
placeholder: '会员名称',
style: {
width: 160
}
}
},
orderThe: {
type: 'string',
"x-component-props": {
placeholder: '单据摘要',
style: {
width: 160
}
}
},
"[startCreateTime,endCreateTime]": {
type: 'string',
"x-component": "dateSelect",
"x-component-props": {
placeholder: '单据时间(全部)',
}
},
submit: {
"x-component": 'Submit',
"x-mega-props": {
span: 1
},
"x-component-props": {
children: '查询'
}
}
}
}
}
}
export const otherSearchSchema: ISchema = {
type: 'object',
properties: {
applyNo: {
type: 'string',
'x-component': 'ModalSearch',
'x-component-props': {
placeholder: '申请单号',
align: 'flex-left',
},
},
[FORM_FILTER_PATH]: {
type: 'object',
'x-component': 'flex-layout',
'x-component-props': {
rowStyle: {
flexWrap: 'nowrap',
style: {
marginRight: 0
}
},
colStyle: {
marginTop: 20,
},
},
properties: {
memberName: {
type: 'string',
"x-component-props": {
placeholder: '会员名称',
style: {
width: 160
}
}
},
applyAbstract: {
type: 'string',
"x-component-props": {
placeholder: '单据摘要',
style: {
width: 160
}
}
},
"[startTime,endTime]": {
type: 'string',
"x-component": "dateSelect",
"x-component-props": {
placeholder: '单据时间(全部)',
}
},
submit: {
"x-component": 'Submit',
"x-mega-props": {
span: 1
},
"x-component-props": {
children: '查询'
}
}
}
}
}
}
const ModalTableOrder: React.FC<ModalTableProps> = (props) => {
const { width = 704, confirm, cancel, visible, currentRef, resetModal, forceRender, useNestTable = false, nestColumns, nestTableProps, invoicesNo, relevanceType, ...resetTable } = props
const selfRef = currentRef || useRef<any>({})
useEffect(() => {
if (visible && forceRender) {
// 重新开启时需reload接口
// fix: 去掉自动reload接口, 防止重复请求
// fix: 新增forceRender接口, 用于控制弹窗是否需要reload
selfRef.current.reload && selfRef.current.reload()
} else {
selfRef.current.resetField && selfRef.current.resetField({
validate: false
})
}
}, [visible])
const [form] = Form.useForm();
const [type, setType] = useState<number>(1);
const [modalTitle, setmodalTitle] = useState<string>('订单');
useEffect(() => {
console.log(relevanceType)
setType(relevanceType)
}, [visible])
useEffect(() => {
form.setFieldsValue({
radio: type
})
}, [type])
const fetchData = (parmas?: any) => {
if (visible) {
return new Promise(resolve => {
switch (type) {
case 1:
PublicApi.getOrderLogisticsOrderList({ ...parmas }).then(res => {
if (res.code === 1000) {
res.data.data.forEach((item: any) => {
item.applyNo = item.orderNo
item.applyAbstract = item.orderThe
item.applyTime = item.createTime
})
resolve(res.data)
}
})
break;
case 2:
PublicApi.getAsReplaceGoodsPageToBeAddReturnByLogistics({ ...parmas }).then((res: any) => {
if (res.code === 1000) {
res.data.data.forEach((item: any) => {
item.id = item.applyId
})
resolve(res.data)
}
})
break;
case 3:
PublicApi.getAsReplaceGoodsPageToBeAddReplaceByLogistics({ ...parmas }).then((res: any) => {
if (res.code === 1000) {
res.data.data.forEach((item: any) => {
item.id = item.applyId
})
resolve(res.data)
}
})
break;
case 4:
PublicApi.getAsReturnGoodsPageByLogistics({ ...parmas }).then((res: any) => {
if (res.code === 1000) {
res.data.data.forEach((item: any) => {
item.id = item.applyId
})
resolve(res.data)
}
})
break;
case 5:
PublicApi.getEnhanceProcessToBeDeliveryList({ ...parmas }).then((res: any) => {
if (res.code === 1000) {
resolve(res.data)
}
})
break;
}
})
}
}
return (
<Modal
width={width}
title={modalTitle}
onOk={() => confirm(type)}
onCancel={cancel}
visible={visible}
{...resetModal}
maskClosable={false}
>
{
useNestTable ? (
<NestTable
NestColumns={nestColumns}
className="common_tb"
rowClassName={(_, index) => (index % 2) === 0 && "tb_bg"}
{...nestTableProps}
/>
) : (
<StandardTable
tableType='small'
currentRef={selfRef}
fetchTableData={(params) => fetchData(params)}
formRender={(child, ps) => <Row justify='space-between' style={{ marginBottom: 16 }}>
<Col span={18} style={{ zIndex: 99 }}>
<Form form={form}>
<Form.Item name='radio' label='单据选择'>
<Radio.Group onChange={(e) => { setType(e.target.value); selfRef.current.reload(); }}>
<Radio value={1}>订单</Radio>
<Radio value={2}>换货申请单(退货发货)</Radio>
<Radio value={3}>换货申请单(换货发货)</Radio>
<Radio value={4}>退货申请单</Radio>
<Radio value={5}>生产通知单</Radio>
</Radio.Group>
</Form.Item>
</Form>
</Col>
<Col style={{ marginTop: 4 }}>{ps}</Col>
<Col span={18} style={{ zIndex: 99 }}>{child}</Col>
</Row >}
formilyProps={
{
ctx: {
schema: type === 1 ? logisticsDeliverySearchSchema : otherSearchSchema,
components: { ModalSearch: Search, SearchSelect, Submit, DateSelect },
effects: ($, actions) => {
useStateFilterSearchLinkageEffect(
$,
actions,
type === 1 ? 'orderNo' : 'applyNo',
FORM_FILTER_PATH,
);
}
}
}
}
{...resetTable}
/>
)
}
</Modal>
)
}
ModalTableOrder.defaultProps = {}
export default ModalTableOrder
import { ColumnType } from 'antd/lib/table/interface';
import moment from 'moment'
export const SelectGoodsColumns: ColumnType<any>[] = [
{
title: '商品ID',
key: 'productId',
dataIndex: 'productId',
},
{
title: '商品名称',
key: 'productName',
dataIndex: 'productName',
},
{
title: '品类',
key: 'category',
dataIndex: 'category',
},
{
title: '品牌',
key: 'brand',
dataIndex: 'brand',
}
]
export const AfterSalesSelectGoodsColumns: ColumnType<any>[] = [
{
title: '商品ID',
key: 'productId',
dataIndex: 'productId',
},
{
title: '商品名称',
key: 'productName',
dataIndex: 'productName',
},
{
title: '品类',
key: 'category',
dataIndex: 'category',
},
{
title: '订单编号',
key: 'orderNo',
dataIndex: 'orderNo',
},
{
title: '品牌',
key: 'brand',
dataIndex: 'brand',
}
]
export const ExternalListColumns: ColumnType<any>[] = [
{
title: '流转顺序号',
key: 'number',
dataIndex: 'number',
render:(text:any, record:any, index:number) => {return index + 1;}
},
{
title: '操作角色',
key: 'operatorRoleName',
dataIndex: 'operatorRoleName',
},
{
title: '状态',
key: 'status',
dataIndex: 'status',
render:(text:any, record:any, index:number) => {
return (
text === 1 ? '待提交':
text === 2 ? '待确认':
text === 3 ? '不接收物流单':
'接收物流单'
)
}
},
{
title: '操作',
key: 'type',
dataIndex: 'type',
render:(text:any, record:any, index:number) => {
return (
text === 1 ? '提交物流单':'确认物流单'
)
}
},
{
title: '操作时间',
key: 'operateTime',
dataIndex: 'operateTime',
render:(text:any, record:any) => {
return(
moment(text).format('YYYY-MM-DD HH:mm:ss')
)
}
},
{
title: '审核意见',
key: 'remark',
dataIndex: 'remark',
}
]
.revise_style {
:global {
.ant-form-item-label {
width: 174px;
label {
color:#6B778C
}
}
.ant-form-item-control {
width: 500px;
.ant-form-item-control-input-content {
position: relative;
.ant-btn-link {
position: absolute;
right: -120px;
}
.ant-picker {
width: 100%;
}
}
.ant-input-group-addon {
.ant-input-search-button {
background-color: #6B778C;
border-color: #6B778C;
}
}
}
.ant-radio-group-solid {
.ant-radio-button-wrapper-checked {
background: #6B778C;
border-color: #6B778C;
&:hover {
background: #6B778C;
border-color: #6B778C;
}
}
}
}
.upload_item {
padding: 5px 8px;
margin-bottom: 16px;
display: flex;
align-items: center;
justify-content: space-between;
background-color: #FAFBFC;
.upload_left {
display: flex;
align-items: center;
color: #303133;
:global {
.anticon-file-word {
color: #4279df;
font-size: 20px;
margin-right: 8px;
}
}
}
.upload_right {
color: #00B37A;
cursor: pointer;
:global {
.anticon-delete {
margin-left: 19px;
color: #C0C4CC;
}
}
}
}
}
\ No newline at end of file
import React from 'react';
import { Tag, Row, Col, Button, Space } from 'antd';
import React, { useRef } from 'react';
import { Tag, Row, Col, Button, Space, Popconfirm } from 'antd';
import { history } from 'umi';
import Table from '@/pages/transaction/components/TableLayout';
import { ColumnType } from 'antd/lib/table/interface';
......@@ -10,10 +10,17 @@ import { PlusOutlined } from '@ant-design/icons';
import EyePreview from '@/components/EyePreview';
const LogisticsBillQuery = () => {
const reload = useRef<any>({});
const format = (text, fmt?: string) => {
return <>{moment(text).format(fmt || "YYYY-MM-DD HH:mm:ss")}</>
}
const handleDelete = (id: number) => {
PublicApi.postLogisticsOrderWaitSubmitDelete({ id: id }).then(res => {
reload.current.reload()
})
}
const columns: ColumnType<any>[] = [
{
title: '物流单号',
......@@ -66,13 +73,23 @@ const LogisticsBillQuery = () => {
},
{
title: '操作',
key: 'operate',
dataIndex: 'operate',
key: 'submitOrUpdateOrDel',
dataIndex: 'submitOrUpdateOrDel',
render: (text, data) => text && <>
<Button type='link'>提交</Button>
<Button type='link' onClick={() => history.push(`/memberCenter/logisticsAbility/logisticsBillSubmit/waitSbumitLogisticsBill/edit?id=${data.id}`)}>编辑</Button>
<Popconfirm title="确定要删除吗?" okText="是" cancelText="否" onConfirm={() => handleDelete(record.id)}>
<Button type='link'>
删除
</Button>
</Popconfirm>
</>
},
]
return (
<Table
reload={reload}
columns={columns}
schema={WAITSBUMITLOGISTICSBILLSCHEMA}
effects="logisticsOrderNo"
......@@ -85,7 +102,7 @@ const LogisticsBillQuery = () => {
<Button
type="primary"
icon={<PlusOutlined />}
onClick={() => history.push(`/memberCenter/tranactionAbility/productInquiry/waitAddInquiry/add`)}
onClick={() => history.push(`/memberCenter/logisticsAbility/logisticsBillSubmit/waitSbumitLogisticsBill/add`)}
>
新建
</Button>
......
......@@ -136,17 +136,17 @@ export const useSelfTable = () => {
invoicesNo: record.orderNo, // 对应订单号/售后单
relevanceType: 1
}
history.push(`/memberCenter/logisticsAbility/logisticsSubmit/toOrderSumitList/add?${qs.stringify(params)}`)
history.push(`/memberCenter/logisticsAbility/logisticsBillSubmit/waitSbumitLogisticsBill/add?${qs.stringify(params)}`)
}
const handlePreview = async (record) => {
const logisticsId = record.logisticsId
history.push(`/memberCenter/logisticsAbility/logisticsSubmit/orderSubmitSearchList/detail?id=${logisticsId}&invoicesTypeId=2`)
history.push(`/memberCenter/logisticsAbility/logisticsBillSubmit/logisticsBillQuery/preview?id=${logisticsId}&invoicesTypeId=2`)
}
const handleModify = async (record) => {
const logisticsId = record.logisticsId
history.push(`/memberCenter/logisticsAbility/logisticsSubmit/toOrderSumitList/edit?id=${logisticsId}`)
history.push(`/memberCenter/logisticsAbility/logisticsBillSubmit/waitSbumitLogisticsBill/edit?id=${logisticsId}`)
}
return {
......
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