feat: 本次提交更新内容如下
列表选项卡样式调整
This commit is contained in:
@@ -0,0 +1,32 @@
|
|||||||
|
// 用户详情类型
|
||||||
|
export interface TrafficPoolUserDetail {
|
||||||
|
id: number;
|
||||||
|
nickname: string;
|
||||||
|
avatar: string;
|
||||||
|
wechatId: string;
|
||||||
|
status: number | string;
|
||||||
|
addTime: string;
|
||||||
|
lastInteraction: string;
|
||||||
|
deviceName?: string;
|
||||||
|
wechatAccountName?: string;
|
||||||
|
customerServiceName?: string;
|
||||||
|
poolNames?: string[];
|
||||||
|
rfmScore?: {
|
||||||
|
recency: number;
|
||||||
|
frequency: number;
|
||||||
|
monetary: number;
|
||||||
|
segment?: string;
|
||||||
|
};
|
||||||
|
totalSpent?: number;
|
||||||
|
interactionCount?: number;
|
||||||
|
conversionRate?: number;
|
||||||
|
tags?: string[];
|
||||||
|
packages?: string[];
|
||||||
|
interactions?: Array<{
|
||||||
|
id: string;
|
||||||
|
type: string;
|
||||||
|
content: string;
|
||||||
|
timestamp: string;
|
||||||
|
value?: number;
|
||||||
|
}>;
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,6 +1,18 @@
|
|||||||
.listWrap {
|
.listWrap {
|
||||||
padding: 12px;
|
padding: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.cardContent{
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 12px;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.checkbox{
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
.cardWrap{
|
.cardWrap{
|
||||||
background: #fff;
|
background: #fff;
|
||||||
padding: 16px;
|
padding: 16px;
|
||||||
|
|||||||
@@ -195,18 +195,17 @@ const TrafficPoolList: React.FC = () => {
|
|||||||
navigate(`/mine/traffic-pool/detail/${item.id}`)
|
navigate(`/mine/traffic-pool/detail/${item.id}`)
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<div
|
<div className={styles.cardContent}>
|
||||||
style={{ display: "flex", alignItems: "center", gap: 12 }}
|
|
||||||
>
|
|
||||||
<Checkbox
|
<Checkbox
|
||||||
checked={selectedIds.includes(item.id)}
|
checked={selectedIds.includes(item.id)}
|
||||||
onChange={(e) => handleSelect(item.id, e.target.checked)}
|
onChange={(e) => handleSelect(item.id, e.target.checked)}
|
||||||
style={{ marginRight: 8 }}
|
style={{ marginRight: 8 }}
|
||||||
onClick={(e) => e.stopPropagation()}
|
onClick={(e) => e.stopPropagation()}
|
||||||
|
className={styles.checkbox}
|
||||||
/>
|
/>
|
||||||
<Avatar
|
<Avatar
|
||||||
src={item.avatar || defaultAvatar}
|
src={item.avatar || defaultAvatar}
|
||||||
style={{ "--size": "44px" }}
|
style={{ "--size": "60px" }}
|
||||||
/>
|
/>
|
||||||
<div style={{ flex: 1 }}>
|
<div style={{ flex: 1 }}>
|
||||||
<div className={styles.title}>
|
<div className={styles.title}>
|
||||||
|
|||||||
Reference in New Issue
Block a user