fix
Helius
2021-02-20 45fb4b11ad51bb38306765b11a6747402e382cee
hive-app/pages/manager/selectEmployee.vue
@@ -1,7 +1,7 @@
<template>
   <view class="container">
      <search-bar @confirm="search" placeholder="输入员工姓名、手机号"></search-bar>
      <view class="member-list flex align-center" v-for="(item, index) in list">
      <view class="member-list flex align-center" v-for="(item, index) in list" @click="checkOnchange(item)">
         <image :src="item.photo?item.photo:'../../static/images/default-avatar.png'" mode="" class="avatar"></image>
         <view class="flex-1 flex align-center justify-between member-list-con">
            <view class="flex flex-v">
@@ -12,13 +12,12 @@
               <text class="font-13 gray mt-10" v-if="item.telphone">{{$utils.encryptAccount(item.telphone)}}</text>
            </view>
            <text class="iconfont" 
               :class="item.isCheck?'iconxuanzhong blue':'iconweixuanzhong gray'"
               @click="checkOnchange(item)"></text>
               :class="item.isCheck?'iconxuanzhong blue':'iconweixuanzhong gray'" ></text>
         </view>
      </view>
      <no-record :isShow="!list.length"></no-record>
      <view class="footer">
         <text>已选:{{selectId?1:0}}人</text>
         <text>已选:{{selectItems.length?selectItems.length:0}}人</text>
         <button class="blue-btn btn mr-0" @click="confirm">确定</button>
      </view>
   </view>
@@ -34,13 +33,18 @@
         return {
            queryKey: '',
            list: [],
            selectId: '',
            selectName: ''
            selectIds: '',
            selectItems: [],
            multiSelect: false, //单选/多选,默认多选
         };
      },
      onLoad(options) {
         // 选中的id,逗号分隔
         if(options.selectId!='null'){
            this.selectId = options.selectId
            this.selectIds = options.selectId
         }
         if(options.multiSelect){
            this.multiSelect = new Boolean(options.multiSelect);
         }
         this.loadMemberList()
      },
@@ -50,13 +54,19 @@
            this.loadMemberList();
         },
         loadMemberList(){
            let selectedArr = this.selectIds?this.selectIds.split(','):[];
            this.$httpUtils.request('/api/user/findAllUsers', {
               queryKey: this.queryKey
            }, 'POST').then((res) => {
               if(res.status == 200){
                  this.list = res.rows.map((item) => {
                     if(this.selectId && this.selectId == item.id){
                        this.selectName = item.name
                     let index = this.selectItems.findIndex((op) => {
                        return op.id == item.id
                     });
                     if(this.selectIds && selectedArr.includes(item.id.toString())){
                        if(index == -1){
                           this.selectItems.push(item);
                        }
                        return Object.assign(item, {isCheck: true})
                     }
                     return Object.assign(item, {isCheck: false})
@@ -65,26 +75,42 @@
            })
         },
         checkOnchange(item){
            if(this.multiSelect){
               this.multiChange(item)
            }else{
               this.singChange(item)
            }
         },
         singChange(item){
            if(!item.isCheck){
               this.list.forEach((item) => {
                  item.isCheck = false;
               this.list.forEach((op) => {
                  op.isCheck = false;
               });
               item.isCheck = true
               this.selectId = item.id;
               this.selectName = item.name;
               item.isCheck = true;
               this.selectItems = [item];
            }else{
               item.isCheck = false;
               this.selectId = '';
               this.selectName = '';
               this.selectItems = [];
            }
         },
         multiChange(item){
            let index = this.selectItems.findIndex((op) => {
               return op.id == item.id
            });
            if(!item.isCheck){
               item.isCheck = true;
               this.selectItems.push(item);
            }else{
               item.isCheck = false;
               this.selectItems.splice(index,1);
            }
         },
         confirm(){
            let pages = getCurrentPages();
            let prevPage = pages[ pages.length - 2 ];
            prevPage.$vm.setData && prevPage.$vm.setData({
               name: this.selectName,
               id: this.selectId
            });
            let pages = getCurrentPages();
            let prevPage = pages[ pages.length - 2 ];
            if(this.selectItems.length){
               prevPage.$vm.setData && prevPage.$vm.setData(this.selectItems);
            }
            uni.navigateBack()
         }
      },
@@ -102,7 +128,7 @@
<style scoped>
   .container{
      padding: 10px 10px 0;
      padding: 10px 10px 64px;
   }
   .sort-wrap{
      display: flex;