Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
D
dxgaqgl-vue
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
李苏
dxgaqgl-vue
Commits
7fe173ff
Commit
7fe173ff
authored
May 24, 2024
by
李苏
💬
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dxg
parent
ba782a13
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
1800 additions
and
1 deletion
+1800
-1
index.js
src/router/index.js
+64
-1
api.js
src/views/safetyactivity/bzhzy/api.js
+41
-0
index.vue
src/views/safetyactivity/bzhzy/index.vue
+330
-0
lessEdit.vue
src/views/safetyactivity/bzhzy/lessEdit.vue
+63
-0
api.js
src/views/zywsgl/grzyjkda/api.js
+41
-0
index.vue
src/views/zywsgl/grzyjkda/index.vue
+330
-0
lessEdit.vue
src/views/zywsgl/grzyjkda/lessEdit.vue
+63
-0
api.js
src/views/zywsgl/jcpjbg/api.js
+41
-0
index.vue
src/views/zywsgl/jcpjbg/index.vue
+330
-0
lessEdit.vue
src/views/zywsgl/jcpjbg/lessEdit.vue
+63
-0
api.js
src/views/zywsgl/zyjkglzd/api.js
+41
-0
index.vue
src/views/zywsgl/zyjkglzd/index.vue
+330
-0
lessEdit.vue
src/views/zywsgl/zyjkglzd/lessEdit.vue
+63
-0
No files found.
src/router/index.js
View file @
7fe173ff
...
@@ -679,7 +679,20 @@ export const powerRoutes=[
...
@@ -679,7 +679,20 @@ export const powerRoutes=[
},
},
name
:
'aqhdzxgz'
,
name
:
'aqhdzxgz'
,
path
:
"aqhdzxgz"
path
:
"aqhdzxgz"
}
},
{
component
:
'safetyactivity/bzhzy/index'
,
hidden
:
false
,
meta
:{
"title"
:
"标准化作业"
,
"icon"
:
""
,
"noCache"
:
false
,
"link"
:
null
,
"mkid"
:
904400500
,
},
name
:
'bzhzy'
,
path
:
"bzhzy"
}
]
]
},
},
...
@@ -822,6 +835,56 @@ export const powerRoutes=[
...
@@ -822,6 +835,56 @@ export const powerRoutes=[
},
},
]
]
},
},
/* 健康职业*/
{
path
:
'/zywsgl'
,
component
:
'Layout'
,
hidden
:
false
,
alwaysShow
:
true
,
redirect
:
'zyjkglzd'
,
meta
:
{
title
:
"职业卫生管理"
,
icon
:
"fa-cog"
,
noCache
:
false
,
link
:
null
,
mkid
:
1911000000
},
children
:
[
{
component
:
'zywsgl/zyjkglzd/index'
,
hidden
:
false
,
meta
:{
"title"
:
"职业健康管理制度"
,
"icon"
:
""
,
"noCache"
:
false
,
"link"
:
null
,
"mkid"
:
1911000100
,
},
name
:
'zyjkglzd'
,
path
:
"zyjkglzd"
},
{
component
:
'zywsgl/jcpjbg/index'
,
hidden
:
false
,
meta
:{
"title"
:
"检测评价报告"
,
"icon"
:
""
,
"noCache"
:
false
,
"link"
:
null
,
"mkid"
:
1911000200
,
},
name
:
'jcpjbg'
,
path
:
"jcpjbg"
},
{
component
:
'zywsgl/grzyjkda/index'
,
hidden
:
false
,
meta
:{
"title"
:
"个人职业健康档案"
,
"icon"
:
""
,
"noCache"
:
false
,
"link"
:
null
,
"mkid"
:
1911000300
,
},
name
:
'grzyjkda'
,
path
:
"grzyjkda"
}
]
},
/*履职管理*/
/*履职管理*/
{
{
path
:
'/dailyc'
,
path
:
'/dailyc'
,
...
...
src/views/safetyactivity/bzhzy/api.js
0 → 100644
View file @
7fe173ff
import
request
from
'common/src/utils/request'
/* query */
export
function
doQuery
(
query
)
{
return
request
({
url
:
'/aqgl/aqhd/ubzhzy/query'
,
method
:
'post'
,
data
:
query
||
{}
})
}
/* 更新 */
export
function
doUpdate
(
query
)
{
return
request
({
url
:
'/aqgl/aqhd/ubzhzy/update'
,
method
:
'post'
,
data
:
query
||
{}
})
}
export
function
doAdd
(
query
)
{
return
request
({
url
:
'/aqgl/aqhd/ubzhzy/add'
,
method
:
'post'
,
data
:
query
||
{}
})
}
export
function
doDelete
(
query
)
{
return
request
({
url
:
'/aqgl/aqhd/ubzhzy/delete'
,
method
:
'post'
,
data
:
query
||
{}
})
}
export
function
doQuerytree
(
query
)
{
return
request
({
url
:
'/aqgl/aqhd/ubzhzy/query/tree'
,
method
:
'post'
,
data
:
query
||
{}
})
}
src/views/safetyactivity/bzhzy/index.vue
0 → 100644
View file @
7fe173ff
<
template
>
<div
style=
"display: flex;"
>
<el-dialog
:fullscreen=
'true'
append-to-body
:visible
.
sync=
"show"
width=
"100%"
>
<div
ref=
'show'
v-if=
"show"
style=
"height: 85vh;width: 100%;position: relative;"
>
<div
v-if=
"showType=='pdf'"
style=
"color: #d9d9d9;font-size: 16px;position: fixed;right: 50px;cursor: pointer;top: 60px;"
@
click=
"showSize=b"
>
大
</div>
<div
v-if=
"showType=='pdf'"
style=
"color: #d9d9d9;font-size: 16px;position: fixed;right: 50px;cursor: pointer;top: 90px;"
@
click=
"showSize=m"
>
中
</div>
<div
v-if=
"showType=='pdf'"
style=
"color: #d9d9d9;font-size: 16px;position: fixed;right: 50px;cursor: pointer;top: 120px;"
@
click=
"showSize=s"
>
小
</div>
<div
:style=
"showSize"
style=
'height: 85vh;width: 100%;'
>
<pdf
ref=
"show"
v-if=
"showType=='pdf'"
v-for=
"i in numPages"
:key=
"i"
:src=
"url"
:page=
"i"
></pdf>
</div>
<!--
<iframe
v-if=
"showType=='pdf'"
:src=
"url"
width=
"100%"
height=
"100%"
border=
"0"
></iframe>
-->
<img
v-if=
"['gif','jpg','jpeg','png','bmp'].indexOf(showType)!=-1"
:src=
"url"
style=
"max-height: 100%;position: absolute;
left: 50%;
top: 50%;;
transform: translate(-50%,-50%);
"
border=
"0"
>
</div>
</el-dialog>
<div
id=
'approvefileAdd'
style=
"display: none;"
>
<input
@
change=
'beginUpload'
id=
'aqglfilesonadd'
ref=
"upload"
type=
"file"
style=
"display: none;"
>
</div>
<div
class=
"min_full"
style=
"width: 200px;border-right: 0px;"
>
<TreeBase
:dgtype=
'3'
:app=
'this'
@
selected=
'selectedTree'
></TreeBase>
</div>
<div
class=
"min_full"
style=
"overflow: auto;width: calc(100% - 200px)"
>
<div
class=
"min_full"
style=
"calc(60vh - 42px)"
>
<!-- 查询条件-->
<div
class=
"search"
v-condition
>
<SearchButton
:app=
'app'
></SearchButton>
<el-row
:gutter=
"20"
class=
"search-row-1"
>
<el-col
:span=
"6"
class=
"search-col"
>
<div
class=
"search-item"
>
<span
class=
"search-span"
>
文档标题:
</span>
<el-input
v-model=
"queryParams.title"
></el-input>
</div>
</el-col>
</el-row>
</div>
<!-- 按钮操作-->
<el-row
class=
"tool-bar"
>
<PrintButton
:app=
'this'
></PrintButton>
<EditButton
ref=
"add"
:app=
'this'
></EditButton>
<!--
<ViewButton
ref=
"view"
:app=
'this'
></ViewButton>
<CopyButton
ref=
"copy"
:app=
'this'
></CopyButton>
<FieldButton
:app=
'this'
></FieldButton>
<ExcelButton
:app=
'this'
></ExcelButton>
-->
<!--
<AttachFileButton
:app=
'this'
></AttachFileButton>
-->
<el-button
@
click=
"upload"
size=
'mini'
type=
"primary"
>
新增
</el-button>
</el-row>
<!-- 表格-->
<div
class=
"tablePagers"
>
<TablePager
v-loading=
'isupLoad'
@
getData=
'getData'
:ref=
"'TablePager'"
:app=
'this'
:query=
'query'
@
selectItem=
'selectItem'
@
getRow=
'getRow'
>
<template
slot=
"tabCustom"
>
<el-table-column
label=
"附件操作"
width=
"160"
header-align=
"center"
fixed=
"right"
>
<template
slot-scope=
"scope"
>
<div
style=
"width: 100%;display: flex;"
>
<el-button
style=
"text-align: center;color: #3399ff;width: 33.3%;"
@
click
.
native
.
prevent=
"preview(scope.row)"
type=
"text"
size=
"small"
>
<i
class=
"el-icon-view"
></i>
预览
</el-button>
<el-button
v-show=
"powerObj['91']"
style=
"text-align: center;color: #3399ff;width: 33.3%;"
@
click
.
native
.
prevent=
"downLoad(scope.row)"
type=
"text"
size=
"small"
>
<i
class=
"el-icon-download"
></i>
下载
</el-button>
<el-button
style=
"text-align: center;color: #3399ff;width: 33.3%;"
@
click
.
native
.
prevent=
"upload('update',scope.row)"
type=
"text"
size=
"small"
>
<i
class=
"el-icon-upload2"
></i>
更新
</el-button>
</div>
</
template
>
</el-table-column>
</template>
</TablePager>
</div>
</div>
<!-- <MainIndex :vMain='this' ref="mainIndex" ></MainIndex>
<LessIndex :vMain='this' ref="lessIndex" ></LessIndex> -->
</div>
</div>
</template>
<
script
>
import
{
pdf
}
from
'common'
import
{
doQuerytree
}
from
"@/api/daily/nros.js"
;
import
{
autoAttachPreview
,
autoAttach
,
autoAttachDownload
,
deleteAttachDownload
,
uploadAttachDownload
,
aqglUploadUpdate
,
uploadUpdate
}
from
"common/src/api/system/dmgSystem.js"
;
import
{
doQuery
,
doDelete
,
doUpdate
}
from
"./api.js"
;
import
Edit
from
'./lessEdit.vue'
import
{
tableMixin
}
from
'common'
// import MainIndex from './mainIndex.vue'
// import LessIndex from './lessIndex.vue'
export
default
{
mixins
:
[
tableMixin
],
name
:
'securityDocumentManagement'
,
components
:{
pdf
,
// MainIndex,
// LessIndex,
Edit
},
data
()
{
return
{
showSize
:
'transform:scale(0.36)'
,
s
:
'transform:scale(0.36)'
,
m
:
'transform:scale(0.6)'
,
b
:
'transform:scale(0.9)'
,
numPages
:
1
,
show
:
false
,
isupLoad
:
false
,
treeTitle
:
'目录'
,
treeDefaultProps
:
{
children
:
'children'
,
label
:
'bmmc'
},
// 额外
typeMap
:
[],
systemType
:
[],
baseUrl
:
'aqgl/aqhd/ubzhzy'
,
/* 查询参数*/
queryParams
:
{
mlid
:
''
,
title
:
''
,
gsid
:
''
},
treeQueryParams
:{
},
/* 表格标题对应参数*/
tableTitle
:
[
{
prop
:
'title'
,
label
:
'文档名称'
,
width
:
'340'
},
{
prop
:
'fileVersion'
,
label
:
'版本'
,
width
:
'60'
},
{
prop
:
'createTime'
,
label
:
'上传时间'
,
fieldType
:
"ftDateTime"
},
{
prop
:
'updUserName'
,
label
:
'上传人'
,
width
:
"80"
},
{
prop
:
'fileSize'
,
label
:
'大小'
,
width
:
'70'
,
formatter
:
function
(
a
,
b
,
bytes
){
if
(
!
bytes
){
return
'未上传文件'
}
if
(
bytes
===
0
)
return
'0 B'
;
var
k
=
1000
,
// or 1024
sizes
=
[
'B'
,
'KB'
,
'MB'
,
'GB'
,
'TB'
,
'PB'
,
'EB'
,
'ZB'
,
'YB'
],
i
=
Math
.
floor
(
Math
.
log
(
bytes
)
/
Math
.
log
(
k
));
return
(
bytes
/
Math
.
pow
(
k
,
i
)).
toPrecision
(
3
)
+
' '
+
sizes
[
i
];
}
}
]
}
},
methods
:{
getNumPages
(
url
)
{
var
loadingTask
=
pdf
.
createLoadingTask
(
url
)
loadingTask
.
promise
.
then
(
pdf
=>
{
this
.
url
=
loadingTask
this
.
numPages
=
pdf
.
numPages
}).
catch
((
err
)
=>
{
console
.
error
(
'pdf加载失败'
)
})
},
/* 预览 */
preview
(
row
){
console
.
log
(
row
)
this
.
showType
=
row
.
fileType
let
canShow
=
[
'gif'
,
'jpg'
,
'jpeg'
,
'png'
,
'bmp'
,
'pdf'
].
indexOf
(
row
.
fileType
)
==-
1
if
(
canShow
){
this
.
$warning
(
'该文件不支持预览,请直接下载'
)
return
}
autoAttachPreview
({},
'aqgl/aqhd/ubzhzy'
,
row
.
fileId
).
then
(
res
=>
{
if
(
res
.
type
==
'application/json'
){
this
.
$warning
(
'您没有权限,请联系系统管理员!'
)
return
}
let
blob
=
new
Blob
([
res
],
{
type
:
'application/'
+
row
.
fileType
+
';charset=UTF-8'
,
});
this
.
url
=
URL
.
createObjectURL
(
blob
)
this
.
getNumPages
(
this
.
url
)
this
.
show
=
true
this
.
$nextTick
(()
=>
{
this
.
$refs
.
show
.
addEventListener
(
'contextmenu'
,
function
(
event
)
{
event
.
preventDefault
();
},
false
);
})
})
},
creatFile
(){
/* 清除老节点 */
$
(
'#approvefileAdd'
).
find
(
'input'
).
remove
()
let
lineEl
=
document
.
createElement
(
'input'
);
let
$lineEl
=
$
(
lineEl
)
$lineEl
.
attr
(
'type'
,
'file'
)
$lineEl
.
attr
(
'ref'
,
'upload'
)
$lineEl
.
attr
(
'id'
,
'aqglfilesonadd'
)
$lineEl
.
hide
()
$lineEl
.
change
(()
=>
{
this
.
beginUpload
()
})
// $lineEl
$
(
'#approvefileAdd'
).
append
(
$lineEl
)
},
beginUpload
(){
this
.
isupLoad
=
true
let
uploadDom
=
document
.
getElementById
(
'aqglfilesonadd'
)
var
filec
=
uploadDom
.
files
[
0
];
var
name
=
filec
.
name
var
type
=
filec
.
type
let
updateId
=
$
(
uploadDom
).
attr
(
'inputId'
)
updateId
&&
$
(
uploadDom
).
attr
(
'inputId'
,
null
)
if
(
filec
)
{
let
formData
=
new
FormData
();
formData
.
append
(
'file'
,
filec
)
formData
.
append
(
'type'
,
type
)
formData
.
append
(
'folder'
,
''
)
formData
.
append
(
'name'
,
name
)
if
(
updateId
){
formData
.
append
(
'id'
,
updateId
)
this
.
creatFile
()
uploadUpdate
(
formData
,
'aqgl/aqhd/ubzhzy'
).
then
(
res
=>
{
if
(
res
.
success
)
{
this
.
$success
(
'更新成功'
)
this
.
isupLoad
=
false
this
.
$refs
[
'TablePager'
].
reLoad
()
}
}).
catch
(
e
=>
{
console
.
error
(
e
)
this
.
isupLoad
=
false
})
return
}
formData
.
append
(
'groupid'
,
this
.
queryParams
.
gsid
)
this
.
creatFile
()
uploadAttachDownload
(
formData
,
'aqgl/aqhd/ubzhzy'
).
then
(
res
=>
{
if
(
res
.
success
)
{
this
.
$success
(
'添加成功'
)
this
.
isupLoad
=
false
this
.
$refs
[
'TablePager'
].
reLoad
()
}
}).
catch
(
e
=>
{
console
.
error
(
e
)
this
.
isupLoad
=
false
})
}
},
upload
(){
/* 清除老节点*/
let
$upload
=
$
(
'#aqglfilesonadd'
)
console
.
log
(
$upload
)
arguments
[
0
]
==
'update'
&&
$upload
.
attr
(
'inputId'
,
arguments
[
1
].
fileId
)
&&
$upload
.
click
()
if
(
arguments
[
0
]
==
'update'
){
return
}
else
if
(
this
.
queryParams
.
gsid
){
$upload
.
click
()
/* 上传*/
}
else
{
this
.
$warning
(
'请选中公司操作操作'
);
}
},
down
(
data
,
type
,
title
)
{
let
a
=
document
.
createElement
(
'a'
);
a
.
download
=
title
;
a
.
style
.
display
=
'none'
;
let
blob
=
new
Blob
([
data
],
{
type
:
'application/'
+
type
+
';charset=UTF-8'
,
});
a
.
href
=
URL
.
createObjectURL
(
blob
);
document
.
body
.
appendChild
(
a
);
a
.
click
();
document
.
body
.
removeChild
(
a
);
},
downLoad
(
row
){
let
title
=
row
.
fileName
autoAttachDownload
({},
'aqgl/aqhd/ubzhzy'
,
row
.
fileId
).
then
(
res
=>
{
if
(
res
.
type
==
'application/json'
){
this
.
$warning
(
'您没有【下载】权限,请联系系统管理员!'
)
return
}
this
.
down
(
res
,
row
.
type
,
title
)
})
},
selectedTree
(
val
){
if
(
val
.
type
==
'ML'
){
this
.
queryParams
.
gsid
=
val
.
gsid
this
.
queryParams
.
mlid
=
val
.
id
}
else
{
this
.
queryParams
.
gsid
=
val
.
id
this
.
queryParams
.
mlid
=
''
}
this
.
$refs
[
'TablePager'
].
pageQuery
()
},
/* 基础查询*/
query
:
doQuery
,
apiDelete
:
doDelete
,
apiUpdate
:
doUpdate
,
apiTreeQuery
:
doQuerytree
,
}
}
</
script
>
<
style
>
</
style
>
src/views/safetyactivity/bzhzy/lessEdit.vue
0 → 100644
View file @
7fe173ff
<
template
>
<RelDialog
:type=
'type'
:editApp=
'editApp'
:app=
'app'
:buttonApp=
'buttonApp'
>
<!-- 填写表单内容,slot=form必写-->
<el-form
slot=
"form"
ref=
"form"
:model=
"form"
label-width=
"80px"
:rules=
"rules"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"24"
>
<el-form-item
label=
"标题"
ref=
"title"
prop=
"title"
>
<el-input
:readonly=
"readonly"
v-model=
"form.title"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</RelDialog>
</
template
>
<
script
>
import
{
editMixin
}
from
'common'
export
default
{
mixins
:
[
editMixin
],
/* 存放index页面传递的额外参数*/
mounted
()
{
// this.form.mlid=this.app.queryParams.mlid
this
.
form
.
gsid
=
this
.
app
.
queryParams
.
gsid
},
/* 组件名称*/
name
:
'appVersionEdit'
,
/* 传递props模式一样必填,用于index,button,REdialog之间的组件通信*/
data
()
{
return
{
/* 额外初始化,根据需求*/
systemType
:
[],
/* 当前表单初始值,默认由RelDialog查询indexQuery赋值,copy时不赋值id,初始化时所有query的值都会赋值给form*/
form
:
{
mlid
:
''
,
gsid
:
''
,
title
:
''
,
sytk
:
''
,
bz
:
""
,
fbrq
:
new
Date
().
getTime
(),
ssrq
:
new
Date
().
getTime
(),
mlid
:
''
},
/* form提交时的规则,具体规则参考官网*/
rules
:
{
gsid
:
[{
required
:
true
,
},
],
}
}
},
methods
:
{
/* 重写方法,this.app来调用index页面定义的api*/
}
}
</
script
>
<
style
scoped
lang=
"scss"
>
</
style
>
src/views/zywsgl/grzyjkda/api.js
0 → 100644
View file @
7fe173ff
import
request
from
'common/src/utils/request'
/* query */
export
function
doQuery
(
query
)
{
return
request
({
url
:
'/aqgl/zywsgl/ugrzyjkda/query'
,
method
:
'post'
,
data
:
query
||
{}
})
}
/* 更新 */
export
function
doUpdate
(
query
)
{
return
request
({
url
:
'/aqgl/zywsgl/ugrzyjkda/update'
,
method
:
'post'
,
data
:
query
||
{}
})
}
export
function
doAdd
(
query
)
{
return
request
({
url
:
'/aqgl/zywsgl/ugrzyjkda/add'
,
method
:
'post'
,
data
:
query
||
{}
})
}
export
function
doDelete
(
query
)
{
return
request
({
url
:
'/aqgl/zywsgl/ugrzyjkda/delete'
,
method
:
'post'
,
data
:
query
||
{}
})
}
export
function
doQuerytree
(
query
)
{
return
request
({
url
:
'/aqgl/zywsgl/ugrzyjkda/query/tree'
,
method
:
'post'
,
data
:
query
||
{}
})
}
src/views/zywsgl/grzyjkda/index.vue
0 → 100644
View file @
7fe173ff
<
template
>
<div
style=
"display: flex;"
>
<el-dialog
:fullscreen=
'true'
append-to-body
:visible
.
sync=
"show"
width=
"100%"
>
<div
ref=
'show'
v-if=
"show"
style=
"height: 85vh;width: 100%;position: relative;"
>
<div
v-if=
"showType=='pdf'"
style=
"color: #d9d9d9;font-size: 16px;position: fixed;right: 50px;cursor: pointer;top: 60px;"
@
click=
"showSize=b"
>
大
</div>
<div
v-if=
"showType=='pdf'"
style=
"color: #d9d9d9;font-size: 16px;position: fixed;right: 50px;cursor: pointer;top: 90px;"
@
click=
"showSize=m"
>
中
</div>
<div
v-if=
"showType=='pdf'"
style=
"color: #d9d9d9;font-size: 16px;position: fixed;right: 50px;cursor: pointer;top: 120px;"
@
click=
"showSize=s"
>
小
</div>
<div
:style=
"showSize"
style=
'height: 85vh;width: 100%;'
>
<pdf
ref=
"show"
v-if=
"showType=='pdf'"
v-for=
"i in numPages"
:key=
"i"
:src=
"url"
:page=
"i"
></pdf>
</div>
<!--
<iframe
v-if=
"showType=='pdf'"
:src=
"url"
width=
"100%"
height=
"100%"
border=
"0"
></iframe>
-->
<img
v-if=
"['gif','jpg','jpeg','png','bmp'].indexOf(showType)!=-1"
:src=
"url"
style=
"max-height: 100%;position: absolute;
left: 50%;
top: 50%;;
transform: translate(-50%,-50%);
"
border=
"0"
>
</div>
</el-dialog>
<div
id=
'approvefileAdd'
style=
"display: none;"
>
<input
@
change=
'beginUpload'
id=
'aqglfilesonadd'
ref=
"upload"
type=
"file"
style=
"display: none;"
>
</div>
<div
class=
"min_full"
style=
"width: 200px;border-right: 0px;"
>
<TreeBase
:dgtype=
'3'
:app=
'this'
@
selected=
'selectedTree'
></TreeBase>
</div>
<div
class=
"min_full"
style=
"overflow: auto;width: calc(100% - 200px)"
>
<div
class=
"min_full"
style=
"calc(60vh - 42px)"
>
<!-- 查询条件-->
<div
class=
"search"
v-condition
>
<SearchButton
:app=
'app'
></SearchButton>
<el-row
:gutter=
"20"
class=
"search-row-1"
>
<el-col
:span=
"6"
class=
"search-col"
>
<div
class=
"search-item"
>
<span
class=
"search-span"
>
文档标题:
</span>
<el-input
v-model=
"queryParams.title"
></el-input>
</div>
</el-col>
</el-row>
</div>
<!-- 按钮操作-->
<el-row
class=
"tool-bar"
>
<PrintButton
:app=
'this'
></PrintButton>
<EditButton
ref=
"add"
:app=
'this'
></EditButton>
<!--
<ViewButton
ref=
"view"
:app=
'this'
></ViewButton>
<CopyButton
ref=
"copy"
:app=
'this'
></CopyButton>
<FieldButton
:app=
'this'
></FieldButton>
<ExcelButton
:app=
'this'
></ExcelButton>
-->
<!--
<AttachFileButton
:app=
'this'
></AttachFileButton>
-->
<el-button
@
click=
"upload"
size=
'mini'
type=
"primary"
>
新增
</el-button>
</el-row>
<!-- 表格-->
<div
class=
"tablePagers"
>
<TablePager
v-loading=
'isupLoad'
@
getData=
'getData'
:ref=
"'TablePager'"
:app=
'this'
:query=
'query'
@
selectItem=
'selectItem'
@
getRow=
'getRow'
>
<template
slot=
"tabCustom"
>
<el-table-column
label=
"附件操作"
width=
"160"
header-align=
"center"
fixed=
"right"
>
<template
slot-scope=
"scope"
>
<div
style=
"width: 100%;display: flex;"
>
<el-button
style=
"text-align: center;color: #3399ff;width: 33.3%;"
@
click
.
native
.
prevent=
"preview(scope.row)"
type=
"text"
size=
"small"
>
<i
class=
"el-icon-view"
></i>
预览
</el-button>
<el-button
v-show=
"powerObj['91']"
style=
"text-align: center;color: #3399ff;width: 33.3%;"
@
click
.
native
.
prevent=
"downLoad(scope.row)"
type=
"text"
size=
"small"
>
<i
class=
"el-icon-download"
></i>
下载
</el-button>
<el-button
style=
"text-align: center;color: #3399ff;width: 33.3%;"
@
click
.
native
.
prevent=
"upload('update',scope.row)"
type=
"text"
size=
"small"
>
<i
class=
"el-icon-upload2"
></i>
更新
</el-button>
</div>
</
template
>
</el-table-column>
</template>
</TablePager>
</div>
</div>
<!-- <MainIndex :vMain='this' ref="mainIndex" ></MainIndex>
<LessIndex :vMain='this' ref="lessIndex" ></LessIndex> -->
</div>
</div>
</template>
<
script
>
import
{
pdf
}
from
'common'
import
{
doQuerytree
}
from
"@/api/daily/nros.js"
;
import
{
autoAttachPreview
,
autoAttach
,
autoAttachDownload
,
deleteAttachDownload
,
uploadAttachDownload
,
aqglUploadUpdate
,
uploadUpdate
}
from
"common/src/api/system/dmgSystem.js"
;
import
{
doQuery
,
doDelete
,
doUpdate
}
from
"./api.js"
;
import
Edit
from
'./lessEdit.vue'
import
{
tableMixin
}
from
'common'
// import MainIndex from './mainIndex.vue'
// import LessIndex from './lessIndex.vue'
export
default
{
mixins
:
[
tableMixin
],
name
:
'securityDocumentManagement'
,
components
:{
pdf
,
// MainIndex,
// LessIndex,
Edit
},
data
()
{
return
{
showSize
:
'transform:scale(0.36)'
,
s
:
'transform:scale(0.36)'
,
m
:
'transform:scale(0.6)'
,
b
:
'transform:scale(0.9)'
,
numPages
:
1
,
show
:
false
,
isupLoad
:
false
,
treeTitle
:
'目录'
,
treeDefaultProps
:
{
children
:
'children'
,
label
:
'bmmc'
},
// 额外
typeMap
:
[],
systemType
:
[],
baseUrl
:
'aqgl/zywsgl/ugrzyjkda'
,
/* 查询参数*/
queryParams
:
{
mlid
:
''
,
title
:
''
,
gsid
:
''
},
treeQueryParams
:{
},
/* 表格标题对应参数*/
tableTitle
:
[
{
prop
:
'title'
,
label
:
'文档名称'
,
width
:
'340'
},
{
prop
:
'fileVersion'
,
label
:
'版本'
,
width
:
'60'
},
{
prop
:
'createTime'
,
label
:
'上传时间'
,
fieldType
:
"ftDateTime"
},
{
prop
:
'updUserName'
,
label
:
'上传人'
,
width
:
"80"
},
{
prop
:
'fileSize'
,
label
:
'大小'
,
width
:
'70'
,
formatter
:
function
(
a
,
b
,
bytes
){
if
(
!
bytes
){
return
'未上传文件'
}
if
(
bytes
===
0
)
return
'0 B'
;
var
k
=
1000
,
// or 1024
sizes
=
[
'B'
,
'KB'
,
'MB'
,
'GB'
,
'TB'
,
'PB'
,
'EB'
,
'ZB'
,
'YB'
],
i
=
Math
.
floor
(
Math
.
log
(
bytes
)
/
Math
.
log
(
k
));
return
(
bytes
/
Math
.
pow
(
k
,
i
)).
toPrecision
(
3
)
+
' '
+
sizes
[
i
];
}
}
]
}
},
methods
:{
getNumPages
(
url
)
{
var
loadingTask
=
pdf
.
createLoadingTask
(
url
)
loadingTask
.
promise
.
then
(
pdf
=>
{
this
.
url
=
loadingTask
this
.
numPages
=
pdf
.
numPages
}).
catch
((
err
)
=>
{
console
.
error
(
'pdf加载失败'
)
})
},
/* 预览 */
preview
(
row
){
console
.
log
(
row
)
this
.
showType
=
row
.
fileType
let
canShow
=
[
'gif'
,
'jpg'
,
'jpeg'
,
'png'
,
'bmp'
,
'pdf'
].
indexOf
(
row
.
fileType
)
==-
1
if
(
canShow
){
this
.
$warning
(
'该文件不支持预览,请直接下载'
)
return
}
autoAttachPreview
({},
'aqgl/zywsgl/ugrzyjkda'
,
row
.
fileId
).
then
(
res
=>
{
if
(
res
.
type
==
'application/json'
){
this
.
$warning
(
'您没有权限,请联系系统管理员!'
)
return
}
let
blob
=
new
Blob
([
res
],
{
type
:
'application/'
+
row
.
fileType
+
';charset=UTF-8'
,
});
this
.
url
=
URL
.
createObjectURL
(
blob
)
this
.
getNumPages
(
this
.
url
)
this
.
show
=
true
this
.
$nextTick
(()
=>
{
this
.
$refs
.
show
.
addEventListener
(
'contextmenu'
,
function
(
event
)
{
event
.
preventDefault
();
},
false
);
})
})
},
creatFile
(){
/* 清除老节点 */
$
(
'#approvefileAdd'
).
find
(
'input'
).
remove
()
let
lineEl
=
document
.
createElement
(
'input'
);
let
$lineEl
=
$
(
lineEl
)
$lineEl
.
attr
(
'type'
,
'file'
)
$lineEl
.
attr
(
'ref'
,
'upload'
)
$lineEl
.
attr
(
'id'
,
'aqglfilesonadd'
)
$lineEl
.
hide
()
$lineEl
.
change
(()
=>
{
this
.
beginUpload
()
})
// $lineEl
$
(
'#approvefileAdd'
).
append
(
$lineEl
)
},
beginUpload
(){
this
.
isupLoad
=
true
let
uploadDom
=
document
.
getElementById
(
'aqglfilesonadd'
)
var
filec
=
uploadDom
.
files
[
0
];
var
name
=
filec
.
name
var
type
=
filec
.
type
let
updateId
=
$
(
uploadDom
).
attr
(
'inputId'
)
updateId
&&
$
(
uploadDom
).
attr
(
'inputId'
,
null
)
if
(
filec
)
{
let
formData
=
new
FormData
();
formData
.
append
(
'file'
,
filec
)
formData
.
append
(
'type'
,
type
)
formData
.
append
(
'folder'
,
''
)
formData
.
append
(
'name'
,
name
)
if
(
updateId
){
formData
.
append
(
'id'
,
updateId
)
this
.
creatFile
()
uploadUpdate
(
formData
,
'aqgl/zywsgl/ugrzyjkda'
).
then
(
res
=>
{
if
(
res
.
success
)
{
this
.
$success
(
'更新成功'
)
this
.
isupLoad
=
false
this
.
$refs
[
'TablePager'
].
reLoad
()
}
}).
catch
(
e
=>
{
console
.
error
(
e
)
this
.
isupLoad
=
false
})
return
}
formData
.
append
(
'groupid'
,
this
.
queryParams
.
gsid
)
this
.
creatFile
()
uploadAttachDownload
(
formData
,
'aqgl/zywsgl/ugrzyjkda'
).
then
(
res
=>
{
if
(
res
.
success
)
{
this
.
$success
(
'添加成功'
)
this
.
isupLoad
=
false
this
.
$refs
[
'TablePager'
].
reLoad
()
}
}).
catch
(
e
=>
{
console
.
error
(
e
)
this
.
isupLoad
=
false
})
}
},
upload
(){
/* 清除老节点*/
let
$upload
=
$
(
'#aqglfilesonadd'
)
console
.
log
(
$upload
)
arguments
[
0
]
==
'update'
&&
$upload
.
attr
(
'inputId'
,
arguments
[
1
].
fileId
)
&&
$upload
.
click
()
if
(
arguments
[
0
]
==
'update'
){
return
}
else
if
(
this
.
queryParams
.
gsid
){
$upload
.
click
()
/* 上传*/
}
else
{
this
.
$warning
(
'请选中公司操作操作'
);
}
},
down
(
data
,
type
,
title
)
{
let
a
=
document
.
createElement
(
'a'
);
a
.
download
=
title
;
a
.
style
.
display
=
'none'
;
let
blob
=
new
Blob
([
data
],
{
type
:
'application/'
+
type
+
';charset=UTF-8'
,
});
a
.
href
=
URL
.
createObjectURL
(
blob
);
document
.
body
.
appendChild
(
a
);
a
.
click
();
document
.
body
.
removeChild
(
a
);
},
downLoad
(
row
){
let
title
=
row
.
fileName
autoAttachDownload
({},
'aqgl/zywsgl/ugrzyjkda'
,
row
.
fileId
).
then
(
res
=>
{
if
(
res
.
type
==
'application/json'
){
this
.
$warning
(
'您没有【下载】权限,请联系系统管理员!'
)
return
}
this
.
down
(
res
,
row
.
type
,
title
)
})
},
selectedTree
(
val
){
if
(
val
.
type
==
'ML'
){
this
.
queryParams
.
gsid
=
val
.
gsid
this
.
queryParams
.
mlid
=
val
.
id
}
else
{
this
.
queryParams
.
gsid
=
val
.
id
this
.
queryParams
.
mlid
=
''
}
this
.
$refs
[
'TablePager'
].
pageQuery
()
},
/* 基础查询*/
query
:
doQuery
,
apiDelete
:
doDelete
,
apiUpdate
:
doUpdate
,
apiTreeQuery
:
doQuerytree
,
}
}
</
script
>
<
style
>
</
style
>
src/views/zywsgl/grzyjkda/lessEdit.vue
0 → 100644
View file @
7fe173ff
<
template
>
<RelDialog
:type=
'type'
:editApp=
'editApp'
:app=
'app'
:buttonApp=
'buttonApp'
>
<!-- 填写表单内容,slot=form必写-->
<el-form
slot=
"form"
ref=
"form"
:model=
"form"
label-width=
"80px"
:rules=
"rules"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"24"
>
<el-form-item
label=
"标题"
ref=
"title"
prop=
"title"
>
<el-input
:readonly=
"readonly"
v-model=
"form.title"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</RelDialog>
</
template
>
<
script
>
import
{
editMixin
}
from
'common'
export
default
{
mixins
:
[
editMixin
],
/* 存放index页面传递的额外参数*/
mounted
()
{
// this.form.mlid=this.app.queryParams.mlid
this
.
form
.
gsid
=
this
.
app
.
queryParams
.
gsid
},
/* 组件名称*/
name
:
'appVersionEdit'
,
/* 传递props模式一样必填,用于index,button,REdialog之间的组件通信*/
data
()
{
return
{
/* 额外初始化,根据需求*/
systemType
:
[],
/* 当前表单初始值,默认由RelDialog查询indexQuery赋值,copy时不赋值id,初始化时所有query的值都会赋值给form*/
form
:
{
mlid
:
''
,
gsid
:
''
,
title
:
''
,
sytk
:
''
,
bz
:
""
,
fbrq
:
new
Date
().
getTime
(),
ssrq
:
new
Date
().
getTime
(),
mlid
:
''
},
/* form提交时的规则,具体规则参考官网*/
rules
:
{
gsid
:
[{
required
:
true
,
},
],
}
}
},
methods
:
{
/* 重写方法,this.app来调用index页面定义的api*/
}
}
</
script
>
<
style
scoped
lang=
"scss"
>
</
style
>
src/views/zywsgl/jcpjbg/api.js
0 → 100644
View file @
7fe173ff
import
request
from
'common/src/utils/request'
/* query */
export
function
doQuery
(
query
)
{
return
request
({
url
:
'/aqgl/zywsgl/ujcpjbg/query'
,
method
:
'post'
,
data
:
query
||
{}
})
}
/* 更新 */
export
function
doUpdate
(
query
)
{
return
request
({
url
:
'/aqgl/zywsgl/ujcpjbg/update'
,
method
:
'post'
,
data
:
query
||
{}
})
}
export
function
doAdd
(
query
)
{
return
request
({
url
:
'/aqgl/zywsgl/ujcpjbg/add'
,
method
:
'post'
,
data
:
query
||
{}
})
}
export
function
doDelete
(
query
)
{
return
request
({
url
:
'/aqgl/zywsgl/ujcpjbg/delete'
,
method
:
'post'
,
data
:
query
||
{}
})
}
export
function
doQuerytree
(
query
)
{
return
request
({
url
:
'/aqgl/zywsgl/ujcpjbg/query/tree'
,
method
:
'post'
,
data
:
query
||
{}
})
}
src/views/zywsgl/jcpjbg/index.vue
0 → 100644
View file @
7fe173ff
<
template
>
<div
style=
"display: flex;"
>
<el-dialog
:fullscreen=
'true'
append-to-body
:visible
.
sync=
"show"
width=
"100%"
>
<div
ref=
'show'
v-if=
"show"
style=
"height: 85vh;width: 100%;position: relative;"
>
<div
v-if=
"showType=='pdf'"
style=
"color: #d9d9d9;font-size: 16px;position: fixed;right: 50px;cursor: pointer;top: 60px;"
@
click=
"showSize=b"
>
大
</div>
<div
v-if=
"showType=='pdf'"
style=
"color: #d9d9d9;font-size: 16px;position: fixed;right: 50px;cursor: pointer;top: 90px;"
@
click=
"showSize=m"
>
中
</div>
<div
v-if=
"showType=='pdf'"
style=
"color: #d9d9d9;font-size: 16px;position: fixed;right: 50px;cursor: pointer;top: 120px;"
@
click=
"showSize=s"
>
小
</div>
<div
:style=
"showSize"
style=
'height: 85vh;width: 100%;'
>
<pdf
ref=
"show"
v-if=
"showType=='pdf'"
v-for=
"i in numPages"
:key=
"i"
:src=
"url"
:page=
"i"
></pdf>
</div>
<!--
<iframe
v-if=
"showType=='pdf'"
:src=
"url"
width=
"100%"
height=
"100%"
border=
"0"
></iframe>
-->
<img
v-if=
"['gif','jpg','jpeg','png','bmp'].indexOf(showType)!=-1"
:src=
"url"
style=
"max-height: 100%;position: absolute;
left: 50%;
top: 50%;;
transform: translate(-50%,-50%);
"
border=
"0"
>
</div>
</el-dialog>
<div
id=
'approvefileAdd'
style=
"display: none;"
>
<input
@
change=
'beginUpload'
id=
'aqglfilesonadd'
ref=
"upload"
type=
"file"
style=
"display: none;"
>
</div>
<div
class=
"min_full"
style=
"width: 200px;border-right: 0px;"
>
<TreeBase
:dgtype=
'3'
:app=
'this'
@
selected=
'selectedTree'
></TreeBase>
</div>
<div
class=
"min_full"
style=
"overflow: auto;width: calc(100% - 200px)"
>
<div
class=
"min_full"
style=
"calc(60vh - 42px)"
>
<!-- 查询条件-->
<div
class=
"search"
v-condition
>
<SearchButton
:app=
'app'
></SearchButton>
<el-row
:gutter=
"20"
class=
"search-row-1"
>
<el-col
:span=
"6"
class=
"search-col"
>
<div
class=
"search-item"
>
<span
class=
"search-span"
>
文档标题:
</span>
<el-input
v-model=
"queryParams.title"
></el-input>
</div>
</el-col>
</el-row>
</div>
<!-- 按钮操作-->
<el-row
class=
"tool-bar"
>
<PrintButton
:app=
'this'
></PrintButton>
<EditButton
ref=
"add"
:app=
'this'
></EditButton>
<!--
<ViewButton
ref=
"view"
:app=
'this'
></ViewButton>
<CopyButton
ref=
"copy"
:app=
'this'
></CopyButton>
<FieldButton
:app=
'this'
></FieldButton>
<ExcelButton
:app=
'this'
></ExcelButton>
-->
<!--
<AttachFileButton
:app=
'this'
></AttachFileButton>
-->
<el-button
@
click=
"upload"
size=
'mini'
type=
"primary"
>
新增
</el-button>
</el-row>
<!-- 表格-->
<div
class=
"tablePagers"
>
<TablePager
v-loading=
'isupLoad'
@
getData=
'getData'
:ref=
"'TablePager'"
:app=
'this'
:query=
'query'
@
selectItem=
'selectItem'
@
getRow=
'getRow'
>
<template
slot=
"tabCustom"
>
<el-table-column
label=
"附件操作"
width=
"160"
header-align=
"center"
fixed=
"right"
>
<template
slot-scope=
"scope"
>
<div
style=
"width: 100%;display: flex;"
>
<el-button
style=
"text-align: center;color: #3399ff;width: 33.3%;"
@
click
.
native
.
prevent=
"preview(scope.row)"
type=
"text"
size=
"small"
>
<i
class=
"el-icon-view"
></i>
预览
</el-button>
<el-button
v-show=
"powerObj['91']"
style=
"text-align: center;color: #3399ff;width: 33.3%;"
@
click
.
native
.
prevent=
"downLoad(scope.row)"
type=
"text"
size=
"small"
>
<i
class=
"el-icon-download"
></i>
下载
</el-button>
<el-button
style=
"text-align: center;color: #3399ff;width: 33.3%;"
@
click
.
native
.
prevent=
"upload('update',scope.row)"
type=
"text"
size=
"small"
>
<i
class=
"el-icon-upload2"
></i>
更新
</el-button>
</div>
</
template
>
</el-table-column>
</template>
</TablePager>
</div>
</div>
<!-- <MainIndex :vMain='this' ref="mainIndex" ></MainIndex>
<LessIndex :vMain='this' ref="lessIndex" ></LessIndex> -->
</div>
</div>
</template>
<
script
>
import
{
pdf
}
from
'common'
import
{
doQuerytree
}
from
"@/api/daily/nros.js"
;
import
{
autoAttachPreview
,
autoAttach
,
autoAttachDownload
,
deleteAttachDownload
,
uploadAttachDownload
,
aqglUploadUpdate
,
uploadUpdate
}
from
"common/src/api/system/dmgSystem.js"
;
import
{
doQuery
,
doDelete
,
doUpdate
}
from
"./api.js"
;
import
Edit
from
'./lessEdit.vue'
import
{
tableMixin
}
from
'common'
// import MainIndex from './mainIndex.vue'
// import LessIndex from './lessIndex.vue'
export
default
{
mixins
:
[
tableMixin
],
name
:
'securityDocumentManagement'
,
components
:{
pdf
,
// MainIndex,
// LessIndex,
Edit
},
data
()
{
return
{
showSize
:
'transform:scale(0.36)'
,
s
:
'transform:scale(0.36)'
,
m
:
'transform:scale(0.6)'
,
b
:
'transform:scale(0.9)'
,
numPages
:
1
,
show
:
false
,
isupLoad
:
false
,
treeTitle
:
'目录'
,
treeDefaultProps
:
{
children
:
'children'
,
label
:
'bmmc'
},
// 额外
typeMap
:
[],
systemType
:
[],
baseUrl
:
'aqgl/zywsgl/ujcpjbg'
,
/* 查询参数*/
queryParams
:
{
mlid
:
''
,
title
:
''
,
gsid
:
''
},
treeQueryParams
:{
},
/* 表格标题对应参数*/
tableTitle
:
[
{
prop
:
'title'
,
label
:
'文档名称'
,
width
:
'340'
},
{
prop
:
'fileVersion'
,
label
:
'版本'
,
width
:
'60'
},
{
prop
:
'createTime'
,
label
:
'上传时间'
,
fieldType
:
"ftDateTime"
},
{
prop
:
'updUserName'
,
label
:
'上传人'
,
width
:
"80"
},
{
prop
:
'fileSize'
,
label
:
'大小'
,
width
:
'70'
,
formatter
:
function
(
a
,
b
,
bytes
){
if
(
!
bytes
){
return
'未上传文件'
}
if
(
bytes
===
0
)
return
'0 B'
;
var
k
=
1000
,
// or 1024
sizes
=
[
'B'
,
'KB'
,
'MB'
,
'GB'
,
'TB'
,
'PB'
,
'EB'
,
'ZB'
,
'YB'
],
i
=
Math
.
floor
(
Math
.
log
(
bytes
)
/
Math
.
log
(
k
));
return
(
bytes
/
Math
.
pow
(
k
,
i
)).
toPrecision
(
3
)
+
' '
+
sizes
[
i
];
}
}
]
}
},
methods
:{
getNumPages
(
url
)
{
var
loadingTask
=
pdf
.
createLoadingTask
(
url
)
loadingTask
.
promise
.
then
(
pdf
=>
{
this
.
url
=
loadingTask
this
.
numPages
=
pdf
.
numPages
}).
catch
((
err
)
=>
{
console
.
error
(
'pdf加载失败'
)
})
},
/* 预览 */
preview
(
row
){
console
.
log
(
row
)
this
.
showType
=
row
.
fileType
let
canShow
=
[
'gif'
,
'jpg'
,
'jpeg'
,
'png'
,
'bmp'
,
'pdf'
].
indexOf
(
row
.
fileType
)
==-
1
if
(
canShow
){
this
.
$warning
(
'该文件不支持预览,请直接下载'
)
return
}
autoAttachPreview
({},
'aqgl/zywsgl/ujcpjbg'
,
row
.
fileId
).
then
(
res
=>
{
if
(
res
.
type
==
'application/json'
){
this
.
$warning
(
'您没有权限,请联系系统管理员!'
)
return
}
let
blob
=
new
Blob
([
res
],
{
type
:
'application/'
+
row
.
fileType
+
';charset=UTF-8'
,
});
this
.
url
=
URL
.
createObjectURL
(
blob
)
this
.
getNumPages
(
this
.
url
)
this
.
show
=
true
this
.
$nextTick
(()
=>
{
this
.
$refs
.
show
.
addEventListener
(
'contextmenu'
,
function
(
event
)
{
event
.
preventDefault
();
},
false
);
})
})
},
creatFile
(){
/* 清除老节点 */
$
(
'#approvefileAdd'
).
find
(
'input'
).
remove
()
let
lineEl
=
document
.
createElement
(
'input'
);
let
$lineEl
=
$
(
lineEl
)
$lineEl
.
attr
(
'type'
,
'file'
)
$lineEl
.
attr
(
'ref'
,
'upload'
)
$lineEl
.
attr
(
'id'
,
'aqglfilesonadd'
)
$lineEl
.
hide
()
$lineEl
.
change
(()
=>
{
this
.
beginUpload
()
})
// $lineEl
$
(
'#approvefileAdd'
).
append
(
$lineEl
)
},
beginUpload
(){
this
.
isupLoad
=
true
let
uploadDom
=
document
.
getElementById
(
'aqglfilesonadd'
)
var
filec
=
uploadDom
.
files
[
0
];
var
name
=
filec
.
name
var
type
=
filec
.
type
let
updateId
=
$
(
uploadDom
).
attr
(
'inputId'
)
updateId
&&
$
(
uploadDom
).
attr
(
'inputId'
,
null
)
if
(
filec
)
{
let
formData
=
new
FormData
();
formData
.
append
(
'file'
,
filec
)
formData
.
append
(
'type'
,
type
)
formData
.
append
(
'folder'
,
''
)
formData
.
append
(
'name'
,
name
)
if
(
updateId
){
formData
.
append
(
'id'
,
updateId
)
this
.
creatFile
()
uploadUpdate
(
formData
,
'aqgl/zywsgl/ujcpjbg'
).
then
(
res
=>
{
if
(
res
.
success
)
{
this
.
$success
(
'更新成功'
)
this
.
isupLoad
=
false
this
.
$refs
[
'TablePager'
].
reLoad
()
}
}).
catch
(
e
=>
{
console
.
error
(
e
)
this
.
isupLoad
=
false
})
return
}
formData
.
append
(
'groupid'
,
this
.
queryParams
.
gsid
)
this
.
creatFile
()
uploadAttachDownload
(
formData
,
'aqgl/zywsgl/ujcpjbg'
).
then
(
res
=>
{
if
(
res
.
success
)
{
this
.
$success
(
'添加成功'
)
this
.
isupLoad
=
false
this
.
$refs
[
'TablePager'
].
reLoad
()
}
}).
catch
(
e
=>
{
console
.
error
(
e
)
this
.
isupLoad
=
false
})
}
},
upload
(){
/* 清除老节点*/
let
$upload
=
$
(
'#aqglfilesonadd'
)
console
.
log
(
$upload
)
arguments
[
0
]
==
'update'
&&
$upload
.
attr
(
'inputId'
,
arguments
[
1
].
fileId
)
&&
$upload
.
click
()
if
(
arguments
[
0
]
==
'update'
){
return
}
else
if
(
this
.
queryParams
.
gsid
){
$upload
.
click
()
/* 上传*/
}
else
{
this
.
$warning
(
'请选中公司操作操作'
);
}
},
down
(
data
,
type
,
title
)
{
let
a
=
document
.
createElement
(
'a'
);
a
.
download
=
title
;
a
.
style
.
display
=
'none'
;
let
blob
=
new
Blob
([
data
],
{
type
:
'application/'
+
type
+
';charset=UTF-8'
,
});
a
.
href
=
URL
.
createObjectURL
(
blob
);
document
.
body
.
appendChild
(
a
);
a
.
click
();
document
.
body
.
removeChild
(
a
);
},
downLoad
(
row
){
let
title
=
row
.
fileName
autoAttachDownload
({},
'aqgl/zywsgl/ujcpjbg'
,
row
.
fileId
).
then
(
res
=>
{
if
(
res
.
type
==
'application/json'
){
this
.
$warning
(
'您没有【下载】权限,请联系系统管理员!'
)
return
}
this
.
down
(
res
,
row
.
type
,
title
)
})
},
selectedTree
(
val
){
if
(
val
.
type
==
'ML'
){
this
.
queryParams
.
gsid
=
val
.
gsid
this
.
queryParams
.
mlid
=
val
.
id
}
else
{
this
.
queryParams
.
gsid
=
val
.
id
this
.
queryParams
.
mlid
=
''
}
this
.
$refs
[
'TablePager'
].
pageQuery
()
},
/* 基础查询*/
query
:
doQuery
,
apiDelete
:
doDelete
,
apiUpdate
:
doUpdate
,
apiTreeQuery
:
doQuerytree
,
}
}
</
script
>
<
style
>
</
style
>
src/views/zywsgl/jcpjbg/lessEdit.vue
0 → 100644
View file @
7fe173ff
<
template
>
<RelDialog
:type=
'type'
:editApp=
'editApp'
:app=
'app'
:buttonApp=
'buttonApp'
>
<!-- 填写表单内容,slot=form必写-->
<el-form
slot=
"form"
ref=
"form"
:model=
"form"
label-width=
"80px"
:rules=
"rules"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"24"
>
<el-form-item
label=
"标题"
ref=
"title"
prop=
"title"
>
<el-input
:readonly=
"readonly"
v-model=
"form.title"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</RelDialog>
</
template
>
<
script
>
import
{
editMixin
}
from
'common'
export
default
{
mixins
:
[
editMixin
],
/* 存放index页面传递的额外参数*/
mounted
()
{
// this.form.mlid=this.app.queryParams.mlid
this
.
form
.
gsid
=
this
.
app
.
queryParams
.
gsid
},
/* 组件名称*/
name
:
'appVersionEdit'
,
/* 传递props模式一样必填,用于index,button,REdialog之间的组件通信*/
data
()
{
return
{
/* 额外初始化,根据需求*/
systemType
:
[],
/* 当前表单初始值,默认由RelDialog查询indexQuery赋值,copy时不赋值id,初始化时所有query的值都会赋值给form*/
form
:
{
mlid
:
''
,
gsid
:
''
,
title
:
''
,
sytk
:
''
,
bz
:
""
,
fbrq
:
new
Date
().
getTime
(),
ssrq
:
new
Date
().
getTime
(),
mlid
:
''
},
/* form提交时的规则,具体规则参考官网*/
rules
:
{
gsid
:
[{
required
:
true
,
},
],
}
}
},
methods
:
{
/* 重写方法,this.app来调用index页面定义的api*/
}
}
</
script
>
<
style
scoped
lang=
"scss"
>
</
style
>
src/views/zywsgl/zyjkglzd/api.js
0 → 100644
View file @
7fe173ff
import
request
from
'common/src/utils/request'
/* query */
export
function
doQuery
(
query
)
{
return
request
({
url
:
'/aqgl/zywsgl/uzyjkglzd/query'
,
method
:
'post'
,
data
:
query
||
{}
})
}
/* 更新 */
export
function
doUpdate
(
query
)
{
return
request
({
url
:
'/aqgl/zywsgl/uzyjkglzd/update'
,
method
:
'post'
,
data
:
query
||
{}
})
}
export
function
doAdd
(
query
)
{
return
request
({
url
:
'/aqgl/zywsgl/uzyjkglzd/add'
,
method
:
'post'
,
data
:
query
||
{}
})
}
export
function
doDelete
(
query
)
{
return
request
({
url
:
'/aqgl/zywsgl/uzyjkglzd/delete'
,
method
:
'post'
,
data
:
query
||
{}
})
}
export
function
doQuerytree
(
query
)
{
return
request
({
url
:
'/aqgl/zywsgl/uzyjkglzd/query/tree'
,
method
:
'post'
,
data
:
query
||
{}
})
}
src/views/zywsgl/zyjkglzd/index.vue
0 → 100644
View file @
7fe173ff
<
template
>
<div
style=
"display: flex;"
>
<el-dialog
:fullscreen=
'true'
append-to-body
:visible
.
sync=
"show"
width=
"100%"
>
<div
ref=
'show'
v-if=
"show"
style=
"height: 85vh;width: 100%;position: relative;"
>
<div
v-if=
"showType=='pdf'"
style=
"color: #d9d9d9;font-size: 16px;position: fixed;right: 50px;cursor: pointer;top: 60px;"
@
click=
"showSize=b"
>
大
</div>
<div
v-if=
"showType=='pdf'"
style=
"color: #d9d9d9;font-size: 16px;position: fixed;right: 50px;cursor: pointer;top: 90px;"
@
click=
"showSize=m"
>
中
</div>
<div
v-if=
"showType=='pdf'"
style=
"color: #d9d9d9;font-size: 16px;position: fixed;right: 50px;cursor: pointer;top: 120px;"
@
click=
"showSize=s"
>
小
</div>
<div
:style=
"showSize"
style=
'height: 85vh;width: 100%;'
>
<pdf
ref=
"show"
v-if=
"showType=='pdf'"
v-for=
"i in numPages"
:key=
"i"
:src=
"url"
:page=
"i"
></pdf>
</div>
<!--
<iframe
v-if=
"showType=='pdf'"
:src=
"url"
width=
"100%"
height=
"100%"
border=
"0"
></iframe>
-->
<img
v-if=
"['gif','jpg','jpeg','png','bmp'].indexOf(showType)!=-1"
:src=
"url"
style=
"max-height: 100%;position: absolute;
left: 50%;
top: 50%;;
transform: translate(-50%,-50%);
"
border=
"0"
>
</div>
</el-dialog>
<div
id=
'approvefileAdd'
style=
"display: none;"
>
<input
@
change=
'beginUpload'
id=
'aqglfilesonadd'
ref=
"upload"
type=
"file"
style=
"display: none;"
>
</div>
<div
class=
"min_full"
style=
"width: 200px;border-right: 0px;"
>
<TreeBase
:dgtype=
'3'
:app=
'this'
@
selected=
'selectedTree'
></TreeBase>
</div>
<div
class=
"min_full"
style=
"overflow: auto;width: calc(100% - 200px)"
>
<div
class=
"min_full"
style=
"calc(60vh - 42px)"
>
<!-- 查询条件-->
<div
class=
"search"
v-condition
>
<SearchButton
:app=
'app'
></SearchButton>
<el-row
:gutter=
"20"
class=
"search-row-1"
>
<el-col
:span=
"6"
class=
"search-col"
>
<div
class=
"search-item"
>
<span
class=
"search-span"
>
文档标题:
</span>
<el-input
v-model=
"queryParams.title"
></el-input>
</div>
</el-col>
</el-row>
</div>
<!-- 按钮操作-->
<el-row
class=
"tool-bar"
>
<PrintButton
:app=
'this'
></PrintButton>
<EditButton
ref=
"add"
:app=
'this'
></EditButton>
<!--
<ViewButton
ref=
"view"
:app=
'this'
></ViewButton>
<CopyButton
ref=
"copy"
:app=
'this'
></CopyButton>
<FieldButton
:app=
'this'
></FieldButton>
<ExcelButton
:app=
'this'
></ExcelButton>
-->
<!--
<AttachFileButton
:app=
'this'
></AttachFileButton>
-->
<el-button
@
click=
"upload"
size=
'mini'
type=
"primary"
>
新增
</el-button>
</el-row>
<!-- 表格-->
<div
class=
"tablePagers"
>
<TablePager
v-loading=
'isupLoad'
@
getData=
'getData'
:ref=
"'TablePager'"
:app=
'this'
:query=
'query'
@
selectItem=
'selectItem'
@
getRow=
'getRow'
>
<template
slot=
"tabCustom"
>
<el-table-column
label=
"附件操作"
width=
"160"
header-align=
"center"
fixed=
"right"
>
<template
slot-scope=
"scope"
>
<div
style=
"width: 100%;display: flex;"
>
<el-button
style=
"text-align: center;color: #3399ff;width: 33.3%;"
@
click
.
native
.
prevent=
"preview(scope.row)"
type=
"text"
size=
"small"
>
<i
class=
"el-icon-view"
></i>
预览
</el-button>
<el-button
v-show=
"powerObj['91']"
style=
"text-align: center;color: #3399ff;width: 33.3%;"
@
click
.
native
.
prevent=
"downLoad(scope.row)"
type=
"text"
size=
"small"
>
<i
class=
"el-icon-download"
></i>
下载
</el-button>
<el-button
style=
"text-align: center;color: #3399ff;width: 33.3%;"
@
click
.
native
.
prevent=
"upload('update',scope.row)"
type=
"text"
size=
"small"
>
<i
class=
"el-icon-upload2"
></i>
更新
</el-button>
</div>
</
template
>
</el-table-column>
</template>
</TablePager>
</div>
</div>
<!-- <MainIndex :vMain='this' ref="mainIndex" ></MainIndex>
<LessIndex :vMain='this' ref="lessIndex" ></LessIndex> -->
</div>
</div>
</template>
<
script
>
import
{
pdf
}
from
'common'
import
{
doQuerytree
}
from
"@/api/daily/nros.js"
;
import
{
autoAttachPreview
,
autoAttach
,
autoAttachDownload
,
deleteAttachDownload
,
uploadAttachDownload
,
aqglUploadUpdate
,
uploadUpdate
}
from
"common/src/api/system/dmgSystem.js"
;
import
{
doQuery
,
doDelete
,
doUpdate
}
from
"./api.js"
;
import
Edit
from
'./lessEdit.vue'
import
{
tableMixin
}
from
'common'
// import MainIndex from './mainIndex.vue'
// import LessIndex from './lessIndex.vue'
export
default
{
mixins
:
[
tableMixin
],
name
:
'securityDocumentManagement'
,
components
:{
pdf
,
// MainIndex,
// LessIndex,
Edit
},
data
()
{
return
{
showSize
:
'transform:scale(0.36)'
,
s
:
'transform:scale(0.36)'
,
m
:
'transform:scale(0.6)'
,
b
:
'transform:scale(0.9)'
,
numPages
:
1
,
show
:
false
,
isupLoad
:
false
,
treeTitle
:
'目录'
,
treeDefaultProps
:
{
children
:
'children'
,
label
:
'bmmc'
},
// 额外
typeMap
:
[],
systemType
:
[],
baseUrl
:
'aqgl/zywsgl/uzyjkglzd'
,
/* 查询参数*/
queryParams
:
{
mlid
:
''
,
title
:
''
,
gsid
:
''
},
treeQueryParams
:{
},
/* 表格标题对应参数*/
tableTitle
:
[
{
prop
:
'title'
,
label
:
'文档名称'
,
width
:
'340'
},
{
prop
:
'fileVersion'
,
label
:
'版本'
,
width
:
'60'
},
{
prop
:
'createTime'
,
label
:
'上传时间'
,
fieldType
:
"ftDateTime"
},
{
prop
:
'updUserName'
,
label
:
'上传人'
,
width
:
"80"
},
{
prop
:
'fileSize'
,
label
:
'大小'
,
width
:
'70'
,
formatter
:
function
(
a
,
b
,
bytes
){
if
(
!
bytes
){
return
'未上传文件'
}
if
(
bytes
===
0
)
return
'0 B'
;
var
k
=
1000
,
// or 1024
sizes
=
[
'B'
,
'KB'
,
'MB'
,
'GB'
,
'TB'
,
'PB'
,
'EB'
,
'ZB'
,
'YB'
],
i
=
Math
.
floor
(
Math
.
log
(
bytes
)
/
Math
.
log
(
k
));
return
(
bytes
/
Math
.
pow
(
k
,
i
)).
toPrecision
(
3
)
+
' '
+
sizes
[
i
];
}
}
]
}
},
methods
:{
getNumPages
(
url
)
{
var
loadingTask
=
pdf
.
createLoadingTask
(
url
)
loadingTask
.
promise
.
then
(
pdf
=>
{
this
.
url
=
loadingTask
this
.
numPages
=
pdf
.
numPages
}).
catch
((
err
)
=>
{
console
.
error
(
'pdf加载失败'
)
})
},
/* 预览 */
preview
(
row
){
console
.
log
(
row
)
this
.
showType
=
row
.
fileType
let
canShow
=
[
'gif'
,
'jpg'
,
'jpeg'
,
'png'
,
'bmp'
,
'pdf'
].
indexOf
(
row
.
fileType
)
==-
1
if
(
canShow
){
this
.
$warning
(
'该文件不支持预览,请直接下载'
)
return
}
autoAttachPreview
({},
'aqgl/zywsgl/uzyjkglzd'
,
row
.
fileId
).
then
(
res
=>
{
if
(
res
.
type
==
'application/json'
){
this
.
$warning
(
'您没有权限,请联系系统管理员!'
)
return
}
let
blob
=
new
Blob
([
res
],
{
type
:
'application/'
+
row
.
fileType
+
';charset=UTF-8'
,
});
this
.
url
=
URL
.
createObjectURL
(
blob
)
this
.
getNumPages
(
this
.
url
)
this
.
show
=
true
this
.
$nextTick
(()
=>
{
this
.
$refs
.
show
.
addEventListener
(
'contextmenu'
,
function
(
event
)
{
event
.
preventDefault
();
},
false
);
})
})
},
creatFile
(){
/* 清除老节点 */
$
(
'#approvefileAdd'
).
find
(
'input'
).
remove
()
let
lineEl
=
document
.
createElement
(
'input'
);
let
$lineEl
=
$
(
lineEl
)
$lineEl
.
attr
(
'type'
,
'file'
)
$lineEl
.
attr
(
'ref'
,
'upload'
)
$lineEl
.
attr
(
'id'
,
'aqglfilesonadd'
)
$lineEl
.
hide
()
$lineEl
.
change
(()
=>
{
this
.
beginUpload
()
})
// $lineEl
$
(
'#approvefileAdd'
).
append
(
$lineEl
)
},
beginUpload
(){
this
.
isupLoad
=
true
let
uploadDom
=
document
.
getElementById
(
'aqglfilesonadd'
)
var
filec
=
uploadDom
.
files
[
0
];
var
name
=
filec
.
name
var
type
=
filec
.
type
let
updateId
=
$
(
uploadDom
).
attr
(
'inputId'
)
updateId
&&
$
(
uploadDom
).
attr
(
'inputId'
,
null
)
if
(
filec
)
{
let
formData
=
new
FormData
();
formData
.
append
(
'file'
,
filec
)
formData
.
append
(
'type'
,
type
)
formData
.
append
(
'folder'
,
''
)
formData
.
append
(
'name'
,
name
)
if
(
updateId
){
formData
.
append
(
'id'
,
updateId
)
this
.
creatFile
()
uploadUpdate
(
formData
,
'aqgl/zywsgl/uzyjkglzd'
).
then
(
res
=>
{
if
(
res
.
success
)
{
this
.
$success
(
'更新成功'
)
this
.
isupLoad
=
false
this
.
$refs
[
'TablePager'
].
reLoad
()
}
}).
catch
(
e
=>
{
console
.
error
(
e
)
this
.
isupLoad
=
false
})
return
}
formData
.
append
(
'groupid'
,
this
.
queryParams
.
gsid
)
this
.
creatFile
()
uploadAttachDownload
(
formData
,
'aqgl/zywsgl/uzyjkglzd'
).
then
(
res
=>
{
if
(
res
.
success
)
{
this
.
$success
(
'添加成功'
)
this
.
isupLoad
=
false
this
.
$refs
[
'TablePager'
].
reLoad
()
}
}).
catch
(
e
=>
{
console
.
error
(
e
)
this
.
isupLoad
=
false
})
}
},
upload
(){
/* 清除老节点*/
let
$upload
=
$
(
'#aqglfilesonadd'
)
console
.
log
(
$upload
)
arguments
[
0
]
==
'update'
&&
$upload
.
attr
(
'inputId'
,
arguments
[
1
].
fileId
)
&&
$upload
.
click
()
if
(
arguments
[
0
]
==
'update'
){
return
}
else
if
(
this
.
queryParams
.
gsid
){
$upload
.
click
()
/* 上传*/
}
else
{
this
.
$warning
(
'请选中公司操作操作'
);
}
},
down
(
data
,
type
,
title
)
{
let
a
=
document
.
createElement
(
'a'
);
a
.
download
=
title
;
a
.
style
.
display
=
'none'
;
let
blob
=
new
Blob
([
data
],
{
type
:
'application/'
+
type
+
';charset=UTF-8'
,
});
a
.
href
=
URL
.
createObjectURL
(
blob
);
document
.
body
.
appendChild
(
a
);
a
.
click
();
document
.
body
.
removeChild
(
a
);
},
downLoad
(
row
){
let
title
=
row
.
fileName
autoAttachDownload
({},
'aqgl/zywsgl/uzyjkglzd'
,
row
.
fileId
).
then
(
res
=>
{
if
(
res
.
type
==
'application/json'
){
this
.
$warning
(
'您没有【下载】权限,请联系系统管理员!'
)
return
}
this
.
down
(
res
,
row
.
type
,
title
)
})
},
selectedTree
(
val
){
if
(
val
.
type
==
'ML'
){
this
.
queryParams
.
gsid
=
val
.
gsid
this
.
queryParams
.
mlid
=
val
.
id
}
else
{
this
.
queryParams
.
gsid
=
val
.
id
this
.
queryParams
.
mlid
=
''
}
this
.
$refs
[
'TablePager'
].
pageQuery
()
},
/* 基础查询*/
query
:
doQuery
,
apiDelete
:
doDelete
,
apiUpdate
:
doUpdate
,
apiTreeQuery
:
doQuerytree
,
}
}
</
script
>
<
style
>
</
style
>
src/views/zywsgl/zyjkglzd/lessEdit.vue
0 → 100644
View file @
7fe173ff
<
template
>
<RelDialog
:type=
'type'
:editApp=
'editApp'
:app=
'app'
:buttonApp=
'buttonApp'
>
<!-- 填写表单内容,slot=form必写-->
<el-form
slot=
"form"
ref=
"form"
:model=
"form"
label-width=
"80px"
:rules=
"rules"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"24"
>
<el-form-item
label=
"标题"
ref=
"title"
prop=
"title"
>
<el-input
:readonly=
"readonly"
v-model=
"form.title"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</RelDialog>
</
template
>
<
script
>
import
{
editMixin
}
from
'common'
export
default
{
mixins
:
[
editMixin
],
/* 存放index页面传递的额外参数*/
mounted
()
{
// this.form.mlid=this.app.queryParams.mlid
this
.
form
.
gsid
=
this
.
app
.
queryParams
.
gsid
},
/* 组件名称*/
name
:
'appVersionEdit'
,
/* 传递props模式一样必填,用于index,button,REdialog之间的组件通信*/
data
()
{
return
{
/* 额外初始化,根据需求*/
systemType
:
[],
/* 当前表单初始值,默认由RelDialog查询indexQuery赋值,copy时不赋值id,初始化时所有query的值都会赋值给form*/
form
:
{
mlid
:
''
,
gsid
:
''
,
title
:
''
,
sytk
:
''
,
bz
:
""
,
fbrq
:
new
Date
().
getTime
(),
ssrq
:
new
Date
().
getTime
(),
mlid
:
''
},
/* form提交时的规则,具体规则参考官网*/
rules
:
{
gsid
:
[{
required
:
true
,
},
],
}
}
},
methods
:
{
/* 重写方法,this.app来调用index页面定义的api*/
}
}
</
script
>
<
style
scoped
lang=
"scss"
>
</
style
>
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