From 7113b4f2dd47a313c6fbc85c21f4756da42b212a Mon Sep 17 00:00:00 2001 From: queenwuli <942534046@qq.com> Date: Mon, 11 Jan 2021 17:06:18 +0800 Subject: [PATCH] gx --- hive-app/pages/manager/selectEmployee.vue | 64 ++++++++++++++++++++++--------- 1 files changed, 45 insertions(+), 19 deletions(-) diff --git a/hive-app/pages/manager/selectEmployee.vue b/hive-app/pages/manager/selectEmployee.vue index 2750887..8eb2b5e 100644 --- a/hive-app/pages/manager/selectEmployee.vue +++ b/hive-app/pages/manager/selectEmployee.vue @@ -17,7 +17,7 @@ </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> @@ -33,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() }, @@ -54,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}) @@ -64,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() } }, -- Gitblit v1.9.1