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
05511112
Commit
05511112
authored
Nov 20, 2020
by
XieZhiXiong
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' into test
parents
8917f098
ed41bf7b
Hide whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
672 additions
and
220 deletions
+672
-220
index.tsx
...ges/afterService/components/ExchangeAddressInfo/index.tsx
+126
-7
index.ts
...terService/components/ExchangeAddressInfo/schema/index.ts
+46
-16
index.tsx
...pages/afterService/components/ReturnAddressInfo/index.tsx
+125
-9
index.ts
...afterService/components/ReturnAddressInfo/schema/index.ts
+35
-14
index.tsx
...ervice/exchangeApplication/exchangePrAddDeliver/index.tsx
+5
-5
index.tsx
...cation/exchangePrSubmit/components/ExchangeForm/index.tsx
+6
-7
index.tsx
...terService/exchangeManage/components/DetailInfo/index.tsx
+157
-56
index.tsx
src/pages/afterService/exchangeManage/exchangePr1/index.tsx
+3
-3
verify.tsx
src/pages/afterService/exchangeManage/exchangePr1/verify.tsx
+12
-13
index.tsx
src/pages/afterService/exchangeManage/exchangePr2/index.tsx
+1
-1
verify.tsx
src/pages/afterService/exchangeManage/exchangePr2/verify.tsx
+11
-12
index.tsx
...fterService/exchangeManage/exchangePrAddDeliver/index.tsx
+3
-3
verify.tsx
.../afterService/exchangeManage/exchangePrConfirm/verify.tsx
+12
-13
verify.tsx
...s/afterService/exchangeManage/exchangePrSubmit/verify.tsx
+12
-12
index.less
src/pages/lxMall/components/FindMore/index.less
+1
-1
index.tsx
src/pages/lxMall/pay/components/balance/index.tsx
+1
-0
index.less
src/pages/lxMall/pay/components/transfer/index.less
+1
-0
index.tsx
src/pages/lxMall/pay/components/wechat/index.tsx
+2
-2
index.less
src/pages/transaction/components/orderPayModal/index.less
+2
-2
index.tsx
src/pages/transaction/components/orderPayModal/index.tsx
+1
-1
useBusinessEffects.ts
.../bills/components/BillsForm/effects/useBusinessEffects.ts
+71
-3
index.tsx
...ion/stockSellStorage/bills/components/BillsForm/index.tsx
+27
-33
index.ts
...ockSellStorage/bills/components/BillsForm/schema/index.ts
+12
-7
No files found.
src/pages/afterService/components/ExchangeAddressInfo/index.tsx
View file @
05511112
...
@@ -2,12 +2,15 @@
...
@@ -2,12 +2,15 @@
* @Author: XieZhiXiong
* @Author: XieZhiXiong
* @Date: 2020-11-06 09:54:04
* @Date: 2020-11-06 09:54:04
* @LastEditors: XieZhiXiong
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-11-
17 17:49:19
* @LastEditTime: 2020-11-
20 14:43:15
* @Description:
退货地址信息
* @Description:
换货收货地址
*/
*/
import
React
from
'react'
;
import
React
from
'react'
;
import
MellowCard
from
'@/components/MellowCard'
;
import
MellowCard
from
'@/components/MellowCard'
;
import
{
createFormActions
,
FormEffectHooks
,
FormPath
}
from
'@formily/antd'
;
import
{
createFormActions
,
FormEffectHooks
,
FormPath
}
from
'@formily/antd'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
{
useAsyncSelect
}
from
'@/formSchema/effects/useAsyncSelect'
;
import
{
useLinkageUtils
}
from
'@/utils/formEffectUtils'
;
import
NiceForm
from
'@/components/NiceForm'
;
import
NiceForm
from
'@/components/NiceForm'
;
import
{
schema
}
from
'./schema'
;
import
{
schema
}
from
'./schema'
;
import
styles
from
'./index.less'
;
import
styles
from
'./index.less'
;
...
@@ -18,23 +21,88 @@ const {
...
@@ -18,23 +21,88 @@ const {
onFieldInputChange$
,
onFieldInputChange$
,
}
=
FormEffectHooks
;
}
=
FormEffectHooks
;
export
interface
Values
{
deliveryType
:
number
,
id
:
number
,
isDefault
:
number
,
sendAddress
:
string
|
undefined
,
sendUserName
:
string
|
undefined
,
sendUserTel
:
string
|
undefined
,
};
interface
ExchangeAddressInfo
{
interface
ExchangeAddressInfo
{
// 是否是编辑的
// 是否是编辑的
isEdit
?:
boolean
;
isEdit
?:
boolean
;
// 换货收货地址
deliveryAddress
:
{
// id
id
?:
number
;
// 配送方式
deliveryType
?:
number
;
// 收件人姓名
name
:
string
;
// phone
phone
:
string
;
// 完整地址
fullAddress
:
string
;
},
// 换货发货地址
shippingAddress
:
{
// id
id
?:
number
;
// 配送方式
deliveryType
?:
number
;
// 收件人姓名
name
:
string
;
// phone
phone
:
string
;
// 完整地址
fullAddress
:
string
;
},
// onSubmit
onSubmit
:
(
values
:
Values
)
=>
void
;
};
};
const
ExchangeAddressInfo
:
React
.
FC
<
ExchangeAddressInfo
>
=
({
const
ExchangeAddressInfo
:
React
.
FC
<
ExchangeAddressInfo
>
=
({
isEdit
=
false
,
isEdit
=
false
,
deliveryAddress
=
{},
shippingAddress
=
{},
onSubmit
,
})
=>
{
})
=>
{
const
handleSubmit
=
values
=>
{
const
handleSubmit
=
values
=>
{
};
};
const
DeliveryAddress
=
(
// 获取发货地址
const
fetchShipperAddress
=
():
Promise
<
any
[]
>
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
PublicApi
.
getLogisticsSelectListShipperAddress
().
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
const
options
=
res
.
data
?
res
.
data
.
map
(
item
=>
({
label
:
`
${
item
.
fullAddress
}
/
${
item
.
shipperName
}
/
${
item
.
phone
}
`
,
value
:
item
.
id
,
...
item
,
}))
:
[];
resolve
(
options
);
}
reject
();
}).
catch
(()
=>
{
reject
();
});
});
};
const
Address
=
(
<
div
>
<
div
>
<
p
>
张三 / 185 2929 6475
</
p
>
<
p
>
{
deliveryAddress
.
name
||
''
}
/
{
deliveryAddress
.
phone
||
''
}
</
p
>
<
p
>
广东省广州市海珠区新港东路1068号中洲中心北塔6楼
</
p
>
<
p
>
{
deliveryAddress
.
fullAddress
||
''
}
</
p
>
</
div
>
</
div
>
);
);
...
@@ -44,11 +112,62 @@ const ExchangeAddressInfo: React.FC<ExchangeAddressInfo> = ({
...
@@ -44,11 +112,62 @@ const ExchangeAddressInfo: React.FC<ExchangeAddressInfo> = ({
fullHeight
fullHeight
>
>
<
NiceForm
<
NiceForm
initialValues=
{
{
deliveryType
:
shippingAddress
.
deliveryType
,
shippingAddress
:
shippingAddress
.
id
,
pickupAddress
:
shippingAddress
.
id
,
}
}
expressionScope=
{
{
expressionScope=
{
{
Delivery
Address
,
Address
,
}
}
}
}
effects=
{
(
$
,
{
setFieldState
})
=>
{
effects=
{
(
$
,
{
setFieldState
,
getFieldValue
})
=>
{
useAsyncSelect
(
'*(shippingAddress,pickupAddress)'
,
fetchShipperAddress
,
[
'label'
,
'value'
]);
const
linkage
=
useLinkageUtils
();
// 联动配送方式
onFieldValueChange$
(
'deliveryType'
).
subscribe
(
fieldState
=>
{
const
{
name
,
value
}
=
fieldState
;
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
};
});
onFieldInputChange$
(
'*(shippingAddress,pickupAddress)'
).
subscribe
(
fieldState
=>
{
const
{
name
,
value
,
originAsyncData
}
=
fieldState
;
const
deliveryTypeValue
=
getFieldValue
(
'deliveryType'
);
const
fullData
=
originAsyncData
.
find
(
item
=>
item
.
id
===
value
);
if
(
onSubmit
)
{
onSubmit
({
deliveryType
:
deliveryTypeValue
,
id
:
fullData
?
fullData
.
id
:
undefined
,
isDefault
:
fullData
?
fullData
.
isDefault
:
undefined
,
sendAddress
:
fullData
?
fullData
.
fullAddress
:
undefined
,
sendUserName
:
fullData
?
fullData
.
shipperName
:
undefined
,
sendUserTel
:
fullData
?
fullData
.
phone
:
undefined
,
});
}
});
}
}
}
}
editable=
{
isEdit
}
editable=
{
isEdit
}
actions=
{
modalFormActions
}
actions=
{
modalFormActions
}
...
...
src/pages/afterService/components/ExchangeAddressInfo/schema/index.ts
View file @
05511112
...
@@ -2,10 +2,11 @@
...
@@ -2,10 +2,11 @@
* @Author: XieZhiXiong
* @Author: XieZhiXiong
* @Date: 2020-11-09 15:56:35
* @Date: 2020-11-09 15:56:35
* @LastEditors: XieZhiXiong
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-11-
17 17:46:41
* @LastEditTime: 2020-11-
20 14:54:37
* @Description:
* @Description:
*/
*/
import
{
ISchema
}
from
'@formily/antd'
;
import
{
ISchema
}
from
'@formily/antd'
;
import
{
UPLOAD_TYPE
,
DELIVERY_TYPE_ENUM
}
from
'@/constants'
;
export
const
schema
:
ISchema
=
{
export
const
schema
:
ISchema
=
{
type
:
'object'
,
type
:
'object'
,
...
@@ -14,35 +15,64 @@ export const schema: ISchema = {
...
@@ -14,35 +15,64 @@ export const schema: ISchema = {
type
:
'object'
,
type
:
'object'
,
'x-component'
:
'mega-layout'
,
'x-component'
:
'mega-layout'
,
'x-component-props'
:
{
'x-component-props'
:
{
labelCol
:
6
,
labelCol
:
8
,
full
:
true
,
wrapperCol
:
16
,
labelAlign
:
'left'
,
labelAlign
:
'left'
,
},
},
properties
:
{
properties
:
{
mode
:
{
deliveryType
:
{
type
:
'string'
,
title
:
'配送方式'
,
title
:
'配送方式'
,
default
:
'物流'
,
type
:
'string'
,
'x-component'
:
'Text'
,
default
:
1
,
'x-component-props'
:
{},
enum
:
DELIVERY_TYPE_ENUM
,
'x-component-props'
:
{
style
:
{
width
:
'80%'
,
},
},
},
},
shipping
Address
:
{
delivery
Address
:
{
type
:
'string'
,
type
:
'string'
,
title
:
'换货收货地址'
,
title
:
'换货收货地址'
,
enum
:
[],
'x-component'
:
'Children'
,
required
:
true
,
'x-component-props'
:
{
'x-component-props'
:
{
placeholder
:
'请选择
'
,
children
:
'{{Address}}
'
,
},
},
},
},
delivery
Address
:
{
shipping
Address
:
{
type
:
'string'
,
type
:
'string'
,
title
:
'换货发货地址'
,
title
:
'换货发货地址'
,
'x-component'
:
'Children'
,
enum
:
[]
,
'x-component-props'
:
{
'x-component-props'
:
{
children
:
'{{DeliveryAddress}}'
,
placeholder
:
'请选择'
,
style
:
{
width
:
'80%'
,
},
},
},
'x-rules'
:
[
{
required
:
true
,
message
:
'请选择换货发货地址'
,
},
],
},
},
pickupAddress
:
{
type
:
'string'
,
title
:
'换货自提地址'
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'请选择'
,
style
:
{
width
:
'80%'
,
},
},
'x-rules'
:
[
{
required
:
true
,
message
:
'请选择换货自提地址'
,
},
],
},
},
},
},
},
},
},
...
...
src/pages/afterService/components/ReturnAddressInfo/index.tsx
View file @
05511112
...
@@ -2,12 +2,15 @@
...
@@ -2,12 +2,15 @@
* @Author: XieZhiXiong
* @Author: XieZhiXiong
* @Date: 2020-11-06 09:54:04
* @Date: 2020-11-06 09:54:04
* @LastEditors: XieZhiXiong
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-11-
12 13:48:08
* @LastEditTime: 2020-11-
20 15:40:21
* @Description: 退货地址信息
* @Description: 退货地址信息
*/
*/
import
React
from
'react'
;
import
React
from
'react'
;
import
MellowCard
from
'@/components/MellowCard'
;
import
MellowCard
from
'@/components/MellowCard'
;
import
{
createFormActions
,
FormEffectHooks
,
FormPath
}
from
'@formily/antd'
;
import
{
createFormActions
,
FormEffectHooks
,
FormPath
}
from
'@formily/antd'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
{
useAsyncSelect
}
from
'@/formSchema/effects/useAsyncSelect'
;
import
{
useLinkageUtils
}
from
'@/utils/formEffectUtils'
;
import
NiceForm
from
'@/components/NiceForm'
;
import
NiceForm
from
'@/components/NiceForm'
;
import
{
schema
}
from
'./schema'
;
import
{
schema
}
from
'./schema'
;
import
styles
from
'./index.less'
;
import
styles
from
'./index.less'
;
...
@@ -18,23 +21,88 @@ const {
...
@@ -18,23 +21,88 @@ const {
onFieldInputChange$
,
onFieldInputChange$
,
}
=
FormEffectHooks
;
}
=
FormEffectHooks
;
export
interface
Values
{
deliveryType
:
number
,
id
:
number
,
isDefault
:
number
,
receiveAddress
:
string
|
undefined
,
receiveUserName
:
string
|
undefined
,
receiveUserTel
:
string
|
undefined
,
};
interface
ReturnAddressInfo
{
interface
ReturnAddressInfo
{
// 是否是编辑的
// 是否是编辑的
isEdit
?:
boolean
;
isEdit
?:
boolean
;
// 退货收货地址
deliveryAddress
:
{
// id
id
?:
number
;
// 配送方式
deliveryType
?:
number
;
// 收件人姓名
name
:
string
;
// phone
phone
:
string
;
// 完整地址
fullAddress
:
string
;
},
// 退货发货地址
shippingAddress
:
{
// id
id
?:
number
;
// 配送方式
deliveryType
?:
number
;
// 收件人姓名
name
:
string
;
// phone
phone
:
string
;
// 完整地址
fullAddress
:
string
;
},
// onSubmit
onSubmit
:
(
values
:
Values
)
=>
void
;
};
};
const
ReturnAddressInfo
:
React
.
FC
<
ReturnAddressInfo
>
=
({
const
ReturnAddressInfo
:
React
.
FC
<
ReturnAddressInfo
>
=
({
isEdit
=
false
,
isEdit
=
false
,
deliveryAddress
=
{},
shippingAddress
=
{},
onSubmit
,
})
=>
{
})
=>
{
const
handleSubmit
=
values
=>
{
const
handleSubmit
=
values
=>
{
};
};
const
DeliveryAddress
=
(
// 获取收货地址
const
fetchDeliveryAddress
=
():
Promise
<
any
[]
>
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
PublicApi
.
getLogisticsSelectListReceiverAddress
().
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
const
options
=
res
.
data
?
res
.
data
.
map
(
item
=>
({
label
:
`
${
item
.
fullAddress
}
/
${
item
.
receiverName
}
/
${
item
.
phone
}
`
,
value
:
item
.
id
,
...
item
,
}))
:
[];
resolve
(
options
);
}
reject
();
}).
catch
(()
=>
{
reject
();
});
});
};
const
Address
=
(
<
div
>
<
div
>
<
p
>
张三 / 185 2929 6475
</
p
>
<
p
>
{
shippingAddress
.
name
||
''
}
/
{
shippingAddress
.
phone
||
''
}
</
p
>
<
p
>
广东省广州市海珠区新港东路1068号中洲中心北塔6楼
</
p
>
<
p
>
{
shippingAddress
.
fullAddress
||
''
}
</
p
>
</
div
>
</
div
>
);
);
...
@@ -43,14 +111,62 @@ const ReturnAddressInfo: React.FC<ReturnAddressInfo> = ({
...
@@ -43,14 +111,62 @@ const ReturnAddressInfo: React.FC<ReturnAddressInfo> = ({
title=
"退货收货地址"
title=
"退货收货地址"
fullHeight
fullHeight
>
>
<
NiceForm
<
NiceForm
effects=
{
(
$
,
{
setFieldState
})
=>
{
initialValues=
{
{
onFieldValueChange$
(
'shippingAddress'
).
subscribe
(
fieldState
=>
{
deliveryType
:
shippingAddress
.
deliveryType
,
console
.
log
(
'配送方式'
,
fieldState
.
value
);
deliveryAddress
:
deliveryAddress
.
id
,
}
}
effects=
{
(
$
,
{
setFieldState
,
getFieldValue
})
=>
{
useAsyncSelect
(
'deliveryAddress'
,
fetchDeliveryAddress
,
[
'label'
,
'value'
]);
const
linkage
=
useLinkageUtils
();
// 联动配送方式
onFieldValueChange$
(
'deliveryType'
).
subscribe
(
fieldState
=>
{
const
{
name
,
value
}
=
fieldState
;
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
};
});
onFieldInputChange$
(
'deliveryAddress'
).
subscribe
(
fieldState
=>
{
const
{
name
,
value
,
originAsyncData
}
=
fieldState
;
const
deliveryTypeValue
=
getFieldValue
(
'deliveryType'
);
const
fullData
=
originAsyncData
.
find
(
item
=>
item
.
id
===
value
);
if
(
onSubmit
)
{
onSubmit
({
deliveryType
:
deliveryTypeValue
,
id
:
fullData
?
fullData
.
id
:
undefined
,
isDefault
:
fullData
?
fullData
.
isDefault
:
undefined
,
receiveAddress
:
fullData
?
fullData
.
fullAddress
:
undefined
,
receiveUserName
:
fullData
?
fullData
.
receiverName
:
undefined
,
receiveUserTel
:
fullData
?
fullData
.
phone
:
undefined
,
});
}
});
});
}
}
}
}
expressionScope=
{
{
expressionScope=
{
{
Delivery
Address
,
Address
,
}
}
}
}
editable=
{
isEdit
}
editable=
{
isEdit
}
actions=
{
modalFormActions
}
actions=
{
modalFormActions
}
...
...
src/pages/afterService/components/ReturnAddressInfo/schema/index.ts
View file @
05511112
...
@@ -2,10 +2,11 @@
...
@@ -2,10 +2,11 @@
* @Author: XieZhiXiong
* @Author: XieZhiXiong
* @Date: 2020-11-09 15:56:35
* @Date: 2020-11-09 15:56:35
* @LastEditors: XieZhiXiong
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-11-
09 16:19:24
* @LastEditTime: 2020-11-
20 15:41:12
* @Description:
* @Description:
*/
*/
import
{
ISchema
}
from
'@formily/antd'
;
import
{
ISchema
}
from
'@formily/antd'
;
import
{
UPLOAD_TYPE
,
DELIVERY_TYPE_ENUM
}
from
'@/constants'
;
export
const
schema
:
ISchema
=
{
export
const
schema
:
ISchema
=
{
type
:
'object'
,
type
:
'object'
,
...
@@ -14,35 +15,55 @@ export const schema: ISchema = {
...
@@ -14,35 +15,55 @@ export const schema: ISchema = {
type
:
'object'
,
type
:
'object'
,
'x-component'
:
'mega-layout'
,
'x-component'
:
'mega-layout'
,
'x-component-props'
:
{
'x-component-props'
:
{
labelCol
:
6
,
labelCol
:
8
,
full
:
true
,
wrapperCol
:
16
,
labelAlign
:
'left'
,
labelAlign
:
'left'
,
},
},
properties
:
{
properties
:
{
mode
:
{
deliveryType
:
{
type
:
'string'
,
title
:
'配送方式'
,
title
:
'配送方式'
,
default
:
'物流'
,
type
:
'string'
,
'x-component'
:
'Text'
,
enum
:
DELIVERY_TYPE_ENUM
,
'x-component-props'
:
{},
editable
:
false
,
'x-component-props'
:
{
style
:
{
width
:
'80%'
,
},
},
},
},
shipping
Address
:
{
delivery
Address
:
{
type
:
'string'
,
type
:
'string'
,
title
:
'退货收货地址'
,
title
:
'退货收货地址'
,
enum
:
[],
enum
:
[],
required
:
true
,
'x-component-props'
:
{
'x-component-props'
:
{
placeholder
:
'请选择'
,
placeholder
:
'请选择'
,
},
style
:
{
width
:
'80%'
,
},
},
'x-rules'
:
[
{
required
:
true
,
message
:
'请选择退货收货地址'
,
},
],
},
},
delivery
Address
:
{
shipping
Address
:
{
type
:
'string'
,
type
:
'string'
,
title
:
'退货发货地址'
,
title
:
'退货发货地址'
,
'x-component'
:
'Children'
,
'x-component'
:
'Children'
,
'x-component-props'
:
{
'x-component-props'
:
{
children
:
'{{
Delivery
Address}}'
,
children
:
'{{Address}}'
,
},
},
},
},
pickupAddress
:
{
type
:
'string'
,
title
:
'退货自提地址'
,
'x-component'
:
'Children'
,
'x-component-props'
:
{
children
:
'{{Address}}'
,
},
},
},
},
},
},
},
},
...
...
src/pages/afterService/exchangeApplication/exchangePrAddDeliver/index.tsx
View file @
05511112
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Author: XieZhiXiong
* @Date: 2020-11-06 16:30:44
* @Date: 2020-11-06 16:30:44
* @LastEditors: XieZhiXiong
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-11-
19 18:15:56
* @LastEditTime: 2020-11-
20 16:03:42
* @Description: 待新增退货发货单
* @Description: 待新增退货发货单
*/
*/
import
React
,
{
useState
,
useRef
}
from
'react'
;
import
React
,
{
useState
,
useRef
}
from
'react'
;
...
@@ -67,7 +67,7 @@ const ExchangePrAddDeliver: React.FC = () => {
...
@@ -67,7 +67,7 @@ const ExchangePrAddDeliver: React.FC = () => {
},
},
{
{
title
:
'申请单摘要'
,
title
:
'申请单摘要'
,
dataIndex
:
'
parentMemberName
'
,
dataIndex
:
'
applyAbstract
'
,
align
:
'center'
,
align
:
'center'
,
},
},
{
{
...
@@ -77,17 +77,17 @@ const ExchangePrAddDeliver: React.FC = () => {
...
@@ -77,17 +77,17 @@ const ExchangePrAddDeliver: React.FC = () => {
},
},
{
{
title
:
'单据时间'
,
title
:
'单据时间'
,
dataIndex
:
'
created
'
,
dataIndex
:
'
applyTime
'
,
align
:
'center'
,
align
:
'center'
,
},
},
{
{
title
:
'退货批次'
,
title
:
'退货批次'
,
dataIndex
:
'
b
atch'
,
dataIndex
:
'
returnB
atch'
,
align
:
'center'
,
align
:
'center'
,
},
},
{
{
title
:
'退货发货单号'
,
title
:
'退货发货单号'
,
dataIndex
:
'
deliver
No'
,
dataIndex
:
'
returnDelivery
No'
,
align
:
'center'
,
align
:
'center'
,
render
:
text
=>
<
a
>
{
text
}
</
a
>,
render
:
text
=>
<
a
>
{
text
}
</
a
>,
},
},
...
...
src/pages/afterService/exchangeApplication/exchangePrSubmit/components/ExchangeForm/index.tsx
View file @
05511112
...
@@ -58,7 +58,7 @@ const ExchangeForm: React.FC<BillsFormProps> = ({
...
@@ -58,7 +58,7 @@ const ExchangeForm: React.FC<BillsFormProps> = ({
const
[
replaceGoodsList
,
setReplaceGoodsList
]
=
useState
<
GetAsReplaceGoodsPageReturnedGoodsResponse
>
({
data
:
[],
totalCount
:
0
});
const
[
replaceGoodsList
,
setReplaceGoodsList
]
=
useState
<
GetAsReplaceGoodsPageReturnedGoodsResponse
>
({
data
:
[],
totalCount
:
0
});
const
[
unsaved
,
setUnsaved
]
=
useState
(
false
);
const
[
unsaved
,
setUnsaved
]
=
useState
(
false
);
const
[
infoLoading
,
setInfoLoading
]
=
useState
(
false
);
const
[
infoLoading
,
setInfoLoading
]
=
useState
(
false
);
const
[
replaceGoodsLoading
,
set
Repair
GoodsLoading
]
=
useState
(
false
);
const
[
replaceGoodsLoading
,
set
Exchange
GoodsLoading
]
=
useState
(
false
);
const
[
goodsValue
,
setGoodsValue
]
=
useState
([]);
const
[
goodsValue
,
setGoodsValue
]
=
useState
([]);
const
[
submitLoading
,
setSubmitLoading
]
=
useState
(
false
);
const
[
submitLoading
,
setSubmitLoading
]
=
useState
(
false
);
const
[
visibleGoodsDrawer
,
setVisibleGoodsDrawer
]
=
useState
(
false
);
const
[
visibleGoodsDrawer
,
setVisibleGoodsDrawer
]
=
useState
(
false
);
...
@@ -194,14 +194,13 @@ const ExchangeForm: React.FC<BillsFormProps> = ({
...
@@ -194,14 +194,13 @@ const ExchangeForm: React.FC<BillsFormProps> = ({
);
);
setDetailInfo
({
setDetailInfo
({
...
detailInfo
,
proofFileList
:
faultFileList
.
map
(
item
=>
normalizeFiledata
(
item
.
filePath
)),
proofFileList
:
faultFileList
.
map
(
item
=>
normalizeFiledata
(
item
.
filePath
)),
deliveryAddress
:
{
deliveryAddress
:
{
fullAddress
:
replaceGoodsAddress
.
send
Address
,
fullAddress
:
replaceGoodsAddress
.
receive
Address
,
id
:
123
,
// 缺
id
:
123
,
// 缺
isDefault
:
1
,
// 缺
isDefault
:
1
,
// 缺
phone
:
replaceGoodsAddress
.
send
UserTel
,
phone
:
replaceGoodsAddress
.
receive
UserTel
,
receiverName
:
replaceGoodsAddress
.
send
UserName
,
receiverName
:
replaceGoodsAddress
.
receive
UserName
,
},
},
// 物流
// 物流
shippingAddress
:
returnGoodsAddress
.
deliveryType
===
1
?
{
shippingAddress
:
returnGoodsAddress
.
deliveryType
===
1
?
{
...
@@ -243,7 +242,7 @@ const ExchangeForm: React.FC<BillsFormProps> = ({
...
@@ -243,7 +242,7 @@ const ExchangeForm: React.FC<BillsFormProps> = ({
if
(
!
id
)
{
if
(
!
id
)
{
return
;
return
;
}
}
set
Repair
GoodsLoading
(
true
);
set
Exchange
GoodsLoading
(
true
);
PublicApi
.
getAsReplaceGoodsPageReturnedGoods
({
PublicApi
.
getAsReplaceGoodsPageReturnedGoods
({
replaceId
:
id
,
replaceId
:
id
,
current
:
`
${
1
}
`
,
current
:
`
${
1
}
`
,
...
@@ -254,7 +253,7 @@ const ExchangeForm: React.FC<BillsFormProps> = ({
...
@@ -254,7 +253,7 @@ const ExchangeForm: React.FC<BillsFormProps> = ({
setGoodsValue
(
res
.
data
&&
res
.
data
.
data
?
res
.
data
.
data
.
map
(
item
=>
item
.
orderRecordId
)
:
[]);
setGoodsValue
(
res
.
data
&&
res
.
data
.
data
?
res
.
data
.
data
.
map
(
item
=>
item
.
orderRecordId
)
:
[]);
}
}
}).
finally
(()
=>
{
}).
finally
(()
=>
{
set
Repair
GoodsLoading
(
false
);
set
Exchange
GoodsLoading
(
false
);
});
});
};
};
...
...
src/pages/afterService/exchangeManage/components/DetailInfo/index.tsx
View file @
05511112
...
@@ -9,22 +9,29 @@ import {
...
@@ -9,22 +9,29 @@ import {
Col
,
Col
,
Badge
,
Badge
,
Switch
,
Switch
,
Tooltip
,
message
,
message
,
}
from
'antd'
;
}
from
'antd'
;
import
{
FormOutlined
}
from
'@ant-design/icons'
;
import
{
FormOutlined
,
QuestionCircleOutlined
}
from
'@ant-design/icons'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
{
history
}
from
'umi'
;
import
{
history
}
from
'umi'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
{
GetAsReturnGoodsGetDetailBySupplierResponse
}
from
'@/services/AfterServiceApi'
;
import
{
import
{
CREDIT_INNER_STATUS
,
CREDIT_OUTER_STATUS
,
CREDIT_STATUS
}
from
'@/constants'
;
GetAsReplaceGoodsGetDetailBySupplierResponse
,
GetAsReplaceGoodsPageReturnedGoodsResponse
,
}
from
'@/services/AfterServiceApi'
;
import
{
normalizeFiledata
,
FileData
,
findLastIndexFlowState
}
from
'@/utils'
;
import
{
normalizeFiledata
,
FileData
,
findLastIndexFlowState
}
from
'@/utils'
;
import
AvatarWrap
from
'@/components/AvatarWrap'
;
import
AvatarWrap
from
'@/components/AvatarWrap'
;
import
StatusTag
from
'@/components/StatusTag'
;
import
StatusTag
from
'@/components/StatusTag'
;
import
EyePreview
from
'@/components/EyePreview'
;
import
EyePreview
from
'@/components/EyePreview'
;
import
AuditProcess
from
'@/components/AuditProcess'
;
import
AuditProcess
from
'@/components/AuditProcess'
;
import
{
EditableColumns
}
from
'@/components/PolymericTable/interface'
;
import
{
EditableColumns
}
from
'@/components/PolymericTable/interface'
;
import
ReturnInfoDrawer
from
'../../../components/ReturnInfoDrawer'
;
import
{
Values
as
ExchangeAddressValues
}
from
'../../../components/ExchangeAddressInfo'
;
import
{
}
from
'../../../constants'
;
import
{
Values
as
ReturnAddressValues
}
from
'../../../components/ReturnAddressInfo'
;
import
{
EXCHANGE_OUTER_STATUS_TAG_MAP
,
EXCHANGE_INNER_STATUS_BADGE_MAP
,
}
from
'../../../constants'
;
const
ProductList
=
React
.
lazy
(()
=>
import
(
'../../../components/ProductList'
));
const
ProductList
=
React
.
lazy
(()
=>
import
(
'../../../components/ProductList'
));
const
ExchangeReceivedInfo
=
React
.
lazy
(()
=>
import
(
'../../../components/ExchangeReceivedInfo'
));
const
ExchangeReceivedInfo
=
React
.
lazy
(()
=>
import
(
'../../../components/ExchangeReceivedInfo'
));
...
@@ -46,20 +53,81 @@ interface DetailInfoProps {
...
@@ -46,20 +53,81 @@ interface DetailInfoProps {
headExtra
?:
React
.
ReactNode
;
headExtra
?:
React
.
ReactNode
;
};
};
interface
DetailInfo
extends
GetAsReplaceGoodsGetDetailBySupplierResponse
{
fileList
:
FileData
[];
};
const
DetailInfo
:
React
.
FC
<
DetailInfoProps
>
=
({
const
DetailInfo
:
React
.
FC
<
DetailInfoProps
>
=
({
id
,
id
,
isEdit
=
false
,
isEdit
=
false
,
target
,
target
,
headExtra
=
null
,
headExtra
=
null
,
})
=>
{
})
=>
{
const
[
detailInfo
,
setDetailInfo
]
=
useState
<
GetAsReturnGoodsGetDetailBySupplierResponse
>
(
null
);
const
[
detailInfo
,
setDetailInfo
]
=
useState
<
DetailInfo
>
(
null
);
const
[
replaceGoodsList
,
setReplaceGoodsList
]
=
useState
<
GetAsReplaceGoodsPageReturnedGoodsResponse
>
({
data
:
[],
totalCount
:
0
});
const
[
infoLoading
,
setInfoloading
]
=
useState
(
false
);
const
[
infoLoading
,
setInfoloading
]
=
useState
(
false
);
const
[
replaceGoodsLoading
,
setExchangeGoodsLoading
]
=
useState
(
false
);
const
[
exchangeAddress
,
setExchangeAddress
]
=
useState
<
ExchangeAddressValues
>
(
null
);
const
[
returnAddress
,
setReturnAddress
]
=
useState
<
ReturnAddressValues
>
(
null
);
// 获取换货申请详情
const
getDetailInfo
=
()
=>
{
if
(
!
id
)
{
return
;
}
setInfoloading
(
true
);
PublicApi
.
getAsReplaceGoodsGetDetailBySupplier
({
replaceId
:
id
,
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
const
{
faultFileList
,
...
rest
}
=
res
.
data
;
setDetailInfo
({
faultFileList
,
fileList
:
faultFileList
.
map
(
item
=>
normalizeFiledata
(
item
.
filePath
)),
...
rest
,
});
}
}).
finally
(()
=>
{
setInfoloading
(
false
);
});
};
// 获取换货明细列表
const
getReplaceGoods
=
()
=>
{
if
(
!
id
)
{
return
;
}
setExchangeGoodsLoading
(
true
);
PublicApi
.
getAsReplaceGoodsPageReturnedGoods
({
replaceId
:
id
,
current
:
`
${
1
}
`
,
pageSize
:
`
${
99999
}
`
,
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
setReplaceGoodsList
(
res
.
data
);
}
}).
finally
(()
=>
{
setExchangeGoodsLoading
(
false
);
});
};
const
handleReturn
=
record
=>
{
const
handleReturn
=
record
=>
{
if
(
!
isEdit
)
{
if
(
!
isEdit
||
!
id
)
{
return
;
return
;
}
}
console
.
log
(
'否后退货'
,
record
)
PublicApi
.
postAsReplaceGoodsSetNeedReturnGoods
({
replaceId
:
+
id
,
replaceGoodsId
:
record
.
productId
,
isNeed
:
record
.
needReplaceName
===
1
?
0
:
1
,
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
getReplaceGoods
();
}
});
};
};
const
productColumns
:
EditableColumns
[]
=
[
const
productColumns
:
EditableColumns
[]
=
[
...
@@ -75,8 +143,8 @@ const DetailInfo: React.FC<DetailInfoProps> = ({
...
@@ -75,8 +143,8 @@ const DetailInfo: React.FC<DetailInfoProps> = ({
),
),
},
},
{
{
title
:
'ID'
,
title
:
'
商品
ID'
,
dataIndex
:
'
i
d'
,
dataIndex
:
'
productI
d'
,
align
:
'center'
,
align
:
'center'
,
},
},
{
{
...
@@ -101,27 +169,39 @@ const DetailInfo: React.FC<DetailInfoProps> = ({
...
@@ -101,27 +169,39 @@ const DetailInfo: React.FC<DetailInfoProps> = ({
},
},
{
{
title
:
'采购数量'
,
title
:
'采购数量'
,
dataIndex
:
'quantity'
,
dataIndex
:
'purchaseCount'
,
align
:
'center'
,
},
{
title
:
'采购单价'
,
dataIndex
:
'purchasePrice'
,
align
:
'center'
,
align
:
'center'
,
},
},
{
{
title
:
'采购金额'
,
title
:
'采购金额'
,
dataIndex
:
'
a
mount'
,
dataIndex
:
'
purchaseA
mount'
,
align
:
'center'
,
align
:
'center'
,
},
},
{
{
title
:
'换货数量'
,
title
:
'换货数量'
,
dataIndex
:
'
num
'
,
dataIndex
:
'
replaceCount
'
,
align
:
'center'
,
align
:
'center'
,
},
},
{
{
title
:
'换货原因'
,
title
:
'换货原因'
,
dataIndex
:
'reason'
,
dataIndex
:
're
placeRe
ason'
,
align
:
'center'
,
align
:
'center'
,
},
},
{
{
title
:
'是否需要退货'
,
title
:
(
dataIndex
:
'status'
,
<>
<
span
style=
{
{
marginRight
:
8
}
}
>
是否需要退货
</
span
>
<
Tooltip
title=
"如果商品因为缺陷原因,无法再退回加工后重新使用,可选择不需要退货,选择后,采购方无须退回不良品。"
>
<
QuestionCircleOutlined
/>
</
Tooltip
>
</>
),
dataIndex
:
'needReplaceName'
,
align
:
'center'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
(
render
:
(
text
,
record
)
=>
(
<>
<>
...
@@ -135,27 +215,19 @@ const DetailInfo: React.FC<DetailInfoProps> = ({
...
@@ -135,27 +215,19 @@ const DetailInfo: React.FC<DetailInfoProps> = ({
},
},
];
];
// 获取换货申请详情
const
getDetailInfo
=
()
=>
{
if
(
!
id
)
{
return
;
}
// setInfoloading(true);
// PublicApi.getAsReturnGoodsGetDetailBySupplier({
// returnId: id,
// }).then(res => {
// if (res.code === 1000) {
// setDetailInfo(res.data);
// }
// }).finally(() => {
// setInfoloading(false);
// });
};
useEffect
(()
=>
{
useEffect
(()
=>
{
getDetailInfo
();
getDetailInfo
();
getReplaceGoods
();
},
[]);
},
[]);
const
handleExchangeAddressSubmit
=
values
=>
{
setExchangeAddress
(
values
);
};
const
handleReturnAddressSubmit
=
values
=>
{
setReturnAddress
(
values
);
};
return
(
return
(
<
Spin
spinning=
{
infoLoading
}
>
<
Spin
spinning=
{
infoLoading
}
>
<
PageHeaderWrapper
<
PageHeaderWrapper
...
@@ -188,14 +260,14 @@ const DetailInfo: React.FC<DetailInfoProps> = ({
...
@@ -188,14 +260,14 @@ const DetailInfo: React.FC<DetailInfoProps> = ({
padding
:
'0 32px'
,
padding
:
'0 32px'
,
}
}
}
}
>
>
<
Descriptions
.
Item
label=
"申请单摘要
:
"
>
{
detailInfo
?.
applyAbstract
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"申请单摘要"
>
{
detailInfo
?.
applyAbstract
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"采购会员"
>
{
detailInfo
?.
consumerName
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"采购会员"
>
{
detailInfo
?.
consumerName
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"单据时间"
>
{
detailInfo
?.
applyTime
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"单据时间"
>
{
detailInfo
?.
applyTime
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"外部状态"
>
<
Descriptions
.
Item
label=
"外部状态"
>
<
StatusTag
type=
"success"
title=
{
'售后完成'
}
/>
<
StatusTag
type=
{
EXCHANGE_OUTER_STATUS_TAG_MAP
[
detailInfo
?.
outerStatus
]
}
title=
{
detailInfo
?.
outerStatusName
}
/>
</
Descriptions
.
Item
>
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"内部状态"
>
<
Descriptions
.
Item
label=
"内部状态"
>
<
Badge
color=
{
'#41CC9E'
}
text=
{
'已确认售后完成'
}
/>
<
Badge
color=
{
EXCHANGE_INNER_STATUS_BADGE_MAP
[
detailInfo
?.
innerStatus
]
}
text=
{
detailInfo
?.
innerStatusName
}
/>
</
Descriptions
.
Item
>
</
Descriptions
.
Item
>
</
Descriptions
>
</
Descriptions
>
</
PageHeader
>
</
PageHeader
>
...
@@ -238,13 +310,10 @@ const DetailInfo: React.FC<DetailInfoProps> = ({
...
@@ -238,13 +310,10 @@ const DetailInfo: React.FC<DetailInfoProps> = ({
<
Suspense
fallback=
{
null
}
>
<
Suspense
fallback=
{
null
}
>
<
ProductList
<
ProductList
title=
"换货商品"
title=
"换货商品"
rowKey=
"orderRecordId"
columns=
{
productColumns
}
columns=
{
productColumns
}
dataSource=
{
[
loading=
{
replaceGoodsLoading
}
{
dataSource=
{
replaceGoodsList
.
data
}
id
:
1
,
applyNo
:
'123'
,
},
]
}
/>
/>
</
Suspense
>
</
Suspense
>
</
Col
>
</
Col
>
...
@@ -293,33 +362,65 @@ const DetailInfo: React.FC<DetailInfoProps> = ({
...
@@ -293,33 +362,65 @@ const DetailInfo: React.FC<DetailInfoProps> = ({
<
Row
<
Row
gutter=
{
24
}
gutter=
{
24
}
>
>
<
Col
span=
{
6
}
>
<
Col
span=
{
detailInfo
&&
detailInfo
.
evaluate
?
6
:
8
}
>
{
/* 相关不良原因举证附件 */
}
{
/* 相关不良原因举证附件 */
}
<
Suspense
fallback=
{
null
}
>
<
Suspense
fallback=
{
null
}
>
<
FileList
/>
<
FileList
fileList=
{
detailInfo
?.
fileList
}
/>
</
Suspense
>
</
Suspense
>
</
Col
>
</
Col
>
<
Col
span=
{
6
}
>
<
Col
span=
{
detailInfo
&&
detailInfo
.
evaluate
?
6
:
8
}
>
{
/* 退货收货地址 */
}
{
/* 退货收货地址 */
}
<
Suspense
fallback=
{
null
}
>
<
Suspense
fallback=
{
null
}
>
<
ReturnAddressInfo
isEdit=
{
isEdit
}
/>
<
ReturnAddressInfo
deliveryAddress=
{
{
id
:
1
,
// 缺
name
:
detailInfo
?.
returnGoodsAddress
?.
receiveUserName
,
phone
:
detailInfo
?.
returnGoodsAddress
?.
receiveUserTel
,
fullAddress
:
detailInfo
?.
returnGoodsAddress
?.
receiveAddress
,
}
}
shippingAddress=
{
{
deliveryType
:
detailInfo
?.
returnGoodsAddress
?.
deliveryType
,
name
:
detailInfo
?.
returnGoodsAddress
?.
sendUserName
,
phone
:
detailInfo
?.
returnGoodsAddress
?.
sendUserTel
,
fullAddress
:
detailInfo
?.
returnGoodsAddress
?.
sendAddress
,
}
}
isEdit=
{
isEdit
}
onSubmit=
{
handleReturnAddressSubmit
}
/>
</
Suspense
>
</
Suspense
>
</
Col
>
</
Col
>
<
Col
span=
{
6
}
>
<
Col
span=
{
detailInfo
&&
detailInfo
.
evaluate
?
6
:
8
}
>
{
/* 换货收货地址 */
}
{
/* 换货收货地址 */
}
<
Suspense
fallback=
{
null
}
>
<
Suspense
fallback=
{
null
}
>
<
ExchangeAddressInfo
isEdit=
{
isEdit
}
/>
<
ExchangeAddressInfo
deliveryAddress=
{
{
name
:
detailInfo
?.
replaceGoodsAddress
?.
receiveUserName
,
phone
:
detailInfo
?.
replaceGoodsAddress
?.
receiveUserTel
,
fullAddress
:
detailInfo
?.
replaceGoodsAddress
?.
receiveAddress
,
}
}
shippingAddress=
{
{
id
:
1
,
// 缺
deliveryType
:
detailInfo
?.
replaceGoodsAddress
?.
deliveryType
,
name
:
detailInfo
?.
replaceGoodsAddress
?.
sendUserName
,
phone
:
detailInfo
?.
replaceGoodsAddress
?.
sendUserTel
,
fullAddress
:
detailInfo
?.
replaceGoodsAddress
?.
sendAddress
,
}
}
isEdit=
{
isEdit
}
onSubmit=
{
handleExchangeAddressSubmit
}
/>
</
Suspense
>
</
Suspense
>
</
Col
>
</
Col
>
<
Col
span=
{
6
}
>
{
detailInfo
&&
detailInfo
.
evaluate
&&
(
{
/* 售后评价 */
}
<
Col
span=
{
6
}
>
<
Suspense
fallback=
{
null
}
>
{
/* 售后评价 */
}
<
Score
/>
<
Suspense
fallback=
{
null
}
>
</
Suspense
>
<
Score
score=
{
detailInfo
?.
evaluate
?.
level
}
/>
</
Col
>
</
Suspense
>
</
Col
>
)
}
</
Row
>
</
Row
>
</
Col
>
</
Col
>
...
@@ -327,8 +428,8 @@ const DetailInfo: React.FC<DetailInfoProps> = ({
...
@@ -327,8 +428,8 @@ const DetailInfo: React.FC<DetailInfoProps> = ({
{
/* 内、外部流转记录 */
}
{
/* 内、外部流转记录 */
}
<
Suspense
fallback=
{
null
}
>
<
Suspense
fallback=
{
null
}
>
<
FlowRecords
<
FlowRecords
outerHistory=
{
[]
}
outerHistory=
{
detailInfo
?.
outerRecordList
}
innerHistory=
{
[]
}
innerHistory=
{
detailInfo
?.
innerRecordList
}
/>
/>
</
Suspense
>
</
Suspense
>
</
Col
>
</
Col
>
...
...
src/pages/afterService/exchangeManage/exchangePr1/index.tsx
View file @
05511112
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Author: XieZhiXiong
* @Date: 2020-11-17 18:07:41
* @Date: 2020-11-17 18:07:41
* @LastEditors: XieZhiXiong
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-11-
19 18:28:1
6
* @LastEditTime: 2020-11-
20 15:43:5
6
* @Description: 待提交审核换货申请单
* @Description: 待提交审核换货申请单
*/
*/
import
React
,
{
useState
,
useRef
}
from
'react'
;
import
React
,
{
useState
,
useRef
}
from
'react'
;
...
@@ -42,7 +42,7 @@ const ExchangePr1: React.FC = () => {
...
@@ -42,7 +42,7 @@ const ExchangePr1: React.FC = () => {
render
:
(
text
,
record
)
=>
(
render
:
(
text
,
record
)
=>
(
<>
<>
<
EyePreview
<
EyePreview
url=
{
`/memberCenter/afterService/exchangeManage/exchangPr1/detail?id=${record.replaceId}`
}
url=
{
`/memberCenter/afterService/exchangeManage/exchang
e
Pr1/detail?id=${record.replaceId}`
}
>
>
{
text
}
{
text
}
</
EyePreview
>
</
EyePreview
>
...
@@ -86,7 +86,7 @@ const ExchangePr1: React.FC = () => {
...
@@ -86,7 +86,7 @@ const ExchangePr1: React.FC = () => {
<>
<>
<
Button
<
Button
type=
"link"
type=
"link"
onClick=
{
()
=>
history
.
push
(
`/memberCenter/afterService/exchangeManage/exchangPr1/verify?id=${record.replaceId}`
)
}
onClick=
{
()
=>
history
.
push
(
`/memberCenter/afterService/exchangeManage/exchang
e
Pr1/verify?id=${record.replaceId}`
)
}
>
>
提交审核
提交审核
</
Button
>
</
Button
>
...
...
src/pages/afterService/exchangeManage/exchangePr1/verify.tsx
View file @
05511112
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Author: XieZhiXiong
* @Date: 2020-11-04 17:22:07
* @Date: 2020-11-04 17:22:07
* @LastEditors: XieZhiXiong
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-11-
17 18:13:55
* @LastEditTime: 2020-11-
20 15:46:31
* @Description:
* @Description:
*/
*/
import
React
,
{
useState
}
from
'react'
;
import
React
,
{
useState
}
from
'react'
;
...
@@ -23,17 +23,17 @@ const ExchangePr1Verify: React.FC = () => {
...
@@ -23,17 +23,17 @@ const ExchangePr1Verify: React.FC = () => {
if
(
!
id
)
{
if
(
!
id
)
{
return
;
return
;
}
}
//
setConfirmLoading(true);
setConfirmLoading
(
true
);
// PublicApi.postAsReturnGoodsSubmitVerify
({
PublicApi
.
postAsReplaceGoodsVerifyStepOne
({
//
applyId: id,
applyId
:
id
,
//
...values,
...
values
,
//
}).then(res => {
}).
then
(
res
=>
{
//
if (res.code === 1000) {
if
(
res
.
code
===
1000
)
{
//
history.goBack();
history
.
goBack
();
//
}
}
//
}).finally(() => {
}).
finally
(()
=>
{
//
setConfirmLoading(false);
setConfirmLoading
(
false
);
//
});
});
};
};
return
(
return
(
...
@@ -50,7 +50,6 @@ const ExchangePr1Verify: React.FC = () => {
...
@@ -50,7 +50,6 @@ const ExchangePr1Verify: React.FC = () => {
单据审核
单据审核
</
Button
>
</
Button
>
)
}
)
}
isEdit
/>
/>
<
VerifyModal
<
VerifyModal
...
...
src/pages/afterService/exchangeManage/exchangePr2/index.tsx
View file @
05511112
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Author: XieZhiXiong
* @Date: 2020-11-17 18:07:41
* @Date: 2020-11-17 18:07:41
* @LastEditors: XieZhiXiong
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-11-
18 10:11:17
* @LastEditTime: 2020-11-
20 15:47:08
* @Description: 待提交审核换货申请单
* @Description: 待提交审核换货申请单
*/
*/
import
React
,
{
useState
,
useRef
}
from
'react'
;
import
React
,
{
useState
,
useRef
}
from
'react'
;
...
...
src/pages/afterService/exchangeManage/exchangePr2/verify.tsx
View file @
05511112
...
@@ -23,17 +23,17 @@ const ExchangePr2Verify: React.FC = () => {
...
@@ -23,17 +23,17 @@ const ExchangePr2Verify: React.FC = () => {
if
(
!
id
)
{
if
(
!
id
)
{
return
;
return
;
}
}
//
setConfirmLoading(true);
setConfirmLoading
(
true
);
// PublicApi.postAsReturnGoodsSubmitVerify
({
PublicApi
.
postAsReplaceGoodsVerifyStepTwo
({
//
applyId: id,
applyId
:
id
,
//
...values,
...
values
,
//
}).then(res => {
}).
then
(
res
=>
{
//
if (res.code === 1000) {
if
(
res
.
code
===
1000
)
{
//
history.goBack();
history
.
goBack
();
//
}
}
//
}).finally(() => {
}).
finally
(()
=>
{
//
setConfirmLoading(false);
setConfirmLoading
(
false
);
//
});
});
};
};
return
(
return
(
...
@@ -50,7 +50,6 @@ const ExchangePr2Verify: React.FC = () => {
...
@@ -50,7 +50,6 @@ const ExchangePr2Verify: React.FC = () => {
单据审核
单据审核
</
Button
>
</
Button
>
)
}
)
}
isEdit
/>
/>
<
VerifyModal
<
VerifyModal
...
...
src/pages/afterService/exchangeManage/exchangePrAddDeliver/index.tsx
View file @
05511112
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Author: XieZhiXiong
* @Date: 2020-11-06 16:30:44
* @Date: 2020-11-06 16:30:44
* @LastEditors: XieZhiXiong
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-11-
19 18:55:37
* @LastEditTime: 2020-11-
20 16:02:32
* @Description: 待新增换货发货单
* @Description: 待新增换货发货单
*/
*/
import
React
,
{
useState
,
useRef
}
from
'react'
;
import
React
,
{
useState
,
useRef
}
from
'react'
;
...
@@ -67,7 +67,7 @@ const ExchangePrAddDeliver: React.FC = () => {
...
@@ -67,7 +67,7 @@ const ExchangePrAddDeliver: React.FC = () => {
},
},
{
{
title
:
'申请单摘要'
,
title
:
'申请单摘要'
,
dataIndex
:
'
parentMemberName
'
,
dataIndex
:
'
applyAbstract
'
,
align
:
'center'
,
align
:
'center'
,
},
},
{
{
...
@@ -77,7 +77,7 @@ const ExchangePrAddDeliver: React.FC = () => {
...
@@ -77,7 +77,7 @@ const ExchangePrAddDeliver: React.FC = () => {
},
},
{
{
title
:
'单据时间'
,
title
:
'单据时间'
,
dataIndex
:
'
created
'
,
dataIndex
:
'
applyTime
'
,
align
:
'center'
,
align
:
'center'
,
},
},
{
{
...
...
src/pages/afterService/exchangeManage/exchangePrConfirm/verify.tsx
View file @
05511112
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Author: XieZhiXiong
* @Date: 2020-11-04 17:22:07
* @Date: 2020-11-04 17:22:07
* @LastEditors: XieZhiXiong
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-11-
18 10:19:22
* @LastEditTime: 2020-11-
20 15:49:38
* @Description:
* @Description:
*/
*/
import
React
,
{
useState
}
from
'react'
;
import
React
,
{
useState
}
from
'react'
;
...
@@ -23,17 +23,17 @@ const ExchangePrConfirmVerify: React.FC = () => {
...
@@ -23,17 +23,17 @@ const ExchangePrConfirmVerify: React.FC = () => {
if
(
!
id
)
{
if
(
!
id
)
{
return
;
return
;
}
}
//
setConfirmLoading(true);
setConfirmLoading
(
true
);
// PublicApi.postAsReturnGoodsSubmit
Verify({
PublicApi
.
postAsReplaceGoodsConfirm
Verify
({
//
applyId: id,
applyId
:
id
,
//
...values,
...
values
,
//
}).then(res => {
}).
then
(
res
=>
{
//
if (res.code === 1000) {
if
(
res
.
code
===
1000
)
{
//
history.goBack();
history
.
goBack
();
//
}
}
//
}).finally(() => {
}).
finally
(()
=>
{
//
setConfirmLoading(false);
setConfirmLoading
(
false
);
//
});
});
};
};
return
(
return
(
...
@@ -50,7 +50,6 @@ const ExchangePrConfirmVerify: React.FC = () => {
...
@@ -50,7 +50,6 @@ const ExchangePrConfirmVerify: React.FC = () => {
确认单据
确认单据
</
Button
>
</
Button
>
)
}
)
}
isEdit
/>
/>
<
VerifyModal
<
VerifyModal
...
...
src/pages/afterService/exchangeManage/exchangePrSubmit/verify.tsx
View file @
05511112
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Author: XieZhiXiong
* @Date: 2020-11-04 17:22:07
* @Date: 2020-11-04 17:22:07
* @LastEditors: XieZhiXiong
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-11-
17 18:13:55
* @LastEditTime: 2020-11-
20 10:47:03
* @Description:
* @Description:
*/
*/
import
React
,
{
useState
}
from
'react'
;
import
React
,
{
useState
}
from
'react'
;
...
@@ -23,17 +23,17 @@ const ExchangePrSubmitVerify: React.FC = () => {
...
@@ -23,17 +23,17 @@ const ExchangePrSubmitVerify: React.FC = () => {
if
(
!
id
)
{
if
(
!
id
)
{
return
;
return
;
}
}
//
setConfirmLoading(true);
setConfirmLoading
(
true
);
// PublicApi.postAsReturn
GoodsSubmitVerify({
PublicApi
.
postAsReplace
GoodsSubmitVerify
({
//
applyId: id,
applyId
:
id
,
//
...values,
...
values
,
//
}).then(res => {
}).
then
(
res
=>
{
//
if (res.code === 1000) {
if
(
res
.
code
===
1000
)
{
//
history.goBack();
history
.
goBack
();
//
}
}
//
}).finally(() => {
}).
finally
(()
=>
{
//
setConfirmLoading(false);
setConfirmLoading
(
false
);
//
});
});
};
};
return
(
return
(
...
...
src/pages/lxMall/components/FindMore/index.less
View file @
05511112
...
@@ -175,7 +175,7 @@
...
@@ -175,7 +175,7 @@
&_content {
&_content {
display: flex;
display: flex;
margin-top: 2
4
px;
margin-top: 2
8
px;
.content_text {
.content_text {
flex: 1;
flex: 1;
...
...
src/pages/lxMall/pay/components/balance/index.tsx
View file @
05511112
...
@@ -44,6 +44,7 @@ const BablancePayWay: React.FC<BablancePayWayPropsType> = (props) => {
...
@@ -44,6 +44,7 @@ const BablancePayWay: React.FC<BablancePayWayPropsType> = (props) => {
const
fetchBalanceInfo
=
()
=>
{
const
fetchBalanceInfo
=
()
=>
{
let
param
=
{
let
param
=
{
payType
:
orderInfo
.
ruleConfigurationId
,
parentMemberId
:
orderInfo
.
supplyMembersId
,
parentMemberId
:
orderInfo
.
supplyMembersId
,
parentMemberRoleId
:
orderInfo
.
supplyMembersRoleId
parentMemberRoleId
:
orderInfo
.
supplyMembersRoleId
}
}
...
...
src/pages/lxMall/pay/components/transfer/index.less
View file @
05511112
...
@@ -22,6 +22,7 @@
...
@@ -22,6 +22,7 @@
.bank_payway_upload_dragger {
.bank_payway_upload_dragger {
position: relative;
position: relative;
margin-top: 20px;
margin-top: 20px;
overflow: hidden;
}
}
.bank_payway_upload {
.bank_payway_upload {
...
...
src/pages/lxMall/pay/components/wechat/index.tsx
View file @
05511112
...
@@ -64,7 +64,7 @@ const WechatPayWay: React.FC<WechatPayWayPropsType> = (props) => {
...
@@ -64,7 +64,7 @@ const WechatPayWay: React.FC<WechatPayWayPropsType> = (props) => {
}
}
const
checkPayState
=
()
=>
{
const
checkPayState
=
()
=>
{
if
(
checkCount
<
12
)
{
if
(
checkCount
<
20
)
{
let
param
=
{
let
param
=
{
id
:
Number
(
orderId
),
id
:
Number
(
orderId
),
paymentInformationId
:
payInfo
.
paymentInformationId
,
paymentInformationId
:
payInfo
.
paymentInformationId
,
...
@@ -82,7 +82,7 @@ const WechatPayWay: React.FC<WechatPayWayPropsType> = (props) => {
...
@@ -82,7 +82,7 @@ const WechatPayWay: React.FC<WechatPayWayPropsType> = (props) => {
checkCount
++
checkCount
++
checkTimer
=
setTimeout
(()
=>
{
checkTimer
=
setTimeout
(()
=>
{
checkPayState
()
checkPayState
()
},
5
000
)
},
8
000
)
}
}
}
else
{
}
else
{
message
.
error
(
res
.
message
)
message
.
error
(
res
.
message
)
...
...
src/pages/transaction/components/orderPayModal/index.less
View file @
05511112
...
@@ -73,11 +73,11 @@
...
@@ -73,11 +73,11 @@
.codeItem {
.codeItem {
width: 48px;
width: 48px;
height: 48px;
height: 48px;
line-height:
48px
;
line-height:
0.5
;
text-align: center;
text-align: center;
background: #FFFFFF;
background: #FFFFFF;
border: 1px solid #EBECF0;
border: 1px solid #EBECF0;
font-size:
26
px;
font-size:
80
px;
}
}
.codeInput {
.codeInput {
height: 48px;
height: 48px;
...
...
src/pages/transaction/components/orderPayModal/index.tsx
View file @
05511112
...
@@ -407,7 +407,7 @@ const OrderPayModal: React.FC<OrderPayModalProps> = (props) => {
...
@@ -407,7 +407,7 @@ const OrderPayModal: React.FC<OrderPayModalProps> = (props) => {
className=
{
style
.
codeItem
}
className=
{
style
.
codeItem
}
key=
{
index
}
key=
{
index
}
>
>
{
code
[
index
]
}
{
code
[
index
]
?.
replace
(
/
[
0-9
]
/g
,
'·'
)
}
</
div
>)
</
div
>)
}
}
<
Input
.
Password
<
Input
.
Password
...
...
src/pages/transaction/stockSellStorage/bills/components/BillsForm/effects/useBusinessEffects.ts
View file @
05511112
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Author: XieZhiXiong
* @Date: 2020-09-16 15:16:47
* @Date: 2020-09-16 15:16:47
* @LastEditors: XieZhiXiong
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-1
0-23 16:00:01
* @LastEditTime: 2020-1
1-20 19:01:57
* @Description: 联动逻辑相关
* @Description: 联动逻辑相关
*/
*/
import
{
Modal
}
from
'antd'
;
import
{
Modal
}
from
'antd'
;
...
@@ -321,14 +321,12 @@ export const useBusinessEffects = (context, actions) => {
...
@@ -321,14 +321,12 @@ export const useBusinessEffects = (context, actions) => {
setFieldValue
(
'supplyMembersName'
,
first
?
first
.
supplyMembersName
:
''
);
setFieldValue
(
'supplyMembersName'
,
first
?
first
.
supplyMembersName
:
''
);
setFieldValue
(
'relevanceInvoicesId'
,
first
?
first
.
id
:
null
);
setFieldValue
(
'relevanceInvoicesId'
,
first
?
first
.
id
:
null
);
setFieldValue
(
'address'
,
first
?
`
${
first
.
fullAddress
}
${
first
.
receiverName
}
/
${
first
.
phone
}
`
:
''
);
setFieldValue
(
'address'
,
first
?
`
${
first
.
fullAddress
}
${
first
.
receiverName
}
/
${
first
.
phone
}
`
:
''
);
setFieldValue
(
'transport'
,
first
&&
first
.
deliveryType
?
DELIVERY_TYPE
[
first
.
deliveryType
]
:
''
);
// 以下数据只用于收集,不用于展示
// 以下数据只用于收集,不用于展示
setFieldValue
(
'deliveryAddresId'
,
first
?
first
.
deliveryAddresId
:
null
);
setFieldValue
(
'deliveryAddresId'
,
first
?
first
.
deliveryAddresId
:
null
);
setFieldValue
(
'receiverName'
,
first
?
first
.
receiverName
:
''
);
setFieldValue
(
'receiverName'
,
first
?
first
.
receiverName
:
''
);
setFieldValue
(
'fullAddress'
,
first
?
first
.
fullAddress
:
''
);
setFieldValue
(
'fullAddress'
,
first
?
first
.
fullAddress
:
''
);
setFieldValue
(
'phone'
,
first
?
first
.
phone
:
''
);
setFieldValue
(
'phone'
,
first
?
first
.
phone
:
''
);
setFieldValue
(
'deliveryType'
,
first
?
first
.
deliveryType
:
null
);
setFieldValue
(
'isDefault'
,
first
?
first
.
isDefault
:
false
);
setFieldValue
(
'isDefault'
,
first
?
first
.
isDefault
:
false
);
if
(
!
first
)
{
if
(
!
first
)
{
...
@@ -388,6 +386,17 @@ export const useBusinessEffects = (context, actions) => {
...
@@ -388,6 +386,17 @@ export const useBusinessEffects = (context, actions) => {
onFieldInputChange$
(
'orderNo'
).
subscribe
(
fieldState
=>
{
onFieldInputChange$
(
'orderNo'
).
subscribe
(
fieldState
=>
{
setFieldValue
(
'invoicesDetailsRequests'
,
[]);
setFieldValue
(
'invoicesDetailsRequests'
,
[]);
});
});
// 关联明细
onFieldInputChange$
(
'invoicesDetailsRequests'
).
subscribe
(
fieldState
=>
{
const
{
value
}
=
fieldState
;
if
(
!
value
.
length
)
{
// 明细数据为空,或者明细每项数据的 商品 未选,物流方式都设置成 ''
setFieldValue
(
'transport'
,
''
);
setFieldValue
(
'deliveryType'
,
null
);
}
});
// 关联明细 商品下拉框 联动商品ID、单价
// 关联明细 商品下拉框 联动商品ID、单价
onFieldInputChange$
(
'invoicesDetailsRequests.*.product'
).
subscribe
(
fieldState
=>
{
onFieldInputChange$
(
'invoicesDetailsRequests.*.product'
).
subscribe
(
fieldState
=>
{
...
@@ -436,6 +445,25 @@ export const useBusinessEffects = (context, actions) => {
...
@@ -436,6 +445,25 @@ export const useBusinessEffects = (context, actions) => {
state
.
value
=
`¥0.00`
;
state
.
value
=
`¥0.00`
;
}
}
);
);
// 配送方式,一个单据只能有一个配送方式
setFieldState
(
FormPath
.
transform
(
name
,
/
\d
/
,
$1
=>
{
return
`invoicesDetailsRequests.
${
$1
}
.deliveryType`
}),
state
=>
{
state
.
value
=
undefined
;
}
);
const
invoicesDetailsRequestsValue
=
getFieldValue
(
'invoicesDetailsRequests'
);
// 明细每项数据的 商品 未选中,物流方式设置成 ''
if
(
invoicesDetailsRequestsValue
.
every
(
item
=>
!
item
.
product
)
)
{
setFieldValue
(
'transport'
,
''
);
setFieldValue
(
'deliveryType'
,
null
);
}
}
}
if
(
!
current
)
{
if
(
!
current
)
{
...
@@ -482,6 +510,46 @@ export const useBusinessEffects = (context, actions) => {
...
@@ -482,6 +510,46 @@ export const useBusinessEffects = (context, actions) => {
state
.
value
=
`¥
${(
current
.
purchaseCount
*
current
.
price
).
toFixed
(
2
)}
`
;
state
.
value
=
`¥
${(
current
.
purchaseCount
*
current
.
price
).
toFixed
(
2
)}
`
;
}
}
);
);
// 配送方式,一个单据只能有一个配送方式
setFieldState
(
FormPath
.
transform
(
name
,
/
\d
/
,
$1
=>
{
return
`invoicesDetailsRequests.
${
$1
}
.deliveryType`
}),
state
=>
{
state
.
value
=
current
.
logistics
&&
current
.
logistics
.
deliveryType
?
current
.
logistics
.
deliveryType
:
undefined
;
}
);
setTimeout
(()
=>
{
const
invoicesDetailsRequestsValue
=
getFieldValue
(
'invoicesDetailsRequests'
);
// 配送方式,一个单据只能有一个配送方式
setFieldState
(
FormPath
.
transform
(
name
,
/
\d
/
,
$1
=>
{
return
`invoicesDetailsRequests.
${
$1
}
.product`
}),
state
=>
{
if
(
current
.
logistics
&&
invoicesDetailsRequestsValue
.
some
(
item
=>
item
.
deliveryType
&&
item
.
deliveryType
!==
current
.
logistics
.
deliveryType
)
)
{
state
.
errors
=
'商品配送方式不一致,请保持一次性'
;
}
else
{
state
.
errors
=
''
;
}
}
);
// 明细每项数据的 商品 选中,物流方式设置成 为对应商品的物流方式
if
(
current
.
logistics
&&
current
.
logistics
.
deliveryType
&&
invoicesDetailsRequestsValue
.
every
(
item
=>
item
.
deliveryType
===
current
.
logistics
.
deliveryType
)
)
{
setFieldValue
(
'transport'
,
DELIVERY_TYPE
[
current
.
logistics
.
deliveryType
]);
setFieldValue
(
'deliveryType'
,
current
.
logistics
.
deliveryType
);
}
},
0
);
});
});
// 关联明细 商品数量 联动计算商品金额
// 关联明细 商品数量 联动计算商品金额
...
...
src/pages/transaction/stockSellStorage/bills/components/BillsForm/index.tsx
View file @
05511112
...
@@ -33,6 +33,8 @@ import {
...
@@ -33,6 +33,8 @@ import {
DOC_TYPE_RETURN_RECEIPT
,
DOC_TYPE_RETURN_RECEIPT
,
DOC_TYPE_EXCHANGE_INVOICE
,
DOC_TYPE_EXCHANGE_INVOICE
,
DOC_TYPE_EXCHANGE_RECEIPT
,
DOC_TYPE_EXCHANGE_RECEIPT
,
DELIVERY_TYPE
,
}
from
'@/constants'
;
}
from
'@/constants'
;
import
{
addBillSchema
,
goodsSearchSchema
}
from
'./schema'
;
import
{
addBillSchema
,
goodsSearchSchema
}
from
'./schema'
;
import
{
createEffects
}
from
'./effects'
;
import
{
createEffects
}
from
'./effects'
;
...
@@ -141,6 +143,7 @@ const BillsForm: React.FC<BillsFormProps> = ({
...
@@ -141,6 +143,7 @@ const BillsForm: React.FC<BillsFormProps> = ({
deliveryType
,
deliveryType
,
isDefault
,
isDefault
,
invoicesDetailsList
,
invoicesDetailsList
,
transport
,
...
rest
...
rest
}
=
res
.
data
;
}
=
res
.
data
;
...
@@ -148,6 +151,7 @@ const BillsForm: React.FC<BillsFormProps> = ({
...
@@ -148,6 +151,7 @@ const BillsForm: React.FC<BillsFormProps> = ({
...
item
,
...
item
,
product
:
item
.
productId
,
product
:
item
.
productId
,
amount
:
`¥
${(
+
item
.
productCount
*
item
.
price
).
toFixed
(
2
)}
`
,
amount
:
`¥
${(
+
item
.
productCount
*
item
.
price
).
toFixed
(
2
)}
`
,
deliveryType
,
}))
:
[];
}))
:
[];
addSchemaAction
.
setFieldState
(
addSchemaAction
.
setFieldState
(
...
@@ -170,7 +174,7 @@ const BillsForm: React.FC<BillsFormProps> = ({
...
@@ -170,7 +174,7 @@ const BillsForm: React.FC<BillsFormProps> = ({
fullAddress
:
fullAddress
||
''
,
fullAddress
:
fullAddress
||
''
,
receiverName
:
receiverName
||
''
,
receiverName
:
receiverName
||
''
,
phone
:
phone
||
''
,
phone
:
phone
||
''
,
deliveryType
,
//
deliveryType,
isDefault
,
isDefault
,
}
}
]
:
]
:
...
@@ -178,10 +182,9 @@ const BillsForm: React.FC<BillsFormProps> = ({
...
@@ -178,10 +182,9 @@ const BillsForm: React.FC<BillsFormProps> = ({
,
,
invoicesDetailsRequests
:
details
,
invoicesDetailsRequests
:
details
,
...
rest
,
...
rest
,
deliveryType
,
transport
:
DELIVERY_TYPE
[
deliveryType
],
});
});
productRowCtl
.
setSelectRow
(
details
);
productRowCtl
.
setSelectedRowKeys
(
details
.
map
(
item
=>
item
.
id
));
}).
finally
(()
=>
{
}).
finally
(()
=>
{
setInfoLoading
(
false
);
setInfoLoading
(
false
);
});
});
...
@@ -378,6 +381,7 @@ const BillsForm: React.FC<BillsFormProps> = ({
...
@@ -378,6 +381,7 @@ const BillsForm: React.FC<BillsFormProps> = ({
const
newInvoicesDetailsRequests
=
invoicesDetailsRequests
.
map
(({
const
newInvoicesDetailsRequests
=
invoicesDetailsRequests
.
map
(({
product
,
product
,
productCount
,
productCount
,
deliveryType
,
...
rest
...
rest
})
=>
({
})
=>
({
productCount
:
+
productCount
,
productCount
:
+
productCount
,
...
@@ -537,29 +541,27 @@ const BillsForm: React.FC<BillsFormProps> = ({
...
@@ -537,29 +541,27 @@ const BillsForm: React.FC<BillsFormProps> = ({
const
values
=
[];
const
values
=
[];
productRowCtl
.
selectRow
.
forEach
(
item
=>
{
productRowCtl
.
selectRow
.
forEach
(
item
=>
{
const
existing
=
preValues
.
find
(
val
=>
val
.
goodsId
===
item
.
id
);
const
atom
=
{
const
atom
=
itemNo
:
item
.
code
,
existing
?
goodsId
:
item
.
id
,
existing
:
itemNmae
:
item
.
name
,
{
specifications
:
item
.
type
,
itemNo
:
item
.
code
,
category
:
item
.
customerCategory
?
item
.
customerCategory
.
name
:
''
,
goodsId
:
item
.
id
,
brand
:
item
.
brand
?
item
.
brand
.
name
:
''
,
itemNmae
:
item
.
name
,
unit
:
item
.
unitName
,
specifications
:
item
.
type
,
costPrice
:
item
.
costPrice
,
category
:
item
.
customerCategory
?
item
.
customerCategory
.
name
:
''
,
product
:
undefined
,
brand
:
item
.
brand
?
item
.
brand
.
name
:
''
,
productName
:
item
.
productName
,
unit
:
item
.
unitName
,
productId
:
''
,
costPrice
:
item
.
costPrice
,
price
:
''
,
product
:
undefined
,
productCount
:
0
,
productName
:
item
.
productName
,
amount
:
''
,
productId
:
''
,
};
price
:
''
,
productCount
:
0
,
amount
:
''
,
};
values
.
push
(
atom
);
values
.
push
(
atom
);
});
});
addSchemaAction
.
setFieldValue
(
'invoicesDetailsRequests'
,
values
);
addSchemaAction
.
setFieldValue
(
'invoicesDetailsRequests'
,
preValues
.
concat
(
values
));
productRowCtl
.
setSelectRow
([]);
productRowCtl
.
setSelectedRowKeys
([]);
setVisible
(
false
);
setVisible
(
false
);
}
}
...
@@ -575,15 +577,7 @@ const BillsForm: React.FC<BillsFormProps> = ({
...
@@ -575,15 +577,7 @@ const BillsForm: React.FC<BillsFormProps> = ({
}
}
const
handleRemoveItem
=
(
index
:
number
)
=>
{
const
handleRemoveItem
=
(
index
:
number
)
=>
{
const
newSelectRow
=
[...
productRowCtl
.
selectRow
];
const
newSelectedRowKeys
=
[...
productRowCtl
.
selectedRowKeys
];
const
newValue
=
[...
addSchemaAction
.
getFieldValue
(
'invoicesDetailsRequests'
)];
const
newValue
=
[...
addSchemaAction
.
getFieldValue
(
'invoicesDetailsRequests'
)];
newSelectRow
.
splice
(
index
,
1
);
newSelectedRowKeys
.
splice
(
index
,
1
);
productRowCtl
.
setSelectRow
(
newSelectRow
);
productRowCtl
.
setSelectedRowKeys
(
newSelectedRowKeys
);
newValue
.
splice
(
index
,
1
);
newValue
.
splice
(
index
,
1
);
addSchemaAction
.
setFieldValue
(
'invoicesDetailsRequests'
,
newValue
);
addSchemaAction
.
setFieldValue
(
'invoicesDetailsRequests'
,
newValue
);
};
};
...
...
src/pages/transaction/stockSellStorage/bills/components/BillsForm/schema/index.ts
View file @
05511112
...
@@ -340,7 +340,7 @@ export const addBillSchema: ISchema = {
...
@@ -340,7 +340,7 @@ export const addBillSchema: ISchema = {
type
:
'string'
,
type
:
'string'
,
'x-component'
:
'Text'
,
'x-component'
:
'Text'
,
title
:
'物流方式'
,
title
:
'物流方式'
,
default
:
''
,
// default: '', // 奇了怪了,initialValues 覆盖不了 default,就这个字段会
},
},
// 不用于展示,只用于收集值
// 不用于展示,只用于收集值
deliveryAddresId
:
{
deliveryAddresId
:
{
...
@@ -450,7 +450,7 @@ export const addBillSchema: ISchema = {
...
@@ -450,7 +450,7 @@ export const addBillSchema: ISchema = {
'x-component-props'
:
{
'x-component-props'
:
{
allowClear
:
true
,
allowClear
:
true
,
style
:
{
style
:
{
width
:
1
0
0
,
width
:
1
8
0
,
},
},
},
},
'x-rules'
:
[
'x-rules'
:
[
...
@@ -460,11 +460,6 @@ export const addBillSchema: ISchema = {
...
@@ -460,11 +460,6 @@ export const addBillSchema: ISchema = {
},
},
],
],
},
},
// 不用于展示,只收集值
productName
:
{
type
:
'string'
,
display
:
false
,
},
productId
:
{
productId
:
{
type
:
'string'
,
type
:
'string'
,
title
:
'商品ID'
,
title
:
'商品ID'
,
...
@@ -497,6 +492,16 @@ export const addBillSchema: ISchema = {
...
@@ -497,6 +492,16 @@ export const addBillSchema: ISchema = {
title
:
'金额'
,
title
:
'金额'
,
'x-component'
:
'Text'
,
'x-component'
:
'Text'
,
},
},
// 不用于展示,只收集值
productName
:
{
type
:
'string'
,
display
:
false
,
},
// 配送方式,不用于展示,只收集值
deliveryType
:
{
type
:
'string'
,
display
:
false
,
},
},
},
}
}
},
},
...
...
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