<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-input-->
|
<!-- v-model="queryParams.userName"-->
|
<!-- placeholder="请输入用户姓名"-->
|
<!-- clearable-->
|
<!-- @keyup.enter.native="handleQuery"-->
|
<!-- />-->
|
<!-- </el-form-item>-->
|
<!-- <el-form-item label="身份证号" prop="idCard">-->
|
<!-- <el-input-->
|
<!-- v-model="queryParams.idCard"-->
|
<!-- placeholder="请输入身份证号"-->
|
<!-- clearable-->
|
<!-- @keyup.enter.native="handleQuery"-->
|
<!-- />-->
|
<!-- </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>-->
|
<!-- </el-form-item>-->
|
<!-- </el-form>-->
|
|
<el-row :gutter="10" class="mb8">
|
<el-col :span="1.5">
|
<el-button
|
type="primary"
|
plain
|
icon="el-icon-plus"
|
size="mini"
|
@click="openDialog({},'add')"
|
v-hasPermi="['system:experts:add']"
|
>新增</el-button>
|
</el-col>
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getPage"></right-toolbar>
|
</el-row>
|
<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="sex">
|
<template #default="scope">
|
{{ scope.row.sex == 0?'男':'女' }}
|
</template>
|
</el-table-column>
|
<el-table-column label="身份证号" align="center" prop="code" />
|
<el-table-column label="最高学历" align="center" prop="eduLevel">
|
<template #default="scope">
|
{{getDegreeName(scope.row.eduLevel)}}
|
</template>
|
</el-table-column>
|
<el-table-column label="职称" align="center" prop="jobTitle" />
|
<el-table-column label="资质" align="center" prop="photoPath">
|
<template #default="scope">
|
<el-button type="text" @click="viewFile(scope.row.qaAttachment)">预览</el-button>
|
</template>
|
</el-table-column>
|
<el-table-column label="资质有效期" align="center" prop="expiredTime"/>
|
<el-table-column label="描述" align="center" prop="description" />
|
<el-table-column label="证件照片" align="center" prop="photoPath">
|
<template #default="scope">
|
<el-button type="text" @click="viewFile(scope.row.photoAttachment)">预览</el-button>
|
</template>
|
</el-table-column>
|
<el-table-column label="状态" align="center" prop="status">
|
<template #default="scope">
|
<el-tag :type="scope.row.status === '0'? 'success' : 'danger' ">{{ scope.row.status == '0'?'正常':'停用' }}</el-tag>
|
</template>
|
</el-table-column>
|
<el-table-column label="工种详情" align="center">
|
<template #default="scope">
|
<el-button size="mini" type="text" @click="openWorkType(scope.row)" v-if="scope.row.operateTypes && scope.row.operateTypes.length>0">查看</el-button>
|
<span v-else>无</span>
|
</template>
|
</el-table-column>
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="300">
|
<template #default="scope">
|
<el-button size="mini" type="text" icon="el-icon-edit" @click="openDialog(scope.row,'edit')">编辑</el-button>
|
<el-button size="mini" type="text" icon="el-icon-view" @click="openDialog(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>
|
<el-switch size="mini" v-model="scope.row.status" style="margin-left: 12px" active-value="0" inactive-value="1" @change="handleAbort($event,scope.row)"></el-switch>
|
</template>
|
</el-table-column>
|
</el-table>
|
<pagination
|
v-show="total>0"
|
:total="total"
|
:page.sync="queryParams.pageNum"
|
:limit.sync="queryParams.pageSize"
|
@pagination="getPage"
|
/>
|
<reviewerDialog ref="reviewerDialog" @closeDialog="resetQuery"></reviewerDialog>
|
<el-dialog title="工种详情" :visible.sync="typeVisible" width="50%" append-to-body>
|
<el-table :data="workType" border>
|
<el-table-column label="资格类型" align="center" prop="qualificationType"/>
|
<el-table-column label="作业类别" align="center" prop="jobCategory"/>
|
<el-table-column label="操作项目" align="center" prop="operationItems"/>
|
</el-table>
|
</el-dialog>
|
</div>
|
</template>
|
|
<script>
|
import reviewerDialog from "@/views/coalMine/cTeacherManage/cReviewer/components/reviewerDialog";
|
import {delExaminer, abortExaminer, getExaminerPage} from "@/api/coalMine/teacher";
|
import axios from "axios";
|
import {getToken} from "@/utils/auth";
|
import {delPeople} from "@/api/coalMine/people";
|
|
export default {
|
name: "cTeacherManage",
|
dicts: ['sys_highest_education_code'],
|
components: { reviewerDialog },
|
data() {
|
return {
|
loading: false,
|
showSearch: true,
|
typeVisible: false,
|
workType: [],
|
dataList: [],
|
total: 0,
|
queryParams: {
|
pageNum: 1,
|
pageSize: 10,
|
isCm: '1'
|
}
|
};
|
},
|
created() {
|
const t = this
|
t.getPage()
|
},
|
methods: {
|
async getPage(){
|
this.loading = true
|
const res = await getExaminerPage(this.queryParams)
|
if(res.code == 200){
|
this.dataList = res.rows
|
this.total = res.total
|
}else{
|
this.$message({
|
message: res.msg,
|
type: 'warning'
|
})
|
}
|
this.loading = false
|
},
|
|
openDialog(data,type){
|
this.$refs.reviewerDialog.openDialog(data,type)
|
},
|
openWorkType(row){
|
this.workType = row.operateTypes
|
this.typeVisible = true
|
},
|
handleChange(){
|
|
},
|
handleQuery(){
|
|
},
|
resetQuery(){
|
this.queryParams = {
|
pageNum: 1,
|
pageSize: 10,
|
isCm: 1
|
}
|
this.getPage()
|
},
|
viewFile(file){
|
axios.get(process.env.VUE_APP_BASE_API + file.fileUrl,{headers:{'Content-Type': 'application/json','Authorization': "Bearer " + getToken()},responseType: 'blob'}).then(res=>{
|
if (res) {
|
const link = document.createElement('a')
|
let blob = new Blob([res.data],{type: res.data.type})
|
link.style.display = "none";
|
link.href = URL.createObjectURL(blob); // 创建URL
|
window.open(link.href)
|
} else {
|
this.$message.error('获取文件失败')
|
}
|
})
|
},
|
getDegreeName(code){
|
let obj = JSON.parse(JSON.stringify(this.dict.type.sys_highest_education_code)).find(i=>i.value == code)
|
if(obj){
|
return obj.label
|
}else{
|
return '未知'
|
}
|
},
|
async handleAbort(value,row){
|
const res = await abortExaminer({id: row.id,status: value})
|
if(res.code == 200){
|
this.$message({
|
type: 'success',
|
message: '状态变更成功!'
|
});
|
this.getPage()
|
}else {
|
this.$message({
|
type: 'warning',
|
message: res.msg
|
});
|
}
|
},
|
handleDelete(row){
|
this.$confirm('此操作将永久删除该条数据, 是否继续?', '提示', {
|
confirmButtonText: '确定',
|
cancelButtonText: '取消',
|
type: 'warning'
|
}).then(async () => {
|
const res = await delExaminer(row.id)
|
if(res.code == 200){
|
this.$message({
|
type: 'success',
|
message: '删除成功!'
|
});
|
await this.getPage()
|
}else{
|
this.$message({
|
type: 'warning',
|
message: res.msg
|
});
|
}
|
}).catch(() => {
|
|
});
|
},
|
}
|
};
|
</script>
|