123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- <template>
- <el-dialog
- class="mark-detail"
- :visible.sync="modalIsShow"
- top="0"
- :close-on-click-modal="false"
- :close-on-press-escape="false"
- :show-close="false"
- append-to-body
- fullscreen
- @open="initData"
- >
- <div slot="title">
- <h2 class="el-dialog__title">评卷管理</h2>
- <span
- >课程名称:{{ instance.courseName }}({{ instance.courseCode }})</span
- >
- <span>试卷编号:{{ instance.paperNumber }}</span>
- <button class="el-dialog__headerbtn" @click="cancel"></button>
- </div>
- <div class="mb-4 tab-btns">
- <el-button
- v-for="tab in tabs"
- :key="tab.val"
- size="medium"
- :type="curTab == tab.val ? 'primary' : 'default'"
- @click="selectMenu(tab.val)"
- >{{ tab.name }}
- </el-button>
- </div>
- <component
- v-if="modalIsShow"
- :is="currentComponent"
- :base-info="instance"
- @to-menu="selectMenu"
- ></component>
- <div slot="footer"></div>
- </el-dialog>
- </template>
- <script>
- import MarkDetailProgress from "./MarkDetailProgress.vue";
- import MarkDetailMarker from "./MarkDetailMarker.vue";
- import MarkDetailQuality from "./MarkDetailQuality.vue";
- import MarkDetailIssue from "./MarkDetailIssue.vue";
- import MarkDetailArbitration from "./MarkDetailArbitration.vue";
- import MarkDetailTask from "./MarkDetailTask.vue";
- import MarkDetailReject from "./MarkDetailReject.vue";
- export default {
- name: "mark-detail",
- components: {
- MarkDetailProgress,
- MarkDetailMarker,
- MarkDetailQuality,
- MarkDetailIssue,
- MarkDetailArbitration,
- MarkDetailTask,
- MarkDetailReject,
- },
- props: {
- instance: {
- type: Object,
- default() {
- return {};
- },
- },
- },
- data() {
- return {
- modalIsShow: false,
- // step
- curTab: "progress",
- tabs: [
- {
- name: "评卷进度",
- val: "progress",
- },
- {
- name: "评卷员管理",
- val: "marker",
- },
- {
- name: "任务管理",
- val: "task",
- },
- {
- name: "评卷质量",
- val: "quality",
- },
- {
- name: "问题试卷",
- val: "issue",
- },
- {
- name: "仲裁管理",
- val: "arbitration",
- },
- {
- name: "打回记录",
- val: "reject",
- },
- ],
- current: 0,
- };
- },
- computed: {
- currentComponent() {
- return `mark-detail-${this.curTab}`;
- },
- },
- methods: {
- initData() {
- this.selectMenu("progress");
- },
- selectMenu(val) {
- this.curTab = val;
- this.current = this.tabs.findIndex((item) => item.val === val);
- },
- cancel() {
- this.modalIsShow = false;
- },
- open() {
- this.modalIsShow = true;
- },
- },
- };
- </script>
|