diff --git a/src/api/professional/professionalfile.ts b/src/api/professional/professionalfile.ts index cbceb39..4b52462 100644 --- a/src/api/professional/professionalfile.ts +++ b/src/api/professional/professionalfile.ts @@ -7,4 +7,12 @@ export const makeExportTeacherInfoBySelfTask = (data?: any) => { method: 'post', data: data, }); -}; \ No newline at end of file +}; + +export const makeExportTeacherInfoByTypeTask = (data?: any) => { + return request({ + url: '/professional/file/makeExportTeacherInfoByTypeTask', + method: 'post', + data: data, + }); +}; diff --git a/src/api/professional/professionaluser/professionaltitlerelation.ts b/src/api/professional/professionaluser/professionaltitlerelation.ts index 31bfae0..b4691b7 100644 --- a/src/api/professional/professionaluser/professionaltitlerelation.ts +++ b/src/api/professional/professionaluser/professionaltitlerelation.ts @@ -138,16 +138,3 @@ export const titleCountInfo = () => { }); }; -/** - * 导出Excel - * @param data 查询参数 - */ -export const exportRelation = (data: any) => { - return request({ - url: '/professional/professionaltitlerelation/exportRelation', - method: 'post', - data: data, - responseType: 'blob', - }); -}; - diff --git a/src/views/professional/common/import-teacher-other-info.vue b/src/views/professional/common/import-teacher-other-info.vue index 4ddce74..550a8b5 100644 --- a/src/views/professional/common/import-teacher-other-info.vue +++ b/src/views/professional/common/import-teacher-other-info.vue @@ -98,7 +98,7 @@ const handleAvatarError = (err: any) => { }; const handleDownloadTemplate = () => { - downBlobFile('/professional/file/exportTeacherInfoTemplate', { type: currentType.value || 'titleRelation' }, '职工信息导入模板.xlsx') + downBlobFile('/professional/file/exportTeacherInfoTemplate', { type: currentType.value || 'titleRelation' }, title.value+'模板.xlsx') } // 暴露方法给父组件 diff --git a/src/views/professional/professionalqualificationrelation/index.vue b/src/views/professional/professionalqualificationrelation/index.vue index d3d2ee2..62ccb7b 100644 --- a/src/views/professional/professionalqualificationrelation/index.vue +++ b/src/views/professional/professionalqualificationrelation/index.vue @@ -229,11 +229,10 @@ import { useDict } from '/@/hooks/dict' import { fetchList, examObj, - delObj, - exportExcel -} from '/@/api/professional/professionaluser/professionalqualificationrelation' + delObj} from '/@/api/professional/professionaluser/professionalqualificationrelation' import { getLevelList } from '/@/api/professional/rsbase/professionalqualificationconfig' import { getWorkTypeList } from '/@/api/professional/rsbase/professionalworktype' +import { makeExportTeacherInfoByTypeTask } from '/@/api/professional/professionalfile'; import { PROFESSIONAL_AUDIT_STATE_OPTIONS } from '/@/config/global' import { defineAsyncComponent } from 'vue' import { Medal } from '@element-plus/icons-vue' @@ -391,27 +390,15 @@ const handleDel = (row: any) => { // 导出 const handleDownLoadWord = async () => { - exportLoading.value = true - try { - const response: any = await exportExcel(search) - - const blob = new Blob([response as BlobPart]) - const fileName = '职业资格信息.xls' - const elink = document.createElement('a') - elink.download = fileName - elink.style.display = 'none' - elink.href = URL.createObjectURL(blob) - document.body.appendChild(elink) - elink.click() - URL.revokeObjectURL(elink.href) - document.body.removeChild(elink) - message.success('导出成功') - } catch (error) { - message.error('导出失败') - } finally { - exportLoading.value = false - } -} + exportLoading.value = true; + let params = Object.assign(search, { type: 'P20003' }); + makeExportTeacherInfoByTypeTask(params).then((res: any) => { + message.success('后台下载进行中,请稍后查看任务列表'); + }); + setTimeout(() => { + exportLoading.value = false; + }, 3000); // 5分钟后自动关闭 +}; // 获取资格等级名称 const getQualificationLevelName = (id: string | number) => { diff --git a/src/views/professional/professionalteacheracademicrelation/form.vue b/src/views/professional/professionalteacheracademicrelation/form.vue index 6c8e080..2df9e6c 100644 --- a/src/views/professional/professionalteacheracademicrelation/form.vue +++ b/src/views/professional/professionalteacheracademicrelation/form.vue @@ -84,10 +84,10 @@ /> - + { { required: true, message: '请输入所学专业', trigger: 'blur' } ], certificateNumber: [ - { required: true, message: '请输入证书编码', trigger: 'blur' }, - { pattern: /^[A-Za-z0-9]+$/, message: '证书编码只能包含英文和数字', trigger: 'blur' } + { required: true, message: '请输入证书编号', trigger: 'blur' }, + { pattern: /^[A-Za-z0-9]+$/, message: '证书编号只能包含英文和数字', trigger: 'blur' } ] } diff --git a/src/views/professional/professionalteacheracademicrelation/index.vue b/src/views/professional/professionalteacheracademicrelation/index.vue index 54e60bc..8735893 100755 --- a/src/views/professional/professionalteacheracademicrelation/index.vue +++ b/src/views/professional/professionalteacheracademicrelation/index.vue @@ -241,14 +241,13 @@ import { useDict } from '/@/hooks/dict' import { fetchList, examObj, - delObj, - exportExcel -} from '/@/api/professional/professionaluser/professionalteacheracademicrelation' + delObj} from '/@/api/professional/professionaluser/professionalteacheracademicrelation' import { getDegreeList } from '/@/api/professional/rsbase/professionalacademicdegreeconfig' import { getQualificationList } from '/@/api/professional/rsbase/academicqualificationsconfig' import { getAllTypeList } from '/@/api/professional/rsbase/professionalacademiceducationtypeconfig' import { PROFESSIONAL_AUDIT_STATE_OPTIONS } from '/@/config/global' import { defineAsyncComponent } from 'vue' +import {makeExportTeacherInfoByTypeTask} from "/@/api/professional/professionalfile"; const TeacherNameNo = defineAsyncComponent(() => import('/@/components/TeacherNameNo/index.vue')) const AuditState = defineAsyncComponent(() => import('/@/components/AuditState/index.vue')) const DataForm = defineAsyncComponent(() => import('./form.vue')) @@ -412,26 +411,14 @@ const handleDel = (row: any) => { // 导出 const handleDownLoadWord = async () => { - exportLoading.value = true - try { - const response: any = await exportExcel(search) - - const blob = new Blob([response as BlobPart]) - const fileName = '学历学位信息.xls' - const elink = document.createElement('a') - elink.download = fileName - elink.style.display = 'none' - elink.href = URL.createObjectURL(blob) - document.body.appendChild(elink) - elink.click() - URL.revokeObjectURL(elink.href) - document.body.removeChild(elink) - message.success('导出成功') - } catch (error) { - message.error('导出失败') - } finally { - exportLoading.value = false - } + exportLoading.value = true; + let params = Object.assign(search, { type: 'P20005' }); + makeExportTeacherInfoByTypeTask(params).then((res: any) => { + message.success('后台下载进行中,请稍后查看任务列表'); + }); + setTimeout(() => { + exportLoading.value = false; + }, 3000); // 5分钟后自动关闭 } // 获取学位名称 diff --git a/src/views/professional/professionalteachercertificaterelation/index.vue b/src/views/professional/professionalteachercertificaterelation/index.vue index 5a4253a..94e5898 100755 --- a/src/views/professional/professionalteachercertificaterelation/index.vue +++ b/src/views/professional/professionalteachercertificaterelation/index.vue @@ -212,9 +212,10 @@ import { getTeacherCertificateList } from '/@/api/professional/rsbase/profession import { fetchList, examObj, - delObj, - exportExcel + delObj } from '/@/api/professional/professionaluser/professionalteachercertificaterelation' +import { makeExportTeacherInfoByTypeTask } from '/@/api/professional/professionalfile'; + import { PROFESSIONAL_AUDIT_STATE_OPTIONS } from '/@/config/global' import { defineAsyncComponent } from 'vue' const TeacherNameNo = defineAsyncComponent(() => import('/@/components/TeacherNameNo/index.vue')) @@ -368,27 +369,15 @@ const handleDel = (row: any) => { // 导出 const handleDownLoadWord = async () => { - exportLoading.value = true - try { - const response: any = await exportExcel(search) - - const blob = new Blob([response as BlobPart]) - const fileName = '教师资格证信息.xls' - const elink = document.createElement('a') - elink.download = fileName - elink.style.display = 'none' - elink.href = URL.createObjectURL(blob) - document.body.appendChild(elink) - elink.click() - URL.revokeObjectURL(elink.href) - document.body.removeChild(elink) - message.success('导出成功') - } catch (error) { - message.error('导出失败') - } finally { - exportLoading.value = false - } -} + exportLoading.value = true; + let params = Object.assign(search, { type: 'P20004' }); + makeExportTeacherInfoByTypeTask(params).then((res: any) => { + message.success('后台下载进行中,请稍后查看任务列表'); + }); + setTimeout(() => { + exportLoading.value = false; + }, 3000); // 5分钟后自动关闭 +}; // 获取证书名称 const getCertificateName = (id: string | number) => { diff --git a/src/views/professional/professionalteacherhonor/index.vue b/src/views/professional/professionalteacherhonor/index.vue index bb265d6..819cbe6 100755 --- a/src/views/professional/professionalteacherhonor/index.vue +++ b/src/views/professional/professionalteacherhonor/index.vue @@ -243,6 +243,7 @@ import { } from '/@/api/professional/professionaluser/professionalteacherhonor' import { PROFESSIONAL_AUDIT_STATE_OPTIONS, getStatusConfig } from '/@/config/global' import { defineAsyncComponent } from 'vue' +import {makeExportTeacherInfoByTypeTask} from "/@/api/professional/professionalfile"; const TeacherNameNo = defineAsyncComponent(() => import('/@/components/TeacherNameNo/index.vue')) const AuditState = defineAsyncComponent(() => import('/@/components/AuditState/index.vue')) const ClickableTag = defineAsyncComponent(() => import('/@/components/ClickableTag/index.vue')) @@ -393,29 +394,14 @@ const handleDel = (row: any) => { // 导出 const handleDownLoadWord = async () => { - exportLoading.value = true - try { - const response = await fetchList({ - current: 1, - size: 999999, - ...search - }) - const data = response.data.records || [] - - const tHeader = ['工号', '姓名', '荣誉', '表彰单位', '年份'] - const filterVal = ['teacherNo', 'teacherName', 'honor', 'honorCompany', 'year'] - - // 动态导入导出工具 - const { export_json_to_excel } = await import('/@/excel/Export2Excel.js') - const exportData = data.map((v: any) => filterVal.map((j: string) => v[j])) - export_json_to_excel(tHeader, exportData, '综合表彰.xls') - - message.success('导出成功') - } catch (error) { - message.error('导出失败') - } finally { - exportLoading.value = false - } + exportLoading.value = true; + let params = Object.assign(search, { type: 'P20006' }); + makeExportTeacherInfoByTypeTask(params).then((res: any) => { + message.success('后台下载进行中,请稍后查看任务列表'); + }); + setTimeout(() => { + exportLoading.value = false; + }, 3000); // 5分钟后自动关闭 } // 打开导入弹窗 diff --git a/src/views/professional/professionaltitlerelation/index.vue b/src/views/professional/professionaltitlerelation/index.vue index ba4e06d..e045779 100755 --- a/src/views/professional/professionaltitlerelation/index.vue +++ b/src/views/professional/professionaltitlerelation/index.vue @@ -1,627 +1,560 @@ diff --git a/src/views/professional/teacherbase/index.vue b/src/views/professional/teacherbase/index.vue index 873c91e..dbcd279 100644 --- a/src/views/professional/teacherbase/index.vue +++ b/src/views/professional/teacherbase/index.vue @@ -1024,7 +1024,7 @@ - +