Toggle navigation
Toggle navigation
This project
Loading...
Sign in
monitor_v3
/
hg-monitor-web
·
Commits
Go to a project
GitLab
Go to group
Project
Activity
Files
Commits
Pipelines
0
Builds
0
Graphs
Milestones
Issues
0
Merge Requests
0
Members
Labels
Wiki
Forks
Network
Create a new issue
Download as
Plain Diff
Browse Files
Authored by
王涛
4 years ago
Commit
dc92ea70235787c13a0701aa3335243dd8c78750
2 parents
b8157372
7e053405
master
...
joke
master-500-dev
master-500-dev-0327
master-500-dev-LH
master-500-dev-XuHaoJie
master-500-dev-joke
master-500-dev-lushangqing
master-500-dev-lzc
master-500-dev-xwx
master-500-dev-yuanjinpeng
master-500-dev-ztq
master-500-dev-ztq1
master-500-log
master-500-log-ztq
master-500-prod
master-500-prod-joke-new
master-500-prod-lushangqing
master-V32-LH
master-V32-XuHaoJie
master-V32-lgh
master-joke
master-mj
master-mj-610
master-mj-joke
master-mj-yuanjinpeng
master-mj-ztq
master-prod
master-prod-500-lushangqing
master-prod-lgh
master-prod-lushangqing
master-prod-xwx
master-prod-xwx2
master-v32-joke
master-v32-lushangqing
master-v32-lzc
master-v32-xwx
master-v32-ztq
master-v330
master-yuanjinpeng
mater-ztq
wangfeng
wangfeng-500-dev
wangfeng-mj
wuhl-master
tag-master-v320
Merge branch 'master' of
http://192.168.1.136:82/monitor_v3/hg-monitor-web
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
1262 additions
and
0 deletions
hg-monitor-web-base/src/main/resources/static/src/controller/assetsRepairAdd.js
hg-monitor-web-base/src/main/resources/static/src/controller/assetsrepair.js
hg-monitor-web-base/src/main/resources/static/src/controller/repairlist.js
hg-monitor-web-base/src/main/resources/static/src/views/assets/add.html
hg-monitor-web-base/src/main/resources/static/src/views/assets/repair.html
hg-monitor-web-base/src/main/resources/static/src/views/assets/repairlist.html
hg-monitor-web-base/src/main/resources/static/src/controller/assetsRepairAdd.js
0 → 100644
View file @
dc92ea7
//工作汇报表单
layui
.
define
([
'table'
,
'form'
,
'admin'
,
'layer'
,
'common'
,
'sessions'
,
'xmSelect'
,
'laydate'
,
'upload'
],
function
(
exports
)
{
var
$
=
layui
.
$
;
var
form
=
layui
.
form
;
var
layer
=
layui
.
layer
;
var
admin
=
layui
.
admin
;
var
table
=
layui
.
table
;
var
common
=
layui
.
common
;
var
session
=
layui
.
sessions
;
var
laydate
=
layui
.
laydate
;
var
upload
=
layui
.
upload
;
var
domainName
=
common
.
domainName
;
var
xmSelect
=
layui
.
xmSelect
;
//对外暴露的接口
exports
(
'assetsRepairAdd'
,
function
(
data
)
{
var
accessToken
=
session
.
getToken
()[
'access_token'
]
var
userSelect
=
""
;
var
currentDate
=
{}
var
hitDate
=
{}
var
uploadInst
=
{}
var
defaultUser
=
[]
var
attachmentIds
=
[]
var
id
=
data
.
id
var
cols
=
[]
var
where
=
{}
var
currentResourceType
=
''
var
resTypeSele
var
viewType
=
data
&&
data
.
viewType
?
data
.
viewType
:
''
;
//渲染表单
form
.
render
(
null
,
'add-repair-form'
)
init
()
//保存
form
.
on
(
'submit(repair-form-save-id)'
,
function
(
res
)
{
var
value
=
$
(
'#attachmentInput'
).
val
()
if
(
value
!=
''
)
{
$
(
'#upload_btn'
).
click
()
}
else
{
saveForm
()
}
})
//保存
function
saveForm
()
{
layer
.
load
(
2
)
var
data
=
form
.
val
(
'add-repair-form'
)
var
params
=
{}
params
.
attachmentIds
=
attachmentIds
.
toString
()
delete
data
[
'file'
]
delete
data
[
'select'
]
params
.
workReport
=
JSON
.
stringify
(
data
)
admin
.
req
({
url
:
domainName
+
'/api-web/bResource/assetsrepair/save?access_token='
+
accessToken
,
data
:
JSON
.
stringify
(
params
),
type
:
'post'
,
contentType
:
"application/json; charset=utf-8"
,
done
:
function
(
res
)
{
if
(
res
.
success
)
{
layer
.
msg
(
res
.
msg
,
{
offset
:
'15px'
,
icon
:
1
,
time
:
1000
,
},
function
()
{
layer
.
closeAll
()
})
}
else
{
layer
.
msg
(
res
.
msg
,
{
offset
:
'15px'
,
icon
:
7
,
time
:
1000
,
})
}
}
})
return
false
}
//页面初始化
function
init
()
{
loadSelect
()
initDatePlus
()
initUploadPlus
()
if
(
viewType
==
'view'
)
{
initViewMode
();
}
}
// 初始化下拉框
function
loadSelect
()
{
admin
.
req
({
url
:
domainName
+
'/api-web/bResource/findAssetsRepairList'
}).
done
(
function
(
response
)
{
var
options
=
"<option value=''>=归属单位=</option>"
;
$
.
each
(
response
.
data
,
function
(
i
,
v
)
{
options
+=
"<option value='"
+
v
.
orgCode
+
"'>"
+
v
.
orgName
+
"</option>"
});
$
(
'#slt-repairadd-org'
).
html
(
options
);
form
.
render
();
});
admin
.
req
({
url
:
domainName
+
'/api-web/bWorkreportGroup/findManufacturerList'
}).
done
(
function
(
response
)
{
var
options
=
"<option value=''>=选择厂商=</option>"
;
$
.
each
(
response
.
data
,
function
(
i
,
v
)
{
options
+=
"<option value='"
+
v
.
id
+
"'>"
+
v
.
manufacturerName
+
"</option>"
});
$
(
'#slt-repairadd-group'
).
html
(
options
);
form
.
render
();
});
admin
.
req
({
url
:
domainName
+
'/api-web/bResource/getInfoByAssetsType'
,
}).
done
(
function
(
response
)
{
var
options
=
"<option value=''>=设备类型=</option>"
;
$
.
each
(
response
.
data
,
function
(
i
,
v
)
{
options
+=
"<option value='"
+
v
.
resTypeCode
+
"'>"
+
v
.
resTypeName
+
"</option>"
});
$
(
'#slt-repairadd-res'
).
html
(
options
);
form
.
render
();
})
$
.
ajax
({
url
:
domainName
+
'/api-web/bResource/getGroupByAdmin?theirType=1&access_token='
+
accessToken
,
success
:
function
(
res
)
{
if
(
!
res
.
map
)
{
layer
.
msg
(
"没有上传权限,请去添加权限"
)
return
;
}
else
{
var
map
=
res
.
map
;
$
(
"#createUser"
).
val
(
map
.
admin
);
}
fromAssignment
()
form
.
render
();
}
})
}
//初始化日期插件
function
initDatePlus
()
{
currentDate
=
laydate
.
render
({
elem
:
'#createtime'
,
//指定元素
value
:
new
Date
(),
type
:
'datetime'
,
isInitValue
:
true
,
max
:
0
,
});
hitDate
=
laydate
.
render
({
elem
:
'#hitchtime'
,
//指定元素
value
:
new
Date
(),
type
:
'datetime'
,
isInitValue
:
true
,
max
:
0
,
});
}
//初始化上传插件
function
initUploadPlus
()
{
var
param
=
{
"access_token"
:
accessToken
}
var
fileName
=
[]
uploadInst
=
upload
.
render
({
elem
:
'#attachment'
,
//绑定元素
url
:
common
.
domainName
+
'/api-web/bResource/assetsrepair/upload'
,
data
:
param
,
multiple
:
true
,
auto
:
false
,
//选择文件后不自动上传
bindAction
:
'#upload_btn'
,
//指定按钮触发上传
accept
:
'file'
,
exts
:
'xls|doc|pdf|docx|xlsx|jpg|png'
,
choose
:
function
(
obj
)
{
//选择文件后回调
var
files
=
this
.
files
=
obj
.
pushFile
();
obj
.
preview
(
function
(
index
,
file
,
result
)
{
fileName
.
push
(
file
.
name
)
$
(
'#attachmentInput'
).
val
(
fileName
.
toString
())
})
},
done
:
function
(
res
)
{
//单次上传成功
attachmentIds
.
push
(
res
.
str
)
},
allDone
:
function
(
obj
)
{
//全部上传成功后
saveForm
()
},
error
:
function
(
index
,
upload
)
{
// 上传失败
layer
.
msg
(
'文件上传时发生故障,请稍后再试!'
,
{
icon
:
7
,
time
:
3000
});
}
});
}
// 初始化查看模式
function
initViewMode
()
{
$
(
'form[lay-filter="add-workReport-form"]'
).
find
(
'input, textarea'
).
attr
(
'readonly'
,
true
);
$
(
'form[lay-filter="add-workReport-form"]'
).
find
(
'select'
).
attr
(
'disabled'
,
true
);
$
.
each
(
xmSelect
.
get
(),
function
(
i
,
v
)
{
v
.
update
({
disabled
:
true
});
});
$
(
'#attachmentInput'
).
parent
().
parent
().
parent
().
addClass
(
'hide'
);
$
(
'#table-report-add-attachment'
).
removeClass
(
'hide'
);
$
(
'#form-item-repTitle'
).
removeClass
(
'hide'
);
//渲染附件表格
var
attachmentTable
=
table
.
render
({
elem
:
'#table-repair-add-attachment'
,
url
:
domainName
+
'/api-web/bResource/assetsrepair/getAttaById'
,
where
:
{
access_token
:
accessToken
,
id
:
data
.
id
},
height
:
'full'
,
page
:
{
layout
:
[
'count'
,
'prev'
,
'page'
,
'next'
,
'limit'
,
'skip'
]
,
theme
:
'#1E9FFF'
//自定义分页主题颜色
},
end
:
function
(
e
)
{
form
.
render
()
},
limit
:
common
.
limit
,
limits
:
common
.
limits
,
even
:
true
,
cols
:
[[
{
type
:
'numbers'
,
title
:
'序号'
},
{
field
:
'name'
,
title
:
'文件名称'
,
align
:
'center'
,
minWith
:
200
,
},
{
field
:
'suffix'
,
title
:
'文件后缀'
,
align
:
'center'
,
minWith
:
150
,
},
{
field
:
'size'
,
title
:
'文件大小'
,
align
:
'center'
,
minWith
:
150
,
templet
:
function
(
d
)
{
var
str
=
(
d
.
size
/
1000
).
toFixed
(
2
)
return
`
<
div
><
span
>
$
{
str
}
KB
<
/span></
div
>
`
}
},
{
title
:
'操作'
,
align
:
"center"
,
width
:
120
,
templet
:
'<div><span data-id="{{d.id}}" data-suffix="{{d.suffix}}" class="layui-table-link preview-attachment-btn">预览</span></div>'
}
]],
done
:
function
()
{
$
(
'.preview-attachment-btn'
).
on
(
'click'
,
function
()
{
var
id
=
$
(
this
).
data
(
'id'
)
var
suffix
=
$
(
this
).
data
(
'suffix'
)
if
(
suffix
==
'jpg'
||
suffix
==
'png'
||
suffix
==
'JPG'
||
suffix
==
'PNG'
)
{
//图片类型
var
srcUrl
=
domainName
+
`
/
api
-
web
/
openoffice
/
readImage
/
$
{
id
}?
access_token
=
`
+
accessToken
layer
.
open
({
type
:
1
,
content
:
`
<
div
><
img
src
=
"${srcUrl}"
width
=
"100%"
height
=
"100%"
/><
/div>`
,
title
:
'图片预览'
,
area
:
[
'60%'
,
'90%'
]
})
}
else
{
//附件为文档类型
common
.
openReport
(
id
)
}
})
}
})
form
.
render
();
}
//表单赋值
function
fromAssignment
()
{
if
(
data
&&
data
.
id
)
{
$
(
'#add-repair-form-atta'
).
show
()
//编辑表单时禁用日志类型修改和时间选择
$
(
'#add-repair-form'
).
find
(
"select[name='hitchtime']"
).
attr
(
"disabled"
,
"disabled"
)
$
(
'#add-repair-form'
).
find
(
"input[name='createtime']"
).
attr
(
"disabled"
,
"disabled"
)
//编辑表单时取消显示默认值
currentDate
.
config
.
isInitValue
=
false
hitDate
.
config
.
isInitValue
=
false
initDatePlus
()
admin
.
req
({
url
:
domainName
+
`
/
api
-
web
/
bResource
/
assetsrepair
/
getById
`
,
data
:
{
id
:
data
.
id
},
async
:
false
,
}).
done
(
function
(
res
)
{
form
.
val
(
'add-repair-form'
,
res
.
object
)
if
(
res
.
object
.
attachmentList
)
{
$
.
each
(
res
.
object
.
attachmentList
,
function
(
i
,
v
)
{
writeTagsInfo
(
v
.
id
,
v
.
originalName
)
})
}
})
}
}
//写入标签内容
function
writeTagsInfo
(
id
,
name
)
{
var
tags
=
'<span id="tags_span_'
+
id
+
'" data-id="'
+
id
+
'"><em>'
+
name
+
'</em>'
+
'<button type="button" value="'
+
id
+
'" class="tagsclose close">×</button></span>'
;
if
(
$
(
"#tags_span_"
+
id
).
length
==
0
)
{
//拼接标签
$
(
"#selecte_content_id"
).
append
(
tags
);
//绑定标签的删除事件
bindTagesDelEvent
();
}
}
//删除标签事件
function
bindTagesDelEvent
()
{
//删除已选主体的页签
$
(
"button.tagsclose"
).
on
(
"click"
,
function
()
{
var
attachId
=
$
(
this
).
attr
(
"value"
);
//确认提示框
layer
.
confirm
(
'附件删除后将无法恢复,您确定要删除吗?'
,
{
btn
:
[
'确定'
,
'取消'
]
//按钮
},
function
()
{
$
.
ajax
({
url
:
domainName
+
`
/
api
-
web
/
workreport
/
deleteAttachment
/
$
{
id
}
/${attachId}
?
access_token=` + accessToken
,
type
:
"get"
,
}).
done
(
function
(
res
)
{
layer
.
msg
(
'删除成功'
,
{
offset
:
'15px'
,
icon
:
1
,
time
:
1000
},
function
()
{
$
(
"#tags_span_"
+
attachId
).
remove
();
});
}).
error
(
function
(
error
)
{
console
.
log
(
error
);
});
});
});
}
})
})
\ No newline at end of file
...
...
hg-monitor-web-base/src/main/resources/static/src/controller/assetsrepair.js
0 → 100644
View file @
dc92ea7
/** 资产维修记录查看 */
layui
.
define
([
'table'
,
'form'
,
'sessions'
,
'admin'
,
'common'
,
'echarts'
,
'laydate'
,
'element'
],
function
(
exports
)
{
var
$
=
layui
.
$
;
var
form
=
layui
.
form
;
var
table
=
layui
.
table
;
var
admin
=
layui
.
admin
;
var
common
=
layui
.
common
;
var
laydate
=
layui
.
laydate
;
var
element
=
layui
.
element
;
exports
(
'assetsrepair'
,
function
()
{
var
sessions
=
layui
.
sessions
;
var
accessToken
=
sessions
.
getToken
().
access_token
;
var
domainName
=
common
.
domainName
;
var
companyChart
=
echarts
.
init
(
document
.
getElementById
(
'chart-company-report'
));
var
resTypeChart
=
echarts
.
init
(
document
.
getElementById
(
'chart-restype-report'
));
var
dateLimit
=
""
var
createTime
=
""
var
currentResourceTypeTreeNodeId
=
""
var
resTypeSelect
;
//日期范围选择
laydate
.
render
({
elem
:
'#dateLimit'
,
range
:
'~'
,
done
:
function
(
value
)
{
dateLimit
=
value
if
(
dateLimit
==
''
)
{
$
(
'[data-period="thisWeek"]'
).
click
()
}
else
{
$
.
each
(
$
(
"button.date"
),
function
(
i
,
e
)
{
var
$dom
=
$
(
e
);
if
(
$dom
.
hasClass
(
"active"
)){
$dom
.
removeClass
(
"active"
)
}
})
reloadAllChange
()
}
}
});
form
.
render
();
loadCompanyReport
();
loadResTypeReport
();
loadWorkReportTable
();
loadConditionSelect
();
//监听Esc事件
$
(
document
).
keyup
(
function
(
event
){
if
(
event
.
keyCode
===
27
||
event
.
keyCode
===
96
){
layer
.
closeAll
();
}
});
// 日期方式选择
$
(
'#btns-repair-time button'
).
click
(
function
()
{
$
.
each
(
$
(
"button.date"
),
function
(
i
,
e
)
{
var
$dom
=
$
(
e
);
if
(
$dom
.
hasClass
(
"active"
)){
$dom
.
removeClass
(
"active"
)
}
})
$
(
"#dateLimit"
).
val
(
''
)
dateLimit
=
''
$
(
"#btns-repair-time button"
).
removeClass
(
"active"
);
$
(
this
).
addClass
(
"active"
);
createTime
=
(
$
(
this
).
data
(
"period"
))
reloadAllChange
();
});
// 回车搜索
$
(
'[lay-filter="form-repair-condition"] input'
).
keydown
(
function
(
e
)
{
if
(
e
.
keyCode
===
13
)
{
reloadAllChange
();
}
});
// 下拉框改变搜索
form
.
on
(
'select(slt-repair-group)'
,
reloadAllChange
);
form
.
on
(
'select(slt-repair-user)'
,
reloadAllChange
);
form
.
on
(
'select(slt-repair-org)'
,
reloadAllChange
);
// 加载工作汇报表格
function
loadWorkReportTable
()
{
var
conditions
=
form
.
val
(
'form-repair-condition'
);
Object
.
assign
(
conditions
,
{
access_token
:
accessToken
,
createtime
:
createTime
,
viewMode
:
'true'
,
dateLimit
:
dateLimit
});
table
.
render
({
elem
:
'#table-repair-view'
,
url
:
domainName
+
'/api-web/bResource/getAssetsRepairForPage'
,
where
:
conditions
,
height
:
'full-360'
,
page
:
{
layout
:
[
'count'
,
'prev'
,
'page'
,
'next'
,
'limit'
,
'skip'
],
theme
:
'#1E9FFF'
},
end
:
function
(
e
)
{
form
.
render
()
},
limit
:
common
.
limit
,
limits
:
common
.
limits
,
even
:
true
,
cols
:
[[{
type
:
'checkbox'
},
{
type
:
'numbers'
,
title
:
'序号'
},
{
field
:
'title'
,
title
:
'标题'
,
align
:
'center'
,
minWidth
:
200
,
event
:
'serRead'
,
templet
:
'<div><span data-id="{{d.id}}" class="layui-table-link view-repair-title" >{{d.title}}</span></div>'
},
{
field
:
'resTypeName'
,
title
:
'资产类型'
,
align
:
'center'
,
},
{
field
:
'resourceSN'
,
title
:
'设备序列号'
,
align
:
'center'
,
},{
field
:
'ip'
,
title
:
'ip段'
,
align
:
'center'
,
},{
field
:
'orgName'
,
title
:
'归属单位'
,
align
:
'center'
,
},{
field
:
'attachmentList'
,
title
:
'附件数量'
,
align
:
'center'
,
templet
:
'<div><span data-id="{{d.id}}" class="layui-table-link view-repair-attachment">{{d.attachmentList.length}}</span></div>'
},{
field
:
'groupName'
,
title
:
'上报人'
,
align
:
'center'
,
},
{
field
:
'manufacturerName'
,
title
:
'厂商'
,
align
:
'center'
,
},{
field
:
'hitchtime'
,
title
:
'故障时间'
,
align
:
'center'
,
},{
field
:
'createtime'
,
title
:
'维修时间'
,
align
:
'center'
,
}]],
done
:
function
()
{
//点击标题编辑表单
$
(
'.view-repair-title'
).
on
(
'click'
,
function
()
{
openWorkReportForm
(
$
(
this
).
data
(
'id'
))
})
//获取附件列表
$
(
'.view-repair-attachment'
).
on
(
'click'
,
function
()
{
openWorkReportList
(
'attachment'
,
$
(
this
).
data
(
'id'
))
})
}
});
}
//新增日报
$
(
'#repair_create'
).
on
(
'click'
,
function
()
{
openWorkReportForm
()
})
//新增/编辑表单
function
openWorkReportForm
(
id
)
{
var
title
=
id
?
'编辑'
:
'新增'
common
.
openWin
(
'assets/add'
,
title
,
{
id
:
id
},
[
'保存'
,
'取消'
],
function
f
()
{
$
(
"#repair-form-save-id"
).
trigger
(
"click"
);
})
}
//查看附件/接收人列表
function
openWorkReportList
(
type
,
id
)
{
var
title
=
'附件'
common
.
openWin
(
'assets/repairlist'
,
title
,
{
id
:
id
,
type
:
type
},
[
'确定'
,
'取消'
])
}
// 加载查询条件下拉框
function
loadConditionSelect
()
{
admin
.
req
({
url
:
domainName
+
'/api-web/bResource/findAssetsRepairList'
}).
done
(
function
(
response
)
{
var
options
=
"<option value=''>=归属单位=</option>"
;
console
.
log
(
response
.
data
)
$
.
each
(
response
.
data
,
function
(
i
,
v
)
{
options
+=
"<option value='"
+
v
.
orgCode
+
"'>"
+
v
.
orgName
+
"</option>"
});
$
(
'#slt-repair-org'
).
html
(
options
);
form
.
render
();
});
admin
.
req
({
url
:
domainName
+
'/api-web/bWorkreportGroup/findManufacturerList'
}).
done
(
function
(
response
)
{
var
options
=
"<option value=''>=选择厂商=</option>"
;
$
.
each
(
response
.
data
,
function
(
i
,
v
)
{
options
+=
"<option value='"
+
v
.
id
+
"'>"
+
v
.
manufacturerName
+
"</option>"
});
$
(
'#slt-repair-group'
).
html
(
options
);
form
.
render
();
});
$
.
ajax
({
url
:
domainName
+
'/api-user/users/getAll'
,
data
:
{
access_token
:
accessToken
},
success
:
function
(
response
)
{
var
options
=
"<option value=''>=选择汇报人=</option>"
;
$
.
each
(
response
,
function
(
i
,
v
)
{
options
+=
"<option value='"
+
v
.
username
+
"'>"
+
v
.
nickname
+
"</option>"
});
$
(
'#slt-repair-user'
).
html
(
options
);
form
.
render
();
}
});
admin
.
req
({
url
:
common
.
domainName
+
'/api-web/home/resType/getTree?hardwareFlag=Y'
,
}).
done
(
function
(
res
)
{
resTypeSelect
=
xmSelect
.
render
({
el
:
'#hardware-layui-select'
,
name
:
"resType"
,
tips
:
'==资产类型=='
,
filterable
:
true
,
radio
:
true
,
clickClose
:
false
,
layVerify
:
'required'
,
height
:
'20px'
,
tree
:
{
show
:
true
,
showFolderIcon
:
true
,
showLine
:
true
,
strict
:
true
,
indent
:
20
},
model
:
{
label
:
{
type
:
'text'
}
},
height
:
'auto'
,
data
:
res
.
data
,
hide
:
function
()
{
var
str
=
resTypeSelect
.
getValue
(
'valueStr'
);
if
(
!
str
){
str
=
'all'
;
}
currentResourceTypeTreeNodeId
=
str
;
reloadAllChange
();
}
});
form
.
render
();
})
}
// 各单位维修情况
function
loadCompanyReport
()
{
var
conditions
=
form
.
val
(
'form-repair-condition'
);
Object
.
assign
(
conditions
,
{
access_token
:
accessToken
,
createtime
:
createTime
,
viewMode
:
''
,
dateLimit
:
dateLimit
,
groupBy
:
'orgName'
});
admin
.
req
({
url
:
domainName
+
'/api-web/bResource/getAssetsRepairForGroup'
,
data
:
conditions
}).
done
(
function
(
response
)
{
var
chartData
=
response
.
map
;
var
groupList
=
chartData
.
groupList
;
var
countList
=
chartData
.
countList
;
var
xData
=
[];
var
groupData
=
[];
$
.
each
(
groupList
,
function
(
i
,
v
)
{
xData
.
push
(
v
);
groupData
.
push
({
name
:
v
,
value
:
1
});
});
var
series
=
[{
name
:
'维修数'
,
data
:
countList
,
barWidth
:
20
,
type
:
'bar'
,
label
:
{
show
:
true
,
position
:
'top'
,
textStyle
:
{
color
:
'#555'
},
formatter
:
function
(
data
)
{
return
countList
[
data
.
dataIndex
]
}
},
itemStyle
:
{
normal
:
{
color
:
(
params
)
=>
{
var
colors
=
[
'#b6c2ff'
,
'#96edc1'
,
'#fcb75b'
];
return
colors
[
params
.
dataIndex
%
3
]
}
}
},
xAxisIndex
:
0
,
yAxisIndex
:
0
}];
/**
双X轴标签对应,伪实现思路:
底部的标签也是柱状图,对应包含的区域为上方X轴条数占总数的比例,设为宽度即可
*/
var
option
=
{
tooltip
:
{
trigger
:
'axis'
,
axisPointer
:
{
type
:
'shadow'
}
},
grid
:
[{
top
:
20
,
bottom
:
70
,
right
:
5
},
{
height
:
30
,
bottom
:
30
,
right
:
5
}],
xAxis
:
[{
type
:
'category'
,
data
:
xData
,
gridIndex
:
0
,
axisLabel
:
{
color
:
'#333'
,
show
:
true
,
interval
:
0
,
rotate
:
25
},
axisLine
:
{
lineStyle
:
{
color
:
'#e7e7e7'
}
},
axisTick
:
{
lineStyle
:
{
color
:
'#e7e7e7'
}
},
zlevel
:
2
},
{
type
:
'category'
,
gridIndex
:
1
,
axisLine
:
{
show
:
false
},
zlevel
:
1
}],
yAxis
:
[{
type
:
'value'
,
gridIndex
:
0
,
axisLabel
:
{
color
:
'#333'
},
splitLine
:
{
lineStyle
:
{
type
:
'dashed'
}
},
axisLine
:
{
lineStyle
:
{
color
:
'#ccc'
}
},
axisTick
:
{
lineStyle
:
{
color
:
'#ccc'
}
}
},
{
type
:
'value'
,
gridIndex
:
1
,
axisLabel
:
{
show
:
false
},
axisLine
:
{
show
:
false
},
splitLine
:
{
show
:
false
},
axisTick
:
{
show
:
false
}
}],
series
:
series
};
companyChart
.
setOption
(
option
)
});
}
// 按资源类型统计
function
loadResTypeReport
()
{
var
conditions
=
form
.
val
(
'form-repair-condition'
);
Object
.
assign
(
conditions
,
{
access_token
:
accessToken
,
createtime
:
createTime
,
viewMode
:
''
,
dateLimit
:
dateLimit
,
groupBy
:
'resTypeName'
});
admin
.
req
({
url
:
domainName
+
'/api-web/bResource/getAssetsRepairForGroup'
,
data
:
conditions
}).
done
(
function
(
response
)
{
var
chartData
=
response
.
map
;
var
groupList
=
chartData
.
groupList
;
var
countList
=
chartData
.
countList
;
var
xData
=
[];
var
groupData
=
[];
$
.
each
(
groupList
,
function
(
i
,
v
)
{
xData
.
push
(
v
);
groupData
.
push
({
name
:
v
,
value
:
1
});
});
var
series
=
[{
name
:
'维修数'
,
data
:
countList
,
barWidth
:
20
,
type
:
'bar'
,
label
:
{
show
:
true
,
position
:
'top'
,
textStyle
:
{
color
:
'#555'
},
formatter
:
function
(
data
)
{
return
countList
[
data
.
dataIndex
]
}
},
itemStyle
:
{
normal
:
{
color
:
(
params
)
=>
{
var
colors
=
[
'#b6c2ff'
,
'#96edc1'
,
'#fcb75b'
];
return
colors
[
params
.
dataIndex
%
3
]
}
}
},
xAxisIndex
:
0
,
yAxisIndex
:
0
}];
/**
双X轴标签对应,伪实现思路:
底部的标签也是柱状图,对应包含的区域为上方X轴条数占总数的比例,设为宽度即可
*/
var
option
=
{
tooltip
:
{
trigger
:
'axis'
,
axisPointer
:
{
type
:
'shadow'
}
},
grid
:
[{
top
:
20
,
bottom
:
70
,
right
:
5
},
{
height
:
30
,
bottom
:
30
,
right
:
5
}],
xAxis
:
[{
type
:
'category'
,
data
:
xData
,
gridIndex
:
0
,
axisLabel
:
{
color
:
'#333'
,
show
:
true
,
interval
:
0
,
rotate
:
25
},
axisLine
:
{
lineStyle
:
{
color
:
'#e7e7e7'
}
},
axisTick
:
{
lineStyle
:
{
color
:
'#e7e7e7'
}
},
zlevel
:
2
},
{
type
:
'category'
,
gridIndex
:
1
,
axisLine
:
{
show
:
false
},
zlevel
:
1
}],
yAxis
:
[{
type
:
'value'
,
gridIndex
:
0
,
axisLabel
:
{
color
:
'#333'
},
splitLine
:
{
lineStyle
:
{
type
:
'dashed'
}
},
axisLine
:
{
lineStyle
:
{
color
:
'#ccc'
}
},
axisTick
:
{
lineStyle
:
{
color
:
'#ccc'
}
}
},
{
type
:
'value'
,
gridIndex
:
1
,
axisLabel
:
{
show
:
false
},
axisLine
:
{
show
:
false
},
splitLine
:
{
show
:
false
},
axisTick
:
{
show
:
false
}
}],
series
:
series
};
resTypeChart
.
setOption
(
option
)
});
}
// 图表,表格重新加载
function
reloadAllChange
()
{
loadWorkReportTable
();
loadCompanyReport
();
loadResTypeReport
();
}
});
});
\ No newline at end of file
...
...
hg-monitor-web-base/src/main/resources/static/src/controller/repairlist.js
0 → 100644
View file @
dc92ea7
//工作汇报
layui
.
define
([
'table'
,
'form'
,
'admin'
,
'layer'
,
'common'
,
'sessions'
],
function
(
exports
)
{
var
$
=
layui
.
$
;
var
form
=
layui
.
form
;
var
layer
=
layui
.
layer
;
var
admin
=
layui
.
admin
;
var
table
=
layui
.
table
;
var
common
=
layui
.
common
;
var
session
=
layui
.
sessions
var
domainName
=
common
.
domainName
;
//对外暴露的接口
exports
(
"repairlist"
,
function
(
d
)
{
var
accessToken
=
session
.
getToken
()[
'access_token'
]
if
(
d
.
type
==
'attachment'
)
{
$
(
'#attachmentTable'
).
show
()
createAttachmentTable
()
}
//渲染附件表格
function
createAttachmentTable
()
{
var
attachmentTable
=
table
.
render
({
elem
:
'#attachmentTable'
,
url
:
domainName
+
'/api-web/bResource/assetsrepair/getAttaById'
,
where
:
{
access_token
:
accessToken
,
id
:
d
.
id
},
height
:
'full'
,
page
:
{
layout
:
[
'count'
,
'prev'
,
'page'
,
'next'
,
'limit'
,
'skip'
]
,
theme
:
'#1E9FFF'
//自定义分页主题颜色
},
end
:
function
(
e
)
{
form
.
render
()
},
limit
:
common
.
limit
,
limits
:
common
.
limits
,
even
:
true
,
cols
:
[[
{
type
:
'numbers'
,
title
:
'序号'
},
{
field
:
'name'
,
title
:
'文件名称'
,
align
:
'center'
,
minWith
:
200
,
},
{
field
:
'originalName'
,
title
:
'原始名称'
,
align
:
'center'
,
minWith
:
200
,
},
{
field
:
'suffix'
,
title
:
'文件后缀'
,
align
:
'center'
,
minWith
:
150
,
},
{
field
:
'size'
,
title
:
'文件大小'
,
align
:
'center'
,
minWith
:
150
,
templet
:
function
(
d
)
{
var
str
=
(
d
.
size
/
1000
).
toFixed
(
2
)
return
`
<
div
><
span
>
$
{
str
}
KB
<
/span></
div
>
`
}
},
{
title
:
'操作'
,
align
:
"center"
,
width
:
120
,
templet
:
'<div><span data-id="{{d.id}}" data-suffix="{{d.suffix}}" class="layui-table-link preview-attachment-btn">预览</span>'
+
'<span data-id="{{d.id}}" data-suffix="{{d.suffix}}" class="layui-table-link attachment-download-btn" style="margin-left: 10px">下载</span></div>'
}
]],
done
:
function
()
{
$
(
'.preview-attachment-btn'
).
on
(
'click'
,
function
()
{
var
id
=
$
(
this
).
data
(
'id'
)
var
suffix
=
$
(
this
).
data
(
'suffix'
)
if
(
suffix
==
'jpg'
||
suffix
==
'png'
||
suffix
==
'JPG'
||
suffix
==
'PNG'
)
{
//图片类型
var
srcUrl
=
domainName
+
`
/
api
-
web
/
openoffice
/
readImage
/
$
{
id
}?
access_token
=
`
+
accessToken
layer
.
open
({
type
:
1
,
content
:
`
<
div
><
img
src
=
"${srcUrl}"
width
=
"100%"
height
=
"100%"
/><
/div>`
,
title
:
'图片预览'
,
area
:
[
'60%'
,
'90%'
]
})
}
else
{
//附件为文档类型
common
.
openReport
(
id
)
}
})
$
(
'.attachment-download-btn'
).
on
(
'click'
,
function
()
{
var
id
=
$
(
this
).
data
(
'id'
)
var
suffix
=
$
(
this
).
data
(
'suffix'
)
var
url
=
domainName
+
`
/
api
-
web
/
openoffice
/
download
/
$
{
id
}?
access_token
=
`
+
accessToken
window
.
open
(
url
)
})
}
})
}
})
})
\ No newline at end of file
...
...
hg-monitor-web-base/src/main/resources/static/src/views/assets/add.html
0 → 100644
View file @
dc92ea7
<!--工作汇报表单-->
<article>
<div
class=
"layui-card-body"
>
<fieldset
class=
"layui-elem-field layui-field-title"
>
<legend>
维修信息
</legend>
</fieldset>
<form
class=
"layui-form layui-form-pane"
lay-filter=
"add-repair-form"
id=
"add-repair-form"
onsubmit=
"return false;"
>
<input
hidden
name=
"id"
id=
"id"
lay-verify=
"checkReportIsExist"
>
<div
class=
"layui-form-item"
>
<div
class=
"layui-inline inline-half"
>
<label
class=
"layui-form-label"
>
设备类型
</label>
<div
class=
"layui-input-inline"
>
<select
name=
"resType"
id=
"slt-repairadd-res"
lay-filter=
"slt-repairadd-res"
>
<option
value=
""
>
=设备类型=
</option>
</select>
</div>
</div>
<div
class=
"layui-inline inline-half"
>
<label
class=
"layui-form-label"
>
设备序列号
</label>
<div
class=
"layui-input-inline"
>
<input
type=
"text"
class=
"layui-input"
name=
"resourceSN"
id=
"resourceSN"
>
</div>
</div>
</div>
<div
class=
"layui-form-item"
>
<div
class=
"layui-inline inline-half"
>
<label
class=
"layui-form-label"
>
故障时间
</label>
<div
class=
"layui-input-inline"
>
<input
type=
"text"
class=
"layui-input"
name=
"hitchtime"
id=
"hitchtime"
>
</div>
</div>
<div
class=
"layui-inline inline-half"
>
<label
class=
"layui-form-label"
>
维修时间
</label>
<div
class=
"layui-input-inline"
>
<input
type=
"text"
class=
"layui-input"
name=
"createtime"
id=
"createtime"
>
</div>
</div>
</div>
<div
class=
"layui-form-item hide"
id=
"form-item-repTitle"
>
<div
class=
"layui-inline inline-half"
>
<label
class=
"layui-form-label"
>
标题
</label>
<div
class=
"layui-input-inline"
>
<input
type=
"text"
class=
"layui-input"
name=
"title"
>
</div>
</div>
<div
class=
"layui-inline inline-half"
>
<label
class=
"layui-form-label"
>
汇报人
</label>
<div
class=
"layui-input-inline"
>
<input
type=
"text"
class=
"layui-input"
name=
"createBy"
id=
"createUser"
readonly=
"readonly"
>
</div>
</div>
</div>
<div
class=
"layui-form-item"
>
<div
class=
"layui-inline inline-half"
>
<label
class=
"layui-form-label"
>
归属单位
</label>
<div
class=
"layui-input-inline"
>
<select
name=
"orgId"
id=
"slt-repairadd-org"
lay-filter=
"slt-repairadd-org"
>
<option
value=
""
>
=归属单位=
</option>
</select>
</div>
</div>
<div
class=
"layui-inline inline-half"
>
<label
class=
"layui-form-label"
>
选择厂商
</label>
<div
class=
"layui-input-inline"
>
<select
name=
"manufacturerId"
id=
"slt-repairadd-group"
lay-filter=
"slt-repairadd-group"
>
<option
value=
""
>
=选择厂商=
</option>
</select>
</div>
</div>
</div>
<div
class=
"layui-form-item"
>
<div
class=
"layui-inline inline-half"
>
<label
class=
"layui-form-label"
>
受影响系统
</label>
<div
class=
"layui-input-inline"
>
<input
type=
"text"
class=
"layui-input"
name=
"affected"
id=
"affected"
>
</div>
</div>
<div
class=
"layui-inline inline-half"
>
<label
class=
"layui-form-label"
>
所属ip
</label>
<div
class=
"layui-input-inline"
>
<input
type=
"text"
class=
"layui-input"
name=
"ip"
id=
"ip"
>
</div>
</div>
</div>
<div
class=
"layui-form-item"
>
<div
class=
"layui-inline"
style=
"width: 90%"
>
<label
class=
"layui-form-label"
>
选择附件
</label>
<div
class=
"layui-input-block attachment"
>
<input
type=
"text"
class=
"layui-input"
readonly
id=
"attachmentInput"
>
</div>
</div>
<div
class=
"layui-inline"
>
<button
class=
"layui-btn layui-btn-normal"
id=
"attachment"
>
附件
</button>
<button
id=
"upload_btn"
hidden
>
附件
</button>
</div>
</div>
<div
class=
"layui-form-item"
style=
"display: none"
id=
"add-repair-form-atta"
>
<label
class=
"layui-form-label"
>
已存附件
</label>
<div
class=
"layui-input-inline"
style=
"width: 90% !important;max-height: 130px;overflow-y: auto;margin-left: 10px;"
>
<div
class=
"tags"
id=
"selecte_content_id"
></div>
</div>
</div>
<div
class=
"layui-form-item"
>
<label
class=
"layui-form-label textarea-label"
>
故障现象描述
</label>
<div
class=
"layui-input-block"
>
<textarea
class=
"layui-textarea"
name=
"phenomenon"
></textarea>
</div>
</div>
<div
class=
"layui-form-item"
>
<label
class=
"layui-form-label textarea-label"
>
解决过程描述
</label>
<div
class=
"layui-input-block"
>
<textarea
class=
"layui-textarea"
name=
"solveprocess"
></textarea>
</div>
</div>
<div
class=
"layui-form-item"
>
<label
class=
"layui-form-label textarea-label"
>
处理结果
</label>
<div
class=
"layui-input-block"
>
<textarea
class=
"layui-textarea"
name=
"result"
></textarea>
</div>
</div>
<div
class=
"layui-form-item"
>
<label
class=
"layui-form-label textarea-label"
>
经验总结
</label>
<div
class=
"layui-input-block"
>
<textarea
class=
"layui-textarea"
name=
"experience"
></textarea>
</div>
</div>
<button
type=
"submit"
lay-submit
lay-filter=
"repair-form-save-id"
class=
"layui-btn hide"
id=
"repair-form-save-id"
>
保存
</button>
<table
id=
"table-repair-add-attachment"
class=
"hide"
></table>
</form>
</div>
</article>
<script>
layui
.
use
(
'assetsRepairAdd'
,
function
(
fn
)
{
fn
({{
d
}})
})
</script>
<style>
#add-repair-form
.layui-form-label
{
width
:
120px
;
/* padding: 8px 12px; */
text-align
:
left
!important
;
}
#add-repair-form
.layui-input-block
{
margin-left
:
120px
!important
;
}
.tags
{
margin-top
:
5px
;
}
.tags
span
{
height
:
20px
;
margin-right
:
10px
;
margin-bottom
:
3px
;
padding
:
5px
10px
5px
10px
;
float
:
left
;
white-space
:
nowrap
;
color
:
#fff
;
background-color
:
#009688
;
text-shadow
:
1px
1px
1px
rgba
(
0
,
0
,
0
,
.15
);
}
.tags
.close
{
font-weight
:
bold
;
line-height
:
20px
;
margin-left
:
10px
;
cursor
:
pointer
;
text-align
:
center
;
color
:
#fff
;
border
:
0
none
;
background
:
transparent
none
repeat
scroll
0
0
;
}
</style>
...
...
hg-monitor-web-base/src/main/resources/static/src/views/assets/repair.html
0 → 100644
View file @
dc92ea7
<title>
资产维修记录
</title>
<article
class=
"page-container"
>
<div
class=
"page-panel "
>
<div
class=
"main"
>
<div
class=
"layui-card"
>
<div
class=
"layui-card-header"
>
<div
class=
"layui-status"
>
<form
class=
"layui-form layui-card-header"
onsubmit=
"return false"
lay-filter=
"form-repair-condition"
>
<div
class=
"layui-form-item"
>
<div
class=
"layui-inline"
>
<div
class=
"layui-input-inline layui-input-inline--long"
>
<input
type=
"text"
id=
"monitor_keyword"
name=
"title"
placeholder=
"标题搜索,支持内容模糊匹配"
autocomplete=
"off"
class=
"layui-input"
>
</div>
</div>
<div
class=
"layui-inline"
>
<div
class=
"layui-input-inline"
>
<select
name=
"orgId"
id=
"slt-repair-org"
lay-filter=
"slt-repair-org"
lay-search
>
<option
value=
""
>
=归属单位=
</option>
</select>
</div>
</div>
<div
class=
"layui-inline"
>
<div
class=
"layui-input-inline"
>
<select
name=
"manufacturerId"
id=
"slt-repair-group"
lay-filter=
"slt-repair-group"
lay-search
>
<option
value=
""
>
=选择厂商=
</option>
</select>
</div>
</div>
<div
class=
"layui-inline"
>
<div
class=
"layui-input-inline "
>
<div
id=
"hardware-layui-select"
class=
"xm-select"
></div>
</div>
</div>
<div
class=
"layui-inline"
>
<div
class=
"layui-input-inline"
>
<select
name=
"createBy"
id=
"slt-repair-user"
lay-filter=
"slt-repair-user"
lay-search
>
<option
value=
""
>
=选择汇报人=
</option>
</select>
</div>
</div>
<div
class=
"layui-btn-group time-group"
id=
"btns-repair-time"
style=
"padding: 0"
>
<button
type=
"button"
class=
"layui-btn layui-btn-primary layui-btn-xs date"
data-period=
"today"
>
今天
</button>
<button
type=
"button"
class=
"layui-btn layui-btn-primary layui-btn-xs date"
data-period=
"lastWeek"
>
上周
</button>
<button
type=
"button"
class=
"layui-btn layui-btn-primary layui-btn-xs active date"
data-period=
"thisWeek"
>
本周
</button>
<button
type=
"button"
class=
"layui-btn layui-btn-primary layui-btn-xs date"
data-period=
"lastMonth"
>
上月
</button>
<button
type=
"button"
class=
"layui-btn layui-btn-primary layui-btn-xs date"
data-period=
"thisMonth"
>
本月
</button>
</div>
<div
class=
"layui-inline"
style=
"margin-left: 10px"
>
<div
class=
"layui-input-inline"
style=
"width: auto"
>
<input
type=
"text"
name=
"dateLimit"
id=
"dateLimit"
autocomplete=
"off"
class=
"layui-input"
readonly
placeholder=
"其他日期范围"
>
</div>
</div>
</div>
</form>
</div>
</div>
<div
style=
"display: flex"
class=
"layui-card-echart"
>
<div
style=
"flex-grow: 3;width: 45%!important;"
>
<h5
class=
"lay-row-title"
>
按单位统计
</h5>
<div
class=
"pie-chart"
id=
"chart-company-report"
style=
"min-height: 240px"
></div>
</div>
<div
style=
"flex-grow: 3;width: 45%!important;"
>
<h5
class=
"lay-row-title"
>
按资产类型统计
</h5>
<div
class=
"pie-chart"
id=
"chart-restype-report"
style=
"min-height: 240px"
></div>
</div>
</div>
<div
class=
"layui-card-body"
style=
"margin-top: 10px;"
>
<div
class=
"warn-btns"
>
<button
class=
"layui-btn layui-btn-sm layui-btn-normal active"
data-type=
""
id=
"repair_create"
>
新增
</button>
</div>
<table
id=
"table-repair-view"
lay-filter=
"table-repair-view"
></table>
</div>
</div>
</div>
</div>
</article>
<script>
layui
.
use
(
'assetsrepair'
,
function
(
fn
)
{
fn
();
});
</script>
\ No newline at end of file
...
...
hg-monitor-web-base/src/main/resources/static/src/views/assets/repairlist.html
0 → 100644
View file @
dc92ea7
<article
class=
"page-container"
>
<div
class=
"page-panel"
>
<div
class=
"main"
>
<div
class=
"layui-card"
>
<div
class=
"layui-card-header"
>
</div>
<div
class=
"layui-card-body"
>
<table
id=
"attachmentTable"
lay-filter=
"attachmentTable"
></table>
</div>
</div>
</div>
</div>
</article>
<script>
layui
.
use
(
'repairlist'
,
function
(
fn
)
{
fn
({{
d
}})
});
</script>
\ No newline at end of file
...
...
Please
register
or
login
to post a comment