Browse Source

太阳能板,修改为离网光伏供电

develop
王兴琳 3 weeks ago
parent
commit
b0319d545b
  1. 18
      ruoyi-ui/codehelp_files.md
  2. 2
      ruoyi-ui/src/common/menuData.js
  3. 34
      ruoyi-ui/src/views/JiHeExpressway/components/Decorations/bg-2.vue
  4. 35
      ruoyi-ui/src/views/JiHeExpressway/components/HeaderMenu/WarningList.vue
  5. 0
      ruoyi-ui/src/views/JiHeExpressway/images/layer/路测设备/离网光伏供电.svg
  6. 0
      ruoyi-ui/src/views/JiHeExpressway/images/layer/路测设备/离网光伏供电_active.svg
  7. 0
      ruoyi-ui/src/views/JiHeExpressway/images/layer/路测设备/离网光伏供电_fault.svg
  8. 0
      ruoyi-ui/src/views/JiHeExpressway/images/layerb/路测设备/离网光伏供电_active.svg
  9. 0
      ruoyi-ui/src/views/JiHeExpressway/images/layerb/路测设备/离网光伏供电_fault.svg
  10. 6
      ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/Dialogs/ConfluenceArea/index.vue
  11. 6
      ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/Dialogs/SolarEnergy/index.vue
  12. 8
      ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/utils/buttonEvent.js
  13. 10
      ruoyi-ui/src/views/JiHeExpressway/pages/control/device/record/index.vue
  14. 34
      ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/smart/analysis/index.vue
  15. 4
      ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/smart/statisticalAnalysis/analysis/components/deviceSummary/index.vue
  16. 10
      ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/smart/statisticalAnalysis/query/data.js
  17. 39
      ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/solar/index.vue
  18. 2
      ruoyi-ui/src/views/JiHeExpressway/utils/enum.js

18
ruoyi-ui/codehelp_files.md

@ -269,7 +269,7 @@
│ │ UPS.png
│ │ view.png
│ │ 一类交通量.png
│ │ 太阳能板.png
│ │ 离网光伏供电.png
│ │ 扫码报警B.png
│ │ 护栏碰撞预警系统.png
│ │ 护栏碰撞预警系统B.png
@ -453,9 +453,9 @@
│ │ │ 合流区.svg
│ │ │ 合流区_active.svg
│ │ │ 合流区_fault.svg
│ │ │ 太阳能板.svg
│ │ │ 太阳能板_active.svg
│ │ │ 太阳能板_fault.svg
│ │ │ 离网光伏供电.svg
│ │ │ 离网光伏供电_active.svg
│ │ │ 离网光伏供电_fault.svg
│ │ │ 情报板.svg
│ │ │ 情报板_active.svg
│ │ │ 情报板_fault.svg
@ -545,8 +545,8 @@
│ │ │ 交调_fault.svg
│ │ │ 合流区_active.svg
│ │ │ 合流区_fault.svg
│ │ │ 太阳能板_active.svg
│ │ │ 太阳能板_fault.svg
│ │ │ 离网光伏供电_active.svg
│ │ │ 离网光伏供电_fault.svg
│ │ │ 情报板_active.svg
│ │ │ 情报板_fault.svg
│ │ │ 护栏碰撞_active.svg
@ -639,7 +639,7 @@
│ │ 大学城收费站.jpg
│ │ 孝里收费站.jpg
│ │
│ ├─solar //太阳能板报表图
│ ├─solar //离网光伏供电报表图
│ │ CO2.png
│ │ coal.png
│ │ error.png
@ -1289,7 +1289,7 @@
│ │ │ │ DeviceParams.vue
│ │ │ │ DeviceParamsMulti.vue
│ │ │ │
│ │ │ ├─SolarEnergy // 太阳能板
│ │ │ ├─SolarEnergy // 离网光伏供电
│ │ │ │ │ data.js
│ │ │ │ │ index.vue
│ │ │ │ │
@ -1526,7 +1526,7 @@
│ │ │ t17.svg
│ │ │ t18.svg
│ │ │
│ │ └─solar // 太阳能板管理
│ │ └─solar // 离网光伏供电管理
│ │ index.vue
│ │ index_v1.vue
│ │

2
ruoyi-ui/src/common/menuData.js

@ -195,7 +195,7 @@ export default [
component: "maintenanceOperations/smart/abnormal/index.vue",
},
{
title: "太阳能板",
title: "离网光伏供电",
name: "solar",
path: "/maintain/solar",
component: "maintenanceOperations/solar/index.vue",

34
ruoyi-ui/src/views/JiHeExpressway/components/Decorations/bg-2.vue

@ -1,6 +1,6 @@
<template>
<div class='BG-02' :style="{ '--width': width, '--lang-width': langWidth }">
<BackgroundClip ref="BackgroundClipRef" class="bg" :clipPath="getClipPath"
<BackgroundClip ref="BackgroundClipRef" class="bg" :clipPath="getClipPath"
:borderPath="getBorderPath"
bgColor="linear-gradient(180deg, #152E3CBB 0%, #163A45DD 100%)"
borderColor="linear-gradient(180deg, rgba(40, 144, 167, 1), rgba(40, 144, 167, 0.38), rgba(40, 144, 167, 1))">
@ -43,14 +43,14 @@ export default {
computed: {
getClipPath() {
return `polygon(
calc(100% - ${this.langWidth} - ${this.width} * 1.5) 0,
calc(100% - ${this.langWidth}) calc(${this.width} * 1.5),
calc(100% - ${this.width}) calc(${this.width} * 1.5),
100% calc(${this.width} * 2.5),
100% calc(100% - ${this.width}),
calc(100% - ${this.width}) 100%,
${this.width} 100%, 0 calc(100% - ${this.width}),
0 ${this.width},
calc(100% - ${this.langWidth} - ${this.width} * 1.5) 0,
calc(100% - ${this.langWidth}) calc(${this.width} * 1.5),
calc(100% - ${this.width}) calc(${this.width} * 1.5),
100% calc(${this.width} * 2.5),
100% calc(100% - ${this.width}),
calc(100% - ${this.width}) 100%,
${this.width} 100%, 0 calc(100% - ${this.width}),
0 ${this.width},
${this.width} 0
)`
},
@ -59,14 +59,14 @@ export default {
let deltaY = deltaX;
return `polygon(
30% 0,
calc(100% - ${this.langWidth} - ${this.width} * 1.5) 0,
calc(100% - ${this.langWidth}) calc(${this.width} * 1.5),
calc(100% - ${this.width}) calc(${this.width}),
100% calc(${this.width} * 2.5),
100% calc(100% - ${this.width}),
calc(100% - ${this.width}) 100%,
${this.width} 100%, 0 calc(100% - ${this.width}),
0 ${this.width},
calc(100% - ${this.langWidth} - ${this.width} * 1.5) 0,
calc(100% - ${this.langWidth}) calc(${this.width} * 1.5),
calc(100% - ${this.width}) calc(${this.width}),
100% calc(${this.width} * 2.5),
100% calc(100% - ${this.width}),
calc(100% - ${this.width}) 100%,
${this.width} 100%, 0 calc(100% - ${this.width}),
0 ${this.width},
${this.width} 0,
31% 0,

35
ruoyi-ui/src/views/JiHeExpressway/components/HeaderMenu/WarningList.vue

@ -12,13 +12,13 @@
<ElTableColumn prop="remark" width="550">
<template slot-scope="scope">
<el-tooltip class="item" effect="dark" :content="scope.row.remark" placement="top-start">
<el-tooltip class="item" effect="dark" :content="scope.row.remark" placement="top-start">
<div class="markPanel">
<div class="leftColumn">
<div class="device-icon" :style="{ backgroundImage: `url(${require(`@screen/images/event/${scope.row.icon? scope.row.icon : '交通拥堵'}.svg`)})` }" />
<p>{{ activeTab == 'first' ? WarningType[scope.row.warningType] : scope.row.stringEventType }}</p>
</div>
<p class="rightRemark">
<p class="rightRemark">
{{ scope.row.remark }}
</p>
</div>
@ -77,7 +77,7 @@ export default {
pageSize: 10,
pageNum: 1,
},
dialogWarningVisible: false,
@ -93,11 +93,11 @@ export default {
if (checkPermi(["home:notice:event"])) {
this.activeTab = "four";
} else if(checkPermi(["home:notice:warningEvent"])){
this.activeTab = "first";
this.activeTab = "first";
} else if(checkPermi(["home:notice:processingEvent"])){
this.activeTab = "third";
this.activeTab = "third";
} else if(checkPermi(["home:notice:deviceOffline"])){
this.activeTab = "fifth";
this.activeTab = "fifth";
}
//
this.$root.$on('refresh-event', this.getMainData);
@ -124,7 +124,7 @@ export default {
}
if(this.activeTab === 'four'){
if(row.warningType === '1'){
this.dialogWarningVisible = true;
this.$refs.refDigWarn.bind(row.id,row.remark)
}
@ -133,7 +133,7 @@ export default {
// this.dialogWarningData = mokStakeWarning
// }, 500);
// return;
} else if (this.activeTab == 'first') {
this.activeName = '-1'
} else if(this.activeTab == 'third'){
@ -191,7 +191,18 @@ export default {
if (result.code != 200) return;
result.rows.forEach(item => {
item.remark = item.warningDescription
if (item.warningType === '1') {
item.stringEventType = '交通流预警';
} else if (item.warningType === '2') {
item.stringEventType = '气象预警';
} else if (item.warningType === '3') {
item.stringEventType = '交通流异常预警';
} else {
item.stringEventType = '未知预警类型'; // warningType
}
/*
item.stringEventType = item.warningType === '1'?'交通流预警':'气象预警';
*/
if(item.warningType === '2'){
item.icon = '气象检测器'
}
@ -210,7 +221,7 @@ export default {
item.icon = '设备'
item.remark = item.createTime+ ' '+item.stakeMark +' ' +item.deviceName+'发生故障'
item.stringEventType = _.find(deviceTypeOptions,{value:parseInt(item.deviceType)}).label
})
this.tableData = result.rows;
this.total = result.total;
@ -300,7 +311,7 @@ export default {
}
.rightRemark{
flex: 1;
white-space: nowrap;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
@ -309,12 +320,12 @@ export default {
justify-content: center;
align-items: center;
margin-right: 8px;
border: 1px solid #FF5F5F;
border: 1px solid #FF5F5F;
width: 120px;
height: 28px;
p {
color: #FF5F5F;
font-size: 15px;
font-size: 13px;
margin-right: 3px;
}

0
ruoyi-ui/src/views/JiHeExpressway/images/layer/路测设备/太阳能板.svg → ruoyi-ui/src/views/JiHeExpressway/images/layer/路测设备/离网光伏供电.svg

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

0
ruoyi-ui/src/views/JiHeExpressway/images/layer/路测设备/太阳能板_active.svg → ruoyi-ui/src/views/JiHeExpressway/images/layer/路测设备/离网光伏供电_active.svg

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

0
ruoyi-ui/src/views/JiHeExpressway/images/layer/路测设备/太阳能板_fault.svg → ruoyi-ui/src/views/JiHeExpressway/images/layer/路测设备/离网光伏供电_fault.svg

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

0
ruoyi-ui/src/views/JiHeExpressway/images/layerb/路测设备/太阳能板_active.svg → ruoyi-ui/src/views/JiHeExpressway/images/layerb/路测设备/离网光伏供电_active.svg

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB

0
ruoyi-ui/src/views/JiHeExpressway/images/layerb/路测设备/太阳能板_fault.svg → ruoyi-ui/src/views/JiHeExpressway/images/layerb/路测设备/离网光伏供电_fault.svg

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 4.9 KiB

6
ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/Dialogs/ConfluenceArea/index.vue

@ -42,13 +42,13 @@ import {
import { dialogDelayVisible } from "./../mixin";
import { resolve } from "@antv/x6/lib/registry/node-anchor/util";
//
//
export default {
name: "ConfluenceArea",
mixins: [dialogDelayVisible],
components: {
Dialog,
Descriptions,
LineChart,
Video,
@ -126,7 +126,7 @@ export default {
methods: {
rebind(){
this.$refs.refParam.bind()
},
},
async getDeviceInfo() {
return request({
url: `/business/device/properties/latest/${this.dialogData.iotDeviceId || "10.0.36.143-1883"

6
ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/Dialogs/SolarEnergy/index.vue

@ -1,6 +1,6 @@
<template>
<Dialog v-model="obverseVisible" title="太阳能板" width="550px">
<Video class="video-stream" :camId="camId" img="太阳能板" />
<Dialog v-model="obverseVisible" title="离网光伏供电" width="550px">
<Video class="video-stream" :camId="camId" img="离网光伏供电" />
<div class="SolarEnergy">
<ElTabs v-model="activeName" class="tabs">
@ -47,7 +47,7 @@ import {
import { dialogDelayVisible } from "./../mixin";
import { resolve } from "@antv/x6/lib/registry/node-anchor/util";
//
//
export default {
name: "SolarEnergy",
mixins: [dialogDelayVisible],

8
ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/utils/buttonEvent.js

@ -73,7 +73,7 @@ export const DeviceForMap = {
type = 'b'
} else if(ctype && (ctype === '2-4'||ctype === '2-2')){
type = 'c'
}
}
return boardIcon[`${type}${+!bool}`];
},
},
@ -113,7 +113,7 @@ export const DeviceForMap = {
deviceType: "10",
dialog: "FatigueWakesUp",
},
太阳能板: {
离网光伏供电: {
deviceType: "15",
dialog: "SolarEnergy",
},
@ -282,7 +282,7 @@ export const eventMap = {
);
addDataPreHandle(removeData);
markerClusterIns.addData(removeData, isDefault);
this.emitter.emit("selectedCompleted", item);
cacheRemoveFunc[`地图事件专题/${item.title}`] = () => {
@ -468,4 +468,4 @@ function removeDataPreHandle(markers) {
};
lngLatMapHandle(markers, cb);
window.renderData?.(window.page); //移除后,重新渲染弹出框更新数据
}
}

10
ruoyi-ui/src/views/JiHeExpressway/pages/control/device/record/index.vue

@ -10,12 +10,12 @@
刷新
</ButtonGradient>
</div>
<InputSearch ref="searchComp" style="width: 400px" :formList="searchFormList" @handleSearch="handleSearch" />
</div>
<!-- 内容-->
<div class="body">
<div class="body">
<Table :data="tableData" height="75vh" >
<el-table-column label="序号" type="index" :index="indexMethod" width="100" align="center"
header-align="center" />
@ -53,7 +53,7 @@
<div>
<p v-for="item in scope.row.aryState">
<i class="el-icon-success" style="font-size: 20px; color:#0c0;" v-if="item === 200"></i>
<i class="el-icon-error" style="font-size: 20px; color:#BBB;" v-else></i>
<i class="el-icon-error" style="font-size: 20px; color:#BBB;" v-else></i>
</p>
</div>
</template>
@ -165,11 +165,11 @@ export default {
10: "疲劳唤醒",
12: "行车诱导",
13: "设备箱",
15: "太阳能板",
15: "离网光伏供电",
16: "远端机"
}
if (result.code != 200) return;
result.rows.forEach(e => {
console.log('e.jsonResult',e.jsonResult)
const resJson = JSON.parse(e.jsonResult)

34
ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/smart/analysis/index.vue

@ -11,7 +11,7 @@
placeholder="请选择设备类型"
>
<el-option
v-for="item in [{label:'智能设备箱',value:13},{label:'太阳能板',value:15},{label:'远端机',value:16},{label:'气象检测器',value:3},{label:'一体机柜',value:17}]"
v-for="item in [{label:'智能设备箱',value:13},{label:'离网光伏供电',value:15},{label:'远端机',value:16},{label:'气象检测器',value:3},{label:'一体机柜',value:17}]"
:key="item.value"
:label="item.label"
:value="item.value"
@ -65,7 +65,7 @@
placeholder="请选择"
:clearable="false"
/>
<Button style="margin-left: 25px" @click.native="bindData()">查询</Button>
</div>
</div>
@ -150,7 +150,7 @@ export default {
},
mounted() {
this.date = moment().format('YYYY-MM-DD')
this.bindList();
this.bindList();
},
methods: {
bindData(){
@ -180,7 +180,7 @@ export default {
rows.push({
name:item.deviceName,
timestamp: el.timestamp.substr(11)
})
})
});
}
@ -199,8 +199,8 @@ export default {
value.push(0)
}
})
const chartOptions = _.cloneDeep(chart1);
chartOptions.title.text = e.name +' / ' + this.date + ' / ' + item.deviceName;
chartOptions.xAxis.data = xname;
@ -210,7 +210,7 @@ export default {
chartOptions.tooltip['valueFormatter'] = function (value) {
return value + " "+unit;
}
this.aryChartList.push({
...item,
pname: e.name,
@ -257,7 +257,7 @@ export default {
const id = x.deviceId + x.pname
const myChart1 = echarts.init(document.getElementById(id));
myChart1.setOption(x.options);
})
})
}, 500);
},
devClick(item,index){
@ -296,12 +296,12 @@ export default {
if(this.init){
this.init = false;
setTimeout(() => {
this.devClick( this.list[0],0)
this.devClick( this.list[0],0)
}, 400);
}
})
},
onResetSearch() {
@ -351,7 +351,7 @@ export default {
}
.right {
margin-left: 20px;
flex: 1;
display: flex;
@ -427,7 +427,7 @@ export default {
<style lang="scss" scoped>
.Pagination {
::v-deep {
>button,
@ -509,18 +509,18 @@ export default {
.devparam{
width: 200px;
margin-left: 20px;
}
.selectDate {
width: 89px;
border: 1px solid #00b3cc;
::v-deep {
.el-input__prefix{
top:-4px;
}
.el-input__inner {
background-color: #064258 !important;
border-width: 0px !important;
}

4
ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/smart/statisticalAnalysis/analysis/components/deviceSummary/index.vue

@ -91,8 +91,8 @@
v-if="item.title.includes('疲劳唤醒')"
/>
<img
src="@screen/images/layer/路测设备/太阳能板.svg"
v-if="item.title.includes('太阳能板')"
src="@screen/images/layer/路测设备/离网光伏供电.svg"
v-if="item.title.includes('离网光伏供电')"
/>
<img
src="@screen/images/layer/路测设备/远端机.svg"

10
ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/smart/statisticalAnalysis/query/data.js

@ -93,7 +93,7 @@ export const deviceType = [
},
{
value: "15",
label: "太阳能板",
label: "离网光伏供电",
color: "#4e5417",
},
{
@ -126,7 +126,7 @@ export const tabMap = {
};
export const searchFormList = [
{
label: "时间范围:",
key: "time",
@ -145,7 +145,7 @@ export const searchFormList = [
},
}
},
},
},
// {
// label: "方向:",
// key: "direction",
@ -164,7 +164,7 @@ export const searchFormList2 = [
{
label: "桩号:",
key: "stakeMark",
},
{
label: "使用状态:",
@ -288,4 +288,4 @@ export const testDeviceData = {
"lostRate": "32.56%"
}
}
}
}

39
ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/solar/index.vue

@ -1,5 +1,6 @@
<template>
<div class="solar">
<gisMap2d ref="gisMap2dsolar" style="width:100vw;height:100vh"
:mapZoom = "mapZoom"
:mapCenter="mapCenter"
@ -8,6 +9,7 @@
radarSliderRight="14%"
mapBoxHeight="100vh" @clickPointEvent="clickPointEvent" widgetBoxDisplay="none"></gisMap2d>
<div class="solar_left">
<div>
<Bg2 class="content-l-t">
<div class="focuse-header">
@ -65,6 +67,7 @@
</div>
</Bg2>
</div>
<div>
<Bg2 class="content-l-t">
<div class="focuse-header">
@ -124,7 +127,7 @@
</template>
<script>
import homeLeftIcons from "./../../Home/components/homeLeftIcons/index.vue";
import Vue from "vue";
import { gisMap2d } from 'gis-map-universal'
import Bg2 from "@screen/components/Decorations/bg-2.vue"
@ -135,6 +138,7 @@ import SolarEnergy from "./../../Home/components/Dialogs/SolarEnergy/index.vue";
const lnglat = [117.16515148266497,35.2797674572588]
export default {
components: {
homeLeftIcons,
Bg2,
gisMap2d,
SolarEnergy,
@ -145,7 +149,7 @@ export default {
mapBoxHeight: '100vh',
mapZoom: '7.5', // '7.5' String
mapCenter: lnglat, //[118.75, 36.46] Array
dialogConfig:{
component: void 0,
data: void 0,
@ -187,21 +191,21 @@ export default {
url: 'business/device/pileNumberQuery',
method: 'post',
data: {
deviceType: "15",
deviceType: "15",
}
}).then(result => {
const aryPoints = [];
const sa = require(`@screen/images/layerb/路测设备/太阳能板_active.svg`)
const sb = require(`@screen/images/layerb/路测设备/太阳能板_fault.svg`)
const sa = require(`@screen/images/layerb/路测设备/离网光伏供电_active.svg`)
const sb = require(`@screen/images/layerb/路测设备/离网光伏供电_fault.svg`)
for(let i of result.data){
aryPoints.push({
type: 'event', //
longitude: parseFloat(i.longitude), //
latitude: parseFloat(i.latitude), //
iconUrl: i.deviceState==='1'?sa:sb, //
offset: [0,-48],
size: [42,100],
GGoffsetX: 0,
offset: [0,-48],
size: [42,100],
GGoffsetX: 0,
GGoffsetY: -5,
GGimgOffset:[0,0],
GGimgsize:[42,103],
@ -329,7 +333,7 @@ export default {
xAxis: {
type: 'category',
data: ['0点', '1点', '2点','3点', '4点','5点','6点','7点','8点', '9点','10点','11点',
'12点','13点','14点','15点','16点','17点','18点','19点','20点','21点','22点','23点'],
'12点','13点','14点','15点','16点','17点','18点','19点','20点','21点','22点','23点'],
axisLine:{
show:true,
lineStyle:{
@ -401,7 +405,7 @@ export default {
this.chart1.setOption(option1);
this.chart1.resize();
})
this.chart2 = echarts.init(document.getElementById("charts2"));
let option2 = JSON.parse(JSON.stringify(_chartsOptions));
request({
@ -441,7 +445,7 @@ export default {
this.chart3.setOption(option3);
this.chart3.resize()
})
}
window.addEventListener("resize", () => {
if(this.chart1){
@ -451,7 +455,7 @@ export default {
}
});
}
},
};
</script>
@ -475,7 +479,16 @@ export default {
height: 100%;
gap: 10px;
}
.home-left-icons {
display: flex;
gap: 50px; /* 项之间的间距为10px*/
flex-direction: row;
z-index: 0;
margin-left: 20px;
.item {
padding-top: 35px;
}
}
.solar_right {
position: absolute;
right: 20px;

2
ruoyi-ui/src/views/JiHeExpressway/utils/enum.js

@ -993,7 +993,7 @@ export const deviceTypeOptions = [
},
{
value: 15,
label: "太阳能板",
label: "离网光伏供电",
},
{
value: 16,

Loading…
Cancel
Save