当前位置: 首页 > article >正文

前端vue打开多个窗口,关闭窗口后才继续执行后续逻辑

1.打开第一个弹窗

弹窗的按钮代码

2.点击窗口1中按钮,打开新的窗口

 // 请领单按钮点击
async cb_6_delClick() {let ls_yfbm = this.st_3Value.BMBMlet pstring = {}pstring.a = ls_yfbmpstring.b = this.queryFormDialog.outDepotDeptCodeawait this.openwithparm_w_md_ckgl_lyjh_yfly(pstring)// 防止此方法多次被调用已打开窗口if (!this.dialog_uo_3) {this.dialog_uo_3 = true}await new Promise((resolve) => {this.$watch('dialog_uo_3', (newVal) => {if (newVal === false) {resolve();}});});// 出库数量大于库存数量时,将出库数量改成库存数量for (let i = 0; i < this.adviceTableCalc.length; i++) {let ldc_cksl = this.adviceTableCalc[i].CKSLlet ldc_kcsl = this.adviceTableCalc[i].KCSLif (ldc_cksl > ldc_kcsl) {this.adviceTableCalc[i].CKSL = ldc_kcsl} else {this.adviceTableCalc[i].XH = i}}},
// 下面这一行代码是打开窗口前的一些逻辑,可以不用管不是该博客要讨论的重点
await this.openwithparm_w_md_ckgl_lyjh_yfly(pstring)
// 下面这一行代码的执行会打开第2个窗口this.dialog_uo_3 = true

第2个窗口代码 

 

3.打开的第2个窗口 

 第2个窗口的确定按钮点击以后会关闭,那么就会展示第1个窗口了

可以看到方法 saveDialog_cb_3()方法的最后一行执行了关闭第2个窗口的操作 this.dialog_uo_3 = false

// 请领单确定按钮点击async saveDialog_cb_3() {let lb_init, lstr_rtn, ll_find, ll_drbm, ls_ksmcawait this.cb_4_w_md_ckgl_lyjh_yfly()// todo// w_md_ckgl_fygl_fyxz_yfly.dw_1.reset()// w_md_ckgl_fygl_fyxz_yfly.dw_2.reset()this.dw_1_qld.map(item => {if (item.XZ === 1) {ll_find = item}})if (validatenotnull(ll_find)) {ll_drbm = ll_find.DRBMls_ksmc = ll_find.KSMC// todo// w_md_ckgl_fygl_fyxz_yfly.uo_gys.uf_settext(string(ll_drbm),ls_ksmc)}if (this.orgName != '湖北中医药大学国医堂' || this.orgName != '湖北中医药大学黄家湖医院') {// todo 8.0没有找到sle_bz这个控件,is_djh这个值8.0是在wf_bzxx()方法赋值的// w_md_ckgl_fygl_fyxz_yfly.sle_bz.text = this.is_djh}console.log("this.dw_ckmx_temp:",this.dw_ckmx_temp)this.dw_ckmx_temp.forEach(item => {this.adviceTableCalc.push(item)})this.dw_ckmx.forEach(item => {this.applyTable.push(item)this.applyTableCalc.push(item)})this.applyTable = this.applyTable.map((item, index) => {return {...item,id: index}})this.applyTableCalc = this.applyTableCalc.map((item, index) => {return {...item,id: index}})this.adviceTableCalc = this.adviceTableCalc.map((item, index) => {return {...item,id: index}})// 初始化制空this.dw_ckmx_temp = []this.dw_ckmx = []this.$nextTick(() => {this.$refs.adviceTableCalc_03_04_07.setCurrentRowByIndex(0);this.dialogRowClick_04_03_07(this.adviceTableCalc[0])})this.dialog_uo_3 = false},

那么此时这一段代码会监听到 dialog_uo_3的值变成了false也就是我们的第2个窗口被关闭了,就会继续执行在第一个窗口打开第2个窗口等待第2个窗口关闭才继续执行的阻塞效果。

 await new Promise((resolve) => {
        this.$watch('dialog_uo_3', (newVal) => {
          if (newVal === false) {
            resolve();
          }
        });
      });

所以下面这一段代码只有在第2个窗口被关闭时才会继续执行,否则一直阻塞等待窗口关闭 

 // 出库数量大于库存数量时,将出库数量改成库存数量
      for (let i = 0; i < this.adviceTableCalc.length; i++) {
        let ldc_cksl = this.adviceTableCalc[i].CKSL
        let ldc_kcsl = this.adviceTableCalc[i].KCSL
        if (ldc_cksl > ldc_kcsl) {
          this.adviceTableCalc[i].CKSL = ldc_kcsl
        } else {
          this.adviceTableCalc[i].XH = i
        }
      }

相关文章:

前端vue打开多个窗口,关闭窗口后才继续执行后续逻辑

1.打开第一个弹窗 弹窗的按钮代码 2.点击窗口1中按钮&#xff0c;打开新的窗口 // 请领单按钮点击 async cb_6_delClick() {let ls_yfbm this.st_3Value.BMBMlet pstring {}pstring.a ls_yfbmpstring.b this.queryFormDialog.outDepotDeptCodeawait this.openwithparm_w_md…...

「深度拆解」Spring Boot如何用DeepSeek重构MCP通信层?从线程模型到分布式推理的架构进化

什么是MCP&#xff1f; MCP&#xff08;Model Context Protocol&#xff0c;模型上下文协议&#xff09;是由Anthropic公司于2024年11月推出的开放标准协议&#xff0c;旨在为大型语言模型&#xff08;LLM&#xff09;与外部数据源、工具及系统提供统一的交互接口&#xff0c;被…...

如何避免在前端项目中出现重复的第三方依赖包?

在现代前端开发中&#xff0c;**重复的第三方依赖包&#xff08;Duplicate Dependencies&#xff09;**是导致项目体积膨胀、加载速度变慢、构建时间延长的常见问题。尤其在使用模块打包工具&#xff08;如 Webpack、Vite、Rollup&#xff09;时&#xff0c;若项目或其依赖的库…...

Java开发中复用公共SQL的方法

在一次Java后端开发的面试中&#xff0c;面试官问了我一个问题&#xff1a;“你在写代码时会复用公共SQL吗&#xff1f;如果会的话&#xff0c;能详细介绍一下你是如何实现的吗&#xff1f;”这个问题让我眼前一亮&#xff0c;因为在实际项目中&#xff0c;SQL复用确实是一个非…...

【西门子杯工业嵌入式-2-点亮一颗LED】

西门子杯工业嵌入式-2-点亮一颗LED 一、课程回顾与目标1.上节课内容回顾2.本节课目标 二、硬件连接与原理1. 硬件连接方式2. 连接实例 三、GPIO原理知识1. GPIO结构2. 推挽输出模式原理 四、软件实现步骤1. 项目结构设置2. 函数定义3. led.c 文件编写初始化函数 led_init交替闪…...

代码随想录算法训练营第60期第五十五天打卡

大家好&#xff0c;我们今天继续我们图论的部分&#xff0c;其实我们昨天是主要讲解了深搜与广搜的理论基础&#xff0c;我们大体上了解了两种算法的差异与适用情景&#xff0c;今天我们就继续我们的图论的章节&#xff0c;以后几天的题目是图论中比较有名的问题叫做岛屿问题&a…...

重磅更新! 基于Gemini 2.5 Pro打造的AI智能体PlantUML-X上线!

目录 图表绘制AI智能体PlantUML-X上线通过简单的提示词创建各种UML图&#xff1a;轻松搞定其它类型的技术图表&#xff1a; AI智能体PlantUML-X功能实测画一个在Java中的一个简单的用户登录功能的时序图效果展示&#xff1a;根据详细内容生成系统架构图效果展示&#xff1a;效果…...

[5-02-04].第01节:Jmeter环境搭建:

JMeter笔记大纲 Jmeter依赖于JDK&#xff0c;所以必须确保当前计算机上已经安装了JDK&#xff0c;并且配置了环境变量 一、JMeter概述&#xff1a; 1.1.JMeter是什么&#xff1a; JMeter是Appache组织使用java开发的一款测试工具 可以用于对服务器、网络或对象模拟巨大的负载…...

AI智能推荐实战之RunnableParallel并行链

导读&#xff1a;在现代AI应用开发中&#xff0c;如何高效处理多维度数据分析始终是开发者面临的核心挑战。当您需要同时进行情感分析、关键词提取和实体识别&#xff0c;或者要对比多个AI模型的输出结果时&#xff0c;传统的串行处理方式往往效率低下。 本文将深入解析LangCha…...

windows server2019 不成功的部署docker经历

由于现场网络限制&#xff0c;需要将docker 容器部署到windows-server 2019上 1.在windows server 2019上安装 docker-desktop,貌似内核版本太低&#xff0c;无法安装&#xff0c;g 然后曲线救国&#xff0c;window server 2019安装docker&#xff0c;折腾了半天&#xff0c;貌…...

Gemini开源项目DeepResearch:基于LangGraph的智能研究代理技术原理与实现

引言 在人工智能快速发展的今天&#xff0c;如何构建一个能够进行深度研究、自主学习和迭代优化的AI系统成为了技术前沿的重要课题。Gemini开源的DeepResearch一周收获7.9k Star&#xff0c;Google的开源项目Gemini DeepResearch技术通过结合LangGraph框架和Gemini大语言模型&…...

React状态管理Context API + useReducer

在 React 中&#xff0c;Context API useReducer 是一种轻量级的状态管理方案&#xff0c;适合中小型应用或需要跨组件共享复杂状态的场景。它避免了 Redux 的繁琐配置&#xff0c;同时提供了清晰的状态更新逻辑。 1. 基本使用步骤 (1) 定义 Reducer 类似于 Redux 的 reduce…...

【无标题】路径着色问题的革命性重构:拓扑色动力学模型下的超越与升华

路径着色问题的革命性重构&#xff1a;拓扑色动力学模型下的超越与升华 一、以色列路径着色模型的根本局限 mermaid graph TB A[以色列路径着色模型] --> B[强连通约束] A --> C[仅实边三角剖分] A --> D[静态色彩分配] B --> E[无法描述非相邻关系] C --> F[忽…...

Doris Catalog 联邦分析查询性能优化:从排查到优化的完整指南

在大数据分析中&#xff0c;Doris 的 Catalog 联邦分析功能为整合多源数据提供了有力支持。然而&#xff0c;在实际应用中&#xff0c;可能会遇到各种问题影响其正常运行。本文将详细剖析这些问题并提供解决方案。 一、联邦分析查询慢&#xff1a;内外表通用排查逻辑 当遇到 …...

01 Deep learning神经网络的编程基础 二分类--吴恩达

二分类 1. 核心定义 二分类任务是监督学习中最基础的问题类型&#xff0c;其目标是将样本划分为两个互斥类别。设样本特征空间为 X ⊆ R n \mathcal{X} \subseteq \mathbb{R}^n X⊆Rn&#xff0c;输出空间为 Y { 0 , 1 } \mathcal{Y} \{0,1\} Y{0,1}&#xff0c;学习目标为…...

视频自动化分割方案:支持按时间与段数拆分

在日常视频处理任务中&#xff0c;如何快速将一个较长的视频文件按照指定规则拆分为多个片段&#xff0c;是许多用户都会遇到的问题。尤其对于需要批量处理视频的开发者、自媒体运营者或内容创作者来说&#xff0c;手动剪辑不仅效率低下&#xff0c;还容易出错。这是一款绿色免…...

Open SSL 3.0相关知识以及源码流程分析

Open SSL 3.0相关知识以及源码流程分析 编译 windows环境编译1、工具安装 安装安装perl脚本解释器、安装nasm汇编器(添加到环境变量)、Visual Studio编译工具 安装dmake ppm install dmake # 需要过墙2、开始编译 # 1、找到Visual Studio命令行编译工具目录 或者菜单栏直接…...

股指期货合约价值怎么算?

股指期货合约价值就是你买一手股指期货合约&#xff0c;理论上值多少钱。这个价值是根据期货的价格和合约乘数来计算的。就好比你买了一斤苹果&#xff0c;价格是5块钱一斤&#xff0c;那你买一斤就得付5块钱。股指期货也是一样&#xff0c;只不过它的计算稍微复杂一点点。 一…...

【QT】使用QT帮助手册找控件样式

选择帮助—》输入stylesheet(小写)—》选择stylesheet—》右侧选择Qt Style Sheets Reference 2.使用CtrlF—》输入要搜索的控件—》点击Customizing QScrollBar 3.显示参考样式表–》即可放入QT-designer的样式表中...

计算机网络(5)——数据链路层

1.概述 数据链路层负责一套链路上从一个节点向另一个物理链路直接相连的相邻节点传输数据报。换言之&#xff0c;主要解决相邻节点间的可靠数据传输 节点(nodes)&#xff1a;路由器和主机 链路(links)&#xff1a;连接相邻节点的通信信道 2.数据链路层服务 2.1 组帧 组帧(fra…...

VuePress完美整合Toast消息提示

VuePress 整合 Vue-Toastification 插件笔记 记录如何在 VuePress 项目中整合使用 vue-toastification 插件&#xff0c;实现优雅的消息提示。 一、安装依赖 npm install vue-toastification或者使用 yarn&#xff1a; yarn add vue-toastification二、配置 VuePress 客户端增…...

JVM 调优参数详解与实践

JVM 是 Java 程序性能的关键,合理的调优可以显著提升系统稳定性和吞吐量。本文将从基础参数出发,结合线上生产实践,对常用调优参数进行深入剖析与实战分享。 一、JVM内存结构概览 在进行JVM参数调优前,了解JVM内存结构非常关键 堆内存(Heap):用于存储对象,是GC主要处理…...

adb 连不上真机设备问题汇总

问题一、无法弹出 adb 调试授权弹窗 详细描述&#xff1a; 开发者选项中已打开 usb 调试&#xff0c;仅充电模式下 usb 调试也已打开&#xff0c;电脑通过 usb 连上手机后&#xff0c;一直弹出 adb 调试授权弹窗&#xff0c;尝试取消授权再次连接&#xff0c;还是无法弹出问题…...

[yolov11改进系列]基于yolov11引入注意力机制SENetV1或者SENetV2的python源码+训练源码

本文给大家带来的改进机制是SENet&#xff08;Squeeze-and-Excitation Networks&#xff09;其是一种通过调整卷积网络中的通道关系来提升性能的网络结构。SENet并不是一个独立的网络模型Q&#xff0c;而是一个可以和现有的任何一个模型相结合的模块&#xff08;可以看作是一种…...

鸿蒙仓颉语言开发实战教程:商城搜索页

大家好&#xff0c;今天要分享的是仓颉语言商城应用的搜索页。 搜索页的内容比较多&#xff0c;都有点密集恐惧症了&#xff0c;不过我们可以从上至下将它拆分开来&#xff0c;逐一击破。 导航栏 搜索页的的最顶部是导航栏&#xff0c;由返回按钮和搜索框两部分组成,比较简单…...

上门服务小程序会员系统框架设计

逻辑分析 会员注册与登录&#xff1a;用户需要能够通过小程序进行会员注册&#xff0c;提供必要信息如手机号码、密码等&#xff0c;注册成功后可登录系统。会员信息管理&#xff1a;包括会员基本信息&#xff08;姓名、联系方式等&#xff09;的修改、查看&#xff0c;同时可能…...

图像去雾数据集总汇

自然去雾数据集 部分的数据清洗可以看这里&#xff1a;图像去雾数据集的下载和预处理操作 RESIDE-IN 将ITS作为训练集&#xff0c;SOTSindoor作为测试集。训练集13990对&#xff0c;验证集500对。 目前室内sota常用&#xff0c;最高已经卷到PSNR-42.72 最初应该是dehazefo…...

小程序引入deepseek

首先需要申请key: 地址 deepseek文档地址 使用wx.request获取数据 const task wx.request({url: https://api.deepseek.com/chat/completions,method: POST,responseType: text,headers: {Content-Type: application/json,Authorization: Bearer YOUR_API_KEY},dataType: te…...

网络攻防技术十四:入侵检测与网络欺骗

文章目录 一、入侵检测概述二、入侵系统的分类三、入侵检测的分析方法1、特征检测&#xff08;滥用检测、误用检测&#xff09;2、异常检测 四、Snort入侵检测系统五、网络欺诈技术1、蜜罐2、蜜网3、网络欺骗防御 六、简答题1. 入侵检测系统对防火墙的安全弥补作用主要体现在哪…...

C++笔记-C++11(一)

1.C11的发展历史 C11 是 C 的第⼆个主要版本&#xff0c;并且是从 C98 起的最重要更新。它引⼊了⼤量更改&#xff0c;标准化了既有实践&#xff0c;并改进了对 C 程序员可⽤的抽象。在它最终由 ISO 在 2011 年 8 ⽉ 12 ⽇采纳前&#xff0c;⼈们曾使⽤名称“C0x”&#xff0c;…...