src/api/notCoalMine/batch.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/api/notCoalMine/certifiate.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/utils/filter.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/notCoalMine/nBatchManage/components/batchDialog.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/notCoalMine/nBatchManage/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/notCoalMine/nCertificateList/components/certificateDialog.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/notCoalMine/nCertificateList/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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 }) } 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', 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; }) 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> 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) } } }; 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() 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