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
shenshaokai
jinfa-admin
Commits
76254928
Commit
76254928
authored
Aug 21, 2020
by
前端-许佳敏
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
用户管理对接
parent
08294bfa
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
143 additions
and
23 deletions
+143
-23
CustomStatus.tsx
src/components/NiceForm/components/CustomStatus.tsx
+0
-1
TableTagList.tsx
src/components/NiceForm/components/TableTagList.tsx
+2
-3
index.tsx
src/components/TabTree/index.tsx
+15
-7
global.d.ts
src/global/config/global.d.ts
+105
-0
Logo.tsx
src/layouts/components/Logo.tsx
+2
-1
MenuSlider.tsx
src/layouts/components/MenuSlider.tsx
+0
-2
index.tsx
src/layouts/index.tsx
+1
-1
memberDetail.tsx
src/pages/authConfig/memberSystem/memberDetail.tsx
+7
-4
userDetail.tsx
src/pages/authConfig/userSystem/userDetail.tsx
+8
-4
index.ts
src/utils/index.ts
+3
-0
No files found.
src/components/NiceForm/components/CustomStatus.tsx
View file @
76254928
...
...
@@ -2,7 +2,6 @@ import React from 'react';
import
{
Space
}
from
'antd'
;
const
CustomStatus
=
props
=>
{
console
.
log
(
props
);
return
(
<>
<
Space
>
...
...
src/components/NiceForm/components/TableTagList.tsx
View file @
76254928
...
...
@@ -3,9 +3,8 @@ import { Tag, Row } from 'antd'
import
{
useFormEffects
}
from
'@formily/antd'
const
TableTagList
=
(
props
)
=>
{
const
{
value
=
[],
mutators
}
=
props
const
{
value
=
[],
mutators
,
editable
}
=
props
const
{
extra
=
null
,
callback
=
null
}
=
props
.
props
[
'x-component-props'
]
?
props
.
props
[
'x-component-props'
]
:
{}
const
handleClose
=
(
id
)
=>
{
callback
&&
callback
(
id
)
mutators
.
remove
(
value
.
findIndex
(
v
=>
v
.
id
===
id
))
...
...
@@ -14,7 +13,7 @@ const TableTagList = (props) => {
<
div
className=
"table-tag-list"
style=
{
{
width
:
'100%'
}
}
>
<
Row
style=
{
{
flexWrap
:
'wrap'
}
}
>
{
value
.
map
(
v
=>
<
Tag
closable
onClose=
{
()
=>
handleClose
(
v
.
id
)
}
color=
"#4279DF"
key=
{
v
.
id
}
style=
{
{
marginBottom
:
8
}
}
>
{
v
.
roleName
}
</
Tag
>)
value
.
map
(
v
=>
<
Tag
closable
=
{
editable
}
onClose=
{
()
=>
handleClose
(
v
.
id
)
}
color=
"#4279DF"
key=
{
v
.
id
}
style=
{
{
marginBottom
:
8
}
}
>
{
v
.
roleName
}
</
Tag
>)
}
</
Row
>
{
extra
}
...
...
src/components/TabTree/index.tsx
View file @
76254928
...
...
@@ -18,6 +18,7 @@ export interface TabTreeActions {
setSelectKey
:
(
key
:
ReactText
)
=>
void
setSelectKeys
:
(
keys
:
ReactText
[])
=>
void
getParentPath
:
(
id
:
ReactText
)
=>
string
connected
:
boolean
}
export
interface
toolsRenderProps
{
...
...
@@ -51,13 +52,13 @@ export interface RenderIconsProps {
export
const
useTreeActions
=
(
action
?):
TabTreeActions
=>
{
const
actionRef
=
useRef
<
any
>
(
null
)
actionRef
.
current
=
actionRef
.
current
||
action
||
createTreeActions
()
return
actionRef
.
current
}
export
const
createTreeActions
=
()
=>
{
const
actions
:
TabTreeActions
=
{
selected
:
[],
connected
:
false
,
getExpandedKeys
(){
return
[]
},
getSelectKey
(){
return
''
},
getSelectKeys
(){
return
[]
},
...
...
@@ -166,7 +167,6 @@ const TabTree:React.FC<TabTreeProps> = (props) => {
[]
);
console
.
log
(
treeReduction
(
treeData
))
useEffect
(()
=>
{
if
(
getMenuSelectData
)
{
getMenuSelectData
().
then
(
res
=>
{
...
...
@@ -186,7 +186,9 @@ const TabTree:React.FC<TabTreeProps> = (props) => {
if
(
selfActions
)
{
selfActions
.
getExpandedKeys
=
()
=>
expandkeys
selfActions
.
getSelectKey
=
()
=>
selectKey
selfActions
.
getSelectKeys
=
()
=>
selected
selfActions
.
getSelectKeys
=
()
=>
{
return
selected
}
selfActions
.
selected
=
selected
selfActions
.
setSelectKeys
=
(
keys
:
ReactText
[])
=>
{
setSelected
(
keys
)
...
...
@@ -201,12 +203,18 @@ const TabTree:React.FC<TabTreeProps> = (props) => {
selfActions
.
getParentPath
=
(
id
:
ReactText
)
=>
{
return
getParentTreeTitles
(
treeData
,
id
)
}
// 链接成功
selfActions
.
connected
=
true
}
const
batchSelect
=
(
items
:
any
[])
=>
{
items
.
forEach
(
v
=>
select
(
v
))
const
batchSelect
=
(
items
:
any
)
=>
{
if
(
items
.
checked
)
{
// 更改为严格模式
items
.
checked
.
forEach
(
v
=>
select
(
v
))
}
else
{
items
.
forEach
(
v
=>
select
(
v
))
}
}
return
(
<
div
>
{
title
&&
...
...
@@ -221,6 +229,7 @@ const TabTree:React.FC<TabTreeProps> = (props) => {
treeData=
{
data
}
blockNode
checkable=
{
checkable
}
checkStrictly
checkedKeys=
{
selected
}
expandedKeys=
{
expandkeys
}
onCheck=
{
(
keys
,
nodes
)
=>
{
...
...
@@ -232,7 +241,6 @@ const TabTree:React.FC<TabTreeProps> = (props) => {
const
{
node
,
selected
}
=
e
// 用户自定义的选择后触发事件
if
(
props
.
handleSelect
)
{
console
.
log
(
node
)
const
result
=
props
.
handleSelect
(
node
.
key
,
node
)
// 存在返回值则不执行选中事件, 一般用于切换node时,不希望离开当前页面
if
(
result
!==
undefined
)
{
...
...
src/global/config/global.d.ts
0 → 100644
View file @
76254928
export
interface
MemberType
{
id
:
number
;
typeName
:
string
;
}
export
interface
BusinessType
{
id
:
number
;
typeName
:
string
;
}
export
interface
Data
{
memberType
:
MemberType
[];
businessType
:
BusinessType
[];
}
export
interface
UseType
{
code
:
number
;
message
:
string
;
data
:
Data
;
time
:
number
;
}
export
interface
UseDetail
{
code
:
number
;
message
:
string
;
data
?:
any
;
time
:
number
;
}
export
interface
UserRegister
{
useType
:
UseType
;
useDetail
:
UseDetail
;
}
export
interface
RuleConfiguration
{
value
:
number
;
label
:
string
;
platformType
:
number
;
}
export
interface
PayWayResponse
{
payType
:
number
;
value
:
number
;
label
:
string
;
}
export
interface
Data
{
payType
:
number
;
ruleConfigurations
:
RuleConfiguration
[];
payWayResponses
:
PayWayResponse
[];
}
export
interface
PayInitializeConfig
{
code
:
number
;
message
:
string
;
data
:
Data
[];
time
:
number
;
}
export
interface
Data
{
id
:
number
;
payType
:
number
;
way
:
string
;
isPitchOn
:
number
;
}
export
interface
PayPlatformPayConfig
{
code
:
number
;
message
:
string
;
data
:
Data
[];
time
:
number
;
}
export
interface
PayConfig
{
payInitializeConfig
:
PayInitializeConfig
;
payPlatformPayConfig
:
PayPlatformPayConfig
;
}
export
interface
CountryList
{
name
:
string
;
key
:
string
;
icon
:
string
;
}
export
interface
Children
{
code
:
string
;
}
export
interface
MenuList
{
code
:
string
;
children
:
Children
[];
}
export
interface
Global
{
logo
:
string
;
countryList
:
CountryList
[];
menuList
:
MenuList
[];
}
export
interface
RootObject
{
userRegister
:
UserRegister
;
payConfig
:
PayConfig
;
global
:
Global
;
}
\ No newline at end of file
src/layouts/components/Logo.tsx
View file @
76254928
...
...
@@ -3,6 +3,6 @@ import styles from '../index.less'
export
default
()
=>
(
<
div
className=
{
styles
.
lxLogoWrap
}
>
<
span
>
数商云
</
span
>
<
span
>
平台后台
</
span
>
</
div
>
)
\ No newline at end of file
src/layouts/components/MenuSlider.tsx
View file @
76254928
...
...
@@ -40,8 +40,6 @@ const MenuSlider = (props) => {
const
menuUtil
=
new
MenuUtil
({
formatMessage
,
})
console
.
log
(
selectedKeys
)
// 本地可无权限访问所有路由
if
(
!
isDev
)
{
menuData
...
...
src/layouts/index.tsx
View file @
76254928
...
...
@@ -79,7 +79,7 @@ const Layout = props => {
return
(
<
ProLayout
title=
"瓴犀"
title=
"瓴犀
平台后台
"
navTheme=
"light"
formatMessage=
{
formatMessage
}
onCollapse=
{
collapse
=>
{
...
...
src/pages/authConfig/memberSystem/memberDetail.tsx
View file @
76254928
...
...
@@ -36,6 +36,8 @@ const TabsItem = Tabs.TabPane
const
menuActions
=
createFormActions
()
const
treeActions
=
createTreeActions
()
const
MemberDetail
:
React
.
FC
<
{}
>
=
()
=>
{
const
[
form
]
=
Form
.
useForm
();
const
value
=
useContext
(
historyContainer
)
...
...
@@ -49,7 +51,9 @@ const MemberDetail: React.FC<{}> = () => {
getTreeMaps
}
=
useTreeTabs
({
fetchMenuData
,
fetchItemDetailData
:
PublicApi
.
getMemberRoleAuthButton
fetchItemDetailData
:
({
id
})
=>
PublicApi
.
getMemberRoleAuthButton
({
menuId
:
id
})
})
const
actionRef
=
useRef
<
any
>
({})
...
...
@@ -61,7 +65,6 @@ const MemberDetail: React.FC<{}> = () => {
id
}
=
usePageStatus
()
const
treeActions
=
createTreeActions
()
// 编辑和预览模式下需回显数据
const
fetchRoleMenuDetail
=
async
(
id
)
=>
{
...
...
@@ -100,12 +103,11 @@ const MemberDetail: React.FC<{}> = () => {
// 如果未点击过操作权限tab, 则无法获取到actionRef实例, 需补充手动补充回显的ids, 新增的时候如果未设置按钮,则返回空数组
const
buttonCheckIds
=
actionRef
.
current
.
selected
||
(
formValue
&&
formValue
.
ids
)
||
[]
const
treeCheckIds
=
treeActions
.
getSelectKeys
()
const
menuIds
=
[...
buttonCheckIds
,
...
treeCheckIds
]
if
(
pageStatus
===
PageStatus
.
EDIT
)
{
await
PublicApi
.
postMemberRoleUpdate
({
...
values
,
id
,
memberRoleId
:
id
,
menuIds
})
}
else
{
...
...
@@ -195,6 +197,7 @@ const MemberDetail: React.FC<{}> = () => {
actions=
{
treeActions
}
treeData=
{
treeData
}
handleSelect=
{
handleSelect
}
customKey=
'id'
disabled=
{
pageStatus
===
PageStatus
.
PREVIEW
}
/>
</
Col
>
...
...
src/pages/authConfig/userSystem/userDetail.tsx
View file @
76254928
...
...
@@ -147,8 +147,11 @@ const AddUser: React.FC<{}> = () => {
setOriginVisible
(
true
)
}
const
connectCategory
=
<
div
className=
'connectBtn'
onClick=
{
openOriginTree
}
><
LinkOutlined
style=
{
{
marginRight
:
4
}
}
/>
关联
</
div
>
const
addRoles
=
<
Button
block
onClick=
{
handleRoleBtn
}
>
添加角色
</
Button
>
const
connectCategory
=
pageStatus
!==
PageStatus
.
PREVIEW
?
<
div
className=
'connectBtn'
onClick=
{
openOriginTree
}
><
LinkOutlined
style=
{
{
marginRight
:
4
}
}
/>
关联
</
div
>
:
''
const
addRoles
=
pageStatus
!==
PageStatus
.
PREVIEW
?
<
Button
block
onClick=
{
handleRoleBtn
}
>
添加角色
</
Button
>
:
''
return
(
<
DetailPage
title=
{
titleRender
(
pageStatus
)
}
>
<
div
className=
"common-wrapper user-system"
>
...
...
@@ -157,6 +160,7 @@ const AddUser: React.FC<{}> = () => {
schema=
{
UserDetailSchema
}
initialValues=
{
formData
}
actions=
{
userActions
}
editable=
{
pageStatus
!==
PageStatus
.
PREVIEW
}
effects=
{
(
$
,
{
setFieldState
})
=>
{
$
(
'onFormInit'
).
subscribe
(()
=>
{
if
(
id
)
{
...
...
@@ -176,8 +180,8 @@ const AddUser: React.FC<{}> = () => {
}
}
>
<
FormButtonGroup
offset=
{
6
}
>
<
Button
htmlType=
'submit'
type=
'primary'
loading=
{
loading
}
>
提交
</
Button
>
<
Button
>
取消
</
Button
>
<
Button
htmlType=
'submit'
type=
'primary'
hidden=
{
pageStatus
===
PageStatus
.
PREVIEW
}
loading=
{
loading
}
>
提交
</
Button
>
<
Button
onClick=
{
()
=>
history
.
goBack
()
}
>
取消
</
Button
>
</
FormButtonGroup
>
</
NiceForm
>
<
ModalTable
...
...
src/utils/index.ts
View file @
76254928
...
...
@@ -201,6 +201,9 @@ export const getParentTreeTitles = (dataSouce, key) => {
let
targetKey
=
key
let
targetPath
=
''
while
(
targetKey
!==
''
)
{
if
(
!
hashMaps
[
targetKey
])
{
break
}
const
title
=
hashMaps
[
targetKey
].
title
targetPath
=
targetPath
===
''
?
title
:
`
${
title
}
-
${
targetPath
}
`
...
...
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