|
@@ -194,7 +194,7 @@ onBeforeUnmount(() => {
|
|
|
}
|
|
|
})
|
|
|
|
|
|
-const refreshTaskPool = (force = false, isRefresh = false) => {
|
|
|
+const refreshTaskPool = (force = false, isRefresh = false, hasLimit = false) => {
|
|
|
if (refreshTimer) {
|
|
|
clearTimeout(refreshTimer)
|
|
|
}
|
|
@@ -202,13 +202,20 @@ const refreshTaskPool = (force = false, isRefresh = false) => {
|
|
|
() => {
|
|
|
if (currentTaskPool.length < (isRefresh ? Number.MAX_SAFE_INTEGER : CACHE_NUM)) {
|
|
|
// if (currentTaskPool.length < Number.MAX_SAFE_INTEGER) {
|
|
|
- getMarkingTask().then((result) => {
|
|
|
+ getMarkingTask().then((result: any) => {
|
|
|
+ console.log('result:', result)
|
|
|
+
|
|
|
if (result?.length) {
|
|
|
// currentTaskPool[isRefresh ? 'unshift' : 'push'](...result)
|
|
|
+ if (hasLimit) {
|
|
|
+ result = result.filter((item: any) => {
|
|
|
+ return item.taskType === 'FORCE'
|
|
|
+ })
|
|
|
+ }
|
|
|
if (isRefresh) {
|
|
|
- if ((result[0] as any).type === 'FORCE') {
|
|
|
+ if ((result[0] as any).taskType === 'FORCE') {
|
|
|
currentTaskPool = currentTaskPool.filter((item: any) => {
|
|
|
- return item.type === 'FORCE' || !!item.markerId
|
|
|
+ return item.taskType === 'FORCE' || !!item.markerId
|
|
|
})
|
|
|
currentTaskPool.unshift(...result)
|
|
|
} else {
|
|
@@ -221,7 +228,10 @@ const refreshTaskPool = (force = false, isRefresh = false) => {
|
|
|
if (currentTaskPool?.length && !currentTask.value) {
|
|
|
setCurrentTask()
|
|
|
}
|
|
|
- refreshTaskPool()
|
|
|
+ if (!hasLimit) {
|
|
|
+ refreshTaskPool()
|
|
|
+ }
|
|
|
+ // refreshTaskPool()
|
|
|
})
|
|
|
}
|
|
|
},
|
|
@@ -233,7 +243,7 @@ const refreshTaskPool = (force = false, isRefresh = false) => {
|
|
|
* @param force 即时更新任务
|
|
|
* @param isRefresh 是否有插队任务
|
|
|
*/
|
|
|
-const getNextTask = (force = false, isRefresh = false) => {
|
|
|
+const getNextTask = (force = false, isRefresh = false, hasLimit = false) => {
|
|
|
// if (isRefresh) {
|
|
|
// if (currentTaskPool.length && !!currentTaskPool[0].markerId) {
|
|
|
// setCurrentTask()
|
|
@@ -242,7 +252,7 @@ const getNextTask = (force = false, isRefresh = false) => {
|
|
|
setCurrentTask()
|
|
|
// }
|
|
|
|
|
|
- refreshTaskPool(force, isRefresh)
|
|
|
+ refreshTaskPool(force, isRefresh, !!hasLimit)
|
|
|
}
|
|
|
|
|
|
/** 给分板 */
|
|
@@ -287,10 +297,10 @@ const onSubmit: InstanceType<typeof ScoringPanelWithConfirm>['onSubmit'] = async
|
|
|
taskType: currentTask.value.taskType,
|
|
|
})
|
|
|
let bool = await checkMarkStatus()
|
|
|
- if (!bool) {
|
|
|
- return false
|
|
|
- }
|
|
|
- await getNextTask(true, submitResult?.refresh)
|
|
|
+ // if (!bool) {
|
|
|
+ // return false
|
|
|
+ // }
|
|
|
+ await getNextTask(true, submitResult?.refresh, !bool)
|
|
|
} catch (error) {
|
|
|
console.error(error)
|
|
|
scoringPanelVisible.value = true
|
|
@@ -328,10 +338,10 @@ const onSubmitProblem = async () => {
|
|
|
taskType: currentTask.value.taskType,
|
|
|
})
|
|
|
let bool = await checkMarkStatus()
|
|
|
- if (!bool) {
|
|
|
- return false
|
|
|
- }
|
|
|
- await getNextTask(true, submitResult?.refresh)
|
|
|
+ // if (!bool) {
|
|
|
+ // return false
|
|
|
+ // }
|
|
|
+ await getNextTask(true, submitResult?.refresh, !bool)
|
|
|
}
|
|
|
|
|
|
/** 提交问题卷 & 雷同卷 */
|
|
@@ -394,14 +404,17 @@ const onRefreshNext = () => {
|
|
|
const onRefresh = async (refreshToNext?: boolean) => {
|
|
|
// await getMarkStatus()
|
|
|
let bool = await checkMarkStatus()
|
|
|
- if (!bool) {
|
|
|
- return false
|
|
|
- }
|
|
|
+ // if (!bool) {
|
|
|
+ // return false
|
|
|
+ // }
|
|
|
if (!refreshToNext) {
|
|
|
await useFetch('clearCachedTasks').fetch()
|
|
|
}
|
|
|
-
|
|
|
- getNextTask(true)
|
|
|
+ if (!bool) {
|
|
|
+ getNextTask(true, false, true)
|
|
|
+ } else {
|
|
|
+ getNextTask(true)
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/** 回评 */
|