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
77c93b5c
Commit
77c93b5c
authored
Sep 09, 2020
by
XieZhiXiong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fibux、对接批量审核接口
parent
86121090
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
305 additions
and
208 deletions
+305
-208
CustomAddArray.tsx
src/components/NiceForm/components/CustomAddArray.tsx
+14
-9
reset.less
src/global/styles/reset.less
+5
-0
addMember.tsx
src/pages/member/memberImport/addMember.tsx
+139
-101
index.tsx
src/pages/member/memberImport/schema/index.tsx
+1
-4
index.tsx
src/pages/member/memberMaintain/detailed/index.tsx
+1
-1
index.tsx
src/pages/member/memberPr1/index.tsx
+36
-23
index.tsx
src/pages/member/memberPr2/index.tsx
+36
-23
index.tsx
src/pages/member/memberPrConfirm/index.tsx
+36
-23
index.tsx
src/pages/member/memberPrSubmit/index.tsx
+37
-24
No files found.
src/components/NiceForm/components/CustomAddArray.tsx
View file @
77c93b5c
...
@@ -33,15 +33,20 @@ const CustomAddArray = (props) => {
...
@@ -33,15 +33,20 @@ const CustomAddArray = (props) => {
const
onAdd
=
()
=>
mutators
.
push
(
schema
.
items
.
getEmptyValue
())
const
onAdd
=
()
=>
mutators
.
push
(
schema
.
items
.
getEmptyValue
())
const
onRemove
=
index
=>
mutators
.
remove
(
index
)
const
onRemove
=
index
=>
mutators
.
remove
(
index
)
return
<
div
>
return
(
{
toArr
(
value
).
map
((
item
,
index
,
arr
)
=>
{
<
div
>
return
<
RowStyleLayout
{
...
componentProps
}
key=
{
index
}
>
{
toArr
(
value
).
map
((
item
,
index
,
arr
)
=>
(
<
SchemaField
path=
{
FormPath
.
parse
(
path
).
concat
(
index
)
}
onlyRenderProperties
/>
<
RowStyleLayout
{
...
componentProps
}
key=
{
index
}
>
<
Button
onClick=
{
onAdd
.
bind
(
null
,
index
)
}
type=
'primary'
>
+
</
Button
>
<
SchemaField
path=
{
FormPath
.
parse
(
path
).
concat
(
index
)
}
onlyRenderProperties
/>
{
index
!==
0
&&
<
Button
onClick=
{
onRemove
.
bind
(
null
,
index
)
}
>
-
</
Button
>
}
<
Button
onClick=
{
onAdd
.
bind
(
null
,
index
)
}
type=
'primary'
>
+
</
Button
>
</
RowStyleLayout
>
<
Button
onClick=
{
onRemove
.
bind
(
null
,
index
)
}
>
-
</
Button
>
})
}
</
RowStyleLayout
>
</
div
>
))
}
{
(
!
value
||
!
value
.
length
)
&&
(
<
Button
onClick=
{
onAdd
}
type=
'primary'
>
+
</
Button
>
)
}
</
div
>
)
}
}
CustomAddArray
.
isFieldComponent
=
true
CustomAddArray
.
isFieldComponent
=
true
...
...
src/global/styles/reset.less
View file @
77c93b5c
...
@@ -191,4 +191,8 @@
...
@@ -191,4 +191,8 @@
}
}
}
}
.ant-badge-count {
z-index: 1;
}
}
}
\ No newline at end of file
src/pages/member/memberImport/addMember.tsx
View file @
77c93b5c
...
@@ -24,65 +24,117 @@ const {
...
@@ -24,65 +24,117 @@ const {
}
=
FormEffectHooks
;
}
=
FormEffectHooks
;
const
AddMember
:
React
.
FC
<
any
>
=
props
=>
{
const
AddMember
:
React
.
FC
<
any
>
=
props
=>
{
const
areaRef
=
useRef
<
any
[]
>
([])
const
{
id
,
validateId
}
=
usePageStatus
();
const
{
id
,
validateId
}
=
usePageStatus
();
const
[
memberItems
,
setMemberItems
]
=
useState
<
any
>
({});
const
[
memberItems
,
setMemberItems
]
=
useState
<
any
>
({});
const
[
memberInfo
,
setMemberInfo
]
=
useState
<
GetMemberAbilitySubGetResponse
>
(
null
);
const
[
memberInfo
,
setMemberInfo
]
=
useState
<
GetMemberAbilitySubGetResponse
>
(
null
);
const
[
submitLoading
,
setSubmitLoading
]
=
useState
(
false
);
const
[
submitLoading
,
setSubmitLoading
]
=
useState
(
false
);
const
[
infoLoading
,
setInfoLoading
]
=
useState
(
false
);
const
[
infoLoading
,
setInfoLoading
]
=
useState
(
false
);
const
getDetailedInfo
=
()
=>
{
const
getDetailedInfo
=
async
()
=>
{
if
(
id
&&
validateId
)
{
if
(
id
&&
validateId
)
{
setInfoLoading
(
true
);
setInfoLoading
(
true
);
PublicApi
.
getMemberAbilitySubGet
({
const
infoRes
=
await
PublicApi
.
getMemberAbilitySubGet
({
memberId
:
id
,
memberId
:
id
,
validateId
,
validateId
,
}).
then
(
res
=>
{
});
if
(
res
.
code
!==
1000
)
{
return
;
if
(
infoRes
.
code
!==
1000
)
{
}
return
;
const
{
}
memberTypeEnum
,
const
{
groups
=
[],
memberTypeEnum
,
areaCodes
,
groups
=
[],
areaCodes
,
account
,
channelLevelTag
,
account
,
channelTypeName
,
channelLevelTag
,
countryCode
,
channelTypeName
,
createTime
,
countryCode
,
currentStep
,
createTime
,
levelTag
,
currentStep
,
memberId
,
levelTag
,
memberTypeName
,
memberId
,
name
,
memberTypeName
,
outerHistory
,
name
,
outerStatusName
,
outerHistory
,
roleName
,
outerStatusName
,
verifySteps
,
roleName
,
...
rest
verifySteps
,
}:
any
=
(
res
.
data
||
{});
...
rest
// 注册资料处理
}:
any
=
infoRes
.
data
;
const
detail
=
{};
// 注册资料处理
const
detail
=
{};
for
(
let
i
=
0
;
i
<
groups
.
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
groups
.
length
;
i
++
)
{
const
item
=
groups
[
i
];
const
item
=
groups
[
i
];
if
(
item
.
elements
)
{
if
(
item
.
elements
)
{
for
(
let
j
=
0
;
j
<
item
.
elements
.
length
;
j
++
)
{
for
(
let
j
=
0
;
j
<
item
.
elements
.
length
;
j
++
)
{
const
ele
=
item
.
elements
[
j
];
const
ele
=
item
.
elements
[
j
];
detail
[
ele
.
fieldName
]
=
ele
.
fieldValue
;
detail
[
ele
.
fieldName
]
=
ele
.
fieldValue
;
}
}
}
}
}
}
formActions
.
setFieldState
(
'tabs'
,
state
=>
{
state
.
props
[
'x-component-props'
]
=
state
.
props
[
'x-component-props'
]
||
{};
state
.
props
[
'x-component-props'
].
hiddenKeys
=
!
channelLevelTag
?
[
'tab-2'
]
:
[];
});
// 获取渠道信息
const
channelRes
=
await
PublicApi
.
getMemberAbilitySubPageitemsChannel
({
memberTypeId
:
rest
.
memberTypeId
,
});
if
(
channelRes
.
code
!==
1000
)
{
return
;
}
const
{
areas
=
[],
channelTypes
=
[],
}
=
channelRes
.
data
;
const
areasOptions
=
areas
.
map
(
item
=>
({
label
:
item
.
name
,
value
:
item
.
code
}));
const
channelType
=
channelTypes
.
map
(
item
=>
({
label
:
item
.
channelTypeName
,
value
:
item
.
channelTypeId
}));
setMemberInfo
({
if
(
areasOptions
.
length
)
{
memberTypeId
:
memberTypeEnum
,
formActions
.
setFieldState
(
'areas.*.pcode'
,
state
=>
{
...
rest
,
FormPath
.
setIn
(
state
,
'props.enum'
,
areasOptions
);
areas
:
areaCodes
,
...
detail
,
});
});
}).
finally
(()
=>
{
setInfoLoading
(
false
);
areaCodes
.
forEach
((
area
,
index
)
=>
{
const
{
pcode
,
ccode
}
=
area
;
const
province
=
areas
.
find
(
item
=>
item
.
code
===
pcode
);
if
(
province
&&
province
.
children
)
{
const
citys
=
province
.
children
.
map
((
item
:
{
code
:
string
,
name
:
string
})
=>
({
label
:
item
.
name
,
value
:
item
.
code
}));
formActions
.
setFieldState
(
`areas.
${
index
}
.ccode`
,
state
=>
{
FormPath
.
setIn
(
state
,
'props.enum'
,
citys
);
}
);
}
});
}
formActions
.
setFieldState
(
'channelTypeId'
,
state
=>
{
FormPath
.
setIn
(
state
,
'props.enum'
,
channelType
);
});
});
areaRef
.
current
=
areas
;
setMemberInfo
({
memberTypeId
:
memberTypeEnum
,
...
rest
,
areas
:
areaCodes
,
channelLevel
:
channelLevelTag
,
...
detail
,
});
setInfoLoading
(
false
);
}
}
};
};
...
@@ -102,11 +154,19 @@ const AddMember: React.FC<any> = props => {
...
@@ -102,11 +154,19 @@ const AddMember: React.FC<any> = props => {
channelTypeId
,
channelTypeId
,
areas
,
areas
,
remark
,
remark
,
outerStatus
,
status
,
statusName
,
...
rest
...
rest
}
=
values
;
}
=
values
;
if
(
!
id
)
{
if
(
!
id
)
{
setSubmitLoading
(
true
);
setSubmitLoading
(
true
);
const
msg
=
message
.
loading
({
content
:
'正在添加,请稍候...'
,
duration
:
0
,
});
PublicApi
.
postMemberAbilitySubAdd
({
PublicApi
.
postMemberAbilitySubAdd
({
memberTypeId
,
memberTypeId
,
roleId
,
roleId
,
...
@@ -126,10 +186,15 @@ const AddMember: React.FC<any> = props => {
...
@@ -126,10 +186,15 @@ const AddMember: React.FC<any> = props => {
history
.
replace
(
'/memberCenter/memberAbility/manage/import'
);
history
.
replace
(
'/memberCenter/memberAbility/manage/import'
);
},
1000
);
},
1000
);
}).
finally
(()
=>
{
}).
finally
(()
=>
{
msg
();
setSubmitLoading
(
false
);
setSubmitLoading
(
false
);
});
});
}
else
{
}
else
{
setSubmitLoading
(
true
);
setSubmitLoading
(
true
);
const
msg
=
message
.
loading
({
content
:
'正在保存,请稍候...'
,
duration
:
0
,
});
PublicApi
.
postMemberAbilitySubUpdate
({
PublicApi
.
postMemberAbilitySubUpdate
({
memberId
:
id
,
memberId
:
id
,
validateId
,
validateId
,
...
@@ -151,6 +216,7 @@ const AddMember: React.FC<any> = props => {
...
@@ -151,6 +216,7 @@ const AddMember: React.FC<any> = props => {
history
.
replace
(
'/memberCenter/memberAbility/manage/import'
);
history
.
replace
(
'/memberCenter/memberAbility/manage/import'
);
},
1000
);
},
1000
);
}).
finally
(()
=>
{
}).
finally
(()
=>
{
msg
();
setSubmitLoading
(
false
);
setSubmitLoading
(
false
);
});
});
}
}
...
@@ -177,21 +243,8 @@ const AddMember: React.FC<any> = props => {
...
@@ -177,21 +243,8 @@ const AddMember: React.FC<any> = props => {
const
useAsyncLinkageEffect
=
()
=>
{
const
useAsyncLinkageEffect
=
()
=>
{
const
linkage
=
useLinkageUtils
();
const
linkage
=
useLinkageUtils
();
let
areasData
=
[];
onFormInitialValueChange$
().
subscribe
(
initialValues
=>
{
console
.
log
(
'1111'
,
initialValues
)
});
// 手动触发改变的话重置角色、等级下拉框
// 间接触发根据会员类型
onFieldInputChange$
(
'memberTypeId'
).
subscribe
(()
=>
{
linkage
.
value
(
'roleId'
,
undefined
);
linkage
.
enum
(
'roleId'
,
[]);
linkage
.
value
(
'levelId'
,
undefined
);
linkage
.
enum
(
'levelId'
,
[]);
});
// 根据会员类型
onFieldValueChange$
(
'memberTypeId'
).
subscribe
(
fieldState
=>
{
onFieldValueChange$
(
'memberTypeId'
).
subscribe
(
fieldState
=>
{
if
(
!
fieldState
.
value
)
{
if
(
!
fieldState
.
value
)
{
return
;
return
;
...
@@ -209,6 +262,23 @@ const AddMember: React.FC<any> = props => {
...
@@ -209,6 +262,23 @@ const AddMember: React.FC<any> = props => {
}).
finally
(()
=>
{
}).
finally
(()
=>
{
linkage
.
loaded
(
'roleId'
);
linkage
.
loaded
(
'roleId'
);
});
});
});
// 根据会员类型
onFieldInputChange$
(
'memberTypeId'
).
subscribe
(
fieldState
=>
{
if
(
!
fieldState
.
value
)
{
return
;
}
linkage
.
value
(
'roleId'
,
undefined
);
linkage
.
enum
(
'roleId'
,
[]);
linkage
.
value
(
'levelId'
,
undefined
);
linkage
.
enum
(
'levelId'
,
[]);
// 清空渠道原来数据
linkage
.
value
(
'channelTypeId'
,
undefined
);
linkage
.
value
(
'areas'
,
[]);
linkage
.
value
(
'remark'
,
''
);
// 获取渠道信息
// 获取渠道信息
PublicApi
.
getMemberAbilitySubPageitemsChannel
({
PublicApi
.
getMemberAbilitySubPageitemsChannel
({
...
@@ -218,11 +288,10 @@ const AddMember: React.FC<any> = props => {
...
@@ -218,11 +288,10 @@ const AddMember: React.FC<any> = props => {
return
;
return
;
}
}
const
{
const
{
data
:
{
channelLevelTag
=
''
,
channelLevelTag
=
''
,
areas
=
[],
areas
=
[],
channelTypes
=
[],
channelTypes
=
[],
}
=
res
.
data
;
}
}
=
res
;
formActions
.
setFieldState
(
'tabs'
,
state
=>
{
formActions
.
setFieldState
(
'tabs'
,
state
=>
{
state
.
props
[
'x-component-props'
]
=
state
.
props
[
'x-component-props'
]
=
state
.
props
[
'x-component-props'
]
||
{};
state
.
props
[
'x-component-props'
]
||
{};
...
@@ -230,16 +299,16 @@ const AddMember: React.FC<any> = props => {
...
@@ -230,16 +299,16 @@ const AddMember: React.FC<any> = props => {
state
.
props
[
'x-component-props'
].
hiddenKeys
=
state
.
props
[
'x-component-props'
].
hiddenKeys
=
!
channelLevelTag
?
[
'tab-2'
]
:
[];
!
channelLevelTag
?
[
'tab-2'
]
:
[];
});
});
areaRef
.
current
=
areas
;
const
areasOptions
=
areas
.
map
(
item
=>
({
label
:
item
.
name
,
value
:
item
.
code
}));
const
areasOptions
=
areas
.
map
(
item
=>
({
label
:
item
.
name
,
value
:
item
.
code
}));
const
channelType
=
channelTypes
.
map
(
item
=>
({
label
:
item
.
channelTypeName
,
value
:
item
.
channelTypeId
}))
const
channelType
=
channelTypes
.
map
(
item
=>
({
label
:
item
.
channelTypeName
,
value
:
item
.
channelTypeId
}))
;
if
(
areasOptions
.
length
)
{
if
(
areasOptions
.
length
)
{
formActions
.
setFieldState
(
'areas.*.pcode'
,
state
=>
{
formActions
.
setFieldState
(
'areas.*.pcode'
,
state
=>
{
FormPath
.
setIn
(
state
,
'props.enum'
,
areasOptions
);
FormPath
.
setIn
(
state
,
'props.enum'
,
areasOptions
);
});
});
}
}
formActions
.
setFieldState
(
'channelLevel'
,
state
=>
{
formActions
.
setFieldState
(
'channelLevel'
,
state
=>
{
FormPath
.
setIn
(
state
,
'value'
,
channelLevelTag
);
FormPath
.
setIn
(
state
,
'value'
,
channelLevelTag
);
});
});
...
@@ -247,28 +316,6 @@ const AddMember: React.FC<any> = props => {
...
@@ -247,28 +316,6 @@ const AddMember: React.FC<any> = props => {
FormPath
.
setIn
(
state
,
'props.enum'
,
channelType
);
FormPath
.
setIn
(
state
,
'props.enum'
,
channelType
);
});
});
// 如果会员信息存在渠道代理城市信息,设置一下每项的 市级数据
setTimeout
(()
=>
{
console
.
log
(
'memberInfo1'
,
memberInfo
)
if
(
memberInfo
&&
memberInfo
.
areas
.
length
)
{
memberInfo
.
areas
.
forEach
((
area
,
index
)
=>
{
const
{
pcode
,
ccode
}
=
area
;
const
province
=
areas
.
find
(
item
=>
item
.
code
===
pcode
);
if
(
province
&&
province
.
children
)
{
const
city
=
province
.
children
.
find
((
item
:
any
)
=>
item
.
code
===
ccode
);
formActions
.
setFieldState
(
`areas.
${
index
}
.ccode`
,
state
=>
{
FormPath
.
setIn
(
state
,
'props.enum'
,
city
);
}
);
}
});
}
},
2000
);
areasData
=
areas
;
});
});
});
});
...
@@ -306,6 +353,8 @@ const AddMember: React.FC<any> = props => {
...
@@ -306,6 +353,8 @@ const AddMember: React.FC<any> = props => {
PublicApi
.
getMemberAbilitySubPageitemsLevel
({
PublicApi
.
getMemberAbilitySubPageitemsLevel
({
memberTypeId
:
selfName
==
'memberTypeId'
?
selfValue
:
otherValue
,
memberTypeId
:
selfName
==
'memberTypeId'
?
selfValue
:
otherValue
,
roleId
:
selfName
==
'memberTypeId'
?
otherValue
:
selfValue
,
roleId
:
selfName
==
'memberTypeId'
?
otherValue
:
selfValue
,
},
{
useCache
:
true
,
}).
then
(
res
=>
{
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
if
(
res
.
code
===
1000
)
{
const
{
data
=
[]
}
=
res
;
const
{
data
=
[]
}
=
res
;
...
@@ -318,19 +367,9 @@ const AddMember: React.FC<any> = props => {
...
@@ -318,19 +367,9 @@ const AddMember: React.FC<any> = props => {
}
}
});
});
// 主动的渠道信息省级变化,重置市级 value
onFieldInputChange$
(
'areas.*.pcode'
).
subscribe
(
fieldState
=>
{
formActions
.
setFieldState
(
FormPath
.
transform
(
fieldState
.
name
,
/
\d
/
,
$1
=>
`areas.
${
$1
}
.ccode`
),
state
=>
{
FormPath
.
setIn
(
state
,
'value'
,
undefined
);
}
);
});
// 渠道信息省级变化,筛选出对应的市级数据
// 渠道信息省级变化,筛选出对应的市级数据
onField
Value
Change$
(
'areas.*.pcode'
).
subscribe
(
fieldState
=>
{
onField
Input
Change$
(
'areas.*.pcode'
).
subscribe
(
fieldState
=>
{
const
province
=
area
sData
.
find
(
item
=>
item
.
code
===
fieldState
.
value
);
const
province
=
area
Ref
.
current
.
find
(
item
=>
item
.
code
===
fieldState
.
value
);
if
(
!
province
)
{
if
(
!
province
)
{
return
;
return
;
}
}
...
@@ -338,14 +377,13 @@ const AddMember: React.FC<any> = props => {
...
@@ -338,14 +377,13 @@ const AddMember: React.FC<any> = props => {
formActions
.
setFieldState
(
formActions
.
setFieldState
(
FormPath
.
transform
(
fieldState
.
name
,
/
\d
/
,
$1
=>
`areas.
${
$1
}
.ccode`
),
FormPath
.
transform
(
fieldState
.
name
,
/
\d
/
,
$1
=>
`areas.
${
$1
}
.ccode`
),
state
=>
{
state
=>
{
FormPath
.
setIn
(
state
,
'value'
,
undefined
);
FormPath
.
setIn
(
state
,
'props.enum'
,
city
);
FormPath
.
setIn
(
state
,
'props.enum'
,
city
);
}
}
);
);
});
});
}
}
console
.
log
(
'memberInfo2'
,
memberInfo
)
return
(
return
(
<
Spin
spinning=
{
infoLoading
}
>
<
Spin
spinning=
{
infoLoading
}
>
<
PageHeaderWrapper
<
PageHeaderWrapper
...
...
src/pages/member/memberImport/schema/index.tsx
View file @
77c93b5c
...
@@ -322,11 +322,8 @@ export const initDetailSchema = (props: any) => {
...
@@ -322,11 +322,8 @@ export const initDetailSchema = (props: any) => {
areas
:
{
areas
:
{
type
:
'array'
,
type
:
'array'
,
title
:
'代理城市'
,
title
:
'代理城市'
,
required
:
true
,
'x-component'
:
'CustomAddArray'
,
'x-component'
:
'CustomAddArray'
,
default
:
[
default
:
[],
{
pcode
:
undefined
,
ccode
:
undefined
},
],
items
:
{
items
:
{
type
:
'object'
,
type
:
'object'
,
properties
:
{
properties
:
{
...
...
src/pages/member/memberMaintain/detailed/index.tsx
View file @
77c93b5c
...
@@ -35,7 +35,7 @@ interface QueryProps {
...
@@ -35,7 +35,7 @@ interface QueryProps {
}
}
const
MemberQueryDetailed
:
React
.
FC
<
QueryProps
>
=
props
=>
{
const
MemberQueryDetailed
:
React
.
FC
<
QueryProps
>
=
props
=>
{
const
{
MemberStore
,
children
}
=
props
;
const
{
MemberStore
,
location
,
children
}
=
props
;
const
{
id
,
validateId
}
=
usePageStatus
();
const
{
id
,
validateId
}
=
usePageStatus
();
const
[
basicInfo
,
setBasicInfo
]
=
useState
<
GetMemberAbilityMaintenanceDetailBasicResponse
>
(
null
);
const
[
basicInfo
,
setBasicInfo
]
=
useState
<
GetMemberAbilityMaintenanceDetailBasicResponse
>
(
null
);
const
[
infoLoading
,
setInfoLoading
]
=
useState
(
false
);
const
[
infoLoading
,
setInfoLoading
]
=
useState
(
false
);
...
...
src/pages/member/memberPr1/index.tsx
View file @
77c93b5c
import
React
,
{
useState
,
useEffect
,
useRef
}
from
'react'
;
import
React
,
{
useState
,
useEffect
,
useRef
}
from
'react'
;
import
{
history
}
from
'umi'
;
import
{
history
}
from
'umi'
;
import
{
Card
,
Space
,
Button
,
Badge
,
Popconfirm
}
from
'antd'
;
import
{
Card
,
Space
,
Button
,
Badge
,
Modal
,
message
}
from
'antd'
;
import
{
ClockCircleOutlined
}
from
'@ant-design/icons'
;
import
{
ClockCircleOutlined
,
QuestionCircleOutlined
}
from
'@ant-design/icons'
;
import
{
StandardTable
}
from
'god'
;
import
{
StandardTable
}
from
'god'
;
import
{
ColumnType
}
from
'antd/lib/table/interface'
;
import
{
ColumnType
}
from
'antd/lib/table/interface'
;
import
{
createFormActions
}
from
'@formily/antd'
;
import
{
createFormActions
}
from
'@formily/antd'
;
...
@@ -20,12 +20,12 @@ import {
...
@@ -20,12 +20,12 @@ import {
import
{
coverColFiltersItem
}
from
'../utils'
;
import
{
coverColFiltersItem
}
from
'../utils'
;
import
StatusTag
from
'../components/StatusTag'
;
import
StatusTag
from
'../components/StatusTag'
;
const
{
confirm
}
=
Modal
;
const
formActions
=
createFormActions
();
const
formActions
=
createFormActions
();
const
MemberPr1
:
React
.
FC
<
{}
>
=
props
=>
{
const
MemberPr1
:
React
.
FC
<
{}
>
=
props
=>
{
const
ref
=
useRef
<
any
>
({});
const
ref
=
useRef
<
any
>
({});
const
[
searchItems
,
setSearchItems
]
=
useState
<
any
>
({});
const
[
filteredInfo
,
setFilteredInfo
]
=
useState
<
any
>
({});
const
[
selectedRowKeys
,
setSelectedRowKeys
]
=
useState
<
Array
<
string
>>
([]);
const
[
selectedRowKeys
,
setSelectedRowKeys
]
=
useState
<
Array
<
string
>>
([]);
const
[
selectedList
,
setSelectList
]
=
useState
<
any
>
([]);
const
[
selectedList
,
setSelectList
]
=
useState
<
any
>
([]);
...
@@ -122,13 +122,9 @@ const MemberPr1: React.FC<{}> = props => {
...
@@ -122,13 +122,9 @@ const MemberPr1: React.FC<{}> = props => {
const
[
columns
,
setColumns
]
=
useState
<
any
[]
>
(
defaultColumns
);
const
[
columns
,
setColumns
]
=
useState
<
any
[]
>
(
defaultColumns
);
const
rowSelection
=
{
const
rowSelection
=
{
onChange
:
(
selectedRowKeys
:
any
,
selectedRows
:
any
)
=>
{
onChange
:
(
keys
:
any
,
rows
:
{}[])
=>
{
let
result
=
selectedRows
.
map
(
v
=>
({
setSelectedRowKeys
(
keys
);
memberId
:
v
.
memberId
,
setSelectList
(
rows
);
validateId
:
v
.
validateId
,
}));
setSelectedRowKeys
(
selectedRowKeys
);
setSelectList
(
result
);
},
},
selectedRowKeys
:
selectedRowKeys
,
selectedRowKeys
:
selectedRowKeys
,
};
};
...
@@ -139,7 +135,32 @@ const MemberPr1: React.FC<{}> = props => {
...
@@ -139,7 +135,32 @@ const MemberPr1: React.FC<{}> = props => {
};
};
const
handleBatch
=
()
=>
{
const
handleBatch
=
()
=>
{
console
.
log
(
'批量'
)
if
(
!
selectedList
.
length
)
{
message
.
warning
(
'未选择任何会员'
);
return
;
}
confirm
({
title
:
'提示'
,
icon
:
<
QuestionCircleOutlined
/>,
content
:
'确定要审核通过选中的会员吗?'
,
onOk
()
{
const
members
=
selectedList
.
map
(
item
=>
({
memberId
:
item
.
memberId
,
validateId
:
item
.
validateId
}));
return
new
Promise
((
resolve
,
reject
)
=>
{
PublicApi
.
postMemberAbilityValidateStep1Batch
(
members
)
.
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
ref
.
current
.
reload
();
setSelectedRowKeys
([]);
resolve
();
}
reject
();
})
.
catch
(()
=>
{
reject
();
});
});
},
});
};
};
// 初始化高级筛选选项
// 初始化高级筛选选项
...
@@ -192,17 +213,9 @@ const MemberPr1: React.FC<{}> = props => {
...
@@ -192,17 +213,9 @@ const MemberPr1: React.FC<{}> = props => {
const
controllerBtns
=
(
const
controllerBtns
=
(
<
Space
>
<
Space
>
<
Popconfirm
<
Button
onClick=
{
handleBatch
}
>
title=
"是否继续操作 ?"
批量审核通过
placement=
"bottom"
</
Button
>
onConfirm=
{
handleBatch
}
okText=
"是"
cancelText=
"否"
>
<
Button
>
批量提交审核
</
Button
>
</
Popconfirm
>
</
Space
>
</
Space
>
);
);
...
...
src/pages/member/memberPr2/index.tsx
View file @
77c93b5c
import
React
,
{
useState
,
useEffect
,
useRef
}
from
'react'
;
import
React
,
{
useState
,
useEffect
,
useRef
}
from
'react'
;
import
{
history
}
from
'umi'
;
import
{
history
}
from
'umi'
;
import
{
Card
,
Space
,
Button
,
Badge
,
Popconfirm
}
from
'antd'
;
import
{
Card
,
Space
,
Button
,
Badge
,
Modal
,
message
}
from
'antd'
;
import
{
ClockCircleOutlined
}
from
'@ant-design/icons'
;
import
{
ClockCircleOutlined
,
QuestionCircleOutlined
}
from
'@ant-design/icons'
;
import
{
StandardTable
}
from
'god'
;
import
{
StandardTable
}
from
'god'
;
import
{
ColumnType
}
from
'antd/lib/table/interface'
;
import
{
ColumnType
}
from
'antd/lib/table/interface'
;
import
{
createFormActions
}
from
'@formily/antd'
;
import
{
createFormActions
}
from
'@formily/antd'
;
...
@@ -20,12 +20,12 @@ import {
...
@@ -20,12 +20,12 @@ import {
import
{
coverColFiltersItem
}
from
'../utils'
;
import
{
coverColFiltersItem
}
from
'../utils'
;
import
StatusTag
from
'../components/StatusTag'
;
import
StatusTag
from
'../components/StatusTag'
;
const
{
confirm
}
=
Modal
;
const
formActions
=
createFormActions
();
const
formActions
=
createFormActions
();
const
MemberPr2
:
React
.
FC
<
{}
>
=
props
=>
{
const
MemberPr2
:
React
.
FC
<
{}
>
=
props
=>
{
const
ref
=
useRef
<
any
>
({});
const
ref
=
useRef
<
any
>
({});
const
[
searchItems
,
setSearchItems
]
=
useState
<
any
>
({});
const
[
filteredInfo
,
setFilteredInfo
]
=
useState
<
any
>
({});
const
[
selectedRowKeys
,
setSelectedRowKeys
]
=
useState
<
Array
<
string
>>
([]);
const
[
selectedRowKeys
,
setSelectedRowKeys
]
=
useState
<
Array
<
string
>>
([]);
const
[
selectedList
,
setSelectList
]
=
useState
<
any
>
([]);
const
[
selectedList
,
setSelectList
]
=
useState
<
any
>
([]);
...
@@ -122,13 +122,9 @@ const MemberPr2: React.FC<{}> = props => {
...
@@ -122,13 +122,9 @@ const MemberPr2: React.FC<{}> = props => {
const
[
columns
,
setColumns
]
=
useState
<
any
[]
>
(
defaultColumns
);
const
[
columns
,
setColumns
]
=
useState
<
any
[]
>
(
defaultColumns
);
const
rowSelection
=
{
const
rowSelection
=
{
onChange
:
(
selectedRowKeys
:
any
,
selectedRows
:
any
)
=>
{
onChange
:
(
keys
:
any
,
rows
:
{}[])
=>
{
let
result
=
selectedRows
.
map
(
v
=>
({
setSelectedRowKeys
(
keys
);
memberId
:
v
.
memberId
,
setSelectList
(
rows
);
validateId
:
v
.
validateId
,
}));
setSelectedRowKeys
(
selectedRowKeys
);
setSelectList
(
result
);
},
},
selectedRowKeys
:
selectedRowKeys
,
selectedRowKeys
:
selectedRowKeys
,
};
};
...
@@ -139,7 +135,32 @@ const MemberPr2: React.FC<{}> = props => {
...
@@ -139,7 +135,32 @@ const MemberPr2: React.FC<{}> = props => {
};
};
const
handleBatch
=
()
=>
{
const
handleBatch
=
()
=>
{
console
.
log
(
'批量'
)
if
(
!
selectedList
.
length
)
{
message
.
warning
(
'未选择任何会员'
);
return
;
}
confirm
({
title
:
'提示'
,
icon
:
<
QuestionCircleOutlined
/>,
content
:
'确定要审核通过选中的会员吗?'
,
onOk
()
{
const
members
=
selectedList
.
map
(
item
=>
({
memberId
:
item
.
memberId
,
validateId
:
item
.
validateId
}));
return
new
Promise
((
resolve
,
reject
)
=>
{
PublicApi
.
postMemberAbilityValidateStep2Batch
(
members
)
.
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
ref
.
current
.
reload
();
setSelectedRowKeys
([]);
resolve
();
}
reject
();
})
.
catch
(()
=>
{
reject
();
});
});
},
});
};
};
// 初始化高级筛选选项
// 初始化高级筛选选项
...
@@ -192,17 +213,9 @@ const MemberPr2: React.FC<{}> = props => {
...
@@ -192,17 +213,9 @@ const MemberPr2: React.FC<{}> = props => {
const
controllerBtns
=
(
const
controllerBtns
=
(
<
Space
>
<
Space
>
<
Popconfirm
<
Button
onClick=
{
handleBatch
}
>
title=
"是否继续操作 ?"
批量审核通过
placement=
"bottom"
</
Button
>
onConfirm=
{
handleBatch
}
okText=
"是"
cancelText=
"否"
>
<
Button
>
批量提交审核
</
Button
>
</
Popconfirm
>
</
Space
>
</
Space
>
);
);
...
...
src/pages/member/memberPrConfirm/index.tsx
View file @
77c93b5c
import
React
,
{
useState
,
useEffect
,
useRef
}
from
'react'
;
import
React
,
{
useState
,
useEffect
,
useRef
}
from
'react'
;
import
{
history
}
from
'umi'
;
import
{
history
}
from
'umi'
;
import
{
Card
,
Space
,
Button
,
Badge
,
Popconfirm
}
from
'antd'
;
import
{
Card
,
Space
,
Button
,
Badge
,
Modal
,
message
}
from
'antd'
;
import
{
ClockCircleOutlined
}
from
'@ant-design/icons'
;
import
{
ClockCircleOutlined
,
QuestionCircleOutlined
}
from
'@ant-design/icons'
;
import
{
StandardTable
}
from
'god'
;
import
{
StandardTable
}
from
'god'
;
import
{
ColumnType
}
from
'antd/lib/table/interface'
;
import
{
ColumnType
}
from
'antd/lib/table/interface'
;
import
{
createFormActions
}
from
'@formily/antd'
;
import
{
createFormActions
}
from
'@formily/antd'
;
...
@@ -20,12 +20,12 @@ import {
...
@@ -20,12 +20,12 @@ import {
import
{
coverColFiltersItem
}
from
'../utils'
;
import
{
coverColFiltersItem
}
from
'../utils'
;
import
StatusTag
from
'../components/StatusTag'
;
import
StatusTag
from
'../components/StatusTag'
;
const
{
confirm
}
=
Modal
;
const
formActions
=
createFormActions
();
const
formActions
=
createFormActions
();
const
MemberPrConfirm
:
React
.
FC
<
{}
>
=
props
=>
{
const
MemberPrConfirm
:
React
.
FC
<
{}
>
=
props
=>
{
const
ref
=
useRef
<
any
>
({});
const
ref
=
useRef
<
any
>
({});
const
[
searchItems
,
setSearchItems
]
=
useState
<
any
>
({});
const
[
filteredInfo
,
setFilteredInfo
]
=
useState
<
any
>
({});
const
[
selectedRowKeys
,
setSelectedRowKeys
]
=
useState
<
Array
<
string
>>
([]);
const
[
selectedRowKeys
,
setSelectedRowKeys
]
=
useState
<
Array
<
string
>>
([]);
const
[
selectedList
,
setSelectList
]
=
useState
<
any
>
([]);
const
[
selectedList
,
setSelectList
]
=
useState
<
any
>
([]);
...
@@ -122,13 +122,9 @@ const MemberPrConfirm: React.FC<{}> = props => {
...
@@ -122,13 +122,9 @@ const MemberPrConfirm: React.FC<{}> = props => {
const
[
columns
,
setColumns
]
=
useState
<
any
[]
>
(
defaultColumns
);
const
[
columns
,
setColumns
]
=
useState
<
any
[]
>
(
defaultColumns
);
const
rowSelection
=
{
const
rowSelection
=
{
onChange
:
(
selectedRowKeys
:
any
,
selectedRows
:
any
)
=>
{
onChange
:
(
keys
:
any
,
rows
:
{}[])
=>
{
let
result
=
selectedRows
.
map
(
v
=>
({
setSelectedRowKeys
(
keys
);
memberId
:
v
.
memberId
,
setSelectList
(
rows
);
validateId
:
v
.
validateId
,
}));
setSelectedRowKeys
(
selectedRowKeys
);
setSelectList
(
result
);
},
},
selectedRowKeys
:
selectedRowKeys
,
selectedRowKeys
:
selectedRowKeys
,
};
};
...
@@ -139,7 +135,32 @@ const MemberPrConfirm: React.FC<{}> = props => {
...
@@ -139,7 +135,32 @@ const MemberPrConfirm: React.FC<{}> = props => {
};
};
const
handleBatch
=
()
=>
{
const
handleBatch
=
()
=>
{
console
.
log
(
'批量'
)
if
(
!
selectedList
.
length
)
{
message
.
warning
(
'未选择任何会员'
);
return
;
}
confirm
({
title
:
'提示'
,
icon
:
<
QuestionCircleOutlined
/>,
content
:
'确定要审核通过选中的会员吗?'
,
onOk
()
{
const
members
=
selectedList
.
map
(
item
=>
({
memberId
:
item
.
memberId
,
validateId
:
item
.
validateId
}));
return
new
Promise
((
resolve
,
reject
)
=>
{
PublicApi
.
postMemberAbilityValidateConfirmBatch
(
members
)
.
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
ref
.
current
.
reload
();
setSelectedRowKeys
([]);
resolve
();
}
reject
();
})
.
catch
(()
=>
{
reject
();
});
});
},
});
};
};
// 初始化高级筛选选项
// 初始化高级筛选选项
...
@@ -192,17 +213,9 @@ const MemberPrConfirm: React.FC<{}> = props => {
...
@@ -192,17 +213,9 @@ const MemberPrConfirm: React.FC<{}> = props => {
const
controllerBtns
=
(
const
controllerBtns
=
(
<
Space
>
<
Space
>
<
Popconfirm
<
Button
onClick=
{
handleBatch
}
>
title=
"是否继续操作 ?"
批量确认审核通过
placement=
"bottom"
</
Button
>
onConfirm=
{
handleBatch
}
okText=
"是"
cancelText=
"否"
>
<
Button
>
批量提交审核
</
Button
>
</
Popconfirm
>
</
Space
>
</
Space
>
);
);
...
...
src/pages/member/memberPrSubmit/index.tsx
View file @
77c93b5c
import
React
,
{
useState
,
useEffect
,
useRef
}
from
'react'
;
import
React
,
{
useState
,
useEffect
,
useRef
}
from
'react'
;
import
{
history
}
from
'umi'
;
import
{
history
}
from
'umi'
;
import
{
Card
,
Space
,
Button
,
Badge
,
Popconfirm
}
from
'antd'
;
import
{
Card
,
Space
,
Button
,
Badge
,
Modal
,
message
}
from
'antd'
;
import
{
ClockCircleOutlined
}
from
'@ant-design/icons'
;
import
{
ClockCircleOutlined
,
QuestionCircleOutlined
}
from
'@ant-design/icons'
;
import
{
StandardTable
}
from
'god'
;
import
{
StandardTable
}
from
'god'
;
import
{
ColumnType
}
from
'antd/lib/table/interface'
;
import
{
ColumnType
}
from
'antd/lib/table/interface'
;
import
{
createFormActions
}
from
'@formily/antd'
;
import
{
createFormActions
}
from
'@formily/antd'
;
...
@@ -20,12 +20,12 @@ import {
...
@@ -20,12 +20,12 @@ import {
import
{
coverColFiltersItem
}
from
'../utils'
;
import
{
coverColFiltersItem
}
from
'../utils'
;
import
StatusTag
from
'../components/StatusTag'
;
import
StatusTag
from
'../components/StatusTag'
;
const
{
confirm
}
=
Modal
;
const
formActions
=
createFormActions
();
const
formActions
=
createFormActions
();
const
MemberPrSubmit
:
React
.
FC
<
{}
>
=
props
=>
{
const
MemberPrSubmit
:
React
.
FC
<
{}
>
=
props
=>
{
const
ref
=
useRef
<
any
>
({});
const
ref
=
useRef
<
any
>
({});
const
[
searchItems
,
setSearchItems
]
=
useState
<
any
>
({});
const
[
filteredInfo
,
setFilteredInfo
]
=
useState
<
any
>
({});
const
[
selectedRowKeys
,
setSelectedRowKeys
]
=
useState
<
Array
<
string
>>
([]);
const
[
selectedRowKeys
,
setSelectedRowKeys
]
=
useState
<
Array
<
string
>>
([]);
const
[
selectedList
,
setSelectList
]
=
useState
<
any
>
([]);
const
[
selectedList
,
setSelectList
]
=
useState
<
any
>
([]);
...
@@ -122,13 +122,9 @@ const MemberPrSubmit: React.FC<{}> = props => {
...
@@ -122,13 +122,9 @@ const MemberPrSubmit: React.FC<{}> = props => {
const
[
columns
,
setColumns
]
=
useState
<
any
[]
>
(
defaultColumns
);
const
[
columns
,
setColumns
]
=
useState
<
any
[]
>
(
defaultColumns
);
const
rowSelection
=
{
const
rowSelection
=
{
onChange
:
(
selectedRowKeys
:
any
,
selectedRows
:
any
)
=>
{
onChange
:
(
keys
:
any
,
rows
:
{}[])
=>
{
let
result
=
selectedRows
.
map
(
v
=>
({
setSelectedRowKeys
(
keys
);
memberId
:
v
.
memberId
,
setSelectList
(
rows
);
validateId
:
v
.
validateId
,
}));
setSelectedRowKeys
(
selectedRowKeys
);
setSelectList
(
result
);
},
},
selectedRowKeys
:
selectedRowKeys
,
selectedRowKeys
:
selectedRowKeys
,
};
};
...
@@ -139,7 +135,32 @@ const MemberPrSubmit: React.FC<{}> = props => {
...
@@ -139,7 +135,32 @@ const MemberPrSubmit: React.FC<{}> = props => {
};
};
const
handleBatch
=
()
=>
{
const
handleBatch
=
()
=>
{
console
.
log
(
'批量'
)
if
(
!
selectedList
.
length
)
{
message
.
warning
(
'未选择任何会员'
);
return
;
}
confirm
({
title
:
'提示'
,
icon
:
<
QuestionCircleOutlined
/>,
content
:
'确定要审核通过选中的会员吗?'
,
onOk
()
{
const
members
=
selectedList
.
map
(
item
=>
({
memberId
:
item
.
memberId
,
validateId
:
item
.
validateId
}));
return
new
Promise
((
resolve
,
reject
)
=>
{
PublicApi
.
postMemberAbilityValidateCommitBatch
(
members
)
.
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
ref
.
current
.
reload
();
setSelectedRowKeys
([]);
resolve
();
}
reject
();
})
.
catch
(()
=>
{
reject
();
});
});
},
});
};
};
// 初始化高级筛选选项
// 初始化高级筛选选项
...
@@ -192,17 +213,9 @@ const MemberPrSubmit: React.FC<{}> = props => {
...
@@ -192,17 +213,9 @@ const MemberPrSubmit: React.FC<{}> = props => {
const
controllerBtns
=
(
const
controllerBtns
=
(
<
Space
>
<
Space
>
<
Popconfirm
<
Button
onClick=
{
handleBatch
}
>
title=
"是否继续操作 ?"
批量审核通过
placement=
"bottom"
</
Button
>
onConfirm=
{
handleBatch
}
okText=
"是"
cancelText=
"否"
>
<
Button
>
批量提交审核
</
Button
>
</
Popconfirm
>
</
Space
>
</
Space
>
);
);
...
@@ -210,7 +223,7 @@ const MemberPrSubmit: React.FC<{}> = props => {
...
@@ -210,7 +223,7 @@ const MemberPrSubmit: React.FC<{}> = props => {
<
Card
>
<
Card
>
<
StandardTable
<
StandardTable
tableProps=
{
{
tableProps=
{
{
rowKey
:
'memberId'
,
rowKey
:
'memberId'
,
}
}
}
}
columns=
{
columns
}
columns=
{
columns
}
currentRef=
{
ref
}
currentRef=
{
ref
}
...
...
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