feat: 本次提交更新内容如下
-流量分发新建\编辑✔ -内容库新建\编辑✔ -隐藏Ai策略优化✔ -隐藏Ai销售预测✔
This commit is contained in:
@@ -123,22 +123,25 @@ export default function AccountSelection({
|
||||
// 处理账号选择
|
||||
const handleAccountToggle = (accountId: number) => {
|
||||
if (readonly) return;
|
||||
const newSelected = value.includes(accountId)
|
||||
? value.filter((id) => id !== accountId)
|
||||
: [...value, accountId];
|
||||
const uniqueValue = [...new Set(value)];
|
||||
const newSelected = uniqueValue.includes(accountId)
|
||||
? uniqueValue.filter((id) => id !== accountId)
|
||||
: [...uniqueValue, accountId];
|
||||
onChange(newSelected);
|
||||
};
|
||||
|
||||
// 获取显示文本
|
||||
const getDisplayText = () => {
|
||||
if (value.length === 0) return "";
|
||||
return `已选择 ${value.length} 个账号`;
|
||||
const uniqueValue = [...new Set(value)];
|
||||
if (uniqueValue.length === 0) return "";
|
||||
return `已选择 ${uniqueValue.length} 个账号`;
|
||||
};
|
||||
|
||||
// 获取已选账号详细信息
|
||||
// 获取已选账号详细信息 - 去重处理
|
||||
const uniqueValue = [...new Set(value)];
|
||||
const selectedAccountObjs = [
|
||||
...accountsList.filter((acc) => value.includes(acc.id)),
|
||||
...value
|
||||
...accountsList.filter((acc) => uniqueValue.includes(acc.id)),
|
||||
...uniqueValue
|
||||
.filter((id) => !accountsList.some((acc) => acc.id === id))
|
||||
.map((id) => ({
|
||||
id,
|
||||
@@ -151,13 +154,15 @@ export default function AccountSelection({
|
||||
// 删除已选账号
|
||||
const handleRemoveAccount = (id: number) => {
|
||||
if (readonly) return;
|
||||
onChange(value.filter((d) => d !== id));
|
||||
const uniqueValue = [...new Set(value)];
|
||||
onChange(uniqueValue.filter((d) => d !== id));
|
||||
};
|
||||
|
||||
// 确认选择
|
||||
const handleConfirm = () => {
|
||||
if (onConfirm) {
|
||||
onConfirm(value, selectedAccountObjs);
|
||||
const uniqueValue = [...new Set(value)];
|
||||
onConfirm(uniqueValue, selectedAccountObjs);
|
||||
}
|
||||
setRealVisible(false);
|
||||
};
|
||||
@@ -265,7 +270,7 @@ export default function AccountSelection({
|
||||
currentPage={currentPage}
|
||||
totalPages={1}
|
||||
loading={loading}
|
||||
selectedCount={value.length}
|
||||
selectedCount={uniqueValue.length}
|
||||
onPageChange={setCurrentPage}
|
||||
onCancel={() => setRealVisible(false)}
|
||||
onConfirm={handleConfirm}
|
||||
@@ -288,12 +293,12 @@ export default function AccountSelection({
|
||||
<div className={style.radioWrapper}>
|
||||
<div
|
||||
className={
|
||||
value.includes(acc.id)
|
||||
uniqueValue.includes(acc.id)
|
||||
? style.radioSelected
|
||||
: style.radioUnselected
|
||||
}
|
||||
>
|
||||
{value.includes(acc.id) && (
|
||||
{uniqueValue.includes(acc.id) && (
|
||||
<div className={style.radioDot}></div>
|
||||
)}
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user