From aff4ce9ab81be8709efe4ebf1bc0383872aea205 Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期六, 07 十月 2023 17:04:56 +0800
Subject: [PATCH] 对接接口
---
src/api/notCoalMine/certifiate.js | 9
src/api/notCoalMine/batch.js | 18 +
src/utils/filter.js | 17 +
src/views/notCoalMine/nBatchManage/components/batchDialog.vue | 370 ++++++++++++++++++++++++++
src/views/notCoalMine/nBatchManage/index.vue | 344 ++++++++++++++----------
src/views/notCoalMine/nCertificateList/index.vue | 28 +
src/views/notCoalMine/nCertificateList/components/certificateDialog.vue | 7
7 files changed, 638 insertions(+), 155 deletions(-)
diff --git a/src/api/notCoalMine/batch.js b/src/api/notCoalMine/batch.js
new file mode 100644
index 0000000..2b1959d
--- /dev/null
+++ b/src/api/notCoalMine/batch.js
@@ -0,0 +1,18 @@
+import request from '@/utils/request'
+
+// 数据分页
+export function getBatchSync() {
+ return request({
+ url: '/nc/exam/plan/sync/data',
+ method: 'get'
+ })
+}
+
+// 数据分页
+export function getBatchPage(query) {
+ return request({
+ url: '/nc/exam/plan/page/list',
+ method: 'get',
+ params: query
+ })
+}
diff --git a/src/api/notCoalMine/certifiate.js b/src/api/notCoalMine/certifiate.js
index 1e1e545..f0d89d5 100644
--- a/src/api/notCoalMine/certifiate.js
+++ b/src/api/notCoalMine/certifiate.js
@@ -1,6 +1,15 @@
import request from '@/utils/request'
// 数据分页
+export function getCertificateSync(query) {
+ return request({
+ url: '/nc/cert/sync/data',
+ method: 'get',
+ params: query
+ })
+}
+
+// 数据分页
export function getCertificatePage(query) {
return request({
url: '/nc/cert/page/list',
diff --git a/src/utils/filter.js b/src/utils/filter.js
index 1231488..f4e2138 100644
--- a/src/utils/filter.js
+++ b/src/utils/filter.js
@@ -23,3 +23,20 @@
Vue.filter('threeName', (value) => {
return value
});
+
+Vue.filter('formatDate',(value) => {
+ const date = new Date(value);
+
+ // 使用日期对象的方法获取年、月、日、小时、分钟、秒
+ const year = date.getFullYear();
+ const month = String(date.getMonth() + 1).padStart(2, "0");
+ const day = String(date.getDate()).padStart(2, "0");
+ const hours = String(date.getHours()).padStart(2, "0");
+ const minutes = String(date.getMinutes()).padStart(2, "0");
+ const seconds = String(date.getSeconds()).padStart(2, "0");
+
+ // 构建所需格式的字符串
+ const formattedDate = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
+
+ return formattedDate;
+})
diff --git a/src/views/notCoalMine/nBatchManage/components/batchDialog.vue b/src/views/notCoalMine/nBatchManage/components/batchDialog.vue
new file mode 100644
index 0000000..d001de2
--- /dev/null
+++ b/src/views/notCoalMine/nBatchManage/components/batchDialog.vue
@@ -0,0 +1,370 @@
+<template>
+ <el-dialog :title="title" :visible.sync="open" width="50%" append-to-body>
+ <div class="main_form">
+ <el-form :model="form" :rules="rules" ref="ruleForm" label-width="200px">
+ <el-row>
+ <el-col :span="20">
+ <el-form-item label="计划名称" prop="examPlanName">
+ <el-input v-model="form.examPlanName" :readonly="disable"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="20">
+ <el-form-item label="人员类型" prop="personTypeName">
+ <el-input v-model="form.personTypeName" :readonly="disable"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="20">
+ <el-form-item label="作业类别" prop="jobTypeName">
+ <el-input v-model="form.jobTypeName" :readonly="disable"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="20">
+ <el-form-item label="操作项目" prop="operitemName">
+ <el-input v-model="form.operitemName" :readonly="disable"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="20">
+ <el-form-item label="计划考试人数" prop="plannedExamNumber">
+ <el-input v-model="form.plannedExamNumber" :readonly="disable"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="20">
+ <el-form-item label="备案机关" prop="filingOrg">
+ <el-input v-model="form.filingOrg" :readonly="disable"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="20">
+ <el-form-item label="理论考试点" prop="theoryExamPlaceName">
+ <el-input v-model="form.theoryExamPlaceName" :readonly="disable"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="20">
+ <el-form-item label="理论考试方式" prop="theoryExamUseMethod">
+ <el-radio-group v-model="form.theoryExamUseMethod" :disabled="disable">
+ <el-radio label="1">流水考试</el-radio>
+ <el-radio label="2">固定场次</el-radio>
+ <el-radio label="3">其他</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="20">
+ <el-form-item label="理论考试开始时间" prop="theoryExamStartTime">
+ <el-input v-model="form.theoryExamStartTime" :readonly="disable"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="20">
+ <el-form-item label="理论考试结束时间" prop="theoryExamEndTime">
+ <el-input v-model="form.theoryExamEndTime" :readonly="disable"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="20">
+ <el-form-item label="理论补考开始时间" prop="theoryExamMakeupStartTime">
+ <el-input v-model="form.theoryExamMakeupStartTime" :readonly="disable"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="20">
+ <el-form-item label="理论补考结束时间" prop="theoryExamMakeupEndTime">
+ <el-input v-model="form.theoryExamMakeupEndTime" :readonly="disable"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="20">
+ <el-form-item label="实操考试点" prop="practicalExamPlaceName">
+ <el-input v-model="form.practicalExamPlaceName" :readonly="disable"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="20">
+ <el-form-item label="实操考试方式" prop="practicalExamMethod">
+ <el-radio-group v-model="form.practicalExamMethod" :disabled="disable">
+ <el-radio label="1">人工考评</el-radio>
+ <el-radio label="2">实操设备考评</el-radio>
+ <el-radio label="3">其他</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="20">
+ <el-form-item label="实操考试开始时间" prop="practicalExamStartTime">
+ <el-input v-model="form.practicalExamStartTime" :readonly="disable"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="20">
+ <el-form-item label="实操考试结束时间" prop="practicalExamEndTime">
+ <el-input v-model="form.practicalExamEndTime" :readonly="disable"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="20">
+ <el-form-item label="实操补考开始时间" prop="practicalExamMakeupStartTime">
+ <el-input v-model="form.practicalExamMakeupStartTime" :readonly="disable"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="20">
+ <el-form-item label="实操补考结束时间" prop="practicalExamMakeupEndTime">
+ <el-input v-model="form.practicalExamMakeupEndTime" :readonly="disable"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ <div style="width: 100%;padding-bottom: 30px;display: flex;justify-content: center">
+ <el-button v-if="title == '查看'" type="primary" @click="open = false">确认</el-button>
+ <el-button v-else type="primary" @click="submit()">提交</el-button>
+ </div>
+ </div>
+ </el-dialog>
+</template>
+
+<script>
+// import {getExpertTypes,addExpertInfo,uploadFile} from '@/api/system/form'
+// import { verifySimplePhone, verifyIdCard } from "@/utils/validate";
+import {formatDate} from "@/utils";
+
+export default {
+ name: "nBatchDialog",
+ dicts: ['sys_nation_code'],
+ data() {
+ let validatePhone = (rule, value, callback)=>{
+ if(value === ''){
+ callback(new Error('请输入手机号'))
+ }else{
+ if(!verifySimplePhone(value)){
+ callback(new Error('手机号格式有误'))
+ }else{
+ callback()
+ }
+ }
+ }
+ let verifyId = (rule, value, callback)=>{
+ if(value === ''){
+ callback(new Error('请输入身份证号'))
+ }else{
+ if(!verifyIdCard(value)){
+ callback(new Error('身份证号格式有误'))
+ }else{
+ callback()
+ }
+ }
+ }
+ return {
+ title: '新增',
+ disable: false,
+ open: false,
+ form:{
+ },
+ rules:{
+ name:[{ required: true, message: '请填写姓名', trigger: 'blur' }],
+ sex:[{ required: true, message: '请选择性别', trigger: 'blur' }],
+ idCard: [{ required: true, validator: verifyId, trigger: 'blur' }],
+ race: [{ required: true, message: '请选择民族', trigger: 'blur' }],
+ phone:[{ required: true, validator: validatePhone, trigger: 'blur' }],
+ degree: [{ required: true, message: '请填写最高学历', trigger: 'blur' }]
+ },
+ };
+ },
+
+ created() {
+ const t = this
+ },
+ methods: {
+ openDialog(val,type){
+ if(type == 'add'){
+ this.title = '新增'
+ this.disable = false
+ }else{
+ if(type == 'edit'){
+ this.title = '编辑'
+ this.disable = false
+ }else{
+ this.title = '查看'
+ this.disable = true
+ }
+ this.form = val
+ this.form.theoryExamStartTime = formatDate(val.theoryExamStartTime)
+ this.form.theoryExamEndTime = formatDate(val.theoryExamStartTime)
+ this.form.theoryExamMakeupStartTime = formatDate(val.theoryExamStartTime)
+ this.form.theoryExamMakeupEndTime = formatDate(val.theoryExamStartTime)
+ this.form.practicalExamStartTime = formatDate(val.practicalExamStartTime)
+ this.form.practicalExamEndTime = formatDate(val.practicalExamStartTime)
+ this.form.practicalExamMakeupStartTime = formatDate(val.practicalExamStartTime)
+ this.form.practicalExamMakeupEndTime = formatDate(val.practicalExamStartTime)
+ // for(let i in val){
+ // if(this.isValidKey(i,this.form)){
+ // this.form[i] = val[i]
+ // }
+ // }
+ }
+ this.open = true
+ },
+ isValidKey(key,obj){
+ return key in obj
+ },
+
+ async getExpertsType(){
+ const res = await getExpertTypes()
+ if(res.code == 200){
+ this.expertsType = res.data
+ }else{
+ this.$message({
+ type: 'warning',
+ message: res.msg
+ });
+ }
+ },
+ async submit(){
+ this.$refs["ruleForm"].validate(async(valid) =>{
+ if(valid) {
+ let data = this.form
+ data.supportDirectionSafety = data.supportDirectionSafety.join(',')
+ data.supportDirectionPrevention = data.supportDirectionPrevention.join(',')
+ data.supportDirectionEmergency = data.supportDirectionEmergency.join(',')
+ data.bigClassify = data.profession[0]
+ data.smallClassify = data.profession[1]
+ delete data.profession
+ const res= await addExpertInfo(data)
+ if(res.code == 200){
+ this.$message({
+ type:'success',
+ message: res.msg
+ })
+ this.$emit('closeDialog')
+ this.$refs.ruleForm.resetFields()
+ this.fileList = []
+ }else{
+ this.$message({
+ type:'warning',
+ message: res.msg
+ })
+ }
+ }else{
+ this.$message({
+ type:'warning',
+ message:'请完善必填信息'
+ })
+ }
+ })
+ },
+ changeSource(num){
+ this.form.source = num
+ }
+ }
+};
+</script>
+
+<style scoped lang="scss">
+.home {
+ blockquote {
+ padding: 10px 20px;
+ margin: 0 0 20px;
+ font-size: 17.5px;
+ border-left: 5px solid #eee;
+ }
+ hr {
+ margin-top: 20px;
+ margin-bottom: 20px;
+ border: 0;
+ border-top: 1px solid #eee;
+ }
+ .col-item {
+ margin-bottom: 20px;
+ }
+
+ ul {
+ padding: 0;
+ margin: 0;
+ }
+
+ font-family: "open sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-size: 13px;
+ color: #676a6c;
+ overflow-x: hidden;
+
+ ul {
+ list-style-type: none;
+ }
+
+ h4 {
+ margin-top: 0px;
+ }
+
+ h2 {
+ margin-top: 10px;
+ font-size: 26px;
+ font-weight: 100;
+ }
+
+ p {
+ margin-top: 10px;
+
+ b {
+ font-weight: 700;
+ }
+ }
+
+ .update-log {
+ ol {
+ display: block;
+ list-style-type: decimal;
+ margin-block-start: 1em;
+ margin-block-end: 1em;
+ margin-inline-start: 0;
+ margin-inline-end: 0;
+ padding-inline-start: 40px;
+ }
+ }
+}
+.avatar-uploader .el-upload {
+ border: 1px dashed #d9d9d9;
+ border-radius: 6px;
+ cursor: pointer;
+ position: relative;
+ overflow: hidden;
+}
+.avatar-uploader .el-upload:hover {
+ border-color: #409EFF;
+}
+.avatar-uploader-icon {
+ font-size: 28px;
+ color: #8c939d;
+ width: 178px;
+ height: 178px;
+ line-height: 178px;
+ text-align: center;
+}
+.avatar {
+ width: 178px;
+ height: 178px;
+ display: block;
+}
+</style>
+
diff --git a/src/views/notCoalMine/nBatchManage/index.vue b/src/views/notCoalMine/nBatchManage/index.vue
index a17913d..a73ed0c 100644
--- a/src/views/notCoalMine/nBatchManage/index.vue
+++ b/src/views/notCoalMine/nBatchManage/index.vue
@@ -1,9 +1,9 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
- <el-form-item label="批次名称" prop="userName">
+ <el-form-item label="批次名称" prop="examPlanName">
<el-input
- v-model="queryParams.userName"
+ v-model="queryParams.examPlanName"
placeholder="请输入批次名称"
clearable
@keyup.enter.native="handleQuery"
@@ -27,96 +27,96 @@
placeholder="结束日期">
</el-date-picker>
</el-form-item>
- <el-form-item label="资格类型">
- <el-select v-model="value" placeholder="请选择">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="作业类型">
- <el-select v-model="value" placeholder="请选择">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="取证类型">
- <el-select v-model="value" placeholder="请选择">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="批次状态">
- <el-select v-model="value" placeholder="请选择">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="发证机关">
- <el-select v-model="value" placeholder="请选择">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="考试机构">
- <el-select v-model="value" placeholder="请选择">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="理论考点">
- <el-select v-model="value" placeholder="请选择">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="实操考点">
- <el-select v-model="value" placeholder="请选择">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="培训机构">
- <el-select v-model="value" placeholder="请选择">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
+<!-- <el-form-item label="资格类型">-->
+<!-- <el-select v-model="value" placeholder="请选择">-->
+<!-- <el-option-->
+<!-- v-for="item in options"-->
+<!-- :key="item.value"-->
+<!-- :label="item.label"-->
+<!-- :value="item.value">-->
+<!-- </el-option>-->
+<!-- </el-select>-->
+<!-- </el-form-item>-->
+<!-- <el-form-item label="作业类型">-->
+<!-- <el-select v-model="value" placeholder="请选择">-->
+<!-- <el-option-->
+<!-- v-for="item in options"-->
+<!-- :key="item.value"-->
+<!-- :label="item.label"-->
+<!-- :value="item.value">-->
+<!-- </el-option>-->
+<!-- </el-select>-->
+<!-- </el-form-item>-->
+<!-- <el-form-item label="取证类型">-->
+<!-- <el-select v-model="value" placeholder="请选择">-->
+<!-- <el-option-->
+<!-- v-for="item in options"-->
+<!-- :key="item.value"-->
+<!-- :label="item.label"-->
+<!-- :value="item.value">-->
+<!-- </el-option>-->
+<!-- </el-select>-->
+<!-- </el-form-item>-->
+<!-- <el-form-item label="批次状态">-->
+<!-- <el-select v-model="value" placeholder="请选择">-->
+<!-- <el-option-->
+<!-- v-for="item in options"-->
+<!-- :key="item.value"-->
+<!-- :label="item.label"-->
+<!-- :value="item.value">-->
+<!-- </el-option>-->
+<!-- </el-select>-->
+<!-- </el-form-item>-->
+<!-- <el-form-item label="发证机关">-->
+<!-- <el-select v-model="value" placeholder="请选择">-->
+<!-- <el-option-->
+<!-- v-for="item in options"-->
+<!-- :key="item.value"-->
+<!-- :label="item.label"-->
+<!-- :value="item.value">-->
+<!-- </el-option>-->
+<!-- </el-select>-->
+<!-- </el-form-item>-->
+<!-- <el-form-item label="考试机构">-->
+<!-- <el-select v-model="value" placeholder="请选择">-->
+<!-- <el-option-->
+<!-- v-for="item in options"-->
+<!-- :key="item.value"-->
+<!-- :label="item.label"-->
+<!-- :value="item.value">-->
+<!-- </el-option>-->
+<!-- </el-select>-->
+<!-- </el-form-item>-->
+<!-- <el-form-item label="理论考点">-->
+<!-- <el-select v-model="value" placeholder="请选择">-->
+<!-- <el-option-->
+<!-- v-for="item in options"-->
+<!-- :key="item.value"-->
+<!-- :label="item.label"-->
+<!-- :value="item.value">-->
+<!-- </el-option>-->
+<!-- </el-select>-->
+<!-- </el-form-item>-->
+<!-- <el-form-item label="实操考点">-->
+<!-- <el-select v-model="value" placeholder="请选择">-->
+<!-- <el-option-->
+<!-- v-for="item in options"-->
+<!-- :key="item.value"-->
+<!-- :label="item.label"-->
+<!-- :value="item.value">-->
+<!-- </el-option>-->
+<!-- </el-select>-->
+<!-- </el-form-item>-->
+<!-- <el-form-item label="培训机构">-->
+<!-- <el-select v-model="value" placeholder="请选择">-->
+<!-- <el-option-->
+<!-- v-for="item in options"-->
+<!-- :key="item.value"-->
+<!-- :label="item.label"-->
+<!-- :value="item.value">-->
+<!-- </el-option>-->
+<!-- </el-select>-->
+<!-- </el-form-item>-->
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@@ -130,106 +130,158 @@
plain
icon="el-icon-refresh"
size="mini"
- @click="handleAdd"
+ @click="getAsyncData"
v-hasPermi="['system:experts:add']"
>同步数据</el-button>
</el-col>
- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+ <right-toolbar :showSearch.sync="showSearch" @queryTable="getPage"></right-toolbar>
</el-row>
- <el-table v-loading="loading" :data="expertList">
+ <el-table v-loading="loading" :data="dataList">
<el-table-column type="index" label="序号" width="55" align="center" />
- <el-table-column label="名称" align="center" prop="name" />
- <el-table-column label="审批状态" align="center" prop="name" />
- <el-table-column label="课程状态" align="center" prop="name" />
- <el-table-column label="成绩状态" align="center" prop="phone"/>
- <el-table-column label="培训单位" align="center" prop="phone"/>
- <el-table-column label="发证机关" align="center" prop="phone"/>
- <el-table-column label="考试机构" align="center" prop="degree" />
- <el-table-column label="理论考点" align="center" prop="job" />
- <el-table-column label="实操考点" align="center" prop="speciality" />
- <el-table-column label="取证类型" align="center"/>
- <el-table-column label="资格类型" align="center"/>
- <el-table-column label="作业类别" align="center"/>
- <el-table-column label="操作项目" align="center"/>
- <el-table-column label="培训人数" align="center"/>
- <el-table-column label="合格人数" align="center"/>
+ <el-table-column label="计划名称" align="center" prop="examPlanName" width="180"/>
+ <el-table-column label="人员类型" align="center" prop="personTypeName"/>
+ <el-table-column label="作业类别" align="center" prop="jobTypeName"/>
+ <el-table-column label="操作项目" align="center" prop="operitemName"/>
+ <el-table-column label="计划考试人数" align="center" prop="plannedExamNumber"/>
+ <el-table-column label="备案机关" align="center" prop="filingOrg"/>
+ <el-table-column label="理论考试点" align="center" prop="theoryExamPlaceName" />
+ <el-table-column label="理论考试方式" align="center" prop="theoryExamUseMethod">
+ <template #default="scope">
+ {{scope.row.theoryExamUseMethod == '1'?'流水考试':scope.row.theoryExamUseMethod == '2'?'固定场次':'其他' }}
+ </template>
+ </el-table-column>
+ <el-table-column label="理论考试时间" align="center">
+ <template #default="scope">
+ {{scope.row.theoryExamStartTime | formatDate }}~{{ scope.row.theoryExamEndTime | formatDate }}
+ </template>
+ </el-table-column>
+ <el-table-column label="理论补考时间" align="center">
+ <template #default="scope">
+ {{scope.row.theoryExamMakeupStartTime | formatDate }}~{{ scope.row.theoryExamMakeupEndTime | formatDate }}
+ </template>
+ </el-table-column>
+ <el-table-column label="实操考点" align="center" prop="practicalExamPlaceName" />
+ <el-table-column label="实操考试方式" align="center" prop="practicalExamMethod">
+ <template #default="scope">
+ {{scope.row.practicalExamMethod == '1'?'人工考评':scope.row.practicalExamMethod == '2'?'实操设备考评':'其他' }}
+ </template>
+ </el-table-column>
+ <el-table-column label="实操考试时间" align="center">
+ <template #default="scope">
+ {{scope.row.practicalExamStartTime | formatDate }}~{{ scope.row.practicalExamEndTime | formatDate }}
+ </template>
+ </el-table-column>
+ <el-table-column label="实操补考时间" align="center">
+ <template #default="scope">
+ {{scope.row.practicalExamMakeupStartTime | formatDate }}~{{ scope.row.practicalExamMakeupEndTime | formatDate }}
+ </template>
+ </el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
- @click="handleUpdate(scope.row)"
- >编辑</el-button>
- <el-button
- size="mini"
- type="text"
- icon="el-icon-view"
- @click="handleView(scope.row)"
+ @click="openBatch(scope.row,'view')"
>查看</el-button>
- <!-- <el-button-->
- <!-- size="mini"-->
- <!-- type="text"-->
- <!-- icon="el-icon-delete"-->
- <!-- @click="handleDelete(scope.row)"-->
- <!-- v-hasPermi="['system:experts:remove']"-->
- <!-- >删除</el-button>-->
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
- :page.sync="queryParams.pageIndex"
+ :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
- @pagination="getList"
+ @pagination="getPage"
/>
+ <batch-dialog ref="batchDialog"></batch-dialog>
</div>
</template>
<script>
+import {getBatchPage, getBatchSync} from "@/api/notCoalMine/batch";
+import batchDialog from "@/views/notCoalMine/nBatchManage/components/batchDialog";
export default {
- name: "nPeopleManage",
+ name: "nBatchManage",
dicts: [],
- components: {},
+ components: {batchDialog},
data() {
return {
loading: false,
- single: true,
- multiple: true,
showSearch: true,
- addForm: false,
total: 0,
- expertTypes: [],
- expertList: [],
- queryParams: {},
- classiFy: [],
- form: {},
- rules: {
- classifyName: [
- { required: true, message: "分类名称不能为空", trigger: "blur" }
- ]
+ dataList: [],
+ queryParams: {
+ examPlanName: '',
+ startTime: '',
+ endTime: '',
+ pageNum: 1,
+ pageSize: 10
}
};
},
created() {
-
+ this.getPage()
},
methods: {
- getList(){
+ async getAsyncData(){
+ const t = this
+ const loading = this.$loading({
+ text: '正在同步',
+ spinner: 'el-icon-loading',
+ fullscreen: false
+ });
+ const res = await getBatchSync()
+ if(res.code == 200){
+ await t.getPage()
+ }else{
+ t.$message({
+ message: res.msg,
+ type: 'warning'
+ })
+ }
+ loading.close();
+ },
+ async getPage(){
+ const t = this
+ t.loading = true
+ if(t.queryParams.idcardNum !== ''){
+ t.queryParams.idcardTypeCode = '01'
+ }else{
+ t.queryParams.idcardTypeCode = ''
+ }
+ const res = await getBatchPage(t.queryParams)
+ if(res.code == 200){
+ t.dataList = res.rows
+ t.total = res.total
+ }else{
+ t.$message({
+ message: res.msg,
+ type: 'warning'
+ })
+ }
+ t.loading = false
},
handleChange(){
},
handleQuery(){
-
+ this.queryParams.pageNum = 1
+ this.getPage()
},
resetQuery(){
-
+ this.queryParams={
+ examPlanName: '',
+ startTime: '',
+ endTime: '',
+ pageNum: 1,
+ pageSize: 10
+ }
+ this.getPage()
},
- handleAdd(){
-
+ openBatch(data,type){
+ this.$refs.batchDialog.openDialog(data,type)
}
}
};
diff --git a/src/views/notCoalMine/nCertificateList/components/certificateDialog.vue b/src/views/notCoalMine/nCertificateList/components/certificateDialog.vue
index 5b4f2ca..abb4e1c 100644
--- a/src/views/notCoalMine/nCertificateList/components/certificateDialog.vue
+++ b/src/views/notCoalMine/nCertificateList/components/certificateDialog.vue
@@ -279,13 +279,6 @@
console.log(file, fileList);
},
async submit(){
- if(this.form.supportDirectionSafety.length == 0 && this.form.supportDirectionPrevention.length == 0 && this.form.supportDirectionEmergency.length == 0){
- this.$message({
- type:'warning',
- message: '请至少选择一种支撑方向'
- })
- return
- }
this.$refs["ruleForm"].validate(async(valid) =>{
if(valid) {
await this.submitUpload()
diff --git a/src/views/notCoalMine/nCertificateList/index.vue b/src/views/notCoalMine/nCertificateList/index.vue
index 471239b..41e30fd 100644
--- a/src/views/notCoalMine/nCertificateList/index.vue
+++ b/src/views/notCoalMine/nCertificateList/index.vue
@@ -30,7 +30,7 @@
plain
icon="el-icon-refresh"
size="mini"
- @click="resetQuery"
+ @click="getAsyncData"
v-hasPermi="['system:experts:add']"
>同步数据</el-button>
</el-col>
@@ -85,7 +85,7 @@
</template>
<script>
-import { getCertificatePage } from "@/api/notCoalMine/certifiate";
+import {getCertificatePage, getCertificateSync} from "@/api/notCoalMine/certifiate";
import certificateDialog from "@/views/notCoalMine/nCertificateList/components/certificateDialog";
export default {
name: "nCertificateManage",
@@ -110,6 +110,30 @@
this.getPage()
},
methods: {
+ async getAsyncData(){
+ const t = this
+ t.loading = true
+ if(t.queryParams.idcardNum !== ''){
+ t.queryParams.idcardTypeCode = '01'
+ const {pageNum,pageSize,...data} = t.queryParams
+ const res = await getCertificateSync(data)
+ if(res.code == 200){
+ await t.getPage()
+ }else{
+ t.$message({
+ message: res.msg,
+ type: 'warning'
+ })
+ }
+ }else{
+ t.$message({
+ message: '请输入身份证号',
+ type: 'warning'
+ })
+ }
+ t.loading = false
+ },
+
async getPage(){
const t = this
t.loading = true
--
Gitblit v1.9.2