|
@@ -3,7 +3,7 @@
|
|
<el-form label-width="200px">
|
|
<el-form label-width="200px">
|
|
<el-form-item label="是否缺考">
|
|
<el-form-item label="是否缺考">
|
|
<el-select
|
|
<el-select
|
|
- v-model="searchModel.isMissing"
|
|
|
|
|
|
+ v-model="searchModel.absent"
|
|
placeholder="请选择"
|
|
placeholder="请选择"
|
|
clearable
|
|
clearable
|
|
style="width: 120px"
|
|
style="width: 120px"
|
|
@@ -23,7 +23,7 @@
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="科目">
|
|
<el-form-item label="科目">
|
|
<el-select
|
|
<el-select
|
|
- v-model="searchModel.subjectRangeMode"
|
|
|
|
|
|
+ v-model="searchModel.subjectCodeFunction"
|
|
placeholder="请选择"
|
|
placeholder="请选择"
|
|
style="width: 200px"
|
|
style="width: 200px"
|
|
>
|
|
>
|
|
@@ -37,7 +37,7 @@
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="">
|
|
<el-form-item label="">
|
|
<el-input
|
|
<el-input
|
|
- v-model.trim="searchModel.subjectCodes"
|
|
|
|
|
|
+ v-model.trim="searchModel.subjectCodeInput"
|
|
placeholder="多个科目代码用英文逗号分隔"
|
|
placeholder="多个科目代码用英文逗号分隔"
|
|
:rows="4"
|
|
:rows="4"
|
|
type="textarea"
|
|
type="textarea"
|
|
@@ -46,7 +46,7 @@
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="考点">
|
|
<el-form-item label="考点">
|
|
<el-select
|
|
<el-select
|
|
- v-model="searchModel.examPointRangeMode"
|
|
|
|
|
|
+ v-model="searchModel.examSiteFunction"
|
|
placeholder="请选择"
|
|
placeholder="请选择"
|
|
style="width: 200px"
|
|
style="width: 200px"
|
|
>
|
|
>
|
|
@@ -60,7 +60,7 @@
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="">
|
|
<el-form-item label="">
|
|
<el-input
|
|
<el-input
|
|
- v-model.trim="searchModel.examPoint"
|
|
|
|
|
|
+ v-model.trim="searchModel.examSiteInput"
|
|
placeholder="多个考点用英文逗号分隔"
|
|
placeholder="多个考点用英文逗号分隔"
|
|
type="textarea"
|
|
type="textarea"
|
|
:rows="4"
|
|
:rows="4"
|
|
@@ -69,7 +69,7 @@
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="客观题是否有识别结果">
|
|
<el-form-item label="客观题是否有识别结果">
|
|
<el-select
|
|
<el-select
|
|
- v-model="searchModel.objectiveQuestionHasResult"
|
|
|
|
|
|
+ v-model="searchModel.objectiveFill"
|
|
placeholder="请选择"
|
|
placeholder="请选择"
|
|
clearable
|
|
clearable
|
|
style="width: 120px"
|
|
style="width: 120px"
|
|
@@ -80,7 +80,7 @@
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="客观总分">
|
|
<el-form-item label="客观总分">
|
|
<el-select
|
|
<el-select
|
|
- v-model="searchModel.objectiveTotalScoreMode"
|
|
|
|
|
|
+ v-model="searchModel.objectiveScoreFunction"
|
|
placeholder="请选择"
|
|
placeholder="请选择"
|
|
style="width: 100px"
|
|
style="width: 100px"
|
|
>
|
|
>
|
|
@@ -92,7 +92,7 @@
|
|
/>
|
|
/>
|
|
</el-select>
|
|
</el-select>
|
|
<el-input-number
|
|
<el-input-number
|
|
- v-model="searchModel.objectiveTotalScore"
|
|
|
|
|
|
+ v-model="searchModel.objectiveScoreInput"
|
|
:min="0"
|
|
:min="0"
|
|
:max="9999"
|
|
:max="9999"
|
|
:step="0.1"
|
|
:step="0.1"
|
|
@@ -105,7 +105,7 @@
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="主观总分">
|
|
<el-form-item label="主观总分">
|
|
<el-select
|
|
<el-select
|
|
- v-model="searchModel.subjectiveTotalScoreMode"
|
|
|
|
|
|
+ v-model="searchModel.subjectiveScoreFunction"
|
|
placeholder="请选择"
|
|
placeholder="请选择"
|
|
style="width: 100px"
|
|
style="width: 100px"
|
|
>
|
|
>
|
|
@@ -117,7 +117,7 @@
|
|
/>
|
|
/>
|
|
</el-select>
|
|
</el-select>
|
|
<el-input-number
|
|
<el-input-number
|
|
- v-model="searchModel.subjectiveTotalScore"
|
|
|
|
|
|
+ v-model="searchModel.subjectiveScoreInput"
|
|
:min="0"
|
|
:min="0"
|
|
:max="9999"
|
|
:max="9999"
|
|
:step="0.1"
|
|
:step="0.1"
|
|
@@ -136,15 +136,12 @@
|
|
style="width: 200px"
|
|
style="width: 200px"
|
|
/>
|
|
/>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item v-if="queryResult" label="查询结果">
|
|
|
|
- <el-input :value="queryResult.length" readonly style="width: 120px" />
|
|
|
|
|
|
+ <el-form-item label="查询结果">
|
|
|
|
+ <el-input :value="queryResult" readonly style="width: 120px" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item>
|
|
<el-form-item>
|
|
<el-button type="primary" @click="queryData">查询数量</el-button>
|
|
<el-button type="primary" @click="queryData">查询数量</el-button>
|
|
- <el-button
|
|
|
|
- v-if="queryResult && queryResult.length"
|
|
|
|
- type="primary"
|
|
|
|
- @click="startProcess"
|
|
|
|
|
|
+ <el-button v-if="queryResult" type="primary" @click="startProcess"
|
|
>开始处理</el-button
|
|
>开始处理</el-button
|
|
>
|
|
>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
@@ -154,37 +151,37 @@
|
|
|
|
|
|
<script setup lang="ts">
|
|
<script setup lang="ts">
|
|
import { reactive, ref } from 'vue';
|
|
import { reactive, ref } from 'vue';
|
|
- import { ElMessage } from 'element-plus';
|
|
|
|
import { getResultCheckDataList } from '@/api/check';
|
|
import { getResultCheckDataList } from '@/api/check';
|
|
import type { ResultCheckDataListFilter } from '@/api/types/check';
|
|
import type { ResultCheckDataListFilter } from '@/api/types/check';
|
|
import { DATA_SCOPE_MODE, NUMBER_SCOPE_MODE } from '@/constants/enumerate';
|
|
import { DATA_SCOPE_MODE, NUMBER_SCOPE_MODE } from '@/constants/enumerate';
|
|
|
|
+ import ls from '@/utils/storage';
|
|
|
|
|
|
defineOptions({
|
|
defineOptions({
|
|
name: 'ResultCheck',
|
|
name: 'ResultCheck',
|
|
});
|
|
});
|
|
|
|
|
|
const searchModel = reactive<ResultCheckDataListFilter>({
|
|
const searchModel = reactive<ResultCheckDataListFilter>({
|
|
- isMissing: undefined,
|
|
|
|
|
|
+ absent: undefined,
|
|
examNumber: '',
|
|
examNumber: '',
|
|
- subject: '',
|
|
|
|
- subjectRangeMode: 'BELONG',
|
|
|
|
- examPoint: '',
|
|
|
|
- examPointRangeMode: 'BELONG',
|
|
|
|
- objectiveQuestionHasResult: undefined,
|
|
|
|
- objectiveTotalScore: undefined,
|
|
|
|
- objectiveTotalScoreRangeMode: 'GREATER_THAN',
|
|
|
|
- subjectiveTotalScore: undefined,
|
|
|
|
- subjectiveTotalScoreRangeMode: 'GREATER_THAN',
|
|
|
|
|
|
+ subjectCodeInput: '',
|
|
|
|
+ subjectCodeFunction: 'BELONG',
|
|
|
|
+ examSiteInput: '',
|
|
|
|
+ examSiteFunction: 'BELONG',
|
|
|
|
+ objectiveFill: undefined,
|
|
|
|
+ objectiveScoreInput: null,
|
|
|
|
+ objectiveScoreFunction: 'GREATER_THAN',
|
|
|
|
+ subjectiveScoreInput: null,
|
|
|
|
+ subjectiveScoreFunction: 'GREATER_THAN',
|
|
paperType: '',
|
|
paperType: '',
|
|
});
|
|
});
|
|
|
|
|
|
- const queryResult = ref<number[] | null>(null);
|
|
|
|
|
|
+ const queryResult = ref<number | null>(null);
|
|
const loading = ref(false);
|
|
const loading = ref(false);
|
|
async function queryData() {
|
|
async function queryData() {
|
|
loading.value = true;
|
|
loading.value = true;
|
|
try {
|
|
try {
|
|
const result = await getResultCheckDataList({ ...searchModel });
|
|
const result = await getResultCheckDataList({ ...searchModel });
|
|
- queryResult.value = result || [];
|
|
|
|
|
|
+ queryResult.value = result || 0;
|
|
} catch (error) {
|
|
} catch (error) {
|
|
console.error('查询失败:', error);
|
|
console.error('查询失败:', error);
|
|
} finally {
|
|
} finally {
|
|
@@ -193,6 +190,7 @@
|
|
}
|
|
}
|
|
|
|
|
|
function startProcess() {
|
|
function startProcess() {
|
|
- ElMessage.info('开始处理功能待实现');
|
|
|
|
|
|
+ ls.set('result-check', searchModel);
|
|
|
|
+ // TODO:开始处理
|
|
}
|
|
}
|
|
</script>
|
|
</script>
|