From e0001b944ebd202e0640d164d7f1fb439193f7d4 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Thu, 04 Nov 2021 18:55:18 +0800
Subject: [PATCH] 培训考试成绩修改相关
---
src/router/views/index.js | 1964 +++++++++++++-------------
src/views/trainExam/performance.vue | 1757 +++++++++++++----------
src/api/examapi/modifiedGrades.js | 21
src/api/examapi/performance.js | 49
src/views/trainExam/modifiedGrades.vue | 627 ++++++++
5 files changed, 2,631 insertions(+), 1,787 deletions(-)
diff --git a/src/api/examapi/modifiedGrades.js b/src/api/examapi/modifiedGrades.js
new file mode 100644
index 0000000..5737b8d
--- /dev/null
+++ b/src/api/examapi/modifiedGrades.js
@@ -0,0 +1,21 @@
+import request from '@/router/axios';
+
+export const getList = (current, size, params) => {
+ return request({
+ url: '/api/scoreAuditRecords/page',
+ method: 'get',
+ params: {
+ ...params,
+ current,
+ size
+ }
+ })
+}
+
+export const update = (row) => {
+ return request({
+ url: '/api/scoreAuditRecords/update',
+ method: 'post',
+ data: row
+ })
+}
diff --git a/src/api/examapi/performance.js b/src/api/examapi/performance.js
index 36582a6..0c71146 100644
--- a/src/api/examapi/performance.js
+++ b/src/api/examapi/performance.js
@@ -1,30 +1,37 @@
import request from '@/router/axios';
export const getList = (current, size, params) => {
- return request({
- url: '/api/examScore/page',
- method: 'get',
- params: {
- ...params,
- current,
- size
- }
- })
+ return request({
+ url: '/api/examScore/page',
+ method: 'get',
+ params: {
+ ...params,
+ current,
+ size
+ }
+ })
}
export const update = (row) => {
- return request({
- url: '/api/examScore/updateExamScore',
- method: 'post',
- data: row
- })
+ return request({
+ url: '/api/examScore/updateExamScore',
+ method: 'post',
+ data: row
+ })
}
-
export const updateAbsent = (row) => {
- return request({
- url: '/api/examScore/updateAbsent',
- method: 'post',
- data: row
- })
-}
\ No newline at end of file
+ return request({
+ url: '/api/examScore/updateAbsent',
+ method: 'post',
+ data: row
+ })
+}
+
+export const updateGrade = (row) => {
+ return request({
+ url: '/api/scoreAuditRecords/scoreUpdateApply',
+ method: 'post',
+ data: row
+ })
+}
diff --git a/src/router/views/index.js b/src/router/views/index.js
index 416d68a..95ac4b4 100644
--- a/src/router/views/index.js
+++ b/src/router/views/index.js
@@ -1,986 +1,998 @@
import Layout from '@/page/index/'
export default [{
- path: '/wel',
- component: Layout,
- redirect: '/wel/index',
- children: [{
- path: 'index',
- name: '首页',
- meta: {
- i18n: 'dashboard'
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/wel/index')
- }, {
- path: 'dashboard',
- name: '控制台',
- meta: {
- i18n: 'dashboard',
- menu: false,
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/wel/dashboard')
- }]
+ path: '/wel',
+ component: Layout,
+ redirect: '/wel/index',
+ children: [{
+ path: 'index',
+ name: '首页',
+ meta: {
+ i18n: 'dashboard'
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/wel/index')
}, {
- path: '/test',
- component: Layout,
- redirect: '/test/index',
- children: [{
- path: 'index',
- name: '测试页',
- meta: {
- i18n: 'test'
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/util/test')
- }]
+ path: 'dashboard',
+ name: '控制台',
+ meta: {
+ i18n: 'dashboard',
+ menu: false,
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/wel/dashboard')
+ }]
+ }, {
+ path: '/test',
+ component: Layout,
+ redirect: '/test/index',
+ children: [{
+ path: 'index',
+ name: '测试页',
+ meta: {
+ i18n: 'test'
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/util/test')
+ }]
+ }, {
+ path: '/dict-horizontal',
+ component: Layout,
+ redirect: '/dict-horizontal/index',
+ children: [{
+ path: 'index',
+ name: '字典管理',
+ meta: {
+ i18n: 'dict'
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/util/demo/dict-horizontal')
+ }]
+ }, {
+ path: '/dict-vertical',
+ component: Layout,
+ redirect: '/dict-vertical/index',
+ children: [{
+ path: 'index',
+ name: '字典管理',
+ meta: {
+ i18n: 'dict'
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/util/demo/dict-vertical')
+ }]
+ }, {
+ path: '/info',
+ component: Layout,
+ redirect: '/info/index',
+ children: [{
+ path: 'index',
+ name: '个人信息',
+ meta: {
+ i18n: 'info'
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/system/userinfo')
+ }]
+ }, {
+ path: '/work/process/leave',
+ component: Layout,
+ redirect: '/work/process/leave/form',
+ children: [{
+ path: 'form/:processDefinitionId',
+ name: '请假流程',
+ meta: {
+ i18n: 'work'
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/work/process/leave/form')
}, {
- path: '/dict-horizontal',
- component: Layout,
- redirect: '/dict-horizontal/index',
- children: [{
- path: 'index',
- name: '字典管理',
- meta: {
- i18n: 'dict'
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/util/demo/dict-horizontal')
- }]
+ path: 'handle/:taskId/:processInstanceId/:businessId',
+ name: '处理请假流程',
+ meta: {
+ i18n: 'work'
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/work/process/leave/handle')
}, {
- path: '/dict-vertical',
- component: Layout,
- redirect: '/dict-vertical/index',
- children: [{
- path: 'index',
- name: '字典管理',
- meta: {
- i18n: 'dict'
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/util/demo/dict-vertical')
- }]
+ path: 'detail/:processInstanceId/:businessId',
+ name: '请假流程详情',
+ meta: {
+ i18n: 'work'
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/work/process/leave/detail')
+ }]
+ }, {
+ path: '/securityAnalysis',
+ component: Layout,
+ redirect: '/securityAnalysis/index',
+ children: [{
+ path: 'index',
+ name: '保安单位情况智能分析',
+ meta: {
+ i18n: 'dict'
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/securityAnalysis/index')
+ }]
+ }, {
+ path: '/recruitmentManagement',
+ component: Layout,
+ redirect: '/recruitmentManagement/index',
+ children: [{
+ path: 'index',
+ name: '招聘管理',
+ meta: {
+ i18n: 'dict'
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/recruitmentManagement/index')
+ }]
+ }, {
+ path: '/securityUnit',
+ component: Layout,
+ redirect: '/securityUnit/index',
+ children: [{
+ path: 'index',
+ name: '保安单位信息',
+ meta: {
+ i18n: 'dict'
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/securityUnit/index')
+ }]
+ }, {
+ path: '/securityGuard',
+ component: Layout,
+ redirect: '/securityGuard/securityGuard',
+ children: [{
+ path: 'index',
+ name: '保安员管理',
+ meta: {
+ i18n: 'dict'
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/securityGuard/securityGuard')
+ }]
+ }, {
+ path: '/securityGuardOnce',
+ component: Layout,
+ redirect: '/securityGuard/securityGuardOnce',
+ children: [{
+ path: 'index',
+ name: '保安员查询',
+ meta: {
+ i18n: 'dict'
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/securityGuard/securityGuardOnce')
+ }]
+ }, {
+ path: '/securityGuardDetail',
+ component: Layout,
+ redirect: '/securityGuardDetail/index',
+ children: [{
+ path: 'index',
+ name: '保安员详情',
+ meta: {
+ i18n: 'dict'
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/securityGuard/securityGuardDetail')
+ }]
+ }, {
+ path: '/resource',
+ component: Layout,
+ redirect: '/resource/attach',
+ children: [{
+ path: 'attach',
+ name: '附件上传',
+ meta: {
+ i18n: 'dict'
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/resource/attach')
+ }]
+ }, {
+ path: '/securityUnitChild',
+ component: Layout,
+ redirect: '/securityUnitChild/index',
+ children: [{
+ path: 'index',
+ name: '保安单位详情',
+ meta: {
+ i18n: 'dict'
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/securityUnitChild/index')
+ }]
+ }, {
+ path: '/securityGuard',
+ component: Layout,
+ redirect: '/securityGuard/securityGuard',
+ children: [{
+ path: 'index',
+ name: '保安员管理',
+ meta: {
+ i18n: 'dict'
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/securityGuard/securityGuard')
+ }]
+ },
+ // {
+ // path: '/dispatch/dispatch',
+ // component: Layout,
+ // redirect: '/dispatch/dispatch',
+ // children: [{
+ // path: 'index',
+ // name: '派遣服务管理',
+ // meta: {
+ // i18n: 'dict'
+ // },
+ // component: () =>
+ // import( /* webpackChunkName: "views" */ '@/views/dispatch/dispatch')
+ // }]
+ // },
+ {
+ path: '/desk',
+ component: Layout,
+ redirect: '/desk/notice',
+ children: [{
+ path: 'index',
+ name: '通知公告',
+ meta: {
+ i18n: 'dict'
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/desk/notice')
+ }]
+ },
+ {
+ path: '/talk',
+ component: Layout,
+ redirect: '/talk/talk',
+ children: [{
+ path: 'index',
+ name: '心理咨询',
+ meta: {
+ i18n: 'dict'
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/talk/talk')
+ }]
+ },
+ {
+ path: '/workreport',
+ component: Layout,
+ redirect: '/workreport/workreport',
+ children: [{
+ path: 'workreport',
+ name: '发起的汇报',
+ meta: {
+ i18n: 'dict'
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/workreport/workreport')
+ }]
+ },
+ {
+ path: '/workreport',
+ component: Layout,
+ redirect: '/workreport/workreply',
+ children: [{
+ path: 'workreply',
+ name: '接收的汇报',
+ meta: {
+ i18n: 'dict'
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/workreport/workreply')
+ }]
+ }, {
+ path: '/resource',
+ component: Layout,
+ redirect: '/resource/attachCopy',
+ children: [{
+ path: 'attachCopy',
+ name: '保安单位附件上传',
+ meta: {
+ i18n: 'dict'
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/resource/attachCopy')
+ }]
+ },
+ // {
+ // path: '/dispatch',
+ // component: Layout,
+ // redirect: '/dispatch/dispatch',
+ // children: [{
+ // path: 'dispatch',
+ // name: '派遣单位管理',
+ // meta: {
+ // i18n: 'dispatch'
+ // },
+ // component: () =>
+ // import( /* webpackChunkName: "views" */ '@/views/dispatch/dispatch')
+ // }, {
+ // path: 'dispatchChildoperable',
+ // name: '派遣记录管理',
+ // meta: {
+ // i18n: 'dispatch'
+ // },
+ // component: () =>
+ // import( /* webpackChunkName: "views" */ '@/views/dispatch/dispatchChildoperable')
+ // }]
+ // },
+ // {
+ // path: '/dispatchChild',
+ // component: Layout,
+ // redirect: '/dispatchChild/index',
+ // children: [{
+ // path: 'index',
+ // name: '派遣服务记录',
+ // meta: {
+ // i18n: 'dict'
+ // },
+ // component: () =>
+ // import( /* webpackChunkName: "views" */ '@/views/dispatchChild/index')
+ // }]
+ // },
+ // {
+ // path: '/equipments',
+ // component: Layout,
+ // redirect: '/equipments/index',
+ // children: [{
+ // path: 'index',
+ // name: '保安公司装备管理',
+ // meta: {
+ // i18n: 'dict'
+ // },
+ // component: () =>
+ // import( /* webpackChunkName: "views" */ '@/views/equipments/index')
+ // }]
+ // }, {
+ // path: '/car',
+ // component: Layout,
+ // redirect: '/car/index',
+ // children: [{
+ // path: 'index',
+ // name: '保安公司车辆管理',
+ // meta: {
+ // i18n: 'dict'
+ // },
+ // component: () =>
+ // import( /* webpackChunkName: "views" */ '@/views/car/index')
+ // }]
+ // }, {
+ // path: '/gun',
+ // component: Layout,
+ // redirect: '/gun/index',
+ // children: [{
+ // path: 'index',
+ // name: '保安公司枪支管理',
+ // meta: {
+ // i18n: 'dict'
+ // },
+ // component: () =>
+ // import( /* webpackChunkName: "views" */ '@/views/gun/index')
+ // }]
+ // },
+ // {
+ // path: '/securityEquipment',
+ // component: Layout,
+ // redirect: '/securityEquipment',
+ // children: [{
+ // path: 'equipments',
+ // name: '装备管理',
+ // meta: {
+ // i18n: 'securityEquipment'
+ // },
+ // component: () =>
+ // import( /* webpackChunkName: "views" */ '@/views/securityEquipment/equipments')
+ // }, {
+ // path: 'car',
+ // name: '车辆管理',
+ // meta: {
+ // i18n: 'car'
+ // },
+ // component: () =>
+ // import( /* webpackChunkName: "views" */ '@/views/securityEquipment/car')
+ // }, {
+ // path: 'gun',
+ // name: '车辆管理',
+ // meta: {
+ // i18n: 'gun'
+ // },
+ // component: () =>
+ // import( /* webpackChunkName: "views" */ '@/views/securityEquipment/gun')
+ // }]
+ // },
+ // {
+ // path: '/trainingRegistration',
+ // component: Layout,
+ // redirect: '/trainingRegistration/index',
+ // children: [{
+ // path: 'index',
+ // name: '保安培训报名管理',
+ // meta: {
+ // i18n: 'dict'
+ // },
+ // component: () =>
+ // import ( /* webpackChunkName: "views" */ '@/views/trainingRegistration/index')
+ // }]
+ // },
+ {
+ path: '/securityAnalysis',
+ component: Layout,
+ redirect: '/securityAnalysis/index',
+ children: [{
+ path: 'index',
+ name: '保安单位情况智能分析',
+ meta: {
+ i18n: 'dict'
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/securityAnalysis/index')
+ }]
+ }, {
+ path: '/recruitmentManagement',
+ component: Layout,
+ redirect: '/recruitmentManagement/index',
+ children: [{
+ path: 'index',
+ name: '招聘管理',
+ meta: {
+ i18n: 'dict'
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/recruitmentManagement/index')
+ }]
+ }, {
+ path: '/ownerFeedback',
+ component: Layout,
+ redirect: '/ownerFeedback/index',
+ children: [{
+ path: 'index',
+ name: '业主反馈',
+ meta: {
+ i18n: 'dict'
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/ownerFeedback/owner')
+ }]
+ }, {
+ path: '/securityUnit',
+ component: Layout,
+ redirect: '/securityUnit/index',
+ children: [{
+ path: 'index',
+ name: '保安单位信息',
+ meta: {
+ i18n: 'dict'
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/securityUnit/index')
+ }]
+ }, {
+ path: '/securityGuard',
+ component: Layout,
+ redirect: '/securityGuard/securityGuard',
+ children: [{
+ path: 'index',
+ name: '保安员查询',
+ meta: {
+ i18n: 'dict'
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/securityGuard/securityGuard')
+ }]
+ }, {
+ path: '/securityGuardDetail',
+ component: Layout,
+ redirect: '/securityGuardDetail/index',
+ children: [{
+ path: 'index',
+ name: '保安员详情',
+ meta: {
+ i18n: 'dict'
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/securityGuard/securityGuardDetail')
+ }]
+ }, {
+ path: '/resource',
+ component: Layout,
+ redirect: '/resource/attach',
+ children: [{
+ path: 'attach',
+ name: '附件上传',
+ meta: {
+ i18n: 'dict'
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/resource/attach')
+ }]
+ }, {
+ path: '/securityUnitChild',
+ component: Layout,
+ redirect: '/securityUnitChild/index',
+ children: [{
+ path: 'index',
+ name: '保安单位详情',
+ meta: {
+ i18n: 'dict'
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/securityUnitChild/index')
+ }]
+ }, {
+ path: '/securityGuard',
+ component: Layout,
+ redirect: '/securityGuard/securityGuard',
+ children: [{
+ path: 'index',
+ name: '保安员管理',
+ meta: {
+ i18n: 'dict'
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/securityGuard/securityGuard')
+ }]
+ },
+ // {
+ // path: '/dispatch/dispatch',
+ // component: Layout,
+ // redirect: '/dispatch/dispatch',
+ // children: [{
+ // path: 'index',
+ // name: '派遣服务管理',
+ // meta: {
+ // i18n: 'dict'
+ // },
+ // component: () =>
+ // import( /* webpackChunkName: "views" */ '@/views/dispatch/dispatch')
+ // }]
+ // },
+ {
+ path: '/desk',
+ component: Layout,
+ redirect: '/desk/notice',
+ children: [{
+ path: 'index',
+ name: '通知公告',
+ meta: {
+ i18n: 'dict'
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/desk/notice')
+ }]
+ }, {
+ path: '/dispatch',
+ component: Layout,
+ redirect: '/dispatch/dispatch',
+ children: [{
+ path: 'dispatch',
+ name: '派遣单位管理',
+ meta: {
+ i18n: 'dispatch'
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/dispatch/dispatch')
}, {
- path: '/info',
- component: Layout,
- redirect: '/info/index',
- children: [{
- path: 'index',
- name: '个人信息',
- meta: {
- i18n: 'info'
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/system/userinfo')
- }]
+ path: 'dispatchChildoperable',
+ name: '派遣记录管理',
+ meta: {
+ i18n: 'dispatch'
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/dispatch/dispatchChildoperable')
+ }]
+ }, {
+ path: '/dispatchChild',
+ component: Layout,
+ redirect: '/dispatchChild/index',
+ children: [{
+ path: 'index',
+ name: '派遣服务记录',
+ meta: {
+ i18n: 'dict'
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/dispatchChild/index')
+ }]
+ }, {
+ path: '/applyexam',
+ redirect: '/applyexam/papers',
+ component: Layout,
+ children: [{
+ path: 'papers',
+ name: '准考证信息',
+ meta: {
+ i18n: 'index',
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/applyexam/papers')
+ }]
+ },
+ // {
+ // path: '/equipments',
+ // component: Layout,
+ // redirect: '/equipments/index',
+ // children: [{
+ // path: 'index',
+ // name: '保安公司装备管理',
+ // meta: {
+ // i18n: 'dict'
+ // },
+ // component: () =>
+ // import( /* webpackChunkName: "views" */ '@/views/equipments/index')
+ // }]
+ // }, {
+ // path: '/car',
+ // component: Layout,
+ // redirect: '/car/index',
+ // children: [{
+ // path: 'index',
+ // name: '保安公司车辆管理',
+ // meta: {
+ // i18n: 'dict'
+ // },
+ // component: () =>
+ // import( /* webpackChunkName: "views" */ '@/views/car/index')
+ // }]
+ // }, {
+ // path: '/gun',
+ // component: Layout,
+ // redirect: '/gun/index',
+ // children: [{
+ // path: 'index',
+ // name: '保安公司枪支管理',
+ // meta: {
+ // i18n: 'dict'
+ // },
+ // component: () =>
+ // import( /* webpackChunkName: "views" */ '@/views/gun/index')
+ // }]
+ // },
+ // {
+ // path: '/securityEquipment',
+ // component: Layout,
+ // redirect: '/securityEquipment',
+ // children: [{
+ // path: 'equipments',
+ // name: '装备管理',
+ // meta: {
+ // i18n: 'securityEquipment'
+ // },
+ // component: () =>
+ // import( /* webpackChunkName: "views" */ '@/views/securityEquipment/equipments')
+ // }, {
+ // path: 'car',
+ // name: '车辆管理',
+ // meta: {
+ // i18n: 'car'
+ // },
+ // component: () =>
+ // import( /* webpackChunkName: "views" */ '@/views/securityEquipment/car')
+ // }, {
+ // path: 'gun',
+ // name: '车辆管理',
+ // meta: {
+ // i18n: 'gun'
+ // },
+ // component: () =>
+ // import( /* webpackChunkName: "views" */ '@/views/securityEquipment/gun')
+ // }]
+ // },
+ {
+ path: '/trainingRegistration',
+ component: Layout,
+ peixun: true,
+ redirect: '/trainingRegistration/index',
+ children: [{
+ path: 'index',
+ name: '培训报名列表',
+ meta: {
+ i18n: 'dict'
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/trainingRegistration/index')
+ }]
+ },
+
+
+ // {
+ // path: '/trainExam',
+ // component: Layout,
+ // redirect: '/trainExam/index',
+ // children: [{
+ // path: 'index',
+ // name: '考试申请',
+ // meta: {
+ // i18n: 'dict'
+ // },
+ // component: () =>
+ // import ( /* webpackChunkName: "views" */ '@/views/trainExam/index')
+ // }]
+ // },
+ // {
+ // path: '/applyexam',
+ // redirect: '/applyexam/index',
+ // component: Layout,
+ // children: [{
+ // path: 'index',
+ // name: '报名考试',
+ // meta: {
+ // i18n: 'index',
+ // },
+ // component: () =>
+ // import( /* webpackChunkName: "views" */ '@/views/applyexam/index')
+ // }]
+ // },
+ {
+ path: '/applydetailed',
+ redirect: '/applydetailed/index',
+ component: Layout,
+ children: [{
+ path: 'index',
+ name: '报名清册',
+ meta: {
+ i18n: 'index',
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/applydetailed/index')
+ }]
+ },
+ {
+ path: '/trainApply',
+ redirect: '/trainApply/index',
+ component: Layout,
+ children: [{
+ path: 'index',
+ name: '报名清册',
+ meta: {
+ i18n: 'index',
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/trainApply/index')
+ }]
+ },
+ {
+ path: '/startexam',
+ redirect: '/startexam/index',
+ component: Layout,
+ children: [{
+ path: 'index',
+ name: '开始考试',
+ meta: {
+ i18n: 'index',
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/startexam/index')
+ }]
+ },
+ {
+ path: '/titleDetails',
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/exam/topicDetails')
+ },
+ {
+ path: '',
+ component: Layout,
+ children: [{
+ path: '/exam/subjects/:id',
+ component: () =>
+ import('@/views/exam/examSubjects'),
+ name: '题目管理',
+ title: '题目管理',
+ noCache: true
+ }]
+ },
+ {
+ path: '',
+ component: Layout,
+ children: [{
+ path: '/startexam/:id',
+ component: () =>
+ import('@/views/startexam/index'),
+ name: '开始考试',
+ title: '开始考试',
+ noCache: true
+ }]
+ },
+ // {
+ // path: '/traincompany',
+ // component: Layout,
+ // redirect: '/traincompany/index',
+ // children: [{
+ // path: 'index',
+ // name: '培训公司查询',
+ // meta: {
+ // i18n: 'dict'
+ // },
+ // component: () =>
+ // import ( /* webpackChunkName: "views" */ '@/views/traincompany/index')
+ // }]
+ // },
+ {
+ path: '/dispatchChildoperableSee',
+ component: Layout,
+ redirect: '/dispatchChildoperableSee/index',
+ children: [{
+ path: 'index',
+ name: '派遣记录',
+ meta: {
+ i18n: 'index'
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/dispatch/dispatchChildoperableSee')
+ }]
+ },
+ {
+ path: '/expression',
+ component: Layout,
+ redirect: '/expression/index',
+ children: [{
+ path: 'index',
+ name: '表现记录',
+ meta: {
+ i18n: 'index'
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/people/expression')
+ }]
+ }, {
+ path: '/job',
+ component: Layout,
+ redirect: '/job/index',
+ children: [{
+ path: 'index',
+ name: '从业记录',
+ meta: {
+ i18n: 'index'
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/people/job')
+ }]
+ }, {
+ path: '/resource',
+ redirect: '/resource/uploadNotice',
+ component: Layout,
+ children: [{
+ path: 'uploadNotice',
+ name: '通知公告>附件上传',
+ meta: {
+ i18n: 'index',
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/resource/uploadNotice')
+ }]
+ },
+ {
+ path: '/applydetailed',
+ redirect: '/applydetailed/papers',
+ component: Layout,
+ children: [{
+ path: 'papers',
+ name: '报名清册信息',
+ meta: {
+ i18n: 'index',
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/applydetailed/papers')
+ }]
+ },
+ {
+ path: '/exam',
+ redirect: '/exam/papers',
+ component: Layout,
+ children: [{
+ path: 'papers',
+ name: '保安证',
+ meta: {
+ i18n: 'index',
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/exam/papers')
+ }]
+ }, {
+ path: '/resource',
+ redirect: '/resource/uploadPolicyRelease',
+ component: Layout,
+ children: [{
+ path: 'uploadPolicyRelease',
+ name: '政策发布>附件上传',
+ meta: {
+ i18n: 'index',
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/resource/uploadPolicyRelease')
+ }]
+ }, {
+ path: '/securityMan',
+ redirect: '/securityMan/index',
+ component: Layout,
+ children: [{
+ path: 'index',
+ name: '保安员信息',
+ meta: {
+ i18n: 'index',
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/securityMan/index')
+ }]
+ }, {
+ path: '/attachOnce',
+ redirect: '/resource/attachOnce',
+ component: Layout,
+ children: [{
+ path: 'index',
+ name: '附件查看',
+ meta: {
+ i18n: 'index',
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/resource/attachOnce')
+ }]
+ }, {
+ path: '/resource',
+ redirect: '/resource/uploadNotification',
+ component: Layout,
+ children: [{
+ path: 'uploadNotification',
+ name: '通知通报>附件上传',
+ meta: {
+ i18n: 'index',
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/resource/uploadNotification')
+ }]
+ }, {
+ path: '/trainExam',
+ component: Layout,
+ children: [{
+ path: 'check',
+ name: '培训考试审核',
+ meta: {
+ i18n: 'index',
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/trainExam/index')
}, {
- path: '/work/process/leave',
- component: Layout,
- redirect: '/work/process/leave/form',
- children: [{
- path: 'form/:processDefinitionId',
- name: '请假流程',
- meta: {
- i18n: 'work'
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/work/process/leave/form')
- }, {
- path: 'handle/:taskId/:processInstanceId/:businessId',
- name: '处理请假流程',
- meta: {
- i18n: 'work'
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/work/process/leave/handle')
- }, {
- path: 'detail/:processInstanceId/:businessId',
- name: '请假流程详情',
- meta: {
- i18n: 'work'
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/work/process/leave/detail')
- }]
- }, {
- path: '/securityAnalysis',
- component: Layout,
- redirect: '/securityAnalysis/index',
- children: [{
- path: 'index',
- name: '保安单位情况智能分析',
- meta: {
- i18n: 'dict'
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/securityAnalysis/index')
- }]
- }, {
- path: '/recruitmentManagement',
- component: Layout,
- redirect: '/recruitmentManagement/index',
- children: [{
- path: 'index',
- name: '招聘管理',
- meta: {
- i18n: 'dict'
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/recruitmentManagement/index')
- }]
- }, {
- path: '/securityUnit',
- component: Layout,
- redirect: '/securityUnit/index',
- children: [{
- path: 'index',
- name: '保安单位信息',
- meta: {
- i18n: 'dict'
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/securityUnit/index')
- }]
- }, {
- path: '/securityGuard',
- component: Layout,
- redirect: '/securityGuard/securityGuard',
- children: [{
- path: 'index',
- name: '保安员管理',
- meta: {
- i18n: 'dict'
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/securityGuard/securityGuard')
- }]
- }, {
- path: '/securityGuardOnce',
- component: Layout,
- redirect: '/securityGuard/securityGuardOnce',
- children: [{
- path: 'index',
- name: '保安员查询',
- meta: {
- i18n: 'dict'
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/securityGuard/securityGuardOnce')
- }]
- }, {
- path: '/securityGuardDetail',
- component: Layout,
- redirect: '/securityGuardDetail/index',
- children: [{
- path: 'index',
- name: '保安员详情',
- meta: {
- i18n: 'dict'
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/securityGuard/securityGuardDetail')
- }]
- }, {
- path: '/resource',
- component: Layout,
- redirect: '/resource/attach',
- children: [{
- path: 'attach',
- name: '附件上传',
- meta: {
- i18n: 'dict'
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/resource/attach')
- }]
- }, {
- path: '/securityUnitChild',
- component: Layout,
- redirect: '/securityUnitChild/index',
- children: [{
- path: 'index',
- name: '保安单位详情',
- meta: {
- i18n: 'dict'
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/securityUnitChild/index')
- }]
- }, {
- path: '/securityGuard',
- component: Layout,
- redirect: '/securityGuard/securityGuard',
- children: [{
- path: 'index',
- name: '保安员管理',
- meta: {
- i18n: 'dict'
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/securityGuard/securityGuard')
- }]
- },
- // {
- // path: '/dispatch/dispatch',
- // component: Layout,
- // redirect: '/dispatch/dispatch',
- // children: [{
- // path: 'index',
- // name: '派遣服务管理',
- // meta: {
- // i18n: 'dict'
- // },
- // component: () =>
- // import( /* webpackChunkName: "views" */ '@/views/dispatch/dispatch')
- // }]
- // },
- {
- path: '/desk',
- component: Layout,
- redirect: '/desk/notice',
- children: [{
- path: 'index',
- name: '通知公告',
- meta: {
- i18n: 'dict'
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/desk/notice')
- }]
+ path: 'query',
+ name: '培训申请查询',
+ meta: {
+ i18n: 'index',
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/trainExam/index')
},
{
- path: '/talk',
- component: Layout,
- redirect: '/talk/talk',
- children: [{
- path: 'index',
- name: '心理咨询',
- meta: {
- i18n: 'dict'
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/talk/talk')
- }]
- },
- {
- path: '/workreport',
- component: Layout,
- redirect: '/workreport/workreport',
- children: [{
- path: 'workreport',
- name: '发起的汇报',
- meta: {
- i18n: 'dict'
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/workreport/workreport')
- }]
- },
- {
- path: '/workreport',
- component: Layout,
- redirect: '/workreport/workreply',
- children: [{
- path: 'workreply',
- name: '接收的汇报',
- meta: {
- i18n: 'dict'
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/workreport/workreply')
- }]
- }, {
- path: '/resource',
- component: Layout,
- redirect: '/resource/attachCopy',
- children: [{
- path: 'attachCopy',
- name: '保安单位附件上传',
- meta: {
- i18n: 'dict'
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/resource/attachCopy')
- }]
- },
- // {
- // path: '/dispatch',
- // component: Layout,
- // redirect: '/dispatch/dispatch',
- // children: [{
- // path: 'dispatch',
- // name: '派遣单位管理',
- // meta: {
- // i18n: 'dispatch'
- // },
- // component: () =>
- // import( /* webpackChunkName: "views" */ '@/views/dispatch/dispatch')
- // }, {
- // path: 'dispatchChildoperable',
- // name: '派遣记录管理',
- // meta: {
- // i18n: 'dispatch'
- // },
- // component: () =>
- // import( /* webpackChunkName: "views" */ '@/views/dispatch/dispatchChildoperable')
- // }]
- // },
- // {
- // path: '/dispatchChild',
- // component: Layout,
- // redirect: '/dispatchChild/index',
- // children: [{
- // path: 'index',
- // name: '派遣服务记录',
- // meta: {
- // i18n: 'dict'
- // },
- // component: () =>
- // import( /* webpackChunkName: "views" */ '@/views/dispatchChild/index')
- // }]
- // },
- // {
- // path: '/equipments',
- // component: Layout,
- // redirect: '/equipments/index',
- // children: [{
- // path: 'index',
- // name: '保安公司装备管理',
- // meta: {
- // i18n: 'dict'
- // },
- // component: () =>
- // import( /* webpackChunkName: "views" */ '@/views/equipments/index')
- // }]
- // }, {
- // path: '/car',
- // component: Layout,
- // redirect: '/car/index',
- // children: [{
- // path: 'index',
- // name: '保安公司车辆管理',
- // meta: {
- // i18n: 'dict'
- // },
- // component: () =>
- // import( /* webpackChunkName: "views" */ '@/views/car/index')
- // }]
- // }, {
- // path: '/gun',
- // component: Layout,
- // redirect: '/gun/index',
- // children: [{
- // path: 'index',
- // name: '保安公司枪支管理',
- // meta: {
- // i18n: 'dict'
- // },
- // component: () =>
- // import( /* webpackChunkName: "views" */ '@/views/gun/index')
- // }]
- // },
- // {
- // path: '/securityEquipment',
- // component: Layout,
- // redirect: '/securityEquipment',
- // children: [{
- // path: 'equipments',
- // name: '装备管理',
- // meta: {
- // i18n: 'securityEquipment'
- // },
- // component: () =>
- // import( /* webpackChunkName: "views" */ '@/views/securityEquipment/equipments')
- // }, {
- // path: 'car',
- // name: '车辆管理',
- // meta: {
- // i18n: 'car'
- // },
- // component: () =>
- // import( /* webpackChunkName: "views" */ '@/views/securityEquipment/car')
- // }, {
- // path: 'gun',
- // name: '车辆管理',
- // meta: {
- // i18n: 'gun'
- // },
- // component: () =>
- // import( /* webpackChunkName: "views" */ '@/views/securityEquipment/gun')
- // }]
- // },
- // {
- // path: '/trainingRegistration',
- // component: Layout,
- // redirect: '/trainingRegistration/index',
- // children: [{
- // path: 'index',
- // name: '保安培训报名管理',
- // meta: {
- // i18n: 'dict'
- // },
- // component: () =>
- // import ( /* webpackChunkName: "views" */ '@/views/trainingRegistration/index')
- // }]
- // },
- {
- path: '/securityAnalysis',
- component: Layout,
- redirect: '/securityAnalysis/index',
- children: [{
- path: 'index',
- name: '保安单位情况智能分析',
- meta: {
- i18n: 'dict'
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/securityAnalysis/index')
- }]
- }, {
- path: '/recruitmentManagement',
- component: Layout,
- redirect: '/recruitmentManagement/index',
- children: [{
- path: 'index',
- name: '招聘管理',
- meta: {
- i18n: 'dict'
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/recruitmentManagement/index')
- }]
- }, {
- path: '/ownerFeedback',
- component: Layout,
- redirect: '/ownerFeedback/index',
- children: [{
- path: 'index',
- name: '业主反馈',
- meta: {
- i18n: 'dict'
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/ownerFeedback/owner')
- }]
- }, {
- path: '/securityUnit',
- component: Layout,
- redirect: '/securityUnit/index',
- children: [{
- path: 'index',
- name: '保安单位信息',
- meta: {
- i18n: 'dict'
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/securityUnit/index')
- }]
- }, {
- path: '/securityGuard',
- component: Layout,
- redirect: '/securityGuard/securityGuard',
- children: [{
- path: 'index',
- name: '保安员查询',
- meta: {
- i18n: 'dict'
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/securityGuard/securityGuard')
- }]
- }, {
- path: '/securityGuardDetail',
- component: Layout,
- redirect: '/securityGuardDetail/index',
- children: [{
- path: 'index',
- name: '保安员详情',
- meta: {
- i18n: 'dict'
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/securityGuard/securityGuardDetail')
- }]
- }, {
- path: '/resource',
- component: Layout,
- redirect: '/resource/attach',
- children: [{
- path: 'attach',
- name: '附件上传',
- meta: {
- i18n: 'dict'
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/resource/attach')
- }]
- }, {
- path: '/securityUnitChild',
- component: Layout,
- redirect: '/securityUnitChild/index',
- children: [{
- path: 'index',
- name: '保安单位详情',
- meta: {
- i18n: 'dict'
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/securityUnitChild/index')
- }]
- }, {
- path: '/securityGuard',
- component: Layout,
- redirect: '/securityGuard/securityGuard',
- children: [{
- path: 'index',
- name: '保安员管理',
- meta: {
- i18n: 'dict'
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/securityGuard/securityGuard')
- }]
- },
- // {
- // path: '/dispatch/dispatch',
- // component: Layout,
- // redirect: '/dispatch/dispatch',
- // children: [{
- // path: 'index',
- // name: '派遣服务管理',
- // meta: {
- // i18n: 'dict'
- // },
- // component: () =>
- // import( /* webpackChunkName: "views" */ '@/views/dispatch/dispatch')
- // }]
- // },
- {
- path: '/desk',
- component: Layout,
- redirect: '/desk/notice',
- children: [{
- path: 'index',
- name: '通知公告',
- meta: {
- i18n: 'dict'
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/desk/notice')
- }]
- }, {
- path: '/dispatch',
- component: Layout,
- redirect: '/dispatch/dispatch',
- children: [{
- path: 'dispatch',
- name: '派遣单位管理',
- meta: {
- i18n: 'dispatch'
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/dispatch/dispatch')
- }, {
- path: 'dispatchChildoperable',
- name: '派遣记录管理',
- meta: {
- i18n: 'dispatch'
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/dispatch/dispatchChildoperable')
- }]
- }, {
- path: '/dispatchChild',
- component: Layout,
- redirect: '/dispatchChild/index',
- children: [{
- path: 'index',
- name: '派遣服务记录',
- meta: {
- i18n: 'dict'
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/dispatchChild/index')
- }]
- }, {
- path: '/applyexam',
- redirect: '/applyexam/papers',
- component: Layout,
- children: [{
- path: 'papers',
- name: '准考证信息',
- meta: {
- i18n: 'index',
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/applyexam/papers')
- }]
- },
- // {
- // path: '/equipments',
- // component: Layout,
- // redirect: '/equipments/index',
- // children: [{
- // path: 'index',
- // name: '保安公司装备管理',
- // meta: {
- // i18n: 'dict'
- // },
- // component: () =>
- // import( /* webpackChunkName: "views" */ '@/views/equipments/index')
- // }]
- // }, {
- // path: '/car',
- // component: Layout,
- // redirect: '/car/index',
- // children: [{
- // path: 'index',
- // name: '保安公司车辆管理',
- // meta: {
- // i18n: 'dict'
- // },
- // component: () =>
- // import( /* webpackChunkName: "views" */ '@/views/car/index')
- // }]
- // }, {
- // path: '/gun',
- // component: Layout,
- // redirect: '/gun/index',
- // children: [{
- // path: 'index',
- // name: '保安公司枪支管理',
- // meta: {
- // i18n: 'dict'
- // },
- // component: () =>
- // import( /* webpackChunkName: "views" */ '@/views/gun/index')
- // }]
- // },
- // {
- // path: '/securityEquipment',
- // component: Layout,
- // redirect: '/securityEquipment',
- // children: [{
- // path: 'equipments',
- // name: '装备管理',
- // meta: {
- // i18n: 'securityEquipment'
- // },
- // component: () =>
- // import( /* webpackChunkName: "views" */ '@/views/securityEquipment/equipments')
- // }, {
- // path: 'car',
- // name: '车辆管理',
- // meta: {
- // i18n: 'car'
- // },
- // component: () =>
- // import( /* webpackChunkName: "views" */ '@/views/securityEquipment/car')
- // }, {
- // path: 'gun',
- // name: '车辆管理',
- // meta: {
- // i18n: 'gun'
- // },
- // component: () =>
- // import( /* webpackChunkName: "views" */ '@/views/securityEquipment/gun')
- // }]
- // },
- {
- path: '/trainingRegistration',
- component: Layout,
- peixun: true,
- redirect: '/trainingRegistration/index',
- children: [{
- path: 'index',
- name: '培训报名列表',
- meta: {
- i18n: 'dict'
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/trainingRegistration/index')
- }]
- },
- // {
- // path: '/trainExam',
- // component: Layout,
- // redirect: '/trainExam/index',
- // children: [{
- // path: 'index',
- // name: '考试申请',
- // meta: {
- // i18n: 'dict'
- // },
- // component: () =>
- // import ( /* webpackChunkName: "views" */ '@/views/trainExam/index')
- // }]
- // },
- // {
- // path: '/applyexam',
- // redirect: '/applyexam/index',
- // component: Layout,
- // children: [{
- // path: 'index',
- // name: '报名考试',
- // meta: {
- // i18n: 'index',
- // },
- // component: () =>
- // import( /* webpackChunkName: "views" */ '@/views/applyexam/index')
- // }]
- // },
- {
- path: '/applydetailed',
- redirect: '/applydetailed/index',
- component: Layout,
- children: [{
- path: 'index',
- name: '报名清册',
- meta: {
- i18n: 'index',
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/applydetailed/index')
- }]
- },
- {
- path: '/trainApply',
- redirect: '/trainApply/index',
- component: Layout,
- children: [{
- path: 'index',
- name: '报名清册',
- meta: {
- i18n: 'index',
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/trainApply/index')
- }]
- },
- {
- path: '/startexam',
- redirect: '/startexam/index',
- component: Layout,
- children: [{
- path: 'index',
- name: '开始考试',
- meta: {
- i18n: 'index',
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/startexam/index')
- }]
- },
- {
- path: '/titleDetails',
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/exam/topicDetails')
- },
- {
- path: '',
- component: Layout,
- children: [{
- path: '/exam/subjects/:id',
- component: () =>
- import ('@/views/exam/examSubjects'),
- name: '题目管理',
- title: '题目管理',
- noCache: true
- }]
- },
- {
- path: '',
- component: Layout,
- children: [{
- path: '/startexam/:id',
- component: () =>
- import ('@/views/startexam/index'),
- name: '开始考试',
- title: '开始考试',
- noCache: true
- }]
- },
- // {
- // path: '/traincompany',
- // component: Layout,
- // redirect: '/traincompany/index',
- // children: [{
- // path: 'index',
- // name: '培训公司查询',
- // meta: {
- // i18n: 'dict'
- // },
- // component: () =>
- // import ( /* webpackChunkName: "views" */ '@/views/traincompany/index')
- // }]
- // },
- {
- path: '/dispatchChildoperableSee',
- component: Layout,
- redirect: '/dispatchChildoperableSee/index',
- children: [{
- path: 'index',
- name: '派遣记录',
- meta: {
- i18n: 'index'
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/dispatch/dispatchChildoperableSee')
- }]
- },
- {
- path: '/expression',
- component: Layout,
- redirect: '/expression/index',
- children: [{
- path: 'index',
- name: '表现记录',
- meta: {
- i18n: 'index'
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/people/expression')
- }]
- }, {
- path: '/job',
- component: Layout,
- redirect: '/job/index',
- children: [{
- path: 'index',
- name: '从业记录',
- meta: {
- i18n: 'index'
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/people/job')
- }]
- }, {
- path: '/resource',
- redirect: '/resource/uploadNotice',
- component: Layout,
- children: [{
- path: 'uploadNotice',
- name: '通知公告>附件上传',
- meta: {
- i18n: 'index',
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/resource/uploadNotice')
- }]
- },
- {
- path: '/applydetailed',
- redirect: '/applydetailed/papers',
- component: Layout,
- children: [{
- path: 'papers',
- name: '报名清册信息',
- meta: {
- i18n: 'index',
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/applydetailed/papers')
- }]
- },
- {
- path: '/exam',
- redirect: '/exam/papers',
- component: Layout,
- children: [{
- path: 'papers',
- name: '保安证',
- meta: {
- i18n: 'index',
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/exam/papers')
- }]
- }, {
- path: '/resource',
- redirect: '/resource/uploadPolicyRelease',
- component: Layout,
- children: [{
- path: 'uploadPolicyRelease',
- name: '政策发布>附件上传',
- meta: {
- i18n: 'index',
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/resource/uploadPolicyRelease')
- }]
- }, {
- path: '/securityMan',
- redirect: '/securityMan/index',
- component: Layout,
- children: [{
- path: 'index',
- name: '保安员信息',
- meta: {
- i18n: 'index',
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/securityMan/index')
- }]
- }, {
- path: '/attachOnce',
- redirect: '/resource/attachOnce',
- component: Layout,
- children: [{
- path: 'index',
- name: '附件查看',
- meta: {
- i18n: 'index',
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/resource/attachOnce')
- }]
- }, {
- path: '/resource',
- redirect: '/resource/uploadNotification',
- component: Layout,
- children: [{
- path: 'uploadNotification',
- name: '通知通报>附件上传',
- meta: {
- i18n: 'index',
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/resource/uploadNotification')
- }]
- }, {
- path: '/trainExam',
- component: Layout,
- children: [{
- path: 'check',
- name: '培训考试审核',
- meta: {
- i18n: 'index',
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/trainExam/index')
- }, {
- path: 'query',
- name: '培训申请查询',
- meta: {
- i18n: 'index',
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/trainExam/index')
- }]
- },
- {
- path: '/accreditationRecords',
- component: Layout,
- redirect: '/accreditationRecords/accreditationRecords',
- children: [{
- path: 'index',
- name: '制证管理',
- meta: {
- i18n: 'index'
- },
- component: () =>
- import ( /* webpackChunkName: "views" */ '@/views/accreditationRecords/accreditationRecords')
- }]
- }
-]
\ No newline at end of file
+ path: 'modifiedGrades',
+ name: '修改成绩管理',
+ meta: {
+ i18n: 'modifiedGrades'
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/trainExam/modifiedGrades')
+ }]
+ },
+
+ {
+ path: '/accreditationRecords',
+ component: Layout,
+ redirect: '/accreditationRecords/accreditationRecords',
+ children: [{
+ path: 'index',
+ name: '制证管理',
+ meta: {
+ i18n: 'index'
+ },
+ component: () =>
+ import( /* webpackChunkName: "views" */ '@/views/accreditationRecords/accreditationRecords')
+ }]
+ }
+]
diff --git a/src/views/trainExam/modifiedGrades.vue b/src/views/trainExam/modifiedGrades.vue
new file mode 100644
index 0000000..961c14f
--- /dev/null
+++ b/src/views/trainExam/modifiedGrades.vue
@@ -0,0 +1,627 @@
+/*
+ * @Author: Morpheus
+ * @Date: 2021-07-05 16:31:54
+ * @Last Modified by: Morpheus
+ * @Last Modified time: 2021-11-04 18:54:44
+ * menu-name 成绩管理
+ */
+<template>
+ <el-row class="morpheus-box">
+ <el-col :span="24"
+ class="recruitmentManagement">
+ <el-card>
+ <div class="exam-card-body">
+ <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"
+ @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="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> -->
+
+ </template>
+
+ <template slot-scope="{ type, size, row }"
+ slot="menu">
+
+ <el-button :type="type"
+ :size="size"
+ icon="el-icon-folder-checked"
+ v-if="permission.trainExam_check"
+ @click="handleAudit(row)">审核
+ </el-button>
+ </template>
+
+ </avue-crud>
+
+ </div>
+ </el-card>
+ </el-col>
+
+ <el-dialog title="成绩修改审核"
+ :visible.sync="dialogFormVisible"
+ modal-append-to-body="false"
+ append-to-body="true"
+ :close-on-click-model="true">
+ <avue-form ref="formAudit"
+ v-model="Audit"
+ :option="optionAudit"
+ @reset-change="emptytChange"
+ @submit="submit"></avue-form>
+ </el-dialog>
+
+ </el-row>
+</template>
+
+<script>
+import { getList, update } from "@/api/examapi/modifiedGrades";
+import { mapGetters } from "vuex";
+import { getRoleDetail } from "@/api/system/role";
+export default {
+
+ data () {
+
+ return {
+ Audit: {},
+ dialogFormVisible: false,
+ optionAudit: {
+ height: "auto",
+ calcHeight: 30,
+ dialogWidth: 1000,
+ tip: false,
+ searchShow: true,
+ searchMenuSpan: 6,
+ border: true, //liu
+ index: true,
+ stripe: true,
+ viewBtn: false,
+ addBtn: false,
+ editBtn: false,
+ selection: true,
+ excelBtn: false,
+ menuWidth: 230,
+ dialogClickModal: false,
+ column: [{
+ label: "审核状态",
+ search: true,
+ searchSpan: 5,
+ span: 24,
+ prop: "status",
+ slot: true,
+ editDisplay: false,
+ addDisplay: false,
+ type: "select",
+ rules: [{
+ required: true,
+ message: "请选择审核类型",
+ trigger: "blur"
+ }],
+ dicData: [{
+ label: "待审核",
+ value: 1,
+ },
+ {
+ label: "审核通过",
+ value: 2,
+ },
+ {
+ label: "审核不通过",
+ value: 3,
+ }
+ ]
+ },
+ {
+ label: "审核明细",
+ span: 24,
+ type: "textarea",
+ prop: "auditDetail"
+ }
+ ],
+ },
+ obj: {
+ name: "张三",
+ },
+ questionBankOption: {
+ // 操作栏多余按钮去除
+ delBtn: false,
+ editBtn: true,
+ addBtn: false,
+ selection: false,
+ // 导出按钮
+ // excelBtn: true,
+ // excelBtnText: "成绩导出",
+ viewBtn: true,
+ // title: '成绩',
+ align: "center",
+ height: "auto",
+ calcHeight: 80,
+ tip: false,
+ searchShow: true,
+ searchMenuSpan: 4,
+ index: true,
+ indexLabel: "序号",
+ //dialogType: 'drawer',
+ dialogClickModal: false,
+ // 操作栏宽度
+ menu: true,
+ menuWidth: 295,
+ labelWidth: 120,
+ column: [
+ {
+ label: "考试名称",
+ prop: "examName",
+ search: true,
+ searchSpan: 5,
+ slot: true,
+ viewDisplay: true,
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: true,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: true,
+ viewDisabled: true,
+ // 表单编辑时是否可见
+ editDisplay: true,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ rules: [
+ {
+ required: true,
+ message: "请输入试卷名称",
+ trigger: "blur",
+ },
+ ],
+ width: 210,
+ // overHidden:true,
+ },
+
+ {
+ label: "姓名",
+ prop: "realName",
+ search: true,
+ searchSpan: 3,
+ slot: true,
+ viewDisplay: true,
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: true,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: true,
+ viewDisabled: true,
+ // 表单编辑时是否可见
+ editDisplay: true,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ rules: [
+ {
+ required: true,
+ message: "请输入试卷名称",
+ trigger: "blur",
+ },
+ ],
+ width: 80,
+ // overHidden:true,
+ },
+
+ {
+ label: "所属公司",
+ prop: "deptName",
+ search: true,
+ searchSpan: 4,
+ // dicUrl: '/api/blade-system/dept/tree',
+ // props: {
+ // label: "title",
+ // value: "id",
+ // },
+ slot: true,
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: true,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: true,
+ // 表单编辑时是否可见
+ editDisplay: true,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ rules: [
+ {
+ required: true,
+ message: "请输入所属公司",
+ trigger: "blur",
+ },
+ ],
+ width: 230,
+ },
+
+ {
+ label: "身份证号",
+ prop: "idCardNo",
+ 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: "原理论成绩",
+ prop: "oldScore",
+ slot: true,
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: true,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: true,
+ // 表单编辑时是否可见
+ editDisplay: true,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ width: 88
+ },
+
+ {
+ label: "现理论成绩",
+ prop: "newScore",
+ slot: true,
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: true,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: false,
+ // 表单编辑时是否可见
+ editDisplay: true,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ width: 88
+ },
+
+ {
+ label: "申请理由",
+ prop: "applyCause",
+ slot: true,
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: true,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: true,
+ // 表单编辑时是否可见
+ editDisplay: true,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ },
+
+ {
+ label: "修改申请时间",
+ prop: "createTime",
+ type: "date",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
+ slot: true,
+ searchSpan: 4,
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: false,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: false,
+ // 表单编辑时是否可见
+ editDisplay: false,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ viewDisplay: false,
+ width: 120
+ },
+
+ {
+ label: "审核时间",
+ prop: "auditTime",
+ type: "date",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
+ slot: true,
+ searchSpan: 4,
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: false,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: false,
+ // 表单编辑时是否可见
+ editDisplay: false,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ viewDisplay: false,
+ width: 120
+ },
+
+ {
+ label: "审核状态",
+ prop: "status",
+ type: "select",
+ slot: true,
+ search: true,
+ searchSpan: 3,
+ dicData: [
+ {
+ label: "待审核",
+ value: 1,
+ },
+ {
+ label: "审核通过",
+ value: 2,
+ },
+ {
+ label: "审核不通过",
+ value: 3,
+ }
+ ],
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: true,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: true,
+ // 表单编辑时是否可见
+ editDisplay: true,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ width: 96
+ },
+
+ {
+ label: "审核明细",
+ prop: "auditDetail",
+ slot: true,
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: true,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: true,
+ // 表单编辑时是否可见
+ editDisplay: true,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ width: 68,
+ }
+ ],
+ },
+ questionBankSearch: {},
+ questionBankLoading: true,
+ questionBankData: [],
+ questionBankPage: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 16,
+ },
+ questionBankQuery: {},
+ questionBankSelectionList: [],
+
+ };
+ },
+ created () { },
+ mounted () { },
+ computed: {
+ ...mapGetters(["userInfo", "permission"]),
+ permissionList () {
+ return {
+ addBtn: this.vaildData(null, false),
+ viewBtn: this.vaildData(
+ this.permission.trainExam_performance_view,
+ false
+ ),
+ delBtn: this.vaildData(null, false),
+ editBtn: this.vaildData(
+ this.permission.trainExam_performance_edit,
+ false
+ ),
+ excelBtn: this.vaildData(
+ this.permission.trainExam_performance_export,
+ false
+ ),
+ };
+ },
+ },
+ methods: {
+ getNewTime () {
+ var nowTime = new Date()
+
+ var oneHoursAgo = new Date(new Date(nowTime).getTime() - 1 * 60 * 60 * 1000)
+ var oneHoursAgoY = oneHoursAgo.getFullYear()
+ var oneHoursAgoM = oneHoursAgo.getMonth() + 1 < 10 ? '0' + (oneHoursAgo.getMonth() + 1) : oneHoursAgo.getMonth() + 1
+ var oneHoursAgoD = oneHoursAgo.getDate() < 10 ? '0' + oneHoursAgo.getDate() : oneHoursAgo.getDate()
+ var oneHoursAgoH = oneHoursAgo.getHours() < 10 ? '0' + oneHoursAgo.getHours() : oneHoursAgo.getHours()
+ var oneHoursAgom = oneHoursAgo.getMinutes() < 10 ? '0' + oneHoursAgo.getMinutes() : oneHoursAgo.getMinutes()
+ var oneHoursAgos = oneHoursAgo.getSeconds() < 10 ? '0' + oneHoursAgo.getSeconds() : oneHoursAgo.getSeconds()
+
+ /**
+ * @return 返回1小时,2小时,3小时,4小时,24小时
+ */
+ return oneHoursAgoY + '-' + oneHoursAgoM + '-' + oneHoursAgoD + ' ' + oneHoursAgoH + ':' + oneHoursAgom + ':' + oneHoursAgos
+ },
+
+ handleAudit (row) {
+ this.dialogFormVisible = true;
+ this.Audit = row;
+ },
+ //审核
+ submit (row, done, loading) {
+
+ row.auditTime = this.getNewTime()
+
+ update(row).then(
+ () => {
+ this.dialogFormVisible = false;
+ this.questionBankOnLoad(this.questionBankPage);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ done();
+ },
+ (error) => {
+ window.console.log(error);
+ loading();
+ }
+ );
+ },
+
+ questionBankOnLoad (page, params = {}) {
+ //判断角色,如果是保安公司管理员或保安,只能查看当前公司的考试成绩
+ 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 == "保安") {
+ //如果是保安公司管理员
+ params["deptId"] = that.userInfo.dept_id;
+ }
+ if (roleAlias == "培训公司管理员") {
+ //如果是培训公司管理员
+ params["trainUnitId"] = that.userInfo.dept_id;
+ }
+ that.questionBankLoading = false;
+ params["examType"] = 2;
+ getList(
+ page.currentPage,
+ page.pageSize,
+ Object.assign(params, this.questionBankQuery)
+ ).then((res) => {
+ const data = res.data.data;
+ that.questionBankPage.total = data.total;
+ that.questionBankData = data.records;
+ that.questionBankLoading = false;
+ that.questionBankSelectionClear();
+ });
+ });
+ });
+ },
+
+ questionBankSelectionClear () {
+ this.questionBankSelectionList = [];
+ this.$refs.questionBankCrud.toggleSelection();
+ },
+ questionBankSelectionChange (list) {
+ this.questionBankSelectionList = list;
+ },
+ questionBankSearchChange (params, done) {
+ this.questionBankQuery = params;
+ this.questionBankPage.currentPage = 1;
+ this.questionBankOnLoad(this.questionBankPage, params);
+ done();
+ },
+ questionBankSearchReset () {
+ this.questionBankQuery = {};
+ this.questionBankOnLoad(this.questionBankPage);
+ },
+ questionBankCurrentChange (currentPage) {
+ this.questionBankPage.currentPage = currentPage;
+ },
+ questionBankSizeChange (pageSize) {
+ this.questionBankPage.pageSize = pageSize;
+ },
+
+ questionBankRowUpdate (row, index, done, loading) {
+ update({
+ id: row.id,
+ newScore: row.newScore
+ }).then(
+ () => {
+ this.questionBankOnLoad(this.questionBankPage);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ done();
+ },
+ (error) => {
+ window.console.log(error);
+ loading();
+ }
+ );
+ },
+
+ refreshChange () {
+ this.questionBankOnLoad(this.questionBankPage, this.questionBankQuery);
+ },
+
+ },
+};
+</script>
+
+<style lang="scss" scoped>
+.morpheus-box {
+ position: relative;
+}
+</style>
diff --git a/src/views/trainExam/performance.vue b/src/views/trainExam/performance.vue
index bd5c09c..6ef70be 100644
--- a/src/views/trainExam/performance.vue
+++ b/src/views/trainExam/performance.vue
@@ -1,45 +1,48 @@
/*
* @Author: Morpheus
* @Date: 2021-07-05 16:31:54
- * @Last Modified by: liu
- * @Last Modified time: 2021-10-26 15:44:52
+ * @Last Modified by: Morpheus
+ * @Last Modified time: 2021-11-04 16:18:32
* menu-name 成绩管理
*/
<template>
- <el-row class="morpheus-box">
- <el-col :span="24" class="recruitmentManagement">
- <el-card>
- <div class="exam-card-body">
- <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"
- @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 == -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">
- {{
+ <el-row class="morpheus-box">
+ <el-col :span="24"
+ class="recruitmentManagement">
+ <el-card>
+ <div class="exam-card-body">
+ <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"
+ @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 == -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
@@ -50,794 +53,968 @@
? "缺考,成绩无效"
: ""
}}
- </template>
+ </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>
- </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>
+ </template>
- <template slot-scope="{ type, size, row }" slot="menu">
- <el-button
- 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
- >
- </template>
- </avue-crud>
+ <template slot-scope="{ type, size, row }"
+ slot="menu">
+ <el-button 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>
+ </template>
- <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
+ </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="申请修改成绩"
+ :visible.sync="gradeBoxVisible"
+ width="width"
+ :modal='true'
+ :modal-append-to-body='true'
+ :append-to-body='true'
+ :close-on-click-modal='false'
+ :close-on-press-escape='false'
+ :before-close="dialogBeforeClose">
+
+ <div>
+ <el-form ref="gradeForm"
+ :model="gradeForm"
+ :rules="rules"
+ label-width="80px"
+ label-position="left">
+
+ <el-row :gutter="24">
+ <el-col :span="12">
+ <el-form-item label="考试名称"
+ label-width="108px">
+ <el-input v-model="gradeForm.examName"
+ disabled></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="姓名"
+ label-width="108px">
+ <el-input v-model="gradeForm.securityName"
+ disabled></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+
+ <el-row :gutter="24">
+ <el-col :span="12">
+ <el-form-item label="身份证号"
+ label-width="108px">
+ <el-input v-model="gradeForm.account"
+ disabled></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="准考证号"
+ label-width="108px">
+ <el-input v-model="gradeForm.candidateNo"
+ disabled></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+
+ <el-row :gutter="24">
+ <el-col :span="12">
+ <el-form-item label="原理论成绩"
+ label-width="108px">
+ <el-input v-model="gradeForm.theoryGrade"
+ disabled></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="修改考试成绩"
+ label-width="108px"
+ prop='editGrades'>
+ <el-input v-model.number="gradeForm.editGrades"
+ autocomplete="off"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+
+ <el-row :gutter="24">
+ <el-col :span="12">
+ <el-form-item label="实操成绩"
+ label-width="108px">
+ <el-input v-model="gradeForm.learnGrade"
+ disabled></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="总成绩"
+ label-width="108px">
+ <el-input v-model="gradeForm.allGrade"
+ disabled></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+
+ <el-form-item label="修改理由"
+ label-width="108px">
+ <el-input type='textarea'
+ :rows="3"
+ placeholder="请输入修改理由"
+ resize='none'
+ v-model="gradeForm.editReason"></el-input>
+ </el-form-item>
+
+ <el-form-item style="text-align: center;"
+ label-width="0">
+ <el-button type="primary"
+ @click="uploadGrade('gradeForm')">确 定</el-button>
+ <el-button @click="gradeBoxVisible = false">取 消</el-button>
+ </el-form-item>
+
+ </el-form>
+ </div>
+
+ </el-dialog>
+
+ <!-- <el-dialog
title="打印证件"
:visible.sync="dialogVisiblezhengjian"
:modal-append-to-body="false"
> -->
- <div class="dialogVisiblezhengjian" v-if="dialogVisiblezhengjian">
- <baoanz
- :data="baoanzdata"
- :close="1"
- @close="closezhengjian"
- :closePrint="1"
- ></baoanz>
- </div>
- <!-- </el-dialog> -->
- </el-row>
+ <div class="dialogVisiblezhengjian"
+ v-if="dialogVisiblezhengjian">
+ <baoanz :data="baoanzdata"
+ :close="1"
+ @close="closezhengjian"
+ :closePrint="1"></baoanz>
+ </div>
+ <!-- </el-dialog> -->
+ </el-row>
</template>
<script>
import baoanz from "../securityGuard/baoanz.vue";
-import { getList, update, updateAbsent } from "@/api/examapi/performance";
+import { getList, update, updateAbsent, updateGrade } from "@/api/examapi/performance";
import { mapGetters } from "vuex";
import { getRoleDetail } from "@/api/system/role";
import Qs from "qs";
export default {
- components: {
- baoanz,
- },
- data() {
- var validatePass = (rule, value, callback) => {
- console.log(value);
- 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 {
- dialogVisiblezhengjian: false,
- baoanzdata: {},
- obj: {
- name: "张三",
- },
- excelBox: false,
- questionBankOption: {
- // 操作栏多余按钮去除
- delBtn: false,
- editBtn: true,
- addBtn: false,
- selection: false,
- // 导出按钮
- // excelBtn: true,
- // excelBtnText: "成绩导出",
- viewBtn: true,
- // title: '成绩',
- align: "center",
- height: "auto",
- calcHeight: 80,
- tip: false,
- searchShow: true,
- searchMenuSpan: 4,
- index: true,
- indexLabel: "序号",
- //dialogType: 'drawer',
- dialogClickModal: false,
- // 操作栏宽度
- menu: true,
- menuWidth: 295,
- labelWidth: 120,
- column: [
- {
- label: "考试时间",
- prop: "examDate",
- type: "date",
- hide: true,
- format: "yyyy-MM-dd",
- valueFormat: "yyyy-MM-dd",
- width: 140,
- slot: true,
- search: true,
- searchSpan: 4,
- // 表单新增时是否禁止
- addDisabled: false,
- // 表单新增时是否可见
- addDisplay: false,
- // 表单新增时是否为查看模式
- addDetail: false,
- // 表单编辑时是否禁止
- editDisabled: false,
- // 表单编辑时是否可见
- editDisplay: false,
- // 表单编辑时是否为查看模式
- editDetail: false,
- viewDisplay: false,
- },
- {
- label: "考试名称",
- prop: "examName",
- search: true,
- searchSpan: 5,
- slot: true,
- viewDisplay: true,
- // 表单新增时是否禁止
- addDisabled: false,
- // 表单新增时是否可见
- addDisplay: true,
- // 表单新增时是否为查看模式
- addDetail: false,
- // 表单编辑时是否禁止
- editDisabled: true,
- viewDisabled: true,
- // 表单编辑时是否可见
- editDisplay: true,
- // 表单编辑时是否为查看模式
- editDetail: false,
- rules: [
- {
- required: true,
- message: "请输入试卷名称",
- trigger: "blur",
- },
- ],
- width: 210,
- // overHidden:true,
- },
- {
- label: "姓名",
- prop: "securityName",
- search: true,
- searchSpan: 3,
- slot: true,
- viewDisplay: true,
- // 表单新增时是否禁止
- addDisabled: false,
- // 表单新增时是否可见
- addDisplay: true,
- // 表单新增时是否为查看模式
- addDetail: false,
- // 表单编辑时是否禁止
- editDisabled: true,
- viewDisabled: true,
- // 表单编辑时是否可见
- editDisplay: true,
- // 表单编辑时是否为查看模式
- editDetail: false,
- rules: [
- {
- required: true,
- message: "请输入试卷名称",
- trigger: "blur",
- },
- ],
- width: 80,
- // overHidden:true,
- },
- {
- label: "身份证号",
- prop: "account",
- 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: "准考证号",
- 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: "所属公司",
- prop: "companyName",
- search: true,
- searchSpan: 4,
- // dicUrl: '/api/blade-system/dept/tree',
- // props: {
- // label: "title",
- // value: "id",
- // },
- slot: true,
- // 表单新增时是否禁止
- addDisabled: false,
- // 表单新增时是否可见
- addDisplay: true,
- // 表单新增时是否为查看模式
- addDetail: false,
- // 表单编辑时是否禁止
- editDisabled: true,
- // 表单编辑时是否可见
- editDisplay: true,
- // 表单编辑时是否为查看模式
- editDetail: false,
- rules: [
- {
- required: true,
- message: "请输入所属公司",
- trigger: "blur",
- },
- ],
- width: 230,
- },
- {
- label: "考试开始时间",
- prop: "examTime",
- type: "datetime",
- // span: 24,
- format: "yyyy-MM-dd HH:mm:ss",
- valueFormat: "yyyy-MM-dd HH:mm:ss",
- width: 140,
- slot: true,
- // 表单新增时是否禁止
- addDisabled: false,
- // 表单新增时是否可见
- addDisplay: true,
- // 表单新增时是否为查看模式
- addDetail: false,
- // 表单编辑时是否禁止
- editDisabled: true,
- // 表单编辑时是否可见
- 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: 140,
- slot: true,
- // 表单新增时是否禁止
- addDisabled: false,
- // 表单新增时是否可见
- addDisplay: true,
- // 表单新增时是否为查看模式
- addDetail: false,
- // 表单编辑时是否禁止
- editDisabled: true,
- // 表单编辑时是否可见
- editDisplay: true,
- // 表单编辑时是否为查看模式
- editDetail: false,
- },
- {
- label: "状态",
- prop: "isExam",
- type: "select",
- slot: true,
- search: true,
- searchSpan: 3,
- width: 60,
- 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: "理论成绩",
- prop: "theoryGrade",
- slot: true,
- // 表单新增时是否禁止
- addDisabled: false,
- // 表单新增时是否可见
- addDisplay: true,
- // 表单新增时是否为查看模式
- addDetail: false,
- // 表单编辑时是否禁止
- editDisabled: true,
- // 表单编辑时是否可见
- editDisplay: true,
- // 表单编辑时是否为查看模式
- editDetail: false,
- width: 68,
- },
- {
- label: "实操成绩",
- prop: "learnGrade",
- slot: true,
- // 表单新增时是否禁止
- addDisabled: false,
- // 表单新增时是否可见
- addDisplay: true,
- // 表单新增时是否为查看模式
- addDetail: false,
- // 表单编辑时是否禁止
- editDisabled: false,
- // 表单编辑时是否可见
- editDisplay: true,
- // 表单编辑时是否为查看模式
- editDetail: false,
- width: 68,
- rules: [
- { validator: validatePass, required: true, trigger: "blur" },
- ],
- },
- {
- label: "总成绩",
- prop: "allGrade",
- slot: true,
- // 表单新增时是否禁止
- addDisabled: false,
- // 表单新增时是否可见
- addDisplay: true,
- // 表单新增时是否为查看模式
- addDetail: false,
- // 表单编辑时是否禁止
- editDisabled: true,
- // 表单编辑时是否可见
- editDisplay: true,
- // 表单编辑时是否为查看模式
- editDetail: false,
- width: 58,
- rules: [
- {
- required: true,
- message: "请输入考试名称",
- trigger: "blur",
- },
- ],
- },
- {
- label: "是否合格",
- prop: "qualified",
- type: "select",
- slot: true,
- search: true,
- searchSpan: 3,
- width: 68,
- dicData: [
- {
- label: "合格",
- value: 0,
- },
- {
- label: "不合格",
- value: 1,
- },
- {
- label: "暂未录实操成绩",
- value: 2,
- },
- {
- label: "缺考,成绩无效",
- value: 3,
- },
- ],
- // 表单新增时是否禁止
- addDisabled: false,
- // 表单新增时是否可见
- addDisplay: true,
- // 表单新增时是否为查看模式
- addDetail: false,
- // 表单编辑时是否禁止
- editDisabled: true,
- // 表单编辑时是否可见
- editDisplay: true,
- // 表单编辑时是否为查看模式
- editDetail: false,
- rules: [
- {
- required: true,
- message: "请输入考试名称",
- trigger: "blur",
- },
- ],
- },
- ],
- },
- questionBankSearch: {},
- questionBankLoading: true,
- questionBankData: [],
- questionBankPage: {
- pageSize: 10,
- currentPage: 1,
- total: 16,
- },
- questionBankQuery: {},
- questionBankSelectionList: [],
- excelForm: {},
- excelOption: {
- submitBtn: false,
- emptyBtn: false,
- column: [
- {
- label: "模板上传",
- prop: "excelFile",
- type: "upload",
- drag: true,
- loadText: "模板上传中,请稍等",
- span: 24,
- propsHttp: {
- res: "data",
- },
- tip: "请上传 .xls,.xlsx 标准格式文件",
- action: "/api/examScore/import-examScore",
- },
- // {
- // label: "数据覆盖",
- // prop: "isCovered",
- // type: "switch",
- // align: "center",
- // width: 80,
- // dicData: [
- // {
- // label: "否",
- // value: 0,
- // },
- // {
- // label: "是",
- // value: 1,
- // },
- // ],
- // value: 0,
- // slot: true,
- // rules: [
- // {
- // required: true,
- // message: "请选择是否覆盖",
- // trigger: "blur",
- // },
- // ],
- // },
- {
- label: "模板下载",
- prop: "excelTemplate",
- formslot: true,
- span: 24,
- },
- ],
- },
- };
- },
- created() {},
- mounted() {},
- computed: {
- ...mapGetters(["userInfo", "permission"]),
- permissionList() {
- return {
- addBtn: this.vaildData(null, false),
- viewBtn: this.vaildData(
- this.permission.trainExam_performance_view,
- false
- ),
- delBtn: this.vaildData(null, false),
- editBtn: this.vaildData(
- this.permission.trainExam_performance_edit,
- false
- ),
- excelBtn: this.vaildData(
- this.permission.trainExam_performance_export,
- false
- ),
- };
+ components: {
+ baoanz,
},
- },
- methods: {
- openzhengjian(row) {
- this.baoanzdata = {
- realName: row.securityName,
- $sex: row.sex == 1 ? "男" : "女",
- securitynumber: row.securityNumber,
- paperTime: row.paperTime,
- avatar: row.avatar,
- };
- this.dialogVisiblezhengjian = true;
- },
- closezhengjian() {
- this.dialogVisiblezhengjian = false;
- },
- questionBankOnLoad(page, params = {}) {
- //判断角色,如果是保安公司管理员或保安,只能查看当前公司的考试成绩
- 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 == "保安") {
- //如果是保安公司管理员
- params["deptId"] = that.userInfo.dept_id;
- }
- if (roleAlias == "培训公司管理员") {
- //如果是培训公司管理员
- params["trainUnitId"] = that.userInfo.dept_id;
- }
- that.questionBankLoading = false;
- params["examType"] = 2;
- getList(
- page.currentPage,
- page.pageSize,
- Object.assign(params, this.questionBankQuery)
- ).then((res) => {
- const data = res.data.data;
- that.questionBankPage.total = data.total;
- that.questionBankData = data.records;
- that.questionBankLoading = false;
- that.questionBankSelectionClear();
- });
- });
- });
- },
- //缺考标记
- absent(row, done, loading) {
- this.$confirm("确定缺考标记?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- }).then(() => {
- row.qualified = 3;
- updateAbsent(row).then(
- () => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!",
- });
- done();
- },
- (error) => {
- window.console.log(error);
- loading();
- }
- );
- });
- },
- questionBankSelectionClear() {
- this.questionBankSelectionList = [];
- this.$refs.questionBankCrud.toggleSelection();
- },
- questionBankSelectionChange(list) {
- this.questionBankSelectionList = list;
- },
- questionBankSearchChange(params, done) {
- this.questionBankQuery = params;
- this.questionBankPage.currentPage = 1;
- this.questionBankOnLoad(this.questionBankPage, params);
- done();
- },
- questionBankSearchReset() {
- this.questionBankQuery = {};
- this.questionBankOnLoad(this.questionBankPage);
- },
- questionBankCurrentChange(currentPage) {
- this.questionBankPage.currentPage = currentPage;
- },
- questionBankSizeChange(pageSize) {
- this.questionBankPage.pageSize = pageSize;
- },
-
- questionBankRowUpdate(row, index, done, loading) {
- update({
- theoryGrade: row.theoryGrade,
- learnGrade: row.learnGrade,
- examId: row.examId,
- id: row.id,
- }).then(
- () => {
- this.questionBankOnLoad(this.questionBankPage);
- this.$message({
- type: "success",
- message: "操作成功!",
- });
- done();
- },
- (error) => {
- window.console.log(error);
- loading();
- }
- );
- },
- handleTemplate() {
- window.open(`/api/examScore/export-template`);
- },
- handleImport() {
- this.excelBox = true;
- },
- uploadAfter(res, done, loading, column) {
- window.console.log(column);
- this.excelBox = false;
- // this.$message({
- // type: "success",
- // message: "操作成功!",
- // });
- this.refreshChange();
- done();
- },
- refreshChange() {
- this.questionBankOnLoad(this.questionBankPage, this.questionBankQuery);
- },
- //成绩导出
- handleExport() {
- this.$confirm("是否导出成绩数据?", "提示", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- }).then(() => {
- //获取查询条件
- // console.log(this.questionBankSearch, 456);
- var data = {
- account: this.questionBankSearch.account,
- companyName: this.questionBankSearch.companyName,
- examDate: this.questionBankSearch.examDate,
- isExam: this.questionBankSearch.isExam,
- qualified: this.questionBankSearch.qualified,
- securityName: this.questionBankSearch.securityName,
- examName: this.questionBankSearch.examName,
+ data () {
+ var validatePass = (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();
+ }
};
- //导出
- if (
- this.userInfo.role_name == "保安公司管理员" ||
- this.userInfo.role_name == "保安"
- ) {
- //如果是保安公司管理员
- data["deptId"] = this.userInfo.dept_id;
- }
- if (this.userInfo.role_name == "培训公司管理员") {
- //如果是培训公司管理员
- data["trainUnitId"] = this.userInfo.dept_id;
- }
- data["examType"] = 2;
- //序列号url形式,用&拼接
- data = Qs.stringify(data);
- window.open(`/api/examScore/export-examScore?` + data);
- });
+
+ return {
+ rules: {
+ editGrades: [
+ { validator: validatePass, required: true, trigger: "blur" },
+ ]
+ },
+ gradeForm: {
+ id: null,
+ examName: '',
+ securityName: '',
+ account: '',
+ candidateNo: '',
+ theoryGrade: '',
+ learnGrade: '',
+ allGrade: '',
+ editGrades: '',
+ editReason: ''
+ },
+ gradeBoxVisible: false,
+ dialogVisiblezhengjian: false,
+ baoanzdata: {},
+ obj: {
+ name: "张三",
+ },
+ excelBox: false,
+ questionBankOption: {
+ // 操作栏多余按钮去除
+ delBtn: false,
+ editBtn: true,
+ addBtn: false,
+ selection: false,
+ // 导出按钮
+ // excelBtn: true,
+ // excelBtnText: "成绩导出",
+ viewBtn: true,
+ // title: '成绩',
+ align: "center",
+ height: "auto",
+ calcHeight: 80,
+ tip: false,
+ searchShow: true,
+ searchMenuSpan: 4,
+ index: true,
+ indexLabel: "序号",
+ //dialogType: 'drawer',
+ dialogClickModal: false,
+ // 操作栏宽度
+ menu: true,
+ menuWidth: 295,
+ labelWidth: 120,
+ column: [
+ {
+ label: "考试时间",
+ prop: "examDate",
+ type: "date",
+ hide: true,
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
+ width: 140,
+ slot: true,
+ search: true,
+ searchSpan: 4,
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: false,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: false,
+ // 表单编辑时是否可见
+ editDisplay: false,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ viewDisplay: false,
+ },
+ {
+ label: "考试名称",
+ prop: "examName",
+ search: true,
+ searchSpan: 5,
+ slot: true,
+ viewDisplay: true,
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: true,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: true,
+ viewDisabled: true,
+ // 表单编辑时是否可见
+ editDisplay: true,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ rules: [
+ {
+ required: true,
+ message: "请输入试卷名称",
+ trigger: "blur",
+ },
+ ],
+ width: 210,
+ // overHidden:true,
+ },
+ {
+ label: "姓名",
+ prop: "securityName",
+ search: true,
+ searchSpan: 3,
+ slot: true,
+ viewDisplay: true,
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: true,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: true,
+ viewDisabled: true,
+ // 表单编辑时是否可见
+ editDisplay: true,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ rules: [
+ {
+ required: true,
+ message: "请输入试卷名称",
+ trigger: "blur",
+ },
+ ],
+ width: 80,
+ // overHidden:true,
+ },
+ {
+ label: "身份证号",
+ prop: "account",
+ 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: "准考证号",
+ 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: "所属公司",
+ prop: "companyName",
+ search: true,
+ searchSpan: 4,
+ // dicUrl: '/api/blade-system/dept/tree',
+ // props: {
+ // label: "title",
+ // value: "id",
+ // },
+ slot: true,
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: true,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: true,
+ // 表单编辑时是否可见
+ editDisplay: true,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ rules: [
+ {
+ required: true,
+ message: "请输入所属公司",
+ trigger: "blur",
+ },
+ ],
+ width: 230,
+ },
+ {
+ label: "考试开始时间",
+ prop: "examTime",
+ type: "datetime",
+ // span: 24,
+ format: "yyyy-MM-dd HH:mm:ss",
+ valueFormat: "yyyy-MM-dd HH:mm:ss",
+ width: 140,
+ slot: true,
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: true,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: true,
+ // 表单编辑时是否可见
+ 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: 140,
+ slot: true,
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: true,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: true,
+ // 表单编辑时是否可见
+ editDisplay: true,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ },
+ {
+ label: "状态",
+ prop: "isExam",
+ type: "select",
+ slot: true,
+ search: true,
+ searchSpan: 3,
+ width: 60,
+ 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: "理论成绩",
+ prop: "theoryGrade",
+ slot: true,
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: true,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: true,
+ // 表单编辑时是否可见
+ editDisplay: true,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ width: 68,
+ },
+ {
+ label: "实操成绩",
+ prop: "learnGrade",
+ slot: true,
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: true,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: false,
+ // 表单编辑时是否可见
+ editDisplay: true,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ width: 68,
+ rules: [
+ { validator: validatePass, required: true, trigger: "blur" },
+ ],
+ },
+ {
+ label: "总成绩",
+ prop: "allGrade",
+ slot: true,
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: true,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: true,
+ // 表单编辑时是否可见
+ editDisplay: true,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ width: 58,
+ rules: [
+ {
+ required: true,
+ message: "请输入考试名称",
+ trigger: "blur",
+ },
+ ],
+ },
+ {
+ label: "是否合格",
+ prop: "qualified",
+ type: "select",
+ slot: true,
+ search: true,
+ searchSpan: 3,
+ width: 68,
+ dicData: [
+ {
+ label: "合格",
+ value: 0,
+ },
+ {
+ label: "不合格",
+ value: 1,
+ },
+ {
+ label: "暂未录实操成绩",
+ value: 2,
+ },
+ {
+ label: "缺考,成绩无效",
+ value: 3,
+ },
+ ],
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: true,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: true,
+ // 表单编辑时是否可见
+ editDisplay: true,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ rules: [
+ {
+ required: true,
+ message: "请输入考试名称",
+ trigger: "blur",
+ },
+ ],
+ },
+ ],
+ },
+ questionBankSearch: {},
+ questionBankLoading: true,
+ questionBankData: [],
+ questionBankPage: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 16,
+ },
+ questionBankQuery: {},
+ questionBankSelectionList: [],
+ excelForm: {},
+ excelOption: {
+ submitBtn: false,
+ emptyBtn: false,
+ column: [
+ {
+ label: "模板上传",
+ prop: "excelFile",
+ type: "upload",
+ drag: true,
+ loadText: "模板上传中,请稍等",
+ span: 24,
+ propsHttp: {
+ res: "data",
+ },
+ tip: "请上传 .xls,.xlsx 标准格式文件",
+ action: "/api/examScore/import-examScore",
+ },
+ // {
+ // label: "数据覆盖",
+ // prop: "isCovered",
+ // type: "switch",
+ // align: "center",
+ // width: 80,
+ // dicData: [
+ // {
+ // label: "否",
+ // value: 0,
+ // },
+ // {
+ // label: "是",
+ // value: 1,
+ // },
+ // ],
+ // value: 0,
+ // slot: true,
+ // rules: [
+ // {
+ // required: true,
+ // message: "请选择是否覆盖",
+ // trigger: "blur",
+ // },
+ // ],
+ // },
+ {
+ label: "模板下载",
+ prop: "excelTemplate",
+ formslot: true,
+ span: 24,
+ },
+ ],
+ },
+ };
},
- },
+ created () { },
+ mounted () { },
+ computed: {
+ ...mapGetters(["userInfo", "permission"]),
+ permissionList () {
+ return {
+ addBtn: this.vaildData(null, false),
+ viewBtn: this.vaildData(
+ this.permission.trainExam_performance_view,
+ false
+ ),
+ delBtn: this.vaildData(null, false),
+ editBtn: this.vaildData(
+ this.permission.trainExam_performance_edit,
+ false
+ ),
+ excelBtn: this.vaildData(
+ this.permission.trainExam_performance_export,
+ false
+ ),
+ };
+ },
+ },
+ methods: {
+ openzhengjian (row) {
+ this.baoanzdata = {
+ realName: row.securityName,
+ $sex: row.sex == 1 ? "男" : "女",
+ securitynumber: row.securityNumber,
+ paperTime: row.paperTime,
+ avatar: row.avatar,
+ };
+ this.dialogVisiblezhengjian = true;
+ },
+ closezhengjian () {
+ this.dialogVisiblezhengjian = false;
+ },
+ questionBankOnLoad (page, params = {}) {
+ //判断角色,如果是保安公司管理员或保安,只能查看当前公司的考试成绩
+ 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 == "保安") {
+ //如果是保安公司管理员
+ params["deptId"] = that.userInfo.dept_id;
+ }
+ if (roleAlias == "培训公司管理员") {
+ //如果是培训公司管理员
+ params["trainUnitId"] = that.userInfo.dept_id;
+ }
+ that.questionBankLoading = false;
+ params["examType"] = 2;
+ getList(
+ page.currentPage,
+ page.pageSize,
+ Object.assign(params, this.questionBankQuery)
+ ).then((res) => {
+ const data = res.data.data;
+ that.questionBankPage.total = data.total;
+ that.questionBankData = data.records;
+ that.questionBankLoading = false;
+ that.questionBankSelectionClear();
+ });
+ });
+ });
+ },
+ //缺考标记
+ absent (row, done, loading) {
+ this.$confirm("确定缺考标记?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ }).then(() => {
+ row.qualified = 3;
+ updateAbsent(row).then(
+ () => {
+ this.questionBankOnLoad(this.questionBankPage);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ done();
+ },
+ (error) => {
+ window.console.log(error);
+ loading();
+ }
+ );
+ });
+ },
+
+ // 修改考试成绩
+ 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
+
+ },
+
+
+ uploadGrade (formName) {
+
+ var that = this
+
+ this.$refs[formName].validate((valid) => {
+
+ if (valid) {
+ var obj = {}
+ obj.oldScore = this.gradeForm.theoryGrade
+ obj.newScore = this.gradeForm.editGrades
+ obj.applyCause = this.gradeForm.editReason
+ obj.examScoreId = this.gradeForm.id
+ obj.createUser = this.userInfo.Id
+
+ updateGrade(obj).then(
+ () => {
+ that.questionBankOnLoad(that.questionBankPage)
+ that.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+
+ that.gradeBoxVisible = false
+ },
+ (error) => {
+ window.console.log(error)
+ }
+ );
+
+ }
+
+ })
+
+ },
+
+ questionBankSelectionClear () {
+ this.questionBankSelectionList = [];
+ this.$refs.questionBankCrud.toggleSelection();
+ },
+ questionBankSelectionChange (list) {
+ this.questionBankSelectionList = list;
+ },
+ questionBankSearchChange (params, done) {
+ this.questionBankQuery = params;
+ this.questionBankPage.currentPage = 1;
+ this.questionBankOnLoad(this.questionBankPage, params);
+ done();
+ },
+ questionBankSearchReset () {
+ this.questionBankQuery = {};
+ this.questionBankOnLoad(this.questionBankPage);
+ },
+ questionBankCurrentChange (currentPage) {
+ this.questionBankPage.currentPage = currentPage;
+ },
+ questionBankSizeChange (pageSize) {
+ this.questionBankPage.pageSize = pageSize;
+ },
+
+ questionBankRowUpdate (row, index, done, loading) {
+ update({
+ theoryGrade: row.theoryGrade,
+ learnGrade: row.learnGrade,
+ examId: row.examId,
+ id: row.id,
+ }).then(
+ () => {
+ this.questionBankOnLoad(this.questionBankPage);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ done();
+ },
+ (error) => {
+ window.console.log(error);
+ loading();
+ }
+ );
+ },
+ handleTemplate () {
+ window.open(`/api/examScore/export-template`);
+ },
+ handleImport () {
+ this.excelBox = true;
+ },
+ uploadAfter (res, done, loading, column) {
+ window.console.log(column);
+ this.excelBox = false;
+ // this.$message({
+ // type: "success",
+ // message: "操作成功!",
+ // });
+ this.refreshChange();
+ done();
+ },
+ refreshChange () {
+ this.questionBankOnLoad(this.questionBankPage, this.questionBankQuery);
+ },
+ //成绩导出
+ handleExport () {
+ this.$confirm("是否导出成绩数据?", "提示", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ }).then(() => {
+ //获取查询条件
+ // console.log(this.questionBankSearch, 456);
+ var data = {
+ account: this.questionBankSearch.account,
+ companyName: this.questionBankSearch.companyName,
+ examDate: this.questionBankSearch.examDate,
+ isExam: this.questionBankSearch.isExam,
+ qualified: this.questionBankSearch.qualified,
+ securityName: this.questionBankSearch.securityName,
+ examName: this.questionBankSearch.examName,
+ };
+ //导出
+ if (
+ this.userInfo.role_name == "保安公司管理员" ||
+ this.userInfo.role_name == "保安"
+ ) {
+ //如果是保安公司管理员
+ data["deptId"] = this.userInfo.dept_id;
+ }
+ if (this.userInfo.role_name == "培训公司管理员") {
+ //如果是培训公司管理员
+ data["trainUnitId"] = this.userInfo.dept_id;
+ }
+ data["examType"] = 2;
+ //序列号url形式,用&拼接
+ data = Qs.stringify(data);
+ window.open(`/api/examScore/export-examScore?` + data);
+ });
+ },
+ },
};
</script>
<style lang="scss" scoped>
.morpheus-box {
- position: relative;
+ position: relative;
}
.dialogVisiblezhengjian {
- position: absolute;
- background-color: #fff;
- width: 100%;
- height: 100%;
- z-index: 10000 !important;
+ position: absolute;
+ background-color: #fff;
+ width: 100%;
+ height: 100%;
+ z-index: 10000 !important;
}
</style>
--
Gitblit v1.9.3