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
shenshaokai
jinfa-platform
Commits
b0bd4a2f
Commit
b0bd4a2f
authored
Apr 14, 2022
by
XieZhiXiong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 添加会员引入、会员拜访、会员等级管理按钮权限相关
parent
eab42381
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
137 additions
and
101 deletions
+137
-101
AuthUrl.ts
src/components/AuthButton/AuthUrl.ts
+18
-18
index.tsx
src/components/AuthButton/index.tsx
+17
-17
按钮状态.md
src/components/AuthButton/按钮状态.md
+15
-3
index.tsx
src/pages/member/memberImport/index.tsx
+8
-6
index.tsx
src/pages/member/memberLevelPro/index.tsx
+48
-35
index.tsx
src/pages/member/memberVisitManage/index.tsx
+31
-22
No files found.
src/components/AuthButton/AuthUrl.ts
View file @
b0bd4a2f
...
...
@@ -5,23 +5,23 @@ export const AuthUrl = (btnCode: string) => {
const
{
pathname
}
=
new
URL
(
window
.
location
.
href
);
const
RoutesAuth
=
auth
.
filter
((
item
:
any
)
=>
item
?.
u
===
pathname
)
// 默认 让所以按钮权限 打开
return
true
;
//
return true;
// 先把全部按钮打开
//
if (btnCode === 'DevTest') return true
//
//
本地开发时传的特殊标识,直接开放权限
//
if (RoutesAuth.length > 0) {
//
const { b } = RoutesAuth[0];
//
// 本地开发时传的特殊标识,直接开放权限
//
for (let i = 0; i < b.length; i++) {
//
if (btnCode) {
//
// 是否有页面标识
//
// 找到该页面标识的按钮权限数据,并匹配权限按钮是否勾选
//
if (b[i] === btnCode) {
//
return true
//
}
//
}
//
continue
//
}
//
return false
//
}
if
(
btnCode
===
'DevTest'
)
return
true
// 本地开发时传的特殊标识,直接开放权限
if
(
RoutesAuth
.
length
>
0
)
{
const
{
b
}
=
RoutesAuth
[
0
];
// 本地开发时传的特殊标识,直接开放权限
for
(
let
i
=
0
;
i
<
b
.
length
;
i
++
)
{
if
(
btnCode
)
{
// 是否有页面标识
// 找到该页面标识的按钮权限数据,并匹配权限按钮是否勾选
if
(
b
[
i
]
===
btnCode
)
{
return
true
}
}
continue
}
return
false
}
}
src/components/AuthButton/index.tsx
View file @
b0bd4a2f
...
...
@@ -25,24 +25,24 @@ const AuthButton = (props: AuthButtonProps) => {
const
RoutesAuth
=
auth
.
filter
((
item
:
any
)
=>
item
?.
u
===
pathname
)
const
_authorityBtn
=
()
=>
{
// 本地开发时传的特殊标识,直接开放权限
return
true
//
return true
// 全部按钮打开
//
if (btnCode === 'DevTest') return true
//
if (RoutesAuth.length > 0) {
//
const { b } = RoutesAuth[0];
//
console.log(RoutesAuth.length, RoutesAuth)
//
for (let i = 0; i < b.length; i++) {
//
if (btnCode) {
//
// 是否有页面标识
//
// 找到该页面标识的按钮权限数据,并匹配权限按钮是否勾选
//
if (b[i] === btnCode) {
//
return true
//
}
//
}
//
continue
//
}
//
return false
//
}
if
(
btnCode
===
'DevTest'
)
return
true
if
(
RoutesAuth
.
length
>
0
)
{
const
{
b
}
=
RoutesAuth
[
0
];
console
.
log
(
RoutesAuth
.
length
,
RoutesAuth
)
for
(
let
i
=
0
;
i
<
b
.
length
;
i
++
)
{
if
(
btnCode
)
{
// 是否有页面标识
// 找到该页面标识的按钮权限数据,并匹配权限按钮是否勾选
if
(
b
[
i
]
===
btnCode
)
{
return
true
}
}
continue
}
return
false
}
}
return
_authorityBtn
()
?
children
:
null
}
...
...
src/components/AuthButton/按钮状态.md
View file @
b0bd4a2f
# btn
Code 是pass 平台配置唯一表示
# btn
Code 是pass 平台配置唯一表示
...
...
@@ -94,6 +94,7 @@
memberImport.del 会员导入-删除 会员导入-删除-按钮
memberImport.add 会员导入-新曾 会员导入-新曾-按钮
memberImport.commit 会员导入-提交平台审核 会员导入-提交平台审核-按钮
memberImport.introduce 会员导入-会员引入 会员导入-会员引入-按钮
1.
2 会员信息
memberMaintain.see 会员信息-查看 会员信息-查看-按钮
memberMaintain.freeze 会员信息-冻结 会员信息-冻结-按钮
...
...
@@ -192,7 +193,11 @@
-
7 会员规则配置
7.
1 会员等级
level.see 会员等级-查看 会员等级-查看-按钮
level.set 会员等级-设置 会员等级-设置-按钮
level.set 会员等级-设置权益与升级阀值 会员等级-设置权益与升级阀值-按钮
level.add 会员等级-新增 会员等级-新增-按钮
level.edit 会员等级-编辑 会员等级-编辑-按钮
level.del 会员等级-删除 会员等级-删除-按钮
level.rebuild 会员等级-初始化会员等级与权益 会员等级-初始化会员等级与权益-按钮
7.
2 会员升级规则
upgradeRule.submit 会员升级规则-保存 会员升级规则-保存-按钮
7.
3 会员管理流程规则配置
...
...
@@ -216,11 +221,18 @@
8.3 会员考评结果管理
8.4
8.4
投诉建议管理
rectificationQuery.submitComplaintSuggest 投诉建议管理-提交投诉建议 投诉建议管理-提交投诉建议-按钮
rectificationQuery.edit 投诉建议管理-修改 投诉建议管理-修改-按钮
rectificationQuery.del 投诉建议管理-删除 投诉建议管理-删除-按钮
rectificationQuery.add 投诉建议管理-新曾 投诉建议管理-新曾-按钮
-
9 会员拜访
memberVisitManage.add 会员拜访管理-新增 会员拜访管理-新增-按钮
memberVisitManage.edit 会员拜访管理-编辑 会员拜访管理-编辑-按钮
memberVisitManage.del 会员拜访管理-删除 会员拜访管理-删除-按钮
memberVisitManage.see 会员拜访管理-查看 会员拜访管理-查看-按钮
# 店铺-shopAbility (已完成)
-
1.创建店铺
-
shopAbility.Submit 创建店铺-保存 创建店铺-保存-按钮
...
...
src/pages/member/memberImport/index.tsx
View file @
b0bd4a2f
...
...
@@ -327,12 +327,14 @@ const MemberMaintain: React.FC<[]> = () => {
>
更多
</Dropdown.Button> */
}
<
Button
type=
"primary"
onClick=
{
()
=>
handleVisibleIntroduceDrewer
(
true
)
}
>
会员引入
</
Button
>
<
AuthButton
btnCode=
"memberImport.introduce"
>
<
Button
type=
"primary"
onClick=
{
()
=>
handleVisibleIntroduceDrewer
(
true
)
}
>
会员引入
</
Button
>
</
AuthButton
>
</
Space
>
</>
);
...
...
src/pages/member/memberLevelPro/index.tsx
View file @
b0bd4a2f
...
...
@@ -13,6 +13,8 @@ import { FORM_FILTER_PATH } from '@/formSchema/const';
import
EyePreview
from
'@/components/EyePreview'
;
import
PolymericTable
,
{
FetchParamsType
,
NormalTableRefHandleType
}
from
'@/components/PolymericTable'
;
import
StatusSwitch
from
'@/components/StatusSwitch'
;
import
AuthButton
from
'@/components/AuthButton'
;
import
{
AuthUrl
}
from
'@/components/AuthButton/AuthUrl'
;
import
{
querySchema
}
from
'./querySchema'
;
const
{
confirm
}
=
Modal
;
...
...
@@ -103,6 +105,7 @@ const PlatformMemberLevelIndexIndex: React.FC<{}> = props => {
<>
<
EyePreview
url=
{
`/memberCenter/memberAbility/ruleConfiguration/memberLevel/details?id=${record.levelId}`
}
type=
{
AuthUrl
(
'level.see'
)
?
'link'
:
'button'
}
>
{
text
}
</
EyePreview
>
...
...
@@ -159,32 +162,38 @@ const PlatformMemberLevelIndexIndex: React.FC<{}> = props => {
width
:
200
,
render
:
(
text
:
any
,
record
)
=>
(
<>
<
Button
type=
"link"
onClick=
{
()
=>
handleJumpFormPage
(
record
)
}
disabled=
{
record
.
status
===
1
}
>
{
intl
.
formatMessage
({
id
:
'member.memberLevel.modify'
},
{
default
:
'编辑'
})
}
</
Button
>
<
Popconfirm
title=
{
intl
.
formatMessage
({
id
:
'member.memberLevel.delete.confirm.title'
},
{
default
:
'是否确认删除该会员等级?'
})
}
onConfirm=
{
()
=>
handleDeleteMemberLevel
(
record
)
}
okText=
{
intl
.
formatMessage
({
id
:
'common.button.yes'
},
{
default
:
'确认'
})
}
cancelText=
{
intl
.
formatMessage
({
id
:
'common.button.no'
},
{
default
:
'取消'
})
}
>
<
AuthButton
btnCode=
"level.edit"
>
<
Button
type=
"link"
loading=
{
record
.
levelId
===
deleteLoadingKey
}
onClick=
{
()
=>
handleJumpFormPage
(
record
)
}
disabled=
{
record
.
status
===
1
}
>
{
intl
.
formatMessage
({
id
:
'member.memberLevel.
delete'
},
{
default
:
'删除
'
})
}
{
intl
.
formatMessage
({
id
:
'member.memberLevel.
modify'
},
{
default
:
'编辑
'
})
}
</
Button
>
</
Popconfirm
>
<
Button
type=
"link"
onClick=
{
()
=>
handleJumpSetMemberLevelRight
(
record
)
}
>
{
intl
.
formatMessage
({
id
:
'member.memberLevel.setRights'
},
{
default
:
'设置权益与升级阀值'
})
}
</
Button
>
</
AuthButton
>
<
AuthButton
btnCode=
"level.del"
>
<
Popconfirm
title=
{
intl
.
formatMessage
({
id
:
'member.memberLevel.delete.confirm.title'
},
{
default
:
'是否确认删除该会员等级?'
})
}
onConfirm=
{
()
=>
handleDeleteMemberLevel
(
record
)
}
okText=
{
intl
.
formatMessage
({
id
:
'common.button.yes'
},
{
default
:
'确认'
})
}
cancelText=
{
intl
.
formatMessage
({
id
:
'common.button.no'
},
{
default
:
'取消'
})
}
>
<
Button
type=
"link"
loading=
{
record
.
levelId
===
deleteLoadingKey
}
>
{
intl
.
formatMessage
({
id
:
'member.memberLevel.delete'
},
{
default
:
'删除'
})
}
</
Button
>
</
Popconfirm
>
</
AuthButton
>
<
AuthButton
btnCode=
"level.set"
>
<
Button
type=
"link"
onClick=
{
()
=>
handleJumpSetMemberLevelRight
(
record
)
}
>
{
intl
.
formatMessage
({
id
:
'member.memberLevel.setRights'
},
{
default
:
'设置权益与升级阀值'
})
}
</
Button
>
</
AuthButton
>
</>
),
},
...
...
@@ -220,19 +229,23 @@ const PlatformMemberLevelIndexIndex: React.FC<{}> = props => {
const
RoleRuleConfigCtl
=
()
=>
(
<
Space
>
<
Button
type=
"primary"
onClick=
{
()
=>
handleJumpFormPage
()
}
icon=
{
<
PlusOutlined
/>
}
>
{
intl
.
formatMessage
({
id
:
'member.memberLevel.add'
},
{
default
:
'新增'
})
}
</
Button
>
<
Button
type=
"primary"
onClick=
{
()
=>
handleInitial
()
}
>
{
intl
.
formatMessage
({
id
:
'member.memberLevel.rebuild'
},
{
default
:
'初始化会员等级与权益'
})
}
</
Button
>
<
AuthButton
btnCode=
"level.add"
>
<
Button
type=
"primary"
onClick=
{
()
=>
handleJumpFormPage
()
}
icon=
{
<
PlusOutlined
/>
}
>
{
intl
.
formatMessage
({
id
:
'member.memberLevel.add'
},
{
default
:
'新增'
})
}
</
Button
>
</
AuthButton
>
<
AuthButton
btnCode=
"level.rebuild"
>
<
Button
type=
"primary"
onClick=
{
()
=>
handleInitial
()
}
>
{
intl
.
formatMessage
({
id
:
'member.memberLevel.rebuild'
},
{
default
:
'初始化会员等级与权益'
})
}
</
Button
>
</
AuthButton
>
</
Space
>
);
...
...
src/pages/member/memberVisitManage/index.tsx
View file @
b0bd4a2f
...
...
@@ -19,6 +19,8 @@ import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilte
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
EyePreview
from
'@/components/EyePreview'
;
import
PolymericTable
,
{
FetchParamsType
,
NormalTableRefHandleType
}
from
'@/components/PolymericTable'
;
import
AuthButton
from
'@/components/AuthButton'
;
import
{
AuthUrl
}
from
'@/components/AuthButton/AuthUrl'
;
import
{
querySchema
}
from
'./querySchema'
;
const
queryFormActions
=
createFormActions
();
...
...
@@ -81,6 +83,7 @@ const MemberVisitManageIndex: React.FC<{}> = props => {
<>
<
EyePreview
url=
{
`/memberCenter/memberAbility/memberVisitManage/details?id=${record.id}`
}
type=
{
AuthUrl
(
'memberVisitManage.see'
)
?
'link'
:
'button'
}
>
{
text
}
</
EyePreview
>
...
...
@@ -126,25 +129,29 @@ const MemberVisitManageIndex: React.FC<{}> = props => {
width
:
200
,
render
:
(
text
:
any
,
record
)
=>
(
<>
<
Button
type=
"link"
onClick=
{
()
=>
handleJumpFormPage
(
record
)
}
>
{
intl
.
formatMessage
({
id
:
'member.memberVisitManage.modify'
},
{
default
:
'编辑'
})
}
</
Button
>
<
Popconfirm
title=
{
intl
.
formatMessage
({
id
:
'member.memberVisitManage.modify'
},
{
default
:
'是否确认删除该拜访信息?'
})
}
onConfirm=
{
()
=>
handleDeleteMemberVisitRecord
(
record
)
}
okText=
{
intl
.
formatMessage
({
id
:
'common.button.yes'
},
{
default
:
'确认'
})
}
cancelText=
{
intl
.
formatMessage
({
id
:
'common.button.no'
},
{
default
:
'取消'
})
}
>
<
AuthButton
btnCode=
"memberVisitManage.edit"
>
<
Button
type=
"link"
loading=
{
record
.
id
===
deleteLoadingKey
}
onClick=
{
()
=>
handleJumpFormPage
(
record
)
}
>
{
intl
.
formatMessage
({
id
:
'member.memberVisitManage.
delete'
},
{
default
:
'删除
'
})
}
{
intl
.
formatMessage
({
id
:
'member.memberVisitManage.
modify'
},
{
default
:
'编辑
'
})
}
</
Button
>
</
Popconfirm
>
</
AuthButton
>
<
AuthButton
btnCode=
"memberVisitManage.del"
>
<
Popconfirm
title=
{
intl
.
formatMessage
({
id
:
'member.memberVisitManage.modify'
},
{
default
:
'是否确认删除该拜访信息?'
})
}
onConfirm=
{
()
=>
handleDeleteMemberVisitRecord
(
record
)
}
okText=
{
intl
.
formatMessage
({
id
:
'common.button.yes'
},
{
default
:
'确认'
})
}
cancelText=
{
intl
.
formatMessage
({
id
:
'common.button.no'
},
{
default
:
'取消'
})
}
>
<
Button
type=
"link"
loading=
{
record
.
id
===
deleteLoadingKey
}
>
{
intl
.
formatMessage
({
id
:
'member.memberVisitManage.delete'
},
{
default
:
'删除'
})
}
</
Button
>
</
Popconfirm
>
</
AuthButton
>
</>
),
},
...
...
@@ -166,13 +173,15 @@ const MemberVisitManageIndex: React.FC<{}> = props => {
const
RoleRuleConfigCtl
=
()
=>
(
<
Space
>
<
Button
type=
"primary"
onClick=
{
()
=>
handleJumpFormPage
()
}
icon=
{
<
PlusOutlined
/>
}
>
{
intl
.
formatMessage
({
id
:
'member.memberVisitManage.add'
},
{
default
:
'新增'
})
}
</
Button
>
<
AuthButton
btnCode=
"memberVisitManage.add"
>
<
Button
type=
"primary"
onClick=
{
()
=>
handleJumpFormPage
()
}
icon=
{
<
PlusOutlined
/>
}
>
{
intl
.
formatMessage
({
id
:
'member.memberVisitManage.add'
},
{
default
:
'新增'
})
}
</
Button
>
</
AuthButton
>
</
Space
>
);
...
...
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