刘洋 2 жил өмнө
parent
commit
a06376e31c

+ 20 - 2
src/modules/admin-subject/edit-main-question/index.vue

@@ -115,6 +115,18 @@ const levelRangeView = computed(() => {
 
 const { formRef, elFormRef, defineColumn, _ } = useForm()
 
+const validateSmallQuestion = (rule: any, value: any, callback: any) => {
+  if (
+    Number(model.questionCount) &&
+    Number(model.questionScore) &&
+    (model.questionCount as number) * (model.questionScore as number) > 15
+  ) {
+    callback(new Error('小题总分(小题数量乘以小题满分)不能大于15'))
+  } else {
+    callback()
+  }
+}
+
 const rules = computed<EpFormRules>(() => {
   return {
     groupNumber: [{ required: true, message: '请输入小组数量' }],
@@ -126,8 +138,14 @@ const rules = computed<EpFormRules>(() => {
       { type: 'string', message: '大题名称限制50字以内' },
     ],
     minMarkTime: [{ required: true, message: '请输入最小阅卷时长' }],
-    questionCount: [{ required: true, message: '请输入小题数量' }],
-    questionScore: [{ required: true, message: '请输入小题满分' }],
+    questionCount: [
+      { required: true, message: '请输入小题数量' },
+      { validator: validateSmallQuestion, trigger: 'change' },
+    ],
+    questionScore: [
+      { required: true, message: '请输入小题满分' },
+      { validator: validateSmallQuestion, trigger: 'change' },
+    ],
     remarkType: [{ required: true, message: '请选择回评设置' }],
     remarkNumber: [{ required: true, message: '请输入回评设置' }],
     startNumber: [{ required: true, message: '请输入小题起始号' }],

+ 17 - 12
src/modules/marking/mark/index.vue

@@ -183,15 +183,19 @@ const refreshTaskPool = (force = false, isRefresh = false) => {
       // alert(currentTaskPool.length)
       if (currentTaskPool.length < (isRefresh ? Number.MAX_SAFE_INTEGER : CACHE_NUM)) {
         // if (currentTaskPool.length < Number.MAX_SAFE_INTEGER) {
-        getMarkingTask().then((result) => {
-          if (result?.length) {
-            currentTaskPool[isRefresh ? 'unshift' : 'push'](...result)
-          }
-          if (currentTaskPool?.length && !currentTask.value) {
-            setCurrentTask()
-          }
-          refreshTaskPool()
-        })
+        useFetch('clearCachedTasks')
+          .fetch()
+          .then(() => {
+            getMarkingTask().then((result) => {
+              if (result?.length) {
+                currentTaskPool[isRefresh ? 'unshift' : 'push'](...result)
+              }
+              if (currentTaskPool?.length && !currentTask.value) {
+                setCurrentTask()
+              }
+              refreshTaskPool()
+            })
+          })
       }
     },
     force ? 0 : 8000
@@ -321,9 +325,10 @@ const onBack = () => {
 const onRefresh = async () => {
   await getMarkStatus()
 
-  useFetch('clearCachedTasks')
-    .fetch()
-    .then(() => getNextTask(true))
+  // useFetch('clearCachedTasks')
+  //   .fetch()
+  //   .then(() => getNextTask(true))
+  getNextTask(true)
 }
 
 /** 回评 */

+ 1 - 1
src/modules/marking/submit-similar/index.vue

@@ -82,7 +82,7 @@ const columns = computed<EpTableColumn<ExtractArrayValue<ExtractApiResponse<'get
 /** 提交 */
 const submit = async () => {
   try {
-    await useFetch('submitSimilarPaper').fetch({ taskId: props.taskId, sameTaskId: 2 })
+    await useFetch('submitSimilarPaper').fetch({ taskId: props.taskId, sameTaskId: current.value?.taskId as number })
     back()
   } catch (error) {
     console.error(error)