1
This commit is contained in:
@@ -7,4 +7,12 @@ export const makeExportTeacherInfoBySelfTask = (data?: any) => {
|
|||||||
method: 'post',
|
method: 'post',
|
||||||
data: data,
|
data: data,
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const makeExportTeacherInfoByTypeTask = (data?: any) => {
|
||||||
|
return request({
|
||||||
|
url: '/professional/file/makeExportTeacherInfoByTypeTask',
|
||||||
|
method: 'post',
|
||||||
|
data: data,
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|||||||
@@ -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',
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|||||||
@@ -98,7 +98,7 @@ const handleAvatarError = (err: any) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const handleDownloadTemplate = () => {
|
const handleDownloadTemplate = () => {
|
||||||
downBlobFile('/professional/file/exportTeacherInfoTemplate', { type: currentType.value || 'titleRelation' }, '职工信息导入模板.xlsx')
|
downBlobFile('/professional/file/exportTeacherInfoTemplate', { type: currentType.value || 'titleRelation' }, title.value+'模板.xlsx')
|
||||||
}
|
}
|
||||||
|
|
||||||
// 暴露方法给父组件
|
// 暴露方法给父组件
|
||||||
|
|||||||
@@ -229,11 +229,10 @@ import { useDict } from '/@/hooks/dict'
|
|||||||
import {
|
import {
|
||||||
fetchList,
|
fetchList,
|
||||||
examObj,
|
examObj,
|
||||||
delObj,
|
delObj} from '/@/api/professional/professionaluser/professionalqualificationrelation'
|
||||||
exportExcel
|
|
||||||
} from '/@/api/professional/professionaluser/professionalqualificationrelation'
|
|
||||||
import { getLevelList } from '/@/api/professional/rsbase/professionalqualificationconfig'
|
import { getLevelList } from '/@/api/professional/rsbase/professionalqualificationconfig'
|
||||||
import { getWorkTypeList } from '/@/api/professional/rsbase/professionalworktype'
|
import { getWorkTypeList } from '/@/api/professional/rsbase/professionalworktype'
|
||||||
|
import { makeExportTeacherInfoByTypeTask } from '/@/api/professional/professionalfile';
|
||||||
import { PROFESSIONAL_AUDIT_STATE_OPTIONS } from '/@/config/global'
|
import { PROFESSIONAL_AUDIT_STATE_OPTIONS } from '/@/config/global'
|
||||||
import { defineAsyncComponent } from 'vue'
|
import { defineAsyncComponent } from 'vue'
|
||||||
import { Medal } from '@element-plus/icons-vue'
|
import { Medal } from '@element-plus/icons-vue'
|
||||||
@@ -391,27 +390,15 @@ const handleDel = (row: any) => {
|
|||||||
|
|
||||||
// 导出
|
// 导出
|
||||||
const handleDownLoadWord = async () => {
|
const handleDownLoadWord = async () => {
|
||||||
exportLoading.value = true
|
exportLoading.value = true;
|
||||||
try {
|
let params = Object.assign(search, { type: 'P20003' });
|
||||||
const response: any = await exportExcel(search)
|
makeExportTeacherInfoByTypeTask(params).then((res: any) => {
|
||||||
|
message.success('后台下载进行中,请稍后查看任务列表');
|
||||||
const blob = new Blob([response as BlobPart])
|
});
|
||||||
const fileName = '职业资格信息.xls'
|
setTimeout(() => {
|
||||||
const elink = document.createElement('a')
|
exportLoading.value = false;
|
||||||
elink.download = fileName
|
}, 3000); // 5分钟后自动关闭
|
||||||
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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取资格等级名称
|
// 获取资格等级名称
|
||||||
const getQualificationLevelName = (id: string | number) => {
|
const getQualificationLevelName = (id: string | number) => {
|
||||||
|
|||||||
@@ -84,10 +84,10 @@
|
|||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="证书编码" prop="certificateNumber">
|
<el-form-item label="证书编号" prop="certificateNumber">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="dataForm.certificateNumber"
|
v-model="dataForm.certificateNumber"
|
||||||
placeholder="请输入证书编码(仅支持英文和数字)"
|
placeholder="请输入证书编号(仅支持英文和数字)"
|
||||||
clearable
|
clearable
|
||||||
show-word-limit
|
show-word-limit
|
||||||
maxlength="100"
|
maxlength="100"
|
||||||
@@ -215,8 +215,8 @@ const formRules = computed(() => {
|
|||||||
{ required: true, message: '请输入所学专业', trigger: 'blur' }
|
{ required: true, message: '请输入所学专业', trigger: 'blur' }
|
||||||
],
|
],
|
||||||
certificateNumber: [
|
certificateNumber: [
|
||||||
{ required: true, message: '请输入证书编码', trigger: 'blur' },
|
{ required: true, message: '请输入证书编号', trigger: 'blur' },
|
||||||
{ pattern: /^[A-Za-z0-9]+$/, message: '证书编码只能包含英文和数字', trigger: 'blur' }
|
{ pattern: /^[A-Za-z0-9]+$/, message: '证书编号只能包含英文和数字', trigger: 'blur' }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -241,14 +241,13 @@ import { useDict } from '/@/hooks/dict'
|
|||||||
import {
|
import {
|
||||||
fetchList,
|
fetchList,
|
||||||
examObj,
|
examObj,
|
||||||
delObj,
|
delObj} from '/@/api/professional/professionaluser/professionalteacheracademicrelation'
|
||||||
exportExcel
|
|
||||||
} from '/@/api/professional/professionaluser/professionalteacheracademicrelation'
|
|
||||||
import { getDegreeList } from '/@/api/professional/rsbase/professionalacademicdegreeconfig'
|
import { getDegreeList } from '/@/api/professional/rsbase/professionalacademicdegreeconfig'
|
||||||
import { getQualificationList } from '/@/api/professional/rsbase/academicqualificationsconfig'
|
import { getQualificationList } from '/@/api/professional/rsbase/academicqualificationsconfig'
|
||||||
import { getAllTypeList } from '/@/api/professional/rsbase/professionalacademiceducationtypeconfig'
|
import { getAllTypeList } from '/@/api/professional/rsbase/professionalacademiceducationtypeconfig'
|
||||||
import { PROFESSIONAL_AUDIT_STATE_OPTIONS } from '/@/config/global'
|
import { PROFESSIONAL_AUDIT_STATE_OPTIONS } from '/@/config/global'
|
||||||
import { defineAsyncComponent } from 'vue'
|
import { defineAsyncComponent } from 'vue'
|
||||||
|
import {makeExportTeacherInfoByTypeTask} from "/@/api/professional/professionalfile";
|
||||||
const TeacherNameNo = defineAsyncComponent(() => import('/@/components/TeacherNameNo/index.vue'))
|
const TeacherNameNo = defineAsyncComponent(() => import('/@/components/TeacherNameNo/index.vue'))
|
||||||
const AuditState = defineAsyncComponent(() => import('/@/components/AuditState/index.vue'))
|
const AuditState = defineAsyncComponent(() => import('/@/components/AuditState/index.vue'))
|
||||||
const DataForm = defineAsyncComponent(() => import('./form.vue'))
|
const DataForm = defineAsyncComponent(() => import('./form.vue'))
|
||||||
@@ -412,26 +411,14 @@ const handleDel = (row: any) => {
|
|||||||
|
|
||||||
// 导出
|
// 导出
|
||||||
const handleDownLoadWord = async () => {
|
const handleDownLoadWord = async () => {
|
||||||
exportLoading.value = true
|
exportLoading.value = true;
|
||||||
try {
|
let params = Object.assign(search, { type: 'P20005' });
|
||||||
const response: any = await exportExcel(search)
|
makeExportTeacherInfoByTypeTask(params).then((res: any) => {
|
||||||
|
message.success('后台下载进行中,请稍后查看任务列表');
|
||||||
const blob = new Blob([response as BlobPart])
|
});
|
||||||
const fileName = '学历学位信息.xls'
|
setTimeout(() => {
|
||||||
const elink = document.createElement('a')
|
exportLoading.value = false;
|
||||||
elink.download = fileName
|
}, 3000); // 5分钟后自动关闭
|
||||||
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
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取学位名称
|
// 获取学位名称
|
||||||
|
|||||||
@@ -212,9 +212,10 @@ import { getTeacherCertificateList } from '/@/api/professional/rsbase/profession
|
|||||||
import {
|
import {
|
||||||
fetchList,
|
fetchList,
|
||||||
examObj,
|
examObj,
|
||||||
delObj,
|
delObj
|
||||||
exportExcel
|
|
||||||
} from '/@/api/professional/professionaluser/professionalteachercertificaterelation'
|
} from '/@/api/professional/professionaluser/professionalteachercertificaterelation'
|
||||||
|
import { makeExportTeacherInfoByTypeTask } from '/@/api/professional/professionalfile';
|
||||||
|
|
||||||
import { PROFESSIONAL_AUDIT_STATE_OPTIONS } from '/@/config/global'
|
import { PROFESSIONAL_AUDIT_STATE_OPTIONS } from '/@/config/global'
|
||||||
import { defineAsyncComponent } from 'vue'
|
import { defineAsyncComponent } from 'vue'
|
||||||
const TeacherNameNo = defineAsyncComponent(() => import('/@/components/TeacherNameNo/index.vue'))
|
const TeacherNameNo = defineAsyncComponent(() => import('/@/components/TeacherNameNo/index.vue'))
|
||||||
@@ -368,27 +369,15 @@ const handleDel = (row: any) => {
|
|||||||
|
|
||||||
// 导出
|
// 导出
|
||||||
const handleDownLoadWord = async () => {
|
const handleDownLoadWord = async () => {
|
||||||
exportLoading.value = true
|
exportLoading.value = true;
|
||||||
try {
|
let params = Object.assign(search, { type: 'P20004' });
|
||||||
const response: any = await exportExcel(search)
|
makeExportTeacherInfoByTypeTask(params).then((res: any) => {
|
||||||
|
message.success('后台下载进行中,请稍后查看任务列表');
|
||||||
const blob = new Blob([response as BlobPart])
|
});
|
||||||
const fileName = '教师资格证信息.xls'
|
setTimeout(() => {
|
||||||
const elink = document.createElement('a')
|
exportLoading.value = false;
|
||||||
elink.download = fileName
|
}, 3000); // 5分钟后自动关闭
|
||||||
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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取证书名称
|
// 获取证书名称
|
||||||
const getCertificateName = (id: string | number) => {
|
const getCertificateName = (id: string | number) => {
|
||||||
|
|||||||
@@ -243,6 +243,7 @@ import {
|
|||||||
} from '/@/api/professional/professionaluser/professionalteacherhonor'
|
} from '/@/api/professional/professionaluser/professionalteacherhonor'
|
||||||
import { PROFESSIONAL_AUDIT_STATE_OPTIONS, getStatusConfig } from '/@/config/global'
|
import { PROFESSIONAL_AUDIT_STATE_OPTIONS, getStatusConfig } from '/@/config/global'
|
||||||
import { defineAsyncComponent } from 'vue'
|
import { defineAsyncComponent } from 'vue'
|
||||||
|
import {makeExportTeacherInfoByTypeTask} from "/@/api/professional/professionalfile";
|
||||||
const TeacherNameNo = defineAsyncComponent(() => import('/@/components/TeacherNameNo/index.vue'))
|
const TeacherNameNo = defineAsyncComponent(() => import('/@/components/TeacherNameNo/index.vue'))
|
||||||
const AuditState = defineAsyncComponent(() => import('/@/components/AuditState/index.vue'))
|
const AuditState = defineAsyncComponent(() => import('/@/components/AuditState/index.vue'))
|
||||||
const ClickableTag = defineAsyncComponent(() => import('/@/components/ClickableTag/index.vue'))
|
const ClickableTag = defineAsyncComponent(() => import('/@/components/ClickableTag/index.vue'))
|
||||||
@@ -393,29 +394,14 @@ const handleDel = (row: any) => {
|
|||||||
|
|
||||||
// 导出
|
// 导出
|
||||||
const handleDownLoadWord = async () => {
|
const handleDownLoadWord = async () => {
|
||||||
exportLoading.value = true
|
exportLoading.value = true;
|
||||||
try {
|
let params = Object.assign(search, { type: 'P20006' });
|
||||||
const response = await fetchList({
|
makeExportTeacherInfoByTypeTask(params).then((res: any) => {
|
||||||
current: 1,
|
message.success('后台下载进行中,请稍后查看任务列表');
|
||||||
size: 999999,
|
});
|
||||||
...search
|
setTimeout(() => {
|
||||||
})
|
exportLoading.value = false;
|
||||||
const data = response.data.records || []
|
}, 3000); // 5分钟后自动关闭
|
||||||
|
|
||||||
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
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 打开导入弹窗
|
// 打开导入弹窗
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1024,7 +1024,7 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="graduateSchool" label="毕业学校" min-width="180" align="center" show-overflow-tooltip />
|
<el-table-column prop="graduateSchool" label="毕业学校" min-width="180" align="center" show-overflow-tooltip />
|
||||||
<el-table-column prop="major" label="所学专业" min-width="150" align="center" show-overflow-tooltip />
|
<el-table-column prop="major" label="所学专业" min-width="150" align="center" show-overflow-tooltip />
|
||||||
<el-table-column prop="certificateNumber" label="证书编码" min-width="120" align="center" />
|
<el-table-column prop="certificateNumber" label="证书编号" min-width="120" align="center" />
|
||||||
<el-table-column label="学历证书" min-width="150" align="center">
|
<el-table-column label="学历证书" min-width="150" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button
|
<el-button
|
||||||
|
|||||||
Reference in New Issue
Block a user