| | |
| | | :key="item.id"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="课目:" prop="subjectId" required> |
| | | <el-select ref="subjectIdRef" v-model="form.subjectId" placeholder="课目" multiple collapse-tags> |
| | | <el-option v-for="item in subjectFilter" :key="item.id" :value="item.id" :label="item.name + ' '"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="部门:" prop="deptId" required> |
| | | <el-select v-model="form.deptId" collapse-tags placeholder="部门"> |
| | | <!-- <el-select v-model="form.deptId" collapse-tags @change="getSubject" placeholder="部门"> |
| | | <el-option v-for="item in depts" :key="item.id" :value="item.id" :label="item.name"></el-option> |
| | | </el-select> --> |
| | | <el-cascader |
| | | clearable |
| | | @change="getSubject" |
| | | v-model="form.deptId" |
| | | :options="depts" |
| | | :props="{ emitPath: false, value: 'id', label: 'name', checkStrictly: true }" |
| | | ></el-cascader> |
| | | </el-form-item> |
| | | <el-form-item label="课目:" prop="subjectId" required> |
| | | <el-select ref="subjectIdRef" v-model="form.subjectId" :disabled="! form.deptId" placeholder="课目" multiple collapse-tags> |
| | | <el-option v-for="item in subjectFilter" :key="item.id" :value="item.id" :label="item.name + ' '"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="试卷类型:" prop="paperType" required> |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="部门:"> |
| | | <el-select v-model="student.deptIds" clearable multiple> |
| | | <!-- <el-select v-model="student.deptIds" clearable multiple> |
| | | <el-option v-for="item in depts" :key="item.id" :value="item.id" :label="item.name"></el-option> |
| | | </el-select> |
| | | </el-select> --> |
| | | <el-cascader |
| | | clearable |
| | | v-model="student.deptIds" |
| | | :options="depts" |
| | | :props="{ emitPath: false, multiple: true, value: 'id', label: 'name', checkStrictly: true }" |
| | | ></el-cascader> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" @click="selectStudent">查询</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-button type="primary" @click="selectAllBoolean ? selectAll() : unselectAll()">{{ selectAllBoolean ? '全选' : '取消全选' }}</el-button> |
| | | <el-table ref="multipleTable" v-loading="student.listLoading" :data="tableData" border fit highlight-current-row |
| | | style="width: 100%" @selection-change="handleSelection" row-key="id"> |
| | | <el-table-column type="selection" :reserve-selection="true"></el-table-column> |
| | |
| | | import { mapGetters, mapState, mapActions } from 'vuex'; |
| | | import Pagination from '@/components/Pagination'; |
| | | import QuestionShow from '../question/components/Show'; |
| | | import subjectApi from '@/api/subject'; |
| | | import examPaperApi from '@/api/examPaper'; |
| | | import questionApi from '@/api/question'; |
| | | import departmentApi from '@/api/department'; |
| | |
| | | components: { Pagination, QuestionShow }, |
| | | data() { |
| | | return { |
| | | selectAllBoolean: true, |
| | | tags: [], |
| | | depts: [], |
| | | studentDialog: false, |
| | |
| | | }); |
| | | }, |
| | | methods: { |
| | | getSubject(deptId) { |
| | | // 获取对应部门的课目 |
| | | subjectApi.selectByDeptId(deptId).then(res => { |
| | | this.form.subjectId = null |
| | | this.subjectFilter = res.response |
| | | }) |
| | | }, |
| | | getTags() { |
| | | userApi.tagList(null).then(data => { |
| | | this.tags = data.response; |
| | |
| | | this.student.listLoading = true; |
| | | this.getStudent(); |
| | | }, |
| | | |
| | | selectAll () { |
| | | this.selectAllBoolean = false; |
| | | let param = { ...this.student }; |
| | | param.pageSize = 999999; |
| | | examPaperApi.selectStudent(param).then(res => { |
| | | this.handleSelection(res.response.list); |
| | | res.response.list.forEach(item => { |
| | | this.$refs.multipleTable.toggleRowSelection(item, true); |
| | | }) |
| | | this.getStudent(); |
| | | }); |
| | | }, |
| | | unselectAll () { |
| | | this.selectAllBoolean = true; |
| | | this.$refs.multipleTable.clearSelection(); |
| | | }, |
| | | getStudent() { |
| | | this.student.listLoading = true; |
| | | examPaperApi.selectStudent(this.student).then(res => { |