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
黄庭坚
jinfa-platform
Commits
a19e21e8
Commit
a19e21e8
authored
Sep 10, 2020
by
XieZhiXiong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
对接完信息查询 -》会员信息变更
parent
7d1ce914
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
269 additions
and
38 deletions
+269
-38
memberRoute.ts
config/routes/memberRoute.ts
+7
-0
menu.ts
src/locales/zh-CN/menu.ts
+3
-2
addMember.tsx
src/pages/member/memberImport/addMember.tsx
+4
-3
auditPr1.tsx
src/pages/member/memberPr1/auditPr1.tsx
+1
-1
auditPr2.tsx
src/pages/member/memberPr2/auditPr2.tsx
+1
-1
auditPrComfirm.tsx
src/pages/member/memberPrConfirm/auditPrComfirm.tsx
+1
-1
auditPrSubmit.tsx
src/pages/member/memberPrSubmit/auditPrSubmit.tsx
+2
-1
index.tsx
src/pages/member/memberQuery/index.tsx
+6
-29
index.tsx
src/pages/member/memberQuery/schema/index.tsx
+88
-0
update.less
src/pages/member/memberQuery/update.less
+0
-0
update.tsx
src/pages/member/memberQuery/update.tsx
+156
-0
No files found.
config/routes/memberRoute.ts
View file @
a19e21e8
...
@@ -203,6 +203,13 @@ const MemberRoute = {
...
@@ -203,6 +203,13 @@ const MemberRoute = {
},
},
],
],
},
},
{
path
:
'/memberCenter/memberAbility/update'
,
name
:
'memberUpdate'
,
key
:
'memberUpdate'
,
hideInMenu
:
true
,
component
:
'@/pages/member/memberQuery/update'
,
},
]
]
}
}
...
...
src/locales/zh-CN/menu.ts
View file @
a19e21e8
/*
/*
* @Author: LeeJiancong
* @Author: LeeJiancong
* @Date: 2020-07-13 14:08:50
* @Date: 2020-07-13 14:08:50
* @LastEditors:
LeeJianc
ong
* @LastEditors:
XieZhiXi
ong
* @LastEditTime: 2020-09-10 1
4:40:36
* @LastEditTime: 2020-09-10 1
7:18:41
*/
*/
export
default
{
export
default
{
...
@@ -90,6 +90,7 @@ export default {
...
@@ -90,6 +90,7 @@ export default {
'menu.memberAbility.memberQueryDetailed.levelInfo'
:
'会员等级信息'
,
'menu.memberAbility.memberQueryDetailed.levelInfo'
:
'会员等级信息'
,
'menu.memberAbility.memberQueryDetailed.equityInfo'
:
'权益信息'
,
'menu.memberAbility.memberQueryDetailed.equityInfo'
:
'权益信息'
,
'menu.memberAbility.memberQueryDetailed.sincerityInfo'
:
'诚信信息'
,
'menu.memberAbility.memberQueryDetailed.sincerityInfo'
:
'诚信信息'
,
'menu.memberAbility.memberUpdate'
:
'变更会员信息'
,
// 店铺能力
// 店铺能力
'menu.shopAbility'
:
'店铺'
,
'menu.shopAbility'
:
'店铺'
,
...
...
src/pages/member/memberImport/addMember.tsx
View file @
a19e21e8
...
@@ -184,8 +184,8 @@ const AddMember: React.FC<any> = props => {
...
@@ -184,8 +184,8 @@ const AddMember: React.FC<any> = props => {
return
;
return
;
}
}
setTimeout
(()
=>
{
setTimeout
(()
=>
{
history
.
replace
(
'/memberCenter/memberAbility/manage/import'
);
history
.
goBack
(
);
},
10
00
);
},
8
00
);
}).
finally
(()
=>
{
}).
finally
(()
=>
{
msg
();
msg
();
setSubmitLoading
(
false
);
setSubmitLoading
(
false
);
...
@@ -213,9 +213,10 @@ const AddMember: React.FC<any> = props => {
...
@@ -213,9 +213,10 @@ const AddMember: React.FC<any> = props => {
if
(
res
.
code
!==
1000
)
{
if
(
res
.
code
!==
1000
)
{
return
;
return
;
}
}
setUnsaved
(
false
);
setTimeout
(()
=>
{
setTimeout
(()
=>
{
history
.
replace
(
'/memberCenter/memberAbility/manage/import'
);
history
.
replace
(
'/memberCenter/memberAbility/manage/import'
);
},
10
00
);
},
8
00
);
}).
finally
(()
=>
{
}).
finally
(()
=>
{
msg
();
msg
();
setSubmitLoading
(
false
);
setSubmitLoading
(
false
);
...
...
src/pages/member/memberPr1/auditPr1.tsx
View file @
a19e21e8
...
@@ -107,7 +107,7 @@ const AuditPr1: React.FC<{}> = () => {
...
@@ -107,7 +107,7 @@ const AuditPr1: React.FC<{}> = () => {
setModalVisible
(
false
);
setModalVisible
(
false
);
setTimeout
(()
=>
{
setTimeout
(()
=>
{
history
.
goBack
();
history
.
goBack
();
},
10
00
);
},
8
00
);
}).
catch
(
err
=>
{
}).
catch
(
err
=>
{
setConfirmLoading
(
false
);
setConfirmLoading
(
false
);
});
});
...
...
src/pages/member/memberPr2/auditPr2.tsx
View file @
a19e21e8
...
@@ -107,7 +107,7 @@ const AuditPr2: React.FC<{}> = () => {
...
@@ -107,7 +107,7 @@ const AuditPr2: React.FC<{}> = () => {
setModalVisible
(
false
);
setModalVisible
(
false
);
setTimeout
(()
=>
{
setTimeout
(()
=>
{
history
.
goBack
();
history
.
goBack
();
},
10
00
);
},
8
00
);
}).
catch
(
err
=>
{
}).
catch
(
err
=>
{
setConfirmLoading
(
false
);
setConfirmLoading
(
false
);
});
});
...
...
src/pages/member/memberPrConfirm/auditPrComfirm.tsx
View file @
a19e21e8
...
@@ -107,7 +107,7 @@ const AuditPrComfirm: React.FC<{}> = () => {
...
@@ -107,7 +107,7 @@ const AuditPrComfirm: React.FC<{}> = () => {
setModalVisible
(
false
);
setModalVisible
(
false
);
setTimeout
(()
=>
{
setTimeout
(()
=>
{
history
.
goBack
();
history
.
goBack
();
},
10
00
);
},
8
00
);
}).
catch
(
err
=>
{
}).
catch
(
err
=>
{
setConfirmLoading
(
false
);
setConfirmLoading
(
false
);
});
});
...
...
src/pages/member/memberPrSubmit/auditPrSubmit.tsx
View file @
a19e21e8
...
@@ -174,9 +174,10 @@ const AuditPrSubmit: React.FC<{}> = () => {
...
@@ -174,9 +174,10 @@ const AuditPrSubmit: React.FC<{}> = () => {
Promise
.
all
(
promises
).
then
(
res
=>
{
Promise
.
all
(
promises
).
then
(
res
=>
{
setConfirmLoading
(
false
);
setConfirmLoading
(
false
);
setModalVisible
(
false
);
setModalVisible
(
false
);
setUnsaved
(
false
);
setTimeout
(()
=>
{
setTimeout
(()
=>
{
history
.
goBack
();
history
.
goBack
();
},
10
00
);
},
8
00
);
}).
catch
(
err
=>
{
}).
catch
(
err
=>
{
setConfirmLoading
(
false
);
setConfirmLoading
(
false
);
});
});
...
...
src/pages/member/memberQuery/index.tsx
View file @
a19e21e8
...
@@ -36,33 +36,6 @@ import {
...
@@ -36,33 +36,6 @@ import {
MEMBER_OUTER_STATUS_BADGE_COLOR
,
MEMBER_OUTER_STATUS_BADGE_COLOR
,
}
from
'../constant'
;
}
from
'../constant'
;
const
mock
=
[
{
memberId
:
1
,
validateId
:
1
,
name
:
'模拟会员1'
,
memberTypeName
:
'模拟会员类型1'
,
roleName
:
'模拟角色'
,
sourceName
:
'2020.08.28 15:14:00'
,
memberStatus
:
'正常'
,
status
:
1
,
outerStatusName
:
'待审核'
,
innerStatusName
:
'审核通过'
,
},
{
memberId
:
2
,
validateId
:
2
,
name
:
'模拟会员1'
,
memberTypeName
:
'模拟会员类型1'
,
roleName
:
'模拟角色'
,
sourceName
:
'2020.08.28 15:14:00'
,
memberStatus
:
'正常'
,
status
:
0
,
outerStatusName
:
'待审核'
,
innerStatusName
:
'待提交审核'
,
},
];
const
formActions
=
createFormActions
();
const
formActions
=
createFormActions
();
const
fetchData
=
async
(
params
:
any
)
=>
{
const
fetchData
=
async
(
params
:
any
)
=>
{
...
@@ -74,6 +47,10 @@ const MemberQuery: React.FC<[]> = () => {
...
@@ -74,6 +47,10 @@ const MemberQuery: React.FC<[]> = () => {
const
ref
=
useRef
<
any
>
({});
const
ref
=
useRef
<
any
>
({});
const
[
selectedRowKeys
,
setSelectedRowKeys
]
=
useState
<
Array
<
string
>>
([]);
const
[
selectedRowKeys
,
setSelectedRowKeys
]
=
useState
<
Array
<
string
>>
([]);
const
handleJumpUpdate
=
record
=>
{
history
.
push
(
`/memberCenter/memberAbility/update?id=
${
record
.
memberId
}
&validateId=
${
record
.
validateId
}
`
);
};
const
defaultColumns
:
ColumnType
<
any
>
[]
=
[
const
defaultColumns
:
ColumnType
<
any
>
[]
=
[
{
{
title
:
'ID'
,
title
:
'ID'
,
...
@@ -86,7 +63,7 @@ const MemberQuery: React.FC<[]> = () => {
...
@@ -86,7 +63,7 @@ const MemberQuery: React.FC<[]> = () => {
align
:
'center'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
(
render
:
(
text
,
record
)
=>
(
<
EyePreview
<
EyePreview
url=
{
`/memberCenter/memberAbility/query/detailed?id=${record.memberId}&validateId=${record.validateId}
&preview=1
`
}
url=
{
`/memberCenter/memberAbility/query/detailed?id=${record.memberId}&validateId=${record.validateId}`
}
>
>
{
text
}
{
text
}
</
EyePreview
>
</
EyePreview
>
...
@@ -145,7 +122,7 @@ const MemberQuery: React.FC<[]> = () => {
...
@@ -145,7 +122,7 @@ const MemberQuery: React.FC<[]> = () => {
render
:
(
text
,
record
)
=>
(
render
:
(
text
,
record
)
=>
(
<
Button
<
Button
type=
"link"
type=
"link"
onClick=
{
()
=>
{}
}
onClick=
{
()
=>
handleJumpUpdate
(
record
)
}
>
>
变更信息
变更信息
</
Button
>
</
Button
>
...
...
src/pages/member/memberQuery/schema/index.tsx
View file @
a19e21e8
...
@@ -59,3 +59,91 @@ export const maintianSchema: ISchema = {
...
@@ -59,3 +59,91 @@ export const maintianSchema: ISchema = {
},
},
},
},
};
};
const
FIELD_TYPE_MAP
=
{
'string'
:
'string'
,
'long'
:
'string'
,
'upload'
:
'customUpload'
,
};
const
getXComponentProps
=
(
type
,
item
)
=>
{
const
MAP
=
{
'string'
:
{
placeholder
:
item
.
fieldRemark
,
},
'upload'
:
{
listType
:
'card'
,
action
:
'/api/file/file/upload'
,
data
:
{
fileType
:
UPLOAD_TYPE
},
fileList
:
[],
onChange
:
file
=>
console
.
log
(
file
),
},
};
return
MAP
[
type
];
};
const
getCompnentValue
=
(
elements
:
any
)
=>
{
const
components
=
{};
for
(
let
item
of
elements
)
{
// 先判断是否存在 type,防止不存在的 type 报错
const
realType
=
FIELD_TYPE_MAP
[
item
.
fieldType
];
if
(
realType
)
{
components
[
item
.
fieldName
]
=
{
type
:
FIELD_TYPE_MAP
[
item
.
fieldType
],
required
:
item
.
fieldEmpty
===
0
,
title
:
item
.
fieldCNName
,
default
:
item
.
fieldValue
,
'x-component-props'
:
getXComponentProps
(
realType
,
item
),
};
}
}
return
components
;
};
export
const
initDetailSchema
=
(
props
:
any
)
=>
{
let
tabSchema
:
ISchema
=
{
properties
:
{},
};
if
(
Array
.
isArray
(
props
))
{
for
(
let
[
index
,
item
]
of
props
.
entries
())
{
tabSchema
.
properties
[
`tab-
${
index
}
`
]
=
{
type
:
'object'
,
'x-component'
:
'TabPane'
,
'x-component-props'
:
{
tab
:
item
.
groupName
,
},
properties
:
{
[
`MEGA_LAYOUT
${
index
}
`
]:
{
type
:
'object'
,
'x-component'
:
'Mega-Layout'
,
'x-component-props'
:
{
labelCol
:
4
,
wrapperCol
:
8
,
labelAlign
:
'left'
,
},
properties
:
getCompnentValue
(
item
.
elements
),
},
},
};
}
}
let
detailSchema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
tabs
:
{
type
:
'object'
,
'x-component'
:
'Tab'
,
'x-component-props'
:
{
type
:
'card'
,
hiddenKeys
:
[
'tab-2'
],
},
...
tabSchema
,
},
},
};
const
maintianDetailSchema
:
ISchema
=
detailSchema
;
return
maintianDetailSchema
;
};
src/pages/member/memberQuery/update.less
0 → 100644
View file @
a19e21e8
src/pages/member/memberQuery/update.tsx
0 → 100644
View file @
a19e21e8
import
React
,
{
useState
,
useEffect
,
useRef
,
ReactNode
}
from
'react'
;
import
{
history
,
Prompt
}
from
'umi'
;
import
{
Badge
,
Button
,
Card
,
Spin
,
message
}
from
'antd'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
{
SaveOutlined
}
from
'@ant-design/icons'
;
import
{
createFormActions
,
FormEffectHooks
,
FormPath
}
from
'@formily/antd'
;
import
{
usePageStatus
}
from
'@/hooks/usePageStatus'
;
import
ReutrnEle
from
'@/components/ReturnEle'
;
import
NiceForm
from
'@/components/NiceForm'
;
import
{
useLinkageUtils
}
from
'@/utils/formEffectUtils'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
{
GetMemberAbilitySubGetResponse
}
from
'@/services/MemberApi'
;
import
{
initDetailSchema
}
from
'./schema'
;
const
formActions
=
createFormActions
();
const
{
onFieldValueChange$
,
onFieldInputChange$
,
onFormInputChange$
,
}
=
FormEffectHooks
;
const
MemberUpdate
:
React
.
FC
<
any
>
=
props
=>
{
const
areaRef
=
useRef
<
any
[]
>
([])
const
{
id
,
validateId
}
=
usePageStatus
();
const
[
memberItems
,
setMemberItems
]
=
useState
<
any
>
({});
const
[
memberInfo
,
setMemberInfo
]
=
useState
<
GetMemberAbilitySubGetResponse
>
(
null
);
const
[
submitLoading
,
setSubmitLoading
]
=
useState
(
false
);
const
[
infoLoading
,
setInfoLoading
]
=
useState
(
false
);
const
[
unsaved
,
setUnsaved
]
=
useState
(
false
);
const
getDetailedInfo
=
async
()
=>
{
if
(
id
&&
validateId
)
{
setInfoLoading
(
true
);
const
infoRes
=
await
PublicApi
.
getMemberAbilityInfoDetailUpdateGet
({
memberId
:
id
,
validateId
,
});
if
(
infoRes
.
code
!==
1000
)
{
return
;
}
const
{
groups
=
[]
}
=
infoRes
.
data
;
setMemberItems
(
groups
);
setInfoLoading
(
false
);
}
};
useEffect
(()
=>
{
getDetailedInfo
();
},
[]);
const
handleSubmit
=
(
values
:
any
)
=>
{
const
{
memberTypeId
,
roleId
,
levelId
,
countryCodeId
,
phone
,
email
,
channelLevel
,
channelTypeId
,
areas
,
remark
,
outerStatus
,
status
,
statusName
,
...
rest
}
=
values
;
setSubmitLoading
(
true
);
const
msg
=
message
.
loading
({
content
:
'正在保存,请稍候...'
,
duration
:
0
,
});
PublicApi
.
postMemberAbilityInfoDetailUpdate
({
memberId
:
id
,
validateId
,
detail
:
values
,
}).
then
(
res
=>
{
if
(
res
.
code
!==
1000
)
{
return
;
}
setUnsaved
(
false
);
setTimeout
(()
=>
{
history
.
goBack
();
},
800
);
}).
finally
(()
=>
{
msg
();
setSubmitLoading
(
false
);
});
};
const
useAsyncLinkageEffect
=
()
=>
{
const
linkage
=
useLinkageUtils
();
// 根据会员角色,查询其他注册资料
onFieldValueChange$
(
'roleId'
).
subscribe
(
fieldState
=>
{
if
(
!
fieldState
.
value
)
{
return
;
}
PublicApi
.
getMemberAbilitySubPageitemsDetail
({
roleId
:
fieldState
.
value
,
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
const
{
data
=
[]
}
=
res
;
setMemberItems
(
data
);
}
});
});
}
return
(
<
Spin
spinning=
{
infoLoading
}
>
<
PageHeaderWrapper
onBack=
{
()
=>
history
.
goBack
()
}
backIcon=
{
<
ReutrnEle
description=
"返回"
/>
}
title=
"编辑会员"
extra=
{
[
<
Button
key=
"1"
type=
"primary"
icon=
{
<
SaveOutlined
/>
}
loading=
{
submitLoading
}
onClick=
{
()
=>
formActions
.
submit
()
}
>
保存
</
Button
>,
]
}
>
<
Card
>
<
NiceForm
onSubmit=
{
handleSubmit
}
actions=
{
formActions
}
initialValues=
{
memberInfo
||
{}
}
effects=
{
(
$
,
actions
)
=>
{
onFormInputChange$
().
subscribe
(()
=>
{
if
(
!
unsaved
)
{
setUnsaved
(
true
);
}
});
}
}
schema=
{
initDetailSchema
(
memberItems
)
}
/>
</
Card
>
</
PageHeaderWrapper
>
<
Prompt
when=
{
unsaved
}
message=
"您还有未保存的内容,是否确定要离开?"
/>
</
Spin
>
);
};
export
default
MemberUpdate
;
\ No newline at end of file
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