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
linweijiong
jinfa-platform
Commits
590850fc
Commit
590850fc
authored
Dec 04, 2021
by
XieZhiXiong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 添加 会员等级、会员升级规则 CN国际化
parent
5df21305
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
111 additions
and
50 deletions
+111
-50
member.ts
src/locales/zh-CN/member.ts
+51
-0
index.tsx
src/pages/member/memberLevel/components/DetailInfo/index.tsx
+25
-23
index.tsx
src/pages/member/memberLevel/index.tsx
+15
-13
index.tsx
src/pages/member/memberLevel/schema/index.tsx
+7
-4
index.tsx
src/pages/member/memberUpgradeRule/index.tsx
+13
-10
No files found.
src/locales/zh-CN/member.ts
View file @
590850fc
...
...
@@ -220,6 +220,57 @@ export default {
// 待确认会员变更
'member.management.memberPrVerifyChangeConfirm.query.verify-tip'
:
'确定要审核通过选中的会员吗?'
,
// 会员等级
'member.management.memberLevel.query.columns.id'
:
'ID'
,
'member.management.memberLevel.query.columns.level'
:
'会员等级'
,
'member.management.memberLevel.query.columns.levelTag'
:
'会员等级标签'
,
'member.management.memberLevel.query.columns.memberLevelTypeName'
:
'会员等级类型'
,
'member.management.memberLevel.query.columns.scoreTag'
:
'升级分值标签'
,
'member.management.memberLevel.query.columns.roleName'
:
'会员角色名称'
,
'member.management.memberLevel.query.columns.roleTypeName'
:
'角色类型'
,
'member.management.memberLevel.query.columns.memberTypeName'
:
'会员类型'
,
'member.management.memberLevel.query.columns.point'
:
'升级阈值'
,
'member.management.memberLevel.query.columns.status'
:
'状态'
,
'member.management.memberLevel.query.setting'
:
'设置'
,
'member.management.memberLevel.query.levelTag.placeholder'
:
'搜索'
,
'member.management.memberLevel.query.levelTag.tip'
:
'输入 会员等级标签 进行搜索'
,
'member.management.memberLevel.query.roleName.placeholder'
:
'角色名称'
,
'member.management.memberLevel.query.query'
:
'查询'
,
'member.management.memberLevel.components.DetailInfo.status.active'
:
'启用成功'
,
'member.management.memberLevel.components.DetailInfo.status.disbled'
:
'禁用成功'
,
'member.management.memberLevel.components.DetailInfo.columns.id'
:
'ID'
,
'member.management.memberLevel.components.DetailInfo.columns.name'
:
'会员权益名称'
,
'member.management.memberLevel.components.DetailInfo.columns.remark'
:
'会员权益说明'
,
'member.management.memberLevel.components.DetailInfo.columns.acquireWay'
:
'权益获取方式'
,
'member.management.memberLevel.components.DetailInfo.columns.paramWay'
:
'参数设置方式'
,
'member.management.memberLevel.components.DetailInfo.columns.param'
:
'参数'
,
'member.management.memberLevel.components.DetailInfo.columns.status'
:
'参数'
,
'member.management.memberLevel.components.DetailInfo.columns.rules-required'
:
'请输入相应值'
,
'member.management.memberLevel.components.DetailInfo.columns.rules-legal'
:
'请输入整数或小数位不超过两位的小数'
,
'member.management.memberLevel.components.DetailInfo.submit.success'
:
'保存成功'
,
'member.management.memberLevel.components.DetailInfo.submit'
:
'保存'
,
'member.management.memberLevel.components.DetailInfo.level'
:
'会员等级'
,
'member.management.memberLevel.components.DetailInfo.scoreTag'
:
'升级分值标签'
,
'member.management.memberLevel.components.DetailInfo.roleTypeName'
:
'角色类型'
,
'member.management.memberLevel.components.DetailInfo.levelRemark'
:
'会员等级说明'
,
'member.management.memberLevel.components.DetailInfo.roleName'
:
'会员角色名称'
,
'member.management.memberLevel.components.DetailInfo.memberTypeName'
:
'会员类型'
,
'member.management.memberLevel.components.DetailInfo.threshold'
:
'升级阀值'
,
'member.management.memberLevel.components.DetailInfo.threshold.current'
:
'当前阀值'
,
'member.management.memberLevel.components.DetailInfo.rights'
:
'会员权益'
,
// 会员升级规则
'member.management.memberUpgradeRule.columns.id'
:
'ID'
,
'member.management.memberUpgradeRule.columns.ruleName'
:
'升级规则'
,
'member.management.memberUpgradeRule.columns.remark'
:
'升级规则说明'
,
'member.management.memberUpgradeRule.columns.levelTypeName'
:
'适用会员等级类型'
,
'member.management.memberUpgradeRule.columns.score'
:
'可获取的分值'
,
'member.management.memberUpgradeRule.columns.rules-required'
:
'请输入相应值'
,
'member.management.memberUpgradeRule.transaction.rules-legal'
:
'请输入整数或小数'
,
'member.management.memberUpgradeRule.login.rules-legal'
:
'请输入整数数值'
,
'member.management.memberUpgradeRule.comment.rules-legal'
:
'请输入整数数值'
,
'member.management.memberUpgradeRule.save'
:
'保存'
,
// 会员状态
'member.status.notAaudit'
:
'待审核'
,
...
...
src/pages/member/memberLevel/components/DetailInfo/index.tsx
View file @
590850fc
import
React
,
{
useState
,
useEffect
}
from
'react'
;
import
{
history
}
from
'umi'
;
import
{
history
,
useIntl
}
from
'umi'
;
import
{
Button
,
Popconfirm
,
...
...
@@ -38,6 +38,8 @@ const DetailInfo: React.FC<DetailInfoProps> = ({
const
[
submitLoading
,
setSubmitLoading
]
=
useState
(
false
);
const
[
submitDisabled
,
setSubmitDisabled
]
=
useState
(
false
);
const
intl
=
useIntl
();
const
getMemberLevelInfo
=
()
=>
{
setInfoLoading
(
true
);
getMemberAbilityLevelGet
({
...
...
@@ -67,7 +69,7 @@ const DetailInfo: React.FC<DetailInfoProps> = ({
ctlType
:
'none'
,
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
const
msg
=
disabled
?
'启用成功'
:
'禁用成功'
const
msg
=
disabled
?
intl
.
formatMessage
({
id
:
'member.management.memberLevel.components.DetailInfo.status.active'
})
:
intl
.
formatMessage
({
id
:
'member.management.memberLevel.components.DetailInfo.status.disbled'
})
message
.
success
(
msg
);
getMemberLevelInfo
();
}
...
...
@@ -76,33 +78,33 @@ const DetailInfo: React.FC<DetailInfoProps> = ({
const
columns
:
EditableColumns
[]
=
[
{
title
:
'ID'
,
title
:
intl
.
formatMessage
({
id
:
'member.management.memberLevel.components.DetailInfo.columns.id'
})
,
dataIndex
:
'id'
,
},
{
title
:
'会员权益名称'
,
title
:
intl
.
formatMessage
({
id
:
'member.management.memberLevel.components.DetailInfo.columns.name'
})
,
dataIndex
:
'name'
,
},
{
title
:
'会员权益说明'
,
title
:
intl
.
formatMessage
({
id
:
'member.management.memberLevel.components.DetailInfo.columns.remark'
})
,
dataIndex
:
'remark'
,
},
{
title
:
'权益获取方式'
,
title
:
intl
.
formatMessage
({
id
:
'member.management.memberLevel.components.DetailInfo.columns.acquireWay'
})
,
dataIndex
:
'acquireWay'
,
},
{
title
:
'参数设置方式'
,
title
:
intl
.
formatMessage
({
id
:
'member.management.memberLevel.components.DetailInfo.columns.paramWay'
})
,
dataIndex
:
'paramWay'
,
},
{
title
:
'参数'
,
title
:
intl
.
formatMessage
({
id
:
'member.management.memberLevel.components.DetailInfo.columns.param'
})
,
dataIndex
:
'param'
,
width
:
'20%'
,
editable
:
isEdit
,
},
{
title
:
'状态'
,
title
:
intl
.
formatMessage
({
id
:
'member.management.memberLevel.components.DetailInfo.columns.status'
})
,
dataIndex
:
'status'
,
render
:
(
_
,
record
:
any
)
=>
(
isEdit
?
(
...
...
@@ -112,7 +114,7 @@ const DetailInfo: React.FC<DetailInfoProps> = ({
fieldNames=
"status"
/>
)
:
(
_
===
1
?
'有效'
:
'失效'
_
===
1
?
intl
.
formatMessage
({
id
:
'common.status.effective'
})
:
intl
.
formatMessage
({
id
:
'common.status.invalid'
})
)
)
}
...
...
@@ -180,7 +182,7 @@ const DetailInfo: React.FC<DetailInfoProps> = ({
try
{
const
resArr
=
await
Promise
.
all
(
promises
);
if
(
resArr
.
every
((
item
:
{
code
:
number
})
=>
item
.
code
===
1000
))
{
message
.
success
(
'保存成功'
);
message
.
success
(
intl
.
formatMessage
({
id
:
'member.management.memberLevel.components.DetailInfo.submit.success'
})
);
getMemberLevelInfo
();
}
// const errorItem = resArr.find(item => item.code !== 1000);
...
...
@@ -209,11 +211,11 @@ const DetailInfo: React.FC<DetailInfoProps> = ({
rules
:
[
{
required
:
true
,
message
:
'请输入相应值'
,
message
:
intl
.
formatMessage
({
id
:
'member.management.memberLevel.components.DetailInfo.columns.rules-required'
})
,
},
{
pattern
:
PATTERN_MAPS
.
money
,
message
:
'请输入整数或小数位不超过两位的小数'
,
message
:
intl
.
formatMessage
({
id
:
'member.management.memberLevel.components.DetailInfo.columns.rules-legal'
})
,
},
],
addonAfter
:
'%'
,
...
...
@@ -246,7 +248,7 @@ const DetailInfo: React.FC<DetailInfoProps> = ({
disabled=
{
submitDisabled
}
onClick=
{
handleSubmit
}
>
保存
{
intl
.
formatMessage
({
id
:
'member.management.memberLevel.components.DetailInfo.submit'
})
}
</
Button
>
)
}
</>
...
...
@@ -274,19 +276,19 @@ const DetailInfo: React.FC<DetailInfoProps> = ({
padding
:
'0 32px'
,
}
}
>
<
Descriptions
.
Item
label=
"会员等级"
>
{
levelInfo
?.
level
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"升级分值标签"
>
{
levelInfo
?.
scoreTag
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"角色类型"
>
{
levelInfo
?.
roleTypeName
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"会员等级说明"
>
{
levelInfo
?.
levelRemark
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"会员角色名称"
>
{
levelInfo
?.
roleName
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"会员类型"
>
{
levelInfo
?.
memberTypeName
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
{
intl
.
formatMessage
({
id
:
'member.management.memberLevel.components.DetailInfo.level'
})
}
>
{
levelInfo
?.
level
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
{
intl
.
formatMessage
({
id
:
'member.management.memberLevel.components.DetailInfo.scoreTag'
})
}
>
{
levelInfo
?.
scoreTag
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
{
intl
.
formatMessage
({
id
:
'member.management.memberLevel.components.DetailInfo.roleTypeName'
})
}
>
{
levelInfo
?.
roleTypeName
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
{
intl
.
formatMessage
({
id
:
'member.management.memberLevel.components.DetailInfo.levelRemark'
})
}
>
{
levelInfo
?.
levelRemark
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
{
intl
.
formatMessage
({
id
:
'member.management.memberLevel.components.DetailInfo.roleName'
})
}
>
{
levelInfo
?.
roleName
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
{
intl
.
formatMessage
({
id
:
'member.management.memberLevel.components.DetailInfo.memberTypeName'
})
}
>
{
levelInfo
?.
memberTypeName
}
</
Descriptions
.
Item
>
</
Descriptions
>
</
PageHeader
>
</>
}
>
<
Card
title=
"升级阀值"
title=
{
intl
.
formatMessage
({
id
:
'member.management.memberLevel.components.DetailInfo.threshold'
})
}
headStyle=
{
{
borderBottom
:
'none'
,
}
}
...
...
@@ -295,7 +297,7 @@ const DetailInfo: React.FC<DetailInfoProps> = ({
<
div
className=
{
styles
.
extra
}
>
<
div
className=
{
styles
[
'extra-main'
]
}
>
<
div
className=
{
classNames
(
styles
[
'extra-main-content'
],
styles
.
left
)
}
>
<
div
className=
{
styles
.
icon
}
>
当前阀值
</
div
>
<
div
className=
{
styles
.
icon
}
>
{
intl
.
formatMessage
({
id
:
'member.management.memberLevel.components.DetailInfo.threshold.current'
})
}
</
div
>
<
div
className=
{
styles
.
input
}
>
<
div
className=
{
styles
[
'input-main'
]
}
>
<
Input
...
...
@@ -321,7 +323,7 @@ const DetailInfo: React.FC<DetailInfoProps> = ({
</
Card
>
<
Card
title=
"会员权益"
title=
{
intl
.
formatMessage
({
id
:
'member.management.memberLevel.components.DetailInfo.rights'
})
}
headStyle=
{
{
borderBottom
:
'none'
,
}
}
...
...
src/pages/member/memberLevel/index.tsx
View file @
590850fc
import
React
,
{
useRef
}
from
'react'
;
import
{
history
}
from
'umi'
;
import
{
history
,
useIntl
}
from
'umi'
;
import
{
Button
,
Card
,
message
}
from
'antd'
;
import
{
StandardTable
}
from
'god'
;
import
{
ColumnType
}
from
'antd/lib/table/interface'
;
...
...
@@ -28,20 +28,22 @@ const fetchData = async (params: any) => {
const
MemberLevel
:
React
.
FC
<
[]
>
=
()
=>
{
const
ref
=
useRef
<
any
>
({});
const
intl
=
useIntl
();
const
columns
:
ColumnType
<
any
>
[]
=
[
{
title
:
'ID'
,
title
:
intl
.
formatMessage
({
id
:
'member.management.memberLevel.query.columns.id'
})
,
dataIndex
:
'id'
,
},
{
title
:
'会员等级'
,
title
:
intl
.
formatMessage
({
id
:
'member.management.memberLevel.query.columns.level'
})
,
dataIndex
:
'level'
,
render
:
(
text
:
any
,
record
:
any
)
=>
(
<
div
className=
{
styles
[
`levelIcon${record.level}`
]
}
></
div
>
),
},
{
title
:
'会员等级标签'
,
title
:
intl
.
formatMessage
({
id
:
'member.management.memberLevel.query.columns.levelTag'
})
,
dataIndex
:
'levelTag'
,
key
:
'levelTag'
,
render
:
(
text
:
any
,
record
:
any
)
=>
(
...
...
@@ -53,31 +55,31 @@ const MemberLevel: React.FC<[]> = () => {
),
},
{
title
:
'会员等级类型'
,
title
:
intl
.
formatMessage
({
id
:
'member.management.memberLevel.query.columns.memberLevelTypeName'
})
,
dataIndex
:
'memberLevelTypeName'
,
},
{
title
:
'升级分值标签'
,
title
:
intl
.
formatMessage
({
id
:
'member.management.memberLevel.query.columns.scoreTag'
})
,
dataIndex
:
'scoreTag'
,
},
{
title
:
'会员角色名称'
,
title
:
intl
.
formatMessage
({
id
:
'member.management.memberLevel.query.columns.roleName'
})
,
dataIndex
:
'roleName'
,
},
{
title
:
'角色类型'
,
title
:
intl
.
formatMessage
({
id
:
'member.management.memberLevel.query.columns.roleTypeName'
})
,
dataIndex
:
'roleTypeName'
,
},
{
title
:
'会员类型'
,
title
:
intl
.
formatMessage
({
id
:
'member.management.memberLevel.query.columns.memberTypeName'
})
,
dataIndex
:
'memberTypeName'
,
},
{
title
:
'升级阈值'
,
title
:
intl
.
formatMessage
({
id
:
'member.management.memberLevel.query.columns.point'
})
,
dataIndex
:
'point'
,
},
{
title
:
'状态'
,
title
:
intl
.
formatMessage
({
id
:
'member.management.memberLevel.query.columns.status'
})
,
dataIndex
:
'status'
,
render
:
(
text
:
any
,
record
:
any
)
=>
(
<
StatusSwitch
...
...
@@ -88,7 +90,7 @@ const MemberLevel: React.FC<[]> = () => {
),
},
{
title
:
'操作'
,
title
:
intl
.
formatMessage
({
id
:
'common.table.action'
})
,
dataIndex
:
'option'
,
render
:
(
text
:
any
,
record
:
any
)
=>
(
<
Button
...
...
@@ -97,7 +99,7 @@ const MemberLevel: React.FC<[]> = () => {
history
.
push
(
`/memberCenter/memberAbility/ruleConfiguration/level/edit?id=${record.id}`
)
}
>
设置
{
intl
.
formatMessage
({
id
:
'member.management.memberLevel.query.setting'
})
}
</
Button
>
),
},
...
...
src/pages/member/memberLevel/schema/index.tsx
View file @
590850fc
import
{
getIntl
}
from
'umi'
;
import
{
ISchema
}
from
'@formily/antd'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
const
intl
=
getIntl
();
export
const
levelSchema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
...
...
@@ -19,8 +22,8 @@ export const levelSchema: ISchema = {
type
:
'string'
,
'x-component'
:
'Search'
,
'x-component-props'
:
{
placeholder
:
'搜索'
,
tip
:
'输入 会员等级标签 进行搜索'
,
placeholder
:
intl
.
formatMessage
({
id
:
'member.management.memberLevel.query.levelTag.placeholder'
}),
tip
:
intl
.
formatMessage
({
id
:
'member.management.memberLevel.query.levelTag.tip'
}),
},
},
},
...
...
@@ -41,7 +44,7 @@ export const levelSchema: ISchema = {
type
:
'string'
,
'x-component'
:
'Input'
,
'x-component-props'
:
{
placeholder
:
'角色名称'
,
placeholder
:
intl
.
formatMessage
({
id
:
'member.management.memberLevel.query.roleName.placeholder'
}),
allowClear
:
true
,
style
:
{
width
:
160
,
...
...
@@ -51,7 +54,7 @@ export const levelSchema: ISchema = {
submit
:
{
'x-component'
:
'Submit'
,
'x-component-props'
:
{
children
:
'查询'
,
children
:
intl
.
formatMessage
({
id
:
'member.management.memberLevel.query.query'
})
,
},
},
},
...
...
src/pages/member/memberUpgradeRule/index.tsx
View file @
590850fc
import
React
,
{
useState
,
useEffect
}
from
'react'
;
import
{
useIntl
}
from
'umi'
;
import
{
Card
,
Button
,
...
...
@@ -21,6 +22,8 @@ const MemberUpgradeRule: React.FC<[]> = () => {
const
[
submitLoading
,
setSubmitLoading
]
=
useState
(
false
);
const
[
submitDisabled
,
setSubmitDisabled
]
=
useState
(
false
);
const
intl
=
useIntl
();
const
getRuleList
=
async
(
params
)
=>
{
setListLoading
(
true
);
const
res
=
await
getMemberAbilityLevelRulePage
(
params
);
...
...
@@ -42,28 +45,28 @@ const MemberUpgradeRule: React.FC<[]> = () => {
const
columns
:
EditableColumns
[]
=
[
{
title
:
'ID'
,
title
:
intl
.
formatMessage
({
id
:
'member.management.memberUpgradeRule.columns.id'
})
,
dataIndex
:
'id'
,
width
:
'15%'
,
},
{
title
:
'升级规则'
,
title
:
intl
.
formatMessage
({
id
:
'member.management.memberUpgradeRule.columns.ruleName'
})
,
dataIndex
:
'ruleName'
,
width
:
'15%'
,
},
{
title
:
'升级规则说明'
,
title
:
intl
.
formatMessage
({
id
:
'member.management.memberUpgradeRule.columns.remark'
})
,
dataIndex
:
'remark'
,
ellipsis
:
true
,
render
:
text
=>
<
Tooltip
title=
{
text
}
>
{
text
}
</
Tooltip
>,
},
{
title
:
'适用会员等级类型'
,
title
:
intl
.
formatMessage
({
id
:
'member.management.memberUpgradeRule.columns.levelTypeName'
})
,
dataIndex
:
'levelTypeName'
,
width
:
'15%'
,
},
{
title
:
'可获取的分值'
,
title
:
intl
.
formatMessage
({
id
:
'member.management.memberUpgradeRule.columns.score'
})
,
dataIndex
:
'score'
,
width
:
'15%'
,
editable
:
true
,
...
...
@@ -126,19 +129,19 @@ const MemberUpgradeRule: React.FC<[]> = () => {
[
VIP_RULE_TRANSACTION
]:
[
{
pattern
:
/^
([
0
]
|
[
1-9
]
+
[
0-9
]
*
)(\.[
0-9
]
+
)?
$/
,
message
:
'请输入整数或小数'
,
message
:
intl
.
formatMessage
({
id
:
'member.management.memberUpgradeRule.transaction.rules-legal'
})
,
},
],
[
VIP_RULE_LOGIN
]:
[
{
pattern
:
/^
[
0
]
$|^
[
1-9
]
+
[
0-9
]
*$/
,
message
:
'请输入整数数值'
,
message
:
intl
.
formatMessage
({
id
:
'member.management.memberUpgradeRule.login.rules-legal'
})
,
},
],
[
VIP_RULE_COMMENT
]:
[
{
pattern
:
/^
[
0
]
$|^
[
1-9
]
+
[
0-9
]
*$/
,
message
:
'请输入整数数值'
,
message
:
intl
.
formatMessage
({
id
:
'member.management.memberUpgradeRule.comment.rules-legal'
})
,
},
],
};
...
...
@@ -160,7 +163,7 @@ const MemberUpgradeRule: React.FC<[]> = () => {
rules
:
[
{
required
:
true
,
message
:
'请输入相应值'
,
message
:
intl
.
formatMessage
({
id
:
'member.management.memberUpgradeRule.columns.rules-required'
})
,
},
...(
rulesMap
[
record
.
ruleTypeEnum
]
||
[]),
],
...
...
@@ -188,7 +191,7 @@ const MemberUpgradeRule: React.FC<[]> = () => {
disabled=
{
submitDisabled
}
onClick=
{
handleSubmit
}
>
保存
{
intl
.
formatMessage
({
id
:
'member.management.memberUpgradeRule.save'
})
}
</
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