vue原生table合并单元格并可编辑
<template>
<div>
<div class="el-card box-card table_container">
<div class="el-card__header">
<div class="header clearfix">
<span>{{ title }}</span>
<el-button size="small" type="primary" @click="onEdit" class="btn_right" v-if="!isShow">编辑
</el-button>
<el-button size="small" type="primary" @click="onComplete" class="btn_right" v-if="isFinish">完成
</el-button>
</div>
</div>
<div class="el-card__body">
<table class="gridtable" border>
<thead>
<tr>
<th>序号</th>
<th>项目</th>
<th>分类</th>
<th>分项</th>
<th class="w">现场管理</th>
<th class="w">重大隐患</th>
<th class="w">汇总</th>
<th class="w">备注</th>
</tr>
</thead>
<tbody>
<tr v-for="item in tableData" :key="item.id">
<td :rowspan="item.idspan" :class="{hidden: item.iddis}">{{ item.id }}</td>
<td :rowspan="item.projectspan" :class="{hidden: item.projectdis}">{{ item.project }}</td>
<td :rowspan="item.typespan" :class="{hidden: item.typedis}">{{ item.type }}</td>
<td>{{ item.subentry }}</td>
<td class="w">
<el-input v-model="item.nowManage" v-if="isShow"></el-input>
<span v-else>{{ item.nowManage }}</span>
</td>
<td class="w">
<el-input v-model="item.Hidden" v-if="isShow"></el-input>
<span v-else>{{ item.Hidden }}</span>
</td>
<td class="w">
<el-input v-model="item.Total" v-if="isShow"></el-input>
<span v-else>{{ item.Total }}</span>
</td>
<td class="w">
<el-input v-model="item.remark" v-if="isShow"></el-input>
<span v-else>{{ item.remark }}</span>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</template>
<script>
export default {
data() {
return {
title:'风险评估',
isShow:false,
isFinish:false,
tableData: [
{
id:,
project: '企业性质分类',
type: '针对企业类别',
subentry: '生产(危险化学品生产企业)Ⅰ类A、B、C、级',
nowManage: '3.2',
Hidden: '是',
Total:'',
remark:'备注备注'
},
{
id:,
project: '企业性质分类',
type: '针对企业类别',
subentry: '使用(兰炭及配套企业)Ⅱ类A、B、C、级',
nowManage: '3.2',
Hidden: '是',
Total:'',
remark:''
},
{
id:,
project: '企业性质分类',
type: '针对企业类别',
subentry: '储存、经营(加油站)Ⅲ类A、B、C、级C、级',
nowManage: '3.2',
Hidden: '是',
Total:'',
remark:''
},
{
id:,
project: '三同时执行情况',
type: '针对改扩',
subentry: '改扩建未执行',
nowManage: '3.2',
Hidden: '是',
Total:'',
remark:''
}
]
}
},
created() {
this.getData(this.tableData);
},
methods: {
onEdit(){
this.isShow = true
this.isFinish=true
},
onComplete(){
this.isShow = false
this.isFinish=false
},
getData(list){
//console.log(list[0]);
for ( let field in list[]) {
var k = ;
while (k < list.length) {
list[k][field + 'span'] = ;
list[k][field + 'dis'] = false;
for (var i = k + ; i <= list.length - ; i++) {
if (list[k][field] == list[i][field] && list[k][field] != '') {
list[k][field + 'span']++;
list[k][field + 'dis'] = false;
list[i][field + 'span'] = ;
list[i][field + 'dis'] = true;
} else {
break;
}
}
k = i;
}
}
return list;
}
}
}
</script> <style lang="less" scoped>
.mybtn{
margin:10px 0px 0px 10px
}
.btn_right{
float:right
}
.gridtable{
border-collapse:collapse;
width: %;
thead>tr{
background:#eef1f6;
height: 40px;
line-height: 40px
}
th,td {
border: 1px solid #dfe6ec;
font-size: 14px;
font-weight: normal;
}
.w{
width:120px
}
tbody>tr{
height: 50px;
line-height: 50px;
&:hover{
background:#eef1f6;
}
td{
padding: 10px;
} } }
.hidden{
display: none
}
</style>
vue原生table合并单元格并可编辑的更多相关文章
- Vue中table合并单元格用法
<table> <tr> <th>地名</th> <th>结果</th> <th>人名</th> < ...
- css table 合并单元格
1. css table 合并单元格 colspan:合并列, rowspan:合并行, 合并行的时候,比如rowspan="2",它的下一行tr会少一列: 合并列的时候,比如co ...
- table中tr间距的设定table合并单元格 colspan(跨列)和rowspan(跨行)
table中的tr的默认display:table-row,虽然可以修改为display:block但是就失去了tr特有的显示效果,如(td自动对齐): 并且在tr中对起设定padding是有用的,可 ...
- table合并单元格
table合并单元格 新建一张表格.要求表格有四行四列,当中第一行的四列合并,第二行.第三行和第四行的第一列合并 <!DOCTYPE html PUBLIC "-//W3C//DTD ...
- ant design Table合并单元格合并单元格怎么用?
1.ant design table合并单元格怎么用?
- BootStrap Table 合并单元格
为了更直观展示表格的一大堆乱七八糟的数据,合并单元格就派上用场: 效果: 贴上JSON数据(后台查询数据一定要对合并字段排序): [ { "city": "广州市&quo ...
- 一种HTML table合并单元格的思路
/** * 合并单元格 * @param table1 表格的ID * @param startRow 起始行 * @param col 合并的列号,对第几列进行合并(从0开始).如果传下来为0就是从 ...
- table合并单元格colspan和rowspan .
colspan和rowspan这两个属性用于创建特殊的表格. colspan是“column span(跨列)”的缩写.colspan属性用在td标签中,用来指定单元格横向跨越的列数: 在浏览器中将显 ...
- JQuery Table 合并单元格-解决Bug版本
网络中提供的方法是: <script type="text/javascript"> function _w_table_rowspan(_w_table_id, _w ...
随机推荐
- MFC动态创建对话框中的按钮控件并创建其响应消息
转自:http://www.cnblogs.com/huhu0013/p/4626686.html 动态按钮(多个)的创建: 1.在类中声明并定义按钮控件的ID #define IDC_D_BTN 1 ...
- Java泛型之自限定类型
在<Java编程思想>中关于泛型的讲解中,提到了自限定类型: class SelfBounded<T extends SelfBounded<T>> 作者说道: 这 ...
- Python 在已创建的数据表添加字段报错问题
django.db.utils.IntegrityError: (1062, “Duplicate entry ’1234567891011’ for key_’dingdanid’”) 这个错误是之 ...
- Jsの练习-数组其他常用方法 -map() ,filter() ,every() ,some()
map() :映射,对数组中的每一项运行给定函数,返回每次函数调用结果组成的函数. <!DOCTYPE html> <html lang="en"> < ...
- Type curtilage home
This year's National Day coincides with the Mid-Autumn festival, the double false merger about eight ...
- 关于MySQL5.7 这几天的总结(json类型)
一开始,老板让调整一下 innodb_buffer_pool_size 大小,因为这台机器内存大. 看了下内存,16G,再SQL下面命令,得到结果是4G. SELECT @@innodb_buffer ...
- 精进之路之CAS
CAS (Compare And Swap) 即比较交换, 是一种实现并发算法时常用到的技术,Java并发包中的很多类都使用了CAS技术,本文将深入的介绍CAS的原理. 其算法核心思想如下 执行函数: ...
- Oracle CONNECT by 简单用法
Oracle查询层级的 一个表里 通过一个parentid连接 select * FROM A_MERIATILA start with id=520 CONNECT by prior id=PAR ...
- holer实现外网访问本地网站
外网访问本地网站 本地搭建了网站,只能在局域网内访问,怎样从公网也能访问内网网站? 本文将介绍使用holer实现的具体步骤. 1. 准备工作 1.1 安装并启动网站服务端 默认搭建的网站服务端端口是8 ...
- KMP算法详细分解
1. 引言 给定一个主串(以 S 代替)和模式串(以 P 代替),要求找出 P 在 S 中出现的位置,此即串的模式匹配问题. Knuth-Morris-Pratt 算法(简称 KMP)是解决这一问题的 ...