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
9aa06f49
Commit
9aa06f49
authored
Sep 02, 2021
by
yaqizhang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
详情页加按钮
parent
e8ee48b8
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
813 additions
and
22 deletions
+813
-22
index.vue
gassafety-web/src/views/dataMonitoring/alarmdetail/index.vue
+98
-0
index.vue
...web/src/views/deviceInspection/inspectiondetail/index.vue
+287
-20
index.vue
...eb/src/views/riskManagement/hiddenTroubleDetail/index.vue
+428
-2
No files found.
gassafety-web/src/views/dataMonitoring/alarmdetail/index.vue
View file @
9aa06f49
...
...
@@ -178,6 +178,49 @@
</el-col>
</el-row>
</
template
>
<div
class=
""
style=
"width: 95%; height: 60px;margin-left: 50px;text-align: center;"
v-if=
"form.orderId == '' || form.orderId == null"
>
<el-button
size=
"normal"
type=
"primary"
icon=
"el-icon-edit"
@
click=
"handleIssue(form.alarmId)"
v-hasPermi=
"['workOrder:basicsInfo:add']"
>
生成工单
</el-button>
<el-dialog
:title=
"title"
:visible
.
sync=
"open"
width=
"800px"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"130px"
>
<el-form-item
label=
"报警设备"
prop=
"deviceName"
>
<font>
{{ form.deviceName }}
</font>
</el-form-item>
<el-form-item
label=
"报警类型"
prop=
"alarmType"
>
<font>
{{ form.alarmType }}
</font>
</el-form-item>
<el-form-item
label=
"报警值"
prop=
"alarmValue"
>
<font>
{{ form.alarmValue }}
</font>
</el-form-item>
<el-form-item
label=
"工单名称"
prop=
"orderName"
>
<el-input
v-model=
"form.orderName"
placeholder=
"请输入工单名称"
/>
</el-form-item>
<el-form-item
label=
"指定执行人员"
prop=
"appointInspector"
>
<el-select
v-model=
"form.appointInspector"
placeholder=
"请选择执行人员"
clearable
size=
"small"
@
change=
"setUserId"
>
<el-option
v-for=
"item in inspector"
:key=
"item.userId"
:label=
"item.nickName"
:value=
"item.userId"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"工单描述"
prop=
"remarks"
>
<el-input
type=
"textarea"
v-model=
"form.remarks"
placeholder=
"请输入工单描述"
/>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
</div>
</div>
</div>
</template>
...
...
@@ -186,6 +229,7 @@
import
{
getDeviceAlarm
}
from
"@/api/dataMonitoring/deviceAlarm"
;
import
{
deviceTree
}
from
"@/api/device/deviceInfo"
;
import
{
addBasicsInfo
}
from
"@/api/workOrder/basicsInfo"
;
import
gaodeMap
from
"utils/gaodeMap.js"
;
import
{
map
,
DEVICE_TYPE
}
from
"utils/gaodeMap.js"
;
import
{
inspectorList
}
from
"@/api/system/user"
;
...
...
@@ -201,9 +245,21 @@ export default {
alarmId
:
''
,
// 折线图标题
title
:
""
,
open
:
false
,
// 巡检员列表
inspector
:
[],
// 表单参数
form
:
{
},
rule
:
{
},
// 表单校验
rules
:
{
orderName
:
[
{
required
:
true
,
message
:
"工单名称不能为空"
,
trigger
:
"blur"
},
],
appointInspector
:
[
{
required
:
true
,
message
:
"请选择巡检人员"
,
trigger
:
"blur"
},
],
},
};
},
created
()
{
...
...
@@ -536,6 +592,48 @@ export default {
});
},
/** 下发按钮操作 */
handleIssue
(
alarmId
)
{
// this.reset();
this
.
getInspectorList
();
// const alarmId = row.alarmId || this.ids;
getDeviceAlarm
(
alarmId
).
then
((
response
)
=>
{
this
.
form
=
response
.
data
;
this
.
open
=
true
;
this
.
title
=
"填写工单信息"
;
});
},
/** 提交按钮 */
submitForm
()
{
this
.
$refs
[
"form"
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
form
.
resourceId
=
this
.
form
.
alarmId
;
this
.
form
.
orderType
=
"3"
;
addBasicsInfo
(
this
.
form
).
then
((
response
)
=>
{
this
.
msgSuccess
(
"生成工单成功"
);
this
.
open
=
false
;
this
.
getList
();
});
}
});
},
getInspectorList
()
{
this
.
loading
=
true
;
inspectorList
().
then
((
response
)
=>
{
this
.
inspector
=
response
.
data
;
this
.
loading
=
false
;
});
},
setUserId
(
val
)
{
this
.
form
.
appointInspector
=
val
;
},
// 取消按钮
cancel
()
{
this
.
open
=
false
;
// this.reset();
},
/** 详细信息跳转 */
showDetail
(
orderId
)
{
this
.
$router
.
push
({
...
...
gassafety-web/src/views/deviceInspection/inspectiondetail/index.vue
View file @
9aa06f49
...
...
@@ -120,17 +120,124 @@
</div>
<el-divider></el-divider>
<div
class=
""
style=
"width: 95%; height: 60px;margin-left: 50px;text-align: center;"
v-if=
"form.planStatus == 0"
>
<el-button
size=
"normal"
type=
"primary"
icon=
"el-icon-edit"
@
click=
"handleIssue(form.planId)"
v-hasPermi=
"['workOrder:basicsInfo:add']"
>
生成工单
</el-button>
<el-button
size=
"normal"
type=
"primary"
icon=
"el-icon-edit"
@
click=
"handleUpdate(form.planId)"
v-hasPermi=
"['deviceInspection:inspectionPlan:edit']"
>
修改
</el-button>
<el-button
size=
"normal"
type=
"primary"
icon=
"el-icon-delete"
@
click=
"handleIsDel(form.planId)"
v-hasPermi=
"['deviceInspection:inspectionPlan:edit']"
>
作废
</el-button>
<el-dialog
:title=
"title1"
:visible
.
sync=
"open1"
width=
"800px"
append-to-body
@
close=
"cancel"
>
<el-form
ref=
"form1"
:model=
"form1"
:rules=
"rules1"
label-width=
"120px"
>
<el-form-item
label=
"巡检计划名称"
prop=
"planName"
>
<el-input
v-model=
"form1.planName"
placeholder=
"请输入巡检计划名称"
/>
</el-form-item>
<el-form-item
label=
"巡检设备"
prop=
"devices"
>
<el-cascader
v-model=
"form1.devices"
:options=
"options"
:props=
"props"
:show-all-levels=
"false"
@
change=
"handleChange"
filterable
clearable
style=
"width: 640px"
></el-cascader>
</el-form-item>
<el-form-item
label=
"开始时间"
prop=
"startTime"
>
<el-date-picker
clearable
size=
"small"
v-model=
"form1.startTime"
type=
"date"
value-format=
"yyyy-MM-dd HH:mm:ss"
placeholder=
"选择开始时间"
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"结束时间"
prop=
"endTime"
>
<el-date-picker
clearable
size=
"small"
v-model=
"form1.endTime"
type=
"date"
value-format=
"yyyy-MM-dd HH:mm:ss"
placeholder=
"选择结束时间"
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"地址"
prop=
"address"
>
<el-input
v-model=
"form1.address"
type=
"textarea"
placeholder=
"请输入地址"
/>
</el-form-item>
<el-form-item
label=
"计划描述"
prop=
"remarks"
>
<el-input
type=
"textarea"
v-model=
"form1.remarks"
placeholder=
"请输入计划描述"
/>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"submitForm1"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
<el-dialog
:title=
"title2"
:visible
.
sync=
"open2"
width=
"800px"
append-to-body
@
close=
"cancel"
>
<el-form
ref=
"form2"
:model=
"form2"
:rules=
"rules2"
label-width=
"120px"
>
<el-form-item
label=
"巡检计划名称"
>
<font>
{{form2.planName}}
</font>
</el-form-item>
<el-form-item
label=
"计划时间"
>
<font>
{{ parseTime(form2.startTime, '{y}-{m}-{d}') }} 至
{{ parseTime(form2.endTime, '{y}-{m}-{d}') }}
</font>
</el-form-item>
<el-form-item
label=
"地址"
>
<font>
{{form2.address}}
</font>
</el-form-item>
<el-form-item
label=
"工单名称"
prop=
"orderName"
>
<el-input
v-model=
"form2.orderName"
placeholder=
"请输入工单名称"
/>
</el-form-item>
<el-form-item
label=
"指定执行人员"
prop=
"appointInspector"
>
<el-select
v-model=
"form2.appointInspector"
placeholder=
"请选择执行人员"
clearable
size=
"small"
>
<el-option
v-for=
"item in inspector"
:key=
"item.userId"
:label=
"item.nickName"
:value=
"item.userId"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"工单描述"
prop=
"remarks"
>
<el-input
type=
"textarea"
v-model=
"form2.remarks"
placeholder=
"请输入工单描述"
/>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"submitForm2"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
</div>
</div>
</div>
</template>
<
script
>
import
{
getInspectionPlan
}
from
"@/api/deviceInspection/inspectionPlan"
;
import
{
listInspectionPlan
,
getInspectionPlan
,
addInspectionPlan
,
updateInspectionPlan
}
from
"@/api/deviceInspection/inspectionPlan"
;
import
{
addBasicsInfo
}
from
"@/api/workOrder/basicsInfo"
;
import
gaodeMap
from
"utils/gaodeMap.js"
;
import
{
DEVICE_TYPE
}
from
"utils/gaodeMap.js"
;
import
{
inspectorList
}
from
"@/api/system/user"
;
// import { deviceTree } from "@/api/device/deviceInfo";
import
{
deviceTree
}
from
"@/api/device/deviceInfo"
;
import
{
deviceNodeTree
}
from
"@/api/device/deviceInfo"
;
export
default
{
name
:
"InspectionPlanDetail"
,
...
...
@@ -155,12 +262,33 @@ export default {
childList
:
[]
}
],
// 巡检计划表单参数
form1
:
{
},
form2
:
{
},
// 巡检员列表
inspector
:
[],
props
:
{
multiple
:
true
,
value
:
"id"
,
label
:
"name"
,
level
:
"level"
,
children
:
"childList"
,
},
// 弹出层标题
title2
:
""
,
// 非单个禁用
single
:
true
,
// 是否显示弹出层
open1
:
false
,
// 是否显示弹出层
open2
:
false
,
// 非多个禁用
multiple
:
true
,
// 显示搜索条件
showSearch
:
true
,
title1
:
""
,
// 总条数
total
:
0
,
// 弹出层标题
...
...
@@ -178,16 +306,44 @@ export default {
planStatus
:
null
,
remarks
:
null
},
// 设备级联
options
:
[],
// 表单参数
form
:
{
},
// 表单校验
rules
:
{
},
rules1
:
{
planName
:
[
{
required
:
true
,
message
:
"请输入计划名称"
,
trigger
:
"blur"
}
],
devices
:
[
{
required
:
true
,
message
:
"请选择巡检设备"
,
trigger
:
"blur"
}
],
startTime
:
[
{
required
:
true
,
message
:
"请选择开始时间"
,
trigger
:
"blur"
}
],
endTime
:
[
{
required
:
true
,
message
:
"请选择结束时间"
,
trigger
:
"blur"
}
],
address
:
[
{
required
:
true
,
message
:
"请输入地址"
,
trigger
:
"blur"
}
],
},
rules2
:
{
orderName
:
[
{
required
:
true
,
message
:
"请输入工单名称"
,
trigger
:
"blur"
}
],
appointInspector
:
[
{
required
:
true
,
message
:
"请选择巡检人员"
,
trigger
:
"blur"
}
],
}
};
},
created
()
{
// 如果是跳转来的,则接受初始化参数
// this.user_id = this.$route.query.id; //详细信息页接收参数
this
.
getList
();
this
.
planId
=
this
.
$route
.
query
.
planId
;
this
.
getDetail
();
},
...
...
@@ -197,6 +353,18 @@ export default {
this
.
getDetail
();
},
methods
:
{
/** 查询巡检计划列表 */
getList
()
{
this
.
loading
=
true
;
listInspectionPlan
(
this
.
queryParams
).
then
(
response
=>
{
this
.
inspectionPlanList
=
response
.
rows
;
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
});
},
handleChange
(
value
)
{
console
.
log
(
this
.
form1
.
devices
);
},
getInspectorList
(){
this
.
loading
=
true
;
inspectorList
().
then
(
response
=>
{
...
...
@@ -241,27 +409,134 @@ export default {
},
// 取消按钮
cancel
()
{
this
.
open
=
false
;
// this.reset();
this
.
open1
=
false
;
this
.
open2
=
false
;
this
.
reset
();
},
/** 生成工单提交按钮 */
submitForm2
()
{
this
.
$refs
[
"form2"
].
validate
(
valid
=>
{
if
(
valid
)
{
this
.
form2
.
resourceId
=
this
.
form2
.
planId
;
this
.
form2
.
orderType
=
"1"
;
addBasicsInfo
(
this
.
form2
).
then
(
response
=>
{
this
.
msgSuccess
(
"生成工单成功"
);
this
.
open2
=
false
;
this
.
getList
();
});
}
});
},
/** 新增修改巡检计划提交按钮 */
submitForm1
()
{
this
.
$refs
[
"form1"
].
validate
(
valid
=>
{
console
.
log
(
"form1"
,
this
.
$refs
[
"form1"
]);
if
(
valid
)
{
// 二维数组转字符串(处理设备级联选项的值)
var
arr
=
this
.
form1
.
devices
;
var
arrLen
=
arr
.
length
;
var
str
=
"["
;
for
(
var
i
=
0
;
i
<
arrLen
;
i
++
)
{
str
+=
"["
;
for
(
var
j
=
0
;
j
<
arr
[
i
].
length
;
j
++
)
{
str
+=
arr
[
i
][
j
];
if
(
j
<
arr
[
i
].
length
-
1
)
{
str
+=
","
;
}
}
str
+=
"]"
;
if
(
i
<
arrLen
-
1
)
{
str
+=
","
;
}
}
str
+=
"]"
;
this
.
form1
.
deviceIds
=
str
;
if
(
this
.
title1
==
"修改巡检计划"
)
{
updateInspectionPlan
(
this
.
form1
).
then
(
response
=>
{
this
.
msgSuccess
(
"修改成功"
);
this
.
open1
=
false
;
this
.
getList
();
});
}
else
if
(
this
.
title1
==
"新增巡检计划"
)
{
addInspectionPlan
(
this
.
form1
).
then
(
response
=>
{
this
.
msgSuccess
(
"添加成功"
);
this
.
open1
=
false
;
this
.
getList
();
});
}
}
});
},
/** 作废按钮操作 */
handleIsDel
(
planId
)
{
// this.form.planId.isDel = "1";
this
.
$confirm
(
'是否确认作废巡检计划名称为"'
+
this
.
form
.
planName
+
'"的数据项?'
,
"警告"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
()
{
return
updateInspectionPlan
(
planId
);
}).
then
(()
=>
{
this
.
getList
();
this
.
msgSuccess
(
"已作废"
);
}).
catch
(()
=>
{
});
},
// 表单重置
reset
()
{
this
.
form
=
{
this
.
form
1
=
{
planId
:
null
,
planName
:
null
,
orderId
:
null
,
orderType
:
null
,
orderName
:
null
,
orderStatus
:
"0"
,
startTime
:
null
,
endTime
:
null
,
planStatus
:
null
,
updateTime
:
null
,
createTime
:
null
,
remarks
:
null
};
this
.
resetForm
(
"form1"
);
this
.
form2
=
{
planId
:
null
,
planName
:
null
,
orderId
:
null
,
orderName
:
null
,
startTime
:
null
,
endTime
:
null
,
planStatus
:
null
,
appointInspector
:
null
,
allotTime
:
null
,
actualInspector
:
null
,
actualTime
:
null
,
updateTime
:
null
,
createTime
:
null
,
remarks
:
null
};
this
.
resetForm
(
"form"
);
this
.
resetForm
(
"form
2
"
);
},
/** 修改按钮操作 */
handleUpdate
(
planId
)
{
this
.
reset
();
deviceNodeTree
().
then
(
response
=>
{
this
.
options
=
response
.
data
;
});
getInspectionPlan
(
planId
).
then
(
response
=>
{
this
.
form1
=
response
.
data
;
this
.
form1
.
devices
=
eval
(
this
.
form1
.
deviceIds
);
this
.
open1
=
true
;
this
.
title1
=
"修改巡检计划"
;
});
},
/** 下发按钮操作 */
handleIssue
(
planId
)
{
this
.
getInspectorList
();
// const planId = row.planId || this.ids
getInspectionPlan
(
planId
).
then
(
response
=>
{
this
.
form2
=
response
.
data
;
this
.
form2
.
remarks
=
""
;
this
.
open2
=
true
;
this
.
title2
=
"填写工单信息"
;
});
},
/** 详细信息跳转 */
showDetail
(
orderId
)
{
this
.
$router
.
push
({
...
...
@@ -280,14 +555,6 @@ export default {
this
.
title
=
"工单信息归档"
;
});
},
/** 修改按钮操作 */
handleUpdate
(
row
)
{
this
.
reset
();
deviceNodeTree
().
then
(
response
=>
{
this
.
options
=
response
.
data
;
});
},
}
}
</
script
>
...
...
gassafety-web/src/views/riskManagement/hiddenTroubleDetail/index.vue
View file @
9aa06f49
...
...
@@ -172,17 +172,194 @@
</i>
</div>
</div>
<div
class=
""
style=
"width: 95%; height: 60px;margin-left: 50px;text-align: center;"
v-if=
"form.orderId == '' || form.orderId == null"
>
<el-button
size=
"normal"
type=
"primary"
icon=
"el-icon-edit"
@
click=
"handleIssue(form.troubleId)"
v-hasPermi=
"['workOrder:basicsInfo:add']"
>
生成工单
</el-button>
<el-button
size=
"normal"
type=
"primary"
icon=
"el-icon-edit"
@
click=
"handleUpdate(form.troubleId)"
v-hasPermi=
"['riskManagement:hiddenTrouble:edit']"
>
修改
</el-button>
<el-button
size=
"normal"
type=
"primary"
icon=
"el-icon-delete"
@
click=
"handleIsDel(form.troubleId)"
v-hasPermi=
"['riskManagement:hiddenTrouble:query']"
>
作废
</el-button>
<!-- 添加或修改隐患信息对话框 -->
<el-dialog
:title=
"title1"
:visible
.
sync=
"open1"
width=
"800px"
append-to-body
@
close=
"cancel"
>
<el-form
ref=
"form1"
:model=
"form1"
:rules=
"rules"
label-width=
"120px"
>
<el-col>
<el-form-item
label=
"隐患名称"
prop=
"troubleName"
style=
"width: 720px"
>
<el-input
v-model=
"form1.troubleName"
placeholder=
"请输入隐患名称"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"隐患类型"
prop=
"troubleType"
>
<el-select
v-model=
"form1.troubleType"
placeholder=
"请选择隐患类型"
>
<el-option
v-for=
"dict in typeOptions"
:key=
"dict.dictValue"
:label=
"dict.dictLabel"
:value=
"dict.dictValue"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"11"
>
<el-form-item
label=
"隐患级别"
prop=
"troubleLevel"
>
<el-select
v-model=
"form1.troubleLevel"
placeholder=
"请选择隐患级别"
>
<el-option
v-for=
"dict in levelOptions"
:key=
"dict.dictValue"
:label=
"dict.dictLabel"
:value=
"dict.dictValue"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"上报人"
prop=
"reportMan"
>
<el-select
v-model=
"form1.reportMan"
placeholder=
"请选择上报人"
clearable
size=
"small"
>
<el-option
v-for=
"item in userList"
:key=
"item.userId"
:label=
"item.nickName"
:value=
"item.userId"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"11"
>
<el-form-item
label=
"隐患设备"
prop=
"device"
>
<el-cascader
v-model=
"form1.device"
:options=
"options"
:props=
"props"
:show-all-levels=
"false"
@
change=
"handleChange"
filterable
clearable
></el-cascader>
</el-form-item>
</el-col>
<el-col>
<el-form-item
label=
"地址"
prop=
"address"
style=
"width: 720px"
>
<el-input
v-model=
"form1.address"
type=
"textarea"
placeholder=
"请输入地址"
/>
</el-form-item>
</el-col>
<el-col>
<el-form-item
label=
"经纬度"
prop=
"longitude"
>
<el-row>
<el-col
:span=
"8"
>
<el-input
v-model
.
number=
"form1.longitude"
placeholder=
"请输入经度"
/>
</el-col>
<el-col
:span=
"8"
style=
"margin-left: 10px"
>
<el-input
v-model
.
number=
"form1.latitude"
placeholder=
"请输入纬度"
/>
</el-col>
<el-col
:span=
"5"
style=
"margin-left: 10px"
>
<el-button
type=
"primary"
plain
@
click=
"MapdialogFun"
>
选择经纬度
</el-button>
</el-col>
</el-row>
</el-form-item>
</el-col>
<el-col>
<el-form-item
label=
"图片上传"
prop=
"pictureUrl"
>
<MyFileUpload
listType=
"picture-card"
@
resFun=
"getFileInfo"
@
remove=
"listRemove"
:fileArr=
"fileList"
/>
<el-input
v-show=
"false"
disabled
v-model=
"form1.pictureUrl"
></el-input>
</el-form-item>
</el-col>
<el-col>
<el-form-item
label=
"隐患信息"
prop=
"remarks"
style=
"width: 720px"
>
<el-input
v-model=
"form1.remarks"
type=
"textarea"
placeholder=
"请输入隐患信息"
/>
</el-form-item>
</el-col>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"submitForm1"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
<el-dialog
:title=
"title2"
:visible
.
sync=
"open2"
width=
"800px"
append-to-body
@
close=
"cancel"
>
<el-form
ref=
"form2"
:model=
"form2"
:rules=
"rules"
label-width=
"120px"
>
<el-form-item
label=
"隐患名称"
>
<font>
{{form2.troubleName}}
</font>
</el-form-item>
<el-form-item
label=
"隐患类型"
>
<font
v-if=
"form2.troubleType == 1"
>
设备老化
</font>
<font
v-if=
"form2.troubleType == 2"
>
质保过期
</font>
</el-form-item>
<el-form-item
label=
"隐患级别"
>
<font
v-if=
"form2.troubleLevel == 1"
>
Ⅰ级
</font>
<font
v-if=
"form2.troubleLevel == 2"
>
Ⅱ级
</font>
<font
v-if=
"form2.troubleLevel == 3"
>
Ⅲ级
</font>
</el-form-item>
<el-form-item
label=
"工单名称"
prop=
"orderName"
style=
"width: 720px"
>
<el-input
v-model=
"form2.orderName"
placeholder=
"请输入工单名称"
/>
</el-form-item>
<el-form-item
label=
"指定执行人员"
prop=
"appointInspector"
>
<el-select
v-model=
"form2.appointInspector"
placeholder=
"请选择执行人员"
clearable
size=
"small"
style=
"width: 600px"
>
<el-option
v-for=
"item in inspector"
:key=
"item.userId"
:label=
"item.nickName"
:value=
"item.userId"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"工单描述"
prop=
"remarks"
style=
"width: 720px"
>
<el-input
type=
"textarea"
v-model=
"form2.remarks"
placeholder=
"请输入工单描述"
/>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"submitForm2"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
<Mapdialog
v-if=
"loadmap"
:dialogTableVisible=
"dialogTableVisible"
@
dialogcancelFun=
"dialogcancelFun"
:slat=
"form1.latitude"
:slng=
"form1.longitude"
@
confirmFun=
"confirmFun($event)"
></Mapdialog>
</div>
</div>
</div>
</template>
<
script
>
import
{
getHiddenTrouble
}
from
"@/api/riskManagement/hiddenTrouble"
;
import
{
listHiddenTrouble
,
getHiddenTrouble
,
addHiddenTrouble
,
updateHiddenTrouble
,
exportHiddenTrouble
}
from
"@/api/riskManagement/hiddenTrouble"
;
import
{
addBasicsInfo
}
from
"@/api/workOrder/basicsInfo"
;
import
{
inspectorList
,
allListUser
}
from
"@/api/system/user"
;
import
{
deviceNodeTree
}
from
"@/api/device/deviceInfo"
;
import
MyFileUpload
from
'@/components/MyFileUpload'
;
import
Mapdialog
from
"@/components/mapDialog/checkDeviceLoaction.vue"
;
export
default
{
name
:
"HiddenTroubleDetail"
,
components
:
{
MyFileUpload
,
Mapdialog
},
data
()
{
return
{
...
...
@@ -190,15 +367,103 @@ export default {
isDisplay
:
false
,
showAndHide
:
false
,
form
:
{
},
rules
:
{
},
// 隐患类型字典
typeOptions
:
[],
levelOptions
:
[],
// 用户列表
userList
:
[],
props
:
{
value
:
"id"
,
label
:
"name"
,
level
:
"level"
,
children
:
"childList"
,
},
// 上传文件列表
fileList
:
[],
// 巡检员列表
inspector
:
[],
// 表单校验
rules
:
{
troubleName
:
[
{
required
:
true
,
message
:
"请输入隐患名称"
,
trigger
:
"blur"
}
],
troubleType
:
[
{
required
:
true
,
message
:
"请选择隐患类型"
,
trigger
:
"blur"
}
],
troubleLevel
:
[
{
required
:
true
,
message
:
"请选择隐患级别"
,
trigger
:
"blur"
}
],
reportMan
:
[
{
required
:
true
,
message
:
"请选择上报人"
,
trigger
:
"blur"
}
],
address
:
[
{
required
:
true
,
message
:
"请输入地址"
,
trigger
:
"blur"
}
],
pictureUrl
:
[
{
required
:
true
,
message
:
"请上传图片"
,
trigger
:
"blur"
}
],
longitude
:
[
{
required
:
true
,
message
:
"请输入经纬度"
,
trigger
:
"blur"
}
],
orderName
:
[
{
required
:
true
,
message
:
"请输入工单名称"
,
trigger
:
"blur"
}
],
appointInspector
:
[
{
required
:
true
,
message
:
"请选择巡检人员"
,
trigger
:
"blur"
}
],
},
// 查询参数
queryParams
:
{
troubleName
:
null
,
troubleType
:
null
,
deviceId
:
null
,
troubleLevel
:
null
,
orderId
:
null
,
longitude
:
null
,
deviceType
:
null
,
latitude
:
null
,
dealStatus
:
null
,
address
:
null
,
remarks
:
null
,
pictureUrl
:
null
,
reportMan
:
null
},
// 弹出层标题
title1
:
""
,
title2
:
""
,
// 是否显示弹出层
open1
:
false
,
open2
:
false
,
// 表单参数
form1
:
{},
form2
:
{},
// 设备级联
options
:
[],
};
},
created
()
{
this
.
getList
();
// 如果是跳转来的,则接受初始化参数
this
.
troubleId
=
this
.
$route
.
query
.
troubleId
;
this
.
getDetail
();
this
.
getDicts
(
"t_trouble_type"
).
then
(
response
=>
{
this
.
typeOptions
=
response
.
data
;
});
this
.
getDicts
(
"t_trouble_level"
).
then
(
response
=>
{
this
.
levelOptions
=
response
.
data
;
});
},
methods
:
{
/** 查询隐患信息列表 */
getList
()
{
this
.
loading
=
true
;
listHiddenTrouble
(
this
.
queryParams
).
then
(
response
=>
{
this
.
hiddenTroubleList
=
response
.
rows
;
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
});
},
/** 获取隐患信息详情 */
getDetail
(){
getHiddenTrouble
(
this
.
troubleId
).
then
(
response
=>
{
...
...
@@ -215,6 +480,115 @@ export default {
}
})
},
/** 提交按钮 */
submitForm1
()
{
this
.
$refs
[
"form1"
].
validate
(
valid
=>
{
if
(
valid
)
{
if
(
this
.
form1
.
troubleId
!=
null
)
{
updateHiddenTrouble
(
this
.
form1
).
then
(
response
=>
{
this
.
msgSuccess
(
"修改成功"
);
this
.
open1
=
false
;
this
.
getList
();
});
}
else
{
addHiddenTrouble
(
this
.
form1
).
then
(
response
=>
{
this
.
msgSuccess
(
"新增成功"
);
this
.
open1
=
false
;
this
.
getList
();
});
}
}
});
},
getInspectorList
(){
this
.
loading
=
true
;
inspectorList
().
then
(
response
=>
{
this
.
inspector
=
response
.
data
;
this
.
loading
=
false
;
});
},
/** 修改按钮操作 */
handleUpdate
(
troubleId
)
{
this
.
reset
();
this
.
getUserList
();
deviceNodeTree
().
then
(
response
=>
{
this
.
options
=
response
.
data
;
});
getHiddenTrouble
(
troubleId
).
then
(
response
=>
{
this
.
form1
=
response
.
data
;
console
.
log
(
"this.form1"
,
this
.
form1
);
if
(
this
.
form1
.
deviceType
!=
null
&&
this
.
form1
.
deviceId
!=
null
){
this
.
form1
.
device
=
[
this
.
form1
.
deviceType
,
this
.
form1
.
deviceId
];
}
this
.
open1
=
true
;
this
.
title1
=
"修改隐患信息"
;
if
(
this
.
form1
.
pictureUrl
)
{
this
.
fileList
.
push
({
url
:
this
.
form1
.
pictureUrl
,
});
}
});
},
cancel
()
{
this
.
open1
=
false
;
this
.
open2
=
false
;
this
.
fileList
=
[];
this
.
reset
();
},
/** 生成工单提交按钮 */
submitForm2
()
{
this
.
$refs
[
"form2"
].
validate
(
valid
=>
{
if
(
valid
)
{
this
.
form2
.
resourceId
=
this
.
form2
.
troubleId
;
this
.
form2
.
orderType
=
"2"
;
addBasicsInfo
(
this
.
form2
).
then
(
response
=>
{
this
.
msgSuccess
(
"生成工单成功"
);
this
.
open2
=
false
;
this
.
getList
();
});
}
});
},
/** 下发按钮操作 */
handleIssue
(
troubleId
)
{
this
.
reset
();
this
.
getInspectorList
();
getHiddenTrouble
(
troubleId
).
then
(
response
=>
{
this
.
form2
=
response
.
data
;
this
.
form2
.
remarks
=
""
;
this
.
open2
=
true
;
this
.
title2
=
"填写工单信息"
;
});
},
getFileInfo
(
res
){
this
.
form1
.
pictureUrl
=
res
.
url
;
},
listRemove
(
e
)
{
this
.
form1
.
pictureUrl
=
""
;
this
.
fileList
=
[];
},
confirmFun
(
res
)
{
//确认选择经纬度
this
.
form1
.
longitude
=
res
.
lng
;
this
.
form1
.
latitude
=
res
.
lat
;
},
MapdialogFun
()
{
this
.
loadmap
=
true
;
this
.
dialogTableVisible
=
true
;
},
handleChange
(
value
)
{
console
.
log
(
this
.
form1
.
device
);
let
arr
=
this
.
form1
.
device
;
this
.
form1
.
deviceType
=
arr
[
0
];
this
.
form1
.
deviceId
=
arr
[
1
];
},
getUserList
(){
this
.
loading
=
true
;
allListUser
().
then
(
response
=>
{
this
.
userList
=
response
.
data
;
this
.
loading
=
false
;
});
},
// 点击按钮显示隐藏
changeDisplay
(
e
)
{
this
.
isDisplay
=
!
this
.
isDisplay
...
...
@@ -235,6 +609,58 @@ export default {
this
.
showAndHide
=
false
;
}
},
// 表单重置
reset
()
{
this
.
form1
=
{
troubleId
:
null
,
troubleType
:
null
,
deviceId
:
null
,
troubleLevel
:
null
,
orderId
:
null
,
longitude
:
null
,
device
:
null
,
deviceType
:
null
,
latitude
:
null
,
dealStatus
:
null
,
updateTime
:
null
,
address
:
null
,
createTime
:
null
,
remarks
:
null
,
pictureUrl
:
null
,
reportMan
:
null
};
this
.
resetForm
(
"form1"
);
this
.
form2
=
{
troubleId
:
null
,
troubleName
:
null
,
troubleType
:
null
,
troubleLevel
:
null
,
orderId
:
null
,
orderName
:
null
,
appointInspector
:
null
,
updateTime
:
null
,
createTime
:
null
,
remarks
:
null
};
this
.
resetForm
(
"form2"
);
},
/** 作废按钮操作 */
handleIsDel
(
troubleId
)
{
// this.form.troubleId.isDel = "1";
this
.
$confirm
(
'是否确认作废隐患名称为"'
+
this
.
form
.
troubleName
+
'"的数据项?'
,
"警告"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
()
{
return
updateHiddenTrouble
(
troubleId
);
}).
then
(()
=>
{
this
.
getList
();
this
.
msgSuccess
(
"已作废"
);
}).
catch
(()
=>
{
});
},
}
}
</
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