From 1cde4a2b16b7067f551393c3e712b101694d411f Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Mon, 06 Nov 2023 17:55:29 +0800
Subject: [PATCH] 重置考试按钮
---
src/views/trainExam/performance.vue | 495 +++++++++++++++++++-----------
src/api/trainExam/trainExam.js | 3
src/api/examapi/performance.js | 10
src/views/flow/model.vue | 431 ++++++++++++--------------
4 files changed, 517 insertions(+), 422 deletions(-)
diff --git a/src/api/examapi/performance.js b/src/api/examapi/performance.js
index 7b6e870..b456ce2 100644
--- a/src/api/examapi/performance.js
+++ b/src/api/examapi/performance.js
@@ -52,4 +52,14 @@
method: 'get',
params: {}
})
+}
+
+export const reselfExamScore = (scoreId) => {
+ return request({
+ url: '/api/examScore/refreshTrainExamInfo',
+ method: 'post',
+ data: {
+ scoreId
+ }
+ })
}
\ No newline at end of file
diff --git a/src/api/trainExam/trainExam.js b/src/api/trainExam/trainExam.js
index e2676b3..fbefcee 100644
--- a/src/api/trainExam/trainExam.js
+++ b/src/api/trainExam/trainExam.js
@@ -70,4 +70,5 @@
id,
}
})
-}
\ No newline at end of file
+}
+
diff --git a/src/views/flow/model.vue b/src/views/flow/model.vue
index 850110b..b2db987 100644
--- a/src/views/flow/model.vue
+++ b/src/views/flow/model.vue
@@ -1,119 +1,138 @@
<template>
- <basic-container>
- <avue-crud :option="option"
- :table-loading="loading"
- :data="data"
- ref="crud"
- v-model="form"
- :page.sync="page"
- @search-change="searchChange"
- @search-reset="searchReset"
- @selection-change="selectionChange"
- @current-change="currentChange"
- @size-change="sizeChange"
- @refresh-change="refreshChange"
- @on-load="onLoad">
+ <basic-container
+ :class="[$store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '']"
+ >
+ <avue-crud
+ :option="option"
+ :table-loading="loading"
+ :data="data"
+ ref="crud"
+ v-model="form"
+ :page.sync="page"
+ @search-change="searchChange"
+ @search-reset="searchReset"
+ @selection-change="selectionChange"
+ @current-change="currentChange"
+ @size-change="sizeChange"
+ @refresh-change="refreshChange"
+ @on-load="onLoad"
+ >
<template slot="menuLeft">
- <el-button type="primary"
- size="mini"
- icon="el-icon-circle-plus"
- v-if="permission.flow_model_create"
- plain
- @click="handleCreate">创 建
+ <el-button
+ type="primary"
+ size="small"
+ icon="el-icon-circle-plus"
+ v-if="permission.flow_model_create"
+ plain
+ @click="handleCreate"
+ >创 建
</el-button>
<el-button
- size="mini"
- icon="el-icon-delete"
- v-if="permission.flow_model_delete"
- plain
- @click="handleDelete">删 除
+ type="danger"
+ size="small"
+ icon="el-icon-delete"
+ v-if="permission.flow_model_delete"
+ plain
+ @click="handleDelete"
+ >删 除
</el-button>
</template>
- <template slot-scope="scope"
- slot="menu">
- <el-button type="text"
- size="mini"
- icon="el-icon-setting"
- v-if="permission.flow_model_update"
- @click.stop="handleUpdate(scope.row,scope.index)">配置
+ <template slot-scope="scope" slot="menu">
+ <el-button
+ type="text"
+ size="small"
+ v-if="permission.flow_model_update"
+ plain
+ class="none-border"
+ @click.stop="handleUpdate(scope.row, scope.index)"
+ >配置
</el-button>
- <el-button type="text"
- size="mini"
- icon="el-icon-upload2"
- v-if="permission.flow_model_deploy"
- @click.stop="handleDeploy(scope.row,scope.index)">部署
+ <el-button
+ type="text"
+ size="small"
+ v-if="permission.flow_model_deploy"
+ plain
+ class="none-border"
+ @click.stop="handleDeploy(scope.row, scope.index)"
+ >部署
</el-button>
- <el-button type="text"
- size="mini"
- icon="el-icon-delete"
- v-if="permission.flow_model_delete"
- @click.stop="handleSlotDelete(scope.row,scope.index)">删除
+ <el-button
+ type="text"
+ size="small"
+ v-if="permission.flow_model_download"
+ plain
+ class="none-border"
+ @click.stop="handleDownload(scope.row, scope.index)"
+ >下载
+ </el-button>
+ <el-button
+ type="text"
+ size="small"
+ v-if="permission.flow_model_delete"
+ plain
+ class="none-border"
+ @click.stop="handleSlotDelete(scope.row, scope.index)"
+ >删除
</el-button>
</template>
- <template slot-scope="{row}"
- slot="version">
+ <template slot-scope="{ row }" slot="version">
<el-tag>v{{ row.version }}</el-tag>
</template>
</avue-crud>
- <el-dialog title="流程配置"
- append-to-body
- destroy-on-close
- :visible.sync="flowBox"
- :close-on-press-escape="false"
- :fullscreen="true"
- :before-close="handleNutflowClose"
- custom-class="wf-dialog">
- <wf-design-base v-if="nutflowOption.step === 1"
- class="animated fadeIn"
- style="height: calc(100vh - 108px);"
- ref="wf-design"
- :options="nutflowOption.step1"></wf-design-base>
- <wf-design-base v-if="nutflowOption.step === 2"
- class="animated fadeIn"
- style="height: calc(100vh - 108px);"
- ref="wf-design-view"
- :options="nutflowOption.step2"></wf-design-base>
- <span slot="footer"
- class="avue-dialog__footer">
- <el-button size="small"
- @click="handleNutflowClose(() => {}, true)">取 消</el-button>
- <el-button v-if="nutflowOption.step === 1"
- size="small"
-
- @click="handleStep(1)">下 一 步</el-button>
- <el-button v-if="nutflowOption.step === 2"
- size="small"
-
- @click="handleStep(-1)">上 一 步</el-button>
- <el-button v-if="nutflowOption.step === 2"
- size="small"
- type="primary"
- @click="handleSubmitModel">确 定</el-button>
+ <el-dialog
+ title="流程配置"
+ append-to-body
+ :visible.sync="flowBox"
+ :fullscreen="true"
+ >
+ <iframe
+ :src="flowUrl"
+ width="100%"
+ height="700"
+ title="流程设计器"
+ frameBorder="no"
+ border="0"
+ marginWidth="0"
+ marginHeight="0"
+ scrolling="no"
+ allowTransparency="yes"
+ >
+ </iframe>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="flowBox = false">取 消</el-button>
+ <el-button type="primary" @click="handleRefresh">确 定</el-button>
</span>
</el-dialog>
- <el-dialog title="流程部署"
- append-to-body
- :visible.sync="deployBox"
- width="20%">
- <avue-form ref="form"
- :option="optionDeploy"
- v-model="form"
- @submit="handleSubmit"/>
- <span slot="footer"
- class="dialog-footer">
+ <el-dialog
+ title="流程部署"
+ append-to-body
+ :visible.sync="deployBox"
+ width="20%"
+ >
+ <avue-form
+ ref="form"
+ :option="optionDeploy"
+ v-model="form"
+ @submit="handleSubmit"
+ />
+ <span slot="footer" class="dialog-footer">
<el-button @click="deployBox = false">取 消</el-button>
- <el-button type="primary"
- @click="handleDoDeploy"
- :loading="deployLoading">确 定</el-button>
+ <el-button
+ type="primary"
+ @click="handleDoDeploy"
+ :loading="deployLoading"
+ >确 定</el-button
+ >
</span>
</el-dialog>
</basic-container>
</template>
<script>
-import {mapGetters} from "vuex";
-import {modelList, removeModel, deployModel, submitModel, detail} from "@/api/flow/flow";
-import {flowCategory} from "@/util/flow";
+import { mapGetters } from "vuex";
+import website from "@/config/website";
+import { modelList, removeModel, deployModel } from "@/api/flow/flow";
+import { flowCategory } from "@/util/flow";
export default {
data() {
@@ -128,18 +147,20 @@
dicUrl: "/api/blade-system/dict/dictionary?code=flow",
props: {
label: "dictValue",
- value: "dictKey"
+ value: "dictKey",
},
dataType: "number",
slot: true,
prop: "categoryValue",
search: true,
span: 24,
- rules: [{
- required: true,
- message: "请选择流程类型",
- trigger: "blur"
- }]
+ rules: [
+ {
+ required: true,
+ message: "请选择流程类型",
+ trigger: "blur",
+ },
+ ],
},
{
label: "流程模式",
@@ -148,46 +169,46 @@
dicData: [
{
label: "通用流程",
- value: 1
+ value: 1,
},
{
label: "定制流程",
- value: 2
- }
+ value: 2,
+ },
],
value: 1,
span: 24,
rules: [
{
required: true,
- message: '请选择流程模式',
- trigger: 'blur'
- }
+ message: "请选择流程模式",
+ trigger: "blur",
+ },
],
},
{
- label: "所属租户",
+ label: "所属保安单位",
prop: "tenantId",
type: "tree",
multiple: true,
dicUrl: "/api/blade-system/tenant/select",
props: {
label: "tenantName",
- value: "tenantId"
+ value: "tenantId",
},
display: false,
span: 24,
rules: [
{
required: true,
- message: '请选择所属租户',
- trigger: 'blur'
- }
+ message: "请选择所属保安单位",
+ trigger: "blur",
+ },
],
},
],
},
- selectionId: '',
+ selectionId: "",
selectionList: [],
query: {},
loading: true,
@@ -195,12 +216,14 @@
page: {
pageSize: 10,
currentPage: 1,
- total: 0
+ total: 0,
+ ...this.$store.state.control.changePageSize,
},
deployBox: false,
flowBox: false,
+ flowUrl: "",
option: {
- height: 'auto',
+ height: "auto",
calcHeight: 30,
tip: false,
searchShow: true,
@@ -213,150 +236,79 @@
viewBtn: false,
delBtn: false,
dialogWidth: 900,
- menuWidth: 250,
+ menuWidth: 150,
dialogClickModal: false,
- size: 'mini',
- searchSize: 'mini',
+ ...this.$store.state.control.clearOtherBut,
column: [
{
- label: '模型主键',
- prop: 'id',
+ label: "模型主键",
+ prop: "id",
},
{
- label: '模型标识',
- prop: 'modelKey',
+ label: "模型标识",
+ prop: "modelKey",
search: true,
- overHidden: true
+ width: 150,
},
{
- label: '模型名称',
- prop: 'name',
+ label: "模型名称",
+ prop: "name",
search: true,
- overHidden: true
+ width: 150,
},
{
- label: '流程版本',
- prop: 'version',
+ label: "流程版本",
+ prop: "version",
slot: true,
- overHidden: true
+ width: 80,
},
{
- label: '创建时间',
- prop: 'created',
- overHidden: true
+ label: "创建时间",
+ prop: "created",
+ width: 165,
},
{
- label: '更新时间',
- prop: 'lastUpdated',
- overHidden: true
+ label: "更新时间",
+ prop: "lastUpdated",
+ width: 165,
},
- ]
+ ],
},
data: [],
- nutflowOption: {
- process: {},
- step: 1,
- step1: {
- toolbar: ['open', 'create', 'fit', 'zoom-in', 'zoom-out', 'undo', 'redo', 'import', 'preview'],
- },
- step2: {
- mode: 'view',
- simulation: true,
- minimap: true,
- }
- }
};
},
watch: {
- 'form.flowMode'() {
- this.$refs.form.option.column.filter(item => {
+ "form.flowMode"() {
+ this.$refs.form.option.column.filter((item) => {
if (item.prop === "tenantId") {
item.display = this.form.flowMode === 2;
}
});
- }
+ },
},
computed: {
...mapGetters(["permission"]),
ids() {
let ids = [];
- this.selectionList.forEach(ele => {
+ this.selectionList.forEach((ele) => {
ids.push(ele.id);
});
return ids.join(",");
- }
- },
- created(){
- console.log(this.nutflowOption,454545445545)
+ },
},
methods: {
- handleSubmitModel() {
- const registry = this.$refs['wf-design-view'].getElementRegistry().getAll()
- const {businessObject} = registry[0]
- const {id, name, documentation} = businessObject
- const description = (documentation && documentation.length > 0) ? documentation[0].text : null
- const params = {
- ...this.nutflowOption.process,
- modelKey: id,
- name,
- description,
- modelEditorXml: this.nutflowOption.process.xml
- }
- submitModel(params).then(() => {
- this.$message.success("操作成功")
- this.handleNutflowClose()
- this.onLoad(this.page, this.query)
- })
- },
- handleStep(step) {
- if (step === 1) { // 下一步
- this.$refs['wf-design'].getData('xml').then(data => {
- this.$set(this.nutflowOption.step1, 'xml', data)
- this.$set(this.nutflowOption.step2, 'xml', data)
- this.$set(this.nutflowOption.process, 'xml', data)
- this.$set(this.nutflowOption, 'step', 2)
- })
- } else this.$set(this.nutflowOption, 'step', 1)
- },
- handleNutflowClose(done, flag) {
- const initOption = {
- process: {},
- step: 1,
- step1: {
- toolbar: ['open', 'create', 'fit', 'zoom-in', 'zoom-out', 'undo', 'redo', 'import', 'preview'],
- },
- step2: {
- mode: 'view',
- simulation: true,
- minimap: true,
- }
- }
- if (done || flag) {
- this.$confirm('确定要关闭吗?关闭未保存的修改都会丢失。', '警告', {
- type: 'warning'
- }).then(() => {
- this.$set(this, 'nutflowOption', initOption)
- if (typeof done == 'function') done()
- this.flowBox = false
- }).catch(() => {
- })
- } else {
- this.$set(this, 'nutflowOption', initOption)
- this.flowBox = false
- }
- },
handleSubmit(form, done) {
this.deployLoading = true;
deployModel({
modelId: this.selectionId,
category: flowCategory(form.categoryValue),
- tenantIds: form.tenantId.join(",")
- }).then(res => {
+ tenantIds: form.tenantId.join(","),
+ }).then((res) => {
const data = res.data;
if (data.success) {
this.$message({
type: "success",
- message: data.msg
+ message: data.msg,
});
done();
this.$refs.form.resetForm();
@@ -367,10 +319,10 @@
this.deployLoading = false;
this.$message({
type: "warn",
- message: data.msg
+ message: data.msg,
});
}
- })
+ });
},
searchReset() {
this.query = {};
@@ -397,7 +349,7 @@
this.$confirm("确定将选择数据删除?", {
confirmButtonText: "确定",
cancelButtonText: "取消",
- type: "warning"
+ type: "warning",
})
.then(() => {
return removeModel(this.ids);
@@ -405,23 +357,19 @@
.then(() => {
this.$message({
type: "success",
- message: "操作成功!"
+ message: "操作成功!",
});
this.$refs.crud.toggleSelection();
this.onLoad(this.page);
});
},
handleCreate() {
+ this.flowUrl = `${website.flowDesignUrl}/index.html`;
this.flowBox = true;
},
handleUpdate(row) {
- detail({id: row.id}).then(res => {
- const data = res.data.data
- const {modelEditorXml} = data
- this.$set(this.nutflowOption.step1, 'xml', modelEditorXml)
- this.$set(this.nutflowOption, 'process', data)
- this.flowBox = true;
- })
+ this.flowUrl = `${website.flowDesignUrl}/index.html#/editor/${row.id}`;
+ this.flowBox = true;
},
handleDeploy(row) {
this.deployBox = true;
@@ -430,11 +378,14 @@
handleDoDeploy() {
this.$refs.form.submit();
},
+ handleDownload(row) {
+ window.open(`${website.flowDesignUrl}/app/rest/models/${row.id}/bpmn20`);
+ },
handleSlotDelete(row) {
this.$confirm("确定将选择数据删除?", {
confirmButtonText: "确定",
cancelButtonText: "取消",
- type: "warning"
+ type: "warning",
})
.then(() => {
return removeModel(row.id);
@@ -442,11 +393,15 @@
.then(() => {
this.$message({
type: "success",
- message: "操作成功!"
+ message: "操作成功!",
});
this.$refs.crud.toggleSelection();
this.onLoad(this.page);
});
+ },
+ handleRefresh() {
+ this.flowBox = false;
+ this.onLoad(this.page);
},
currentChange(currentPage) {
this.page.currentPage = currentPage;
@@ -459,27 +414,25 @@
},
onLoad(page, params = {}) {
this.loading = true;
- modelList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
+ modelList(
+ page.currentPage,
+ page.pageSize,
+ Object.assign(params, this.query)
+ ).then((res) => {
const data = res.data.data;
this.page.total = data.total;
this.data = data.records;
this.loading = false;
this.selectionClear();
});
- }
- }
+ },
+ },
};
</script>
-<style lang="scss">
-
-.wf-dialog {
- .el-dialog__body {
- padding: 5px;
- }
-
- .avue-dialog__footer {
- text-align: center;
- }
+<style>
+.none-border {
+ border: 0;
+ background-color: transparent !important;
}
</style>
diff --git a/src/views/trainExam/performance.vue b/src/views/trainExam/performance.vue
index 6317d1e..29e49bc 100644
--- a/src/views/trainExam/performance.vue
+++ b/src/views/trainExam/performance.vue
@@ -1,17 +1,33 @@
/* * @Author: Morpheus * @Date: 2021-07-05 16:31:54 * @Last Modified by: liu *
@Last Modified time: 2021-11-27 10:20:19 * menu-name 成绩管理 */
<template>
- <basic-container :class="[
- 'exam-card-body',
- $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
- $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : ''
- ]">
- <avue-crud v-model="obj" class="company-box tablesss" :option="questionBankOption" :search.sync="questionBankSearch"
- :table-loading="questionBankLoading" :data="questionBankData" :permission="permissionList" ref="questionBankCrud"
- :page.sync="questionBankPage" @sort-change="sortChange" @on-load="questionBankOnLoad"
- @selection-change="questionBankSelectionChange" @search-change="questionBankSearchChange"
- @search-reset="questionBankSearchReset" @current-change="questionBankCurrentChange"
- @size-change="questionBankSizeChange" @row-update="questionBankRowUpdate" @refresh-change="refreshChange">
+ <basic-container
+ :class="[
+ 'exam-card-body',
+ $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
+ $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
+ ]"
+ >
+ <avue-crud
+ v-model="obj"
+ class="company-box tablesss"
+ :option="questionBankOption"
+ :search.sync="questionBankSearch"
+ :table-loading="questionBankLoading"
+ :data="questionBankData"
+ :permission="permissionList"
+ ref="questionBankCrud"
+ :page.sync="questionBankPage"
+ @sort-change="sortChange"
+ @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 }}
</template>
@@ -24,14 +40,14 @@
<template slot-scope="{ row }" slot="qualified">
{{
row.qualified == ""
- ? ""
- : row.qualified == 0
+ ? ""
+ : row.qualified == 0
? "合格"
: row.qualified == 1
- ? "不合格"
- : row.qualified == 3
- ? "缺考,成绩无效"
- : ""
+ ? "不合格"
+ : row.qualified == 3
+ ? "缺考,成绩无效"
+ : ""
}}
</template>
@@ -49,36 +65,109 @@
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
+ 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
+ type="warning"
+ size="small"
+ plain
+ icon="el-icon-download"
+ v-if="permission.trainExam_performance_export"
+ @click="handleExport"
+ >成绩导出
</el-button>
- <el-button type="danger" size="small" plain icon="el-icon-delete" v-if="permission.trainExam_performance_delete"
- @click="handleDelete">删 除
+ <el-button
+ type="danger"
+ size="small"
+ plain
+ icon="el-icon-delete"
+ v-if="permission.trainExam_performance_delete"
+ @click="handleDelete"
+ >删 除
</el-button>
- <el-button type="primary" size="small" plain v-if="permission.trainExam_performance_paper_apply"
- style="display: none;" icon="el-icon-collection-tag" @click="handleSecurityPaperApply">证书制证申请
+ <el-button
+ type="primary"
+ size="small"
+ plain
+ v-if="permission.trainExam_performance_paper_apply"
+ style="display: none"
+ icon="el-icon-collection-tag"
+ @click="handleSecurityPaperApply"
+ >证书制证申请
</el-button>
- <el-button type="primary" size="small" plain v-if="permission.trainExam_performance_worker_paper_apply"
- style="display: none;" icon="el-icon-collection-tag" @click="handleWorkerPaperApply">上岗证制证申请
+ <el-button
+ type="primary"
+ size="small"
+ plain
+ v-if="permission.trainExam_performance_worker_paper_apply"
+ style="display: none"
+ icon="el-icon-collection-tag"
+ @click="handleWorkerPaperApply"
+ >上岗证制证申请
</el-button>
</template>
<template slot-scope="{ type, size, row }" slot="menu">
- <el-button style="display: none" 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>
- <el-button icon="el-icon-edit" v-if="row.isPaper == 6" @click="securityPaperApply(row)" :size="size"
- :type="type">补证申请</el-button>
+ <el-button
+ style="display: none"
+ 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
+ v-show="row.theoryGrade < 60 && row.theoryGrade != null && row.theoryGrade != '' && row.theoryGrade > -1"
+ icon="el-icon-refresh"
+ @click="reself(row)"
+ :size="size"
+ :type="type"
+ >重置考试</el-button
+ >
+ <el-button
+ icon="el-icon-edit"
+ @click="modifiedGrades(row)"
+ :size="size"
+ :type="type"
+ >申请修改成绩</el-button
+ >
+ <el-button
+ icon="el-icon-edit"
+ v-if="row.isPaper == 6"
+ @click="securityPaperApply(row)"
+ :size="size"
+ :type="type"
+ >补证申请</el-button
+ >
</template>
</avue-crud>
- <el-dialog title="实操成绩导入" append-to-body :visible.sync="excelBox" width="555px">
- <avue-form :option="excelOption" v-model="excelForm" :upload-after="uploadAfter">
+ <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>
@@ -87,9 +176,17 @@
</avue-form>
</el-dialog>
- <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">
+ <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"
@@ -225,7 +322,13 @@
<el-button @click="gradeBoxVisible = false">取 消</el-button>
</el-form-item>
</el-form> -->
- <avue-form ref="form" :option="option" v-model="form" @reset-change="emptytChange" @submit="submit">
+ <avue-form
+ ref="form"
+ :option="option"
+ v-model="form"
+ @reset-change="emptytChange"
+ @submit="submit"
+ >
</avue-form>
</div>
</el-dialog>
@@ -236,7 +339,12 @@
:modal-append-to-body="false"
> -->
<div class="dialogVisiblezhengjian" v-if="dialogVisiblezhengjian">
- <baoanz :data="baoanzdata" :close="1" @close="closezhengjian" :closePrint="1"></baoanz>
+ <baoanz
+ :data="baoanzdata"
+ :close="1"
+ @close="closezhengjian"
+ :closePrint="1"
+ ></baoanz>
</div>
</basic-container>
</template>
@@ -249,20 +357,21 @@
updateAbsent,
updateGrade,
remove,
- getNowDate
+ getNowDate,
+ reselfExamScore,
} from "@/api/examapi/performance";
import { mapGetters } from "vuex";
import { getRoleDetail } from "@/api/system/role";
import {
securityApply,
- add
+ add,
} from "@/api/accreditationRecords/accreditationRecords";
import Qs from "qs";
import { getToken } from "@/util/auth";
import { putFile, removeFile } from "@/api/resource/oss";
export default {
components: {
- baoanz
+ baoanz,
},
data() {
var validatePass = (rule, value, callback) => {
@@ -322,9 +431,9 @@
{
required: true,
message: "请输入考试名称",
- trigger: "blur"
- }
- ]
+ trigger: "blur",
+ },
+ ],
},
{
label: "姓名",
@@ -335,9 +444,9 @@
{
required: true,
message: "请输入姓名",
- trigger: "blur"
- }
- ]
+ trigger: "blur",
+ },
+ ],
},
{
label: "身份证号",
@@ -348,9 +457,9 @@
{
required: true,
message: "请输入身份证号",
- trigger: "blur"
- }
- ]
+ trigger: "blur",
+ },
+ ],
},
{
label: "准考证号",
@@ -361,9 +470,9 @@
{
required: false,
message: "请输入准考证号",
- trigger: "blur"
- }
- ]
+ trigger: "blur",
+ },
+ ],
},
{
label: "原理论成绩",
@@ -374,9 +483,9 @@
{
required: false,
message: "请输入原理论成绩",
- trigger: "blur"
- }
- ]
+ trigger: "blur",
+ },
+ ],
},
{
label: "修改考试成绩",
@@ -386,9 +495,9 @@
{
required: true,
message: "请输入修改考试成绩",
- trigger: "blur"
- }
- ]
+ trigger: "blur",
+ },
+ ],
},
{
label: "实操成绩",
@@ -400,22 +509,22 @@
{
required: false,
message: "请输入实操成绩",
- trigger: "blur"
- }
+ trigger: "blur",
+ },
],
dicData: [
{
label: "合格",
- value: 0
+ value: 0,
},
{
label: "不合格",
- value: 1
+ value: 1,
},
{
label: "暂未录实操成绩",
- value: 2
- }
+ value: 2,
+ },
],
},
// {
@@ -443,18 +552,18 @@
tip: "只能上传jpg/png文件,最多上传5张",
propsHttp: {
res: "data",
- url: "url"
+ url: "url",
},
- action: "/api/blade-resource/oss/endpoint/put-files"
+ action: "/api/blade-resource/oss/endpoint/put-files",
},
{
label: "修改理由",
labelWidth: 110,
span: 24,
type: "textarea",
- prop: "editReason"
- }
- ]
+ prop: "editReason",
+ },
+ ],
},
form: {},
limit: 5,
@@ -463,8 +572,8 @@
disabled: false,
rules: {
editGrades: [
- { validator: validatePass2, required: true, trigger: "blur" }
- ]
+ { validator: validatePass2, required: true, trigger: "blur" },
+ ],
},
gradeForm: {
id: null,
@@ -477,13 +586,13 @@
allGrade: "",
editGrades: "",
editReason: "",
- fileList: []
+ fileList: [],
},
gradeBoxVisible: false,
dialogVisiblezhengjian: false,
baoanzdata: {},
obj: {
- name: "张三"
+ name: "张三",
},
excelBox: false,
questionBankOption: {
@@ -497,7 +606,7 @@
viewBtn: false,
selection: true,
reserveSelection: true,
- selectable: row => {
+ selectable: (row) => {
if (row.isExam == 3) {
return false;
} else {
@@ -545,7 +654,7 @@
editDisplay: false,
// 表单编辑时是否为查看模式
editDetail: false,
- viewDisplay: false
+ viewDisplay: false,
},
{
label: "考试时间",
@@ -572,10 +681,10 @@
{
required: true,
message: "请输入试卷名称",
- trigger: "blur"
- }
+ trigger: "blur",
+ },
],
- overHidden: true
+ overHidden: true,
},
{
label: "姓名",
@@ -603,10 +712,10 @@
{
required: true,
message: "请输入试卷名称",
- trigger: "blur"
- }
+ trigger: "blur",
+ },
],
- width: 80
+ width: 80,
// overHidden:true,
},
{
@@ -631,10 +740,10 @@
{
required: true,
message: "请输入保安姓名",
- trigger: "blur"
- }
+ trigger: "blur",
+ },
],
- width: 140
+ width: 140,
},
{
label: "准考证号",
@@ -659,10 +768,10 @@
{
required: true,
message: "请输入保安姓名",
- trigger: "blur"
- }
+ trigger: "blur",
+ },
],
- width: 110
+ width: 110,
},
{
label: "照片",
@@ -674,7 +783,7 @@
// 表单编辑时是否可见
editDisplay: false,
// 表单编辑时是否为查看模式
- editDetail: false
+ editDetail: false,
},
{
label: "从业单位",
@@ -697,11 +806,11 @@
{
required: true,
message: "请输入从业单位",
- trigger: "blur"
- }
+ trigger: "blur",
+ },
],
width: 180,
- overHidden: true
+ overHidden: true,
},
{
label: "考试开始时间",
@@ -723,7 +832,7 @@
// 表单编辑时是否可见
editDisplay: true,
// 表单编辑时是否为查看模式
- editDetail: false
+ editDetail: false,
},
{
label: "考试结束时间",
@@ -745,7 +854,7 @@
// 表单编辑时是否可见
editDisplay: true,
// 表单编辑时是否为查看模式
- editDetail: false
+ editDetail: false,
},
{
label: "考试状态",
@@ -758,20 +867,20 @@
dicData: [
{
label: "发布成绩",
- value: 2
+ value: 2,
},
{
label: "考试中",
- value: 3
+ value: 3,
},
{
label: "纸质考试",
- value: 5
+ value: 5,
},
{
label: "缺考",
- value: 4
- }
+ value: 4,
+ },
],
// 表单新增时是否禁止
addDisabled: false,
@@ -789,9 +898,9 @@
{
required: true,
message: "请输入考试名称",
- trigger: "blur"
- }
- ]
+ trigger: "blur",
+ },
+ ],
},
{
label: "理论成绩",
@@ -810,7 +919,7 @@
editDisplay: true,
// 表单编辑时是否为查看模式
editDetail: false,
- width: 95
+ width: 95,
},
{
label: "实操成绩",
@@ -834,12 +943,12 @@
dicData: [
{
label: "合格",
- value: 0
+ value: 0,
},
{
label: "不合格",
- value: 1
- }
+ value: 1,
+ },
],
},
// {
@@ -873,20 +982,20 @@
dicData: [
{
label: "合格",
- value: 0
+ value: 0,
},
{
label: "不合格",
- value: 1
+ value: 1,
},
{
label: "暂未录实操成绩",
- value: 2
+ value: 2,
},
{
label: "缺考,成绩无效",
- value: 3
- }
+ value: 3,
+ },
],
// 表单新增时是否禁止
addDisabled: false,
@@ -901,7 +1010,7 @@
viewDetail: false,
viewDisplay: false,
// 表单编辑时是否为查看模式
- editDetail: false
+ editDetail: false,
},
{
label: "是否合格",
@@ -913,20 +1022,20 @@
dicData: [
{
label: "合格",
- value: 0
+ value: 0,
},
{
label: "不合格",
- value: 1
+ value: 1,
},
{
label: "暂未录实操成绩",
- value: 2
+ value: 2,
},
{
label: "缺考,成绩无效",
- value: 3
- }
+ value: 3,
+ },
],
// 表单新增时是否禁止
addDisabled: false,
@@ -939,7 +1048,7 @@
// 表单编辑时是否可见
editDisplay: true,
// 表单编辑时是否为查看模式
- editDetail: false
+ editDetail: false,
},
// {
// label: "是否制证",
@@ -991,19 +1100,19 @@
dicData: [
{
label: "全部",
- value: 3
+ value: 3,
},
{
label: "有",
- value: 1
+ value: 1,
},
{
label: "无",
- value: 2
- }
- ]
- }
- ]
+ value: 2,
+ },
+ ],
+ },
+ ],
},
questionBankSearch: {},
questionBankLoading: true,
@@ -1014,7 +1123,7 @@
pageSize: 10,
currentPage: 1,
total: 16,
- ...this.$store.state.control.changePageSize
+ ...this.$store.state.control.changePageSize,
},
questionBankQuery: {},
selectionList: [],
@@ -1032,10 +1141,10 @@
loadText: "模板上传中,请稍等",
span: 24,
propsHttp: {
- res: "data"
+ res: "data",
},
tip: "请上传 .xls,.xlsx 标准格式文件",
- action: "/api/examScore/import-examScore"
+ action: "/api/examScore/import-examScore",
},
// {
// label: "数据覆盖",
@@ -1067,14 +1176,14 @@
label: "模板下载",
prop: "excelTemplate",
formslot: true,
- span: 24
- }
- ]
+ span: 24,
+ },
+ ],
},
- choiceList: []
+ choiceList: [],
};
},
- created() { },
+ created() {},
mounted() {
this.$store.commit("setWindowSizeHeightAdd");
},
@@ -1082,7 +1191,7 @@
...mapGetters(["userInfo", "permission"]),
ids() {
let ids = [];
- this.questionBankSelectionList.forEach(ele => {
+ this.questionBankSelectionList.forEach((ele) => {
ids.push(ele.id);
});
return ids.join(",");
@@ -1102,11 +1211,31 @@
excelBtn: this.vaildData(
this.permission.trainExam_performance_export,
false
- )
+ ),
};
- }
+ },
},
methods: {
+ // 考试重置
+ reself({id}) {
+ reselfExamScore(id).then((res) => {
+ if (res.data.success == true) {
+ this.$message({
+ showClose: true,
+ message: "重置成功",
+ type: "success",
+ });
+
+ this.questionBankOnLoad(this.questionBankPage);
+ } else {
+ this.$message({
+ showClose: true,
+ message: "重置错误!请联系管理员",
+ type: "warning",
+ });
+ }
+ });
+ },
// 批量删除
handleDelete() {
if (this.questionBankSelectionList.length === 0) {
@@ -1116,7 +1245,7 @@
this.$confirm("确定将选择考试成绩删除?", {
confirmButtonText: "确定",
cancelButtonText: "取消",
- type: "warning"
+ type: "warning",
})
.then(() => {
return remove(this.ids);
@@ -1125,7 +1254,7 @@
this.questionBankOnLoad(this.questionBankPage);
this.$message({
type: "success",
- message: "操作成功!"
+ message: "操作成功!",
});
this.$refs.crud.toggleSelection();
});
@@ -1140,13 +1269,13 @@
that.$refs.form.resetFields();
that.$message({
type: "success",
- message: "操作成功!"
+ message: "操作成功!",
});
that.gradeBoxVisible = false;
done();
},
- error => {
+ (error) => {
window.console.log(error);
done();
}
@@ -1160,10 +1289,10 @@
const form = new FormData();
// 文件对象
form.append("file", file);
- putFile(form).then(res => {
+ putFile(form).then((res) => {
that.gradeForm.fileList.push({
name: res.data.data.name,
- url: res.data.data.url
+ url: res.data.data.url,
});
// console.log(that.gradeForm.fileList, 365441);
});
@@ -1196,7 +1325,7 @@
this.choiceList = [];
for (let k in list) {
this.choiceList.push({
- id: list[k].userId
+ id: list[k].userId,
});
}
},
@@ -1211,7 +1340,7 @@
{
confirmButtonText: "确定",
cancelButtonText: "取消",
- type: "warning"
+ type: "warning",
}
)
.then(() => {
@@ -1226,7 +1355,7 @@
const data = {
ids: str,
createUser: this.userInfo.user_id,
- type: 2
+ type: 2,
};
return securityApply(data);
})
@@ -1234,7 +1363,7 @@
this.$refs.questionBankCrud.toggleSelection();
this.$message({
type: "success",
- message: "操作成功!"
+ message: "操作成功!",
});
});
},
@@ -1246,12 +1375,12 @@
}
this.$confirm(
"共选择上岗证制证申请人数" +
- this.choiceList.length +
- "人,确定申请制证?",
+ this.choiceList.length +
+ "人,确定申请制证?",
{
confirmButtonText: "确定",
cancelButtonText: "取消",
- type: "warning"
+ type: "warning",
}
)
.then(() => {
@@ -1266,7 +1395,7 @@
const data = {
ids: str,
createUser: this.userInfo.user_id,
- type: 1
+ type: 1,
};
return securityApply(data);
})
@@ -1274,7 +1403,7 @@
this.$refs.questionBankCrud.toggleSelection();
this.$message({
type: "success",
- message: "操作成功!"
+ message: "操作成功!",
});
});
},
@@ -1284,7 +1413,7 @@
$sex: row.sex == 1 ? "男" : "女",
securitynumber: row.securityNumber,
paperTime: row.paperTime,
- avatar: row.avatar
+ avatar: row.avatar,
};
this.dialogVisiblezhengjian = true;
},
@@ -1328,8 +1457,8 @@
var that = this;
//获取当前登录人员的角色信息
var roleIds = this.userInfo.role_id.split(",");
- roleIds.forEach(roleId => {
- getRoleDetail(roleId).then(res => {
+ roleIds.forEach((roleId) => {
+ getRoleDetail(roleId).then((res) => {
var roleAlias = res.data.data.roleAlias;
if (roleAlias == "保安公司管理员" || roleAlias == "保安") {
//如果是保安公司管理员
@@ -1351,10 +1480,10 @@
page.currentPage,
page.pageSize,
Object.assign(params, this.questionBankQuery)
- ).then(res => {
+ ).then((res) => {
const data = res.data.data;
- data.records.forEach(item => {
+ data.records.forEach((item) => {
if (item.isPaper == null || item.isPaper == -1) {
item.isPaper = "";
}
@@ -1386,23 +1515,23 @@
this.$confirm("当前保安员已制证,确定要继续申请制证?", {
confirmButtonText: "确定",
cancelButtonText: "取消",
- type: "warning"
+ type: "warning",
}).then(() => {
const data = {
createUser: this.userInfo.user_id,
type: 2,
- userId: row.userId
+ userId: row.userId,
};
add(data).then(
() => {
this.questionBankOnLoad(this.questionBankPage);
this.$message({
type: "success",
- message: "操作成功!"
+ message: "操作成功!",
});
done();
},
- error => {
+ (error) => {
window.console.log(error);
loading();
}
@@ -1414,7 +1543,7 @@
this.$confirm("确定缺考标记?", {
confirmButtonText: "确定",
cancelButtonText: "取消",
- type: "warning"
+ type: "warning",
}).then(() => {
row.qualified = 3;
updateAbsent(row).then(
@@ -1422,11 +1551,11 @@
this.questionBankOnLoad(this.questionBankPage);
this.$message({
type: "success",
- message: "操作成功!"
+ message: "操作成功!",
});
done();
},
- error => {
+ (error) => {
window.console.log(error);
loading();
}
@@ -1443,7 +1572,7 @@
//得到时间戳
var longtime = new Date(endTime).getTime();
// console.log(longtime,123466);
- getNowDate().then(res => {
+ getNowDate().then((res) => {
var num = 24 * 3600 * 1000;
if (this.userInfo.role_name == "培训公司管理员") {
// if (res.data.data - longtime <= num) {
@@ -1456,7 +1585,7 @@
securityName: row.securityName,
theoryGrade: row.theoryGrade,
learnGrade: row.learnGrade,
- allGrade: row.allGrade
+ allGrade: row.allGrade,
};
this.gradeBoxVisible = true;
// } else {
@@ -1476,7 +1605,7 @@
securityName: row.securityName,
theoryGrade: row.theoryGrade,
learnGrade: row.learnGrade,
- allGrade: row.allGrade
+ allGrade: row.allGrade,
};
this.gradeBoxVisible = true;
}
@@ -1485,7 +1614,7 @@
uploadGrade(formName) {
var that = this;
- this.$refs[formName].validate(valid => {
+ this.$refs[formName].validate((valid) => {
if (valid) {
var obj = {};
obj.oldScore = this.gradeForm.theoryGrade;
@@ -1499,12 +1628,12 @@
that.questionBankOnLoad(that.questionBankPage);
that.$message({
type: "success",
- message: "操作成功!"
+ message: "操作成功!",
});
that.gradeBoxVisible = false;
},
- error => {
+ (error) => {
window.console.log(error);
}
);
@@ -1522,7 +1651,7 @@
this.choiceList = [];
for (let k in list) {
this.choiceList.push({
- id: list[k].userId
+ id: list[k].userId,
});
}
},
@@ -1547,17 +1676,17 @@
theoryGrade: row.theoryGrade,
learnGrade: row.learnGrade,
examId: row.examId,
- id: row.id
+ id: row.id,
}).then(
() => {
this.questionBankOnLoad(this.questionBankPage);
this.$message({
type: "success",
- message: "操作成功!"
+ message: "操作成功!",
});
done();
},
- error => {
+ (error) => {
window.console.log(error);
loading();
}
@@ -1565,7 +1694,8 @@
},
handleTemplate() {
window.open(
- `/api/examScore/export-template?${this.website.tokenHeader
+ `/api/examScore/export-template?${
+ this.website.tokenHeader
}=${getToken()}&`
);
},
@@ -1590,7 +1720,7 @@
this.$confirm("是否导出成绩数据?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
- type: "warning"
+ type: "warning",
}).then(() => {
//获取查询条件
// console.log(this.questionBankSearch, 456);
@@ -1603,7 +1733,7 @@
securityName: this.questionBankSearch.securityName,
examName: this.questionBankSearch.examName,
isAvatar: this.questionBankSearch.isAvatar,
- isPaper: this.questionBankSearch.isPaper
+ isPaper: this.questionBankSearch.isPaper,
};
//导出
if (
@@ -1622,12 +1752,13 @@
//序列号url形式,用&拼接
data = Qs.stringify(data);
window.open(
- `/api/examScore/export-examScore?${this.website.tokenHeader
+ `/api/examScore/export-examScore?${
+ this.website.tokenHeader
}=${getToken()}&` + data
);
});
- }
- }
+ },
+ },
};
</script>
--
Gitblit v1.9.3