element -ui 横向时间轴,时间轴悬浮对应日期

2024-04-25 11:36

本文主要是介绍element -ui 横向时间轴,时间轴悬浮对应日期,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

 <el-tabs v-model="activeName" type="card" @tab-click="handleClick"><el-tab-pane label="周期性巡视" name="zqxxs" key="zqxxs" class="scrollable-tab-pane"><div v-if="timelineList == ''"style="margin: auto;display: flex; align-items: center;justify-content: center;height: 200px;"><p style="color: #32bfb0;">当前没有周期性巡视数据</p></div><div class="timelineProcessBox" v-for="(item, index) in timelineList" :key="index"><div style="margin-right: 20px;color: #797979;">{{ index + 1 }}</div><div class="button1" @click="handleItemClick(activities[0])">{{ activities[0].lineName }}</div><el-timeline class="timeline"><el-timeline-item class="lineitem" placement="top":class="activity.done && item[activityIndex + 1].done ? 'el-timeline-item-active' : 'inactive'"v-for="(activity, activityIndex) in item" :key="activityIndex" :hide-timestamp="true":timestamp="activity.time"><el-tooltip slot="dot" class="item" effect="dark" :disabled="!activity.done":content="activity.time" placement="top-start"><div class="dot"></div></el-tooltip><span style="display: flex; flex-direction: column"><span style="margin: 5px 0; font-size: 15px;margin-left: 1rem;">{{ activity.content }}</span></span></el-timeline-item></el-timeline></div></el-tab-pane><el-tab-pane label="临时性巡视" name="second" key="second" class="scrollable-tab-pane"><div v-if="timelineList1 == ''"style="margin: auto;display: flex; align-items: center;justify-content: center;height: 200px;"><p style="color: #32bfb0;">当前没有临时性巡视数据</p></div><div class="timelineProcessBox" v-for="(item, index) in timelineList1" :key="index"><div style="margin-right: 20px;color: #797979;">{{ index + 1 }}</div><div class="button1" @click="handleItemClick(activities[0])">{{ activities[0].lineName }}</div><el-timeline class="timeline"><el-timeline-item class="lineitem" placement="top":class="activity.done && item[activityIndex + 1].done ? 'el-timeline-item-active' : 'inactive'"v-for="(activity, activityIndex) in item" :key="activityIndex" :hide-timestamp="true":timestamp="activity.time"><el-tooltip slot="dot" class="item" effect="dark" :disabled="!activity.done":content="activity.time" placement="top-start"><div class="dot"></div></el-tooltip><span style="display: flex; flex-direction: column"><span style="margin: 5px 0; font-size: 15px;margin-left: 1rem;">{{ activity.content }}</span></span></el-timeline-item></el-timeline></div></el-tab-pane></el-tabs>

data:

const activities = [{content: '',time: '',done: false,id: '',lineId: '',lineName: '',planId: '',},{content: '计划开始时间',time: '',done: false,},{content: '结果编制时间',time: '',done: false,},{content: '结果编制时间',time: '',done: false,},
]

methods

async handleClick(tab, event) {if (tab.label == '周期性巡视') {this.timelineList = [];const { data: gmData } = await xsjcgz({ tourType: "周期性巡视" });this.zqxxsList = gmData.data;this.zqxxsList.forEach(item => {let list = this.activitiesconst { resultRedactTime, planEndTime, planStartTime, planPublishTime } = item.plan;list[0].id = item.id;list[0].lineId = item.lineId;list[0].lineName = item.lineName;list[0].planId = item.planId;if (planPublishTime) {list[0].time = planPublishTime;list[0].done = true;}if (planStartTime) {list[1].time = planStartTimelist[1].done = true}if (planEndTime) {list[2].time = planEndTimelist[2].done = true}if (resultRedactTime) {// console.log(resultRedactTime, "resultRedactTime")list[3].time = resultRedactTimelist[3].done = true}this.timelineList.push(list)});}else if (tab.label == '临时性巡视') {this.timelineList1 = [];const { data: gmData } = await xsjcgz({ tourType: "临时性巡视" });this.zqxxsList = gmData.data;this.zqxxsList.forEach(item => {let list = this.activitiesconst { resultRedactTime, planEndTime, planStartTime, planPublishTime } = item.plan;list[0].id = item.id;list[0].lineId = item.lineId;list[0].lineName = item.lineName;list[0].planId = item.planId;if (planPublishTime) {list[0].time = planPublishTime;list[0].done = true;}if (planStartTime) {list[1].time = planStartTimelist[1].done = true}if (planEndTime) {list[2].time = planEndTimelist[2].done = true}if (resultRedactTime) {console.log(resultRedactTime, "resultRedactTime")list[3].time = resultRedactTimelist[3].done = true}this.timelineList1.push(list)});// console.log(this.timelineList, " this.timelineList")}},

style

<style lang="scss" scoped>
.scrollable-tab-pane {height: 300px;/* 设置固定高度 */overflow-y: auto;/* 垂直滚动条 */
}.timelineProcessBox {width: 64rem;height: 50px;border: 1px solid #60d6cd;// background: rgba($color: #3bcdc2, $alpha: 0.3);background: #eff8f8;border-radius: 6px;margin-bottom: 20px;padding: 20px;box-sizing: content-box;display: flex;align-items: center;.button1 {display: flex;align-items: center;justify-content: center;color: #0e8ca1;font-weight: bold;font-size: 18px;border: 1px solid #666;width: 120px;height: 40px;border-radius: 5px;}.timeline {display: flex;flex: 1;margin: 40px auto;.lineitem {transform: translateX(50%);width: 22%;}}
}//圆点样式
.dot {border-bottom: 4px solid #3bcdc2 !important;background: #fff;width: 11px;height: 11px;border-radius: 50%;border: 4px solid #3bcdc2;
}// 流程线条样式
::v-deep .el-timeline-item__tail {border-left: none !important;border-top: 4px solid #e4e7ed !important;width: 100% !important;position: absolute !important;top: 0px;
}::v-deep .el-timeline-item__wrapper {padding-left: 0;position: absolute !important;top: 20px !important;transform: translateX(-50%) !important;text-align: center !important;
}::v-deep .el-timeline-item__timestamp {font-size: 14px;
}::v-deep .el-timeline-item__dot {margin-top: -10px;
}.el-timeline-item-active {::v-deep .el-timeline-item__node {background-color: #06b6a9 !important;}::v-deep .el-timeline-item__tail {border-color: #06b6a9 !important;}// &:last-child {//   ::v-deep .el-timeline-item__tail {//     border-color: #e4e7ed !important;//   }// }}//选项卡右侧
::v-deep .el-tabs--card>.el-tabs__header .el-tabs__nav {float: right;
}// 有active样式的下一个li
.el-timeline-item-active+li {::v-deep .el-timeline-item__node {background-color: "#000";}}
</style>
<style lang="scss" scoped>
.el-dialog3 .el-dialog__header {/* display: none; */pointer-events: fill;
}.el-dialog3 .el-dialog {height: 80% !important;overflow: auto;
}.tubiao {overflow-y: auto;width: 1820px;height: 61rem;/* 设置一个固定的高度 */margin: auto;
}.list-title {padding: 20px 0 20px 0;
}.el-col1 {margin-left: 50px;
}.left_div2 {height: 28rem;
}.timeaxis {width: 800px;height: 200px;margin-top: 30px;
}.box {float: left;width: 180px;
}.circular {border: 2px solid #67c23a;width: 10px;height: 10px;border-radius: 10px;background: white;margin: auto;margin-bottom: -4px;position: relative;top: -8px;left: 85px;
}.item {border-bottom: 1px solid #409eff;position: relative;.left {position: absolute;left: 55px;top: -25px;}.center {position: absolute;left: 165px;top: -26px;}
}.item2 {position: relative;.bottom {position: absolute;left: 75px;top: 0px;}
}
</style>

这篇关于element -ui 横向时间轴,时间轴悬浮对应日期的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/934569

相关文章

MySQL 横向衍生表(Lateral Derived Tables)的实现

《MySQL横向衍生表(LateralDerivedTables)的实现》横向衍生表适用于在需要通过子查询获取中间结果集的场景,相对于普通衍生表,横向衍生表可以引用在其之前出现过的表名,本文就来... 目录一、横向衍生表用法示例1.1 用法示例1.2 使用建议前面我们介绍过mysql中的衍生表(From子句

Java日期类详解(最新推荐)

《Java日期类详解(最新推荐)》早期版本主要使用java.util.Date、java.util.Calendar等类,Java8及以后引入了新的日期和时间API(JSR310),包含在ja... 目录旧的日期时间API新的日期时间 API(Java 8+)获取时间戳时间计算与其他日期时间类型的转换Dur

VS配置好Qt环境之后但无法打开ui界面的问题解决

《VS配置好Qt环境之后但无法打开ui界面的问题解决》本文主要介绍了VS配置好Qt环境之后但无法打开ui界面的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目UKeLvb录找到Qt安装目录中designer.UKeLvBexe的路径找到vs中的解决方案资源

mybatis的mapper对应的xml写法及配置详解

《mybatis的mapper对应的xml写法及配置详解》这篇文章给大家介绍mybatis的mapper对应的xml写法及配置详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录前置mapper 对应 XML 基础配置mapper 对应 xml 复杂配置Mapper 中的相

QT6中绘制UI的两种方法详解与示例代码

《QT6中绘制UI的两种方法详解与示例代码》Qt6提供了两种主要的UI绘制技术:​​QML(QtMeta-ObjectLanguage)​​和​​C++Widgets​​,这两种技术各有优势,适用于不... 目录一、QML 技术详解1.1 QML 简介1.2 QML 的核心概念1.3 QML 示例:简单按钮

Python日期和时间完全指南与实战

《Python日期和时间完全指南与实战》在软件开发领域,‌日期时间处理‌是贯穿系统设计全生命周期的重要基础能力,本文将深入解析Python日期时间的‌七大核心模块‌,通过‌企业级代码案例‌揭示最佳实践... 目录一、背景与核心价值二、核心模块详解与实战2.1 datetime模块四剑客2.2 时区处理黄金法

Java进行日期解析与格式化的实现代码

《Java进行日期解析与格式化的实现代码》使用Java搭配ApacheCommonsLang3和Natty库,可以实现灵活高效的日期解析与格式化,本文将通过相关示例为大家讲讲具体的实践操作,需要的可以... 目录一、背景二、依赖介绍1. Apache Commons Lang32. Natty三、核心实现代

在 PyQt 加载 UI 三种常见方法

《在PyQt加载UI三种常见方法》在PyQt中,加载UI文件通常指的是使用QtDesigner设计的.ui文件,并将其转换为Python代码,以便在PyQt应用程序中使用,这篇文章给大家介绍在... 目录方法一:使用 uic 模块动态加载 (不推荐用于大型项目)方法二:将 UI 文件编译为 python 模

python处理带有时区的日期和时间数据

《python处理带有时区的日期和时间数据》这篇文章主要为大家详细介绍了如何在Python中使用pytz库处理时区信息,包括获取当前UTC时间,转换为特定时区等,有需要的小伙伴可以参考一下... 目录时区基本信息python datetime使用timezonepandas处理时区数据知识延展时区基本信息

Java实现优雅日期处理的方案详解

《Java实现优雅日期处理的方案详解》在我们的日常工作中,需要经常处理各种格式,各种类似的的日期或者时间,下面我们就来看看如何使用java处理这样的日期问题吧,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言一、日期的坑1.1 日期格式化陷阱1.2 时区转换二、优雅方案的进阶之路2.1 线程安全重构2