liukangdong
2024-05-31 9e47e0ece28c6145638aecca5bdf86857c049cf9
h5/pages/staff/vehicle/applePeo.vue
@@ -15,30 +15,40 @@
      />
    </view>
    <view class="member_list">
      <checkbox-group v-model="selList" @change="changeMem">
        <view v-for="item in memberList" :key="item.id" class="line">
          <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>
              <!-- <text class="tag">tag</text> -->
            </view>
            <view class="depart">{{ item.companyName }}</view>
      <view v-for="(item, index) in memberList" :key="item.id" class="line">
        <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>
            <!-- <text class="tag">tag</text> -->
          </view>
          <label>
            <checkbox :checked="item.checked" :value="String(item.id)" class="checkbox" />
          </label>
          <text></text>
          <view class="depart">{{ item.companyName }}</view>
        </view>
      </checkbox-group>
        <image
          @click="changeMem(item, index)"
          v-if="item.checked"
          src="@/static/meeting/icon/ic_choose_sel@2x.png"
          mode="widthFix"
          class="checked"
        ></image>
        <image
          @click="changeMem(item, index)"
          v-if="!item.checked"
          src="@/static/meeting/icon/ic_choose@2x.png"
          mode="widthFix"
          class="checked"
        ></image>
        <text></text>
      </view>
      <view class="empty"></view>
    </view>
    <!--  -->
@@ -55,7 +65,7 @@
          mode=""
        ></image>
      </view>
      <view class="btn" @click="onSubmit">确认({{selList.length}}/20)</view>
      <view class="btn" @click="onSubmit">确认({{ selList.length }}/20)</view>
    </view>
    <!--  -->
    <u-popup
@@ -100,8 +110,8 @@
  data() {
    return {
      memberList: [],
      selList: [],
      param: {},
      selList: [],
      isShowSelMem: false
    }
@@ -109,32 +119,42 @@
  onLoad() {
    this.initData()
  },
  mounted() {
    this.$eventBus.$on('applePeoDetail', (res)=>{
      res.forEach(item => {
        this.changeMem(item)
      })
      this.$nextnick(() => {
        this.$forceUpdate()
      })
    })
  },
  methods: {
    onSubmit() {
      this.$eventBus.$emit('applePeo', this.selList)
      uni.navigateBack()
    },
    changeMem(e) {
      const arr = e.detail.value
      let arrTemp = arr.map(item => {
        let obj = {}
        this.memberList.forEach(ite => {
          if (item == ite.id) {
            obj.name = ite.name.split('-')[0]
            obj.componey = ite.name.split('-')[1] || ''
            obj.id = ite.id
          }
        })
        return obj
      })
      this.selList = arrTemp
      // this.$forceUpdate()
    changeMem(item, index) {
      item.checked = !item.checked
      this.selList = this.memberList.filter(i => i.checked)
      // const arr = e.detail.value
      // let arrTemp = arr.map(item => {
      //   let obj = {}
      //   this.memberList.forEach(ite => {
      //     if (item == ite.id) {
      //       obj.name = ite.name.split('-')[0]
      //       obj.componey = ite.name.split('-')[1] || ''
      //       obj.id = ite.id
      //     }
      //   })
      //   return obj
      // })
      // this.selList = arrTemp
      this.$forceUpdate()
    },
    handleRemove(item) {
      const selIndex = this.selList.findIndex(i => i.id === item.id)
      this.selList.splice(selIndex, 1)
      this.memberList.forEach(ite => {
        if(item.id === ite.id){
        if (item.id === ite.id) {
          ite.checked = false
        }
      })
@@ -282,6 +302,9 @@
        }
      }
    }
    .checked{
      width: 48rpx;
    }
  }
  .empty {
    width: 100%;