|
@@ -188,7 +188,65 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</Poptip>
|
|
</Poptip>
|
|
- <div class="header-part header-step">
|
|
|
|
|
|
+ <Select
|
|
|
|
+ v-model="undoLevel"
|
|
|
|
+ placeholder="待评档位"
|
|
|
|
+ clearable
|
|
|
|
+ transfer
|
|
|
|
+ class="header-select"
|
|
|
|
+ transfer-class-name="header-select-dropdown"
|
|
|
|
+ @on-change="undoLevelChange"
|
|
|
|
+ >
|
|
|
|
+ <Option
|
|
|
|
+ v-for="(option, index) in undoLevels"
|
|
|
|
+ :value="option.levelCode"
|
|
|
|
+ :key="index"
|
|
|
|
+ >
|
|
|
|
+ {{ option.levelCode }}({{ option.taskCount }})
|
|
|
|
+ </Option>
|
|
|
|
+ </Select>
|
|
|
|
+ <Select
|
|
|
|
+ v-model="stepName"
|
|
|
|
+ placeholder="分类"
|
|
|
|
+ transfer
|
|
|
|
+ class="header-select"
|
|
|
|
+ transfer-class-name="header-select-dropdown"
|
|
|
|
+ @on-change="stepClick"
|
|
|
|
+ >
|
|
|
|
+ <Option
|
|
|
|
+ v-for="step in steps.otherStep"
|
|
|
|
+ :key="step.name"
|
|
|
|
+ :value="step.name"
|
|
|
|
+ :label="
|
|
|
|
+ showPaperRelateCount
|
|
|
|
+ ? `${step.name}(${step.count})`
|
|
|
|
+ : `${step.name}`
|
|
|
|
+ "
|
|
|
|
+ >
|
|
|
|
+ <i>{{ step.name }}</i>
|
|
|
|
+ <i v-if="showPaperRelateCount">({{ step.count }})</i>
|
|
|
|
+ </Option>
|
|
|
|
+ <Option
|
|
|
|
+ v-for="step in steps.levelStep"
|
|
|
|
+ :key="step.name"
|
|
|
|
+ :value="step.name"
|
|
|
|
+ :label="
|
|
|
|
+ showPaperRelateCount
|
|
|
|
+ ? `${step.name}(${step.count})`
|
|
|
|
+ : `${step.name}`
|
|
|
|
+ "
|
|
|
|
+ >
|
|
|
|
+ <i>{{ step.name }}</i>
|
|
|
|
+ <i v-if="showPaperRelateCount && IS_MARK_LEADER__SCORE">
|
|
|
|
+ ({{ step.count }})
|
|
|
|
+ </i>
|
|
|
|
+ <i v-if="showPaperRelateCount && !IS_MARK_LEADER__SCORE">
|
|
|
|
+ ({{ step.count }} / {{ step.gcount }})
|
|
|
|
+ </i>
|
|
|
|
+ </Option>
|
|
|
|
+ </Select>
|
|
|
|
+
|
|
|
|
+ <!-- <div class="header-part header-step">
|
|
<Dropdown
|
|
<Dropdown
|
|
placement="bottom"
|
|
placement="bottom"
|
|
transfer
|
|
transfer
|
|
@@ -227,7 +285,7 @@
|
|
</DropdownItem>
|
|
</DropdownItem>
|
|
</DropdownMenu>
|
|
</DropdownMenu>
|
|
</Dropdown>
|
|
</Dropdown>
|
|
- </div>
|
|
|
|
|
|
+ </div> -->
|
|
<div v-if="IS_MARK_LEADER" class="header-part" @click="toProgress">
|
|
<div v-if="IS_MARK_LEADER" class="header-part" @click="toProgress">
|
|
<p>{{ stageName }}进度 <Icon type="ios-arrow-down"></Icon></p>
|
|
<p>{{ stageName }}进度 <Icon type="ios-arrow-down"></Icon></p>
|
|
</div>
|
|
</div>
|
|
@@ -314,7 +372,7 @@
|
|
|
|
|
|
<script>
|
|
<script>
|
|
import { mapState, mapMutations } from "vuex";
|
|
import { mapState, mapMutations } from "vuex";
|
|
-import { areaList, gradingUserList, logout } from "@/api";
|
|
|
|
|
|
+import { areaList, gradingUserList, undoLevelList, logout } from "@/api";
|
|
import ResetPwd from "@/modules/login/ResetPwd";
|
|
import ResetPwd from "@/modules/login/ResetPwd";
|
|
import { CODE_TYPE } from "@/constants/enumerate";
|
|
import { CODE_TYPE } from "@/constants/enumerate";
|
|
|
|
|
|
@@ -334,6 +392,10 @@ export default {
|
|
type: Boolean,
|
|
type: Boolean,
|
|
default: false,
|
|
default: false,
|
|
},
|
|
},
|
|
|
|
+ showUndoLevel: {
|
|
|
|
+ type: Boolean,
|
|
|
|
+ default: false,
|
|
|
|
+ },
|
|
},
|
|
},
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
@@ -355,6 +417,8 @@ export default {
|
|
markFilter: {
|
|
markFilter: {
|
|
markerId: "",
|
|
markerId: "",
|
|
},
|
|
},
|
|
|
|
+ stepName: "",
|
|
|
|
+ undoLevel: "",
|
|
};
|
|
};
|
|
},
|
|
},
|
|
computed: {
|
|
computed: {
|
|
@@ -363,10 +427,13 @@ export default {
|
|
"page",
|
|
"page",
|
|
"curStep",
|
|
"curStep",
|
|
"steps",
|
|
"steps",
|
|
|
|
+ "undoLevels",
|
|
|
|
+ "curUndoLevel",
|
|
"curArea",
|
|
"curArea",
|
|
"curSubject",
|
|
"curSubject",
|
|
"areas",
|
|
"areas",
|
|
"IS_MARK_LEADER",
|
|
"IS_MARK_LEADER",
|
|
|
|
+ "IS_MARKER",
|
|
"ribbonSet",
|
|
"ribbonSet",
|
|
]),
|
|
]),
|
|
stageName() {
|
|
stageName() {
|
|
@@ -378,6 +445,25 @@ export default {
|
|
showPaperRelateCount() {
|
|
showPaperRelateCount() {
|
|
return !!this.paramsSet["showPaperCount"];
|
|
return !!this.paramsSet["showPaperCount"];
|
|
},
|
|
},
|
|
|
|
+ showUndoLevelSelection() {
|
|
|
|
+ return (
|
|
|
|
+ this.showUndoLevel &&
|
|
|
|
+ this.IS_MARKER &&
|
|
|
|
+ this.curSubject.stage === "SCORE" &&
|
|
|
|
+ this.curStep.type === "undo"
|
|
|
|
+ );
|
|
|
|
+ },
|
|
|
|
+ },
|
|
|
|
+ watch: {
|
|
|
|
+ showUndoLevelSelection(val) {
|
|
|
|
+ if (val) {
|
|
|
|
+ this.getUndoLevels();
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ curStep(val, oldVal) {
|
|
|
|
+ if (val === oldVal || val === this.stepName) return;
|
|
|
|
+ this.stepName = val.name;
|
|
|
|
+ },
|
|
},
|
|
},
|
|
mounted() {
|
|
mounted() {
|
|
const subjectId = this.$route.params.subjectId.split("-");
|
|
const subjectId = this.$route.params.subjectId.split("-");
|
|
@@ -397,7 +483,13 @@ export default {
|
|
.filter((item) => item.key !== "examNumber");
|
|
.filter((item) => item.key !== "examNumber");
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
- ...mapMutations("marker", ["setPage", "setAreas", "setRibbonSet"]),
|
|
|
|
|
|
+ ...mapMutations("marker", [
|
|
|
|
+ "setPage",
|
|
|
|
+ "setAreas",
|
|
|
|
+ "setRibbonSet",
|
|
|
|
+ "setUndoLevels",
|
|
|
|
+ "setCurUndoLevel",
|
|
|
|
+ ]),
|
|
async getAreaList() {
|
|
async getAreaList() {
|
|
const data = await areaList(this.filter);
|
|
const data = await areaList(this.filter);
|
|
const areas = data.map((item) => {
|
|
const areas = data.map((item) => {
|
|
@@ -413,6 +505,22 @@ export default {
|
|
this.$emit("area-change", areas[0]);
|
|
this.$emit("area-change", areas[0]);
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
+ async getUndoLevels() {
|
|
|
|
+ if (!this.showUndoLevelSelection || !this.curArea.id) return;
|
|
|
|
+ const data = await undoLevelList({
|
|
|
|
+ markerId: this.$ls.get("user", { id: "" }).id,
|
|
|
|
+ questionId: this.curArea.id,
|
|
|
|
+ });
|
|
|
|
+ this.setUndoLevels(data);
|
|
|
|
+
|
|
|
|
+ if (this.curUndoLevel) {
|
|
|
|
+ this.undoLevel = this.curUndoLevel.levelCode;
|
|
|
|
+ const undoLevel = this.undoLevels.find(
|
|
|
|
+ (item) => item.levelCode === this.undoLevel
|
|
|
|
+ );
|
|
|
|
+ this.setCurUndoLevel(undoLevel);
|
|
|
|
+ }
|
|
|
|
+ },
|
|
async getLeaderMarkerList() {
|
|
async getLeaderMarkerList() {
|
|
const data = await gradingUserList({
|
|
const data = await gradingUserList({
|
|
...this.filter,
|
|
...this.filter,
|
|
@@ -460,6 +568,11 @@ export default {
|
|
);
|
|
);
|
|
this.$emit("step-change", curStep);
|
|
this.$emit("step-change", curStep);
|
|
},
|
|
},
|
|
|
|
+ undoLevelChange(val) {
|
|
|
|
+ const undoLevel = this.undoLevels.find((item) => item.levelCode === val);
|
|
|
|
+ this.setCurUndoLevel(undoLevel || null);
|
|
|
|
+ this.$emit("undo-level-change", undoLevel);
|
|
|
|
+ },
|
|
changeAllSelect(selected) {
|
|
changeAllSelect(selected) {
|
|
this.allSelected = selected;
|
|
this.allSelected = selected;
|
|
},
|
|
},
|