sunlupeng 1 год назад
Родитель
Сommit
63c0cc14b3
2 измененных файлов с 37 добавлено и 46 удалено
  1. 3 10
      src/api/PeopleSelect.js
  2. 34 36
      src/components/PeopleSelect/index.vue

+ 3 - 10
src/api/PeopleSelect.js

@@ -1,18 +1,11 @@
 import request from '@/utils/request'
 
-// 获得可选择的员工信息列表用于选择业务人
-export function listForSelectEmployee() {
+// 获得可选择的员工信息列表用于选择业务人或审批人等   auth是否有权限,0无 1有
+export function listForSelectEmployee(query) {
   return request({
     url: '/personnel/employee/listForSelectEmployee',
     method: 'get',
+    params: query
   })
 }
-
-// 获得员工信息列表用于选择审批人
-export function listForSelectAssigns() {
-    return request({
-      url: '/personnel/employee/listForSelectAssigns',
-      method: 'get',
-    })
-  }
   

+ 34 - 36
src/components/PeopleSelect/index.vue

@@ -13,10 +13,10 @@
             <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
               <el-row>
                 <el-col :span="8">
-                  <el-form-item label="用户姓名" prop="nickName">
+                  <el-form-item label="姓名" prop="name">
                     <el-input
-                      v-model="queryParams.nickName"
-                      placeholder="请输入用户姓名"
+                      v-model="queryParams.name"
+                      placeholder="请输入姓名"
                       clearable
                       style="width: 200px"
                       size="mini"
@@ -25,10 +25,10 @@
                   </el-form-item>
                 </el-col>
                 <el-col :span="8">
-                  <el-form-item label="手机号" prop="phonenumber">
+                  <el-form-item label="手机号" prop="phone">
                     <el-input
-                      v-model="queryParams.phonenumber"
-                      placeholder="请输入手机号"
+                      v-model="queryParams.phone"
+                      placeholder="请输入手机号"
                       clearable
                       style="width: 200px"
                       size="mini"
@@ -96,18 +96,18 @@
                                        :max="type == 'single' ? 1 : 2147483647">
                       <el-checkbox
                         v-for="item in userList"
-                        :label="item.username"
-                        :key="item.username"
+                        :label="item.name"
+                        :key="item.name"
                         class="peopleCard"
                       >
                         <div class="avatarBox">
                           <!-- <img v-if="item.avatar && item.avatar != ''" :src="item.avatar" class="user-avatar" onerror="οnerrοr=null;if(item) item.avatar = '';"> -->
-                          <div style="background: #FFA502;" class="user-avatar">{{ item.nickname.substring(0,1) ||
-                            item.username.substring(0,1) || 'User' }}
+                          <div style="background: #FFA502;" class="user-avatar">{{ item.name.substring(0,1) ||
+                            item.name.substring(0,1) || 'User' }}
                           </div>
                         </div>
                         <div class="peopleInfoBox">
-                          <div class="peopleName">{{ item.nickname }}</div>
+                          <div class="peopleName">{{ item.name }}</div>
                           <div class="peopleDept">{{ item.deptName ? item.deptName : '' }}</div>
                         </div>
                       </el-checkbox>
@@ -133,16 +133,16 @@
                     >
                       <div class="avatarBox">
                         <!-- <img v-if="item.avatar && item.avatar != ''" :src="item.avatar" class="user-avatar" onerror="οnerrοr=null;if(item) item.avatar = '';"> -->
-                        <div style="background: #FFA502;" class="user-avatar">{{ item.nickname.substring(0,1) ||
-                            item.username.substring(0,1) || 'User' }}
+                        <div style="background: #FFA502;" class="user-avatar">{{ item.name.substring(0,1) ||
+                            item.name.substring(0,1) || 'User' }}
                           </div>
                       </div>
                       <div class="peopleInfoBox">
-                        <div class="peopleName" style="margin-top:4px">{{ item.nickname }}</div>
+                        <div class="peopleName" style="margin-top:4px">{{ item.name }}</div>
                         <div class="peopleDept">{{ item.deptName ? item.deptName : '' }}</div>
                       </div>
   
-                      <div class="peopleDeleteBtn" @click="deleteUserByUserName(item.username)"></div>
+                      <div class="peopleDeleteBtn" @click="deleteUserByUserName(item.name)"></div>
                     </div>
                   </div>
                 </div>
@@ -162,9 +162,7 @@
   </template>
   
   <script>
-  
-    import { listUser } from '@/api/system/user';
-    import { listForSelectAssigns,listForSelectEmployee } from '@/api/PeopleSelect';
+    import { listForSelectEmployee } from '@/api/PeopleSelect';
     import {listSimpleDepts} from "@/api/system/dept";
   
     export default {
@@ -189,7 +187,7 @@
         // value: {
         //     type: Object,
         //     default: {
-        //         username: [],
+        //         name: [],
         //         realName: []
         //     }
         // }
@@ -218,10 +216,10 @@
   
           // 查询参数
           queryParams: {
-            username: undefined,
-            phonenumber: undefined,
+            name: undefined,
+            phone: undefined,
             deptId: undefined,
-            type: undefined
+            auth: undefined
           },
   
           //已选择的用户信息
@@ -234,9 +232,9 @@
       },
       created() {
         if(this.type == 'multiple'){
-          this.queryParams.type = 1;
+          this.queryParams.auth = 0;
         }else{
-          this.queryParams.type = 2;
+          this.queryParams.auth = 1;
         }
         this.getDeptTree()
         this.getAllUserList()
@@ -267,7 +265,7 @@
   
           uns.forEach(item => {
             if (this.allUserMap.has(item)) {
-              result.push(this.allUserMap.get(item).nickname || '')
+              result.push(this.allUserMap.get(item).name || '')
             }
           })
   
@@ -288,7 +286,7 @@
   
         submitForm() {
           // console.log(this.checkedUsers, this.getNickNameList(this.checkedUsers));
-          this.$emit('submit', this.checkedUsers, this.getNickNameList(this.checkedUsers), this.getUserIdList(this.checkedUsers)) //返回username和nickname
+          this.$emit('submit', this.checkedUsers, this.getNickNameList(this.checkedUsers), this.getUserIdList(this.checkedUsers)) //返回name和name
         },
         cancel() {
           this.$emit('cancel')
@@ -317,15 +315,15 @@
         //第一步要做的 checkedUsers 为数组如['admin','ry'] 在父组件调用此方法并传入要回显的数组可进行复选框回显操作
         getAllUserList(checkedUsers = []) {
           //查出所有的用户,用于根据不同情况筛选显示
-          listUser(this.queryParams).then(response => {
-              this.allUserList = response.data.list
+          listForSelectEmployee(this.queryParams).then(response => {
+              this.allUserList = response.data
   
               this.allUserMap = new Map()
   
               this.checkedUsers = checkedUsers
   
               this.allUserList.forEach(item => {
-                this.allUserMap.set(item.username, item)
+                this.allUserMap.set(item.name, item)
               })
               this.updateCheckedUsers()
               //   console.log(this.allUserList, this.allUserMap);
@@ -336,8 +334,8 @@
   
         /** 查询用户列表 */
         getList() {
-          listUser(this.queryParams).then(response => {
-              this.userList = response.data.list
+          listForSelectEmployee(this.queryParams).then(response => {
+              this.userList = response.data
                 console.log(this.userList);
             }
           )
@@ -369,9 +367,9 @@
           })
         },
   
-        deleteUserByUserName(username) {
+        deleteUserByUserName(name) {
           for (let i = 0; i < this.checkedUsers.length; i++) {
-            if (this.checkedUsers[i].indexOf(username) != -1) {
+            if (this.checkedUsers[i].indexOf(name) != -1) {
               this.checkedUsers.splice(i, 1)
               this.updateCheckedUsers()
               break
@@ -383,17 +381,17 @@
           if (val) { //全选
             this.userList.forEach(item => {
               for (let i = 0; i < this.checkedUsers.length; i++) {
-                if (this.checkedUsers[i] == item.username) { //已存在,跳过
+                if (this.checkedUsers[i] == item.name) { //已存在,跳过
                   return
                 }
               }
               //不存在,执行添加
-              this.checkedUsers.push(item.username)
+              this.checkedUsers.push(item.name)
             })
           } else { //全不选
             this.userList.forEach(item => {
               for (let i = 0; i < this.checkedUsers.length; i++) {
-                if (this.checkedUsers[i] == item.username) { //已存在,执行删除
+                if (this.checkedUsers[i] == item.name) { //已存在,执行删除
                   this.checkedUsers.splice(i, 1)
                   return
                 }