微信小程序 简单优惠卷页面设计

index.wxml

<view style="margin: 0.5rem;"><view class="points">我的积分:{{integralInfo}}</view></view><view><view wx:if="{{couponList.length>0}}" wx:for="{{couponList}}" wx:key="{{item.id}}"><view class="tickets"><view class="l-tickets.usable"><view class="discounts"><text class="symbol">¥</text><text class="quantity">{{item.couponValue}}</text></view><view class="rule"><text class="rule-text">{{item.useSill}}</text></view></view><view class="r-tickets"><van-row><van-col span="22"><view class="coupon-left"><view class="coupon-name"><text class="coupon-name-text {{currentTab ==0 ? 'usable' : currentTab ==1 ? 'used' : 'expired'}}">{{item.couponName}}</text></view><view class="coupon-Instructions"><text class="coupon-Instructions-text {{currentTab ==0 ? 'usable' : currentTab ==1 ? 'used' : 'expired'}}">{{item.couponExplain}}</text></view><view class="coupon-validity"><text class="coupon-validity-text {{currentTab ==0 ? 'usable' : currentTab ==1 ? 'used' : 'expired'}}">有效日期:{{item.deadlineDate}}</text></view></view></van-col><van-col span="2"><view bindtap="exchangeCoupon" data-info="{{item}}" class="lmmediate-use.usable">立即兑换</view></van-col></van-row></view></view></view><view class="empty" wx:if="{{couponList.length==0}}"><van-empty description="暂无优惠卷!" /><!-- <van-empty class="custom-image" image="/pages/image/userCenter/coupon.png" description="暂无优惠卷!" /> --></view>
</view>
<van-dialog style="text-align: center;" use-slot title="{{popupData.codename}}" show="{{ show }}" bind:close="onClose"><image style="width: 15rem;height: 15rem;" src="{{popupData.codeimage}}" /><view style="text-align: center;font-size: 0.95rem;font-weight: 700;margin-bottom: 0.5rem;letter-spacing: 0.05rem;margin-top: -1rem;">{{popupData.code}}</view>
</van-dialog>

index.wxss

.topBar {margin-top: -0.5rem;display: flex;/* box-shadow: 0px 0px 5px 2px rgba(0, 0, 0, 0.5); *//* position: fixed; */top: 0;left: 0;width: 100%;z-index: 9999;background-color: white;
}.classScroll {width: 375px;padding-left: 2px;
}.tab-bar {display: flex;justify-content: flex-start;/* 修改为左对齐 */width: fit-content;/* 修改为适应内容的宽度 */
}.tab-item {flex: 1 0 auto;display: inline-flex;flex-direction: column;align-items: center;justify-content: center;padding-left: 5px;padding-right: 5px;line-height: 40px;color: #888888;}.tab-item.active {/* margin-left: 0.5rem; */height: 1.5rem;width: 3rem;color: black;border-radius: 5px;font-weight: 500;font-weight: bolder;
}.tab-item.index {/* margin-left: 0.5rem; */height: 1.5rem;width: 3rem;color: rgb(156, 148, 148);border-radius: 5px;font-weight: bolder;
}.teacher .tab-item.active1 {/* margin-left: 0.5rem; */height: 1.5rem;width: 2rem;color: #56c5a1;/* border-radius: 5px; *//* background-color: #56c5a1; */font-weight: bolder;}.text-title.active1 {height: 2rem;border-bottom-color: #56c5a1;border-bottom-style: solid;border-bottom-width: 6rpx;
}.points {font-size: 0.95rem;font-weight: 800;
}.convert {font-size: 0.65rem;float: right;margin-right: 0.5rem;margin-top: 0.5rem;background-color: #2ea37e;color: white;padding: 0.25rem 0.25rem;border-radius: 5px;font-weight: bolder;letter-spacing: 0.15rem;
}.tickets {display: flex;padding: 20rpx;width: 100%;height: 230rpx;box-sizing: border-box;
}.l-tickets.usable {width: 25%;position: relative;background: radial-gradient(circle at right top, transparent 16rpx, #ce0f0f 0, #c9380c 100%) right top / 100% 50% no-repeat,radial-gradient(circle at right bottom, transparent 16rpx, #ce0f0f 0, #c9380c 100%) right bottom / 100% 50% no-repeat;filter: drop-shadow(-3px 0 3px rgba(0, 0, 0, .3));
}.l-tickets.usable::after {content: '';position: absolute;height: 100%;width: 8rpx;top: 0;left: -8rpx;background: radial-gradient(circle at left center, transparent 8rpx, #ce0f0f 0) left center / 8rpx 20rpx;
}.l-tickets.used {width: 25%;position: relative;background: radial-gradient(circle at right top, transparent 16rpx, #835243 0, #ac644e 100%) right top / 100% 50% no-repeat,radial-gradient(circle at right bottom, transparent 16rpx, #835243 0, #ac644e 100%) right bottom / 100% 50% no-repeat;filter: drop-shadow(-3px 0 3px rgba(0, 0, 0, .3));
}.l-tickets.used::after {content: '';position: absolute;height: 100%;width: 8rpx;top: 0;left: -8rpx;background: radial-gradient(circle at left center, transparent 8rpx, #ac644e 0) left center / 8rpx 20rpx;
}.l-tickets.expired {width: 25%;position: relative;background: radial-gradient(circle at right top, transparent 16rpx, #999292 0, #817a7a 100%) right top / 100% 50% no-repeat,radial-gradient(circle at right bottom, transparent 16rpx, #999292 0, #817a7a 100%) right bottom / 100% 50% no-repeat;filter: drop-shadow(-3px 0 3px rgba(0, 0, 0, .3));
}.l-tickets.expired::after {content: '';position: absolute;height: 100%;width: 8rpx;top: 0;left: -8rpx;background: radial-gradient(circle at left center, transparent 8rpx, #817a7a 0) left center / 8rpx 20rpx;
}.r-tickets {flex: 1;position: relative;background: radial-gradient(circle at left top, transparent 16rpx, #fdfcfb 0, #fdfcfb 100%) right top / 100% 50% no-repeat,radial-gradient(circle at left bottom, transparent 16rpx, #fdfcfb 0, #fdfcfb 100%) right bottom / 100% 50% no-repeat;filter: drop-shadow(3px 0 3px rgba(0, 0, 0, .3));
}.r-tickets::before {content: '';width: 1rpx;background: linear-gradient(to top, #fff 0%, #fff 50%, transparent 50%) top left / 1rpx 20rpx repeat-y;position: absolute;left: 0;top: 16rpx;bottom: 16rpx;
}.r-tickets::after {content: '';position: absolute;height: 100%;width: 8rpx;top: 0;right: -8rpx;background: radial-gradient(circle at right center, transparent 8rpx, #fdfcfb 0) right center / 8rpx 20rpx;
}.discounts {color: white;text-align: center;margin-top: 1.0rem;
}.symbol {font-size: 1.25rem;
}.quantity {font-size: 1.75rem;
}.rule {margin-top: 0.5rem;text-align: center;color: white;
}.rule-text {font-size: 0.65rem;
}.coupon-left {/* width: 100%; *//* height: 190rpx; */margin-left: 20rpx;padding-right: 10rpx;border-right-color: #79726f;border-right-style: solid;border-right-width: 2rpx;border-right-style: dashed;
}.coupon-name {margin-top: 10rpx;font-weight: 1000;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 1;overflow: hidden;text-overflow: ellipsis;
}.coupon-Instructions {margin-top: 0.5rem;height: 70rpx;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 3;overflow: hidden;text-overflow: ellipsis;
}.coupon-validity {margin-top: 0.5rem;
}/* 立即使用 */
.coupon-name-text.usable {font-size: 0.85rem;color: black;
}.coupon-Instructions-text.usable {font-size: 0.80rem;color: black;
}.coupon-validity-text.usable {font-size: 0.80rem;color: rgb(90, 81, 81);
}/* 已使用 */
.coupon-name-text.used {font-size: 0.85rem;color: #ac644e;
}.coupon-Instructions-text.used {font-size: 0.80rem;color: #ac644e;
}.coupon-validity-text.used {font-size: 0.80rem;color: #ac644e;
}/* 已过期 */
.coupon-name-text.expired {font-size: 0.85rem;color: #817a7a;
}.coupon-Instructions-text.expired {font-size: 0.80rem;color: #817a7a;
}.coupon-validity-text.expired {font-size: 0.80rem;color: #817a7a;
}.lmmediate-use.usable {color: tomato;margin-top: 20rpx;display: flex;text-align: center;justify-content: center;
}.lmmediate-use.used {color: #ac644e;margin-top: 35rpx;display: flex;text-align: center;justify-content: center;
}.lmmediate-use.expired {color: #817a7a;margin-top: 35rpx;display: flex;text-align: center;justify-content: center;
}/* .empty .van-empty__image__img {height: 8rem;width: 8rem;
} *//* .empty .van-empty__description {color: #969799;font-size: 20px;line-height: 20px;margin-top: 16px;padding: 0 60px;
} */

index.js

// pages/user/pointExchange/pointExchange.js
Page({/*** 页面的初始数据*/data: {currentTab: 0,show: false,integralInfo:0,couponList: [{ids: 0,couponValue: 299,useSill: "满6500元可用",couponName: "手机回收平台加价卷",couponExplain: "用户回收手机可使用此卷",deadlineDate: "兑换起1月内",timeLimit: 1,},{ids: 1,couponValue: 129,useSill: "无使用门槛",couponName: "笔记本回收平台加价卷",couponExplain: "用户回收笔记本可使用此卷",deadlineDate: "兑换起3个月内",timeLimit:3},]},/*** 生命周期函数--监听页面加载*/onLoad(options) {// this.getMyIntegralInfo()},exchangeCoupon(e){var that=thisconsole.log("====",e.currentTarget.dataset.info)return},/*** 生命周期函数--监听页面初次渲染完成*/onReady() {},/*** 生命周期函数--监听页面显示*/onShow() {},/*** 生命周期函数--监听页面隐藏*/onHide() {},/*** 生命周期函数--监听页面卸载*/onUnload() {},/*** 页面相关事件处理函数--监听用户下拉动作*/onPullDownRefresh() {},/*** 页面上拉触底事件的处理函数*/onReachBottom() {},/*** 用户点击右上角分享*/onShareAppMessage() {}
})

页面效果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/668834.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL管理的常用工具(mysql,mysqlbinlog,mysqladmin,mysqlshow)

MySQL管理 系统数据库 数据库含义mysql存储MySQL服务器正常运行所需要的各种信息 &#xff08;时区、主从、用 户、权限等&#xff09;information_schema提供了访问数据库元数据的各种表和视图&#xff0c;包含数据库、表、字段类 型及访问权限等performance_schema为MySQL服…

SRS视频服务器使用记录

SRS是一个开源的&#xff08;MIT协议&#xff09;简单高效的实时视频服务器&#xff0c;支持RTMP、WebRTC、HLS、HTTP-FLV、SRT、MPEG-DASH和GB28181等协议。 SRS媒体服务器和FFmpeg、OBS、VLC、 WebRTC等客户端配合使用&#xff0c;提供流的接收和分发的能力&#xff0c;是一个…

【SpringBoot】SpringBoot的web开发

&#x1f4dd;个人主页&#xff1a;五敷有你 &#x1f525;系列专栏&#xff1a;SpringBoot ⛺️稳重求进&#xff0c;晒太阳 Wbe开发 使用Springboot 1&#xff09;、创建SpringBoot应用&#xff0c;选中我们需要的模块&#xff1b; 2&#xff09;、SpringBoot已经默…

车载电子电器架构 —— IP地址获取策略

车载电子电器架构 —— IP地址获取策略 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自…

【UE 材质】球形遮罩材质

效果 步骤 1. 新建一个材质&#xff0c;这里命名为“M_Mask” 打开“M_Mask”&#xff0c;混合模式设置为已遮罩&#xff0c;勾选双面显示 在材质图表中添加如下节点 此时我们将一个物体赋予材质“M_Mask”并放置在世界坐标原点&#xff0c;可以看到如下效果 2. 如果我们希望能…

【激光SLAM】里程计运动模型及标定

目录 里程计模型两轮差分底盘的运动学模型优点差分模型 三轮全向底盘的运动学模型优点全向模型 航迹推算(Dead Reckoning) 里程计标定线性最小二乘的基本原理最小二乘的直线拟合最小二乘在里程计标定中的应用方法 里程计模型 里程计相关介绍 两轮差分底盘的运动学模型 优点 …

无向图-树的重心-DFS求解

思路&#xff1a; 本题的本质是树的dfs&#xff0c; 每次dfs可以确定以u为重心的最大连通块的节点数&#xff0c;并且更新一下ans。 也就是说&#xff0c;dfs并不直接返回答案&#xff0c;而是在每次更新中迭代一次答案。 这样的套路会经常用到&#xff0c;在 树的dfs 题目中…

2024年MacBook上实用软件

Mac软件-mac软件下载-mac软件大全-MacZMacz下载是一个专业的Mac苹果电脑软件下载网站&#xff0c;提供专业的Mac软件、Mac游戏、精品插件以及各类海量素材下载&#xff0c;mac下载网站有Mac平台上常用好用的软件&#xff0c;有时下热门好玩的Mac游戏&#xff0c;还有各类PS、AE…

CentOS 7中搭建NFS文件共享服务器的完整步骤

CentOS 7中搭建NFS文件共享服务器的完整步骤 要求&#xff1a;实现镜像文件共享&#xff0c;并基于挂载的共享目录配置yum源。 系统环境&#xff1a; 服务器&#xff1a;172.20.26.167-CentOS7.6 客户端&#xff1a;172.20.26.198-CentOS7.6 1、在服务器和客户端上&#x…

从奥迪Quattro到碧然德:揭秘技术品牌成功打造与推广的秘诀

在当前全球化和信息化快速发展的背景下&#xff0c;技术品牌的打造不仅是企业竞争力提升的重要途径&#xff0c;也是企业实现长远发展的基石。通过深入剖析&#xff0c;我们认识到&#xff0c;技术品牌的建设并非一蹴而就的过程&#xff0c;而是需要企业准确把握市场趋势&#…

Spring Boot + flowable 快速实现工作流

背景 使用flowable自带的flowable-ui制作流程图 使用springboot开发流程使用的接口完成流程的业务功能 文章来源&#xff1a;https://blog.csdn.net/zhan107876/article/details/120815560 一、flowable-ui部署运行 flowable-6.6.0 运行 官方demo 参考文档&#xff1a; htt…

彻底学会系列:一、机器学习之线性回归(一)

1.基本概念(basic concept) 线性回归&#xff1a; 有监督学习的一种算法。主要关注多个因变量和一个目标变量之间的关系。 因变量&#xff1a; 影响目标变量的因素&#xff1a; X 1 , X 2 . . . X_1, X_2... X1​,X2​... &#xff0c;连续值或离散值。 目标变量&#xff1a; …

JAVA毕业设计126—基于Java+Springboot+Vue的二手交易商城管理系统(源代码+数据库)

毕设所有选题&#xff1a; https://blog.csdn.net/2303_76227485/article/details/131104075 基于JavaSpringbootVue的二手交易商城管理系统(源代码数据库)126 一、系统介绍 本项目前后端分离&#xff0c;本系统分为管理员、用户两种角色 1、用户&#xff1a; 注册、登录、…

docker更换镜像源

添加的镜像源 {"registry-mirrors": ["https://registry.cn-hangzhou.aliyuncs.com", "https://reg-mirror.qiniu.com/", "https://docker.mirrors.ustc.edu.cn"] }docker更换镜像源之后一定要重启守卫 systemctl daemon-reloaddock…

docker-学习-5

docker-学习第五天 docker-学习第五天1. 昨天的练习回顾1.1. 练习11.2. 练习2 2. 命令2.1. 看镜像的详细信息 3. Dockerfile指令3.1. 常见的指令3.2. ENTRYPOINT和CMD的区别3.3. RUN中的set指令 4. 镜像的原理4.1. 为什么 Docker 镜像要采用这种分层结构呢&#xff1f;4.2. doc…

JavaScript ATM取款机

①&#xff1a;循环的时候&#xff0c;需要反复提示输入框&#xff0c;所以提示框写到循环里面 ②&#xff1a;退出的条件是用户输入了 4&#xff0c;如果是4&#xff0c;则结束循环&#xff0c;不在弹窗 ③&#xff1a;提前准备一个金额预先存储一个数额 ④&#xff1a;取钱…

Servlet服务器端的小程序

文章目录 Servlet概述快速入门Servlet 中方法的生命周期Servlet 的体系结构GenericServletHttpServlet Servlet 3.0以后Servlet 相关配置 案例Servlet xml配置web.xmlMyServlet Servlet 注解配置 Servlet 概述 Servlet applet 运行在服务器端的小程序&#xff0c;Servlet 就是…

挑战杯 python+opencv+机器学习车牌识别

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 基于机器学习的车牌识别系统 &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&#xff1a;4分工作量&#xff1a;4分创新点&#xff1a;3分 该项目较为新颖&#xff0c;适…

【MySQL】在 Centos7 环境安装 MySQL -- 详细完整教程

说明&#xff1a; 安装与卸载中&#xff0c;用户全部切换成为 root&#xff0c;一旦安装&#xff0c;普通用户就能使用。 一、卸载内置环境 1、卸载不要的环境 [rootVM-8-5-centos ~]$ ps ajx | grep mariadb # 先检查是否有mariadb存在 13134 14844 14843 13134 pts/0 14843…

NLP_Bag-Of-Words(词袋模型)

文章目录 词袋模型用词袋模型计算文本相似度1.构建实验语料库2.给句子分词3.创建词汇表4.生成词袋表示5.计算余弦相似度6.可视化余弦相似度 词袋模型小结 词袋模型 词袋模型是一种简单的文本表示方法&#xff0c;也是自然语言处理的一个经典模型。它将文本中的词看作一个个独立…