Commit 80e3bedd authored by yaqizhang's avatar yaqizhang

Merge branch 'master' of http://111.61.77.35:9999/gengdidi/gassafety into master

# Conflicts:
#	gassafety-web/src/views/workOrder/detail/index.vue
parents 144af8ef ff57d83b
...@@ -4,6 +4,11 @@ ENV = 'development' ...@@ -4,6 +4,11 @@ ENV = 'development'
# 燃气安全管理系统/开发环境 # 燃气安全管理系统/开发环境
VUE_APP_BASE_API = '/dev-api' VUE_APP_BASE_API = '/dev-api'
#地图中心
VUE_APP_MAP_CENTER = '石家庄'
#代理地址
VUE_APP_TARGET = 'http://localhost:8903/gassafety'
# 路由懒加载 # 路由懒加载
VUE_CLI_BABEL_TRANSPILE_MODULES = true VUE_CLI_BABEL_TRANSPILE_MODULES = true
...@@ -4,4 +4,10 @@ ENV = 'production' ...@@ -4,4 +4,10 @@ ENV = 'production'
# 燃气安全管理系统/生产环境 # 燃气安全管理系统/生产环境
VUE_APP_BASE_API = '/prod-api' VUE_APP_BASE_API = '/prod-api'
#地图中心
VUE_APP_MAP_CENTER = '石家庄'
#代理地址
VUE_APP_TARGET = 'http://36.148.23.59:8901/gassafety'
port = 8091 port = 8091
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
if(value){ if(value){
window.addEventListener("click", this.barClose); window.addEventListener("click", this.barClose);
this.$nextTick(() => { this.$nextTick(() => {
this.map = new gaodeMap("石家庄"); this.map = new gaodeMap(process.env.VUE_APP_MAP_CENTER);
this.map.addMouseTool(); this.map.addMouseTool();
if(this.str){ if(this.str){
this.map.addPolyline([{coordinates:this.str}]); this.map.addPolyline([{coordinates:this.str}]);
......
...@@ -43,10 +43,11 @@ class gaodeMap { ...@@ -43,10 +43,11 @@ class gaodeMap {
leftListClick = false; leftListClick = false;
//构造函数中设置中央点默认值 //构造函数中设置中央点默认值
constructor(center, latlng) { constructor(center, latlng,containerId) {
let container = containerId ? containerId : "container";
this.markers = []; this.markers = [];
this.center = center ? center : defaultCenter; this.center = center ? center : defaultCenter;
map = new AMap.Map("container", { map = new AMap.Map(container, {
//mask: addMask(result.districtList[0].boundaries), //mask: addMask(result.districtList[0].boundaries),
center: [114.72995, 38.37417], center: [114.72995, 38.37417],
// resizeEnable: true, // resizeEnable: true,
...@@ -234,7 +235,8 @@ class gaodeMap { ...@@ -234,7 +235,8 @@ class gaodeMap {
this.setMarkerIcon(marker); this.setMarkerIcon(marker);
if ( if (
DEVICE_TYPE.WORKORDER != markerType && DEVICE_TYPE.WORKORDER != markerType &&
DEVICE_TYPE.INSPECTOR != markerType DEVICE_TYPE.INSPECTOR != markerType &&
func != "false"
) { ) {
marker.content = this.getMarketContent(data); marker.content = this.getMarketContent(data);
marker.on("mouseover", this.infoOpen); marker.on("mouseover", this.infoOpen);
...@@ -349,7 +351,9 @@ class gaodeMap { ...@@ -349,7 +351,9 @@ class gaodeMap {
//infoWindow.close(map, e.target.getPosition()); //infoWindow.close(map, e.target.getPosition());
} }
if (func) { if (func) {
func(); if(func != "false"){
func();
}
} }
} }
// 其他设备 // 其他设备
......
<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%;">
<el-row> <el-row v-if ="resourceId == undefined">
<el-col :span="24" style="padding-left: 15px;margin-bottom: -10px;"> <el-col :span="24" style="padding-left: 15px;margin-bottom: -10px;">
<div style="height: 45px;" @click="$router.go(-1)"> <div style="height: 45px;" @click="$router.go(-1)">
<el-button size="medium" type="text" style="font-size: 18px; color: rgb(7, 63, 112);float: left;">返回 <el-button size="medium" type="text" style="font-size: 18px; color: rgb(7, 63, 112);float: left;">返回
...@@ -55,7 +55,8 @@ ...@@ -55,7 +55,8 @@
<el-form-item label="工单编号:" prop="orderId"> <el-form-item label="工单编号:" prop="orderId">
<!-- <font>{{form.orderId}}</font> --> <!-- <font>{{form.orderId}}</font> -->
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" @click="showDetail(form.orderId)">{{form.orderId}}</el-button> <font v-if="resourceId != undefined">{{form.orderId}}</font>
<el-button type="text" @click="showDetail(form.orderId)" v-if="resourceId == undefined">{{form.orderId}}</el-button>
</template> </template>
</el-form-item> </el-form-item>
<el-form-item label="处理状态:" prop="dealStatus"> <el-form-item label="处理状态:" prop="dealStatus">
...@@ -152,7 +153,7 @@ ...@@ -152,7 +153,7 @@
<el-col :span="8" style="padding: 10px;padding-left: 0px;"> <el-col :span="8" style="padding: 10px;padding-left: 0px;">
<div id="marbox" style="width: 100%;height: 304px; border: 1px solid rgb(218, 213, 213);float: right;"> <div id="marbox" style="width: 100%;height: 304px; border: 1px solid rgb(218, 213, 213);float: right;">
<div style="width: 100%;height: 100%" id="container"></div> <div style="width: 100%;height: 100%" id="containerAlarm"></div>
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
...@@ -235,6 +236,16 @@ ...@@ -235,6 +236,16 @@
</el-dialog> </el-dialog>
</div> </div>
</div> </div>
<el-dialog
title = "工单信息"
lock-scroll
:visible.sync="dialogVisible"
width="70%"
>
<div style="height:80vh;overflow:auto">
<workOrder :linkOrderId="form.orderId"/>
</div>
</el-dialog>
</div> </div>
</template> </template>
...@@ -247,13 +258,17 @@ ...@@ -247,13 +258,17 @@
import { map, DEVICE_TYPE } from "utils/gaodeMap.js"; import { map, DEVICE_TYPE } from "utils/gaodeMap.js";
import { inspectorList } from "@/api/system/user"; import { inspectorList } from "@/api/system/user";
import echarts from 'echarts'; import echarts from 'echarts';
import workOrder from "../../workOrder/detail/index.vue"
export default { export default {
props:["resourceId"],
name: "DeviceAlarm", name: "DeviceAlarm",
components: { components: {
workOrder
}, },
data() { data() {
return { return {
dialogVisible: false,
dataListdetail: [], dataListdetail: [],
alarmId:'', alarmId:'',
// 折线图标题 // 折线图标题
...@@ -277,7 +292,12 @@ export default { ...@@ -277,7 +292,12 @@ export default {
}, },
created() { created() {
// 如果是跳转来的,则接受初始化参数 // 如果是跳转来的,则接受初始化参数
this.alarmId = +this.$route.query.alarmId; if(this.resourceId){
this.alarmId = this.resourceId;
}else{
this.alarmId = this.$route.query.alarmId;
}
this.getDetail(); this.getDetail();
}, },
mounted() { mounted() {
...@@ -649,12 +669,13 @@ export default { ...@@ -649,12 +669,13 @@ export default {
}, },
/** 详细信息跳转 */ /** 详细信息跳转 */
showDetail(orderId) { showDetail(orderId) {
this.$router.push({ /*this.$router.push({
path: '/workOrder/detail', path: '/workOrder/detail',
query:{ query:{
orderId : orderId orderId : orderId
} }
}) //带参跳转 }) //带参跳转*/
this.dialogVisible = true;
}, },
getDetail (){ getDetail (){
getDeviceAlarm(this.alarmId).then(response =>{ getDeviceAlarm(this.alarmId).then(response =>{
...@@ -668,7 +689,7 @@ export default { ...@@ -668,7 +689,7 @@ export default {
const path1 = eval(coordinates)[0]; const path1 = eval(coordinates)[0];
const path2 = eval(coordinates)[1]; const path2 = eval(coordinates)[1];
const path3 = [(Number(path1[0]) + Number(path2[0])) / 2, (Number(path1[1]) + Number(path2[1])) / 2]; const path3 = [(Number(path1[0]) + Number(path2[0])) / 2, (Number(path1[1]) + Number(path2[1])) / 2];
let gaoMap = new gaodeMap("石家庄",path3); let gaoMap = new gaodeMap(process.env.VUE_APP_MAP_CENTER,path3,"containerAlarm");
this.gaoMap=gaoMap; this.gaoMap=gaoMap;
console.log("pipe", pipe); console.log("pipe", pipe);
this.dataListdetail.push(pipe); this.dataListdetail.push(pipe);
...@@ -679,7 +700,7 @@ export default { ...@@ -679,7 +700,7 @@ export default {
let device = this.form.deviceList[0]; let device = this.form.deviceList[0];
console.log("device", device); console.log("device", device);
this.dataListdetail.push(device); this.dataListdetail.push(device);
let gaoMap = new gaodeMap("石家庄",[device.longitude, device.latitude]); let gaoMap = new gaodeMap(process.env.VUE_APP_MAP_CENTER,[device.longitude, device.latitude],"containerAlarm");
this.gaoMap = gaoMap; this.gaoMap = gaoMap;
this.gaoMap.addMarker(DEVICE_TYPE.WORKORDER, device); this.gaoMap.addMarker(DEVICE_TYPE.WORKORDER, device);
......
...@@ -585,7 +585,7 @@ ...@@ -585,7 +585,7 @@
this.dataListdetail3.push(obj3); this.dataListdetail3.push(obj3);
this.form = response.data; this.form = response.data;
this.active = parseInt(response.data.orderStatus) + 1; this.active = parseInt(response.data.orderStatus) + 1;
let gaoMap = new gaodeMap("石家庄",[this.form.longitude, this.form.latitude]); let gaoMap = new gaodeMap(process.env.VUE_APP_MAP_CENTER,[this.form.longitude, this.form.latitude]);
this.gaoMap = gaoMap; this.gaoMap = gaoMap;
this.gaoMap.addMarker(DEVICE_TYPE.WORKORDER, this.form) this.gaoMap.addMarker(DEVICE_TYPE.WORKORDER, this.form)
// this.gaoMap.resetMapCenter([this.form.longitude, this.form.latitude]); // this.gaoMap.resetMapCenter([this.form.longitude, this.form.latitude]);
......
...@@ -313,7 +313,7 @@ ...@@ -313,7 +313,7 @@
console.log(this.form, "this.form") console.log(this.form, "this.form")
const obj =this.form; const obj =this.form;
// this.gaoMap.resetMapCenter([this.form.longitude, this.form.latitude]);let obj = this.form.deviceList[0]; // this.gaoMap.resetMapCenter([this.form.longitude, this.form.latitude]);let obj = this.form.deviceList[0];
let gaoMap = new gaodeMap("石家庄", [obj.longitude, obj.latitude]); let gaoMap = new gaodeMap(process.env.VUE_APP_MAP_CENTER, [obj.longitude, obj.latitude]);
this.gaoMap = gaoMap; this.gaoMap = gaoMap;
this.gaoMap.addMarker(DEVICE_TYPE.WORKORDER, this.form) this.gaoMap.addMarker(DEVICE_TYPE.WORKORDER, this.form)
}); });
......
...@@ -341,7 +341,7 @@ export default { ...@@ -341,7 +341,7 @@ export default {
this.boxWidth = document.body.clientWidth - 100; this.boxWidth = document.body.clientWidth - 100;
}, },
async initMap() { async initMap() {
let gaoMap = new gaodeMap("石家庄"); let gaoMap = new gaodeMap(process.env.VUE_APP_MAP_CENTER);
this.gaoMap = gaoMap; this.gaoMap = gaoMap;
this.gaoMap.view = this; this.gaoMap.view = this;
window.removeEventListener("click", this.barClose); window.removeEventListener("click", this.barClose);
......
...@@ -270,7 +270,7 @@ ...@@ -270,7 +270,7 @@
const path1 = eval(coordinates)[0]; const path1 = eval(coordinates)[0];
const path2 = eval(coordinates)[1]; const path2 = eval(coordinates)[1];
const path3 = [(Number(path1[0]) + Number(path2[0])) / 2, (Number(path1[1]) + Number(path2[1])) / 2]; const path3 = [(Number(path1[0]) + Number(path2[0])) / 2, (Number(path1[1]) + Number(path2[1])) / 2];
let gaoMap = new gaodeMap("石家庄", path3); let gaoMap = new gaodeMap(process.env.VUE_APP_MAP_CENTER, path3);
this.gaoMap = gaoMap; this.gaoMap = gaoMap;
this.gaoMap.onlyLine(this.form); this.gaoMap.onlyLine(this.form);
}); });
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<div class="app-container detail inspectiondetail" style="background-color: rgb(238, 241, 245);"> <div class="app-container detail inspectiondetail" 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%;">
<el-row> <el-row v-if="resourceId == undefined">
<el-col :span="24" style="padding-left: 15px;margin-bottom: -10px;"> <el-col :span="24" style="padding-left: 15px;margin-bottom: -10px;">
<div style="height: 45px;" @click="$router.go(-1)"> <div style="height: 45px;" @click="$router.go(-1)">
<el-button size="medium" type="text" style="font-size: 18px; color: rgb(7, 63, 112);float: left;">返回 <el-button size="medium" type="text" style="font-size: 18px; color: rgb(7, 63, 112);float: left;">返回
...@@ -87,7 +87,7 @@ ...@@ -87,7 +87,7 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<div id="marbox" style="width: 100%;height: 250px;margin-top: -25px; border: 1px solid rgb(218, 213, 213);"> <div id="marbox" style="width: 100%;height: 250px;margin-top: -25px; border: 1px solid rgb(218, 213, 213);">
<div style="width: 100%;height: 100%" id="container"></div> <div style="width: 100%;height: 100%" id="containerInspect"></div>
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
...@@ -121,9 +121,10 @@ ...@@ -121,9 +121,10 @@
<el-col :span="6"> <el-col :span="6">
<el-form ref="form" v-model="form" :rules="rules" label-width="100px" style="height: 30px;width: 100%;"> <el-form ref="form" v-model="form" :rules="rules" label-width="100px" style="height: 30px;width: 100%;">
<el-form-item label="工单编号:" prop="orderId"> <el-form-item label="工单编号:" prop="orderId">
<!-- <font>{{form.orderId}}</font> --> <!--&lt;!&ndash; <font>{{form.orderId}}</font> &ndash;&gt;-->
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" @click="showDetail(form.orderId)">{{form.orderId}}</el-button> <font v-if="resourceId != undefined">{{form.orderId}}</font>
<el-button type="text" @click="showDetail(form.orderId)" v-if="resourceId == undefined">{{form.orderId}}</el-button>
</template> </template>
</el-form-item> </el-form-item>
</el-form> </el-form>
...@@ -208,6 +209,17 @@ ...@@ -208,6 +209,17 @@
</el-dialog> </el-dialog>
</div> </div>
</div> </div>
<el-dialog
title = "工单信息"
lock-scroll
:visible.sync="dialogVisible"
width="70%"
>
<div style="height:80vh;overflow:auto">
<workOrder :linkOrderId="form.orderId"/>
</div>
</el-dialog>
</div> </div>
</template> </template>
...@@ -220,13 +232,17 @@ ...@@ -220,13 +232,17 @@
import { inspectorList } from "@/api/system/user"; import { inspectorList } from "@/api/system/user";
import { deviceTree } from "@/api/device/deviceInfo"; import { deviceTree } from "@/api/device/deviceInfo";
import { deviceNodeTree } from "@/api/device/deviceInfo"; import { deviceNodeTree } from "@/api/device/deviceInfo";
import workOrder from "../../workOrder/detail/index.vue"
export default { export default {
props:["resourceId"],
name: "InspectionPlanDetail", name: "InspectionPlanDetail",
components: { components: {
workOrder
}, },
data() { data() {
return { return {
dialogVisible: false,
// 遮罩层 // 遮罩层
loading: true, loading: true,
// 导出遮罩层 // 导出遮罩层
...@@ -326,7 +342,11 @@ ...@@ -326,7 +342,11 @@
// 如果是跳转来的,则接受初始化参数 // 如果是跳转来的,则接受初始化参数
// this.user_id = this.$route.query.id; //详细信息页接收参数 // this.user_id = this.$route.query.id; //详细信息页接收参数
this.getList(); this.getList();
this.planId = this.$route.query.planId; if(this.resourceId){
this.planId = this.resourceId;
}else{
this.planId = this.$route.query.planId;
}
// this.getDetail(); // this.getDetail();
}, },
mounted() { mounted() {
...@@ -361,13 +381,24 @@ ...@@ -361,13 +381,24 @@
console.log("this.form", this.form) console.log("this.form", this.form)
this.active = parseInt(response.data.orderStatus) + 1; this.active = parseInt(response.data.orderStatus) + 1;
if (this.form.deviceList?.length > 0) { if (this.form.deviceList?.length > 0) {
// for (var i = 0; i < this.form.deviceList.length; i++) { // for (var i = 0; i < this.form.deviceList.length; i++) {
let obj = this.form.deviceList[0]; let obj = this.form.deviceList[0];
let gaoMap = new gaodeMap("石家庄", [obj.longitude, obj.latitude]); let gaoMap = new gaodeMap(process.env.VUE_APP_MAP_CENTER, [obj.longitude, obj.latitude],"containerInspect");
this.gaoMap = gaoMap; this.gaoMap = gaoMap;
this.gaoMap.addMarker(DEVICE_TYPE.WORKORDER, obj) if("1" == obj.deviceType){
this.gaoMap.addMarker(DEVICE_TYPE.REGEULATORBOX, obj,"false")
}
if("2" == obj.deviceType){
this.gaoMap.addMarker(DEVICE_TYPE.VALUEWELL, obj,"false")
}
if("3" == obj.deviceType){
this.gaoMap.addMarker(DEVICE_TYPE.FLOWMETER, obj,"false")
}
if("4" == obj.deviceType){
this.gaoMap.addMarker(DEVICE_TYPE.PRESSUREGAGE, obj,"false")
}
// } // }
} }
...@@ -376,7 +407,7 @@ ...@@ -376,7 +407,7 @@
const path1 = eval(coordinates)[0]; const path1 = eval(coordinates)[0];
const path2 = eval(coordinates)[1]; const path2 = eval(coordinates)[1];
const path3 = [(Number(path1[0]) + Number(path2[0])) / 2, (Number(path1[1]) + Number(path2[1])) / 2]; const path3 = [(Number(path1[0]) + Number(path2[0])) / 2, (Number(path1[1]) + Number(path2[1])) / 2];
let gaoMap = new gaodeMap("石家庄", path3); let gaoMap = new gaodeMap(process.env.VUE_APP_MAP_CENTER, path3,"containerInspect");
this.gaoMap = gaoMap; this.gaoMap = gaoMap;
for (var i = 0; i < this.form.pipeList.length; i++) { for (var i = 0; i < this.form.pipeList.length; i++) {
let obj = this.form.pipeList[i]; let obj = this.form.pipeList[i];
...@@ -534,12 +565,13 @@ ...@@ -534,12 +565,13 @@
}, },
/** 详细信息跳转 */ /** 详细信息跳转 */
showDetail(orderId) { showDetail(orderId) {
this.$router.push({ /*this.$router.push({
path: '/workOrder/detail', path: '/workOrder/detail',
query: { query: {
orderId: orderId orderId: orderId
} }
}) //带参跳转 }) //带参跳转*/
this.dialogVisible = true;
}, },
/** 归档按钮操作 */ /** 归档按钮操作 */
handleFinish(res) { handleFinish(res) {
...@@ -635,4 +667,4 @@ ...@@ -635,4 +667,4 @@
font-size: 15px; font-size: 15px;
font-weight: 900; font-weight: 900;
} }
</style> </style>
\ No newline at end of file
...@@ -477,7 +477,7 @@ export default { ...@@ -477,7 +477,7 @@ export default {
}, },
initMap() { initMap() {
let gaoMap = new gaodeMap("石家庄"); let gaoMap = new gaodeMap(process.env.VUE_APP_MAP_CENTER);
this.gaoMap = gaoMap; this.gaoMap = gaoMap;
window.removeEventListener("mousedown", this.barClose); window.removeEventListener("mousedown", this.barClose);
window.addEventListener("mousedown", this.barClose); window.addEventListener("mousedown", this.barClose);
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<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%;">
<el-row> <el-row v-if="resourceId == undefined">
<el-col :span="24" style="padding-left: 15px;margin-bottom: -10px;"> <el-col :span="24" style="padding-left: 15px;margin-bottom: -10px;">
<div style="height: 45px;" @click="$router.go(-1)"> <div style="height: 45px;" @click="$router.go(-1)">
<el-button size="medium" type="text" style="font-size: 18px; color: rgb(7, 63, 112);float: left;">返回 <el-button size="medium" type="text" style="font-size: 18px; color: rgb(7, 63, 112);float: left;">返回
...@@ -104,7 +104,8 @@ ...@@ -104,7 +104,8 @@
<el-form ref="form" v-model="form" :rules="rules" label-width="100px" style="height: 30px;width: 100%;"> <el-form ref="form" v-model="form" :rules="rules" label-width="100px" style="height: 30px;width: 100%;">
<el-form-item label="工单编号:" prop="orderId"> <el-form-item label="工单编号:" prop="orderId">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" @click="showDetail(form.orderId)">{{form.orderId}}</el-button> <font v-if="resourceId != undefined">{{form.orderId}}</font>
<el-button type="text" @click="showDetail(form.orderId)" v-if="resourceId == undefined">{{form.orderId}}</el-button>
</template> </template>
</el-form-item> </el-form-item>
</el-form> </el-form>
...@@ -254,7 +255,7 @@ ...@@ -254,7 +255,7 @@
<el-cascader <el-cascader
v-model="form1.device" v-model="form1.device"
:options="options" :options="options"
:props="props" :props="propsH"
:show-all-levels="false" :show-all-levels="false"
@change="handleChange" @change="handleChange"
filterable filterable
...@@ -349,6 +350,17 @@ ...@@ -349,6 +350,17 @@
@confirmFun="confirmFun($event)" @confirmFun="confirmFun($event)"
></Mapdialog> ></Mapdialog>
</div> </div>
<el-dialog
title = "工单信息"
lock-scroll
:visible.sync="dialogVisible"
width="70%"
>
<div style="height:80vh;overflow:auto">
<workOrder :linkOrderId="form.orderId"/>
</div>
</el-dialog>
</div> </div>
</div> </div>
</template> </template>
...@@ -361,15 +373,19 @@ import { inspectorList, allListUser } from "@/api/system/user"; ...@@ -361,15 +373,19 @@ import { inspectorList, allListUser } from "@/api/system/user";
import { deviceNodeTree } from "@/api/device/deviceInfo"; import { deviceNodeTree } from "@/api/device/deviceInfo";
import MyFileUpload from '@/components/MyFileUpload'; import MyFileUpload from '@/components/MyFileUpload';
import Mapdialog from "@/components/mapDialog/checkDeviceLoaction.vue"; import Mapdialog from "@/components/mapDialog/checkDeviceLoaction.vue";
import workOrder from "../../workOrder/detail/index.vue"
export default { export default {
props:["resourceId"],
name: "HiddenTroubleDetail", name: "HiddenTroubleDetail",
components: { components: {
MyFileUpload, MyFileUpload,
Mapdialog Mapdialog,
workOrder
}, },
data() { data() {
return { return {
dialogVisible: false,
troubleId: '', troubleId: '',
isDisplay:false, isDisplay:false,
showAndHide : false, showAndHide : false,
...@@ -380,7 +396,7 @@ export default { ...@@ -380,7 +396,7 @@ export default {
// 用户列表 // 用户列表
userList: [], userList: [],
loadmap: false, loadmap: false,
props: { propsH: {
value: "id", value: "id",
label: "name", label: "name",
level: "level", level: "level",
...@@ -450,10 +466,14 @@ export default { ...@@ -450,10 +466,14 @@ export default {
}; };
}, },
created() { created() {
this.getList(); this.getList();
// 如果是跳转来的,则接受初始化参数 // 如果是跳转来的,则接受初始化参数
this.troubleId = this.$route.query.troubleId; if(this.resourceId){
this.troubleId = this.resourceId;
}else{
this.troubleId = this.$route.query.troubleId;
}
this.getDetail(); this.getDetail();
this.getDicts("t_trouble_type").then(response => { this.getDicts("t_trouble_type").then(response => {
this.typeOptions = response.data; this.typeOptions = response.data;
...@@ -481,12 +501,17 @@ export default { ...@@ -481,12 +501,17 @@ export default {
}, },
/** 详细信息跳转 */ /** 详细信息跳转 */
showDetail(orderId) { showDetail(orderId) {
this.$router.push({ /* this.$router.push({
path: '/workOrder/detail', path: '/workOrder/detail',
query:{ query:{
orderId : orderId orderId : orderId
} }
}) })*/
/*let routeData = this.$router.resolve({ path: '/workOrder/detail', query: { orderId: orderId } });
console.log(routeData,"trwetwe===========")
window.open(routeData.href, '_blank');*/
this.dialogVisible = true;
}, },
/** 提交按钮 */ /** 提交按钮 */
submitForm1() { submitForm1() {
...@@ -621,8 +646,8 @@ export default { ...@@ -621,8 +646,8 @@ export default {
this.showAndHide = false; this.showAndHide = false;
} }
}, },
// 表单重置 // 表单重置
reset() { reset() {
this.form1 = { this.form1 = {
......
...@@ -4,11 +4,11 @@ ...@@ -4,11 +4,11 @@
<div style="padding-top: 10px;background: #fff;height: 100%;"> <div style="padding-top: 10px;background: #fff;height: 100%;">
<el-row> <el-row>
<el-col :span="24" style="padding-left: 15px;margin-bottom: -10px;"> <el-col :span="24" style="padding-left: 15px;margin-bottom: -10px;">
<div style="height: 45px;" @click="$router.go(-1)"> <div v-if="linkOrderId == undefined" style="height: 45px;" @click="$router.go(-1)">
<el-button size="medium" type="text" style="font-size: 18px; color: rgb(7, 63, 112);float: left;">返回 <el-button size="medium" type="text" style="font-size: 18px; color: rgb(7, 63, 112);float: left;">返回
</el-button> </el-button>
<div style="float: left;margin-top: 8px;margin-left: 5px;"><img src="../../../assets/logo/fanhui.png" <div style="float: left;margin-top: 8px;margin-left: 5px;"><img src="../../../assets/logo/fanhui.png"
style="width: 25px;" alt=""></div> style="width: 25px;" alt=""></div>
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
...@@ -46,9 +46,12 @@ ...@@ -46,9 +46,12 @@
<el-col :span="6"> <el-col :span="6">
<el-form ref="form" v-model="form" :rules="rules" style="width: 100%;"> <el-form ref="form" v-model="form" :rules="rules" style="width: 100%;">
<el-form-item label="工单类型:" prop="orderType" style="margin-bottom: 0px;"> <el-form-item label="工单类型:" prop="orderType" style="margin-bottom: 0px;">
<font v-if="form.orderType == 1">巡检信息</font> <font v-if="form.orderType == 1 && linkOrderId != undefined">巡检信息</font>
<font v-if="form.orderType == 2">隐患信息</font> <font v-if="form.orderType == 2 && linkOrderId != undefined">隐患信息</font>
<font v-if="form.orderType == 3">报警信息</font> <font v-if="form.orderType == 3 && linkOrderId != undefined">报警信息</font>
<el-button type="text" v-if="form.orderType == 1 && linkOrderId == undefined" @click="detailInfos(form.orderType)">巡检信息</el-button>
<el-button type="text" v-if="form.orderType == 2 && linkOrderId == undefined" @click="detailInfos(form.orderType)">隐患信息</el-button>
<el-button type="text" v-if="form.orderType == 3 && linkOrderId == undefined" @click="detailInfos(form.orderType)">报警信息</el-button>
</el-form-item> </el-form-item>
<el-form-item label="工单编号:" prop="orderId" style="margin-bottom: 0px;"> <el-form-item label="工单编号:" prop="orderId" style="margin-bottom: 0px;">
<font>{{form.orderId}}</font> <font>{{form.orderId}}</font>
...@@ -82,7 +85,7 @@ ...@@ -82,7 +85,7 @@
<el-form-item label="设备名称:" prop="deviceName" style="margin-bottom: 0px;"> <el-form-item label="设备名称:" prop="deviceName" style="margin-bottom: 0px;">
<font v-if="form.orderType != 1">{{form.deviceName}}</font> <font v-if="form.orderType != 1">{{form.deviceName}}</font>
<el-tree style="margin-top: 5px;margin-left: 70px;" :data="deviceOptions" :props="defaultProps" :expand-on-click-node="false" ref="tree" <el-tree style="margin-top: 5px;margin-left: 70px;" :data="deviceOptions" :props="defaultProps" :expand-on-click-node="false" ref="tree"
@node-click="handleNodeClick" v-if="form.orderType == 1" /> @node-click="handleNodeClick" v-if="form.orderType == 1" />
</el-form-item> </el-form-item>
<el-form-item label="设备位置:" v-if="form.orderType != 1" style="margin-bottom: 0px;"> <el-form-item label="设备位置:" v-if="form.orderType != 1" style="margin-bottom: 0px;">
<font v-if="form.deviceType == 0">{{form.pipeList?form.pipeList[0].pipeAddr:"-"}}</font> <font v-if="form.deviceType == 0">{{form.pipeList?form.pipeList[0].pipeAddr:"-"}}</font>
...@@ -145,7 +148,7 @@ ...@@ -145,7 +148,7 @@
<div class="block" style="width: 95%;"> <div class="block" style="width: 95%;">
<el-timeline ref="timeline"> <el-timeline ref="timeline">
<el-timeline-item v-for="(activity, index) in form.feedbackList" v-show='index>1?false:true' :key="index" <el-timeline-item v-for="(activity, index) in form.feedbackList" v-show='index>1?false:true' :key="index"
:timestamp="activity.feedbackTime"> :timestamp="activity.feedbackTime">
<el-card> <el-card>
<el-row> <el-row>
...@@ -181,17 +184,17 @@ ...@@ -181,17 +184,17 @@
<div class="feedbackTime-div"> <div class="feedbackTime-div">
<div class="feedbackTime"> <div class="feedbackTime">
<el-image :src="activity.pictureUrl1" :preview-src-list="[activity.pictureUrl1]" <el-image :src="activity.pictureUrl1" :preview-src-list="[activity.pictureUrl1]"
v-if="activity.pictureUrl1 != null && activity.pictureUrl1 != ''" style="width: 100%;"> v-if="activity.pictureUrl1 != null && activity.pictureUrl1 != ''" style="width: 100%;">
</el-image> </el-image>
</div> </div>
<div class="feedbackTime"> <div class="feedbackTime">
<el-image :src="activity.pictureUrl2" :preview-src-list="[activity.pictureUrl2]" <el-image :src="activity.pictureUrl2" :preview-src-list="[activity.pictureUrl2]"
v-if="activity.pictureUrl2 != null && activity.pictureUrl2 != ''" style="width: 100%;"> v-if="activity.pictureUrl2 != null && activity.pictureUrl2 != ''" style="width: 100%;">
</el-image> </el-image>
</div> </div>
<div class="feedbackTime"> <div class="feedbackTime">
<el-image :src="activity.pictureUrl3" :preview-src-list="[activity.pictureUrl3]" <el-image :src="activity.pictureUrl3" :preview-src-list="[activity.pictureUrl3]"
v-if="activity.pictureUrl3 != null && activity.pictureUrl3 != ''" style="width: 100%;"> v-if="activity.pictureUrl3 != null && activity.pictureUrl3 != ''" style="width: 100%;">
</el-image> </el-image>
</div> </div>
</div> </div>
...@@ -205,7 +208,7 @@ ...@@ -205,7 +208,7 @@
<div style="width: 95%;position: relative;" @click="changeDisplay(scope)"> <div style="width: 95%;position: relative;" @click="changeDisplay(scope)">
<!-- <el-button type="primary"> --> <!-- <el-button type="primary"> -->
<i class="el-icon-arrow-down" v-if="isDisplay==false" <i class="el-icon-arrow-down" v-if="isDisplay==false"
style="margin-left: 100px;color: #909399;font-size: 14px;"> style="margin-left: 100px;color: #909399;font-size: 14px;">
<span style="text-decoration:underline">显示全部</span> <span style="text-decoration:underline">显示全部</span>
</i> </i>
<i class="el-icon-arrow-up" v-else style="color: #909399;font-size: 14px;margin-left: 100px;"> <i class="el-icon-arrow-up" v-else style="color: #909399;font-size: 14px;margin-left: 100px;">
...@@ -250,9 +253,9 @@ ...@@ -250,9 +253,9 @@
<div class="" style="width: 95%;margin-left: 50px;text-align: center;margin-top: 10px;"> <div class="" style="width: 95%;margin-left: 50px;text-align: center;margin-top: 10px;">
<el-button style="margin-bottom: 15px;margin-top: 10px;" type="primary" size="normal" icon="el-icon-edit" @click="handleUpdate(form.orderId)" <el-button style="margin-bottom: 15px;margin-top: 10px;" type="primary" size="normal" icon="el-icon-edit" @click="handleUpdate(form.orderId)"
v-hasPermi="['workOrder:basicsInfo:edit']" v-if="form.orderStatus == 0">修改</el-button> v-hasPermi="['workOrder:basicsInfo:edit']" v-if="form.orderStatus == 0 && linkOrderId == undefined">修改</el-button>
<el-button style="margin-bottom: 15px;margin-top: 10px;" type="primary" size="normal" icon="el-icon-edit" @click="handleFinish(form.orderId)" <el-button style="margin-bottom: 15px;margin-top: 10px;" type="primary" size="normal" icon="el-icon-edit" @click="handleFinish(form.orderId)"
v-hasPermi="['workOrder:basicsInfo:editStatus']" v-if="form.orderStatus == 2">归档</el-button> v-hasPermi="['workOrder:basicsInfo:editStatus']" v-if="form.orderStatus == 2 && linkOrderId == undefined">归档</el-button>
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="100px"> <el-form ref="form" :model="form" :rules="rules" label-width="100px">
<div v-if="this.title == '工单信息修改'"> <div v-if="this.title == '工单信息修改'">
...@@ -261,7 +264,7 @@ ...@@ -261,7 +264,7 @@
</el-form-item> </el-form-item>
<el-form-item label="指定执行人员" prop="appointInspector"> <el-form-item label="指定执行人员" prop="appointInspector">
<el-select v-model="form.appointInspector" placeholder="请选择执行人员" filterable clearable size="small" <el-select v-model="form.appointInspector" placeholder="请选择执行人员" filterable clearable size="small"
@change="setUserId"> @change="setUserId">
<el-option v-for="item in inspector" :key="item.userId" :label="item.nickName" :value="item.userId"> <el-option v-for="item in inspector" :key="item.userId" :label="item.nickName" :value="item.userId">
</el-option> </el-option>
</el-select> </el-select>
...@@ -294,6 +297,38 @@ ...@@ -294,6 +297,38 @@
</el-dialog> </el-dialog>
</div> </div>
</div> </div>
<el-dialog
title="巡检信息"
lock-scroll
:visible.sync="inspectionDialogVisible"
width="70%"
>
<div style="height:80vh;overflow:auto">
<inspection :resourceId="form.resourceId"/>
</div>
</el-dialog>
<el-dialog
title="隐患信息"
lock-scroll
:visible.sync="hiddenTroubleDialogVisible"
width="70%"
>
<div style="height:80vh;overflow:auto">
<hiddenTrouble :resourceId="form.resourceId"/>
</div>
</el-dialog>
<el-dialog
title="报警信息"
lock-scroll
:visible.sync="alarmDialogVisible"
width="70%"
>
<div style="height:80vh;overflow:auto">
<alarm :resourceId="form.resourceId"/>
</div>
</el-dialog>
</div> </div>
</template> </template>
...@@ -304,13 +339,23 @@ ...@@ -304,13 +339,23 @@
import gaodeMap from "utils/gaodeMap.js"; import gaodeMap from "utils/gaodeMap.js";
import { map, DEVICE_TYPE } from "utils/gaodeMap.js"; import { map, DEVICE_TYPE } from "utils/gaodeMap.js";
import { inspectorList } from "@/api/system/user"; import { inspectorList } from "@/api/system/user";
import inspection from "../../deviceInspection/inspectiondetail/index.vue";
import hiddenTrouble from "../../riskManagement/hiddenTroubleDetail/index.vue";
import alarm from "../../dataMonitoring/alarmdetail/index.vue";
export default { export default {
props:["linkOrderId"],
name: "BasicsInfo", name: "BasicsInfo",
components: { components: {
inspection,
hiddenTrouble,
alarm
}, },
data() { data() {
return { return {
inspectionDialogVisible: false,
hiddenTroubleDialogVisible: false,
alarmDialogVisible: false,
inspector: [], inspector: [],
isDisplay: false, isDisplay: false,
dialogImageUrl: '', dialogImageUrl: '',
...@@ -381,7 +426,12 @@ ...@@ -381,7 +426,12 @@
created() { created() {
// 如果是跳转来的,则接受初始化参数 // 如果是跳转来的,则接受初始化参数
// this.user_id = this.$route.query.id; //详细信息页接收参数 // this.user_id = this.$route.query.id; //详细信息页接收参数
this.orderId = this.$route.query.orderId; if(this.linkOrderId){
this.orderId = this.linkOrderId;
}else{
this.orderId = this.$route.query.orderId;
}
this.getList(); this.getList();
this.getDicts("t_order_status").then(response => { this.getDicts("t_order_status").then(response => {
this.typeOptions = response.data; this.typeOptions = response.data;
...@@ -392,7 +442,6 @@ ...@@ -392,7 +442,6 @@
// this.getBasicsInfo(); // this.getBasicsInfo();
}, },
mounted() { mounted() {
this.getBasicsInfo(); this.getBasicsInfo();
}, },
methods: { methods: {
...@@ -449,47 +498,47 @@ ...@@ -449,47 +498,47 @@
}, },
getBasicsInfo() { getBasicsInfo() {
! !
getBasicsInfo(this.orderId).then(response => { getBasicsInfo(this.orderId).then(response => {
this.form = response.data; this.form = response.data;
this.active = parseInt(response.data.orderStatus) + 1; this.active = parseInt(response.data.orderStatus) + 1;
if (this.form.deviceInfoList.length > 0) { if (this.form.deviceInfoList.length > 0) {
console.log("this.form.deviceInfoList", this.form.deviceInfoList) console.log("this.form.deviceInfoList", this.form.deviceInfoList)
let gaoMap = new gaodeMap("石家庄", [this.form.deviceInfoList[0].longitude, this.form.deviceInfoList[0].latitude]); let gaoMap = new gaodeMap(process.env.VUE_APP_MAP_CENTER, [this.form.deviceInfoList[0].longitude, this.form.deviceInfoList[0].latitude]);
this.gaoMap = gaoMap; this.gaoMap = gaoMap;
// this.gaoMap.resetMapCenter([this.form.deviceInfoList[0].longitude, this.form.deviceInfoList[0].latitude]); // this.gaoMap.resetMapCenter([this.form.deviceInfoList[0].longitude, this.form.deviceInfoList[0].latitude]);
for (var i = 0; i < this.form.deviceInfoList.length; i++) { for (var i = 0; i < this.form.deviceInfoList.length; i++) {
let obj = this.form.deviceInfoList[i]; let obj = this.form.deviceInfoList[i];
this.gaoMap.addMarker(DEVICE_TYPE.WORKORDER, obj); this.gaoMap.addMarker(DEVICE_TYPE.WORKORDER, obj);
}
} }
}
if (this.form.pipeList != null) { if (this.form.pipeList != null) {
console.log("this.form.pipeList",this.form.pipeList[0].coordinates) console.log("this.form.pipeList",this.form.pipeList[0].coordinates)
const {coordinates} = this.form.pipeList[0]; const {coordinates} = this.form.pipeList[0];
const path1 = eval(coordinates)[0]; const path1 = eval(coordinates)[0];
const path2 = eval(coordinates)[1]; const path2 = eval(coordinates)[1];
const path3 = [(Number(path1[0]) + Number(path2[0])) / 2, (Number(path1[1]) + Number(path2[1])) / 2]; const path3 = [(Number(path1[0]) + Number(path2[0])) / 2, (Number(path1[1]) + Number(path2[1])) / 2];
let gaoMap = new gaodeMap("石家庄",path3); let gaoMap = new gaodeMap(process.env.VUE_APP_MAP_CENTER,path3);
this.gaoMap = gaoMap; this.gaoMap = gaoMap;
for (var i = 0; i < this.form.pipeList.length; i++) { for (var i = 0; i < this.form.pipeList.length; i++) {
let obj = this.form.pipeList[i]; let obj = this.form.pipeList[i];
this.gaoMap.onlyLine(obj); this.gaoMap.onlyLine(obj);
}
} }
}
if (this.form.orderType == '1') { 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) { // filterNode(value, data) {
...@@ -613,6 +662,17 @@ ...@@ -613,6 +662,17 @@
this.download(response.msg); this.download(response.msg);
this.exportLoading = false; this.exportLoading = false;
}).catch(() => { }); }).catch(() => { });
},
detailInfos(type){
if("1" == type){
this.inspectionDialogVisible = true;
}
if("2" == type){
this.hiddenTroubleDialogVisible = true;
}
if("3" == type){
this.alarmDialogVisible = true;
}
} }
} }
} }
...@@ -686,4 +746,4 @@ ...@@ -686,4 +746,4 @@
font-size: 15px; font-size: 15px;
font-weight: 900; font-weight: 900;
} }
</style> </style>
\ No newline at end of file
...@@ -371,7 +371,7 @@ export default { ...@@ -371,7 +371,7 @@ export default {
this.getBasicsInfo(); this.getBasicsInfo();
}, },
mounted(){ mounted(){
let gaoMap = new gaodeMap("石家庄"); let gaoMap = new gaodeMap(process.env.VUE_APP_MAP_CENTER);
this.gaoMap = gaoMap; this.gaoMap = gaoMap;
this.getBasicsInfo(); this.getBasicsInfo();
}, },
......
...@@ -34,7 +34,7 @@ module.exports = { ...@@ -34,7 +34,7 @@ module.exports = {
// detail: https://cli.vuejs.org/config/#devserver-proxy // detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VUE_APP_BASE_API]: { [process.env.VUE_APP_BASE_API]: {
// target: `http://36.148.23.59:8901/gassafety`, // target: `http://36.148.23.59:8901/gassafety`,
target: `http://36.148.23.59:8901/gassafety`, target: process.env.VUE_APP_TARGET,
changeOrigin: true, changeOrigin: true,
pathRewrite: { pathRewrite: {
["^" + process.env.VUE_APP_BASE_API]: "" ["^" + process.env.VUE_APP_BASE_API]: ""
......
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