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
shenshaokai
jinfa-platform
Commits
ba73aab5
Commit
ba73aab5
authored
Nov 26, 2020
by
XieZhiXiong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
完善加工单据相关
parent
4a4cd802
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
93 additions
and
5 deletions
+93
-5
useBusinessEffects.ts
.../bills/components/BillsForm/effects/useBusinessEffects.ts
+91
-5
index.tsx
...ion/stockSellStorage/bills/components/BillsForm/index.tsx
+2
-0
No files found.
src/pages/transaction/stockSellStorage/bills/components/BillsForm/effects/useBusinessEffects.ts
View file @
ba73aab5
...
...
@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2020-09-16 15:16:47
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-11-2
5 17:25:55
* @LastEditTime: 2020-11-2
6 11:10:39
* @Description: 联动逻辑相关
*/
import
{
Modal
}
from
'antd'
;
...
...
@@ -598,8 +598,7 @@ export const useBusinessEffects = (context, actions) => {
onFieldInputChange$
(
'invoicesDetailsRequests.*.product'
).
subscribe
(
fieldState
=>
{
const
{
name
,
originAsyncData
,
value
}
=
fieldState
;
const
current
=
originAsyncData
.
find
(
item
=>
item
.
productId
===
value
);
console
.
log
(
'current'
,
current
)
const
invoicesTypeIdVal
=
getFieldValue
(
'invoicesTypeId'
);
// 取消选择
if
(
!
value
)
{
...
...
@@ -679,20 +678,63 @@ export const useBusinessEffects = (context, actions) => {
);
setFieldState
(
FormPath
.
transform
(
name
,
/
\d
/
,
$1
=>
{
return
`invoicesDetailsRequests.
${
$1
}
.amount`
}),
state
=>
{
state
.
value
=
current
.
price
?
`¥
${(
current
.
purchaseCount
*
current
.
price
).
toFixed
(
2
)}
`
:
null
;
}
);
switch
(
invoicesTypeIdVal
)
{
// 采购入库单、销售发货单
case
DOC_TYPE_PURCHASE_RECEIPT
:
case
DOC_TYPE_SALES_INVOICE
:
{
// 设置单据数量,取采购数量
setFieldState
(
FormPath
.
transform
(
name
,
/
\d
/
,
$1
=>
{
return
`invoicesDetailsRequests.
${
$1
}
.productCount`
}),
state
=>
{
state
.
value
=
current
.
purchaseCount
;
}
);
break
;
}
// 加工入库单、加工发货单
case
DOC_TYPE_PROCESS_RECEIPT
:
case
DOC_TYPE_PROCESS_INVOICE
:
{
// 设置单据数量,取加工数量
setFieldState
(
FormPath
.
transform
(
name
,
/
\d
/
,
$1
=>
{
return
`invoicesDetailsRequests.
${
$1
}
.am
ount`
return
`invoicesDetailsRequests.
${
$1
}
.productC
ount`
}),
state
=>
{
state
.
value
=
current
.
price
?
`¥
${(
current
.
purchaseCount
*
current
.
price
).
toFixed
(
2
)}
`
:
null
;
state
.
value
=
current
.
processNum
;
}
);
break
;
}
// 退货发货单、退货入库单
case
DOC_TYPE_RETURN_INVOICE
:
case
DOC_TYPE_RETURN_RECEIPT
:
{
break
;
}
// 换货发货单、换货入库单
case
DOC_TYPE_EXCHANGE_INVOICE
:
case
DOC_TYPE_EXCHANGE_RECEIPT
:
{
break
;
}
default
:
{
break
;
}
}
// 额外的数据
setFieldState
(
...
...
@@ -750,6 +792,7 @@ export const useBusinessEffects = (context, actions) => {
// 关联明细 商品数量 联动计算商品金额
onFieldInputChange$
(
'invoicesDetailsRequests.*.productCount'
).
subscribe
(
fieldState
=>
{
const
{
name
,
value
}
=
fieldState
;
const
invoicesTypeIdVal
=
getFieldValue
(
'invoicesTypeId'
);
const
originAsyncData
=
getFieldState
(
FormPath
.
transform
(
name
,
/
\d
/
,
$1
=>
{
return
`invoicesDetailsRequests.
${
$1
}
.product`
...
...
@@ -764,10 +807,16 @@ export const useBusinessEffects = (context, actions) => {
);
const
current
=
originAsyncData
?
originAsyncData
.
find
(
item
=>
item
.
productId
===
goodId
)
:
null
;
console
.
log
(
'current'
,
current
)
if
(
!
current
)
{
return
;
}
switch
(
invoicesTypeIdVal
)
{
// 采购入库单、销售发货单
case
DOC_TYPE_PURCHASE_RECEIPT
:
case
DOC_TYPE_SALES_INVOICE
:
{
if
(
+
value
>
current
.
purchaseCount
)
{
Modal
.
destroyAll
();
Modal
.
confirm
({
...
...
@@ -777,6 +826,43 @@ export const useBusinessEffects = (context, actions) => {
cancelText
:
'取消'
,
});
}
break
;
}
// 加工入库单、加工发货单
case
DOC_TYPE_PROCESS_RECEIPT
:
case
DOC_TYPE_PROCESS_INVOICE
:
{
if
(
+
value
>
current
.
processNum
)
{
Modal
.
destroyAll
();
Modal
.
confirm
({
title
:
'提示'
,
content
:
'单据数量已超过加工数量'
,
okText
:
'确认'
,
cancelText
:
'取消'
,
});
}
break
;
}
// 退货发货单、退货入库单
case
DOC_TYPE_RETURN_INVOICE
:
case
DOC_TYPE_RETURN_RECEIPT
:
{
break
;
}
// 换货发货单、换货入库单
case
DOC_TYPE_EXCHANGE_INVOICE
:
case
DOC_TYPE_EXCHANGE_RECEIPT
:
{
break
;
}
default
:
{
break
;
}
}
setFieldState
(
FormPath
.
transform
(
name
,
/
\d
/
,
$1
=>
{
...
...
src/pages/transaction/stockSellStorage/bills/components/BillsForm/index.tsx
View file @
ba73aab5
...
...
@@ -15,6 +15,7 @@ import NiceForm from '@/components/NiceForm';
import
ModalTable
from
'@/components/ModalTable'
;
import
Search
from
'@/components/NiceForm/components/Search'
;
import
Submit
from
'@/components/NiceForm/components/Submit'
;
import
SearchSelect
from
'@/components/NiceForm/components/SearchSelect'
;
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
useAsyncSelect
}
from
'@/formSchema/effects/useAsyncSelect'
;
...
...
@@ -874,6 +875,7 @@ const BillsForm: React.FC<BillsFormProps> = ({
components
:
{
Search
,
Submit
,
SearchSelect
,
},
effects
:
(
$
,
actions
)
=>
{
useStateFilterSearchLinkageEffect
(
...
...
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