刘洋 2 years ago
parent
commit
8c48cdca72
1 changed files with 25 additions and 24 deletions
  1. 25 24
      src/modules/marking/mark/index.vue

+ 25 - 24
src/modules/marking/mark/index.vue

@@ -19,10 +19,10 @@
         <span v-if="currentTask" class="mark-status">
           <img :src="statusIcon" alt="" />
         </span>
-        <span class="preview" @click="onPreview">
+        <span v-if="currentTask" class="preview" @click="onPreview">
           <svg-icon name="preview"></svg-icon>
         </span>
-        <div :class="{ 'text-center': center }">
+        <div v-if="currentTask" :class="{ 'text-center': center }">
           <img :src="dataUrl" alt="" class="paper-img" :style="{ 'background-color': frontColor }" />
         </div>
       </div>
@@ -181,25 +181,20 @@ const refreshTaskPool = (force = false, isRefresh = false) => {
   }
   refreshTimer = window.setTimeout(
     () => {
-      // alert(currentTaskPool.length)
       if (currentTaskPool.length < (isRefresh ? Number.MAX_SAFE_INTEGER : CACHE_NUM)) {
         // if (currentTaskPool.length < Number.MAX_SAFE_INTEGER) {
-        useFetch('clearCachedTasks')
-          .fetch()
-          .then(() => {
-            getMarkingTask().then((result) => {
-              if (result?.length) {
-                currentTaskPool[isRefresh ? 'unshift' : 'push'](...result)
-              }
-              if (currentTaskPool?.length && !currentTask.value) {
-                setCurrentTask()
-              }
-              refreshTaskPool()
-            })
-          })
+        getMarkingTask().then((result) => {
+          if (result?.length) {
+            currentTaskPool[isRefresh ? 'unshift' : 'push'](...result)
+          }
+          if (currentTaskPool?.length && !currentTask.value) {
+            setCurrentTask()
+          }
+          refreshTaskPool()
+        })
       }
     },
-    force ? 0 : 8000
+    force ? 0 : 5000
   )
 }
 
@@ -334,12 +329,15 @@ const clearTaskView = () => {
   currentTask.value = undefined
 }
 const checkMarkStatus = async (): Promise<boolean> => {
+  let myUserInfo: any = await useFetch('getMyUserInfo').fetch()
+  console.log('myUserInfo:', myUserInfo)
+  const { markDayCount, markTotalCount } = myUserInfo
   let res: any = await getMarkStatus()
-  if (!!res.personDayCount && res.markedCount === res.personDayCount) {
+  if (!!markDayCount && res.personDayCount === markDayCount) {
     ElMessage.success(`您当天的任务量${res.persionDayCount}已完成`)
     clearTaskView()
     return false
-  } else if (!!res.totalCount && res.markedCount === res.totalCount) {
+  } else if (!!markTotalCount && res.personCount === markTotalCount) {
     ElMessage.success(`任务量${res.totalCount}已完成`)
     clearTaskView()
     return false
@@ -347,17 +345,20 @@ const checkMarkStatus = async (): Promise<boolean> => {
     return true
   }
 }
+const onRefreshNext = () => {
+  onRefresh(true)
+}
 /** 刷新 */
-const onRefresh = async () => {
+const onRefresh = async (refreshToNext?: boolean) => {
   // await getMarkStatus()
   let bool = await checkMarkStatus()
   if (!bool) {
     return false
   }
+  if (!refreshToNext) {
+    await useFetch('clearCachedTasks').fetch()
+  }
 
-  // useFetch('clearCachedTasks')
-  //   .fetch()
-  //   .then(() => getNextTask(true))
   getNextTask(true)
 }
 
@@ -387,7 +388,7 @@ const operationHandles: Partial<Record<OperationType, (...args: any) => void>> =
   rotate: onRotate,
   'front-color': setFrontColor,
   'background-color': setBackgroundColor,
-  refresh: onRefresh,
+  refresh: onRefreshNext,
   remark: onRemark,
   problem: onSetProblem,
   example: onViewSample,