微信小程序模拟车位选择功能(简陋版本)

2023-10-29

功能:实现在线选车位功能

效果图:
在这里插入图片描述
在这里插入图片描述

//.js文件

const app = getApp();
Page({
    data:{
      indicatorDots: false,
      autoplay: false,
      interval: 5000,
      duration: 1000,
      items: [
        { value: '1', checked: "" },
        { value: '2', checked: "" },
        { value: '3', checked: "" },
        { value: '4', checked: "" },
        { value: '5', checked: "" },
        { value: '6', checked: "" },
        { value: '7', checked: "" },
        { value: '8', checked: "" },
        { value: '9', checked: "" },
        { value: '10', checked: "" },
        { value: '11', checked: "" },
        { value: '12', checked: "" },
        { value: '13', checked: "" },
        { value: '14', checked: "" },
        { value: '15', checked: "" },
        { value: '16', checked: "" },
        { value: '17', checked: "" },
        { value: '18', checked: "" },
        { value: '19', checked: "" },
        { value: '20', checked: "" },
        { value: '21', checked: "" },
        { value: '22', checked: "" },
        { value: '23', checked: "" },
        { value: '24', checked: "" },
        { value: '25', checked: "" },
        { value: '26', checked: "" },
        { value: '27', checked: "" },
        { value: '28', checked: "" },
        { value: '29', checked: "" },
        { value: '30', checked: "" },
      ],
      arr: [], //标签数组:用来存储选中的值
    },


 //选择标签方法
 checkLabs(e) {
  var that = this, 

      index = e.currentTarget.dataset.index,//点击的值(字符型)
      value = e.currentTarget.dataset.value,//点击的值
      items = that.data.items,//数组
      arr = that.data.arr,//前一个点击的值
      val = items[index].checked, //点击前值的状态
      limitNum = 1,
      curNum = 0; //已选择数量
      console.log(e)
      // console.log(value)
      // console.log(items)
      // console.log(val)

  //选中累加
  for (var i in items) {
    if (items[i].checked) {
      curNum += 1;
    }
  }
console.log(curNum)
console.log(limitNum)
  if (!val) {
    if (curNum == limitNum) {
      wx.showModal({
        content: '只能选择' + limitNum + '个车位',
        showCancel: false
      })
      return;
    }
    arr.push(value);
  } else {
    for (var i in arr) {
      if (arr[i] == value) {
        arr.splice(i, 1);
      }
    }
  }
  items[index].checked = !val;

  that.setData({
    items: items,
    arr: arr
  })

},

     //默认选中为true的
  selectEd(e){
    var that = this,
      arr = that.data.arr,
      items = that.data.items
    for (var i = 0; i < items.length; i++) {
      if (items[i].checked) {
        var value = items[i].value;
        arr.push(value);
        that.setData({
          items: items,
          arr: arr
        })
      }
    }
  },
    onLoad:function(options){
      // 页面初始化 options为页面跳转所带来的参数
      this.selectEd();
    
    },  
  })
//.wxml文件

<view class="biaoti">一食堂停车场</view>

<view class='the-label'>
  <view class='list'>
    <block wx:for="{{items}}" wx:for-item="v" wx:key="k" wx:for-index="index">
      <view class="li {{v.checked?'cur':''}}" data-index="{{index}}" data-checked="{{items.checked}}" data-value="{{v.value}}" bindtap="checkLabs">
        <image mode="widthFix"
                src="/static/images/icon_3/free.png" style="width: 100rpx; height: 125rpx;"></image>
                <checkbox value="{{item.value}}" data-val="{{item.value}}" hidden='false' checked='{{item.checked}}' />
        <label class='ti'>{{v.value}}
        </label>
      </view>
    </block>
  </view>
</view>

<!-- 这里用来存储选中的标签的值 {{arr}}-->
<view class='seled'>
  <view class='tt'>你当前选中的是:</view>
  <label class='sel-v'>{{arr}}</label>
</view>


<view class="wa">
  <!-- 分割线 -->
  <view class="hr"></view>
  
  <view class="box">
  	<view class="box1">
      <view class="text-center" >总车位</view>
      <view class="text-center" >{{items.length}}</view></view>
  	<view class="box2">
      <view class="text-center" >剩余车位</view>
      <view class="text-center" >25</view></view>
  </view>
  </view>

  <!-- 分割线 -->
  <view class="hr"></view>

<view class="box">
  	<button class="button1" bindtap="tiaozhuan">预约车位</button>
  	<button class="button2" bindtap="tiaozhuan" data-items="{{items}}">查看路线</button>
</view>


//.wxss文件


page{
  height:100%;
  width:100%;
}


/* 选座系统的样式 */
.the-label{ width: 100%; 
background-color: #fff; 
padding: 20rpx 30rpx 40rpx; 
box-sizing: border-box; 
margin-bottom: 20rpx;
align-content: center;}
.the-label .list{ width: 100%; 
overflow: hidden;
 margin-top: 48rpx;}
.the-label .list .li{ padding: 0 10rpx; 
height: 220rpx;
 width: 100rpx; 
 line-height: 60rpx; 
 border: 1px solid #f0f0f0; 
  border-radius: 10rpx; 
overflow: hidden; 
font-size: 35rpx; 
color: #808080; 
float: left; 
margin: 0 10rpx 17rpx 0; 
text-align: center;}
.the-label .list .li.cur{ color: #55beb7; border-color: #55beb7;background-color: #a6ece8;}


.seled{ width: 100%; margin-top: 30rpx; color: #666; font-size: 28rpx; padding: 0 30rpx; box-sizing: border-box;}
.seled .sel-v{ color: #f00; font-weight: 700; font-size: 30rpx; margin-top: 20rpx; }



/* 车位 */
/* label{
  border:0rpx solid #aaaaaa;
  width: 90rpx; height: 120rpx;
  margin:20rpx;
} */
.check {
 display:flex;
 flex-wrap:wrap;
 /* justify-content:space-around; */
 margin:20rpx;
}
.check label {
 width: 90rpx;
 height: 120rpx;
 border-radius: 8rpx;
 /* background-color: #fff;   */
 display: flex;
 align-items: center;
 margin: 0 5rpx;
 justify-content: center;
 /* color: #aaa; */
 margin-top: 20rpx;
 margin: 50rpx 20rpx ;
}
.is_checked {
  background-color: #14a1fd;
  opacity: 0.4;
  color: #fff;
  border: 2rpx solid #fff;
}
.is_checked>checkbox {
 color: red;
}


/* 食堂标题 */
.biaoti{
text-align: center;
font-family: 'blod';
font-size: 55rpx;
padding-bottom: 15rpx;
font-family: cursive;
}
.hr {
width: 100%;
height: 15px;
background-color: #ffffff;
}
.box{
display:flex;
flex-direction:row;
justify-content:flex-start;
font-family: cursive;
}
.box1{
width:100%;
height:100%;
border:1rpx solid #0e0d0d;
padding-top: 30rpx;
padding-bottom: 30rpx;
}
.box2{
width:100%;
height:100%;
border:1rpx solid #0e0d0d;
padding-top: 30rpx;
padding-bottom: 30rpx;
}

.text-center{
text-align: center;
}
/*分割线样式*/
.divLine{
background: #E0E3DA;
width: 100%;
height: 5rpx;
}



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

微信小程序模拟车位选择功能(简陋版本) 的相关文章

随机推荐

  • PWN学习---1、基本漏洞-缓冲区溢出

    环境 Ubuntu12 04 32位 一 存在漏洞代码 vuln c include
  • p值小于0.05拒绝还是接受_计算p-值和第二类错误

    专栏里有一篇 两类错误弃真与取假 对显著性水平 P value 第二类错误 功效进行了解释 这里换种行文说 并给出具体计算例子 用来增加对这几个概念的认识和理解 首先我们要清楚我们手上只有一份容量为 的样本 实践中希望通过该份样本进行统计推
  • 老司机教你如何用Unity和Cardboard把3D游戏做成VR游戏

    原网址 随着Oculus宣布1月6日开启预售 2016年很可能成为VR游戏元年 但很多的调研显示 手游设备才是市场增长的关键 SuperData发布的报告显示 2016年全球VR游戏市场规模预计在51亿美元左右 消费者设备安装量在3890万
  • 你一定要知道的那些以太坊术语解释

    block 区块 包含交易 0或多个 父区块 parent hash及其他数据的数据包 在区块链中 除创世区块的每个区块都要包含其父区块的hash 整个区块链包含一个网络的所有交易历史 注意 有些基于区块链的加密货币自称 账本 而非 区块链
  • HashMap底层原理分析

    HashMap的实现原理在Jdk1 7之前底层实现是基于数组 链表的形式 即通过HashMap的key值进行Hash 然后对容量 默认16 负载因子 默认是0 75 进行取余获取到其桶的位置 比如某一个key的hash值是18 容量为为16
  • C语言if语句,for循环相关年月日应用

    文章目录 一 if双分支语句变成单分支语句 1 if单分支语句 2 if双分支语句 3 if双分支语句改成单分支语句 二 采用冒泡排序法对n个数据排序 编写n个元素数组 用冒泡排序法进行排序 三 输入一个年份 判断是不是闰年 1 满足两个条
  • 俞敏洪演讲:创业不需要有钱 只需想着挣钱

    各位朋友大家下午好 上午我坐下面我发现我跟郭凡生郭总很大不同 他认为他自己很聪明 而我恰恰认为自己不聪明 我呢认为自己也不一定笨 他认为他很有吸引力 确实是对三四十岁的中年人来说 郭总很有创业热情 因为这个年龄的人 能够用那样的语气语调 两
  • RabbitMQ(八)【高级 - 过期时间 TTL】

    八 RabbitMQ高级 过期时间 TTL 上一篇文章 SpringBoot案例 概述 过期时间 TTL 表示可以对消息设置预期的时间 在这个时间内都可以被消费者接收获取 过了之后消息将自动被删除 RabbitMQ可以对 消息和队列 设置
  • 技术博客?

    我认为技术博客是一个非常好的工具 能够帮助我们更好地学习和理解各种技术 同时还能够帮助我们建立自己的品牌和声誉 在我的博客中 我会分享各种最新的技术 开发工具 以及一些我在实际项目中的经验和教训 我的博客主题主要分为以下几个方面 1 前端开
  • 如何高效解决问题?

    前言 我相信很多人在生活中和工作中都会遇到大大小小的问题 每个人解决问题的效率和思维都是有差别的 那么怎么样才能高效解决问题呢 其实问题的产生 从现象到逻辑 考验着我们的知识储备 磨砺着能力的段位 训练着思维的灵活度 从现象到方法论 5W1
  • Elasticsearch学习系列之term和match查询 Elasticsearch查询模式

    Elasticsearch查询模式 一种是像传递URL参数一样去传递查询语句 被称为简单查询 GET library books search 查询index为library type为books的全部内容 GET library book
  • Bean的自动装配 Spring使用注解开发

    Bean的自动装配 自动装配是Spring满足bean依赖的一种方式 Spring会在上下文自动寻找 并自动给bean装配 1 在xml中显示的配置 2 在java中显示的配置 3 隐式 的自动装配bean 重要 测试 autowire b
  • GPT-3 模型

    GPT 3 Generative Pre training Transformer 3 是由 OpenAI 开发的一种大型语言生成模型 它可以用来进行文本生成 翻译 问答等任务 GPT 3 使用了 Transformer 架构 并在大量的网
  • day14-多线程01

    1 实现多线程 1 1简单了解多线程 理解 是指从软件或者硬件上实现多个线程并发执行的技术 具有多线程能力的计算机因有硬件支持而能够在同一时间执行多个线程 提升性能 1 2并发和并行 理解 并行 在同一时刻 有多个指令在多个CPU上同时执行
  • [4G/5G/6G专题基础-160]: BLER与MCS的关系、MCS表格的选择

    目录 第1章 什么是MCS 1 1 基本概念 1 2 三张不同的MCS表 1 3 MCS表的选择 1 4 MCS index的选择 第2章 什么是BLER 2 1 什么是比特误码率BER 2 2 什么是BLER 第3章 BLER与MCS的关
  • 机器学习——建筑能源得分预测

    前言 编码之前是了解我们试图解决的问题和可用的数据 在这个项目中 我们将使用公共可用的纽约市的建筑能源数据 目标是使用能源数据建立一个模型 来预测建筑物的Enerqy Star Score 能源之星分数 并解释结果以找出影响评分的因素 数据
  • 运维必学

    欢迎关注 全栈工程师修炼指南 专注 企业运维实践 网络安全 系统运维 应用开发 物联网实战 全栈文章 等知识分享 设为 星标 每天带你 基础入门 到 进阶实践 再到 放弃学习 作者主页 https www weiyigeek top 博客
  • 猫狗大战 python_猫狗大战

    这个项目我们要做一个识别猫狗的模型 这和上次的数字识别一样 也是运用深度学习 不过这次模型较为复杂 我们会用到迁移学习 站在巨人的肩膀上 借用大佬们已经训练好的模型来搭建我们自己的模型并让它做我们想做的事 安装要求Python3 Numpy
  • python深浅拷贝

    转自 https zhuanlan zhihu com p 258097244 只为记录 侵删 在讲深浅拷贝之前 想先讲一下 is 和 的区别 在进行对象是否相等比较的时候我们可以用 is 和 is 比较两个对象的引用是否相同 即 它们的i
  • 微信小程序模拟车位选择功能(简陋版本)

    功能 实现在线选车位功能 效果图 js文件 const app getApp Page data indicatorDots false autoplay false interval 5000 duration 1000 items va