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