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
linweijiong
jinfa-platform
Commits
42224544
Commit
42224544
authored
Dec 30, 2020
by
XieZhiXiong
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' into test
parents
b1224a8b
f79db54e
Show whitespace changes
Inline
Side-by-side
Showing
28 changed files
with
381 additions
and
195 deletions
+381
-195
config.ts
config/config.ts
+11
-0
default_avatar.svg
src/assets/imgs/default_avatar.svg
+17
-0
index.tsx
src/components/InputNumber/index.tsx
+35
-2
AvatarDropdown.tsx
src/layouts/components/AvatarDropdown.tsx
+8
-1
OuterSide.tsx
src/layouts/components/OuterSide.tsx
+7
-6
MenuSlider.less
src/layouts/styles/MenuSlider.less
+5
-0
RightContent.less
src/layouts/styles/RightContent.less
+5
-0
index.tsx
src/pages/balance/settleRules/memberSettle/schema/index.tsx
+6
-0
index.tsx
src/pages/home/components/UserCenter/index.tsx
+5
-1
index.tsx
src/pages/lxMall/order/address/index.tsx
+9
-9
index.tsx
src/pages/lxMall/order/contract/index.tsx
+1
-1
index.tsx
src/pages/lxMall/order/index.tsx
+6
-4
index.tsx
src/pages/lxMall/order/payway/index.tsx
+5
-2
index.tsx
...editApplication/components/QuotaApplicationInfo/index.tsx
+3
-1
index.ts
...plication/components/QuotaApplicationInfo/schema/index.ts
+1
-1
detail.tsx
.../payandSettle/creditApplication/quotaFormQuery/detail.tsx
+0
-1
index.tsx
...lication/quotaMenage/detail/components/BillInfo/index.tsx
+2
-2
index.tsx
...tion/quotaMenage/detail/components/IntroduceRow/index.tsx
+17
-61
index.ts
...uotaMenage/detail/components/IntroduceRow/schema/index.ts
+1
-92
index.ts
...uotaMenage/detail/components/RefundModal/effects/index.ts
+0
-0
useBusinessEffects.ts
...tail/components/RefundModal/effects/useBusinessEffects.ts
+0
-0
index.tsx
...ation/quotaMenage/detail/components/RefundModal/index.tsx
+135
-0
index.ts
...quotaMenage/detail/components/RefundModal/schema/index.ts
+94
-0
index.tsx
...ation/quotaMenage/detail/components/TradeRecord/index.tsx
+2
-2
index.tsx
...cation/quotaMenage/detail/components/WxPayModal/index.tsx
+1
-4
index.tsx
...ages/payandSettle/creditApplication/quotaMenage/index.tsx
+1
-1
index.tsx
...itManage/quotaMenage/detail/components/BillInfo/index.tsx
+2
-2
index.tsx
...anage/quotaMenage/detail/components/TradeRecord/index.tsx
+2
-2
No files found.
config/config.ts
View file @
42224544
...
@@ -53,6 +53,17 @@ const config: any = {
...
@@ -53,6 +53,17 @@ const config: any = {
inlineLimit
:
10000
,
inlineLimit
:
10000
,
chunks
:
isProduction
&&
[
'vendors'
,
'umi'
],
chunks
:
isProduction
&&
[
'vendors'
,
'umi'
],
chainWebpack
:
function
(
config
,
{
webpack
})
{
chainWebpack
:
function
(
config
,
{
webpack
})
{
config
.
module
.
rule
(
'svg'
)
.
exclude
.
add
(
/pages/
).
end
();
// 给内置的添加 exclude,这里根据自己的情况处理
config
.
module
.
rule
(
'svgr'
)
.
test
(
/.svg$/
)
.
include
.
add
(
/pages/
).
end
()
// include 指定需要直接 svgr 的情况
.
use
(
'@svgr/webpack'
)
.
loader
(
require
.
resolve
(
'@svgr/webpack'
));
isProduction
&&
config
.
merge
({
isProduction
&&
config
.
merge
({
optimization
:
{
optimization
:
{
minimize
:
true
,
minimize
:
true
,
...
...
src/assets/imgs/default_avatar.svg
0 → 100644
View file @
42224544
<?xml version="1.0" encoding="UTF-8"?>
<svg
width=
"56px"
height=
"56px"
viewBox=
"0 0 56 56"
version=
"1.1"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
>
<title>
我
</title>
<defs>
<circle
id=
"path-1"
cx=
"28"
cy=
"28"
r=
"28"
></circle>
</defs>
<g
id=
"我"
stroke=
"none"
stroke-width=
"1"
fill=
"none"
fill-rule=
"evenodd"
>
<g>
<mask
id=
"mask-2"
fill=
"white"
>
<use
xlink:href=
"#path-1"
></use>
</mask>
<use
id=
"Mask"
fill=
"#E6E7EB"
xlink:href=
"#path-1"
></use>
<path
d=
"M33.6555679,41.9707886 C33.6555679,39.4830014 35.5358268,40.29543 36.3612399,35.7393901 C36.7035576,33.8493771 38.3642448,35.7089168 38.6821448,31.3941714 C38.6821448,29.6745403 37.7757776,29.2472439 37.7757776,29.2472439 C37.7757776,29.2472439 38.2364274,26.702535 38.4170246,24.7441009 C38.640259,22.3042277 37.0383622,16 28.4925336,16 C19.9463292,16 18.3434933,22.3042277 18.5680425,24.7441009 C18.7482641,26.702535 19.2089139,29.2472439 19.2089139,29.2472439 C19.2089139,29.2472439 18.3025467,29.6745403 18.3025467,31.3941714 C18.6196954,35.7089168 20.2801947,33.8493771 20.6227003,35.7393901 C21.4491464,40.2953342 23.3279966,39.4830014 23.3279966,41.9707886 C23.3279966,46.1150562 21.3612426,48.0505874 15.2037493,50.3452814 C9.02681572,52.6468751 4,55.4864395 4,57.0869565 L4,61 L52.9999992,61 C52.9999992,61 53,58.6864194 53,57.0869565 C53,55.4864395 47.9580635,52.6468751 41.78113,50.3452814 C35.6234488,48.0505874 33.6555679,46.1150562 33.6555679,41.9707886 Z"
fill=
"#FAFAFA"
mask=
"url(#mask-2)"
></path>
</g>
</g>
</svg>
\ No newline at end of file
src/components/InputNumber/index.tsx
View file @
42224544
...
@@ -35,17 +35,50 @@ const InputNumber: React.FC<InputNumberPropsType> = (props) => {
...
@@ -35,17 +35,50 @@ const InputNumber: React.FC<InputNumberPropsType> = (props) => {
const
handleReduce
=
(
e
)
=>
{
const
handleReduce
=
(
e
)
=>
{
e
.
stopPropagation
()
e
.
stopPropagation
()
if
(
value
>
minCount
)
{
if
(
value
>
minCount
)
{
onChange
(
Number
(
value
)
-
1
,
'click'
)
onChange
(
accSub
(
value
,
1
)
,
'click'
)
}
}
}
}
const
handleAdd
=
(
e
)
=>
{
const
handleAdd
=
(
e
)
=>
{
e
.
stopPropagation
()
e
.
stopPropagation
()
if
(
value
<
maxCount
)
{
if
(
value
<
maxCount
)
{
onChange
(
Number
(
value
)
+
1
,
'click'
)
onChange
(
accAdd
(
value
,
1
)
,
'click'
)
}
}
}
}
const
accAdd
=
(
num1
,
num2
)
=>
{
let
r1
,
r2
try
{
r1
=
num1
.
toString
().
split
(
'.'
)[
1
].
length
;
}
catch
(
e
){
r1
=
0
;
}
try
{
r2
=
num2
.
toString
().
split
(
"."
)[
1
].
length
;
}
catch
(
e
){
r2
=
0
;
}
const
m
=
Math
.
pow
(
10
,
Math
.
max
(
r1
,
r2
));
return
Math
.
round
(
num1
*
m
+
num2
*
m
)
/
m
;
}
const
accSub
=
(
num1
,
num2
)
=>
{
let
r1
,
r2
;
try
{
r1
=
num1
.
toString
().
split
(
'.'
)[
1
].
length
;
}
catch
(
e
){
r1
=
0
;
}
try
{
r2
=
num2
.
toString
().
split
(
"."
)[
1
].
length
;
}
catch
(
e
){
r2
=
0
;
}
const
m
=
Math
.
pow
(
10
,
Math
.
max
(
r1
,
r2
));
const
n
=
(
r1
>=
r2
)
?
r1
:
r2
;
return
(
Math
.
round
(
num1
*
m
-
num2
*
m
)
/
m
).
toFixed
(
n
);
}
const
handleChange
=
(
e
)
=>
{
const
handleChange
=
(
e
)
=>
{
const
{
value
}
=
e
.
target
;
const
{
value
}
=
e
.
target
;
const
reg
=
/^
\d
*
([
.
]?\d{0,3})
$/
const
reg
=
/^
\d
*
([
.
]?\d{0,3})
$/
...
...
src/layouts/components/AvatarDropdown.tsx
View file @
42224544
...
@@ -6,6 +6,8 @@ import PersonDropdown from './PersonDropdown'
...
@@ -6,6 +6,8 @@ import PersonDropdown from './PersonDropdown'
import
styles
from
'../styles/RightContent.less'
;
import
styles
from
'../styles/RightContent.less'
;
import
{
removeAuth
,
removeRouters
,
getAuth
}
from
'@/utils/auth'
;
import
{
removeAuth
,
removeRouters
,
getAuth
}
from
'@/utils/auth'
;
import
{
inject
,
observer
}
from
'mobx-react'
import
{
inject
,
observer
}
from
'mobx-react'
import
Icon
from
'@ant-design/icons'
;
import
{
ReactComponent
as
DefaultAvatar
}
from
'@/assets/imgs/default_avatar.svg'
;
const
AvatarDropdown
=
(
props
)
=>
{
const
AvatarDropdown
=
(
props
)
=>
{
...
@@ -44,7 +46,12 @@ const AvatarDropdown = (props) => {
...
@@ -44,7 +46,12 @@ const AvatarDropdown = (props) => {
return
(
return
(
<
PersonDropdown
overlay=
{
menuHeaderDropdown
}
>
<
PersonDropdown
overlay=
{
menuHeaderDropdown
}
>
<
span
className=
{
`${styles.action} ${styles.account}`
}
>
<
span
className=
{
`${styles.action} ${styles.account}`
}
>
<
Avatar
size=
"small"
className=
{
styles
.
avatar
}
src=
{
currentUser
.
avatar
}
alt=
"avatar"
/>
{
currentUser
.
avatar
?
<
Avatar
size=
"small"
className=
{
styles
.
avatar
}
src=
{
currentUser
.
avatar
}
alt=
"avatar"
/>
:
<
Icon
component=
{
()
=>
<
DefaultAvatar
className=
{
styles
.
logo
}
/>
}
/>
}
<
span
className=
{
styles
.
name
}
>
{
currentUser
.
name
}
</
span
>
<
span
className=
{
styles
.
name
}
>
{
currentUser
.
name
}
</
span
>
</
span
>
</
span
>
</
PersonDropdown
>
</
PersonDropdown
>
...
...
src/layouts/components/OuterSide.tsx
View file @
42224544
import
React
from
'react'
import
React
from
'react'
import
{
Layout
,
Menu
,
Avatar
,
Image
}
from
'antd'
import
{
Layout
,
Menu
,
Avatar
,
Image
}
from
'antd'
import
{
AppstoreOutlined
}
from
'@ant-design/icons'
import
{
Link
}
from
'umi'
import
{
Link
}
from
'umi'
import
styles
from
'../styles/MenuSlider.less'
import
styles
from
'../styles/MenuSlider.less'
import
{
getRouters
}
from
'@/utils/auth'
import
{
getRouters
}
from
'@/utils/auth'
import
{
isDev
}
from
'@/constants'
import
{
isDev
}
from
'@/constants'
import
{
observer
,
inject
}
from
'mobx-react'
;
import
{
observer
,
inject
}
from
'mobx-react'
;
import
CustomIcon
from
'./CustomIcon'
import
CustomIcon
from
'./CustomIcon'
;
import
Icon
from
'@ant-design/icons'
;
import
{
ReactComponent
as
DefaultAvatar
}
from
'@/assets/imgs/default_avatar.svg'
;
const
{
Sider
}
=
Layout
const
{
Sider
}
=
Layout
export
interface
OuterSiderProps
{
export
interface
OuterSiderProps
{
...
@@ -46,13 +47,13 @@ const OuterSider: React.FC<OuterSiderProps> = observer((props) => {
...
@@ -46,13 +47,13 @@ const OuterSider: React.FC<OuterSiderProps> = observer((props) => {
const
siderMenu
=
getSubMenu
()
const
siderMenu
=
getSubMenu
()
return
<>
return
<>
<
Sider
collapsed=
{
true
}
collapsedWidth=
{
64
}
className=
{
styles
.
wrapperSilder
}
>
<
Sider
collapsed=
{
true
}
collapsedWidth=
{
64
}
className=
{
styles
.
wrapperSilder
}
>
<
div
className=
{
styles
.
userPic
}
>
{
{
props
.
UserStore
.
avatar
props
.
UserStore
.
avatar
?
<
div
className=
{
styles
.
userPic
}
>
?
<
img
src=
{
props
.
UserStore
.
avatar
}
className=
{
styles
.
avatar
}
/>
<
img
src=
{
props
.
UserStore
.
avatar
}
className=
{
styles
.
avatar
}
/>
:
<
Icon
component=
{
()
=>
<
DefaultAvatar
className=
{
styles
.
logo
}
/>
}
/>
</
div
>
:
<
div
className=
{
styles
.
userPic
}
/>
}
}
</
div
>
<
ul
className=
{
styles
.
menuBox
}
>
<
ul
className=
{
styles
.
menuBox
}
>
{
{
siderMenu
.
map
(
item
=>
(
siderMenu
.
map
(
item
=>
(
...
...
src/layouts/styles/MenuSlider.less
View file @
42224544
...
@@ -53,6 +53,11 @@
...
@@ -53,6 +53,11 @@
width: 32px;
width: 32px;
height: 32px;
height: 32px;
}
}
.logo {
width: 32px;
height: 32px;
}
}
}
.wrapperSilder {
.wrapperSilder {
...
...
src/layouts/styles/RightContent.less
View file @
42224544
...
@@ -58,6 +58,11 @@
...
@@ -58,6 +58,11 @@
vertical-align: top;
vertical-align: top;
background: rgba(255, 255, 255, 0.85);
background: rgba(255, 255, 255, 0.85);
}
}
.logo {
width: 24px;
height: 24px;
margin-right: 8px;
}
}
}
}
}
...
...
src/pages/balance/settleRules/memberSettle/schema/index.tsx
View file @
42224544
...
@@ -133,7 +133,13 @@ export const addSchema = {
...
@@ -133,7 +133,13 @@ export const addSchema = {
prefix
:
"{{tableAddButton}}"
,
prefix
:
"{{tableAddButton}}"
,
columns
:
"{{tableColumns}}"
columns
:
"{{tableColumns}}"
// columns: "{{tableColumns}}",
// columns: "{{tableColumns}}",
},
'x-rules'
:
[
{
required
:
true
,
message
:
'请选择使用会员'
}
}
]
}
}
}
}
}
}
...
...
src/pages/home/components/UserCenter/index.tsx
View file @
42224544
...
@@ -13,6 +13,10 @@ import home_user from '@/assets/imgs/home_user.png';
...
@@ -13,6 +13,10 @@ import home_user from '@/assets/imgs/home_user.png';
import
{
UPLOAD_TYPE
}
from
'@/constants'
import
{
UPLOAD_TYPE
}
from
'@/constants'
import
{
PublicApi
}
from
'@/services/api'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
{
observer
,
inject
}
from
'mobx-react'
;
import
{
observer
,
inject
}
from
'mobx-react'
;
// import Icon from '@ant-design/icons';
import
Icon
from
'@ant-design/icons'
;
import
{
ReactComponent
as
DefaultAvatar
}
from
'@/assets/imgs/default_avatar.svg'
;
interface
Iprops
{}
interface
Iprops
{}
const
WEEKDAYS
=
[
"天"
,
"一"
,
"二"
,
"三"
,
"四"
,
"五"
,
"六"
];
const
WEEKDAYS
=
[
"天"
,
"一"
,
"二"
,
"三"
,
"四"
,
"五"
,
"六"
];
...
@@ -102,7 +106,7 @@ const UserCenter: React.FC<Iprops> = (props) => {
...
@@ -102,7 +106,7 @@ const UserCenter: React.FC<Iprops> = (props) => {
{
{
state
.
logo
state
.
logo
?
<
img
src=
{
state
.
logo
||
''
}
className=
{
styles
.
logo
}
/>
?
<
img
src=
{
state
.
logo
||
''
}
className=
{
styles
.
logo
}
/>
:
<
span
className=
{
styles
.
text
}
>
H
</
span
>
:
<
Icon
component=
{
()
=>
<
DefaultAvatar
className=
{
styles
.
logo
}
/>
}
/
>
}
}
<
span
className=
{
styles
.
upload
}
>
修改
</
span
>
<
span
className=
{
styles
.
upload
}
>
修改
</
span
>
</
Upload
>
</
Upload
>
...
...
src/pages/lxMall/order/address/index.tsx
View file @
42224544
...
@@ -24,11 +24,11 @@ const Address: React.FC<AddressPropsType> = (props) => {
...
@@ -24,11 +24,11 @@ const Address: React.FC<AddressPropsType> = (props) => {
},
[])
},
[])
const
fetchAddressList
=
(
init
=
false
)
=>
{
const
fetchAddressList
=
(
init
=
false
)
=>
{
let
param
=
{
const
param
:
any
=
{
current
:
1
,
current
:
1
,
pageSize
:
50
pageSize
:
50
}
}
//@ts-ignore
PublicApi
.
getLogisticsReceiverAddressPage
(
param
).
then
(
res
=>
{
PublicApi
.
getLogisticsReceiverAddressPage
(
param
).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
if
(
res
.
code
===
1000
)
{
setAddressList
(
res
.
data
?.
data
)
setAddressList
(
res
.
data
?.
data
)
...
@@ -41,14 +41,14 @@ const Address: React.FC<AddressPropsType> = (props) => {
...
@@ -41,14 +41,14 @@ const Address: React.FC<AddressPropsType> = (props) => {
const
initDefaultAddress
=
async
(
addressList
:
GetLogisticsReceiverAddressPageResponseDetail
[])
=>
{
const
initDefaultAddress
=
async
(
addressList
:
GetLogisticsReceiverAddressPageResponseDetail
[])
=>
{
let
selectItem
let
selectItem
for
(
le
t
item
of
addressList
)
{
for
(
cons
t
item
of
addressList
)
{
if
(
item
.
isDefault
===
1
)
{
if
(
item
.
isDefault
===
1
)
{
selectItem
=
item
selectItem
=
item
}
}
}
}
if
(
selectItem
)
{
if
(
selectItem
)
{
setSelectKey
(
selectItem
.
id
)
setSelectKey
(
selectItem
.
id
)
le
t
res
=
await
PublicApi
.
getLogisticsReceiverAddressGet
({
id
:
selectItem
.
id
})
cons
t
res
=
await
PublicApi
.
getLogisticsReceiverAddressGet
({
id
:
selectItem
.
id
})
onChange
(
Object
.
assign
(
selectItem
,
res
.
data
))
onChange
(
Object
.
assign
(
selectItem
,
res
.
data
))
}
}
}
}
...
@@ -56,13 +56,13 @@ const Address: React.FC<AddressPropsType> = (props) => {
...
@@ -56,13 +56,13 @@ const Address: React.FC<AddressPropsType> = (props) => {
const
handleSelect
=
async
(
e
:
any
)
=>
{
const
handleSelect
=
async
(
e
:
any
)
=>
{
setSelectKey
(
e
.
target
.
value
)
setSelectKey
(
e
.
target
.
value
)
let
selectItem
let
selectItem
for
(
le
t
item
of
addressList
)
{
for
(
cons
t
item
of
addressList
)
{
if
(
item
.
id
===
e
.
target
.
value
)
{
if
(
item
.
id
===
e
.
target
.
value
)
{
selectItem
=
item
selectItem
=
item
}
}
}
}
if
(
selectItem
)
{
if
(
selectItem
)
{
le
t
res
=
await
PublicApi
.
getLogisticsReceiverAddressGet
({
id
:
selectItem
.
id
})
cons
t
res
=
await
PublicApi
.
getLogisticsReceiverAddressGet
({
id
:
selectItem
.
id
})
onChange
(
Object
.
assign
(
selectItem
,
res
.
data
))
onChange
(
Object
.
assign
(
selectItem
,
res
.
data
))
}
}
}
}
...
@@ -91,11 +91,11 @@ const Address: React.FC<AddressPropsType> = (props) => {
...
@@ -91,11 +91,11 @@ const Address: React.FC<AddressPropsType> = (props) => {
}
}
const
handleSetDefaultAddress
=
async
(
addressItem
:
GetLogisticsReceiverAddressPageResponseDetail
)
=>
{
const
handleSetDefaultAddress
=
async
(
addressItem
:
GetLogisticsReceiverAddressPageResponseDetail
)
=>
{
// eslint-disable-next-line @typescript-eslint/ban-ts-ignore
//@ts-ignore
//@ts-ignore
le
t
addressDetailRes
=
await
PublicApi
.
getLogisticsReceiverAddressGet
({
id
:
addressItem
.
id
})
cons
t
addressDetailRes
=
await
PublicApi
.
getLogisticsReceiverAddressGet
({
id
:
addressItem
.
id
})
le
t
param
:
GetLogisticsReceiverAddressGetResponse
=
addressDetailRes
.
data
cons
t
param
:
GetLogisticsReceiverAddressGetResponse
=
addressDetailRes
.
data
param
.
isDefault
=
1
param
.
isDefault
=
1
//@ts-ignore
PublicApi
.
postLogisticsReceiverAddressUpdate
(
param
).
then
(
res
=>
{
PublicApi
.
postLogisticsReceiverAddressUpdate
(
param
).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
if
(
res
.
code
===
1000
)
{
fetchAddressList
()
fetchAddressList
()
...
...
src/pages/lxMall/order/contract/index.tsx
View file @
42224544
...
@@ -26,7 +26,7 @@ const Contract: React.FC<ContractPropsType> = (props) => {
...
@@ -26,7 +26,7 @@ const Contract: React.FC<ContractPropsType> = (props) => {
<
span
>
我同意签订:
</
span
>
<
span
>
我同意签订:
</
span
>
</
Checkbox
>
</
Checkbox
>
{
{
contractInfo
&&
<
a
href=
{
contractInfo
?.
contractUrl
}
download
target=
"_blank"
className=
{
styles
.
checkbox_contract_text
}
>
《
{
contractInfo
?.
contractName
}
》
</
a
>
contractInfo
&&
<
a
href=
{
contractInfo
?.
contractUrl
}
download
rel=
"noreferrer"
target=
"_blank"
className=
{
styles
.
checkbox_contract_text
}
>
《
{
contractInfo
?.
contractName
}
》
</
a
>
}
}
</
div
>
</
div
>
</
div
>
</
div
>
...
...
src/pages/lxMall/order/index.tsx
View file @
42224544
...
@@ -85,13 +85,15 @@ const Order: React.FC<OrderPropsType> = (props) => {
...
@@ -85,13 +85,15 @@ const Order: React.FC<OrderPropsType> = (props) => {
message
.
error
(
"订单不存在"
)
message
.
error
(
"订单不存在"
)
history
.
goBack
()
history
.
goBack
()
}
}
if
(
storeId
)
{
initOrderInfo
()
initOrderInfo
()
}
return
()
=>
{
return
()
=>
{
if
(
sessionStorage
.
getItem
(
"contractInfo"
))
{
if
(
sessionStorage
.
getItem
(
"contractInfo"
))
{
sessionStorage
.
removeItem
(
"contractInfo"
)
sessionStorage
.
removeItem
(
"contractInfo"
)
}
}
}
}
},
[])
},
[
storeId
])
const
initOrderInfo
=
async
()
=>
{
const
initOrderInfo
=
async
()
=>
{
const
result
=
[]
const
result
=
[]
...
@@ -120,9 +122,9 @@ const Order: React.FC<OrderPropsType> = (props) => {
...
@@ -120,9 +122,9 @@ const Order: React.FC<OrderPropsType> = (props) => {
try
{
try
{
const
param
:
any
=
{
const
param
:
any
=
{
productId
,
productId
,
shopId
,
storeId
,
shopId
:
storeId
,
memberId
:
o
rderInfo
.
supplyMembersId
,
memberId
:
sessionO
rderInfo
.
supplyMembersId
,
memberRoleId
:
o
rderInfo
.
supplyMembersRoleId
,
memberRoleId
:
sessionO
rderInfo
.
supplyMembersRoleId
,
}
}
const
rulesRes
=
await
PublicApi
.
getOrderTradingRulesByProductId
(
param
)
const
rulesRes
=
await
PublicApi
.
getOrderTradingRulesByProductId
(
param
)
const
{
data
}
=
rulesRes
const
{
data
}
=
rulesRes
...
...
src/pages/lxMall/order/payway/index.tsx
View file @
42224544
...
@@ -33,8 +33,10 @@ const PayWay: React.FC<PayWayProps> = (props) => {
...
@@ -33,8 +33,10 @@ const PayWay: React.FC<PayWayProps> = (props) => {
}
}
useEffect
(()
=>
{
useEffect
(()
=>
{
if
(
expand
)
{
fetchCreditInfo
()
fetchCreditInfo
()
},
[])
}
},
[
expand
])
useEffect
(()
=>
{
useEffect
(()
=>
{
if
(
payWayList
&&
payWayList
.
length
===
1
)
{
if
(
payWayList
&&
payWayList
.
length
===
1
)
{
...
@@ -49,9 +51,10 @@ const PayWay: React.FC<PayWayProps> = (props) => {
...
@@ -49,9 +51,10 @@ const PayWay: React.FC<PayWayProps> = (props) => {
}
}
PublicApi
.
getPayCreditGetCredit
(
param
).
then
(
res
=>
{
PublicApi
.
getPayCreditGetCredit
(
param
).
then
(
res
=>
{
message
.
destroy
()
if
(
res
.
code
===
1000
)
{
if
(
res
.
code
===
1000
)
{
setCreditInfo
(
res
.
data
)
setCreditInfo
(
res
.
data
)
}
else
{
message
.
destroy
()
}
}
})
})
}
}
...
...
src/pages/payandSettle/creditApplication/components/QuotaApplicationInfo/index.tsx
View file @
42224544
...
@@ -76,6 +76,7 @@ const QuotaApplicationInfo: React.FC<QuotaApplicationInfo> = ({
...
@@ -76,6 +76,7 @@ const QuotaApplicationInfo: React.FC<QuotaApplicationInfo> = ({
fileList
,
fileList
,
...
rest
...
rest
}
=
values
;
}
=
values
;
onSubmit
({
onSubmit
({
applyQuota
:
+
applyQuota
,
applyQuota
:
+
applyQuota
,
billDay
:
+
billDay
,
billDay
:
+
billDay
,
...
@@ -86,8 +87,9 @@ const QuotaApplicationInfo: React.FC<QuotaApplicationInfo> = ({
...
@@ -86,8 +87,9 @@ const QuotaApplicationInfo: React.FC<QuotaApplicationInfo> = ({
.
map
(
item
=>
{
.
map
(
item
=>
{
const
{
data
,
...
rest
}
=
item
;
const
{
data
,
...
rest
}
=
item
;
return
{
return
{
data
:
data
.
url
,
...
rest
,
...
rest
,
url
:
data
.
url
,
data
:
data
,
}
}
}),
}),
...
rest
,
...
rest
,
...
...
src/pages/payandSettle/creditApplication/components/QuotaApplicationInfo/schema/index.ts
View file @
42224544
...
@@ -115,7 +115,7 @@ export const editModalSchema: ISchema = {
...
@@ -115,7 +115,7 @@ export const editModalSchema: ISchema = {
},
},
'x-rules'
:
[
'x-rules'
:
[
{
{
required
:
false
,
required
:
true
,
message
:
'请上传申请附件'
,
message
:
'请上传申请附件'
,
},
},
],
],
...
...
src/pages/payandSettle/creditApplication/quotaFormQuery/detail.tsx
View file @
42224544
...
@@ -10,7 +10,6 @@ const QuotaFormQueryDetail: React.FC = () => {
...
@@ -10,7 +10,6 @@ const QuotaFormQueryDetail: React.FC = () => {
id=
{
id
}
id=
{
id
}
creditId=
{
creditId
}
creditId=
{
creditId
}
target=
"/memberCenter/payandSettle/creditApplication/quotaFormQuery/detail"
target=
"/memberCenter/payandSettle/creditApplication/quotaFormQuery/detail"
isEdit
/>
/>
);
);
};
};
...
...
src/pages/payandSettle/creditApplication/quotaMenage/detail/components/BillInfo/index.tsx
View file @
42224544
...
@@ -79,7 +79,7 @@ const BillInfo: React.FC<BillInfoProps> = ({
...
@@ -79,7 +79,7 @@ const BillInfo: React.FC<BillInfoProps> = ({
>
>
<
Descriptions
column=
{
1
}
>
<
Descriptions
column=
{
1
}
>
<
Descriptions
.
Item
label=
"交易流水号"
>
<
Descriptions
.
Item
label=
"交易流水号"
>
<
Row
justify=
"space-between"
>
<
Row
justify=
"space-between"
style=
{
{
width
:
'100%'
}
}
>
<
Col
span=
{
12
}
>
<
Col
span=
{
12
}
>
<
a
onClick=
{
()
=>
handleCheckVoucher
(
trade
.
payProveList
)
}
>
{
trade
.
tradeCode
}
</
a
>
<
a
onClick=
{
()
=>
handleCheckVoucher
(
trade
.
payProveList
)
}
>
{
trade
.
tradeCode
}
</
a
>
</
Col
>
</
Col
>
...
@@ -94,7 +94,7 @@ const BillInfo: React.FC<BillInfoProps> = ({
...
@@ -94,7 +94,7 @@ const BillInfo: React.FC<BillInfoProps> = ({
</
Row
>
</
Row
>
</
Descriptions
.
Item
>
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"交易项目"
>
<
Descriptions
.
Item
label=
"交易项目"
>
<
Row
justify=
"space-between"
>
<
Row
justify=
"space-between"
style=
{
{
width
:
'100%'
}
}
>
<
Col
span=
{
12
}
>
<
Col
span=
{
12
}
>
{
BILL_TRADE_OPERATION
[
trade
.
operation
]
}
{
BILL_TRADE_OPERATION
[
trade
.
operation
]
}
</
Col
>
</
Col
>
...
...
src/pages/payandSettle/creditApplication/quotaMenage/detail/components/IntroduceRow/index.tsx
View file @
42224544
...
@@ -14,21 +14,19 @@ import {
...
@@ -14,21 +14,19 @@ import {
import
{
createFormActions
,
FormEffectHooks
}
from
'@formily/antd'
;
import
{
createFormActions
,
FormEffectHooks
}
from
'@formily/antd'
;
import
lodash
from
'lodash'
;
import
lodash
from
'lodash'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
{
PAY_CHANNEL_WECHAT
}
from
'@/constants'
;
import
MellowCard
from
'@/components/MellowCard'
;
import
MellowCard
from
'@/components/MellowCard'
;
import
{
Pie
}
from
'@/components/Charts'
;
import
{
Pie
}
from
'@/components/Charts'
;
import
StatusTag
from
'@/components/StatusTag'
;
import
StatusTag
from
'@/components/StatusTag'
;
import
NiceForm
from
'@/components/NiceForm'
;
import
NiceForm
from
'@/components/NiceForm'
;
import
{
repaymentModalSchema
,
uploadVoucherModalSchema
}
from
'./schema'
;
import
{
uploadVoucherModalSchema
}
from
'./schema'
;
import
{
createEffects
}
from
'./effects/repayment'
;
import
TradeRecord
,
{
RecordParams
,
RecordRes
}
from
'../TradeRecord'
;
import
TradeRecord
,
{
RecordParams
,
RecordRes
}
from
'../TradeRecord'
;
import
WxPayModal
from
'../WxPayModal'
;
import
WxPayModal
from
'../WxPayModal'
;
import
RefundModal
from
'../RefundModal'
;
import
styles
from
'./index.less'
;
import
styles
from
'./index.less'
;
const
repaymentFormActions
=
createFormActions
();
const
uploadVoucherFormActions
=
createFormActions
();
const
uploadVoucherFormActions
=
createFormActions
();
const
{
onFormInit$
}
=
FormEffectHooks
;
const
{
Option
}
=
Select
;
const
{
Option
}
=
Select
;
export
interface
BillDetailParams
{
export
interface
BillDetailParams
{
...
@@ -72,6 +70,10 @@ export interface BillDetailData {
...
@@ -72,6 +70,10 @@ export interface BillDetailData {
* 收款人Id
* 收款人Id
*/
*/
memberId
:
number
memberId
:
number
/**
* 收款人角色Id
*/
memberRoleId
:
number
};
};
export
interface
BillRecordParams
extends
RecordParams
{
export
interface
BillRecordParams
extends
RecordParams
{
...
@@ -113,7 +115,6 @@ interface IntroduceRowState {
...
@@ -113,7 +115,6 @@ interface IntroduceRowState {
name
:
string
,
name
:
string
,
bankAccount
:
string
,
bankAccount
:
string
,
bankDeposit
:
string
,
bankDeposit
:
string
,
memberId
:
number
,
},
},
visibleRecord
:
boolean
;
visibleRecord
:
boolean
;
visibleRepayment
:
boolean
;
visibleRepayment
:
boolean
;
...
@@ -144,7 +145,6 @@ class IntroduceRow extends React.Component<IntroduceRowProps, IntroduceRowState>
...
@@ -144,7 +145,6 @@ class IntroduceRow extends React.Component<IntroduceRowProps, IntroduceRowState>
name
:
''
,
name
:
''
,
bankAccount
:
''
,
bankAccount
:
''
,
bankDeposit
:
''
,
bankDeposit
:
''
,
memberId
:
0
,
},
},
visibleRecord
:
false
,
visibleRecord
:
false
,
visibleRepayment
:
false
,
visibleRepayment
:
false
,
...
@@ -180,7 +180,7 @@ class IntroduceRow extends React.Component<IntroduceRowProps, IntroduceRowState>
...
@@ -180,7 +180,7 @@ class IntroduceRow extends React.Component<IntroduceRowProps, IntroduceRowState>
id
:
`
${
id
}
`
,
id
:
`
${
id
}
`
,
}).
then
(
res
=>
{
}).
then
(
res
=>
{
this
.
setState
({
billInfo
:
res
});
this
.
setState
({
billInfo
:
res
});
this
.
getSettleAccounts
Corporate
AccountConfig
(
res
.
memberId
,
res
.
memberRoleId
);
this
.
getSettleAccounts
GetMember
AccountConfig
(
res
.
memberId
,
res
.
memberRoleId
);
}).
finally
(()
=>
{
}).
finally
(()
=>
{
this
.
setState
({
billInfoLoading
:
false
});
this
.
setState
({
billInfoLoading
:
false
});
});
});
...
@@ -188,13 +188,13 @@ class IntroduceRow extends React.Component<IntroduceRowProps, IntroduceRowState>
...
@@ -188,13 +188,13 @@ class IntroduceRow extends React.Component<IntroduceRowProps, IntroduceRowState>
};
};
// 获取对公账户信息
// 获取对公账户信息
getSettleAccounts
Corporate
AccountConfig
=
(
memberId
:
number
,
memberRoleId
:
number
)
=>
{
getSettleAccounts
GetMember
AccountConfig
=
(
memberId
:
number
,
memberRoleId
:
number
)
=>
{
if
(
!
memberId
||
!
memberRoleId
)
{
if
(
!
memberId
||
!
memberRoleId
)
{
return
;
return
;
}
}
PublicApi
.
getSettleAccounts
Corporate
AccountConfig
({
PublicApi
.
getSettleAccounts
GetMember
AccountConfig
({
memberId
:
`
${
memberId
}
`
,
memberId
:
`
${
memberId
}
`
,
memberR
oleId
:
`
${
memberRoleId
}
`
,
r
oleId
:
`
${
memberRoleId
}
`
,
}).
then
(
res
=>
{
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
if
(
res
.
code
===
1000
)
{
this
.
setState
({
this
.
setState
({
...
@@ -257,7 +257,7 @@ class IntroduceRow extends React.Component<IntroduceRowProps, IntroduceRowState>
...
@@ -257,7 +257,7 @@ class IntroduceRow extends React.Component<IntroduceRowProps, IntroduceRowState>
switch
(
tradeChannel
)
{
switch
(
tradeChannel
)
{
// 微信支付
// 微信支付
case
1
:
{
case
PAY_CHANNEL_WECHAT
:
{
this
.
setState
({
this
.
setState
({
wxPayPrice
:
values
.
repayQuota
,
wxPayPrice
:
values
.
repayQuota
,
wxPayUrl
:
res
.
data
.
payQRCode
,
wxPayUrl
:
res
.
data
.
payQRCode
,
...
@@ -289,10 +289,10 @@ class IntroduceRow extends React.Component<IntroduceRowProps, IntroduceRowState>
...
@@ -289,10 +289,10 @@ class IntroduceRow extends React.Component<IntroduceRowProps, IntroduceRowState>
};
};
handleUploadVoucherSubmit
=
values
=>
{
handleUploadVoucherSubmit
=
values
=>
{
const
{
payProveList
}
=
values
;
const
{
payProveList
=
[]
}
=
values
;
const
{
repaymentValues
,
billId
,
bankAccount
}
=
this
.
state
;
const
{
repaymentValues
,
billId
,
bankAccount
}
=
this
.
state
;
if
(
!
bankAccount
||
!
bankAccount
.
id
||
!
bankAccount
.
memberId
)
{
if
(
!
bankAccount
||
!
bankAccount
.
id
)
{
message
.
error
(
'没有还款账户相关信息,无法还款'
);
message
.
error
(
'没有还款账户相关信息,无法还款'
);
return
;
return
;
}
}
...
@@ -317,7 +317,6 @@ class IntroduceRow extends React.Component<IntroduceRowProps, IntroduceRowState>
...
@@ -317,7 +317,6 @@ class IntroduceRow extends React.Component<IntroduceRowProps, IntroduceRowState>
};
};
beforeUploadVoucher
=
file
=>
{
beforeUploadVoucher
=
file
=>
{
console
.
log
(
file
.
size
)
if
(
file
.
size
/
1024
>
200
)
{
if
(
file
.
size
/
1024
>
200
)
{
message
.
warning
(
'图片大小超过200K'
);
message
.
warning
(
'图片大小超过200K'
);
return
Promise
.
reject
();
return
Promise
.
reject
();
...
@@ -564,56 +563,13 @@ class IntroduceRow extends React.Component<IntroduceRowProps, IntroduceRowState>
...
@@ -564,56 +563,13 @@ class IntroduceRow extends React.Component<IntroduceRowProps, IntroduceRowState>
</
Col
>
</
Col
>
</
Row
>
</
Row
>
<
Modal
<
RefundModal
title=
"还款"
width=
{
576
}
visible=
{
visibleRepayment
}
visible=
{
visibleRepayment
}
confirmLoading=
{
repaymentSubmitLoading
}
billInfo=
{
billInfo
}
onOk=
{
()
=>
repaymentFormActions
.
submit
()
}
onCancel=
{
()
=>
this
.
setState
({
visibleRepayment
:
false
})
}
onCancel=
{
()
=>
this
.
setState
({
visibleRepayment
:
false
})
}
destroyOnClose
>
<
NiceForm
previewPlaceholder=
""
effects=
{
(
$
,
actions
)
=>
{
const
{
setFieldState
,
setFieldValue
}
=
actions
;
onFormInit$
().
subscribe
(()
=>
{
// 初始化数据
setFieldState
(
'repayQuota'
,
fileState
=>
{
fileState
.
value
=
billInfo
.
residueRepayQuota
;
fileState
.
rules
=
fileState
.
rules
.
concat
({
validator
(
value
)
{
return
+
value
>
billInfo
.
residueRepayQuota
?
'输入值已超出还款金额'
:
''
;
}
});
});
setFieldState
(
'amountSlide'
,
fileState
=>
{
fileState
.
value
=
billInfo
.
residueRepayQuota
;
fileState
.
props
[
'x-component-props'
].
max
=
billInfo
.
residueRepayQuota
;
fileState
.
props
[
'x-component-props'
].
marks
=
{
0
:
{
label
:
0
,
},
[
billInfo
.
residueRepayQuota
]:
{
label
:
billInfo
.
residueRepayQuota
,
},
};
});
});
createEffects
(
$
,
actions
);
}
}
expressionScope=
{
{
}
}
actions=
{
repaymentFormActions
}
schema=
{
repaymentModalSchema
}
onSubmit=
{
this
.
handleRepaymentSubmit
}
onSubmit=
{
this
.
handleRepaymentSubmit
}
confirmLoading=
{
repaymentSubmitLoading
}
/>
/>
</
Modal
>
<
Modal
<
Modal
title=
"上传支付凭证"
title=
"上传支付凭证"
...
...
src/pages/payandSettle/creditApplication/quotaMenage/detail/components/IntroduceRow/schema/index.ts
View file @
42224544
import
{
ISchema
}
from
'@formily/antd'
;
import
{
ISchema
}
from
'@formily/antd'
;
import
{
UPLOAD_TYPE
}
from
'@/constants'
;
import
{
UPLOAD_TYPE
}
from
'@/constants'
;
export
const
repaymentModalSchema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
MEGA_LAYOUT
:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
'x-component-props'
:
{
labelAlign
:
'top'
,
full
:
true
,
},
properties
:
{
repayQuota
:
{
type
:
'string'
,
title
:
'还款金额'
,
'x-component-props'
:
{
placeholder
:
''
,
addonBefore
:
'¥'
,
},
'x-rules'
:
[
{
required
:
true
,
message
:
'请填写还款金额'
,
},
],
},
amountSlide
:
{
type
:
'number'
,
title
:
''
,
'x-component'
:
'range'
,
'x-component-props'
:
{
min
:
0
,
// max: 20000,
},
},
tradeType
:
{
type
:
'number'
,
enum
:
[
{
label
:
'线上支付方式'
,
value
:
1
,
},
{
label
:
'线下支付方式'
,
value
:
2
,
},
],
default
:
1
,
title
:
'选择支付方式'
,
'x-component-props'
:
{
placeholder
:
'请选择'
,
},
'x-rules'
:
[
{
required
:
true
,
message
:
'请选择支付方式'
,
},
],
},
tradeChannel
:
{
type
:
'string'
,
title
:
'选择支付渠道'
,
enum
:
[
{
label
:
'微信'
,
value
:
1
,
},
{
label
:
'支付宝'
,
value
:
2
,
},
{
label
:
'银联'
,
value
:
3
,
},
],
default
:
1
,
'x-component-props'
:
{
placeholder
:
'请选择'
,
},
'x-rules'
:
[
{
required
:
true
,
message
:
'请选择支付渠道'
,
},
],
},
},
},
},
};
export
const
uploadVoucherModalSchema
:
ISchema
=
{
export
const
uploadVoucherModalSchema
:
ISchema
=
{
type
:
'object'
,
type
:
'object'
,
properties
:
{
properties
:
{
...
@@ -139,7 +48,7 @@ export const uploadVoucherModalSchema: ISchema = {
...
@@ -139,7 +48,7 @@ export const uploadVoucherModalSchema: ISchema = {
},
},
'x-rules'
:
[
'x-rules'
:
[
{
{
required
:
false
,
required
:
true
,
message
:
'请上传支付凭证'
,
message
:
'请上传支付凭证'
,
},
},
],
],
...
...
src/pages/payandSettle/creditApplication/quotaMenage/detail/components/
IntroduceRow/effects/repayment
/index.ts
→
src/pages/payandSettle/creditApplication/quotaMenage/detail/components/
RefundModal/effects
/index.ts
View file @
42224544
File moved
src/pages/payandSettle/creditApplication/quotaMenage/detail/components/
IntroduceRow/effects/repayment
/useBusinessEffects.ts
→
src/pages/payandSettle/creditApplication/quotaMenage/detail/components/
RefundModal/effects
/useBusinessEffects.ts
View file @
42224544
src/pages/payandSettle/creditApplication/quotaMenage/detail/components/RefundModal/index.tsx
0 → 100644
View file @
42224544
import
React
from
'react'
;
import
{
Modal
}
from
'antd'
;
import
{
createFormActions
,
FormEffectHooks
}
from
'@formily/antd'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
NiceForm
from
'@/components/NiceForm'
;
import
{
BillDetailData
}
from
'../IntroduceRow'
;
import
{
repaymentModalSchema
}
from
'./schema'
;
import
{
createEffects
}
from
'./effects'
;
import
{
useAsyncSelect
}
from
'@/formSchema/effects/useAsyncSelect'
;
const
{
onFormInit$
}
=
FormEffectHooks
;
const
repaymentFormActions
=
createFormActions
();
interface
RefundModalProps
{
/**
* 是否可见
*/
visible
:
boolean
,
/**
* 隐藏事件
*/
onCancel
:
()
=>
void
,
/**
* 确认按钮 loading
*/
confirmLoading
?:
boolean
,
/**
* 账单信息
*/
billInfo
:
BillDetailData
|
null
,
/**
* 提交事件
*/
onSubmit
:
(
values
:
any
)
=>
void
,
};
const
RefundModal
:
React
.
FC
<
RefundModalProps
>
=
(
props
)
=>
{
const
{
visible
,
onCancel
,
confirmLoading
,
billInfo
,
onSubmit
,
}
=
props
;
// 获取供应商支付渠道
const
getPayChannels
=
():
Promise
<
any
[]
>
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
PublicApi
.
getPayCreditRepaymentList
({
payType
:
`
${
1
}
`
,
// 支付方式:1 线上支付
memberId
:
`
${
billInfo
.
memberId
}
`
,
memberRoleId
:
`
${
billInfo
.
memberRoleId
}
`
,
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
const
options
=
res
.
data
?
res
.
data
.
map
(
item
=>
({
label
:
item
.
way
,
value
:
item
.
wayId
,
}))
:
[];
resolve
(
options
);
}
reject
();
}).
catch
(()
=>
{
reject
();
});
});
};
const
handleRepaymentSubmit
=
(
values
)
=>
{
if
(
onSubmit
)
{
onSubmit
(
values
);
}
};
return
(
<
Modal
title=
"还款"
width=
{
576
}
visible=
{
visible
}
confirmLoading=
{
confirmLoading
}
onOk=
{
()
=>
repaymentFormActions
.
submit
()
}
onCancel=
{
onCancel
}
destroyOnClose
>
<
NiceForm
previewPlaceholder=
""
effects=
{
(
$
,
actions
)
=>
{
const
{
setFieldState
,
setFieldValue
}
=
actions
;
onFormInit$
().
subscribe
(()
=>
{
// 初始化数据
setFieldState
(
'repayQuota'
,
fileState
=>
{
fileState
.
value
=
billInfo
.
residueRepayQuota
;
fileState
.
rules
=
fileState
.
rules
.
concat
({
validator
(
value
)
{
return
+
value
>
billInfo
.
residueRepayQuota
?
'输入值已超出还款金额'
:
''
;
}
});
});
setFieldState
(
'amountSlide'
,
fileState
=>
{
fileState
.
value
=
billInfo
.
residueRepayQuota
;
fileState
.
props
[
'x-component-props'
].
max
=
billInfo
.
residueRepayQuota
;
fileState
.
props
[
'x-component-props'
].
marks
=
{
0
:
{
label
:
0
,
},
[
billInfo
.
residueRepayQuota
]:
{
label
:
billInfo
.
residueRepayQuota
,
},
};
});
});
createEffects
(
$
,
actions
);
console
.
log
(
'123'
)
useAsyncSelect
(
'tradeChannel'
,
getPayChannels
,
[
'label'
,
'value'
]);
}
}
expressionScope=
{
{
}
}
actions=
{
repaymentFormActions
}
schema=
{
repaymentModalSchema
}
onSubmit=
{
handleRepaymentSubmit
}
/>
</
Modal
>
);
};
export
default
RefundModal
;
\ No newline at end of file
src/pages/payandSettle/creditApplication/quotaMenage/detail/components/RefundModal/schema/index.ts
0 → 100644
View file @
42224544
import
{
ISchema
}
from
'@formily/antd'
;
import
{
UPLOAD_TYPE
}
from
'@/constants'
;
export
const
repaymentModalSchema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
MEGA_LAYOUT
:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
'x-component-props'
:
{
labelAlign
:
'top'
,
full
:
true
,
},
properties
:
{
repayQuota
:
{
type
:
'string'
,
title
:
'还款金额'
,
'x-component-props'
:
{
placeholder
:
''
,
addonBefore
:
'¥'
,
},
'x-rules'
:
[
{
required
:
true
,
message
:
'请填写还款金额'
,
},
],
},
amountSlide
:
{
type
:
'number'
,
title
:
''
,
'x-component'
:
'range'
,
'x-component-props'
:
{
min
:
0
,
// max: 20000,
},
},
tradeType
:
{
type
:
'number'
,
enum
:
[
{
label
:
'线上支付方式'
,
value
:
1
,
},
{
label
:
'线下支付方式'
,
value
:
2
,
},
],
default
:
1
,
title
:
'选择支付方式'
,
'x-component-props'
:
{
placeholder
:
'请选择'
,
},
'x-rules'
:
[
{
required
:
true
,
message
:
'请选择支付方式'
,
},
],
},
tradeChannel
:
{
type
:
'string'
,
title
:
'选择支付渠道'
,
enum
:
[
{
label
:
'微信'
,
value
:
1
,
},
{
label
:
'支付宝'
,
value
:
2
,
},
{
label
:
'银联'
,
value
:
3
,
},
],
default
:
1
,
'x-component-props'
:
{
placeholder
:
'请选择'
,
},
'x-rules'
:
[
{
required
:
true
,
message
:
'请选择支付渠道'
,
},
],
},
},
},
},
};
\ No newline at end of file
src/pages/payandSettle/creditApplication/quotaMenage/detail/components/TradeRecord/index.tsx
View file @
42224544
...
@@ -178,7 +178,7 @@ class TradeRecord extends React.Component<TradeRecordProps, TradeRecordState> {
...
@@ -178,7 +178,7 @@ class TradeRecord extends React.Component<TradeRecordProps, TradeRecordState> {
<
TradeWrap
.
TradeItem
key=
{
item
.
tradeCode
}
>
<
TradeWrap
.
TradeItem
key=
{
item
.
tradeCode
}
>
<
Descriptions
column=
{
1
}
>
<
Descriptions
column=
{
1
}
>
<
Descriptions
.
Item
label=
"交易流水号"
>
<
Descriptions
.
Item
label=
"交易流水号"
>
<
Row
justify=
"space-between"
>
<
Row
justify=
"space-between"
style=
{
{
width
:
'100%'
}
}
>
<
Col
span=
{
12
}
>
<
Col
span=
{
12
}
>
<
a
onClick=
{
()
=>
this
.
handleCheckVoucher
(
item
.
payProveList
)
}
>
{
item
.
tradeCode
}
</
a
>
<
a
onClick=
{
()
=>
this
.
handleCheckVoucher
(
item
.
payProveList
)
}
>
{
item
.
tradeCode
}
</
a
>
</
Col
>
</
Col
>
...
@@ -193,7 +193,7 @@ class TradeRecord extends React.Component<TradeRecordProps, TradeRecordState> {
...
@@ -193,7 +193,7 @@ class TradeRecord extends React.Component<TradeRecordProps, TradeRecordState> {
</
Row
>
</
Row
>
</
Descriptions
.
Item
>
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"交易项目"
>
<
Descriptions
.
Item
label=
"交易项目"
>
<
Row
justify=
"space-between"
>
<
Row
justify=
"space-between"
style=
{
{
width
:
'100%'
}
}
>
<
Col
span=
{
12
}
>
<
Col
span=
{
12
}
>
{
item
.
operationName
}
{
item
.
operationName
}
</
Col
>
</
Col
>
...
...
src/pages/payandSettle/creditApplication/quotaMenage/detail/components/WxPayModal/index.tsx
View file @
42224544
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Author: XieZhiXiong
* @Date: 2020-12-16 11:07:13
* @Date: 2020-12-16 11:07:13
* @LastEditors: XieZhiXiong
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-12-
16 15:09:21
* @LastEditTime: 2020-12-
30 13:50:05
* @Description: 微信支付弹窗
* @Description: 微信支付弹窗
*/
*/
import
React
,
{
useState
,
useEffect
,
useRef
}
from
'react'
;
import
React
,
{
useState
,
useEffect
,
useRef
}
from
'react'
;
...
@@ -80,7 +80,6 @@ const WxPayModal: React.FC<WxPayModalProps> = ({
...
@@ -80,7 +80,6 @@ const WxPayModal: React.FC<WxPayModalProps> = ({
timer
.
current
=
setTimeout
(()
=>
{
timer
.
current
=
setTimeout
(()
=>
{
handleCheckResult
();
handleCheckResult
();
},
2000
);
},
2000
);
console
.
log
(
'timer'
,
timer
)
}
else
{
}
else
{
clearTimeout
(
timer
.
current
);
clearTimeout
(
timer
.
current
);
timer
=
null
;
timer
=
null
;
...
@@ -107,8 +106,6 @@ const WxPayModal: React.FC<WxPayModalProps> = ({
...
@@ -107,8 +106,6 @@ const WxPayModal: React.FC<WxPayModalProps> = ({
useEffect
(()
=>
{
useEffect
(()
=>
{
if
(
!
visible
)
{
if
(
!
visible
)
{
console
.
log
(
'隐藏咯'
)
console
.
log
(
'timer'
,
timer
.
current
)
if
(
timer
.
current
)
{
if
(
timer
.
current
)
{
clearTimeout
(
timer
.
current
);
clearTimeout
(
timer
.
current
);
timer
.
current
=
null
;
timer
.
current
=
null
;
...
...
src/pages/payandSettle/creditApplication/quotaMenage/index.tsx
View file @
42224544
...
@@ -115,7 +115,7 @@ const QuotaMenage: React.FC = () => {
...
@@ -115,7 +115,7 @@ const QuotaMenage: React.FC = () => {
{
text
?
(
{
text
?
(
<
StatusTag
<
StatusTag
type=
{
CREDIT_REPAYMENT_STATUS_TAG_MAP
[
record
.
repayStatus
]
}
type=
{
CREDIT_REPAYMENT_STATUS_TAG_MAP
[
record
.
repayStatus
]
}
title=
{
record
.
repayStatus
!==
CREDIT_REPAYMENT_STATUS_OVERDUE
?
text
:
record
.
overdueDay
}
title=
{
text
}
/>
/>
)
:
null
}
)
:
null
}
</>
</>
...
...
src/pages/payandSettle/creditManage/quotaMenage/detail/components/BillInfo/index.tsx
View file @
42224544
...
@@ -79,7 +79,7 @@ const BillInfo: React.FC<BillInfoProps> = ({
...
@@ -79,7 +79,7 @@ const BillInfo: React.FC<BillInfoProps> = ({
>
>
<
Descriptions
column=
{
1
}
>
<
Descriptions
column=
{
1
}
>
<
Descriptions
.
Item
label=
"交易流水号"
>
<
Descriptions
.
Item
label=
"交易流水号"
>
<
Row
justify=
"space-between"
>
<
Row
justify=
"space-between"
style=
{
{
width
:
'100%'
}
}
>
<
Col
span=
{
12
}
>
<
Col
span=
{
12
}
>
<
a
onClick=
{
()
=>
handleCheckVoucher
(
trade
.
payProveList
)
}
>
{
trade
.
tradeCode
}
</
a
>
<
a
onClick=
{
()
=>
handleCheckVoucher
(
trade
.
payProveList
)
}
>
{
trade
.
tradeCode
}
</
a
>
</
Col
>
</
Col
>
...
@@ -94,7 +94,7 @@ const BillInfo: React.FC<BillInfoProps> = ({
...
@@ -94,7 +94,7 @@ const BillInfo: React.FC<BillInfoProps> = ({
</
Row
>
</
Row
>
</
Descriptions
.
Item
>
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"交易项目"
>
<
Descriptions
.
Item
label=
"交易项目"
>
<
Row
justify=
"space-between"
>
<
Row
justify=
"space-between"
style=
{
{
width
:
'100%'
}
}
>
<
Col
span=
{
12
}
>
<
Col
span=
{
12
}
>
{
BILL_TRADE_OPERATION
[
trade
.
operation
]
}
{
BILL_TRADE_OPERATION
[
trade
.
operation
]
}
</
Col
>
</
Col
>
...
...
src/pages/payandSettle/creditManage/quotaMenage/detail/components/TradeRecord/index.tsx
View file @
42224544
...
@@ -240,7 +240,7 @@ class TradeRecord extends React.Component<TradeRecordProps, TradeRecordState> {
...
@@ -240,7 +240,7 @@ class TradeRecord extends React.Component<TradeRecordProps, TradeRecordState> {
<
TradeWrap
.
TradeItem
key=
{
item
.
tradeCode
}
>
<
TradeWrap
.
TradeItem
key=
{
item
.
tradeCode
}
>
<
Descriptions
column=
{
1
}
>
<
Descriptions
column=
{
1
}
>
<
Descriptions
.
Item
label=
"交易流水号"
>
<
Descriptions
.
Item
label=
"交易流水号"
>
<
Row
justify=
"space-between"
>
<
Row
justify=
"space-between"
style=
{
{
width
:
'100%'
}
}
>
<
Col
span=
{
10
}
>
<
Col
span=
{
10
}
>
<
a
onClick=
{
()
=>
this
.
handleCheckVoucher
(
item
.
payProveList
)
}
>
{
item
.
tradeCode
}
</
a
>
<
a
onClick=
{
()
=>
this
.
handleCheckVoucher
(
item
.
payProveList
)
}
>
{
item
.
tradeCode
}
</
a
>
</
Col
>
</
Col
>
...
@@ -255,7 +255,7 @@ class TradeRecord extends React.Component<TradeRecordProps, TradeRecordState> {
...
@@ -255,7 +255,7 @@ class TradeRecord extends React.Component<TradeRecordProps, TradeRecordState> {
</
Row
>
</
Row
>
</
Descriptions
.
Item
>
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"交易项目"
>
<
Descriptions
.
Item
label=
"交易项目"
>
<
Row
justify=
"space-between"
>
<
Row
justify=
"space-between"
style=
{
{
width
:
'100%'
}
}
>
<
Col
span=
{
12
}
>
<
Col
span=
{
12
}
>
{
item
.
operationName
}
{
item
.
operationName
}
</
Col
>
</
Col
>
...
...
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