jwyu 1 рік тому
батько
коміт
2ecf674cad

+ 3 - 1
src/layouts/Index.vue

@@ -73,8 +73,10 @@ function handleLoginOut(){
             <keep-alive :include="cachedViewsList">
                 <component :is="Component" :key="$route.fullPath"/>
             </keep-alive>
-            <!-- <component :is="Component" :key="$route.name" v-if="!$route.meta.keepAlive" /> -->
         </router-view>
+        <!-- 回到顶部 -->
+        <van-back-top v-if="$route.meta.hasBackTop"/>
+
     </div>
 </template>
 

+ 8 - 4
src/router/report.js

@@ -13,7 +13,8 @@
         meta: { 
             title: "中文研报",
             hasBackHome:true,
-            keepAlive:true
+            keepAlive:true,
+            hasBackTop:true
         },
     },
     {
@@ -23,7 +24,8 @@
         meta: { 
             title: "中文研报",
             hasBackHome:true,
-            keepAlive:false
+            keepAlive:false,
+            hasBackTop:true
         },
     },
     {
@@ -43,7 +45,8 @@
         meta: { 
             title: "中文研报",
             hasBackHome:true,
-            keepAlive:false
+            keepAlive:false,
+            hasBackTop:true
         },
     },
     {
@@ -53,7 +56,8 @@
         meta: { 
             title: "中文研报",
             hasBackHome:true,
-            keepAlive:true
+            keepAlive:true,
+            hasBackTop:true
         },
     },
 ]

+ 6 - 3
src/router/reportEn.js

@@ -13,7 +13,8 @@
         meta: { 
             title: "英文研报",
             hasBackHome:true,
-            keepAlive:true
+            keepAlive:true,
+            hasBackTop:true
         },
     },
     {
@@ -23,7 +24,8 @@
         meta: { 
             title: "英文研报",
             hasBackHome:true,
-            keepAlive:true
+            keepAlive:true,
+            hasBackTop:true
         },
     },
     {
@@ -33,7 +35,8 @@
         meta: { 
             title: "英文研报",
             hasBackHome:true,
-            keepAlive:false
+            keepAlive:false,
+            hasBackTop:true
         },
     },
     {

+ 4 - 1
src/views/report/Detail.vue

@@ -5,6 +5,8 @@ import apiReport from '@/api/report'
 import ReportPublishPop from './components/ReportPublishPop.vue'
 import AudioBox from './components/AudioBox.vue'
 import { showToast,showDialog } from 'vant';
+import {useCachedViewsStore} from '@/store/modules/cachedViews'
+const cachedViewsStore=useCachedViewsStore()
 
 const route=useRoute()
 
@@ -57,8 +59,9 @@ function handleDelReport(){
         apiReport.reportDel({ReportIds:Number(route.query.id)}).then(res=>{
             if(res.Ret===200){
                 showToast('删除成功')
+                cachedViewsStore.removeCaches('ReportList')
                 setTimeout(() => {
-                    window.close()
+                    router.back()
                 }, 1500);
             }
         })

+ 0 - 2
src/views/report/List.vue

@@ -368,8 +368,6 @@ function goSearch(){
             </ul>
         </van-list>
     </div>
-    <!-- 回到顶部 -->
-    <van-back-top />
 
     <!-- 报告item操作 -->
     <van-action-sheet 

+ 5 - 0
src/views/report/chapter/List.vue

@@ -6,7 +6,9 @@ import {apiGetWXQRCodeImg} from '@/api/common'
 import moment from 'moment';
 import { showToast,showDialog } from 'vant';
 import { useWindowSize } from '@vueuse/core'
+import {useCachedViewsStore} from '@/store/modules/cachedViews'
 
+const cachedViewsStore=useCachedViewsStore()
 const { width, height } = useWindowSize()
 
 
@@ -141,6 +143,9 @@ async function handlePublishValid(){
 async function handlePublishReport(){
     const res=await apiReport.publishDayOrWeekReport({ReportId:Number(reportInfo.value.Id)})
     if(res.Ret!=200)return
+    // 清除列表缓存
+    cachedViewsStore.removeCaches('ReportList')
+
     if(reportInfo.value.ClassifyNameFirst==='周报'){
         showToast('发布成功')
         getReportDetail()

+ 3 - 0
src/views/report/components/ReportPublishPop.vue

@@ -1,6 +1,8 @@
 <script setup>
 import { showToast,showDialog } from 'vant';
 import apiReport from '@/api/report'
+import {useCachedViewsStore} from '@/store/modules/cachedViews'
+const cachedViewsStore=useCachedViewsStore()
 
 const props=defineProps({
     reportData:{
@@ -17,6 +19,7 @@ function handleConfirmPublish(type){
         ReportIds:props.reportData.Id.toString()
     }).then(res=>{
         if(res.Ret==200){
+            cachedViewsStore.removeCaches('ReportList')
             if(type===2){
                 handleReportMessageSend(true)
             }else{

+ 6 - 1
src/views/reportEn/Detail.vue

@@ -4,6 +4,8 @@ import { useRoute, useRouter } from "vue-router";
 import apiReportEn from '@/api/reportEn'
 import { showToast,showDialog } from 'vant';
 import SendEmail from './components/SendEmail.vue';
+import {useCachedViewsStore} from '@/store/modules/cachedViews'
+const cachedViewsStore=useCachedViewsStore()
 
 const route=useRoute()
 const router=useRouter()
@@ -33,6 +35,7 @@ async function handleReportPublish(){
         }).then(res=>{
             if(res.Ret===200){
                 showToast('发布成功')
+                cachedViewsStore.removeCaches('ReportEnList')
                 getReportDetail()
             }
         })
@@ -49,6 +52,7 @@ function handleReportPublishCancle(){
         apiReportEn.reportPublishCancle({ReportIds:Number(route.query.id)}).then(res=>{
             if(res.Ret===200){
                 showToast('取消发布成功')
+                cachedViewsStore.removeCaches('ReportEnList')
                 getReportDetail()
             }
         })
@@ -66,7 +70,8 @@ function handleDelReport(){
         apiReportEn.reportDel({ReportIds:Number(route.query.id)}).then(res=>{
             if(res.Ret===200){
                 showToast('删除成功')
-                window.close()
+                cachedViewsStore.removeCaches('ReportEnList')
+                router.back()
             }
         })
     }).catch(()=>{})

+ 0 - 2
src/views/reportEn/List.vue

@@ -332,8 +332,6 @@ function goSearch(){
             </ul>
         </van-list>
     </div>
-    <!-- 回到顶部 -->
-    <van-back-top />
 
     <!-- 报告item操作 -->
     <van-action-sheet