| | |
| | | <template> |
| | | <view class="main_app"> |
| | | <view class="main_app" :class="{ popupShow: isShowSelMem }"> |
| | | <view class="search_inp df_ac"> |
| | | <image |
| | | class="mr12 search" |
| | |
| | | <view class="member_list"> |
| | | <view v-for="(item, index) in memberList" :key="item.id" class="line"> |
| | | <image |
| | | :src=" |
| | | item.faceImgFull |
| | | ? item.faceImgFull |
| | | : require('@/static/logo@2x.png') |
| | | " |
| | | v-if="item.faceImgFull" |
| | | :src="item.faceImgFull" |
| | | class="avatar" |
| | | mode="" |
| | | ></image> |
| | | <view v-else class="avatar">{{ item.name.slice(0, 1) }}</view> |
| | | <view class="content"> |
| | | <view class="info"> |
| | | <text class="name">{{ item.name }}</text> |
| | |
| | | mode="" |
| | | ></image> |
| | | </view> |
| | | <view class="btn" @click="onSubmit">确认({{ selList.length }}/20)</view> |
| | | <view class="btn" @click="onSubmit">确认</view> |
| | | </view> |
| | | <!-- --> |
| | | <u-popup |
| | | :show="isShowSelMem" |
| | | :round="12" |
| | | mode="bottom" |
| | | @close="isShowSelMem = false" |
| | | @close="closeModal" |
| | | > |
| | | <view class="modal"> |
| | | <view class="modal_header"> |
| | | <text class="status">已选择:{{ selList.length }}人</text> |
| | | <text class="btn" @click="isShowSelMem = false">确认</text> |
| | | <text class="btn" @click="subSelMem">确认</text> |
| | | </view> |
| | | <view class="modal_mem_list"> |
| | | <view class="line" v-for="(item, i) in selList" :key="i"> |
| | |
| | | </view> |
| | | <view class="depart">{{ item.componey }}</view> |
| | | </view> |
| | | <view class="btn" @click="handleRemove(item)">移除</view> |
| | | <view class="btn" @click="handleRemove(i)">移除</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | |
| | | this.$eventBus.$emit('applePeo', this.selList) |
| | | uni.navigateBack() |
| | | }, |
| | | closeModal() { |
| | | this.selList = this.memberList.filter(i => i.checked) |
| | | this.isShowSelMem = false |
| | | }, |
| | | subSelMem() { |
| | | const { selList, memberList } = this |
| | | memberList.forEach(ite => { |
| | | ite.checked = false |
| | | selList.forEach(item => { |
| | | if (ite.id === item.id) { |
| | | ite.checked = true |
| | | } else { } |
| | | }) |
| | | }) |
| | | this.isShowSelMem = false |
| | | this.$forceUpdate() |
| | | }, |
| | | changeMem(item, index) { |
| | | // this.memberList.forEach(mem => { |
| | | // if(item.id === mem.id){ |
| | |
| | | this.selList = this.memberList.filter(i => i.checked) |
| | | this.$forceUpdate() |
| | | }, |
| | | handleRemove(item) { |
| | | this.memberList.forEach(ite => { |
| | | if (item.id === ite.id) { |
| | | ite.checked = false |
| | | } |
| | | }) |
| | | // console.log(this.memberList); |
| | | handleRemove(i) { |
| | | this.selList.splice(i, 1) |
| | | this.$forceUpdate() |
| | | }, |
| | | } |
| | |
| | | <style lang="scss"> |
| | | .modal { |
| | | padding: 40rpx 30rpx; |
| | | max-height: 1000rpx; |
| | | .modal_header { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | padding-bottom: 20rpx; |
| | | .status { |
| | | font-weight: 600; |
| | | } |
| | |
| | | } |
| | | } |
| | | .modal_mem_list { |
| | | max-height: 860rpx; |
| | | overflow: auto; |
| | | .line { |
| | | display: flex; |
| | | align-items: center; |