element

vue中excel导入导出组件

北城余情 提交于 2020-05-08 04:45:51
vue中导入导出excel,并根据后台返回类型进行判断,导入到数据库中 功能:实现js导入导出excel,并且对导入的excel进行展示,当excel标题名称和数据库的名称标题匹配时,则对应列导入的数据自动渲染展示在表格中,预览展示10条,不足10条的的用空行表示。可通过下拉框动态切换对应列的值。图片保存到系统中是将有src属性的img值替换为后台传递过来的七牛云地址,导入完成后,部分导入失败的数据可以下载到本地查看 导入的excel文件 使用该导入功能需安装依赖 npm install xlsx 需要使用导入导出功能的自行复制对应方法进行使用 exportData是用于导入的 tableToExcel 和 exportPathMethod是用于导出的 <template> <div class="excel" > <el- dialog :visible.sync ="centerDialogVisible" :title ="titleName" :close -on-click-modal="false" :before -close="beforePausClose" width ="1040px" > <div style="min-height: 550px;padding: 0 20px"> <div class="excel-header"> <el-select

vue爬坑之路--------this$refs[formName]validate

一世执手 提交于 2020-05-08 04:43:30
vue element-ui使用自定义正则表达式: let validatePass = (rule, value, callback) => { let regExp = /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$/ if (value === '') { callback(new Error('请输入密码')) } else if (regExp.test(value) === false) { callback(new Error('8-16字母和数字组成,不能是纯数字或纯英文')) } else { if (this.ruleForm.repass !== '') { this.$refs.ruleForm.validateField('repass') } callback() } } 注册提交按钮事件: submitForm (formName) { this.$refs[formName].validate((valid) => { if (valid) { let _this = this this.$ajax.post('请求地址', _this.ruleForm) .then((response) => { this.$message.success('注册成功!') this.$refs[formName]

python爬虫成长之路(三):基础爬虫架构及爬取证券之星全站行情数据

别等时光非礼了梦想. 提交于 2020-05-08 04:20:54
爬虫成长之路(一)里我们介绍了如何爬取证券之星网站上所有A股数据,主要涉及网页获取和页面解析的知识。爬虫成长之路(二)里我们介绍了如何获取代理IP并验证,涉及了多线程编程和数据存储的知识。此次我们将在前两节的基础上,对证券之星全站的行情数据进行爬取。第一节的思路爬一个栏目的数据尚可,爬上百个栏目的数据工作量就有点大了。下面我们先介绍下基础的爬虫架构。 本文主要包含爬虫框架六大基础模块,分别为爬虫调度器、URL下载器、URL管理器、HTML下载器、HTML解析器、数据存储器。功能分析如下 爬虫调度器:主要负责统筹其他四个模块的工作。 URL下载器:主要负责下载需要爬取数据的URL链接。 URL管理器:负责管理URL链接,维护已经爬取的URL集合和未爬取的URL集合,提供获取新URL链接的接口。 HTML下载器:用于从URL管理器中获取未爬取的URL链接并下载HRML网页。 HTML解析器:用户从HTML下载器中获取已经下载的HTML网页,解析出有效数据交给数据存储器。 数据存储器:用于将HTML解析器解析出来的数据通过文件或者数据库的形式储存起来。 为了方便理解,以下是基础爬虫框架运行流程示意图 此处介绍文件夹,下面,我们对这6大模块进行详细的介绍。 一、URL下载器 URL下载器包含两步,首先下载网站左侧导航栏的URL,然后通过导航栏的URL获取每个子栏目包含的链接列表。

vue+element实现导入excel并拿到返回值

血红的双手。 提交于 2020-05-08 03:20:29
<template> <div class="main"> <el-col :span="2"> <el-upload class="upload-demo" :action="upUrl" accept=".xls, .xlsx" :data="shu" :on-success="upSuccess" :on-error="upError" :limit="1" > <el-button type="primary" icon="el-icon-upload">导入Excel</el-button> </el-upload> </el-col> <!-- 测试弹窗按钮 --> <el-button type="text" @click="dialogVisible = true">点击打开 Dialog</el-button> <!-- 弹窗 --> <el-dialog title="提示" :visible.sync="dialogVisible" width="30%" :before-close="handleClose"> <span>{{Info}}</span> <span slot="footer" class="dialog-footer"> <el-button @click="dialogVisible = false">取 消</el-button>

vue+element 封装弹窗

為{幸葍}努か 提交于 2020-05-08 03:20:18
子组件: <template> <el-dialog title="" :visible.sync="dialogVisible" :before-close="handleCloseBindWarnStandard" width="500px"> <el-form label-width="100px"> <el-form-item prop="name" label="拍品"> <el-input v-model.trim="dialogForm.name" :rules="{required: true, message: '拍品不能为空', trigger: 'blur'}" placeholder="拍品名称" style="width: 90%;" > </el-input> </el-form-item> <el-form-item prop="code" label="拍品代码"> <el-input v-model.trim="dialogForm.code" placeholder="拍品代码" style="width: 90%;"></el-input> </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> <el-button @click="handleCancel">取

el-dialog弹窗监听传值

送分小仙女□ 提交于 2020-05-08 02:13:34
这个城市看过美也看过丑陋,看过豪华的当然更多是简陋,我们试着在这钢筋结构中,搓出一点火星将渴望自由灵魂解救 假期结束背上你的行囊,起航 [ 在这里感谢" 我是一名好程序员 " https://www.cnblogs.com/wangqi2019/ ] 话不多说这个小demo是这个样子的 点击新建按钮( 父组件新建按钮 )使弹窗显示也就是elementUI中的el-dialog( 需要自己改结构和样式 ) 弹窗( 子组件弹窗 )显示后输入内容相对应操作,点击叉号或取消按钮隐藏并清空输入的所有内容,点击提交成功后隐藏弹窗并清空输入的内容, 操作的时候会涉及到传值问题父子传值 ( dialogFormVisible控制显示隐藏true显示、false隐藏 ) 新建vue文件用来创建弹窗 common -> createVenue( 子组件 ) < template > < div class ="createNewFormBox" > < el-dialog title ="新建场馆" :visible.sync ="dialogFormVisible" > < el-form :model ="ruleForm" :rules ="rules" ref ="ruleForm" label-width ="100px" class ="demo-ruleForm" > < el-form

element-ui—dialog使用过程中的坑

北城余情 提交于 2020-05-08 00:26:39
场景一:我们将dialog写成一个可复用的公共组件用于显示不同内容(如表格操作中的修改或添加的弹窗),之后发现dialog的遮罩将弹出层(点击修改或添加后理应由一个弹窗显示出来)都盖住了,而我想要的效果是遮罩只遮住旧的窗口,而当前窗口应该完全显示; (注:表格是使用easyui的panel和window来包裹的,dialog才是使用的element-ui中的组件) 百度了一圈最后的解决方案是在el-dialog上加入以下属性: :modal-append-to-body= " false " 意为: 遮罩层是否插入至 body 元素上,若为 false,则遮罩层会插入至 Dialog 的父元素上 场景二: 同一个 项目中,dialog用于密码修改,且不引用上面的公共组件,直接使用<el-dialog></dialog>标签包裹一个form表单。结果表现是这样的:单独点击密码修改打开弹框没问题,但是若先打开一个table-window窗口后再点击密码修改按钮打开弹框,会发现此时的弹框会直接被 table-window遮盖,表面上看似层级不够的原因造成的,但是看了css样式并非如此,或者直接给dialog添加比bable高的层级,一样无济于事。 解决办法如下:在el-dialog上加入以下属性 :append-to-body= " true " 意为:Dialog 自身是否插入至

前端--javaScript之BOM和DOM

馋奶兔 提交于 2020-05-07 22:13:10
BOM和DOM概述 BOM(Browser Object Model):是指浏览器对象模型,它使js有能力和浏览器进行"对话". DOM(Document Object Model):是指文档对象模型,通过它,可以访问HTML文档的所有元素. BOM: window对象是客户端js最高层对象之一,由于window对象是其他大部分对象的共同祖先,在调用window对象的方法和属性时,可以省略window对象的引用.例如window.document.write()可以简写成:document.write(). 一.window对象 所有浏览器都支持window对象.它表示浏览器窗口. *如果文档包含框架(frame 或 iframe 标签),浏览器会为 HTML 文档创建一个 window 对象,并为每个框架创建一个额外的 window 对象。 *没有应用于 window 对象的公开标准,不过所有浏览器都支持该对象。 所有js全局对象.函数以及变量均自动成为window对象的成员. 全局变量是window对象的属性.全局函数是window对象的方法. 一些常用的window方法: window.innerHeight------浏览器窗口的内部高度 window.innerWidth------浏览器窗口的内部宽度 window.open()------打开新窗口 window

太嚣张了!他竟用Python绕过了“验证码”

*爱你&永不变心* 提交于 2020-05-07 21:38:37
在web页面中,经常会遇到验证码,这对于我这么一个热爱web自动化测试人员,就变成了一件头疼的事。于是千方百计找各种资源得到破解简单的验证码方法。 识别验证码   大致分如下几个步骤:     1.获取验证码图片     2.灰度处理     3.增加对比度     4.降噪     5.识别 >>>> 获取验证码   通过各种方法,将含有验证码的图片获取并存贮在本地。   本次的方法是: 截取当前web页面,然后获取验证码在web页面中的位置,通过位置定位验证码图片再次截取。   以163邮箱注册页面为例   用到的库: selenium、PIL   如果是python2.x,pip install PIL;在python3.x中PIL被移植到pillow 中,所以导入时需要导入pillow,pip install pillow   1 from PIL import Image 2 3 import time 4 from selenium import webdriver 5 6 7 8 def get_code_img(driver): 9 10 time.sleep(1 ) 11 12 # 截取整个浏览器图 13 driver.save_screenshot( ' webImg.png ' ) 14 15 # 获取code元素坐标 16 code_element =

Python-简版List和Tuple

最后都变了- 提交于 2020-05-07 19:36:34
Python列表 Python list is a sequence of values, it can be any type, strings, numbers, floats, mixed content, or whatever. In this post, we will talk about Python list functions and how to create, add elements, append, reverse, and many other Python list functions. 原文网址:https://likegeeks.com/python-list-functions/ Create Python Lists/创建列表 To create a python list, enclose your elements in square brackets like this: mylist = [ 1 , 2 , 3 , 4 , 5 ] Your list could be strings like this: mylist = [ 'one' , 'two' , 'three' , 'four' , 'five' ] You can mix the elements types like this: mylist = [ 'one' ,