guojy il y a 1 an
Parent
commit
0362ac729d

+ 1 - 1
src/components/body/department.vue

@@ -11,7 +11,7 @@
 
     <div class="work_body_com">
       <scroller ref="scroller_com" :on-refresh="refresh">
-        <van-search class="scroller-blur" v-model="keyOword" placeholder="请输入搜索姓名" @input="searchUser()" />
+        <van-search class="scroller-blur" maxlength="20" v-model="keyOword" placeholder="请输入搜索姓名" @input="searchUser()" />
         <div class="dept_path" v-show="pid_list_arr.length > 0">
           <a href="javascript:void(0);" @click="back_by_index(0)">全公司</a>
           <a v-for="(item, index) in pid_list_arr" :key="index" href="javascript:void(0);" @click="back_by_index(index + 1, item)">

+ 31 - 27
src/components/common/DeptSelectorCell.vue

@@ -1,28 +1,23 @@
 <template>
-  <van-cell
-    class="employee_cell"
-    :title="title"
-    :value="value"
-    :label="label"
-    :icon="icon"
-    :url="url"
-    :border="border"
-    :required="required"
-    @click="show_dept_selector=true"
-    is-link
-  >
+  <van-cell class="employee_cell" :title="title" :value="value" :label="label" :icon="icon" :url="url" :border="border"
+    :required="required" @click="show_dept_selector=true" is-link>
     <template slot="default">
       <div style="display: inline;" class="employee_cell_value" v-if="selected_data.dept.length <= 2">
-        <span v-for="(item, index) in selected_data.dept" :key="index"><em v-show="index > 0">,</em><Wxopendata type="departmentName" :openid="item.dept_name"></Wxopendata></span>
+        <span v-for="(item, index) in selected_data.dept" :key="index"><em v-show="index > 0">,</em>
+          <Wxopendata type="departmentName" :openid="item.dept_name"></Wxopendata>
+        </span>
       </div>
 
       <div style="display: inline;" class="employee_cell_value" v-if="selected_data.dept.length > 2">
-        <span v-for="(item, index) in selected_data.dept" v-if="index < 2" :key="index"><em v-show="index > 0">,</em><Wxopendata type="departmentName" :openid="item.dept_name"></Wxopendata></span>
+        <span v-for="(item, index) in selected_data.dept" v-if="index < 2" :key="index"><em v-show="index > 0">,</em>
+          <Wxopendata type="departmentName" :openid="item.dept_name"></Wxopendata>
+        </span>
         等{{selected_data.dept.length}}个
       </div>
     </template>
-    <EmployeeSelector :multi="false" :max="max" :close_clear_data="false" ref="selector" :can_select_employee="false" :can_select_dept="true" :dept_multi.sync="multi" @confirm="confirm"
-                      :visible.sync="show_dept_selector" :selected.sync="selected_data" :append_body="true"></EmployeeSelector>
+    <EmployeeSelector isShowDepts :multi="false" :max="max" :close_clear_data="false" ref="selector" :can_select_employee="false"
+      :can_select_dept="true" :dept_multi.sync="multi" @confirm="confirm" :visible.sync="show_dept_selector"
+      :selected.sync="selected_data" :append_body="true"></EmployeeSelector>
   </van-cell>
 </template>
 
@@ -82,30 +77,39 @@
       }
     },
     watch: {
-      selected(val){
-        let selected_data = {employee: [], dept: []}
+      selected(val) {
+        let selected_data = {
+          employee: [],
+          dept: []
+        }
         selected_data.dept = val
         this.selected_data = selected_data
       },
-      selected_data(val){
+      selected_data(val) {
 
       }
     },
-    data(){
+    data() {
       return {
         show_dept_selector: false,
-        selected_data: {dept: [], employee: []}
+        selected_data: {
+          dept: [],
+          employee: []
+        }
       }
     },
     methods: {
-      confirm(data){
+      confirm(data) {
         this.$emit('value', data.dept)
       }
     },
-    created(){
+    created() {
       this.$nextTick(() => {
-        let selected_data = {dept: [], employee: []}
-        selected_data.dept =  this.selected
+        let selected_data = {
+          dept: [],
+          employee: []
+        }
+        selected_data.dept = this.selected
         this.selected_data = selected_data
         document.body.appendChild(this.$refs['selector'].$el)
       })
@@ -114,10 +118,10 @@
 </script>
 
 <style scoped>
-  /deep/ .van-cell__value{
+  /deep/ .van-cell__value {
     -webkit-box-flex: unset;
     -webkit-flex: none;
     flex: none;
-    width:4rem !important;
+    width: 4rem !important;
   }
 </style>

+ 33 - 39
src/components/common/EmployeeSelector.vue

@@ -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]) {

+ 1 - 1
src/components/common/EventSelector.vue

@@ -11,7 +11,7 @@
       :get-container="getContainer"
     >
       <van-nav-bar title="选择B分事件" left-text="取消" right-text="确定" @click-right="confirm" @click-left="visible_ = false"></van-nav-bar>
-      <van-search v-model="filter.keyword" placeholder="请输入姓名或事件内容搜索"/>
+      <van-search v-model="filter.keyword" maxlength="20" placeholder="请输入姓名或事件内容搜索"/>
       <div class="body_com has_header">
         <scroller ref="scroller" :on-refresh="refresh" :on-infinite="infinite">
           <van-cell-group>

+ 1 - 1
src/components/common/RuleCategorySelector.vue

@@ -1,7 +1,7 @@
 <template>
   <van-popup :duration="0.2" :overlay="false" class="employee_selector_popup" v-model="visible_" position="bottom" :style="'height:'+com_height">
     <van-nav-bar :title="dept_name" left-text="取消" @click-left="close" right-text="确定" @click-right="confirm"></van-nav-bar>
-    <van-search v-model="keyword" placeholder="请输入搜索关键词" />
+    <van-search v-model="keyword" maxlength="20" placeholder="请输入搜索关键词" />
     <div class="dept_path" v-show="pid_list_arr.length > 0">
       <a href="javascript:void(0);" @click="back_by_index(0)">全部</a>
       <a v-for="(item, index) in pid_list_arr" :key="index" href="javascript:void(0);" @click="back_by_index(index + 1)"> <van-icon name="arrow" /> {{item.name}}</a>

+ 1 - 1
src/components/common/RuleCategorySelector1.vue

@@ -1,7 +1,7 @@
 <template>
   <van-popup :duration="0.2" :overlay="false" class="employee_selector_popup" v-model="visible_" position="bottom" :style="'height:'+com_height">
     <van-nav-bar :title="dept_name" left-text="取消" @click-left="close" right-text="确定" @click-right="confirm"></van-nav-bar>
-    <van-search v-model="keyword" placeholder="请输入规则内容搜索" />
+    <van-search v-model="keyword" maxlength="20" placeholder="请输入规则内容搜索" />
     <div class="body_com">
       <scroller style="right:5.5rem;width:2rem;" class="selector-leftt _v-container">
         <van-collapse v-model="left_active" accordion>

+ 1 - 1
src/components/home.vue

@@ -15,7 +15,7 @@
 
 
           <van-search v-if="item.type == 'search'"
-
+            maxlength="20"
             placeholder="请输入搜索关键词"
             show-action
 

+ 1 - 1
src/components/home_body.vue

@@ -1,6 +1,6 @@
 <template>
 <div>
-  <van-search placeholder="请输入搜索关键词" />
+  <van-search maxlength="20" placeholder="请输入搜索关键词" />
   <swiper data_name="banner_index"></swiper>
 
 

+ 1 - 1
src/components/integral/batchList.vue

@@ -1,7 +1,7 @@
 <template>
   <div>
     <van-nav-bar title="批量审批" left-text="返回" @click-left="$route_back" left-arrow :right-text="rightText" @click-right="openBatch()"></van-nav-bar>
-    <van-search v-model="params.keyword" placeholder="搜索内容" show-action style="border-bottom: 1px solid #ebedf0;">
+    <van-search v-model="params.keyword" maxlength="20" placeholder="搜索内容" show-action style="border-bottom: 1px solid #ebedf0;">
       <template #action>
         <van-dropdown-menu style="height: 0.8rem;" class="menu">
           <van-dropdown-item title="筛选" ref="item">

+ 1 - 1
src/components/integral/integral_application_list.vue

@@ -2,7 +2,7 @@
   <div class="integral_application_list_box">
     <van-nav-bar title="我申请的" left-text="返回" @click-left="$route_back" left-arrow></van-nav-bar>
 
-    <van-search v-model="filter.keyword" placeholder="请输入申请事由搜索" />
+    <van-search v-model="filter.keyword" maxlength="20" placeholder="请输入申请事由搜索" />
 
     <van-tabs v-model="filter.type">
       <van-tab title="全部申请" name="all"></van-tab>

+ 1 - 1
src/components/integral/integral_entry_list.vue

@@ -2,7 +2,7 @@
   <div class="teampk_box">
     <van-nav-bar :title="title" left-text="返回" @click-left="$route_back" left-arrow style="font-size:0.32rem;"></van-nav-bar>
 
-    <van-search placeholder="请输入事件内容搜索" v-model="filter.keyword"/>
+    <van-search placeholder="请输入事件内容搜索" maxlength="20" v-model="filter.keyword"/>
 
     <van-tabs v-model="type">
       <van-tab v-for="(item,index) in tabs_arr" :key="index" :title="item.title" :name="item.code"></van-tab>

+ 1 - 1
src/components/integral/manager_reward_deduction.vue

@@ -5,7 +5,7 @@
         <DeptSelectorBtn title="选择部门" v-model="dept" :multi="false"></DeptSelectorBtn>
       </div>
     </van-nav-bar>
-    <van-search v-model="keyword" placeholder="输入姓名搜索" />
+    <van-search v-model="keyword" placeholder="输入姓名搜索" maxlength="20" clearable/>
     <YearMonthPicker v-model="month"/>
     <div class="mrd-filter__wrap">
       <van-checkbox v-model="checkedAllStandard" icon-size="0.32rem" checked-color="#07c160">只看全部达标的</van-checkbox>

+ 1 - 1
src/components/integral/rule_category.vue

@@ -19,7 +19,7 @@
       </template>
 
     </van-nav-bar>
-    <van-search v-model="keyword" placeholder="请输入分类名称或规则内容" />
+    <van-search v-model="keyword" maxlength="20" placeholder="请输入分类名称或规则内容" />
     <div class="dept_path" v-show="pid_list_arr.length > 0">
       <a href="javascript:void(0);" @click="back_by_index(0)">全部</a>
       <a v-for="(item, index) in pid_list_arr" :key="index" href="javascript:void(0);" @click="back_by_index(index + 1)"> <van-icon name="arrow" /> {{item.name}}</a>

+ 1 - 1
src/components/integral/team_data.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="team-data__container">
     <van-nav-bar title="团队数据" left-text="返回" @click-left="$route_back" left-arrow/>
-    <van-search v-model="keyword" placeholder="搜索姓名"/>
+    <van-search v-model="keyword" maxlength="20" placeholder="搜索姓名"/>
     <YearMonthPicker v-model="month"/>
     <div class="team-search__bar">
       <van-dropdown-menu>

+ 1 - 1
src/components/integral/ticket_statistics.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="ticket-stats__container">
     <van-nav-bar title="奖票统计" left-text="返回" @click-left="$route_back" left-arrow/>
-    <van-search v-model="keyword" placeholder="搜索" />
+    <van-search v-model="keyword" maxlength="20" placeholder="搜索" />
     <van-dropdown-menu>
       <van-dropdown-item :title="dateTitle" ref="dateDropdownItem">
         <DateSelectorDropdown :title.sync="dateTitle" @onConfirm="onConfirmDate"/>

+ 1 - 1
src/components/pk/list_pk.vue

@@ -10,7 +10,7 @@
       <div ref="pkNoticeRef" style="clear: both;">
         <van-notice-bar v-if="novice" wrapable mode="closeable" @close="closeNotice">团队PK的积分是独立的,不计入A、B分排名和统计</van-notice-bar>
       </div>
-      <van-search placeholder="请输入搜索团队名称" v-model="filter.keyword" />
+      <van-search placeholder="请输入搜索团队名称" maxlength="20" v-model="filter.keyword" />
 
       <div class="pk-list-block" :style="{ height: novice ? noviceHeight : 'calc(100% - 2.85rem)' }">
         <scroller ref="scroller" :on-refresh="refresh" :on-infinite="infinite" noDataText="没有了噢" :list="list">

+ 3 - 3
src/components/scan_qr.vue

@@ -2,7 +2,7 @@
   <div style="height: 100%;">
     <div class="work_body_com">
       <scroller :on-refresh="chat_msg_session_list">
-        <van-search v-model="keyword" placeholder="请输入搜索关键词"/>
+        <van-search v-model="keyword" maxlength="20" placeholder="请输入搜索关键词"/>
         <van-swipe-cell>
           <van-cell is-link v-for="(item,index) in list" :key="index" :title="item.name" :to="item.path" class="employee_cell">
             {{item.time_text}}
@@ -19,10 +19,10 @@
         </van-swipe-cell>
         <div style="height: 100px;">
         </div>
-        <van-search v-model="keyword" placeholder="请输入搜索关键词"/>
+        <van-search v-model="keyword" maxlength="20" placeholder="请输入搜索关键词"/>
         <div style="height: 100px;">
         </div>
-        <van-search v-model="keyword" placeholder="请输入搜索关键词"/>
+        <van-search v-model="keyword" maxlength="20" placeholder="请输入搜索关键词"/>
       </scroller>
     </div>
     <div style="background: #000; top:0; bottom:0; left:0; right:0; z-index:9999; position: fixed;"

+ 1 - 1
src/components/task/performance_list.vue

@@ -7,7 +7,7 @@
      </div>
      </van-nav-bar>
 
-     <van-search v-model="filter.keyword" placeholder="请输入员工姓名搜索"/>
+     <van-search maxlength="20" v-model="filter.keyword" placeholder="请输入员工姓名搜索"/>
 
     <YearMonthPicker v-model="filter.date"></YearMonthPicker>