element-ui实现table表格的嵌套(table表格嵌套)功能实现

news2025/3/2 2:19:39

最近在做电商类型的官网,希望实现的布局如下:有表头和表身,所以我首先想到的就是table表格组件。

在这里插入图片描述

表格组件中常见的就是:标题和内容一一对应:
在这里插入图片描述
像效果图中的效果,只用基础的表格布局是不行的,因此我想到了table表格中的展开功能:
在这里插入图片描述
然后通过:默认展开所有行
在这里插入图片描述
然后在里面的表格table中默认隐藏表头:
在这里插入图片描述
其他的则需要通过样式进行实现了

element-ui中table表格的嵌套(代码部分)

 <el-table v-bind:data="tableData" :default-expand-all="true" class="parentTable"
       ref="multipleTable"
       v-loading="loading"
       element-loading-text="拼命加载中">
 <el-table-column type="expand">
     <template slot-scope="props">
         <div class="conWrap" style="text-align: left;line-height: 16px;font-size: 14px;position: relative;top: -10px;">
             <span>订单包号:{{props.row.OrderNo}}</span>
             <span style="margin-left:42px;">付款时间:{{props.row.CreateTime}}</span>
         </div>
         <el-table v-bind:data="props.row.OrderDetails" :default-expand-all="true" stripe :show-header="false" class="childTable">
             <el-table-column prop="PartNo" align="center"
                              label="产品型号"
                              width="180">
                 <template slot-scope="scope">
                     <div class="name-b">{{scope.row.PartNo}}</div>
                 </template>
             </el-table-column>
             <el-table-column prop="Mfg"
                              label="品牌" width="199">
                 <template slot-scope="scope">
                     <div class="name-b">{{scope.row.Mfg}}</div>
                 </template>
             </el-table-column>
             <el-table-column prop="Package"
                              label="封装" width="114">
                 <template slot-scope="scope">
                     <div class="name-b">{{scope.row.Package}}</div>
                 </template>
             </el-table-column>
             <el-table-column prop="miaoshu"
                              label="描述" width="300">
                 <template slot-scope="scope">
                     <div class="name-b" style="width:100%;">72MHZ 20KB 37 2V~3.6V-40°C~85°CTA</div>
                 </template>
             </el-table-column>
             <el-table-column prop="ProductNum" align="center" width="120"
                              label="申请数量">
                 <template slot-scope="scope">
                     <div class="name-b">{{scope.row.ProductNum}}</div>
                 </template>
             </el-table-column>
             <el-table-column prop="maxNum"
                              label="申请状态">
                 <template slot-scope="scope">
                     <div>
                         <el-popover trigger="hover" placement="right" v-if="scope.row.State==20||scope.row.State==40">
                             <p v-if="scope.row.State==20">失败原因: {{ scope.row.FailReason }}</p>
                             <p v-if="scope.row.State==40">物流信息: {{ scope.row.ExpressNo }}</p>
                             <div slot="reference" class="name-wrapper">
                                 {{scope.row.State |fiterState(stateMenu)}}
                                 <span v-if="scope.row.State==40" style="margin-left:14px;color:#B77C20;">物流信息</span>
                                 <span v-if="scope.row.State==20" style="margin-left:14px;color:#B77C20;">查看原因</span>
                             </div>
                         </el-popover>
                         <div v-else>
                             {{scope.row.State |fiterState(stateMenu)}}
                         </div>
                     </div>
                 </template>
             </el-table-column>
             <el-table-column label="操作" width="162">
                 <template slot-scope="scope">
                     <div style="display:flex;">
                         <el-button type="text" size="small" v-on:click="cancel(scope.row)" v-if="scope.row.State==10||scope.row.State==20">取消</el-button>
                         <el-button type="text" size="small" v-on:click="sureHave(scope.row)" v-if="scope.row.State==40">确认收货</el-button>
                     </div>
                 </template>
             </el-table-column>
         </el-table>
     </template>
 </el-table-column>
 <el-table-column label="产品型号" align="center" width="180"></el-table-column>
 <el-table-column label="品牌" width="199"></el-table-column>
 <el-table-column label="封装" width="114"></el-table-column>
 <el-table-column label="描述"  width="300"></el-table-column>
 <el-table-column label="申请数量" align="center" width="120"></el-table-column>
 <el-table-column label="申请状态"></el-table-column>
 <el-table-column label="操作" align="center" width="118"></el-table-column>
</el-table>

最终效果图:
在这里插入图片描述

样式部分:

.el-table {
            border-top: none !important;
        }

        .el-table__expanded-cell {
            padding: 0 !important;
        }

        .tableWrap {
            width: 100%;
        }

        .el-tabs__nav-scroll {
            padding: 0 20px;
            box-sizing: border-box;
        }

        .tableWrap .el-table {
            width: 1240px;
            margin: 0 auto;
        }

        .el-icon.el-icon-arrow-right {
            color: #fff;
        }

        .el-table__row.expanded {
            background: #fff !important;
            position: relative !important;
            top: -100px !important;
            border: 1px solid red;
        }

        .el-tabs__content {
            display: none;
        }

        .el-table__row.expanded > td {
            padding: 7px 0;
        }

        .el-table__row.expanded {
            border: 1px solid #E5E5E5;
        }

            .el-table__row.expanded:first-child {
                border-bottom: none;
            }

        .childTable .el-table__body {
            border-top: 1px solid #E5E5E5;
        }

        .childTable .el-table__row.expanded > td:first-child {
            border-left: 1px solid #E5E5E5;
        }

        .childTable .el-table__row.expanded > td:last-child {
            border-right: 1px solid #E5E5E5;
        }

        .el-tabs__header.is-top {
            border-bottom: none;
        }

        .childTable .el-table__header-wrapper {
            display: none;
        }

        .conWrap {
            height: 44px;
            background: #E5E5E5;
            line-height: 44px;
            padding-left: 10px;
            font-size: 14px;
            font-family: Microsoft YaHei;
            line-height: 19px;
            color: #333333;
        }

            .conWrap > span {
                line-height: 44px;
            }

        .el-table .has-gutter .is-leaf {
            position: relative !important;
            left: -48px !important;
        }

            .el-table .has-gutter .is-leaf:last-child {
                position: relative !important;
                left: 0px !important;
            }

        .el-table__header-wrapper {
            background: #EBEBEB;
        }
        
        .el-table .has-gutter > tr > th {
            background: #EBEBEB;
            font-size: 14px;
            font-family: Microsoft YaHei;
            font-weight: bold;
            line-height: 19px;
            color: #333333;
        }

数据结构

{
    "Items":[
        {
            "OrderNo":"ICS-10390-1",
            "ProductIds":"[646,309118,331385,331393,331394]",
            "UserId":10390,
            "Applicant":"( ̄▽ ̄*)b",
            "ApplicantMobile":"18458192430",
            "Receiver":"123",
            "CompanyName":"卡卡卡卡卡12 32  26",
            "Post":"高管",
            "Industry":"工业设计",
            "Purpose":"332",
            "Province":"广东省",
            "City":"广州市",
            "Address":"123",
            "ContactMobile":"18458192430",
            "CreateTime":"2021/9/7 8:51",
            "OrderDetails":[
                {
                    "Id":1309,
                    "OrderNo":"ICS-10390-1",
                    "SupplierId":2,
                    "ProductId":331393,
                    "ProductNum":1,
                    "ExpressNo":null,
                    "SendTime":"",
                    "ReceiveTime":"",
                    "JpSkuNo":"JPC47B1332N331393",
                    "PartNo":"cs-454",
                    "Package":"21",
                    "Mfg":"Samsung(三星)",
                    "ProPics":"https://test-jpfile1.oss-cn-shenzhen.aliyuncs.com//IcMall/icmall/2021/4/30/2021043014452714515931.JPG",
                    "CreateTime":"2021/9/7 8:51",
                    "UpdateTime":"2021/9/7 8:51",
                    "IsDeleted":false,
                    "State":10,
                    "CheckTime":null,
                    "FailReason":null,
                    "SupplierName":"深圳前海宝利士科技有限公司",
                    "ExpressCompany":null,
                    "Ship":1
                }
            ]
        }
    ],
    "Queryable":null,
    "TotalCount":1,
    "Msg":null
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2260708.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

图像分割数据集石头rock分割数据集labelme格式2602张3类别

数据集格式&#xff1a;labelme格式(不包含mask文件&#xff0c;仅仅包含jpg图片和对应的json文件) 图片数量(jpg文件个数)&#xff1a;2602 标注数量(json文件个数)&#xff1a;2602 标注类别数&#xff1a;3 标注类别名称:["claystone","silt","…

语音芯片赋能可穿戴设备:开启个性化音频新体验

在科技日新月异的今天&#xff0c;语音芯片与可穿戴设备的携手合作&#xff0c;正引领我们步入一个前所未有的个性化音频时代。这一创新融合&#xff0c;用户可以享受到更加个性化、沉浸式的音频体验。下面将详细介绍语音芯片与可穿戴设备合作的优点和具体应用。 1. 定制化音效…

数据挖掘之聚类分析

聚类分析&#xff08;Clustering Analysis&#xff09; 是数据挖掘中的一项重要技术&#xff0c;旨在根据对象间的相似性或差异性&#xff0c;将对象分为若干组&#xff08;簇&#xff09;。同一簇内的对象相似性较高&#xff0c;而不同簇间的对象差异性较大。聚类分析广泛应用…

【iOS】OC高级编程 iOS多线程与内存管理阅读笔记——自动引用计数(四)

目录 ARC规则 规则 对象型变量不能作为C语言结构体的成员 显式转换id和void* 属性 数组 ARC规则 规则 在ARC有效的情况下编译源代码必须遵守一定的规则&#xff1a; 主要解释一下最后两条 对象型变量不能作为C语言结构体的成员 要把对象型变量加入到结构体成员中时&a…

Java-25 深入浅出 Spring - 实现简易Ioc-01 Servlet介绍 基本代码编写

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 大数据篇正在更新&#xff01;https://blog.csdn.net/w776341482/category_12713819.html 目前已经更新到了&#xff1a; MyBatis&#xff…

微服务SpringCloud链路追踪之Micrometer+Zipkin

视频教程&#xff1a; https://www.bilibili.com/video/BV12LBFYjEvR 效果演示 当我们发送一个请求给 Gateway 的时候&#xff0c;由 Micrometer trace 进行链路追踪和数据收集&#xff0c;由 Zipkin 进行数据展示。可以清楚的看到微服务的调用过程&#xff0c;以及每个微服务…

【Java】Iterator迭代器相关API

Iterator 是 Java 集合框架中用于遍历集合&#xff08;List、Set 等&#xff09;的工具&#xff0c;它提供了访问集合中每个元素的统一接口&#xff0c;避免直接操作集合的实现细节。 Iterator的基本使用和方法 基本方法 hasNext()&#xff1a;检查是否还有元素可供迭代。ne…

Android 系统应用重名install安装失败分析解决

Android 系统应用重名install安装失败分析解决 文章目录 Android 系统应用重名install安装失败分析解决一、前言1、Android Persistent apps 简单介绍 二、系统 persistent 应用直接安装需求分析解决1、系统应用安装报错返回的信息2、分析解决 三、其他1、persistent系统应用in…

java基础概念49-数据结构2

一、树 1-1、树的基本概念 1、树的节点 2、二叉树 3、树的高度 1-2、二叉查找树 普通二叉树没有规律&#xff0c;不方便查找&#xff0c;没什么作用。 1、基本概念 2、添加节点 此时&#xff0c;该方式添加形成的二叉查找树&#xff0c;根节点就是第一个节点。 3、查找节点 4…

数据仓库工具箱—读书笔记01(数据仓库、商业智能及维度建模初步)

数据仓库、商业智能及维度建模初步 记录一下读《数据仓库工具箱》时的思考&#xff0c;摘录一些书中关于维度建模比较重要的思想与大家分享&#x1f923;&#x1f923;&#x1f923; 博主在这里先把这本书"变薄"~有时间的小伙伴可以亲自再读一读&#xff0c;感受一下…

说说你对java lambda表达式的理解?

大家好&#xff0c;我是锋哥。今天分享关于【说说你对java lambda表达式的理解?】面试题。希望对大家有帮助&#xff1b; 说说你对java lambda表达式的理解? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Java Lambda 表达式是 Java 8 引入的一项重要特性&#…

ambari-server页面错位问题解决

背景&#xff1a; 项目新安装的ambari集群页面错位如下 解决办法&#xff08;临时&#xff09;&#xff1a; 修改ambari-server的前端文件&#xff1a;/usr/lib/ambari-server/web/javascripts/app.js 原代码&#xff1a; initNavigationBar: function () {if (App.get(r…

高效数据集成:钉钉与企业系统无缝对接

钉钉数据集成案例分享&#xff1a;鸿巢基础资料-供应商账号(删除操作) 在企业信息化管理中&#xff0c;数据的准确性和及时性至关重要。本文将聚焦于一个具体的系统对接集成案例——钉钉数据集成到钉钉&#xff0c;详细探讨如何通过轻易云数据集成平台实现“鸿巢基础资料-供应…

第六届地博会开幕,世界酒中国菜美食文化节同期启幕推动地标发展

第六届知交会暨地博会开幕&#xff0c;辽黔欧三地馆亮点纷呈&#xff0c;世界酒中国菜助力地理标志产品发展 第六届知交会暨地博会盛大开幕&#xff0c;多地展馆亮点频出&#xff0c;美食文化节同期启幕推动地标产业发展 12月9日&#xff0c;第六届粤港澳大湾区知识产权交易博…

CVMJ 2024 | StyleDiffusion: 基于Prompt嵌入的真实图像反演和文本编辑

论文&#xff1a;《StyleDiffusion: Prompt-Embedding Inversion for Text-Based Editing》 代码&#xff1a;https://github.com/sen-mao/StyleDiffusion​https://github.com/sen-mao/StyleDiffusion​ 问题背景 已有一些工作利用预训练扩散模型进行真实图像的编辑。这些方…

Cisco Packet Tarcer配置计网实验笔记

文章目录 概要整体架构流程网络设备互连基础拓扑图拓扑说明配置步骤 RIP/OSPF混合路由拓扑图拓扑说明配置步骤 BGP协议拓扑图拓扑说明配置步骤 ACL访问控制拓扑图拓扑说明配置步骤 HSRP冗余网关拓扑图拓扑说明配置步骤 小结 概要 一些环境配置笔记 整体架构流程 网络设备互连…

conda学习

参考: Anaconda 官网教程 https://freelearning.anaconda.cloud/get-started-with-anaconda/18202conda配置虚拟环境/conda环境迁移/python环境迁移 https://blog.csdn.net/qq_43369406/article/details/127140839 环境&#xff1a; macOS 15.2Anaconda Navigator 2.4.2 x.1…

C/C++中的宏定义

在C程序中&#xff0c;可以用宏代码提高执行效率。宏代码本身不是函数&#xff0c;但使用起来像函数。预处理器用复制宏代码的方式代替函数调用&#xff0c;省去了参数压栈、生成汇编语言的CALL调用、返回参数、执行return等过程&#xff0c;从而提高了速度&#xff0c;避免函数…

JAVA:访问者模式(Visitor Pattern)的技术指南

1、简述 访问者模式(Visitor Pattern)是一种行为型设计模式,允许你将操作分离到不同的对象中,而无需修改对象本身的结构。这种模式特别适合复杂对象结构中对其元素进行操作的场景。 本文将介绍访问者模式的核心概念、优缺点,并通过详细代码示例展示如何在实际应用中实现…

【安卓开发】【Android Studio】启动时报错“Unable to access Android SDK add-on list”

一、问题描述 在启动Android Studio时&#xff0c;软件报错&#xff1a;Unable to access Android SDK add-on list&#xff0c;报错截图如下&#xff1a; 二、原因及解决方法 初步推测是由于网络节点延迟&#xff0c;无法接入谷歌导致的。点击Cancel取消即可。