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