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
project
jinfa-admin
Commits
69917da4
Commit
69917da4
authored
Oct 23, 2020
by
Bill
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' of 10.0.0.22:lingxi/lingxi-business-system into dev
parents
d1370cdf
b215bcda
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
167 additions
and
78 deletions
+167
-78
index.ts
src/pages/authConfig/userSystem/schema/index.ts
+23
-5
constants.ts
src/pages/comment/constants.ts
+4
-0
index.tsx
src/pages/comment/manage/index.tsx
+61
-6
index.tsx
...es/comment/query/detailed/components/RecordList/index.tsx
+3
-3
index.tsx
src/pages/comment/query/detailed/index.tsx
+10
-3
index.tsx
src/pages/comment/query/index.tsx
+39
-56
index.tsx
src/pages/comment/query/schema/index.tsx
+27
-5
No files found.
src/pages/authConfig/userSystem/schema/index.ts
View file @
69917da4
...
...
@@ -61,12 +61,17 @@ export const UserDetailSchema:ISchema = {
required
:
true
,
properties
:
{
countryCode
:
{
required
:
true
,
type
:
'string'
,
enum
:
[
'+86'
],
"x-mega-props"
:
{
wrapperCol
:
24
},
"x-rules"
:
[
{
required
:
true
,
message
:
'请选择'
},
],
"x-component-props"
:
{
flexcol
:
{
span
:
6
...
...
@@ -75,13 +80,16 @@ export const UserDetailSchema:ISchema = {
},
phone
:
{
type
:
'number'
,
required
:
true
,
"x-mega-props"
:
{
wrapperCol
:
24
,
full
:
true
},
"x-rules"
:
[
{
required
:
true
,
message
:
'请输入手机号'
},
{
pattern
:
PATTERN_MAPS
.
phone
,
message
:
'请输入正确的手机号'
}
...
...
@@ -127,25 +135,35 @@ export const UserDetailSchema:ISchema = {
orgName
:
{
type
:
'string'
,
title
:
'所属组织机构'
,
required
:
true
,
'x-component-props'
:
{
disabled
:
true
,
addonAfter
:
"{{connectCategory}}"
},
"x-rules"
:
[
{
required
:
true
,
message
:
'请关联组织机构'
}
]
},
orgId
:
{
type
:
'string'
,
visible
:
false
},
memberRoleIds
:
{
required
:
true
,
type
:
'array:string'
,
"x-component"
:
'tableTagList'
,
"x-component-props"
:
{
extra
:
"{{addRoles}}"
,
callback
:
"{{callback}}"
},
title
:
'关联角色'
title
:
'关联角色'
,
"x-rules"
:
[
{
required
:
true
,
message
:
'请选择关联角色'
}
]
},
}
...
...
src/pages/comment/constants.ts
0 → 100644
View file @
69917da4
// 评论状态
export
const
COMMENT_STATUS_VISIBLE
=
1
;
// 可见的
export
const
COMMENT_STATUS_INVISIBLE
=
2
;
// 被屏蔽的
\ No newline at end of file
src/pages/comment/manage/index.tsx
View file @
69917da4
import
React
,
{
useState
,
useRef
}
from
'react'
;
import
{
Card
,
Rate
,
Button
,
Space
}
from
'antd'
;
import
{
ClockCircleOutlined
}
from
'@ant-design/icons'
;
import
{
Card
,
Rate
,
Button
,
Space
,
Modal
,
message
}
from
'antd'
;
import
{
ClockCircleOutlined
,
QuestionCircleOutlined
}
from
'@ant-design/icons'
;
import
{
Link
}
from
'umi'
;
import
{
StandardTable
}
from
'god'
;
import
{
ColumnType
}
from
'antd/lib/table/interface'
;
...
...
@@ -14,14 +14,34 @@ import { isJSONStr } from '@/utils';
import
EyePreview
from
'@/components/EyePreview'
;
import
NiceForm
from
'@/components/NiceForm'
;
import
{
listSearchSchema
}
from
'./schema'
;
import
{
COMMENT_STATUS_VISIBLE
,
COMMENT_STATUS_INVISIBLE
}
from
'../constants'
;
import
styles
from
'./index.less'
;
const
{
confirm
}
=
Modal
;
const
formActions
=
createFormActions
();
const
CommentManage
:
React
.
FC
=
()
=>
{
const
ref
=
useRef
<
any
>
({});
const
[
selectedRowKeys
,
setSelectedRowKeys
]
=
useState
<
Array
<
string
>>
([]);
const
[
selectedRowKeys
,
setSelectedRowKeys
]
=
useState
<
Array
<
number
>>
([]);
const
handleVisibleComment
=
(
status
,
id
)
=>
{
const
msg
=
message
.
loading
({
content
:
'正在操作,请稍候...'
,
duration
:
0
,
});
PublicApi
.
postMemberPlatformCommentOrderTradeHistoryUpdateStatus
({
id
,
status
,
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
ref
.
current
.
reload
();
}
}).
finally
(()
=>
{
msg
();
});
};
const
columns
:
ColumnType
<
any
>
[]
=
[
{
...
...
@@ -82,7 +102,7 @@ const CommentManage: React.FC = () => {
},
{
title
:
'评价时间'
,
dataIndex
:
'create
d
'
,
dataIndex
:
'create
Time
'
,
align
:
'center'
,
},
{
...
...
@@ -91,7 +111,12 @@ const CommentManage: React.FC = () => {
align
:
'center'
,
render
:
(
_
,
record
)
=>
(
<>
<
Button
type=
"link"
>
屏蔽
</
Button
>
<
Button
type=
"link"
onClick=
{
()
=>
handleVisibleComment
((
record
.
status
===
COMMENT_STATUS_VISIBLE
||
!
record
.
status
)
?
COMMENT_STATUS_INVISIBLE
:
COMMENT_STATUS_VISIBLE
,
record
.
id
)
}
>
{
(
record
.
status
===
COMMENT_STATUS_VISIBLE
||
!
record
.
status
)
?
'屏蔽'
:
'已屏蔽'
}
</
Button
>
</>
),
},
...
...
@@ -124,9 +149,39 @@ const CommentManage: React.FC = () => {
return
{};
};
const
handleBatchDelete
=
()
=>
{
if
(
!
selectedRowKeys
.
length
)
{
message
.
warning
(
'未选择任何评论'
);
return
;
}
confirm
({
title
:
'提示'
,
icon
:
<
QuestionCircleOutlined
/>,
content
:
'确定要删除选中的评论吗?'
,
onOk
()
{
return
new
Promise
((
resolve
,
reject
)
=>
{
PublicApi
.
postMemberPlatformCommentOrderTradeHistoryDelete
({
ids
:
selectedRowKeys
,
})
.
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
ref
.
current
.
reload
();
setSelectedRowKeys
([]);
resolve
();
}
reject
();
})
.
catch
(()
=>
{
reject
();
});
});
},
});
};
const
controllerBtns
=
(
<
Space
>
<
Button
>
批量删除
</
Button
>
<
Button
onClick=
{
handleBatchDelete
}
>
批量删除
</
Button
>
</
Space
>
);
...
...
src/pages/comment/query/detailed/components/RecordList/index.tsx
View file @
69917da4
...
...
@@ -19,15 +19,15 @@ export interface Search {
/**
* 交易时间开始
*/
dealTimeStart
:
string
|
null
//
dealTimeStart: string | null
/**
* 交易时间结束
*/
dealTimeEnd
:
string
|
null
//
dealTimeEnd: string | null
/**
* 评价方名称
*/
memberName
:
string
|
null
//
memberName: string | null
};
export
interface
ListParams
extends
Search
{
...
...
src/pages/comment/query/detailed/index.tsx
View file @
69917da4
...
...
@@ -3,6 +3,7 @@ import { Tabs, Row, Col, Button } from 'antd';
import
{
history
}
from
'umi'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
{
isJSONStr
}
from
'@/utils'
;
import
{
usePageStatus
}
from
'@/hooks/usePageStatus'
;
import
MellowCard
from
'@/components/MellowCard'
;
import
PolymericTable
from
'@/components/PolymericTable'
;
import
{
EditableColumns
}
from
'@/components/PolymericTable/interface'
;
...
...
@@ -26,6 +27,7 @@ interface EstimateSumItems {
};
const
CommentDetailed
:
React
.
FC
=
()
=>
{
const
{
memberId
,
roleId
}
=
usePageStatus
();
const
[
evaluateSum
,
setEvaluateSum
]
=
useState
<
EstimateSumItems
[]
>
([]);
const
[
evaluatePie
,
setEvaluatePie
]
=
useState
<
{
x
:
string
,
y
:
number
}[]
>
([]);
...
...
@@ -126,7 +128,10 @@ const CommentDetailed: React.FC = () => {
// 获取评价汇总
const
getTradeSummary
=
()
=>
{
PublicApi
.
getMemberPlatformCommentCountSupplyTradeSummary
().
then
(
res
=>
{
PublicApi
.
getMemberPlatformCommentTradeSummary
({
memberId
,
roleId
,
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
const
evaluate
=
summaryEvaluate
(
res
.
data
.
rows
);
const
evaluatePieData
=
getSummaryEvaluatePie
(
evaluate
);
...
...
@@ -140,9 +145,11 @@ const CommentDetailed: React.FC = () => {
const
getTradeHistory
=
(
params
:
ListParams
):
Promise
<
RecordRes
>
=>
{
const
{
star
,
...
rest
}
=
params
;
return
new
Promise
((
resolve
,
reject
)
=>
{
PublicApi
.
getMemberPlatformCommentCountSupplyTradeHistoryPage
({
PublicApi
.
getMemberPlatformCommentTradeHistoryPage
({
memberId
,
roleId
,
...
rest
,
starLevel
:
params
.
star
,
starLevel
:
params
.
star
as
string
,
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
const
{
data
,
totalCount
}
=
res
.
data
;
...
...
src/pages/comment/query/index.tsx
View file @
69917da4
...
...
@@ -16,38 +16,13 @@ import styles from './index.less';
const
formActions
=
createFormActions
();
const
mock
=
[
{
id
:
'1'
,
memberName
:
'JUJUONTHEBEAT'
,
memberType
:
'企业会员'
,
memberRole
:
'采购商'
,
memberLevel
:
'白金会员'
,
satisfaction
:
4
,
count
:
180
,
day7
:
10
,
day180
:
20
,
},
{
id
:
'2'
,
memberName
:
'JUJUONTHEBEAT'
,
memberType
:
'企业会员'
,
memberRole
:
'采购商'
,
memberLevel
:
'白金会员'
,
satisfaction
:
3
,
count
:
180
,
day7
:
10
,
day180
:
20
,
},
];
const
CommentQuery
=
()
=>
{
const
ref
=
useRef
<
any
>
({});
const
columns
:
ColumnType
<
any
>
[]
=
[
{
title
:
'ID'
,
dataIndex
:
'
i
d'
,
dataIndex
:
'
memberI
d'
,
align
:
'center'
,
},
{
...
...
@@ -64,67 +39,75 @@ const CommentQuery = () => {
},
{
title
:
'会员类型'
,
dataIndex
:
'memberType'
,
dataIndex
:
'memberType
Name
'
,
align
:
'center'
,
},
{
title
:
'会员角色'
,
dataIndex
:
'
memberRol
e'
,
dataIndex
:
'
roleNam
e'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
<>
{
text
}
</>,
},
{
title
:
'会员等级'
,
dataIndex
:
'
memberLevel
'
,
dataIndex
:
'
levelTag
'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
<>
{
text
}
</>,
},
{
title
:
'交易满意度'
,
dataIndex
:
'
satisfaction
'
,
dataIndex
:
'
avgStar
'
,
align
:
'center'
,
render
:
text
=>
<
Rate
value=
{
text
}
disabled
/>,
},
{
title
:
'收到评价总数'
,
dataIndex
:
'
count
'
,
dataIndex
:
'
receiveCountTotal
'
,
align
:
'center'
,
},
{
title
:
'最近7天评价数'
,
dataIndex
:
'
day
7'
,
dataIndex
:
'
receiveCount
7'
,
align
:
'center'
,
},
{
title
:
'最近180天评价数'
,
dataIndex
:
'
day
180'
,
dataIndex
:
'
receiveCount
180'
,
align
:
'center'
,
},
];
const
fetchListData
=
(
params
:
any
)
=>
{
// return new Promise((resolve, reject) => {
// PublicApi.getMemberPlatformCommentOrderTradeHistoryPage(params)
// .then(res => {
// if (res.code === 1000) {
// resolve(res.data);
// }
// reject();
// })
// .catch(() => {
// reject();
// });
// });
return
new
Promise
((
resolve
,
reject
)
=>
{
resolve
({
data
:
mock
,
totalCount
:
2
,
});
PublicApi
.
getMemberPlatformCommentTradePage
(
params
)
.
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
resolve
(
res
.
data
);
}
reject
();
})
.
catch
(()
=>
{
reject
();
});
});
};
// 初始化高级筛选选项
const
fetchSelectOptions
=
async
()
=>
{
const
fetchSearchItems
=
async
()
=>
{
const
res
=
await
PublicApi
.
getMemberManagePageitems
();
if
(
res
.
code
===
1000
)
{
const
{
data
=
{}
}:
any
=
res
;
const
{
memberTypes
=
[],
roles
=
[],
levels
=
[],
}
=
data
;
return
{
memberTypeId
:
memberTypes
.
map
(
item
=>
({
label
:
item
.
memberTypeName
,
value
:
item
.
memberTypeId
})),
roleId
:
roles
.
map
(
item
=>
({
label
:
item
.
roleName
,
value
:
item
.
roleId
})),
level
:
levels
.
map
(
item
=>
({
label
:
item
.
levelTag
,
value
:
item
.
level
})),
};
}
return
{};
};
...
...
@@ -132,7 +115,7 @@ const CommentQuery = () => {
<
Card
>
<
StandardTable
tableProps=
{
{
rowKey
:
'id'
,
rowKey
:
record
=>
`${record.memberId}+${record.roleId}`
,
}
}
columns=
{
columns
}
currentRef=
{
ref
}
...
...
@@ -145,12 +128,12 @@ const CommentQuery = () => {
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'
n
ame'
,
'
memberN
ame'
,
FORM_FILTER_PATH
,
);
useAsyncInitSelect
(
[
'
innerStatus'
,
'outerStatus
'
],
fetchSe
lectOption
s
,
[
'
memberTypeId'
,
'roleId'
,
'level
'
],
fetchSe
archItem
s
,
);
}
}
schema=
{
listSearchSchema
}
...
...
src/pages/comment/query/schema/index.tsx
View file @
69917da4
...
...
@@ -8,7 +8,7 @@ export const listSearchSchema: ISchema = {
type
:
'object'
,
'x-component'
:
'mega-layout'
,
properties
:
{
n
ame
:
{
memberN
ame
:
{
type
:
'string'
,
'x-component'
:
'Search'
,
'x-component-props'
:
{
...
...
@@ -29,12 +29,13 @@ export const listSearchSchema: ISchema = {
memberTypeId
:
{
type
:
'string'
,
default
:
undefined
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'会员类型(全部)'
,
allowClear
:
true
,
},
},
orderType
:
{
roleId
:
{
type
:
'string'
,
default
:
undefined
,
enum
:
[],
...
...
@@ -43,7 +44,7 @@ export const listSearchSchema: ISchema = {
allowClear
:
true
,
},
},
outerStatus
:
{
level
:
{
type
:
'string'
,
default
:
undefined
,
enum
:
[],
...
...
@@ -52,10 +53,31 @@ export const listSearchSchema: ISchema = {
allowClear
:
true
,
},
},
innerStatus
:
{
avgStar
:
{
type
:
'string'
,
default
:
undefined
,
enum
:
[],
enum
:
[
{
label
:
'一星'
,
value
:
1
,
},
{
label
:
'二星'
,
value
:
2
,
},
{
label
:
'三星'
,
value
:
3
,
},
{
label
:
'四星'
,
value
:
4
,
},
{
label
:
'五星'
,
value
:
5
,
},
],
'x-component-props'
:
{
placeholder
:
'交易满意度(全部)'
,
allowClear
:
true
,
...
...
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