From 17efddc6a667670dca682bf36b51a43e99615e6d Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期三, 16 十月 2024 15:59:38 +0800
Subject: [PATCH] 代码初始化

---
 h5/pages/staff/vehicle/applePeo.vue |  111 +++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 70 insertions(+), 41 deletions(-)

diff --git a/h5/pages/staff/vehicle/applePeo.vue b/h5/pages/staff/vehicle/applePeo.vue
index 52d13c5..42e4a0e 100644
--- a/h5/pages/staff/vehicle/applePeo.vue
+++ b/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>
@@ -35,7 +33,7 @@
         <image
           @click="changeMem(item, index)"
           v-if="item.checked"
-          src="@/static/meeting/icon/ic_choose_sel@2x.png"
+          src="@/static/checkbox_sel@2x.png"
           mode="widthFix"
           class="checked"
         ></image>
@@ -59,45 +57,47 @@
           <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=""
         ></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="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(item)">绉婚櫎</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>
@@ -143,17 +143,18 @@
   },
   methods: {
     initData() {
-      const { param, pagination } = this
+      const { param } = this
       findTypeMemberInfo({
         // model: {
         name: param.name,
         // },
         type: '2',
-        ...pagination
+        companyType: 1,
       }).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
         })
       })
     },
@@ -172,16 +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()
     },
-    handleRemove(item) {
-      this.memberList.forEach(ite => {
-        if (item.id === ite.id) {
-          ite.checked = false
-        }
-      })
-      // console.log(this.memberList);
+		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[i].checkedTemp = false
       this.$forceUpdate()
     },
   }
@@ -191,10 +216,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 +230,8 @@
     }
   }
   .modal_mem_list {
+    max-height: 860rpx;
+    overflow: auto;
     .line {
       display: flex;
       align-items: center;

--
Gitblit v1.9.3