From 0e4d44c2f5a7511d2eee72deecb76b5ba67358cd Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Tue, 04 Jan 2022 17:39:41 +0800
Subject: [PATCH] 智能分析查询明细样式调整

---
 src/views/trainExam/performance.vue |  203 +++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 183 insertions(+), 20 deletions(-)

diff --git a/src/views/trainExam/performance.vue b/src/views/trainExam/performance.vue
index 30beb7e..abdbd72 100644
--- a/src/views/trainExam/performance.vue
+++ b/src/views/trainExam/performance.vue
@@ -2,7 +2,7 @@
  * @Author: Morpheus
  * @Date: 2021-07-05 16:31:54
  * @Last Modified by: liu
- * @Last Modified time: 2021-11-27 10:00:37
+ * @Last Modified time: 2021-11-27 10:20:19
  * menu-name 成绩管理
  */
 <template>
@@ -25,6 +25,7 @@
             :permission="permissionList"
             ref="questionBankCrud"
             :page.sync="questionBankPage"
+            @sort-change="sortChange"
             @on-load="questionBankOnLoad"
             @selection-change="questionBankSelectionChange"
             @search-change="questionBankSearchChange"
@@ -93,7 +94,7 @@
                 type="primary"
                 size="small"
                 plain
-                v-if="permission.securityGuard_security_paper_apply"
+                v-if="permission.trainExam_performance_paper_apply"
                 icon="el-icon-collection-tag"
                 @click="handleSecurityPaperApply"
                 >证书制证申请
@@ -102,6 +103,7 @@
 
             <template slot-scope="{ type, size, row }" slot="menu">
               <el-button
+                style="display:none"
                 icon="el-icon-s-flag"
                 @click="absent(row)"
                 :size="size"
@@ -122,6 +124,14 @@
                 :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>
@@ -273,7 +283,7 @@
 } from "@/api/examapi/performance";
 import { mapGetters } from "vuex";
 import { getRoleDetail } from "@/api/system/role";
-import { securityApply } from "@/api/accreditationRecords/accreditationRecords";
+import { securityApply,add} from "@/api/accreditationRecords/accreditationRecords";
 import Qs from "qs";
 export default {
   components: {
@@ -294,11 +304,25 @@
         callback();
       }
     };
+    var validatePass2 = (rule, value, callback) => {
+      if (value == undefined || value == "") {
+        callback(new Error("请输入理论成绩"));
+        return;
+      } else if (value !== "" && isNaN(value) == true) {
+        callback(new Error("请输入数字"));
+      } else if (value <= 0) {
+        callback(new Error("分数设置请大于0"));
+      } else if (value > 100) {
+        callback(new Error("分数设置请小于100"));
+      } else {
+        callback();
+      }
+    };
 
     return {
       rules: {
         editGrades: [
-          { validator: validatePass, required: true, trigger: "blur" },
+          { validator: validatePass2, required: true, trigger: "blur" },
         ],
       },
       gradeForm: {
@@ -325,13 +349,14 @@
         delBtn: false,
         editBtn: true,
         addBtn: false,
-        selection: true,
         // 导出按钮
         // excelBtn: true,
         // excelBtnText: "成绩导出",
-        viewBtn: true,
+        viewBtn: false,
+        selection: true,
+        reserveSelection: true,
         selectable: (row) => {
-          if (row.qualified != "0") {
+          if (row.qualified != "0" || row.isPaper==6) {
             return false;
           } else {
             return true;
@@ -341,7 +366,7 @@
         align: "center",
         height: "auto",
         calcHeight: 80,
-        tip: false,
+        tip: true,
         searchShow: true,
         searchMenuSpan: 4,
         index: true,
@@ -350,9 +375,10 @@
         dialogClickModal: false,
         // 操作栏宽度
         menu: true,
-        menuWidth: 295,
+        menuWidth: 330,
         labelWidth: 120,
         ...this.$store.state.control.clearOtherBut,
+
         column: [
           {
             label: "考试时间",
@@ -406,8 +432,8 @@
                 trigger: "blur",
               },
             ],
-            width: 210,
-            // overHidden:true,
+            width: 200,
+            overHidden:true,
           },
           {
             label: "姓名",
@@ -471,6 +497,7 @@
             prop: "candidateNo",
             search: true,
             searchSpan: 4,
+            hide:true,
             slot: true,
             // 表单新增时是否禁止
             addDisabled: false,
@@ -491,7 +518,14 @@
                 trigger: "blur",
               },
             ],
-            width: 140,
+            width: 110,
+          },
+          {
+            label: "照片",
+            prop: "avatar",
+            type: "upload",
+            listType: "picture-img",
+            width:60,
           },
           {
             label: "所属公司",
@@ -523,7 +557,8 @@
                 trigger: "blur",
               },
             ],
-            width: 230,
+            width: 180,
+            overHidden: true,
           },
           {
             label: "考试开始时间",
@@ -570,13 +605,13 @@
             editDetail: false,
           },
           {
-            label: "状态",
+            label: "考试状态",
             prop: "isExam",
             type: "select",
             slot: true,
             search: true,
             searchSpan: 3,
-            width: 60,
+            width: 80,
             dicData: [
               {
                 label: "发布成绩",
@@ -585,6 +620,10 @@
               {
                 label: "考试中",
                 value: 3,
+              },
+              {
+                label: "缺考",
+                value: 4,
               },
             ],
             // 表单新增时是否禁止
@@ -611,6 +650,7 @@
             label: "理论成绩",
             prop: "theoryGrade",
             slot: true,
+            sortable: true,
             // 表单新增时是否禁止
             addDisabled: false,
             // 表单新增时是否可见
@@ -629,6 +669,7 @@
             label: "实操成绩",
             prop: "learnGrade",
             slot: true,
+            sortable: true,
             // 表单新增时是否禁止
             addDisabled: false,
             // 表单新增时是否可见
@@ -650,6 +691,7 @@
             label: "总成绩",
             prop: "allGrade",
             slot: true,
+            sortable: true,
             // 表单新增时是否禁止
             addDisabled: false,
             // 表单新增时是否可见
@@ -662,6 +704,7 @@
             editDisplay: true,
             // 表单编辑时是否为查看模式
             editDetail: false,
+            
             width: 58,
           },
           {
@@ -700,7 +743,9 @@
             // 表单编辑时是否禁止
             editDisabled: true,
             // 表单编辑时是否可见
-            editDisplay: true,
+            editDisplay: false,
+            viewDetail: false,
+            viewDisplay: false,
             // 表单编辑时是否为查看模式
             editDetail: false,
           },
@@ -736,17 +781,72 @@
             // 表单新增时是否为查看模式
             addDetail: false,
             // 表单编辑时是否禁止
-            editDisabled: false,
+            editDisabled: true,
             // 表单编辑时是否可见
-            editDisplay: false,
+            editDisplay: true,
             // 表单编辑时是否为查看模式
             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: "isAvatar",
+            type: "select",
+            search: true,
+            searchLabelWidth: 90,
+            minWidth: 105,
+            searchSpan: 3,
+            addDisplay: false,
+            editDisplay: false,
+            hide: true,
+            display: false,
+            dicData: [
+              {
+                label: "全部",
+                value: 3,
+              },
+              {
+                label: "有",
+                value: 1,
+              },
+              {
+                label: "无",
+                value: 2,
+              },
+            ],
           },
         ],
       },
       questionBankSearch: {},
       questionBankLoading: true,
       questionBankData: [],
+      sort:"",
+      sortName:"",
       questionBankPage: {
         pageSize: 10,
         currentPage: 1,
@@ -874,7 +974,7 @@
           return securityApply(data);
         })
         .then(() => {
-          // this.$refs.crud.toggleSelection();
+          this.$refs.questionBankCrud.toggleSelection();
           this.$message({
             type: "success",
             message: "操作成功!",
@@ -894,6 +994,27 @@
     closezhengjian() {
       this.dialogVisiblezhengjian = false;
     },
+    //排序
+    sortChange(value) {
+      if(value.order=="ascending"){
+        this.sort = "asc";
+      }
+      if(value.order=="descending"){
+        this.sort = "desc";
+      }
+      this.sortName = value.prop;
+      //字段匹配
+      if(value.prop=="theoryGrade"){
+        this.sortName = "theory_grade";
+      }
+      if(value.prop=="learnGrade"){
+        this.sortName = "learn_grade";
+      }
+      if(value.prop=="allGrade"){
+        this.sortName = "all_grade";
+      }
+      this.questionBankOnLoad(this.questionBankPage);
+    },
     questionBankOnLoad(page, params = {}) {
       //判断角色,如果是保安公司管理员或保安,只能查看当前公司的考试成绩
       var that = this;
@@ -912,6 +1033,12 @@
           }
           that.questionBankLoading = false;
           params["examType"] = 2;
+          if(this.sort){
+            params["sort"] = this.sort;
+          }
+          if(this.sortName){
+            params["sortName"] = this.sortName;
+          }
           getList(
             page.currentPage,
             page.pageSize,
@@ -920,6 +1047,9 @@
             const data = res.data.data;
 
             data.records.forEach((item) => {
+              if (item.isPaper == null || item.isPaper == -1) {
+                item.isPaper = "";
+              }
               if (item.theoryGrade == null && item.learnGrade == -1) {
                 item.qualified = "";
               }
@@ -940,6 +1070,34 @@
             that.questionBankSelectionClear();
           });
         });
+      });
+    },
+    //补证申请
+    securityPaperApply(row,done,loading){
+      this.$confirm("当前保安员已制证,确定要继续申请制证?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      }).then(() => {
+        const data = {
+          createUser:this.userInfo.user_id,
+          type:2,
+          userId:row.userId
+        }
+        add(data).then(
+          () => {
+            this.questionBankOnLoad(this.questionBankPage);
+            this.$message({
+              type: "success",
+              message: "操作成功!",
+            });
+            done();
+          },
+          (error) => {
+            window.console.log(error);
+            loading();
+          }
+        );
       });
     },
     //缺考标记
@@ -1026,7 +1184,9 @@
 
     questionBankSelectionClear() {
       this.questionBankSelectionList = [];
-      this.$refs.questionBankCrud.toggleSelection();
+      this.sort = "";
+      this.sortName = "";
+      // this.$refs.questionBankCrud.toggleSelection();
     },
     questionBankSelectionChange(list) {
       // this.questionBankSelectionList = list;
@@ -1111,6 +1271,8 @@
           qualified: this.questionBankSearch.qualified,
           securityName: this.questionBankSearch.securityName,
           examName: this.questionBankSearch.examName,
+          isAvatar: this.questionBankSearch.isAvatar,
+          isPaper: this.questionBankSearch.isPaper,
         };
         //导出
         if (
@@ -1125,6 +1287,7 @@
           data["trainUnitId"] = this.userInfo.dept_id;
         }
         data["examType"] = 2;
+        console.log(data,11225111);
         //序列号url形式,用&拼接
         data = Qs.stringify(data);
         window.open(`/api/examScore/export-examScore?` + data);

--
Gitblit v1.9.3