新增渠道复制

This commit is contained in:
iszcz 2024-04-10 02:51:21 +08:00
parent 0a49715c3d
commit 08e10df887

View File

@ -254,6 +254,19 @@ const ChannelsTable = () => {
> >
编辑 编辑
</Button> </Button>
<Popconfirm
title='确定是否要复制此渠道?'
content='复制渠道的所有信息'
okType={'danger'}
position={'left'}
onConfirm={async () => {
copySelectedChannel(record.id);
}}
>
<Button theme='light' type='primary' style={{ marginRight: 1 }}>
复制
</Button>
</Popconfirm>
</div> </div>
), ),
}, },
@ -340,6 +353,31 @@ const ChannelsTable = () => {
setLoading(false); setLoading(false);
}; };
const copySelectedChannel = async (id) => {
const channelToCopy = channels.find(channel => String(channel.id) === String(id));
console.log(channelToCopy)
channelToCopy.name += '_复制';
channelToCopy.created_time = null;
channelToCopy.balance = 0;
channelToCopy.used_quota = 0;
if (!channelToCopy) {
showError("渠道未找到,请刷新页面后重试。");
return;
}
try {
const newChannel = {...channelToCopy, id: undefined};
const response = await API.post('/api/channel/', newChannel);
if (response.data.success) {
showSuccess("渠道复制成功");
await refresh();
} else {
showError(response.data.message);
}
} catch (error) {
showError("渠道复制失败: " + error.message);
}
};
const refresh = async () => { const refresh = async () => {
await loadChannels(activePage - 1, pageSize, idSort); await loadChannels(activePage - 1, pageSize, idSort);
}; };