Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
J
jinfa-admin
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
project
jinfa-admin
Commits
63517686
Commit
63517686
authored
Sep 10, 2020
by
XieZhiXiong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
关闭按钮判断条件
parent
97ac30eb
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
429 additions
and
191 deletions
+429
-191
memberAbility.ts
config/routes/memberAbility.ts
+7
-0
menu.ts
src/locales/zh-CN/menu.ts
+3
-2
frozen.less
src/pages/member/memberMaintain/frozen.less
+0
-0
frozen.tsx
src/pages/member/memberMaintain/frozen.tsx
+199
-0
index.tsx
src/pages/member/memberMaintain/index.tsx
+139
-134
index.tsx
src/pages/member/memberMaintain/schema/index.tsx
+75
-47
index.tsx
src/pages/member/memberPrConfirm/index.tsx
+6
-8
No files found.
config/routes/memberAbility.ts
View file @
63517686
...
...
@@ -30,6 +30,13 @@ const memberAbility =
component
:
'@/pages/member/memberMaintain/memberDetail'
,
},
{
path
:
'/memberAbility/manage/frozen'
,
name
:
'maintainFrozen'
,
key
:
'maintainFrozen'
,
hideInMenu
:
true
,
component
:
'@/pages/member/memberMaintain/frozen'
,
},
{
path
:
'/memberAbility/manage/memberPrSubmit'
,
name
:
'memberPrSubmit'
,
component
:
'@/pages/member/memberPrSubmit/index'
,
...
...
src/locales/zh-CN/menu.ts
View file @
63517686
/*
* @Author: LeeJiancong
* @Date: 2020-08-04 15:05:52
* @LastEditors:
LeeJianc
ong
* @LastEditTime: 2020-0
8-07 16:07:31
* @LastEditors:
XieZhiXi
ong
* @LastEditTime: 2020-0
9-10 11:28:44
*/
import
utils
from
'@/utils'
import
menu
from
'../en-US/menu'
...
...
@@ -62,6 +62,7 @@ export default {
'menu.memberAbility.memberMaintain'
:
'会员维护'
,
'menu.memberAbility.addMember'
:
'新增会员'
,
'menu.memberAbility.memberDetail'
:
'会员详情'
,
'menu.memberAbility.maintainFrozen'
:
'会员冻结'
,
'menu.memberAbility.memberPrSubmit'
:
'待提交审核'
,
'menu.memberAbility.auditPrSubmit'
:
'待提交审核详情'
,
'menu.memberAbility.memberPr1'
:
'待审核(一级)'
,
...
...
src/pages/member/memberMaintain/frozen.less
0 → 100644
View file @
63517686
src/pages/member/memberMaintain/frozen.tsx
0 → 100644
View file @
63517686
import
React
,
{
useState
,
useEffect
}
from
'react'
;
import
{
history
}
from
'umi'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
{
PageHeader
,
Tag
,
Descriptions
,
Button
,
Modal
,
Badge
,
Spin
}
from
'antd'
;
import
{
SettingOutlined
,
StopOutlined
}
from
'@ant-design/icons'
;
import
{
createFormActions
,
FormEffectHooks
}
from
'@formily/antd'
;
import
{
STATUS_COLOR_MAP
,
STATUS_COLOR_TXT
}
from
'../constant'
;
import
{
usePageStatus
}
from
'@/hooks/usePageStatus'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
{
GetMemberMaintenanceDetailBasicResponse
}
from
'@/services/MemberApi'
;
import
{
MEMBER_STATUS_NORMAL
,
MEMBER_STATUS_FROZEN
,
MEMBER_OUTER_STATUS
,
}
from
'@/constants'
;
import
NiceForm
from
'@/components/NiceForm'
;
import
{
auditModalSchema
}
from
'./schema'
;
import
{
MEMBER_STATUS_TAG_MAP
,
MEMBER_INNER_STATUS_BADGE_COLOR
,
MEMBER_OUTER_STATUS_TYPE
,
}
from
'../constant'
;
import
HeadInfo
from
'../components/HeadInfo'
;
import
AuditProcess
from
'../components/AuditProcess'
;
import
BasicInfo
from
'../components/BasicInfo'
;
import
StatusTag
from
'../components/StatusTag'
;
import
styles
from
'./index.less'
;
const
formActions
=
createFormActions
();
const
Frozen
:
React
.
FC
<
{}
>
=
()
=>
{
const
{
pageStatus
,
id
,
validateId
}
=
usePageStatus
();
const
[
basicInfo
,
setBasicInfo
]
=
useState
<
GetMemberMaintenanceDetailBasicResponse
>
();
const
[
modalVisible
,
setModalVisible
]
=
useState
(
false
);
const
[
infoLoading
,
setInfoLoaading
]
=
useState
(
false
);
const
[
confirmLoading
,
setConfirmLoading
]
=
useState
(
false
);
const
getBasicInfo
=
()
=>
{
if
(
!
id
||
!
validateId
)
{
return
;
}
setInfoLoaading
(
true
);
PublicApi
.
getMemberMaintenanceDetailBasic
({
memberId
:
id
,
validateId
,
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
setBasicInfo
(
res
.
data
);
}
}).
finally
(()
=>
{
setInfoLoaading
(
false
);
});
};
useEffect
(()
=>
{
getBasicInfo
();
},
[]);
// 冻结与解冻
const
handleSubmit
=
(
values
:
{
reason
:
string
},
oldStatus
)
=>
{
setConfirmLoading
(
true
);
return
PublicApi
.
postMemberMaintenanceStatus
({
memberId
:
id
,
validateId
:
validateId
,
status
:
oldStatus
===
MEMBER_STATUS_NORMAL
?
MEMBER_STATUS_FROZEN
:
MEMBER_STATUS_NORMAL
,
remark
:
values
.
reason
||
''
,
}).
then
(
res
=>
{
if
(
res
.
code
!==
1000
)
{
return
;
}
setModalVisible
(
false
);
getBasicInfo
();
}).
finally
(()
=>
{
setConfirmLoading
(
false
);
});
};
return
(
<
Spin
spinning=
{
infoLoading
}
>
<
PageHeaderWrapper
title=
{
<>
<
PageHeader
style=
{
{
padding
:
'0'
}
}
onBack=
{
()
=>
history
.
goBack
()
}
title=
{
<
HeadInfo
info=
{
{
name
:
basicInfo
?.
name
,
level
:
1
,
}
}
/>
}
extra=
{
(
<>
{
basicInfo
&&
(
basicInfo
.
status
===
MEMBER_STATUS_NORMAL
?
(
<
Button
icon=
{
<
StopOutlined
/>
}
onClick=
{
()
=>
setModalVisible
(
true
)
}
>
冻结
</
Button
>
)
:
(
<
Button
type=
"primary"
icon=
{
<
SettingOutlined
/>
}
onClick=
{
()
=>
setModalVisible
(
true
)
}
>
解冻
</
Button
>
)
)
}
</>
)
}
>
<
Descriptions
size=
"small"
column=
{
3
}
style=
{
{
padding
:
'0 32px'
,
}
}
>
<
Descriptions
.
Item
label=
"会员类型"
>
{
basicInfo
?.
memberTypeName
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"会员角色"
span=
{
2
}
>
{
basicInfo
?.
roleName
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"会员状态"
>
<
StatusTag
type=
{
MEMBER_STATUS_TAG_MAP
[
basicInfo
?.
status
]
}
title=
{
basicInfo
?.
statusName
}
/>
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"外部状态"
>
<
StatusTag
type=
{
MEMBER_OUTER_STATUS_TYPE
[
basicInfo
?.
outerStatus
]
}
title=
{
basicInfo
?.
outerStatusName
}
/>
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"内部状态"
>
<
Badge
color=
{
MEMBER_INNER_STATUS_BADGE_COLOR
[
basicInfo
?.
innerStatus
]
}
text=
{
basicInfo
?.
innerStatusName
}
/>
</
Descriptions
.
Item
>
</
Descriptions
>
</
PageHeader
>
</>
}
>
<
div
style=
{
{
marginBottom
:
24
,
}
}
>
<
AuditProcess
outerVerifyCurrent=
{
basicInfo
?.
currentOuterStep
}
innerVerifyCurrent=
{
basicInfo
?.
currentInnerStep
}
outerVerifySteps=
{
basicInfo
?.
outerVerifySteps
}
innerVerifySteps=
{
basicInfo
?.
innerVerifySteps
}
/>
</
div
>
<
BasicInfo
basic=
{
{
account
:
basicInfo
?.
account
,
phone
:
basicInfo
?.
phone
,
email
:
basicInfo
?.
email
,
created
:
basicInfo
?.
createTime
,
}
}
channel=
{
{
memberType
:
basicInfo
?.
memberTypeEnum
,
level
:
basicInfo
?.
channelLevelTag
,
type
:
basicInfo
?.
channelTypeName
,
areas
:
basicInfo
?.
areas
,
desc
:
basicInfo
?.
remark
,
}
}
extra=
{
basicInfo
?.
groups
}
outerHistory=
{
basicInfo
?.
outerHistory
}
innerHistory=
{
basicInfo
?.
innerHistory
}
/>
<
Modal
title=
{
basicInfo
?
basicInfo
.
status
===
MEMBER_STATUS_NORMAL
?
'会员冻结'
:
'会员解冻'
:
''
}
visible=
{
modalVisible
}
confirmLoading=
{
confirmLoading
}
onOk=
{
()
=>
formActions
.
submit
()
}
onCancel=
{
()
=>
setModalVisible
(
false
)
}
destroyOnClose
>
<
NiceForm
previewPlaceholder=
"' '"
effects=
{
(
$
,
{
setFieldState
})
=>
{
FormEffectHooks
.
onFieldInit$
(
'reason'
).
subscribe
(
state
=>
{
setFieldState
(
'reason'
,
fieldState
=>
{
fieldState
.
props
.
title
=
basicInfo
?
`会员${basicInfo.status === MEMBER_STATUS_NORMAL ? '冻结' : '解冻'}原因`
:
''
;
});
});
}
}
actions=
{
formActions
}
schema=
{
auditModalSchema
}
onSubmit=
{
value
=>
handleSubmit
(
value
,
basicInfo
.
status
)
}
/>
</
Modal
>
</
PageHeaderWrapper
>
</
Spin
>
);
};
export
default
Frozen
;
src/pages/member/memberMaintain/index.tsx
View file @
63517686
import
React
,
{
ReactNode
,
useState
,
useRef
}
from
'react'
;
import
{
history
}
from
'umi'
;
import
{
history
,
Link
}
from
'umi'
;
import
{
Card
,
Space
,
...
...
@@ -8,7 +8,8 @@ import {
Popconfirm
,
Dropdown
,
Badge
,
Modal
,
Modal
,
message
,
}
from
'antd'
;
import
{
PlusOutlined
,
...
...
@@ -25,23 +26,49 @@ import UploadModal from '@/components/UploadModal';
import
NiceForm
from
'@/components/NiceForm'
;
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
importSchema
,
auditModalSchema
}
from
'./schema'
;
import
{
useAsyncInitSelect
}
from
'@/formSchema/effects/useAsyncInitSelect'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
{
MEMBER_STATUS_NORMAL
,
MEMBER_INNER_STATUS_SUCCESS
,
MEMBER_OUTER_STATUS_SUCCESS
,
MEMBER_OUTER_STATUS_UNCOMMITTED
,
MEMBER_OUTER_STATUS_FAILED
,
}
from
'@/constants'
;
import
{
importSchema
,
auditModalSchema
}
from
'./schema'
;
import
{
MEMBER_STATUS_TAG_MAP
,
MEMBER_INNER_STATUS_BADGE_COLOR
,
MEMBER_OUTER_STATUS_TYPE
,
}
from
'../constant'
;
import
{
coverColFiltersItem
}
from
'../utils'
;
import
StatusTag
from
'../components/StatusTag'
;
const
formActions
=
createFormActions
();
const
fetchData
=
async
(
params
:
any
)
=>
{
let
res
=
await
PublicApi
.
getMemberMaintenancePage
(
params
);
return
res
.
data
;
};
const
memberMaintain
:
React
.
FC
<
[]
>
=
()
=>
{
const
ref
=
useRef
<
any
>
({});
const
[
selectedRowKeys
,
setSelectedRowKeys
]
=
useState
<
Array
<
string
>>
([]);
const
[
visibleModal
,
setVisibleModal
]
=
useState
(
false
);
const
[
modalVisible
,
setModalVisible
]
=
useState
(
false
);
const
[
currentItem
,
setCurrentItem
]
=
useState
<
any
>
({});
const
fetchData
=
async
(
params
:
any
)
=>
{
let
res
=
await
PublicApi
.
getMemberMaintenancePage
(
params
);
return
res
.
data
;
};
const
handleDelete
=
(
memberId
:
number
,
validateId
:
number
)
=>
{
const
mesInstance
=
message
.
loading
(
'功能暂时没有,敬请期待'
);
// PublicApi.postMemberAbilitySubDelete({
// memberId,
// validateId,
// }).then(res => {
// if (res.code !== 1000) {
// return;
// }
// ref.current.reload();
// }).finally(() => {
// mesInstance();
// });
};
const
defaultColumns
:
ColumnType
<
any
>
[]
=
[
{
...
...
@@ -99,90 +126,85 @@ const memberMaintain: React.FC<[]> = () => {
title
:
'会员状态'
,
dataIndex
:
'statusName'
,
align
:
'center'
,
key
:
'statusName'
,
filters
:
[],
// filteredValue: searchForm.memberStatus || ['0'],
filterMultiple
:
false
,
render
:
(
text
:
any
,
record
:
any
)
=>
(
<
StatusSwitch
handleConfirm=
{
()
=>
handleModify
(
record
)
}
record=
{
record
}
fieldNames=
"status"
/>
onFilter
:
(
value
,
record
)
=>
record
.
status
===
value
,
render
:
(
text
,
record
)
=>
(
<
StatusTag
type=
{
MEMBER_STATUS_TAG_MAP
[
record
.
status
]
}
title=
{
text
}
/>
),
},
{
title
:
'外部状态'
,
dataIndex
:
'outerStatusName'
,
align
:
'center'
,
key
:
'outerStatus'
,
filters
:
[],
// filteredValue: searchForm.outerStatus || ['0'],
filterMultiple
:
false
,
render
:
(
text
:
any
,
record
:
any
)
=>
<
span
>
{
text
}
</
span
>,
onFilter
:
(
value
,
record
)
=>
record
.
outerStatus
===
value
,
render
:
(
text
,
record
)
=>
(
<
StatusTag
type=
{
MEMBER_OUTER_STATUS_TYPE
[
record
.
outerStatus
]
}
title=
{
text
}
/>
),
},
{
title
:
'内部状态'
,
dataIndex
:
'innerStatusName'
,
align
:
'center'
,
key
:
'innerStatus'
,
filters
:
[],
// filteredValue: searchForm.innerStatus || ['0'],
filterMultiple
:
false
,
render
:
(
text
:
any
,
record
:
any
)
=>
<
Badge
color=
"#FFC400"
text=
{
text
}
/>,
onFilter
:
(
value
,
record
)
=>
record
.
innerStatus
===
value
,
render
:
(
text
,
record
)
=>
<
Badge
color=
{
MEMBER_INNER_STATUS_BADGE_COLOR
[
record
.
innerStatus
]
}
text=
{
text
}
/>,
},
{
title
:
'操作'
,
dataIndex
:
'option'
,
align
:
'center'
,
render
:
(
text
:
any
,
record
:
any
)
=>
{
let
component
:
ReactNode
=
null
;
component
=
(
<>
{
record
.
innerStatusName
===
'审核通过'
?
(
render
:
(
text
:
any
,
record
:
any
)
=>
(
<>
{
(
record
.
innerStatus
===
MEMBER_INNER_STATUS_SUCCESS
&&
record
.
outerStatus
===
MEMBER_OUTER_STATUS_SUCCESS
)
&&
(
<
Link
to=
{
`/memberAbility/manage/frozen?id=${record.memberId}&validateId=${record.validateId}`
}
>
<
Button
type=
"link"
>
{
record
.
status
===
MEMBER_STATUS_NORMAL
?
'冻结'
:
'解冻'
}
</
Button
>
</
Link
>
)
}
{
/* 外部审核状态等于 待提交 或者 审核失败 可进行编辑操作 */
}
{
(
record
.
outerStatus
===
MEMBER_OUTER_STATUS_UNCOMMITTED
||
record
.
outerStatus
===
MEMBER_OUTER_STATUS_FAILED
)
&&
(
<>
<
Button
type=
"link"
onClick=
{
()
=>
{
setCurrentItem
(
record
),
setModalVisible
(
true
);
}
}
style=
{
{
color
:
'#00B37A'
}
}
onClick=
{
()
=>
history
.
push
(
`/memberAbility/manage/addMember?id=${record.memberId}&validateId=${record.validateId}`
)
}
>
{
record
.
status
===
1
?
'解冻'
:
'冻结'
}
编辑
</
Button
>
)
:
(
''
)
}
{
record
.
outerStatusName
===
'待审核'
?
(
<>
<
Button
type=
"link"
onClick=
{
()
=>
history
.
push
(
'/memberAbility/manage/addMember?type=change'
)
}
>
编辑
</
Button
>
<
Popconfirm
title=
"确定要删除吗?"
okText=
"是"
cancelText=
"否"
>
<
Button
type=
"link"
>
删除
</
Button
>
</
Popconfirm
>
</>
)
:
(
''
)
}
</>
);
return
component
;
},
</>
)
}
{
/* 外部审核状态不等于 审核通过 可进行删除操作 */
}
{
record
.
outerStatus
!==
MEMBER_OUTER_STATUS_SUCCESS
&&
(
<
Popconfirm
title=
"确定要删除吗?"
okText=
"是"
cancelText=
"否"
onConfirm=
{
()
=>
handleDelete
(
record
.
memberId
,
record
.
validateId
)
}
>
<
Button
type=
"link"
danger
>
删除
</
Button
>
</
Popconfirm
>
)
}
</>
),
},
];
const
rowSelection
=
{
onChange
:
(
selectedRowKeys
:
any
,
selectedRows
:
any
)
=>
{
setSelectedRowKeys
(
selectedRowKeys
);
},
selectedRowKeys
:
selectedRowKeys
,
};
const
menu
=
(
<
Menu
onClick=
{
e
=>
handleMenuClick
(
e
)
}
>
<
Menu
.
Item
key=
"1"
icon=
{
<
DeleteOutlined
/>
}
>
...
...
@@ -193,53 +215,58 @@ const memberMaintain: React.FC<[]> = () => {
const
[
columns
,
setColumns
]
=
useState
<
any
[]
>
(
defaultColumns
);
// 更改会员状态
const
handleModify
=
record
=>
{
PublicApi
.
postMemberMaintenanceStatus
({
memberId
:
record
.
memberId
,
validateId
:
record
.
validateId
,
status
:
record
.
status
===
1
?
0
:
1
,
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
return
ref
.
current
.
reload
();
});
};
// 冻结与解冻
const
handleSubmit
=
(
values
:
any
,
type
?:
string
)
=>
{
if
(
!
type
)
{
PublicApi
.
postMemberMaintenanceStatus
({
memberId
:
currentItem
.
memberId
,
validateId
:
currentItem
.
validateId
,
status
:
currentItem
.
status
,
remark
:
values
.
remark
,
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
ref
.
current
.
reload
();
setModalVisible
(
false
);
}
});
}
else
{
setModalVisible
(
false
);
}
};
const
handleMenuClick
=
(
e
:
any
)
=>
{
console
.
log
(
'menu'
,
e
);
};
// 初始化高级筛选选项
const
fetchSelectOptions
=
async
()
=>
{
const
{
data
}
=
await
PublicApi
.
getMemberValidateCommitPageitems
();
return
{
memberType
:
fetchFilterOptions
(
data
.
memberTypes
),
roleId
:
fetchFilterOptions
(
data
.
memberRoles
),
level
:
fetchFilterOptions
(
data
.
memberLevels
),
source
:
fetchFilterOptions
(
data
.
memberSource
),
};
};
const
res
=
await
PublicApi
.
getMemberMaintenancePageitems
();
if
(
res
.
code
===
1000
)
{
const
{
data
=
{}
}:
any
=
res
;
const
{
innerStatus
=
[],
outerStatus
=
[],
status
=
[],
memberTypes
=
[],
memberRoles
=
[],
memberLevels
=
[],
sources
=
[],
}
=
data
;
const
newColumns
=
columns
.
slice
();
const
fetchFilterOptions
=
data
=>
{
return
data
.
map
(
v
=>
({
label
:
v
.
text
,
value
:
v
.
id
}));
// filter 0 过滤掉全部选项
coverColFiltersItem
(
newColumns
,
'statusName'
,
status
.
map
(
item
=>
({
text
:
item
.
text
,
value
:
item
.
id
})).
filter
(
item
=>
item
.
value
!==
0
),
);
coverColFiltersItem
(
newColumns
,
'outerStatusName'
,
outerStatus
.
map
(
item
=>
({
text
:
item
.
text
,
value
:
item
.
id
})).
filter
(
item
=>
item
.
value
!==
0
),
);
coverColFiltersItem
(
newColumns
,
'innerStatusName'
,
innerStatus
.
map
(
item
=>
({
text
:
item
.
text
,
value
:
item
.
id
})).
filter
(
item
=>
item
.
value
!==
0
),
);
setColumns
(
newColumns
);
return
{
memberType
:
memberTypes
.
map
(
item
=>
({
label
:
item
.
memberTypeName
,
value
:
item
.
memberTypeId
})),
roleId
:
memberRoles
.
map
(
item
=>
({
label
:
item
.
roleName
,
value
:
item
.
roleId
})),
level
:
memberLevels
.
map
(
item
=>
({
label
:
item
.
levelTag
,
value
:
item
.
level
})),
source
:
sources
.
map
(
item
=>
({
label
:
item
.
text
,
value
:
item
.
id
})),
innerStatus
:
innerStatus
.
map
(
item
=>
({
label
:
item
.
text
,
value
:
item
.
id
})),
outerStatus
:
outerStatus
.
map
(
item
=>
({
label
:
item
.
text
,
value
:
item
.
id
})),
status
:
status
.
map
(
item
=>
({
label
:
item
.
text
,
value
:
item
.
id
})),
};
}
return
{};
};
const
controllerBtns
=
(
...
...
@@ -267,12 +294,10 @@ const memberMaintain: React.FC<[]> = () => {
<
StandardTable
tableProps=
{
{
rowKey
:
'memberId'
,
// onChange: (pagination: any, filter: any) => handleSearch(filter),
}
}
columns=
{
columns
}
currentRef=
{
ref
}
fetchTableData=
{
(
params
:
any
)
=>
fetchData
(
params
)
}
rowSelection=
{
rowSelection
}
controlRender=
{
<
NiceForm
actions=
{
formActions
}
...
...
@@ -284,11 +309,11 @@ const memberMaintain: React.FC<[]> = () => {
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'
cond
'
,
'
name
'
,
FORM_FILTER_PATH
,
);
useAsyncInitSelect
(
[
'memberType'
,
'roleId'
,
'level'
,
'source'
],
[
'memberType'
,
'roleId'
,
'level'
,
'source'
,
'innerStatus'
,
'outerStatus'
,
'status'
],
fetchSelectOptions
,
);
}
}
...
...
@@ -296,27 +321,7 @@ const memberMaintain: React.FC<[]> = () => {
/>
}
/>
<
Modal
title=
{
currentItem
.
status
===
1
?
'会员解冻'
:
'会员冻结'
}
visible=
{
modalVisible
}
onOk=
{
()
=>
formActions
.
submit
()
}
onCancel=
{
()
=>
handleSubmit
(
false
,
'cancel'
)
}
destroyOnClose
>
<
NiceForm
previewPlaceholder=
"loading..."
effects=
{
(
$
,
{
setFieldState
})
=>
{
FormEffectHooks
.
onFieldValueChange$
(
'agree'
).
subscribe
(
state
=>
{
setFieldState
(
'reason'
,
targetState
=>
{
targetState
.
visible
=
state
.
value
!=
1
;
});
});
}
}
onSubmit=
{
handleSubmit
}
actions=
{
formActions
}
schema=
{
auditModalSchema
(
currentItem
)
}
/>
</
Modal
>
<
UploadModal
visibleModal=
{
visibleModal
}
fileText=
"会员资料"
...
...
src/pages/member/memberMaintain/schema/index.tsx
View file @
63517686
...
...
@@ -22,7 +22,7 @@ export const importSchema: ISchema = {
children
:
'{{controllerBtns}}'
,
},
},
cond
:
{
name
:
{
type
:
'string'
,
'x-component'
:
'Search'
,
'x-component-props'
:
{
...
...
@@ -35,9 +35,6 @@ export const importSchema: ISchema = {
type
:
'object'
,
'x-component'
:
'flex-layout'
,
'x-component-props'
:
{
rowStyle
:
{
flexWrap
:
'nowrap'
,
},
colStyle
:
{
marginLeft
:
20
,
},
...
...
@@ -45,42 +42,75 @@ export const importSchema: ISchema = {
properties
:
{
memberType
:
{
type
:
'string'
,
default
:
0
,
default
:
undefined
,
enum
:
[],
'x-component-props'
:
{},
'x-component-props'
:
{
placeholder
:
'会员类型(全部)'
,
allowClear
:
true
,
},
},
roleId
:
{
type
:
'string'
,
default
:
0
,
default
:
undefined
,
enum
:
[],
'x-component-props'
:
{},
'x-component-props'
:
{
placeholder
:
'会员角色(全部)'
,
allowClear
:
true
,
},
},
level
:
{
type
:
'string'
,
default
:
0
,
default
:
undefined
,
enum
:
[],
'x-component-props'
:
{},
'x-component-props'
:
{
placeholder
:
'会员等级(全部)'
,
allowClear
:
true
,
},
},
source
:
{
type
:
'string'
,
default
:
0
,
default
:
undefined
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'申请来源(全部)'
,
allowClear
:
true
,
},
},
innerStatus
:
{
type
:
'string'
,
default
:
undefined
,
enum
:
[],
'x-component-props'
:
{},
'x-component-props'
:
{
placeholder
:
'内部状态(全部)'
,
allowClear
:
true
,
},
},
timeRange
:
{
outerStatus
:
{
type
:
'string'
,
default
:
0
,
enum
:
[
{
label
:
'时间范围(全部)'
,
value
:
0
},
{
label
:
'今天'
,
value
:
1
},
{
label
:
'一周内'
,
value
:
2
},
{
label
:
'一个月内'
,
value
:
3
},
{
label
:
'三个月内'
,
value
:
4
},
{
label
:
'六个月内'
,
value
:
5
},
{
label
:
'一年内'
,
value
:
6
},
{
label
:
'一年前'
,
value
:
7
},
],
'x-component-props'
:
{},
default
:
undefined
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'外部状态(全部)'
,
allowClear
:
true
,
},
},
status
:
{
type
:
'string'
,
enum
:
[],
default
:
undefined
,
'x-component-props'
:
{
placeholder
:
'会员状态(全部)'
,
allowClear
:
true
,
},
},
'[startDate, endDate]'
:
{
type
:
'string'
,
default
:
''
,
'x-component'
:
'dateSelect'
,
'x-component-props'
:
{
placeholder
:
'时间范围(全部)'
,
allowClear
:
true
,
},
},
submit
:
{
'x-component'
:
'Submit'
,
...
...
@@ -98,32 +128,30 @@ export const importSchema: ISchema = {
},
};
export
const
auditModalSchema
=
props
=>
{
let
modalSchema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
MEGA_LAYOUT
:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
'x-component-props'
:
{
labelAlign
:
'top'
,
},
properties
:
{
remark
:
{
type
:
'string'
,
title
:
`会员
${
props
.
status
===
1
?
'解冻'
:
'冻结'
}
原因`
,
'x-component'
:
'textarea'
,
'x-component-props'
:
{
placeholder
:
'在此输入你的内容,最长120个字符,60个汉字'
,
maxLength
:
60
,
},
'x-rules'
:
[{
required
:
true
,
message
:
'请填写审核不通过原因'
}],
export
const
auditModalSchema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
MEGA_LAYOUT
:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
'x-component-props'
:
{
labelAlign
:
'top'
,
},
properties
:
{
reason
:
{
type
:
'string'
,
title
:
'会员解冻原因'
,
'x-component'
:
'textarea'
,
'x-component-props'
:
{
placeholder
:
'在此输入你的内容,最长120个字符,60个汉字'
,
maxLength
:
60
,
rows
:
5
,
},
'x-rules'
:
[{
required
:
true
,
message
:
'请填写原因'
}],
},
},
},
};
return
modalSchema
;
},
};
const
getCompnentValue
=
(
elements
:
any
)
=>
{
...
...
src/pages/member/memberPrConfirm/index.tsx
View file @
63517686
...
...
@@ -115,14 +115,12 @@ const MemberPrConfirm: React.FC<{}> = props => {
align
:
'center'
,
render
:
(
text
:
any
,
record
:
any
)
=>
(
<>
{
record
.
innerStatus
!==
MEMBER_INNER_STATUS_SUCCESS
&&
(
<
Button
type=
"link"
onClick=
{
()
=>
handleJumpAudit
(
record
)
}
>
确认审核结果
</
Button
>
)
}
<
Button
type=
"link"
onClick=
{
()
=>
handleJumpAudit
(
record
)
}
>
确认审核结果
</
Button
>
</>
),
},
...
...
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