Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
J
jinfa-platform
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
黄庭坚
jinfa-platform
Commits
495e4c27
Commit
495e4c27
authored
Dec 08, 2020
by
XieZhiXiong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
对接售后退货相关
parent
9c848afe
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
60 changed files
with
1881 additions
and
795 deletions
+1881
-795
index.ts
src/constants/index.ts
+193
-73
index.tsx
...ges/afterService/components/ExchangeDeliverInfo/index.tsx
+6
-6
index.tsx
...es/afterService/components/ExchangeReceivedInfo/index.tsx
+7
-7
index.tsx
...pages/afterService/components/ReturnAddressInfo/index.tsx
+2
-1
index.less
src/pages/afterService/components/ReturnAnalysis/index.less
+5
-15
index.tsx
src/pages/afterService/components/ReturnAnalysis/index.tsx
+0
-0
interface.d.ts
...ges/afterService/components/ReturnAnalysis/interface.d.ts
+142
-0
index.less
...pages/afterService/components/ReturnDetailInfo/index.less
+13
-1
index.tsx
src/pages/afterService/components/ReturnDetailInfo/index.tsx
+73
-52
index.less
...ents/ReturnInfoDrawer/components/SteamerTicket/index.less
+0
-0
index.tsx
...nents/ReturnInfoDrawer/components/SteamerTicket/index.tsx
+50
-0
index.ts
...afterService/components/ReturnInfoDrawer/effects/index.ts
+17
-0
useBusinessEffects.ts
...components/ReturnInfoDrawer/effects/useBusinessEffects.ts
+66
-0
index.tsx
src/pages/afterService/components/ReturnInfoDrawer/index.tsx
+93
-5
index.ts
.../afterService/components/ReturnInfoDrawer/schema/index.ts
+88
-80
constants.ts
src/pages/afterService/constants.ts
+91
-7
index.tsx
...rvice/exchangeApplication/components/DetailInfo/index.tsx
+2
-2
index.tsx
...ervice/exchangeApplication/exchangePrAddDeliver/index.tsx
+1
-1
index.ts
...exchangePrSubmit/components/ExchangeForm/effects/index.ts
+0
-14
useBusinessEffects.ts
...mit/components/ExchangeForm/effects/useBusinessEffects.ts
+1
-1
index.tsx
...cation/exchangePrSubmit/components/ExchangeForm/index.tsx
+2
-1
index.ts
.../exchangePrSubmit/components/ExchangeForm/schema/index.ts
+13
-3
index.tsx
...terService/exchangeManage/components/DetailInfo/index.tsx
+8
-2
index.tsx
...Service/returnApplication/components/DetailInfo/index.tsx
+0
-0
index.tsx
...terService/returnApplication/returnPrAddDeliver/index.tsx
+46
-22
index.tsx
...rService/returnApplication/returnPrAddLogistics/index.tsx
+7
-7
index.tsx
...erService/returnApplication/returnPrConfirmBack/index.tsx
+8
-8
verify.tsx
...rService/returnApplication/returnPrConfirmBack/verify.tsx
+1
-1
index.tsx
...Service/returnApplication/returnPrConfirmFinish/index.tsx
+9
-9
index.tsx
...Service/returnApplication/returnPrConfirmResult/index.tsx
+9
-9
detail.tsx
...afterService/returnApplication/returnPrDeliver/detail.tsx
+1
-1
index.tsx
.../afterService/returnApplication/returnPrDeliver/index.tsx
+9
-9
verify.tsx
...afterService/returnApplication/returnPrDeliver/verify.tsx
+1
-1
index.ts
...ion/returnPrSubmit/components/ReturnForm/effects/index.ts
+11
-15
useBusinessEffects.ts
...ubmit/components/ReturnForm/effects/useBusinessEffects.ts
+23
-13
index.tsx
...pplication/returnPrSubmit/components/ReturnForm/index.tsx
+0
-0
index.ts
...tion/returnPrSubmit/components/ReturnForm/schema/index.ts
+36
-38
index.tsx
...s/afterService/returnApplication/returnPrSubmit/index.tsx
+42
-13
index.tsx
...ages/afterService/returnApplication/returnQuery/index.tsx
+7
-7
index.tsx
...afterService/returnManage/components/DetailInfo/index.tsx
+123
-55
index.tsx
src/pages/afterService/returnManage/returnPr1/index.tsx
+6
-6
verify.tsx
src/pages/afterService/returnManage/returnPr1/verify.tsx
+1
-1
index.tsx
src/pages/afterService/returnManage/returnPr2/index.tsx
+6
-6
verify.tsx
src/pages/afterService/returnManage/returnPr2/verify.tsx
+2
-2
index.tsx
...fterService/returnManage/returnPrAddWarehousing/index.tsx
+67
-54
index.ts
...rvice/returnManage/returnPrAddWarehousing/schema/index.ts
+2
-2
index.tsx
...pages/afterService/returnManage/returnPrConfirm/index.tsx
+6
-6
verify.tsx
...ages/afterService/returnManage/returnPrConfirm/verify.tsx
+2
-2
index.tsx
...ages/afterService/returnManage/returnPrReceived/index.tsx
+29
-40
index.ts
...fterService/returnManage/returnPrReceived/schema/index.ts
+7
-9
verify.tsx
...ges/afterService/returnManage/returnPrReceived/verify.tsx
+1
-1
index.tsx
src/pages/afterService/returnManage/returnPrReturn/index.tsx
+26
-37
index.ts
.../afterService/returnManage/returnPrReturn/schema/index.ts
+7
-9
verify.tsx
...pages/afterService/returnManage/returnPrReturn/verify.tsx
+18
-14
index.tsx
src/pages/afterService/returnManage/returnPrSubmit/index.tsx
+7
-7
verify.tsx
...pages/afterService/returnManage/returnPrSubmit/verify.tsx
+43
-4
index.tsx
src/pages/afterService/returnManage/returnQuery/index.tsx
+30
-30
index.ts
...ges/afterService/returnManage/returnQuery/schema/index.ts
+1
-1
useBusinessEffects.ts
.../bills/components/BillsForm/effects/useBusinessEffects.ts
+127
-84
index.tsx
...ion/stockSellStorage/bills/components/BillsForm/index.tsx
+287
-1
No files found.
src/constants/index.ts
View file @
495e4c27
...
...
@@ -1342,79 +1342,6 @@ export const REPAIR_OUTER_STATUS = {
[
REPAIR_OUTER_STATUS_FINISHED
]:
'售后完成'
,
};
// 售后退货内部状态
/**
* 待提交退货
*/
export
const
RETURN_INNER_STATUS_UNCOMMITTED
=
1
;
/**
* 已提交
*/
export
const
RETURN_INNER_STATUS_COMMITTED
=
2
;
/**
* 一级审核通过
*/
export
const
RETURN_INNER_STATUS_SUCCESS_1
=
3
;
/**
* 二级审核通过
*/
export
const
RETURN_INNER_STATUS_SUCCESS_2
=
4
;
/**
* 审核不通过(不接受申请)
*/
export
const
RETURN_INNER_STATUS_FAILED
=
5
;
/**
* 确认审核通过
*/
export
const
RETURN_INNER_STATUS_CONFIRM_SUCCESS
=
6
;
/**
* 确认审核不通过
*/
export
const
RETURN_INNER_STATUS_CONFIRM_FAILED
=
7
;
/**
* 确认售后完成
*/
export
const
RETURN_INNER_STATUS_FINISHED
=
8
;
export
const
RETURN_INNER_STATUS
=
{
[
REPAIR_INNER_STATUS_UNCOMMITTED
]:
'待提交'
,
[
REPAIR_INNER_STATUS_COMMITTED
]:
'已提交'
,
[
REPAIR_INNER_STATUS_SUCCESS_1
]:
'一级审核通过'
,
[
REPAIR_INNER_STATUS_SUCCESS_2
]:
'二级审核通过'
,
[
REPAIR_INNER_STATUS_FAILED
]:
'审核不通过'
,
[
REPAIR_INNER_STATUS_CONFIRM_SUCCESS
]:
'确认审核通过'
,
[
REPAIR_INNER_STATUS_CONFIRM_FAILED
]:
'确认审核不通过'
,
[
REPAIR_INNER_STATUS_FINISHED
]:
'确认售后完成'
,
};
// 售后退货外部状态
/**
* 待提交申请单
*/
export
const
RETURN_OUTER_STATUS_UNCOMMITTED
=
1
;
/**
* 待确认
*/
export
const
RETURN_OUTER_STATUS_UNCONFIRMED
=
2
;
/**
* 不接受申请
*/
export
const
RETURN_OUTER_STATUS_FAILED
=
3
;
/**
* 接受申请
*/
export
const
RETURN_OUTER_STATUS_SUCCESS
=
4
;
/**
* 售后完成
*/
export
const
RETURN_OUTER_STATUS_FINISHED
=
5
;
export
const
RETURN_OUTER_STATUS
=
{
[
REPAIR_OUTER_STATUS_UNCOMMITTED
]:
'待提交'
,
[
REPAIR_OUTER_STATUS_UNCONFIRMED
]:
'待确认'
,
[
REPAIR_OUTER_STATUS_FAILED
]:
'不接受申请'
,
[
REPAIR_OUTER_STATUS_SUCCESS
]:
'接受申请'
,
[
REPAIR_OUTER_STATUS_FINISHED
]:
'售后完成'
,
};
// 售后换货内部状态
/**
* 待提交换货
...
...
@@ -1647,3 +1574,196 @@ export const EXCHANGE_OUTER_STATUS = {
[
EXCHANGE_OUTER_STATUS_UNCONFIRMED_FINISHED
]:
'待确认售后完成'
,
[
EXCHANGE_OUTER_STATUS_FINISHED
]:
'售后完成'
,
};
// 售后退货内部状态
/**
* 待提交换货
*/
export
const
RETURN_INNER_STATUS_UNCOMMITTED
=
1
;
/**
* 已提交
*/
export
const
RETURN_INNER_STATUS_COMMITTED
=
2
;
/**
* 一级审核通过
*/
export
const
RETURN_INNER_STATUS_SUCCESS_1
=
3
;
/**
* 二级审核通过
*/
export
const
RETURN_INNER_STATUS_SUCCESS_2
=
4
;
/**
* 审核不通过(不接受申请)
*/
export
const
RETURN_INNER_STATUS_FAILED
=
5
;
/**
* 确认审核通过
*/
export
const
RETURN_INNER_STATUS_CONFIRM_SUCCESS
=
6
;
/**
* 确认审核不通过
*/
export
const
RETURN_INNER_STATUS_CONFIRM_FAILED
=
7
;
/**
* 待新增退货发货单
*/
export
const
RETURN_INNER_STATUS_NOT_ADDED_RETURN_DELIVERY
=
8
;
/**
* 待审核退货发货单
*/
export
const
RETURN_INNER_STATUS_UNREVIEWED_RETURN_DELIVERY
=
9
;
/**
* 采购商待新增物流单
*/
export
const
RETURN_INNER_STATUS_CONSUMER_NOT_ADDED_LOGISTICS
=
10
;
/**
* 采购商待确认物流单
*/
export
const
RETURN_INNER_STATUS_CONSUMER_UNCONFIRMED_LOGISTICS
=
11
;
/**
* 待确认退货发货
*/
export
const
RETURN_INNER_STATUS_UNCONFIRMED_RETURN_DELIVERY
=
12
;
/**
* 待新增退货入库单
*/
export
const
RETURN_INNER_STATUS_NOT_ADDED_RETURN_STORAGE
=
13
;
/**
* 待审核退货入库单
*/
export
const
RETURN_INNER_STATUS_UNREVIEWED_RETURN_STORAGE
=
14
;
/**
* 待确认退货收货
*/
export
const
RETURN_INNER_STATUS_UNCONFIRMED_RETURN_RECEIVE
=
15
;
/**
* 待确认退货回单
*/
export
const
RETURN_INNER_STATUS_UNCONFIRMED_RETURN_RECEIPT
=
16
;
/**
* 待退款
*/
export
const
RETURN_INNER_STATUS_TO_BE_REFUNDED
=
17
;
/**
* 待确认退款
*/
export
const
RETURN_INNER_STATUS_UNCONFIRMED_REFUNDED
=
18
;
/**
* 退款失败
*/
export
const
RETURN_INNER_STATUS_REFUNDED_FAIL
=
19
;
/**
* 退款成功
*/
export
const
RETURN_INNER_STATUS_REFUNDED_SUCCESS
=
20
;
/**
* 待确认售后完成
*/
export
const
RETURN_INNER_STATUS_UNCONFIRMED_FINISHED
=
21
;
/**
* 已确认售后完成
*/
export
const
RETURN_INNER_STATUS_FINISHED
=
22
;
export
const
RETURN_INNER_STATUS
=
{
[
RETURN_INNER_STATUS_UNCOMMITTED
]:
'待提交'
,
[
RETURN_INNER_STATUS_COMMITTED
]:
'已提交'
,
[
RETURN_INNER_STATUS_SUCCESS_1
]:
'一级审核通过'
,
[
RETURN_INNER_STATUS_SUCCESS_2
]:
'二级审核通过'
,
[
RETURN_INNER_STATUS_FAILED
]:
'审核不通过'
,
[
RETURN_INNER_STATUS_CONFIRM_SUCCESS
]:
'确认审核通过'
,
[
RETURN_INNER_STATUS_CONFIRM_FAILED
]:
'确认审核不通过'
,
[
RETURN_INNER_STATUS_NOT_ADDED_RETURN_DELIVERY
]:
'待新增退货发货单'
,
[
RETURN_INNER_STATUS_UNREVIEWED_RETURN_DELIVERY
]:
'待审核退货发货单'
,
[
RETURN_INNER_STATUS_CONSUMER_NOT_ADDED_LOGISTICS
]:
'采购商待新增物流单'
,
[
RETURN_INNER_STATUS_CONSUMER_UNCONFIRMED_LOGISTICS
]:
'采购商待确认物流单'
,
[
RETURN_INNER_STATUS_UNCONFIRMED_RETURN_DELIVERY
]:
'待确认退货发货'
,
[
RETURN_INNER_STATUS_NOT_ADDED_RETURN_STORAGE
]:
'待新增退货入库单'
,
[
RETURN_INNER_STATUS_UNREVIEWED_RETURN_STORAGE
]:
'待审核退货入库单'
,
[
RETURN_INNER_STATUS_UNCONFIRMED_RETURN_RECEIVE
]:
'待确认退货收货'
,
[
RETURN_INNER_STATUS_UNCONFIRMED_RETURN_RECEIPT
]:
'待确认退货回单'
,
[
RETURN_INNER_STATUS_TO_BE_REFUNDED
]:
'待退款'
,
[
RETURN_INNER_STATUS_UNCONFIRMED_REFUNDED
]:
'待确认退款'
,
[
RETURN_INNER_STATUS_REFUNDED_FAIL
]:
'待确认退款'
,
[
RETURN_INNER_STATUS_REFUNDED_SUCCESS
]:
'待确认退款'
,
[
RETURN_INNER_STATUS_UNCONFIRMED_FINISHED
]:
'待确认售后完成'
,
[
RETURN_INNER_STATUS_FINISHED
]:
'已确认售后完成'
,
};
// 售后退货外部状态
/**
* 待提交
*/
export
const
RETURN_OUTER_STATUS_UNCOMMITTED
=
1
;
/**
* 待确认申请单
*/
export
const
RETURN_OUTER_UNCONFIRMED
=
2
;
/**
* 不接受申请
*/
export
const
RETURN_OUTER_STATUS_FAILED
=
3
;
/**
* 接受申请
*/
export
const
RETURN_OUTER_STATUS_SUCCESS
=
4
;
/**
* 待新增退货发货单
*/
export
const
RETURN_OUTER_STATUS_NOT_ADDED_RETURN_DELIVERY
=
5
;
/**
* 采购商待新增物流单
*/
export
const
RETURN_OUTER_STATUS_CONSUMER_NOT_ADDED_LOGISTICS
=
6
;
/**
* 待退货发货
*/
export
const
RETURN_OUTER_STATUS_RETURN_DELIVERY
=
7
;
/**
* 待新增退货入库单
*/
export
const
RETURN_OUTER_STATUS_NOT_ADDED_RETURN_STORAGE
=
8
;
/**
* 待退货收货
*/
export
const
RETURN_OUTER_STATUS_RETURN_RECEIVE
=
9
;
/**
* 待确认退货回单
*/
export
const
RETURN_OUTER_STATUS_UNCONFIRMED_RETURN_RECEIPT
=
10
;
/**
* 待退款
*/
export
const
RETURN_OUTER_STATUS_TO_BE_REFUNDED
=
11
;
/**
* 待确认退款
*/
export
const
RETURN_OUTER_STATUS_UNCONFIRMED_REFUNDED
=
12
;
/**
* 确认退款未到账
*/
export
const
RETURN_OUTER_STATUS_NOT_RECEIVED
=
13
;
/**
* 待确认售后完成
*/
export
const
RETURN_OUTER_STATUS_UNCONFIRMED_FINISHED
=
14
;
/**
* 售后完成
*/
export
const
RETURN_OUTER_STATUS_FINISHED
=
15
;
export
const
RETURN_OUTER_STATUS
=
{
[
RETURN_OUTER_STATUS_UNCOMMITTED
]:
'待提交'
,
[
RETURN_OUTER_UNCONFIRMED
]:
'待确认申请单'
,
[
RETURN_OUTER_STATUS_FAILED
]:
'不接受申请'
,
[
RETURN_OUTER_STATUS_SUCCESS
]:
'接受申请'
,
[
RETURN_OUTER_STATUS_NOT_ADDED_RETURN_DELIVERY
]:
'待新增退货发货单'
,
[
RETURN_OUTER_STATUS_CONSUMER_NOT_ADDED_LOGISTICS
]:
'采购商待新增物流单'
,
[
RETURN_OUTER_STATUS_RETURN_DELIVERY
]:
'待退货发货'
,
[
RETURN_OUTER_STATUS_NOT_ADDED_RETURN_STORAGE
]:
'待新增退货入库单'
,
[
RETURN_OUTER_STATUS_RETURN_RECEIVE
]:
'待退货收货'
,
[
RETURN_OUTER_STATUS_UNCONFIRMED_RETURN_RECEIPT
]:
'待确认退货回单'
,
[
RETURN_OUTER_STATUS_TO_BE_REFUNDED
]:
'待退款'
,
[
RETURN_OUTER_STATUS_UNCONFIRMED_REFUNDED
]:
'待确认退款'
,
[
RETURN_OUTER_STATUS_NOT_RECEIVED
]:
'确认退款未到账'
,
[
RETURN_OUTER_STATUS_UNCONFIRMED_FINISHED
]:
'待确认售后完成'
,
[
RETURN_OUTER_STATUS_FINISHED
]:
'售后完成'
,
}
src/pages/afterService/components/ExchangeDeliverInfo/index.tsx
View file @
495e4c27
...
...
@@ -14,9 +14,9 @@ import { EditableColumns } from '@/components/PolymericTable/interface';
import
PolymericTable
from
'@/components/PolymericTable'
;
import
EyePreview
from
'@/components/EyePreview'
;
import
{
EXCHANGE
_INNER_STATUS_UNCONFIRMED_DELIVER
,
EXCHANGE
_INNER_STATUS_CONFIRMED_RECEIVING
,
EXCHANGE
_INNER_STATUS_CONFIRMED_DELIVER
,
MAIL
_INNER_STATUS_UNCONFIRMED_DELIVER
,
MAIL
_INNER_STATUS_CONFIRMED_RECEIVING
,
MAIL
_INNER_STATUS_CONFIRMED_DELIVER
,
}
from
'../../constants'
;
import
styles
from
'./index.less'
;
...
...
@@ -282,7 +282,7 @@ const ExchangeDeliverInfo: React.FC<ExchangeDeliverInfoProps> = ({
<
Badge
color=
{
'#6C9CEB'
}
text=
{
item
.
innerStatusName
}
/>
</
Descriptions
.
Item
>
<
Descriptions
.
Item
>
{
item
.
innerStatus
===
EXCHANGE
_INNER_STATUS_UNCONFIRMED_DELIVER
&&
(
{
item
.
innerStatus
===
MAIL
_INNER_STATUS_UNCONFIRMED_DELIVER
&&
(
<
a
style=
{
{
textAlign
:
'right'
,
...
...
@@ -293,7 +293,7 @@ const ExchangeDeliverInfo: React.FC<ExchangeDeliverInfoProps> = ({
确认换货发货
</
a
>
)
}
{
item
.
innerStatus
===
EXCHANGE
_INNER_STATUS_CONFIRMED_DELIVER
&&
(
{
item
.
innerStatus
===
MAIL
_INNER_STATUS_CONFIRMED_DELIVER
&&
(
<
a
style=
{
{
textAlign
:
'right'
,
...
...
@@ -304,7 +304,7 @@ const ExchangeDeliverInfo: React.FC<ExchangeDeliverInfoProps> = ({
确认换货收货
</
a
>
)
}
{
item
.
innerStatus
===
EXCHANGE
_INNER_STATUS_CONFIRMED_RECEIVING
&&
(
{
item
.
innerStatus
===
MAIL
_INNER_STATUS_CONFIRMED_RECEIVING
&&
(
<
a
style=
{
{
textAlign
:
'right'
,
...
...
src/pages/afterService/components/ExchangeReceivedInfo/index.tsx
View file @
495e4c27
...
...
@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2020-11-05 15:18:15
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-12-0
3 16:19:41
* @LastEditTime: 2020-12-0
8 16:29:30
* @Description: 退货收货统计、退货发货明细
*/
import
React
from
'react'
;
...
...
@@ -17,9 +17,9 @@ import { EditableColumns } from '@/components/PolymericTable/interface';
import
PolymericTable
from
'@/components/PolymericTable'
;
import
EyePreview
from
'@/components/EyePreview'
;
import
{
EXCHANGE
_INNER_STATUS_UNCONFIRMED_DELIVER
,
EXCHANGE
_INNER_STATUS_CONFIRMED_DELIVER
,
EXCHANGE
_INNER_STATUS_CONFIRMED_RECEIVING
,
MAIL
_INNER_STATUS_UNCONFIRMED_DELIVER
,
MAIL
_INNER_STATUS_CONFIRMED_DELIVER
,
MAIL
_INNER_STATUS_CONFIRMED_RECEIVING
,
}
from
'../../constants'
;
import
styles
from
'./index.less'
;
...
...
@@ -292,7 +292,7 @@ const ExchangeReceivedInfo: React.FC<ExchangeReceivedInfoProps> = ({
<
Badge
color=
{
'#6C9CEB'
}
text=
{
item
.
innerStatusName
}
/>
</
Descriptions
.
Item
>
<
Descriptions
.
Item
>
{
item
.
innerStatus
===
EXCHANGE
_INNER_STATUS_UNCONFIRMED_DELIVER
&&
(
{
item
.
innerStatus
===
MAIL
_INNER_STATUS_UNCONFIRMED_DELIVER
&&
(
<
a
style=
{
{
textAlign
:
'right'
,
...
...
@@ -303,7 +303,7 @@ const ExchangeReceivedInfo: React.FC<ExchangeReceivedInfoProps> = ({
确认退货发货
</
a
>
)
}
{
item
.
innerStatus
===
EXCHANGE
_INNER_STATUS_CONFIRMED_DELIVER
&&
(
{
item
.
innerStatus
===
MAIL
_INNER_STATUS_CONFIRMED_DELIVER
&&
(
<
a
style=
{
{
textAlign
:
'right'
,
...
...
@@ -314,7 +314,7 @@ const ExchangeReceivedInfo: React.FC<ExchangeReceivedInfoProps> = ({
确认退货收货
</
a
>
)
}
{
item
.
innerStatus
===
EXCHANGE
_INNER_STATUS_CONFIRMED_RECEIVING
&&
(
{
item
.
innerStatus
===
MAIL
_INNER_STATUS_CONFIRMED_RECEIVING
&&
(
<
a
style=
{
{
textAlign
:
'right'
,
...
...
src/pages/afterService/components/ReturnAddressInfo/index.tsx
View file @
495e4c27
...
...
@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2020-11-06 09:54:04
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-12-0
4 18:00:18
* @LastEditTime: 2020-12-0
8 14:31:40
* @Description: 退货地址信息
*/
import
React
from
'react'
;
...
...
@@ -124,6 +124,7 @@ const ReturnAddressInfo: React.FC<ReturnAddressInfo> = ({
deliveryType
:
shippingAddress
.
deliveryType
,
deliveryAddress
:
deliveryAddress
.
id
,
}
}
previewPlaceholder=
" "
effects=
{
(
$
,
{
setFieldState
,
getFieldValue
})
=>
{
useAsyncSelect
(
'deliveryAddress'
,
fetchDeliveryAddress
,
[
'label'
,
'value'
]);
...
...
src/pages/afterService/components/ReturnAnalysis/index.less
View file @
495e4c27
.deliver {
&-item {
position: relative;
&-check {
position: absolute;
top: 0;
right: 0;
padding: 4px 12px;
background: #606266;
border-radius: 0px 4px 0px 4px;
color: #ffffff;
cursor: pointer;
}
}
.detailedWrap {
padding: 25px 24px 9px;
margin: 16px 0;
background-color: #F7F8FA;
}
\ No newline at end of file
src/pages/afterService/components/ReturnAnalysis/index.tsx
View file @
495e4c27
This diff is collapsed.
Click to expand it.
src/pages/afterService/components/ReturnAnalysis/interface.d.ts
0 → 100644
View file @
495e4c27
/*
* @Author: XieZhiXiong
* @Date: 2020-11-30 18:44:40
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-11-30 18:44:41
* @Description:
*/
export
interface
SummaryData
{
/**
* 订单号
*/
orderNo
:
string
/**
* 商品id
*/
productId
:
number
/**
* 商品名称
*/
productName
:
string
/**
* 品类
*/
category
:
string
/**
* 品牌
*/
brand
:
string
/**
* 单位
*/
unit
:
string
/**
* 退货数量
*/
returnCount
:
number
/**
* 发货数量
*/
deliveryCount
:
number
/**
* 未退货发货数量,(未退货发货=换货数量-已退货发货)
*/
unDeliveryCount
:
number
/**
* 收货数量
*/
receiveCount
:
number
/**
* 差异数量,(差异数量=已退货发货-已退货收货)
*/
differenceCount
:
number
}
export
interface
Detailed
{
/**
* 发货Id
*/
deliveryId
:
number
/**
* 批次
*/
batch
:
number
/**
* 发货单号
*/
deliveryNo
:
string
/**
* 发货时间(yyyy-MM-ddHH:mm)
*/
deliveryTime
:
string
/**
* 物流单号
*/
logisticsOrderNo
:
string
/**
* 物流公司
*/
logisticsName
:
string
/**
* 入库单号
*/
storageNo
:
string
/**
* 入库时间(yyyy-MM-ddHH:mm)
*/
storageTime
:
string
/**
* 内部状态
*/
innerStatus
:
number
/**
* 内部状态名称
*/
innerStatusName
:
string
/**
* 发货明细 ,DeliveryGoodsDetailVO
*/
detailList
:
{
/**
* 订单号
*/
orderNo
?:
string
/**
* 商品id
*/
productId
?:
number
/**
* 商品名称
*/
productName
?:
string
/**
* 品类
*/
category
?:
string
/**
* 品牌
*/
brand
?:
string
/**
* 单位
*/
unit
?:
string
/**
* 数量
*/
count
?:
number
/**
* 发货数量
*/
deliveryCount
?:
number
/**
* 入库数量
*/
storageCount
?:
number
/**
* 差异数量,(差异数量=发货数量-入库数量)
*/
differenceCount
?:
number
}[]
}
\ No newline at end of file
src/pages/afterService/components/ReturnDetailInfo/index.less
View file @
495e4c27
...
...
@@ -2,15 +2,26 @@
&-item {
position: relative;
&-
check
{
&-
actions
{
position: absolute;
top: 0;
right: 0;
}
&-check {
padding: 4px 12px;
background: #606266;
border-radius: 0px 4px 0px 4px;
color: #ffffff;
cursor: pointer;
}
&-return {
padding: 4px 12px;
background: #00B37A;
border-radius: 0px 4px 0px 4px;
color: #ffffff;
cursor: pointer;
}
}
}
\ No newline at end of file
src/pages/afterService/components/ReturnDetailInfo/index.tsx
View file @
495e4c27
...
...
@@ -2,12 +2,12 @@
* @Author: XieZhiXiong
* @Date: 2020-11-05 18:02:18
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-1
1-05 18:10:58
* @LastEditTime: 2020-1
2-08 18:30:16
* @Description: 退款明细
*/
import
React
from
'react'
;
import
{
Row
,
Col
}
from
'antd'
;
import
{
CaretRightOutlined
,
CaretDownOutlined
,
RightOutlined
}
from
'@ant-design/icons'
;
import
{
Row
,
Col
,
Modal
}
from
'antd'
;
import
{
CaretRightOutlined
,
CaretDownOutlined
,
RightOutlined
,
ExclamationCircleOutlined
}
from
'@ant-design/icons'
;
import
MellowCard
from
'@/components/MellowCard'
;
import
{
EditableColumns
}
from
'@/components/PolymericTable/interface'
;
import
PolymericTable
from
'@/components/PolymericTable'
;
...
...
@@ -16,14 +16,22 @@ import Stamp from '../Stamp';
import
DescribeLine
from
'../DescribeLine'
;
import
styles
from
'./index.less'
;
const
{
confirm
}
=
Modal
;
interface
ReturnDetailInfoProps
{
dataSource
:
{
[
key
:
string
]:
any
,
}[];
/**
* 退款事件
*/
onRefund
?:
(
id
:
number
)
=>
Promise
<
any
>
;
};
const
ReturnDetailInfo
:
React
.
FC
<
ReturnDetailInfoProps
>
=
({
dataSource
=
[],
dataSource
=
[],
onRefund
,
})
=>
{
const
columns
:
EditableColumns
[]
=
[
...
...
@@ -33,8 +41,8 @@ const ReturnDetailInfo: React.FC<ReturnDetailInfoProps> = ({
render
:
(
text
,
record
)
=>
text
,
},
{
title
:
'ID'
,
dataIndex
:
'
i
d'
,
title
:
'
商品
ID'
,
dataIndex
:
'
productI
d'
,
align
:
'center'
,
},
{
...
...
@@ -59,40 +67,53 @@ const ReturnDetailInfo: React.FC<ReturnDetailInfoProps> = ({
},
{
title
:
'采购数量'
,
dataIndex
:
'
num
'
,
dataIndex
:
'
purchaseCount
'
,
align
:
'center'
,
},
{
title
:
'采购单价'
,
dataIndex
:
'
returnAmount2
'
,
dataIndex
:
'
purchasePrice
'
,
align
:
'center'
,
},
{
title
:
'采购金额'
,
dataIndex
:
'
status3
'
,
dataIndex
:
'
purchaseAmount
'
,
align
:
'center'
,
},
{
title
:
'已支付金额'
,
dataIndex
:
'
reason2
'
,
dataIndex
:
'
payAmount
'
,
align
:
'center'
,
},
{
title
:
'退货数量'
,
dataIndex
:
're
ason1
'
,
dataIndex
:
're
turnCount
'
,
align
:
'center'
,
},
{
title
:
'退款金额'
,
dataIndex
:
're
ason1
'
,
dataIndex
:
're
fundAmount
'
,
align
:
'center'
,
},
];
const
handleRefund
=
id
=>
{
if
(
onRefund
)
{
confirm
({
title
:
'提示'
,
icon
:
<
ExclamationCircleOutlined
/>,
content
:
`是否确认退款?`
,
onOk
()
{
return
onRefund
(
id
);
},
});
}
};
return
(
<
MellowCard
title=
"退款明细"
>
<
PolymericTable
rowKey=
"id"
rowKey=
{
record
=>
`${record.orderNo}+${record.productId}`
}
dataSource=
{
dataSource
}
columns=
{
columns
}
loading=
{
false
}
...
...
@@ -106,48 +127,48 @@ const ReturnDetailInfo: React.FC<ReturnDetailInfoProps> = ({
),
expandedRowRender
:
record
=>
(
<
Row
gutter=
{
16
}
gutter=
{
[
16
,
16
]
}
className=
{
styles
.
deliver
}
>
<
Col
span=
{
8
}
className=
{
styles
[
'deliver-item'
]
}
>
<
Stamp
>
<
DescribeLine
column=
{
2
}
>
<
DescribeLine
.
Item
title=
"支付次数"
>
1
</
DescribeLine
.
Item
>
<
DescribeLine
.
Item
title=
"状态"
>
<
StatusTag
type=
"success"
title=
"确认退款到账"
/>
</
DescribeLine
.
Item
>
<
DescribeLine
.
Item
title=
"支付环节"
>
订单确认后支付
</
DescribeLine
.
Item
>
<
DescribeLine
.
Item
title=
"已支付金额(元)"
>
12,000
</
DescribeLine
.
Item
>
<
DescribeLine
.
Item
title=
"支付比例"
>
30%
</
DescribeLine
.
Item
>
<
DescribeLine
.
Item
title=
"退款金额(元)"
>
6,000
</
DescribeLine
.
Item
>
<
DescribeLine
.
Item
title=
"支付方式"
>
授信额度支付方式
</
DescribeLine
.
Item
>
<
DescribeLine
.
Item
title=
"退款时间"
>
2020-05-20 10:00
</
DescribeLine
.
Item
>
<
DescribeLine
.
Item
title=
"支付渠道"
>
授信额度支付
</
DescribeLine
.
Item
>
</
DescribeLine
>
{
record
.
detailList
.
map
(
item
=>
(
<
Col
span=
{
8
}
className=
{
styles
[
'deliver-item'
]
}
key=
{
item
.
refundId
}
>
<
Stamp
>
<
DescribeLine
column=
{
2
}
>
<
DescribeLine
.
Item
title=
"支付次数"
>
1
</
DescribeLine
.
Item
>
<
DescribeLine
.
Item
title=
"状态"
>
<
StatusTag
type=
"success"
title=
{
item
.
innerStatusName
}
/>
</
DescribeLine
.
Item
>
<
DescribeLine
.
Item
title=
"支付环节"
>
{
item
.
payNode
}
</
DescribeLine
.
Item
>
<
DescribeLine
.
Item
title=
"已支付金额(元)"
>
{
item
.
payAmount
}
</
DescribeLine
.
Item
>
<
DescribeLine
.
Item
title=
"支付比例"
>
{
item
.
payRatio
}
%
</
DescribeLine
.
Item
>
<
DescribeLine
.
Item
title=
"退款金额(元)"
>
{
item
.
refundAmount
}
</
DescribeLine
.
Item
>
<
DescribeLine
.
Item
title=
"支付方式"
>
{
item
.
payWayName
}
</
DescribeLine
.
Item
>
<
DescribeLine
.
Item
title=
"退款时间"
>
{
item
.
refundTime
}
</
DescribeLine
.
Item
>
<
DescribeLine
.
Item
title=
"支付渠道"
>
{
item
.
channelName
}
</
DescribeLine
.
Item
>
</
DescribeLine
>
<
div
className=
{
styles
[
'deliver-item-check'
]
}
>
查看
<
RightOutlined
/>
</
div
>
</
Stamp
>
</
Col
>
<
Col
span=
{
8
}
>
<
Stamp
>
<
DescribeLine
column=
{
2
}
>
<
DescribeLine
.
Item
title=
"支付次数"
>
1
</
DescribeLine
.
Item
>
<
DescribeLine
.
Item
title=
"状态"
>
<
StatusTag
type=
"success"
title=
"确认退款到账"
/>
</
DescribeLine
.
Item
>
<
DescribeLine
.
Item
title=
"支付环节"
>
订单确认后支付
</
DescribeLine
.
Item
>
<
DescribeLine
.
Item
title=
"已支付金额(元)"
>
12,000
</
DescribeLine
.
Item
>
<
DescribeLine
.
Item
title=
"支付比例"
>
30%
</
DescribeLine
.
Item
>
<
DescribeLine
.
Item
title=
"退款金额(元)"
>
6,000
</
DescribeLine
.
Item
>
<
DescribeLine
.
Item
title=
"支付方式"
>
授信额度支付方式
</
DescribeLine
.
Item
>
<
DescribeLine
.
Item
title=
"退款时间"
>
2020-05-20 10:00
</
DescribeLine
.
Item
>
<
DescribeLine
.
Item
title=
"支付渠道"
>
授信额度支付
</
DescribeLine
.
Item
>
</
DescribeLine
>
</
Stamp
>
</
Col
>
<
div
className=
{
styles
[
'deliver-item-actions'
]
}
>
<
div
className=
{
styles
[
'deliver-item-return'
]
}
onClick=
{
()
=>
handleRefund
(
item
.
refundId
)
}
>
退款
<
RightOutlined
/>
</
div
>
<
div
className=
{
styles
[
'deliver-item-check'
]
}
>
查看
<
RightOutlined
/>
</
div
>
</
div
>
</
Stamp
>
</
Col
>
))
}
</
Row
>
),
}
}
...
...
src/pages/afterService/components/ReturnInfoDrawer/components/SteamerTicket/index.less
0 → 100644
View file @
495e4c27
src/pages/afterService/components/ReturnInfoDrawer/components/SteamerTicket/index.tsx
0 → 100644
View file @
495e4c27
import
React
from
'react'
;
import
{
SchemaForm
,
SchemaField
,
FormPath
}
from
'@formily/antd'
;
import
{
toArr
}
from
'@formily/shared'
;
import
{
ArrayList
}
from
'@formily/react-shared-components'
;
import
Stamp
from
'../../../Stamp'
;
const
ArrayCustom
=
props
=>
{
const
{
value
,
schema
,
className
,
editable
,
path
,
mutators
}
=
props
;
const
{
renderAddition
,
renderRemove
,
renderMoveDown
,
renderMoveUp
,
renderEmpty
,
renderExtraOperations
,
...
componentProps
}
=
schema
.
getExtendsComponentProps
()
||
{};
return
(
<
ArrayList
value=
{
value
}
minItems=
{
schema
.
minItems
}
maxItems=
{
schema
.
maxItems
}
editable=
{
editable
}
components=
{
{}
}
renders=
{
{
renderAddition
,
renderRemove
,
renderMoveDown
,
renderMoveUp
,
renderEmpty
// 允许开发者覆盖默认
}
}
>
{
toArr
(
value
).
map
((
item
,
index
)
=>
{
return
(
<
div
{
...
componentProps
}
key=
{
index
}
>
<
Stamp
imprinted
>
<
SchemaField
path=
{
FormPath
.
parse
(
path
).
concat
(
index
)
}
/>
</
Stamp
>
</
div
>
)
})
}
</
ArrayList
>
)
}
ArrayCustom
.
isFieldComponent
=
true
;
export
default
ArrayCustom
;
\ No newline at end of file
src/pages/afterService/components/ReturnInfoDrawer/effects/index.ts
0 → 100644
View file @
495e4c27
/*
* @Author: XieZhiXiong
* @Date: 2020-12-07 15:59:30
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-11-19 15:18:29
* @Description:
*/
import
{
useBusinessEffects
}
from
'./useBusinessEffects'
;
import
{
useAsyncSelect
}
from
'@/formSchema/effects/useAsyncSelect'
;
import
{
PublicApi
}
from
'@/services/api'
;
export
const
createEffects
=
(
context
,
actions
)
=>
{
const
{
setFieldState
}
=
actions
;
useBusinessEffects
(
context
,
actions
);
};
\ No newline at end of file
src/pages/afterService/components/ReturnInfoDrawer/effects/useBusinessEffects.ts
0 → 100644
View file @
495e4c27
/*
* @Author: XieZhiXiong
* @Date: 2020-11-03 18:30:47
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-12-08 09:53:29
* @Description: 联动逻辑相关
*/
import
{
Modal
}
from
'antd'
;
import
{
FormEffectHooks
,
FormPath
}
from
'@formily/antd'
;
import
{
useLinkageUtils
}
from
'@/utils/formEffectUtils'
;
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
;
import
{
PublicApi
}
from
'@/services/api'
;
const
{
onFieldInputChange$
,
onFieldValueChange$
,
}
=
FormEffectHooks
;
export
const
useBusinessEffects
=
(
context
,
actions
)
=>
{
const
{
getFieldValue
,
setFieldValue
,
getFieldState
,
setFieldState
,
}
=
actions
;
const
linkage
=
useLinkageUtils
();
// 联动退款金额
onFieldValueChange$
(
'payList.*.refundAmount'
).
subscribe
(
fieldState
=>
{
const
payListValue
=
getFieldValue
(
'payList'
);
const
amount
=
payListValue
.
reduce
((
pre
,
now
)
=>
+
now
.
refundAmount
+
pre
,
0
);
setFieldValue
(
'returnAmount'
,
amount
);
});
// 退款数量 联动,支付信息里边的 退款金额
onFieldInputChange$
(
'returnCount'
).
subscribe
(
fieldState
=>
{
const
{
value
}
=
fieldState
;
const
purchasePriceValue
=
getFieldValue
(
'purchasePrice'
);
const
newData
=
[...
getFieldValue
(
'payList'
)].
map
(
item
=>
{
return
{
...
item
,
refundAmount
:
+
(
+
value
*
purchasePriceValue
*
(
item
.
payRatio
/
100
)).
toFixed
(
2
),
};
});
setFieldValue
(
'payList'
,
newData
);
});
// 校验退货数量
onFieldInputChange$
(
'returnCount'
).
subscribe
(
fieldState
=>
{
const
{
name
,
value
}
=
fieldState
;
// 采购数量
const
purchaseCountValue
=
getFieldValue
(
'purchaseCount'
);
setFieldState
(
'returnCount'
,
state
=>
{
if
(
+
value
>
purchaseCountValue
)
{
state
.
errors
=
'填写值已超过最大可退货数量,请重新填写'
;
}
else
{
state
.
errors
=
''
;
}
}
);
});
}
\ No newline at end of file
src/pages/afterService/components/ReturnInfoDrawer/index.tsx
View file @
495e4c27
...
...
@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2020-11-05 17:36:45
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-1
1-06 15:45:19
* @LastEditTime: 2020-1
2-07 18:19:57
* @Description: 查看退货数量与退款金额 抽屉
*/
import
React
from
'react'
;
...
...
@@ -10,21 +10,109 @@ import { Drawer, Button } from 'antd';
import
NiceForm
from
'@/components/NiceForm'
;
import
{
createFormActions
}
from
'@formily/antd'
;
import
schema
from
'./schema'
;
import
{
createEffects
}
from
'./effects'
;
import
Stamp
from
'../Stamp'
;
import
SteamerTicket
from
'./components/SteamerTicket'
;
import
styles
from
'./index.less'
;
const
schemaAction
=
createFormActions
();
export
interface
PayListItem
{
/**
* 支付次数
*/
payCount
:
number
,
/**
* 支付环节
*/
payNode
:
string
,
/**
* 支付比例
*/
payRatio
:
number
,
/**
* 支付金额
*/
payAmount
:
number
,
/**
* 支付方式
*/
payWay
:
string
,
/**
* 支付渠道
*/
channel
:
string
,
/**
* 支付时间
*/
payTime
:
string
,
/**
* 退款金额
*/
refundAmount
:
number
,
};
export
interface
OrderInfo
{
/**
* 列表索引
*/
index
:
number
;
/**
* 订单号
*/
orderNo
:
string
;
/**
* 订单id
*/
orderId
:
number
;
/**
* 商品名称
*/
productName
:
string
;
/**
* 品类
*/
category
:
string
;
/**
* 品牌
*/
brand
:
string
;
/**
* 单位
*/
unit
:
string
;
/**
* 采购数量
*/
purchaseCount
:
string
;
/**
* 采购单价
*/
purchasePrice
:
string
;
/**
* 采购金额
*/
purchaseAmount
:
string
;
/**
* 支付记录
*/
payList
:
PayListItem
;
};
interface
ReturnInfoDrawerProps
{
visible
:
boolean
;
orderInfo
:
OrderInfo
;
onClose
:
()
=>
void
;
onSubmit
?:
(
values
:
{
[
key
:
string
]:
any
})
=>
void
;
// 是否是编辑的
/**
* 是否是编辑的
*/
isEdit
?:
boolean
;
};
const
ReturnInfoDrawer
:
React
.
FC
<
ReturnInfoDrawerProps
>
=
({
visible
=
false
,
orderInfo
=
{},
onClose
,
onSubmit
,
isEdit
=
false
,
...
...
@@ -37,7 +125,6 @@ const ReturnInfoDrawer: React.FC<ReturnInfoDrawerProps> = ({
};
const
handleSubmit
=
values
=>
{
console
.
log
(
'values'
,
values
)
if
(
onSubmit
)
{
onSubmit
(
values
);
}
...
...
@@ -73,13 +160,14 @@ const ReturnInfoDrawer: React.FC<ReturnInfoDrawerProps> = ({
}
>
<
NiceForm
initialValues=
{
{}
}
initialValues=
{
orderInfo
}
components=
{
{
Stamp
,
SteamerTicket
,
}
}
editable=
{
isEdit
}
effects=
{
(
$
,
actions
)
=>
{
createEffects
(
$
,
actions
);
}
}
onSubmit=
{
handleSubmit
}
actions=
{
schemaAction
}
...
...
src/pages/afterService/components/ReturnInfoDrawer/schema/index.ts
View file @
495e4c27
...
...
@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2020-11-06 14:20:17
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-1
1-06 15:40:09
* @LastEditTime: 2020-1
2-08 10:07:44
* @Description:
*/
import
{
ISchema
}
from
'@formily/antd'
;
...
...
@@ -36,63 +36,67 @@ const schema: ISchema = {
orderNo
:
{
type
:
'string'
,
title
:
'订单号'
,
default
:
'SPTY12'
,
'x-component'
:
'Text'
,
},
productName
:
{
type
:
'string'
,
title
:
'商品名称'
,
default
:
'进口头层牛皮荔枝纹/红色/XL'
,
'x-component'
:
'Text'
,
},
category
:
{
type
:
'string'
,
title
:
'品类'
,
default
:
'牛皮'
,
'x-component'
:
'Text'
,
},
brand
:
{
type
:
'string'
,
title
:
'品牌'
,
default
:
'阿比巴斯'
,
'x-component'
:
'Text'
,
},
unit
:
{
type
:
'string'
,
title
:
'单位'
,
default
:
'尺'
,
'x-component'
:
'Text'
,
},
quantity
:
{
purchaseCount
:
{
type
:
'string'
,
title
:
'采购数量'
,
default
:
'2,000'
,
'x-component'
:
'Text'
,
},
price
:
{
p
urchaseP
rice
:
{
type
:
'string'
,
title
:
'采购单价'
,
default
:
'¥ 20.00'
,
'x-component'
:
'Text'
,
editable
:
false
,
'x-component-props'
:
{
addonBefore
:
'¥ '
},
},
a
mount
:
{
purchaseA
mount
:
{
type
:
'string'
,
title
:
'采购金额'
,
default
:
'¥ 40,000.00'
,
'x-component'
:
'Text'
,
editable
:
false
,
'x-component-props'
:
{
addonBefore
:
'¥ '
},
},
return
Num
:
{
return
Count
:
{
type
:
'string'
,
title
:
'退货数量'
,
'x-component-props'
:
{
allowClear
:
true
,
style
:
{
maxWidth
:
150
,
},
},
'x-rules'
:
[
{
required
:
true
,
message
:
'请填写退货数量'
,
},
},
{
pattern
:
PATTERN_MAPS
.
quantity
,
message
:
'请填写
大于等于1的正整
数'
,
},
pattern
:
PATTERN_MAPS
.
weight
,
message
:
'请填写
正数,最多保留3位小
数'
,
},
],
},
},
...
...
@@ -106,68 +110,73 @@ const schema: ISchema = {
tab
:
'支付信息'
,
},
properties
:
{
STAMP_1
:
{
type
:
'object'
,
'x-component'
:
'Stamp'
,
'x-component-props'
:
{
imprinted
:
true
,
},
properties
:
{
MEGA_LAYOUT_1
:
{
type
:
'object'
,
'x-component'
:
'Mega-Layout'
,
'x-component-props'
:
{
labelCol
:
6
,
wrapperCol
:
18
,
grid
:
true
,
columns
:
2
,
autoRow
:
true
,
},
properties
:
{
payCount
:
{
type
:
'string'
,
title
:
'支付次数'
,
default
:
'1'
,
'x-component'
:
'Text'
,
},
payLink
:
{
type
:
'string'
,
title
:
'支付环节'
,
default
:
'1'
,
'x-component'
:
'Text'
,
},
payProportion
:
{
type
:
'string'
,
title
:
'支付比例'
,
default
:
'1'
,
'x-component'
:
'Text'
,
},
payWay
:
{
type
:
'string'
,
title
:
'支付方式'
,
default
:
'1'
,
'x-component'
:
'Text'
,
payList
:
{
type
:
'array'
,
'x-component'
:
'SteamerTicket'
,
items
:
{
type
:
'object'
,
properties
:
{
MEGA_LAYOUT_2
:
{
'x-component'
:
'Mega-Layout'
,
'x-component-props'
:
{
labelCol
:
6
,
wrapperCol
:
14
,
grid
:
true
,
columns
:
2
,
autoRow
:
true
,
},
payReturnAmount
:
{
type
:
'string'
,
title
:
'退款金额(元)'
,
properties
:
{
payCount
:
{
type
:
'string'
,
title
:
'支付次数'
,
'x-component'
:
'Text'
,
},
payNode
:
{
type
:
'string'
,
title
:
'支付环节'
,
'x-component'
:
'Text'
,
},
payRatio
:
{
type
:
'string'
,
title
:
'支付比例'
,
editable
:
false
,
'x-component-props'
:
{
addonAfter
:
'%'
},
},
payAmount
:
{
type
:
'string'
,
title
:
'支付金额'
,
editable
:
false
,
'x-component-props'
:
{
addonBefore
:
'¥ '
},
},
payWay
:
{
type
:
'string'
,
title
:
'支付方式'
,
'x-component'
:
'Text'
,
},
channel
:
{
type
:
'string'
,
title
:
'支付渠道'
,
'x-component'
:
'Text'
,
},
refundAmount
:
{
type
:
'string'
,
title
:
'退款金额(元)'
,
},
payTime
:
{
type
:
'string'
,
title
:
'支付时间'
,
default
:
+
new
Date
(),
'x-component'
:
'Text'
,
},
},
payChannel
:
{
type
:
'string'
,
title
:
'支付渠道'
,
default
:
'授信额度支付'
,
'x-component'
:
'Text'
,
},
payTime
:
{
type
:
'string'
,
title
:
'支付时间'
,
default
:
'2020-05-20 10:00'
,
'x-component'
:
'Text'
,
},
},
}
},
},
},
},
},
},
},
'tab-3'
:
{
...
...
@@ -187,10 +196,9 @@ const schema: ISchema = {
returnAmount
:
{
type
:
'string'
,
title
:
'退款金额(元)'
,
default
:
'20,000.00'
,
'x-component'
:
'Text'
,
},
reason
:
{
re
turnRe
ason
:
{
type
:
'string'
,
title
:
'退货原因'
,
'x-component'
:
'textarea'
,
...
...
src/pages/afterService/constants.ts
View file @
495e4c27
...
...
@@ -60,6 +60,45 @@ import {
EXCHANGE_INNER_STATUS_UNCONFIRMED_REPLACE_RECEIPT
,
EXCHANGE_INNER_STATUS_UNCONFIRMED_FINISHED
,
EXCHANGE_INNER_STATUS_FINISHED
,
RETURN_INNER_STATUS_UNCOMMITTED
,
RETURN_INNER_STATUS_COMMITTED
,
RETURN_INNER_STATUS_SUCCESS_1
,
RETURN_INNER_STATUS_SUCCESS_2
,
RETURN_INNER_STATUS_FAILED
,
RETURN_INNER_STATUS_CONFIRM_SUCCESS
,
RETURN_INNER_STATUS_CONFIRM_FAILED
,
RETURN_INNER_STATUS_NOT_ADDED_RETURN_DELIVERY
,
RETURN_INNER_STATUS_UNREVIEWED_RETURN_DELIVERY
,
RETURN_INNER_STATUS_CONSUMER_NOT_ADDED_LOGISTICS
,
RETURN_INNER_STATUS_CONSUMER_UNCONFIRMED_LOGISTICS
,
RETURN_INNER_STATUS_UNCONFIRMED_RETURN_DELIVERY
,
RETURN_INNER_STATUS_NOT_ADDED_RETURN_STORAGE
,
RETURN_INNER_STATUS_UNREVIEWED_RETURN_STORAGE
,
RETURN_INNER_STATUS_UNCONFIRMED_RETURN_RECEIVE
,
RETURN_INNER_STATUS_UNCONFIRMED_RETURN_RECEIPT
,
RETURN_INNER_STATUS_TO_BE_REFUNDED
,
RETURN_INNER_STATUS_UNCONFIRMED_REFUNDED
,
RETURN_INNER_STATUS_REFUNDED_FAIL
,
RETURN_INNER_STATUS_REFUNDED_SUCCESS
,
RETURN_INNER_STATUS_UNCONFIRMED_FINISHED
,
RETURN_INNER_STATUS_FINISHED
,
RETURN_OUTER_STATUS_UNCOMMITTED
,
RETURN_OUTER_UNCONFIRMED
,
RETURN_OUTER_STATUS_FAILED
,
RETURN_OUTER_STATUS_SUCCESS
,
RETURN_OUTER_STATUS_NOT_ADDED_RETURN_DELIVERY
,
RETURN_OUTER_STATUS_CONSUMER_NOT_ADDED_LOGISTICS
,
RETURN_OUTER_STATUS_RETURN_DELIVERY
,
RETURN_OUTER_STATUS_NOT_ADDED_RETURN_STORAGE
,
RETURN_OUTER_STATUS_RETURN_RECEIVE
,
RETURN_OUTER_STATUS_UNCONFIRMED_RETURN_RECEIPT
,
RETURN_OUTER_STATUS_TO_BE_REFUNDED
,
RETURN_OUTER_STATUS_UNCONFIRMED_REFUNDED
,
RETURN_OUTER_STATUS_NOT_RECEIVED
,
RETURN_OUTER_STATUS_UNCONFIRMED_FINISHED
,
RETURN_OUTER_STATUS_FINISHED
,
}
from
'@/constants'
;
// 售后维修外部状态 StatusTag map
...
...
@@ -105,7 +144,7 @@ export const EXCHANGE_OUTER_STATUS_TAG_MAP = {
[
EXCHANGE_OUTER_STATUS_FINISHED
]:
'success'
,
};
// 售后换货
外
部状态 Badge map
// 售后换货
内
部状态 Badge map
export
const
EXCHANGE_INNER_STATUS_BADGE_MAP
=
{
[
EXCHANGE_INNER_STATUS_UNCOMMITTED
]:
'#669EDE'
,
[
EXCHANGE_INNER_STATUS_COMMITTED
]:
'#41CC9E'
,
...
...
@@ -136,20 +175,65 @@ export const EXCHANGE_INNER_STATUS_BADGE_MAP = {
[
EXCHANGE_INNER_STATUS_FINISHED
]:
'#41CC9E'
,
};
//
换
货明细内部状态
//
退
货明细内部状态
/**
* 未确认发货
*/
export
const
EXCHANGE
_INNER_STATUS_UNCONFIRMED_DELIVER
=
1
;
export
const
MAIL
_INNER_STATUS_UNCONFIRMED_DELIVER
=
1
;
/**
* 已确认发货
*/
export
const
EXCHANGE
_INNER_STATUS_CONFIRMED_DELIVER
=
2
;
export
const
MAIL
_INNER_STATUS_CONFIRMED_DELIVER
=
2
;
/**
* 已确认收货
*/
export
const
EXCHANGE
_INNER_STATUS_CONFIRMED_RECEIVING
=
3
;
export
const
MAIL
_INNER_STATUS_CONFIRMED_RECEIVING
=
3
;
/**
* 确认回单
*/
export
const
EXCHANGE_INNER_STATUS_CONFIRMED_BACK
=
4
;
\ No newline at end of file
export
const
MAIL_INNER_STATUS_CONFIRMED_BACK
=
4
;
// 售后退货外部状态 StatusTag map
export
const
RETURN_OUTER_STATUS_TAG_MAP
=
{
[
RETURN_OUTER_STATUS_UNCOMMITTED
]:
'default'
,
[
RETURN_OUTER_UNCONFIRMED
]:
'primary'
,
[
RETURN_OUTER_STATUS_FAILED
]:
'danger'
,
[
RETURN_OUTER_STATUS_SUCCESS
]:
'primary'
,
[
RETURN_OUTER_STATUS_NOT_ADDED_RETURN_DELIVERY
]:
'danger'
,
[
RETURN_OUTER_STATUS_CONSUMER_NOT_ADDED_LOGISTICS
]:
'warning'
,
[
RETURN_OUTER_STATUS_RETURN_DELIVERY
]:
'danger'
,
[
RETURN_OUTER_STATUS_NOT_ADDED_RETURN_STORAGE
]:
'danger'
,
[
RETURN_OUTER_STATUS_RETURN_RECEIVE
]:
'danger'
,
[
RETURN_OUTER_STATUS_UNCONFIRMED_RETURN_RECEIPT
]:
'danger'
,
[
RETURN_OUTER_STATUS_TO_BE_REFUNDED
]:
'danger'
,
[
RETURN_OUTER_STATUS_UNCONFIRMED_REFUNDED
]:
'primary'
,
[
RETURN_OUTER_STATUS_NOT_RECEIVED
]:
'warning'
,
[
RETURN_OUTER_STATUS_UNCONFIRMED_FINISHED
]:
'primary'
,
[
RETURN_OUTER_STATUS_FINISHED
]:
'success'
,
};
// 售后退货内部状态 Badge map
export
const
RETURN_INNER_STATUS_BADGE_MAP
=
{
[
RETURN_INNER_STATUS_UNCOMMITTED
]:
'#669EDE'
,
[
RETURN_INNER_STATUS_COMMITTED
]:
'#41CC9E'
,
[
RETURN_INNER_STATUS_SUCCESS_1
]:
'#41CC9E'
,
[
RETURN_INNER_STATUS_SUCCESS_2
]:
'#41CC9E'
,
[
RETURN_INNER_STATUS_FAILED
]:
'#EF6260'
,
[
RETURN_INNER_STATUS_CONFIRM_SUCCESS
]:
'#41CC9E'
,
[
RETURN_INNER_STATUS_CONFIRM_FAILED
]:
'#EF6260'
,
[
RETURN_INNER_STATUS_NOT_ADDED_RETURN_DELIVERY
]:
'#E63F3B'
,
[
RETURN_INNER_STATUS_UNREVIEWED_RETURN_DELIVERY
]:
'#FF991F'
,
[
RETURN_INNER_STATUS_CONSUMER_NOT_ADDED_LOGISTICS
]:
'#E63F3B'
,
[
RETURN_INNER_STATUS_CONSUMER_UNCONFIRMED_LOGISTICS
]:
'#6C9CEB'
,
[
RETURN_INNER_STATUS_UNCONFIRMED_RETURN_DELIVERY
]:
'#6C9CEB'
,
[
RETURN_INNER_STATUS_NOT_ADDED_RETURN_STORAGE
]:
'#E63F3B'
,
[
RETURN_INNER_STATUS_UNREVIEWED_RETURN_STORAGE
]:
'#FF991F'
,
[
RETURN_INNER_STATUS_UNCONFIRMED_RETURN_RECEIVE
]:
'#6C9CEB'
,
[
RETURN_INNER_STATUS_UNCONFIRMED_RETURN_RECEIPT
]:
'#6C9CEB'
,
[
RETURN_INNER_STATUS_TO_BE_REFUNDED
]:
'#E63F3B'
,
[
RETURN_INNER_STATUS_UNCONFIRMED_REFUNDED
]:
'#6C9CEB'
,
[
RETURN_INNER_STATUS_REFUNDED_FAIL
]:
'#EF6260'
,
[
RETURN_INNER_STATUS_REFUNDED_SUCCESS
]:
'#41CC9E'
,
[
RETURN_INNER_STATUS_UNCONFIRMED_FINISHED
]:
'#6C9CEB'
,
[
RETURN_INNER_STATUS_FINISHED
]:
'#41CC9E'
,
};
\ No newline at end of file
src/pages/afterService/exchangeApplication/components/DetailInfo/index.tsx
View file @
495e4c27
...
...
@@ -217,7 +217,7 @@ const DetailInfo: React.FC<DetailInfoProps> = ({
const
fetchOuterHistory
=
(
params
):
Promise
<
OuterHistoryData
>
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
PublicApi
.
getAsRe
turn
GoodsPageOuterWorkflowRecord
({
PublicApi
.
getAsRe
place
GoodsPageOuterWorkflowRecord
({
...
params
,
dataId
:
id
,
})
...
...
@@ -235,7 +235,7 @@ const DetailInfo: React.FC<DetailInfoProps> = ({
const
fetchInnerHistory
=
(
params
):
Promise
<
InnerHistoryData
>
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
PublicApi
.
getAsRe
turn
GoodsPageInnerWorkflowRecord
({
PublicApi
.
getAsRe
place
GoodsPageInnerWorkflowRecord
({
...
params
,
dataId
:
id
,
})
...
...
src/pages/afterService/exchangeApplication/exchangePrAddDeliver/index.tsx
View file @
495e4c27
...
...
@@ -132,7 +132,7 @@ const ExchangePrAddDeliver: React.FC = () => {
onClick=
{
()
=>
history
.
push
(
`/memberCenter/tranactionAbility/stockSellStorage/bills/add?relevanceInvoicesId=${record.replaceId}&invoicesTypeId=${DOC_TYPE_EXCHANGE_RETURN_INVOICE}&relevanceInvoices=${DEPENDENT_DOC_EXCHANGE}`
)
}
}
>
新增
</
Button
>
...
...
src/pages/afterService/exchangeApplication/exchangePrSubmit/components/ExchangeForm/effects/index.ts
View file @
495e4c27
...
...
@@ -9,20 +9,6 @@ import { useBusinessEffects } from './useBusinessEffects';
import
{
useAsyncSelect
}
from
'@/formSchema/effects/useAsyncSelect'
;
import
{
PublicApi
}
from
'@/services/api'
;
// 获取单据类型
const
fetchInvoicesType
=
():
Promise
<
any
[]
>
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
PublicApi
.
getWarehouseInvoicesTypeAll
().
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
resolve
(
res
.
data
);
}
reject
();
}).
catch
(()
=>
{
reject
();
});
});
};
export
const
createEffects
=
(
context
,
actions
)
=>
{
const
{
setFieldState
}
=
actions
;
...
...
src/pages/afterService/exchangeApplication/exchangePrSubmit/components/ExchangeForm/effects/useBusinessEffects.ts
View file @
495e4c27
...
...
@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2020-11-03 18:30:47
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-1
1-19 15:47
:21
* @LastEditTime: 2020-1
2-08 13:51
:21
* @Description: 联动逻辑相关
*/
import
{
Modal
}
from
'antd'
;
...
...
src/pages/afterService/exchangeApplication/exchangePrSubmit/components/ExchangeForm/index.tsx
View file @
495e4c27
...
...
@@ -10,7 +10,7 @@ import { SaveOutlined, PlusOutlined } from '@ant-design/icons';
import
{
createFormActions
,
FormEffectHooks
}
from
'@formily/antd'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
{
GetAsReplaceGoodsPageReturnedGoodsResponse
}
from
'@/services/AfterServiceApi'
;
import
{
normalizeFiledata
,
FileData
,
isJSONStr
}
from
'@/utils'
import
{
normalizeFiledata
,
FileData
,
isJSONStr
}
from
'@/utils'
;
import
{
PurchaseOrderInsideWorkStateTexts
,
ORDER_TYPE2
}
from
'@/constants'
;
import
ReutrnEle
from
'@/components/ReturnEle'
;
import
StatusTag
from
'@/components/StatusTag'
;
...
...
@@ -215,6 +215,7 @@ const ExchangeForm: React.FC<BillsFormProps> = ({
phone
:
returnGoodsAddress
.
sendUserTel
,
receiverName
:
returnGoodsAddress
.
sendUserName
,
}
:
undefined
,
deliveryType
:
returnGoodsAddress
.
deliveryType
,
supplierMember
:
supplierName
?
[
...
...
src/pages/afterService/exchangeApplication/exchangePrSubmit/components/ExchangeForm/schema/index.ts
View file @
495e4c27
...
...
@@ -378,7 +378,7 @@ export const addBillSchema: ISchema = {
tab
:
'退货收货地址'
,
},
properties
:
{
MEGA_LAYOUT
3
:
{
MEGA_LAYOUT
4
:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
'x-component-props'
:
{
...
...
@@ -390,13 +390,22 @@ export const addBillSchema: ISchema = {
deliveryType
:
{
title
:
'配送方式'
,
type
:
'string'
,
default
:
1
,
enum
:
DELIVERY_TYPE_ENUM
,
enum
:
DELIVERY_TYPE_ENUM
,
'x-component-props'
:
{
placeholder
:
'请选择'
,
},
'x-rules'
:
[
{
required
:
true
,
message
:
'请选择配送方式'
,
},
],
},
// 退货发货地址
shippingAddress
:
{
title
:
'退货发货地址'
,
type
:
'string'
,
visible
:
false
,
'x-component'
:
'AddressFormItem'
,
'x-component-props'
:
{
dataSource
:
[],
...
...
@@ -412,6 +421,7 @@ export const addBillSchema: ISchema = {
pickupAddress
:
{
title
:
'退货自提地址'
,
type
:
'string'
,
visible
:
false
,
'x-component'
:
'AddressFormItem'
,
'x-component-props'
:
{
dataSource
:
[],
...
...
src/pages/afterService/exchangeManage/components/DetailInfo/index.tsx
View file @
495e4c27
...
...
@@ -121,14 +121,20 @@ const DetailInfo: React.FC<DetailInfoProps> = ({
if
(
!
isEdit
||
!
id
)
{
return
;
}
const
msg
=
message
.
loading
({
content
:
'正在更改'
,
duration
:
0
,
});
PublicApi
.
postAsReplaceGoodsSetNeedReturnGoods
({
replaceId
:
+
id
,
replaceGoodsId
:
record
.
product
Id
,
replaceGoodsId
:
record
.
detail
Id
,
isNeed
:
record
.
isNeedReturn
===
1
?
0
:
1
,
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
getReplaceGoods
();
}
}).
finally
(()
=>
{
msg
();
});
};
...
...
@@ -210,7 +216,7 @@ const DetailInfo: React.FC<DetailInfoProps> = ({
{
!
isEdit
?
(
text
)
:
(
<
Switch
checked=
{
text
}
onChange=
{
()
=>
handleReturn
(
record
)
}
/>
<
Switch
checked=
{
record
.
isNeedReturn
}
onChange=
{
()
=>
handleReturn
(
record
)
}
/>
)
}
</>
),
...
...
src/pages/afterService/returnApplication/components/DetailInfo/index.tsx
View file @
495e4c27
This diff is collapsed.
Click to expand it.
src/pages/afterService/returnApplication/returnPrAddDeliver/index.tsx
View file @
495e4c27
...
...
@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2020-11-06 16:30:44
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-1
1-17 17:20:43
* @LastEditTime: 2020-1
2-08 15:56:51
* @Description: 待新增退货发货单
*/
import
React
,
{
useState
,
useRef
}
from
'react'
;
...
...
@@ -18,6 +18,12 @@ import { ColumnType } from 'antd/lib/table/interface';
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
{
createFormActions
}
from
'@formily/antd'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
{
DOC_TYPE_RETURN_INVOICE
,
DEPENDENT_DOC_RETURN
,
RETURN_INNER_STATUS_NOT_ADDED_RETURN_DELIVERY
,
RETURN_INNER_STATUS_UNREVIEWED_RETURN_DELIVERY
,
}
from
'@/constants'
;
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
EyePreview
from
'@/components/EyePreview'
;
...
...
@@ -25,9 +31,9 @@ import NiceForm from '@/components/NiceForm';
import
StatusTag
from
'@/components/StatusTag'
;
import
{
listSearchSchema
}
from
'./schema'
;
import
{
CREDIT
_OUTER_STATUS_TAG_MAP
,
CREDIT
_INNER_STATUS_BADGE_MAP
,
}
from
'../../contants'
;
RETURN
_OUTER_STATUS_TAG_MAP
,
RETURN
_INNER_STATUS_BADGE_MAP
,
}
from
'../../con
s
tants'
;
import
styles
from
'./index.less'
;
const
{
confirm
}
=
Modal
;
...
...
@@ -41,9 +47,20 @@ const ReturnPrAddDeliver: React.FC = () => {
confirm
({
title
:
'确认审核操作'
,
icon
:
<
ExclamationCircleOutlined
/>,
content
:
`是否确认审核退货发货单号为
${
'FH5421039'
}
的退货发货单?`
,
content
:
`是否确认审核退货发货单号为
${
record
.
returnDeliveryNo
}
的退货发货单?`
,
onOk
()
{
// do something
return
new
Promise
((
resolve
,
reject
)
=>
{
PublicApi
.
postAsReturnGoodsVerifyReturnDeliveryGoods
({
dataId
:
record
.
returnId
,
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
ref
.
current
.
reload
();
}
resolve
(
res
);
}).
catch
(
err
=>
{
reject
(
err
);
});
});
},
});
};
...
...
@@ -56,7 +73,7 @@ const ReturnPrAddDeliver: React.FC = () => {
render
:
(
text
,
record
)
=>
(
<>
<
EyePreview
url=
{
`/memberCenter/afterService/returnApplication/returnPrAddDeliver/detail?id=${record.
i
d}`
}
url=
{
`/memberCenter/afterService/returnApplication/returnPrAddDeliver/detail?id=${record.
returnI
d}`
}
>
{
text
}
</
EyePreview
>
...
...
@@ -99,33 +116,40 @@ const ReturnPrAddDeliver: React.FC = () => {
dataIndex
:
'outerStatusName'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
(
<
StatusTag
type=
"success"
title=
"售后完成"
/>
<
StatusTag
type=
{
RETURN_OUTER_STATUS_TAG_MAP
[
record
.
outerStatus
]
}
title=
{
text
}
/>
),
},
{
title
:
'内部状态'
,
dataIndex
:
'innerStatusName'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
<
Badge
color=
{
'#6C9CEB'
}
text=
"待确认售后完成"
/>,
},
render
:
(
text
,
record
)
=>
<
Badge
color=
{
RETURN_INNER_STATUS_BADGE_MAP
[
record
.
innerStatus
]
}
text=
{
text
}
/>,
},
{
title
:
'操作'
,
dataIndex
:
'option'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
(
<>
<
Button
type=
"link"
onClick=
{
()
=>
()
=>
history
.
push
(
``
)
}
>
新增
</
Button
>
<
Button
type=
"link"
onClick=
{
()
=>
handleVerify
(
record
.
id
)
}
>
审核
</
Button
>
{
record
.
innerStatus
===
RETURN_INNER_STATUS_NOT_ADDED_RETURN_DELIVERY
&&
(
<
Button
type=
"link"
onClick=
{
()
=>
history
.
push
(
`/memberCenter/tranactionAbility/stockSellStorage/bills/add?relevanceInvoicesId=${record.returnId}&invoicesTypeId=${DOC_TYPE_RETURN_INVOICE}&relevanceInvoices=${DEPENDENT_DOC_RETURN}`
)
}
>
新增
</
Button
>
)
}
{
record
.
innerStatus
===
RETURN_INNER_STATUS_UNREVIEWED_RETURN_DELIVERY
&&
(
<
Button
type=
"link"
onClick=
{
()
=>
handleVerify
(
record
)
}
>
审核
</
Button
>
)
}
</>
),
},
...
...
src/pages/afterService/returnApplication/returnPrAddLogistics/index.tsx
View file @
495e4c27
...
...
@@ -24,9 +24,9 @@ import NiceForm from '@/components/NiceForm';
import
StatusTag
from
'@/components/StatusTag'
;
import
{
listSearchSchema
}
from
'./schema'
;
import
{
CREDIT
_OUTER_STATUS_TAG_MAP
,
CREDIT
_INNER_STATUS_BADGE_MAP
,
}
from
'../../contants'
;
RETURN
_OUTER_STATUS_TAG_MAP
,
RETURN
_INNER_STATUS_BADGE_MAP
,
}
from
'../../con
s
tants'
;
import
styles
from
'./index.less'
;
const
formActions
=
createFormActions
();
...
...
@@ -42,7 +42,7 @@ const ReturnPrAddLogistics: React.FC = () => {
render
:
(
text
,
record
)
=>
(
<>
<
EyePreview
url=
{
`/memberCenter/afterService/returnApplication/returnPrAddLogistics/detail?id=${record.
i
d}`
}
url=
{
`/memberCenter/afterService/returnApplication/returnPrAddLogistics/detail?id=${record.
returnI
d}`
}
>
{
text
}
</
EyePreview
>
...
...
@@ -85,15 +85,15 @@ const ReturnPrAddLogistics: React.FC = () => {
dataIndex
:
'outerStatusName'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
(
<
StatusTag
type=
"success"
title=
"售后完成"
/>
<
StatusTag
type=
{
RETURN_OUTER_STATUS_TAG_MAP
[
record
.
outerStatus
]
}
title=
{
text
}
/>
),
},
{
title
:
'内部状态'
,
dataIndex
:
'innerStatusName'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
<
Badge
color=
{
'#6C9CEB'
}
text=
"待确认售后完成"
/>,
},
render
:
(
text
,
record
)
=>
<
Badge
color=
{
RETURN_INNER_STATUS_BADGE_MAP
[
record
.
innerStatus
]
}
text=
{
text
}
/>,
},
{
title
:
'操作'
,
dataIndex
:
'option'
,
...
...
src/pages/afterService/returnApplication/returnPrConfirmBack/index.tsx
View file @
495e4c27
...
...
@@ -25,9 +25,9 @@ import NiceForm from '@/components/NiceForm';
import
StatusTag
from
'@/components/StatusTag'
;
import
{
listSearchSchema
}
from
'./schema'
;
import
{
CREDIT
_OUTER_STATUS_TAG_MAP
,
CREDIT
_INNER_STATUS_BADGE_MAP
,
}
from
'../../contants'
;
RETURN
_OUTER_STATUS_TAG_MAP
,
RETURN
_INNER_STATUS_BADGE_MAP
,
}
from
'../../con
s
tants'
;
import
styles
from
'./index.less'
;
const
{
confirm
}
=
Modal
;
...
...
@@ -45,7 +45,7 @@ const ReturnPrConfirmBack: React.FC = () => {
render
:
(
text
,
record
)
=>
(
<>
<
EyePreview
url=
{
`/memberCenter/afterService/returnApplication/returnPrConfirmBack/detail?id=${record.
i
d}`
}
url=
{
`/memberCenter/afterService/returnApplication/returnPrConfirmBack/detail?id=${record.
returnI
d}`
}
>
{
text
}
</
EyePreview
>
...
...
@@ -88,15 +88,15 @@ const ReturnPrConfirmBack: React.FC = () => {
dataIndex
:
'outerStatusName'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
(
<
StatusTag
type=
"success"
title=
"售后完成"
/>
<
StatusTag
type=
{
RETURN_OUTER_STATUS_TAG_MAP
[
record
.
outerStatus
]
}
title=
{
text
}
/>
),
},
{
title
:
'内部状态'
,
dataIndex
:
'innerStatusName'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
<
Badge
color=
{
'#6C9CEB'
}
text=
"待确认售后完成"
/>,
},
render
:
(
text
,
record
)
=>
<
Badge
color=
{
RETURN_INNER_STATUS_BADGE_MAP
[
record
.
innerStatus
]
}
text=
{
text
}
/>,
},
{
title
:
'操作'
,
dataIndex
:
'option'
,
...
...
@@ -105,7 +105,7 @@ const ReturnPrConfirmBack: React.FC = () => {
<>
<
Button
type=
"link"
onClick=
{
()
=>
history
.
push
(
`/memberCenter/afterService/returnApplication/returnPrConfirmBack/verify`
)
}
onClick=
{
()
=>
history
.
push
(
`/memberCenter/afterService/returnApplication/returnPrConfirmBack/verify
?id=${record.returnId}
`
)
}
>
确认退货回单
</
Button
>
...
...
src/pages/afterService/returnApplication/returnPrConfirmBack/verify.tsx
View file @
495e4c27
...
...
@@ -35,7 +35,7 @@ const ReturnPrConfirmBackVerify: React.FC = () => {
type=
"primary"
icon=
{
<
FormOutlined
/>
}
loading=
{
submitLoading
}
onClick=
{
()
=>
handleSubmit
}
onClick=
{
handleSubmit
}
>
确认全部退货发货单已收到回单
</
Button
>
...
...
src/pages/afterService/returnApplication/returnPrConfirmFinish/index.tsx
View file @
495e4c27
...
...
@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2020-11-06 16:30:44
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-1
1-25 15:48:01
* @LastEditTime: 2020-1
2-07 13:44:16
* @Description: 待新增退货发货单
*/
import
React
,
{
useState
,
useRef
}
from
'react'
;
...
...
@@ -25,9 +25,9 @@ import NiceForm from '@/components/NiceForm';
import
StatusTag
from
'@/components/StatusTag'
;
import
{
listSearchSchema
}
from
'./schema'
;
import
{
CREDIT
_OUTER_STATUS_TAG_MAP
,
CREDIT
_INNER_STATUS_BADGE_MAP
,
}
from
'../../contants'
;
RETURN
_OUTER_STATUS_TAG_MAP
,
RETURN
_INNER_STATUS_BADGE_MAP
,
}
from
'../../con
s
tants'
;
import
styles
from
'./index.less'
;
const
{
confirm
}
=
Modal
;
...
...
@@ -45,7 +45,7 @@ const ReturnPrConfirmFinish: React.FC = () => {
render
:
(
text
,
record
)
=>
(
<>
<
EyePreview
url=
{
`/memberCenter/afterService/returnApplication/returnPrConfirmFinish/detail?id=${record.
i
d}`
}
url=
{
`/memberCenter/afterService/returnApplication/returnPrConfirmFinish/detail?id=${record.
returnI
d}`
}
>
{
text
}
</
EyePreview
>
...
...
@@ -77,15 +77,15 @@ const ReturnPrConfirmFinish: React.FC = () => {
dataIndex
:
'outerStatusName'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
(
<
StatusTag
type=
"success"
title=
"售后完成"
/>
<
StatusTag
type=
{
RETURN_OUTER_STATUS_TAG_MAP
[
record
.
outerStatus
]
}
title=
{
text
}
/>
),
},
{
title
:
'内部状态'
,
dataIndex
:
'innerStatusName'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
<
Badge
color=
{
'#6C9CEB'
}
text=
"待确认售后完成"
/>,
},
render
:
(
text
,
record
)
=>
<
Badge
color=
{
RETURN_INNER_STATUS_BADGE_MAP
[
record
.
innerStatus
]
}
text=
{
text
}
/>,
},
{
title
:
'操作'
,
dataIndex
:
'option'
,
...
...
@@ -94,7 +94,7 @@ const ReturnPrConfirmFinish: React.FC = () => {
<>
<
Button
type=
"link"
onClick=
{
()
=>
history
.
push
(
`/memberCenter/afterService/returnApplication/returnPrConfirmFinish/verify`
)
}
onClick=
{
()
=>
history
.
push
(
`/memberCenter/afterService/returnApplication/returnPrConfirmFinish/verify
?id=${record.returnId}
`
)
}
>
确认售后完成
</
Button
>
...
...
src/pages/afterService/returnApplication/returnPrConfirmResult/index.tsx
View file @
495e4c27
...
...
@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2020-11-06 16:30:44
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-1
1-11 10:30:24
* @LastEditTime: 2020-1
2-08 16:07:01
* @Description: 待新增退货发货单
*/
import
React
,
{
useState
,
useRef
}
from
'react'
;
...
...
@@ -25,9 +25,9 @@ import NiceForm from '@/components/NiceForm';
import
StatusTag
from
'@/components/StatusTag'
;
import
{
listSearchSchema
}
from
'./schema'
;
import
{
CREDIT
_OUTER_STATUS_TAG_MAP
,
CREDIT
_INNER_STATUS_BADGE_MAP
,
}
from
'../../contants'
;
RETURN
_OUTER_STATUS_TAG_MAP
,
RETURN
_INNER_STATUS_BADGE_MAP
,
}
from
'../../con
s
tants'
;
import
styles
from
'./index.less'
;
const
{
confirm
}
=
Modal
;
...
...
@@ -45,7 +45,7 @@ const ReturnPrConfirmResult: React.FC = () => {
render
:
(
text
,
record
)
=>
(
<>
<
EyePreview
url=
{
`/memberCenter/afterService/returnApplication/returnPrConfirmResult/detail?id=${record.
i
d}`
}
url=
{
`/memberCenter/afterService/returnApplication/returnPrConfirmResult/detail?id=${record.
returnI
d}`
}
>
{
text
}
</
EyePreview
>
...
...
@@ -82,15 +82,15 @@ const ReturnPrConfirmResult: React.FC = () => {
dataIndex
:
'outerStatusName'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
(
<
StatusTag
type=
"success"
title=
"售后完成"
/>
<
StatusTag
type=
{
RETURN_OUTER_STATUS_TAG_MAP
[
record
.
outerStatus
]
}
title=
{
text
}
/>
),
},
{
title
:
'内部状态'
,
dataIndex
:
'innerStatusName'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
<
Badge
color=
{
'#6C9CEB'
}
text=
"待确认售后完成"
/>,
},
render
:
(
text
,
record
)
=>
<
Badge
color=
{
RETURN_INNER_STATUS_BADGE_MAP
[
record
.
innerStatus
]
}
text=
{
text
}
/>,
},
{
title
:
'操作'
,
dataIndex
:
'option'
,
...
...
@@ -99,7 +99,7 @@ const ReturnPrConfirmResult: React.FC = () => {
<>
<
Button
type=
"link"
onClick=
{
()
=>
history
.
push
(
`/memberCenter/afterService/returnApplication/returnPrConfirmResult/verify`
)
}
onClick=
{
()
=>
history
.
push
(
`/memberCenter/afterService/returnApplication/returnPrConfirmResult/verify
?id=${record.returnId}
`
)
}
>
确认
</
Button
>
...
...
src/pages/afterService/returnApplication/returnPrDeliver/detail.tsx
View file @
495e4c27
...
...
@@ -3,7 +3,7 @@ import { usePageStatus } from '@/hooks/usePageStatus';
import
DetailInfo
from
'../components/DetailInfo'
;
const
ReturnPrDeliverDetail
:
React
.
FC
=
()
=>
{
const
{
id
,
creditId
}
=
usePageStatus
();
const
{
id
}
=
usePageStatus
();
return
(
<
DetailInfo
...
...
src/pages/afterService/returnApplication/returnPrDeliver/index.tsx
View file @
495e4c27
...
...
@@ -25,9 +25,9 @@ import NiceForm from '@/components/NiceForm';
import
StatusTag
from
'@/components/StatusTag'
;
import
{
listSearchSchema
}
from
'./schema'
;
import
{
CREDIT
_OUTER_STATUS_TAG_MAP
,
CREDIT
_INNER_STATUS_BADGE_MAP
,
}
from
'../../contants'
;
RETURN
_OUTER_STATUS_TAG_MAP
,
RETURN
_INNER_STATUS_BADGE_MAP
,
}
from
'../../con
s
tants'
;
import
styles
from
'./index.less'
;
const
{
confirm
}
=
Modal
;
...
...
@@ -45,7 +45,7 @@ const ReturnPrDeliver: React.FC = () => {
render
:
(
text
,
record
)
=>
(
<>
<
EyePreview
url=
{
`/memberCenter/afterService/returnApplication/returnPrDeliver/detail?id=${record.
i
d}`
}
url=
{
`/memberCenter/afterService/returnApplication/returnPrDeliver/detail?id=${record.
returnI
d}`
}
>
{
text
}
</
EyePreview
>
...
...
@@ -69,7 +69,7 @@ const ReturnPrDeliver: React.FC = () => {
},
{
title
:
'单据时间'
,
dataIndex
:
'
created
'
,
dataIndex
:
'
applyTime
'
,
align
:
'center'
,
},
{
...
...
@@ -88,15 +88,15 @@ const ReturnPrDeliver: React.FC = () => {
dataIndex
:
'outerStatusName'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
(
<
StatusTag
type=
"success"
title=
"售后完成"
/>
<
StatusTag
type=
{
RETURN_OUTER_STATUS_TAG_MAP
[
record
.
outerStatus
]
}
title=
{
text
}
/>
),
},
{
title
:
'内部状态'
,
dataIndex
:
'innerStatusName'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
<
Badge
color=
{
'#6C9CEB'
}
text=
"待确认售后完成"
/>,
},
render
:
(
text
,
record
)
=>
<
Badge
color=
{
RETURN_INNER_STATUS_BADGE_MAP
[
record
.
innerStatus
]
}
text=
{
text
}
/>,
},
{
title
:
'操作'
,
dataIndex
:
'option'
,
...
...
@@ -105,7 +105,7 @@ const ReturnPrDeliver: React.FC = () => {
<>
<
Button
type=
"link"
onClick=
{
()
=>
history
.
push
(
`/memberCenter/afterService/returnApplication/returnPrDeliver/verify`
)
}
onClick=
{
()
=>
history
.
push
(
`/memberCenter/afterService/returnApplication/returnPrDeliver/verify
?id=${record.returnId}
`
)
}
>
退货发货
</
Button
>
...
...
src/pages/afterService/returnApplication/returnPrDeliver/verify.tsx
View file @
495e4c27
...
...
@@ -8,7 +8,7 @@ import ManualDeliveryModal from '../../components/ManualDeliveryModal';
import
DetailInfo
from
'../components/DetailInfo'
;
const
ReturnPrDeliverVerify
:
React
.
FC
=
()
=>
{
const
{
id
,
creditId
}
=
usePageStatus
();
const
{
id
}
=
usePageStatus
();
const
[
modalVisible
,
setModalVisible
]
=
useState
(
false
);
const
[
submitLoading
,
setSubmitLoading
]
=
useState
(
false
);
...
...
src/pages/afterService/returnApplication/returnPrSubmit/components/ReturnForm/effects/index.ts
View file @
495e4c27
...
...
@@ -9,22 +9,17 @@ import { useBusinessEffects } from './useBusinessEffects';
import
{
useAsyncSelect
}
from
'@/formSchema/effects/useAsyncSelect'
;
import
{
PublicApi
}
from
'@/services/api'
;
// 获取单据类型
const
fetchInvoicesType
=
():
Promise
<
any
[]
>
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
PublicApi
.
getWarehouseInvoicesTypeAll
().
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
resolve
(
res
.
data
);
}
reject
();
}).
catch
(()
=>
{
reject
();
});
});
};
export
const
createEffects
=
(
context
,
actions
)
=>
{
const
{
setFieldState
}
=
actions
;
useBusinessEffects
(
context
,
actions
);
// useAsyncSelect('invoicesTypeId', fetchInvoicesType, ['name', 'id']);
// 获取发货地址
PublicApi
.
getLogisticsSelectListShipperAddress
().
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
setFieldState
(
'*(shippingAddress,pickupAddress)'
,
state
=>
{
state
.
props
[
'x-component-props'
].
dataSource
=
res
.
data
;
});
}
});
};
\ No newline at end of file
src/pages/afterService/returnApplication/returnPrSubmit/components/ReturnForm/effects/useBusinessEffects.ts
View file @
495e4c27
...
...
@@ -2,17 +2,11 @@
* @Author: XieZhiXiong
* @Date: 2020-11-03 18:30:47
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-1
1-17 16:13:43
* @LastEditTime: 2020-1
2-08 13:48:59
* @Description: 联动逻辑相关
*/
import
{
Modal
}
from
'antd'
;
import
{
FormEffectHooks
,
FormPath
}
from
'@formily/antd'
;
import
{
useLinkageUtils
}
from
'@/utils/formEffectUtils'
;
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
;
import
{
}
from
'@/constants'
;
import
{
PublicApi
}
from
'@/services/api'
;
const
{
onFieldInputChange$
,
...
...
@@ -32,11 +26,26 @@ export const useBusinessEffects = (context, actions) => {
onFieldValueChange$
(
'deliveryType'
).
subscribe
(
fieldState
=>
{
const
{
name
,
value
}
=
fieldState
;
// 如果选中 自提
if
(
value
===
2
)
{
linkage
.
show
(
'shippingAddress'
);
}
else
{
linkage
.
hide
(
'shippingAddress'
);
}
switch
(
value
)
{
// 物流
case
1
:
{
linkage
.
show
(
'shippingAddress'
);
linkage
.
hide
(
'pickupAddress'
);
break
;
};
// 自提
case
2
:
{
linkage
.
hide
(
'shippingAddress'
);
linkage
.
show
(
'pickupAddress'
);
break
;
};
// 无需物流
case
3
:
{
linkage
.
hide
(
'*(shippingAddress,pickupAddress)'
);
break
;
};
default
:
break
};
});
}
\ No newline at end of file
src/pages/afterService/returnApplication/returnPrSubmit/components/ReturnForm/index.tsx
View file @
495e4c27
This diff is collapsed.
Click to expand it.
src/pages/afterService/returnApplication/returnPrSubmit/components/ReturnForm/schema/index.ts
View file @
495e4c27
...
...
@@ -265,7 +265,7 @@ export const addBillSchema: ISchema = {
title
:
'采购单价'
,
'x-component'
:
'Text'
,
},
costPrice3
:
{
purchaseAmount
:
{
type
:
'string'
,
title
:
'采购金额'
,
'x-component'
:
'Text'
,
...
...
@@ -280,23 +280,13 @@ export const addBillSchema: ISchema = {
title
:
'退货数量'
,
'x-component'
:
'Text'
,
},
costPrice6
:
{
returnAmount
:
{
type
:
'string'
,
title
:
'退款金额'
,
'x-component'
:
'Text'
,
},
// 退货理由,不用于展示,只用于收集值
returnReason
:
{
type
:
'string'
,
display
:
false
,
},
// 不用于展示,只用于收集值
id
:
{
type
:
'string'
,
display
:
false
,
},
// 不用于展示,只用于收集值
orderId
:
{
},
// 其他数据,不用于展示,只用于收集值
extraData
:
{
type
:
'string'
,
display
:
false
,
},
...
...
@@ -353,7 +343,7 @@ export const addBillSchema: ISchema = {
tab
:
'退货收货地址'
,
},
properties
:
{
MEGA_LAYOUT
3
:
{
MEGA_LAYOUT
4
:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
'x-component-props'
:
{
...
...
@@ -365,40 +355,48 @@ export const addBillSchema: ISchema = {
deliveryType
:
{
title
:
'配送方式'
,
type
:
'string'
,
default
:
1
,
enum
:
DELIVERY_TYPE_ENUM
,
'x-component-props'
:
{
placeholder
:
'请选择'
,
},
'x-rules'
:
[
{
required
:
true
,
message
:
'请选择配送方式'
,
},
],
},
// 退货
收
货地址
// 退货
发
货地址
shippingAddress
:
{
title
:
'退货
收
货地址'
,
title
:
'退货
发
货地址'
,
type
:
'string'
,
visible
:
false
,
'x-component'
:
'AddressFormItem'
,
'x-component-props'
:
{
dataSource
:
[
{
id
:
1
,
receiverName
:
'收件人1'
,
phone
:
'18128131762'
,
fullAddress
:
'不告诉你1'
,
},
],
dataSource
:
[],
},
'x-rules'
:
[
{
required
:
true
,
message
:
'请选择退货发货地址'
,
},
],
},
// 退货
发货
地址
delivery
Address
:
{
title
:
'退货
发货
地址'
,
// 退货
自提
地址
pickup
Address
:
{
title
:
'退货
自提
地址'
,
type
:
'string'
,
visible
:
false
,
'x-component'
:
'AddressFormItem'
,
'x-component-props'
:
{
dataSource
:
[
{
id
:
1
,
receiverName
:
'收件人1'
,
phone
:
'18128131762'
,
fullAddress
:
'不告诉你1'
,
},
],
dataSource
:
[],
},
'x-rules'
:
[
{
required
:
true
,
message
:
'请选择退货自提地址'
,
},
],
},
},
},
...
...
src/pages/afterService/returnApplication/returnPrSubmit/index.tsx
View file @
495e4c27
...
...
@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2020-11-06 10:13:18
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-1
1-25 15:41:45
* @LastEditTime: 2020-1
2-08 13:54:58
* @Description: 待提交退货申请单
*/
import
React
,
{
useState
,
useRef
}
from
'react'
;
...
...
@@ -13,6 +13,7 @@ import {
Button
,
Popconfirm
,
Space
,
message
,
}
from
'antd'
;
import
{
history
}
from
'umi'
;
import
{
...
...
@@ -32,9 +33,9 @@ import NiceForm from '@/components/NiceForm';
import
StatusTag
from
'@/components/StatusTag'
;
import
{
listSearchSchema
}
from
'./schema'
;
import
{
CREDIT
_OUTER_STATUS_TAG_MAP
,
CREDIT
_INNER_STATUS_BADGE_MAP
,
}
from
'../../contants'
;
RETURN
_OUTER_STATUS_TAG_MAP
,
RETURN
_INNER_STATUS_BADGE_MAP
,
}
from
'../../con
s
tants'
;
import
styles
from
'./index.less'
;
const
formActions
=
createFormActions
();
...
...
@@ -42,10 +43,38 @@ const formActions = createFormActions();
const
ReturnPrSubmit
:
React
.
FC
=
()
=>
{
const
ref
=
useRef
<
any
>
({});
const
handleDelete
=
()
=>
{
const
handleDelete
=
record
=>
{
const
msg
=
message
.
loading
({
content
:
'正在删除'
,
duration
:
0
,
});
PublicApi
.
postAsReturnGoodsDelete
({
dataId
:
record
.
returnId
,
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
ref
.
current
.
reload
();
}
}).
finally
(()
=>
{
msg
();
});
};
const
handleSubmit
=
record
=>
{
const
msg
=
message
.
loading
({
content
:
'正在提交'
,
duration
:
0
,
});
PublicApi
.
postAsReturnGoodsSubmit
({
dataId
:
record
.
returnId
,
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
ref
.
current
.
reload
();
}
}).
finally
(()
=>
{
msg
();
});
};
const
defaultColumns
:
ColumnType
<
any
>
[]
=
[
{
title
:
'申请单号'
,
...
...
@@ -54,7 +83,7 @@ const ReturnPrSubmit: React.FC = () => {
render
:
(
text
,
record
)
=>
(
<>
<
EyePreview
url=
{
`/memberCenter/afterService/returnApplication/returnPrSubmit/detail?id=${record.
i
d}`
}
url=
{
`/memberCenter/afterService/returnApplication/returnPrSubmit/detail?id=${record.
returnI
d}`
}
>
{
text
}
</
EyePreview
>
...
...
@@ -86,15 +115,15 @@ const ReturnPrSubmit: React.FC = () => {
dataIndex
:
'outerStatusName'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
(
<
StatusTag
type=
"success"
title=
"售后完成"
/>
<
StatusTag
type=
{
RETURN_OUTER_STATUS_TAG_MAP
[
record
.
outerStatus
]
}
title=
{
text
}
/>
),
},
{
title
:
'内部状态'
,
dataIndex
:
'innerStatusName'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
<
Badge
color=
{
'#6C9CEB'
}
text=
"待确认售后完成"
/>,
},
render
:
(
text
,
record
)
=>
<
Badge
color=
{
RETURN_INNER_STATUS_BADGE_MAP
[
record
.
innerStatus
]
}
text=
{
text
}
/>,
},
{
title
:
'操作'
,
dataIndex
:
'option'
,
...
...
@@ -103,19 +132,19 @@ const ReturnPrSubmit: React.FC = () => {
<>
<
Button
type=
"link"
onClick=
{
()
=>
{}
}
onClick=
{
()
=>
handleSubmit
(
record
)
}
>
提交
</
Button
>
<
Button
type=
"link"
onClick=
{
()
=>
history
.
push
(
`/memberCenter/afterService/returnApplication/returnPrSubmit/edit`
)
}
onClick=
{
()
=>
history
.
push
(
`/memberCenter/afterService/returnApplication/returnPrSubmit/edit
?id=${record.returnId}
`
)
}
>
编辑
</
Button
>
<
Button
type=
"link"
onClick=
{
()
=>
handleDelete
()
}
onClick=
{
()
=>
handleDelete
(
record
)
}
danger
>
删除
...
...
src/pages/afterService/returnApplication/returnQuery/index.tsx
View file @
495e4c27
...
...
@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2020-11-05 14:25:41
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-1
1-25 15:39:32
* @LastEditTime: 2020-1
2-08 14:24:55
* @Description: 退货申请单查询
*/
import
React
,
{
useState
,
useRef
}
from
'react'
;
...
...
@@ -25,9 +25,9 @@ import NiceForm from '@/components/NiceForm';
import
StatusTag
from
'@/components/StatusTag'
;
import
{
listSearchSchema
}
from
'./schema'
;
import
{
CREDIT
_OUTER_STATUS_TAG_MAP
,
CREDIT
_INNER_STATUS_BADGE_MAP
,
}
from
'../../contants'
;
RETURN
_OUTER_STATUS_TAG_MAP
,
RETURN
_INNER_STATUS_BADGE_MAP
,
}
from
'../../con
s
tants'
;
import
styles
from
'./index.less'
;
const
formActions
=
createFormActions
();
...
...
@@ -43,7 +43,7 @@ const ReturnQuery: React.FC = () => {
render
:
(
text
,
record
)
=>
(
<>
<
EyePreview
url=
{
`/memberCenter/afterService/returnApplication/returnQuery/detail?id=${record.
i
d}`
}
url=
{
`/memberCenter/afterService/returnApplication/returnQuery/detail?id=${record.
returnI
d}`
}
>
{
text
}
</
EyePreview
>
...
...
@@ -77,7 +77,7 @@ const ReturnQuery: React.FC = () => {
filters
:
[],
onFilter
:
(
value
,
record
)
=>
record
.
outerStatus
===
value
,
render
:
(
text
,
record
)
=>
(
<
StatusTag
type=
"success"
title=
"售后完成"
/>
<
StatusTag
type=
{
RETURN_OUTER_STATUS_TAG_MAP
[
record
.
outerStatus
]
}
title=
{
text
}
/>
),
},
{
...
...
@@ -86,7 +86,7 @@ const ReturnQuery: React.FC = () => {
align
:
'center'
,
filters
:
[],
onFilter
:
(
value
,
record
)
=>
record
.
innerStatus
===
value
,
render
:
(
text
,
record
)
=>
<
Badge
color=
{
'#6C9CEB'
}
text=
"待确认售后完成"
/>,
render
:
(
text
,
record
)
=>
<
Badge
color=
{
RETURN_INNER_STATUS_BADGE_MAP
[
record
.
innerStatus
]
}
text=
{
text
}
/>,
},
];
...
...
src/pages/afterService/returnManage/components/DetailInfo/index.tsx
View file @
495e4c27
This diff is collapsed.
Click to expand it.
src/pages/afterService/returnManage/returnPr1/index.tsx
View file @
495e4c27
...
...
@@ -24,9 +24,9 @@ import NiceForm from '@/components/NiceForm';
import
StatusTag
from
'@/components/StatusTag'
;
import
{
listSearchSchema
}
from
'./schema'
;
import
{
CREDIT
_OUTER_STATUS_TAG_MAP
,
CREDIT
_INNER_STATUS_BADGE_MAP
,
}
from
'../../contants'
;
RETURN
_OUTER_STATUS_TAG_MAP
,
RETURN
_INNER_STATUS_BADGE_MAP
,
}
from
'../../con
s
tants'
;
import
styles
from
'./index.less'
;
const
formActions
=
createFormActions
();
...
...
@@ -74,15 +74,15 @@ const ReturnPr1: React.FC = () => {
dataIndex
:
'outerStatusName'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
(
<
StatusTag
type=
"success"
title=
"售后完成"
/>
<
StatusTag
type=
{
RETURN_OUTER_STATUS_TAG_MAP
[
record
.
outerStatus
]
}
title=
{
text
}
/>
),
},
{
title
:
'内部状态'
,
dataIndex
:
'innerStatusName'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
<
Badge
color=
{
'#6C9CEB'
}
text=
"待确认售后完成"
/>,
},
render
:
(
text
,
record
)
=>
<
Badge
color=
{
RETURN_INNER_STATUS_BADGE_MAP
[
record
.
innerStatus
]
}
text=
{
text
}
/>,
},
{
title
:
'操作'
,
dataIndex
:
'option'
,
...
...
src/pages/afterService/returnManage/returnPr1/verify.tsx
View file @
495e4c27
...
...
@@ -41,7 +41,7 @@ const ReturnPr1Verify: React.FC = () => {
<
DetailInfo
id=
{
id
}
target=
"/memberCenter/payandSettle/creditApplication/quotaFormQuery/detail"
headExtra=
{
(
headExtra=
{
(
)
=>
(
<
Button
type=
"primary"
icon=
{
<
FormOutlined
/>
}
...
...
src/pages/afterService/returnManage/returnPr2/index.tsx
View file @
495e4c27
...
...
@@ -24,9 +24,9 @@ import NiceForm from '@/components/NiceForm';
import
StatusTag
from
'@/components/StatusTag'
;
import
{
listSearchSchema
}
from
'./schema'
;
import
{
CREDIT
_OUTER_STATUS_TAG_MAP
,
CREDIT
_INNER_STATUS_BADGE_MAP
,
}
from
'../../contants'
;
RETURN
_OUTER_STATUS_TAG_MAP
,
RETURN
_INNER_STATUS_BADGE_MAP
,
}
from
'../../con
s
tants'
;
import
styles
from
'./index.less'
;
const
formActions
=
createFormActions
();
...
...
@@ -74,15 +74,15 @@ const ReturnPr2: React.FC = () => {
dataIndex
:
'outerStatusName'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
(
<
StatusTag
type=
"success"
title=
"售后完成"
/>
<
StatusTag
type=
{
RETURN_OUTER_STATUS_TAG_MAP
[
record
.
outerStatus
]
}
title=
{
text
}
/>
),
},
{
title
:
'内部状态'
,
dataIndex
:
'innerStatusName'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
<
Badge
color=
{
'#6C9CEB'
}
text=
"待确认售后完成"
/>,
},
render
:
(
text
,
record
)
=>
<
Badge
color=
{
RETURN_INNER_STATUS_BADGE_MAP
[
record
.
innerStatus
]
}
text=
{
text
}
/>,
},
{
title
:
'操作'
,
dataIndex
:
'option'
,
...
...
src/pages/afterService/returnManage/returnPr2/verify.tsx
View file @
495e4c27
...
...
@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2020-11-04 17:22:07
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-1
1-09 17:27:30
* @LastEditTime: 2020-1
2-08 14:53:31
* @Description:
*/
import
React
,
{
useState
}
from
'react'
;
...
...
@@ -41,7 +41,7 @@ const ReturnPr2Verify: React.FC = () => {
<
DetailInfo
id=
{
id
}
target=
"/memberCenter/payandSettle/creditApplication/quotaFormQuery/detail"
headExtra=
{
(
headExtra=
{
(
)
=>
(
<
Button
type=
"primary"
icon=
{
<
FormOutlined
/>
}
...
...
src/pages/afterService/returnManage/returnPrAddWarehousing/index.tsx
View file @
495e4c27
...
...
@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2020-11-06 16:30:44
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-1
1-09 17:59:16
* @LastEditTime: 2020-1
2-08 17:19:58
* @Description: 待新增退货发货单
*/
import
React
,
{
useState
,
useRef
}
from
'react'
;
...
...
@@ -18,6 +18,12 @@ import { ColumnType } from 'antd/lib/table/interface';
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
{
createFormActions
}
from
'@formily/antd'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
{
DOC_TYPE_RETURN_RECEIPT
,
DEPENDENT_DOC_RETURN
,
RETURN_INNER_STATUS_NOT_ADDED_RETURN_STORAGE
,
RETURN_INNER_STATUS_UNREVIEWED_RETURN_STORAGE
,
}
from
'@/constants'
;
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
EyePreview
from
'@/components/EyePreview'
;
...
...
@@ -25,9 +31,9 @@ import NiceForm from '@/components/NiceForm';
import
StatusTag
from
'@/components/StatusTag'
;
import
{
listSearchSchema
}
from
'./schema'
;
import
{
CREDIT
_OUTER_STATUS_TAG_MAP
,
CREDIT
_INNER_STATUS_BADGE_MAP
,
}
from
'../../contants'
;
RETURN
_OUTER_STATUS_TAG_MAP
,
RETURN
_INNER_STATUS_BADGE_MAP
,
}
from
'../../con
s
tants'
;
import
styles
from
'./index.less'
;
const
{
confirm
}
=
Modal
;
...
...
@@ -41,9 +47,20 @@ const ReturnPrAddWarehousing: React.FC = () => {
confirm
({
title
:
'确认审核操作'
,
icon
:
<
ExclamationCircleOutlined
/>,
content
:
`是否确认审核退货入库单号为
${
'FH5421039'
}
的退货入库单?`
,
content
:
`是否确认审核退货入库单号为
${
record
.
returnStorageNo
}
的退货入库单?`
,
onOk
()
{
// do something
return
new
Promise
((
resolve
,
reject
)
=>
{
PublicApi
.
postAsReturnGoodsVerifyReturnGoodsStorage
({
dataId
:
record
.
returnId
,
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
ref
.
current
.
reload
();
}
resolve
(
res
);
}).
catch
(
err
=>
{
reject
(
err
);
});
});
},
});
};
...
...
@@ -65,32 +82,32 @@ const ReturnPrAddWarehousing: React.FC = () => {
},
{
title
:
'申请单摘要'
,
dataIndex
:
'
parentMemberName
'
,
dataIndex
:
'
applyAbstract
'
,
align
:
'center'
,
},
{
title
:
'采购会员'
,
dataIndex
:
'
supplier
'
,
dataIndex
:
'
consumerName
'
,
align
:
'center'
,
},
{
title
:
'退款金额'
,
dataIndex
:
're
turn
Amount'
,
dataIndex
:
're
fund
Amount'
,
align
:
'center'
,
},
{
title
:
'单据时间'
,
dataIndex
:
'
created
'
,
dataIndex
:
'
applyTime
'
,
align
:
'center'
,
},
{
title
:
'退货批次'
,
dataIndex
:
'
b
atch'
,
dataIndex
:
'
returnB
atch'
,
align
:
'center'
,
},
{
title
:
'退货
发货
单号'
,
dataIndex
:
'
deliver
No'
,
title
:
'退货
入库
单号'
,
dataIndex
:
'
returnStorage
No'
,
align
:
'center'
,
render
:
text
=>
<
a
>
{
text
}
</
a
>,
},
...
...
@@ -99,33 +116,40 @@ const ReturnPrAddWarehousing: React.FC = () => {
dataIndex
:
'outerStatusName'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
(
<
StatusTag
type=
"success"
title=
"售后完成"
/>
<
StatusTag
type=
{
RETURN_OUTER_STATUS_TAG_MAP
[
record
.
outerStatus
]
}
title=
{
text
}
/>
),
},
{
title
:
'内部状态'
,
dataIndex
:
'innerStatusName'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
<
Badge
color=
{
'#6C9CEB'
}
text=
"待确认售后完成"
/>,
},
render
:
(
text
,
record
)
=>
<
Badge
color=
{
RETURN_INNER_STATUS_BADGE_MAP
[
record
.
innerStatus
]
}
text=
{
text
}
/>,
},
{
title
:
'操作'
,
dataIndex
:
'option'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
(
<>
<
Button
type=
"link"
onClick=
{
()
=>
()
=>
history
.
push
(
``
)
}
>
新增
</
Button
>
<
Button
type=
"link"
onClick=
{
()
=>
handleVerify
(
record
.
id
)
}
>
审核
</
Button
>
{
record
.
innerStatus
===
RETURN_INNER_STATUS_NOT_ADDED_RETURN_STORAGE
&&
(
<
Button
type=
"link"
onClick=
{
()
=>
history
.
push
(
`/memberCenter/tranactionAbility/stockSellStorage/bills/add?relevanceInvoicesId=${record.returnId}&invoicesTypeId=${DOC_TYPE_RETURN_RECEIPT}&relevanceInvoices=${DEPENDENT_DOC_RETURN}`
)
}
>
新增
</
Button
>
)
}
{
record
.
innerStatus
===
RETURN_INNER_STATUS_UNREVIEWED_RETURN_STORAGE
&&
(
<
Button
type=
"link"
onClick=
{
()
=>
handleVerify
(
record
)
}
>
审核
</
Button
>
)
}
</>
),
},
...
...
@@ -135,32 +159,21 @@ const ReturnPrAddWarehousing: React.FC = () => {
const
fetchListData
=
(
params
:
any
)
=>
{
const
{
startTime
,
endTime
,
...
rest
}
=
params
;
// return new Promise((resolve, reject) => {
// PublicApi.getPayCreditApplyPageCreditApply({
// startTime: startTime ? moment(startTime).format('YYYY-MM-DD') : null,
// endTime: startTime ? moment(startTime).format('YYYY-MM-DD') : null,
// ...rest,
// })
// .then(res => {
// if (res.code === 1000) {
// resolve(res.data);
// }
// reject();
// })
// .catch(() => {
// reject();
// });
// });
return
Promise
.
resolve
({
data
:
[
{
id
:
1
,
applyNo
:
'123'
,
parentMemberName
:
'申请单摘要'
,
created
:
'2020-11-03 11:46:00'
,
},
],
total
:
10
,
return
new
Promise
((
resolve
,
reject
)
=>
{
PublicApi
.
getAsReturnGoodsPageToBeAddReturnGoodsStorage
({
startTime
:
startTime
?
moment
(
startTime
).
format
(
'YYYY-MM-DD'
)
:
null
,
endTime
:
startTime
?
moment
(
startTime
).
format
(
'YYYY-MM-DD'
)
:
null
,
...
rest
,
})
.
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
resolve
(
res
.
data
);
}
reject
();
})
.
catch
(()
=>
{
reject
();
});
});
};
...
...
src/pages/afterService/returnManage/returnPrAddWarehousing/schema/index.ts
View file @
495e4c27
...
...
@@ -35,14 +35,14 @@ export const listSearchSchema: ISchema = {
columns
:
6
,
},
properties
:
{
abstract
:
{
a
pplyA
bstract
:
{
type
:
'string'
,
'x-component-props'
:
{
placeholder
:
'申请单摘要'
,
allowClear
:
true
,
},
},
supplier
:
{
consumerName
:
{
type
:
'string'
,
'x-component-props'
:
{
placeholder
:
'采购会员'
,
...
...
src/pages/afterService/returnManage/returnPrConfirm/index.tsx
View file @
495e4c27
...
...
@@ -24,9 +24,9 @@ import NiceForm from '@/components/NiceForm';
import
StatusTag
from
'@/components/StatusTag'
;
import
{
listSearchSchema
}
from
'./schema'
;
import
{
CREDIT
_OUTER_STATUS_TAG_MAP
,
CREDIT
_INNER_STATUS_BADGE_MAP
,
}
from
'../../contants'
;
RETURN
_OUTER_STATUS_TAG_MAP
,
RETURN
_INNER_STATUS_BADGE_MAP
,
}
from
'../../con
s
tants'
;
import
styles
from
'./index.less'
;
const
formActions
=
createFormActions
();
...
...
@@ -74,15 +74,15 @@ const ReturnPrConfirm: React.FC = () => {
dataIndex
:
'outerStatusName'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
(
<
StatusTag
type=
"success"
title=
"售后完成"
/>
<
StatusTag
type=
{
RETURN_OUTER_STATUS_TAG_MAP
[
record
.
outerStatus
]
}
title=
{
text
}
/>
),
},
{
title
:
'内部状态'
,
dataIndex
:
'innerStatusName'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
<
Badge
color=
{
'#6C9CEB'
}
text=
"待确认售后完成"
/>,
},
render
:
(
text
,
record
)
=>
<
Badge
color=
{
RETURN_INNER_STATUS_BADGE_MAP
[
record
.
innerStatus
]
}
text=
{
text
}
/>,
},
{
title
:
'操作'
,
dataIndex
:
'option'
,
...
...
src/pages/afterService/returnManage/returnPrConfirm/verify.tsx
View file @
495e4c27
...
...
@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2020-11-04 17:22:07
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-1
1-09 17:27:30
* @LastEditTime: 2020-1
2-08 14:53:59
* @Description:
*/
import
React
,
{
useState
}
from
'react'
;
...
...
@@ -41,7 +41,7 @@ const ReturnPrConfirmVerify: React.FC = () => {
<
DetailInfo
id=
{
id
}
target=
"/memberCenter/payandSettle/creditApplication/quotaFormQuery/detail"
headExtra=
{
(
headExtra=
{
(
)
=>
(
<
Button
type=
"primary"
icon=
{
<
FormOutlined
/>
}
...
...
src/pages/afterService/returnManage/returnPrReceived/index.tsx
View file @
495e4c27
...
...
@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2020-11-06 16:30:44
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-1
1-18 11:02:22
* @LastEditTime: 2020-1
2-08 17:22:57
* @Description: 待新增退货入库单
*/
import
React
,
{
useState
,
useRef
}
from
'react'
;
...
...
@@ -25,9 +25,9 @@ import NiceForm from '@/components/NiceForm';
import
StatusTag
from
'@/components/StatusTag'
;
import
{
listSearchSchema
}
from
'./schema'
;
import
{
CREDIT
_OUTER_STATUS_TAG_MAP
,
CREDIT
_INNER_STATUS_BADGE_MAP
,
}
from
'../../contants'
;
RETURN
_OUTER_STATUS_TAG_MAP
,
RETURN
_INNER_STATUS_BADGE_MAP
,
}
from
'../../con
s
tants'
;
import
styles
from
'./index.less'
;
const
{
confirm
}
=
Modal
;
...
...
@@ -54,32 +54,32 @@ const ReturnPrReceived: React.FC = () => {
},
{
title
:
'申请单摘要'
,
dataIndex
:
'
parentMemberName
'
,
dataIndex
:
'
applyAbstract
'
,
align
:
'center'
,
},
{
title
:
'采购会员'
,
dataIndex
:
'
supplier
'
,
dataIndex
:
'
consumerName
'
,
align
:
'center'
,
},
{
title
:
'退款金额'
,
dataIndex
:
're
turn
Amount'
,
dataIndex
:
're
fund
Amount'
,
align
:
'center'
,
},
{
title
:
'单据时间'
,
dataIndex
:
'
created
'
,
dataIndex
:
'
applyTime
'
,
align
:
'center'
,
},
{
title
:
'退货批次'
,
dataIndex
:
'
b
atch'
,
dataIndex
:
'
returnB
atch'
,
align
:
'center'
,
},
{
title
:
'退货
发货
单号'
,
dataIndex
:
'
deliver
No'
,
title
:
'退货
入库
单号'
,
dataIndex
:
'
returnStorage
No'
,
align
:
'center'
,
render
:
text
=>
<
a
>
{
text
}
</
a
>,
},
...
...
@@ -88,15 +88,15 @@ const ReturnPrReceived: React.FC = () => {
dataIndex
:
'outerStatusName'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
(
<
StatusTag
type=
"success"
title=
"售后完成"
/>
<
StatusTag
type=
{
RETURN_OUTER_STATUS_TAG_MAP
[
record
.
outerStatus
]
}
title=
{
text
}
/>
),
},
{
title
:
'内部状态'
,
dataIndex
:
'innerStatusName'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
<
Badge
color=
{
'#6C9CEB'
}
text=
"待确认售后完成"
/>,
},
render
:
(
text
,
record
)
=>
<
Badge
color=
{
RETURN_INNER_STATUS_BADGE_MAP
[
record
.
innerStatus
]
}
text=
{
text
}
/>,
},
{
title
:
'操作'
,
dataIndex
:
'option'
,
...
...
@@ -118,32 +118,21 @@ const ReturnPrReceived: React.FC = () => {
const
fetchListData
=
(
params
:
any
)
=>
{
const
{
startTime
,
endTime
,
...
rest
}
=
params
;
// return new Promise((resolve, reject) => {
// PublicApi.getPayCreditApplyPageCreditApply({
// startTime: startTime ? moment(startTime).format('YYYY-MM-DD') : null,
// endTime: startTime ? moment(startTime).format('YYYY-MM-DD') : null,
// ...rest,
// })
// .then(res => {
// if (res.code === 1000) {
// resolve(res.data);
// }
// reject();
// })
// .catch(() => {
// reject();
// });
// });
return
Promise
.
resolve
({
data
:
[
{
id
:
1
,
applyNo
:
'123'
,
parentMemberName
:
'申请单摘要'
,
created
:
'2020-11-03 11:46:00'
,
},
],
total
:
10
,
return
new
Promise
((
resolve
,
reject
)
=>
{
PublicApi
.
getAsReturnGoodsPageToBeReturnReceiveGoods
({
startTime
:
startTime
?
moment
(
startTime
).
format
(
'YYYY-MM-DD'
)
:
null
,
endTime
:
startTime
?
moment
(
startTime
).
format
(
'YYYY-MM-DD'
)
:
null
,
...
rest
,
})
.
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
resolve
(
res
.
data
);
}
reject
();
})
.
catch
(()
=>
{
reject
();
});
});
};
...
...
src/pages/afterService/returnManage/returnPrReceived/schema/index.ts
View file @
495e4c27
...
...
@@ -35,28 +35,26 @@ export const listSearchSchema: ISchema = {
columns
:
6
,
},
properties
:
{
abstract
:
{
a
pplyA
bstract
:
{
type
:
'string'
,
'x-component-props'
:
{
placeholder
:
'申请单摘要'
,
allowClear
:
true
,
},
},
'[startTime, endTime]'
:
{
consumerName
:
{
type
:
'string'
,
default
:
''
,
'x-component'
:
'dateSelect'
,
'x-component-props'
:
{
placeholder
:
'
单据时间(全部)
'
,
placeholder
:
'
采购会员
'
,
allowClear
:
true
,
},
},
supplier
:
{
'[startTime, endTime]'
:
{
type
:
'string'
,
default
:
undefined
,
enum
:
[],
default
:
''
,
'x-component'
:
'dateSelect'
,
'x-component-props'
:
{
placeholder
:
'
采购会员
(全部)'
,
placeholder
:
'
单据时间
(全部)'
,
allowClear
:
true
,
},
},
...
...
src/pages/afterService/returnManage/returnPrReceived/verify.tsx
View file @
495e4c27
...
...
@@ -38,7 +38,7 @@ const ReturnPrReceivedVerify: React.FC = () => {
<>
<
DetailInfo
id=
{
id
}
headExtra=
{
(
headExtra=
{
(
)
=>
(
<
Button
type=
"default"
icon=
{
<
SettingOutlined
/>
}
...
...
src/pages/afterService/returnManage/returnPrReturn/index.tsx
View file @
495e4c27
...
...
@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2020-11-05 14:25:41
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-1
1-25 15:56:53
* @LastEditTime: 2020-1
2-08 17:32:59
* @Description: 退货申请单查询
*/
import
React
,
{
useState
,
useRef
}
from
'react'
;
...
...
@@ -24,9 +24,9 @@ import NiceForm from '@/components/NiceForm';
import
StatusTag
from
'@/components/StatusTag'
;
import
{
listSearchSchema
}
from
'./schema'
;
import
{
CREDIT
_OUTER_STATUS_TAG_MAP
,
CREDIT
_INNER_STATUS_BADGE_MAP
,
}
from
'../../contants'
;
RETURN
_OUTER_STATUS_TAG_MAP
,
RETURN
_INNER_STATUS_BADGE_MAP
,
}
from
'../../con
s
tants'
;
import
styles
from
'./index.less'
;
const
formActions
=
createFormActions
();
...
...
@@ -51,22 +51,22 @@ const ReturnPrReturn: React.FC = () => {
},
{
title
:
'申请单摘要'
,
dataIndex
:
'
parentMemberName
'
,
dataIndex
:
'
applyAbstract
'
,
align
:
'center'
,
},
{
title
:
'采购会员'
,
dataIndex
:
'
supplier
'
,
dataIndex
:
'
consumerName
'
,
align
:
'center'
,
},
{
title
:
'退款金额'
,
dataIndex
:
're
turn
Amount'
,
dataIndex
:
're
fund
Amount'
,
align
:
'center'
,
},
{
title
:
'单据时间'
,
dataIndex
:
'
created
'
,
dataIndex
:
'
applyTime
'
,
align
:
'center'
,
},
{
...
...
@@ -79,15 +79,15 @@ const ReturnPrReturn: React.FC = () => {
dataIndex
:
'outerStatusName'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
(
<
StatusTag
type=
"success"
title=
"售后完成"
/>
<
StatusTag
type=
{
RETURN_OUTER_STATUS_TAG_MAP
[
record
.
outerStatus
]
}
title=
{
text
}
/>
),
},
{
title
:
'内部状态'
,
dataIndex
:
'innerStatusName'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
<
Badge
color=
{
'#6C9CEB'
}
text=
"待确认售后完成"
/>,
},
render
:
(
text
,
record
)
=>
<
Badge
color=
{
RETURN_INNER_STATUS_BADGE_MAP
[
record
.
innerStatus
]
}
text=
{
text
}
/>,
},
{
title
:
'操作'
,
dataIndex
:
'option'
,
...
...
@@ -109,32 +109,21 @@ const ReturnPrReturn: React.FC = () => {
const
fetchListData
=
(
params
:
any
)
=>
{
const
{
startTime
,
endTime
,
...
rest
}
=
params
;
// return new Promise((resolve, reject) => {
// PublicApi.getPayCreditApplyPageCreditApply({
// startTime: startTime ? moment(startTime).format('YYYY-MM-DD') : null,
// endTime: startTime ? moment(startTime).format('YYYY-MM-DD') : null,
// ...rest,
// })
// .then(res => {
// if (res.code === 1000) {
// resolve(res.data);
// }
// reject();
// })
// .catch(() => {
// reject();
// });
// });
return
Promise
.
resolve
({
data
:
[
{
id
:
1
,
applyNo
:
'123'
,
parentMemberName
:
'申请单摘要'
,
created
:
'2020-11-03 11:46:00'
,
},
],
total
:
10
,
return
new
Promise
((
resolve
,
reject
)
=>
{
PublicApi
.
getAsReturnGoodsPageToBeRefund
({
startTime
:
startTime
?
moment
(
startTime
).
format
(
'YYYY-MM-DD'
)
:
null
,
endTime
:
startTime
?
moment
(
startTime
).
format
(
'YYYY-MM-DD'
)
:
null
,
...
rest
,
})
.
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
resolve
(
res
.
data
);
}
reject
();
})
.
catch
(()
=>
{
reject
();
});
});
};
...
...
src/pages/afterService/returnManage/returnPrReturn/schema/index.ts
View file @
495e4c27
...
...
@@ -35,28 +35,26 @@ export const listSearchSchema: ISchema = {
columns
:
6
,
},
properties
:
{
abstract
:
{
a
pplyA
bstract
:
{
type
:
'string'
,
'x-component-props'
:
{
placeholder
:
'申请单摘要'
,
allowClear
:
true
,
},
},
'[startTime, endTime]'
:
{
consumerName
:
{
type
:
'string'
,
default
:
''
,
'x-component'
:
'dateSelect'
,
'x-component-props'
:
{
placeholder
:
'
单据时间(全部)
'
,
placeholder
:
'
采购会员
'
,
allowClear
:
true
,
},
},
supplier
:
{
'[startTime, endTime]'
:
{
type
:
'string'
,
default
:
undefined
,
enum
:
[],
default
:
''
,
'x-component'
:
'dateSelect'
,
'x-component-props'
:
{
placeholder
:
'
采购会员
(全部)'
,
placeholder
:
'
单据时间
(全部)'
,
allowClear
:
true
,
},
},
...
...
src/pages/afterService/returnManage/returnPrReturn/verify.tsx
View file @
495e4c27
...
...
@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2020-11-04 17:22:07
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-1
1-09 17:27:30
* @LastEditTime: 2020-1
2-08 18:34:46
* @Description:
*/
import
React
,
{
useState
}
from
'react'
;
...
...
@@ -12,15 +12,26 @@ import { PublicApi } from '@/services/api';
import
{
FormOutlined
}
from
'@ant-design/icons'
;
import
{
usePageStatus
}
from
'@/hooks/usePageStatus'
;
import
DetailInfo
from
'../components/DetailInfo'
;
import
VerifyModal
from
'../../components/VerifyModal'
;
const
ReturnPrReturnVerify
:
React
.
FC
=
()
=>
{
const
{
id
,
creditId
}
=
usePageStatus
();
const
[
visible
,
setVisible
]
=
useState
(
false
);
const
[
confirmLoading
,
setConfirm
Loading
]
=
useState
(
false
);
const
[
submitLoading
,
setSubmit
Loading
]
=
useState
(
false
);
const
handleSubmit
=
values
=>
{
if
(
!
id
)
{
return
;
}
// setSubmitLoading(true);
// PublicApi.postAsReturnGoodsConfirmAllRefund({
// dataId: id,
// }).then(res => {
// if (res.code === 1000) {
// history.goBack();
// }
// }).finally(() => {
// setSubmitLoading(false);
// });
};
return
(
...
...
@@ -28,23 +39,16 @@ const ReturnPrReturnVerify: React.FC = () => {
<
DetailInfo
id=
{
id
}
target=
"/memberCenter/payandSettle/creditApplication/quotaFormQuery/detail"
headExtra=
{
(
headExtra=
{
(
)
=>
(
<
Button
type=
"primary"
icon=
{
<
FormOutlined
/>
}
onClick=
{
()
=>
setVisible
(
true
)
}
loading=
{
submitLoading
}
>
单据审核
确认本单已完成所有退款
</
Button
>
)
}
/>
<
VerifyModal
visible=
{
visible
}
confirmLoading=
{
confirmLoading
}
onSubmit=
{
handleSubmit
}
onVisible=
{
()
=>
setVisible
(
false
)
}
/>
</>
);
};
...
...
src/pages/afterService/returnManage/returnPrSubmit/index.tsx
View file @
495e4c27
...
...
@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2020-11-05 14:25:41
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-1
1-11 15:28:20
* @LastEditTime: 2020-1
2-08 17:10:49
* @Description: 退货申请单查询
*/
import
React
,
{
useState
,
useRef
}
from
'react'
;
...
...
@@ -24,9 +24,9 @@ import NiceForm from '@/components/NiceForm';
import
StatusTag
from
'@/components/StatusTag'
;
import
{
listSearchSchema
}
from
'./schema'
;
import
{
CREDIT
_OUTER_STATUS_TAG_MAP
,
CREDIT
_INNER_STATUS_BADGE_MAP
,
}
from
'../../contants'
;
RETURN
_OUTER_STATUS_TAG_MAP
,
RETURN
_INNER_STATUS_BADGE_MAP
,
}
from
'../../con
s
tants'
;
import
styles
from
'./index.less'
;
const
formActions
=
createFormActions
();
...
...
@@ -74,15 +74,15 @@ const ReturnPrSubmit: React.FC = () => {
dataIndex
:
'outerStatusName'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
(
<
StatusTag
type=
"success"
title=
"售后完成"
/>
<
StatusTag
type=
{
RETURN_OUTER_STATUS_TAG_MAP
[
record
.
outerStatus
]
}
title=
{
text
}
/>
),
},
{
title
:
'内部状态'
,
dataIndex
:
'innerStatusName'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
<
Badge
color=
{
'#6C9CEB'
}
text=
"待确认售后完成"
/>,
},
render
:
(
text
,
record
)
=>
<
Badge
color=
{
RETURN_INNER_STATUS_BADGE_MAP
[
record
.
innerStatus
]
}
text=
{
text
}
/>,
},
{
title
:
'操作'
,
dataIndex
:
'option'
,
...
...
src/pages/afterService/returnManage/returnPrSubmit/verify.tsx
View file @
495e4c27
...
...
@@ -2,11 +2,11 @@
* @Author: XieZhiXiong
* @Date: 2020-11-04 17:22:07
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-1
1-09 17:03:54
* @LastEditTime: 2020-1
2-08 14:51:53
* @Description:
*/
import
React
,
{
useState
}
from
'react'
;
import
{
Button
}
from
'antd'
;
import
{
Button
,
message
}
from
'antd'
;
import
{
history
}
from
'umi'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
{
FormOutlined
}
from
'@ant-design/icons'
;
...
...
@@ -14,10 +14,30 @@ import { usePageStatus } from '@/hooks/usePageStatus';
import
DetailInfo
from
'../components/DetailInfo'
;
import
VerifyModal
from
'../../components/VerifyModal'
;
interface
ReturnAddress
{
/**
* 收货地址id
*/
receiveId
:
number
;
/**
* 收货地址
*/
receiveAddress
:
string
;
/**
* 收货者名称
*/
receiveUserName
:
string
;
/**
* 收货者电话
*/
receiveUserTel
:
string
;
};
const
ReturnPrSubmitVerify
:
React
.
FC
=
()
=>
{
const
{
id
}
=
usePageStatus
();
const
[
visible
,
setVisible
]
=
useState
(
false
);
const
[
confirmLoading
,
setConfirmLoading
]
=
useState
(
false
);
const
[
returnAddress
,
setReturnAddress
]
=
useState
<
ReturnAddress
>
(
null
);
const
handleSubmit
=
values
=>
{
if
(
!
id
)
{
...
...
@@ -27,6 +47,7 @@ const ReturnPrSubmitVerify: React.FC = () => {
PublicApi
.
postAsReturnGoodsSubmitVerify
({
applyId
:
id
,
...
values
,
...
returnAddress
,
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
history
.
goBack
();
...
...
@@ -35,17 +56,35 @@ const ReturnPrSubmitVerify: React.FC = () => {
setConfirmLoading
(
false
);
});
};
const
handleSubmitVerify
=
(
info
,
returnAddress
)
=>
{
// 退货方式为 物流,并且退货收货地址为空时
if
(
info
.
returnGoodsAddress
.
deliveryType
===
1
&&
!
returnAddress
)
{
message
.
error
(
'请选择退货收货地址'
);
return
;
}
setReturnAddress
({
receiveId
:
returnAddress
.
id
,
receiveAddress
:
returnAddress
.
receiveAddress
,
receiveUserName
:
returnAddress
.
receiveUserName
,
receiveUserTel
:
returnAddress
.
receiveUserTel
,
});
setVisible
(
true
);
};
return
(
<>
<
DetailInfo
id=
{
id
}
target=
"/memberCenter/payandSettle/creditApplication/quotaFormQuery/detail"
headExtra=
{
(
headExtra=
{
(
info
,
returnAddress
)
=>
(
<
Button
type=
"primary"
icon=
{
<
FormOutlined
/>
}
onClick=
{
()
=>
setVisible
(
true
)
}
onClick=
{
()
=>
handleSubmitVerify
(
info
,
returnAddress
)
}
>
提交审核
</
Button
>
...
...
src/pages/afterService/returnManage/returnQuery/index.tsx
View file @
495e4c27
...
...
@@ -25,9 +25,9 @@ import NiceForm from '@/components/NiceForm';
import
StatusTag
from
'@/components/StatusTag'
;
import
{
listSearchSchema
}
from
'./schema'
;
import
{
CREDIT
_OUTER_STATUS_TAG_MAP
,
CREDIT
_INNER_STATUS_BADGE_MAP
,
}
from
'../../contants'
;
RETURN
_OUTER_STATUS_TAG_MAP
,
RETURN
_INNER_STATUS_BADGE_MAP
,
}
from
'../../con
s
tants'
;
import
styles
from
'./index.less'
;
const
formActions
=
createFormActions
();
...
...
@@ -77,7 +77,7 @@ const ReturnQuery: React.FC = () => {
filters
:
[],
onFilter
:
(
value
,
record
)
=>
record
.
outerStatus
===
value
,
render
:
(
text
,
record
)
=>
(
<
StatusTag
type=
"success"
title=
"售后完成"
/>
<
StatusTag
type=
{
RETURN_OUTER_STATUS_TAG_MAP
[
record
.
outerStatus
]
}
title=
{
text
}
/>
),
},
{
...
...
@@ -86,7 +86,7 @@ const ReturnQuery: React.FC = () => {
align
:
'center'
,
filters
:
[],
onFilter
:
(
value
,
record
)
=>
record
.
innerStatus
===
value
,
render
:
(
text
,
record
)
=>
<
Badge
color=
{
'#6C9CEB'
}
text=
"待确认售后完成"
/>,
render
:
(
text
,
record
)
=>
<
Badge
color=
{
RETURN_INNER_STATUS_BADGE_MAP
[
record
.
innerStatus
]
}
text=
{
text
}
/>,
},
];
...
...
@@ -114,36 +114,36 @@ const ReturnQuery: React.FC = () => {
// 初始化高级筛选选项
const
fetchSearchItems
=
async
()
=>
{
// const res = await PublicApi.getPayCreditApplyPageItemsByConsumer
();
const
res
=
await
PublicApi
.
getAsReturnGoodsPageItems
();
//
if (res.code === 1000) {
//
const { data } = res;
//
const {
//
outerStatusList = [],
//
innerStatusList = [],
//
} = data;
if
(
res
.
code
===
1000
)
{
const
{
data
}
=
res
;
const
{
outerStatusList
=
[],
innerStatusList
=
[],
}
=
data
;
//
const newColumns = columns.slice();
const
newColumns
=
columns
.
slice
();
//
// filter 0 过滤掉全部选项
//
coverColFiltersItem(
//
newColumns,
//
'outerStatusName',
//
outerStatusList.map(item => ({ text: item.name, value: item.status })).filter(item => item.value),
//
);
//
coverColFiltersItem(
//
newColumns,
//
'innerStatusName',
//
innerStatusList.map(item => ({ text: item.name, value: item.status })).filter(item => item.value),
//
);
// filter 0 过滤掉全部选项
coverColFiltersItem
(
newColumns
,
'outerStatusName'
,
outerStatusList
.
map
(
item
=>
({
text
:
item
.
name
,
value
:
item
.
status
})).
filter
(
item
=>
item
.
value
),
);
coverColFiltersItem
(
newColumns
,
'innerStatusName'
,
innerStatusList
.
map
(
item
=>
({
text
:
item
.
name
,
value
:
item
.
status
})).
filter
(
item
=>
item
.
value
),
);
//
setColumns(newColumns);
setColumns
(
newColumns
);
//
return {
//
outerStatus: outerStatusList.map(item => ({ label: item.name, value: item.status })).filter(item => item.value),
//
innerStatus: innerStatusList.map(item => ({ label: item.name, value: item.status })).filter(item => item.value),
//
};
//
}
return
{
outerStatus
:
outerStatusList
.
map
(
item
=>
({
label
:
item
.
name
,
value
:
item
.
status
})).
filter
(
item
=>
item
.
value
),
innerStatus
:
innerStatusList
.
map
(
item
=>
({
label
:
item
.
name
,
value
:
item
.
status
})).
filter
(
item
=>
item
.
value
),
};
}
return
{};
};
...
...
src/pages/afterService/returnManage/returnQuery/schema/index.ts
View file @
495e4c27
...
...
@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2020-09-29 10:03:06
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-1
1-05 14:28:08
* @LastEditTime: 2020-1
2-08 17:25:43
* @Description:
*/
import
{
ISchema
}
from
'@formily/antd'
;
...
...
src/pages/transaction/stockSellStorage/bills/components/BillsForm/effects/useBusinessEffects.ts
View file @
495e4c27
...
...
@@ -615,41 +615,61 @@ export const useBusinessEffects = (context, actions) => {
case
DOC_TYPE_EXCHANGE_INVOICE
:
// 换货入库单
case
DOC_TYPE_EXCHANGE_RECEIPT
:
{
switch
(
relevanceInvoicesVal
)
{
// 换货申请单
case
DEPENDENT_DOC_EXCHANGE
:
{
// 获取明细数据 商品 数据
PublicApi
.
getAsReplaceGoodsPageReturnedGoods
({
replaceId
:
first
.
id
,
current
:
`
${
1
}
`
,
pageSize
:
`
${
99999
}
`
,
}).
then
(
res
=>
{
if
(
res
.
code
!==
1000
)
{
return
;
}
const
{
data
=
[],
}
=
res
.
data
;
const
goodOptions
=
data
.
map
(
item
=>
({
label
:
`
${
item
.
productName
}
---订单号:
${
item
.
orderNo
}
`
,
value
:
item
.
productId
,
}));
setFieldState
(
'invoicesDetailsRequests.*.product'
,
state
=>
{
FormPath
.
setIn
(
state
,
'originAsyncData'
,
data
.
map
(
item
=>
({
...
item
,
price
:
item
.
purchasePrice
,
// 与采购入库单、销售发货单统一
})));
FormPath
.
setIn
(
state
,
'props.enum'
,
goodOptions
);
});
});
break
;
// 获取明细数据 商品 数据
PublicApi
.
getAsReplaceGoodsPageReturnedGoods
({
replaceId
:
first
.
id
,
current
:
`
${
1
}
`
,
pageSize
:
`
${
99999
}
`
,
}).
then
(
res
=>
{
if
(
res
.
code
!==
1000
)
{
return
;
}
// 退货申请单
case
DEPENDENT_DOC_RETURN
:
{
break
;
const
{
data
=
[],
}
=
res
.
data
;
const
goodOptions
=
data
.
map
(
item
=>
({
label
:
`
${
item
.
productName
}
---订单号:
${
item
.
orderNo
}
`
,
value
:
item
.
productId
,
}));
setFieldState
(
'invoicesDetailsRequests.*.product'
,
state
=>
{
FormPath
.
setIn
(
state
,
'originAsyncData'
,
data
.
map
(
item
=>
({
...
item
,
price
:
item
.
purchasePrice
,
// 与采购入库单、销售发货单统一
})));
FormPath
.
setIn
(
state
,
'props.enum'
,
goodOptions
);
});
});
break
;
}
// 退货发货单
case
DOC_TYPE_RETURN_INVOICE
:
// 退货入库单
case
DOC_TYPE_RETURN_RECEIPT
:
{
// 获取明细数据 商品 数据
PublicApi
.
getAsReturnGoodsPageReturnedGoods
({
returnId
:
first
.
id
,
current
:
`
${
1
}
`
,
pageSize
:
`
${
99999
}
`
,
}).
then
(
res
=>
{
if
(
res
.
code
!==
1000
)
{
return
;
}
};
const
{
data
=
[],
}
=
res
.
data
;
const
goodOptions
=
data
.
map
(
item
=>
({
label
:
`
${
item
.
productName
}
---订单号:
${
item
.
orderNo
}
`
,
value
:
item
.
productId
,
}));
setFieldState
(
'invoicesDetailsRequests.*.product'
,
state
=>
{
FormPath
.
setIn
(
state
,
'originAsyncData'
,
data
.
map
(
item
=>
({
...
item
,
price
:
item
.
purchasePrice
,
// 与采购入库单、销售发货单统一
})));
FormPath
.
setIn
(
state
,
'props.enum'
,
goodOptions
);
});
});
break
;
}
...
...
@@ -849,34 +869,47 @@ export const useBusinessEffects = (context, actions) => {
case
DOC_TYPE_EXCHANGE_INVOICE
:
// 换货入库单
case
DOC_TYPE_EXCHANGE_RECEIPT
:
{
switch
(
relevanceInvoicesVal
)
{
// 换货申请单
case
DEPENDENT_DOC_EXCHANGE
:
{
// 设置单据数量,取换货数量
setFieldState
(
FormPath
.
transform
(
name
,
/
\d
/
,
$1
=>
{
return
`invoicesDetailsRequests.
${
$1
}
.productCount`
}),
state
=>
{
state
.
value
=
current
.
replaceCount
;
}
);
setFieldState
(
FormPath
.
transform
(
name
,
/
\d
/
,
$1
=>
{
return
`invoicesDetailsRequests.
${
$1
}
.amount`
}),
state
=>
{
state
.
value
=
current
.
price
?
`¥
${(
current
.
replaceCount
*
current
.
price
).
toFixed
(
2
)}
`
:
null
;
}
);
break
;
// 设置单据数量,取换货数量
setFieldState
(
FormPath
.
transform
(
name
,
/
\d
/
,
$1
=>
{
return
`invoicesDetailsRequests.
${
$1
}
.productCount`
}),
state
=>
{
state
.
value
=
current
.
replaceCount
;
}
// 退货申请单
case
DEPENDENT_DOC_RETURN
:
{
break
;
);
setFieldState
(
FormPath
.
transform
(
name
,
/
\d
/
,
$1
=>
{
return
`invoicesDetailsRequests.
${
$1
}
.amount`
}),
state
=>
{
state
.
value
=
current
.
price
?
`¥
${(
current
.
replaceCount
*
current
.
price
).
toFixed
(
2
)}
`
:
null
;
}
};
);
break
;
}
// 退货发货单
case
DOC_TYPE_RETURN_INVOICE
:
// 退货入库单
case
DOC_TYPE_RETURN_RECEIPT
:
{
// 设置单据数量,取退货数量
setFieldState
(
FormPath
.
transform
(
name
,
/
\d
/
,
$1
=>
{
return
`invoicesDetailsRequests.
${
$1
}
.productCount`
}),
state
=>
{
state
.
value
=
current
.
returnCount
;
}
);
setFieldState
(
FormPath
.
transform
(
name
,
/
\d
/
,
$1
=>
{
return
`invoicesDetailsRequests.
${
$1
}
.amount`
}),
state
=>
{
state
.
value
=
current
.
price
?
`¥
${(
current
.
returnCount
*
current
.
price
).
toFixed
(
2
)}
`
:
null
;
}
);
break
;
}
...
...
@@ -977,31 +1010,41 @@ export const useBusinessEffects = (context, actions) => {
case
DOC_TYPE_EXCHANGE_INVOICE
:
// 换货入库单
case
DOC_TYPE_EXCHANGE_RECEIPT
:
{
switch
(
relevanceInvoicesVal
)
{
// 换货申请单
case
DEPENDENT_DOC_EXCHANGE
:
{
if
(
+
value
>
current
.
replaceCount
)
{
Modal
.
destroyAll
();
Modal
.
confirm
({
title
:
'提示'
,
content
:
'单据数量已超过换货数量'
,
okText
:
'确认'
,
cancelText
:
'取消'
,
cancelButtonProps
:
{
style
:
{
display
:
'none'
,
},
},
});
}
break
;
}
// 退货申请单
case
DEPENDENT_DOC_RETURN
:
{
break
;
}
};
if
(
+
value
>
current
.
replaceCount
)
{
Modal
.
destroyAll
();
Modal
.
confirm
({
title
:
'提示'
,
content
:
'单据数量已超过换货数量'
,
okText
:
'确认'
,
cancelText
:
'取消'
,
cancelButtonProps
:
{
style
:
{
display
:
'none'
,
},
},
});
}
break
;
}
// 退货发货单
case
DOC_TYPE_RETURN_INVOICE
:
// 退货入库单
case
DOC_TYPE_RETURN_RECEIPT
:
{
if
(
+
value
>
current
.
returnCount
)
{
Modal
.
destroyAll
();
Modal
.
confirm
({
title
:
'提示'
,
content
:
'单据数量已超过退货数量'
,
okText
:
'确认'
,
cancelText
:
'取消'
,
cancelButtonProps
:
{
style
:
{
display
:
'none'
,
},
},
});
}
break
;
}
...
...
src/pages/transaction/stockSellStorage/bills/components/BillsForm/index.tsx
View file @
495e4c27
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment