首页 > 其他分享 >uni-app 滑动翻页

uni-app 滑动翻页

时间:2024-03-21 16:14:12浏览次数:23  
标签:indexList 翻页 app list item uni data formdata

<template>
  <view class="contain-box">
    <u-navbar
      :title="title"
      :is-back="true"
      back-icon-color="#fff"
      :background="background"
      :border-bottom="false"
      title-color="#fff"
    >
    </u-navbar>
    <view class="content">
      <view class="searchk">
        <u-search
          placeholder="请输入手机号查询(必填)"
          v-model="formdata.visitMoblie"
          shape="square"
          bg-color="#fff"
          :clearabled="true"
          @search="search()"
          @clickIcon="search()"
          @clear="sclear()"
          :show-action="true"
          action-text="筛选"
        >
        </u-search>
      </view>
      <view class="tabs">
        <u-tabs
          :list="list"
          :is-scroll="false"
          :current="current"
          @change="change"
        ></u-tabs>
      </view>
    </view>
    <!-- 列表 -->
    <view class="list-box">
      <view
        v-for="item in indexList"
        class="list-box-item"
        v-if="indexList.length > 0"
        @click="goDetail(item)"
      >
        <view class="item-title">
          <h4>{{ item.intervieweeName }}的访客单</h4>
          <span>{{ STATUS[item.status] }}</span>
        </view>
        <view class="item-cont">
          <p>
            <u-icon name="account-fill" color="#2979ff" size="28"></u-icon>
            <span>预约姓名:</span>{{ item.visitName }}({{ item.visitMoblie }})
          </p>
          <p>
            <u-icon name="clock" color="#2979ff" size="28"></u-icon>
            <span>预约时间:</span>{{ item.visitTime }}
          </p>
          <p>
            <u-icon name="file-text-fill" color="#2979ff" size="28"></u-icon>
            <span>预约备注:</span>{{ item.visitReason }}
          </p>
        </view>
      </view>
      <view class="no-data" v-if="indexList.length <= 0"> 没有数据</view>
    </view>
  </view>
</template>

<script>
import { getListByWay } from "@/api/visitor.js";
import { getUrlParamscode } from "@/api/request.js";

export default {
  data() {
    return {
      title: "我的预约",
      background: {
        backgroundColor: "#558eff",
      },
      current: 0,
      list: [
        {
          name: "待审批",
        },
        {
          name: "已完成",
        },
      ],
      indexList: [],
      formdata: {
        visitOpenId: uni.getStorageSync("_USER_OPENID"),
        visitWay: 1, //visitWay1自己预约 2来宾邀约
        pageNo: 1,
        pageSize: 10,
        type: 1, //(1待 2已完成 )
        visitMoblie: "",
      },
      STATUS: {
        //(1待审批 2已取消 3不通过 4已通过  5已失效)
        1: "待审批",
        2: "已取消",
        3: "不通过",
        4: "已通过",
        5: "已失效",
        6: "处理中",
      },
    };
  },
  onl oad(e) {
    this.indexList = [];
    this._list();
  },
  //上拉加载
  onReachBottom() {
    this.formdata.pageNo = this.formdata.pageNo + 1;
    this._list();
  },
  //下拉刷新
  onPullDownRefresh() {
    //刷新后的效果
    this.formdata.pageNo = 1;
    this.indexList = [];
    this._list();
  },
  methods: {
    change(index) {
      this.current = index;
      this.indexList = [];
      if (index == 1) {
        this.formdata.type = 2;
      } else {
        this.formdata.type = 1;
      }
      this.sclear();
    },
    sclear() {
      this.indexList = [];
      this.formdata.pageNo = 1;
      this.formdata.pageSize = 10;
      this._list();
    },
    search() {
      this._list();
    },

    //加载列表
    _list() {
      getListByWay(this.formdata).then((res) => {
        if (res.data.code == "00000") {
          if (
            this.formdata.pageNo >
            Math.ceil(res.data.data.total / this.formdata.pageSize)
          ) {
            uni.showToast({
              title: "没有更多了",
              icon: "none",
              duration: 1000,
              mask: true,
            });
            uni.stopPullDownRefresh(); //刷新数据之后停止刷新效果
            return false;
          }
          this.indexList = this.indexList.concat(res.data.data.datas);
        } else {
          uni.showToast({
            icon: "none",
            title: res.data.desc,
          });
        }
        uni.stopPullDownRefresh(); //刷新数据之后停止刷新效果
      });
    },
    //跳转详情
    goDetail(item) {
      //listType 1我的预约2访客审批3邀约
      uni.navigateTo({
        url:
          "/pages/index/compoment/detail?items=" +
          JSON.stringify(item) +
          "&listType=" +
          1,
      });
    },
  },
};
</script>

<style lang="scss">
.contain-box {
  height: 100vh;
  background-color: #f5f7fd;
  .content {
    width: 100%;
    padding: 30rpx 20rpx;
    background-color: #f5f7fd;

    .searchk {
      margin-bottom: 20rpx;

      /deep/.u-action {
        display: none;
      }
    }
  }
  .list-box {
    background-color: #f5f7fd;
    padding: 0 10px 10px 10px;
    .list-box-item {
      background: #fff;
      margin-bottom: 12px;
      display: flex;
      width: 100%;
      flex-flow: column;
      .item-title {
        display: flex;
        width: 100%;
        justify-content: space-between;
        padding: 0 10px;
        margin-top: 10px;
        h4 {
          // font-size: 16px;
          display: flex;
          width: 80%;
          text-align: justify;
        }
        span {
          color: #2674d5;
        }
      }
      .item-cont {
        padding: 10px;
        p {
          line-height: 26px;
          span {
            padding-left: 6px;
            text-align: justify;
            width: 70px;
            display: inline-block;
            text-align-last: justify;
            vertical-align: top;
            margin-right: 2px;
          }
          // span:after {
          //   display: inline-block;
          //   content: "";
          //   overflow: hidden;
          //   width: 100%;
          //   height: 0;
          // }
        }
      }
    }
  }
}
</style>

  

//我的预约
        {
            "path": "pages/index/compoment/visitor",
            "style": {
                "navigationBarTitleText": "",
                "enablePullDownRefresh": true,
                "navigationStyle": "custom"
            }
        },

 

标签:indexList,翻页,app,list,item,uni,data,formdata
From: https://www.cnblogs.com/Byme/p/18087599

相关文章

  • java社团管理系统app(ssm框架毕业设计)
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:随着互联网技术的飞速发展,社团活动在校园文化中扮演着日益重要的角色。学生社团作为大学生活的重要组成部分,不仅丰富了学生的课余生活,还提供了展示才华、......
  • uniapp 蓝牙连接斑马打印机发送zpl指令打印
    历程需求是想通过斑马的zpl语言打印小票等,需要用到蓝牙连接。一开始采用的是uniapp自带的蓝牙连接和打印,用的是uni.writeBLECharacteristicValue(OBJECT)方法,蓝牙能正常连接和发送数据。奇怪的是发送蓝牙数据始终都是ok,打印机确是一点动静都没有。基于以上的疑惑,我开始怀疑是u......
  • 【大语言视觉助手+LLaVA1.5】23.10.LLaVA-1.5改善后视觉语言大模型: Improved Baselin
    LLaVa家族官方资源汇总:项目主页||https://huggingface.co/liuhaotian23.04.LLaVA1.0论文:LargeLanguageandVisionAssistant(VisualInstructionTuning)23.06LLaVA-Med(医学图片视觉助手):TrainingaLargeLanguage-and-VisionAssistantforBiomedicineinOne......
  • node.js学习:fs.writeFile方法和fs.appendFile方法
     前言初学者,想记录一下Node.js学习上的一些新知fs.writeFile方法语法:fs.writeFile(file,data,[options],callback)file:要写入数据的文件路径。data:要写入的数据,可以是字符串或者缓冲区。options(可选):一个对象,包含文件写入的选项。常见的选项包括编码方式和文......
  • uniapp怎么获取元素高度,获取元素节点信息,获取界面剩余高度
    一、在uniapp项目开发的过程中,常常需要获取元素的高度信息,来更容易的实现元素的布局控制,使用场景:列入动态的计算容器的高度,设置组件的最小高度等等在获取元素节点信息中,通常有两种情况:①获取单个②获取v-for循环元素的节点信息,话不多说,直接上代码注意:需要在onReady()之后获取,否则......
  • uniapp获取定位导致APP闪退
    刚开始用setInterval定时1秒获取地图定位,因为uni.getLocation经常会返回失败,导致整个定时器错乱闪屏崩溃。本页面有一个webview,通过evalJS执行webview嵌套页面的方法。<web-view@message="getMessage"v-if="url":src="url"></web-view> 错误代码:this.time=setInterv......
  • 使用appuploder流程笔记
     1.如何没有账号去apple官网注册一个,地址:https://developer.apple.com/account2.下载解压appuploder,双击打开,用刚刚注册的账号登录,下载地址:http://www.applicationloader.net/(使用第一次后,可以点击记住密码即可一键登录)注意:未支付apple的账号需要勾选“未付苹果688”  ......
  • uni-app攻略:如何对接驰腾打印机
    一.引言在当前的移动开发生态中,跨平台框架如uni-app因其高效、灵活的特点受到了开发者们的青睐。同时,随着物联网技术的飞速发展,智能打印设备已成为许多业务场景中不可或缺的一环。今天,我们就来探讨如何使用uni-app轻松对接驰腾品牌的智能打印机,实现无线打印功能。无论您是初学者......
  • unity学习(66)——控制器Joystick Pack优化
    JoystickPack这种重力带惯性不利于正常开发。决定进行优化。有一种万事俱备只欠东风的感觉。源代码如下: 1.在脚本中找到轮盘所输出的方向值2.把方向的改变值加到鸣人模型身上。2.1控制器脚本中添加model变量2.2在unity中赋值 2.3代码中修改位置usingSystem.Col......
  • 【基于stm32-心率血氧量检测系统(蓝牙,手机app)】
    一、项目描述:心率血氧量检测系统基于STM32芯片的设计将为用户提供高效、可靠的健康监测解决方案。以下是这一系统的主要特点和功能:STM32芯片驱动:采用STM32系列芯片作为主控制器,具有高性能和低功耗特性,能够确保系统稳定运行并延长电池寿命。传感器集成:整合了高精度的心率和血......