<template>
|
<div class="flex_column">
|
<!-- <TableCard :showForm="isDepartment" title="任职授权记录">-->
|
<!-- <template v-slot:form>-->
|
<!-- <div v-if="isDepartment" class="w100 items_center justify_between">-->
|
<!-- <div></div>-->
|
<!-- <div>-->
|
<!-- <el-button size="small" type="primary" @click="openDialog">新增</el-button>-->
|
<!-- </div>-->
|
<!-- </div>-->
|
<!-- </template>-->
|
<!-- <template v-slot:table>-->
|
<!-- <ZTTable-->
|
<!-- :column="columnData"-->
|
<!-- :height="'calc(100vh - 21em)'"-->
|
<!-- :table-data="tableData"-->
|
<!-- :table-loading="loading"-->
|
<!-- style="margin-top: 18px; padding: 0 15px;"-->
|
<!-- ></ZTTable>-->
|
<!-- <el-divider></el-divider>-->
|
<!-- <div class="pagination">-->
|
<!-- <div></div>-->
|
<!-- <el-pagination-->
|
<!-- :page-size="pagination.pageSize"-->
|
<!-- :page-sizes="[10, 20, 30, 40]"-->
|
<!-- :total="pagination.total"-->
|
<!-- layout="total, sizes, prev, pager, next, jumper"-->
|
<!-- @current-change="currentChange"-->
|
<!-- @size-change="sizeChange"-->
|
<!-- >-->
|
<!-- </el-pagination>-->
|
<!-- </div>-->
|
<!-- </template>-->
|
<!-- </TableCard>-->
|
<Add ref="mandateModal" @refresh="getTableData"></Add>
|
</div>
|
</template>
|
<script>
|
// import Add from "./Add.vue"
|
|
export default {
|
components: {
|
// Add
|
},
|
props: {
|
departId: {
|
type: Number,
|
default: () => {
|
return null;
|
}
|
},
|
isDepartment: {
|
type: Boolean,
|
default: false
|
}
|
},
|
data() {
|
return {
|
// departId: 0,
|
columnData: [
|
{
|
label: '序号',
|
prop: 'id'
|
}, {
|
label: '证书编号',
|
prop: 'certificateNumber'
|
}, {
|
label: '被任职人员',
|
prop: 'userName'
|
}, {
|
label: '任职岗位',
|
prop: 'post'
|
}, {
|
label: '理论考试成绩',
|
prop: 'num1'
|
},{
|
label: '操作技能考试成绩',
|
prop: 'num2'
|
},{
|
label: '操作时间',
|
prop: 'updateTime'
|
}, {
|
label: '备注',
|
prop: 'remarks',
|
width: 300
|
}, {
|
label: '操作',
|
dataType: 'action',
|
width: 160,
|
fixed: 'right',
|
operation: [
|
{
|
name: '编辑',
|
type: 'text',
|
clickFun: (row) => {
|
this.openDialog(row, true)
|
}
|
}, {
|
name: '下载',
|
type: 'text',
|
clickFun: (row) => {
|
this.handleDown(row)
|
}
|
}, {
|
name: '删除',
|
type: 'text',
|
color: '#f56c6c',
|
clickFun: (row) => {
|
this.deleteNotify(row.id)
|
}
|
}
|
]
|
},
|
],
|
tableData: [],
|
pagination: {
|
current: 1,
|
pageSize: 20,
|
total: 0
|
},
|
loading: false
|
}
|
},
|
mounted() {
|
this.getTableData()
|
console.log(this.departId)
|
},
|
methods: {
|
openDialog(row, type=false) {
|
this.$refs.mandateModal.openDialog(row, type)
|
},
|
/**
|
* @desc 查询表格数据
|
*/
|
async getTableData() {
|
this.loading = true
|
const params = this.isDepartment ? {
|
departLimsId: this.departId,
|
current: this.pagination.current,
|
size: this.pagination.pageSize
|
} : {
|
userId: this.departId,
|
current: this.pagination.current,
|
size: this.pagination.pageSize
|
}
|
const { code, data } = await this.$axios({
|
method: 'get',
|
url: getPersonPostAuthorizationRecordPage,
|
params: params
|
})
|
if(code == 200) {
|
this.pagination.total = data.total
|
this.tableData = data.records
|
this.loading = false
|
}
|
},
|
/**
|
* @desc 当前页改变
|
*/
|
currentChange(current) {
|
this.pagination.current = current
|
this.getTableData()
|
},
|
/**
|
* @desc 每页个数改变
|
*/
|
sizeChange(pageSize) {
|
this.pagination.pageSize = pageSize
|
this.getTableData()
|
},
|
/**
|
* @desc 删除任职记录
|
*/
|
deleteNotify(id) {
|
this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
|
confirmButtonText: '确定',
|
cancelButtonText: '取消',
|
type: 'warning'
|
}).then(() => {
|
this.delMandate(id)
|
})
|
},
|
/**
|
* @desc api删除
|
*/
|
async delMandate(id) {
|
const formData = new FormData()
|
formData.append('id', id)
|
const { code, data } = await this.$axios({
|
method: 'delete',
|
url: deletePersonPostAuthorizationRecord,
|
data: formData,
|
noQs: true
|
})
|
if(code == 200) {
|
this.$message({ message: '删除成功', type: 'success' })
|
this.getTableData()
|
} else {
|
this.$message({ message: '删除失败', type: 'error' })
|
}
|
},
|
/**
|
* @desc 获取设备id
|
*/
|
getDepart(id) {
|
this.departId = id
|
this.getTableData()
|
},
|
handleDown(row){
|
this.$axios.post(this.$api.personPostAuthorizationRecord.exportPersonPostAuthorizationRecord,{id:row.id},{responseType: "blob"}).then(res => {
|
if(res.code == 201){
|
this.$message.error(res.message)
|
return
|
}
|
const blob = new Blob([res],{ type: 'application/octet-stream' });
|
//将Blob 对象转换成字符串
|
let reader = new FileReader();
|
reader.readAsText(blob, 'utf-8');
|
reader.onload = () => {
|
try {
|
let result = JSON.parse(reader.result);
|
if (result.message) {
|
this.$message.error(result.message);
|
} else {
|
const url = URL.createObjectURL(blob);
|
const link = document.createElement('a');
|
link.href = url;
|
link.download = '任职授权-'+row.certificateNumber+'-'+row.post + '.docx';
|
link.click();
|
this.$message.success('导出成功')
|
}
|
} catch (err) {
|
console.log(err);
|
const url = URL.createObjectURL(blob);
|
const link = document.createElement('a');
|
link.href = url;
|
link.download = '任职授权-'+row.certificateNumber+'-'+row.post + '.docx';
|
link.click();
|
this.$message.success('导出成功')
|
}
|
}
|
})
|
}
|
},
|
// watch: {
|
// departId: {
|
// handler(newId, oldId) {
|
// if (newId) {
|
// this.getTableData();
|
// }
|
// }
|
// }
|
// }
|
}
|
</script>
|
<style scoped>
|
.flex_column {
|
display: flex;
|
flex-direction: column;
|
justify-content: space-between;
|
}
|
.w100 {
|
width: 100%;
|
}
|
.pagination {
|
display: flex;
|
justify-content: space-between
|
}
|
.items_center {
|
display: flex;
|
align-items: center;
|
}
|
.justify_between {
|
justify-content: space-between
|
}
|
</style>
|