|
@@ -3,33 +3,82 @@
|
|
<div class="part-box part-box-pad">
|
|
<div class="part-box part-box-pad">
|
|
<el-table ref="TableList" :data="dataList">
|
|
<el-table ref="TableList" :data="dataList">
|
|
<el-table-column
|
|
<el-table-column
|
|
- type="index"
|
|
|
|
- label="序号"
|
|
|
|
- width="50"
|
|
|
|
- :index="indexMethod"
|
|
|
|
|
|
+ prop="thirdRelateId"
|
|
|
|
+ label="云阅卷考试ID"
|
|
|
|
+ min-width="160"
|
|
></el-table-column>
|
|
></el-table-column>
|
|
- <el-table-column prop="thirdRelateId" label="考试ID"></el-table-column>
|
|
|
|
<el-table-column
|
|
<el-table-column
|
|
prop="thirdRelateName"
|
|
prop="thirdRelateName"
|
|
- label="考试名称"
|
|
|
|
|
|
+ label="云阅卷考试名称"
|
|
|
|
+ min-width="160"
|
|
|
|
+ ></el-table-column>
|
|
|
|
+ <el-table-column prop="courseName" label="课程(代码)" min-width="200">
|
|
|
|
+ <span slot-scope="scope">
|
|
|
|
+ {{ scope.row.courseName }}({{ scope.row.courseCode }})
|
|
|
|
+ </span>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column
|
|
|
|
+ prop="paperNumber"
|
|
|
|
+ label="试卷编号"
|
|
|
|
+ min-width="160"
|
|
></el-table-column>
|
|
></el-table-column>
|
|
- <el-table-column prop="paperNumber" label="试卷ID"></el-table-column>
|
|
|
|
<el-table-column
|
|
<el-table-column
|
|
prop="paperType"
|
|
prop="paperType"
|
|
label="试卷类型"
|
|
label="试卷类型"
|
|
- width="80"
|
|
|
|
|
|
+ width="100"
|
|
></el-table-column>
|
|
></el-table-column>
|
|
<el-table-column prop="statusStr" label="状态" width="100">
|
|
<el-table-column prop="statusStr" label="状态" width="100">
|
|
|
|
+ <span
|
|
|
|
+ slot-scope="scope"
|
|
|
|
+ :class="{ 'color-danger': scope.row.status === 'INIT' }"
|
|
|
|
+ >{{ scope.row.statusStr }}</span
|
|
|
|
+ >
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column
|
|
<el-table-column
|
|
class-name="action-column"
|
|
class-name="action-column"
|
|
label="操作"
|
|
label="操作"
|
|
- width="100"
|
|
|
|
|
|
+ width="220px"
|
|
fixed="right"
|
|
fixed="right"
|
|
>
|
|
>
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- <el-button class="btn-primary" type="text" @click="toDo(scope.row)"
|
|
|
|
- >立即处理</el-button
|
|
|
|
|
|
+ <el-button
|
|
|
|
+ class="btn-primary"
|
|
|
|
+ type="text"
|
|
|
|
+ :disabled="scope.row.taskStatus === 'RUNNING'"
|
|
|
|
+ @click="toSetParams(scope.row)"
|
|
|
|
+ >评卷参数设置</el-button
|
|
|
|
+ >
|
|
|
|
+ <el-button
|
|
|
|
+ class="btn-primary"
|
|
|
|
+ type="text"
|
|
|
|
+ :disabled="
|
|
|
|
+ !scope.row.paperInfoJson || scope.row.taskStatus === 'RUNNING'
|
|
|
|
+ "
|
|
|
|
+ @click="toSetAnswer(scope.row)"
|
|
|
|
+ >设置客观题标答</el-button
|
|
|
|
+ >
|
|
|
|
+ <el-button
|
|
|
|
+ class="btn-primary"
|
|
|
|
+ type="text"
|
|
|
|
+ :disabled="
|
|
|
|
+ !scope.row.paperInfoJson || scope.row.taskStatus === 'RUNNING'
|
|
|
|
+ "
|
|
|
|
+ @click="toBindMarkLeader(scope.row)"
|
|
|
|
+ >绑定科组长</el-button
|
|
|
|
+ >
|
|
|
|
+ <el-button
|
|
|
|
+ class="btn-primary"
|
|
|
|
+ type="text"
|
|
|
|
+ :disabled="scope.row.taskStatus === 'RUNNING'"
|
|
|
|
+ @click="toUpload(scope.row)"
|
|
|
|
+ >上传标答文件</el-button
|
|
|
|
+ >
|
|
|
|
+ <el-button
|
|
|
|
+ class="btn-primary"
|
|
|
|
+ type="text"
|
|
|
|
+ :disabled="!scope.row.paperAnswer"
|
|
|
|
+ @click="toViewAnswer(scope.row, scope.row.paperType)"
|
|
|
|
+ >查看标答文件</el-button
|
|
>
|
|
>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
@@ -47,11 +96,28 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
- <!-- UploadPaperAnswerDialog -->
|
|
|
|
<UploadPaperAnswerDialog
|
|
<UploadPaperAnswerDialog
|
|
|
|
+ v-if="checkPrivilege('link', 'Upload')"
|
|
ref="UploadPaperAnswerDialog"
|
|
ref="UploadPaperAnswerDialog"
|
|
:instance="curTask"
|
|
:instance="curTask"
|
|
- @modified="taskModified"
|
|
|
|
|
|
+ @modified="delayUpdateList"
|
|
|
|
+ />
|
|
|
|
+ <ModifyMarkParams
|
|
|
|
+ ref="ModifyMarkParams"
|
|
|
|
+ :instance="curTask"
|
|
|
|
+ @modified="delayUpdateList"
|
|
|
|
+ />
|
|
|
|
+ <ModifyObjectiveAnswer
|
|
|
|
+ ref="ModifyObjectiveAnswer"
|
|
|
|
+ :instance="curTask"
|
|
|
|
+ @modified="delayUpdateList"
|
|
|
|
+ />
|
|
|
|
+ <SelectTypeUser
|
|
|
|
+ ref="SelectTypeUser"
|
|
|
|
+ special-privilege="SUBJECT_HEADER"
|
|
|
|
+ :user-ids="curMarkLeaders"
|
|
|
|
+ :user-limit-count="0"
|
|
|
|
+ @confirm="headerBind"
|
|
/>
|
|
/>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
@@ -59,18 +125,28 @@
|
|
<script>
|
|
<script>
|
|
import { mapActions, mapMutations } from "vuex";
|
|
import { mapActions, mapMutations } from "vuex";
|
|
import { stmmsTaskListPage } from "../api";
|
|
import { stmmsTaskListPage } from "../api";
|
|
|
|
+import { examBindMarkLeader } from "../../stmms/api";
|
|
import UploadPaperAnswerDialog from "../../stmms/components/UploadPaperAnswerDialog";
|
|
import UploadPaperAnswerDialog from "../../stmms/components/UploadPaperAnswerDialog";
|
|
|
|
+import ModifyMarkParams from "../../stmms/components/markParam/ModifyMarkParams";
|
|
|
|
+import ModifyObjectiveAnswer from "../../stmms/components/markParam/ModifyObjectiveAnswer.vue";
|
|
|
|
+import SelectTypeUser from "../../stmms/components/SelectTypeUser.vue";
|
|
|
|
|
|
export default {
|
|
export default {
|
|
name: "wait-task-stmms",
|
|
name: "wait-task-stmms",
|
|
- components: { UploadPaperAnswerDialog },
|
|
|
|
|
|
+ components: {
|
|
|
|
+ UploadPaperAnswerDialog,
|
|
|
|
+ ModifyMarkParams,
|
|
|
|
+ ModifyObjectiveAnswer,
|
|
|
|
+ SelectTypeUser
|
|
|
|
+ },
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
current: 1,
|
|
current: 1,
|
|
size: this.GLOBAL.pageSize,
|
|
size: this.GLOBAL.pageSize,
|
|
total: 0,
|
|
total: 0,
|
|
dataList: [],
|
|
dataList: [],
|
|
- curTask: {}
|
|
|
|
|
|
+ curTask: {},
|
|
|
|
+ curMarkLeaders: []
|
|
};
|
|
};
|
|
},
|
|
},
|
|
mounted() {
|
|
mounted() {
|
|
@@ -79,13 +155,19 @@ export default {
|
|
methods: {
|
|
methods: {
|
|
...mapMutations("exam", ["updateWaitTask"]),
|
|
...mapMutations("exam", ["updateWaitTask"]),
|
|
...mapActions("exam", ["updateWaitTaskCount"]),
|
|
...mapActions("exam", ["updateWaitTaskCount"]),
|
|
|
|
+ delayUpdateList() {
|
|
|
|
+ setTimeout(() => {
|
|
|
|
+ this.getList();
|
|
|
|
+ this.updateWaitTaskCount();
|
|
|
|
+ }, 1000);
|
|
|
|
+ },
|
|
async initData() {
|
|
async initData() {
|
|
await this.getList();
|
|
await this.getList();
|
|
|
|
|
|
const presetTask = this.$ls.get("wait_task_stmms");
|
|
const presetTask = this.$ls.get("wait_task_stmms");
|
|
if (presetTask) {
|
|
if (presetTask) {
|
|
this.$nextTick(() => {
|
|
this.$nextTick(() => {
|
|
- this.toDo(presetTask);
|
|
|
|
|
|
+ this.toSetParams(presetTask);
|
|
});
|
|
});
|
|
this.$ls.remove("wait_task_stmms");
|
|
this.$ls.remove("wait_task_stmms");
|
|
}
|
|
}
|
|
@@ -104,13 +186,36 @@ export default {
|
|
this.current = page;
|
|
this.current = page;
|
|
this.getList();
|
|
this.getList();
|
|
},
|
|
},
|
|
- toDo(row) {
|
|
|
|
|
|
+ toSetParams(row) {
|
|
|
|
+ this.curTask = row;
|
|
|
|
+ this.$refs.ModifyMarkParams.open();
|
|
|
|
+ },
|
|
|
|
+ toSetAnswer(row) {
|
|
|
|
+ this.curTask = row;
|
|
|
|
+ this.$refs.ModifyObjectiveAnswer.open();
|
|
|
|
+ },
|
|
|
|
+ toUpload(row) {
|
|
this.curTask = row;
|
|
this.curTask = row;
|
|
this.$refs.UploadPaperAnswerDialog.open();
|
|
this.$refs.UploadPaperAnswerDialog.open();
|
|
},
|
|
},
|
|
- taskModified() {
|
|
|
|
|
|
+ toBindMarkLeader(row) {
|
|
|
|
+ this.curTask = row;
|
|
|
|
+ const markLeaders = row.markLeader ? JSON.parse(row.markLeader) : [];
|
|
|
|
+ this.curMarkLeaders = markLeaders.map(item => item.id);
|
|
|
|
+ this.$refs.SelectTypeUser.open();
|
|
|
|
+ },
|
|
|
|
+ async headerBind(users) {
|
|
|
|
+ await examBindMarkLeader({
|
|
|
|
+ id: this.curTask.id,
|
|
|
|
+ markLeader: users.map(item => {
|
|
|
|
+ return {
|
|
|
|
+ id: item.id,
|
|
|
|
+ loginName: item.loginName
|
|
|
|
+ };
|
|
|
|
+ })
|
|
|
|
+ });
|
|
|
|
+ this.$message.success("绑定成功!");
|
|
this.getList();
|
|
this.getList();
|
|
- this.updateWaitTaskCount();
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
};
|