Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mes-ui
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
周远喜
mes-ui
Commits
fc11f9eb
Commit
fc11f9eb
authored
Aug 21, 2020
by
renjintao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
importcenter
parent
0e178557
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
666 additions
and
19 deletions
+666
-19
inputExcel.vue
components/page/inputExcel.vue
+180
-0
add.vue
pages/import/add.vue
+14
-8
detail.vue
pages/import/detail.vue
+18
-1
index.vue
pages/import/index.vue
+20
-10
process.vue
pages/import/process.vue
+433
-0
iview.js
plugins/iview.js
+1
-0
No files found.
components/page/inputExcel.vue
0 → 100644
View file @
fc11f9eb
<
template
>
<div>
<Input
v-model=
"newName"
placeholder=
"请选择上传文件"
disabled
>
<Button
v-if=
"view"
icon=
"md-download"
slot=
"prepend"
@
click=
"downFile(newName)"
>
</Button>
<Button
type=
"primary"
icon=
"ios-cloud-upload-outline"
slot=
"append"
@
click=
"handler"
>
上传
</Button>
</Input>
<Upload
v-model=
"name"
:action=
"postUrl"
:on-success=
"uploadSuccess"
:on-error=
"uploadError"
:on-remove=
"removeFile"
:format=
"formatList"
:max-size=
"maxSize"
:on-exceeded-size=
"onExceededSize"
:on-format-error=
"onFormatError"
:show-upload-list=
"false"
:files=
"files"
:on-progress=
"onProgress"
>
<Button
v-show=
"1==2"
type=
"primary"
ref=
"upload"
>
上传
</Button>
</Upload>
<Progress
:percent=
"per"
:stroke-width=
"5"
v-show=
"vshowPro"
/>
</div>
</
template
>
<
script
>
import
util
from
"@/libs/util"
;
export
default
{
name
:
"inputExcel"
,
model
:
{
prop
:
"value"
,
event
:
"on-change"
},
data
()
{
return
{
file
:
null
,
name
:
this
.
value
,
downUrl
:
fileUrlDown
,
fileUrlPath
:
""
,
nameList
:
[],
postUrl
:
fileUrl
+
"/upload/?token=Bearer "
+
util
.
cookies
.
get
(
"token"
)
+
"&"
+
this
.
parms
,
formatList
:
[
"xlsx"
,
"xls"
],
newName
:
""
,
newPath
:
""
,
per
:
0
,
vshowPro
:
false
};
},
created
()
{},
props
:
{
value
:
[
String
,
Number
,
Array
,
Object
],
maxSize
:
{
type
:
Number
,
default
:
10240
},
files
:
{
type
:
Boolean
,
default
:
false
},
parms
:
{
type
:
String
,
default
:
""
},
showButton
:
{
type
:
Boolean
,
default
:
true
}
},
methods
:
{
onProgress
(
event
,
file
,
fileList
)
{
this
.
per
=
0
;
this
.
vshowPro
=
true
;
},
handler
()
{
this
.
$refs
.
upload
.
$el
.
click
();
},
// change(event) {
// this.$emit('on-change', event.target.value)
// },
//上传成功文件
uploadSuccess
(
response
,
file
,
fileList
)
{
this
.
per
=
60
;
this
.
vshowPro
=
true
;
const
hbaseFileList
=
[];
const
filesList
=
[];
if
(
file
.
response
.
status
==
0
)
{
let
objImag
=
{};
objImag
.
fileName
=
file
.
response
.
data
.
fileName
;
objImag
.
filePath
=
file
.
response
.
data
.
downloadPath
;
filesList
.
push
(
objImag
);
this
.
newName
=
file
.
response
.
data
.
fileName
;
this
.
newPath
=
file
.
response
.
data
.
downloadPath
;
this
.
$emit
(
"on-change"
,
JSON
.
stringify
(
filesList
));
this
.
per
=
100
;
setTimeout
(()
=>
{
this
.
per
=
0
;
this
.
vshowPro
=
false
;
},
2000
);
}
else
{
this
.
$Message
.
error
(
"上传失败,请重新上传!"
);
}
},
//上传文件失败
uploadError
(
response
,
file
,
fileList
)
{
this
.
$Message
.
error
(
"上传失败,请重新上传!"
);
},
//文件大小验证返回
onExceededSize
(
file
,
fileList
)
{
if
(
Object
.
keys
(
file
).
length
==
0
)
{
this
.
$Message
.
error
(
"上传文件不能大于"
+
this
.
maxSize
+
"k,请重新上传!"
);
}
},
//文件格式验证
onFormatError
(
file
,
fileList
)
{
if
(
Object
.
keys
(
file
).
length
==
0
)
{
this
.
$Message
.
error
(
"上传文件格式不正确,请重新上传!"
);
}
},
//删除上传
removeFile
(
file
,
fileList
)
{},
formatL
()
{
if
(
this
.
files
)
{
this
.
formatList
=
[
"pdf"
,
"docx"
,
"doc"
,
"xls"
,
"xlsx"
,
"txt"
,
"png"
,
"jpg"
,
"gif"
,
"zip"
,
"rar"
];
}
return
this
.
formatList
;
},
downFile
(
path
)
{
let
truePath
=
path
.
trim
();
if
(
truePath
.
length
>
2
)
{
if
(
truePath
.
substring
(
0
,
7
).
toLowerCase
()
==
"http://"
||
truePath
.
substring
(
0
,
8
).
toLowerCase
()
==
"https://"
)
{
window
.
open
(
truePath
,
"_blank"
);
}
else
{
this
.
fileUrlPath
=
this
.
downUrl
+
path
;
window
.
open
(
this
.
fileUrlPath
,
"_blank"
);
}
}
}
},
mounted
()
{
this
.
formatL
();
},
computed
:
{
nativeInputValue
()
{
return
this
.
value
===
null
||
this
.
value
===
undefined
?
""
:
this
.
value
;
},
view
(){
return
true
}
},
watch
:
{
value
(
v
)
{
this
.
name
=
v
;
}
}
};
</
script
>
<
style
lang=
"less"
>
</
style
>
\ No newline at end of file
pages/import/add.vue
View file @
fc11f9eb
...
...
@@ -9,7 +9,7 @@
</Col>
<Col
:span=
"24"
>
<FormItem
:label=
"l('file')"
prop=
"file"
>
<
files
ref=
"refFile"
:parms=
"parms"
files
/>
<
InputExcel
v-model=
"imgName"
:parms=
"parms"
:showButton=
"false"
/>
</FormItem>
</Col>
<Col
:span=
"24"
>
...
...
@@ -26,24 +26,26 @@
</
template
>
<
script
>
import
Api
from
"./api"
;
import
InputExcel
from
"@/components/page/inputExcel.vue"
;
export
default
{
name
:
"Add"
,
components
:
{
InputExcel
},
data
()
{
return
{
disabled
:
false
,
parms
:
{
app
:
'import'
,
eid
:
this
.
$u
.
guid
(),
name
:
''
,
field
:
''
},
parms
:
"app=import&eid="
+
this
.
$u
.
guid
()
+
"&name=excel"
,
imgName
:
""
,
entity
:
{
name
:
""
,
file
:
""
,
filePath
:
""
,
remark
:
""
,
},
rules
:
{
name
:
[{
required
:
true
,
message
:
"必填"
,
trigger
:
"blur"
}],
file
:[{
required
:
true
,
message
:
"请上传文件"
,
trigger
:
"change"
}]
},
};
},
...
...
@@ -58,7 +60,6 @@ export default {
},
methods
:
{
handleSubmit
()
{
alert
(
JSON
.
stringify
(
this
.
$refs
.
refFile
.
nameList
))
this
.
$refs
.
form
.
validate
((
v
)
=>
{
if
(
v
)
{
this
.
disabled
=
true
;
...
...
@@ -100,6 +101,11 @@ export default {
},
},
watch
:
{
imgName
(
newName
,
oldName
)
{
const
imgPathsArr
=
JSON
.
parse
(
newName
);
this
.
entity
.
file
=
imgPathsArr
[
0
].
fileName
this
.
entity
.
filePath
=
imgPathsArr
[
0
].
filePath
},
v
()
{
this
.
entity
=
this
.
$u
.
clone
(
this
.
v
);
},
...
...
pages/import/detail.vue
View file @
fc11f9eb
...
...
@@ -3,7 +3,7 @@
<Row>
<Filed
:span=
"12"
:name=
"l('name')"
>
{{
entity
.
name
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('file')"
>
{{
entity
.
file
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('file')"
>
<a
@
click=
"downFile(entity.filePath)"
>
{{
entity
.
file
}}
</a>
</Filed>
<Filed
:span=
"12"
:name=
"l('status')"
>
{{
entity
.
status
}}
</Filed>
<Filed
:span=
"24"
:name=
"l('remark')"
>
{{
entity
.
remark
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('creationTime')"
>
{{
entity
.
creationTime
}}
</Filed>
...
...
@@ -25,6 +25,8 @@ export default {
data
()
{
return
{
entity
:
{},
downUrl
:
fileUrlDown
,
fileUrlPath
:
""
,
rules
:
{
name
:
[{
required
:
true
,
message
:
"必填"
,
trigger
:
"blur"
}],
code
:
[{
required
:
true
,
message
:
"必填"
,
trigger
:
"blur"
}],
...
...
@@ -49,6 +51,21 @@ export default {
handleClose
()
{
this
.
$emit
(
"on-close"
);
},
downFile
(
path
)
{
alert
(
path
)
let
truePath
=
path
.
trim
();
if
(
truePath
.
length
>
2
)
{
if
(
truePath
.
substring
(
0
,
7
).
toLowerCase
()
==
"http://"
||
truePath
.
substring
(
0
,
8
).
toLowerCase
()
==
"https://"
)
{
window
.
open
(
truePath
,
"_blank"
);
}
else
{
this
.
fileUrlPath
=
this
.
downUrl
+
path
;
window
.
open
(
this
.
fileUrlPath
,
"_blank"
);
}
}
},
l
(
key
)
{
key
=
"import_center"
+
"."
+
key
;
return
this
.
$t
(
key
);
...
...
pages/import/index.vue
View file @
fc11f9eb
...
...
@@ -18,7 +18,7 @@
<Button
type=
"primary"
@
click=
"add"
>
新增
</Button>
</
template
>
</DataGrid>
<Modal
v-model=
"modal"
:title=
"title"
width=
"1200"
footer-hide
>
<Modal
v-model=
"modal"
:title=
"title"
width=
"1200"
:fullscreen=
"full"
footer-hide
>
<component
:is=
"detail"
:eid=
"curId"
@
on-close=
"cancel"
@
on-ok=
"ok"
/>
</Modal>
</div>
...
...
@@ -43,6 +43,7 @@ export default {
keys
:
{
op
:
"name"
,
value
:
null
},
},
modal
:
false
,
full
:
false
,
title
:
"新增"
,
detail
:
null
,
curId
:
0
,
...
...
@@ -149,21 +150,20 @@ export default {
},
"查看"
),
//h('op', { attrs: { oprate: 'copy' }, on: { click: () => this.copy(params.row.id) } }, '克隆'),
// h(
// "op",
// {
// attrs: { oprate: "edit" },
// on: { click: () => this.edit(params.row.id) },
// },
// "编辑"
// ),
h
(
"op"
,
{
attrs
:
{
oprate
:
"delete"
},
on
:
{
click
:
()
=>
this
.
remove
(
params
.
row
.
id
)
},
},
"删除"
),
h
(
"op"
,
{
attrs
:
{
oprate
:
"edit"
},
on
:
{
click
:
()
=>
this
.
process
(
params
.
row
.
id
)
},
},
"处理"
),
]);
...
...
@@ -189,6 +189,7 @@ export default {
},
add
()
{
this
.
curId
=
0
;
this
.
full
=
false
;
this
.
title
=
"新增"
;
this
.
detail
=
()
=>
import
(
"./add"
);
this
.
modal
=
true
;
...
...
@@ -202,15 +203,24 @@ export default {
view
(
id
)
{
this
.
curId
=
id
;
this
.
title
=
"详情"
;
this
.
full
=
false
;
this
.
detail
=
()
=>
import
(
"./detail"
);
this
.
modal
=
true
;
},
edit
(
id
)
{
this
.
curId
=
id
;
this
.
title
=
"编辑"
;
this
.
full
=
false
;
this
.
detail
=
()
=>
import
(
"./edit"
);
this
.
modal
=
true
;
},
process
(
id
)
{
this
.
curId
=
id
;
this
.
title
=
"处理"
;
this
.
full
=
true
;
this
.
detail
=
()
=>
import
(
"./process"
);
this
.
modal
=
true
;
},
remove
(
id
)
{
Api
.
delete
(
id
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
...
...
pages/import/process.vue
0 → 100644
View file @
fc11f9eb
This diff is collapsed.
Click to expand it.
plugins/iview.js
View file @
fc11f9eb
...
...
@@ -69,6 +69,7 @@ import VueEditor from "vue2-editor"
import
echarts
from
'echarts'
import
XLSX
from
'xlsx'
Vue
.
use
(
XLSX
)
// Vue.use(FormMaking, {
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment