157 lines
3.1 KiB
Vue
157 lines
3.1 KiB
Vue
|
|
<template>
|
|||
|
|
<view>
|
|||
|
|
<button @click="open">打开弹窗</button>
|
|||
|
|
<uni-popup ref="popup" type="bottom">
|
|||
|
|
<view class="uni-list">
|
|||
|
|
<scroll-view scroll-y="true">
|
|||
|
|
<checkbox-group @change="checkboxChange" class="checkbox-group">
|
|||
|
|
<label class="uni-list-cell" v-for="item in items" :key="item.value">
|
|||
|
|
<view class="item">
|
|||
|
|
<checkbox :value="item.value" :checked="item.checked" />
|
|||
|
|
</view>
|
|||
|
|
<view>{{item.name}}</view>
|
|||
|
|
</label>
|
|||
|
|
</checkbox-group>
|
|||
|
|
</scroll-view>
|
|||
|
|
</view>
|
|||
|
|
</uni-popup>
|
|||
|
|
</view>
|
|||
|
|
</template>
|
|||
|
|
|
|||
|
|
<script>
|
|||
|
|
export default {
|
|||
|
|
data () {
|
|||
|
|
return {
|
|||
|
|
items: [{
|
|||
|
|
value: 'USA',
|
|||
|
|
name: '美国'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
value: 'CHN',
|
|||
|
|
name: '中国',
|
|||
|
|
checked: 'true'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
value: 'BRA',
|
|||
|
|
name: '巴西'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
value: 'JPN',
|
|||
|
|
name: '日本'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
value: 'ENG',
|
|||
|
|
name: '英国'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
value: 'FRA',
|
|||
|
|
name: '法国'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
value: 'JPN',
|
|||
|
|
name: '日本'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
value: 'ENG',
|
|||
|
|
name: '英国'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
value: 'FRA',
|
|||
|
|
name: '法国'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
value: 'JPN',
|
|||
|
|
name: '日本'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
value: 'ENG',
|
|||
|
|
name: '英国'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
value: 'FRA',
|
|||
|
|
name: '法国'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
value: 'JPN',
|
|||
|
|
name: '日本'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
value: 'ENG',
|
|||
|
|
name: '英国'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
value: 'FRA',
|
|||
|
|
name: '法国'
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
methods: {
|
|||
|
|
checkboxChange(e){
|
|||
|
|
console.log(e);
|
|||
|
|
var items = this.items,
|
|||
|
|
values = e.detail.value;
|
|||
|
|
for (var i = 0, lenI = items.length; i < lenI; ++i) {
|
|||
|
|
const item = items[i]
|
|||
|
|
if(values.includes(item.value)){
|
|||
|
|
this.$set(item,'checked',true)
|
|||
|
|
}else{
|
|||
|
|
this.$set(item,'checked',false)
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
open(){
|
|||
|
|
// 通过组件定义的ref调用uni-popup方法 ,如果传入参数 ,type 属性将失效 ,仅支持 ['top','left','bottom','right','center']
|
|||
|
|
this.$refs.popup.open('top')
|
|||
|
|
|
|||
|
|
this.sendRequest({
|
|||
|
|
url: 'xmgl/systemUser/getProjectChilderSystemUserList',
|
|||
|
|
method: "post",
|
|||
|
|
data: { },
|
|||
|
|
success: res => {
|
|||
|
|
console.log(res, '操');
|
|||
|
|
if (res.code == 200) {
|
|||
|
|
console.log('res', res)
|
|||
|
|
|
|||
|
|
if (this.pageNo == 1) {
|
|||
|
|
this.listData = []
|
|||
|
|
}
|
|||
|
|
// console.log('--------')
|
|||
|
|
// this.listData = res.result.records
|
|||
|
|
this.listData = [...this.listData, ...res.result.records]
|
|||
|
|
uni.hideLoading() //关闭加载中
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
</script>
|
|||
|
|
|
|||
|
|
<style lang="scss" scoped>
|
|||
|
|
.uni-popup{
|
|||
|
|
position: absolute;
|
|||
|
|
top: 0;
|
|||
|
|
width: 100%;
|
|||
|
|
height: 667px;
|
|||
|
|
}
|
|||
|
|
.uni-list{
|
|||
|
|
position: absolute;
|
|||
|
|
bottom: -667px;
|
|||
|
|
padding-top: 20px;
|
|||
|
|
width: 100%;
|
|||
|
|
height: 300px;
|
|||
|
|
background-color: #fff;
|
|||
|
|
.checkbox-group{
|
|||
|
|
height: 300px;
|
|||
|
|
// overflow: auto;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
.uni-list-cell {
|
|||
|
|
margin-bottom: 10px;
|
|||
|
|
padding-left: 20px;
|
|||
|
|
display: flex;
|
|||
|
|
align-items: center;
|
|||
|
|
}
|
|||
|
|
</style>
|