Przeglądaj źródła

全部移除功能添加

zero 1 tydzień temu
rodzic
commit
4414158d86
1 zmienionych plików z 23 dodań i 2 usunięć
  1. 23 2
      src/views/report/ReportDetail.vue

+ 23 - 2
src/views/report/ReportDetail.vue

@@ -23,7 +23,13 @@
         <!-- News by category -->
         <div class="news-by-category" v-loading="loading">
           <div v-for="item in newsByCategory" :key="item.categoryName" class="category-section">
-            <h3 class="category-title">{{ item.categoryName }}</h3>
+            <div class="title">
+              <h3 class="category-title">{{ item.categoryName }}</h3>
+              <el-button type="danger" size="small" @click="removeAllFromReport(item.data)"
+                      >全部移除</el-button
+                    >
+            </div>
+            
             <div class="news-list">
               <div v-for="news in item.data" :key="news.articleId" class="news-item">
                 <div class="news-item-header">
@@ -262,11 +268,20 @@ const cancelEdit = () => {
 }
 
 const removeFromReport = async (news: NewsItem) => {
+  removeNews([news.assoId])
+}
+
+const removeAllFromReport = async (newsList:NewsItem[]) => {
+  const assoIds = newsList.map(item=>item.assoId)
+  removeNews(assoIds)
+}
+
+const removeNews = async (assoIds:any[]) => {
   try {
     await ElMessageBox.confirm('确定要从报告中移除该资讯吗?', '提示', {
       type: 'warning',
     })
-    await reportApi.removeNewsFromReport({ assoId: news.assoId })
+    await reportApi.removeNewsFromReport({ assoIds: assoIds})
     ElMessage.success('资讯已从报告中移除')
     fetchReportNews()
   } catch (error) {
@@ -338,6 +353,12 @@ onMounted(async () => {
   margin-bottom: 30px;
 }
 
+.category-section .title{
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+}
+
 .category-title {
   font-size: 18px;
   font-weight: bold;