element-ui tabs+table 实现点击表格切换标签页

news2024/11/26 4:50:43

客户需求:点击主任务标签页中的表格 跳转到子任务所在的标签页

代码:

表格部分:

<el-tabs type="border-card" :active-name="currentTab" @tab-click="handleTabClick">
       <el-tab-pane class="table1" label="领料单状态" name="tab1">
         <el-table
             ref="singleTable"
             :data="tableData"
             highlight-current-row
             @current-change="handleCurrentChange"
             style="width: 100%">
           <el-table-column
               property="materialNum"
               align="center"
               label="领料单号">
           </el-table-column>
           <el-table-column
               property="partNo"
               align="center"
               label="物料号">
           </el-table-column>
           <el-table-column
               property="batchNo"
               align="center"
               label="批次号">
           </el-table-column>
           <el-table-column
               property="requirement"
               align="center"
               label="需求数量">
           </el-table-column>
           <el-table-column
               property="assigned"
               align="center"
               label="已分配数量">
           </el-table-column>
           <el-table-column
               property="delisted"
               align="center"
               label="已下架">
           </el-table-column>
           <el-table-column
               property="noOutput"
               align="center"
               label="未出库数量">
           </el-table-column>
         </el-table>
       </el-tab-pane>
       <el-tab-pane class="table1" label="单托配送状态" name="tab2">
         <template v-if="currentDetail">
           <el-table
               :data="currentDetail"
               style="width: 100%"
           >
             <el-table-column
                 prop="materialCode"
                 align="center"
                 label="领料单号"
             />
             <el-table-column
                 prop="partNo"
                 align="center"
                 label="物料号"
             />
             <el-table-column
                 prop="batchNo"
                 align="center"
                 label="批次号"
             />
             <el-table-column
                 prop="state"
                 align="center"
                 label="当前状态"
             />
             <el-table-column
                 prop="robotCode"
                 align="center"
                 label="分配车辆"
             />
           </el-table>
         </template>
         <template v-else>
          <div class="txt">请先选择一条领料单</div>
         </template>
       </el-tab-pane>
     </el-tabs>

表格的数据结构:

 tableData: [{
        materialNum: '23745',
        partNo: '001',
        batchNo: '240403',
        requirement: 16000,
        assigned: 12000,
        delisted:0,
        noOutput: 4000,
        detail:[
      {partNo: '001', materialCode: '23745', state: '未出库',batchNo:'240403',robotCode: 101},
      {partNo: '001', materialCode: '23745', state: '未出库',batchNo:'240403',robotCode: 101},
      {partNo: '001', materialCode: '23745', state: '已送达',batchNo:'240403',robotCode: 101},
      {partNo: '001', materialCode: '23745', state: '出库中',batchNo:'240403',robotCode: 101}
    ]
  }]

  currentRow: null, // 当前选中行
      currentDetail: null, // 当前选中行的detail 也就是子任务的内容
      currentTab: 'tab1',  // 当前标签

 逻辑部分:

 watch: {   //监听点击表格的变化
    currentRow: {
      handler(newVal) {
        console.log('newVal',newVal)
        console.log('赋值之前currentTab',this.currentTab)
        if (newVal) {
          this.currentTab = 'tab2'; // 切换到第二个tab
          console.log('赋值之后currentTab',this.currentTab)

          this.currentDetail = newVal.detail; // 确保currentDetail是当前行的detail
        }
      },
      immediate: false, // 不立即执行
      deep: true, // 深度监听,如果currentRow是对象,确保能监听到内部属性的变化
    },
  },
  mounted() {
    this.currentTab = 'tab1'  // 设置默认显示的tab页
},
 methods: {
    handleCurrentChange(val) {
      this.currentRow = val;
      console.log('当前选中行',this.currentRow)
      if (val) {
        this.currentDetail = val.detail;
      }
    },
    handleTabClick(tab) {
      // tab.name 会包含当前选中标签的名字,这里手动同步currentTab
      this.currentTab = tab.name;
      console.log('当前选中标签:', tab.name);
    },
}

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

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

相关文章

你还不会选ProfiNET和EtherCAT网线?

在现代工业自动化领域&#xff0c;ProfiNET和EtherCAT是两种非常流行的通信协议。选择合适的网线对于确保通信的稳定性和效率至关重要。 ProfiNET是什么&#xff1f; ProfiNET是一种基于以太网的通信协议&#xff0c;由德国西门子公司开发。它支持实时通信&#xff0c;广泛应用…

为什么建议多用组合少用继承

在面向对象编程中&#xff0c;组合&#xff08;Composition&#xff09;和继承&#xff08;Inheritance&#xff09;是两种实现代码复用的基本方法。以下是为什么通常建议多用组合而少用继承的一些原因&#xff1a; 灵活性与可扩展性 松耦合&#xff1a;组合通过将一个类的功…

使用SpringBoot对接Kafka

Kafka是什么&#xff0c;以及如何使用SpringBoot对接Kafka 一、Kafka与流处理 我们先来看看比较正式的介绍&#xff1a;Kafka是一种流处理平台&#xff0c;由LinkedIn公司创建&#xff0c;现在是Apache下的开源项目。Kafka通过发布/订阅机制实现消息的异步传输和处理。它具有高…

Shell脚本(.sh文件)如何执行完毕之后不自动关闭?

Shell脚本异常傲娇&#xff0c;出错后、执行完根本不给你机会让你查看报错信息、输出信息&#xff0c;直接闪退。 废话不多说&#xff0c;调教方法如下&#xff0c;直接在Shell脚本末尾加上如下代码&#xff1a; 1、实现方式一 1.1 使用read命令达到类似bat中的pause命令效果…

构建全面框架 | 简化基因组+线粒体遗传进化联合分析

近日&#xff0c;凌恩生物客户河北农业大学、浙江大学及英国格林威治大学的研究团队合作&#xff0c;在《Insect Science》杂志上发表了题为“A comprehensive framework for the delimitation of species within the Bemisia tabaci cryptic complex, a global pest-species g…

LaTeX 的使用

文章目录 TeX 编辑器文档类型中文编译文档结构preamble 导言区&#xff08;不能放正文内容&#xff09;document body 正文区 正文内容目录段落列表无序列表有序列表 图片表格交叉引用段落图片表格 转义符 数学公式数学符号行内公式行间公式有公式计数器无公式计数器 公式包含文…

OpenGL3.3_C++_Windows(11)

git submodule项目子模块 Git Submodule &#xff08;子模块的代码并不直接存储在父仓库中&#xff0c;而是通过一个指针来维护&#xff09;克隆含有子模块的仓库时&#xff0c;使用git管理Git Clone &#xff08;复制一份完整的Git仓库到本地&#xff09;若仓库包含子模块&am…

MyBatis基础教程

文章目录 一、MyBatis基本使用1.1简介1.2搭建MyBatis环境1.2.1安装MyBatis1.2.2创建MyBatis核心配置文件1.2.3创建mapper接口1.2.4创建MyBatis映射文件1.2.5实现增加功能 1.3整合log4j1.4修改与删除功能1.5查询功能1.5.1查询单个实体类对象1.5.2查询所有用户信息 二、核心配置文…

C# Secs源码 HsmsSecs测试

包含客户端和服务端 启动客户端和服务端即可互相模拟sece 通讯 也可使用secs仿真器进行测试 开启后进行相关操作&#xff0c;创建客户端连接仿真器进行操作 仿真器显示日志 相关文件&#xff0c;源码 4.9 私信即可或者看我博客描述那个地址 我是狗子&#xff0c;希望你幸…

Vue47-修改默认配置webpack.config.js文件

main.js是脚手架项目的入口文件&#xff0c;系统运行时&#xff0c;默认去找src下的main.js文件。这是webpack通过配置文件&#xff1a;webpack.config.js配置的。 脚手架把所有重要的配置文件都隐藏了&#xff0c;方式被开发者修改。 一、查看被隐藏的webpack配置 1-1、webpa…

Matlab进阶绘图第60期—带伪彩图的曲面图

带伪彩图的曲面图是曲面图与伪彩图的组合。 其中&#xff0c;伪彩图与曲面图的颜色用于表示同一个特征。 由于伪彩图无遮挡但不直观&#xff0c;曲面图直观但有遮挡&#xff0c;而将二者组合&#xff0c;可以实现优势互补。 本期就来分享一下带伪彩图的曲面图的绘制方法&…

韩兴国/姜勇团队在《Trends in Plant Science》发表植物根系氮素再分配的观点文章!

氮素是陆地生态系统中的关键限制性营养元素&#xff0c;通过生物固氮和土壤氮供应通常远低高等植物的氮需求。当土壤氮素供应无法充分满足植物茎叶生长需求时&#xff0c;植物会通过自身营养器官&#xff08;如根或根茎&#xff09;再分配来实现氮的内部循环和再利用。尽管植物…

App端接口用例设计方法和测试方法

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 前言 接口测试作为测试的重要一环&#xff0c;重点关注的是数据层面的输入输出&#xff0c;今天…

API接口设计的艺术:如何提升用户体验和系统性能

在数字时代&#xff0c;API接口的设计对于用户体验和系统性能有着至关重要的影响。良好的设计可以显著提升应用程序的响应速度、可靠性和易用性。以下是几个关键点&#xff0c;帮助改善API接口的设计&#xff1a; 1. 理解并定义清晰的要求 用户研究&#xff1a;与最终用户进行…

CesiumJS【Basic】- #006 浏览器控制台查看位置角度

文章目录 浏览器控制台查看位置角度1 目标 浏览器控制台查看位置角度 1 目标 浏览器控制台查看位置角度

详情资料SR560(斯坦福)SR570 低噪声前置放大器

SR560 低噪声前置放大器 SR560 是一款高性能、低噪声前置放大器&#xff0c;非常适合各种应用&#xff0c;包括低温测量、光学检测和音频工程。 输入 SR560 有一个差分前端&#xff0c;输入噪声为 4 nV/√Hz&#xff0c;输入阻抗为 100 MΩ。完整的噪声系数轮廓如下图所示。…

【笔记】复制Edge的网址粘贴后自动变成中文标题超链接

问题 1、从edge复制的网址粘贴直接显示网页内容名称而不是网址url。 2、复制任何网址粘贴到CSDN里面粘贴时直接转换成标题超链接&#xff08;很讨厌的功能习惯&#xff09;。 而如上两种问题不是互相影响的&#xff0c;就算设置了Edge的粘贴方式&#xff0c;复制到CSDN的文章…

【机器学习300问】120、该怎么用RNN来构建语言模型?

一、基本概念补充 在构建语言模型之前补充几个自然语言处理&#xff08;NLP&#xff09;基本概念。 &#xff08;1&#xff09;语料库&#xff08;Corpus&#xff09; ① 语料库的定义 在自然语言处理&#xff08;NLP&#xff09;领域&#xff0c;语料库是一个经过组织和加工…

自定义starter并发布maven私服

一、搭建nexus私服 nexus就是maven的私有服务器&#xff0c;这个搭建教程可以在网络上找到很多&#xff0c;这里就不赘述了。搭建完成之后再进行下一步 二、本地maven的setting配置文件中配置nexus的用户名和密码 <servers><server><id>nexus-releases<…

如何拥有自己的微信小程序

如何拥有自己的微信小程序 ~~话先放在这里~~ 写在前面申请一个属于自己的小程序先去[微信开放平台](https://open.weixin.qq.com/home)申请一个你的小程序扫码申请新小程序小程序该记好的个人信息 安装微信开发者工具下载工具关联你的小程序请求域名配置发布小程序 BUY一个自己…