保安服务企业管理项目备份
Administrator
2022-01-12 21c7375b7b38ebf2c8a2ca8fbf6fe9fb4f28250f
src/views/trainExam/singleperformance.vue
@@ -2,14 +2,19 @@
 * @Author: Morpheus
 * @Date: 2021-07-05 16:31:54
 * @Last Modified by: liu
 * @Last Modified time: 2021-09-28 15:06:04
 * @Last Modified time: 2021-12-10 10:01:11
 * menu-name 成绩查看
 */
<template>
  <el-row class="morpheus-box-score">
    <el-col :span="24">
      <el-card>
        <div class="exam-card-body">
        <div
          :class="[
            'exam-card-body',
            $store.state.control.windowWidth >= 1024 ? 'tooRowSearch' : '',
          ]"
        >
          <avue-crud
            v-model="obj"
            class="company-box"
@@ -18,6 +23,7 @@
            :table-loading="questionBankLoading"
            :data="questionBankData"
            ref="questionBankCrud"
            @sort-change="sortChange"
            :permission="permissionList"
            :page.sync="questionBankPage"
            @on-load="questionBankOnLoad"
@@ -108,7 +114,7 @@
import { getList, update } from "@/api/examapi/performance";
import { mapGetters } from "vuex";
import { getRoleDetail } from "@/api/system/role";
import Qs from 'qs';
import Qs from "qs";
export default {
  data() {
    var validatePass = (rule, value, callback) => {
@@ -144,6 +150,8 @@
        // title: '成绩',
        align: "center",
        height: "auto",
        sort:"",
      sortName:"",
        calcHeight: 80,
        tip: false,
        searchShow: true,
@@ -156,6 +164,7 @@
        menu: false,
        menuWidth: 136,
        labelWidth: 120,
        ...this.$store.state.control.clearOtherBut,
        column: [
          {
            label: "考试时间",
@@ -187,6 +196,7 @@
            prop: "examName",
            search: true,
            searchSpan: 5,
            searchLabelWidth: 80,
            slot: true,
            viewDisplay: false,
            // 表单新增时是否禁止
@@ -209,13 +219,14 @@
              },
            ],
            // overHidden:true,
            width: 210,
            minWidth: 230,
          },
          {
            label: "姓名",
            prop: "securityName",
            search: true,
            searchSpan: 3,
            searchLabelWidth: 50,
            slot: true,
            viewDisplay: true,
            // 表单新增时是否禁止
@@ -245,7 +256,7 @@
            label: "身份证号",
            prop: "account",
            search: true,
            searchSpan: 4,
            searchSpan: 5,
            slot: true,
            // 表单新增时是否禁止
            addDisabled: false,
@@ -267,6 +278,33 @@
              },
            ],
            width: 160,
          },
          {
            label: "准考证号",
            prop: "candidateNo",
            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: "所属公司",
@@ -291,6 +329,7 @@
            editDisplay: true,
            // 表单编辑时是否为查看模式
            editDetail: false,
            overHidden: true,
            rules: [
              {
                required: true,
@@ -298,7 +337,7 @@
                trigger: "blur",
              },
            ],
            width: 230,
            minWidth: 230,
          },
          {
            label: "考试开始时间",
@@ -350,7 +389,7 @@
            type: "select",
            slot: true,
            search: true,
            searchSpan: 3,
            searchSpan: 4,
            dicData: [
              {
                label: "发布成绩",
@@ -360,8 +399,12 @@
                label: "考试中",
                value: 3,
              },
              {
                label: "缺考",
                value: 4,
              },
            ],
            width: 60,
            width: 90,
            // 表单新增时是否禁止
            addDisabled: false,
            // 表单新增时是否可见
@@ -386,6 +429,7 @@
            label: "理论成绩",
            prop: "theoryGrade",
            slot: true,
            sortable: true,
            // 表单新增时是否禁止
            addDisabled: false,
            // 表单新增时是否可见
@@ -398,11 +442,13 @@
            editDisplay: true,
            // 表单编辑时是否为查看模式
            editDetail: false,
            width: 68,
          },
          {
            label: "实操成绩",
            prop: "learnGrade",
            slot: true,
            sortable: true,
            // 表单新增时是否禁止
            addDisabled: false,
            // 表单新增时是否可见
@@ -415,6 +461,7 @@
            editDisplay: true,
            // 表单编辑时是否为查看模式
            editDetail: false,
            width: 68,
            rules: [
              { validator: validatePass, required: true, trigger: "blur" },
            ],
@@ -423,6 +470,7 @@
            label: "总成绩",
            prop: "allGrade",
            slot: true,
            sortable: true,
            // 表单新增时是否禁止
            addDisabled: false,
            // 表单新增时是否可见
@@ -435,6 +483,7 @@
            editDisplay: true,
            // 表单编辑时是否为查看模式
            editDetail: false,
            width: 58,
            rules: [
              {
                required: true,
@@ -449,8 +498,9 @@
            type: "select",
            slot: true,
            search: true,
            searchSpan: 3,
            width: 110,
            searchSpan: 4,
            // width: 110,
            width: 68,
            dicData: [
              {
                label: "合格",
@@ -493,7 +543,8 @@
      questionBankPage: {
        pageSize: 10,
        currentPage: 1,
        total: 16,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      questionBankQuery: {},
      questionBankSelectionList: [],
@@ -529,6 +580,27 @@
        query: obj,
      });
    },
    //排序
    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;
@@ -538,7 +610,11 @@
      roleIds.forEach((roleId) => {
        getRoleDetail(roleId).then((res) => {
          var roleAlias = res.data.data.roleAlias;
          if (roleAlias == "保安公司管理员" || roleAlias == "保安") {
          if (
            roleAlias == "保安公司管理员" ||
            roleAlias == "保安" ||
            roleAlias == "分公司管理员"
          ) {
            //如果是保安公司管理员
            params["deptId"] = that.userInfo.dept_id;
          }
@@ -548,6 +624,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,
@@ -642,9 +724,7 @@
        data["examType"] = 2;
        //序列号url形式,用&拼接
        data = Qs.stringify(data);
        window.open(
          `/api/examScore/export-examScore?` + data
        );
        window.open(`/api/examScore/export-examScore?` + data);
      });
    },
  },