shuishen
2021-11-04 e0001b944ebd202e0640d164d7f1fb439193f7d4
培训考试成绩修改相关
3 files modified
2 files added
940 ■■■■■ changed files
src/api/examapi/modifiedGrades.js 21 ●●●●● patch | view | raw | blame | history
src/api/examapi/performance.js 9 ●●●● patch | view | raw | blame | history
src/router/views/index.js 12 ●●●●● patch | view | raw | blame | history
src/views/trainExam/modifiedGrades.vue 627 ●●●●● patch | view | raw | blame | history
src/views/trainExam/performance.vue 271 ●●●● patch | view | raw | blame | history
src/api/examapi/modifiedGrades.js
New file
@@ -0,0 +1,21 @@
import request from '@/router/axios';
export const getList = (current, size, params) => {
  return request({
    url: '/api/scoreAuditRecords/page',
    method: 'get',
    params: {
      ...params,
      current,
      size
    }
  })
}
export const update = (row) => {
  return request({
    url: '/api/scoreAuditRecords/update',
    method: 'post',
    data: row
  })
}
src/api/examapi/performance.js
@@ -20,7 +20,6 @@
    })
}
export const updateAbsent = (row) => {
    return request({
        url: '/api/examScore/updateAbsent',
@@ -28,3 +27,11 @@
        data: row
    })
}
export const updateGrade = (row) => {
  return request({
    url: '/api/scoreAuditRecords/scoreUpdateApply',
    method: 'post',
    data: row
  })
}
src/router/views/index.js
@@ -702,6 +702,8 @@
                import ( /* webpackChunkName: "views" */ '@/views/trainingRegistration/index')
        }]
    },
    // {
    //     path: '/trainExam',
    //     component: Layout,
@@ -967,8 +969,18 @@
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/trainExam/index')
    },
    {
      path: 'modifiedGrades',
      name: '修改成绩管理',
      meta: {
        i18n: 'modifiedGrades'
      },
      component: () =>
        import( /* webpackChunkName: "views" */ '@/views/trainExam/modifiedGrades')
        }]
    },
    {
        path: '/accreditationRecords',
        component: Layout,
src/views/trainExam/modifiedGrades.vue
New file
@@ -0,0 +1,627 @@
/*
 * @Author: Morpheus
 * @Date: 2021-07-05 16:31:54
 * @Last Modified by: Morpheus
 * @Last Modified time: 2021-11-04 18:54:44
 * menu-name 成绩管理
 */
<template>
    <el-row class="morpheus-box">
        <el-col :span="24"
                class="recruitmentManagement">
            <el-card>
                <div class="exam-card-body">
                    <avue-crud v-model="obj"
                               class="company-box"
                               :option="questionBankOption"
                               :search.sync="questionBankSearch"
                               :table-loading="questionBankLoading"
                               :data="questionBankData"
                               :permission="permissionList"
                               ref="questionBankCrud"
                               :page.sync="questionBankPage"
                               @on-load="questionBankOnLoad"
                               @selection-change="questionBankSelectionChange"
                               @search-change="questionBankSearchChange"
                               @search-reset="questionBankSearchReset"
                               @current-change="questionBankCurrentChange"
                               @size-change="questionBankSizeChange"
                               @row-update="questionBankRowUpdate"
                               @refresh-change="refreshChange">
                        <!-- 自定义按钮 -->
                        <template slot="menuLeft">
                            <!-- <el-button type="danger"
                                       size="mini"
                                       icon="el-icon-delete"
                                       plain
                                       @click="handleDelete">新增
                            </el-button> -->
                            <!-- <el-button type="danger"
                                       size="mini"
                                       icon="el-icon-delete"
                                       plain
                                       @click="handleDelete">删除
                            </el-button> -->
                        </template>
                        <template slot-scope="{ type, size, row }"
                                  slot="menu">
                            <el-button :type="type"
                                       :size="size"
                                       icon="el-icon-folder-checked"
                                       v-if="permission.trainExam_check"
                                       @click="handleAudit(row)">审核
                            </el-button>
                        </template>
                    </avue-crud>
                </div>
            </el-card>
        </el-col>
        <el-dialog title="成绩修改审核"
                   :visible.sync="dialogFormVisible"
                   modal-append-to-body="false"
                   append-to-body="true"
                   :close-on-click-model="true">
            <avue-form ref="formAudit"
                       v-model="Audit"
                       :option="optionAudit"
                       @reset-change="emptytChange"
                       @submit="submit"></avue-form>
        </el-dialog>
    </el-row>
</template>
<script>
import { getList, update } from "@/api/examapi/modifiedGrades";
import { mapGetters } from "vuex";
import { getRoleDetail } from "@/api/system/role";
export default {
    data () {
        return {
            Audit: {},
            dialogFormVisible: false,
            optionAudit: {
                height: "auto",
                calcHeight: 30,
                dialogWidth: 1000,
                tip: false,
                searchShow: true,
                searchMenuSpan: 6,
                border: true, //liu
                index: true,
                stripe: true,
                viewBtn: false,
                addBtn: false,
                editBtn: false,
                selection: true,
                excelBtn: false,
                menuWidth: 230,
                dialogClickModal: false,
                column: [{
                    label: "审核状态",
                    search: true,
                    searchSpan: 5,
                    span: 24,
                    prop: "status",
                    slot: true,
                    editDisplay: false,
                    addDisplay: false,
                    type: "select",
                    rules: [{
                        required: true,
                        message: "请选择审核类型",
                        trigger: "blur"
                    }],
                    dicData: [{
                        label: "待审核",
                        value: 1,
                    },
                    {
                        label: "审核通过",
                        value: 2,
                    },
                    {
                        label: "审核不通过",
                        value: 3,
                    }
                    ]
                },
                {
                    label: "审核明细",
                    span: 24,
                    type: "textarea",
                    prop: "auditDetail"
                }
                ],
            },
            obj: {
                name: "张三",
            },
            questionBankOption: {
                // 操作栏多余按钮去除
                delBtn: false,
                editBtn: true,
                addBtn: false,
                selection: false,
                // 导出按钮
                // excelBtn: true,
                // excelBtnText: "成绩导出",
                viewBtn: true,
                // title: '成绩',
                align: "center",
                height: "auto",
                calcHeight: 80,
                tip: false,
                searchShow: true,
                searchMenuSpan: 4,
                index: true,
                indexLabel: "序号",
                //dialogType: 'drawer',
                dialogClickModal: false,
                // 操作栏宽度
                menu: true,
                menuWidth: 295,
                labelWidth: 120,
                column: [
                    {
                        label: "考试名称",
                        prop: "examName",
                        search: true,
                        searchSpan: 5,
                        slot: true,
                        viewDisplay: true,
                        // 表单新增时是否禁止
                        addDisabled: false,
                        // 表单新增时是否可见
                        addDisplay: true,
                        // 表单新增时是否为查看模式
                        addDetail: false,
                        // 表单编辑时是否禁止
                        editDisabled: true,
                        viewDisabled: true,
                        // 表单编辑时是否可见
                        editDisplay: true,
                        // 表单编辑时是否为查看模式
                        editDetail: false,
                        rules: [
                            {
                                required: true,
                                message: "请输入试卷名称",
                                trigger: "blur",
                            },
                        ],
                        width: 210,
                        // overHidden:true,
                    },
                    {
                        label: "姓名",
                        prop: "realName",
                        search: true,
                        searchSpan: 3,
                        slot: true,
                        viewDisplay: true,
                        // 表单新增时是否禁止
                        addDisabled: false,
                        // 表单新增时是否可见
                        addDisplay: true,
                        // 表单新增时是否为查看模式
                        addDetail: false,
                        // 表单编辑时是否禁止
                        editDisabled: true,
                        viewDisabled: true,
                        // 表单编辑时是否可见
                        editDisplay: true,
                        // 表单编辑时是否为查看模式
                        editDetail: false,
                        rules: [
                            {
                                required: true,
                                message: "请输入试卷名称",
                                trigger: "blur",
                            },
                        ],
                        width: 80,
                        // overHidden:true,
                    },
                    {
                        label: "所属公司",
                        prop: "deptName",
                        search: true,
                        searchSpan: 4,
                        // dicUrl: '/api/blade-system/dept/tree',
                        // props: {
                        //     label: "title",
                        //     value: "id",
                        // },
                        slot: true,
                        // 表单新增时是否禁止
                        addDisabled: false,
                        // 表单新增时是否可见
                        addDisplay: true,
                        // 表单新增时是否为查看模式
                        addDetail: false,
                        // 表单编辑时是否禁止
                        editDisabled: true,
                        // 表单编辑时是否可见
                        editDisplay: true,
                        // 表单编辑时是否为查看模式
                        editDetail: false,
                        rules: [
                            {
                                required: true,
                                message: "请输入所属公司",
                                trigger: "blur",
                            },
                        ],
                        width: 230,
                    },
                    {
                        label: "身份证号",
                        prop: "idCardNo",
                        search: true,
                        searchSpan: 4,
                        slot: true,
                        // 表单新增时是否禁止
                        addDisabled: false,
                        // 表单新增时是否可见
                        addDisplay: true,
                        // 表单新增时是否为查看模式
                        addDetail: false,
                        // 表单编辑时是否禁止
                        editDisabled: true,
                        // 表单编辑时是否可见
                        editDisplay: true,
                        // 表单编辑时是否为查看模式
                        editDetail: false,
                        rules: [
                            {
                                required: true,
                                message: "请输入保安姓名",
                                trigger: "blur",
                            },
                        ],
                        width: 140,
                    },
                    {
                        label: "原理论成绩",
                        prop: "oldScore",
                        slot: true,
                        // 表单新增时是否禁止
                        addDisabled: false,
                        // 表单新增时是否可见
                        addDisplay: true,
                        // 表单新增时是否为查看模式
                        addDetail: false,
                        // 表单编辑时是否禁止
                        editDisabled: true,
                        // 表单编辑时是否可见
                        editDisplay: true,
                        // 表单编辑时是否为查看模式
                        editDetail: false,
                        width: 88
                    },
                    {
                        label: "现理论成绩",
                        prop: "newScore",
                        slot: true,
                        // 表单新增时是否禁止
                        addDisabled: false,
                        // 表单新增时是否可见
                        addDisplay: true,
                        // 表单新增时是否为查看模式
                        addDetail: false,
                        // 表单编辑时是否禁止
                        editDisabled: false,
                        // 表单编辑时是否可见
                        editDisplay: true,
                        // 表单编辑时是否为查看模式
                        editDetail: false,
                        width: 88
                    },
                    {
                        label: "申请理由",
                        prop: "applyCause",
                        slot: true,
                        // 表单新增时是否禁止
                        addDisabled: false,
                        // 表单新增时是否可见
                        addDisplay: true,
                        // 表单新增时是否为查看模式
                        addDetail: false,
                        // 表单编辑时是否禁止
                        editDisabled: true,
                        // 表单编辑时是否可见
                        editDisplay: true,
                        // 表单编辑时是否为查看模式
                        editDetail: false,
                    },
                    {
                        label: "修改申请时间",
                        prop: "createTime",
                        type: "date",
                        format: "yyyy-MM-dd",
                        valueFormat: "yyyy-MM-dd",
                        slot: true,
                        searchSpan: 4,
                        // 表单新增时是否禁止
                        addDisabled: false,
                        // 表单新增时是否可见
                        addDisplay: false,
                        // 表单新增时是否为查看模式
                        addDetail: false,
                        // 表单编辑时是否禁止
                        editDisabled: false,
                        // 表单编辑时是否可见
                        editDisplay: false,
                        // 表单编辑时是否为查看模式
                        editDetail: false,
                        viewDisplay: false,
                        width: 120
                    },
                    {
                        label: "审核时间",
                        prop: "auditTime",
                        type: "date",
                        format: "yyyy-MM-dd",
                        valueFormat: "yyyy-MM-dd",
                        slot: true,
                        searchSpan: 4,
                        // 表单新增时是否禁止
                        addDisabled: false,
                        // 表单新增时是否可见
                        addDisplay: false,
                        // 表单新增时是否为查看模式
                        addDetail: false,
                        // 表单编辑时是否禁止
                        editDisabled: false,
                        // 表单编辑时是否可见
                        editDisplay: false,
                        // 表单编辑时是否为查看模式
                        editDetail: false,
                        viewDisplay: false,
                        width: 120
                    },
                    {
                        label: "审核状态",
                        prop: "status",
                        type: "select",
                        slot: true,
                        search: true,
                        searchSpan: 3,
                        dicData: [
                            {
                                label: "待审核",
                                value: 1,
                            },
                            {
                                label: "审核通过",
                                value: 2,
                            },
                            {
                                label: "审核不通过",
                                value: 3,
                            }
                        ],
                        // 表单新增时是否禁止
                        addDisabled: false,
                        // 表单新增时是否可见
                        addDisplay: true,
                        // 表单新增时是否为查看模式
                        addDetail: false,
                        // 表单编辑时是否禁止
                        editDisabled: true,
                        // 表单编辑时是否可见
                        editDisplay: true,
                        // 表单编辑时是否为查看模式
                        editDetail: false,
                        width: 96
                    },
                    {
                        label: "审核明细",
                        prop: "auditDetail",
                        slot: true,
                        // 表单新增时是否禁止
                        addDisabled: false,
                        // 表单新增时是否可见
                        addDisplay: true,
                        // 表单新增时是否为查看模式
                        addDetail: false,
                        // 表单编辑时是否禁止
                        editDisabled: true,
                        // 表单编辑时是否可见
                        editDisplay: true,
                        // 表单编辑时是否为查看模式
                        editDetail: false,
                        width: 68,
                    }
                ],
            },
            questionBankSearch: {},
            questionBankLoading: true,
            questionBankData: [],
            questionBankPage: {
                pageSize: 10,
                currentPage: 1,
                total: 16,
            },
            questionBankQuery: {},
            questionBankSelectionList: [],
        };
    },
    created () { },
    mounted () { },
    computed: {
        ...mapGetters(["userInfo", "permission"]),
        permissionList () {
            return {
                addBtn: this.vaildData(null, false),
                viewBtn: this.vaildData(
                    this.permission.trainExam_performance_view,
                    false
                ),
                delBtn: this.vaildData(null, false),
                editBtn: this.vaildData(
                    this.permission.trainExam_performance_edit,
                    false
                ),
                excelBtn: this.vaildData(
                    this.permission.trainExam_performance_export,
                    false
                ),
            };
        },
    },
    methods: {
        getNewTime () {
            var nowTime = new Date()
            var oneHoursAgo = new Date(new Date(nowTime).getTime() - 1 * 60 * 60 * 1000)
            var oneHoursAgoY = oneHoursAgo.getFullYear()
            var oneHoursAgoM = oneHoursAgo.getMonth() + 1 < 10 ? '0' + (oneHoursAgo.getMonth() + 1) : oneHoursAgo.getMonth() + 1
            var oneHoursAgoD = oneHoursAgo.getDate() < 10 ? '0' + oneHoursAgo.getDate() : oneHoursAgo.getDate()
            var oneHoursAgoH = oneHoursAgo.getHours() < 10 ? '0' + oneHoursAgo.getHours() : oneHoursAgo.getHours()
            var oneHoursAgom = oneHoursAgo.getMinutes() < 10 ? '0' + oneHoursAgo.getMinutes() : oneHoursAgo.getMinutes()
            var oneHoursAgos = oneHoursAgo.getSeconds() < 10 ? '0' + oneHoursAgo.getSeconds() : oneHoursAgo.getSeconds()
            /**
             * @return 返回1小时,2小时,3小时,4小时,24小时
             */
            return oneHoursAgoY + '-' + oneHoursAgoM + '-' + oneHoursAgoD + ' ' + oneHoursAgoH + ':' + oneHoursAgom + ':' + oneHoursAgos
        },
        handleAudit (row) {
            this.dialogFormVisible = true;
            this.Audit = row;
        },
        //审核
        submit (row, done, loading) {
            row.auditTime = this.getNewTime()
            update(row).then(
                () => {
                    this.dialogFormVisible = false;
                    this.questionBankOnLoad(this.questionBankPage);
                    this.$message({
                        type: "success",
                        message: "操作成功!",
                    });
                    done();
                },
                (error) => {
                    window.console.log(error);
                    loading();
                }
            );
        },
        questionBankOnLoad (page, params = {}) {
            //判断角色,如果是保安公司管理员或保安,只能查看当前公司的考试成绩
            var that = this;
            //获取当前登录人员的角色信息
            var roleIds = this.userInfo.role_id.split(",");
            roleIds.forEach((roleId) => {
                getRoleDetail(roleId).then((res) => {
                    var roleAlias = res.data.data.roleAlias;
                    if (roleAlias == "保安公司管理员" || roleAlias == "保安") {
                        //如果是保安公司管理员
                        params["deptId"] = that.userInfo.dept_id;
                    }
                    if (roleAlias == "培训公司管理员") {
                        //如果是培训公司管理员
                        params["trainUnitId"] = that.userInfo.dept_id;
                    }
                    that.questionBankLoading = false;
                    params["examType"] = 2;
                    getList(
                        page.currentPage,
                        page.pageSize,
                        Object.assign(params, this.questionBankQuery)
                    ).then((res) => {
                        const data = res.data.data;
                        that.questionBankPage.total = data.total;
                        that.questionBankData = data.records;
                        that.questionBankLoading = false;
                        that.questionBankSelectionClear();
                    });
                });
            });
        },
        questionBankSelectionClear () {
            this.questionBankSelectionList = [];
            this.$refs.questionBankCrud.toggleSelection();
        },
        questionBankSelectionChange (list) {
            this.questionBankSelectionList = list;
        },
        questionBankSearchChange (params, done) {
            this.questionBankQuery = params;
            this.questionBankPage.currentPage = 1;
            this.questionBankOnLoad(this.questionBankPage, params);
            done();
        },
        questionBankSearchReset () {
            this.questionBankQuery = {};
            this.questionBankOnLoad(this.questionBankPage);
        },
        questionBankCurrentChange (currentPage) {
            this.questionBankPage.currentPage = currentPage;
        },
        questionBankSizeChange (pageSize) {
            this.questionBankPage.pageSize = pageSize;
        },
        questionBankRowUpdate (row, index, done, loading) {
            update({
                id: row.id,
                newScore: row.newScore
            }).then(
                () => {
                    this.questionBankOnLoad(this.questionBankPage);
                    this.$message({
                        type: "success",
                        message: "操作成功!",
                    });
                    done();
                },
                (error) => {
                    window.console.log(error);
                    loading();
                }
            );
        },
        refreshChange () {
            this.questionBankOnLoad(this.questionBankPage, this.questionBankQuery);
        },
    },
};
</script>
<style lang="scss" scoped>
.morpheus-box {
    position: relative;
}
</style>
src/views/trainExam/performance.vue
@@ -1,17 +1,17 @@
/*
 * @Author: Morpheus
 * @Date: 2021-07-05 16:31:54
 * @Last Modified by: liu
 * @Last Modified time: 2021-10-26 15:44:52
 * @Last Modified by: Morpheus
 * @Last Modified time: 2021-11-04 16:18:32
 * menu-name 成绩管理
 */
<template>
  <el-row class="morpheus-box">
    <el-col :span="24" class="recruitmentManagement">
        <el-col :span="24"
                class="recruitmentManagement">
      <el-card>
        <div class="exam-card-body">
          <avue-crud
            v-model="obj"
                    <avue-crud v-model="obj"
            class="company-box"
            :option="questionBankOption"
            :search.sync="questionBankSearch"
@@ -27,18 +27,21 @@
            @current-change="questionBankCurrentChange"
            @size-change="questionBankSizeChange"
            @row-update="questionBankRowUpdate"
            @refresh-change="refreshChange"
          >
            <template slot-scope="{ row }" slot="theoryGrade">
                               @refresh-change="refreshChange">
                        <template slot-scope="{ row }"
                                  slot="theoryGrade">
              {{ row.theoryGrade == -1 ? "" : row.theoryGrade }}
            </template>
            <template slot-scope="{ row }" slot="learnGrade">
                        <template slot-scope="{ row }"
                                  slot="learnGrade">
              {{ row.learnGrade == -1 ? "暂未录入" : row.learnGrade }}
            </template>
            <template slot-scope="{ row }" slot="allGrade">
                        <template slot-scope="{ row }"
                                  slot="allGrade">
              {{ row.allGrade == -1 ? "" : row.allGrade }}
            </template>
            <template slot-scope="{ row }" slot="qualified">
                        <template slot-scope="{ row }"
                                  slot="qualified">
              {{
                row.qualified == -1
                  ? ""
@@ -66,58 +69,51 @@
                                       plain
                                       @click="handleDelete">删除
                            </el-button> -->
              <el-button
                type="success"
                            <el-button type="success"
                size="small"
                plain
                icon="el-icon-upload2"
                v-if="permission.trainExam_performance_import"
                @click="handleImport"
                >实操成绩导入
                                       @click="handleImport">实操成绩导入
              </el-button>
              <el-button
                type="warning"
                            <el-button type="warning"
                size="small"
                plain
                icon="el-icon-download"
                v-if="permission.trainExam_performance_export"
                @click="handleExport"
                >成绩导出
                                       @click="handleExport">成绩导出
              </el-button>
            </template>
            <template slot-scope="{ type, size, row }" slot="menu">
              <el-button
                icon="el-icon-s-flag"
                        <template slot-scope="{ type, size, row }"
                                  slot="menu">
                            <el-button icon="el-icon-s-flag"
                @click="absent(row)"
                :size="size"
                :type="type"
                >缺考标记</el-button
              >
              <el-button
                icon="el-icon-s-promotion"
                                       :type="type">缺考标记</el-button>
                            <el-button icon="el-icon-s-promotion"
                @click="openzhengjian(row)"
                :disabled="row.qualified != 0"
                :size="size"
                :type="type"
                >查看证件</el-button
              >
                                       :type="type">查看证件</el-button>
                            <el-button icon="el-icon-edit"
                                       @click="modifiedGrades(row)"
                                       :size="size"
                                       :type="type">申请修改成绩</el-button>
            </template>
          </avue-crud>
          <el-dialog
            title="实操成绩导入"
                    <el-dialog title="实操成绩导入"
            append-to-body
            :visible.sync="excelBox"
            width="555px"
          >
            <avue-form
              :option="excelOption"
                               width="555px">
                        <avue-form :option="excelOption"
              v-model="excelForm"
              :upload-after="uploadAfter"
            >
                                   :upload-after="uploadAfter">
              <template slot="excelTemplate">
                <el-button type="primary" @click="handleTemplate">
                                <el-button type="primary"
                                           @click="handleTemplate">
                  点击下载<i class="el-icon-download el-icon--right"></i>
                </el-button>
              </template>
@@ -126,18 +122,125 @@
        </div>
      </el-card>
    </el-col>
        <el-dialog title="申请修改成绩"
                   :visible.sync="gradeBoxVisible"
                   width="width"
                   :modal='true'
                   :modal-append-to-body='true'
                   :append-to-body='true'
                   :close-on-click-modal='false'
                   :close-on-press-escape='false'
                   :before-close="dialogBeforeClose">
            <div>
                <el-form ref="gradeForm"
                         :model="gradeForm"
                         :rules="rules"
                         label-width="80px"
                         label-position="left">
                    <el-row :gutter="24">
                        <el-col :span="12">
                            <el-form-item label="考试名称"
                                          label-width="108px">
                                <el-input v-model="gradeForm.examName"
                                          disabled></el-input>
                            </el-form-item>
                        </el-col>
                        <el-col :span="12">
                            <el-form-item label="姓名"
                                          label-width="108px">
                                <el-input v-model="gradeForm.securityName"
                                          disabled></el-input>
                            </el-form-item>
                        </el-col>
                    </el-row>
                    <el-row :gutter="24">
                        <el-col :span="12">
                            <el-form-item label="身份证号"
                                          label-width="108px">
                                <el-input v-model="gradeForm.account"
                                          disabled></el-input>
                            </el-form-item>
                        </el-col>
                        <el-col :span="12">
                            <el-form-item label="准考证号"
                                          label-width="108px">
                                <el-input v-model="gradeForm.candidateNo"
                                          disabled></el-input>
                            </el-form-item>
                        </el-col>
                    </el-row>
                    <el-row :gutter="24">
                        <el-col :span="12">
                            <el-form-item label="原理论成绩"
                                          label-width="108px">
                                <el-input v-model="gradeForm.theoryGrade"
                                          disabled></el-input>
                            </el-form-item>
                        </el-col>
                        <el-col :span="12">
                            <el-form-item label="修改考试成绩"
                                          label-width="108px"
                                          prop='editGrades'>
                                <el-input v-model.number="gradeForm.editGrades"
                                          autocomplete="off"></el-input>
                            </el-form-item>
                        </el-col>
                    </el-row>
                    <el-row :gutter="24">
                        <el-col :span="12">
                            <el-form-item label="实操成绩"
                                          label-width="108px">
                                <el-input v-model="gradeForm.learnGrade"
                                          disabled></el-input>
                            </el-form-item>
                        </el-col>
                        <el-col :span="12">
                            <el-form-item label="总成绩"
                                          label-width="108px">
                                <el-input v-model="gradeForm.allGrade"
                                          disabled></el-input>
                            </el-form-item>
                        </el-col>
                    </el-row>
                    <el-form-item label="修改理由"
                                  label-width="108px">
                        <el-input type='textarea'
                                  :rows="3"
                                  placeholder="请输入修改理由"
                                  resize='none'
                                  v-model="gradeForm.editReason"></el-input>
                    </el-form-item>
                    <el-form-item style="text-align: center;"
                                  label-width="0">
                        <el-button type="primary"
                                   @click="uploadGrade('gradeForm')">确 定</el-button>
                        <el-button @click="gradeBoxVisible = false">取 消</el-button>
                    </el-form-item>
                </el-form>
            </div>
        </el-dialog>
    <!-- <el-dialog
      title="打印证件"
      :visible.sync="dialogVisiblezhengjian"
      :modal-append-to-body="false"
    > -->
    <div class="dialogVisiblezhengjian" v-if="dialogVisiblezhengjian">
      <baoanz
        :data="baoanzdata"
        <div class="dialogVisiblezhengjian"
             v-if="dialogVisiblezhengjian">
            <baoanz :data="baoanzdata"
        :close="1"
        @close="closezhengjian"
        :closePrint="1"
      ></baoanz>
                    :closePrint="1"></baoanz>
    </div>
    <!-- </el-dialog> -->
  </el-row>
@@ -145,7 +248,7 @@
<script>
import baoanz from "../securityGuard/baoanz.vue";
import { getList, update, updateAbsent } from "@/api/examapi/performance";
import { getList, update, updateAbsent, updateGrade } from "@/api/examapi/performance";
import { mapGetters } from "vuex";
import { getRoleDetail } from "@/api/system/role";
import Qs from "qs";
@@ -155,7 +258,6 @@
  },
  data() {
    var validatePass = (rule, value, callback) => {
      console.log(value);
      if (value == undefined || value == "") {
        callback(new Error("请输入实操成绩"));
        return;
@@ -171,6 +273,24 @@
    };
    return {
            rules: {
                editGrades: [
                    { validator: validatePass, required: true, trigger: "blur" },
                ]
            },
            gradeForm: {
                id: null,
                examName: '',
                securityName: '',
                account: '',
                candidateNo: '',
                theoryGrade: '',
                learnGrade: '',
                allGrade: '',
                editGrades: '',
                editReason: ''
            },
            gradeBoxVisible: false,
      dialogVisiblezhengjian: false,
      baoanzdata: {},
      obj: {
@@ -711,7 +831,7 @@
        row.qualified = 3;
        updateAbsent(row).then(
          () => {
            this.onLoad(this.page);
                        this.questionBankOnLoad(this.questionBankPage);
            this.$message({
              type: "success",
              message: "操作成功!",
@@ -725,6 +845,63 @@
        );
      });
    },
        // 修改考试成绩
        modifiedGrades (row) {
            var { id, examName, securityName, account, candidateNo, theoryGrade, learnGrade, allGrade } = row
            this.gradeForm.examName = examName
            this.gradeForm.securityName = securityName
            this.gradeForm.account = account
            this.gradeForm.candidateNo = candidateNo
            this.gradeForm.theoryGrade = theoryGrade
            this.gradeForm.learnGrade = learnGrade
            this.gradeForm.allGrade = allGrade
            this.gradeForm.editGrades = ''
            this.gradeForm.editReason = ''
            this.gradeForm.id = id
            this.gradeBoxVisible = true
        },
        uploadGrade (formName) {
            var that = this
            this.$refs[formName].validate((valid) => {
                if (valid) {
                    var obj = {}
                    obj.oldScore = this.gradeForm.theoryGrade
                    obj.newScore = this.gradeForm.editGrades
                    obj.applyCause = this.gradeForm.editReason
                    obj.examScoreId = this.gradeForm.id
                    obj.createUser = this.userInfo.Id
                    updateGrade(obj).then(
                        () => {
                            that.questionBankOnLoad(that.questionBankPage)
                            that.$message({
                                type: "success",
                                message: "操作成功!",
                            })
                            that.gradeBoxVisible = false
                        },
                        (error) => {
                            window.console.log(error)
                        }
                    );
                }
            })
        },
    questionBankSelectionClear() {
      this.questionBankSelectionList = [];
      this.$refs.questionBankCrud.toggleSelection();