From 21e03c21386fb124774df48c8bb1fe3b185dbb48 Mon Sep 17 00:00:00 2001 From: 马宇豪 <978517621@qq.com> Date: 星期六, 07 十月 2023 14:56:23 +0800 Subject: [PATCH] 新增接口页面 --- src/views/coalMine/cTeacherManage/cReviewer/index.vue | 252 +++++++++++++++++++++++++++++++++++--------------- 1 files changed, 176 insertions(+), 76 deletions(-) diff --git a/src/views/coalMine/cTeacherManage/cReviewer/index.vue b/src/views/coalMine/cTeacherManage/cReviewer/index.vue index ec5a418..4c57d21 100644 --- a/src/views/coalMine/cTeacherManage/cReviewer/index.vue +++ b/src/views/coalMine/cTeacherManage/cReviewer/index.vue @@ -1,27 +1,27 @@ <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-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"> @@ -30,90 +30,129 @@ plain icon="el-icon-plus" size="mini" - @click="handleAdd" + @click="openDialog({},'add')" v-hasPermi="['system:experts:add']" >新增</el-button> </el-col> - <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> + <right-toolbar :showSearch.sync="showSearch" @queryTable="getPage"></right-toolbar> </el-row> - <el-table v-loading="loading" :data="expertList"> + <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="name" /> - <el-table-column label="身份证号" align="center" prop="name" /> - <el-table-column label="最高学历" align="center" prop="degree" /> - <el-table-column label="职称" align="center" prop="job" /> - <el-table-column label="资质" align="center" prop="speciality" /> - <el-table-column label="资质有效期" align="center"/> - <el-table-column label="描述" align="center"/> - <el-table-column label="证件照" align="center"/> - <el-table-column label="状态" align="center"/> - <el-table-column label="工种详情" align="center"/> - <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> + <el-table-column label="性别" align="center" prop="sex"> <template #default="scope"> - <el-button - size="mini" - type="text" - icon="el-icon-edit" - @click="handleUpdate(scope.row)" - >编辑</el-button> - <el-button - size="mini" - type="text" - icon="el-icon-view" - @click="handleView(scope.row)" - >停用</el-button> - <el-button - size="mini" - type="text" - icon="el-icon-delete" - @click="handleDelete(scope.row)" - v-hasPermi="['system:experts:remove']" - >删除</el-button> + {{ 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.pageIndex" + :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" - @pagination="getList" + @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: [], - components: {}, + dicts: ['sys_highest_education_code'], + components: { reviewerDialog }, data() { return { loading: false, - single: true, - multiple: true, showSearch: true, - addForm: false, + typeVisible: false, + workType: [], + dataList: [], total: 0, - expertTypes: [], - expertList: [], - queryParams: {}, - classiFy: [], - form: {}, - rules: { - classifyName: [ - { required: true, message: "分类名称不能为空", trigger: "blur" } - ] + queryParams: { + pageNum: 1, + pageSize: 10, + isCm: '1' } }; }, created() { - + const t = this + t.getPage() }, methods: { - getList(){ + 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(){ @@ -122,11 +161,72 @@ }, resetQuery(){ - + this.queryParams = { + pageNum: 1, + pageSize: 10, + isCm: 1 + } + this.getPage() }, - handleAdd(){ + 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> -- Gitblit v1.9.2