Commit ed08a356 authored by 纪泽龙's avatar 纪泽龙

Merge branch 'jzl'

parents 1cc420b1 f6381874
<!DOCTYPE html>
<html>
<head>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="renderer" content="webkit">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title><%= webpackConfig.name %></title>
<title>
<%= webpackConfig.name %>
</title>
<!--[if lt IE 11]><script>window.location.href='/html/ie.html';</script><![endif]-->
<script>
window._AMapSecurityConfig = {
securityJsCode:'d4bb6c4d7a074701457bc9721eb7754a',
securityJsCode: 'd4bb6c4d7a074701457bc9721eb7754a',
}
</script>
<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>
<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>
<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">
......@@ -25,6 +30,7 @@
margin: 0px;
padding: 0px;
}
.chromeframe {
margin: 0.2em 0;
background: #ccc;
......@@ -101,6 +107,7 @@
-ms-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
-ms-transform: rotate(360deg);
......@@ -114,6 +121,7 @@
-ms-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
-ms-transform: rotate(360deg);
......@@ -203,8 +211,9 @@
opacity: 0.5;
}
</style>
</head>
<body>
</head>
<body>
<div id="app">
<div id="loader-wrapper">
<div id="loader"></div>
......@@ -213,5 +222,6 @@
<div class="load_title">正在加载系统资源,请耐心等待</div>
</div>
</div>
</body>
</body>
</html>
\ No newline at end of file
......@@ -2,7 +2,7 @@
* @Author: 纪泽龙 jizelong@qq.com
* @Date: 2026-06-17 16:54:14
* @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
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
......@@ -22,18 +22,26 @@ export const deviceIcon = {
2: require("@/assets/indexImg/newFm.png"),
// 3: require("@/assets/indexImg/mapCz.png"),
3: require("@/assets/indexImg/newCz.png"),
31:require("@/assets/indexImg/cz2.png"),
4: require("@/assets/indexImg/monitorDeviceAlarm.gif"),
// 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 = {
1: "#52E6F8",
2: "#FFFFFF",
3: "#DE67FA",
1: "#8B3A62",
2: "#ff0000",
3: "#3FA0DC",
4: "#B7791F",
// 运行监控-巡检巡查的线条颜色
5: "#18FF0F",
};
// 1: "#8B3A62",
// 2: "#ff0000",
// 3: "#3FA0DC​",
// 4: "#009E5E​",
/*
* @Author: your name
* @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
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: /test/hello-world/src/utils/mapClass.js
......@@ -16,6 +16,8 @@ import { townsData } from "./xiangzhen";
export class EditorMap {
// 地图的对象实例
map = null;
// 可视化
loca = null;
// 外部传进来的中心店
center = null;
// 父vue的实例
......@@ -71,7 +73,10 @@ export class EditorMap {
zooms: [3, 20],
...config,
});
const { center } = config;
const { center, pipeFeatures } = config;
this.addLocalPipe(pipeFeatures);
this.center = center;
this.vue = vue;
// 将从外部传进来的图片路径挂载到对象中
......@@ -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() {
townsData.forEach((item) => {
console.log(item);
......@@ -343,9 +394,9 @@ export class EditorMap {
* @return {*}
*/
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 = this.devicePicData[iconType];
const icon = this.devicePicData[picIcon] || this.devicePicData[iconType];
// console.log("icon", icon);
let device = this.createMarker({
map: this.map,
......
......@@ -2,7 +2,7 @@
* @Author: 纪泽龙 jizelong@qq.com
* @Date: 2025-12-20 09:31:30
* @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
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
......@@ -24,8 +24,8 @@
<div class="box-a">设备统计</div>
<div class="box-b">
<div class="fa">
<div class="faa">{{ deviceTotal }}</div>
<div class="fab">总量</div>
<div class="faa op0">{{ deviceTotal }}</div>
<div class="fab op0">总量</div>
<div class="fac"></div>
</div>
<div class="fb">
......@@ -91,30 +91,49 @@ export default {
this.getTotalNumInfo();
},
methods: {
getTotalNumInfo(){
totalNumStatisticByType().then(res =>{
if(res.code == 200){
getTotalNumInfo() {
totalNumStatisticByType().then((res) => {
console.log("res", res);
if (res.code == 200) {
let data = res.data;
//管线
let pipeLengthInfo = data.pipeLengthInfo;
if(pipeLengthInfo){
pipeLengthInfo.forEach(item =>{
let info = this.itemArr[item.type-1];
if (info){
if (pipeLengthInfo) {
pipeLengthInfo.forEach((item) => {
let info = this.itemArr[item.type - 1];
if (info) {
info.num = item.totalLength;
}
})
});
}
//设备
let deviceNumInfo = data.deviceNumInfo;
if(deviceNumInfo) this.pressureData = deviceNumInfo;
this.deviceTotal = this.pressureData ? this.pressureData.map(item => item.value).reduce((sum, num) => sum + num, 0) : 0;
deviceNumInfo.forEach((item) => {
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;
if(stationNumInfo) this.pressureData2 = stationNumInfo;
this.stationTotal = this.pressureData2 ? this.pressureData2.map(item => item.value).reduce((sum, num) => sum + num, 0) : 0;
if (stationNumInfo) this.pressureData2 = stationNumInfo;
this.stationTotal = this.pressureData2
? this.pressureData2
.map((item) => item.value)
.reduce((sum, num) => sum + num, 0)
: 0;
}
})
});
},
},
};
......@@ -211,4 +230,7 @@ export default {
}
}
}
.op0 {
opacity: 0;
}
</style>
This diff is collapsed.
......@@ -2,7 +2,7 @@
* @Author: 纪泽龙 jizelong@qq.com
* @Date: 2026-01-12 14:23:40
* @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
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
......@@ -66,6 +66,7 @@ export default {
{ name: "阀门井", val: 4 },
{ name: "场站", val: 5 },
{ name: "工业户", val: 6 },
{ name: "气站", val: 7 },
],
activeArr1: [0, 1, 2],
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 @@
{{ deviceData.siteStationName }}
</div>
<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>
<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 class="top flex">
<div class="top-left">
......@@ -17,10 +23,7 @@
<div class="group">
<div class="left last">厂站用途:</div>
<div
:title="deviceData.stationDetail"
class="right last zzz"
>
<div :title="deviceData.stationDetail" class="right last zzz">
{{ deviceData.stationDetail }}
</div>
</div>
......@@ -42,30 +45,31 @@
<div class="group">
<div class="left">危险源级别:</div>
<div class="right zzz">{{ dangerousLevelFormatte(deviceData) }}</div>
<div class="right zzz">
{{ dangerousLevelFormatte(deviceData) }}
</div>
</div>
<div class="group">
<div class="left">储罐容积:</div>
<div class="right zzz">{{ deviceData.volume }}</div>
</div>
<div class="group">
<div class="left">工艺名称:</div>
<div class="right zzz">{{ deviceData.technologyProcess }}</div>
</div>
</div>
<div class="top-center">
<div class="group">
<div class="left">场站类型:</div>
<div class="right zzz">
{{ siteStationFormatte(deviceData) }}
</div>
</div>
<div class="group">
<div class="left">详细地址:</div>
<div
:title="deviceData.address"
class="right zzz"
>
<div :title="deviceData.address" class="right zzz">
{{ deviceData.address }}
</div>
</div>
......@@ -89,7 +93,20 @@
<div class="left">危险源名称:</div>
<div class="right zzz">{{ deviceData.dangerousName }}</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 class="top-right">
<div class="left last">照片:</div>
......@@ -97,7 +114,7 @@
v-if="deviceData.pictureAddress"
style="width: 80px; height: 80px"
:src="deviceData.pictureAddress"
:preview-src-list="[deviceData.pictureAddress ]"
:preview-src-list="[deviceData.pictureAddress]"
:z-index="999999"
>
</el-image>
......@@ -148,70 +165,63 @@
</template>
<script>
export default {
export default {
name: "device-info",
data(){
return{
data() {
return {
stationType: [],
gasSource: [],
dangerousLevel: []
}
dangerousLevel: [],
};
},
created(){
created() {
this.getStationType();
this.getGasSource();
this.getDangerousType();
},
methods:{
mounted() {
console.log(this.deviceData);
},
methods: {
close() {
this.mapClass.infowindowClose();
},
//场站类型
getStationType(){
getStationType() {
this.getDicts("t_station_type").then((response) => {
this.stationType = response.data;
});
},
//气源中类
getGasSource(){
getGasSource() {
this.getDicts("t_gas_source").then((response) => {
this.gasSource = response.data;
});
},
//危险源级别
getDangerousType(){
getDangerousType() {
this.getDicts("t_dangerous_level").then((response) => {
this.dangerousLevel = response.data;
});
},
//场站类型格式化
siteStationFormatte(row){
return this.selectDictLabel(
this.stationType,
row.siteStationType
);
siteStationFormatte(row) {
return this.selectDictLabel(this.stationType, row.siteStationType);
},
//气体种类
gasSourceFormatte(row){
return this.selectDictLabel(
this.gasSource,
row.gasSource
);
gasSourceFormatte(row) {
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>
<style scoped lang="scss">
.devicea-wrapper {
.devicea-wrapper {
box-shadow: 0px 0px 10px #54e0ef inset;
background-color: #071738;
padding: 10px;
......@@ -259,7 +269,7 @@
text-align: right;
}
.right {
flex:2;
flex: 2;
}
}
}
......@@ -286,7 +296,7 @@
text-align: right;
}
.right {
flex:0.9;
flex: 0.9;
}
}
}
......@@ -346,5 +356,5 @@
display: flex;
justify-content: space-between;
}
}
}
</style>
......@@ -35,7 +35,8 @@ module.exports = {
// detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VUE_APP_BASE_API]: {
//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,
pathRewrite: {
['^' + 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