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
XieZhiXiong
jinfa-platform
Commits
b8c20cfe
Commit
b8c20cfe
authored
Dec 24, 2021
by
xiexiuxing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:完成内容管理按钮权限
parent
835fe2f6
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
170 additions
and
113 deletions
+170
-113
按钮状态.mad
src/components/AuthButton/按钮状态.mad
+23
-2
index.tsx
src/components/TabTree/index.tsx
+20
-20
index.tsx
src/pages/content/category/index.tsx
+35
-27
index.tsx
src/pages/content/columnManagement/index.tsx
+40
-26
index.tsx
src/pages/content/tagsManagement/index.tsx
+52
-38
No files found.
src/components/AuthButton/按钮状态.mad
View file @
b8c20cfe
btnCo
de 是pass 平台配置唯一表示
btnCo
de 是pass 平台配置唯一表示
...
...
@@ -76,6 +76,27 @@ repositories.edit:仓位库存调拨按钮
// 内容管理-contentAbility
// 内容管理-栏目管理
columnsManagement.del 栏目管理删除 栏目管理删除按钮
columnsManagement.edit 栏目管理编辑 栏目管理编辑按钮
columnsManagement.state 栏目管理状态 栏目管理状态是否有效按钮
columnsManagement.see 栏目管理查看 栏目管理查看按钮
columnsManagement.add 栏目管理添加 栏目管理添加按钮
// 内容管理 -分类管理 category.categorysonadd,category.categoryadd,category.categoryadd 没有处理
category.categorysonadd 分类管理节点新曾子节点 分类管理节点新曾子节点按钮
category.categoryadd 分类管理节点新曾节点 分类管理节点新曾按钮
category.categoryadd 分类管理节点删除 分类管理节点删除按钮
category.edit 分类管理保存 分类管理保存按钮
category.del 分类管理删除 分类管理删除按钮
// 内容管理 -标签管理
tagsManagement.add 标签管理新曾 标签管理按钮
tagsManagement.del 标签管理删除 标签管理删除按钮
tagsManagement.edit 标签管理编辑 标签管理编辑按钮
tagsManagement.see 标签管理查看 标签管理查看按钮
tagsManagement.state 标签管理状态 设置标签有效或者无效按钮
// 内容管理-资讯管理
infomations.del 资讯管理删除 资讯管理删除按钮
...
...
@@ -84,7 +105,7 @@ infomations.state 资讯管理上下架 资讯管理上下架按钮
infomations.see 资讯管理查看 资讯管理查看按钮
infomations.add 资讯管理新曾 资讯管理新曾按钮
//内容管理-公告管理
//
内容管理-公告管理
contentAbility.add 公告管理新曾 公告管理新曾按钮
contentAbility.see 公告管理查看 公告管理查看按钮
contentAbility.state 公告管理操作上架下架 公告管理操作上架下架按钮
...
...
src/components/TabTree/index.tsx
View file @
b8c20cfe
...
...
@@ -49,7 +49,7 @@ export interface TabTreeProps extends TreeProps {
resetSearch
?:
boolean
;
}
const
intl
=
getIntl
();
export
interface
InnermostTreeNodeProps
{}
export
interface
InnermostTreeNodeProps
{
}
export
interface
RenderIconsProps
{
node
:
any
;
...
...
@@ -76,11 +76,11 @@ export const createTreeActions = () => {
getSelectKeys
()
{
return
[];
},
setSelectKey
()
{},
setSelectKeys
()
{},
setExpandedKeys
()
{},
getParentPath
(
id
)
{
return
''
},
getParent
(
id
)
{
return
null
}
setSelectKey
()
{
},
setSelectKeys
()
{
},
setExpandedKeys
()
{
},
getParentPath
(
id
)
{
return
''
},
getParent
(
id
)
{
return
null
}
};
return
actions
;
};
...
...
@@ -100,7 +100,7 @@ const RenderIcons: React.FC<RenderIconsProps> = props => {
// return <Space className={cx('god-tabtree-icons', props.nowKey === props.node.key ? 'show' : 'hide')}>
return
(
<
Space
className=
{
cx
(
'god-tabtree-icons'
)
}
>
<
Tooltip
title=
{
intl
.
formatMessage
({
id
:
'components.xinzengjiedian'
})
}
>
<
Tooltip
title=
{
intl
.
formatMessage
({
id
:
'components.xinzengjiedian'
})
}
>
<
PlusCircleOutlined
onClick=
{
e
=>
{
e
.
stopPropagation
();
...
...
@@ -110,7 +110,7 @@ const RenderIcons: React.FC<RenderIconsProps> = props => {
}
}
/>
</
Tooltip
>
<
Tooltip
title=
{
intl
.
formatMessage
({
id
:
'components.xinzengzijiedian'
})
}
>
<
Tooltip
title=
{
intl
.
formatMessage
({
id
:
'components.xinzengzijiedian'
})
}
>
<
PlusCircleOutlined
onClick=
{
e
=>
{
e
.
stopPropagation
();
...
...
@@ -120,7 +120,7 @@ const RenderIcons: React.FC<RenderIconsProps> = props => {
}
}
/>
</
Tooltip
>
<
Tooltip
title=
{
intl
.
formatMessage
({
id
:
'components.shanchudangqianjiedian'
})
}
>
<
Tooltip
title=
{
intl
.
formatMessage
({
id
:
'components.shanchudangqianjiedian'
})
}
>
<
DeleteOutlined
onClick=
{
e
=>
{
e
.
stopPropagation
();
...
...
@@ -174,7 +174,7 @@ function transformSingleTitle(
}
}
>
{
checkable
||
(
data
[
item
].
children
&&
data
[
item
].
children
.
length
!==
0
)
?
(
(
data
[
item
].
children
&&
data
[
item
].
children
.
length
!==
0
)
?
(
data
[
item
].
title
)
:
(
<
InnermostTreeNode
>
{
data
[
item
].
title
}
</
InnermostTreeNode
>
...
...
@@ -223,7 +223,7 @@ const TabTree: React.FC<TabTreeProps> = props => {
handleCheck
,
customExpandkeys
,
enableSearch
=
false
,
searchPlaceholder
=
intl
.
formatMessage
({
id
:
'components.sousuo'
}),
searchPlaceholder
=
intl
.
formatMessage
({
id
:
'components.sousuo'
}),
checkStrictly
=
false
,
resetSearch
,
}
=
props
;
...
...
@@ -241,8 +241,8 @@ const TabTree: React.FC<TabTreeProps> = props => {
// 搜索的值
const
[
searchValue
,
setSearchValue
]
=
useState
()
useEffect
(()
=>
{
if
(
resetSearch
)
{
useEffect
(()
=>
{
if
(
resetSearch
)
{
setSearchValue
(
null
)
setExpandkeys
([])
}
...
...
@@ -278,7 +278,7 @@ const TabTree: React.FC<TabTreeProps> = props => {
},
[]);
useEffect
(()
=>
{
if
(
customExpandkeys
?.
length
)
{
if
(
customExpandkeys
?.
length
)
{
setExpandkeys
(
customExpandkeys
)
setAutoExpandParent
(
true
)
}
...
...
@@ -315,7 +315,7 @@ const TabTree: React.FC<TabTreeProps> = props => {
const
targetInfo
=
reductData
[
id
]
const
parentInfo
=
reductData
[
targetInfo
.
parentId
]
// fixbug 当选中根节点下的节点时, 由于无parentId, 需自动补充0
return
parentInfo
||
{
id
:
0
}
return
parentInfo
||
{
id
:
0
}
}
}
const
batchSelect
=
(
items
:
any
)
=>
{
...
...
@@ -336,7 +336,7 @@ const TabTree: React.FC<TabTreeProps> = props => {
const
onSearchChange
=
v
=>
{
// todo 找到目标节点的父级key
setSearchValue
(
v
)
if
(
v
)
{
if
(
v
)
{
const
reductData
=
Object
.
values
(
treeReduction
(
treeData
))
const
expandedKeys
=
reductData
.
filter
(
item
=>
item
[
'title'
].
indexOf
(
v
)
>
-
1
).
map
(
_item
=>
_item
[
'parentId'
])
setExpandkeys
(
expandedKeys
)
...
...
@@ -353,12 +353,12 @@ const TabTree: React.FC<TabTreeProps> = props => {
<
div
>
{
title
}
</
div
>
{
checkable
&&
(
<
Button
onClick=
{
toggleSelectAll
}
disabled=
{
disabled
}
type=
"link"
>
{
allSelected
?
intl
.
formatMessage
({
id
:
'components.quxiaoquanxuan'
})
:
intl
.
formatMessage
({
id
:
'components.quanxuan'
})
}
{
allSelected
?
intl
.
formatMessage
({
id
:
'components.quxiaoquanxuan'
})
:
intl
.
formatMessage
({
id
:
'components.quanxuan'
})
}
</
Button
>
)
}
{
showSave
&&
checkable
&&
(
<
Button
onClick=
{
handleSubmit
}
disabled=
{
disabled
}
type=
"link"
>
{
intl
.
formatMessage
({
id
:
'components.baocun'
})
}
{
intl
.
formatMessage
({
id
:
'components.baocun'
})
}
</
Button
>
)
}
</
div
>
...
...
@@ -368,7 +368,7 @@ const TabTree: React.FC<TabTreeProps> = props => {
style=
{
{
marginBottom
:
8
}
}
placeholder=
{
searchPlaceholder
}
value=
{
searchValue
}
onChange=
{
(
v
:
any
)
=>
setSearchValue
(
v
.
target
.
value
)
}
onChange=
{
(
v
:
any
)
=>
setSearchValue
(
v
.
target
.
value
)
}
onSearch=
{
onSearchChange
}
/>
}
...
...
@@ -410,7 +410,7 @@ const TabTree: React.FC<TabTreeProps> = props => {
:
[...
expandkeys
,
node
.
key
],
);
})
.
catch
(()
=>
{});
.
catch
(()
=>
{
});
return
false
;
}
}
...
...
src/pages/content/category/index.tsx
View file @
b8c20cfe
...
...
@@ -10,6 +10,8 @@ import NiceForm from '@/components/NiceForm';
import
styles
from
'./index.less'
;
import
{
QuestionCircleOutlined
}
from
'@ant-design/icons'
;
import
{
getManageMemberCategoryAll
,
getManageMemberCategoryGet
,
postManageMemberCategoryAdd
,
postManageMemberCategoryDelete
,
postManageMemberCategoryUpdate
}
from
'@/services/ManageV2Api'
;
import
AuthButton
from
'@/components/AuthButton'
import
{
AuthUrl
}
from
'@/components/AuthButton/AuthUrl'
enum
FormState
{
FREE
,
// 空闲状态
...
...
@@ -32,9 +34,9 @@ type TreeDataType = {
* @param level
* @returns
*/
const
transferTreeData
=
(
treeData
:
any
,
level
:
string
,
checkedKeys
):
TreeDataType
[]
=>
{
const
transferTreeData
=
(
treeData
:
any
,
level
:
string
,
checkedKeys
):
TreeDataType
[]
=>
{
let
res
:
TreeDataType
[]
=
[];
for
(
let
i
=
0
;
i
<
treeData
.
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
treeData
.
length
;
i
++
)
{
const
item
=
treeData
[
i
];
const
key
=
level
+
item
.
id
let
result
:
TreeDataType
=
{
...
...
@@ -45,10 +47,10 @@ type TreeDataType = {
parentId
:
item
.
parentId
,
children
:
[],
}
if
(
item
.
status
)
{
if
(
item
.
status
)
{
checkedKeys
.
push
(
key
);
}
if
(
item
.
list
.
length
!==
0
)
{
if
(
item
.
list
.
length
!==
0
)
{
result
.
children
=
transferTreeData
(
item
.
list
as
any
,
key
+
"-"
,
checkedKeys
);
}
res
.
push
(
result
)
...
...
@@ -91,7 +93,7 @@ const ClassProperty: React.FC<{}> = () => {
const
transferTreeDatarRes
:
TreeDataType
[]
=
useMemo
(()
=>
transferTreeData
(
treeData
,
""
,
tempCheckedKeys
),
[
treeData
])
// const checkedKeys = useMemo(() => tempCheckedKeys, [transferTreeDatarRes])
const
formInitValue
=
(
nodeRecord
&&
treeStatus
===
FormState
.
EDIT
)
?
getTreeMaps
(
nodeRecord
.
key
)
:
{}
const
formValue
=
formInitValue
?
{
...
formInitValue
,
status
:
[
formInitValue
.
status
]
}
:
{}
const
formValue
=
formInitValue
?
{
...
formInitValue
,
status
:
[
formInitValue
.
status
]
}
:
{}
const
is3Level
=
useMemo
(()
=>
{
if
(
!
nodeRecord
||
nodeRecord
.
parentId
===
0
)
{
...
...
@@ -102,7 +104,7 @@ const ClassProperty: React.FC<{}> = () => {
const
splitRes
=
_key
.
split
(
"-"
);
let
flag
=
splitRes
.
length
;
let
i
=
1
;
for
(
;
i
<=
splitRes
.
length
;
i
++
)
{
for
(;
i
<=
splitRes
.
length
;
i
++
)
{
if
(
splitRes
[
i
-
1
]
===
parentId
?.
toString
())
{
console
.
log
(
i
);
flag
=
i
+
1
;
...
...
@@ -112,7 +114,7 @@ const ClassProperty: React.FC<{}> = () => {
return
flag
},
[
nodeRecord
])
const
onFinish
=
async
(
values
:
{
id
:
number
,
parentId
:
number
,
name
:
string
,
describe
:
string
,
status
:
string
[],
level
:
number
})
=>
{
const
onFinish
=
async
(
values
:
{
id
:
number
,
parentId
:
number
,
name
:
string
,
describe
:
string
,
status
:
string
[],
level
:
number
})
=>
{
const
_key
=
nodeRecord
?.
_key
?.
split
(
"-"
);
const
isEdit
=
treeStatus
===
FormState
.
EDIT
;
let
parentId
=
nodeRecord
?.
parentId
||
0
;
...
...
@@ -152,7 +154,7 @@ const ClassProperty: React.FC<{}> = () => {
useEffect
(()
=>
{
// 这里有个奇怪的地方,不知道为什么要医疗nodeRecord
if
(
treeStatus
===
FormState
.
ADD
&&
is3Level
===
3
||
is3Level
===
4
)
{
if
(
treeStatus
===
FormState
.
ADD
&&
is3Level
===
3
||
is3Level
===
4
)
{
formActions
.
setFieldValue
(
"level"
,
3
);
}
},
[
treeStatus
,
nodeRecord
,
is3Level
])
...
...
@@ -165,8 +167,8 @@ const ClassProperty: React.FC<{}> = () => {
<
h3
className=
"mb-30"
>
{
intl
.
formatMessage
({
id
:
'content.category.selectEditProject'
})
}
</
h3
>
{
treeData
&&
treeData
.
length
>
0
?
<
TabTree
fetchData
=
{
params
=
>
fetchClassTreeData(params)}
?
<
TabTree
fetchData
=
{
params
=>
fetchClassTreeData
(
params
)
}
treeData=
{
transferTreeDatarRes
}
toolsRender=
{
toolsRender
}
actions=
{
treeActions
}
...
...
@@ -191,12 +193,12 @@ const ClassProperty: React.FC<{}> = () => {
name=
'classForm'
onSubmit=
{
onFinish
}
actions=
{
formActions
}
effects=
{
(
$
,
action
)
=>
{
}
}
effects=
{
(
$
,
action
)
=>
{
}
}
schema=
{
classSchema
()
}
expressionScope=
{
{
showWarn
:
(
<
Tooltip
placement=
"topLeft"
title=
{
intl
.
formatMessage
({
id
:
'content.category.handleTips'
})
}
>
<
span
style=
{
{
marginTop
:
'-12px'
,
width
:
'50px'
}
}
>
<
span
style=
{
{
marginTop
:
'-12px'
,
width
:
'50px'
}
}
>
<
QuestionCircleOutlined
/>
</
span
>
</
Tooltip
>
...
...
@@ -204,21 +206,27 @@ const ClassProperty: React.FC<{}> = () => {
}
}
>
<
FormButtonGroup
>
<
Button
htmlType=
'submit'
type=
"primary"
>
{
intl
.
formatMessage
({
id
:
'common.button.save'
})
}
</
Button
>
<
Popconfirm
title=
{
intl
.
formatMessage
({
id
:
'common.tip.option.confirm'
})
}
okText=
{
intl
.
formatMessage
({
id
:
'common.button.yes'
})
}
cancelText=
{
intl
.
formatMessage
({
id
:
'common.button.no'
})
}
onConfirm=
{
handleDeleteMenu
}
>
{
treeStatus
!==
FormState
.
ADD
&&
<
Button
>
{
intl
.
formatMessage
({
id
:
'common.button.delete'
})
}
</
Button
>
}
</
Popconfirm
>
<
AuthButton
btnCode=
'category.edit'
menuCode=
'contentAbility'
>
<
Button
htmlType=
'submit'
type=
"primary"
>
{
intl
.
formatMessage
({
id
:
'common.button.save'
})
}
</
Button
>
</
AuthButton
>
<
AuthButton
btnCode=
'category.del'
menuCode=
'contentAbility'
>
<
Popconfirm
title=
{
intl
.
formatMessage
({
id
:
'common.tip.option.confirm'
})
}
okText=
{
intl
.
formatMessage
({
id
:
'common.button.yes'
})
}
cancelText=
{
intl
.
formatMessage
({
id
:
'common.button.no'
})
}
onConfirm=
{
handleDeleteMenu
}
>
{
treeStatus
!==
FormState
.
ADD
&&
<
Button
>
{
intl
.
formatMessage
({
id
:
'common.button.delete'
})
}
</
Button
>
}
</
Popconfirm
>
</
AuthButton
>
</
FormButtonGroup
>
</
NiceForm
>
</>
...
...
src/pages/content/columnManagement/index.tsx
View file @
b8c20cfe
import
React
,
{
useRef
}
from
'react'
;
import
{
Card
,
Button
,
Popconfirm
,
Row
,
Col
}
from
'antd'
;
import
{
Card
,
Button
,
Popconfirm
,
Row
,
Col
}
from
'antd'
;
import
{
createFormActions
,
ISchema
}
from
'@formily/antd'
;
import
{
history
,
useIntl
}
from
'umi'
;
import
StatusSwitch
from
'@/components/StatusSwitch'
;
...
...
@@ -12,6 +12,8 @@ import EyePreview from '@/components/EyePreview'
import
StandardTable
from
'@/components/StandardTable'
;
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
;
import
{
getManageMemberColumnPage
,
postManageMemberColumnDelete
,
postManageMemberColumnUpdateStatus
}
from
'@/services/ManageV2Api'
;
import
AuthButton
from
'@/components/AuthButton'
import
{
AuthUrl
}
from
'@/components/AuthButton/AuthUrl'
const
formActions
=
createFormActions
();
...
...
@@ -63,13 +65,13 @@ const columnList: React.FC<{}> = () => {
ref
.
current
.
reload
()
}
// 栏目删除
const
handleRemove
=
async
(
id
:
number
)
=>
{
// 栏目删除
const
handleRemove
=
async
(
id
:
number
)
=>
{
const
res
=
await
postManageMemberColumnDelete
({
id
})
if
(
res
.
code
===
1000
)
{
ref
.
current
.
reload
()
}
}
}
// 获取列表
const
fetchData
=
(
params
:
any
)
=>
{
...
...
@@ -91,7 +93,7 @@ const columnList: React.FC<{}> = () => {
dataIndex
:
'name'
,
key
:
'name'
,
render
:
(
text
:
any
,
record
:
any
)
=>
(
<
EyePreview
url=
{
`/memberCenter/contentAbility/columnsManagement/detail?id=${record.id}&preview=1`
}
>
<
EyePreview
type=
{
AuthUrl
(
'columnsManagement.see'
,
'contentAbility'
)
?
'link'
:
'button'
}
url=
{
`/memberCenter/contentAbility/columnsManagement/detail?id=${record.id}&preview=1`
}
>
{
text
}
</
EyePreview
>
)
...
...
@@ -115,11 +117,14 @@ const columnList: React.FC<{}> = () => {
dataIndex
:
'status'
,
key
:
'status'
,
render
:
(
text
:
any
,
record
:
any
)
=>
(
<
StatusSwitch
fieldNames=
"status"
handleConfirm=
{
()
=>
handleModify
(
record
)
}
record=
{
record
}
/>
<
AuthButton
btnCode=
'columnsManagement.state'
menuCode=
'contentAbility'
>
<
StatusSwitch
fieldNames=
"status"
handleConfirm=
{
()
=>
handleModify
(
record
)
}
record=
{
record
}
/>
</
AuthButton
>
)
},
{
...
...
@@ -129,13 +134,19 @@ const columnList: React.FC<{}> = () => {
dataIndex
:
'operate'
,
render
:
(
_
,
record
)
=>
!
record
.
status
&&
(
<>
<
Button
type=
'link'
onClick=
{
()
=>
history
.
push
(
`/memberCenter/contentAbility/columnsManagement/detail?id=${record.id}`
)
}
>
{
intl
.
formatMessage
({
id
:
'common.button.modify'
})
}
</
Button
>
<
Popconfirm
title=
{
intl
.
formatMessage
({
id
:
'common.tip.option.confirm'
})
}
onConfirm=
{
()
=>
handleRemove
(
record
.
id
)
}
>
<
Button
type=
'link'
>
{
intl
.
formatMessage
({
id
:
'common.button.delete'
})
}
</
Button
>
</
Popconfirm
>
<
AuthButton
btnCode=
'columnsManagement.edit'
menuCode=
'contentAbility'
>
<
Button
type=
'link'
onClick=
{
()
=>
history
.
push
(
`/memberCenter/contentAbility/columnsManagement/detail?id=${record.id}`
)
}
>
{
intl
.
formatMessage
({
id
:
'common.button.modify'
})
}
</
Button
>
</
AuthButton
>
<
AuthButton
btnCode=
'columnsManagement.del'
menuCode=
'contentAbility'
>
<
Popconfirm
title=
{
intl
.
formatMessage
({
id
:
'common.tip.option.confirm'
})
}
onConfirm=
{
()
=>
handleRemove
(
record
.
id
)
}
>
<
Button
type=
'link'
>
{
intl
.
formatMessage
({
id
:
'common.button.delete'
})
}
</
Button
>
</
Popconfirm
>
</
AuthButton
>
</>
)
}
...
...
@@ -143,17 +154,20 @@ const columnList: React.FC<{}> = () => {
const
controllerBtns
=
<
Row
>
<
Col
span=
{
6
}
>
<
Button
onClick=
{
()
=>
history
.
push
(
'/memberCenter/contentAbility/columnsManagement/add'
)
}
type=
"primary"
icon=
{
<
PlusOutlined
/>
}
>
{
intl
.
formatMessage
({
id
:
'common.button.add'
})
}
</
Button
>
<
AuthButton
btnCode=
'columnsManagement.add1'
menuCode=
'contentAbility'
>
<
Button
onClick=
{
()
=>
history
.
push
(
'/memberCenter/contentAbility/columnsManagement/add'
)
}
type=
"primary"
icon=
{
<
PlusOutlined
/>
}
>
{
intl
.
formatMessage
({
id
:
'common.button.add'
})
}
</
Button
>
</
AuthButton
>
</
Col
>
</
Row
>
return
(
return
(
<
PageHeaderWrapper
>
<
Card
>
<
StandardTable
...
...
@@ -176,7 +190,7 @@ const columnList: React.FC<{}> = () => {
/>
</
Card
>
</
PageHeaderWrapper
>
)
)
}
export
default
columnList
src/pages/content/tagsManagement/index.tsx
View file @
b8c20cfe
import
React
,
{
useRef
}
from
'react'
;
import
{
Card
,
Button
,
Popconfirm
,
Row
,
Col
}
from
'antd'
;
import
{
Card
,
Button
,
Popconfirm
,
Row
,
Col
}
from
'antd'
;
import
EyePreview
from
'@/components/EyePreview'
;
import
NiceForm
from
'@/components/NiceForm'
;
import
{
ColumnType
}
from
'antd/lib/table/interface'
...
...
@@ -10,6 +10,8 @@ import StatusSwitch from '@/components/StatusSwitch';
import
StandardTable
from
'@/components/StandardTable'
;
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
;
import
{
getManageMemberLabelPage
,
postManageMemberLabelDelete
,
postManageMemberLabelUpdateStatus
}
from
'@/services/ManageV2Api'
;
import
AuthButton
from
'@/components/AuthButton'
import
{
AuthUrl
}
from
'@/components/AuthButton/AuthUrl'
const
actions
=
createFormActions
();
...
...
@@ -18,11 +20,12 @@ const Tags = () => {
const
ref
=
useRef
<
any
>
({})
const
columns
:
ColumnType
<
any
>
[]
=
[
{
title
:
'ID'
,
dataIndex
:
'id'
},
{
title
:
'ID'
,
dataIndex
:
'id'
},
{
title
:
intl
.
formatMessage
({
id
:
'content.tag.name'
}),
dataIndex
:
'name'
,
render
:
(
text
:
string
,
record
:
any
)
=>
(
<
EyePreview
type=
{
AuthUrl
(
'tagsManagement.see'
,
'contentAbility'
)
?
'link'
:
'button'
}
url=
{
`/memberCenter/contentAbility/tagsManagement/detail?id=${record.id}&preview=1`
}
>
{
text
}
...
...
@@ -39,11 +42,13 @@ const Tags = () => {
dataIndex
:
'status'
,
key
:
'status'
,
render
:
(
text
:
any
,
record
:
any
)
=>
(
<
StatusSwitch
fieldNames=
"status"
handleConfirm=
{
()
=>
handleModify
(
record
)
}
record=
{
record
}
/>
<
AuthButton
btnCode=
'tagsManagement.state'
menuCode=
'contentAbility'
>
<
StatusSwitch
fieldNames=
"status"
handleConfirm=
{
()
=>
handleModify
(
record
)
}
record=
{
record
}
/>
</
AuthButton
>
)
},
{
...
...
@@ -53,13 +58,19 @@ const Tags = () => {
dataIndex
:
'operate'
,
render
:
(
_
,
record
)
=>
!
record
.
status
&&
(
<>
<
Button
type=
'link'
onClick=
{
()
=>
history
.
push
(
`/memberCenter/contentAbility/tagsManagement/detail?id=${record.id}`
)
}
>
{
intl
.
formatMessage
({
id
:
'common.button.modify'
})
}
</
Button
>
<
Popconfirm
title=
{
intl
.
formatMessage
({
id
:
'common.tip.option.confirm'
})
}
onConfirm=
{
()
=>
handleRemove
(
record
.
id
)
}
>
<
Button
type=
'link'
>
{
intl
.
formatMessage
({
id
:
'common.button.delete'
})
}
</
Button
>
</
Popconfirm
>
<
AuthButton
btnCode=
'tagsManagement.edit'
menuCode=
'contentAbility'
>
<
Button
type=
'link'
onClick=
{
()
=>
history
.
push
(
`/memberCenter/contentAbility/tagsManagement/detail?id=${record.id}`
)
}
>
{
intl
.
formatMessage
({
id
:
'common.button.modify'
})
}
</
Button
>
</
AuthButton
>
<
AuthButton
btnCode=
'tagsManagement.del'
menuCode=
'contentAbility'
>
<
Popconfirm
title=
{
intl
.
formatMessage
({
id
:
'common.tip.option.confirm'
})
}
onConfirm=
{
()
=>
handleRemove
(
record
.
id
)
}
>
<
Button
type=
'link'
>
{
intl
.
formatMessage
({
id
:
'common.button.delete'
})
}
</
Button
>
</
Popconfirm
>
</
AuthButton
>
</>
)
}
...
...
@@ -107,38 +118,41 @@ const Tags = () => {
})
}
// 修改状态
const
handleModify
=
(
value
)
=>
{
const
{
id
,
status
}
=
value
;
const
postData
=
{
id
:
id
,
enableStatus
:
(
status
^
1
),
}
postManageMemberLabelUpdateStatus
(
postData
).
then
((
res
)
=>
{
if
(
res
.
code
===
1000
)
{
// 修改状态
const
handleModify
=
(
value
)
=>
{
const
{
id
,
status
}
=
value
;
const
postData
=
{
id
:
id
,
enableStatus
:
(
status
^
1
),
}
postManageMemberLabelUpdateStatus
(
postData
).
then
((
res
)
=>
{
if
(
res
.
code
===
1000
)
{
ref
.
current
.
reload
()
}
})
}
})
}
// 栏目删除
const
handleRemove
=
(
id
:
number
)
=>
{
///manage/contentColumn/delete
postManageMemberLabelDelete
({
id
:
id
}).
then
((
res
)
=>
{
if
(
res
.
code
===
1000
)
{
// 栏目删除
const
handleRemove
=
(
id
:
number
)
=>
{
///manage/contentColumn/delete
postManageMemberLabelDelete
({
id
:
id
}).
then
((
res
)
=>
{
if
(
res
.
code
===
1000
)
{
ref
.
current
.
reload
()
}
})
}
})
}
const
controllerBtns
=
<
Row
>
<
Col
span=
{
6
}
>
<
Button
onClick=
{
()
=>
history
.
push
(
'/memberCenter/contentAbility/tagsManagement/add'
)
}
type=
"primary"
>
{
intl
.
formatMessage
({
id
:
'common.button.add'
})
}
</
Button
>
<
AuthButton
btnCode=
'tagsManagement.add'
menuCode=
'contentAbility'
>
<
Button
onClick=
{
()
=>
history
.
push
(
'/memberCenter/contentAbility/tagsManagement/add'
)
}
type=
"primary"
>
{
intl
.
formatMessage
({
id
:
'common.button.add'
})
}
</
Button
>
</
AuthButton
>
</
Col
>
</
Row
>
...
...
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