| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- <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="科目" prop="subjectId">
- <el-select v-model="subjectId" clearable @change="handleQuery" style="width: 172px">
- <el-option-group v-for="g in groupedSubjects" :label="g.label">
- <el-option v-for="s in g.items" :label="s.subjectName" :value="s.subjectId"/>
- </el-option-group>
- </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="ListFullHand">
- import consts from "@/utils/consts.js";
- import {useProvidePaperFullCondition} from "@/views/dz/papers/hooks/usePaperFullCondition.js";
- import {useProvidePaperList} from "@/views/dz/papers/hooks/usePaperList.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.fullColumns
- ]
- const actions = [
- {label: '查看详情', key: 'detail', permission: ['']}
- ]
- const drawer = ref(false)
- const type = consts.enums.buildType.FullHand
- const {
- batchList,
- batchId,
- examTypes,
- examType,
- groupedSubjects,
- subjectId,
- conditionArgs
- } = useProvidePaperFullCondition(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>
- </style>
|