Commit d9d60473 authored by yaqizhang's avatar yaqizhang

设备巡检

parent b0a5815a
......@@ -136,7 +136,7 @@
<script>
import { listDeviceAlarm, getDeviceAlarm } from "@/api/dataMonitoring/deviceAlarm";
import { listDeviceAlarm, getDeviceAlarm } from "@/api/dataMonitoring/deviceAlarm";
import { deviceTree } from "@/api/device/deviceInfo";
import gaodeMap from "utils/gaodeMap.js";
import {map, DEVICE_TYPE} from "utils/gaodeMap.js";
......@@ -145,7 +145,7 @@ import { listDeviceAlarm, getDeviceAlarm } from "@/api/dataMonitoring/deviceAlar
import { addBasicsInfo } from "@/api/workOrder/basicsInfo";
export default {
name: "BasicsInfo",
name: "DeviceAlarm",
components: {
},
data() {
......@@ -188,6 +188,7 @@ export default {
devices: null,
// 巡检员列表
inspector: [],
alermId:'',
// 弹出层标题
title: "",
// 是否显示弹出层
......@@ -212,7 +213,10 @@ export default {
created() {
// 如果是跳转来的,则接受初始化参数
// this.user_id = this.$route.query.id; //详细信息页接收参数
this.orderId = this.$route.query.orderId;
this.alarmId = +this.$route.query.alarmId;
console.log("query",this.$route.query.alarmId)
this.getList();
this.getDicts("t_order_status").then(response => {
this.typeOptions = response.data;
......@@ -225,7 +229,7 @@ export default {
mounted(){
let gaoMap = new gaodeMap("石家庄");
this.gaoMap = gaoMap;
this.getDeviceAlarm();
// this.getDeviceAlarm();
this.initData();
this.drawPieChart();
this.main3();
......@@ -790,7 +794,7 @@ export default {
});
},
getDeviceAlarm (){
getDeviceAlarm(this.orderId).then(response =>{
getDeviceAlarm(this.alarmId).then(response =>{
this.form = response.data;
this.active = parseInt(response.data.orderStatus) + 1;
if(this.form.deviceInfoList.length>0){
......
......@@ -28,17 +28,17 @@
<el-table v-loading="loading" :data="deviceAlarmList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="设备名称" align="center" >
<el-table-column label="设备名称" align="center">
<template slot-scope="scope">
<span>{{ scope.row.deviceName }}</span>
</template>
</el-table-column>
<el-table-column label="设备编号" align="center" >
<el-table-column label="设备编号" align="center">
<template slot-scope="scope">
<span>{{ scope.row.deviceCode }}</span>
</template>
</el-table-column>
<el-table-column label="报警类型" align="center" prop="alarmType" >
<el-table-column label="报警类型" align="center" prop="alarmType">
<template slot-scope="scope">
<span>{{ scope.row.alarmType }}</span>
</template>
......@@ -54,7 +54,7 @@
<span>{{ parseTime(scope.row.endTime) }}</span>
</template>
</el-table-column>
<el-table-column label="处理状态" align="center" prop="dealStatus" >
<el-table-column label="处理状态" align="center" prop="dealStatus">
<template slot-scope="scope">
<span v-if="scope.row.orderId == null || scope.row.orderId == ''">未下发</span>
<span v-if="(scope.row.dealStatus == null || scope.row.dealStatus == '')
......@@ -66,31 +66,16 @@
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="normal"
type="text"
icon="el-icon-edit"
@click="handleIssue(scope.row)"
v-hasPermi="['workOrder:basicsInfo:add']"
v-if="scope.row.orderId == '' || scope.row.orderId == null"
>生成工单</el-button>
<el-button
size="normal"
type="text"
icon="el-icon-edit"
@click="showDetail(scope.row)"
>详情</el-button>
<el-button size="normal" type="text" icon="el-icon-edit" @click="handleIssue(scope.row)"
v-hasPermi="['workOrder:basicsInfo:add']" v-if="scope.row.orderId == '' || scope.row.orderId == null">生成工单
</el-button>
<el-button size="normal" type="text" icon="el-icon-edit" @click="showDetail(scope.row)">详情</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@pagination="getList" />
<!-- 添加工单信息对话框 -->
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
......@@ -109,12 +94,8 @@
</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-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">
......@@ -130,174 +111,176 @@
</template>
<script>
import { listDeviceAlarm, getDeviceAlarm } from "@/api/dataMonitoring/deviceAlarm";
import { addBasicsInfo } from "@/api/workOrder/basicsInfo";
import { inspectorList } from "@/api/system/user";
import { listDeviceAlarm, getDeviceAlarm } from "@/api/dataMonitoring/deviceAlarm";
import { addBasicsInfo } from "@/api/workOrder/basicsInfo";
import { inspectorList } from "@/api/system/user";
export default {
name: "DeviceAlarm",
components: {
},
data() {
return {
// 遮罩层
loading: true,
// 导出遮罩层
exportLoading: false,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 报警信息表格数据
deviceAlarmList: [],
// 报警类型字典
typeOptions: [],
// 设备级联
options: [],
props: {
multiple: true,
value: "id",
label: "name",
level: "level",
children: "childList",
},
devices: null,
// 巡检员列表
inspector: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
deviceId: null,
orderId: null,
alarmType: null,
alarmValue: null,
startTime: null,
endTime: null,
dealStatus: null
},
// 表单参数
form: { },
// 表单校验
rules: {
orderName: [
{ required: true, message: "工单名称不能为空", trigger: "blur" }
],
appointInspector: [
{ required: true, message: "请选择巡检人员", trigger: "blur" }
],
}
};
},
created() {
this.getList();
this.getDicts("t_alarm_type").then(response => {
this.typeOptions = response.data;
});
},
methods: {
/** 查询报警信息列表 */
getList() {
this.loading = true;
listDeviceAlarm(this.queryParams).then(response => {
this.deviceAlarmList = response.rows;
this.total = response.total;
this.loading = false;
console.log("this.deviceAlarmList",this.deviceAlarmList)
});
},
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();
export default {
name: "DeviceAlarm",
components: {
},
// 表单重置
reset() {
this.form = {
orderId: null,
orderType: null,
orderName: null,
orderStatus: "0",
createTime: null,
appointInspector: null,
allotTime: null,
actualInspector: null,
actualTime: null,
remarks: null
data() {
return {
// 遮罩层
loading: true,
// 导出遮罩层
exportLoading: false,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 报警信息表格数据
deviceAlarmList: [],
// 报警类型字典
typeOptions: [],
// 设备级联
options: [],
props: {
multiple: true,
value: "id",
label: "name",
level: "level",
children: "childList",
},
devices: null,
// 巡检员列表
inspector: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
deviceId: null,
orderId: null,
alarmType: null,
alarmValue: null,
startTime: null,
endTime: null,
dealStatus: null
},
// 表单参数
form: {},
// 表单校验
rules: {
orderName: [
{ required: true, message: "工单名称不能为空", trigger: "blur" }
],
appointInspector: [
{ required: true, message: "请选择巡检人员", trigger: "blur" }
],
}
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
created() {
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.alarmId)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 下发按钮操作 */
handleIssue(row) {
this.reset();
this.getInspectorList();
const alarmId = row.alarmId || this.ids
getDeviceAlarm(alarmId).then(response => {
this.form = response.data;
this.open = true;
this.title = "填写工单信息";
this.getDicts("t_alarm_type").then(response => {
this.typeOptions = response.data;
});
},
/** 提交按钮 */
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();
});
}
});
},
/** 工单详细信息跳转 */
showDetail(row) {
this.$router.push({
path: '/deviceAlarm/alarmdetail',
query:{
orderId : row.orderId
}
}) //带参跳转
},
}
};
</script>
methods: {
/** 查询报警信息列表 */
getList() {
this.loading = true;
listDeviceAlarm(this.queryParams).then(response => {
this.deviceAlarmList = response.rows;
this.total = response.total;
this.loading = false;
console.log("this.deviceAlarmList", this.deviceAlarmList)
});
},
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();
},
// 表单重置
reset() {
this.form = {
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.alarmId)
this.single = selection.length !== 1
this.multiple = !selection.length
},
/** 下发按钮操作 */
handleIssue(row) {
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();
});
}
});
},
/** 工单详细信息跳转 */
showDetail(row) {
this.$router.push({
path: '/deviceAlarm/alarmdetail',
query: {
alarmId: row.alarmId
}
}) //带参跳转
},
}
};
</script>
\ No newline at end of file
......@@ -321,7 +321,6 @@
this.inspectionPlanList = response.rows;
this.total = response.total;
this.loading = false;
console.log("this.inspectionPlanList",this.inspectionPlanList)
});
},
/** 详细信息跳转 */
......
......@@ -32,10 +32,6 @@
<el-form-item label="检测地点:" prop="address">
<font>{{form.address}}</font>
</el-form-item>
<el-form-item label="计划执行时间:" prop="startTime">
<font>{{form.startTime}}{{form.endTime}}</font>
</el-form-item>
<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;">
<font>{{form.remarks}}
......@@ -44,13 +40,9 @@
</el-form-item>
</el-form>
<el-form ref="form" v-model="form" :rules="rules" label-width="100px" style="float: left;width: 25%;">
<el-form-item label="设备类型:" prop="deviceType" v-if="form.orderType != 1">
<font v-if="form.deviceType == 0">管道</font>
<font v-if="form.deviceType == 1">调压阀</font>
<font v-if="form.deviceType == 2">阀门井</font>
<font v-if="form.deviceType == 3">流量计</font>
<font v-if="form.deviceType == 4">压力表</font>
</el-form-item>
<el-form-item label="计划执行时间:" prop="startTime">
<font>{{form.startTime}}{{form.endTime}}</font>
</el-form-item>
<el-form-item label="设备名称:" prop="deviceName">
<!-- <font v-if="form.orderType != 1">{{form.deviceName}}</font> -->
<el-tree
......@@ -97,6 +89,7 @@
import { addBasicsInfo } from "@/api/workOrder/basicsInfo";
import { inspectorList } from "@/api/system/user";
import { deviceNodeTree } from "@/api/device/deviceInfo";
import { deviceTree } from "@/api/device/deviceInfo";
export default {
name: "InspectionPlan",
......@@ -260,19 +253,19 @@ export default {
getInspectionPlan(this.planId).then(response =>{
this.form = response.data;
this.active = parseInt(response.data.orderStatus) + 1;
console.log("this.form",this.form)
if(this.form.inspectionPlanList.length>0){
this.gaoMap.resetMapCenter([this.form.inspectionPlanList[0].longitude,this.form.inspectionPlanList[0].latitude]);
console.log(this.form,2222222222222222)
if(this.form.deviceInfoList.length>0){
this.gaoMap.resetMapCenter([this.form.deviceInfoList[0].longitude,this.form.deviceInfoList[0].latitude]);
}
for(var i = 0; i < this.form.inspectionPlanList.length; i++){
let obj = this.form.inspectionPlanList[i];
for(var i = 0; i < this.form.deviceInfoList.length; i++){
let obj = this.form.deviceInfoList[i];
this.gaoMap.addMarker(DEVICE_TYPE.WORKORDER, obj)
}
if(this.form.orderType == '1') {
// 获取设备列表树
let data = {
key1:this.form.inspectionPlanList,
key1:this.form.deviceInfoList,
key2:this.form.pipeList
};
deviceTree(data).then(response => {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment