当前位置:   article > 正文

vue使用Element表格之多级表头与表格合并(详细教程)_vue多级静态表格合并

vue多级静态表格合并

做项目的时候,会经常用到表格,此次是需要用到多级表头和表格合并,特此记录,以备后来查看

1.初始效果(已加居中效果)

2.结构  (第一个是单独的el-table-column,第二个是一个el-table-column里包着一个el-table-column,第三个是一个el-table-column包着是三个el-table-column,其他的以此类推)

  1. <template>
  2. <div class="TableShows">
  3. <el-table :data="tableData" style="width: 100%" :span-method="arraySpanMethod" :cell-style="rowStyle">
  4. <!-- 日期 -->
  5. <el-table-column prop="date" label="日期" width="110" align="center">
  6. </el-table-column>
  7. <!-- 商户号 -->
  8. <el-table-column width="120">
  9. <el-table-column prop="name" label="商户号账号" width="110" align="center">
  10. </el-table-column>
  11. </el-table-column>
  12. <!-- 恒优惠 -->
  13. <el-table-column label="恒优惠商户号余额(前一天17.00获取虚拟账户余额)" align="center">
  14. <el-table-column prop="province" label="上期期末余额" width="120" align="center">
  15. </el-table-column>
  16. <el-table-column prop="city" label="进账金额" width="120" align="center">
  17. </el-table-column>
  18. <el-table-column prop="address" label="转账金额" width="120" align="center">
  19. </el-table-column>
  20. </el-table-column>
  21. <!-- 期末余额 -->
  22. <el-table-column width="120">
  23. <el-table-column prop="name" label="期末余额" width="110" align="center">
  24. </el-table-column>
  25. </el-table-column>
  26. <!-- 省心系统 -->
  27. <el-table-column prop="name" label="省心系统期末余额(0点获取)" width="120" align="center">
  28. </el-table-column>
  29. <!-- 省心流水 -->
  30. <el-table-column prop="name" label="省心当日流水订单" width="120" align="center">
  31. </el-table-column>
  32. <!-- 手续费 -->
  33. <el-table-column width="110" label="手续费(根据订单量计算)" align="center">
  34. <el-table-column prop="name" label="高德订单手续费(0.6%)" width="110" align="center">
  35. </el-table-column>
  36. <el-table-column prop="name" label="腾讯订单手续费(0.72%)" width="110" align="center">
  37. </el-table-column>
  38. <el-table-column prop="name" label="PP停车(0.22%)" width="110" align="center" >
  39. </el-table-column>
  40. </el-table-column>
  41. <!-- 总账 -->
  42. <el-table-column width="200">
  43. <el-table-column prop="name" label="总账金额 富民商户号期末金额+省心期末余额+省心当日流水订单" width="200" align="center">
  44. </el-table-column>
  45. </el-table-column>
  46. <!-- 进账差异 -->
  47. <el-table-column width="150">
  48. <el-table-column prop="name" label="进账差异(进账金额+手续费+转账)" width="150" align="center">
  49. </el-table-column>
  50. </el-table-column>
  51. </el-table>
  52. </div>
  53. </template>

3.数据&&方法

过给table传入span-method方法可以实现合并行或列,方法的参数是一个对象,里面包含当前行row、当前列column、当前行号rowIndex、当前列号columnIndex四个属性。该函数可以返回一个包含两个元素的数组,第一个元素代表rowspan,第二个元素代表colspan。 也可以返回一个键名为rowspan和colspan的对象。

  1. <script>
  2. export default {
  3. name: "groupOfCustomers",
  4. data() {
  5. return {
  6. tableData: [//数据源
  7. {
  8. date: '3月8号',
  9. name: '王小虎',
  10. province: '上海',
  11. city: '普陀区',
  12. address: '上海市普陀区金沙江路 1518 弄',
  13. zip: 200333
  14. }, {
  15. date: '3月8号',
  16. name: '王小虎',
  17. province: '上海',
  18. city: '普陀区',
  19. address: '上海市普陀区金沙江路 1518 弄',
  20. zip: 200333
  21. },
  22. {
  23. date: '',
  24. name: '王小虎',
  25. province: '上海',
  26. city: '普陀区',
  27. address: '上海市普陀区金沙江路 1518 弄',
  28. zip: 200333
  29. },
  30. {
  31. date: '3月9号',
  32. name: '王小虎',
  33. province: '上海',
  34. city: '普陀区',
  35. address: '上海市普陀区金沙江路 1518 弄',
  36. zip: 200333
  37. },
  38. {
  39. date: '3月10号',
  40. name: '王小虎',
  41. province: '上海',
  42. city: '普陀区',
  43. address: '上海市普陀区金沙江路 1518 弄',
  44. zip: 200333
  45. }
  46. ]
  47. };
  48. },
  49. methods: {
  50. // 表格居中
  51. rowStyle() {
  52. return "text-align:center";
  53. },
  54. // 表格合并,需要合并的地方是第7列到第12列的第1行,数组下标是从0开始,所以行是0开始算,列是从7列开始算
  55. arraySpanMethod({ row, column, rowIndex, columnIndex }) {
  56. if (columnIndex === 7 || columnIndex === 6 || columnIndex === 8 || columnIndex === 9 || columnIndex === 10 || columnIndex === 11 || columnIndex === 12) {
  57. if (rowIndex === 0) {
  58. return [2, 1];
  59. } else if (rowIndex === 1) {
  60. return [0, 0];
  61. }
  62. }
  63. },
  64. }
  65. }
  66. </script>

4.效果

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/101065
推荐阅读
相关标签