浏览代码

feat: update useOptions

chenhao 2 年之前
父节点
当前提交
448519c673
共有 29 个文件被更改,包括 167 次插入153 次删除
  1. 2 2
      electron/main/main.ts
  2. 3 0
      src/components/element/BaseForm.vue
  3. 18 9
      src/hooks/useOptions.ts
  4. 3 3
      src/modules/admin-data/export/index.vue
  5. 4 4
      src/modules/admin-data/marking/index.vue
  6. 4 4
      src/modules/admin-data/paper/components/rf.vue
  7. 4 4
      src/modules/admin-data/paper/components/standard.vue
  8. 9 9
      src/modules/admin-data/task-setting/index.vue
  9. 9 9
      src/modules/admin-user/bulk-add-user/index.vue
  10. 5 4
      src/modules/admin-user/manage/hooks/useUserManageFilter.ts
  11. 8 9
      src/modules/analysis/group-monitoring/hooks/useFormFilter.ts
  12. 3 3
      src/modules/analysis/marking-progress/components/TotalProgress.vue
  13. 9 9
      src/modules/analysis/monitoring/index.vue
  14. 9 9
      src/modules/analysis/personnel-statistics/hooks/useStatisticsFilter.ts
  15. 9 9
      src/modules/analysis/statistics/index.vue
  16. 4 3
      src/modules/expert/assess/index.vue
  17. 3 3
      src/modules/expert/sample/index.vue
  18. 3 3
      src/modules/expert/standard/index.vue
  19. 3 3
      src/modules/expert/training/index.vue
  20. 9 8
      src/modules/marking/assess/index.vue
  21. 9 9
      src/modules/marking/inquiry/index.vue
  22. 3 3
      src/modules/marking/problem/index.vue
  23. 3 3
      src/modules/marking/repeat/index.vue
  24. 3 3
      src/modules/marking/similar/index.vue
  25. 3 3
      src/modules/monitor/system-check/index.vue
  26. 9 9
      src/modules/monitor/training-monitoring/hooks/useFormFilter.ts
  27. 8 8
      src/modules/quality/ending-check/components/EndCheck.vue
  28. 4 4
      src/modules/quality/spot-check/index.vue
  29. 4 4
      src/modules/quality/subjective-check/index.vue

+ 2 - 2
electron/main/main.ts

@@ -1,6 +1,6 @@
 import { app, BrowserWindow, clipboard, dialog, screen } from 'electron'
 import { resolve } from 'path'
-import installDevTool, { VUEJS_DEVTOOLS } from 'electron-devtools-installer'
+import installDevTool, { VUEJS3_DEVTOOLS } from 'electron-devtools-installer'
 import path from 'path'
 
 if (!app.requestSingleInstanceLock()) {
@@ -65,7 +65,7 @@ async function createWindow() {
     // mainWin.loadURL('http://192.168.10.40:7200')
     mainWin.loadURL('http://cet-test.markingtool.cn')
   } else {
-    installDevTool(VUEJS_DEVTOOLS)
+    installDevTool(VUEJS3_DEVTOOLS)
     process.env.WEB_DEV_INDEX_URL && mainWin.loadURL(process.env.WEB_DEV_INDEX_URL)
   }
 }

+ 3 - 0
src/components/element/BaseForm.vue

@@ -236,6 +236,9 @@ defineExpose({ formRef })
   &.el-form--inline :deep(.el-form-item) {
     align-items: center;
     margin-bottom: 0;
+    .el-form-item__content {
+      word-break: break-all;
+    }
   }
 
   .form-item-description {

+ 18 - 9
src/hooks/useOptions.ts

@@ -98,29 +98,38 @@ const useOptions = (
   })
 
   watch(
-    () => dataModel.subject,
+    userInfo,
     () => {
-      if (types.includes('question') && dataModel.subject) {
-        // resetQuestionFetch()
-        // resetGroupList()
-        // changeModelValue('question')(void 0)
-        // changeModelValue('group')(void 0)
-        getMainQuestionList({ subjectCode: dataModel.subject })
+      if (!dataModel.subject && userInfo.value?.subjectCode) {
+        dataModel.subject = userInfo.value.subjectCode
+      }
+      if (!dataModel.question && userInfo.value?.mainNumber) {
+        dataModel.question = userInfo.value.mainNumber
+      }
+      if (!dataModel.group && userInfo.value?.markingGroupNumber) {
+        dataModel.group = userInfo.value.markingGroupNumber
       }
     },
     { immediate: true }
   )
 
   watch(
-    () => dataModel.question,
+    dataModel,
     () => {
+      if (types.includes('question') && dataModel.subject) {
+        // resetQuestionFetch()
+        // resetGroupList()
+        // changeModelValue('question')(void 0)
+        // changeModelValue('group')(void 0)
+        getMainQuestionList({ subjectCode: dataModel.subject })
+      }
       if (types.includes('group') && dataModel.subject && dataModel.question) {
         // resetGroupList()
         // changeModelValue('group')(void 0)
         getQuestionGroupList({ subjectCode: dataModel.subject, mainNumber: dataModel.question })
       }
     },
-    { immediate: true }
+    { immediate: true, deep: true }
   )
 
   if (autoFill) {

+ 3 - 3
src/modules/admin-data/export/index.vue

@@ -38,14 +38,14 @@ import useVW from '@/hooks/useVW'
 import type { ExtractMultipleApiParams } from '@/api/api'
 import type { EpFormItem, EpTableColumn } from 'global-type'
 
+const { subjectList, dataModel, onOptionInit, changeModelValue } = useOptions(['subject'])
+
 const model = reactive<ExtractMultipleApiParams<'getCetScoreList'>>({
-  subjectCode: '',
+  subjectCode: dataModel.subject || '',
 })
 
 const { defineColumn, _ } = useForm()
 
-const { subjectList, dataModel, onOptionInit, changeModelValue } = useOptions(['subject'])
-
 watch(dataModel, () => {
   model.subjectCode = dataModel.subject || ''
 })

+ 4 - 4
src/modules/admin-data/marking/index.vue

@@ -61,6 +61,8 @@ import useVW from '@/hooks/useVW'
 import type { FormGroup, EpFormItem, EpFormRules } from 'global-type'
 import type { ExtractApiParams } from '@/api/api'
 
+const { subjectList, mainQuestionList, dataModel, changeModelValue } = useOptions(['subject', 'question'])
+
 const { fetch: getImportFilePath, result: filePath } = useFetch('getImportFilePath')
 
 const { fileList, upload, percentage, setPercentage, onExceed, onUploadProgress, reset } = useUploadFile()
@@ -71,16 +73,14 @@ const { fetch, loading } = useFetch('importMarkingData', { onUploadProgress })
 
 const showProgress = ref(false)
 
-const { subjectList, mainQuestionList, dataModel, changeModelValue } = useOptions(['subject', 'question'])
-
 const { formRef, elFormRef, defineColumn, _ } = useForm()
 
 const model = reactive<ExtractApiParams<'importMarkingData'>>({
+  subjectCode: dataModel.subject || '',
   separator: '',
-  mainNumber: void 0,
+  mainNumber: dataModel.question,
   dayNumber: void 0,
   file: void 0,
-  subjectCode: '',
 })
 
 watch(dataModel, () => {

+ 4 - 4
src/modules/admin-data/paper/components/rf.vue

@@ -59,6 +59,8 @@ import type { ExtractApiParams } from '@/api/api'
 
 const showProgress = ref(false)
 
+const { subjectList, mainQuestionList, dataModel, changeModelValue } = useOptions(['subject', 'question'])
+
 const { fileList, upload, percentage, setPercentage, onExceed, onUploadProgress, reset } = useUploadFile()
 
 const { fetch: getImportFilePath, result: filePath } = useFetch('getImportFilePath')
@@ -67,8 +69,8 @@ const { fetch, loading } = useFetch('importRfPaper', { onUploadProgress })
 
 const model = reactive<ExtractApiParams<'importRfPaper'>>({
   file: void 0,
-  subjectCode: '',
-  mainNumber: void 0,
+  subjectCode: dataModel.subject || '',
+  mainNumber: dataModel.question,
   prefix: '',
   separator: '',
 })
@@ -84,8 +86,6 @@ watch([() => model.subjectCode, () => model.mainNumber], () => {
     })
 })
 
-const { subjectList, mainQuestionList, dataModel, changeModelValue } = useOptions(['subject', 'question'])
-
 watch(dataModel, () => {
   model.subjectCode = dataModel.subject || ''
   model.mainNumber = dataModel.question

+ 4 - 4
src/modules/admin-data/paper/components/standard.vue

@@ -19,13 +19,13 @@ import useVW from '@/hooks/useVW'
 
 import type { FormGroup, EpFormItem, EpFormRules } from 'global-type'
 
-const { fetch: getImportFilePath, result: filePath } = useFetch('getImportFilePath')
-
 const { subjectList, mainQuestionList, dataModel, changeModelValue } = useOptions(['subject', 'question'])
 
+const { fetch: getImportFilePath, result: filePath } = useFetch('getImportFilePath')
+
 const model = reactive<{ subjectCode: string; mainNumber?: number }>({
-  subjectCode: '',
-  mainNumber: void 0,
+  subjectCode: dataModel.subject || '',
+  mainNumber: dataModel.question,
 })
 
 watch([() => model.subjectCode, () => model.mainNumber], () => {

+ 9 - 9
src/modules/admin-data/task-setting/index.vue

@@ -48,12 +48,18 @@ type FormParams = ExtractApiParams<'markerSetCount'> &
 
 const refresh = ref<number>(0)
 
+const { subjectList, mainQuestionList, groupList, changeModelValue, dataModel } = useOptions([
+  'subject',
+  'question',
+  'group',
+])
+
 const { formRef, elFormRef, defineColumn, _ } = useForm()
 
 const taskSettingModel = reactive<FormParams>({
-  subjectCode: '',
-  mainNumber: void 0,
-  markingGroupNumber: void 0,
+  subjectCode: dataModel.subject,
+  mainNumber: dataModel.question,
+  markingGroupNumber: dataModel.group,
   markCount: void 0,
   markDayCount: void 0,
   markTotalCount: void 0,
@@ -91,12 +97,6 @@ watch(
   }
 )
 
-const { subjectList, mainQuestionList, groupList, changeModelValue, dataModel } = useOptions([
-  'subject',
-  'question',
-  'group',
-])
-
 watch(dataModel, () => {
   taskSettingModel.subjectCode = dataModel.subject
   taskSettingModel.mainNumber = dataModel.question

+ 9 - 9
src/modules/admin-user/bulk-add-user/index.vue

@@ -31,17 +31,23 @@ const { back } = useRouter()
 
 const mainStore = useMainStore()
 
+const { subjectList, mainQuestionList, groupList, dataModel, changeModelValue } = useOptions([
+  'subject',
+  'question',
+  'group',
+])
+
 const initModel: ExtractApiParams<'bulkSaveUser'> = {
+  subjectCode: dataModel.subject || '',
+  mainNumber: dataModel.question,
+  markingGroupNumber: dataModel.group,
   enable: true,
   loginNameLength: 3,
-  mainNumber: void 0,
   markingGroupAccounts: void 0,
-  markingGroupNumber: void 0,
   password: '',
   prefix: '',
   role: 'MARKER',
   start: 1,
-  subjectCode: '',
 }
 
 const model = reactive<ExtractApiParams<'bulkSaveUser'>>(initModel)
@@ -61,12 +67,6 @@ const rules: EpFormRules = {
   start: [{ required: true, message: '请填写账号起始数' }],
 }
 
-const { subjectList, mainQuestionList, groupList, dataModel, changeModelValue } = useOptions([
-  'subject',
-  'question',
-  'group',
-])
-
 watch(dataModel, () => {
   model.subjectCode = dataModel.subject || ''
   model.mainNumber = dataModel.question

+ 5 - 4
src/modules/admin-user/manage/hooks/useUserManageFilter.ts

@@ -7,20 +7,21 @@ import type { EpFormItem, InstanceForm, EpFormRows } from 'global-type'
 import type { ExtractMultipleApiParams } from '@/api/api'
 
 const useUserManageFilter = () => {
+  const { subjectList, mainQuestionList, changeModelValue, dataModel } = useOptions(['subject', 'question'])
+
   const { elFormRef, formRef, defineColumn, _ } = useForm()
+
   const expand = ref(false)
 
   const model = reactive<ExtractMultipleApiParams<'getUserList'>>({
-    subjectCode: '',
-    mainNumber: void 0,
+    subjectCode: dataModel.subject || '',
+    mainNumber: dataModel.question,
     enable: true,
     loginName: '',
     name: '',
     role: void 0,
   })
 
-  const { subjectList, mainQuestionList, changeModelValue, dataModel } = useOptions(['subject', 'question'], {}, false)
-
   watch(dataModel, () => {
     model.subjectCode = dataModel.subject || ''
     model.mainNumber = dataModel.question

+ 8 - 9
src/modules/analysis/group-monitoring/hooks/useFormFilter.ts

@@ -7,14 +7,19 @@ import type { EpFormItem } from 'global-type'
 import type { ExtractApiParams } from '@/api/api'
 
 const useFormFilter = () => {
+  const { subjectList, mainQuestionList, groupListWithAll, changeModelValue, dataModel, onOptionInit } = useOptions([
+    'subject',
+    'question',
+    'group',
+  ])
   const { formRef, elFormRef, defineColumn, _ } = useForm()
 
   const model = reactive<
     Omit<ExtractApiParams<'getGroupMonitor'>, 'markingGroupNumbers'> & { markingGroupNumbers?: number }
   >({
-    subjectCode: '',
-    markingGroupNumbers: void 0,
-    questionMainNumber: void 0,
+    subjectCode: dataModel.subject || '',
+    markingGroupNumbers: dataModel.group,
+    questionMainNumber: dataModel.question,
   })
 
   const formModel = computed<ExtractApiParams<'getGroupMonitor'>>(() => {
@@ -26,12 +31,6 @@ const useFormFilter = () => {
     }
   })
 
-  const { subjectList, mainQuestionList, groupListWithAll, changeModelValue, dataModel, onOptionInit } = useOptions([
-    'subject',
-    'question',
-    'group',
-  ])
-
   watch(dataModel, () => {
     model.subjectCode = dataModel.subject || ''
     model.questionMainNumber = dataModel.question

+ 3 - 3
src/modules/analysis/marking-progress/components/TotalProgress.vue

@@ -64,12 +64,12 @@ const { provideInitOption } = useVueECharts()
 
 provideInitOption({ renderer: 'svg' })
 
+const { subjectList, dataModel, changeModelValue } = useOptions(['subject'])
+
 const model = reactive({
-  subjectCode: '',
+  subjectCode: dataModel.subject || '',
 })
 
-const { subjectList, dataModel, changeModelValue } = useOptions(['subject'])
-
 watch(
   dataModel,
   () => {

+ 9 - 9
src/modules/analysis/monitoring/index.vue

@@ -75,15 +75,21 @@ import type { ExtractApiParams, ExtractApiResponse } from '@/api/api'
 
 const { push } = useRouter()
 
+const { subjectList, mainQuestionList, groupList, dataModel, changeModelValue, initFinish, onOptionInit } = useOptions([
+  'subject',
+  'question',
+  'group',
+])
+
 const model = reactive<
   Omit<ExtractApiParams<'getStatistics'>, 'markingGroupNumbers'> & {
     refresh: number
     markingGroupNumbers?: number
   }
 >({
-  subjectCode: '',
-  questionMainNumber: void 0,
-  markingGroupNumbers: void 0,
+  subjectCode: dataModel.subject || '',
+  questionMainNumber: dataModel.question,
+  markingGroupNumbers: dataModel.group,
   refresh: localStorage.get('MONITORING_REFRESH_RATE') || 0,
 })
 
@@ -100,12 +106,6 @@ watch(fetchModel, () => {
   localStorage.set('MONITORING_REFRESH_RATE', fetchModel.refresh)
 })
 
-const { subjectList, mainQuestionList, groupList, dataModel, changeModelValue, initFinish, onOptionInit } = useOptions([
-  'subject',
-  'question',
-  'group',
-])
-
 watch(
   dataModel,
   () => {

+ 9 - 9
src/modules/analysis/personnel-statistics/hooks/useStatisticsFilter.ts

@@ -18,10 +18,16 @@ type FormMode = Omit<
 }
 
 const useStatisticsFilter = () => {
+  const { subjectList, mainQuestionList, groupListWithAll, changeModelValue, dataModel, onOptionInit } = useOptions([
+    'subject',
+    'question',
+    'group',
+  ])
+
   const model = reactive<FormMode>({
-    subjectCode: '',
-    markingGroupNumbers: void 0,
-    questionMainNumber: void 0,
+    subjectCode: dataModel.subject || '',
+    questionMainNumber: dataModel.question,
+    markingGroupNumbers: dataModel.group,
     time: [],
     hasJudge: [],
     expand: [],
@@ -40,12 +46,6 @@ const useStatisticsFilter = () => {
 
   const { formRef, elFormRef, defineColumn, _ } = useForm()
 
-  const { subjectList, mainQuestionList, groupListWithAll, changeModelValue, dataModel, onOptionInit } = useOptions([
-    'subject',
-    'question',
-    'group',
-  ])
-
   watch(dataModel, () => {
     model.subjectCode = dataModel.subject || ''
     model.questionMainNumber = dataModel.question

+ 9 - 9
src/modules/analysis/statistics/index.vue

@@ -52,15 +52,21 @@ import type { ExtractApiParams, ExtractApiResponse } from '@/api/api'
 
 const { push } = useRouter()
 
+const { subjectList, mainQuestionList, groupListWithAll, dataModel, changeModelValue, onOptionInit } = useOptions([
+  'subject',
+  'question',
+  'group',
+])
+
 const model = reactive<
   Omit<ExtractApiParams<'getStatistics'>, 'markingGroupNumbers'> & {
     time: string[] | null
     markingGroupNumbers?: number
   }
 >({
-  subjectCode: '',
-  questionMainNumber: void 0,
-  markingGroupNumbers: void 0,
+  subjectCode: dataModel.subject || '',
+  questionMainNumber: dataModel.question,
+  markingGroupNumbers: dataModel.group,
   time: null,
 })
 
@@ -75,12 +81,6 @@ const fetchModel = computed<ExtractApiParams<'getStatistics'>>(() => {
 
 const { defineColumn, _ } = useForm()
 
-const { subjectList, mainQuestionList, groupListWithAll, dataModel, changeModelValue, onOptionInit } = useOptions([
-  'subject',
-  'question',
-  'group',
-])
-
 watch(dataModel, () => {
   model.subjectCode = dataModel.subject
   model.questionMainNumber = dataModel.question

+ 4 - 3
src/modules/expert/assess/index.vue

@@ -36,6 +36,7 @@
           size="small"
           :data="tableData"
           :columns="columns"
+          highlight-current-row
           @current-change="onCurrentChange"
         ></base-table>
       </div>
@@ -134,14 +135,14 @@ const onOperationClick: OperationClick = ({ type, value }) => {
   operationHandles[type]?.(value)
 }
 
+const { mainQuestionList, dataModel, changeModelValue, onOptionInit } = useOptions(['question'])
+
 const formModel = reactive<ExtractApiParams<'getExpertAssessList'>>({
-  mainNumber: void 0,
+  mainNumber: dataModel.question,
   pageNumber: 1,
   pageSize: 9999999,
 })
 
-const { mainQuestionList, dataModel, changeModelValue, onOptionInit } = useOptions(['question'])
-
 watch(dataModel, () => {
   formModel.mainNumber = dataModel.question
 })

+ 3 - 3
src/modules/expert/sample/index.vue

@@ -139,14 +139,14 @@ const onOperationClick: OperationClick = ({ type, value }) => {
   operationHandles[type]?.(value)
 }
 
+const { mainQuestionList, dataModel, changeModelValue, onOptionInit } = useOptions(['question'])
+
 const formModel = reactive<ExtractApiParams<'getRfSampleList'>>({
-  mainNumber: void 0,
+  mainNumber: dataModel.question,
   pageNumber: 1,
   pageSize: 9999999,
 })
 
-const { mainQuestionList, dataModel, changeModelValue, onOptionInit } = useOptions(['question'])
-
 watch(dataModel, () => {
   formModel.mainNumber = dataModel.question
 })

+ 3 - 3
src/modules/expert/standard/index.vue

@@ -82,8 +82,10 @@ const onOperationClick: OperationClick = ({ type, value }) => {
   operationHandles[type]?.(value)
 }
 
+const { mainQuestionList, dataModel, changeModelValue, onOptionInit } = useOptions(['question'])
+
 const formModel = reactive<ExtractApiParams<'getStandardList'>>({
-  mainNumber: void 0,
+  mainNumber: dataModel.question,
   dispensed: '',
   scoreStart: '',
   scoreEnd: '',
@@ -91,8 +93,6 @@ const formModel = reactive<ExtractApiParams<'getStandardList'>>({
   pageSize: 9999999,
 })
 
-const { mainQuestionList, dataModel, changeModelValue, onOptionInit } = useOptions(['question'])
-
 watch(dataModel, () => {
   formModel.mainNumber = dataModel.question
 })

+ 3 - 3
src/modules/expert/training/index.vue

@@ -113,15 +113,15 @@ const onOperationClick: OperationClick = ({ type, value }) => {
   operationHandles[type]?.(value)
 }
 
+const { mainQuestionList, dataModel, changeModelValue, onOptionInit } = useOptions(['question'])
+
 const formModel = reactive<ExtractApiParams<'getSampleList'>>({
-  mainNumber: void 0,
+  mainNumber: dataModel.question,
   paperType: 'SAMPLE_A',
   pageNumber: 1,
   pageSize: 9999999,
 })
 
-const { mainQuestionList, dataModel, changeModelValue, onOptionInit } = useOptions(['question'])
-
 watch(dataModel, () => {
   formModel.mainNumber = dataModel.question
 })

+ 9 - 8
src/modules/marking/assess/index.vue

@@ -61,11 +61,13 @@ import useVW from '@/hooks/useVW'
 import type { ExtractApiParams, ExtractApiResponse } from '@/api/api'
 import type { FormGroup, EpFormItem, EpFormRules, EpTableColumn } from 'global-type'
 
+const { subjectList, mainQuestionList, dataModel, onOptionInit, changeModelValue } = useOptions(['subject', 'question'])
+
 const markerIds = ref()
 
 const model = reactive<ExtractApiParams<'handOutForceCheck'>>({
-  subjectCode: '',
-  mainNumber: void 0,
+  subjectCode: dataModel.subject || '',
+  mainNumber: dataModel.question,
   markerIds: [],
   forceGroupNumber: void 0,
 })
@@ -87,8 +89,6 @@ watch(forceCheckGroupList, () => {
   }
 })
 
-const { subjectList, mainQuestionList, dataModel, onOptionInit, changeModelValue } = useOptions(['subject', 'question'])
-
 watch(dataModel, () => {
   model.subjectCode = dataModel.subject || ''
   model.mainNumber = dataModel.question
@@ -152,10 +152,6 @@ const items = computed<EpFormItem[]>(() => {
   ]
 })
 
-onOptionInit((data) => {
-  getMarkerTree({ subjectCode: data?.subject || '', mainNumber: data?.question, name: '' })
-})
-
 type MarkerItem = ExtractArrayValue<ExtractArrayValue<ExtractApiResponse<'getMarkerTree'>>['markers']>
 
 function isMarker(x: any): x is MarkerItem {
@@ -221,6 +217,11 @@ const onSearch = async () => {
     console.error(error)
   }
 }
+
+onOptionInit((data) => {
+  getMarkerTree({ subjectCode: data?.subject || '', mainNumber: data?.question, name: '' })
+  onSearch()
+})
 </script>
 
 <style scoped lang="scss">

+ 9 - 9
src/modules/marking/inquiry/index.vue

@@ -47,14 +47,20 @@ const { push } = useRouter()
 
 const shortQueryConfig = ref<ExtractApiParams<'setCustomQueryConfig'>['params']>()
 
+const { subjectList, mainQuestionList, groupListWithAll, dataModel, changeModelValue } = useOptions([
+  'subject',
+  'question',
+  'group',
+])
+
 const { formRef, elFormRef, defineColumn, _ } = useForm()
 
 type FormModel = Omit<ExtractApiParams<'setCustomQueryConfig'>['params'], 'timeStart' | 'timeEnd'> & { time: string[] }
 
 const model = reactive<FormModel>({
-  subjectCode: void 0,
-  mainNumber: void 0,
-  markingGroupNumber: void 0,
+  subjectCode: dataModel.subject,
+  mainNumber: dataModel.question,
+  markingGroupNumber: dataModel.group,
   checked: void 0,
   arbitration: false,
   markerId: void 0,
@@ -66,12 +72,6 @@ const model = reactive<FormModel>({
   // timeStart: void 0,
 })
 
-const { subjectList, mainQuestionList, groupListWithAll, dataModel, changeModelValue } = useOptions([
-  'subject',
-  'question',
-  'group',
-])
-
 watch(dataModel, () => {
   model.subjectCode = dataModel.subject
   model.mainNumber = dataModel.question

+ 3 - 3
src/modules/marking/problem/index.vue

@@ -145,16 +145,16 @@ const onOperationClick: OperationClick = ({ type, value }) => {
   operationHandles[type]?.(value)
 }
 
+const { mainQuestionList, dataModel, changeModelValue, onOptionInit } = useOptions(['question'])
+
 const formModel = reactive<ExtractApiParams<'getProblemHistory'>>({
-  mainNumber: void 0,
+  mainNumber: dataModel.question,
   problemType: '',
   status: '',
   pageNumber: 1,
   pageSize: 9999999,
 })
 
-const { mainQuestionList, dataModel, changeModelValue, onOptionInit } = useOptions(['question'])
-
 watch(dataModel, () => {
   formModel.mainNumber = dataModel.question
 })

+ 3 - 3
src/modules/marking/repeat/index.vue

@@ -143,15 +143,15 @@ const onOperationClick: OperationClick = ({ type, value }) => {
   operationHandles[type]?.(value)
 }
 
+const { mainQuestionList, dataModel, changeModelValue, onOptionInit } = useOptions(['question'])
+
 const formModel = reactive<ExtractApiParams<'getReMarkPaperList'>>({
-  mainNumber: void 0,
+  mainNumber: dataModel.question,
   confirm: false,
   pageNumber: 1,
   pageSize: 9999999,
 })
 
-const { mainQuestionList, dataModel, changeModelValue, onOptionInit } = useOptions(['question'])
-
 watch(dataModel, () => {
   formModel.mainNumber = dataModel.question
 })

+ 3 - 3
src/modules/marking/similar/index.vue

@@ -76,15 +76,15 @@ const onOperationClick: OperationClick = ({ type, value }) => {
   operationHandles[type]?.(value)
 }
 
+const { mainQuestionList, dataModel, changeModelValue, onOptionInit } = useOptions(['question'])
+
 const formModel = reactive<ExtractApiParams<'getSimilarPaperList'>>({
-  mainNumber: void 0,
+  mainNumber: dataModel.question,
   status: '',
   pageNumber: 1,
   pageSize: 9999999,
 })
 
-const { mainQuestionList, dataModel, changeModelValue, onOptionInit } = useOptions(['question'])
-
 watch(dataModel, () => {
   formModel.mainNumber = dataModel.question
 })

+ 3 - 3
src/modules/monitor/system-check/index.vue

@@ -155,8 +155,10 @@ const onOperationClick: OperationClick = ({ type, value }) => {
   operationHandles[type]?.(value)
 }
 
+const { mainQuestionList, dataModel, changeModelValue, onOptionInit } = useOptions(['question'])
+
 const formModel = reactive<ExtractApiParams<'getSystemSpotList'>>({
-  mainNumber: void 0,
+  mainNumber: dataModel.question,
   status: 'INITIAL',
   level: '',
   pageNumber: 1,
@@ -167,8 +169,6 @@ const hideHeaderButtons = computed(() => {
   return formModel.status === 'REJECT'
 })
 
-const { mainQuestionList, dataModel, changeModelValue, onOptionInit } = useOptions(['question'])
-
 watch(dataModel, () => {
   formModel.mainNumber = dataModel.question
 })

+ 9 - 9
src/modules/monitor/training-monitoring/hooks/useFormFilter.ts

@@ -8,12 +8,18 @@ import type { EpFormItem } from 'global-type'
 import type { ExtractApiParams } from '@/api/api'
 
 const useFormFilter = () => {
+  const { subjectList, mainQuestionList, groupListWithAll, dataModel, onOptionInit, changeModelValue } = useOptions([
+    'subject',
+    'question',
+    'group',
+  ])
+
   const { formRef, elFormRef, defineColumn, _ } = useForm()
 
   const model = reactive<ExtractApiParams<'getTrainingMonitor'> & { diffShow: string[] }>({
-    subjectCode: '',
-    mainNumber: void 0,
-    markingGroupNumber: void 0,
+    subjectCode: dataModel.subject || '',
+    mainNumber: dataModel.question,
+    markingGroupNumber: dataModel.group,
     markStage: 'SAMPLE_A',
     forceGroupNumber: void 0,
     diffShow: [],
@@ -48,12 +54,6 @@ const useFormFilter = () => {
     { deep: true }
   )
 
-  const { subjectList, mainQuestionList, groupListWithAll, dataModel, onOptionInit, changeModelValue } = useOptions([
-    'subject',
-    'question',
-    'group',
-  ])
-
   watch(
     dataModel,
     () => {

+ 8 - 8
src/modules/quality/ending-check/components/EndCheck.vue

@@ -75,22 +75,22 @@ const rules: EpFormRules = {
   loginName: [{ required: true, message: '请输入指定评卷员账号' }],
 }
 
+const { mainQuestionList, groupListWithAll, onOptionInit, dataModel, changeModelValue } = useOptions([
+  'question',
+  'group',
+])
+
 /** 搜索 */
 const model = reactive<ExtractApiParams<'unProcessProblemList'>>({
-  markingGroupNumber: void 0,
-  questionMainNumber: void 0,
-  subjectCode: '',
+  markingGroupNumber: dataModel.group,
+  questionMainNumber: dataModel.question,
+  subjectCode: dataModel.subject || '',
 })
 
 const { fetch: getUnMarkPaperList, result: unMarkPaperList } = useFetch('unMarkPaperList')
 const { fetch: getUnProcessProblemList, result: unProcessProblemList } = useFetch('unProcessProblemList')
 const { fetch: getUnProcessSimilarList, result: unProcessSimilarList } = useFetch('unProcessSimilarList')
 
-const { mainQuestionList, groupListWithAll, onOptionInit, dataModel, changeModelValue } = useOptions([
-  'question',
-  'group',
-])
-
 watch(dataModel, () => {
   model.subjectCode = dataModel.subject || ''
   model.questionMainNumber = dataModel.question

+ 4 - 4
src/modules/quality/spot-check/index.vue

@@ -29,16 +29,16 @@ import useVW from '@/hooks/useVW'
 import type { ExtractApiParams, ExtractApiResponse, ExtractMultipleApiResponse } from '@/api/api'
 import type { EpFormItem, EpTableColumn } from 'global-type'
 
+const { mainQuestionList, dataModel, onOptionInit, changeModelValue } = useOptions(['question'])
+
 const model = reactive<ExtractApiParams<'statisticCheckOverview'>>({
-  subjectCode: '',
-  questionMainNumber: void 0,
+  subjectCode: dataModel.subject || '',
+  questionMainNumber: dataModel.question,
   markingGroupLeaderId: 0,
 })
 
 const { defineColumn, _ } = useForm()
 
-const { mainQuestionList, dataModel, onOptionInit, changeModelValue } = useOptions(['question'])
-
 watch(dataModel, () => {
   model.subjectCode = dataModel.subject || ''
   model.questionMainNumber = dataModel.question

+ 4 - 4
src/modules/quality/subjective-check/index.vue

@@ -149,17 +149,17 @@ const onOperationClick: OperationClick = ({ type, value }) => {
   operationHandles[type]?.(value)
 }
 
+const { subjectList, mainQuestionList, dataModel, changeModelValue, onOptionInit } = useOptions(['subject', 'question'])
+
 const formModel = reactive<ExtractApiParams<'getSubjectiveCheckList'>>({
-  subjectCode: '',
-  mainNumber: void 0,
+  subjectCode: dataModel.subject || '',
+  mainNumber: dataModel.question,
   checked: false,
   rule: 'RULE1',
   pageNumber: 1,
   pageSize: 9999999,
 })
 
-const { subjectList, mainQuestionList, dataModel, changeModelValue, onOptionInit } = useOptions(['subject', 'question'])
-
 watch(dataModel, () => {
   formModel.subjectCode = dataModel.subject || ''
   formModel.mainNumber = dataModel.question