From f2a74b0b28b74dc29be85ec8e6328bdd262f84b9 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Fri, 24 May 2024 14:35:58 +0800
Subject: [PATCH] 地址配置修改

---
 src/views/trainExam/performance.vue |  994 ++++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 726 insertions(+), 268 deletions(-)

diff --git a/src/views/trainExam/performance.vue b/src/views/trainExam/performance.vue
index 2adcbd4..2708875 100644
--- a/src/views/trainExam/performance.vue
+++ b/src/views/trainExam/performance.vue
@@ -1,162 +1,179 @@
-/*
- * @Author: Morpheus
- * @Date: 2021-07-05 16:31:54
- * @Last Modified by: liu
- * @Last Modified time: 2021-11-27 10:20:19
- * menu-name 成绩管理
- */
+/* * @Author: Morpheus * @Date: 2021-07-05 16:31:54 * @Last Modified by: liu *
+@Last Modified time: 2021-11-27 10:20:19 * menu-name 成绩管理 */
 <template>
-  <el-row class="morpheus-box">
-    <el-col :span="24">
-      <el-card>
-        <div
-          :class="[
-            'exam-card-body',
-            $store.state.control.windowWidth >= 1024 ? 'tooRowSearch' : '',
-          ]"
-        >
-          <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"
-            @sort-change="sortChange"
-            @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-scope="{ row }" slot="theoryGrade">
-              {{ row.theoryGrade }}
-            </template>
-            <template slot-scope="{ row }" slot="learnGrade">
-              {{ row.learnGrade == "" ? "暂未录入" : row.learnGrade }}
-            </template>
-            <template slot-scope="{ row }" slot="allGrade">
-              {{ row.allGrade == -1 ? "" : row.allGrade }}
-            </template>
-            <template slot-scope="{ row }" slot="qualified">
-              {{
-                row.qualified == ""
-                  ? ""
-                  : row.qualified == 0
-                  ? "合格"
-                  : row.qualified == 1
-                  ? "不合格"
-                  : row.qualified == 3
-                  ? "缺考,成绩无效"
-                  : ""
-              }}
-            </template>
+  <basic-container
+    :class="[
+      'exam-card-body',
+      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
+      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
+    ]"
+  >
+    <avue-crud
+      v-model="obj"
+      class="company-box tablesss"
+      :option="questionBankOption"
+      :search.sync="questionBankSearch"
+      :table-loading="questionBankLoading"
+      :data="questionBankData"
+      :permission="permissionList"
+      ref="questionBankCrud"
+      :page.sync="questionBankPage"
+      @sort-change="sortChange"
+      @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-scope="{ row }" slot="theoryGrade">
+        {{ row.theoryGrade }}
+      </template>
+      <!-- <template slot-scope="{ row }" slot="learnGrade">
+         {{ row.learnGrade == -1 ? "暂未录入" : row.learnGrade==0?'合格':'不合格'}}
+      </template> -->
+      <template slot-scope="{ row }" slot="allGrade">
+        {{ row.allGrade == -1 ? "" : row.allGrade }}
+      </template>
+      <template slot-scope="{ row }" slot="qualified">
+        {{
+          row.qualified == ""
+            ? ""
+            : row.qualified == 0
+            ? "合格"
+            : row.qualified == 1
+            ? "不合格"
+            : row.qualified == 3
+            ? "缺考,成绩无效"
+            : ""
+        }}
+      </template>
 
-            <!-- 自定义按钮 -->
-            <template slot="menuLeft">
-              <!-- <el-button type="danger"
+      <!-- 自定义按钮 -->
+      <template slot="menuLeft">
+        <!-- <el-button type="danger"
                                        size="mini"
                                        icon="el-icon-delete"
                                        plain
                                        @click="handleDelete">新增
                             </el-button> -->
-              <!-- <el-button type="danger"
+        <!-- <el-button type="danger"
                                        size="mini"
                                        icon="el-icon-delete"
                                        plain
                                        @click="handleDelete">删除
                             </el-button> -->
-              <el-button
-                type="success"
-                size="small"
-                plain
-                icon="el-icon-upload2"
-                v-if="permission.trainExam_performance_import"
-                @click="handleImport"
-                >实操成绩导入
-              </el-button>
-              <el-button
-                type="warning"
-                size="small"
-                plain
-                icon="el-icon-download"
-                v-if="permission.trainExam_performance_export"
-                @click="handleExport"
-                >成绩导出
-              </el-button>
-              <el-button
-                type="primary"
-                size="small"
-                plain
-                v-if="permission.trainExam_performance_paper_apply"
-                icon="el-icon-collection-tag"
-                @click="handleSecurityPaperApply"
-                >证书制证申请
-              </el-button>
-            </template>
+        <el-button
+          type="success"
+          size="small"
+          plain
+          icon="el-icon-upload2"
+          v-if="permission.trainExam_performance_import"
+          @click="handleImport"
+          >实操成绩导入
+        </el-button>
+        <el-button
+          type="warning"
+          size="small"
+          plain
+          icon="el-icon-download"
+          v-if="permission.trainExam_performance_export"
+          @click="handleExport"
+          >成绩导出
+        </el-button>
+        <el-button
+          type="danger"
+          size="small"
+          plain
+          icon="el-icon-delete"
+          v-if="permission.trainExam_performance_delete"
+          @click="handleDelete"
+          >删 除
+        </el-button>
+        <el-button
+          type="primary"
+          size="small"
+          plain
+          v-if="permission.trainExam_performance_paper_apply"
+          icon="el-icon-collection-tag"
+          @click="handleSecurityPaperApply"
+          >证书制证申请
+        </el-button>
+        <el-button
+          type="primary"
+          size="small"
+          plain
+          v-if="permission.trainExam_performance_worker_paper_apply"
+          style="display: none"
+          icon="el-icon-collection-tag"
+          @click="handleWorkerPaperApply"
+          >上岗证制证申请
+        </el-button>
+      </template>
 
-            <template slot-scope="{ type, size, row }" slot="menu">
-              <el-button
-                style="display:none"
-                icon="el-icon-s-flag"
-                @click="absent(row)"
-                :size="size"
-                :type="type"
-                >缺考标记</el-button
-              >
-              <el-button
-                icon="el-icon-s-promotion"
-                @click="openzhengjian(row)"
-                :disabled="row.qualified != 0"
-                :size="size"
-                :type="type"
-                >查看证件</el-button
-              >
-              <el-button
-                icon="el-icon-edit"
-                @click="modifiedGrades(row)"
-                :size="size"
-                :type="type"
-                >申请修改成绩</el-button
-              >
-              <el-button
-                icon="el-icon-edit"
-                v-if="row.isPaper==6"
-                @click="securityPaperApply(row)"
-                :size="size"
-                :type="type"
-                >补证申请</el-button
-              >
-            </template>
-          </avue-crud>
+      <template slot-scope="{ type, size, row }" slot="menu">
+        <el-button
+          style="display: none"
+          icon="el-icon-s-flag"
+          @click="absent(row)"
+          :size="size"
+          :type="type"
+          >缺考标记</el-button
+        >
+        <el-button
+          icon="el-icon-s-promotion"
+          @click="openzhengjian(row)"
+          :disabled="row.qualified != 0"
+          :size="size"
+          :type="type"
+          >查看证件</el-button
+        >
+        <el-button
+          v-show="row.theoryGrade < 60 && row.theoryGrade != null && row.theoryGrade != '' && row.theoryGrade > -1 && permission.resetExamBtn"
+          icon="el-icon-refresh"
+          @click="reself(row)"
+          :size="size"
+          :type="type"
+          >重置考试</el-button
+        >
+        <el-button
+          icon="el-icon-edit"
+          @click="modifiedGrades(row)"
+          :size="size"
+          :type="type"
+          >申请修改成绩</el-button
+        >
+        <el-button
+          icon="el-icon-edit"
+          v-if="row.isPaper == 6"
+          @click="securityPaperApply(row)"
+          :size="size"
+          :type="type"
+          >补证申请</el-button
+        >
+      </template>
+    </avue-crud>
 
-          <el-dialog
-            title="实操成绩导入"
-            append-to-body
-            :visible.sync="excelBox"
-            width="555px"
-          >
-            <avue-form
-              :option="excelOption"
-              v-model="excelForm"
-              :upload-after="uploadAfter"
-            >
-              <template slot="excelTemplate">
-                <el-button type="primary" @click="handleTemplate">
-                  点击下载<i class="el-icon-download el-icon--right"></i>
-                </el-button>
-              </template>
-            </avue-form>
-          </el-dialog>
-        </div>
-      </el-card>
-    </el-col>
+    <el-dialog
+      title="实操成绩导入"
+      append-to-body
+      :visible.sync="excelBox"
+      width="555px"
+    >
+      <avue-form
+        :option="excelOption"
+        v-model="excelForm"
+        :upload-after="uploadAfter"
+      >
+        <template slot="excelTemplate">
+          <el-button type="primary" @click="handleTemplate">
+            点击下载<i class="el-icon-download el-icon--right"></i>
+          </el-button>
+        </template>
+      </avue-form>
+    </el-dialog>
 
     <el-dialog
       title="申请修改成绩"
@@ -170,7 +187,7 @@
       :before-close="dialogBeforeClose"
     >
       <div>
-        <el-form
+        <!-- <el-form
           ref="gradeForm"
           :model="gradeForm"
           :rules="rules"
@@ -236,6 +253,57 @@
             </el-col>
           </el-row>
 
+          <el-form-item
+            prop="businessLicense"
+            label="笔试答题图片"
+            label-width="108px"
+          >
+            <el-upload
+              list-type="picture-card"
+              action=""
+              :show-file-list="true"
+              :file-list="gradeForm.fileList"
+              :limit="limit"
+              :auto-upload="true"
+              :http-request="httpRequest"
+            >
+              <i class="el-icon-plus"></i>
+              <div slot="file" slot-scope="{ file }">
+                <img
+                  class="el-upload-list__item-thumbnail"
+                  :src="file.url"
+                  alt=""
+                />
+                <span class="el-upload-list__item-actions">
+                  <span
+                    class="el-upload-list__item-preview"
+                    @click="handlePictureCardPreview(file)"
+                  >
+                    <i class="el-icon-zoom-in"></i>
+                  </span>
+                  <span
+                    v-if="!disabled"
+                    class="el-upload-list__item-delete"
+                    @click="handleRemove(file)"
+                  >
+                    <i class="el-icon-delete"></i>
+                  </span>
+                </span>
+              </div>
+              <div class="el-upload__tip" slot="tip">
+                请上传笔试答题图片,只能上传jpg/png文件,最多上传5张图片
+              </div>
+            </el-upload>
+            <el-dialog :visible.sync="dialogVisible"
+              :modal="true"
+              :modal-append-to-body="true"
+              :append-to-body="true"
+              :close-on-click-modal="false"
+              :close-on-press-escape="false">
+              <img width="100%" :src="dialogImageUrl" alt="">
+            </el-dialog>
+          </el-form-item>
+
           <el-form-item label="修改理由" label-width="108px">
             <el-input
               type="textarea"
@@ -252,7 +320,15 @@
             >
             <el-button @click="gradeBoxVisible = false">取 消</el-button>
           </el-form-item>
-        </el-form>
+        </el-form> -->
+        <avue-form
+          ref="form"
+          :option="option"
+          v-model="form"
+          @reset-change="emptytChange"
+          @submit="submit"
+        >
+        </avue-form>
       </div>
     </el-dialog>
 
@@ -269,8 +345,7 @@
         :closePrint="1"
       ></baoanz>
     </div>
-    <!-- </el-dialog> -->
-  </el-row>
+  </basic-container>
 </template>
 
 <script>
@@ -280,12 +355,19 @@
   update,
   updateAbsent,
   updateGrade,
+  remove,
+  getNowDate,
+  reselfExamScore,
 } from "@/api/examapi/performance";
 import { mapGetters } from "vuex";
 import { getRoleDetail } from "@/api/system/role";
-import { securityApply,add} from "@/api/accreditationRecords/accreditationRecords";
+import {
+  securityApply,
+  add,
+} from "@/api/accreditationRecords/accreditationRecords";
 import Qs from "qs";
 import { getToken } from "@/util/auth";
+import { putFile, removeFile } from "@/api/resource/oss";
 export default {
   components: {
     baoanz,
@@ -321,6 +403,172 @@
     };
 
     return {
+      option: {
+        height: "auto",
+        calcHeight: 30,
+        dialogWidth: 1000,
+        tip: false,
+        searchShow: true,
+        searchMenuSpan: 6,
+        border: true,
+        index: true,
+        stripe: true,
+        viewBtn: false,
+        addBtn: false,
+        editBtn: false,
+        selection: true,
+        excelBtn: false,
+        menuWidth: 230,
+        dialogClickModal: false,
+        column: [
+          {
+            label: "考试名称",
+            prop: "examName",
+            labelWidth: 110,
+            disabled: true,
+            rules: [
+              {
+                required: true,
+                message: "请输入考试名称",
+                trigger: "blur",
+              },
+            ],
+          },
+          {
+            label: "姓名",
+            prop: "securityName",
+            labelWidth: 110,
+            disabled: true,
+            rules: [
+              {
+                required: true,
+                message: "请输入姓名",
+                trigger: "blur",
+              },
+            ],
+          },
+          {
+            label: "身份证号",
+            prop: "account",
+            labelWidth: 110,
+            disabled: true,
+            rules: [
+              {
+                required: true,
+                message: "请输入身份证号",
+                trigger: "blur",
+              },
+            ],
+          },
+          {
+            label: "准考证号",
+            prop: "candidateNo",
+            labelWidth: 110,
+            disabled: true,
+            rules: [
+              {
+                required: false,
+                message: "请输入准考证号",
+                trigger: "blur",
+              },
+            ],
+          },
+          {
+            label: "原理论成绩",
+            prop: "theoryGrade",
+            labelWidth: 110,
+            disabled: true,
+            rules: [
+              {
+                required: false,
+                message: "请输入原理论成绩",
+                trigger: "blur",
+              },
+            ],
+          },
+          {
+            label: "修改考试成绩",
+            prop: "newScore",
+            labelWidth: 110,
+            rules: [
+              {
+                required: true,
+                message: "请输入修改考试成绩",
+                trigger: "blur",
+              },
+            ],
+          },
+          {
+            label: "实操成绩",
+            prop: "learnGrade",
+            labelWidth: 110,
+            type: "select",
+            disabled: true,
+            rules: [
+              {
+                required: false,
+                message: "请输入实操成绩",
+                trigger: "blur",
+              },
+            ],
+            dicData: [
+              {
+                label: "合格",
+                value: 0,
+              },
+              {
+                label: "不合格",
+                value: 1,
+              },
+              {
+                label: "暂未录实操成绩",
+                value: 2,
+              },
+            ],
+          },
+          // {
+          //   label: "总成绩",
+          //   prop: "allGrade",
+          //   labelWidth: 110,
+          //   disabled: true,
+          //   rules: [
+          //     {
+          //       required: false,
+          //       message: "请输入总成绩",
+          //       trigger: "blur"
+          //     }
+          //   ]
+          // },
+          {
+            label: "笔试答题图片",
+            prop: "url",
+            labelWidth: 110,
+            type: "upload",
+            dataType: "string",
+            span: 24,
+            limit: 5,
+            listType: "picture-card",
+            tip: "只能上传jpg/png文件,最多上传5张",
+            propsHttp: {
+              res: "data",
+              url: "url",
+            },
+            action: "/api/blade-resource/oss/endpoint/put-files",
+          },
+          {
+            label: "修改理由",
+            labelWidth: 110,
+            span: 24,
+            type: "textarea",
+            prop: "editReason",
+          },
+        ],
+      },
+      form: {},
+      limit: 5,
+      dialogImageUrl: "",
+      dialogVisible: false,
+      disabled: false,
       rules: {
         editGrades: [
           { validator: validatePass2, required: true, trigger: "blur" },
@@ -337,6 +585,7 @@
         allGrade: "",
         editGrades: "",
         editReason: "",
+        fileList: [],
       },
       gradeBoxVisible: false,
       dialogVisiblezhengjian: false,
@@ -357,7 +606,7 @@
         selection: true,
         reserveSelection: true,
         selectable: (row) => {
-          if (row.qualified != "0" || row.isPaper==6) {
+          if (row.isExam == 3) {
             return false;
           } else {
             return true;
@@ -407,11 +656,12 @@
             viewDisplay: false,
           },
           {
-            label: "考试名称",
-            prop: "examName",
-            search: true,
-            searchSpan: 5,
-            slot: true,
+            label: "考试时间",
+            prop: "startTime",
+            type: "datetime",
+            format: "yyyy-MM-dd",
+            valueFormat: "yyyy-MM-dd",
+            width: 90,
             viewDisplay: true,
             // 表单新增时是否禁止
             addDisabled: false,
@@ -433,8 +683,7 @@
                 trigger: "blur",
               },
             ],
-            width: 200,
-            overHidden:true,
+            overHidden: true,
           },
           {
             label: "姓名",
@@ -454,6 +703,7 @@
             viewDisabled: true,
             // 表单编辑时是否可见
             editDisplay: true,
+            searchLabelWidth: 50,
             // 表单编辑时是否为查看模式
             editDetail: false,
             rules: [
@@ -498,7 +748,7 @@
             prop: "candidateNo",
             search: true,
             searchSpan: 4,
-            hide:true,
+            hide: true,
             slot: true,
             // 表单新增时是否禁止
             addDisabled: false,
@@ -526,19 +776,18 @@
             prop: "avatar",
             type: "upload",
             listType: "picture-img",
-            width:60,
+            width: 60,
+            editDisabled: false,
+            // 表单编辑时是否可见
+            editDisplay: false,
+            // 表单编辑时是否为查看模式
+            editDetail: false,
           },
           {
-            label: "所属公司",
-            prop: "companyName",
+            label: "从业单位",
+            prop: "unitName",
             search: true,
             searchSpan: 4,
-            // dicUrl: '/api/blade-system/dept/tree',
-            // props: {
-            //     label: "title",
-            //     value: "id",
-            // },
-            slot: true,
             // 表单新增时是否禁止
             addDisabled: false,
             // 表单新增时是否可见
@@ -554,7 +803,7 @@
             rules: [
               {
                 required: true,
-                message: "请输入所属公司",
+                message: "请输入从业单位",
                 trigger: "blur",
               },
             ],
@@ -623,6 +872,10 @@
                 value: 3,
               },
               {
+                label: "纸质考试",
+                value: 5,
+              },
+              {
                 label: "缺考",
                 value: 4,
               },
@@ -664,13 +917,14 @@
             editDisplay: true,
             // 表单编辑时是否为查看模式
             editDetail: false,
-            width: 68,
+            width: 95,
           },
           {
             label: "实操成绩",
             prop: "learnGrade",
-            slot: true,
-            sortable: true,
+            type: "select",
+            // slot: true,
+            // sortable: true,
             // 表单新增时是否禁止
             addDisabled: false,
             // 表单新增时是否可见
@@ -683,31 +937,37 @@
             editDisplay: true,
             // 表单编辑时是否为查看模式
             editDetail: false,
-            width: 68,
-            rules: [
-              { validator: validatePass, required: true, trigger: "blur" },
+            width: 95,
+            dicData: [
+              {
+                label: "合格",
+                value: 0,
+              },
+              {
+                label: "不合格",
+                value: 1,
+              },
             ],
           },
-          {
-            label: "总成绩",
-            prop: "allGrade",
-            slot: true,
-            sortable: true,
-            // 表单新增时是否禁止
-            addDisabled: false,
-            // 表单新增时是否可见
-            addDisplay: true,
-            // 表单新增时是否为查看模式
-            addDetail: false,
-            // 表单编辑时是否禁止
-            editDisabled: true,
-            // 表单编辑时是否可见
-            editDisplay: true,
-            // 表单编辑时是否为查看模式
-            editDetail: false,
-            
-            width: 58,
-          },
+          // {
+          //   label: "总成绩",
+          //   prop: "allGrade",
+          //   slot: true,
+          //   sortable: true,
+          //   // 表单新增时是否禁止
+          //   addDisabled: false,
+          //   // 表单新增时是否可见
+          //   addDisplay: true,
+          //   // 表单新增时是否为查看模式
+          //   addDetail: false,
+          //   // 表单编辑时是否禁止
+          //   editDisabled: true,
+          //   // 表单编辑时是否可见
+          //   editDisplay: true,
+          //   // 表单编辑时是否为查看模式
+          //   editDetail: false,
+          //   width: 80
+          // },
           {
             label: "是否合格",
             prop: "qualified",
@@ -715,8 +975,8 @@
             slot: true,
             hide: true,
             search: true,
-            searchSpan: 3,
-            width: 68,
+            searchSpan: 4,
+            width: 90,
             dicData: [
               {
                 label: "合格",
@@ -754,9 +1014,9 @@
             label: "是否合格",
             prop: "qualifieds",
             type: "select",
-            // search: true,
+            sortable: true,
             searchSpan: 3,
-            width: 68,
+            width: 100,
             dicData: [
               {
                 label: "合格",
@@ -788,31 +1048,40 @@
             // 表单编辑时是否为查看模式
             editDetail: false,
           },
+          // {
+          //   label: "是否制证",
+          //   prop: "isPaper",
+          //   type: "select",
+          //   search: true,
+          //   width: 70,
+          //   searchSpan: 3,
+          //   addDisplay: false,
+          //   editDisplay: false,
+          //   // hide: true,
+          //   display: false,
+          //   dicData: [
+          //     {
+          //       label: "全部",
+          //       value: 10
+          //     },
+          //     {
+          //       label: "已制证",
+          //       value: 6
+          //     },
+          //     {
+          //       label: "未制证",
+          //       value: 7
+          //     }
+          //   ]
+          // },
           {
-            label: "是否制证",
-            prop: "isPaper",
-            type: "select",
-            search: true,
-            width: 70,
-            searchSpan: 3,
+            label: "保安员证编号",
+            prop: "securityNumber",
+            width: 110,
             addDisplay: false,
             editDisplay: false,
             // hide: true,
             display: false,
-            dicData: [
-              {
-                label: "全部",
-                value: 10,
-              },
-              {
-                label: "已制证",
-                value: 6,
-              },
-              {
-                label: "未制证",
-                value: 7,
-              },
-            ],
           },
           {
             label: "有无照片",
@@ -846,8 +1115,8 @@
       questionBankSearch: {},
       questionBankLoading: true,
       questionBankData: [],
-      sort:"",
-      sortName:"",
+      sort: "",
+      sortName: "",
       questionBankPage: {
         pageSize: 10,
         currentPage: 1,
@@ -855,6 +1124,7 @@
         ...this.$store.state.control.changePageSize,
       },
       questionBankQuery: {},
+      selectionList: [],
       questionBankSelectionList: [],
       excelForm: {},
       excelOption: {
@@ -912,9 +1182,18 @@
     };
   },
   created() {},
-  mounted() {},
+  mounted() {
+    this.$store.commit("setWindowSizeHeightAdd");
+  },
   computed: {
     ...mapGetters(["userInfo", "permission"]),
+    ids() {
+      let ids = [];
+      this.questionBankSelectionList.forEach((ele) => {
+        ids.push(ele.id);
+      });
+      return ids.join(",");
+    },
     permissionList() {
       return {
         addBtn: this.vaildData(null, false),
@@ -931,12 +1210,117 @@
           this.permission.trainExam_performance_export,
           false
         ),
+        trainExam_performance_paper_apply:this.vaildData(this.permission.trainExam_performance_paper_apply,true)
       };
     },
   },
   methods: {
+    // 考试重置
+    reself({id}) {
+      reselfExamScore(id).then((res) => {
+          if (res.data.data.code == 200) {
+            this.$message({
+              showClose: true,
+              message: "重置成功",
+              type: "success",
+            });
+
+            this.questionBankOnLoad(this.questionBankPage);
+          } else {
+            this.$message({
+              showClose: true,
+              message: res.data.data.msg,
+              type: "warning",
+            });
+          }
+        });
+    },
+    // 批量删除
+    handleDelete() {
+      if (this.questionBankSelectionList.length === 0) {
+        this.$message.warning("请选择至少一条数据");
+        return;
+      }
+      this.$confirm("确定将选择考试成绩删除?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {
+          return remove(this.ids);
+        })
+        .then(() => {
+          this.questionBankOnLoad(this.questionBankPage);
+          this.$message({
+            type: "success",
+            message: "操作成功!",
+          });
+          this.$refs.crud.toggleSelection();
+        });
+    },
+    //提交考试成绩修改申请
+    submit(row, done, loading) {
+      var that = this;
+      row["createUser"] = this.userInfo.Id;
+      // console.log(row,1234660);
+      updateGrade(row).then(
+        () => {
+          that.$refs.form.resetFields();
+          that.$message({
+            type: "success",
+            message: "操作成功!",
+          });
+          that.gradeBoxVisible = false;
+
+          done();
+        },
+        (error) => {
+          window.console.log(error);
+          done();
+        }
+      );
+    },
+    //自定义上传
+    httpRequest(opt) {
+      var that = this;
+      const file = opt.file;
+      // 根据后台需求数据格式
+      const form = new FormData();
+      // 文件对象
+      form.append("file", file);
+      putFile(form).then((res) => {
+        that.gradeForm.fileList.push({
+          name: res.data.data.name,
+          url: res.data.data.url,
+        });
+        // console.log(that.gradeForm.fileList, 365441);
+      });
+      // console.log(that.gradeForm.fileList, 11122222);
+    },
+    //图片展示
+    handlePictureCardPreview(file) {
+      this.dialogImageUrl = file.url;
+      this.dialogVisible = true;
+    },
+    //图片删除
+    handleRemove(file) {
+      var index = [];
+      //遍历图片集合,获取下标
+      this.gradeForm.fileList.forEach(function (img, i) {
+        if (img.name == file.name) {
+          index.push(i);
+          //存储对象中删除
+          removeFile(img.name);
+        }
+      });
+      // console.log(index,222333);
+      //删除
+      for (var i = 0; i < index.length; i++) {
+        this.gradeForm.fileList.splice(index[i] - i, 1);
+      }
+    },
     selectionChange(list) {
-      // this.selectionList = list;
+      this.selectionList = list;
       this.choiceList = [];
       for (let k in list) {
         this.choiceList.push({
@@ -982,6 +1366,46 @@
           });
         });
     },
+    //上岗证制证申请
+    handleWorkerPaperApply() {
+      if (this.choiceList.length === 0) {
+        this.$message.warning("请勾选至少一位持证保安员");
+        return;
+      }
+      this.$confirm(
+        "共选择上岗证制证申请人数" +
+          this.choiceList.length +
+          "人,确定申请制证?",
+        {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning",
+        }
+      )
+        .then(() => {
+          let cho = this.choiceList;
+          let str = "";
+          for (let k in cho) {
+            str += cho[k].id;
+            if (k != cho.length - 1) {
+              str += ",";
+            }
+          }
+          const data = {
+            ids: str,
+            createUser: this.userInfo.user_id,
+            type: 1,
+          };
+          return securityApply(data);
+        })
+        .then(() => {
+          this.$refs.questionBankCrud.toggleSelection();
+          this.$message({
+            type: "success",
+            message: "操作成功!",
+          });
+        });
+    },
     openzhengjian(row) {
       this.baoanzdata = {
         realName: row.securityName,
@@ -992,27 +1416,38 @@
       };
       this.dialogVisiblezhengjian = true;
     },
+    //关闭dialog
+    dialogBeforeClose(done) {
+      this.gradeForm.fileList = [];
+      done();
+    },
     closezhengjian() {
       this.dialogVisiblezhengjian = false;
     },
     //排序
     sortChange(value) {
-      if(value.order=="ascending"){
+      if (value.order == "ascending") {
         this.sort = "asc";
       }
-      if(value.order=="descending"){
+      if (value.order == "descending") {
         this.sort = "desc";
       }
       this.sortName = value.prop;
       //字段匹配
-      if(value.prop=="theoryGrade"){
+      if (value.prop == "theoryGrade") {
         this.sortName = "theory_grade";
       }
-      if(value.prop=="learnGrade"){
+      if (value.prop == "learnGrade") {
         this.sortName = "learn_grade";
       }
-      if(value.prop=="allGrade"){
+      if (value.prop == "allGrade") {
         this.sortName = "all_grade";
+      }
+      if (value.prop == "qualifieds") {
+        this.sortName = "qualified";
+      }
+      if (value.prop == "companyName") {
+        this.sortName = "companyName";
       }
       this.questionBankOnLoad(this.questionBankPage);
     },
@@ -1034,10 +1469,10 @@
           }
           that.questionBankLoading = false;
           params["examType"] = 2;
-          if(this.sort){
+          if (this.sort) {
             params["sort"] = this.sort;
           }
-          if(this.sortName){
+          if (this.sortName) {
             params["sortName"] = this.sortName;
           }
           getList(
@@ -1068,23 +1503,24 @@
             that.questionBankPage.total = data.total;
             that.questionBankData = data.records;
             that.questionBankLoading = false;
+            that.$store.commit("setWindowSizeHeightAdd");
             that.questionBankSelectionClear();
           });
         });
       });
     },
     //补证申请
-    securityPaperApply(row,done,loading){
+    securityPaperApply(row, done, loading) {
       this.$confirm("当前保安员已制证,确定要继续申请制证?", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
         type: "warning",
       }).then(() => {
         const data = {
-          createUser:this.userInfo.user_id,
-          type:2,
-          userId:row.userId
-        }
+          createUser: this.userInfo.user_id,
+          type: 2,
+          userId: row.userId,
+        };
         add(data).then(
           () => {
             this.questionBankOnLoad(this.questionBankPage);
@@ -1125,34 +1561,55 @@
         );
       });
     },
-
     // 修改考试成绩
     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;
+      var that = this;
+      //判断时间,获取系统时间,减去考试结束时间,小于24小时则可以申请,超过则提示无法申请
+      var endTime = row.endTime;
+      //必须把日期'-'转为'/'
+      endTime = endTime.replace(/-/g, "/");
+      //得到时间戳
+      var longtime = new Date(endTime).getTime();
+      // console.log(longtime,123466);
+      getNowDate().then((res) => {
+        var num = 24 * 3600 * 1000;
+        if (this.userInfo.role_name == "培训公司管理员") {
+          // if (res.data.data - longtime <= num) {
+          this.form = {
+            id: null,
+            examScoreId: row.id,
+            examName: row.examName,
+            candidateNo: row.candidateNo,
+            account: row.account,
+            securityName: row.securityName,
+            theoryGrade: row.theoryGrade,
+            learnGrade: row.learnGrade,
+            allGrade: row.allGrade,
+          };
+          this.gradeBoxVisible = true;
+          // } else {
+          //   //提示
+          //   that.$message({
+          //     type: "warning",
+          //     message: "成绩修改申请只能在考试截止时间后的24小内提交!"
+          //   });
+          // }
+        } else {
+          this.form = {
+            id: null,
+            examScoreId: row.id,
+            examName: row.examName,
+            candidateNo: row.candidateNo,
+            account: row.account,
+            securityName: row.securityName,
+            theoryGrade: row.theoryGrade,
+            learnGrade: row.learnGrade,
+            allGrade: row.allGrade,
+          };
+          this.gradeBoxVisible = true;
+        }
+      });
     },
-
     uploadGrade(formName) {
       var that = this;
 
@@ -1182,7 +1639,6 @@
         }
       });
     },
-
     questionBankSelectionClear() {
       this.questionBankSelectionList = [];
       this.sort = "";
@@ -1190,7 +1646,7 @@
       // this.$refs.questionBankCrud.toggleSelection();
     },
     questionBankSelectionChange(list) {
-      // this.questionBankSelectionList = list;
+      this.questionBankSelectionList = list;
       this.choiceList = [];
       for (let k in list) {
         this.choiceList.push({
@@ -1214,7 +1670,6 @@
     questionBankSizeChange(pageSize) {
       this.questionBankPage.pageSize = pageSize;
     },
-
     questionBankRowUpdate(row, index, done, loading) {
       update({
         theoryGrade: row.theoryGrade,
@@ -1237,10 +1692,11 @@
       );
     },
     handleTemplate() {
-      window.open(`/api/examScore/export-template?${
-            this.website.tokenHeader
-          }=${getToken()}&`
-        );
+      window.open(
+        `/api/examScore/export-template?${
+          this.website.tokenHeader
+        }=${getToken()}&`
+      );
     },
     handleImport() {
       this.excelBox = true;
@@ -1294,7 +1750,8 @@
         // console.log(data,11225111);
         //序列号url形式,用&拼接
         data = Qs.stringify(data);
-        window.open(`/api/examScore/export-examScore?${
+        window.open(
+          `/api/examScore/export-examScore?${
             this.website.tokenHeader
           }=${getToken()}&` + data
         );
@@ -1308,6 +1765,7 @@
 .morpheus-box {
   position: relative;
 }
+
 .dialogVisiblezhengjian {
   position: absolute;
   background-color: #fff;

--
Gitblit v1.9.3