Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
圆滚滚核心
vue-element-admin
提交
cbc3ddd8
V
vue-element-admin
项目概览
圆滚滚核心
/
vue-element-admin
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vue-element-admin
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
cbc3ddd8
编写于
6月 20, 2018
作者:
P
Pan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
perf[uploadExcel]: add beforeUpload hock
上级
9cf00fd6
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
37 addition
and
11 deletion
+37
-11
src/components/UploadExcel/index.vue
src/components/UploadExcel/index.vue
+24
-10
src/views/excel/uploadExcel.vue
src/views/excel/uploadExcel.vue
+13
-1
未找到文件。
src/components/UploadExcel/index.vue
浏览文件 @
cbc3ddd8
...
...
@@ -12,6 +12,10 @@
import
XLSX
from
'
xlsx
'
export
default
{
props
:
{
beforeUpload
:
Function
,
onSuccess
:
Function
},
data
()
{
return
{
loading
:
false
,
...
...
@@ -25,7 +29,7 @@ export default {
generateDate
({
header
,
results
})
{
this
.
excelData
.
header
=
header
this
.
excelData
.
results
=
results
this
.
$emit
(
'
success
'
,
this
.
excelData
)
this
.
onSuccess
&&
this
.
onSuccess
(
this
.
excelData
)
},
handleDrop
(
e
)
{
e
.
stopPropagation
()
...
...
@@ -36,8 +40,8 @@ export default {
this
.
$message
.
error
(
'
Only support uploading one file!
'
)
return
}
const
item
File
=
files
[
0
]
// only use files[0]
this
.
readerData
(
item
File
)
const
raw
File
=
files
[
0
]
// only use files[0]
this
.
upload
(
raw
File
)
e
.
stopPropagation
()
e
.
preventDefault
()
},
...
...
@@ -51,13 +55,23 @@ export default {
},
handleClick
(
e
)
{
const
files
=
e
.
target
.
files
const
itemFile
=
files
[
0
]
// only use files[0]
if
(
!
itemFile
)
return
this
.
readerData
(
itemFile
).
then
(()
=>
{
this
.
$refs
[
'
excel-upload-input
'
].
value
=
null
// fix can't select the same excel
})
const
rawFile
=
files
[
0
]
// only use files[0]
if
(
!
rawFile
)
return
this
.
upload
(
rawFile
)
},
upload
(
rawFile
)
{
this
.
$refs
[
'
excel-upload-input
'
].
value
=
null
// fix can't select the same excel
if
(
!
this
.
beforeUpload
)
{
this
.
readerData
(
rawFile
)
return
}
const
before
=
this
.
beforeUpload
(
rawFile
)
if
(
before
)
{
this
.
readerData
(
rawFile
)
}
},
readerData
(
item
File
)
{
readerData
(
raw
File
)
{
this
.
loading
=
true
return
new
Promise
((
resolve
,
reject
)
=>
{
const
reader
=
new
FileReader
()
...
...
@@ -73,7 +87,7 @@ export default {
this
.
loading
=
false
resolve
()
}
reader
.
readAsArrayBuffer
(
item
File
)
reader
.
readAsArrayBuffer
(
raw
File
)
})
},
fixdata
(
data
)
{
...
...
src/views/excel/uploadExcel.vue
浏览文件 @
cbc3ddd8
<
template
>
<div
class=
"app-container"
>
<upload-excel-component
@
success=
'handleSuccess'
></upload-excel-component>
<upload-excel-component
:on-success=
'handleSuccess'
:before-upload=
"beforeUpload"
></upload-excel-component>
<el-table
:data=
"tableData"
border
highlight-current-row
style=
"width: 100%;margin-top:20px;"
>
<el-table-column
v-for=
'item of tableHeader'
:prop=
"item"
:label=
"item"
:key=
'item'
>
</el-table-column>
...
...
@@ -21,6 +21,18 @@ export default {
}
},
methods
:
{
beforeUpload
(
file
)
{
const
isLt2M
=
file
.
size
/
1024
/
1024
<
1
if
(
isLt2M
)
{
return
true
}
this
.
$message
({
message
:
'
Please do not upload files larger than 2m in size.
'
,
type
:
'
warning
'
})
return
false
},
handleSuccess
({
results
,
header
})
{
this
.
tableData
=
results
this
.
tableHeader
=
header
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录