保安服务企业管理项目备份
shuishen
2021-11-04 e0001b944ebd202e0640d164d7f1fb439193f7d4
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();