Browse Source

Merge branch 'develop' of http://39.106.31.193:9211/mengff/jihe-hs into develop

wangqin
zhangzhang 8 months ago
parent
commit
74a0070cf8
  1. 2629
      ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/AMapContainer/data/lcz.json
  2. 51
      ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/AMapContainer/index.vue
  3. 34
      ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/Dialogs/PerceiveEvent/index.vue
  4. 18
      ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/index.vue
  5. 4
      ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/utils/buttonEvent.js
  6. 17
      ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/utils/map.js
  7. 12
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/data.js
  8. 8
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/index.vue
  9. 2
      ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventDetection/components/eventQuery/assets/charts.js
  10. 35
      ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventDetection/components/eventQuery/index.vue

2629
ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/AMapContainer/data/lcz.json

File diff suppressed because it is too large

51
ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/AMapContainer/index.vue

@ -98,12 +98,9 @@ export default {
let jhgsPl2 = drawJHPath(this.AMap, lczDatas, 1, 60);
//,
this.aMapIns.on('zoomend', () => {
this.aMapIns.on('zoomchange', () => {
this.aMapIns.getZoom() > 19.5 ? this.aMapIns.add(jhgsPl2) : this.aMapIns.remove(jhgsPl2);
});
this.aMapIns.on('zoomstart', () => {
this.aMapIns.remove(jhgsPl2);
});
});
@ -160,34 +157,48 @@ export default {
context.lineJoin = 'round';
context.lineWidth = 5;
//线
//()线
// context.moveTo(5, 0);
// context.lineTo(5, height);
//线
//
//线
context.moveTo(35, 0);
context.lineTo(35, 50);
context.moveTo(35, 100);
context.lineTo(35, 40);
context.moveTo(35, 55);
context.lineTo(35, 95);
context.moveTo(35, 110);
context.lineTo(35, 150);
//线
context.moveTo(75, 20);
context.lineTo(75, 70);
context.moveTo(75, 120);
context.lineTo(75, 170);
//线
//线
// context.moveTo(35, 0);
// context.lineTo(35, height);
//
//线
context.moveTo(75, 0);
context.lineTo(75, 40);
context.moveTo(75, 55);
context.lineTo(75, 95);
context.moveTo(75, 110);
context.lineTo(75, 150);
//线
// context.moveTo(75, 0);
// context.lineTo(75, height);
//
//线
context.moveTo(115, 0);
context.lineTo(115, 50);
context.moveTo(115, 100);
context.lineTo(115, 40);
context.moveTo(115, 55);
context.lineTo(115, 95);
context.moveTo(115, 110);
context.lineTo(115, 150);
//线
// context.moveTo(115, 0);
// context.lineTo(115, height);
//线
// context.moveTo(width - 5, 0);
// context.lineTo(width - 5, height);
context.stroke();
//
// context.fillStyle = "red";
// context.fillRect(0, 0, width, height);
return canvasDir;
}

34
ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/Dialogs/PerceiveEvent/index.vue

@ -3,35 +3,17 @@
<div class="PerceiveEvent">
<!-- <Video class="item-video" /> -->
<div class="video-pic">
<Video
style="height: 100%; flex: 1"
:showHeader="false"
:url="dialogData.formData.videoList[0]"
videoType="mp4"
/>
<Carousel
style="flex: 1; height: 100%"
:pictures="dialogData.formData.pictures"
/>
<Video style="height: 100%; flex: 1" :showHeader="false" :url="dialogData.formData.videoList[0]"
videoType="mp4" />
<Carousel style="flex: 1; height: 100%" :pictures="dialogData.formData.pictures" />
</div>
<LineChart class="chart" />
<Form
class="form"
v-loading="loading"
v-model="data"
ref="FormConfigRef"
:formList="formList"
column="1"
/>
<Form class="form" v-loading="loading" v-model="data" ref="FormConfigRef" :formList="formList" column="1" />
</div>
<template #footer>
<Button>误报</Button>
<Button
style="background-color: rgba(0, 179, 204, 0.3)"
@click.native="obverseVisible = false"
>取消</Button
>
<Button @click.native="onDelete">误报</Button>
<Button style="background-color: rgba(0, 179, 204, 0.3)" @click.native="obverseVisible = false">取消</Button>
<Button @click.native="updateEvent" :loading="btnLoading">确定</Button>
</template>
</Dialog>
@ -203,7 +185,7 @@ export default {
this.getDetails();
this.getVehicleTypeList();
},
async mounted() {},
async mounted() { },
beforeDestroy() {
clearInterval(this.interval);
},
@ -255,7 +237,7 @@ export default {
})
);
})
.catch((err) => {});
.catch((err) => { });
},
convertSecToHHmmss(sec) {
let currentTime = moment.duration(sec, "seconds");

18
ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/index.vue

@ -96,7 +96,8 @@ export default {
layerData: [],
active: "事件专题",
tabContentData: [],
nowSelected: null, // title
nowSelectedCompleted: true, //
// -
dialogConfig: {
// 0 ControlCamera | 1 Camera
@ -161,6 +162,7 @@ export default {
this.active = layerData[defaultActive].title;
this.minLayers = 3;
this.emitter.on("selectedCompleted", this.selectedCompletedHandle);
},
mounted() {
// Layer
@ -176,7 +178,13 @@ export default {
getMinMapLayers();
},
beforeDestroy() {
this.emitter.off("selectedCompleted", this.selectedCompletedHandle);
},
methods: {
selectedCompletedHandle(item) {
if (this.nowSelected === item.title) this.nowSelectedCompleted = true;
},
setFilterDataNoAction(data) { //data
this.filterData = data;
},
@ -219,6 +227,10 @@ export default {
const status = item.status;
console.log(item, "item");
if (!status) { this.nowSelected = item.title; this.nowSelectedCompleted = false; }
else if (this.nowSelected === item.title && this.nowSelectedCompleted === false) return;
item.status = item.status ? "" : "_active";
console.log("%c [ key ]-102-「index.vue」", "font-size:15px; background:#9d63e9; color:#e1a7ff;", key);
@ -228,8 +240,8 @@ export default {
await eventMap[`${key}${status ? "_close" : ""}`]?.call(this, item, this.filterData, isDefault, this.cb);
},
handleDevice: debounce(function (item) {
this.handleDeviceImmediate(item);
handleDevice: debounce(async function (item) {
await this.handleDeviceImmediate(item);
}, 360),
handleCleared() {
const { mapIns } = this.getMap();

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

@ -166,8 +166,8 @@ export const eventMap = {
removeData
);
addDataPreHandle(removeData);
markerClusterIns.addData(removeData, isDefault);
this.emitter.emit("selectedCompleted", item);
cacheRemoveFunc[`地图路测设备/${item.title}`] = () => {
cbCall();
@ -225,6 +225,7 @@ export const eventMap = {
);
addDataPreHandle(removeData);
markerClusterIns.addData(removeData, isDefault);
this.emitter.emit("selectedCompleted", item);
cacheRemoveFunc[`地图事件专题/${item.title}`] = () => {
cbCall();
@ -275,6 +276,7 @@ export const eventMap = {
);
addDataPreHandle(removeData);
markerClusterIns.addData(removeData, isDefault);
this.emitter.emit("selectedCompleted", item);
loadingMessage?.close();

17
ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/utils/map.js

@ -343,9 +343,10 @@ export class MarkerCluster {
const findIndex = this.data.findIndex(
(removeData) => removeData === item
);
let { stakeMark } = item.extData;
let { stakeMark, direction } = item.extData;
stakeMark = upperFirst(stakeMark); //统一格式 大写K
const existNode = graphInstance.getCellById(stakeMark);
const id = `${stakeMark}_${direction || ""}`;
const existNode = graphInstance.getCellById(id);
const lnglat = item.lnglat;
if (lnglat) {
const { lat, lng } = getLatAndLng(lnglat);
@ -357,10 +358,10 @@ export class MarkerCluster {
window.graphInstance.removeNode(existNode.id);
else {
//更新节点
const updateNode = graphInstance.getCellById(stakeMark);
const updateNode = graphInstance.getCellById(id);
updateNode.updateData(getDataConf(lngLatArr, item.extData));
}
} else window.graphInstance.removeNode(stakeMark);
} else window.graphInstance.removeNode(id);
}
}
if (findIndex > -1) this.data.splice(findIndex, 1);
@ -482,9 +483,10 @@ export function marksAddInGraph(data) {
export function addInGraphHandle(data) {
const graphInstance = window.graphInstance;
const extData = data[0].extData;
console.log(extData, "extData");
const { item: eventItem } = data[0].config;
if (eventItem.id.match("./事件专题")) {
let { stakeMark, lang } = extData;
let { stakeMark, lang, direction } = extData;
stakeMark = upperFirst(stakeMark); //统一格式 大写K
const distance =
(Number(
@ -496,7 +498,8 @@ export function addInGraphHandle(data) {
const node = { shape: "custom-html", effect: ["data"] };
node.data = getDataConf(data, extData);
const existNode = graphInstance.getCellById(stakeMark);
const id = `${stakeMark}_${direction || ""}`;
const existNode = graphInstance.getCellById(id);
if (existNode) {
existNode.updateData(node.data);
} else {
@ -508,7 +511,7 @@ export function addInGraphHandle(data) {
height: 20,
...node,
zIndex: 1,
id: stakeMark,
id: id,
});
// }, 0);
}

12
ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/data.js

@ -80,14 +80,14 @@ export const gjSearchFormList = [
key: "5",
label: "扫码报警",
},
{
key: "6",
label: "非机预警",
},
// {
// key: "7",
// label: "气象监测器",
// key: "6",
// label: "非机预警",
// },
{
key: "7",
label: "气象监测器",
},
],
},
},

8
ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/index.vue

@ -238,7 +238,13 @@ export default {
background: "#00000052",
text: "文件正在下载...",
});
request.post(url, {}, { headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, responseType: 'blob' })
// request.post(url, {}, { headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, responseType: 'blob' })
request({
url: url,//
method: "post",
data: { ...this.searchData, warningState: 1 },
responseType: 'blob'
})
.then((res) => {
console.log(res);
const url = window.URL.createObjectURL(new Blob([res]));

2
ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventDetection/components/eventQuery/assets/charts.js

@ -62,7 +62,7 @@ var options = {
grid: {
top: "15%", //上边距
right: "5px", //右边距
left: "0", //左边距
left: "10px", //左边距
bottom: "2%", //下边距
containLabel: true,
},

35
ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventDetection/components/eventQuery/index.vue

@ -88,7 +88,7 @@
<div class="comp_body">
<div>
<WgtTitle :title="'感知事件趋势分析'"></WgtTitle>
<div class="unit_con">
<div class="unit_con unit_con_01">
<Empty
v-if="!chart1List || chart1List.length <= 0"
text="暂无数据..."
@ -108,15 +108,14 @@
></Empty>
<div
ref="chart2"
class="chart_div"
style="width: 540px; height: 270px"
class="chart_div keep-ratio"
></div>
</div>
</div>
<div>
<WgtTitle :title="'桩号范围内事件分析趋势'"></WgtTitle>
<div class="unit_con">
<div class="unit_con unit_con_03">
<Empty
v-show="!chart3List || chart3List.length <= 0"
text="暂无数据..."
@ -695,21 +694,35 @@ export default {
flex: 1;
height: 0;
padding: 0;
margin: 95px 20px 30px;
position: relative;
// &.unit_con_02{ margin: 105px 0px 20px; }
display: flex;
align-items: center;
&.unit_con_01{
margin: 100px 20px 0;
.chart_div {
width: 100%;
height: 240px;
}
}
&.unit_con_02{
margin: 70px 20px 0;
.chart_div {
width: 100%;
height: 290px;
}
}
&.unit_con_03{
margin: 70px 20px 0;
.chart_div {
width: 100%;
height: 280px;
}
}
}
.empty {
position: absolute;
}
.chart_div {
width: 100%;
height: 200px;
}
}
.condition {

Loading…
Cancel
Save