''
liukangdong
2024-06-28 67c8044145f0bd3df44cc7b627cff32fed02b63c
h5/pages/staff/vehicle/applePeo.vue
@@ -1,5 +1,5 @@
<template>
  <view class="main_app">
  <view class="main_app" :class="{ popupShow: isShowSelMem }">
    <view class="search_inp df_ac">
      <image
        class="mr12 search"
@@ -17,14 +17,12 @@
    <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>
@@ -65,19 +63,19 @@
          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">
@@ -96,7 +94,7 @@
              </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>
@@ -165,6 +163,23 @@
      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){
@@ -175,13 +190,8 @@
      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()
    },
  }
@@ -191,10 +201,12 @@
<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;
    }
@@ -203,6 +215,8 @@
    }
  }
  .modal_mem_list {
    max-height: 860rpx;
    overflow: auto;
    .line {
      display: flex;
      align-items: center;