子组件跳转父组件

描述:父组件Form.vue 点击关联,弹出子组件importForm.vue 选中一条数据之后,点击确定按钮,关闭子组件importForm.vue,将子组件的内容显示在父组件Form.vue中

选中第一条数据,点击确定

                                                父组件对应的工作内容就有了

 父组件

父组件跳转子组件

 this.$refs.子组件.子组件中的方法的方法名(父组件给子组件方法传的参数)

<el-input v-model="dataForm.LineAppFormId" placeholder="请点击输入框进行关联" clearable:style='{ "width": "100%" }' readonly @click.native="openAppForm()">
</el-input>
/*** 弹出线路申请单关联界面*/openAppForm() {// this.dataForm.LineAppFormId='';this.appFormVisible = true;this.$nextTick(() => {this.$refs.APPForm.sendParam(this.dataForm.LineAppFormId)})},
<APP-Form v-if="appFormVisible" ref="APPForm" @assignMent="assignMent" @func="hiddenAppForm"/>import APPForm from './appForm'export default {components: { APPForm, },}/*** 勾选中的数据进行表单赋值*/assignMent(param) {console.log('关联线路申请单关闭',param)this.appFormVisible = false;//线路申请单idthis.dataForm.LineAppFormId = param.id;//工作内容this.dataForm.workContent = param.workContent;},hiddenAppForm(){this.appFormVisible = false;},

子组件

子组件给父组件

this.$emit('父组件中方法的方法名', 子组件给父组件传的参数);
 sendParam(id) {if (id != null && id != '') {this.checkedId = id;}},/*** 列表复选框选中change事件* @author fuzibo* @date 2023-03-08* @copyright 上海柒志科技有限公司*/handleSelectionChange(val) {this.recordData = '';this.recordLenth = val.length;if (val.length > 1) {this.$message({message: '只能关联一条申请单数据',type: "error",duration: 1000,});return;}//记录勾选的数据this.recordData = val[0];console.log('勾选的数据为>>>', val)},//确定关联线路申请单dataFormSubmit() {if (this.recordLenth > 1 || this.recordLenth == '') {this.$message({message: '请关联一条申请单数据',type: "error",duration: 1000,});return;}this.visible = false;let data = this.recordData;//调用父组件进行传值this.$emit('assignMent', data);},
<template><el-dialog :before-close="closeDialog" title="线路申请单" :close-on-click-modal="false" append-to-body:visible.sync="visible" class="JNPF-dialog JNPF-dialog_center" lock-scroll width="75%"><div class="JNPF-common-layout"><div class="JNPF-common-layout-center"><el-row class="JNPF-common-search-box" :gutter="16"><el-form @submit.native.prevent><el-col :span="4"><el-form-item label="变电站"><el-select v-model="query.stationId" placeholder="请选择" clearable @change="stationNameChange"filterable><el-option v-for="(item, index) in stationIdOptions" :key="index" :label="item.name":value="item.id" :disabled="item.disabled"></el-option></el-select></el-form-item></el-col><el-col :span="4"><el-form-item label="设备名称"><el-input v-model="query.equipName" placeholder="请输入"></el-input></el-form-item></el-col></el-form></el-row><div class="JNPF-common-layout-main JNPF-flex-main"><JNPF-table ref="multipleTable" v-loading="listLoading" :data="list" @sort-change='sortChange' has-c@selection-change="handleSelectionChange"><el-table-column prop="voltageName" label="电压等级" min-width="50" align="center" /><el-table-column prop="stationName" label="变电站" min-width="60" align="center" /><el-table-column prop="equipName" label="回路" min-width="130" align="center" />
<!--                        <el-table-column prop="months" label="计划停电月份" min-width="70" align="center" />--><el-table-column label="开始日期" prop="workSTime" min-width="85" algin="center"><template slot-scope="scope">{{ scope.row.workSTime | toDate('yyyy-MM-dd HH:mm') }} {{ scope.row.beginTime }}</template></el-table-column><el-table-column label="结束日期" prop="workETime" min-width="85" algin="center"><template slot-scope="scope">{{ scope.row.workETime | toDate('yyyy-MM-dd HH:mm') }} {{ scope.row.endTime }}</template></el-table-column><el-table-column prop="operateState" label="停电状态" min-width="80" align="center" /><el-table-column prop="workContent" label="主要工作内容" min-width="300" align="left" /></JNPF-table><pagination :total="total" :page.sync="listQuery.currentPage" :limit.sync="listQuery.pageSize"@pagination="initData" /></div></div></div><span slot="footer" class="dialog-footer"><el-button @click="closeDialog()"> 取 消</el-button><el-button type="primary" @click="dataFormSubmit()"> 确 定</el-button></span></el-dialog>
</template>
<script>
//业务后台接口api方法,js文件存放的api目录由开发人员进行调整
import { listStation, listEquip, listWeeklyPlan } from "@/api/qizCust/information/common/common"export default {components: {},data() {return {visible: true,recordLenth: '',recordData: '',detailVisible: false,query: {stationId: undefined,equipName: undefined,equipId: undefined,workSTime: undefined,},treeProps: {children: 'children',label: 'fullName',value: 'id'},list: [],listLoading: true,total: 0,listQuery: {currentPage: 1,pageSize: 20,sort: "desc",sidx: "",},formVisible: false,exportBoxVisible: false,columnList: [{ prop: 'voltageName', label: '电压等级' },{ prop: 'stationId', label: '变电站' },{ prop: 'equipId', label: '回路名称' },// { prop: 'months', label: '计划停电月份' },{ prop: 'workSTime', label: '开始日期' },{ prop: 'workETime', label: '结束日期' },{ prop: 'operateState', label: '停电状态' },{ prop: 'workContent', label: '主要工作内容' },],stationIdOptions: [],stationIdProps: { "label": "fullName", "value": "id" },equipIdOptions: [],equipIdProps: { "label": "fullName", "value": "id" },checkedId: '',}},/*** 开启watch列表数据监听,自动勾选已选中的行数据*/watch: {listLoading: {handler(val) {if (!val) {this.$nextTick(() => {this.list.forEach(row => {if (this.checkedId === row.id) {this.$refs.multipleTable.$refs.JNPFTable.toggleRowSelection(row, true)}})})}},deep: true}},computed: {menuId() {return this.$route.meta.modelId || ''}},created() {//初始化列表数据this.initData()},methods: {sendParam(id) {console.log('关联表id',id)if (id != null && id != '') {this.checkedId = id;}},/*** 列表复选框选中change事件*/handleSelectionChange(val) {this.recordData = '';this.recordLenth = val.length;if (val.length > 1) {this.$message({message: '只能关联一条申请单数据',type: "error",duration: 1000,});return;}//记录勾选的数据this.recordData = val[0];console.log('勾选的数据为>>>', val)},//关闭线路申请单弹出框closeDialog() {this.visible = false;this.$emit('func', true);},//确定关联线路申请单dataFormSubmit() {if (this.recordLenth > 1 || this.recordLenth == '') {this.$message({message: '请关联一条申请单数据',type: "error",duration: 1000,});return;}this.visible = false;let data = this.recordData;//调用父组件进行传值this.$emit('assignMent', data);},/**
* 打开详情表单页面
*/goDetail(id) {this.detailVisible = truethis.$nextTick(() => {this.$refs.Detail.init(id)})},/*** 列表字段排序*/sortChange({ column, prop, order }) {this.listQuery.sort = order == 'ascending' ? 'asc' : 'desc'this.listQuery.sidx = !order ? '' : propthis.initData()},/*** 初始化加载列表数据*/initData() {this.listLoading = true;let _query = {...this.listQuery,...this.query,menuId: this.menuId};console.log('输入参数',_query)listWeeklyPlan(_query).then(res => {var _list = [];for (let i = 0; i < res.data.list.length; i++) {let _data = res.data.list[i];_list.push(_data)}this.list = _listthis.total = res.data.pagination.totalthis.listLoading = false})},/*** 执行查询*/search() {this.listQuery = {currentPage: 1,pageSize: 20,sort: "desc",sidx: "",}this.initData()},/*** 刷新列表数据*/refresh(isrRefresh) {this.formVisible = falseif (isrRefresh) this.reset()},/*** 重置查询条件*/reset() {for (let key in this.query) {this.query[key] = undefined}this.search()}}
}
</script>

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【新书推荐】当 Python 遇到 ChatGPT —— 自动化办公落地

文章目录 当 Python 遇到 ChatGPT&#xff1a;一种强大的组合1. 文本生成2. 自动翻译3. 对话生成4. 情感分析 新书推荐《Python自动化办公应用大全&#xff08;ChatGPT版&#xff09;&#xff1a;从零开始教编程小白一键搞定烦琐工作&#xff08;上下册&#xff09;》前言内容简…

pillow篇---pillow连续打开同一张图片会导致打开失败问题

如果你需要在多次操作同一张图像时避免出现缓存问题&#xff0c;你可以使用 Image.open() 方法的 seek() 方法将文件指针移动到图像数据的开头&#xff0c;以便重新读取图像数据。示例如下&#xff1a; from PIL import Image# 打开图像文件 image Image.open(example.jpg)# …

mysql面试题27:数据库中间件了解过吗?什么是sharding jdbc、mycat,并且讲讲怎么使用?

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:数据库中间件了解过吗,比如sharding jdbc、mycat? 我知道的数据库中间件有以下这些: MySQL Proxy:MySQL Proxy是一个开源的数据库中间件,它位…

Python学习笔记

1、缩进相同的一组语句构成一个代码块&#xff0c;称之为代码组 2、if 、while、def和class这样的复合语句&#xff0c;首行以关键字开始&#xff0c;以冒号(:)结束&#xff0c;该行之后的一行或者多行代码构成代码组 3、在python中无论输入的内容是数字还是字符&#xff0c;…

轻松实现视频、音频、文案批量合并,享受批量剪辑的便捷

在日常生活中&#xff0c;我们经常会需要将多个视频、音频和文案进行合并剪辑&#xff0c;以制作出符合我们需求的短视频。然而&#xff0c;这个过程通常需要花费大量的时间和精力。幸运的是&#xff0c;现在有一款名为“固乔智剪软件”的工具可以帮助我们轻松完成这个任务。 首…

CS5801电路设计|HDMI转EDP转接板方案|HDMI2.0转EDP数据采集卡方案

CS5801国产(北京集睿致远&#xff09;研发HDMI转DP/EDP(4K60)转换器方案芯片,其设计HDMI转EDP转接板方案电路&#xff1a; CS5801输入端可以是1080P、4K30、4K60HZ这三种规格,输出的接口可以是DP信号接口,或者是EDP信号接口,输入端HDMI由4路信号组成&#xff0c;支持1.62Gbps、…

asp.net电影院选座系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio

一、源码特点 asp.net电影院选座系统 是一套完善的web设计管理系统&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为vs2010&#xff0c;数据库为sqlserver2008&#xff0c;使用c#语言开发 asp.net电影院选座系统1 二、功能介…

flutter开发实战-inappwebview实现flutter与Javascript的交互JSBridge

flutter开发实战-inappwebview实现flutter与Javascript的交互JSBridge 在使用webview中&#xff0c;需要实现flutter与Javascript交互&#xff0c;在使用webview_flutter插件的时候&#xff0c;整理了一下webview与Javascript的交互JSBridge&#xff0c;具体可以查看 https:/…

jmeter添加断言(详细图解)

先创建一个线程组&#xff0c;再创建一个http请求。 为了方便观察&#xff0c;我们添加两个监听器&#xff0c;察看结果树和断言结果。 添加断言&#xff1a;响应断言&#xff0c;响应断言也是比较常用的一个断言 设置响应断言&#xff1a;正常情况下响应代码是200。选择响应代…

Linux虚拟机搭建RabbitMQ集群

普通集群模式&#xff0c;意思就是在多台机器上启动多个 RabbitMQ 实例&#xff0c;每台机器启动一个。创建的 queue&#xff0c;只会放在一个 RabbitMQ 实例上&#xff0c;但是每个实例都同步 queue 的元数据&#xff08;元数据可以认为是 queue 的一些配置信息&#xff0c;通…

web基础以及http协议

web基础&#xff0c;http协议 域名&#xff1a;www.88886.co DNS解析 静态页面 动态页面 DNS域名&#xff1a; 网络上的通信都是基于IP通信模式&#xff1a;TCP/IP TCP建立连接和断开连接&#xff0c;都是要双方进行确认的 建立连接&#xff1a;三次握手 断开连接&#x…

C++设计模式-装饰器(Decorator)

目录 C设计模式-装饰器&#xff08;Decorator&#xff09; 一、意图 二、适用性 三、结构 四、参与者 五、代码 C设计模式-装饰器&#xff08;Decorator&#xff09; 一、意图 动态地给一个对象添加一些额外的职责。就增加功能来说&#xff0c;Decorator模式相比生成子…

【Linux】Linux 之用户管理

Linux 之用户管理 1.Linux 下的用户2.配置文件3.用户管理3.1 useradd3.1.1 创建用户并指定用户 ID3.1.2 指定用户的主目录3.1.3 指定用户的主组 3.2 adduser3.3 userdel3.4 密码文件3.4.1 字段含义解释3.4.2 给用户添加密码 3.5 其他与用户相关的命令 4.修改用户的信息4.1 user…

VsCode 常见的配置、常用好用插件

1、自动保存&#xff1a;不用装插件&#xff0c;在VsCode中设置一下就行 2、设置ctr滚轮改变字体大小 3、设置选项卡多行展示 这样打开了很多个文件&#xff0c;就不会导致有的打开的文件被隐藏 4、实时刷新网页的插件&#xff1a;LiveServer 5、open in browser 支持快捷键…

云原生Kubernetes:简化K8S应用部署工具Helm

目录 一、理论 1.HELM 2.部署HELM2 3.部署HELM3 二、实验 1.部署 HELM2 2.部署HELM3 三、问题 1.api版本过期 2.helm初始化报错 3.pod状态为ImagePullBackOff 4.helm 命令显示 no repositories to show 的错误 5.Helm安装报错 6.git命令报错 7.CentOS 7 下git c…

028.Python面向对象_类补充_元类

我 的 个 人 主 页&#xff1a;&#x1f449;&#x1f449; 失心疯的个人主页 &#x1f448;&#x1f448; 入 门 教 程 推 荐 &#xff1a;&#x1f449;&#x1f449; Python零基础入门教程合集 &#x1f448;&#x1f448; 虚 拟 环 境 搭 建 &#xff1a;&#x1f449;&…

Linux防火墙

安全技术&#xff1a; 1、入侵检测机制&#xff1a; 特点&#xff1a;阻断、量化、定位来自内外的网络的威胁情况 提供报警和事后监督&#xff0c;类似于监控 2、入侵防御&#xff1a; 以透明模式工作 对数据包内容进行分析&#xff0c;对一切进入本机的内容进行防护&…

【Linux升级之路】7_进程信号

目录 一、【Linux初阶】信号入门 | 信号基本概念信号产生核心转储二、【Linux初阶】信号入门2 | 信号阻塞、捕捉、保存 一、【Linux初阶】信号入门 | 信号基本概念信号产生核心转储 链接&#xff1a; 【Linux初阶】信号入门 | 信号基本概念信号产生核心转储 二、【Linux初阶】…

聊聊分布式架构04——RPC通信原理

目录 RPC通信的基本原理 RPC结构 手撸简陋版RPC 知识点梳理 1.Socket套接字通信机制 2.通信过程的序列化与反序列化 3.动态代理 4.反射 思维流程梳理 码起来 服务端时序图 服务端—Api与Provider模块 客户端时序图 RPC通信的基本原理 RPC&#xff08;Remote Proc…

OSPF的7大状态和5大报文详讲

- Down OSPF的初始状态 - Init 初始化——我刚刚给别人发Hello报文 我们可以将OSPF邻居建立的过程理解为&#xff1a;我和你打招呼&#xff0c;你和我打招呼&#xff0c;然后咱俩成了邻居 比如&#xff1a; R1和R2要建立OSPF邻居 R1给R2发送了Hello报文&#xff0c;但是R1此时…