Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gassafety
Project
Project
Details
Activity
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
耿迪迪
gassafety
Commits
efe6c692
Commit
efe6c692
authored
Aug 13, 2021
by
王晓倩
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
巡检计划详情table
parent
66a7235f
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
73 additions
and
273 deletions
+73
-273
TInspectionPlanServiceImpl.java
...ehong/system/service/impl/TInspectionPlanServiceImpl.java
+9
-0
inspectiondetail.vue
...iews/deviceInspection/inspectionPlan/inspectiondetail.vue
+64
-273
No files found.
gassafety-system/src/main/java/com/zehong/system/service/impl/TInspectionPlanServiceImpl.java
View file @
efe6c692
...
@@ -57,6 +57,15 @@ public class TInspectionPlanServiceImpl implements ITInspectionPlanService
...
@@ -57,6 +57,15 @@ public class TInspectionPlanServiceImpl implements ITInspectionPlanService
TInspectionPlan
tInspectionPlan
=
tInspectionPlanMapper
.
selectTInspectionPlanById
(
planId
);
TInspectionPlan
tInspectionPlan
=
tInspectionPlanMapper
.
selectTInspectionPlanById
(
planId
);
BeanUtils
.
copyProperties
(
tInspectionPlan
,
inspectionPlanVo
);
BeanUtils
.
copyProperties
(
tInspectionPlan
,
inspectionPlanVo
);
if
(
StringUtils
.
isNotEmpty
(
tInspectionPlan
.
getPlanStatus
()))
{
List
<
SysDictData
>
sysDictDataList
=
iSysDictTypeService
.
selectDictDataByType
(
"t_plan_status"
);
for
(
SysDictData
sysDictData
:
sysDictDataList
)
{
if
(
tInspectionPlan
.
getPlanStatus
().
equals
(
sysDictData
.
getDictValue
()))
{
inspectionPlanVo
.
setPlanStatus
(
sysDictData
.
getDictLabel
());
}
}
}
if
(
tInspectionPlan
.
getOrderId
()
!=
null
&&
!
""
.
equals
(
tInspectionPlan
.
getOrderId
()))
{
if
(
tInspectionPlan
.
getOrderId
()
!=
null
&&
!
""
.
equals
(
tInspectionPlan
.
getOrderId
()))
{
TWorkOrder
tWorkOrder
=
tWorkOrderMapper
.
selectTWorkOrderById
(
tInspectionPlan
.
getOrderId
());
TWorkOrder
tWorkOrder
=
tWorkOrderMapper
.
selectTWorkOrderById
(
tInspectionPlan
.
getOrderId
());
inspectionPlanVo
.
setAllotTime
(
tWorkOrder
.
getAllotTime
());
inspectionPlanVo
.
setAllotTime
(
tWorkOrder
.
getAllotTime
());
...
...
gassafety-web/src/views/deviceInspection/inspectionPlan/inspectiondetail.vue
View file @
efe6c692
<
template
>
<
template
>
<div
class=
"app-container detail"
style=
"background-color: rgb(238, 241, 245);"
>
<div
class=
"app-container detail"
style=
"background-color: rgb(238, 241, 245);"
>
<!--
工单
信息 -->
<!--
巡检计划
信息 -->
<div
style=
"padding-top: 10px;background: #fff;height: 100%;"
>
<div
style=
"padding-top: 10px;background: #fff;height: 100%;"
>
<div>
<div
style=
"width: 5%;height: 45px;margin-left: 20px;"
@
click=
"$router.go(-1)"
>
<div
style=
"width: 5%;height: 45px;margin-left: 20px;"
@
click=
"$router.go(-1)"
>
<el-button
<el-button
size=
"medium"
size=
"medium"
...
@@ -11,22 +10,16 @@
...
@@ -11,22 +10,16 @@
>
返回
</el-button>
>
返回
</el-button>
<div
style=
"float: left;margin-top: 8px;margin-left: 5px;"
><img
src=
"../../../assets/logo/fanhui.png"
style=
"width: 25px;"
alt=
""
></div>
<div
style=
"float: left;margin-top: 8px;margin-left: 5px;"
><img
src=
"../../../assets/logo/fanhui.png"
style=
"width: 25px;"
alt=
""
></div>
</div>
</div>
<!--
<el-steps
:active=
"active"
finish-status=
"success"
simple
prop=
"orderStatus"
style=
"margin-top: 5px"
>
<el-step
title=
"未接收"
></el-step>
<el-step
title=
"已接收"
></el-step>
<el-step
title=
"进行中"
></el-step>
<el-step
title=
"已反馈"
></el-step>
<el-step
title=
"已归档"
></el-step>
</el-steps>
-->
</div>
<div
style=
"width: 100%;height:
265
px;"
>
<div
style=
"width: 100%;height:
500
px;"
>
<el-divider></el-divider>
<el-divider></el-divider>
<div
style=
"color: #31EAEA;width: 30%;height: 30px;"
>
<div
style=
"color: #31EAEA;width: 30%;height: 30px;"
>
<ul><li>
详细信息
</li></ul>
<ul><li>
详细信息
</li></ul>
</div>
</div>
<el-form
ref=
"form"
v-model=
"form"
:rules=
"rules"
label-width=
"100px"
style=
"float: left;margin-left: 50px;"
>
<div
>
<el-form-item
label=
"巡检名称:"
prop=
"planName"
>
<div
style=
"float: left;width: 50%; "
>
<el-form
ref=
"form"
v-model=
"form"
:rules=
"rules"
label-width=
"100px"
style=
"float: left;margin-left: 50px;width: 50%;"
>
<el-form-item
label=
"计划名称:"
prop=
"planName"
>
<font>
{{
form
.
planName
}}
</font>
<font>
{{
form
.
planName
}}
</font>
</el-form-item>
</el-form-item>
<el-form-item
label=
"检测地点:"
prop=
"address"
>
<el-form-item
label=
"检测地点:"
prop=
"address"
>
...
@@ -34,30 +27,43 @@
...
@@ -34,30 +27,43 @@
</el-form-item>
</el-form-item>
<el-form-item
label=
"计划描述:"
prop=
"remarks"
>
<el-form-item
label=
"计划描述:"
prop=
"remarks"
>
<div
style=
"height: 90px;width: 250px; border: 1px solid rgb(187, 183, 183);margin-top: 10px;overflow-y: auto;padding: 5px;border-radius: 5px;"
>
<div
style=
"height: 90px;width: 250px; border: 1px solid rgb(187, 183, 183);margin-top: 10px;overflow-y: auto;padding: 5px;border-radius: 5px;"
>
<font>
{{
form
.
remarks
}}
<font>
{{
form
.
remarks
}}
</font>
</font>
</div>
</div>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<el-form
ref=
"form"
v-model=
"form"
:rules=
"rules"
label-width=
"100px"
style=
"float: left;width: 25
%;"
>
<el-form
ref=
"form"
v-model=
"form"
:rules=
"rules"
label-width=
"100px"
style=
"float: left;width: 40
%;"
>
<el-form-item
label=
"计划执行时间:"
prop=
"startTime"
>
<el-form-item
label=
"计划执行时间:"
prop=
"startTime"
>
<font>
{{
form
.
startTime
}}
至
{{
form
.
endTime
}}
</font>
<font>
{{
form
.
startTime
}}
至
{{
form
.
endTime
}}
</font>
</el-form-item>
</el-form-item>
<el-form-item
label=
"设备名称:"
prop=
"deviceName"
>
<!--
<font
v-if=
"form.orderType != 1"
>
{{
form
.
deviceName
}}
</font>
-->
<el-tree
:data=
"deviceOptions"
:props=
"defaultProps"
:expand-on-click-node=
"false"
ref=
"tree"
@
node-click=
"handleNodeClick"
/>
</el-form-item>
</el-form>
</el-form>
<div
id=
"marbox"
style=
"width: 700px;height: 250px;float: left;margin-top: -35px; border: 1px solid rgb(218, 213, 213);"
>
<el-table
height=
"175px"
:data=
"form.inspectionDataList"
style=
"width: 800px; margin-left: 50px; margin-top: 20px"
>
<el-table-column
label=
"设备名称"
align=
"center"
prop=
"deviceName"
/>
<el-table-column
label=
"设备编号"
align=
"center"
prop=
"deviceCode"
/>
<el-table-column
label=
"设备类型"
align=
"center"
prop=
"deviceType"
/>
<el-table-column
label=
"处理状态"
align=
"center"
prop=
"dealStatus"
>
<template
slot-scope=
"scope"
>
<span
v-if=
"scope.row.dealStatus == null || scope.row.dealStatus == ''"
>
未处理
</span>
<span
v-if=
"scope.row.dealStatus == 1"
>
不需处理
</span>
<span
v-if=
"scope.row.dealStatus == 2"
>
已处理完成
</span>
<span
v-if=
"scope.row.dealStatus == 3"
>
未处理完成
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"是否存在隐患"
align=
"center"
prop=
"isHiddenDanger"
>
<
template
slot-scope=
"scope"
>
<span
v-if=
"scope.row.isHiddenDanger == null || scope.row.isHiddenDanger == ''"
>
-
</span>
<span
v-if=
"scope.row.isHiddenDanger == 1"
>
是
</span>
<span
v-if=
"scope.row.isHiddenDanger == 2"
>
否
</span>
</
template
>
</el-table-column>
</el-table>
</div>
<div
id=
"marbox"
style=
"width: 700px;height: 400px;float: left;margin-top: -35px; border: 1px solid rgb(218, 213, 213);"
>
<div
style=
"width: 100%;height: 100%"
id=
"container"
></div>
<div
style=
"width: 100%;height: 100%"
id=
"container"
></div>
</div>
</div>
</div>
</div>
</div>
<!-- 接单信息 -->
<!-- 接单信息 -->
<div>
<div>
<el-divider></el-divider>
<el-divider></el-divider>
...
@@ -83,16 +89,14 @@
...
@@ -83,16 +89,14 @@
<
script
>
<
script
>
import
{
listInspectionPlan
,
getInspectionPlan
,
addInspectionPlan
,
update
InspectionPlan
}
from
"@/api/deviceInspection/inspectionPlan"
;
import
{
get
InspectionPlan
}
from
"@/api/deviceInspection/inspectionPlan"
;
import
gaodeMap
from
"utils/gaodeMap.js"
;
import
gaodeMap
from
"utils/gaodeMap.js"
;
import
{
map
,
DEVICE_TYPE
}
from
"utils/gaodeMap.js"
;
import
{
DEVICE_TYPE
}
from
"utils/gaodeMap.js"
;
import
{
addBasicsInfo
}
from
"@/api/workOrder/basicsInfo"
;
import
{
inspectorList
}
from
"@/api/system/user"
;
import
{
inspectorList
}
from
"@/api/system/user"
;
import
{
deviceNodeTree
}
from
"@/api/device/deviceInfo"
;
// import { deviceTree } from "@/api/device/deviceInfo";
import
{
deviceTree
}
from
"@/api/device/deviceInfo"
;
export
default
{
export
default
{
name
:
"InspectionPlan"
,
name
:
"InspectionPlan
Detail
"
,
components
:
{
components
:
{
},
},
data
()
{
data
()
{
...
@@ -122,23 +126,6 @@ export default {
...
@@ -122,23 +126,6 @@ export default {
showSearch
:
true
,
showSearch
:
true
,
// 总条数
// 总条数
total
:
0
,
total
:
0
,
// 巡检计划表格数据
inspectionPlanList
:
[],
// 计划状态字典
typeOptions
:
[],
// 设备级联
options
:
[],
plansName
:
''
,
props
:
{
multiple
:
true
,
value
:
"id"
,
label
:
"name"
,
level
:
"level"
,
children
:
"childList"
,
},
devices
:
null
,
// 巡检员列表
inspector
:
[],
// 弹出层标题
// 弹出层标题
title
:
""
,
title
:
""
,
// 是否显示弹出层
// 是否显示弹出层
...
@@ -158,24 +145,6 @@ export default {
...
@@ -158,24 +145,6 @@ export default {
form
:
{
},
form
:
{
},
// 表单校验
// 表单校验
rules
:
{
rules
:
{
// planName: [
// { required: true, message: " 计划名称不能为空", trigger: "blur" }
// ],
// orderName: [
// { required: true, message: "工单名称不能为空", trigger: "blur" }
// ],
// devices: [
// { required: true, message: "请选择巡检设备", trigger: "blur" }
// ],
// startTime: [
// { required: true, message: "请选择开始时间", trigger: "blur" }
// ],
// endTime: [
// { required: true, message: "请选择结束时间", trigger: "blur" }
// ],
// appointInspector: [
// { required: true, message: "请选择巡检人员", trigger: "blur" }
// ],
}
}
};
};
},
},
...
@@ -183,19 +152,12 @@ export default {
...
@@ -183,19 +152,12 @@ export default {
// 如果是跳转来的,则接受初始化参数
// 如果是跳转来的,则接受初始化参数
// this.user_id = this.$route.query.id; //详细信息页接收参数
// this.user_id = this.$route.query.id; //详细信息页接收参数
this
.
planId
=
this
.
$route
.
query
.
planId
;
this
.
planId
=
this
.
$route
.
query
.
planId
;
this
.
getList
();
this
.
getDetail
();
this
.
getDicts
(
"t_order_status"
).
then
(
response
=>
{
this
.
typeOptions
=
response
.
data
;
});
this
.
getDicts
(
"t_order_type"
).
then
(
response
=>
{
this
.
ordertypeOptions
=
response
.
data
;
});
this
.
getInspectionPlan
();
},
},
mounted
(){
mounted
(){
let
gaoMap
=
new
gaodeMap
(
"石家庄"
);
let
gaoMap
=
new
gaodeMap
(
"石家庄"
);
this
.
gaoMap
=
gaoMap
;
this
.
gaoMap
=
gaoMap
;
this
.
get
InspectionPlan
();
this
.
get
Detail
();
},
},
methods
:
{
methods
:
{
getInspectorList
(){
getInspectorList
(){
...
@@ -205,51 +167,8 @@ export default {
...
@@ -205,51 +167,8 @@ export default {
this
.
loading
=
false
;
this
.
loading
=
false
;
});
});
},
},
// 点击按钮显示隐藏
/** 获取巡检计划详情 */
changeDisplay
(
e
){
getDetail
(){
this
.
isDisplay
=
!
this
.
isDisplay
let
$timeline
=
this
.
$refs
.
timeline
;
if
(
!
this
.
showAndHide
){
for
(
let
i
=
0
;
i
<
$timeline
.
$children
.
length
;
i
++
){
if
(
i
>
1
){
$timeline
.
$children
[
i
].
$el
.
style
.
display
=
"block"
;
}
}
this
.
showAndHide
=
true
;
}
else
{
for
(
let
i
=
0
;
i
<
$timeline
.
$children
.
length
;
i
++
){
if
(
i
>
1
){
$timeline
.
$children
[
i
].
$el
.
style
.
display
=
"none"
;
}
}
this
.
showAndHide
=
false
;
}
//$timeline.toggleRowExpansion(row,true)
},
handleRemove
(
file
)
{
console
.
log
(
file
);
},
handlePictureCardPreview
(
file
)
{
this
.
dialogImageUrl
=
file
.
url
;
this
.
dialogVisible
=
true
;
},
handleDownload
(
file
)
{
console
.
log
(
file
);
},
/** 查询工单基础信息列表 */
getList
()
{
this
.
loading
=
true
;
listInspectionPlan
(
this
.
queryParams
).
then
(
response
=>
{
this
.
inspectionPlanList
=
response
.
rows
;
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
});
},
getInspectionPlan
(){
getInspectionPlan
(
this
.
planId
).
then
(
response
=>
{
getInspectionPlan
(
this
.
planId
).
then
(
response
=>
{
this
.
form
=
response
.
data
;
this
.
form
=
response
.
data
;
this
.
active
=
parseInt
(
response
.
data
.
orderStatus
)
+
1
;
this
.
active
=
parseInt
(
response
.
data
.
orderStatus
)
+
1
;
...
@@ -261,144 +180,16 @@ export default {
...
@@ -261,144 +180,16 @@ export default {
this
.
gaoMap
.
addMarker
(
DEVICE_TYPE
.
WORKORDER
,
obj
)
this
.
gaoMap
.
addMarker
(
DEVICE_TYPE
.
WORKORDER
,
obj
)
}
}
if
(
this
.
form
.
orderType
==
'1'
)
{
// 获取设备列表树
// 获取设备列表树
let
data
=
{
// let data = {
key1
:
this
.
form
.
deviceInfoList
,
// key1:this.form.deviceInfoList,
key2
:
this
.
form
.
pipeList
// key2:this.form.pipeList
};
// };
deviceTree
(
data
).
then
(
response
=>
{
// deviceTree(data).then(response => {
this
.
deviceOptions
[
0
].
childList
=
response
.
data
;
// this.deviceOptions[0].childList = response.data;
});
// });
}
});
},
// 筛选节点
// filterNode(value, data) {
// if (!value) return true;
// return data.label.indexOf(value) !== -1;
// },
// 节点单击事件
handleNodeClick
(
data
)
{
},
// 取消按钮
cancel
()
{
this
.
open
=
false
;
// this.reset();
},
// 表单重置
reset
()
{
this
.
form
=
{
planId
:
null
,
orderId
:
null
,
orderType
:
null
,
orderName
:
null
,
orderStatus
:
"0"
,
createTime
:
null
,
appointInspector
:
null
,
allotTime
:
null
,
actualInspector
:
null
,
actualTime
:
null
,
remarks
:
null
};
this
.
resetForm
(
"form"
);
},
/** 搜索按钮操作 */
handleQuery
()
{
this
.
queryParams
.
pageNum
=
1
;
this
.
getList
();
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
resetForm
(
"queryForm"
);
this
.
handleQuery
();
},
// 多选框选中数据
handleSelectionChange
(
selection
)
{
this
.
ids
=
selection
.
map
(
item
=>
item
.
orderId
)
this
.
single
=
selection
.
length
!==
1
this
.
multiple
=
!
selection
.
length
},
/** 新增按钮操作 */
handleAdd
()
{
this
.
reset
();
this
.
open
=
true
;
this
.
title
=
"添加工单基础信息"
;
},
/** 归档按钮操作 */
handleFinish
(
res
)
{
// this.reset();
getInspectionPlan
(
res
).
then
(
response
=>
{
this
.
form
=
response
.
data
;
this
.
open
=
true
;
this
.
title
=
"工单信息归档"
;
});
},
/** 修改按钮操作 */
handleUpdate
(
row
)
{
this
.
reset
();
deviceNodeTree
().
then
(
response
=>
{
this
.
options
=
response
.
data
;
});
const
planId
=
row
.
planId
||
this
.
ids
getInspectionPlan
(
planId
).
then
(
response
=>
{
this
.
form
=
response
.
data
;
this
.
form
.
devices
=
eval
(
this
.
form
.
deviceIds
);
this
.
open
=
true
;
this
.
title
=
"修改巡检计划"
;
});
});
},
},
/** 提交按钮 */
/** 提交按钮 */
submitForm
()
{
this
.
$refs
[
"form"
].
validate
(
valid
=>
{
if
(
valid
)
{
if
(
this
.
form
.
orderStatus
==
'0'
)
{
updateBasicsInfo
(
this
.
form
).
then
(
response
=>
{
this
.
msgSuccess
(
"修改成功"
);
this
.
open
=
false
;
this
.
getList
();
});
}
else
if
(
this
.
form
.
orderStatus
==
'2'
){
updateOrderStatus
(
this
.
form
).
then
(
response
=>
{
this
.
msgSuccess
(
"操作成功"
);
this
.
open
=
false
;
this
.
getList
();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete
(
row
)
{
const
orderIds
=
row
.
orderId
||
this
.
ids
;
this
.
$confirm
(
'是否确认删除工单基础信息编号为"'
+
orderIds
+
'"的数据项?'
,
"警告"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
()
{
return
delBasicsInfo
(
orderIds
);
}).
then
(()
=>
{
this
.
getList
();
this
.
msgSuccess
(
"删除成功"
);
}).
catch
(()
=>
{});
},
/** 导出按钮操作 */
handleExport
()
{
const
queryParams
=
this
.
queryParams
;
this
.
$confirm
(
'是否确认导出所有工单基础信息数据项?'
,
"警告"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(()
=>
{
this
.
exportLoading
=
true
;
return
exportBasicsInfo
(
queryParams
);
}).
then
(
response
=>
{
this
.
download
(
response
.
msg
);
this
.
exportLoading
=
false
;
}).
catch
(()
=>
{});
}
}
}
}
}
</
script
>
</
script
>
...
...
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