From 8d6b6b8f322e83c82c24e1128d34f6106e6021c7 Mon Sep 17 00:00:00 2001 From: 马宇豪 <978517621@qq.com> Date: 星期二, 26 九月 2023 16:17:06 +0800 Subject: [PATCH] 新增接口 --- src/views/notCoalMine/nPeopleManage/index.vue | 159 ++++++++++++++++++++++++++++++++++------------------- 1 files changed, 102 insertions(+), 57 deletions(-) diff --git a/src/views/notCoalMine/nPeopleManage/index.vue b/src/views/notCoalMine/nPeopleManage/index.vue index 5fff864..0ff7c4b 100644 --- a/src/views/notCoalMine/nPeopleManage/index.vue +++ b/src/views/notCoalMine/nPeopleManage/index.vue @@ -3,7 +3,7 @@ <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" + v-model="queryParams.name" placeholder="请输入用户姓名" clearable @keyup.enter.native="handleQuery" @@ -11,18 +11,11 @@ </el-form-item> <el-form-item label="身份证号" prop="idCard"> <el-input - v-model="queryParams.idCard" + v-model="queryParams.idCardNum" placeholder="请输入身份证号" clearable @keyup.enter.native="handleQuery" /> - </el-form-item> - <el-form-item label="作业类型"> - <el-cascader - v-model="classiFy" - :options="expertTypes" - :props="{ expandTrigger: 'hover', value: 'id',label: 'label'}" - @change="handleChange"></el-cascader> </el-form-item> <el-form-item> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> @@ -37,103 +30,155 @@ plain icon="el-icon-refresh" size="mini" - @click="handleAdd" + @click="resetQuery" 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="sex"> + <template #default="scope"> + {{ scope.row.sex == 0?'男':'女' }} + </template> + </el-table-column> + <el-table-column label="身份证号" align="center" prop="idCardNum" /> <el-table-column label="电话" align="center" prop="phone"/> - <el-table-column label="民族" align="center" prop="phone"/> - <el-table-column label="所属单位" align="center" prop="phone"/> - <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" prop="nationCode"> + <template #default="scope"> + {{getNationName(scope.row.nationCode)}} + </template> + </el-table-column> + <el-table-column label="所属单位" align="center" prop="resumeList"> + <template #default="scope"> + {{ scope.row.resumeList.map(i=>i.unit).join(',') }} + </template> + </el-table-column> + <el-table-column label="最高学历" align="center" prop="highestEducation"/> + <el-table-column label="作业证书" align="center" prop="certCount"> + <template #default="scope"> + <el-button v-if="scope.row.certCount>0" type="text">{{ scope.row.certCount }}</el-button> + <span v-else>{{scope.row.certCount}}</span> + </template> + </el-table-column> + <el-table-column label="关联作业次数" align="center" prop="workCount"/> + <el-table-column label="违章次数" align="center" prop="violationCount"/> + <el-table-column label="证件照片" align="center" prop="photoPath"> + <template #default="scope"> + <el-button type="text" @click="viewFile(scope.row.photoPath)">预览</el-button> + </template> + </el-table-column> <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <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-edit"--> +<!-- @click="openPeople(scope.row,'edit')"--> +<!-- >编辑</el-button>--> <el-button size="mini" type="text" icon="el-icon-view" - @click="handleView(scope.row)" + @click="openPeople(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>--> </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" /> + <peopleDialog ref="peopleDialog"></peopleDialog> </div> </template> <script> +import { getPeoplePage } from "@/api/notCoalMine/people"; +import peopleDialog from "./components/peopleDialog"; +import axios from "axios"; +import {getToken} from "@/utils/auth"; + export default { name: "nPeopleManage", - dicts: [], - components: {}, + dicts: ['sys_nation_code'], + components: { peopleDialog }, data() { return { loading: false, - single: true, - multiple: true, showSearch: true, - addForm: false, total: 0, - expertTypes: [], - expertList: [], - queryParams: {}, - classiFy: [], - form: {}, - rules: { - classifyName: [ - { required: true, message: "分类名称不能为空", trigger: "blur" } - ] + dataList: [], + queryParams: { + idCardNum: '', + name: '', + pageNum: 1, + pageSize: 10 } }; }, created() { - + const t = this + t.getPage() }, methods: { - getList(){ - + async getPage(){ + const t = this + t.loading = true + const res = await getPeoplePage(t.queryParams) + if(res.code == 200){ + t.dataList = res.rows + t.total = res.total + }else{ + t.$message({ + message: res.msg, + type: 'warning' + }) + } + t.loading = false + }, + getNationName(code){ + let obj = JSON.parse(JSON.stringify(this.dict.type.sys_nation_code)).find(i=>i.value == code) + if(obj){ + return obj.label + }else{ + return '无' + } + }, + openPeople(data,type){ + this.$refs.peopleDialog.openDialog(data,type) }, handleChange(){ }, handleQuery(){ - + this.queryParams.pageNum = 1 + this.getPage() }, resetQuery(){ - + this.$refs['queryForm'].resetFields() + this.getPage() }, handleAdd(){ + }, + viewFile(file){ + axios.get(process.env.VUE_APP_BASE_API + file,{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('获取文件失败') + } + }) } } }; -- Gitblit v1.9.2