| | |
| | | /* |
| | | * @Author: Morpheus |
| | | * @Date: 2021-07-05 16:31:54 |
| | | * @Last Modified by: liu |
| | | * @Last Modified time: 2021-11-27 10:20:19 |
| | | * menu-name 成绩管理 |
| | | */ |
| | | /* * @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> |
| | | <el-row class="morpheus-box"> |
| | | <el-col :span="24"> |
| | | <el-card> |
| | | <div |
| | | :class="[ |
| | | 'exam-card-body', |
| | | $store.state.control.windowWidth >= 1024 ? 'tooRowSearch' : '', |
| | | ]" |
| | | > |
| | | <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" |
| | | @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> |
| | | <template slot-scope="{ row }" slot="learnGrade"> |
| | | {{ row.learnGrade == "" ? "暂未录入" : row.learnGrade }} |
| | | </template> |
| | | <template slot-scope="{ row }" slot="allGrade"> |
| | | {{ row.allGrade == -1 ? "" : row.allGrade }} |
| | | </template> |
| | | <template slot-scope="{ row }" slot="qualified"> |
| | | {{ |
| | | row.qualified == "" |
| | | ? "" |
| | | : row.qualified == 0 |
| | | ? "合格" |
| | | : row.qualified == 1 |
| | | ? "不合格" |
| | | : row.qualified == 3 |
| | | ? "缺考,成绩无效" |
| | | : "" |
| | | }} |
| | | </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" |
| | | > |
| | | <template slot-scope="{ row }" slot="theoryGrade"> |
| | | {{ row.theoryGrade }} |
| | | </template> |
| | | <!-- <template slot-scope="{ row }" slot="learnGrade"> |
| | | {{ row.learnGrade == -1 ? "暂未录入" : row.learnGrade==0?'合格':'不合格'}} |
| | | </template> --> |
| | | <template slot-scope="{ row }" slot="allGrade"> |
| | | {{ row.allGrade == -1 ? "" : row.allGrade }} |
| | | </template> |
| | | <template slot-scope="{ row }" slot="qualified"> |
| | | {{ |
| | | row.qualified == "" |
| | | ? "" |
| | | : row.qualified == 0 |
| | | ? "合格" |
| | | : row.qualified == 1 |
| | | ? "不合格" |
| | | : row.qualified == 3 |
| | | ? "缺考,成绩无效" |
| | | : "" |
| | | }} |
| | | </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> |
| | | <el-button |
| | | type="primary" |
| | | size="small" |
| | | plain |
| | | v-if="permission.trainExam_performance_paper_apply" |
| | | icon="el-icon-collection-tag" |
| | | @click="handleSecurityPaperApply" |
| | | >证书制证申请 |
| | | </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> |
| | | <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" |
| | | 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> |
| | | </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 |
| | | > |
| | | </template> |
| | | </avue-crud> |
| | | <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 |
| | | v-show="row.theoryGrade < 60 && row.theoryGrade != null && row.theoryGrade != '' && row.theoryGrade > -1 && permission.resetExamBtn" |
| | | 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" |
| | | > |
| | | <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="实操成绩导入" |
| | | 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> |
| | | |
| | | <el-dialog |
| | | title="申请修改成绩" |
| | |
| | | 请上传笔试答题图片,只能上传jpg/png文件,最多上传5张图片 |
| | | </div> |
| | | </el-upload> |
| | | <el-dialog :visible.sync="dialogVisible" |
| | | <el-dialog :visible.sync="dialogVisible" |
| | | :modal="true" |
| | | :modal-append-to-body="true" |
| | | :append-to-body="true" |
| | |
| | | <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> |
| | |
| | | :closePrint="1" |
| | | ></baoanz> |
| | | </div> |
| | | <!-- </el-dialog> --> |
| | | </el-row> |
| | | </basic-container> |
| | | </template> |
| | | |
| | | <script> |
| | |
| | | update, |
| | | updateAbsent, |
| | | updateGrade, |
| | | remove, |
| | | getNowDate, |
| | | reselfExamScore, |
| | | } from "@/api/examapi/performance"; |
| | | import { mapGetters } from "vuex"; |
| | | import { getRoleDetail } from "@/api/system/role"; |
| | |
| | | } from "@/api/accreditationRecords/accreditationRecords"; |
| | | import Qs from "qs"; |
| | | import { getToken } from "@/util/auth"; |
| | | import { putFile,removeFile } from "@/api/resource/oss"; |
| | | import { putFile, removeFile } from "@/api/resource/oss"; |
| | | export default { |
| | | components: { |
| | | baoanz, |
| | |
| | | { |
| | | label: "考试名称", |
| | | prop: "examName", |
| | | labelWidth:110, |
| | | labelWidth: 110, |
| | | disabled: true, |
| | | rules: [ |
| | | { |
| | |
| | | { |
| | | label: "姓名", |
| | | prop: "securityName", |
| | | labelWidth:110, |
| | | labelWidth: 110, |
| | | disabled: true, |
| | | rules: [ |
| | | { |
| | |
| | | { |
| | | label: "身份证号", |
| | | prop: "account", |
| | | labelWidth:110, |
| | | labelWidth: 110, |
| | | disabled: true, |
| | | rules: [ |
| | | { |
| | |
| | | { |
| | | label: "准考证号", |
| | | prop: "candidateNo", |
| | | labelWidth:110, |
| | | labelWidth: 110, |
| | | disabled: true, |
| | | rules: [ |
| | | { |
| | |
| | | { |
| | | label: "原理论成绩", |
| | | prop: "theoryGrade", |
| | | labelWidth:110, |
| | | labelWidth: 110, |
| | | disabled: true, |
| | | rules: [ |
| | | { |
| | |
| | | }, |
| | | { |
| | | label: "修改考试成绩", |
| | | prop: "editGrades", |
| | | labelWidth:110, |
| | | prop: "newScore", |
| | | labelWidth: 110, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | |
| | | { |
| | | label: "实操成绩", |
| | | prop: "learnGrade", |
| | | labelWidth:110, |
| | | labelWidth: 110, |
| | | type: "select", |
| | | disabled: true, |
| | | rules: [ |
| | | { |
| | |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "总成绩", |
| | | prop: "allGrade", |
| | | labelWidth:110, |
| | | disabled: true, |
| | | rules: [ |
| | | dicData: [ |
| | | { |
| | | required: false, |
| | | message: "请输入总成绩", |
| | | trigger: "blur", |
| | | label: "合格", |
| | | value: 0, |
| | | }, |
| | | { |
| | | label: "不合格", |
| | | value: 1, |
| | | }, |
| | | { |
| | | label: "暂未录实操成绩", |
| | | value: 2, |
| | | }, |
| | | ], |
| | | }, |
| | | // { |
| | | // label: "总成绩", |
| | | // prop: "allGrade", |
| | | // labelWidth: 110, |
| | | // disabled: true, |
| | | // rules: [ |
| | | // { |
| | | // required: false, |
| | | // message: "请输入总成绩", |
| | | // trigger: "blur" |
| | | // } |
| | | // ] |
| | | // }, |
| | | { |
| | | label: "笔试答题图片", |
| | | prop: "url", |
| | | labelWidth:110, |
| | | type: 'upload', |
| | | dataType: 'string', |
| | | labelWidth: 110, |
| | | type: "upload", |
| | | dataType: "string", |
| | | span: 24, |
| | | limit:5, |
| | | listType: 'picture-card', |
| | | tip: '只能上传jpg/png文件,最多上传5张', |
| | | limit: 5, |
| | | listType: "picture-card", |
| | | tip: "只能上传jpg/png文件,最多上传5张", |
| | | propsHttp: { |
| | | res: 'data', |
| | | url: "url" |
| | | res: "data", |
| | | url: "url", |
| | | }, |
| | | action: "/api/blade-resource/oss/endpoint/put-files", |
| | | }, |
| | | { |
| | | label: "修改理由", |
| | | labelWidth:110, |
| | | labelWidth: 110, |
| | | span: 24, |
| | | type: "textarea", |
| | | prop: "editReason", |
| | |
| | | ], |
| | | }, |
| | | form: {}, |
| | | limit:5, |
| | | dialogImageUrl: '', |
| | | limit: 5, |
| | | dialogImageUrl: "", |
| | | dialogVisible: false, |
| | | disabled: false, |
| | | rules: { |
| | |
| | | allGrade: "", |
| | | editGrades: "", |
| | | editReason: "", |
| | | fileList:[], |
| | | fileList: [], |
| | | }, |
| | | gradeBoxVisible: false, |
| | | dialogVisiblezhengjian: false, |
| | |
| | | selection: true, |
| | | reserveSelection: true, |
| | | selectable: (row) => { |
| | | if (row.qualified != "0" || row.isPaper == 6) { |
| | | if (row.isExam == 3) { |
| | | return false; |
| | | } else { |
| | | return true; |
| | |
| | | label: "姓名", |
| | | prop: "securityName", |
| | | search: true, |
| | | searchSpan: 4, |
| | | searchSpan: 3, |
| | | slot: true, |
| | | viewDisplay: true, |
| | | // 表单新增时是否禁止 |
| | |
| | | viewDisabled: true, |
| | | // 表单编辑时是否可见 |
| | | editDisplay: true, |
| | | searchLabelWidth: 50, |
| | | // 表单编辑时是否为查看模式 |
| | | editDetail: false, |
| | | rules: [ |
| | |
| | | editDetail: false, |
| | | }, |
| | | { |
| | | label: "所属公司", |
| | | prop: "companyName", |
| | | sortable: true, |
| | | label: "从业单位", |
| | | prop: "unitName", |
| | | search: true, |
| | | searchSpan: 4, |
| | | // dicUrl: '/api/blade-system/dept/tree', |
| | | // props: { |
| | | // label: "title", |
| | | // value: "id", |
| | | // }, |
| | | slot: true, |
| | | // 表单新增时是否禁止 |
| | | addDisabled: false, |
| | | // 表单新增时是否可见 |
| | |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入所属公司", |
| | | message: "请输入从业单位", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | |
| | | type: "select", |
| | | slot: true, |
| | | search: true, |
| | | searchSpan: 4, |
| | | searchSpan: 3, |
| | | width: 80, |
| | | dicData: [ |
| | | { |
| | |
| | | { |
| | | label: "考试中", |
| | | value: 3, |
| | | }, |
| | | { |
| | | label: "纸质考试", |
| | | value: 5, |
| | | }, |
| | | { |
| | | label: "缺考", |
| | |
| | | { |
| | | label: "实操成绩", |
| | | prop: "learnGrade", |
| | | slot: true, |
| | | sortable: true, |
| | | type: "select", |
| | | // slot: true, |
| | | // sortable: true, |
| | | // 表单新增时是否禁止 |
| | | addDisabled: false, |
| | | // 表单新增时是否可见 |
| | |
| | | // 表单编辑时是否为查看模式 |
| | | editDetail: false, |
| | | width: 95, |
| | | rules: [ |
| | | { validator: validatePass, required: true, trigger: "blur" }, |
| | | dicData: [ |
| | | { |
| | | label: "合格", |
| | | value: 0, |
| | | }, |
| | | { |
| | | label: "不合格", |
| | | value: 1, |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "总成绩", |
| | | prop: "allGrade", |
| | | slot: true, |
| | | sortable: true, |
| | | // 表单新增时是否禁止 |
| | | addDisabled: false, |
| | | // 表单新增时是否可见 |
| | | addDisplay: true, |
| | | // 表单新增时是否为查看模式 |
| | | addDetail: false, |
| | | // 表单编辑时是否禁止 |
| | | editDisabled: true, |
| | | // 表单编辑时是否可见 |
| | | editDisplay: true, |
| | | // 表单编辑时是否为查看模式 |
| | | editDetail: false, |
| | | width: 80, |
| | | }, |
| | | // { |
| | | // label: "总成绩", |
| | | // prop: "allGrade", |
| | | // slot: true, |
| | | // sortable: true, |
| | | // // 表单新增时是否禁止 |
| | | // addDisabled: false, |
| | | // // 表单新增时是否可见 |
| | | // addDisplay: true, |
| | | // // 表单新增时是否为查看模式 |
| | | // addDetail: false, |
| | | // // 表单编辑时是否禁止 |
| | | // editDisabled: true, |
| | | // // 表单编辑时是否可见 |
| | | // editDisplay: true, |
| | | // // 表单编辑时是否为查看模式 |
| | | // editDetail: false, |
| | | // width: 80 |
| | | // }, |
| | | { |
| | | label: "是否合格", |
| | | prop: "qualified", |
| | |
| | | slot: true, |
| | | hide: true, |
| | | search: true, |
| | | searchSpan: 3, |
| | | searchSpan: 4, |
| | | width: 90, |
| | | dicData: [ |
| | | { |
| | |
| | | // 表单编辑时是否为查看模式 |
| | | editDetail: false, |
| | | }, |
| | | // { |
| | | // label: "是否制证", |
| | | // prop: "isPaper", |
| | | // type: "select", |
| | | // search: true, |
| | | // width: 70, |
| | | // searchSpan: 3, |
| | | // addDisplay: false, |
| | | // editDisplay: false, |
| | | // // hide: true, |
| | | // display: false, |
| | | // dicData: [ |
| | | // { |
| | | // label: "全部", |
| | | // value: 10 |
| | | // }, |
| | | // { |
| | | // label: "已制证", |
| | | // value: 6 |
| | | // }, |
| | | // { |
| | | // label: "未制证", |
| | | // value: 7 |
| | | // } |
| | | // ] |
| | | // }, |
| | | { |
| | | label: "是否制证", |
| | | prop: "isPaper", |
| | | type: "select", |
| | | search: true, |
| | | width: 70, |
| | | searchSpan: 3, |
| | | label: "保安员证编号", |
| | | prop: "securityNumber", |
| | | width: 110, |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | // hide: true, |
| | | display: false, |
| | | dicData: [ |
| | | { |
| | | label: "全部", |
| | | value: 10, |
| | | }, |
| | | { |
| | | label: "已制证", |
| | | value: 6, |
| | | }, |
| | | { |
| | | label: "未制证", |
| | | value: 7, |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "有无照片", |
| | |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | questionBankQuery: {}, |
| | | selectionList: [], |
| | | questionBankSelectionList: [], |
| | | excelForm: {}, |
| | | excelOption: { |
| | |
| | | }; |
| | | }, |
| | | created() {}, |
| | | mounted() {}, |
| | | mounted() { |
| | | this.$store.commit("setWindowSizeHeightAdd"); |
| | | }, |
| | | computed: { |
| | | ...mapGetters(["userInfo", "permission"]), |
| | | ids() { |
| | | let ids = []; |
| | | this.questionBankSelectionList.forEach((ele) => { |
| | | ids.push(ele.id); |
| | | }); |
| | | return ids.join(","); |
| | | }, |
| | | permissionList() { |
| | | return { |
| | | addBtn: this.vaildData(null, false), |
| | |
| | | this.permission.trainExam_performance_export, |
| | | false |
| | | ), |
| | | trainExam_performance_paper_apply:this.vaildData(this.permission.trainExam_performance_paper_apply,true) |
| | | }; |
| | | }, |
| | | }, |
| | | methods: { |
| | | // 考试重置 |
| | | reself({id}) { |
| | | reselfExamScore(id).then((res) => { |
| | | if (res.data.data.code == 200) { |
| | | this.$message({ |
| | | showClose: true, |
| | | message: "重置成功", |
| | | type: "success", |
| | | }); |
| | | |
| | | this.questionBankOnLoad(this.questionBankPage); |
| | | } else { |
| | | this.$message({ |
| | | showClose: true, |
| | | message: res.data.data.msg, |
| | | type: "warning", |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | // 批量删除 |
| | | handleDelete() { |
| | | if (this.questionBankSelectionList.length === 0) { |
| | | this.$message.warning("请选择至少一条数据"); |
| | | return; |
| | | } |
| | | this.$confirm("确定将选择考试成绩删除?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return remove(this.ids); |
| | | }) |
| | | .then(() => { |
| | | this.questionBankOnLoad(this.questionBankPage); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | this.$refs.crud.toggleSelection(); |
| | | }); |
| | | }, |
| | | //提交考试成绩修改申请 |
| | | submit(row, done, loading) { |
| | | var that = this; |
| | | row['createUser'] = this.userInfo.Id; |
| | | console.log(row,1234660); |
| | | row["createUser"] = this.userInfo.Id; |
| | | // console.log(row,1234660); |
| | | updateGrade(row).then( |
| | | () => { |
| | | that.$refs.form.resetFields(); |
| | |
| | | message: "操作成功!", |
| | | }); |
| | | that.gradeBoxVisible = false; |
| | | |
| | | |
| | | done(); |
| | | }, |
| | | (error) => { |
| | |
| | | form.append("file", file); |
| | | putFile(form).then((res) => { |
| | | that.gradeForm.fileList.push({ |
| | | name:res.data.data.name, |
| | | url:res.data.data.url |
| | | }) |
| | | console.log(that.gradeForm.fileList,365441); |
| | | name: res.data.data.name, |
| | | url: res.data.data.url, |
| | | }); |
| | | // console.log(that.gradeForm.fileList, 365441); |
| | | }); |
| | | console.log(that.gradeForm.fileList,11122222); |
| | | // console.log(that.gradeForm.fileList, 11122222); |
| | | }, |
| | | //图片展示 |
| | | handlePictureCardPreview(file) { |
| | |
| | | handleRemove(file) { |
| | | var index = []; |
| | | //遍历图片集合,获取下标 |
| | | this.gradeForm.fileList.forEach(function (img,i){ |
| | | if(img.name==file.name){ |
| | | this.gradeForm.fileList.forEach(function (img, i) { |
| | | if (img.name == file.name) { |
| | | index.push(i); |
| | | //存储对象中删除 |
| | | removeFile(img.name); |
| | | } |
| | | }) |
| | | }); |
| | | // console.log(index,222333); |
| | | //删除 |
| | | for (var i = 0; i < index.length; i++) { |
| | | this.gradeForm.fileList.splice(index[i]-i,1); |
| | | this.gradeForm.fileList.splice(index[i] - i, 1); |
| | | } |
| | | }, |
| | | selectionChange(list) { |
| | | // this.selectionList = list; |
| | | this.selectionList = list; |
| | | this.choiceList = []; |
| | | for (let k in list) { |
| | | this.choiceList.push({ |
| | |
| | | }); |
| | | }); |
| | | }, |
| | | //上岗证制证申请 |
| | | handleWorkerPaperApply() { |
| | | if (this.choiceList.length === 0) { |
| | | this.$message.warning("请勾选至少一位持证保安员"); |
| | | return; |
| | | } |
| | | this.$confirm( |
| | | "共选择上岗证制证申请人数" + |
| | | this.choiceList.length + |
| | | "人,确定申请制证?", |
| | | { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning", |
| | | } |
| | | ) |
| | | .then(() => { |
| | | let cho = this.choiceList; |
| | | let str = ""; |
| | | for (let k in cho) { |
| | | str += cho[k].id; |
| | | if (k != cho.length - 1) { |
| | | str += ","; |
| | | } |
| | | } |
| | | const data = { |
| | | ids: str, |
| | | createUser: this.userInfo.user_id, |
| | | type: 1, |
| | | }; |
| | | return securityApply(data); |
| | | }) |
| | | .then(() => { |
| | | this.$refs.questionBankCrud.toggleSelection(); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | }); |
| | | }, |
| | | openzhengjian(row) { |
| | | this.baoanzdata = { |
| | | realName: row.securityName, |
| | |
| | | this.dialogVisiblezhengjian = true; |
| | | }, |
| | | //关闭dialog |
| | | dialogBeforeClose(done){ |
| | | dialogBeforeClose(done) { |
| | | this.gradeForm.fileList = []; |
| | | done(); |
| | | }, |
| | |
| | | that.questionBankPage.total = data.total; |
| | | that.questionBankData = data.records; |
| | | that.questionBankLoading = false; |
| | | that.$store.commit("setWindowSizeHeightAdd"); |
| | | that.questionBankSelectionClear(); |
| | | }); |
| | | }); |
| | |
| | | ); |
| | | }); |
| | | }, |
| | | |
| | | // 修改考试成绩 |
| | | modifiedGrades(row) { |
| | | console.log(row,97998); |
| | | this.form = { |
| | | id:null, |
| | | examScoreId:row.id, |
| | | examName:row.examName, |
| | | candidateNo:row.candidateNo, |
| | | account:row.account, |
| | | securityName:row.securityName, |
| | | theoryGrade:row.theoryGrade, |
| | | learnGrade:row.learnGrade, |
| | | allGrade:row.allGrade, |
| | | } |
| | | this.gradeBoxVisible = true; |
| | | var that = this; |
| | | //判断时间,获取系统时间,减去考试结束时间,小于24小时则可以申请,超过则提示无法申请 |
| | | var endTime = row.endTime; |
| | | //必须把日期'-'转为'/' |
| | | endTime = endTime.replace(/-/g, "/"); |
| | | //得到时间戳 |
| | | var longtime = new Date(endTime).getTime(); |
| | | // console.log(longtime,123466); |
| | | getNowDate().then((res) => { |
| | | var num = 24 * 3600 * 1000; |
| | | if (this.userInfo.role_name == "培训公司管理员") { |
| | | // if (res.data.data - longtime <= num) { |
| | | this.form = { |
| | | id: null, |
| | | examScoreId: row.id, |
| | | examName: row.examName, |
| | | candidateNo: row.candidateNo, |
| | | account: row.account, |
| | | securityName: row.securityName, |
| | | theoryGrade: row.theoryGrade, |
| | | learnGrade: row.learnGrade, |
| | | allGrade: row.allGrade, |
| | | }; |
| | | this.gradeBoxVisible = true; |
| | | // } else { |
| | | // //提示 |
| | | // that.$message({ |
| | | // type: "warning", |
| | | // message: "成绩修改申请只能在考试截止时间后的24小内提交!" |
| | | // }); |
| | | // } |
| | | } else { |
| | | this.form = { |
| | | id: null, |
| | | examScoreId: row.id, |
| | | examName: row.examName, |
| | | candidateNo: row.candidateNo, |
| | | account: row.account, |
| | | securityName: row.securityName, |
| | | theoryGrade: row.theoryGrade, |
| | | learnGrade: row.learnGrade, |
| | | allGrade: row.allGrade, |
| | | }; |
| | | this.gradeBoxVisible = true; |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | uploadGrade(formName) { |
| | | var that = this; |
| | | |
| | |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | questionBankSelectionClear() { |
| | | this.questionBankSelectionList = []; |
| | | this.sort = ""; |
| | |
| | | // this.$refs.questionBankCrud.toggleSelection(); |
| | | }, |
| | | questionBankSelectionChange(list) { |
| | | // this.questionBankSelectionList = list; |
| | | this.questionBankSelectionList = list; |
| | | this.choiceList = []; |
| | | for (let k in list) { |
| | | this.choiceList.push({ |
| | |
| | | questionBankSizeChange(pageSize) { |
| | | this.questionBankPage.pageSize = pageSize; |
| | | }, |
| | | |
| | | questionBankRowUpdate(row, index, done, loading) { |
| | | update({ |
| | | theoryGrade: row.theoryGrade, |
| | |
| | | .morpheus-box { |
| | | position: relative; |
| | | } |
| | | |
| | | .dialogVisiblezhengjian { |
| | | position: absolute; |
| | | background-color: #fff; |