|
|
|
|
@ -16,14 +16,25 @@ |
|
|
|
|
@refresh-change="refreshChange" |
|
|
|
|
@on-load="onLoad" |
|
|
|
|
:row-class-name="rowClassName" |
|
|
|
|
@sort-change="sortChange" |
|
|
|
|
> |
|
|
|
|
<!-- :span-method="spanMethod" --> |
|
|
|
|
<template #menu-left> |
|
|
|
|
<el-button type="primary" @click="handleMaintain">证书维护</el-button> |
|
|
|
|
<el-button type="danger" @click="handleDeletes">批量删除</el-button> |
|
|
|
|
<el-button |
|
|
|
|
type="primary" |
|
|
|
|
@click="handleMaintain" |
|
|
|
|
v-if="permissionList.certificateMaintenanceBtn" |
|
|
|
|
> |
|
|
|
|
证书维护 |
|
|
|
|
</el-button> |
|
|
|
|
<el-button type="danger" @click="handleDeletes" v-if="permissionList.delBtn"> |
|
|
|
|
批量删除 |
|
|
|
|
</el-button> |
|
|
|
|
</template> |
|
|
|
|
<template #menu-right> |
|
|
|
|
<el-button type="primary" @click="handleImport">导 入</el-button> |
|
|
|
|
<el-button type="primary" @click="handleImport" v-if="permissionList.importBtn"> |
|
|
|
|
导 入 |
|
|
|
|
</el-button> |
|
|
|
|
</template> |
|
|
|
|
<template #menu="{ row }"> |
|
|
|
|
<!-- <el-button type="text" @click="handleDeletes(row)">删除</el-button> --> |
|
|
|
|
@ -56,7 +67,6 @@ |
|
|
|
|
<template #astronautDateExpire="scope"> |
|
|
|
|
{{ scope.row.astronautDateExpire ? scope.row.astronautDateExpire.substring(0, 10) : '' }} |
|
|
|
|
</template> |
|
|
|
|
|
|
|
|
|
</avue-crud> |
|
|
|
|
<!-- 证书维护 --> |
|
|
|
|
<maintain-dialog |
|
|
|
|
@ -83,6 +93,7 @@ import maintainDialog from './components/maintainDialog.vue'; |
|
|
|
|
|
|
|
|
|
import { getList, remove, add, update, getCertificateType } from '@/api/workLicense/workLicense'; |
|
|
|
|
import basicImport from '@/components/basic-import/main.vue'; |
|
|
|
|
import { mapGetters } from 'vuex'; |
|
|
|
|
|
|
|
|
|
export default { |
|
|
|
|
components: { |
|
|
|
|
@ -153,6 +164,7 @@ export default { |
|
|
|
|
labelWidth: 140, |
|
|
|
|
overflow: true, |
|
|
|
|
search: true, |
|
|
|
|
sortable: 'custom', |
|
|
|
|
fixed: 'left', |
|
|
|
|
searchLabelWidth: 50, |
|
|
|
|
rules: [ |
|
|
|
|
@ -170,6 +182,7 @@ export default { |
|
|
|
|
width: 150, |
|
|
|
|
overflow: true, |
|
|
|
|
search: false, |
|
|
|
|
sortable: 'custom', |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
label: '所属岗位', |
|
|
|
|
@ -178,6 +191,7 @@ export default { |
|
|
|
|
width: 150, |
|
|
|
|
overflow: true, |
|
|
|
|
search: false, |
|
|
|
|
sortable: 'custom', |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
label: '所属岗位', |
|
|
|
|
@ -185,6 +199,7 @@ export default { |
|
|
|
|
span: 8, |
|
|
|
|
labelWidth: 150, |
|
|
|
|
search: true, |
|
|
|
|
sortable: 'custom', |
|
|
|
|
width: 170, |
|
|
|
|
hide: true, |
|
|
|
|
filterable: true, |
|
|
|
|
@ -203,6 +218,7 @@ export default { |
|
|
|
|
width: 150, |
|
|
|
|
overflow: true, |
|
|
|
|
search: true, |
|
|
|
|
// sortable: 'custom', |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
label: '性别', |
|
|
|
|
@ -211,6 +227,7 @@ export default { |
|
|
|
|
width: 150, |
|
|
|
|
overflow: true, |
|
|
|
|
search: false, |
|
|
|
|
// sortable: 'custom', |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
label: '最高学历', |
|
|
|
|
@ -219,6 +236,7 @@ export default { |
|
|
|
|
width: 150, |
|
|
|
|
overflow: true, |
|
|
|
|
search: false, |
|
|
|
|
sortable: 'custom', |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
label: '出生年月', |
|
|
|
|
@ -227,6 +245,7 @@ export default { |
|
|
|
|
width: 150, |
|
|
|
|
overflow: true, |
|
|
|
|
search: false, |
|
|
|
|
sortable: 'custom', |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
label: '证书类型', |
|
|
|
|
@ -235,6 +254,7 @@ export default { |
|
|
|
|
width: 150, |
|
|
|
|
overflow: true, |
|
|
|
|
search: true, |
|
|
|
|
sortable: 'custom', |
|
|
|
|
type: 'select', |
|
|
|
|
dicUrl: '/blade-desk/certificateType/page?current=1&size=99999', |
|
|
|
|
props: { |
|
|
|
|
@ -250,6 +270,7 @@ export default { |
|
|
|
|
width: 150, |
|
|
|
|
overflow: true, |
|
|
|
|
search: true, |
|
|
|
|
sortable: 'custom', |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
label: '从事本岗位或工种时间', |
|
|
|
|
@ -258,6 +279,7 @@ export default { |
|
|
|
|
width: 200, |
|
|
|
|
overflow: true, |
|
|
|
|
search: false, |
|
|
|
|
// sortable: 'custom', |
|
|
|
|
rules: [ |
|
|
|
|
{ |
|
|
|
|
required: true, |
|
|
|
|
@ -273,6 +295,7 @@ export default { |
|
|
|
|
width: 150, |
|
|
|
|
overflow: true, |
|
|
|
|
search: false, |
|
|
|
|
sortable: 'custom', |
|
|
|
|
rules: [ |
|
|
|
|
{ |
|
|
|
|
required: true, |
|
|
|
|
@ -288,6 +311,7 @@ export default { |
|
|
|
|
width: 150, |
|
|
|
|
overflow: true, |
|
|
|
|
search: false, |
|
|
|
|
sortable: 'custom', |
|
|
|
|
rules: [ |
|
|
|
|
{ |
|
|
|
|
required: true, |
|
|
|
|
@ -303,6 +327,7 @@ export default { |
|
|
|
|
width: 150, |
|
|
|
|
overflow: true, |
|
|
|
|
search: false, |
|
|
|
|
// sortable: 'custom', |
|
|
|
|
rules: [ |
|
|
|
|
{ |
|
|
|
|
required: true, |
|
|
|
|
@ -318,6 +343,7 @@ export default { |
|
|
|
|
width: 150, |
|
|
|
|
overflow: true, |
|
|
|
|
search: false, |
|
|
|
|
sortable: 'custom', |
|
|
|
|
rules: [ |
|
|
|
|
{ |
|
|
|
|
required: true, |
|
|
|
|
@ -333,6 +359,7 @@ export default { |
|
|
|
|
width: 150, |
|
|
|
|
overflow: true, |
|
|
|
|
search: false, |
|
|
|
|
sortable: 'custom', |
|
|
|
|
rules: [ |
|
|
|
|
{ |
|
|
|
|
required: true, |
|
|
|
|
@ -348,6 +375,7 @@ export default { |
|
|
|
|
width: 150, |
|
|
|
|
overflow: true, |
|
|
|
|
search: false, |
|
|
|
|
// sortable: 'custom', |
|
|
|
|
rules: [ |
|
|
|
|
{ |
|
|
|
|
required: true, |
|
|
|
|
@ -363,6 +391,7 @@ export default { |
|
|
|
|
width: 150, |
|
|
|
|
overflow: true, |
|
|
|
|
search: false, |
|
|
|
|
sortable: 'custom', |
|
|
|
|
rules: [ |
|
|
|
|
{ |
|
|
|
|
required: true, |
|
|
|
|
@ -378,6 +407,7 @@ export default { |
|
|
|
|
width: 150, |
|
|
|
|
overflow: true, |
|
|
|
|
search: false, |
|
|
|
|
sortable: 'custom', |
|
|
|
|
rules: [ |
|
|
|
|
{ |
|
|
|
|
required: true, |
|
|
|
|
@ -394,6 +424,7 @@ export default { |
|
|
|
|
width: 150, |
|
|
|
|
overflow: true, |
|
|
|
|
search: false, |
|
|
|
|
// sortable: 'custom', |
|
|
|
|
rules: [ |
|
|
|
|
{ |
|
|
|
|
required: true, |
|
|
|
|
@ -409,6 +440,8 @@ export default { |
|
|
|
|
span: 24, |
|
|
|
|
width: 150, |
|
|
|
|
overflow: true, |
|
|
|
|
search: false, |
|
|
|
|
sortable: 'custom', |
|
|
|
|
rules: [ |
|
|
|
|
{ |
|
|
|
|
required: true, |
|
|
|
|
@ -446,6 +479,19 @@ export default { |
|
|
|
|
showMaintain: false, //证书维护弹窗 |
|
|
|
|
}; |
|
|
|
|
}, |
|
|
|
|
computed: { |
|
|
|
|
...mapGetters(['permission']), |
|
|
|
|
permissionList() { |
|
|
|
|
return { |
|
|
|
|
certificateMaintenanceBtn: this.validData( |
|
|
|
|
this.permission.workLicense_certificateMaintenance, |
|
|
|
|
false |
|
|
|
|
), |
|
|
|
|
delBtn: this.validData(this.permission.workLicense_del, false), |
|
|
|
|
importBtn: this.validData(this.permission.workLicense_import, false), |
|
|
|
|
}; |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
methods: { |
|
|
|
|
// 点击导入按钮 |
|
|
|
|
handleImport() { |
|
|
|
|
@ -612,7 +658,15 @@ export default { |
|
|
|
|
refreshChange() { |
|
|
|
|
this.onLoad(this.page, this.query); |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
// 排序 |
|
|
|
|
sortChange({ prop, order }) { |
|
|
|
|
this.query.descs = undefined; |
|
|
|
|
this.query.ascs = undefined; |
|
|
|
|
let orderByFieldKey = order === 'descending' ? 'descs' : 'ascs'; |
|
|
|
|
this.query[orderByFieldKey] = prop.replace(/([a-z])([A-Z0-9])/g, '$1_$2').toUpperCase(); |
|
|
|
|
// 重新加载数据 |
|
|
|
|
this.onLoad(this.page, this.query); |
|
|
|
|
}, |
|
|
|
|
onLoad(page, params = {}) { |
|
|
|
|
this.loading = true; |
|
|
|
|
getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => { |
|
|
|
|
|