From 6abc6ab3d15f220c1d0a40ad7c07aa6f0123fd04 Mon Sep 17 00:00:00 2001 From: callmeyan Date: Mon, 23 Dec 2024 22:39:35 +0800 Subject: [PATCH] =?UTF-8?q?fixed:=20=E6=96=B0=E9=97=BB=E7=BC=96=E8=BE=91?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../news/components/button-delete-batch.tsx | 12 ++++------ src/pages/news/edit.tsx | 24 +++++++++++++------ src/pages/news/index.tsx | 4 ++-- src/service/api/article.ts | 5 ++-- src/types/api.d.ts | 5 ++-- 5 files changed, 29 insertions(+), 21 deletions(-) diff --git a/src/pages/news/components/button-delete-batch.tsx b/src/pages/news/components/button-delete-batch.tsx index 6168c9e..9cf1305 100644 --- a/src/pages/news/components/button-delete-batch.tsx +++ b/src/pages/news/components/button-delete-batch.tsx @@ -1,19 +1,17 @@ import {App} from "antd"; import {showToast} from "@/components/message.ts"; import {useState} from "react"; -import {push2article} from "@/service/api/news.ts"; import {IconDelete} from "@/components/icons"; -import {useNavigate} from "react-router-dom"; +import {deleteByIds} from "@/service/api/article.ts"; export default function ButtonDeleteBatch(props: { ids: Id[];onSuccess?: () => void; }) { const {modal} = App.useApp(); const [loading, setLoading] = useState(false) - const navigate = useNavigate(); const handlePush = () => { setLoading(true) - push2article(props.ids).then(() => { + deleteByIds(props.ids).then(() => { + props.onSuccess?.(); showToast('删除成功', 'success') - navigate('/edit') }).catch(() => { showToast('删除失败', 'error') }).finally(() => { @@ -27,8 +25,8 @@ export default function ButtonDeleteBatch(props: { ids: Id[];onSuccess?: () => v return } modal.confirm({ - title: '操作提示', - content: '是否确定删除选中的新闻?', + title: `你确定要删除选择的 ${props.ids.length} 条新闻吗?`, + content: '删除后需从新闻素材中重新选择', onOk: handlePush, centered: true }) diff --git a/src/pages/news/edit.tsx b/src/pages/news/edit.tsx index 635ef44..d5138c1 100644 --- a/src/pages/news/edit.tsx +++ b/src/pages/news/edit.tsx @@ -1,10 +1,10 @@ -import {Checkbox, Space} from "antd"; +import {Checkbox, Popconfirm, Space} from "antd"; import React, {useRef, useState} from "react"; import {useRequest} from "ahooks"; import {formatTime} from "@/util/strings.ts"; import ArticleEditModal from "@/components/article/edit-modal.tsx"; -import {getList} from "@/service/api/article.ts"; +import {deleteByIds, getList} from "@/service/api/article.ts"; import EditSearchForm from "@/pages/news/components/edit-search-form.tsx"; import ButtonPush2Video from "@/pages/news/components/button-push2video.tsx"; @@ -14,6 +14,7 @@ import {IconDelete, IconEdit} from "@/components/icons"; import {clsx} from "clsx"; import ButtonToTop from "@/components/scoller/button-to-top.tsx"; import ButtonDeleteBatch from "@/pages/news/components/button-delete-batch.tsx"; +import {showErrorToast, showToast} from "@/components/message.ts"; export default function NewEdit() { @@ -58,7 +59,12 @@ export default function NewEdit() { } } const scrollerRef = useRef(null) - + const handleDelete = (id)=>{ + deleteByIds([id]).then(()=>{ + refresh() + showToast('删除成功','success') + }).catch(showErrorToast) + } return (
@@ -109,13 +115,13 @@ export default function NewEdit() {
-
{item.media_name}
+
{item.data_source_name}
-
{item.picture_count||'-'}
+
{item.img_num}
-
{item.words_count||'-'}
+
{item.content_word_count}
setEditId(item.id)}> - + { + handleDelete(item.id) + }}> + + handleItemChecked(e.target.checked, item)}/>
diff --git a/src/pages/news/index.tsx b/src/pages/news/index.tsx index 1cc9471..be3e924 100644 --- a/src/pages/news/index.tsx +++ b/src/pages/news/index.tsx @@ -164,8 +164,8 @@ export default function NewsIndex() {
来源: {item.data_source_name}
{formatTime(item.publish_time,'min')}
-
图片数: {item.picture_count || '-'}
-
字数: {item.words_count || '-'}
+
图片数: {item.img_num}
+
字数: {item.content_word_count}
{item.internal_article_id > 0 ? diff --git a/src/service/api/article.ts b/src/service/api/article.ts index 3baff95..ec5e76b 100644 --- a/src/service/api/article.ts +++ b/src/service/api/article.ts @@ -12,9 +12,8 @@ export function getList(data: ApiArticleSearchParams) { * 删除 【本期不做】 * @param id */ -export function deleteById(id: Id) { - throw new Error('Not implement') - return post<{ article: any }>({url: '/article/delete/' + id}) +export function deleteByIds(article_ids: Id[]) { + return post('/article/remove',{article_ids}) } export function getById(id: Id) { diff --git a/src/types/api.d.ts b/src/types/api.d.ts index e406079..5edd1ce 100644 --- a/src/types/api.d.ts +++ b/src/types/api.d.ts @@ -60,8 +60,9 @@ interface BasicArticleInfo { summary: string; publish_time: string; media_name: string; - picture_count?: number; - words_count?: number; + data_source_name?: string; + img_num?: number; + content_word_count?: number; media_id: number; fanwen_column_id: number; }