|
@@ -1,27 +1,26 @@
|
|
|
<template>
|
|
|
<div class="mark-param-class">
|
|
|
<div class="part-box part-box-pad">
|
|
|
- <el-table :data="classList" border>
|
|
|
+ <el-table :data="dataList" border>
|
|
|
<el-table-column type="index" width="50"> </el-table-column>
|
|
|
|
|
|
- <el-table-column label="班级" width="200">
|
|
|
+ <el-table-column label="评卷员" width="200">
|
|
|
<template slot-scope="scope">
|
|
|
<el-tag size="medium">
|
|
|
- {{ scope.row.className }}
|
|
|
+ {{ scope.row.name }}({{ scope.row.loginName }})
|
|
|
</el-tag>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="评阅题目" prop="groupQuestions">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="评卷员">
|
|
|
+ <el-table-column label="评卷班级">
|
|
|
<template slot-scope="scope">
|
|
|
<el-tag
|
|
|
- v-for="item in scope.row.classMarkerList"
|
|
|
+ v-for="item in scope.row.className"
|
|
|
:key="item"
|
|
|
size="medium"
|
|
|
+ type="info"
|
|
|
class="mb-1 mr-1"
|
|
|
>
|
|
|
- {{ item.name }}({{ item.orgName }})
|
|
|
+ {{ item }}
|
|
|
</el-tag>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
@@ -30,81 +29,45 @@
|
|
|
<el-button
|
|
|
class="btn-primary"
|
|
|
type="text"
|
|
|
- @click="toSelectMarker(scope.row)"
|
|
|
- >选择评卷员</el-button
|
|
|
+ @click="toSelectClass(scope.row)"
|
|
|
+ >选择班级</el-button
|
|
|
>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
</div>
|
|
|
|
|
|
- <!-- 选择评卷员 -->
|
|
|
- <el-dialog
|
|
|
- :visible.sync="modalIsShow"
|
|
|
- title="选择评卷员"
|
|
|
- top="10px"
|
|
|
- width="600px"
|
|
|
- :close-on-click-modal="false"
|
|
|
- :close-on-press-escape="false"
|
|
|
- append-to-body
|
|
|
- >
|
|
|
- <el-form ref="modalFormComp" :model="modalForm" :rules="rules">
|
|
|
- <el-form-item prop="selectedMarkerIds">
|
|
|
- <el-checkbox-group v-model="modalForm.selectedMarkerIds">
|
|
|
- <el-checkbox
|
|
|
- v-for="mark in curClass.markerList"
|
|
|
- :key="mark.userId"
|
|
|
- :label="mark.userId"
|
|
|
- >
|
|
|
- {{ mark.name }}({{ mark.orgName }})
|
|
|
- </el-checkbox>
|
|
|
- </el-checkbox-group>
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
- <div slot="footer">
|
|
|
- <el-button type="primary" :disabled="isSubmit" @click="conform"
|
|
|
- >确认</el-button
|
|
|
- >
|
|
|
- <el-button @click="modalIsShow = false">取消</el-button>
|
|
|
- </div>
|
|
|
- </el-dialog>
|
|
|
+ <!-- SelectClassByCourse -->
|
|
|
+ <select-class-by-course
|
|
|
+ ref="SelectClassByCourse"
|
|
|
+ :filter-data="{
|
|
|
+ examId: datas.basicInfo.examId,
|
|
|
+ paperNumber: datas.basicInfo.paperNumber,
|
|
|
+ }"
|
|
|
+ :selected-ids="selectedClassIds"
|
|
|
+ required
|
|
|
+ @confirm="classSelected"
|
|
|
+ ></select-class-by-course>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import { markClassList, markClassSave } from "../../api";
|
|
|
+import { markClassMarkerList, markClassMarkerSave } from "../../api";
|
|
|
import { mapState } from "vuex";
|
|
|
+import SelectClassByCourse from "./SelectClassByCourse.vue";
|
|
|
|
|
|
export default {
|
|
|
name: "mark-param-class",
|
|
|
- components: {},
|
|
|
+ components: { SelectClassByCourse },
|
|
|
data() {
|
|
|
return {
|
|
|
- classList: [],
|
|
|
- curClass: {},
|
|
|
- // modify
|
|
|
- modalIsShow: false,
|
|
|
- isSubmit: false,
|
|
|
- modalForm: { selectedMarkerIds: [] },
|
|
|
- rules: {
|
|
|
- selectedMarkerIds: [
|
|
|
- {
|
|
|
- required: true,
|
|
|
- validator: (rule, value, callback) => {
|
|
|
- if (!value.length) {
|
|
|
- callback(new Error("请选择评卷员"));
|
|
|
- } else {
|
|
|
- callback();
|
|
|
- }
|
|
|
- },
|
|
|
- trigger: "change",
|
|
|
- },
|
|
|
- ],
|
|
|
- },
|
|
|
+ dataList: [],
|
|
|
+ curRow: {},
|
|
|
+ selectedClassIds: [],
|
|
|
};
|
|
|
},
|
|
|
computed: {
|
|
|
- ...mapState("markParam", ["basicInfo", "paperStructureInfo"]),
|
|
|
+ ...mapState("markParam", ["basicInfo"]),
|
|
|
},
|
|
|
mounted() {
|
|
|
this.initData();
|
|
@@ -115,46 +78,24 @@ export default {
|
|
|
examId: this.basicInfo.examId,
|
|
|
paperNumber: this.basicInfo.paperNumber,
|
|
|
};
|
|
|
- const res = await markClassList(params);
|
|
|
- this.classList = res || [];
|
|
|
+ const res = await markClassMarkerList(params);
|
|
|
+ this.dataList = res || [];
|
|
|
},
|
|
|
- toSelectMarker(row) {
|
|
|
- this.curClass = row;
|
|
|
- this.modalForm.selectedMarkerIds = row.classMarkerList.map(
|
|
|
- (item) => item.userId
|
|
|
- );
|
|
|
- this.modalIsShow = true;
|
|
|
+ toSelectClass(row) {
|
|
|
+ this.curRow = row;
|
|
|
+ this.selectedClassIds = row.className;
|
|
|
+ this.$refs.SelectClassByCourse.open();
|
|
|
},
|
|
|
- async conform() {
|
|
|
- const valid = await this.$refs.modalFormComp.validate().catch(() => {});
|
|
|
- if (!valid) return;
|
|
|
-
|
|
|
- this.isSubmit = true;
|
|
|
- const classMarkerList = this.curClass.markerList.filter((item) =>
|
|
|
- this.modalForm.selectedMarkerIds.includes(item.userId)
|
|
|
- );
|
|
|
- const res = await markClassSave({
|
|
|
+ async classSelected(className) {
|
|
|
+ const res = await markClassMarkerSave({
|
|
|
examId: this.basicInfo.examId,
|
|
|
paperNumber: this.basicInfo.paperNumber,
|
|
|
- className: this.curClass.className,
|
|
|
- groupNumber: this.curClass.groupNumber,
|
|
|
- classMarkerList,
|
|
|
+ groupNumber: this.curRow.groupNumber,
|
|
|
+ className,
|
|
|
}).catch(() => {});
|
|
|
- this.isSubmit = false;
|
|
|
if (!res) return;
|
|
|
this.$message.success("操作成功!");
|
|
|
- this.curClass.classMarkerList = classMarkerList;
|
|
|
- this.modalIsShow = false;
|
|
|
- },
|
|
|
- getData() {
|
|
|
- return {
|
|
|
- openClassReading: this.openClassReading,
|
|
|
- classInfo: this.markerClassList.map((item) => {
|
|
|
- let nitem = { ...item };
|
|
|
- nitem.className = item.className.join();
|
|
|
- return nitem;
|
|
|
- }),
|
|
|
- };
|
|
|
+ this.curRow.className = className;
|
|
|
},
|
|
|
},
|
|
|
};
|