From c4e67a8942e514b65ab41bb19781d50576c15725 Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Fri, 24 Sep 2021 19:56:52 +0800
Subject: [PATCH] 用户
---
src/views/exam/performance.vue | 219 +++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 175 insertions(+), 44 deletions(-)
diff --git a/src/views/exam/performance.vue b/src/views/exam/performance.vue
index 1c9f5d8..fad79a9 100644
--- a/src/views/exam/performance.vue
+++ b/src/views/exam/performance.vue
@@ -14,6 +14,7 @@
v-model="obj"
class="company-box"
:option="questionBankOption"
+ :permission="permissionList"
:search.sync="questionBankSearch"
:table-loading="questionBankLoading"
:data="questionBankData"
@@ -27,8 +28,17 @@
@size-change="questionBankSizeChange"
@row-update="questionBankRowUpdate"
>
+ <template slot-scope="{ row }" slot="theoryGrade">
+ {{ row.theoryGrade == -1 ? "" : row.theoryGrade }}
+ </template>
<template slot-scope="{ row }" slot="learnGrade">
{{ row.learnGrade == -1 ? "暂未录入" : row.learnGrade }}
+ </template>
+ <template slot-scope="{ row }" slot="allGrade">
+ {{ row.allGrade == -1 ? "" : row.allGrade }}
+ </template>
+ <template slot-scope="{ row }" slot="qualified">
+ {{ row.qualified == -1 ? "" : row.qualified==0?"合格":row.qualified==1?"不合格":'' }}
</template>
<!-- 自定义按钮 -->
@@ -50,8 +60,22 @@
size="small"
plain
icon="el-icon-upload2"
+ v-if="permission.performance_import"
@click="handleImport"
>实操成绩导入
+ </el-button>
+ </template>
+
+ <template slot-scope="{ row }" slot="menu">
+ <el-button
+ type="text"
+ size="mini"
+ icon="el-icon-collection"
+ class="start-kaoshi"
+ v-if="permission.performance_print"
+ :disabled="row.qualified==1"
+ @click="securityPrint(row)"
+ >保安证打印
</el-button>
</template>
</avue-crud>
@@ -60,6 +84,7 @@
title="实操成绩导入"
append-to-body
:visible.sync="excelBox"
+
width="555px"
>
<avue-form
@@ -82,6 +107,8 @@
<script>
import { getList, update } from "@/api/examapi/performance";
+import { mapGetters } from "vuex";
+import { getRoleDetail } from "@/api/system/role";
export default {
data() {
@@ -115,7 +142,7 @@
// 导出按钮
excelBtn: true,
excelBtnText: "成绩导出",
- viewBtn: true,
+ viewBtn: false,
// title: '成绩',
align: "center",
height: "auto",
@@ -129,16 +156,17 @@
dialogClickModal: false,
// 操作栏宽度
menu: true,
- menuWidth: 136,
+ menuWidth: 186,
labelWidth: 120,
column: [
{
- label: "试卷名称",
+ label: "考试名称",
prop: "examName",
search: true,
searchSpan: 4,
slot: true,
+ viewDisplay: false,
// 表单新增时是否禁止
addDisabled: false,
// 表单新增时是否可见
@@ -146,9 +174,9 @@
// 表单新增时是否为查看模式
addDetail: false,
// 表单编辑时是否禁止
- editDisabled: true,
+ editDisabled: false,
// 表单编辑时是否可见
- editDisplay: true,
+ editDisplay: false,
// 表单编辑时是否为查看模式
editDetail: false,
rules: [
@@ -158,11 +186,12 @@
trigger: "blur",
},
],
- overHidden:true,
+ // overHidden: true,
+ width:230,
},
{
- label: "保安姓名",
- prop: "securityName",
+ label: "用户名",
+ prop: "account",
search: true,
searchSpan: 4,
slot: true,
@@ -185,6 +214,7 @@
trigger: "blur",
},
],
+ width:160
},
{
label: "所属公司",
@@ -216,15 +246,16 @@
trigger: "blur",
},
],
+ width:250,
},
{
- label: "考试时间",
+ label: "考试开始时间",
prop: "examTime",
type: "datetime",
// span: 24,
format: "yyyy-MM-dd HH:mm:ss",
valueFormat: "yyyy-MM-dd HH:mm:ss",
- width: 250,
+ width: 160,
slot: true,
// 表单新增时是否禁止
addDisabled: false,
@@ -238,6 +269,65 @@
editDisplay: true,
// 表单编辑时是否为查看模式
editDetail: false,
+ },
+ {
+ label: "考试结束时间",
+ prop: "examEndTime",
+ type: "datetime",
+ // span: 24,
+ format: "yyyy-MM-dd HH:mm:ss",
+ valueFormat: "yyyy-MM-dd HH:mm:ss",
+ width: 160,
+ slot: true,
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: true,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: true,
+ // 表单编辑时是否可见
+ editDisplay: true,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ },
+ {
+ label: "状态",
+ prop: "isExam",
+ type: "select",
+ slot: true,
+ search: true,
+ searchSpan: 4,
+ dicData: [
+ {
+ label: "发布成绩",
+ value: 2,
+ },
+ {
+ label: "考试中",
+ value: 3,
+ },
+ ],
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: true,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: true,
+ // 表单编辑时是否可见
+ editDisplay: true,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ rules: [
+ {
+ required: true,
+ message: "请输入考试名称",
+ trigger: "blur",
+ },
+ ],
},
{
label: "理论成绩",
@@ -277,28 +367,28 @@
],
},
{
- label: "总成绩",
- prop: "allGrade",
- slot: true,
- // hide:true,
- // 表单新增时是否禁止
- addDisabled: false,
- viewDisplay:false,
- // 表单新增时是否可见
- addDisplay: false,
- // 表单新增时是否为查看模式
- addDetail: false,
- // 表单编辑时是否禁止
- editDisabled: false,
- // 表单编辑时是否可见
- editDisplay: false,
- // 表单编辑时是否为查看模式
- editDetail: false,
- rules: [{
- required: true,
- message: "请输入考试名称",
- trigger: "blur"
- }]
+ label: "总成绩",
+ prop: "allGrade",
+ slot: true,
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: true,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: true,
+ // 表单编辑时是否可见
+ editDisplay: true,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ rules: [
+ {
+ required: true,
+ message: "请输入考试名称",
+ trigger: "blur",
+ },
+ ],
},
{
label: "是否合格",
@@ -407,23 +497,53 @@
},
};
},
+ computed:{
+ ...mapGetters(["userInfo", "permission"]),
+ permissionList() {
+ return {
+ addBtn: this.vaildData(null, false),
+ viewBtn: this.vaildData(null, false),
+ delBtn: this.vaildData(null, false),
+ editBtn: this.vaildData(this.permission.performance__edit, false),
+ excelBtn: this.vaildData(this.permission.performance_export, false),
+ };
+ },
+ },
created() {},
mounted() {},
methods: {
questionBankOnLoad(page, params = {}) {
- this.questionBankLoading = false;
- params["examType"] = 1;
- getList(
- page.currentPage,
- page.pageSize,
- Object.assign(params, this.query)
- ).then((res) => {
- const data = res.data.data;
- this.questionBankPage.total = data.total;
- this.questionBankData = data.records;
- this.questionBankLoading = false;
- this.questionBankSelectionClear();
+ //判断角色,如果是保安公司管理员或保安,只能查看当前公司的考试成绩
+ 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 == "保安" ||
+ roleAlias == "未持证保安"
+ ) {
+ //如果是保安公司管理员
+ params["deptId"] = that.userInfo.dept_id;
+ }
+ that.questionBankLoading = false;
+ params["examType"] = 1;
+ getList(
+ page.currentPage,
+ page.pageSize,
+ Object.assign(params, this.query)
+ ).then((res) => {
+ const data = res.data.data;
+ that.questionBankPage.total = data.total;
+ that.questionBankData = data.records;
+ that.questionBankLoading = false;
+ that.questionBankSelectionClear();
+ });
+ })
});
+
},
questionBankSelectionClear() {
this.questionBankSelectionList = [];
@@ -448,11 +568,22 @@
questionBankSizeChange(pageSize) {
this.questionBankPage.pageSize = pageSize;
},
+ //保安证证查看
+ securityPrint(row) {
+ var obj = row;
+ obj["name"] = "保安证";
+ this.$router.push({
+ path: `/exam/papers`,
+ query: obj,
+ });
+ },
questionBankRowUpdate(row, index, done, loading) {
+ // debugger;
update({
theoryGrade: row.theoryGrade,
learnGrade: row.learnGrade,
+ examId: row.examId,
id: row.id,
}).then(
() => {
--
Gitblit v1.9.3