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 | 182 +++++++++++++++++++++++++++-----------------
1 files changed, 111 insertions(+), 71 deletions(-)
diff --git a/h5/pages/staff/vehicle/applePeo.vue b/h5/pages/staff/vehicle/applePeo.vue
index 54e7a5d..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>
@@ -113,66 +113,102 @@
param: {},
selList: [],
- isShowSelMem: false
+ isShowSelMem: false,
+ pagination: {
+ capacity: 20,
+ page: 1
+ },
}
},
onLoad() {
this.initData()
},
+ onReachBottom() {
+ // if(){}
+ },
mounted() {
- this.$eventBus.$on('applePeoDetail', (res)=>{
+ this.$eventBus.$on('applePeoDetail', (res) => {
res.forEach(item => {
- this.changeMem(item)
+ this.memberList.forEach(mem => {
+ if (item.id === mem.id) {
+ mem.checked = !mem.checked
+ }
+ })
})
- this.$nextnick(() => {
+ this.selList = this.memberList.filter(i => i.checked)
+ this.$nextTick(() => {
this.$forceUpdate()
})
})
},
methods: {
+ initData() {
+ const { param } = this
+ findTypeMemberInfo({
+ // model: {
+ name: param.name,
+ // },
+ type: '2',
+ companyType: 1,
+ }).then(res => {
+ this.memberList = res.data || []
+ this.memberList.forEach(i => {
+ const index = this.selList.findIndex(ite => ite.id === i.id)
+ i.checked = index > -1
+ })
+ })
+ },
onSubmit() {
+ if (this.selList.length === 0) return uni.showToast({
+ title: '璇峰厛閫夋嫨浜哄憳',
+ icon: 'none'
+ })
this.$eventBus.$emit('applePeo', this.selList)
uni.navigateBack()
},
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.memberList.forEach(mem => {
+ // if(item.id === mem.id){
+ // item.checked = !item.checked
+ // }
// })
- // this.selList = arrTemp
+ item.checked = !item.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()
},
- initData() {
- const { param } = this
- findTypeMemberInfo({
- name: param.name,
- type: '2'
- }).then(res => {
- this.memberList = res.data || []
- this.memberList.forEach(i => {
- i.checked = false
- })
- })
- }
}
};
</script>
@@ -180,18 +216,22 @@
<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;
}
.btn {
- color: #279baa;
+ color: $uni-color-primary;
}
}
.modal_mem_list {
+ max-height: 860rpx;
+ overflow: auto;
.line {
display: flex;
align-items: center;
@@ -245,7 +285,7 @@
align-items: center;
.members {
width: 500rpx;
- color: #4d98a7;
+ color: $uni-color-primary;
white-space: nowrap;
overflow: hidden; //鏂囨湰瓒呭嚭闅愯棌
text-overflow: ellipsis;
@@ -260,7 +300,7 @@
width: 690rpx;
height: 88rpx;
line-height: 88rpx;
- background: #279baa;
+ background: $uni-color-primary;
border-radius: 44rpx;
color: #fff;
text-align: center;
@@ -302,7 +342,7 @@
}
}
}
- .checked{
+ .checked {
width: 48rpx;
}
}
--
Gitblit v1.9.3