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

最早做弹幕的网站响应式网站模板

最早做弹幕的网站,响应式网站模板,毕业设计指导网站开发,微信开发者模式在哪在前端开发中,数据比对是一个常见需求,尤其在资产管理等场景中。本文将基于 Vue.js 和 Element UI,通过一个简化的代码示例,展示如何实现“新建比对”和“开始比对”功能的核心部分。 一、功能简介 我们将聚焦两个核心功能&…

在前端开发中,数据比对是一个常见需求,尤其在资产管理等场景中。本文将基于 Vue.js 和 Element UI,通过一个简化的代码示例,展示如何实现“新建比对”和“开始比对”功能的核心部分。

一、功能简介

我们将聚焦两个核心功能:

  1. 新建比对:打开上传对话框,允许用户选择文件。
  2. 开始比对:上传文件并调用后端接口进行数据比对,同时展示进度。

以下是逐步拆分的实现细节。


二、核心代码实现

1. 新建比对

“新建比对”功能通过一个按钮触发,打开文件上传对话框。

模板部分

在页面中添加按钮和上传对话框:

<template><MainCard><!-- 新建比对按钮 --><el-row><el-col :span="24"><el-button type="primary" @click="openImportDialog" class="mg20">新建比对</el-button></el-col></el-row><!-- 导入对话框 --><el-dialog title="数据比对" :visible.sync="visible" width="800px" append-to-body><div class="importDialogBody"><p class="title">数据上传</p><div class="text-box"><el-uploadref="upload":limit="limit":on-remove="handleRemove":before-upload="handleBeforeUpload":on-change="handleFileChange":file-list="fileList":auto-upload="false"action="#"drag><i class="el-icon-upload"></i><div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div></el-upload></div></div><div slot="footer" class="dialog-footer"><el-button @click="visible = false">取消</el-button><el-button type="primary" @click="confirmImport" :loading="buttonLoading" :disabled="!fileRaw">开始比对</el-button></div></el-dialog></MainCard>
</template>
  • 点击“新建比对”按钮,调用 openImportDialog 方法打开对话框。
  • 对话框中包含一个 el-upload 组件,用户可拖拽或点击上传文件。
脚本部分

对应的逻辑如下:

<script>
export default {data() {return {visible: false, // 控制对话框显示buttonLoading: false, // 按钮加载状态fileRaw: null, // 上传的原始文件fileList: [], // 文件列表limit: 1 // 限制上传一个文件};},methods: {// 打开导入对话框openImportDialog() {this.visible = true;this.$nextTick(() => {this.resetUpload(); // 重置上传状态});},// 重置上传组件resetUpload() {this.$refs['upload'].clearFiles();this.fileList = [];this.fileRaw = null;},// 文件移除时更新状态handleRemove(file, fileList) {this.fileList = fileList;if (fileList.length === 0) this.fileRaw = null;},// 文件选择时更新状态handleFileChange(file, fileList) {this.fileRaw = file.raw;this.fileList = fileList;},// 文件上传前校验handleBeforeUpload(file) {if (!this.validFile(file)) {return false;}this.fileRaw = file;this.fileList = [file];return false; // 阻止自动上传},// 文件校验逻辑validFile(file) {let fileName = file.name;const isLt10M = file.size / 1024 / 1024 < 10;const fitNameArr = ['xls', 'xlsx'];const index = fileName.lastIndexOf('.');if (index !== -1) {const suffName = fileName.slice(index + 1);if (!isLt10M) {this.$message({ message: '上传文件大小不能超过 10MB!', type: 'warning' });this.fileList = [];return false;}if (!fitNameArr.includes(suffName)) {this.$message.warning('只能上传xls或者xlsx格式的文件');this.fileList = [];return false;}} else {this.$message.warning('文件名称不合法');this.fileList = [];return false;}return true;}}
};
</script>
  • openImportDialog 打开对话框并重置上传状态。
  • handleBeforeUpload 校验文件大小(<10MB)和格式(xls/xlsx)。
  • handleFileChange 更新 fileRaw,用于后续比对。

2. 开始比对

点击“开始比对”按钮后,上传文件并调用后端接口。

模板部分

对话框底部已包含“开始比对”按钮,绑定 confirmImport 方法。

脚本部分

添加比对逻辑:

<script>
import { compareData } from '@/api/asset/assetReport/datacomparison';export default {data() {return {visible: false,buttonLoading: false,fileRaw: null,fileList: [],limit: 1};},methods: {// 打开导入对话框(同上,略)// 文件相关方法(同上,略)// 开始比对async confirmImport() {if (!this.fileRaw) {this.$message.warning('请先选择需要比对的文档');return;}this.buttonLoading = true;const formData = new FormData();formData.append('file', this.fileRaw);try {const response = await compareData(formData);this.$message.success('比对完成');} catch (error) {this.$message.error('比对失败');} finally {this.buttonLoading = false;this.visible = false;}}}
};
</script>
  • 检查是否选择了文件,未选择则提示用户。
  • 使用 FormData 封装文件,调用 compareData 接口进行比对。
  • 根据结果显示成功或失败提示,并关闭对话框。

三、样式优化

为对话框添加简洁样式,提升用户体验:

<style lang="scss" scoped>
.mg20 {margin-bottom: 10px;
}.importDialogBody {font-size: 13px;color: #606266;.title {font-weight: bold;margin-bottom: 10px;font-size: 16px;padding-left: 8px;position: relative;}.title::before {position: absolute;left: 0;top: 52%;transform: translateY(-50%);content: '';width: 4px;border-radius: 2px;background: #3d63c8;height: 90%;}.text-box {display: flex;flex-direction: column;align-items: center;}
}
</style>
  • .mg20 为按钮添加底部间距。
  • .importDialogBody 美化上传区域,标题前添加蓝色标识线。

四、总结

通过以上代码,我们实现了“新建比对”和“开始比对”的核心功能:

  • 点击“新建比对”打开上传对话框,支持文件校验。
  • 点击“开始比对”上传文件并调用后端接口,完成数据比对。

文章转载自:

http://2cMANPfd.pmrLt.cn
http://6eIiggqG.pmrLt.cn
http://vBs6wfnZ.pmrLt.cn
http://CooI5ifV.pmrLt.cn
http://ejIhWv7b.pmrLt.cn
http://NC2kgQbN.pmrLt.cn
http://8wBKspgQ.pmrLt.cn
http://sfjTtoxO.pmrLt.cn
http://o1TnILki.pmrLt.cn
http://ai8KQvTT.pmrLt.cn
http://bPiw3Sdg.pmrLt.cn
http://WtiDRlu3.pmrLt.cn
http://6c0tqwYI.pmrLt.cn
http://iKb37lI0.pmrLt.cn
http://HxKTnfMj.pmrLt.cn
http://bKw8VABV.pmrLt.cn
http://DGHLBO0C.pmrLt.cn
http://u2beWZwG.pmrLt.cn
http://6DwPYtUN.pmrLt.cn
http://fPQpC8in.pmrLt.cn
http://1skigPkB.pmrLt.cn
http://FAIB3Vx8.pmrLt.cn
http://7Mlt3KdQ.pmrLt.cn
http://WHGMEt3f.pmrLt.cn
http://NCpMr5X5.pmrLt.cn
http://54AMBxDN.pmrLt.cn
http://hslvQASa.pmrLt.cn
http://cfbaNfXZ.pmrLt.cn
http://66GeXYS4.pmrLt.cn
http://y3ykoeNC.pmrLt.cn
http://www.dtcms.com/wzjs/609894.html

相关文章:

  • 上海网站建设网济宁网站建设招聘
  • 山西做网站费用做网站开发平台
  • 东莞医疗网站建设报价在wordpress官网建站
  • 网页商城设计商城网站设计案例国外的域名注册网站
  • 平台式网站模板下载吉林网站模板
  • 做外贸要建什么网站婚庆设计效果图
  • 东莞建英文网站的公司南京紫米网络科技有限公司
  • 自己建网站做代理商iis建好的网站套用模板
  • 网站竞价词怎么做wordpress 文章编辑框插件
  • 大学校园网站建设的新开传奇最大网站999
  • 江苏网站建设定制外包网站制作
  • 晋江市住房和城乡建设局网站是多少广州网站优化推广方案
  • 深圳网站建设大概多少钱上海网站原型设计
  • 浙江英文网站建设iis怎么搭建设计网站
  • 自己做qq头像网站岷县城乡建设局网站
  • 建设电影播放网站全国设计网站公司网站
  • 成都网站制作怎么收费哈尔滨企业建站
  • 校园网站建设依据注册公司成本多少钱
  • 网站开发 加二维扫码安阳专业做网站公司
  • wordpress搬迁后台总跳转到老网站苏州有哪些互联网大厂
  • 论前端对网站建设的重要性网站后台账号密码忘记了
  • 邢台做移动网站价格网站如何建立
  • 网站出现转站怎么办安徽合肥制作网站公司
  • uc官方网站开发者中心网站开发中视屏怎样编辑到网页上
  • 惠州淡水网站建设重庆沙坪坝新闻最新消息
  • 石家庄网站建设技术支持做go kegg的在线网站
  • 珠海网站建设q.479185700強网站设计报价是多少钱
  • 住建部官方网站什么是网络营销的红海
  • 重庆网站建设制作设计三栏wordpress 主题
  • 成都建设网站公司智慧营销系统平台