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

编辑, 抽成组件

问题 

错误思路:

1 dept不能修改, 用watch监听一下:赋值给新的变量进行修改,

问题: currentDept 发生改变, depth也发生了改变,因为是浅拷贝, 用了json.pase(json.stringify(value))

还有问题: 修改后,取消,再点进去,发现currentpet 还是变化后的值,

因为watch监听dept,你在进入编辑弹框,还是没有变化,不会重新赋值给currentDept。导致currentDept还是变化后的值

解决:

监听visible,而不是currentDept: 只要进入一次,就重新赋值

<template><el-dialogtop="48px"width="500"title="编辑销方信息":modelValue="visible"@close="handleClose()"><el-formref="ruleFormRef":model="ruleForm"label-width="150px"class="demo-ruleForm"status-icon><el-form-item label="分司名称: " prop="companyName"><div>{{ ruleForm.companyName }}</div></el-form-item><el-form-itemlabel="分公司全称: "prop="orgName":rules="{required: true,message: '请输入分公司全称',trigger: 'change'}"><el-input v-model="ruleForm.orgName" placeholder="请输入分公司全称" /></el-form-item><el-form-itemlabel="地址: "prop="address":rules="{required: true,message: '请输入地址',trigger: 'change'}"><el-input v-model="ruleForm.address" placeholder="请输入地址" /></el-form-item><el-form-itemlabel="纳税人识别号: "prop="taxNo":rules="{required: true,message: '请输入纳税人识别号',trigger: 'change'}"><el-input v-model="ruleForm.taxNo" placeholder="请输入纳税人识别号" /></el-form-item><el-form-itemlabel="电话: "prop="telPhone":rules="{required: true,message: '请输入电话',trigger: 'change'}"><el-input v-model="ruleForm.telPhone" placeholder="请输入电话" /></el-form-item><el-form-itemlabel="开户行: "prop="bankName":rules="{required: true,message: '请输入开户行',trigger: 'change'}"><el-input v-model="ruleForm.bankName" placeholder="请输入开户行" /></el-form-item><el-form-itemlabel="银行账号: "prop="bankNumber":rules="{required: true,message: '请输入银行账号',trigger: 'change'}"><el-input v-model="ruleForm.bankNumber" placeholder="请输入银行账号" /></el-form-item><el-form-itemlabel="开票点编码: "prop="openInvoiceCode":rules="{required: true,message: '请输入开票点编码',trigger: 'change'}"><el-input v-model="ruleForm.openInvoiceCode" placeholder="请输入开票点编码" /></el-form-item><el-form-itemlabel="电子票开票点编码: "prop="electronOpenInvoiceCode":rules="{required: true,message: '请输入电子票开票点编码',trigger: 'change'}"><el-input v-model="ruleForm.electronOpenInvoiceCode" placeholder="请输入电子票开票点编码" /></el-form-item><el-form-itemlabel="预开张数: "prop="invoicePreNum":rules="{required: true,message: '请输入预开张数',trigger: 'change'}"><el-input v-model="ruleForm.invoicePreNum" placeholder="请输入预开张数" /></el-form-item></el-form><template #footer><el-button @click="handleClose()">取消</el-button><el-button type="primary" @click="confirm(ruleFormRef)">保存</el-button></template></el-dialog>
</template><script setup lang="ts">
import type { FormInstance } from "element-plus"
import { editSellerInformation } from "@/api/sellerInformation/list"
let props = defineProps({visible: {type: Boolean,default: false},editData: {type: Object,default: () => ({})}
})
const ruleFormRef = ref<FormInstance>()
const ruleForm = reactive({companyId: "",companyName: "",orgName: "",address: "",taxNo: "",telPhone: "",bankName: "",bankNumber: "",openInvoiceCode: "",electronOpenInvoiceCode: "",invoicePreNum: ""
}) as any
const emits = defineEmits(["closeDialog"])
const handleClose = (getData?: boolean) => {emits("closeDialog", getData ? true : false)
}
watch(() => props.visible,(newVal) => {if (newVal) {ruleForm.companyId = props.editData.companyIdruleForm.companyName = props.editData.companyNameruleForm.orgName = props.editData.orgNameruleForm.address = props.editData.addressruleForm.taxNo = props.editData.taxNoruleForm.telPhone = props.editData.telPhoneruleForm.bankName = props.editData.bankNameruleForm.bankNumber = props.editData.bankNumberruleForm.openInvoiceCode = props.editData.openInvoiceCoderuleForm.electronOpenInvoiceCode = props.editData.electronOpenInvoiceCoderuleForm.invoicePreNum = props.editData.invoicePreNum}}
)
// 确定按钮
const confirm = async (formEl: FormInstance | undefined) => {if (!formEl) returnawait formEl.validate((valid, fields) => {if (valid) {editSellerInformation(ruleForm).then((res: any) => {if (res.code == 200) {ElMessage.success(res.msg)handleClose(true)} else {ElMessage.error(res.msg)}})} else {console.log("error submit!", fields)}})
}
</script><style scoped lang="scss">
.demo-ruleForm {padding-right: 30px;padding-bottom: 20px;
}
</style>

相关文章:

编辑, 抽成组件

问题 错误思路&#xff1a; 1 dept不能修改&#xff0c; 用watch监听一下&#xff1a;赋值给新的变量进行修改&#xff0c; 问题&#xff1a; currentDept 发生改变&#xff0c; depth也发生了改变&#xff0c;因为是浅拷贝&#xff0c; 用了json.pase(json.stringify(value…...

使用C#绘制具有平滑阴影颜色的曼德布洛特集分形

示例使用复数类在 C# 中轻松绘制曼德布洛特集分形解释了如何通过迭代方程绘制曼德布洛特集:...

【批量生成WORD和PDF文件】根据表格内容和模板文件批量创建word文件,一次性生成多个word文档和批量创建PDF文件

如何按照Word模板和表格的数据快速制作5000个word文档 &#xff1f; 在与客户的合作的中需要创建大量的合同&#xff0c;这些合同的模板大概都是一致的&#xff0c;是不是每次我们都需要填充不一样的数据来完成&#xff1f; 今天用表格数据完成合同模板的填充&#xff0c;批量…...

低延迟!实时处理!中软高科AI边缘服务器,解决边缘计算多样化需求!

根据相关统计&#xff0c;随着物联网的发展和5G技术的普及&#xff0c;到2025年&#xff0c;全球物联网设备连接数将达到1000亿&#xff0c;海量的计算数据使得传输到云端再处理的云计算方式显得更捉襟见肘。拥有低延迟、实时处理、可扩展性和更高安全性的边缘计算应运而生&…...

内旋风铣削知识再学习

最近被有不少小伙伴们问到蜗杆加工的一种方式——内旋风铣削加工。关于旋风铣之前出过一篇《什么是旋风铣&#xff1f;》&#xff0c;简要介绍了旋风铣&#xff08;Whilring&#xff09;的一些基本内容。本期再重新仔细聊一聊内旋风这种加工方式&#xff0c;可加工的零件种类&a…...

Redis 7.x如何安装与配置?保姆级教程

大家好&#xff0c;我是袁庭新。最新写了一套最新版的Redis 7.x企业级开发教程&#xff0c;今天先给大家介绍下Redis 7.x如何在Linux系统上安装和配置。 1 Redis下载与安装 使用非关系型数据库Redis必须先进行安装配置并开启Redis服务&#xff0c;然后使用对应客户端连接使用…...

SLAAC如何工作?

SLAAC如何工作&#xff1f; IPv6无状态地址自动配置(SLAAC)-常见问题 - 苍然满关中 - 博客园 https://support.huawei.com/enterprise/zh/doc/EDOC1100323788?sectionj00shttps://www.zhihu.com/question/6691553243/answer/57023796400 主机在启动或接口UP后&#xff0c;发…...

电脑丢失dll文件一键修复的多种方法分析,电脑故障修复攻略

电脑在使用过程中&#xff0c;有时会遇到DLL文件丢失的情况&#xff0c;这可能导致软件无法正常运行或系统出现故障。当面对这种状况时&#xff0c;不必过于慌张&#xff0c;因为有多种有效的修复方法可供选择。下面我们一起来看看电脑丢失dll文件的多种解决方法。 一.了解什么…...

Docker容器命令

docker 命令说明docker pull拉取镜像docker push推送镜像到DockerRegistrydocker images查看本地镜像docker rmi删除本地镜像docker run创建并运行容器&#xff08;不能重复创建&#xff09;docker stop停止指定容器docker start启动指定容器docker restart重新启动容器docker…...

【Leetcode 每日一题】3291. 形成目标字符串需要的最少字符串数 I

问题背景 给你一个字符串数组 w o r d s words words 和一个字符串 t a r g e t target target。 如果字符串 x x x 是 w o r d s words words 中 任意 字符串的 前缀&#xff08;字符串的前缀是从字符串的开头开始并延伸到其中任意点的子串&#xff09;&#xff0c;则认为…...

Windows聚焦壁纸代理不更新——解除UWP应用回环限制

开代理后经常出现Microsoft store打不开&#xff0c;聚焦壁纸不更新的情况&#xff0c;因为UWP应用默认禁止回环地址&#xff0c;导致开了代理以后不仅用不了代理上网&#xff0c;还把自己的本来的通信堵死了 打开CMD输入 FOR /F "tokens11 delims\" %p IN (REG QUER…...

电脑开机提示error loading operating system怎么修复?

前一天电脑还能正常运行&#xff0c;但今天启动时却显示“Error loading operating system”&#xff08;加载操作系统错误&#xff09;。我已经仔细检查了硬盘、接线、内存、CPU和电源&#xff0c;确认这些硬件都没有问题。硬盘在其他电脑上可以正常使用&#xff0c;说明不是硬…...

javaFX.(蜜雪冰城点餐小程序)MySQL数据库

学习Java只有3个月&#xff0c;不喜勿喷 该小程序是用的MySQL数据库&#xff0c;编辑软件用的equals,为什么不用idea有提示因为主打一个纯手打 要源码私信 目录 javafx.小程序&#xff08;蜜雪冰城点餐系统&#xff09;简介 主体思路 思路讲解 用户登录 用户注册 忘记…...

Unity Apple Vision Pro 开发教程:物体识别跟踪

Spatial XR 开发者社区官网&#xff1a;SpatialXR 社区 开发流程与原理&#xff1a;Apple Vision Pro 物体识别跟踪原理与开发流程【Unity Apple Vision Pro 开发系列教程】 PolySpatial 物体跟踪官方样例讲解&#xff1a;Unity Apple Vision Pro 开发教程&#xff1a;物体识别…...

nano编辑器的使用

nano 是一个非常简单易用的命令行文本编辑器&#xff0c;它常用于在 Linux 或类 Unix 系统中快速编辑文件&#xff0c;特别适用于需要修改配置文件或快速编辑文本的场景。以下是一些常见的 nano 使用技巧和基本操作。 1. 打开文件 要使用 nano 编辑文件&#xff0c;打开终端并…...

框架问题学习

1、gin 1.1、gin框架路由是怎么处理的 在 Gin 中&#xff0c;路由是通过 gin.Default() 或 gin.New() 创建的 *gin.Engine 对象来管理的。gin.Default() 是 gin.New() 的一个封装&#xff0c;它在创建路由对象时会自动添加一个默认的中间件&#xff08;如日志记录、恢复中间件…...

前端:纯前端快速实现html导出word和pdf

实现html导出word&#xff0c;需要使用两个库。 html-docx-js和file-saver 导出word的js方法 > npm install html-docx-js >npm install file-saver js引入 import FileSaver from “file-saver”; import htmlDocx from “html-docx-js/dist/html-docx”; /**导出…...

三相异步电动机如何调试?

在现代工业中&#xff0c;三相异步电动机因其结构简单、运行可靠和适应性强而被广泛应用。然而&#xff0c;正确的调试过程是确保电动机高效运行和延长其使用寿命的关键。 一、调试前的准备工作 在开始调试之前&#xff0c;必须进行充分的准备工作&#xff0c;以确保调试顺利…...

四川托普信息技术职业学院教案1

四川托普信息技术职业学院教案 【计科系】 周次 第 1周&#xff0c;第1次课 备 注 章节名称 第1章 XML语言简介 引言 1.1 HTML与标记语言 1.2 XML的来源 1.3 XML的制定目标 1.4 XML概述 1.5 有了HTML了&#xff0c;为什么还要发展XML 1.5.1 HTML的缺点 1.5.2 XML的特点 1.6 X…...

JS数组方法汇总

Array.from //将可迭代对象或字符串转换为数组 console.log(Array.from(1234)); //[ 1, 2, 3, 4 ]Array.isArray //判断是否是数组 Array.isArray([1])//trueArray.concat //用于合并两个或多个数组。此方法不会更改现有数组&#xff0c;而是返回一个新数组 let arr [1,2,3]…...

可靠性+灵活性:电力载波技术在楼宇自控中的核心价值

可靠性灵活性&#xff1a;电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中&#xff0c;电力载波技术&#xff08;PLC&#xff09;凭借其独特的优势&#xff0c;正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据&#xff0c;无需额外布…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置&#xff0c;使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...

用机器学习破解新能源领域的“弃风”难题

音乐发烧友深有体会&#xff0c;玩音乐的本质就是玩电网。火电声音偏暖&#xff0c;水电偏冷&#xff0c;风电偏空旷。至于太阳能发的电&#xff0c;则略显朦胧和单薄。 不知你是否有感觉&#xff0c;近两年家里的音响声音越来越冷&#xff0c;听起来越来越单薄&#xff1f; —…...

mac 安装homebrew (nvm 及git)

mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用&#xff1a; 方法一&#xff1a;使用 Homebrew 安装 Git&#xff08;推荐&#xff09; 步骤如下&#xff1a;打开终端&#xff08;Terminal.app&#xff09; 1.安装 Homebrew…...

AI语音助手的Python实现

引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...

MySQL的pymysql操作

本章是MySQL的最后一章&#xff0c;MySQL到此完结&#xff0c;下一站Hadoop&#xff01;&#xff01;&#xff01; 这章很简单&#xff0c;完整代码在最后&#xff0c;详细讲解之前python课程里面也有&#xff0c;感兴趣的可以往前找一下 一、查询操作 我们需要打开pycharm …...

渗透实战PortSwigger Labs指南:自定义标签XSS和SVG XSS利用

阻止除自定义标签之外的所有标签 先输入一些标签测试&#xff0c;说是全部标签都被禁了 除了自定义的 自定义<my-tag onmouseoveralert(xss)> <my-tag idx onfocusalert(document.cookie) tabindex1> onfocus 当元素获得焦点时&#xff08;如通过点击或键盘导航&…...

Yii2项目自动向GitLab上报Bug

Yii2 项目自动上报Bug 原理 yii2在程序报错时, 会执行指定action, 通过重写ErrorAction, 实现Bug自动提交至GitLab的issue 步骤 配置SiteController中的actions方法 public function actions(){return [error > [class > app\helpers\web\ErrorAction,],];}重写Error…...

【记录坑点问题】IDEA运行:maven-resources-production:XX: OOM: Java heap space

问题&#xff1a;IDEA出现maven-resources-production:operation-service: java.lang.OutOfMemoryError: Java heap space 解决方案&#xff1a;将编译的堆内存增加一点 位置&#xff1a;设置setting-》构建菜单build-》编译器Complier...