13 files modified
4 files added
| | |
| | | var examType = JSON.parse(getData("data")).examType; |
| | | // console.log(JSON.parse(getData("data")), 111); |
| | | |
| | | // axios.get('http://223.82.109.183:2080/apply/getApplyInfo?id=' + id + "&applyExamType=" + examType).then(function(res) { |
| | | axios.get('http://localhost:81/apply/getApplyInfo?id=' + id + "&applyExamType=" + examType).then(function(res) { |
| | | axios.get('http://223.82.109.183:2080/apply/getApplyInfo?id=' + id + "&applyExamType=" + examType).then(function(res) { |
| | | // axios.get('http://localhost:81/apply/getApplyInfo?id=' + id + "&applyExamType=" + examType).then(function(res) { |
| | | var data = res.data.data; |
| | | var str = `<span class="title">${data.examName}</span> |
| | | <span class="title">准考证信息</span> |
| | |
| | | var name = JSON.parse(getData("data")).name; |
| | | // console.log(JSON.parse(getData("data")), 111); |
| | | |
| | | // axios.get('http://223.82.109.183:2080/apply/getApplyDetailList?examId=' + id).then(function(res) { |
| | | axios.get('http://localhost:81/apply/getApplyDetailList?examId=' + id).then(function(res) { |
| | | axios.get('http://223.82.109.183:2080/apply/getApplyDetailList?examId=' + id).then(function(res) { |
| | | // axios.get('http://localhost:81/apply/getApplyDetailList?examId=' + id).then(function(res) { |
| | | var data = res.data; |
| | | var list = data.applyList; |
| | | console.log(data, 123); |
| New file |
| | |
| | | import request from '@/router/axios'; |
| | | |
| | | export const getList = (current, size, params) => { |
| | | return request({ |
| | | url: '/api/owner/page', |
| | | method: 'get', |
| | | params: { |
| | | ...params, |
| | | current, |
| | | size, |
| | | } |
| | | }) |
| | | } |
| | | |
| | | export const getListPage = (current, size, params) => { |
| | | return request({ |
| | | url: '/api/owner/page', |
| | | method: 'get', |
| | | params: { |
| | | ...params, |
| | | current, |
| | | size, |
| | | } |
| | | }) |
| | | } |
| | | |
| | | export const remove = (ids) => { |
| | | return request({ |
| | | url: '/api/owner/remove', |
| | | method: 'post', |
| | | params: { |
| | | ids, |
| | | } |
| | | }) |
| | | } |
| | | |
| | | export const add = (row) => { |
| | | return request({ |
| | | url: '/api/owner/submit', |
| | | method: 'post', |
| | | data: row |
| | | }) |
| | | } |
| | | |
| | | export const update = (row) => { |
| | | return request({ |
| | | url: '/api/owner/submit', |
| | | method: 'post', |
| | | data: row |
| | | }) |
| | | } |
| | | |
| | | export const getNotice = (id) => { |
| | | return request({ |
| | | url: '/api/owner/detail', |
| | | method: 'get', |
| | | params: { |
| | | id |
| | | } |
| | | }) |
| | | } |
| | |
| | | } |
| | | |
| | | |
| | | export const addBatchApply = (row) => { |
| | | export const addBatchApply = (ids, deptId) => { |
| | | return request({ |
| | | url: '/api/apply/batchApply', |
| | | method: 'post', |
| | | data: row |
| | | params: { |
| | | ids, |
| | | deptId |
| | | } |
| | | }) |
| | | } |
| | | |
| | |
| | | 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', |
| | |
| | | text-decoration: none; |
| | | color:#333; |
| | | } |
| | | |
| | | *{ |
| | | outline: none; |
| | | } |
| | | |
| | | //滚动条样式 |
| | | @include scrollBar; |
| | | |
| | | |
| | | .see-img-box { |
| | | |
| | | .el-dialog { |
| | | width: 840px; |
| | | height: 540px; |
| | | |
| | | .el-dialog__body { |
| | | padding: 4px; |
| | | position: relative; |
| | | height: calc(100% - 62px); |
| | | } |
| | | |
| | | div.img { |
| | | position: absolute; |
| | | top: 0; |
| | | left: 0; |
| | | right: 0; |
| | | bottom: 0; |
| | | margin: auto; |
| | | width: calc(100% - 8px); |
| | | height: calc(100% - 8px); |
| | | overflow: hidden; |
| | | } |
| | | } |
| | | |
| | | } |
| | |
| | | //tree 默认展开 |
| | | defaultExpandAll: true, |
| | | // 操作栏宽度 |
| | | menuWidth: 300, |
| | | menuWidth: 250, |
| | | |
| | | column: [ |
| | | { |
| | |
| | | // editDetail: false, |
| | | // width: 150, |
| | | // }, |
| | | // { |
| | | // label: "报名状态", |
| | | // prop: "applyStatus", |
| | | // slot: true, |
| | | // searchSpan: 4, |
| | | // // 表单新增时是否禁止 |
| | | // addDisabled: false, |
| | | // // 表单新增时是否可见 |
| | | // addDisplay: false, |
| | | // // 表单新增时是否为查看模式 |
| | | // addDetail: false, |
| | | // // 表单编辑时是否禁止 |
| | | // editDisabled: false, |
| | | // // 表单编辑时是否可见 |
| | | // editDisplay: true, |
| | | // // 表单编辑时是否为查看模式 |
| | | // editDetail: false, |
| | | // dicData: DIC.applyStatus, |
| | | // search: true, |
| | | // type: "select", |
| | | // }, |
| | | // { |
| | | // label: "审核状态", |
| | | // prop: "examinationType", |
| | | // slot: true, |
| | | // searchSpan:5, |
| | | // // 表单新增时是否禁止 |
| | | // addDisabled: false, |
| | | // // 表单新增时是否可见 |
| | | // addDisplay: false, |
| | | // // 表单新增时是否为查看模式 |
| | | // addDetail: false, |
| | | // // 表单编辑时是否禁止 |
| | | // editDisabled: false, |
| | | // // 表单编辑时是否可见 |
| | | // editDisplay: true, |
| | | // // 表单编辑时是否为查看模式 |
| | | // editDetail: false, |
| | | // dicData:[ |
| | | // { |
| | | // label: '待审核', |
| | | // value: "1" |
| | | // }, |
| | | // { |
| | | // label: '审核通过', |
| | | // value: "2" |
| | | // }, |
| | | // { |
| | | // label: '审核不通过', |
| | | // value: "3" |
| | | // } |
| | | // ], |
| | | // search:true, |
| | | // type:"select" |
| | | // }, |
| | | |
| | | { |
| | | label: "审查状态", |
| | | prop: "examinationType", |
| | | slot: true, |
| | | searchSpan:5, |
| | | // 表单新增时是否禁止 |
| | | addDisabled: false, |
| | | // 表单新增时是否可见 |
| | | addDisplay: false, |
| | | // 表单新增时是否为查看模式 |
| | | addDetail: false, |
| | | // 表单编辑时是否禁止 |
| | | editDisabled: false, |
| | | // 表单编辑时是否可见 |
| | | editDisplay: true, |
| | | // 表单编辑时是否为查看模式 |
| | | editDetail: false, |
| | | dicData:[ |
| | | { |
| | | label: '正常', |
| | | value: "1" |
| | | }, |
| | | { |
| | | label: '异常', |
| | | value: "2" |
| | | } |
| | | ], |
| | | search:true, |
| | | type:"select" |
| | | }, |
| | | { |
| | | label: "审查明细", |
| | | prop: "examinationMx", |
| | | slot: true, |
| | | // 表单新增时是否禁止 |
| | | addDisabled: false, |
| | | // 表单新增时是否可见 |
| | | addDisplay: false, |
| | | // 表单新增时是否为查看模式 |
| | | addDetail: false, |
| | | // 表单编辑时是否禁止 |
| | | editDisabled: false, |
| | | // 表单编辑时是否可见 |
| | | editDisplay: true, |
| | | // 表单编辑时是否为查看模式 |
| | | editDetail: false, |
| | | overHidden:true, |
| | | width:150, |
| | | }, |
| | | ], |
| | | }, |
| | | questionBankSearch: {}, |
| | |
| | | |
| | | //批量报名 |
| | | handleBatchApply() { |
| | | this.dialogBatchFormVisible = true; |
| | | }, |
| | | |
| | | //批量报名提交 |
| | | submitBatchApply(){ |
| | | addBatchApply({ |
| | | userIds: this.BatchApply.userId.join(","), |
| | | }).then( |
| | | // this.dialogBatchFormVisible = true; |
| | | if (this.questionBankSelectionList.length === 0) { |
| | | this.$confirm("确定全部人员报名?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning", |
| | | }).then(() => { |
| | | var userIds = ""; |
| | | addBatchApply(userIds,this.userInfo.dept_id).then( |
| | | (res) => { |
| | | this.questionBankOnLoad(this.questionBankPage); |
| | | if (res.data.data == 201) { |
| | |
| | | window.console.log(error); |
| | | } |
| | | ); |
| | | }) |
| | | }else{ |
| | | this.$confirm("确定选择人员报名?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning", |
| | | }).then(() => { |
| | | addBatchApply(this.ids,this.userInfo.dept_id).then( |
| | | (res) => { |
| | | this.questionBankOnLoad(this.questionBankPage); |
| | | if (res.data.data == 201) { |
| | | this.$message({ |
| | | type: "warning", |
| | | message: "已报名,不能重复报名", |
| | | }); |
| | | } else if (res.data.data == 201) { |
| | | this.$message({ |
| | | type: "warning", |
| | | message: "报名失败", |
| | | }); |
| | | } else { |
| | | this.$message({ |
| | | type: "success", |
| | | message: "报名成功", |
| | | }); |
| | | this.$refs.formBatchApply.resetFields(); |
| | | this.dialogBatchFormVisible = false; |
| | | } |
| | | }, |
| | | (error) => { |
| | | window.console.log(error); |
| | | } |
| | | ); |
| | | }) |
| | | } |
| | | }, |
| | | |
| | | //批量报名提交 |
| | | // submitBatchApply(){ |
| | | // addBatchApply({ |
| | | // userIds: this.BatchApply.userId.join(","), |
| | | // }).then( |
| | | // (res) => { |
| | | // this.questionBankOnLoad(this.questionBankPage); |
| | | // if (res.data.data == 201) { |
| | | // this.$message({ |
| | | // type: "warning", |
| | | // message: "已报名,不能重复报名", |
| | | // }); |
| | | // } else if (res.data.data == 201) { |
| | | // this.$message({ |
| | | // type: "warning", |
| | | // message: "报名失败", |
| | | // }); |
| | | // } else { |
| | | // this.$message({ |
| | | // type: "success", |
| | | // message: "报名成功", |
| | | // }); |
| | | // this.$refs.formBatchApply.resetFields(); |
| | | // this.dialogBatchFormVisible = false; |
| | | // } |
| | | // }, |
| | | // (error) => { |
| | | // window.console.log(error); |
| | | // } |
| | | // ); |
| | | // }, |
| | | |
| | | //关闭窗口清除数据 |
| | | closeDialog(){ |
| | |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | overHidden:true, |
| | | }, |
| | | { |
| | | label: "保安姓名", |
| | |
| | | label: "总成绩", |
| | | prop: "allGrade", |
| | | slot: true, |
| | | hide:true, |
| | | // hide:true, |
| | | // 表单新增时是否禁止 |
| | | addDisabled: false, |
| | | viewDisplay:false, |
| | |
| | | methods: { |
| | | questionBankOnLoad(page, params = {}) { |
| | | this.questionBankLoading = false; |
| | | params["examType"] = 1; |
| | | getList( |
| | | page.currentPage, |
| | | page.pageSize, |
| | |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | overHidden:true, |
| | | }, |
| | | { |
| | | label: "保安姓名", |
| | |
| | | }, |
| | | questionBankOnLoad(page, params = {}) { |
| | | this.questionBankLoading = false; |
| | | params["examType"] = 1; |
| | | getList( |
| | | page.currentPage, |
| | | page.pageSize, |
| New file |
| | |
| | | <template> |
| | | <basic-container> |
| | | <avue-crud :option="option" |
| | | :table-loading="loading" |
| | | :data="data" |
| | | :page.sync="page" |
| | | ref="crud" |
| | | @row-del="rowDel" |
| | | v-model="form" |
| | | :permission="permissionList" |
| | | @row-update="rowUpdate" |
| | | @row-save="rowSave" |
| | | :before-open="beforeOpen" |
| | | @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="danger" |
| | | size="small" |
| | | icon="el-icon-delete" |
| | | plain |
| | | v-if="permission.owner_delete" |
| | | @click="handleDelete">删 除 |
| | | </el-button> |
| | | </template> |
| | | <template slot-scope="{row}" |
| | | slot="category"> |
| | | <el-tag>{{row.categoryName}}</el-tag> |
| | | </template> |
| | | </avue-crud> |
| | | </basic-container> |
| | | </template> |
| | | |
| | | <script> |
| | | import {getList, remove, update, add, getNotice} from "@/api/owner/owner"; |
| | | import {mapGetters} from "vuex"; |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | | form: {}, |
| | | query: {}, |
| | | loading: true, |
| | | page: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0 |
| | | }, |
| | | selectionList: [], |
| | | option: { |
| | | height: 'auto', |
| | | calcHeight: 54, |
| | | dialogWidth: 950, |
| | | tip: false, |
| | | searchShow: true, |
| | | labelWidth: 120, |
| | | searchMenuSpan: 6, |
| | | border: true, |
| | | index: true, |
| | | viewBtn: true, |
| | | selection: true, |
| | | excelBtn: true, |
| | | dialogClickModal: false, |
| | | column: [ |
| | | { |
| | | label: "服务单位", |
| | | prop: "company", |
| | | search: true, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入服务单位", |
| | | trigger: "blur" |
| | | }] |
| | | }, |
| | | { |
| | | label: "联系方式", |
| | | prop: "companyContact", |
| | | }, |
| | | { |
| | | label: "反馈时间", |
| | | prop: "releaseTimeRange", |
| | | type: "datetime", |
| | | format: "yyyy-MM-dd", |
| | | valueFormat: "yyyy-MM-dd", |
| | | searchRange: true, |
| | | hide: true, |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | viewDisplay: false, |
| | | search: true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入通知时间", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "反馈时间", |
| | | prop: "feedbackTime", |
| | | type: "date", |
| | | format: "yyyy-MM-dd hh:mm:ss", |
| | | valueFormat: "yyyy-MM-dd hh:mm:ss", |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入反馈时间", |
| | | trigger: "click" |
| | | }] |
| | | }, { |
| | | label: "反馈意见", |
| | | prop: "opinion", |
| | | }, { |
| | | label: "业主", |
| | | prop: "owner", |
| | | search: true, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入反馈时间", |
| | | trigger: "click" |
| | | }] |
| | | }, { |
| | | label: "业主联系方式", |
| | | prop: "ownerContact", |
| | | }, { |
| | | label: "备注", |
| | | prop: "remarks", |
| | | }, { |
| | | label: "处置结果", |
| | | prop: "result", |
| | | } |
| | | ] |
| | | }, |
| | | data: [] |
| | | }; |
| | | }, |
| | | computed: { |
| | | ...mapGetters(["permission"]), |
| | | permissionList() { |
| | | return { |
| | | addBtn: this.vaildData(this.permission.owner_add, false), |
| | | viewBtn: this.vaildData(this.permission.owner_view, false), |
| | | delBtn: this.vaildData(this.permission.owner_delete, false), |
| | | editBtn: this.vaildData(this.permission.owner_edit, false) |
| | | }; |
| | | }, |
| | | ids() { |
| | | let ids = []; |
| | | this.selectionList.forEach(ele => { |
| | | ids.push(ele.id); |
| | | }); |
| | | return ids.join(","); |
| | | } |
| | | }, |
| | | methods: { |
| | | rowSave(row, done, loading) { |
| | | add(row).then(() => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | }); |
| | | done(); |
| | | }, error => { |
| | | window.console.log(error); |
| | | loading(); |
| | | }); |
| | | }, |
| | | rowUpdate(row, index, done, loading) { |
| | | update(row).then(() => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | }); |
| | | done(); |
| | | }, error => { |
| | | window.console.log(error); |
| | | loading(); |
| | | }); |
| | | }, |
| | | rowDel(row) { |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | }) |
| | | .then(() => { |
| | | return remove(row.id); |
| | | }) |
| | | .then(() => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | }); |
| | | }); |
| | | }, |
| | | searchReset() { |
| | | this.query = {}; |
| | | this.onLoad(this.page); |
| | | }, |
| | | searchChange(params, done) { |
| | | this.query = params; |
| | | this.page.currentPage = 1; |
| | | this.onLoad(this.page, params); |
| | | done(); |
| | | }, |
| | | selectionChange(list) { |
| | | this.selectionList = list; |
| | | }, |
| | | selectionClear() { |
| | | this.selectionList = []; |
| | | this.$refs.crud.toggleSelection(); |
| | | }, |
| | | handleDelete() { |
| | | if (this.selectionList.length === 0) { |
| | | this.$message.warning("请选择至少一条数据"); |
| | | return; |
| | | } |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | }) |
| | | .then(() => { |
| | | return remove(this.ids); |
| | | }) |
| | | .then(() => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | }); |
| | | this.$refs.crud.toggleSelection(); |
| | | }); |
| | | }, |
| | | beforeOpen(done, type) { |
| | | if (["edit", "view"].includes(type)) { |
| | | getNotice(this.form.id).then(res => { |
| | | this.form = res.data.data; |
| | | }); |
| | | } |
| | | done(); |
| | | }, |
| | | currentChange(currentPage) { |
| | | this.page.currentPage = currentPage; |
| | | }, |
| | | sizeChange(pageSize) { |
| | | this.page.pageSize = pageSize; |
| | | }, |
| | | refreshChange() { |
| | | this.onLoad(this.page, this.query); |
| | | }, |
| | | onLoad(page, params = {}) { |
| | | const {releaseTimeRange} = this.query; |
| | | let values = { |
| | | ...params, |
| | | }; |
| | | if (releaseTimeRange) { |
| | | values = { |
| | | ...params, |
| | | startTime: releaseTimeRange[0], |
| | | endTime: releaseTimeRange[1], |
| | | ...this.query |
| | | }; |
| | | values.releaseTimeRange = null; |
| | | } |
| | | this.loading = true; |
| | | getList(page.currentPage, page.pageSize, values).then(res => { |
| | | const data = res.data.data; |
| | | this.page.total = data.total; |
| | | this.data = data.records; |
| | | this.loading = false; |
| | | this.selectionClear(); |
| | | }); |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style> |
| | | </style> |
| | |
| | | <template> |
| | | <basic-container class="hasButTwo"> |
| | | <avue-crud |
| | | :option="option" |
| | | <avue-crud :option="option" |
| | | :table-loading="loading" |
| | | :data="data" |
| | | :page.sync="page" |
| | |
| | | @current-change="currentChange" |
| | | @size-change="sizeChange" |
| | | @refresh-change="refreshChange" |
| | | @on-load="onLoad" |
| | | > |
| | | @on-load="onLoad"> |
| | | <template slot="menuLeft"> |
| | | <el-button |
| | | type="primary" |
| | | <el-button type="primary" |
| | | size="small" |
| | | plain |
| | | v-if="permission.attach_upload" |
| | | icon="el-icon-upload2" |
| | | @click="handleUpload" |
| | | >上 传 |
| | | @click="handleUpload">上 传 |
| | | </el-button> |
| | | <el-button |
| | | type="danger" |
| | | <el-button type="danger" |
| | | size="small" |
| | | icon="el-icon-delete" |
| | | plain |
| | | v-if="permission.attach_delete" |
| | | @click="handleDelete" |
| | | >删 除 |
| | | @click="handleDelete">删 除 |
| | | </el-button> |
| | | </template> |
| | | <template slot-scope="scope" slot="menu"> |
| | | <el-button |
| | | type="text" |
| | | <template slot-scope="scope" |
| | | slot="menu"> |
| | | <el-button type="text" |
| | | icon="el-icon-download" |
| | | size="small" |
| | | v-if="permission.attach_download" |
| | | @click="handleDownload(scope.row)" |
| | | >下载 |
| | | @click="handleDownload(scope.row)">下载222 |
| | | </el-button> |
| | | <el-button type="text" |
| | | icon="el-icon-picture-outline-round" |
| | | size="small" |
| | | v-show="!fileFormat(scope.row)" |
| | | @click="seeImages(scope.row)">预览 |
| | | </el-button> |
| | | </template> |
| | | <template slot-scope="{ row }" slot="attachSize"> |
| | | <template slot-scope="{ row }" |
| | | slot="attachSize"> |
| | | <el-tag>{{ `${row.attachSize} KB` }}</el-tag> |
| | | </template> |
| | | </avue-crud> |
| | | <el-dialog |
| | | title="附件管理" |
| | | <el-dialog title="附件管理" |
| | | append-to-body |
| | | :visible.sync="attachBox" |
| | | width="555px" |
| | | > |
| | | <avue-form |
| | | ref="form" |
| | | width="555px"> |
| | | <avue-form ref="form" |
| | | :option="attachOption" |
| | | v-model="attachForm" |
| | | :upload-after="uploadAfter" |
| | | > |
| | | :upload-after="uploadAfter"> |
| | | </avue-form> |
| | | </el-dialog> |
| | | |
| | | <el-dialog title="预览" |
| | | append-to-body |
| | | :visible.sync="imgSee" |
| | | class="see-img-box"> |
| | | |
| | | <div class="img" |
| | | :style="{background: imgUrl}"> |
| | | |
| | | </div> |
| | | |
| | | </el-dialog> |
| | | |
| | | </basic-container> |
| | | </template> |
| | | |
| | |
| | | }, |
| | | ], |
| | | }, |
| | | imgSee: false, |
| | | imgUrl: "" |
| | | }; |
| | | }, |
| | | computed: { |
| | |
| | | this.selectionClear(); |
| | | }); |
| | | }, |
| | | |
| | | seeImages (row) { |
| | | this.imgUrl = ""; |
| | | this.imgUrl = "url(" + row.link + ") center center / contain no-repeat"; |
| | | |
| | | this.imgSee = true; |
| | | }, |
| | | |
| | | fileFormat (row) { |
| | | var index = row.link.lastIndexOf("."); |
| | | var ext = row.link.substr(index + 1); |
| | | |
| | | return [ |
| | | 'png', 'jpg', 'jpeg', 'bmp', 'gif', 'webp', 'psd', 'svg', 'tiff']. |
| | | indexOf(ext.toLowerCase()) == -1; |
| | | } |
| | | }, |
| | | }; |
| | | </script> |
| | |
| | | @click="handleDownload(scope.row)" |
| | | >下载 |
| | | </el-button> |
| | | <el-button |
| | | type="text" |
| | | icon="el-icon-picture-outline-round" |
| | | size="small" |
| | | v-show="!fileFormat(scope.row)" |
| | | @click="seeImages(scope.row)" |
| | | >预览 |
| | | </el-button> |
| | | </template> |
| | | <template slot-scope="{ row }" slot="attachSize"> |
| | | <el-tag>{{ `${row.attachSize} KB` }}</el-tag> |
| | |
| | | :upload-after="uploadAfter" |
| | | > |
| | | </avue-form> |
| | | </el-dialog> |
| | | |
| | | <el-dialog |
| | | title="预览" |
| | | append-to-body |
| | | :visible.sync="imgSee" |
| | | class="see-img-box" |
| | | > |
| | | <div class="img" :style="{ background: imgUrl }"></div> |
| | | </el-dialog> |
| | | </basic-container> |
| | | </template> |
| | |
| | | ], |
| | | }, |
| | | { |
| | | label: "所属公司", |
| | | prop: "enterprisename", |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入所属公司", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "附件预览", |
| | | prop: "link", |
| | | type: "img", |
| | |
| | | // trigger: "blur", |
| | | // }, |
| | | // ], |
| | | }, |
| | | { |
| | | label: "所属公司", |
| | | prop: "enterprisename", |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入所属公司", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "附件大小", |
| | |
| | | }, |
| | | ], |
| | | }, |
| | | imgSee: false, |
| | | imgUrl: "", |
| | | }; |
| | | }, |
| | | computed: { |
| | |
| | | this.selectionClear(); |
| | | }); |
| | | }, |
| | | |
| | | seeImages(row) { |
| | | this.imgUrl = ""; |
| | | this.imgUrl = "url(" + row.link + ") center center / contain no-repeat"; |
| | | |
| | | this.imgSee = true; |
| | | }, |
| | | |
| | | fileFormat(row) { |
| | | var index = row.link.lastIndexOf("."); |
| | | var ext = row.link.substr(index + 1); |
| | | |
| | | return ( |
| | | [ |
| | | "png", |
| | | "jpg", |
| | | "jpeg", |
| | | "bmp", |
| | | "gif", |
| | | "webp", |
| | | "psd", |
| | | "svg", |
| | | "tiff", |
| | | ].indexOf(ext.toLowerCase()) == -1 |
| | | ); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | |
| | | <template> |
| | | <basic-container class="hasButTwo"> |
| | | <avue-crud |
| | | :option="option" |
| | | <avue-crud :option="option" |
| | | :table-loading="loading" |
| | | :data="data" |
| | | :page.sync="page" |
| | |
| | | @current-change="currentChange" |
| | | @size-change="sizeChange" |
| | | @refresh-change="refreshChange" |
| | | @on-load="onLoad" |
| | | > |
| | | @on-load="onLoad"> |
| | | <template slot="menuLeft"> |
| | | <el-button |
| | | type="primary" |
| | | <el-button type="primary" |
| | | size="small" |
| | | plain |
| | | v-if="permission.attach_upload" |
| | | icon="el-icon-upload2" |
| | | @click="handleUpload" |
| | | >上 传 |
| | | @click="handleUpload">上 传 |
| | | </el-button> |
| | | <el-button |
| | | type="danger" |
| | | <el-button type="danger" |
| | | size="small" |
| | | icon="el-icon-delete" |
| | | plain |
| | | v-if="permission.attach_delete" |
| | | @click="handleDelete" |
| | | >删 除 |
| | | @click="handleDelete">删 除 |
| | | </el-button> |
| | | </template> |
| | | <template slot-scope="scope" slot="menu"> |
| | | <el-button |
| | | type="text" |
| | | <template slot-scope="scope" |
| | | slot="menu"> |
| | | <el-button type="text" |
| | | icon="el-icon-download" |
| | | size="small" |
| | | v-if="permission.attach_download" |
| | | @click="handleDownload(scope.row)" |
| | | >下载 |
| | | @click="handleDownload(scope.row)">下载 |
| | | </el-button> |
| | | <el-button type="text" |
| | | icon="el-icon-picture-outline-round" |
| | | size="small" |
| | | v-show="!fileFormat(scope.row)" |
| | | @click="seeImages(scope.row)">预览 |
| | | </el-button> |
| | | </template> |
| | | <template slot-scope="{ row }" slot="attachSize"> |
| | | <template slot-scope="{ row }" |
| | | slot="attachSize"> |
| | | <el-tag>{{ `${row.attachSize} KB` }}</el-tag> |
| | | </template> |
| | | </avue-crud> |
| | | <el-dialog |
| | | title="附件管理" |
| | | <el-dialog title="附件管理" |
| | | append-to-body |
| | | :visible.sync="attachBox" |
| | | width="555px" |
| | | > |
| | | <avue-form |
| | | ref="form" |
| | | width="555px"> |
| | | <avue-form ref="form" |
| | | :option="attachOption" |
| | | v-model="attachForm" |
| | | :upload-after="uploadAfter" |
| | | > |
| | | :upload-after="uploadAfter"> |
| | | </avue-form> |
| | | </el-dialog> |
| | | |
| | | <el-dialog title="预览" |
| | | append-to-body |
| | | :visible.sync="imgSee" |
| | | class="see-img-box"> |
| | | |
| | | <div class="img" |
| | | :style="{background: imgUrl}"> |
| | | |
| | | </div> |
| | | |
| | | </el-dialog> |
| | | </basic-container> |
| | | </template> |
| | |
| | | ], |
| | | }, |
| | | { |
| | | label: "预览图", |
| | | prop: "link", |
| | | dataType: "string", |
| | | type: "img", |
| | | }, |
| | | { |
| | | label: "附件拓展名", |
| | | prop: "extension", |
| | | rules: [ |
| | |
| | | }, |
| | | ], |
| | | }, |
| | | |
| | | imgSee: false, |
| | | imgUrl: "" |
| | | }; |
| | | }, |
| | | computed: { |
| | |
| | | this.selectionClear(); |
| | | }); |
| | | }, |
| | | |
| | | seeImages (row) { |
| | | this.imgUrl = ""; |
| | | this.imgUrl = "url(" + row.link + ") center center / contain no-repeat"; |
| | | |
| | | this.imgSee = true; |
| | | }, |
| | | |
| | | fileFormat (row) { |
| | | var index = row.link.lastIndexOf("."); |
| | | var ext = row.link.substr(index + 1); |
| | | |
| | | return [ |
| | | 'png', 'jpg', 'jpeg', 'bmp', 'gif', 'webp', 'psd', 'svg', 'tiff']. |
| | | indexOf(ext.toLowerCase()) == -1; |
| | | } |
| | | }, |
| | | }; |
| | | </script> |
| New file |
| | |
| | | /* |
| | | * @Author: Morpheus |
| | | * @Date: 2021-07-05 16:31:54 |
| | | * @Last Modified by: Morpheus |
| | | * @Last Modified time: 2021-07-18 19:44:47 |
| | | * 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" |
| | | 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" |
| | | > |
| | | <template slot-scope="{ row }" slot="learnGrade"> |
| | | {{ row.learnGrade == -1 ? "暂未录入" : row.learnGrade }} |
| | | </template> |
| | | |
| | | <!-- 自定义按钮 --> |
| | | <template slot="menuLeft"> |
| | | <!-- <el-button type="danger" |
| | | size="mini" |
| | | icon="el-icon-delete" |
| | | plain |
| | | @click="handleDelete">新增 |
| | | </el-button> --> |
| | | <!-- <el-button type="danger" |
| | | size="mini" |
| | | icon="el-icon-delete" |
| | | plain |
| | | @click="handleDelete">删除 |
| | | </el-button> --> |
| | | <el-button |
| | | type="success" |
| | | size="small" |
| | | plain |
| | | icon="el-icon-upload2" |
| | | @click="handleImport" |
| | | >实操成绩导入 |
| | | </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" |
| | | > |
| | | <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-row> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getList, update } from "@/api/examapi/performance"; |
| | | |
| | | export default { |
| | | 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 { |
| | | 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: 136, |
| | | labelWidth: 120, |
| | | |
| | | column: [ |
| | | { |
| | | label: "试卷名称", |
| | | prop: "examName", |
| | | search: true, |
| | | searchSpan: 4, |
| | | slot: true, |
| | | // 表单新增时是否禁止 |
| | | addDisabled: false, |
| | | // 表单新增时是否可见 |
| | | addDisplay: true, |
| | | // 表单新增时是否为查看模式 |
| | | addDetail: false, |
| | | // 表单编辑时是否禁止 |
| | | editDisabled: true, |
| | | // 表单编辑时是否可见 |
| | | editDisplay: true, |
| | | // 表单编辑时是否为查看模式 |
| | | editDetail: false, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入试卷名称", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | overHidden:true, |
| | | }, |
| | | { |
| | | label: "保安姓名", |
| | | prop: "securityName", |
| | | search: true, |
| | | searchSpan: 4, |
| | | slot: true, |
| | | // 表单新增时是否禁止 |
| | | addDisabled: false, |
| | | // 表单新增时是否可见 |
| | | addDisplay: true, |
| | | // 表单新增时是否为查看模式 |
| | | addDetail: false, |
| | | // 表单编辑时是否禁止 |
| | | editDisabled: true, |
| | | // 表单编辑时是否可见 |
| | | editDisplay: true, |
| | | // 表单编辑时是否为查看模式 |
| | | editDetail: false, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入保安姓名", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | 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", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "考试时间", |
| | | prop: "examTime", |
| | | type: "datetime", |
| | | // span: 24, |
| | | format: "yyyy-MM-dd HH:mm:ss", |
| | | valueFormat: "yyyy-MM-dd HH:mm:ss", |
| | | width: 250, |
| | | slot: true, |
| | | // 表单新增时是否禁止 |
| | | addDisabled: false, |
| | | // 表单新增时是否可见 |
| | | addDisplay: true, |
| | | // 表单新增时是否为查看模式 |
| | | addDetail: false, |
| | | // 表单编辑时是否禁止 |
| | | editDisabled: true, |
| | | // 表单编辑时是否可见 |
| | | editDisplay: true, |
| | | // 表单编辑时是否为查看模式 |
| | | editDetail: false, |
| | | }, |
| | | { |
| | | label: "理论成绩", |
| | | prop: "theoryGrade", |
| | | slot: true, |
| | | // 表单新增时是否禁止 |
| | | addDisabled: false, |
| | | // 表单新增时是否可见 |
| | | addDisplay: true, |
| | | // 表单新增时是否为查看模式 |
| | | addDetail: false, |
| | | // 表单编辑时是否禁止 |
| | | editDisabled: true, |
| | | // 表单编辑时是否可见 |
| | | editDisplay: true, |
| | | // 表单编辑时是否为查看模式 |
| | | editDetail: false, |
| | | }, |
| | | { |
| | | label: "实操成绩", |
| | | prop: "learnGrade", |
| | | slot: true, |
| | | // 表单新增时是否禁止 |
| | | addDisabled: false, |
| | | // 表单新增时是否可见 |
| | | addDisplay: true, |
| | | // 表单新增时是否为查看模式 |
| | | addDetail: false, |
| | | // 表单编辑时是否禁止 |
| | | editDisabled: false, |
| | | // 表单编辑时是否可见 |
| | | editDisplay: true, |
| | | // 表单编辑时是否为查看模式 |
| | | editDetail: false, |
| | | rules: [ |
| | | { validator: validatePass, required: true, trigger: "blur" }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "总成绩", |
| | | prop: "allGrade", |
| | | slot: true, |
| | | // hide:true, |
| | | // 表单新增时是否禁止 |
| | | addDisabled: false, |
| | | viewDisplay:false, |
| | | // 表单新增时是否可见 |
| | | addDisplay: false, |
| | | // 表单新增时是否为查看模式 |
| | | addDetail: false, |
| | | // 表单编辑时是否禁止 |
| | | editDisabled: false, |
| | | // 表单编辑时是否可见 |
| | | editDisplay: false, |
| | | // 表单编辑时是否为查看模式 |
| | | editDetail: false, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入考试名称", |
| | | trigger: "blur" |
| | | }] |
| | | }, |
| | | { |
| | | label: "是否合格", |
| | | prop: "qualified", |
| | | type: "select", |
| | | slot: true, |
| | | search: true, |
| | | searchSpan: 4, |
| | | dicData: [ |
| | | { |
| | | label: "合格", |
| | | value: 0, |
| | | }, |
| | | { |
| | | label: "不合格", |
| | | value: 1, |
| | | }, |
| | | { |
| | | label: "暂未录实操成绩", |
| | | value: 2, |
| | | }, |
| | | ], |
| | | // 表单新增时是否禁止 |
| | | 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() {}, |
| | | methods: { |
| | | questionBankOnLoad(page, params = {}) { |
| | | this.questionBankLoading = false; |
| | | params["examType"] = 2; |
| | | getList( |
| | | page.currentPage, |
| | | page.pageSize, |
| | | Object.assign(params, this.query) |
| | | ).then((res) => { |
| | | const data = res.data.data; |
| | | this.questionBankPage.total = data.total; |
| | | this.questionBankData = data.records; |
| | | this.questionBankLoading = false; |
| | | this.questionBankSelectionClear(); |
| | | }); |
| | | }, |
| | | 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, |
| | | 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.refreshChange(); |
| | | done(); |
| | | }, |
| | | refreshChange() { |
| | | this.questionBankOnLoad(this.page, this.query); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | </style> |
| New file |
| | |
| | | /* |
| | | * @Author: Morpheus |
| | | * @Date: 2021-07-05 16:31:54 |
| | | * @Last Modified by: Morpheus |
| | | * @Last Modified time: 2021-07-18 21:02:10 |
| | | * menu-name 成绩查看 |
| | | */ |
| | | <template> |
| | | <el-row class="morpheus-box-score"> |
| | | <el-col :span="24"> |
| | | <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" |
| | | 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" |
| | | > |
| | | <template slot-scope="{ row }" slot="learnGrade"> |
| | | {{ row.learnGrade == -1 ? "暂未录入" : row.learnGrade }} |
| | | </template> |
| | | |
| | | <template slot-scope="{ row }" slot="menu"> |
| | | <el-button |
| | | type="text" |
| | | size="mini" |
| | | icon="el-icon-collection" |
| | | class="start-kaoshi" |
| | | :disabled="row.qualified==1" |
| | | @click="securityPrint(row)" |
| | | >保安证打印 |
| | | </el-button> |
| | | </template> |
| | | |
| | | <!-- 自定义按钮 --> |
| | | <!-- <template slot="menuLeft"> |
| | | <el-button type="danger" |
| | | size="mini" |
| | | icon="el-icon-delete" |
| | | plain |
| | | @click="handleDelete">新增 |
| | | </el-button> |
| | | <el-button type="danger" |
| | | size="mini" |
| | | icon="el-icon-delete" |
| | | plain |
| | | @click="handleDelete">删除 |
| | | </el-button> |
| | | <el-button type="danger" |
| | | size="mini" |
| | | icon="el-icon-delete" |
| | | plain |
| | | @click="handleDelete">导出 |
| | | </el-button> |
| | | </template> --> |
| | | </avue-crud> |
| | | </div> |
| | | </el-card> |
| | | </el-col> |
| | | </el-row> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getList, update } from "@/api/examapi/performance"; |
| | | |
| | | export default { |
| | | 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 { |
| | | obj: { |
| | | name: "张三", |
| | | }, |
| | | questionBankOption: { |
| | | // 操作栏多余按钮去除 |
| | | delBtn: false, |
| | | editBtn: false, |
| | | addBtn: false, |
| | | selection: false, |
| | | // 导出按钮 |
| | | excelBtn: true, |
| | | excelBtnText: "成绩导出", |
| | | viewBtn: false, |
| | | // title: '成绩', |
| | | |
| | | align: "center", |
| | | height: "auto", |
| | | calcHeight: 80, |
| | | tip: false, |
| | | searchShow: true, |
| | | searchMenuSpan: 4, |
| | | index: true, |
| | | indexLabel: "序号", |
| | | //dialogType: 'drawer', |
| | | dialogClickModal: false, |
| | | // 操作栏宽度 |
| | | menu: false, |
| | | menuWidth: 136, |
| | | labelWidth: 120, |
| | | column: [ |
| | | { |
| | | label: "考试名称", |
| | | prop: "examName", |
| | | search: true, |
| | | searchSpan: 4, |
| | | slot: true, |
| | | viewDisplay:false, |
| | | // 表单新增时是否禁止 |
| | | addDisabled: false, |
| | | // 表单新增时是否可见 |
| | | addDisplay: true, |
| | | // 表单新增时是否为查看模式 |
| | | addDetail: false, |
| | | // 表单编辑时是否禁止 |
| | | editDisabled: false, |
| | | // 表单编辑时是否可见 |
| | | editDisplay: false, |
| | | // 表单编辑时是否为查看模式 |
| | | editDetail: false, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入试卷名称", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | overHidden:true, |
| | | }, |
| | | { |
| | | label: "保安姓名", |
| | | prop: "securityName", |
| | | search: true, |
| | | searchSpan: 4, |
| | | slot: true, |
| | | // 表单新增时是否禁止 |
| | | addDisabled: false, |
| | | // 表单新增时是否可见 |
| | | addDisplay: true, |
| | | // 表单新增时是否为查看模式 |
| | | addDetail: false, |
| | | // 表单编辑时是否禁止 |
| | | editDisabled: true, |
| | | // 表单编辑时是否可见 |
| | | editDisplay: true, |
| | | // 表单编辑时是否为查看模式 |
| | | editDetail: false, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入保安姓名", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | 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", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "考试时间", |
| | | prop: "examTime", |
| | | type: "datetime", |
| | | // span: 24, |
| | | format: "yyyy-MM-dd HH:mm:ss", |
| | | valueFormat: "yyyy-MM-dd HH:mm:ss", |
| | | width: 250, |
| | | slot: true, |
| | | // 表单新增时是否禁止 |
| | | addDisabled: false, |
| | | // 表单新增时是否可见 |
| | | addDisplay: true, |
| | | // 表单新增时是否为查看模式 |
| | | addDetail: false, |
| | | // 表单编辑时是否禁止 |
| | | editDisabled: true, |
| | | // 表单编辑时是否可见 |
| | | editDisplay: true, |
| | | // 表单编辑时是否为查看模式 |
| | | editDetail: false, |
| | | }, |
| | | { |
| | | label: "理论成绩", |
| | | prop: "theoryGrade", |
| | | slot: true, |
| | | // 表单新增时是否禁止 |
| | | addDisabled: false, |
| | | // 表单新增时是否可见 |
| | | addDisplay: true, |
| | | // 表单新增时是否为查看模式 |
| | | addDetail: false, |
| | | // 表单编辑时是否禁止 |
| | | editDisabled: true, |
| | | // 表单编辑时是否可见 |
| | | editDisplay: true, |
| | | // 表单编辑时是否为查看模式 |
| | | editDetail: false, |
| | | }, |
| | | { |
| | | label: "实操成绩", |
| | | prop: "learnGrade", |
| | | slot: true, |
| | | // 表单新增时是否禁止 |
| | | addDisabled: false, |
| | | // 表单新增时是否可见 |
| | | addDisplay: true, |
| | | // 表单新增时是否为查看模式 |
| | | addDetail: false, |
| | | // 表单编辑时是否禁止 |
| | | editDisabled: false, |
| | | // 表单编辑时是否可见 |
| | | editDisplay: true, |
| | | // 表单编辑时是否为查看模式 |
| | | editDetail: false, |
| | | rules: [ |
| | | { validator: validatePass, required: true, trigger: "blur" }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "总成绩", |
| | | prop: "allGrade", |
| | | slot: true, |
| | | // 表单新增时是否禁止 |
| | | addDisabled: false, |
| | | // 表单新增时是否可见 |
| | | addDisplay: true, |
| | | // 表单新增时是否为查看模式 |
| | | addDetail: false, |
| | | // 表单编辑时是否禁止 |
| | | editDisabled: true, |
| | | // 表单编辑时是否可见 |
| | | editDisplay: true, |
| | | // 表单编辑时是否为查看模式 |
| | | editDetail: false, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入考试名称", |
| | | trigger: "blur" |
| | | }] |
| | | }, |
| | | { |
| | | label: "是否合格", |
| | | prop: "qualified", |
| | | type: "select", |
| | | slot: true, |
| | | search: true, |
| | | searchSpan: 4, |
| | | dicData: [ |
| | | { |
| | | label: "合格", |
| | | value: 0, |
| | | }, |
| | | { |
| | | label: "不合格", |
| | | value: 1, |
| | | }, |
| | | { |
| | | label: "暂未录实操成绩", |
| | | value: 2, |
| | | }, |
| | | ], |
| | | // 表单新增时是否禁止 |
| | | 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: [], |
| | | }; |
| | | }, |
| | | created() {}, |
| | | mounted() {}, |
| | | methods: { |
| | | //保安证证查看 |
| | | securityPrint(row) { |
| | | var obj = row; |
| | | obj["name"] = "保安证"; |
| | | this.$router.push({ |
| | | path: `/exam/papers`, |
| | | query: obj, |
| | | }); |
| | | }, |
| | | questionBankOnLoad(page, params = {}) { |
| | | this.questionBankLoading = false; |
| | | params["examType"] = 2; |
| | | getList( |
| | | page.currentPage, |
| | | page.pageSize, |
| | | Object.assign(params, this.query) |
| | | ).then((res) => { |
| | | const data = res.data.data; |
| | | this.questionBankPage.total = data.total; |
| | | this.questionBankData = data.records; |
| | | this.questionBankLoading = false; |
| | | this.questionBankSelectionClear(); |
| | | }); |
| | | }, |
| | | 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, |
| | | id: row.id, |
| | | }).then( |
| | | () => { |
| | | this.questionBankOnLoad(this.questionBankPage); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }, |
| | | (error) => { |
| | | window.console.log(error); |
| | | loading(); |
| | | } |
| | | ); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | </style> |
| | |
| | | * @Date: 2021-07-07 17:30:05 |
| | | * @Last Modified by: Morpheus |
| | | * @Last Modified time: 2021-07-10 16:06:14 |
| | | * menu-name 保安培训单位 |
| | | * menu-name 保安培训报名 |
| | | */ |
| | | <template> |
| | | <basic-container> |
| | |
| | | submit(){ |
| | | batchTrain({ |
| | | userIds: this.formTrainApply.userId.join(","), |
| | | trainingUnitId: this.formTrainApply.trainingUnitId |
| | | }).then( |
| | | (res) => { |
| | | this.onLoad(this.page); |