Commit 6db6f443 authored by 耿迪迪's avatar 耿迪迪
parents a265ff45 ed08a356
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head>
<meta charset="utf-8"> <head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta charset="utf-8">
<meta name="renderer" content="webkit"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> <meta name="renderer" content="webkit">
<link rel="icon" href="<%= BASE_URL %>favicon.ico"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<title><%= webpackConfig.name %></title> <link rel="icon" href="<%= BASE_URL %>favicon.ico">
<!--[if lt IE 11]><script>window.location.href='/html/ie.html';</script><![endif]--> <title>
<script> <%= webpackConfig.name %>
window._AMapSecurityConfig = { </title>
securityJsCode:'d4bb6c4d7a074701457bc9721eb7754a', <!--[if lt IE 11]><script>window.location.href='/html/ie.html';</script><![endif]-->
} <script>
</script> window._AMapSecurityConfig = {
<script src="https://webapi.amap.com/maps?v=2.0&key=49fcb156d466062435d7d33437099582&plugin=Map3D,AMap.DistrictSearch,AMap.Scale,AMap.OverView,AMap.ToolBar,AMap.MouseTool,AMap.ControlBar,AMap.CircleEditor,AMap.PolyEditor"></script> securityJsCode: 'd4bb6c4d7a074701457bc9721eb7754a',
<script src="<%= BASE_URL %>h5player/h5player.min.js"></script> }
<script src="<%= BASE_URL %>cesium/Cesium.js"></script> </script>
<link rel="stylesheet" href="<%= BASE_URL %>cesium/Widgets/widgets.css"> <script
<style> src="https://webapi.amap.com/maps?v=2.0&key=49fcb156d466062435d7d33437099582&plugin=Map3D,AMap.DistrictSearch,AMap.Scale,AMap.OverView,AMap.ToolBar,AMap.MouseTool,AMap.ControlBar,AMap.CircleEditor,AMap.PolyEditor"></script>
<script src="https://webapi.amap.com/loca?v=2.0.0&key=49fcb156d466062435d7d33437099582"></script>
<script src="<%= BASE_URL %>h5player/h5player.min.js"></script>
<script src="<%= BASE_URL %>cesium/Cesium.js"></script>
<link rel="stylesheet" href="<%= BASE_URL %>cesium/Widgets/widgets.css">
<style>
html, html,
body, body,
#app { #app {
...@@ -25,6 +30,7 @@ ...@@ -25,6 +30,7 @@
margin: 0px; margin: 0px;
padding: 0px; padding: 0px;
} }
.chromeframe { .chromeframe {
margin: 0.2em 0; margin: 0.2em 0;
background: #ccc; background: #ccc;
...@@ -101,6 +107,7 @@ ...@@ -101,6 +107,7 @@
-ms-transform: rotate(0deg); -ms-transform: rotate(0deg);
transform: rotate(0deg); transform: rotate(0deg);
} }
100% { 100% {
-webkit-transform: rotate(360deg); -webkit-transform: rotate(360deg);
-ms-transform: rotate(360deg); -ms-transform: rotate(360deg);
...@@ -114,6 +121,7 @@ ...@@ -114,6 +121,7 @@
-ms-transform: rotate(0deg); -ms-transform: rotate(0deg);
transform: rotate(0deg); transform: rotate(0deg);
} }
100% { 100% {
-webkit-transform: rotate(360deg); -webkit-transform: rotate(360deg);
-ms-transform: rotate(360deg); -ms-transform: rotate(360deg);
...@@ -203,15 +211,17 @@ ...@@ -203,15 +211,17 @@
opacity: 0.5; opacity: 0.5;
} }
</style> </style>
</head> </head>
<body>
<div id="app"> <body>
<div id="loader-wrapper"> <div id="app">
<div id="loader"></div> <div id="loader-wrapper">
<div class="loader-section section-left"></div> <div id="loader"></div>
<div class="loader-section section-right"></div> <div class="loader-section section-left"></div>
<div class="load_title">正在加载系统资源,请耐心等待</div> <div class="loader-section section-right"></div>
</div> <div class="load_title">正在加载系统资源,请耐心等待</div>
</div> </div>
</body> </div>
</html> </body>
</html>
\ No newline at end of file
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: 纪泽龙 jizelong@qq.com * @Author: 纪泽龙 jizelong@qq.com
* @Date: 2026-06-17 16:54:14 * @Date: 2026-06-17 16:54:14
* @LastEditors: 纪泽龙 jizelong@qq.com * @LastEditors: 纪泽龙 jizelong@qq.com
* @LastEditTime: 2026-08-01 09:28:41 * @LastEditTime: 2026-09-22 16:12:29
* @FilePath: /huaxin-web/src/utils/mapClass/deviceIconTypeConfig.js * @FilePath: /huaxin-web/src/utils/mapClass/deviceIconTypeConfig.js
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/ */
...@@ -22,18 +22,26 @@ export const deviceIcon = { ...@@ -22,18 +22,26 @@ export const deviceIcon = {
2: require("@/assets/indexImg/newFm.png"), 2: require("@/assets/indexImg/newFm.png"),
// 3: require("@/assets/indexImg/mapCz.png"), // 3: require("@/assets/indexImg/mapCz.png"),
3: require("@/assets/indexImg/newCz.png"), 3: require("@/assets/indexImg/newCz.png"),
31:require("@/assets/indexImg/cz2.png"),
4: require("@/assets/indexImg/monitorDeviceAlarm.gif"), 4: require("@/assets/indexImg/monitorDeviceAlarm.gif"),
// 5: require("@/assets/indexImg/gongye.png") // 5: require("@/assets/indexImg/gongye.png")
5: require("@/assets/indexImg/newGsUser.png") 5: require("@/assets/indexImg/newGsUser.png"),
// 特殊气站
6: require("@/assets/indexImg/cjz.png")
} }
export const pipeColor = { export const pipeColor = {
1: "#52E6F8", 1: "#8B3A62",
2: "#FFFFFF", 2: "#ff0000",
3: "#DE67FA", 3: "#3FA0DC",
4: "#B7791F", 4: "#B7791F",
// 运行监控-巡检巡查的线条颜色 // 运行监控-巡检巡查的线条颜色
5: "#18FF0F", 5: "#18FF0F",
}; };
// 1: "#8B3A62",
// 2: "#ff0000",
// 3: "#3FA0DC​",
// 4: "#009E5E​",
/* /*
* @Author: your name * @Author: your name
* @Date: 2022-01-11 13:45:12 * @Date: 2022-01-11 13:45:12
* @LastEditTime: 2026-07-15 11:31:09 * @LastEditTime: 2026-09-23 10:12:29
* @LastEditors: 纪泽龙 jizelong@qq.com * @LastEditors: 纪泽龙 jizelong@qq.com
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: /test/hello-world/src/utils/mapClass.js * @FilePath: /test/hello-world/src/utils/mapClass.js
...@@ -16,6 +16,8 @@ import { townsData } from "./xiangzhen"; ...@@ -16,6 +16,8 @@ import { townsData } from "./xiangzhen";
export class EditorMap { export class EditorMap {
// 地图的对象实例 // 地图的对象实例
map = null; map = null;
// 可视化
loca = null;
// 外部传进来的中心店 // 外部传进来的中心店
center = null; center = null;
// 父vue的实例 // 父vue的实例
...@@ -71,7 +73,10 @@ export class EditorMap { ...@@ -71,7 +73,10 @@ export class EditorMap {
zooms: [3, 20], zooms: [3, 20],
...config, ...config,
}); });
const { center } = config;
const { center, pipeFeatures } = config;
this.addLocalPipe(pipeFeatures);
this.center = center; this.center = center;
this.vue = vue; this.vue = vue;
// 将从外部传进来的图片路径挂载到对象中 // 将从外部传进来的图片路径挂载到对象中
...@@ -134,6 +139,52 @@ export class EditorMap { ...@@ -134,6 +139,52 @@ export class EditorMap {
} }
}); });
} }
addLocalPipe(json) {
this.loca = new Loca.Container({
map: this.map,
});
var geo = new Loca.GeoJSONSource({
data: json,
// url: "https://a.amap.com/Loca/static/loca-v2/demos/mock_data/bj_bus.json",
});
console.log("geo", geo);
let layer = new Loca.PulseLineLayer({
// loca,
zIndex: 10,
opacity: 1,
visible: true,
zooms: [2, 22],
});
var headColors = [
"rgb(239, 187, 81)",
"#7F3CFF",
"rgb(24, 255, 15)",
"#0B5D74",
"#E06AC4",
"rgb(34, 63, 155)",
"rgb(241, 92, 26)",
"#7A0FA6",
];
layer.setSource(geo);
layer.setStyle({
altitude: 0,
lineWidth: 8,
// 脉冲头颜色
headColor: (_, feature) => {
return headColors[0];
},
// 脉冲尾颜色
trailColor: "rgba(239, 187, 81, .2)",
// 脉冲长度,0.25 表示一段脉冲占整条路的 1/4
interval: 0.25,
// 脉冲线的速度,几秒钟跑完整段路
duration: 5000,
});
this.loca.add(layer);
this.loca.animate.start();
}
frbj() { frbj() {
townsData.forEach((item) => { townsData.forEach((item) => {
console.log(item); console.log(item);
...@@ -343,9 +394,9 @@ export class EditorMap { ...@@ -343,9 +394,9 @@ export class EditorMap {
* @return {*} * @return {*}
*/ */
addDevice(deviceData, compontent, showBool = true) { addDevice(deviceData, compontent, showBool = true) {
const { longitude: lng, latitude: lat, iconType } = deviceData; const { longitude: lng, latitude: lat, iconType, picIcon } = deviceData;
// const icon = svgUrl[iconType]; // const icon = svgUrl[iconType];
const icon = this.devicePicData[iconType]; const icon = this.devicePicData[picIcon] || this.devicePicData[iconType];
// console.log("icon", icon); // console.log("icon", icon);
let device = this.createMarker({ let device = this.createMarker({
map: this.map, map: this.map,
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: 纪泽龙 jizelong@qq.com * @Author: 纪泽龙 jizelong@qq.com
* @Date: 2025-12-20 09:31:30 * @Date: 2025-12-20 09:31:30
* @LastEditors: 纪泽龙 jizelong@qq.com * @LastEditors: 纪泽龙 jizelong@qq.com
* @LastEditTime: 2026-01-15 14:32:30 * @LastEditTime: 2026-09-24 14:11:08
* @FilePath: /test-ranqi/src/views/Ind/components/Left.vue * @FilePath: /test-ranqi/src/views/Ind/components/Left.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
--> -->
...@@ -24,8 +24,8 @@ ...@@ -24,8 +24,8 @@
<div class="box-a">设备统计</div> <div class="box-a">设备统计</div>
<div class="box-b"> <div class="box-b">
<div class="fa"> <div class="fa">
<div class="faa">{{ deviceTotal }}</div> <div class="faa op0">{{ deviceTotal }}</div>
<div class="fab">总量</div> <div class="fab op0">总量</div>
<div class="fac"></div> <div class="fac"></div>
</div> </div>
<div class="fb"> <div class="fb">
...@@ -91,30 +91,49 @@ export default { ...@@ -91,30 +91,49 @@ export default {
this.getTotalNumInfo(); this.getTotalNumInfo();
}, },
methods: { methods: {
getTotalNumInfo(){ getTotalNumInfo() {
totalNumStatisticByType().then(res =>{ totalNumStatisticByType().then((res) => {
if(res.code == 200){ console.log("res", res);
if (res.code == 200) {
let data = res.data; let data = res.data;
//管线 //管线
let pipeLengthInfo = data.pipeLengthInfo; let pipeLengthInfo = data.pipeLengthInfo;
if(pipeLengthInfo){ if (pipeLengthInfo) {
pipeLengthInfo.forEach(item =>{ pipeLengthInfo.forEach((item) => {
let info = this.itemArr[item.type-1]; let info = this.itemArr[item.type - 1];
if (info){ if (info) {
info.num = item.totalLength; info.num = item.totalLength;
} }
}) });
} }
//设备 //设备
let deviceNumInfo = data.deviceNumInfo; let deviceNumInfo = data.deviceNumInfo;
if(deviceNumInfo) this.pressureData = deviceNumInfo; deviceNumInfo.forEach((item) => {
this.deviceTotal = this.pressureData ? this.pressureData.map(item => item.value).reduce((sum, num) => sum + num, 0) : 0; if (item.beyondCompany == "唐山华鑫天然气有限公司") {
item.name = "华鑫" + item.name;
} else if (item.beyondCompany == "唐山鸿海科技有限公司") {
item.name = "鸿海" + item.name;
}
});
if (deviceNumInfo) this.pressureData = deviceNumInfo;
console.log("this.pressureData", this.pressureData);
this.deviceTotal = this.pressureData
? this.pressureData
.map((item) => item.value)
.reduce((sum, num) => sum + num, 0)
: 0;
console.log(this.deviceTotal);
//场站 //场站
let stationNumInfo = data.stationNumInfo; let stationNumInfo = data.stationNumInfo;
if(stationNumInfo) this.pressureData2 = stationNumInfo; if (stationNumInfo) this.pressureData2 = stationNumInfo;
this.stationTotal = this.pressureData2 ? this.pressureData2.map(item => item.value).reduce((sum, num) => sum + num, 0) : 0; this.stationTotal = this.pressureData2
? this.pressureData2
.map((item) => item.value)
.reduce((sum, num) => sum + num, 0)
: 0;
} }
}) });
}, },
}, },
}; };
...@@ -211,4 +230,7 @@ export default { ...@@ -211,4 +230,7 @@ export default {
} }
} }
} }
.op0 {
opacity: 0;
}
</style> </style>
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: 纪泽龙 jizelong@qq.com * @Author: 纪泽龙 jizelong@qq.com
* @Date: 2025-12-20 09:20:39 * @Date: 2025-12-20 09:20:39
* @LastEditors: 纪泽龙 jizelong@qq.com * @LastEditors: 纪泽龙 jizelong@qq.com
* @LastEditTime: 2026-08-01 09:10:48 * @LastEditTime: 2026-09-23 10:01:11
* @FilePath: /test-ranqi/src/views/Index.vue * @FilePath: /test-ranqi/src/views/Index.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
--> -->
...@@ -11,13 +11,15 @@ ...@@ -11,13 +11,15 @@
<div id="gao-map-index"></div> <div id="gao-map-index"></div>
<!-- <Left /> --> <!-- <Left /> -->
<!-- <Right /> --> <!-- <Right /> -->
<div @click="$emit('imgClick', 'index')" class="backindex">返回首页概览</div> <div @click="$emit('imgClick', 'index')" class="backindex">
返回首页概览
</div>
<div class="mapChange"> <div class="mapChange">
<div :class="{ active: mapStyle }" @click="mapChange(2)">全景地图</div> <div :class="{ active: mapStyle }" @click="mapChange(2)">全景地图</div>
<div :class="{ active: !mapStyle }" @click="mapChange(1)">三维地图</div> <div :class="{ active: !mapStyle }" @click="mapChange(1)">三维地图</div>
</div> </div>
<Bottom @change="change"/> <Bottom @change="change" />
</div> </div>
</template> </template>
...@@ -27,12 +29,13 @@ import Right from "./components/Right.vue"; ...@@ -27,12 +29,13 @@ import Right from "./components/Right.vue";
import Bottom from "./components/Bottom.vue"; import Bottom from "./components/Bottom.vue";
import { EditorMap } from "@/utils/mapClass/newMap"; import { EditorMap } from "@/utils/mapClass/newMap";
import { deviceInfoList } from "@/api/baseinfo/deviceInfo"; import { deviceInfoList } from "@/api/baseinfo/deviceInfo";
import DeviceInfo from "./components/DeviceInfo" import DeviceInfo from "./components/DeviceInfo";
import StationInfo from ".//components/StationInfo"; import StationInfo from "./components/StationInfo";
import Null from "./components/Null";
import GyInfo from ".//components/GyInfo"; import GyInfo from ".//components/GyInfo";
import { stationInfoList } from "@/api/baseinfo/stationInfo.js"; import { stationInfoList } from "@/api/baseinfo/stationInfo.js";
import { listIndustry} from "@/api/baseinfo/industry"; import { listIndustry } from "@/api/baseinfo/industry";
import { pipeInfoList,pointList } from "@/api/baseinfo/pipeInfo"; import { pipeInfoList, pointList } from "@/api/baseinfo/pipeInfo";
import PipeInfo from "./components/PipeInfo"; import PipeInfo from "./components/PipeInfo";
import { import {
deviceType, deviceType,
...@@ -50,12 +53,76 @@ export default { ...@@ -50,12 +53,76 @@ export default {
DeviceInfo, DeviceInfo,
StationInfo, StationInfo,
GyInfo, GyInfo,
PipeInfo PipeInfo,
Null,
}, },
data() { data() {
return { return {
pipeArr:[0,1,2], pipeArr: [0, 1, 2],
mapStyle: true, mapStyle: true,
qz: [
{
latitude: 39.757741,
longitude: 118.111626,
siteStationName: "国家官网唐山加气站",
iconType: 6,
},
{
latitude: 39.627445,
longitude: 117.924165,
siteStationName: "国家官网唐山站",
iconType: 6,
},
],
pipeFeatures: {
type: "FeatureCollection",
features: [
{
type: "Feature",
geometry: {
type: "LineString",
coordinates: [
[118.11052471, 39.75601726],
[118.11038163, 39.75512706],
[118.11232324, 39.75500372],
[118.11319832, 39.75567859],
[118.11405096, 39.75575662],
],
},
properties: { pipeId: "P001" },
},
{
type: "Feature",
geometry: {
type: "LineString",
coordinates: [
[117.92374179, 39.62671893],
[117.9235366, 39.62671997],
[117.9235366, 39.62553621],
[117.92585408, 39.62555597],
[117.92583822, 39.62748179],
[117.9261069, 39.62992436],
[117.92606705, 39.63323436],
[117.92643758, 39.63455078],
[117.92670342, 39.6357638],
[117.92784691, 39.63702095],
[117.92810998, 39.6372939],
[117.92959723, 39.63923734],
[117.92993018, 39.6400847],
[117.93124561, 39.64065211],
[117.93192118, 39.64165054],
[117.9325676, 39.64304469],
[117.93272255, 39.64394462],
[117.93275669, 39.64443365],
[117.93303967, 39.64619228],
[117.93311745, 39.6464649],
[117.93380946, 39.64631826],
],
},
properties: { pipeId: "P002" },
},
],
},
}; };
}, },
computed: {}, computed: {},
...@@ -70,15 +137,17 @@ export default { ...@@ -70,15 +137,17 @@ export default {
this.gaoMap = new EditorMap( this.gaoMap = new EditorMap(
"gao-map-index", "gao-map-index",
{ {
center: [117.96713,39.730938], center: [117.96713, 39.730938],
// mapStyle: "amap://styles/806fa63f07c70b043867bd1f9a600981", // mapStyle: "amap://styles/806fa63f07c70b043867bd1f9a600981",
mapStyle: "amap://styles/f71d3a3d73e14f5b2bf5508bf1411758", mapStyle: "amap://styles/f71d3a3d73e14f5b2bf5508bf1411758",
zoom: 11.3, zoom: 11.3,
devicePicData: deviceIcon, devicePicData: deviceIcon,
pipeColor: pipeColor, pipeColor: pipeColor,
pipeFeatures: this.pipeFeatures,
}, },
this this
); );
this.initMapDeviceInfo(); this.initMapDeviceInfo();
}, },
//设备上图 //设备上图
...@@ -87,46 +156,106 @@ export default { ...@@ -87,46 +156,106 @@ export default {
this.getDeviceInfo(); this.getDeviceInfo();
//场站 //场站
this.getStationInfo(); this.getStationInfo();
// 气站上图
this.getQz();
//工业用户 //工业用户
this.getList(); this.getList();
this.getpipe(); this.getpipe();
this.getPointList(); this.getPointList();
this.gaoMap.addLocalPipe(this.pipeFeatures);
setInterval(() => { setInterval(() => {
this.gaoMap.pipeArrold = this.gaoMap.pipeArr2; this.gaoMap.pipeArrold = this.gaoMap.pipeArr2;
this.gaoMap.pipeArr2 = []; this.gaoMap.pipeArr2 = [];
console.log(this.gaoMap.pipeArrold) console.log(this.gaoMap.pipeArrold);
this.getPointList(); this.getPointList();
setTimeout(() =>{this.gaoMap.clearPipe()},1000) setTimeout(() => {
}, 60000) this.gaoMap.clearPipe();
}, 1000);
}, 60000);
}, },
addLocalPipe() {
console.log(123);
var loca = new Loca.Container({
map: this.gaoMap,
});
console.log("loca", loca);
var geo = new Loca.GeoJSONSource({
url: "https://a.amap.com/Loca/static/loca-v2/demos/mock_data/bj_bus.json",
});
var layer = new Loca.PulseLineLayer({
// loca,
zIndex: 10,
opacity: 1,
visible: true,
zooms: [2, 22],
});
var headColors = [
"#EFBB51",
"#7F3CFF",
"#4CC19B",
"#0B5D74",
"#E06AC4",
"#223F9B",
"#F15C1A",
"#7A0FA6",
];
getpipe(){ console.log("geo", geo);
layer.setSource(geo);
layer.setStyle({
altitude: 0,
lineWidth: 2,
// 脉冲头颜色
headColor: (_, feature) => {
return headColors[feature.properties.type - 1];
},
// 脉冲尾颜色
trailColor: "rgba(128, 128, 128, 0.5)",
// 脉冲长度,0.25 表示一段脉冲占整条路的 1/4
interval: 0.25,
// 脉冲线的速度,几秒钟跑完整段路
duration: 5000,
});
loca.add(layer);
loca.animate.start();
},
getpipe() {
pipeInfoList().then((res) => { pipeInfoList().then((res) => {
if (res.code == 200 && res.data) { if (res.code == 200 && res.data) {
res.data.forEach((item) => { res.data.forEach((item) => {
item.path = eval(item.coordinates); item.path = eval(item.coordinates);
item.pipePressure = item.pipeType; item.pipePressure = item.pipeType;
item.strokeWeight = 4; // item.strokeWeight = 4;
this.gaoMap.addPipeLine(item, PipeInfo); if (item.pipeType == 1) {
}); item.strokeWeight = 5;
} else if (item.pipeType == 2) {
item.strokeWeight = 4;
} else {
item.strokeWeight = 3;
}
this.gaoMap.addPipeLine(item, PipeInfo);
});
} }
}); });
//加载本地管线 //加载本地管线
this.getLocationPipe(); this.getLocationPipe();
}, },
getPointList(){ getPointList() {
pointList().then((res) => { pointList().then((res) => {
if (res.code == 200 && res.data) { if (res.code == 200 && res.data) {
res.data.forEach((item) => { res.data.forEach((item) => {
item.path = item.coordinates; item.path = item.coordinates;
item.pipePressure = 5; item.pipePressure = 5;
item.strokeWeight = 2; item.strokeWeight = 5;
if(this.pipeArr.includes(item.pipeType-1)){ if (this.pipeArr.includes(item.pipeType - 1)) {
item.ishidden = 0 item.ishidden = 0;
}else{ } else {
item.ishidden = 1 item.ishidden = 1;
} }
this.gaoMap.addPipeLine(item, PipeInfo); this.gaoMap.addPipeLine(item, PipeInfo);
}); });
...@@ -135,50 +264,66 @@ export default { ...@@ -135,50 +264,66 @@ export default {
}, },
/** 查询工业用户列表 */ /** 查询工业用户列表 */
getList() { getList() {
listIndustry({pageNum:1,pageSize:1000}).then(response => { listIndustry({ pageNum: 1, pageSize: 1000 }).then((response) => {
//this.industryList = response.rows; //this.industryList = response.rows;
this.gaoMap.labelsLayerMarksDetectorUserList(response.rows, GyInfo, false); this.gaoMap.labelsLayerMarksDetectorUserList(
}); response.rows,
GyInfo,
false
);
});
}, },
//调压箱 //调压箱
getDeviceInfo() { getDeviceInfo() {
deviceInfoList().then((res) => { deviceInfoList().then((res) => {
if (res.code && res.data) { if (res.code && res.data) {
let typeA = []; let typeA = [];
let typeB = []; let typeB = [];
res.data.forEach((item) => { res.data.forEach((item) => {
item.iconType = item.deviceType; item.iconType = item.deviceType;
if (item.deviceType === '1') { if (item.deviceType === "1") {
typeA.push(item); typeA.push(item);
} else if (item.deviceType === '2') { } else if (item.deviceType === "2") {
typeB.push(item); typeB.push(item);
} }
//this.gaoMap.addDevice(item, DeviceInfo, false); //this.gaoMap.addDevice(item, DeviceInfo, false);
}); });
this.gaoMap.labelsLayerMarksFmjGoMap(typeB, DeviceInfo, false); this.gaoMap.labelsLayerMarksFmjGoMap(typeB, DeviceInfo, false);
this.gaoMap.labelsLayerMarksTysGoMap(typeA, DeviceInfo, false); this.gaoMap.labelsLayerMarksTysGoMap(typeA, DeviceInfo, false);
} }
}); });
}, },
//场站 //场站
getStationInfo() { getStationInfo() {
stationInfoList().then((res) => { stationInfoList().then((res) => {
if (res.code && res.data) { if (res.code && res.data) {
console.log(deviceType.station) console.log(deviceType.station);
res.data.forEach((item) => { res.data.forEach((item) => {
item.iconType = deviceType.station; item.iconType = deviceType.station;
this.gaoMap.addDevice(item, StationInfo, false); if (
item.siteStationName == "张秀庄调压站" ||
item.siteStationName == "华鑫母站"
) {
item.picIcon = "31";
}
console.log("场站", item);
this.gaoMap.addDevice(item, StationInfo, false);
});
}
});
},
getQz() {
this.qz.forEach((item) => {
this.gaoMap.addDevice(item, Null, false);
}); });
}
});
}, },
showMarker(val) { showMarker(val) {
let markerList = this.gaoMap.allDevice[val]; let markerList = this.gaoMap.allDevice[val];
if (markerList) { if (markerList) {
markerList.forEach((marker) => { markerList.forEach((marker) => {
marker.show(); marker.show();
}); });
} }
}, },
hideMarker(val) { hideMarker(val) {
...@@ -186,16 +331,16 @@ export default { ...@@ -186,16 +331,16 @@ export default {
if (markerList) { if (markerList) {
markerList.forEach((marker) => { markerList.forEach((marker) => {
marker.hide(); marker.hide();
}); });
} }
}, },
mapChange(num) { mapChange(num) {
if (num == 1) { if (num == 1) {
this.mapStyle = false; this.mapStyle = false;
this.gaoMap.changeMap(this.mapStyle) this.gaoMap.changeMap(this.mapStyle);
} else { } else {
this.mapStyle = true; this.mapStyle = true;
this.gaoMap.changeMap(this.mapStyle) this.gaoMap.changeMap(this.mapStyle);
} }
}, },
// sel1(index, item) { // sel1(index, item) {
...@@ -209,53 +354,57 @@ export default { ...@@ -209,53 +354,57 @@ export default {
// this.showMarker(item.val); // this.showMarker(item.val);
// } // }
// }, // },
change(ind,val,arr){ change(ind, val, arr) {
this.pipeArr = arr; this.pipeArr = arr;
if(val<3){ if (val < 3) {
this.gaoMap.pipefilter(ind,val); this.gaoMap.pipefilter(ind, val);
} }
if(ind>=0){ if (ind >= 0) {
if(val==3){ if (val == 3) {
this.gaoMap.tyxlabelsLayer.hide(); this.gaoMap.tyxlabelsLayer.hide();
}else if(val==4){ } else if (val == 4) {
this.gaoMap.fmjlabelLayer.hide(); this.gaoMap.fmjlabelLayer.hide();
}else if(val==5){ } else if (val == 5) {
this.hideMarker(3); this.hideMarker(3);
}else if(val==6){ } else if (val == 6) {
this.gaoMap.businessDetectorUserlabelsLayer.hide(); this.gaoMap.businessDetectorUserlabelsLayer.hide();
} else if (val == 7) {
this.hideMarker(6);
} }
}else { } else {
if(val==3){ if (val == 3) {
this.gaoMap.tyxlabelsLayer.show(); this.gaoMap.tyxlabelsLayer.show();
}else if(val==4){ } else if (val == 4) {
this.gaoMap.fmjlabelLayer.show(); this.gaoMap.fmjlabelLayer.show();
}else if(val==5){ } else if (val == 5) {
//this.map.czlabelLayer.show(); //this.map.czlabelLayer.show();
this.showMarker(3); this.showMarker(3);
}else if(val==6){ } else if (val == 6) {
this.gaoMap.businessDetectorUserlabelsLayer.show(); this.gaoMap.businessDetectorUserlabelsLayer.show();
} else if (val == 7) {
this.showMarker(6);
} }
} }
}, },
getLocationPipe(){ getLocationPipe() {
axios.get("../geo_json/pipe.json").then((res) => { axios.get("../geo_json/pipe.json").then((res) => {
if(res.data){ if (res.data) {
//let lines = res.data.split(/\r?\n|\r/); //let lines = res.data.split(/\r?\n|\r/);
res.data.forEach((line, index) => { res.data.forEach((line, index) => {
let locations = line.coordinates.split(";"); let locations = line.coordinates.split(";");
let pipe = []; let pipe = [];
locations.forEach(location => { locations.forEach((location) => {
pipe.push(location.split(",")); pipe.push(location.split(","));
}) });
line.path = eval(pipe); line.path = eval(pipe);
line.pipeLength = parseFloat(line.pipeLength).toFixed(2); line.pipeLength = parseFloat(line.pipeLength).toFixed(2);
line.pipePressure = 3; line.pipePressure = 3;
line.strokeWeight = 4; line.strokeWeight = 3;
this.gaoMap.addPipeLine(line, PipeInfo); this.gaoMap.addPipeLine(line, PipeInfo);
}); });
} }
}) });
} },
}, },
}; };
</script> </script>
...@@ -278,7 +427,8 @@ export default { ...@@ -278,7 +427,8 @@ export default {
position: fixed; position: fixed;
right: 548px; right: 548px;
top: 144px; top: 144px;
background: url("~@/assets/bigwindowImg/index/backIndex.png") no-repeat center center; background: url("~@/assets/bigwindowImg/index/backIndex.png") no-repeat center
center;
line-height: 48px; line-height: 48px;
z-index: 999; z-index: 999;
cursor: pointer; cursor: pointer;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: 纪泽龙 jizelong@qq.com * @Author: 纪泽龙 jizelong@qq.com
* @Date: 2026-01-12 14:23:40 * @Date: 2026-01-12 14:23:40
* @LastEditors: 纪泽龙 jizelong@qq.com * @LastEditors: 纪泽龙 jizelong@qq.com
* @LastEditTime: 2026-04-07 10:24:39 * @LastEditTime: 2026-09-22 16:16:10
* @FilePath: /huaxindd-web/src/views/Ind2/components/Bottom.vue * @FilePath: /huaxindd-web/src/views/Ind2/components/Bottom.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
--> -->
...@@ -66,6 +66,7 @@ export default { ...@@ -66,6 +66,7 @@ export default {
{ name: "阀门井", val: 4 }, { name: "阀门井", val: 4 },
{ name: "场站", val: 5 }, { name: "场站", val: 5 },
{ name: "工业户", val: 6 }, { name: "工业户", val: 6 },
{ name: "气站", val: 7 },
], ],
activeArr1: [0, 1, 2], activeArr1: [0, 1, 2],
activeArr2: [], activeArr2: [],
......
<!--
* @Author: your name
* @Date: 2022-03-22 10:31:50
* @LastEditTime: 2025-03-07 11:26:33
* @LastEditors: 纪泽龙 jizelong@qq.com
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: /gassafety-progress/gassafetyprogress-web/src/components/bigWindow/Nulll.vue
-->
<template>
<div></div>
</template>
<script>
export default {
data() {
return { com: null };
},
};
</script>
<style></style>
...@@ -4,9 +4,15 @@ ...@@ -4,9 +4,15 @@
{{ deviceData.siteStationName }} {{ deviceData.siteStationName }}
</div> </div>
<div class="close" @click="close"> <div class="close" @click="close">
<i class="el-icon-close" style="font-size:20px;color:#5dfefe;"></i> <i class="el-icon-close" style="font-size: 20px; color: #5dfefe"></i>
</div> </div>
<p style="background-image: linear-gradient(to right, #5dfefe, #071738); width:100%;height:1px;"></p> <p
style="
background-image: linear-gradient(to right, #5dfefe, #071738);
width: 100%;
height: 1px;
"
></p>
<div> <div>
<div class="top flex"> <div class="top flex">
<div class="top-left"> <div class="top-left">
...@@ -17,10 +23,7 @@ ...@@ -17,10 +23,7 @@
<div class="group"> <div class="group">
<div class="left last">厂站用途:</div> <div class="left last">厂站用途:</div>
<div <div :title="deviceData.stationDetail" class="right last zzz">
:title="deviceData.stationDetail"
class="right last zzz"
>
{{ deviceData.stationDetail }} {{ deviceData.stationDetail }}
</div> </div>
</div> </div>
...@@ -42,30 +45,31 @@ ...@@ -42,30 +45,31 @@
<div class="group"> <div class="group">
<div class="left">危险源级别:</div> <div class="left">危险源级别:</div>
<div class="right zzz">{{ dangerousLevelFormatte(deviceData) }}</div> <div class="right zzz">
{{ dangerousLevelFormatte(deviceData) }}
</div>
</div> </div>
<div class="group"> <div class="group">
<div class="left">储罐容积:</div> <div class="left">储罐容积:</div>
<div class="right zzz">{{ deviceData.volume }}</div> <div class="right zzz">{{ deviceData.volume }}</div>
</div> </div>
<div class="group">
<div class="left">工艺名称:</div>
<div class="right zzz">{{ deviceData.technologyProcess }}</div>
</div>
</div> </div>
<div class="top-center"> <div class="top-center">
<div class="group"> <div class="group">
<div class="left">场站类型:</div> <div class="left">场站类型:</div>
<div class="right zzz"> <div class="right zzz">
{{ siteStationFormatte(deviceData) }}
{{ siteStationFormatte(deviceData) }} </div>
</div> </div>
</div>
<div class="group"> <div class="group">
<div class="left">详细地址:</div> <div class="left">详细地址:</div>
<div <div :title="deviceData.address" class="right zzz">
:title="deviceData.address"
class="right zzz"
>
{{ deviceData.address }} {{ deviceData.address }}
</div> </div>
</div> </div>
...@@ -89,7 +93,20 @@ ...@@ -89,7 +93,20 @@
<div class="left">危险源名称:</div> <div class="left">危险源名称:</div>
<div class="right zzz">{{ deviceData.dangerousName }}</div> <div class="right zzz">{{ deviceData.dangerousName }}</div>
</div> </div>
<div class="group">
<div class="left">工艺照片:</div>
<div class="right zzz">
<el-image
v-if="deviceData.processRelationList"
style="width: 80px; height: 80px"
:src="deviceData.processRelationList"
:preview-src-list="[deviceData.processRelationList]"
:z-index="999999"
>
</el-image>
<div class="imgtext" v-else>暂无图片</div>
</div>
</div>
</div> </div>
<div class="top-right"> <div class="top-right">
<div class="left last">照片:</div> <div class="left last">照片:</div>
...@@ -97,7 +114,7 @@ ...@@ -97,7 +114,7 @@
v-if="deviceData.pictureAddress" v-if="deviceData.pictureAddress"
style="width: 80px; height: 80px" style="width: 80px; height: 80px"
:src="deviceData.pictureAddress" :src="deviceData.pictureAddress"
:preview-src-list="[deviceData.pictureAddress ]" :preview-src-list="[deviceData.pictureAddress]"
:z-index="999999" :z-index="999999"
> >
</el-image> </el-image>
...@@ -148,203 +165,196 @@ ...@@ -148,203 +165,196 @@
</template> </template>
<script> <script>
export default { export default {
name: "device-info", name: "device-info",
data(){ data() {
return{ return {
stationType: [], stationType: [],
gasSource: [], gasSource: [],
dangerousLevel: [] dangerousLevel: [],
} };
}, },
created(){ created() {
this.getStationType(); this.getStationType();
this.getGasSource(); this.getGasSource();
this.getDangerousType(); this.getDangerousType();
},
}, mounted() {
methods:{ console.log(this.deviceData);
close() { },
this.mapClass.infowindowClose(); methods: {
}, close() {
//场站类型 this.mapClass.infowindowClose();
getStationType(){ },
this.getDicts("t_station_type").then((response) => { //场站类型
this.stationType = response.data; getStationType() {
}); this.getDicts("t_station_type").then((response) => {
}, this.stationType = response.data;
//气源中类 });
getGasSource(){ },
this.getDicts("t_gas_source").then((response) => { //气源中类
this.gasSource = response.data; getGasSource() {
}); this.getDicts("t_gas_source").then((response) => {
}, this.gasSource = response.data;
//危险源级别 });
getDangerousType(){ },
this.getDicts("t_dangerous_level").then((response) => { //危险源级别
this.dangerousLevel = response.data; getDangerousType() {
}); this.getDicts("t_dangerous_level").then((response) => {
}, this.dangerousLevel = response.data;
//场站类型格式化 });
siteStationFormatte(row){ },
return this.selectDictLabel( //场站类型格式化
this.stationType, siteStationFormatte(row) {
row.siteStationType return this.selectDictLabel(this.stationType, row.siteStationType);
); },
}, //气体种类
//气体种类 gasSourceFormatte(row) {
gasSourceFormatte(row){ return this.selectDictLabel(this.gasSource, row.gasSource);
return this.selectDictLabel( },
this.gasSource, //危险源级别
row.gasSource dangerousLevelFormatte(row) {
); return this.selectDictLabel(this.dangerousLevel, row.dangerousLevel);
}, },
//危险源级别 },
dangerousLevelFormatte(row){ };
return this.selectDictLabel(
this.dangerousLevel,
row.dangerousLevel
);
},
}
}
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.devicea-wrapper { .devicea-wrapper {
box-shadow: 0px 0px 10px #54e0ef inset; box-shadow: 0px 0px 10px #54e0ef inset;
background-color: #071738; background-color: #071738;
padding: 10px; padding: 10px;
position: relative; position: relative;
width: 670px; width: 670px;
border-radius: 7px; border-radius: 7px;
.title { .title {
// padding-top: 10px; // padding-top: 10px;
// padding-left: 10px; // padding-left: 10px;
font-size: 14px; font-size: 14px;
line-height: 14px; line-height: 14px;
color: #ffffff; color: #ffffff;
} }
.close { .close {
position: absolute; position: absolute;
right: 10px; right: 10px;
top: 5px; top: 5px;
cursor: pointer; cursor: pointer;
} }
.top { .top {
margin-top: 10px; margin-top: 10px;
margin-bottom: 10px; margin-bottom: 10px;
box-sizing: border-box; box-sizing: border-box;
.top-left { .top-left {
flex: 1.8; flex: 1.8;
.group { .group {
height: 30px; height: 30px;
flex: 1;
display: flex;
justify-content: space-between;
box-sizing: border-box;
div {
flex: 1; flex: 1;
display: flex;
justify-content: space-between;
box-sizing: border-box; box-sizing: border-box;
div { font-size: 14px;
flex: 1; color: #ffffff;
box-sizing: border-box; line-height: 30px;
font-size: 14px; padding: 0 5px;
color: #ffffff; &.last {
line-height: 30px; border-bottom: none;
padding: 0 5px;
&.last {
border-bottom: none;
}
}
.left {
text-align: right;
}
.right {
flex:2;
} }
} }
} .left {
.top-center { text-align: right;
flex: 1.2; }
.group { .right {
height: 30px; flex: 2;
flex: 1;
display: flex;
justify-content: space-between;
box-sizing: border-box;
div {
flex: 1;
box-sizing: border-box;
font-size: 14px;
color: #ffffff;
line-height: 30px;
padding: 0 5px;
&.last {
border-bottom: none;
}
}
.left {
text-align: right;
}
.right {
flex:0.9;
}
} }
} }
.top-right { }
.top-center {
flex: 1.2;
.group {
height: 30px;
flex: 1; flex: 1;
display: flex; display: flex;
justify-content: center; justify-content: space-between;
box-sizing: border-box;
div { div {
width: 50px; flex: 1;
box-sizing: border-box;
font-size: 14px; font-size: 14px;
color: #ffffff; color: #ffffff;
line-height: 30px;
padding: 0 5px;
&.last { &.last {
border-bottom: none; border-bottom: none;
} }
} }
.imgtext { .left {
color: #ffffff; text-align: right;
font-size: 30px; }
.right {
flex: 0.9;
} }
} }
} }
.foot { .top-right {
font-size: 14px; flex: 1;
color: #ffffff; display: flex;
background: url(~@/assets/firstimage/box-bg.png); justify-content: center;
background-size: 100% 100%; div {
background-repeat: no-repeat; width: 50px;
padding: 1px; font-size: 14px;
.thead, color: #ffffff;
.tbody { &.last {
div { border-bottom: none;
flex: 1;
text-align: left;
box-sizing: border-box;
text-align: center;
border: 1px solid #1b365d;
} }
} }
.tbody { .imgtext {
border-top: none; color: #ffffff;
font-size: 30px;
} }
} }
}
.btn { .foot {
position: relative; font-size: 14px;
margin-top: 10px; color: #ffffff;
background: url(~@/assets/firstimage/box-bg.png);
background-size: 100% 100%;
background-repeat: no-repeat;
padding: 1px;
.thead,
.tbody {
div { div {
font-size: 14px; flex: 1;
color: #ffffff; text-align: left;
background: url(~@/assets/firstimage/boxbtn-bg.png); box-sizing: border-box;
background-size: 100% 100%; text-align: center;
background-repeat: no-repeat; border: 1px solid #1b365d;
padding: 7px 15px;
} }
} }
.flex { .tbody {
display: flex; border-top: none;
justify-content: space-between;
} }
} }
.btn {
position: relative;
margin-top: 10px;
div {
font-size: 14px;
color: #ffffff;
background: url(~@/assets/firstimage/boxbtn-bg.png);
background-size: 100% 100%;
background-repeat: no-repeat;
padding: 7px 15px;
}
}
.flex {
display: flex;
justify-content: space-between;
}
}
</style> </style>
...@@ -35,7 +35,8 @@ module.exports = { ...@@ -35,7 +35,8 @@ 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://localhost:8909/huaxin`, //target: `http://localhost:8909/huaxin`,
target: `http://36.139.135.138:8089/huaxin`, // target: `http://36.139.135.138:8089/huaxin`,
target: `http://36.138.180.82:8089/huaxin`,
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