|
|
@@ -1,8 +1,96 @@
|
|
|
<template>
|
|
|
-
|
|
|
+ <el-form ref="queryRef" :model="queryParams" :rules="rules" label-width="68px" inline>
|
|
|
+ <el-form-item label="批次" prop="batchId">
|
|
|
+ <el-select v-model="batchId" clearable @change="handleQuery" style="width: 172px">
|
|
|
+ <el-option v-for="b in batchList" :label="b.name" :value="b.batchId"/>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="考生类型" prop="examType">
|
|
|
+ <el-select v-model="examType" clearable @change="handleQuery" style="width: 172px">
|
|
|
+ <el-option v-for="e in examTypes" :label="e.dictLabel" :value="e.dictValue"/>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="院校">
|
|
|
+ <el-select v-model="universityId" clearable @change="handleQuery" style="width: 172px">
|
|
|
+ <el-option v-for="u in universities" :label="u.name" :value="u.id"/>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="专业组">
|
|
|
+ <el-select v-model="majorGroup" clearable @change="handleQuery" style="width: 172px">
|
|
|
+ <el-option v-for="g in majorGroups" :label="g" :value="g"/>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="专业">
|
|
|
+ <el-select v-model="majorPlanId" clearable @change="handleQuery" style="width: 172px">
|
|
|
+ <el-option v-for="m in majors" :label="m.majorName" :value="m.id"/>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="班级" prop="classId">
|
|
|
+ <el-select v-model="classId" clearable @change="handleQuery" style="width: 172px">
|
|
|
+ <el-option v-for="c in classList" :label="c.name" :value="c.classId"/>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
|
|
|
+<!-- <el-button icon="Refresh" @click="resetQuery">重置</el-button>-->
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <Table :data="list" :columns="columns" :actions="actions" @get-list="getList" @action="handleAction" />
|
|
|
+ <el-drawer v-model="drawer" title="班级详情" size="1000px">
|
|
|
+ <class-detail v-if="drawer" :state="queryParams.state" exact-mode />
|
|
|
+ </el-drawer>
|
|
|
</template>
|
|
|
|
|
|
<script setup name="ListExactHand">
|
|
|
+import consts from "@/utils/consts.js";
|
|
|
+import {useProvidePaperList} from "@/views/dz/papers/hooks/usePaperList.js";
|
|
|
+import {useProvidePaperExactCondition} from "@/views/dz/papers/hooks/usePaperExactCondition.js";
|
|
|
+import Table from "@/components/Table/index.vue";
|
|
|
+import ClassDetail from "@/views/dz/papers/components/plugs/class-detail.vue";
|
|
|
+
|
|
|
+const columns = [
|
|
|
+ {label: '组卷类型', prop: 'buildType'},
|
|
|
+ {label: '班级', prop: 'className'},
|
|
|
+ {label: '批次', prop: 'batchName'},
|
|
|
+ {label: '班级人数', prop: 'total'},
|
|
|
+ ...consts.config.exactColumns.slice(0, 3)
|
|
|
+]
|
|
|
+const actions = [
|
|
|
+ {label: '查看详情', key: 'detail', permission: ['']}
|
|
|
+]
|
|
|
+
|
|
|
+const drawer = ref(false)
|
|
|
+const type = consts.enums.buildType.ExactHand
|
|
|
+const {
|
|
|
+ batchList,
|
|
|
+ batchId,
|
|
|
+ examTypes,
|
|
|
+ examType,
|
|
|
+ universityId,
|
|
|
+ universities,
|
|
|
+ majorGroup,
|
|
|
+ majorGroups,
|
|
|
+ majorPlanId,
|
|
|
+ majors,
|
|
|
+ conditionArgs
|
|
|
+} = useProvidePaperExactCondition(type)
|
|
|
+const classId = ref('')
|
|
|
+const queryParams = computed(() => ({
|
|
|
+ ...conditionArgs.value,
|
|
|
+ classId
|
|
|
+}))
|
|
|
+const {rules, handleQuery, resetQuery, list, total, getList, classList} = useProvidePaperList(queryParams)
|
|
|
+
|
|
|
+const handleAction = function (action, row) {
|
|
|
+ switch (action.key) {
|
|
|
+ case "detail":
|
|
|
+ drawer.value = true
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ throw new Error(`Action key '${action.key}' not support.`)
|
|
|
+ break
|
|
|
+ }
|
|
|
+}
|
|
|
</script>
|
|
|
|
|
|
<style scoped>
|