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 | 109 ++++++++++++++++++++++++++++++++++--------------------
1 files changed, 69 insertions(+), 40 deletions(-)
diff --git a/h5/pages/staff/vehicle/applePeo.vue b/h5/pages/staff/vehicle/applePeo.vue
index a39eada..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>
@@ -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