vue 上传csv文件

index---------主页面(图1)

form-----------子页面(图2)

index.vue

 /** 重点!!!!

     * 获取表单组件传递的信息,传给后端接口

     * @param {从form表单传递的数据} datas

     * Files_Operation 接口名

     */

    GetCondition(datas) {

      const param = datas;

      this.test = datas.FileUrl; //cs

      //获取表单组件后,判断是新增/修改

      if (this.dialogTitle.search("上传") != -1) {

        //调用新增方法

        const formData = new FormData();

        formData.append("ID", param.ID);

        formData.append("FileName", param.FileName); //视频名称

        formData.append("FileType", param.FileType); //车辆类型

        formData.append("FileUrl", param.FileUrl); //序号

        formData.append("SortID", param.SortID); //序号

        console.log("给接口传参==", formData);

        this.$luleApi.Files_Operation(formData).then((res) => {

          console.log("res==", res);

          if (res.data.code == 200) {

            this.$message({

              message: "上传成功",

              type: "success",

            });

          } else {

            return;

          }

          this.$nextTick(() => {

            this.dialogVisible = false; //弹框关闭

            let param = { EquipmentType: this.EquipmentType };

            this.getTabledata(param); //刷新页面刷新数据

          });

        });

      }

    },

 form.vue 

<template><div class="DictForm"><el-formref="newFrom":form="form":model="newFrom":rules="rules"label-width="100px"style="padding-left: 7px"><el-form-item label="装备类型"><el-radio-group v-model="newFrom.FileType"><el-radiolabel="1"v-model="newFrom.EquipmentType">油泵车</el-radio><el-radiolabel="2"v-model="newFrom.EquipmentType">电源车</el-radio></el-radio-group></el-form-item><el-form-itemlabel="文件名称"prop="FileName"><el-inputv-model="newFrom.FileName"placeholder="请上传文件"readonly></el-input></el-form-item><el-form-item label="上传文件"><!-- accept 限制上传类型 --><el-uploadref="fileUpload"class="upload-demo"action="":on-change="handleChange":file-list="fileListUpload"accept=".csv,.txt":on-exceed="handleExceedVisio":auto-upload="false"><el-buttonsize="small"type="primary">点击上传</el-button></el-upload></el-form-item><el-form-itemlabel="排序"prop="SortID"><el-inputv-model="newFrom.SortID"type="number"min="0"placeholder="请输入序号"@input="changeInput(newFrom.SortID)"></el-input></el-form-item><el-form-item style="width: 100%;margin:0"><div class="footer-btn"><el-button @click="onclose()"><el-icon><FolderRemove /></el-icon>&ensp; 清 空</el-button><el-buttontype="primary"@click="onSubmit('newFrom')"><el-icon><Search /></el-icon>&ensp;提 交</el-button></div></el-form-item></el-form></div>
</template>
<script>
export default {props: ["form", "formID", "partend"],data() {return {fileListUpload: [],newFrom: {ID: "",ParentId: "",FileName: "1",FileType: "",FileUrl: "",FullName: "",FullPath: "",SortID: "",},rules: {FileName: [{required: true,message: "请上传文件",trigger: ["blur", "change"],},],SortID: [{required: true,message: "请输入序号",trigger: ["blur", "change"],},],},};},created() {if (JSON.stringify(this.form) == "{}") {this.newFrom = {};} else {this.newFrom = this.form;}},watch: {form(newVal, oldVal) {if (newVal && newVal.length == 0) {this.newFrom = {};} else {this.newFrom = newVal;}},partend: {deep: true,immediate: true,handler(n, o) {this.partendData = n;},},},mounted() {},methods: {//正则表达,判断数字changeInput(value) {this.newFrom.SortID = value.replace(/^[0]+[0-9]{1,}|[^\d]/g, "");},//#region 上传文件//文件上传成功时的钩子onSuccess(response, file, fileList) {this.$message.success("上传成功");// 处理上传成功后的逻辑,例如更新UI或者处理其他数据},//文件上传失败时的钩子onError(err, file, fileList) {console.log(err, file);this.$message.error("上传失败");// 处理上传失败后的逻辑},//改变handleChange(file, fileLists) {this.newFrom.FileUrl = file.raw; //文件流if (this.newFrom.FileUrl) {if (this.newFrom.FileUrl.type == ".csv" ||this.newFrom.FileUrl.type == "application/vnd.ms-excel" ||this.newFrom.FileUrl.type == "text/plain") {//名称回显this.newFrom.FileName = this.newFrom.FileUrl.name.split(".")[0];} else {this.$message({type: "warning",message: "附件格式错误,请删除后重新上传!",});}} else {this.$message({type: "warning",message: "请上传附件!",});}},//上传限制handleExceedVisio() {this.$message.warning(`当前限制选择 1 个文件,请删除后继续上传!`);},//#endregion//保存onSubmit(newFrom) {this.$refs[newFrom].validate((valid) => {if (valid) {this.$emit("fathernewFrom", this.newFrom); //把this.newFrom指传给父组件} else {return false;}});},//清空onclose() {(this.newFrom = {ID: "",ParentId: "",FileName: "",FileType: "",FileUrl: "",FullName: "",FullPath: "",SortID: "",}),this.$refs.newFrom.resetFields();// this.$emit("formClose", false);},},
};
</script>
<style scoped>
</style>

图1
图2

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

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

相关文章

【进阶六】Python实现SDVRPTW常见求解算法——离散粒子群算法(DPSO)

基于python语言&#xff0c;采用经典离散粒子群算法&#xff08;DPSO&#xff09;对 带硬时间窗的需求拆分车辆路径规划问题&#xff08;SDVRPTW&#xff09; 进行求解。 目录 往期优质资源1. 适用场景2. 代码调整2.1 需求拆分2.2 需求拆分后的服务时长取值问题 3. 求解结果4. …

关于运行阿里云直播Demo报的错

flutter --version dart --version 如何使用Flutter框架推流_音视频终端 SDK(Apsara Video SDK)-阿里云帮助中心MediaBox音视频SDK下载指南_音视频终端 SDK(Apsara Video SDK)-阿里云帮助中心 终端输入 dart pub --trace get --no-precompile 打印详细报错信息 详细咨询…

不再写满屏import导入

密密麻麻的import语句不仅仅是一种视觉上的冲击&#xff0c;更是对代码组织结构的一种考验。 我们是如何做到让import“占领满屏“的了&#xff0c;又该如何优雅地管理这些import语句呢&#xff1f; 本文将从产生大量import语句的原因、可能带来的问题以及如何优化和管理impo…

最优算法100例之47-从尾到头打印单链表

专栏主页:计算机专业基础知识总结(适用于期末复习考研刷题求职面试)系列文章https://blog.csdn.net/seeker1994/category_12585732.html 题目描述 从尾到头打印单链表 题解报告 方法1:头插法逆置单链表然后依次打印;注意此处是不带头结点的单链表,带头节点的操作稍微有…

Linux 网络排查命令

端口相关服务检查 netstat -ntpl|grep [$Port]说明&#xff1a;[$Port]为相应的端口号。 0.0.0.0代表本机上可用的任意地址。比如&#xff0c;0.0.0.0:80表示本机上所有地址的80端口。 tcp 0.0.0.0:80表示在所有的可用接口上监听TCP的80端口 如果返回结果为空&#xff0c;说明…

Python | Leetcode Python题解之第29题两数相除

题目&#xff1a; 题解&#xff1a; class Solution:def divide(self, dividend: int, divisor: int) -> int:INT_MIN, INT_MAX -2**31, 2**31 - 1# 考虑被除数为最小值的情况if dividend INT_MIN:if divisor 1:return INT_MINif divisor -1:return INT_MAX# 考虑除数为…

Spring ORM

Spring Data JPA 作为Spring Data 中对于关系型数据库支持的一种框架技术,属于 ORM 的一种,通过得当的使用,可以大大简化开发过程中对于数据操作的复杂度。 Java里面写的一段DB操作逻辑,是如何一步步被传递到 DB 中执行了的呢?为什么 Java 里面可以去对接不同产商的 DB 产…

仿真测试平台设计资料:921-6U CPCI卫星接口仿真测试平台

6U CPCI卫星接口仿真测试平台 一、设备概述 卫星接口仿真测试平台基于6U CPCI的结构&#xff0c;包含信号接口前板、后板&#xff0c;计算机主板、机箱、电源等硬件。硬件设计包括&#xff1a;信号接口前板、后板&#xff08;直接遥测遥控、串行RS422、LVDS&#xff0c;模拟量输…

Unity类银河恶魔城学习记录12-13 p135 Merge Skill Tree with Dogge skill源代码

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释&#xff0c;可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili​​​​​​​ Inventory.cs using System.Collections.Generic; using Un…

基于springboot实现房屋租赁管理系统设计项目【项目源码+论文说明】

基于springboot实现房屋租赁管理系统设计演示 摘要 互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#xff0c;而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播&#xff0c;搭配信息管理工具可以很好地为人们提供服务。针对房屋租赁信息管理混乱&…

[尚硅谷flink] 检查点笔记

在Flink中&#xff0c;有一套完整的容错机制来保证故障后的恢复&#xff0c;其中最重要的就是检查点。 文章目录 11.1 检查点11.1.1 检查点的保存1&#xff09;周期性的触发保存2&#xff09;保存的时间点3&#xff09;保存的具体流程 11.1.2 从检查点恢复状态11.1.3 检查点算法…

解读宁波TISAX:保障企业安全的关键

&#x1f352;宁波TISAX&#xff0c;❣️作为信息安全领域的&#x1f92d;重要认证体系&#xff0c;为企业&#x1f41e;提供了强大的&#x1f349;安全保障。&#x1f40b;TISAX&#xff0c;&#x1f697;全称为Trusted Information Security Assessment Exchange&#xff0c;…

【树哈希】CF1182D Complete Mirror

CF1182D - Complete Mirror Description 给定一个 n n n 个点的无根树&#xff0c;求一个树根 r o o t root root,使得对于任意两个节点 v 1 , v 2 v_1,v_2 v1​,v2​&#xff0c;若满足 d i s t ( v 1 , r o o t ) d i s t ( v 2 , r o o t ) dist(v_1,root)dist(v_2,ro…

都2024年了,线上部署你不会只会log 调试吧,Arthas了解下!

文章目录 一、什么是Arthas&#xff1f;⛅背景⚡Arthas能为我们做什么 二、部署Arthas三、Arthas 基础命令四、Arthas 项目命令实战⌚thread 线程阻塞⏰watch命令演示⚡cpu飙升演示⛽方法演示 &#x1f6a8;小结 一、什么是Arthas&#xff1f; Arthas 是一款线上监控诊断产品&a…

[Linux][基础IO][一][系统文件IO][文件描述符fd]详细解读

目录 0.预备知识1.系统文件I/O1.open2.write/read/close/lseek 2.文件描述符fd1.[0 & 1 & 2]2.什么是文件描述符&#xff1f;3.文件描述符的分配规则4.重定向5.使用dup2系统调用 -- 完成重定向6.FILE 0.预备知识 什么叫做文件呢&#xff1f; 站在系统的角度&#xff0…

解放双手,批量绕过403

将dirsearch扫描出来的结果复制到url.txt&#xff0c;如下所示 url.txt [21:18:16] 502 - 0B - /var/log/exception.log [21:18:21] 502 - 0B - /WEB-INF/jetty-env.xml [21:18:22] 502 - 0B - /WEB-INF/weblogic.xml [21:18:27] 502 - 0B - /wp-json/wp/v2/u…

Android IPC机制

在Android系统中&#xff0c;IPC&#xff08;Inter-Process Communication&#xff0c;进程间通讯&#xff09;是指在不同进程之间传送数据和通讯的机制。Android中的应用通常运行在独立的沙箱环境中的进程里&#xff0c;由于安全限制&#xff0c;这些进程无法直接访问彼此的内…

Ubuntu 22.04 开机自动挂载webdav - 设置开机自启脚本 - 解决坚果云webdav无写入权限

效果图&#xff1a; 前言&#xff1a; 1&#xff09;亲测/etc/fstab的办法没有成功自动挂载&#xff0c;换成传统的rc.local可以解决&#xff1b; 2&#xff09;rc-local.service是系统自带的一个开机自启服务&#xff0c;但是在 ubuntu 20.04 上&#xff0c;该服务默认没有开…

基于JSP的教务管理

摘要 随着现代技术的不断发展&#xff0c;计算机已经深度的应用到了当下的各个行业之中&#xff0c;教育行业也不例外。计算机对教育行业中的教务管理等内容的帮助&#xff0c;使得教职工从传统的手工办公像计算机辅助阶段迈进&#xff0c;并且实现了非常好的发展。现在的学校…

SDK-0.8.8-Release-版本+ApiMeta - ApiHug-Release

&#x1f917; ApiHug {Postman|Swagger|Api...} 快↑ 准√ 省↓ GitHub - apihug/apihug.com: All abou the Apihug apihug.com: 有爱&#xff0c;有温度&#xff0c;有质量&#xff0c;有信任ApiHug - API design Copilot - IntelliJ IDEs Plugin | Marketplace ​ 更…