From a3a48da30bdea132d2bfbb47fa2ccf83f1937c45 Mon Sep 17 00:00:00 2001
From: queenwuli <942534046@qq.com>
Date: Tue, 19 Jan 2021 08:29:55 +0800
Subject: [PATCH] 提交
---
hive-app/pages/manager/selectEmployee.vue | 71 ++++++++++++++++++++++++-----------
1 files changed, 48 insertions(+), 23 deletions(-)
diff --git a/hive-app/pages/manager/selectEmployee.vue b/hive-app/pages/manager/selectEmployee.vue
index 6127198..8eb2b5e 100644
--- a/hive-app/pages/manager/selectEmployee.vue
+++ b/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()
},
@@ -55,8 +59,13 @@
}, '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 && this.selectIds.indexOf(item.id) > -1){
+ if(index == -1){
+ this.selectItems.push(item);
+ }
return Object.assign(item, {isCheck: true})
}
return Object.assign(item, {isCheck: false})
@@ -65,26 +74,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 +127,7 @@
<style scoped>
.container{
- padding: 10px 10px 0;
+ padding: 10px 10px 64px;
}
.sort-wrap{
display: flex;
--
Gitblit v1.9.1