|
@@ -55,53 +55,55 @@
|
|
<!-- 试卷信息 -->
|
|
<!-- 试卷信息 -->
|
|
<div class="action-paper-info">
|
|
<div class="action-paper-info">
|
|
<p v-if="IS_ADMIN">
|
|
<p v-if="IS_ADMIN">
|
|
- <span>试卷考号:</span><span>{{ curPaper.examNumber }}</span>
|
|
|
|
|
|
+ <span>试卷考号:</span><span>{{ curPaperOrTask.examNumber }}</span>
|
|
</p>
|
|
</p>
|
|
<p>
|
|
<p>
|
|
- <span>试卷密号:</span><span>NO.{{ curPaper.sn }}</span>
|
|
|
|
|
|
+ <span>试卷密号:</span><span>NO.{{ curPaperOrTask.sn }}</span>
|
|
</p>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
<!-- 改档信息 -->
|
|
<!-- 改档信息 -->
|
|
<div class="action-grade-change" v-if="rights.gradeChange">
|
|
<div class="action-grade-change" v-if="rights.gradeChange">
|
|
<p>
|
|
<p>
|
|
- <span>原始档位:</span><span>{{ curPaper.originLevel }}</span>
|
|
|
|
|
|
+ <span>原始档位:</span><span>{{ curPaperOrTask.originLevel }}</span>
|
|
</p>
|
|
</p>
|
|
<p>
|
|
<p>
|
|
- <span>申请档位:</span><span>{{ curPaper.redoLevel }}</span>
|
|
|
|
|
|
+ <span>申请档位:</span><span>{{ curPaperOrTask.redoLevel }}</span>
|
|
</p>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
<div
|
|
<div
|
|
:class="[
|
|
:class="[
|
|
'action-grade-change-status',
|
|
'action-grade-change-status',
|
|
- { 'action-grade-change-status-error': curPaper.auditStatus === 0 }
|
|
|
|
|
|
+ { 'action-grade-change-status-error': curPaperOrTask.auditStatus === 0 }
|
|
]"
|
|
]"
|
|
- v-if="rights.gradeChange"
|
|
|
|
|
|
+ v-if="rights.gradeChange && IS_ADMIN"
|
|
>
|
|
>
|
|
- <p>{{ curPaper.auditStatus === 1 ? "同意改档" : "不同意改档" }}</p>
|
|
|
|
|
|
+ <p>{{ curPaperOrTask.auditStatus === 1 ? "同意改档" : "不同意改档" }}</p>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<!-- 档位信息 -->
|
|
<!-- 档位信息 -->
|
|
<!-- 已评/待评(已评档位),改档打分(已评档位) -->
|
|
<!-- 已评/待评(已评档位),改档打分(已评档位) -->
|
|
<div class="action-grade-info" v-if="rights.gradeInfo">
|
|
<div class="action-grade-info" v-if="rights.gradeInfo">
|
|
- <h3 class="grade-info-name">{{ curLevel.name }}</h3>
|
|
|
|
- <div class="grade-info-range">
|
|
|
|
|
|
+ <h3 class="grade-info-name">
|
|
|
|
+ {{ curPaperLevel }}
|
|
|
|
+ </h3>
|
|
|
|
+ <!-- <div class="grade-info-range">
|
|
<p>分数范围</p>
|
|
<p>分数范围</p>
|
|
<p>
|
|
<p>
|
|
<span>{{ curLevel.minScore }}</span>
|
|
<span>{{ curLevel.minScore }}</span>
|
|
<span>~</span>
|
|
<span>~</span>
|
|
<span>{{ curLevel.maxScore }}</span>
|
|
<span>{{ curLevel.maxScore }}</span>
|
|
</p>
|
|
</p>
|
|
- </div>
|
|
|
|
|
|
+ </div> -->
|
|
</div>
|
|
</div>
|
|
<!-- 打分信息 -->
|
|
<!-- 打分信息 -->
|
|
<div class="action-grade-info action-mark-info" v-if="rights.markInfo">
|
|
<div class="action-grade-info action-mark-info" v-if="rights.markInfo">
|
|
- <p class="grade-info-name" v-if="curPaper.result">
|
|
|
|
- {{ curPaper.result }}
|
|
|
|
|
|
+ <p class="grade-info-name" v-if="curPaperScore">
|
|
|
|
+ {{ curPaperScore }}
|
|
</p>
|
|
</p>
|
|
<p class="grade-info-name grade-info-none" v-else>未打分</p>
|
|
<p class="grade-info-name grade-info-none" v-else>未打分</p>
|
|
</div>
|
|
</div>
|
|
- <!-- 选择分数 / 档位 -->
|
|
|
|
- <div class="action-grade-list" v-if="rights.gradeList && IS_MARK_LEADER">
|
|
|
|
|
|
+ <!-- 选择档位 -->
|
|
|
|
+ <div class="action-grade-list" v-if="rights.gradeList">
|
|
<div
|
|
<div
|
|
class="action-grade-item"
|
|
class="action-grade-item"
|
|
v-for="(level, index) in levels"
|
|
v-for="(level, index) in levels"
|
|
@@ -113,7 +115,8 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <div class="action-mark-list" v-if="rights.gradeList && !IS_MARK_LEADER">
|
|
|
|
|
|
+ <!-- 选择分数 -->
|
|
|
|
+ <div class="action-mark-list" v-if="rights.levelList">
|
|
<div
|
|
<div
|
|
class="action-mark-item"
|
|
class="action-mark-item"
|
|
v-for="(score, index) in scores"
|
|
v-for="(score, index) in scores"
|
|
@@ -124,10 +127,7 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <div
|
|
|
|
- class="action-grade-pass"
|
|
|
|
- v-if="rights.gradeList && IS_MARKER && stepType === 'undo'"
|
|
|
|
- >
|
|
|
|
|
|
+ <div class="action-grade-pass" v-if="rights.levelList">
|
|
<Button @click="toPass">跳过</Button>
|
|
<Button @click="toPass">跳过</Button>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
@@ -159,52 +159,53 @@ import { CODE_TYPE, CHANGE_LEVEL_STATUS } from "@/constants/enumerate";
|
|
/*
|
|
/*
|
|
[paper template]
|
|
[paper template]
|
|
{
|
|
{
|
|
- "id": 165,
|
|
|
|
- "sn": "029947536",
|
|
|
|
- "examNumber": "1901040084",
|
|
|
|
- "level": "A",
|
|
|
|
- "score": null,
|
|
|
|
|
|
+ "id": 42,
|
|
|
|
+ "sn": "5314987744",
|
|
"redoLevel": null,
|
|
"redoLevel": null,
|
|
- "updatedOn": 1591767742000,
|
|
|
|
- "imgSrc": "",
|
|
|
|
- "thumbSrc": "",
|
|
|
|
|
|
+ "level": "B",
|
|
|
|
+ "score": null,
|
|
|
|
+ "result": "88",
|
|
|
|
+ "originLevel": null,
|
|
|
|
+ "markerId": 52,
|
|
|
|
+ "marker": "zj-pj-01",
|
|
|
|
+ "updatedOn": 1595812145000,
|
|
|
|
+ "imgSrc": "http://192.168.10.145:9000/images/34/SC/1/1901130046.jpg?random=f5549bb0-ba58-4cd3-a88e-0559be4e06e5",
|
|
|
|
+ "thumbSrc": "http://192.168.10.145:9000/thumbs/34/SC/1/1901130046.jpg?random=e7f880b8-4cb6-4963-8e66-532f0f8bdeb0",
|
|
"markByLeader": false,
|
|
"markByLeader": false,
|
|
- "markedLogic": true,
|
|
|
|
- "areaCode": "2",
|
|
|
|
- "inspectScore": null,
|
|
|
|
- "inspectLevel": null,
|
|
|
|
- "inspector": null,
|
|
|
|
- "sheetSrc": null,
|
|
|
|
- "stage": "LEVEL",
|
|
|
|
- "test": 0,
|
|
|
|
- "paperTest": 0,
|
|
|
|
- "markResults": [],
|
|
|
|
|
|
+ "oldRejected": false,
|
|
|
|
+ "paperId": 116,
|
|
|
|
+ "randomSeqNew": 4987744,
|
|
|
|
+ "randomSeq": null,
|
|
|
|
+ "serialNumber": "B1",
|
|
|
|
+ "displayNumber": true,
|
|
|
|
+ "shift": false,
|
|
|
|
+ "shiftScore": false,
|
|
"rejected": false,
|
|
"rejected": false,
|
|
- "arbitrated": false,
|
|
|
|
- "sample": false,
|
|
|
|
- "tagged": false,
|
|
|
|
- "missing": false,
|
|
|
|
- "manual": false
|
|
|
|
|
|
+ "sample": false
|
|
}
|
|
}
|
|
[marktask template]
|
|
[marktask template]
|
|
{
|
|
{
|
|
- "id": 511,
|
|
|
|
- "sn": "4929446110",
|
|
|
|
|
|
+ "id": 38,
|
|
|
|
+ "sn": "5314266469",
|
|
"redoLevel": null,
|
|
"redoLevel": null,
|
|
"level": "A",
|
|
"level": "A",
|
|
"score": null,
|
|
"score": null,
|
|
- "result": "100",
|
|
|
|
|
|
+ "result": "96",
|
|
"originLevel": null,
|
|
"originLevel": null,
|
|
- "markerId": 49,
|
|
|
|
- "marker": "pj061001",
|
|
|
|
- "updatedOn": 1594775592000,
|
|
|
|
- "imgSrc": "",
|
|
|
|
- "thumbSrc": "",
|
|
|
|
|
|
+ "markerId": 52,
|
|
|
|
+ "marker": "zj-pj-01",
|
|
|
|
+ "updatedOn": 1595812012000,
|
|
|
|
+ "imgSrc": "http://192.168.10.145:9000/images/34/SC/1/1901130043.jpg?random=bffc061c-7a80-42a4-ad56-36ec6eba0d45",
|
|
|
|
+ "thumbSrc": "http://192.168.10.145:9000/thumbs/34/SC/1/1901130043.jpg?random=da743f9d-8d46-4499-bb6f-b9c26e003ba2",
|
|
"markByLeader": true,
|
|
"markByLeader": true,
|
|
"oldRejected": false,
|
|
"oldRejected": false,
|
|
- "paperId": 168,
|
|
|
|
- "randomSeqNew": 9446110,
|
|
|
|
|
|
+ "paperId": 113,
|
|
|
|
+ "randomSeqNew": 4266469,
|
|
"randomSeq": null,
|
|
"randomSeq": null,
|
|
|
|
+ "serialNumber": "A1",
|
|
|
|
+ "displayNumber": true,
|
|
|
|
+ "shift": false,
|
|
|
|
+ "shiftScore": false,
|
|
"rejected": false,
|
|
"rejected": false,
|
|
"sample": true
|
|
"sample": true
|
|
}
|
|
}
|
|
@@ -217,13 +218,14 @@ const initRights = {
|
|
gradeInfo: false,
|
|
gradeInfo: false,
|
|
markInfo: false,
|
|
markInfo: false,
|
|
gradeList: false,
|
|
gradeList: false,
|
|
|
|
+ levelList: false,
|
|
markHis: false
|
|
markHis: false
|
|
};
|
|
};
|
|
|
|
|
|
export default {
|
|
export default {
|
|
name: "mark-action",
|
|
name: "mark-action",
|
|
props: {
|
|
props: {
|
|
- curPaper: {
|
|
|
|
|
|
+ curPaperOrTask: {
|
|
type: Object,
|
|
type: Object,
|
|
default() {
|
|
default() {
|
|
return {};
|
|
return {};
|
|
@@ -251,14 +253,15 @@ export default {
|
|
shift: ["search", "gradeChangeSearch", "gradeChange"]
|
|
shift: ["search", "gradeChangeSearch", "gradeChange"]
|
|
},
|
|
},
|
|
MARK_LEADER: {
|
|
MARK_LEADER: {
|
|
|
|
+ undo: ["search", "gradeList", "gradeInfo", "markInfo"],
|
|
done: ["search", "gradeList", "gradeHis", "gradeInfo", "markInfo"],
|
|
done: ["search", "gradeList", "gradeHis", "gradeInfo", "markInfo"],
|
|
shift: ["search", "gradeList", "gradeChange"]
|
|
shift: ["search", "gradeList", "gradeChange"]
|
|
},
|
|
},
|
|
MARKER: {
|
|
MARKER: {
|
|
- done: ["gradeList", "gradeInfo", "markInfo"],
|
|
|
|
- undo: ["gradeList", "gradeInfo"],
|
|
|
|
|
|
+ done: ["levelList", "gradeInfo", "markInfo"],
|
|
|
|
+ undo: ["levelList", "gradeInfo"],
|
|
shift: ["gradeList", "gradeChange"],
|
|
shift: ["gradeList", "gradeChange"],
|
|
- shiftScore: ["gradeList", "gradeInfo"]
|
|
|
|
|
|
+ shiftScore: ["levelList", "gradeInfo"]
|
|
}
|
|
}
|
|
},
|
|
},
|
|
filter: {
|
|
filter: {
|
|
@@ -276,6 +279,8 @@ export default {
|
|
},
|
|
},
|
|
stepType: "",
|
|
stepType: "",
|
|
stepLabel: "",
|
|
stepLabel: "",
|
|
|
|
+ curPaperLevel: "",
|
|
|
|
+ curPaperScore: "",
|
|
scores: [],
|
|
scores: [],
|
|
gradingHistory: [],
|
|
gradingHistory: [],
|
|
curLevel: {}
|
|
curLevel: {}
|
|
@@ -293,7 +298,7 @@ export default {
|
|
}
|
|
}
|
|
},
|
|
},
|
|
watch: {
|
|
watch: {
|
|
- curPaper(val) {
|
|
|
|
|
|
+ curPaperOrTask(val) {
|
|
this.rebuildRight();
|
|
this.rebuildRight();
|
|
}
|
|
}
|
|
},
|
|
},
|
|
@@ -302,16 +307,22 @@ export default {
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
getStepType() {
|
|
getStepType() {
|
|
- const paper = this.curPaper;
|
|
|
|
- if (!paper.result) return "undo";
|
|
|
|
- if (paper.result) return "done";
|
|
|
|
- // TODO:
|
|
|
|
- if (paper.arbitrated) return "arbitrate";
|
|
|
|
- if (paper.rejected) return "reject";
|
|
|
|
- if (!paper.rejected && !paper.arbitrated && !paper.level) return "undo";
|
|
|
|
- return;
|
|
|
|
|
|
+ const paper = this.curPaperOrTask;
|
|
|
|
+ if (paper.shift && paper.shiftScore && !paper.level) return "shift";
|
|
|
|
+ if (!paper.shift && paper.shiftScore) return "shiftScore";
|
|
|
|
+ if (this.IS_MARKER) {
|
|
|
|
+ if (!paper.result) return "undo";
|
|
|
|
+ if (paper.result) return "done";
|
|
|
|
+ } else {
|
|
|
|
+ if (paper.score !== null) return "done";
|
|
|
|
+ if (paper.score === null) return "undo";
|
|
|
|
+ }
|
|
},
|
|
},
|
|
rebuildRight() {
|
|
rebuildRight() {
|
|
|
|
+ const curPaperScore = this.IS_MARKER
|
|
|
|
+ ? this.curPaperOrTask.result
|
|
|
|
+ : this.curPaperOrTask.score;
|
|
|
|
+ this.curPaperScore = curPaperScore !== null ? curPaperScore + "" : "";
|
|
this.stepType = this.getStepType();
|
|
this.stepType = this.getStepType();
|
|
this.stepLabel = this.stepDict[this.stepType];
|
|
this.stepLabel = this.stepDict[this.stepType];
|
|
this.rights = { ...initRights };
|
|
this.rights = { ...initRights };
|
|
@@ -320,10 +331,14 @@ export default {
|
|
this.rights[key] = true;
|
|
this.rights[key] = true;
|
|
});
|
|
});
|
|
|
|
|
|
- if (this.curPaper.level) {
|
|
|
|
|
|
+ if (this.curPaperOrTask.level) {
|
|
this.curLevel = this.levels.find(
|
|
this.curLevel = this.levels.find(
|
|
- level => level.name === this.curPaper.level
|
|
|
|
|
|
+ level => level.name === this.curPaperOrTask.level
|
|
);
|
|
);
|
|
|
|
+ this.curPaperLevel =
|
|
|
|
+ this.curPaperOrTask["displayNumber"] && this.stepType !== "shiftScore"
|
|
|
|
+ ? this.curPaperOrTask["serialNumber"]
|
|
|
|
+ : this.curLevel.name;
|
|
this.updateScoreList();
|
|
this.updateScoreList();
|
|
}
|
|
}
|
|
if (this.rights.gradeHis) {
|
|
if (this.rights.gradeHis) {
|
|
@@ -339,7 +354,7 @@ export default {
|
|
this.scores = scores;
|
|
this.scores = scores;
|
|
},
|
|
},
|
|
async getMarkHistory() {
|
|
async getMarkHistory() {
|
|
- const data = await markHistoryList(this.curPaper.id, "SCORE");
|
|
|
|
|
|
+ const data = await markHistoryList(this.curPaperOrTask.id, "SCORE");
|
|
this.gradingHistory = data.map(item => {
|
|
this.gradingHistory = data.map(item => {
|
|
return {
|
|
return {
|
|
id: item.markerId,
|
|
id: item.markerId,
|
|
@@ -349,10 +364,11 @@ export default {
|
|
});
|
|
});
|
|
},
|
|
},
|
|
selectLevel(level) {
|
|
selectLevel(level) {
|
|
|
|
+ if (this.curPaperOrTask.level === level.name) return;
|
|
// 科组长改档
|
|
// 科组长改档
|
|
this.$emit("on-leader-level", {
|
|
this.$emit("on-leader-level", {
|
|
- curPaperId: this.curPaper.id,
|
|
|
|
- curLevel: this.curPaper.level,
|
|
|
|
|
|
+ paperId: this.curPaperOrTask.id,
|
|
|
|
+ curLevel: this.curPaperOrTask.level,
|
|
selectedLevel: level.name
|
|
selectedLevel: level.name
|
|
});
|
|
});
|
|
},
|
|
},
|