uniapp分页

<template>
    <view>
        <!-- 事件列表 -->
        <view class="top" style="overflow: hidden;">
            <view class="" style="width: 84%; float: left;">
                <u-search shape="square" :show-action='false' bg-color='#f7f7f9' v-model="listQuery.name"
                    @change='search'>
                </u-search>
            </view>
            <view class=" shaixuan" @click="screenShow=true">
                <image class="sxImg" src="../../static/sx.png" mode="aspectFill"></image>
            </view>
        </view>

        <view class="nr">

            <view class="card" v-for="(item,index) in list" :key='index' @click="eventDetails(item)">
                <view class="cardTop">
                    <view class="title">
                        {{item.content_number}}
                    </view>

                </view>
                <view class="cardBottom">
                    <view class="cardBottomImg">
                        <image class="imgI" :src="apiUrl+item.picture[0]" mode="aspectFit"></image>
                    </view>
                    <view class="cardText">

                        <view class="cunM">
                        {{item.village_id_name}}
                        </view>
                        <view class="">
                            <text>故障类型:</text>{{item.classification_id_name}}
                        </view>
                        <view class="">
                            <text>电表编号:</text>{{item.electric_meter_id_name}}
                        </view>
                        <view class="">
                            <text>上传时间:</text>{{item.report_time}}
                        </view>
                    </view>

                </view>
            </view>
            <u-loadmore :status="finished" />

        </view>


        <u-popup class='popup' :custom-style='cstyle' v-model="screenShow" border-radius="14" mode="right"
            width="600rpx" height="980">
            <view class="bag" style="padding: 20rpx;">
                <view class="popupBottom">
                    <view class="popupSleect">
                        <view class="titlePopu">
                            村名
                        </view>
                        <view :class="{villageCard:listQuery.village_id  != -1, liBackground:listQuery.village_id == -1}" :key='index' @click="villageName(-1)">
                            全部
                        </view>
                        <view :class="{villageCard:listQuery.village_id != item.id, liBackground:listQuery.village_id  == item.id}"
                            v-for="(item,index) in modelist" :key='index' @click="villageName(item.id)">
                            {{item.name}}
                        </view>
                    </view>
                    <view class="popupSleect">
                        <view class="titlePopu">
                            故障类型
                        </view>
                        <view :class="{villageCard:listQuery.classification_id  != -1, liBackground:listQuery.classification_id == -1}" :key='index' @click="typeClick(-1)">
                            全部
                        </view>
                        <view :class="{villageCard:listQuery.classification_id  != item.id, liBackground:listQuery.classification_id == item.id}"
                            v-for="(item,index) in department" :key='index' @click="typeClick(item.id)">
                                {{item.name}}
                        </view>
                    </view>

                </view>

                <view class="selectUp"  @click="determine">
                    确定
                </view>
            </view>
        </u-popup>
    </view>
</template>

<script>
    import apiUrl from '@/utils/apiUrl';
    export default {
        data() {
            return {
                apiUrl: apiUrl.base,
                AppLoginUser: uni.getStorageSync('AppLoginUser'),
                listQuery: {
                    page: 1,
                    limit: 10,
                    name:'',
                    village_id:-1,//村id
                    classification_id:-1,//类别id
                    AppLoginUser: uni.getStorageSync('AppLoginUser'),
                },
                total:'',
                //列表加载状态
                bottomLoading: false,
                finished: 'nomore',
                // 列表
                list: null,

                cstyle: {
                    backgroundColor: '#f5f5f5',
                    padding: '10rpx 20rpx',
                    borderRadius: '50rpx'
                },

                // 筛选
                screenShow: false,
                
                // 村
                modelist:[],
                department:[]
                // // 添加信息弹框
                // userArray: {},


            }
        },

        onShow() {
            if (this.list == null) {
                this.list = []
                this.getList();
                this.getMode()
                this.getSelect()
            }

        },
        onLoad() {
            this.list = []
            this.getList();
            this.getMode() 
            this.getSelect()
        },
        onReachBottom() {
            console.log(this.finished)
            console.log(this.listQuery.page)
            if (this.listQuery.page >= this.total) {
                console.log('1111')
                this.finished = 'nomore'; //已经滑到底的提醒
                return false;
            } else {
                this.listQuery.page++;
                this.getList();
            }
        },
        methods: {
            // 获取事件列表
            getList() {
                this.$ajax({
                    url: '/api/applets/MultiUser.ashx?par=GetFailureRecords',
                    method: 'post',
                    data: this.listQuery
                }).then(data => {
                    console.log('数据',data);
                    let dataBackups = data.data.rows;
                    // 图片转数组
                    for (var i = 0; i < dataBackups.length; i++) {
                        dataBackups[i].picture = dataBackups[i].picture.split(",")
                    }
                    if (dataBackups.length > 0) {
                        //         3                9/3
                        this.total = Math.ceil(data.data.total / this.listQuery.limit);
                        // console.log(this.total)
                        // 拼接数组
                        this.list = this.list.concat(dataBackups);
                        // 加载状态
                        this.finished = 'loading'
                        if (this.listQuery.page >= this.total) {
                            console.log(this.listQuery.page)
                            this.finished = 'nomore';
                        }
                    } else {
                        this.finished = 'nomore';
                    }
                });
            },
            // 选择
            villageName(id) {
                //当前的背景颜色赋给当前点击的索引
                this.listQuery.village_id = id;
            },
            typeClick(id) {
                //当前的背景颜色赋给当前点击的索引
                this.listQuery.classification_id = id;
            },
            // 搜索
            search() {
                this.listQuery.page = 1;
                this.list = []
                this.getList();
                this.screenShow = false

            },
            // 筛选
            determine() {
                this.listQuery.page = 1;
                this.list = []
                this.getList();
                this.screenShow = false

            },
            // quxiao() {
            //     this.listQuery = {
            //     page: 1,
            //     limit: 10,
            //     type:'',
            //     name:'',
            //     AppLoginUser: uni.getStorageSync('AppLoginUser'),
            //         },
            //         this.userArray = {}
            //     this.list = []
            //     this.getList();
            //     this.screenShow = false


            // },
            // 获取村
            getMode() {
                this.$ajax({
                    url: '/api/applets/MultiUser.ashx?par=GetUserVillage&AppLoginUser=' +
                        this.AppLoginUser+'&page=1&limit=9999',
                    method: 'post',
                }).then(data => {
                    console.log('村', data);
                    this.modelist = data.data.rows
            
                });
            },
        
    
                    // 类别
        
    getSelect() {
                this.$ajax({
                    url: '/api/applets/MultiUser.ashx?par=GetClassifications&AppLoginUser=' +
                        this.AppLoginUser,
                    method: 'post',
                }).then(data => {
                    console.log('分类', data);
                    this.department = data.data

                });
            },


            // 事件详情
            eventDetails(item) {

                uni.navigateTo({
                    url: '../fault/faultDetails?id=' + item.id
                });

            }
        }
    }
</script>

<style scoped>
    .selectUp{
        background-color: #407dc5;
        color: #FFFFFF;
        border-radius: 10rpx;
        font-size: 35rpx;
        padding: 20rpx;
        text-align: center;
    }
    .titlePopu {
        margin-bottom: 20rpx;
        font-size: 35rpx;
        font-weight: 600;
    }

    .villageCard {
        background-color: #f1f1f1;
        text-align: center;
        padding: 15rpx 0;
        color: #808080;
        border-radius: 50rpx;
        margin: 10rpx;
        width: 30%;
        display: inline-block;
    }

    .liBackground {
        background-color: #407dc5;
        color: #FFFFFF;
        text-align: center;
        padding: 15rpx 0;
        border-radius: 50rpx;
        margin: 10rpx;
        width: 30%;
        display: inline-block;
        
    }

    .popupSleect {
        margin-bottom: 20rpx;
    }

    .cunM {
        font-size: 40rpx;
    }

    .selecticon>>>.u-icon__icon {
        right: 60rpx;
    }

    .popup>>>.u-calendar__content__item {
        width: 10%;
        padding: 0;
        border-radius: 0;
    }

    .card {
        background-color: #FFFFFF;
        padding: 20rpx 30rpx;
        margin: 30rpx 0;
    }

    .cardTop {}

    .title {
        font-size: 30rpx;
        color: #407dc5;

    }

    .icon {
        float: right;
    }

    .cardBottom {
        margin-top: 30rpx;
        overflow: hidden;
    }

    .cardBottomImg {
        width: 200rpx;
        height: 200rpx;
        float: left;
        margin-right: 20rpx;
        border-radius: 10rpx;
    }

    .imgI {
        display: block;
        width: 100%;
        height: 100%;
        border-radius: 10rpx;
    }

    .cardText {
        /* margin-top: 20rpx; */
        width: 60%;
        float: left;
        line-height: 50rpx;
    }

    .name {
        font-size: 30rpx;
    }

    .cardTime {
        color: #cfcfcf;
    }

    .top {
        padding: 30rpx;
        background-color: #FFFFFF;
    }

    .shaixuan {
        float: right;
        position: relative;

        width: 13%;
    }

    .sxImg {
        width: 55rpx;
        height: 55rpx;
        position: absolute;
        right: 5px;
        bottom: -26px;
    }

    .buttonbottom {
        overflow: hidden;
        width: 100%;
    }
</style>
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
大学生参加学科竞赛有着诸多好处,不仅有助于个人综合素质的提升,还能为未来职业发展奠定良好基础。以下是一些分析: 首先,学科竞赛是提高专业知识和技能水平的有效途径。通过参与竞赛,学生不仅能够深入学习相关专业知识,还能够接触到最新的科研成果和技术发展趋势。这有助于拓展学生的学科视野,使其对专业领域有更深刻的理解。在竞赛过程中,学生通常需要解决实际问题,这锻炼了他们独立思考和解决问题的能力。 其次,学科竞赛培养了学生的团队合作精神。许多竞赛项目需要团队协作来完成,这促使学生学会有效地与他人合作、协调分工。在团队合作中,学生们能够学到如何有效沟通、共同制定目标和分工合作,这对于日后进入职场具有重要意义。 此外,学科竞赛是提高学生综合能力的一种途径。竞赛项目通常会涉及到理论知识、实际操作和创新思维等多个方面,要求参赛者具备全面的素质。在竞赛过程中,学生不仅需要展现自己的专业知识,还需要具备创新意识和解决问题的能力。这种全面的综合能力培养对于未来从事各类职业都具有积极作用。 此外,学科竞赛可以为学生提供展示自我、树立信心的机会。通过比赛的舞台,学生有机会展现自己在专业领域的优势,得到他人的认可和赞誉。这对于培养学生的自信心和自我价值感非常重要,有助于他们更加积极主动地投入学习和未来的职业生涯。 最后,学科竞赛对于个人职业发展具有积极的助推作用。在竞赛中脱颖而出的学生通常能够引起企业、研究机构等用人单位的关注。获得竞赛奖项不仅可以作为个人履历的亮点,还可以为进入理想的工作岗位提供有力的支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值