k94314517
2024-09-14 4be1f58b940da6c5239e2fcf78f6b1180f66f555
h5/pages/staff/vehicle/applePeo.vue
@@ -57,7 +57,7 @@
          <text v-for="(item, i) in selList" :key="i">{{ item.name }};</text>
        </view>
        <image
          @click="isShowSelMem = true"
          @click="openSeleter"
          class="open_icon"
          src="@/static/staff/renyuan_ic_open.png"
          mode=""
@@ -74,28 +74,30 @@
    >
      <view class="modal">
        <view class="modal_header">
          <text class="status">已选择:{{ selList.length }}人</text>
          <text class="status">已选择:{{ selList.filter(i => i.checkedTemp).length }}人</text>
          <text class="btn" @click="subSelMem">确认</text>
        </view>
        <view class="modal_mem_list">
          <view class="line" v-for="(item, i) in selList" :key="i">
            <image
              :src="
                item.faceImgFull
                  ? item.faceImgFull
                  : require('@/static/logo@2x.png')
              "
              class="avatar"
              mode=""
            ></image>
            <view class="content">
              <view class="info">
                <text class="name">{{ item.name }}</text>
              </view>
              <view class="depart">{{ item.componey }}</view>
            </view>
            <view class="btn" @click="handleRemove(i)">移除</view>
          </view>
               <template v-for="(item, i) in selList">
                  <view class="line" v-if="item.checkedTemp" :key="i">
                    <image
                      :src="
                        item.faceImgFull
                          ? item.faceImgFull
                          : require('@/static/logo@2x.png')
                      "
                      class="avatar"
                      mode=""
                    ></image>
                    <view class="content">
                      <view class="info">
                        <text class="name">{{ item.name }}</text>
                      </view>
                      <view class="depart">{{ item.componey }}</view>
                    </view>
                    <view class="btn" @click="handleRemove(i)">移除</view>
                  </view>
               </template>
        </view>
      </view>
    </u-popup>
@@ -151,7 +153,8 @@
      }).then(res => {
        this.memberList = res.data || []
        this.memberList.forEach(i => {
          i.checked = false
               const index = this.selList.findIndex(ite => ite.id === i.id)
          i.checked = index > -1
        })
      })
    },
@@ -163,23 +166,6 @@
      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){
@@ -187,11 +173,40 @@
      //   }
      // })
      item.checked = !item.checked
      this.selList = this.memberList.filter(i => i.checked)
         const i = this.selList.findIndex(a => a.id === item.id)
         if(item.checked && i === -1){
            this.selList.push(item)
         }else{
            this.selList.splice(i, 1)
         }
      this.$forceUpdate()
    },
      openSeleter() {
         this.isShowSelMem = true
         this.selList.forEach(item => {
            item.checkedTemp = true
         })
         this.$forceUpdate()
      },
      subSelMem() {
        const { memberList } = this
         this.selList = this.selList.filter(i => i.checkedTemp)
         console.log('selList', this.selList);
        memberList.forEach(ite => {
            const index = this.selList.findIndex(i => i.id === ite.id)
          ite.checked = index > -1
        })
        this.isShowSelMem = false
        this.$forceUpdate()
      },
      closeModal() {
        this.selList.forEach(item => {
           item.checkedTemp = true
        })
        this.isShowSelMem = false
      },
    handleRemove(i) {
      this.selList.splice(i, 1)
      this.selList[i].checkedTemp = false
      this.$forceUpdate()
    },
  }