|
@@ -58,8 +58,8 @@
|
|
label="小题号"
|
|
label="小题号"
|
|
width="80"
|
|
width="80"
|
|
></el-table-column>
|
|
></el-table-column>
|
|
- <el-table-column prop="totalScore" label="小题满分" width="105">
|
|
|
|
- </el-table-column>
|
|
|
|
|
|
+ <!-- <el-table-column prop="totalScore" label="小题满分" width="105">
|
|
|
|
+ </el-table-column> -->
|
|
<el-table-column label="答案" width="200px" class-name="answer-column">
|
|
<el-table-column label="答案" width="200px" class-name="answer-column">
|
|
<div
|
|
<div
|
|
slot-scope="scope"
|
|
slot-scope="scope"
|
|
@@ -109,7 +109,6 @@
|
|
import { QUESTION_SCORE_TYPE } from "@/constants/enumerate";
|
|
import { QUESTION_SCORE_TYPE } from "@/constants/enumerate";
|
|
import { updateObjectiveAnswer } from "../../api";
|
|
import { updateObjectiveAnswer } from "../../api";
|
|
import { mapState, mapMutations } from "vuex";
|
|
import { mapState, mapMutations } from "vuex";
|
|
-import { deepCopy } from "@/plugins/utils";
|
|
|
|
import MarkStatus from "./MarkStatus.vue";
|
|
import MarkStatus from "./MarkStatus.vue";
|
|
|
|
|
|
export default {
|
|
export default {
|
|
@@ -132,37 +131,38 @@ export default {
|
|
methods: {
|
|
methods: {
|
|
...mapMutations("markParam", ["setObjectiveStructure"]),
|
|
...mapMutations("markParam", ["setObjectiveStructure"]),
|
|
initData() {
|
|
initData() {
|
|
- let objectiveStructure = this.objectiveStructure.length
|
|
|
|
- ? deepCopy(this.objectiveStructure)
|
|
|
|
- : [];
|
|
|
|
- if (!objectiveStructure.length) return;
|
|
|
|
-
|
|
|
|
- objectiveStructure.sort((a, b) => {
|
|
|
|
- if (a.mainNumber === b.mainNumber) {
|
|
|
|
- return a.subNumber - b.subNumber;
|
|
|
|
- } else {
|
|
|
|
- return a.mainNumber - b.mainNumber;
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
-
|
|
|
|
- let curMainNumber = null,
|
|
|
|
- curMainId = null;
|
|
|
|
- this.tableData = objectiveStructure.map((item) => {
|
|
|
|
- let nitem = { ...item };
|
|
|
|
- if (nitem.mainNumber !== curMainNumber) {
|
|
|
|
- curMainId = this.$randomCode();
|
|
|
|
- curMainNumber = nitem.mainNumber;
|
|
|
|
- nitem.mainFirstSub = true;
|
|
|
|
- }
|
|
|
|
- nitem.id = this.$randomCode();
|
|
|
|
- nitem.mainId = curMainId;
|
|
|
|
- nitem.expandSub = true;
|
|
|
|
- nitem.answer = item.answer || "";
|
|
|
|
- nitem.objectivePolicy = item.objectivePolicy || "NONE";
|
|
|
|
- nitem.error = false;
|
|
|
|
- nitem.errMsg = "";
|
|
|
|
- return nitem;
|
|
|
|
|
|
+ let objectiveStructure = this.objectiveStructure.length || [];
|
|
|
|
+ let objectiveAnswerMap = {};
|
|
|
|
+ objectiveStructure.forEach((item) => {
|
|
|
|
+ objectiveAnswerMap[
|
|
|
|
+ `${item.type}_${item.mainNumber}_${item.subNumber}`
|
|
|
|
+ ] = {
|
|
|
|
+ answer: item.answer,
|
|
|
|
+ objectivePolicy: item.objectivePolicy,
|
|
|
|
+ };
|
|
});
|
|
});
|
|
|
|
+ let curMainNumber = null;
|
|
|
|
+ this.tableData = this.markParamInfos.paperStructureInfo
|
|
|
|
+ .filter((item) => item.qType === "objective")
|
|
|
|
+ .map((item) => {
|
|
|
|
+ let nitem = { ...item };
|
|
|
|
+ if (nitem.mainNumber !== curMainNumber) {
|
|
|
|
+ curMainNumber = nitem.mainNumber;
|
|
|
|
+ nitem.mainFirstSub = true;
|
|
|
|
+ } else {
|
|
|
|
+ nitem.mainFirstSub = false;
|
|
|
|
+ }
|
|
|
|
+ const cacheVal =
|
|
|
|
+ objectiveAnswerMap[
|
|
|
|
+ `${item.type}_${item.mainNumber}_${item.subNumber}`
|
|
|
|
+ ] || {};
|
|
|
|
+ nitem.expandSub = true;
|
|
|
|
+ nitem.answer = cacheVal.answer || "";
|
|
|
|
+ nitem.objectivePolicy = cacheVal.objectivePolicy || "NONE";
|
|
|
|
+ nitem.error = false;
|
|
|
|
+ nitem.errMsg = "";
|
|
|
|
+ return nitem;
|
|
|
|
+ });
|
|
},
|
|
},
|
|
getRowClassName({ row }) {
|
|
getRowClassName({ row }) {
|
|
let classNames = [];
|
|
let classNames = [];
|