|
@@ -19,13 +19,13 @@
|
|
|
|
|
|
<!-- 试卷信息 -->
|
|
<!-- 试卷信息 -->
|
|
<div class="action-paper-info">
|
|
<div class="action-paper-info">
|
|
- <!-- <p v-if="IS_ADMIN">
|
|
|
|
- <span>试卷考号:</span><span>{{ curPaperOrTask.examNumber }}</span>
|
|
|
|
- </p> -->
|
|
|
|
<p>
|
|
<p>
|
|
<span v-if="IS_MARKER">任务密号:</span>
|
|
<span v-if="IS_MARKER">任务密号:</span>
|
|
<span v-else>试卷密号:</span>
|
|
<span v-else>试卷密号:</span>
|
|
- <span>NO.{{ curPaperOrTask.sn }}</span>
|
|
|
|
|
|
+ <span v-if="curPaperOrTask.sn && !rights.batchAction">
|
|
|
|
+ NO.{{ curPaperOrTask.sn }}
|
|
|
|
+ </span>
|
|
|
|
+ <span v-else>--</span>
|
|
</p>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
@@ -108,7 +108,7 @@
|
|
<!-- 跳过 -->
|
|
<!-- 跳过 -->
|
|
<div
|
|
<div
|
|
class="action-grade-pass"
|
|
class="action-grade-pass"
|
|
- v-if="rights.gradeList && IS_MARKER"
|
|
|
|
|
|
+ v-if="rights.gradePass && IS_MARKER"
|
|
@click="toPass"
|
|
@click="toPass"
|
|
>
|
|
>
|
|
跳过
|
|
跳过
|
|
@@ -229,6 +229,7 @@ const initRights = {
|
|
search: false,
|
|
search: false,
|
|
gradeInfo: false,
|
|
gradeInfo: false,
|
|
gradeList: false,
|
|
gradeList: false,
|
|
|
|
+ gradePass: false,
|
|
gradeHis: false
|
|
gradeHis: false
|
|
};
|
|
};
|
|
|
|
|
|
@@ -253,7 +254,11 @@ export default {
|
|
return {};
|
|
return {};
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- // 是否处于
|
|
|
|
|
|
+ isBatchAction: {
|
|
|
|
+ type: Boolean,
|
|
|
|
+ default: false
|
|
|
|
+ },
|
|
|
|
+ // 是否处于粗分档
|
|
isCoarseLevel: {
|
|
isCoarseLevel: {
|
|
type: Boolean,
|
|
type: Boolean,
|
|
default: false
|
|
default: false
|
|
@@ -265,6 +270,7 @@ export default {
|
|
rights: {
|
|
rights: {
|
|
...initRights
|
|
...initRights
|
|
},
|
|
},
|
|
|
|
+ cacheRights: null,
|
|
roleRight: {
|
|
roleRight: {
|
|
ADMIN: {
|
|
ADMIN: {
|
|
done: ["search", "gradeHis", "gradeInfo"],
|
|
done: ["search", "gradeHis", "gradeInfo"],
|
|
@@ -272,15 +278,17 @@ export default {
|
|
arbitrate: ["search", "gradeHis"]
|
|
arbitrate: ["search", "gradeHis"]
|
|
},
|
|
},
|
|
MARK_LEADER: {
|
|
MARK_LEADER: {
|
|
- undo: ["gradeList", "gradeInfo"],
|
|
|
|
- done: ["gradeList", "gradeHis", "gradeInfo"],
|
|
|
|
- reject: ["gradeList", "gradeInfo", "gradeHis"],
|
|
|
|
- arbitrate: ["gradeList", "gradeHis"]
|
|
|
|
|
|
+ undo: ["gradeList", "gradePass", "gradeInfo"],
|
|
|
|
+ done: ["gradeList", "gradePass", "gradeHis", "gradeInfo"],
|
|
|
|
+ reject: ["gradeList", "gradePass", "gradeInfo", "gradeHis"],
|
|
|
|
+ arbitrate: ["gradeList", "gradePass", "gradeHis"],
|
|
|
|
+ batch: ["gradeList"]
|
|
},
|
|
},
|
|
MARKER: {
|
|
MARKER: {
|
|
- done: ["gradeList", "gradeInfo"],
|
|
|
|
- undo: ["gradeList"],
|
|
|
|
- reject: ["gradeList", "gradeInfo"]
|
|
|
|
|
|
+ done: ["gradeList", "gradePass", "gradeInfo"],
|
|
|
|
+ undo: ["gradeList", "gradePass"],
|
|
|
|
+ reject: ["gradeList", "gradePass", "gradeInfo"],
|
|
|
|
+ batch: ["gradeList"]
|
|
},
|
|
},
|
|
STANDARD: ["gradeInfo"]
|
|
STANDARD: ["gradeInfo"]
|
|
},
|
|
},
|
|
@@ -294,7 +302,8 @@ export default {
|
|
done: "已评",
|
|
done: "已评",
|
|
reject: "打回",
|
|
reject: "打回",
|
|
arbitrate: "待仲裁",
|
|
arbitrate: "待仲裁",
|
|
- sample: "标准卷"
|
|
|
|
|
|
+ sample: "标准卷",
|
|
|
|
+ batch: "批量操作"
|
|
},
|
|
},
|
|
stepType: "",
|
|
stepType: "",
|
|
stepLabel: "",
|
|
stepLabel: "",
|
|
@@ -320,13 +329,27 @@ export default {
|
|
}
|
|
}
|
|
},
|
|
},
|
|
watch: {
|
|
watch: {
|
|
- curPaperOrTask(val) {
|
|
|
|
|
|
+ curPaperOrTask() {
|
|
this.rebuildRight();
|
|
this.rebuildRight();
|
|
},
|
|
},
|
|
|
|
+ isBatchAction(val) {
|
|
|
|
+ if (val) {
|
|
|
|
+ this.stepType = "batch";
|
|
|
|
+ this.stepLabel = this.stepDict[this.stepType];
|
|
|
|
+ const roleRights =
|
|
|
|
+ this.roleRight[this.curUserRoleType][this.stepType] || [];
|
|
|
|
+ this.rights = { ...initRights };
|
|
|
|
+ roleRights.map(key => {
|
|
|
|
+ this.rights[key] = true;
|
|
|
|
+ });
|
|
|
|
+ } else {
|
|
|
|
+ this.rebuildRight();
|
|
|
|
+ }
|
|
|
|
+ this.keyInput = null;
|
|
|
|
+ },
|
|
"ribbonSet.keyboardMark": {
|
|
"ribbonSet.keyboardMark": {
|
|
immediate: true,
|
|
immediate: true,
|
|
handler(val) {
|
|
handler(val) {
|
|
- console.log(val);
|
|
|
|
if (val) {
|
|
if (val) {
|
|
document.addEventListener("keydown", this.keyEvent);
|
|
document.addEventListener("keydown", this.keyEvent);
|
|
} else {
|
|
} else {
|
|
@@ -363,6 +386,8 @@ export default {
|
|
return;
|
|
return;
|
|
},
|
|
},
|
|
rebuildRight() {
|
|
rebuildRight() {
|
|
|
|
+ if (this.setT) clearTimeout(this.setT);
|
|
|
|
+
|
|
let roleRights = [];
|
|
let roleRights = [];
|
|
this.stepType = this.getStepType();
|
|
this.stepType = this.getStepType();
|
|
this.stepLabel = this.stepDict[this.stepType];
|
|
this.stepLabel = this.stepDict[this.stepType];
|
|
@@ -380,6 +405,7 @@ export default {
|
|
this.getMarkHistory();
|
|
this.getMarkHistory();
|
|
}
|
|
}
|
|
this.btnClicked = false;
|
|
this.btnClicked = false;
|
|
|
|
+ this.keyInput = null;
|
|
},
|
|
},
|
|
getCurLevel() {
|
|
getCurLevel() {
|
|
const levelName = this.curPaperOrTask.rejected
|
|
const levelName = this.curPaperOrTask.rejected
|
|
@@ -409,6 +435,16 @@ export default {
|
|
});
|
|
});
|
|
},
|
|
},
|
|
selectLevel(level) {
|
|
selectLevel(level) {
|
|
|
|
+ if (this.isBatchAction) {
|
|
|
|
+ if (this.btnClicked) return;
|
|
|
|
+ this.btnClicked = true;
|
|
|
|
+ this.setT = setTimeout(() => {
|
|
|
|
+ this.btnClicked = false;
|
|
|
|
+ }, 500);
|
|
|
|
+ this.$emit("on-batch-level", level);
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+
|
|
if (this.IS_MARKER && this.curPaperOrTask.level === level.name) return;
|
|
if (this.IS_MARKER && this.curPaperOrTask.level === level.name) return;
|
|
if (this.btnClicked) return;
|
|
if (this.btnClicked) return;
|
|
this.btnClicked = true;
|
|
this.btnClicked = true;
|