element-ui跨行

1 <template>
2 <el-table :data="scheduleList" :span-method="objectSpanMethod" border>
3 <el-table-column prop="date" label="时间" width="200" />
4 <el-table-column prop="journey" label="行程" width="600" />
5 <el-table-column prop="lecturer" label="讲师" />
6 </el-table>
7 </template>
8
9 <script>
10 export default {
11 data() {
12 return {
13 scheduleList: [
14 {
15 date: "第一天",
16 journey: "报道",
17 lecturer: "",
18 },
19 {
20 date: "第二天",
21 journey: "企业生产安全应急预案数字化推演及复盘",
22 lecturer: "国家危化品应急救援基地--林俊",
23 },
24 {
25 date: "第三天",
26 journey: "火灾应急处置",
27 lecturer: "国家危化品应急救援基地—张学军",
28 },
29 {
30 date: "第三天",
31 journey: "中毒窒息事故应急处置",
32 lecturer: "中化岙山事故应急处置师资",
33 },
34 {
35 date: "第四天",
36 journey: "人员触电事故应急处置",
37 lecturer: "中化岙山事故应急处置师资",
38 },
39 {
40 date: "第四天",
41 journey: "泄漏事故应急处置",
42 lecturer: "中化岙山事故应急处置师资",
43 },
44 {
45 date: "第四天",
46 journey: "问题交流",
47 lecturer: "中化岙山事故应急处置师资",
48 },
49 {
50 date: "第五天",
51 journey: "受限空间作业管理",
52 lecturer: "中化岙山危险作业内训师",
53 },
54 {
55 date: "第五天",
56 journey: "高处作业管理",
57 lecturer: "中化岙山危险作业内训师",
58 },
59 {
60 date: "第五天",
61 journey: "动火作业管理",
62 lecturer: "中化岙山危险作业内训师",
63 },
64 {
65 date: "第五天",
66 journey: "临时用电作业管理",
67 lecturer: "中化岙山危险作业内训师",
68 },
69 {
70 date: "第五天",
71 journey: "问题交流与讨论",
72 lecturer: "中化岙山危险作业内训师",
73 },
74 {
75 date: "第六天",
76 journey: "回城",
77 lecturer: "",
78 },
79 ],
80 rowIndex: "-1",
81 orderIndexArr: [],
82 };
83 },
84 methods: {
85 // 获取相同编号的数组
86 getNumber() {
87 const orderObj = {}
88 this.scheduleList.forEach((item, index) => {
89 item.indexRow = index
90 // 通过date关键字
91 if (orderObj[item.date]) {
92 orderObj[item.date].push(index)
93 } else {
94 orderObj[item.date] = []
95 orderObj[item.date].push(index)
96 }
97 });
98 // 将数组长度大于1的值 存储到this.orderIndexArr(也就是需要合并的项)
99 Object.keys(orderObj).forEach((key) => {
100 if (orderObj[key].length > 1) {
101 this.orderIndexArr.push(orderObj[key])
102 }
103 })
104 },
105
106 // 获取相同编号的数组
107 getOrderNumber() {
108 const orderObj = {}
109 this.scheduleList.forEach((item, index) => {
110 item.rowIndex = index
111 if (orderObj[item.date]) {
112 orderObj[item.date].push(index)
113 } else {
114 orderObj[item.date] = [];
115 orderObj[item.date].push(index)
116 }
117 })
118 // 将数组长度大于1的值 存储到this.orderIndexArr(也就是需要合并的项)
119 Object.keys(orderObj).forEach((key) => {
120 if (orderObj[key].length > 1) {
121 this.orderIndexArr.push(orderObj[key])
122 }
123 });
124 },
125 objectSpanMethod({ row, column, rowIndex, columnIndex }) {
126 if (columnIndex === 0) {
127 for (let i = 0; i < this.orderIndexArr.length; i += 1) {
128 let element = this.orderIndexArr[i];
129 for (let j = 0; j < element.length; j += 1) {
130 let item = element[j];
131 if (rowIndex === item) {
132 if (j === 0) {
133 return {
134 rowspan: element.length,
135 colspan: 1
136 }
137 }
138 if (j !== 0) {
139 return {
140 rowspan: 0,
141 colspan: 0
142 }
143 }
144 }
145 }
146 }
147 }
148 },
149 },
150 mounted() {
151 this.getOrderNumber()
152 }
153 }
154 </script>
element-ui跨行的更多相关文章
- 使用element ui 日期选择器获取值后的格式问题
一般情况下,我们需要给后台的时间格式是: "yyyy-MM-dd" 但是使用Element ui日期选择器获取的值是这样的: Fri Sep :: GMT+ (中国标准时间) 在官 ...
- element ui 1.4 升级到 2.0.11
公司的框架 选取的是 花裤衩大神开源的 基于 element ui + Vue 的后台管理项目, 项目源码就不公开了,记录 分享下 步骤 1. 卸载 element ui 1.4的依赖包 2. 卸载完 ...
- [坑况]饿了么你是这样的前端——vue+element ui 【this dependency was not found:'element-ui/lib/theme-chalk/index.css'】
element ui 坑况:今日pull代码,潇洒npm run dev ,被告知:this dependency was not found:'element-ui/lib/theme-chalk/ ...
- Vue + Element UI项目初始化
1.安装相关组件 1.1安装Node 检查本地是否安装node node -v 如果没有安装,从Node官网下载 1.2安装npm npm -v 如果没有安装:使用该指令安装: npm install ...
- Element UI——本地引入iconfont不显示
前言 前面因为本地引入Element UI导致了iconfont不显示,所以只好再去Element UI官网去扒下iconfot 步骤 进入官网 组件 | Element UI F12进入控制台,找到 ...
- Html | Vue | Element UI——引入使用
前言 做个项目,需要一个效果刚好Element UI有,就想配合Vue和Element UI,放在tp5.1下使用,但是引入在线的地址各种报错,本地引入就完美的解决了问题! 代码 __STATIC_J ...
- 分享一个自搭的框架,使用Spring boot+Vue+Element UI
废弃,新的:https://www.cnblogs.com/hackyo/p/10453243.html 特点:前后端分离,可遵循restful 框架:后端使用Spring boot,整合了aop.a ...
- 上传图片组件封装 element ui
// element ui 文档地址: http://element.eleme.io/#/zh-CN <template> <div> <div class=" ...
- vue项目使用element ui的Checkbox
最近使用到element ui的下拉多选框Checkbox Checkbox用法可参考与于 http://element.eleme.io/#/zh-CN/component/checkbox Che ...
- vue的$nextTick使用总结,this.$refs为undefined的解决办法,element Ui的树形控件setCheckedKeys方法无法使用
其实这3个讲的是一个问题,先说下问题,我在watch里设置一个监听,当弹窗打开时,自动添加树形的默认选中项, 但奇怪的是this.$refs为undefined,自然setCheckedKeys无法使 ...
随机推荐
- 地址重写了,只是ip 没转发,应该是9999那个才对,rewrite /sbgl/(.*) http://127.0.0.1:9999/$1 permanent;,这样,
记录想nginx搞路径重写的失败历程. 1.想将从nginx发出的127.0.0.1:80 请求过来的带sbgl的字眼去掉,然后,代理为127.0.0.1:9999, 所以我就百度出这个 这个 r ...
- ApexSQLDBA 2019.02.1245[破解补丁]
ApexSQL DBA 2019.02.1245 破解补丁 支持ApexSQL Log.ApexSQL Plan.ApexSQL Recover 该版本支持SQLSERVER 2019 开源地址: h ...
- 记录一次在deepin安装node版本管理工具nvm的过程
安装nvm sudo apt-get install git -y # 安装git cd /home # 随便找个目录放代码 git clone https://github.com/nvm-sh/n ...
- php json_encode 斜杠 反斜杠 转义处理
$data = str_replace("\\\\n", "\\n", \jsonEncode($data)); // \\n转为\n $data = str_ ...
- php集成环境包PhpStudy及部署网站
一.介绍: phpStudy 是一个PHP调试环境的程序集成包. 该程序包集成最新的Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer,一次性安装,无须配置即可使用, ...
- Android Studio 生成Jar包以及是否混淆打包等ZengYuanFinn博客等你来查看
1,Android studio生成jar包的前提是要确保生成的代码是引用的module工程: 2,在需要生成jar包的build.gradle(上图倒数第三行)中添加如下代码: //生成jar包 t ...
- 【git】git子模块操作-添加子模块与克隆子模块
https://git-scm.com/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E5%AD%90%E6%A8%A1%E5%9D%97 git submodule upda ...
- CentOS7安装GLPI资产管理系统
1.安装配置docker-ce此步骤不在此赘述 2.启动配置MySQL容器 mkdir -p /opt/mysql5.7/{data,conf} docker pull mysql:5.7.31 do ...
- linux 使用tc做限速
#!/bin/bash#针对不同的ip进行限速 #清空原有规则tc qdisc del dev em3 root #创建根序列tc qdisc add dev em3 root handle 1: h ...
- 火爆全球的“饺子皮”3D手办原来是这样做的!关键时刻少不了远程控制软件!
2022年卡塔尔世界杯的吉祥物最近在全球火出圈了,并且喜提中国网友给予的爱称"饺子皮"."馄饨皮"(官方名字:拉伊卜,意为"技艺高超的球员" ...