From 21c7375b7b38ebf2c8a2ca8fbf6fe9fb4f28250f Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Wed, 12 Jan 2022 10:59:40 +0800
Subject: [PATCH] 新增公司注册机公司注册审核
---
src/views/trainExam/index.vue | 355 ++++++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 276 insertions(+), 79 deletions(-)
diff --git a/src/views/trainExam/index.vue b/src/views/trainExam/index.vue
index 412cc67..35120b9 100644
--- a/src/views/trainExam/index.vue
+++ b/src/views/trainExam/index.vue
@@ -1,15 +1,20 @@
/*
* @Author: Morpheus
* @Date: 2021-07-05 16:31:54
- * @Last Modified by: Morpheus
- * @Last Modified time: 2021-07-18 17:09:52
+ * @Last Modified by: liu
+ * @Last Modified time: 2021-11-23 14:12:55
* menu-name 考试管理
*/
<template>
<el-row class="morpheus-box-paper">
<el-col :span="24">
<el-card>
- <div class="exam-card-body">
+ <div
+ :class="[
+ 'exam-card-body',
+ $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '',
+ ]"
+ >
<avue-crud
v-model="form"
class="company-box"
@@ -29,37 +34,33 @@
@row-update="questionBankRowUpdate"
@row-del="questionBankRowDel"
>
- <!-- 自定义按钮 -->
- <!-- <template slot="menuLeft">
- <el-button type="danger"
- size="mini"
- icon="el-icon-delete"
- plain
- @click="handleDelete">新增
- </el-button>
- <el-button type="danger"
- size="mini"
- icon="el-icon-delete"
- plain
- @click="handleDelete">删除
- </el-button>
- <el-button type="danger"
- size="mini"
- icon="el-icon-delete"
- plain
- @click="handleDelete">导出
- </el-button>
- </template> -->
-
+ <template slot-scope="{ row }" slot="auditStatus">
+ <el-tag class="dtype">
+ {{
+ row.auditStatus == 1
+ ? "审核通过"
+ : row.auditStatus == 2
+ ? "审核不通过"
+ : "待审核"
+ }}
+ <i class="zc" v-if="row.auditStatus == 1"></i>
+ <i class="yj" v-if="row.auditStatus == 2"></i>
+ <i class="gz" v-if="row.auditStatus == 3"></i>
+ </el-tag>
+ </template>
<template slot="menuLeft">
<el-button
- style="display:none"
+ style="display: none"
type="danger"
size="small"
icon="el-icon-delete"
@click="questionBankHandleDelete"
>删 除
</el-button>
+ <!--图例 components-->
+ <span>
+ <Legend :datas="datalistLIU"></Legend>
+ </span>
</template>
<template slot-scope="{ row }" slot="examStatus">
@@ -87,7 +88,15 @@
<el-button
type="text"
size="mini"
- icon="el-icon-folder-checked"
+ icon="el-icon-circle-check"
+ v-if="permission.trainExam_confirm"
+ @click="handleConfirm(row)"
+ >考试名单确认
+ </el-button>
+ <el-button
+ type="text"
+ size="mini"
+ icon="el-icon-search"
v-if="permission.trainExam_index_examScoreViews"
@click="examScoreViews(row)"
>成绩查看
@@ -123,10 +132,15 @@
remove,
update,
updateAudit,
+ applyConfirm,
} from "@/api/examapi/examination";
import { auditColumn } from "./data";
import { mapGetters } from "vuex";
+import Legend from "@/components/liu-legend/Legend";
export default {
+ components: {
+ Legend,
+ },
data() {
var validatePass = (rule, value, callback) => {
console.log(value);
@@ -144,6 +158,21 @@
return {
form: {},
+ //legend-liu数据
+ datalistLIU: [
+ {
+ color: "#29C093",
+ text: "审核通过",
+ },
+ {
+ color: "#F34A4A",
+ text: "审核不通过",
+ },
+ {
+ color: "#F48F57",
+ text: "待审核",
+ },
+ ],
Audit: {},
dialogFormVisible: false,
optionAudit: {
@@ -164,20 +193,19 @@
menuWidth: 230,
dialogClickModal: false,
column: auditColumn,
+ ...this.$store.state.control.clearOtherBut,
},
questionBankOption: {
// 操作栏多余按钮去除
delBtn: false,
- editBtn: false,
+ editBtn: true,
addBtn: false,
- selection: true,
+ // selection: true,
menu: true,
// 导出按钮
excelBtn: false,
viewBtn: false,
-
// title: '题库',
-
align: "center",
height: "auto",
calcHeight: 80,
@@ -189,10 +217,9 @@
//dialogType: 'drawer',
dialogClickModal: false,
// 操作栏宽度
- menuWidth: 280,
-
+ menuWidth: 260,
labelWidth: 140,
-
+ ...this.$store.state.control.clearOtherBut,
column: [
{
label: "考试名称",
@@ -218,28 +245,10 @@
trigger: "blur",
},
],
+ span: 24,
width: 200,
+ overHidden: true,
},
- // {
- // label: "试卷分数",
- // prop: "totalScore",
- // slot: true,
- // // 表单新增时是否禁止
- // addDisabled: false,
- // // 表单新增时是否可见
- // addDisplay: true,
- // // 表单新增时是否为查看模式
- // addDetail: false,
- // // 表单编辑时是否禁止
- // editDisabled: false,
- // // 表单编辑时是否可见
- // editDisplay: true,
- // // 表单编辑时是否为查看模式
- // editDetail: false,
-
- // rules: [{ validator: validatePass, required: true, trigger: 'blur' }],
- // width: 100
- // },
{
label: "考试时间",
prop: "startTime",
@@ -271,7 +280,6 @@
label: "考试开始时间",
prop: "startTime",
type: "datetime",
- // span: 24,
format: "yyyy-MM-dd HH:mm",
valueFormat: "yyyy-MM-dd HH:mm",
// 表单新增时是否禁止
@@ -286,32 +294,53 @@
editDisplay: false,
// 表单编辑时是否为查看模式
editDetail: false,
- width: 160,
+ width: 120,
},
+ {
+ label: "考试开始截止时间",
+ prop: "endTime",
+ type: "datetime",
+ // span: 24,
+ format: "yyyy-MM-dd HH:mm",
+ valueFormat: "yyyy-MM-dd HH:mm",
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: false,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: false,
+ // 表单编辑时是否可见
+ editDisplay: true,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ width: 120,
+ },
+
// {
- // label: "考试结束时间",
- // prop: "endTime",
- // type: "datetime",
- // // span: 24,
- // format: "yyyy-MM-dd HH:mm:ss",
- // valueFormat: "yyyy-MM-dd HH:mm:ss",
+ // label: "申请人",
+ // prop: "realName",
+ // slot: true,
// // 表单新增时是否禁止
- // addDisabled: false,
+ // addDisabled: true,
// // 表单新增时是否可见
// addDisplay: false,
// // 表单新增时是否为查看模式
// addDetail: false,
// // 表单编辑时是否禁止
- // editDisabled: false,
+ // editDisabled: true,
// // 表单编辑时是否可见
// editDisplay: false,
// // 表单编辑时是否为查看模式
// editDetail: false,
- // width: 160,
+ // // hide: true,
+ // display: false,
+ // width: 70,
// },
{
- label: "创建人",
- prop: "creator",
+ label: "申请人所属学校",
+ prop: "deptName",
slot: true,
// 表单新增时是否禁止
addDisabled: true,
@@ -325,8 +354,9 @@
editDisplay: false,
// 表单编辑时是否为查看模式
editDetail: false,
- hide: true,
+ // hide: true,
display: false,
+ overHidden: true,
},
{
label: "备注",
@@ -343,13 +373,34 @@
// 表单编辑时是否禁止
editDisabled: false,
// 表单编辑时是否可见
- editDisplay: true,
+ editDisplay: false,
// 表单编辑时是否为查看模式
editDetail: false,
},
{
label: "注意事项",
prop: "examAttention",
+ type: "textarea",
+ span: 24,
+ slot: true,
+ hide: true,
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: true,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: false,
+ // 表单编辑时是否可见
+ editDisplay: false,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ width: 150,
+ },
+ {
+ label: "报名人数",
+ prop: "num",
type: "textarea",
span: 24,
slot: true,
@@ -362,16 +413,36 @@
// 表单编辑时是否禁止
editDisabled: false,
// 表单编辑时是否可见
- editDisplay: true,
+ editDisplay: false,
// 表单编辑时是否为查看模式
editDetail: false,
- width: 150,
+ width: 70,
+ },
+ {
+ label: "考试人数",
+ prop: "examNum",
+ type: "textarea",
+ span: 24,
+ slot: true,
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: true,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: false,
+ // 表单编辑时是否可见
+ editDisplay: false,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ width: 70,
},
{
label: "申请时间",
- prop: "createTime",
+ prop: "creatorDate",
type: "datetime",
- width: 160,
+ width: 130,
editDisplay: false,
addDisplay: false,
format: "yyyy-MM-dd HH:mm:ss",
@@ -388,7 +459,7 @@
label: "审核时间",
prop: "auditTime",
type: "datetime",
- width: 160,
+ width: 130,
editDisplay: false,
addDisplay: false,
format: "yyyy-MM-dd HH:mm:ss",
@@ -431,12 +502,64 @@
value: 3,
},
],
+ width: 110,
},
{
label: "审核明细",
editDisplay: false,
addDisplay: false,
prop: "auditDetail",
+ width: 90,
+ overHidden: true,
+ },
+ {
+ label: "距考试开始时间",
+ editDisplay: false,
+ addDisplay: false,
+ prop: "deadline",
+ width: 110,
+ overHidden: true,
+ },
+ {
+ label: "考试名单确认人",
+ prop: "confirmUserName",
+ slot: true,
+ // 表单新增时是否禁止
+ addDisabled: true,
+ // 表单新增时是否可见
+ addDisplay: false,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: true,
+ // 表单编辑时是否可见
+ editDisplay: false,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ // hide: true,
+ display: false,
+ width: 80,
+ },
+ {
+ label: "确认时间",
+ prop: "confirmTime",
+ type: "datetime",
+ // span: 24,
+ format: "yyyy-MM-dd HH:mm:ss",
+ valueFormat: "yyyy-MM-dd HH:mm:ss",
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: false,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: false,
+ // 表单编辑时是否可见
+ editDisplay: false,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ width: 130,
},
],
},
@@ -447,6 +570,7 @@
pageSize: 10,
currentPage: 1,
total: 16,
+ ...this.$store.state.control.changePageSize,
},
questionBankQuery: {},
questionBankSelectionList: [],
@@ -465,7 +589,7 @@
permissionList() {
return {
addBtn: this.vaildData(null, false),
- viewBtn: this.vaildData(null, false),
+ viewBtn: this.vaildData(this.permission.trainExam_edit, false),
delBtn: this.vaildData(null, false),
editBtn: this.vaildData(null, false),
};
@@ -476,6 +600,10 @@
questionBankOnLoad(page, params = {}) {
this.questionBankLoading = false;
params["examType"] = 2;
+ //如果是培训公司管理员,则只能看到当前培训公司申请的考试
+ if (this.userInfo.role_name == "培训公司管理员") {
+ params["deptId"] = this.userInfo.dept_id;
+ }
getList(
page.currentPage,
page.pageSize,
@@ -546,7 +674,7 @@
});
}
},
- examScoreViews(row){
+ examScoreViews(row) {
//模拟考试
if (row.examType == 2) {
this.$router.push({
@@ -558,7 +686,7 @@
// 新增
questionBankRowSave(row, done, loading) {
row.startTime = row.startTime + ":00";
- row['examType'] = 2;
+ row["examType"] = 2;
// row.endTime = row.examTime[1];
// row.examTime = JSON.stringify(row.examTime);
add(row).then(
@@ -580,10 +708,16 @@
// if (Array.isArray(row.examTime) != true) {
// row.examTime = row.examTime.split(",");
// }
- row.startTime = row.startTime + ":00";
+ const data = {
+ id: row.id,
+ startTime: row.startTime + ":00",
+ endTime: row.endTime + ":00",
+ };
+ // row.startTime = row.startTime + ":00";
+ // row.endTime = row.endTime + ":00";
// row.endTime = row.examTime[1];
// row.examTime = JSON.stringify(row.examTime);
- update(row).then(
+ update(data).then(
() => {
this.questionBankOnLoad(this.questionBankPage);
this.$message({
@@ -606,6 +740,24 @@
})
.then(() => {
return remove(row.id);
+ })
+ .then(() => {
+ this.questionBankOnLoad(this.questionBankPage);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ });
+ },
+ handleConfirm(row) {
+ this.$confirm("已确认当前考试申请人员名单无误?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ })
+ .then(() => {
+ row["confirmUser"] = this.userInfo.Id;
+ return applyConfirm(row);
})
.then(() => {
this.questionBankOnLoad(this.questionBankPage);
@@ -646,4 +798,49 @@
</script>
<style lang="scss" scoped>
+.dtype {
+ width: 100%;
+ padding-left: 0px;
+}
+
+.dx {
+ position: absolute;
+ top: 50%;
+ margin-top: -5px;
+ margin-left: 6px;
+ width: 10px;
+ height: 10px;
+ border-radius: 30%;
+ background: #dfdfdf;
+}
+.zc {
+ position: absolute;
+ top: 50%;
+ margin-top: -5px;
+ margin-left: 4px;
+ width: 10px;
+ height: 10px;
+ border-radius: 30%;
+ background: #29c093;
+}
+.yj {
+ position: absolute;
+ top: 50%;
+ margin-top: -5px;
+ margin-left: 4px;
+ width: 10px;
+ height: 10px;
+ border-radius: 30%;
+ background: #f34a4a;
+}
+.gz {
+ position: absolute;
+ top: 50%;
+ margin-top: -5px;
+ margin-left: 4px;
+ width: 10px;
+ height: 10px;
+ border-radius: 30%;
+ background: #f48f57;
+}
</style>
--
Gitblit v1.9.3