|
@@ -2,8 +2,8 @@
|
|
|
<van-popup @open="openPopup" :duration="0.2" :overlay="false" class="employee_selector_popup" v-model="visible_" :position="position" :style="'height:' + com_height">
|
|
|
<slot name="nav"></slot>
|
|
|
<van-nav-bar v-if="!$slots.nav" :title="title" left-text="取消" @click-left="close"></van-nav-bar>
|
|
|
- <van-search v-model="keyword" v-if="can_select_employee" placeholder="请输入姓名搜索" />
|
|
|
- <van-search v-model="keyword" v-else placeholder="请输入部门名称搜索" />
|
|
|
+ <van-search v-model="keyword" v-if="can_select_employee" placeholder="请输入姓名搜索" maxlength="20"/>
|
|
|
+ <div style="height: 0.2rem;" v-else></div>
|
|
|
<template v-if="isShowDeptsAll">
|
|
|
<div @click="isShowDeptSelect()" class="sax">
|
|
|
部门筛选
|
|
@@ -107,6 +107,7 @@ import { ActionSheet, Popup, Checkbox, Tag, Search } from 'vant';
|
|
|
|
|
|
import userImage from '@/components/common/user_image';
|
|
|
import request from '@/utils/request';
|
|
|
+import {_debounce} from '@/utils/auth';
|
|
|
Vue.use(Popup).use(Tag);
|
|
|
Vue.use(Checkbox);
|
|
|
Vue.use(ActionSheet);
|
|
@@ -278,7 +279,7 @@ export default {
|
|
|
if (this.deptId != 0) {
|
|
|
this.pid = this.deptId;
|
|
|
}
|
|
|
- this.get_user_list(function() {});
|
|
|
+ this.get_user_list();
|
|
|
this.get_dept_list();
|
|
|
}, 200);
|
|
|
}
|
|
@@ -292,10 +293,10 @@ export default {
|
|
|
let l = this.employee_selected_list.length + this.dept_selected_list.length;
|
|
|
let width = 1 * l;
|
|
|
this.selected_box_width = width + 'rem';
|
|
|
- }
|
|
|
- // keyword () {
|
|
|
- // this.get_user_list(function () {})
|
|
|
- // }
|
|
|
+ },
|
|
|
+ keyword:_debounce(function(){
|
|
|
+ this.get_user_list();
|
|
|
+ },300)
|
|
|
},
|
|
|
mounted() {
|
|
|
this.isShowDept = this.isShowDepts;
|
|
@@ -367,7 +368,7 @@ export default {
|
|
|
this.pid = item.id;
|
|
|
}
|
|
|
}
|
|
|
- this.get_user_list(function() {});
|
|
|
+ this.get_user_list();
|
|
|
},
|
|
|
show_child(item) {
|
|
|
if (item.children) {
|
|
@@ -376,7 +377,7 @@ export default {
|
|
|
this.pid_list_arr.push(item);
|
|
|
this.pid = item.id;
|
|
|
this.list = [];
|
|
|
- this.get_user_list(function() {});
|
|
|
+ this.get_user_list();
|
|
|
},
|
|
|
employee_cancel(item) {
|
|
|
this.employee_selected.splice(this.employee_selected.indexOf(item.id), 1);
|
|
@@ -530,37 +531,30 @@ export default {
|
|
|
return;
|
|
|
}
|
|
|
this.loadingUserList = true;
|
|
|
- request('get', '/api/employee/index', { dept_id: this.pid, keywords: this.keyword, page: 0, page_size: 2000, is_official: 1 })
|
|
|
- .then(res => {
|
|
|
- var list = this.filtration(res.data.data.list); // 过滤各种条件
|
|
|
- // 当有指定显示列表时
|
|
|
- console.log(this.use_employee_list);
|
|
|
- console.log(this.employee_list);
|
|
|
- console.log(list);
|
|
|
- if (this.use_employee_list) {
|
|
|
- var employeeList = this.employee_list;
|
|
|
- var userData = [];
|
|
|
- list.map(item => {
|
|
|
- // 列表数据是否是自己的管理范围
|
|
|
- employeeList.map(item2 => {
|
|
|
- if (item.id == item2.id) {
|
|
|
- userData.push(item);
|
|
|
- }
|
|
|
- });
|
|
|
+ request('get', '/api/employee/index', { dept_id: this.pid, keywords: this.keyword, page: 0, page_size: 2000, is_official: 1 }).then(res => {
|
|
|
+ var list = this.filtration(res.data.data.list); // 过滤各种条件
|
|
|
+ // 当有指定显示列表时
|
|
|
+ if (this.use_employee_list) {
|
|
|
+ var employeeList = this.employee_list;
|
|
|
+ var userData = [];
|
|
|
+ list.map(item => {
|
|
|
+ // 列表数据是否是自己的管理范围
|
|
|
+ employeeList.map(item2 => {
|
|
|
+ if (item.id == item2.id) {
|
|
|
+ userData.push(item);
|
|
|
+ }
|
|
|
});
|
|
|
- console.log(userData);
|
|
|
- this.parse_list(userData);
|
|
|
- } else {
|
|
|
- // 没有指定人员列表
|
|
|
- this.cache_list[this.pid] = list;
|
|
|
- this.parse_list(list);
|
|
|
- }
|
|
|
- })
|
|
|
- .finally(() => {
|
|
|
- done();
|
|
|
- this.$toast.clear();
|
|
|
- this.loadingUserList = false;
|
|
|
- });
|
|
|
+ });
|
|
|
+ this.parse_list(userData);
|
|
|
+ } else {
|
|
|
+ // 没有指定人员列表
|
|
|
+ this.cache_list[this.pid] = list;
|
|
|
+ this.parse_list(list);
|
|
|
+ }
|
|
|
+ }).finally(() => {
|
|
|
+ this.$toast.clear();
|
|
|
+ this.loadingUserList = false;
|
|
|
+ });
|
|
|
|
|
|
// 当点击选择部门时,传入部门ID过去出符合人员
|
|
|
if (this.cache_list[this.pid]) {
|