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
陈智峰
jinfa-admin
Commits
87a32a99
Commit
87a32a99
authored
Aug 12, 2020
by
tjy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
对接完成会员(待提交审核、待审核(一级)、待审核(二级)、待确认审核
parent
e7495c67
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
405 additions
and
172 deletions
+405
-172
package.json
package.json
+1
-0
card1@2x.png
public/static/imgs/card1@2x.png
+0
-0
card2@2x.png
public/static/imgs/card2@2x.png
+0
-0
card3@2x.png
public/static/imgs/card3@2x.png
+0
-0
card4@2x.png
public/static/imgs/card4@2x.png
+0
-0
index.tsx
src/components/CheckBoxTree/index.tsx
+73
-39
index.tsx
src/components/TabTree/index.tsx
+0
-0
global.d.ts
src/global/config/global.d.ts
+2
-24
usePageStatus.ts
src/hooks/usePageStatus.ts
+4
-2
useTreeTabs.ts
src/hooks/useTreeTabs.ts
+10
-10
auditDetail.tsx
src/pages/member/components/auditDetail.tsx
+0
-0
auditList.tsx
src/pages/member/components/auditList.tsx
+46
-88
index.tsx
src/pages/member/components/schema/index.tsx
+36
-0
addMember.tsx
src/pages/member/memberMaintain/addMember.tsx
+1
-1
equitiesDetail.tsx
src/pages/member/memberMaintain/component/equitiesDetail.tsx
+15
-0
integrityDetail.tsx
...pages/member/memberMaintain/component/integrityDetail.tsx
+15
-0
levelDetail.tsx
src/pages/member/memberMaintain/component/levelDetail.tsx
+71
-0
index.less
src/pages/member/memberMaintain/index.less
+118
-0
memberDetail.tsx
src/pages/member/memberMaintain/memberDetail.tsx
+8
-5
index.tsx
src/pages/member/memberMaintain/schema/index.tsx
+2
-0
auditPr2.tsx
src/pages/member/memberPr2/auditPr2.tsx
+1
-1
auditPrComfirm.tsx
src/pages/member/memberPrConfirm/auditPrComfirm.tsx
+1
-1
request.ts
src/utils/request.ts
+1
-1
No files found.
package.json
View file @
87a32a99
...
...
@@ -3,6 +3,7 @@
"scripts"
:
{
"api"
:
"god-ytt"
,
"start:analyze"
:
"ANALYZE=1 umi dev"
,
"start:dev"
:
"umi dev"
,
"scripts:build"
:
"node scripts/run"
,
"start"
:
"yarn scripts:build && umi dev"
,
"build"
:
"umi build"
,
...
...
public/static/imgs/card1@2x.png
0 → 100644
View file @
87a32a99
53.4 KB
public/static/imgs/card2@2x.png
0 → 100644
View file @
87a32a99
45.4 KB
public/static/imgs/card3@2x.png
0 → 100644
View file @
87a32a99
41.3 KB
public/static/imgs/card4@2x.png
0 → 100644
View file @
87a32a99
43.1 KB
src/components/CheckBoxTree/index.tsx
View file @
87a32a99
import
React
,
{
RefObject
,
useRef
}
from
'react'
import
{
Button
,
Checkbox
}
from
'antd'
import
React
,
{
RefObject
,
useRef
}
from
'react'
;
import
{
Button
,
Checkbox
}
from
'antd'
;
import
{
useSelections
}
from
'@umijs/hooks'
;
import
{
findTreeKeys
}
from
'@/utils'
;
import
'./index.less'
;
export
interface
CheckboxTreeProps
{
title
?:
React
.
ReactNode
,
checkedNodes
?:
any
[],
handleChange
?(
e
?),
disabled
?:
boolean
,
actions
?:
RefObject
<
any
>
title
?:
React
.
ReactNode
;
checkedNodes
?:
any
[];
handleChange
?(
e
?);
handleSubmit
?();
showSave
?;
disabled
?:
boolean
;
actions
?:
RefObject
<
any
>
;
}
const
CheckboxTree
:
React
.
FC
<
CheckboxTreeProps
>
=
(
props
)
=>
{
const
{
title
,
checkedNodes
=
[],
actions
,
handleChange
,
disabled
}
=
props
const
checkedKeys
=
findTreeKeys
(
checkedNodes
,
'id'
)
const
{
selected
,
setSelected
,
toggleAll
,
toggle
,
isSelected
,
allSelected
,
unSelectAll
,
selectAll
}
=
useSelections
(
checkedKeys
,
[]
);
const
CheckboxTree
:
React
.
FC
<
CheckboxTreeProps
>
=
props
=>
{
const
{
title
,
checkedNodes
=
[],
actions
,
handleChange
,
disabled
,
showSave
,
handleSubmit
,
}
=
props
;
const
checkedKeys
=
findTreeKeys
(
checkedNodes
,
'id'
);
const
{
selected
,
setSelected
,
toggleAll
,
toggle
,
isSelected
,
allSelected
,
unSelectAll
,
selectAll
,
}
=
useSelections
(
checkedKeys
,
[]);
if
(
actions
)
{
actions
.
current
.
selected
=
selected
actions
.
current
.
setSelected
=
setSelected
actions
.
current
.
getSelected
=
()
=>
selected
actions
.
current
.
selected
=
selected
;
actions
.
current
.
setSelected
=
setSelected
;
actions
.
current
.
getSelected
=
()
=>
selected
;
}
const
toggleSelectAll
=
()
=>
{
checkChange
()
checkChange
()
;
if
(
allSelected
)
{
unSelectAll
()
unSelectAll
()
;
}
else
{
selectAll
()
selectAll
()
;
}
}
}
;
const
checkChange
=
(
e
?)
=>
{
handleChange
&&
handleChange
(
e
)
}
handleChange
&&
handleChange
(
e
)
;
}
;
return
(
<
div
>
{
title
&&
<
div
className=
'flex-bet'
>
{
title
&&
(
<
div
className=
"flex-bet"
>
<
div
>
{
props
.
title
}
</
div
>
<
Button
onClick=
{
toggleSelectAll
}
type=
'link'
disabled=
{
disabled
}
>
{
allSelected
?
'取消全选'
:
'全选'
}
</
Button
>
<
div
>
<
Button
onClick=
{
toggleSelectAll
}
type=
"link"
disabled=
{
disabled
}
>
{
allSelected
?
'取消全选'
:
'全选'
}
</
Button
>
{
showSave
&&
(
<
Button
onClick=
{
handleSubmit
}
type=
"link"
disabled=
{
disabled
}
>
保存
</
Button
>
)
}
</
div
>
</
div
>
}
<
ul
className=
'checkbox-tree-list'
>
{
checkedNodes
&&
checkedNodes
.
map
((
v
,
i
)
=>
{
return
<
li
key=
{
v
.
id
}
>
<
Checkbox
onChange=
{
checkChange
}
disabled=
{
disabled
}
onClick=
{
()
=>
toggle
(
v
.
id
)
}
checked=
{
isSelected
(
v
.
id
)
}
>
{
v
.
buttonName
}
</
Checkbox
>
</
li
>
})
}
)
}
<
ul
className=
"checkbox-tree-list"
>
{
checkedNodes
&&
checkedNodes
.
map
((
v
,
i
)
=>
{
return
(
<
li
key=
{
v
.
id
}
>
<
Checkbox
onChange=
{
checkChange
}
disabled=
{
disabled
}
onClick=
{
()
=>
toggle
(
v
.
id
)
}
checked=
{
isSelected
(
v
.
id
)
}
>
{
v
.
buttonName
}
</
Checkbox
>
</
li
>
);
})
}
</
ul
>
</
div
>
)
}
)
;
}
;
CheckboxTree
.
defaultProps
=
{
checkedNodes
:
[]
}
checkedNodes
:
[]
,
}
;
export
default
CheckboxTree
\ No newline at end of file
export
default
CheckboxTree
;
src/components/TabTree/index.tsx
View file @
87a32a99
This diff is collapsed.
Click to expand it.
src/global/config/global.d.ts
View file @
87a32a99
...
...
@@ -13,26 +13,9 @@ export interface UseType {
businessType
:
BusinessType
[];
}
export
interface
Element
{
id
:
number
;
fieldName
:
string
;
fieldCNName
:
string
;
fieldType
:
string
;
fieldLength
:
number
;
fieldEmpty
:
number
;
fieldOrder
:
number
;
fieldRemark
:
string
;
checkRules
:
any
[];
}
export
interface
UseDetail
{
groupName
:
string
;
elements
:
Element
[];
}
export
interface
UserRegister
{
useType
:
UseType
;
useDetail
:
UseDetail
[]
;
useDetail
?:
any
;
}
export
interface
RuleConfiguration
{
...
...
@@ -53,18 +36,13 @@ export interface PayInitializeConfig {
payWayResponses
:
PayWayResponse
[];
}
export
interface
Pay
WayResponse
{
export
interface
Pay
PlatformPayConfig
{
id
:
number
;
payType
:
number
;
way
:
string
;
isPitchOn
:
number
;
}
export
interface
PayPlatformPayConfig
{
payType
:
number
;
payWayResponses
:
PayWayResponse
[];
}
export
interface
PayConfig
{
payInitializeConfig
:
PayInitializeConfig
[];
payPlatformPayConfig
:
PayPlatformPayConfig
[];
...
...
src/hooks/usePageStatus.ts
View file @
87a32a99
...
...
@@ -8,7 +8,7 @@ export enum PageStatus {
}
export
const
usePageStatus
=
()
=>
{
const
{
preview
,
id
=
''
}
=
history
.
location
.
query
const
{
preview
,
id
=
''
,
validateId
=
''
}
=
history
.
location
.
query
// 默认预览状态
let
pageStatus
=
PageStatus
.
PREVIEW
if
(
preview
===
'1'
)
{
...
...
@@ -24,6 +24,7 @@ export const usePageStatus = () => {
return
{
pageStatus
,
id
,
preview
preview
,
validateId
}
}
\ No newline at end of file
src/hooks/useTreeTabs.ts
View file @
87a32a99
...
...
@@ -17,10 +17,10 @@ export interface useTreeTabOptions {
export
const
useTreeTabs
=
(
options
:
useTreeTabOptions
=
{})
=>
{
const
{
selectCallback
,
fetchMenuData
,
fetchItemDetailData
,
resetDetail
}
=
options
const
[
treeExtraMaps
,
{
set
,
get
}
]
=
useMap
<
any
,
any
>
()
const
[
treeData
,
setTreeData
]
=
useState
<
any
[]
>
([])
const
[
treeStatus
,
setTreeStatus
]
=
useState
<
FormState
>
(
FormState
.
FREE
)
const
[
nodeRecord
,
setNodeRecord
]
=
useState
<
any
>
(
null
)
const
[
treeExtraMaps
,
{
set
,
get
}
]
=
useMap
<
any
,
any
>
()
const
[
treeData
,
setTreeData
]
=
useState
<
any
[]
>
([])
const
[
treeStatus
,
setTreeStatus
]
=
useState
<
FormState
>
(
FormState
.
FREE
)
const
[
nodeRecord
,
setNodeRecord
]
=
useState
<
any
>
(
null
)
const
[
isEditForm
,
setIsEditForm
]
=
useState
<
boolean
>
(
false
)
...
...
@@ -33,18 +33,18 @@ export const useTreeTabs = (options: useTreeTabOptions = {}) => {
setTreeData
(
res
.
data
||
[])
}
}
const
handleSelect
=
(
selectKey
?,
node
?)
=>
{
if
(
selectCallback
)
{
selectCallback
(
selectKey
,
node
)
return
;
return
;
}
// 首次新增菜单的时候没有节点信息
if
(
!
node
)
{
// 首次新增菜单的时候没有节点信息
if
(
!
node
)
{
setNodeRecord
(
null
)
setTreeStatus
(
FormState
.
ADD
)
return
;
return
;
}
// key相等时 不刷新右侧表单
if
(
nodeRecord
&&
nodeRecord
.
key
===
selectKey
)
{
...
...
@@ -81,7 +81,7 @@ export const useTreeTabs = (options: useTreeTabOptions = {}) => {
}
const
handleFindDetail
=
(
id
)
=>
{
fetchItemDetailData
&&
fetchItemDetailData
(
{
id
}
).
then
(
res
=>
{
fetchItemDetailData
&&
fetchItemDetailData
(
id
).
then
(
res
=>
{
const
{
data
}
=
res
set
(
id
,
data
)
})
...
...
src/pages/member/components/auditDetail.tsx
View file @
87a32a99
This diff is collapsed.
Click to expand it.
src/pages/member/components/auditList.tsx
View file @
87a32a99
...
...
@@ -32,6 +32,14 @@ interface PageProps {
const
{
Option
}
=
Select
;
const
auditList
:
React
.
FC
<
PageProps
>
=
props
=>
{
let
path
=
props
.
pageType
===
'1'
?
'auditPrSubmit'
:
props
.
pageType
===
'2'
?
'auditPr1'
:
props
.
pageType
===
'3'
?
'auditPr2'
:
'auditPrComfirm'
;
const
ref
=
useRef
<
any
>
({});
let
[
isSearch
,
setIsSearch
]
=
useState
(
false
);
const
[
searchForm
,
setSearchForm
]
=
useState
<
any
>
({
...
...
@@ -62,59 +70,41 @@ const auditList: React.FC<PageProps> = props => {
dataIndex
:
'name'
,
align
:
'center'
,
key
:
'name'
,
render
:
(
text
:
any
,
record
:
any
)
=>
{
let
path
=
props
.
pageType
===
'1'
?
'auditPrSubmit'
:
props
.
pageType
===
'2'
?
'auditPr1'
:
props
.
pageType
===
'3'
?
'auditPr2'
:
'auditPrComfirm'
;
return
(
<
EyePreview
url=
{
`/memberAbility/manage/${path}?id=${record.memberId}&preview=1`
}
>
{
text
}
</
EyePreview
>
);
},
render
:
(
text
:
any
,
record
:
any
)
=>
(
<
EyePreview
url=
{
`/memberAbility/manage/${path}?id=${record.memberId}&validateId=${record.validateId}&preview=1`
}
>
{
text
}
</
EyePreview
>
),
},
{
title
:
'会员类型'
,
dataIndex
:
'memberTypeName'
,
align
:
'center'
,
key
:
'memberTypeName'
,
render
:
(
text
:
any
,
record
:
any
)
=>
<
>
{
text
}
</
>,
render
:
(
text
:
any
,
record
:
any
)
=>
<
span
>
{
text
}
</
span
>,
},
{
title
:
'会员角色'
,
dataIndex
:
'roleName'
,
align
:
'center'
,
key
:
'roleName'
,
render
:
(
text
:
any
,
record
:
any
)
=>
{
let
component
:
ReactNode
=
null
;
component
=
<
div
>
{
text
}
</
div
>;
return
component
;
},
render
:
(
text
:
any
,
record
:
any
)
=>
<
span
>
{
text
}
</
span
>,
},
{
title
:
'申请来源/时间'
,
dataIndex
:
'sourceName'
,
align
:
'center'
,
key
:
'sourceName'
,
render
:
(
text
:
any
,
record
:
any
)
=>
{
let
component
:
ReactNode
=
null
;
component
=
(
<>
<
div
>
{
text
}
</
div
>
<
div
>
<
ClockCircleOutlined
/>
{
record
.
registerTime
}
</
div
>
</>
);
return
component
;
},
render
:
(
text
:
any
,
record
:
any
)
=>
(
<>
<
div
>
{
text
}
</
div
>
<
div
>
<
ClockCircleOutlined
/>
{
record
.
registerTime
}
</
div
>
</>
),
},
{
title
:
'会员状态'
,
...
...
@@ -124,19 +114,15 @@ const auditList: React.FC<PageProps> = props => {
filters
:
[],
filteredValue
:
searchForm
.
innerStatus
||
[
'0'
],
filterMultiple
:
false
,
render
:
(
text
:
any
,
record
:
any
)
=>
{
let
component
:
ReactNode
=
null
;
component
=
(
<
div
style=
{
record
.
status
===
1
?
{
color
:
'#00B37A'
}
:
{
color
:
'#42526E'
}
}
>
{
text
}
</
div
>
);
return
component
;
},
render
:
(
text
:
any
,
record
:
any
)
=>
(
<
span
style=
{
record
.
status
===
1
?
{
color
:
'#00B37A'
}
:
{
color
:
'#42526E'
}
}
>
{
text
}
</
span
>
),
},
{
title
:
'外部状态'
,
...
...
@@ -146,11 +132,9 @@ const auditList: React.FC<PageProps> = props => {
filters
:
[],
filteredValue
:
searchForm
.
innerStatus
||
[
'0'
],
filterMultiple
:
false
,
render
:
(
text
:
any
,
record
:
any
)
=>
{
let
component
:
ReactNode
=
null
;
component
=
<
div
style=
{
{
color
:
'#FF991F'
}
}
>
{
text
}
</
div
>;
return
component
;
},
render
:
(
text
:
any
,
record
:
any
)
=>
(
<
span
style=
{
{
color
:
'#FF991F'
}
}
>
{
text
}
</
span
>
),
},
{
title
:
'内部状态'
,
...
...
@@ -168,19 +152,15 @@ const auditList: React.FC<PageProps> = props => {
title
:
'操作'
,
dataIndex
:
'option'
,
align
:
'center'
,
render
:
(
text
:
any
,
record
:
any
)
=>
{
let
component
:
ReactNode
=
null
;
component
=
(
<
Button
type=
"link"
onClick=
{
()
=>
handleChange
(
record
,
'audit'
)
}
>
{
props
.
pageType
===
'1'
?
'提交审核'
:
props
.
pageType
===
'2'
?
'审核'
:
'确认审核'
}
</
Button
>
);
return
component
;
},
render
:
(
text
:
any
,
record
:
any
)
=>
(
<
Button
type=
"link"
onClick=
{
()
=>
handleChange
(
record
,
'audit'
)
}
>
{
props
.
pageType
===
'1'
?
'提交审核'
:
props
.
pageType
===
'2'
?
'审核'
:
'确认审核'
}
</
Button
>
),
},
];
...
...
@@ -230,16 +210,6 @@ const auditList: React.FC<PageProps> = props => {
});
};
useEffect
(()
=>
{
// if (!isFirst) return setIsFirst(true);
// ref.current.reload();
},
[
searchForm
.
memberType
,
searchForm
.
roleId
,
searchForm
.
level
,
searchForm
.
source
,
]);
// 初始化表头筛选项接收的数据类型
const
processData
=
(
data
:
any
)
=>
{
for
(
let
elem
of
data
)
{
...
...
@@ -315,19 +285,7 @@ const auditList: React.FC<PageProps> = props => {
setSearchForm
({
...
searchKey
});
};
const
handleSubmit
=
(
val
:
any
)
=>
{
console
.
log
(
val
);
};
const
handleChange
=
(
record
:
any
,
type
:
string
)
=>
{
let
path
=
props
.
pageType
===
'1'
?
'auditPrSubmit'
:
props
.
pageType
===
'2'
?
'auditPr1'
:
props
.
pageType
===
'3'
?
'auditPr2'
:
'auditPrComfirm'
;
history
.
push
({
pathname
:
`/memberAbility/manage/
${
path
}
`
,
query
:
{
...
...
src/pages/member/components/schema/index.tsx
0 → 100644
View file @
87a32a99
import
{
ISchema
}
from
'@formily/antd'
;
export
const
auditSchema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
MEGA_LAYOUT
:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
'x-component-props'
:
{
labelAlign
:
'top'
,
},
properties
:
{
agree
:
{
type
:
'string'
,
default
:
1
,
enum
:
[
{
label
:
'审核通过'
,
value
:
1
},
{
label
:
'审核不通过'
,
value
:
0
},
],
'x-component'
:
'radio'
,
'x-component-props'
:
{},
},
reason
:
{
type
:
'string'
,
title
:
'审核不通过原因'
,
'x-component'
:
'textarea'
,
'x-component-props'
:
{
placeholder
:
'在此输入你的内容,最长120个字符,60个汉字'
,
maxLength
:
60
,
},
'x-rules'
:
[{
required
:
true
,
message
:
'请填写审核不通过原因'
}],
},
},
},
},
};
src/pages/member/memberMaintain/addMember.tsx
View file @
87a32a99
...
...
@@ -10,7 +10,7 @@ import NiceForm from '@/components/NiceForm';
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
initDetailSchema
}
from
'./schema'
;
import
{
useAsyncSelect
}
from
'@/formSchema/effects/useAsyncSelect'
;
import
{
useAsyncSelect
}
from
'@/formSchema/effects/useAsyncSelect'
import
{
useAsyncInitSelect
}
from
'@/formSchema/effects/useAsyncInitSelect'
;
import
{
PublicApi
}
from
'@/services/api'
;
...
...
src/pages/member/memberMaintain/component/equitiesDetail.tsx
View file @
87a32a99
import
React
,
{
useState
}
from
'react'
;
import
{
Row
,
Col
,
Tabs
,
Steps
,
Badge
}
from
'antd'
;
import
{
StandardTable
}
from
'god'
;
import
{
ColumnType
}
from
'antd/lib/table/interface'
;
import
styles
from
'../index.less'
;
interface
PageProps
{
detailData
:
any
;
}
const
EquitiesDetail
:
React
.
FC
<
PageProps
>
=
props
=>
{
return
<>
123
</>;
};
export
default
EquitiesDetail
;
src/pages/member/memberMaintain/component/integrityDetail.tsx
View file @
87a32a99
import
React
,
{
useState
}
from
'react'
;
import
{
Row
,
Col
,
Tabs
,
Steps
,
Badge
}
from
'antd'
;
import
{
StandardTable
}
from
'god'
;
import
{
ColumnType
}
from
'antd/lib/table/interface'
;
import
styles
from
'../index.less'
;
interface
PageProps
{
detailData
:
any
;
}
const
IntegrityDetail
:
React
.
FC
<
PageProps
>
=
props
=>
{
return
<>
123
</>;
};
export
default
IntegrityDetail
;
src/pages/member/memberMaintain/component/levelDetail.tsx
View file @
87a32a99
import
React
,
{
useState
}
from
'react'
;
import
{
Row
,
Col
,
Progress
,
Form
,
Input
}
from
'antd'
;
import
{
StandardTable
}
from
'god'
;
import
{
ColumnType
}
from
'antd/lib/table/interface'
;
import
styles
from
'../index.less'
;
interface
PageProps
{
detailData
:
any
;
}
const
LevelDetail
:
React
.
FC
<
PageProps
>
=
props
=>
{
const
{
detailData
}
=
props
;
return
(
<
Row
>
<
Col
className=
{
styles
[
'mainCol'
]
}
span=
{
24
}
>
<
div
className=
{
styles
[
'mainCol-title'
]
}
>
会员等级
</
div
>
<
div
className=
{
styles
[
'mainCol-chart'
]
}
>
<
div
className=
{
styles
[
'mainCol-chart-main'
]
}
>
<
div
className=
{
styles
[
`mainCol-chart-main-card${detailData.level || '4'}`
]
}
>
<
h2
>
青铜会员
</
h2
>
<
div
className=
{
styles
[
'progress'
]
}
>
<
Progress
style=
{
{
height
:
'4px'
}
}
strokeLinecap=
"square"
strokeColor=
{
detailData
.
level
===
'1'
?
'#A47268'
:
detailData
.
level
===
'2'
?
'#576C8F'
:
detailData
.
level
===
'3'
?
'#B28525'
:
'#595B71'
}
trailColor=
{
detailData
.
level
===
'1'
?
'#E9BFA9'
:
detailData
.
level
===
'2'
?
'#ABC0DC'
:
detailData
.
level
===
'3'
?
'#D6C39D'
:
'#A7AAC6'
}
showInfo=
{
false
}
percent=
{
75
}
/>
<
div
className=
{
styles
[
'progress-score'
]
}
>
<
span
>
5000/15000
</
span
>
<
span
>
白银会员
</
span
>
</
div
>
<
div
>
当前活跃分
</
div
>
</
div
>
</
div
>
</
div
>
<
div
className=
{
styles
[
'mainCol-chart-main'
]
}
>
<
div
className=
{
styles
[
'mainCol-chart-main-line'
]
}
>
line
</
div
>
</
div
>
</
div
>
</
Col
>
<
Col
className=
{
styles
[
'mainCol'
]
}
span=
{
24
}
>
<
div
className=
{
styles
[
'mainCol-title'
]
}
>
活跃分获取记录
</
div
>
</
Col
>
</
Row
>
);
};
export
default
LevelDetail
;
src/pages/member/memberMaintain/index.less
View file @
87a32a99
...
...
@@ -140,6 +140,124 @@
}
}
}
&-chart {
display : flex;
padding-bottom: 28px;
&-main {
width: 30%;
&:nth-last-of-type(1) {
width : 70%;
background-color: greenyellow
}
&-card1 {
width : 338px;
height : 190px;
box-shadow : 0px 1px 2px 0px rgba(23, 43, 77, 0.12);
border-radius: 8px;
box-sizing : border-box;
padding : 32px 24px 16px;
background : url("/static/imgs/card1@2x.png") center center no-repeat;
h2 {
color : #A47268;
letter-spacing: 2px;
margin-bottom : 38px;
}
.progress {
width: 218px;
&-score {
display : flex;
justify-content: space-between;
}
}
}
&-card2 {
width : 338px;
height : 190px;
box-shadow : 0px 1px 2px 0px rgba(23, 43, 77, 0.12);
border-radius: 8px;
box-sizing : border-box;
padding : 32px 24px 16px;
background : url("/static/imgs/card2@2x.png") center center no-repeat;
h2 {
color : #5B6F92;
letter-spacing: 2px;
margin-bottom : 38px;
}
.progress {
width: 218px;
&-score {
display : flex;
justify-content: space-between;
}
}
}
&-card3 {
width : 338px;
height : 190px;
box-shadow : 0px 1px 2px 0px rgba(23, 43, 77, 0.12);
border-radius: 8px;
box-sizing : border-box;
padding : 32px 24px 16px;
background : url("/static/imgs/card3@2x.png") center center no-repeat;
h2 {
color : #987326;
letter-spacing: 2px;
margin-bottom : 38px;
}
.progress {
width: 218px;
&-score {
display : flex;
justify-content: space-between;
}
}
}
&-card4 {
width : 338px;
height : 190px;
box-shadow : 0px 1px 2px 0px rgba(23, 43, 77, 0.12);
border-radius: 8px;
box-sizing : border-box;
padding : 32px 24px 16px;
background : url("/static/imgs/card4@2x.png") center center no-repeat;
h2 {
color : #595B71;
letter-spacing: 2px;
margin-bottom : 38px;
}
.progress {
width: 218px;
&-score {
display : flex;
justify-content: space-between;
}
}
}
&-line {}
}
}
}
.authCol {
...
...
src/pages/member/memberMaintain/memberDetail.tsx
View file @
87a32a99
...
...
@@ -8,14 +8,17 @@ import { usePageStatus, PageStatus } from '@/hooks/usePageStatus';
import
{
PublicApi
}
from
'@/services/api'
;
import
styles
from
'./index.less'
;
import
BaseDetail
from
'./component/baseDetail'
;
import
AuthDetail
from
'./component/AuthDetail'
;
import
AuthDetail
from
'./component/authDetail'
;
import
LevelDetail
from
'./component/levelDetail'
;
import
EquitiesDetail
from
'./component/equitiesDetail'
;
import
IntegrityDetail
from
'./component/integrityDetail'
;
const
{
TabPane
}
=
Tabs
;
const
{
Step
}
=
Steps
;
const
MemberDetail
:
React
.
FC
<
{}
>
=
()
=>
{
const
{
pageStatus
,
id
}
=
usePageStatus
();
const
[
hActived
,
setHActived
]
=
useState
(
'
1
'
);
const
[
hActived
,
setHActived
]
=
useState
(
'
3
'
);
const
[
detailData
,
setDetailData
]
=
useState
<
any
>
({});
useEffect
(()
=>
{
...
...
@@ -79,11 +82,11 @@ const MemberDetail: React.FC<{}> = () => {
)
:
hActived
===
'2'
?
(
<
AuthDetail
detailData=
{
detailData
}
/>
)
:
hActived
===
'3'
?
(
''
<
LevelDetail
detailData=
{
detailData
}
/>
)
:
hActived
===
'4'
?
(
''
<
EquitiesDetail
detailData=
{
detailData
}
/>
)
:
(
''
<
IntegrityDetail
detailData=
{
detailData
}
/>
)
}
</
PageHeaderWrapper
>
);
...
...
src/pages/member/memberMaintain/schema/index.tsx
View file @
87a32a99
...
...
@@ -2,6 +2,8 @@ import React from 'react';
import
{
ISchema
}
from
'@formily/antd'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
let
id
;
export
const
importSchema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
...
...
src/pages/member/memberPr2/auditPr2.tsx
View file @
87a32a99
...
...
@@ -2,7 +2,7 @@ import React from 'react';
import
AuditDetail
from
'../components/auditDetail'
;
const
auditPr
=
(
props
:
any
)
=>
{
return
<
AuditDetail
auditType=
"
2
"
routeParams=
{
props
.
location
.
query
}
/>;
return
<
AuditDetail
auditType=
"
3
"
routeParams=
{
props
.
location
.
query
}
/>;
};
export
default
auditPr
;
src/pages/member/memberPrConfirm/auditPrComfirm.tsx
View file @
87a32a99
...
...
@@ -2,7 +2,7 @@ import React from 'react';
import
AuditDetail
from
'../components/auditDetail'
;
const
auditPrConfirm
=
(
props
:
any
)
=>
{
return
<
AuditDetail
auditType=
"
3
"
routeParams=
{
props
.
location
.
query
}
/>;
return
<
AuditDetail
auditType=
"
4
"
routeParams=
{
props
.
location
.
query
}
/>;
};
export
default
auditPrConfirm
;
src/utils/request.ts
View file @
87a32a99
...
...
@@ -47,7 +47,7 @@ const errorHandler = (error: ResponseError):IRequestError => {
const
defaultHeaders
=
{
'Content-Type'
:
'Application/json'
,
'token'
:
'e
0ad7389eb024e5cda8ac92762f4454a
'
'token'
:
'e
1404c3d593ad198e88187553bc40b2c
'
}
/**
...
...
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