uniapp——组件多颜色模块展示、气泡框

news/2024/5/4 19:34:14

一、自定义颜色:

样式

在这里插入图片描述

代码

<template><view class="content"><!-- 右上角 --><view class="coverStatus" :class="[itemClass, positionClass,cornerClass,sanJiaoCss,sanJiaoCss2]":style="dynamicStyle">{{title}}</view></view>
</template><script>export default {name: "cardTypeCard",props: {title: {type: String,default: '进行中',},cardType: {type: String,default: 'progress',},position: {type: String,default: 'right', // 默认值为 'right'},cornerStyle: { // 新增的 prop 控制圆角type: String,default: 'rightTop', // 默认右上角元素的圆角},sanJiao: {type: Boolean,default: false, // 默认右上角元素的小三角},sanJiao2: {type: Boolean,default: false, // 默认右上角元素的小三角},width: { // 新增的 prop 控制宽度type: String,default: '48rpx',},height: { // 新增的 prop 控制高度type: String,default: '20rpx',},fontSize: { // 新增的 prop 控制字体大小type: String,default: '14rpx',},},computed: {//定位positionClass() {return this.position === 'left' ? 'leftPosition' : 'rightPosition';},sanJiaoCss() {return this.sanJiao == true ? 'sanJiaoAct' : '';},sanJiaoCss2() {return this.sanJiao2 == true ? 'sanJiaoAct2' : '';},// 圆角样式cornerClass() { // 根据 cornerStyle 返回相应的圆角样式类switch (this.cornerStyle) {case 'rightTop':return 'rightDemo';case 'leftTop':return 'leftDemo';default:return 'allDemo';}},// 背景颜色itemClass() {let className;switch (this.cardType) {case 'progress':className = 'blueBg'break;case 'finish':className = 'greyBg'break;case 'enroll':className = 'pinkBg'break;case 'wait_upload':className = 'pinkBg'break;case 'wait_examine':className = 'greyBg'break;case 'passed':className = 'greyBg'break;case 'fail':className = 'redBg'break;}return className;},// 动态样式对象dynamicStyle() {return {width: this.width,height: this.height,fontSize: this.fontSize,};},},}
</script>
<style lang="scss" scoped>// 卡片颜色.coverStatus {color: #FFFFFF;display: flex;justify-content: center;align-items: center;position: absolute;top: 0;}.sanJiaoAct {}.sanJiaoAct::after {content: '';position: absolute;left: 10rpx;bottom: -8rpx;width: 0;height: 0;border-top: 6rpx solid var(--triangle-color);border-right: 4rpx solid transparent;border-bottom: 4rpx solid transparent;border-left: 4rpx solid transparent;}.sanJiaoAct2 {}.sanJiaoAct2::after {content: '';position: absolute;right: 10rpx;bottom: -8rpx;width: 0;height: 0;border-top: 6rpx solid var(--triangle-color);border-right: 4rpx solid transparent;border-bottom: 4rpx solid transparent;border-left: 4rpx solid transparent;}// 左上角定位.leftPosition {left: 0;}// 右上角定位.rightPosition {right: 0;}// 右上角圆角.rightDemo {border-radius: 0rpx 10rpx 0rpx 10rpx;}// 左上角圆角.leftDemo {// border-radius: 8rpx 0rpx 8rpx 0rpx;border-radius: 15rpx;}// 全部圆角.allDemo {border-radius: 15rpx;}//已报名颜色 、待上传.pinkBg {background: #F364B3;--triangle-color: #F364B3;}//进行中颜色.blueBg {background: #A4CBE8;--triangle-color: #A4CBE8;}//已截止、待审核、已完成颜色.greyBg {background-color: #898989;--triangle-color: #898989;}//已驳回颜色.redBg {background-color: #ff0000;--triangle-color: #ff0000;}
</style>

使用

父页面:

<cardTypeColor :cardType="data.task_status" :title="data.task_status_text" cornerStyle="allDemo" :sanJiao="true">
</cardTypeColor>
import cardTypeColor from '@/components/cardTypeColor/cardTypeColor.vue'

二、使用图片作为背景

样式

在这里插入图片描述在这里插入图片描述

代码

<template><view><view class="content" :class="[positionClass]"><!-- 右上角 --><block v-if="positionClass == 'rightPosition'"><image src="/static/images/index/pinkImg.png" mode="aspectFit" class="signImg"v-if="itemClass == 'pinkBg'"></image><image src="/static/images/index/blueImg.png" mode="aspectFit" class="signImg"v-if="itemClass == 'blueBg'"></image><image src="/static/images/index/greyImg.png" mode="aspectFit" class="signImg"v-if="itemClass == 'greyBg'"></image></block><!-- 左上角 --><block v-if="positionClass == 'leftPosition'"><image src="/static/images/index/pinkImg2.png" mode="aspectFit" class="signImg"v-if="itemClass == 'pinkBg'"></image><image src="/static/images/index/blueImg2.png" mode="aspectFit" class="signImg"v-if="itemClass == 'blueBg'"></image><image src="/static/images/index/greyImg2.png" mode="aspectFit" class="signImg"v-if="itemClass == 'greyBg'"></image></block><view class="coverStatus">{{title}}</view></view></view>
</template><script>export default {name: "cardTypeCard",props: {title: {type: String,default: '进行中',},cardType: {type: String,default: 'progress',},position: {type: String,default: 'right', // 默认值为 'right'},},computed: {//定位positionClass() {return this.position === 'left' ? 'leftPosition' : 'rightPosition';},// 背景颜色itemClass() {let className;switch (this.cardType) {case 'progress':className = 'blueBg'break;case 'finish':className = 'greyBg'break;case 'enroll':className = 'pinkBg'break;case 'wait_upload':className = 'pinkBg'break;case 'wait_examine':className = 'greyBg'break;case 'passed':className = 'greyBg'break;case 'fail':className = 'redBg'break;}return className;},},}
</script>
<style lang="scss" scoped>.content {position: absolute;top: 0;width: 50rpx;height: 32rpx;.signImg {position: absolute;left: 0;top: 0;width: 100%;height: 100%;}.coverStatus {position: absolute;left: 1rpx;top: 2rpx;z-index: 4;width: 100%;height: 100%;color: #FFFFFF;}}// 左上角定位.leftPosition {left: 0;}// 右上角定位.rightPosition {right: 0;}
</style>

使用

父页面:

<cardTypeColor :cardType="data.task_status" :title="data.task_status_text" position="left">
</cardTypeColor>
import cardTypeColor from '@/components/cardTypeColor/cardTypeColor.vue'

http://www.mrgr.cn/p/11041562

相关文章

云南旅游攻略

丽江景点 Day1 ——丽江古城 丽江古城是一个充满文化和历史的地方&#xff0c;拥有丰富的景点和活动。 推荐游玩&#xff1a; 参观标志性建筑&#xff1a;大水车是丽江古城的标志性建筑&#xff0c;可以在这里拍照留念。 探索中心广场&#xff1a;四方街是古城的中心&#xf…

EPSON晶振应用到汽车电子产品上的型号有哪些?

EPSON品牌应用在汽车电子产品上的晶振.&#xff0c;当然也少不了晶振可能最熟悉的就是32.768K系列和26MHZGPS晶振用的多。 在汽车里每一个部件都应有的不一样,甚至多次使用到同一尺寸,不同频率的晶振.爱普生品牌晶振型号就有几百种,很容易混淆,要想记住汽车里所应用到的不是件…

架构师系列-MYSQL调优(六)- 排序优化

MySQL中的两种排序方式 索引排序: 通过有序索引顺序扫描直接返回有序数据额外排序: 对返回的数据进行文件排序ORDER BY优化的核心原则: 尽量减少额外的排序&#xff0c;通过索引直接返回有序数据。 索引排序 因为索引的结构是B树&#xff0c;索引中的数据是按照一定顺序进行…

19--Scarpy05:增量式爬虫、分布式爬虫

19--Scarpy05--增量式爬虫、分布式爬虫 一. 增量式爬虫 顾名思义:可以对网站进行反复抓取,然后发现新东西了就保存起来,遇到了以前抓取过的内容就自动过滤掉即可 其核心思想:去重,并且可以反复去重。随时运行一下,将不同的数据保存出来,相同的数据去除掉(不保存)即可 增…

系统架构设计精华知识

数据流风格&#xff1a;适合于分阶段做数据处理&#xff0c;交互性差&#xff0c;包括&#xff1a;批处理序列、管理过滤器。调用/返回风格&#xff1a;一般系统都要用到&#xff0c;包括&#xff1a;主程序/子程序&#xff0c;面向对象&#xff0c;层次结构&#xff08;分层越…

C++从入门到出门

C 概述 c 融合了3中不同的编程方式&#xff1a; C语言代表的过程性语言C 在C语言基础上添加的类代表的面向对象语言C 模板支持的泛型编程 1、在c语言中头文件使用扩展名.h,将其作为一种通过名称标识文件类型的简单方式。但是c得用法改变了&#xff0c;c头文件没有扩展名。但是…

The_Maya_Society

突然发现自己做了一些逆向题都没有写笔记 今天&#xff0c;发现这道题有意思 1.解压文件 三个文件The Maya Society.html&#xff0c;maim.cc,maya.png 当时我看到这个题的时候&#xff0c;我以为是不是会是js逆向 看来是我蠢了 这三个文件&#xff0c;main.css和maya.png这两…

循序渐进丨使用 Python 向 MogDB 数据库批量操作数据的方法

当我们有时候需要向数据库里批量插入数据&#xff0c;或者批量导出数据时&#xff0c;除了使用传统的gsql copy命令&#xff0c;也可以通过Python的驱动psycopg2进行批量操作。本文介绍了使用psycopg2里的executemany、copy_from、copy_to、copy_expert等方式来批量操作 MogDB …

2024 年 GPLT 团体程序设计天梯赛(个人感受 + 题解)

前言 去年第一次参加天梯赛,拿了 \(158\) 分,没有个人奖,团队也差点打铁(最后应该是递补省三)。 今年天梯赛拿了 \(224\) 分,幸运地拿了个人国二。这次担任的队长,团队也拿到了国二,感谢队友们的努力付出。 今年好像很多人断网,不过没有发生在我身上哈哈哈(也许是因为…

2024年GPLT团体程序设计天梯赛(个人感受 + 题解)

前言 去年第一次参加天梯赛,拿了 \(158\) 分,没有个人奖,团队也差点打铁(最后应该是递补省三)。 今年天梯赛拿了 \(224\) 分,幸运地拿了个人国二。这次担任的队长,团队也拿到了国二,感谢队友们的努力付出。 今年好像很多人断网,不过没有发生在我身上哈哈哈(也许是因为…

【论文笔记】设计一款针对情境障碍的视力减弱型文件浏览应用程序(下)

论文关键点 ps&#xff1a;这篇文章可以学习的内容比较多&#xff0c;笔记内容也比较丰富因此本次论文笔记会分为上下期 提出的问题&#xff1a; 不方便视觉障碍的情况下(通勤、走路、眼睛疲劳也算)会用text-speech 系统,但是这种听觉是线性的,不适合skim 推导出了融合听觉和…

基于Google Gemini 探索大语言模型在医学领域应用评估和前景

概述 近年来&#xff0c;大规模语言模型&#xff08;LLM&#xff09;在理解和生成人类语言方面取得了显著的飞跃&#xff0c;这些进步不仅推动了语言学和计算机编程的发展&#xff0c;还为多个领域带来了创新的突破。特别是模型如GPT-3和PaLM&#xff0c;它们通过吸收海量文本…

vue封装请求、合并js、合并多个js

vue封装请求、合并js、合并多个js 作为一个后端开发&#xff0c;写前端时发现&#xff0c;每次导入api接口都会有一堆代码&#xff0c;像下面这样&#xff1a; import {footprintList, footprintDelete} from /api/userApi.js import {addressList} from /api/userApi.js impor…

四月二十五日 Android studio关于使用sqlite数据库

昨天早上六点就起来要去排队考科目一,实在是困得很,昨天晚上早早就睡了,其实解释为什么昨天没有博客。 一个好消息就是我顺利的考过了,刚到90,还是很惊险。 还是说一下最近在干什么,之前是一直用的MySQL连接我的Android studio,最近在学习使用它自带的一个sqlite数据库,…

双向循环链表的插入和删除

数据结构 线性表--双向循环链表操作 ~~**注意!!!**怎么说,今天(2024.4.24)找一个小小的运行bug(没有报错)找了非常之久,明天继续把这些代码补齐,啊啊啊,但是感谢还是把这个bug找出来(这段话我不会删的)~~插入 1)头插/******************************************…

前端零代码开发实践:页面嵌套+逻辑连线0开发扩展组件,实现切换开关控制扇叶转动。能无代码封装扩展组件,有别于常规的web组态或低代码平台

前言&#xff1a; 官网:http://www.uiotos.net/ 什么是 UIOTOS&#xff1f; 这是一款拥有独创专利技术的前端零代码工具&#xff0c;专注于解决前端界面开发定制难题&#xff0c;原型即应用&#xff01;具有页面嵌套、属性继承、节点连线等全新特性&#xff0c;学习门槛低…

Ubuntu Pycharm安装

下载PyCharm&#xff0c;https://www.jetbrains.com/pycharm/download/?sectionlinux 然后按照下图执行安装&#xff1a; 安装的时候可能出现的问题&#xff1a; 问题1&#xff1a;No JDK found. Please validate either PYCHARM_JDK, JDK_HOME or JAVA_HOME environment var…

div探索1

当我在div里加了文本内容,嗯?好家伙所?以你是根据文本行高,定点在内容的顶部边缘,然后往下延伸的????想在顶部写一个水平导航来着,结果文字标签的垂直方向怎么也不能居中。 试验了一下,空的div在inline-block的时候是一字排开的,外在显示效果是长板效应,谁高谁撑开…

为什么要使用分账系统

不少现实生活中的场景都可能需要结合分账这一模式来实现结算,这篇文章里,作者就简单讲述了分账适用的场景,以及平台型企业选择分账系统的5个问题,一起来看看吧,或许会帮助你更了解分账系统的重要性。举个例子:在传统收单中,客户消费十块,这十块就直接结算给商家,这就结…

MSE实现全链路灰度实践

技术架构包括以下基础设施和云服务&#xff1a; 1个地域&#xff1a;ACK集群、微服务应用、MSE实例均部署在同一地域下。 1个专有网络VPC&#xff1a;形成云上私有网络&#xff0c;确保核心云资源的网络环境&#xff0c;如容器服务ACK、微服务引擎MSE。 ACK集群&#xff1a;简单…