赞
踩
做项目的时候,会经常用到表格,此次是需要用到多级表头和表格合并,特此记录,以备后来查看
1.初始效果(已加居中效果)
2.结构 (第一个是单独的el-table-column,第二个是一个el-table-column里包着一个el-table-column,第三个是一个el-table-column包着是三个el-table-column,其他的以此类推)
- <template>
- <div class="TableShows">
- <el-table :data="tableData" style="width: 100%" :span-method="arraySpanMethod" :cell-style="rowStyle">
- <!-- 日期 -->
- <el-table-column prop="date" label="日期" width="110" align="center">
- </el-table-column>
- <!-- 商户号 -->
- <el-table-column width="120">
- <el-table-column prop="name" label="商户号账号" width="110" align="center">
- </el-table-column>
- </el-table-column>
- <!-- 恒优惠 -->
- <el-table-column label="恒优惠商户号余额(前一天17.00获取虚拟账户余额)" align="center">
- <el-table-column prop="province" label="上期期末余额" width="120" align="center">
- </el-table-column>
- <el-table-column prop="city" label="进账金额" width="120" align="center">
- </el-table-column>
- <el-table-column prop="address" label="转账金额" width="120" align="center">
- </el-table-column>
- </el-table-column>
- <!-- 期末余额 -->
- <el-table-column width="120">
- <el-table-column prop="name" label="期末余额" width="110" align="center">
- </el-table-column>
- </el-table-column>
- <!-- 省心系统 -->
- <el-table-column prop="name" label="省心系统期末余额(0点获取)" width="120" align="center">
- </el-table-column>
- <!-- 省心流水 -->
- <el-table-column prop="name" label="省心当日流水订单" width="120" align="center">
- </el-table-column>
- <!-- 手续费 -->
- <el-table-column width="110" label="手续费(根据订单量计算)" align="center">
- <el-table-column prop="name" label="高德订单手续费(0.6%)" width="110" align="center">
- </el-table-column>
- <el-table-column prop="name" label="腾讯订单手续费(0.72%)" width="110" align="center">
- </el-table-column>
- <el-table-column prop="name" label="PP停车(0.22%)" width="110" align="center" >
- </el-table-column>
- </el-table-column>
- <!-- 总账 -->
- <el-table-column width="200">
- <el-table-column prop="name" label="总账金额 富民商户号期末金额+省心期末余额+省心当日流水订单" width="200" align="center">
- </el-table-column>
- </el-table-column>
- <!-- 进账差异 -->
- <el-table-column width="150">
- <el-table-column prop="name" label="进账差异(进账金额+手续费+转账)" width="150" align="center">
- </el-table-column>
- </el-table-column>
- </el-table>
- </div>
- </template>
3.数据&&方法
过给table传入span-method方法可以实现合并行或列,方法的参数是一个对象,里面包含当前行row、当前列column、当前行号rowIndex、当前列号columnIndex四个属性。该函数可以返回一个包含两个元素的数组,第一个元素代表rowspan,第二个元素代表colspan。 也可以返回一个键名为rowspan和colspan的对象。
- <script>
- export default {
- name: "groupOfCustomers",
- data() {
- return {
- tableData: [//数据源
- {
- date: '3月8号',
- name: '王小虎',
- province: '上海',
- city: '普陀区',
- address: '上海市普陀区金沙江路 1518 弄',
- zip: 200333
- }, {
- date: '3月8号',
- name: '王小虎',
- province: '上海',
- city: '普陀区',
- address: '上海市普陀区金沙江路 1518 弄',
- zip: 200333
- },
- {
- date: '',
- name: '王小虎',
- province: '上海',
- city: '普陀区',
- address: '上海市普陀区金沙江路 1518 弄',
- zip: 200333
- },
- {
- date: '3月9号',
- name: '王小虎',
- province: '上海',
- city: '普陀区',
- address: '上海市普陀区金沙江路 1518 弄',
- zip: 200333
- },
- {
- date: '3月10号',
- name: '王小虎',
- province: '上海',
- city: '普陀区',
- address: '上海市普陀区金沙江路 1518 弄',
- zip: 200333
- }
- ]
- };
- },
- methods: {
- // 表格居中
- rowStyle() {
- return "text-align:center";
- },
- // 表格合并,需要合并的地方是第7列到第12列的第1行,数组下标是从0开始,所以行是0开始算,列是从7列开始算
- arraySpanMethod({ row, column, rowIndex, columnIndex }) {
-
- if (columnIndex === 7 || columnIndex === 6 || columnIndex === 8 || columnIndex === 9 || columnIndex === 10 || columnIndex === 11 || columnIndex === 12) {
- if (rowIndex === 0) {
- return [2, 1];
- } else if (rowIndex === 1) {
- return [0, 0];
- }
- }
- },
- }
- }
- </script>
4.效果
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。