| | |
| | | </view> |
| | | </view> |
| | | <no-record :isShow="!list.length"></no-record> |
| | | <view v-if="list.length"> |
| | | <uni-load-more :status="loadStatus" color="#a5abaf"></uni-load-more> |
| | | </view> |
| | | <view class="footer"> |
| | | <text>已选:{{selectItems.length?selectItems.length:0}}人</text> |
| | | <text>已选:{{selectIds?selectIds.split(',').length:0}}人</text> |
| | | <button class="blue-btn btn mr-0" @click="confirm">确定</button> |
| | | </view> |
| | | </view> |
| | |
| | | |
| | | <script> |
| | | import searchBar from '../../components/searchBar/index.vue'; |
| | | import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue'; |
| | | export default { |
| | | components:{ |
| | | uniLoadMore, |
| | | searchBar |
| | | }, |
| | | data() { |
| | |
| | | selectIds: '', |
| | | selectItems: [], |
| | | multiSelect: false, //单选/多选,默认多选 |
| | | loadStatus: 'more', |
| | | pageNum: 1 |
| | | }; |
| | | }, |
| | | onLoad(options) { |
| | |
| | | onShow() { |
| | | this.loadMemberList() |
| | | }, |
| | | onReachBottom(){ |
| | | this.loadMemberList() |
| | | }, |
| | | methods:{ |
| | | reloadData(){ |
| | | this.list = []; |
| | | this.pageNum = 1; |
| | | this.loadStatus = 'more'; |
| | | this.loadMemberList(); |
| | | }, |
| | | caculateBgcolor(index){ |
| | | return this.colors[index%8]; |
| | | }, |
| | | search(val){ |
| | | this.queryKey = val; |
| | | this.loadMemberList(); |
| | | this.reloadData(); |
| | | }, |
| | | loadMemberList(){ |
| | | uni.showLoading({ |
| | | mask: true, |
| | | title: '加载中' |
| | | }); |
| | | if(this.loadStatus!=='more'){ |
| | | return; |
| | | } |
| | | let selectedArr = this.selectIds?this.selectIds.split(','):[]; |
| | | this.$httpUtils.request('/api/vip/findVipInfoList', { |
| | | pageNum: this.pageNum, |
| | | pageSize: 15, |
| | | queryKey: this.queryKey |
| | | }, 'POST').then((res) => { |
| | | if(res.status == 200){ |
| | | this.list = res.rows.map((item) => { |
| | | let result = res.rows; |
| | | if(result.length < 15){ |
| | | this.loadStatus = 'noMore'; |
| | | } else { |
| | | this.pageNum ++ ; |
| | | this.loadStatus = 'more'; |
| | | } |
| | | |
| | | result = result.map((item) => { |
| | | let index = this.selectItems.findIndex((op) => { |
| | | return op.id == item.id |
| | | }); |
| | | if(this.selectIds && this.selectIds.indexOf(item.id) > -1){ |
| | | if(this.selectIds && selectedArr.includes(item.id.toString())){ |
| | | if(index == -1){ |
| | | this.selectItems.push(item); |
| | | } |
| | |
| | | } |
| | | return Object.assign(item, {isCheck: false}) |
| | | }); |
| | | this.list = this.list.concat(result); |
| | | } |
| | | this.$nextTick(function(){ |
| | | uni.hideLoading() |
| | | }) |
| | | }).catch(() => { |
| | | uni.hideLoading() |
| | | }) |
| | | }, |
| | | checkOnchange(item){ |
| | |
| | | }else{ |
| | | this.singChange(item) |
| | | } |
| | | let selectedArr = this.selectItems.map((item) => { |
| | | return item.id; |
| | | }) |
| | | this.selectIds = selectedArr.length?selectedArr.join(','):''; |
| | | }, |
| | | singChange(item){ |
| | | if(!item.isCheck){ |
| | |
| | | item.isCheck = false; |
| | | this.selectItems = []; |
| | | } |
| | | |
| | | }, |
| | | multiChange(item){ |
| | | let index = this.selectItems.findIndex((op) => { |