vue时间轴(vue时间轴样式)
本篇文章给大家谈谈vue时间轴,以及vue时间轴样式对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
vue纵向时间轴可放大缩小
vue纵向时间轴可放大缩小需要使用D3.js。
1、使用D3.js或vis.js等库创建纵向时间轴组件,并实现基本的显示和键凯纤交互功能。
2、在组件中添加放大缩小功能的按钮或稿仿滑块,并绑定相应的事件处理程序。
3、在事件处理程序中孙谨,使用D3.js或vis.js等库提供的缩放功能,根据放大缩小的比例对时间轴进行缩放和平移操作。
4、根据需要,可以使用CSS样式或其他技术对组件进行美化和优化。
使用vue,来写个时间轴
1.选择时间,获取对应数据,显示时间轴和时间点
2.时间点hover显示对应时间
3.整点时间显示
4.点击时间轴,选择对亮中应的时郑喊间点
5.点击时间点,选择对应的时间点
6.拖动点,选择对应的时间点
7.限制拖动,及点击位置
1.框架:vue+axios
2.日期组件:敬丛山 Ant Design of Vue (也可以自己修改成其他日期组件)
3.日期格式化: moment
4.数据返回格式
[img]时间轴组件(Vue+element)
说明:element UI带有时间轴插件(el-timeline),但是只显示无法实现折叠展开功能且比较单一,不满足要求,故重新封装一个;
最终效果:
实现过程:
dom:使用无序标签li 给定title作为时间显示容器:点击时可展开或折叠 使用button标则郑镇签 ,下面内容部分使用slot传入丛友(里面内容不固定,方便组件复用),嵌套在el-collapse-transition 中以优化动画效果;
js:数据:属性传入dataList:数组,每一项格式为{time:'2019-12-22',content:{},active:false} 时间标题点击事件selectMenu(arr, index) arr:该孙粗方法修改对应时间下内容是否显示;
css:这里需要注意的是时间轴的线不能断,所以li 之间不能有margin 值,左边的线用border-left 生成,时间前面的点使用 i 标签生成,用相对定位且相对左边给一个负的left值,与标题不能换行且要有宽高使用inline-block;
2019-12-03 vue中竖形时间轴(左右两侧都有字)实现 css
实现效果:
在dialog弹出框中实现竖形时间轴,如上图,难点在于左侧的时间和圆点要根据右侧的内容的长度来定位,可根据固定宽度,根据长度/宽度来计算几行,来确定具体的位置。
下面的实现不是上述原理,是规定数据格式,用css样式实现的
数据格式:
detailContent: [
{ code: '已审核待审批 ', des: ' 2019-11-18 09:44', name: 'zhangsan-张三',
detailContents: [
{ code: '审核结论:春链', des: '0-给付或部分给付; ' },
{ code: '给付类型:', des: '01-协议给付;' },
{ code: '原因明细:', des: '与出险人协商结果;' },
{ code: '特殊备注:', des: '无;' },
{ code: '案件标识:', des: '11-普通案件;' },
{ code: '审核意见:', des: '根据根原因根据根原因根据根原因根据根原因根据根搭伍原因根据根原因根据根原因根据根原因根据根原因根据根原因根据根原因根据根原因根据根原因根据根原因根据根原因根据根原因根据' }
] },
{ code: '已立案待审核 ', des: ' 2019-11-18 09:44', name: 'wangwu-王五',
detailContents: [
{ code: '立案结论:', des: '01-立案通过; ' }
] },
{ code: '审核回退立案 ', des: '2019-11-18 09:44', name: 'zhangsan-张三',
detailContents: [
{ code: '审核结论:', des: 'a-案件回退; ' },
{ code: '回退原因:', des: '03-受益人身份确认有误或待完善; ' },
{ code: '特殊备注:', des: '此为重大问题;' },
{ code: '案件标识:', des: '11-普通案件;' },
{ code: '审核意见扒枝孙:', des: '根据根原因根据XXX' }
] },
{ code: '审批回退审核 ', des: '2019-11-18 09:44', name: 'wangwu-王五',
detailContents: [
{ code: '审批结论:', des: '1-不同意;' },
{ code: '不同意原因:', des: '05-索赔文件所示事故非有效期限范围;' },
{ code: '不同意依据:', des: '金额理算不正确,烦请确认;' },
{ code: '审批意见:', des: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' }
] },
{ code: '已审核待审批 ', des: '2019-11-18 09:44', name: 'zhangsan-张三',
detailContents: [
{ code: '审核结论:', des: '1-全部拒付;' },
{ code: '拒付原因:', des: '03-不如实告知;' },
{ code: '拒付依据:', des: '身份信息虚报;' },
{ code: '特殊备注:', des: '此为重大问题;' },
{ code: '案件标识:', des: '11-普通案件;' },
{ code: '审批意见:', des: '根据根原因根据XXX' }
] },
{ code: '审批回退审核 ', des: '2019-11-18 09:44', name: 'wangwu-王五',
detailContents: [
{ code: '审批结论:', des: '1-不同意;' },
{ code: '不同意原因:', des: '05-索赔文件所示事故非有效期限范围;' },
{ code: '不同意依据:', des: '金额理算不正确,烦请确认;' },
{ code: '审批意见:', des: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' }
] },
{ code: '已审核待审批 ', des: '2019-11-18 09:44', name: 'zhangsan-张三',
detailContents: [
{ code: '审核结论:', des: '0-给付或部分给付; ' },
{ code: '给付类型:', des: '01-协议给付;' },
{ code: '原因明细:', des: '与出险人协商结果;' },
{ code: '特殊备注:', des: '无;' },
{ code: '案件标识:', des: '11-普通案件;' },
{ code: '审核意见:', des: '根据根原因根据根原因根据根原因根据根原因根据根原因根据根原因根据根原因根据根原因根据根原因根据根原因根据根原因根据根原因根据根原因根据根原因根据根原因根据根原因根据' }
] },
{ code: '已立案待审核 ', des: '2019-11-18 09:44', name: 'zhangsan-张三',
detailContents: [
{ code: '立案结论:', des: '01-立案通过; ' }
] },
{ code: '已报案待立案 ', des: '2019-11-18 09:44', name: 'zhangsan-张三' }
]
HTML:
div class="main"
ul class="cbp_tmtimeline"
li
div v-for="(item, index) in detailContent" :key="index" :class="{'cbp_div': index === (detailContent.length - 1)}"
div class="cbp_left"
span{{item.code}}/span
span{{item.des}}/span
/div
div class="cbp_tmlabel"
h3zhangsan-张三/h3
div class="cbp_tmicon"/div
div v-for="(item, index) in item.detailContents" :key="index"
span{{item.code}}/span
span{{item.des}}/span
/div
/div
/div
/li
/ul
/div
style样式:
style
.cbp_div {
height: 20px;
width:570px;
}
.cbp_left {
width: 120px;
color: black;
font-size: 1.2em;
font-weight: 300;
line-height: 1.4;
margin-bottom: -60px;
}
.main
{
width: 90%;
max-width: 69em;
margin: 0 auto;
padding: 0 1.875em 3.125em 1.875em;
}
.cbp_tmtimeline
{
width: 570px;
margin: 40px 0 0 0;
padding: 0;
list-style: none;
position: relative;
}
/* The line */
.cbp_tmtimeline:before
{
content: '';
position: absolute;
top: 0;
bottom: 0;
width: 3px;
background: #b8cad6;
left: 25%;
margin-left: -11px;
}
.cbp_tmtimeline li
{
position: relative;
}
.cbp_tmtimeline li .cbp_tmlabel
{
margin: -65px 0 15px 25%;
color: black;
padding: 0 1em;
font-size: 1.2em;
position: relative;
border-radius: 5px;
}
.cbp_tmtimeline li .cbp_tmicon
{
width: 18px;
height: 18px;
font-family: 'ecoico';
font-style: normal;
font-weight: normal;
font-variant: normal;
position: absolute;
color: #fff;
background: #46a4da;
border-radius: 50%;
box-shadow: 0 0 0 3px #afdcf8;
left: 26%;
top: 0;
margin: 0 0 0 -130px;
}
/style
关于vue时间轴和vue时间轴样式的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。