fix: BUG修改

This commit is contained in:
kun 2024-02-18 19:11:34 +08:00
parent 261a56213a
commit 64b9d194eb
10 changed files with 378 additions and 650 deletions

8
package-lock.json generated
View File

@ -9170,12 +9170,12 @@
},
"node_modules/jquery": {
"version": "3.7.1",
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz",
"resolved": "https://registry.npmmirror.com/jquery/-/jquery-3.7.1.tgz",
"integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg=="
},
"node_modules/jquery-ui": {
"version": "1.13.2",
"resolved": "https://registry.npmjs.org/jquery-ui/-/jquery-ui-1.13.2.tgz",
"resolved": "https://registry.npmmirror.com/jquery-ui/-/jquery-ui-1.13.2.tgz",
"integrity": "sha512-wBZPnqWs5GaYJmo1Jj0k/mrSkzdQzKDwhXNtHKcBdAcKVxMM3KNYFq+iJ2i1rwiG53Z8M4mTn3Qxrm17uH1D4Q==",
"dependencies": {
"jquery": ">=1.8.0 <4.0.0"
@ -22776,12 +22776,12 @@
},
"jquery": {
"version": "3.7.1",
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz",
"resolved": "https://registry.npmmirror.com/jquery/-/jquery-3.7.1.tgz",
"integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg=="
},
"jquery-ui": {
"version": "1.13.2",
"resolved": "https://registry.npmjs.org/jquery-ui/-/jquery-ui-1.13.2.tgz",
"resolved": "https://registry.npmmirror.com/jquery-ui/-/jquery-ui-1.13.2.tgz",
"integrity": "sha512-wBZPnqWs5GaYJmo1Jj0k/mrSkzdQzKDwhXNtHKcBdAcKVxMM3KNYFq+iJ2i1rwiG53Z8M4mTn3Qxrm17uH1D4Q==",
"requires": {
"jquery": ">=1.8.0 <4.0.0"

View File

@ -0,0 +1,32 @@
// 有毒气体监测 接口API
import http from "@/api";
const BASEURL = import.meta.env.VITE_API_URL;
// 监测点位数量
export const measurePointCount = (params: {}) => {
return http.post(BASEURL + `/xmgl/highFormworkMeasurePoint/countHighFormworkMeasurePoint`, params);
};
// 高支模监测动态
export const monitorDynamic = (params: {}) => {
return http.post(BASEURL + `/xmgl/highFormworkMeasurePoint/countMonitorDynamic`, params);
};
// 高支模实时监测(选择平面图)
export const selectPlanView = (params: {}) => {
return http.post(BASEURL + `/xmgl/highFormworkPlaneFigure/selectList`, params);
};
// 高支模实时监测(平面图传感器)
export const selectPlanViewPoint = (params: {}) => {
return http.post(BASEURL + `/xmgl/highFormworkPlaneFigureCoordinate/selectList`, params);
};
// 实时监测列表数据(实时值、历史数据)
export const realMonitorList = (params: {}) => {
return http.post(BASEURL + `/xmgl/highFormworkMeasureCurrentData/list`, params);
};
// 实时监测列表数据(报警记录)
export const alarmRecordList = (params: {}) => {
return http.get(BASEURL + `/xmgl/highFormworkAlarmData/list`, params);
};
// 查询测点
export const highFormworkPoint = (params: {}) => {
return http.post(BASEURL + `/xmgl/highFormworkMeasurePoint/list`, params);
};

View File

@ -39,7 +39,6 @@
left: item.mapX + 'px',
top: item.mapY + 'px'
}"
:title="item.pointName"
@click="openDialog(item)"
></div>
<div

View File

@ -2,12 +2,12 @@
<!-- 报警记录 -->
<div class="formwork-alarm-list">
<div class="select-project">
<el-select v-model="selectPoint" style="width: 15%; margin-right: 5%" size="small">
<!-- <el-select v-model="selectPoint" style="width: 15%; margin-right: 5%" size="small">
<el-option v-for="(item, index) in pointList" :key="index" :label="item.dayType" :value="item.value" />
</el-select>
<el-select v-model="selectType" style="width: 15%; margin-right: 5%" size="small">
<el-option v-for="(item, index) in typeList" :key="index" :label="item.dayType" :value="item.value" />
</el-select>
</el-select> -->
<div class="time-range">
<el-date-picker
v-model="rangeTime"
@ -18,30 +18,27 @@
value-format="YYYY-MM-DD"
:clearable="false"
size="small"
@change="timeChange"
/>
</div>
</div>
<div class="list-content">
<div class="tab-list">
<div>序号</div>
<div style="width: 14%">监测点编号</div>
<div style="width: 19%">告警开始时间</div>
<div style="width: 19%">告警结束时间</div>
<div>告警等级</div>
<div>监测点名称</div>
<div>告警创建时间</div>
<!-- <div>告警等级</div> -->
<div>告警类型</div>
<div>告警值</div>
<div>恢复值</div>
</div>
<el-scrollbar class="list-box">
<el-scrollbar class="list-box" ref="refScrollbar">
<div v-for="(item, index) in list" class="list-style" :key="item.id">
<div>{{ index + 1 }}</div>
<div style="width: 14%">{{ item.monitorCode }}</div>
<div style="width: 19%">{{ item.warnStartTime }}</div>
<div style="width: 19%">{{ item.warnEndTime }}</div>
<div>{{ item.warnGrade }}</div>
<div>{{ item.warnType }}</div>
<div>{{ item.warnData }}</div>
<div>{{ item.recoverData }}</div>
<div>{{ item.measurePointName }}</div>
<div>{{ item.createTime }}</div>
<!-- <div>{{ item.warnGrade }}</div> -->
<div>{{ item.alarmType == 1?'报警':'预警' }}</div>
<div>{{ item.alarmValue }}</div>
<!-- <div :style="{ width: '21%', color: formworkOption[item.formworkState].color }">
{{ formworkOption[item.formworkState].label }}
</div> -->
@ -57,9 +54,15 @@
<script lang="ts" setup>
import Card from "@/components/card.vue";
import { reactive, ref, onMounted } from "vue";
import { watch, ref, onMounted } from "vue";
import { alarmRecordList } from "@/api/modules/highFormwork";
import { GlobalStore } from "@/stores";
const store = GlobalStore();
const props = defineProps(["selectPoint"]);
const pageNo = ref(1 as any);
const pageSize = ref(15 as any);
const refScrollbar = ref(null as any); //
const moreScroll = ref(true as any);
let showDialog = ref(false as any);
let rangeTime = ref("" as any);
@ -140,131 +143,62 @@ let formworkOption = ref([
color: "#EC6266"
}
]);
const list = reactive([
{
id: 1,
monitorCode: "GZMO95050",
warnStartTime: "2023-01-01 12:00:00",
warnEndTime: "2023-01-01 12:00:00",
warnGrade: "报警",
warnType: "立杆倾斜",
warnData: "0.08°/s",
recoverData: "0.08°/s"
},
{
id: 2,
monitorCode: "GZMO95050",
warnStartTime: "2023-01-01 12:00:00",
warnEndTime: "2023-01-01 12:00:00",
warnGrade: "报警",
warnType: "水平位移",
warnData: "0.7mm/s",
recoverData: "0.7mm/s"
},
{
id: 3,
monitorCode: "GZMO95050",
warnStartTime: "2023-01-01 12:00:00",
warnEndTime: "2023-01-01 12:00:00",
warnGrade: "报警",
warnType: "立杆轴力",
warnData: "20N/s",
recoverData: "20N/s"
},
{
id: 4,
monitorCode: "GZMO95050",
warnStartTime: "2023-01-01 12:00:00",
warnEndTime: "2023-01-01 12:00:00",
warnGrade: "报警",
warnType: "立杆轴力",
warnData: "20N/s",
recoverData: "20N/s"
},
{
id: 5,
monitorCode: "GZMO95050",
warnStartTime: "2023-01-01 12:00:00",
warnEndTime: "2023-01-01 12:00:00",
warnGrade: "报警",
warnType: "立杆倾斜",
warnData: "0.08°/s",
recoverData: "0.08°/s"
},
{
id: 6,
monitorCode: "GZMO95050",
warnStartTime: "2023-01-01 12:00:00",
warnEndTime: "2023-01-01 12:00:00",
warnGrade: "报警",
warnType: "立杆轴力",
warnData: "20N/s",
recoverData: "20N/s"
},
{
id: 7,
monitorCode: "GZMO95050",
warnStartTime: "2023-01-01 12:00:00",
warnEndTime: "2023-01-01 12:00:00",
warnGrade: "报警",
warnType: "立杆倾斜",
warnData: "0.08°/s",
recoverData: "0.08°/s"
},
{
id: 8,
monitorCode: "GZMO95050",
warnStartTime: "2023-01-01 12:00:00",
warnEndTime: "2023-01-01 12:00:00",
warnGrade: "报警",
warnType: "立杆轴力",
warnData: "20N/s",
recoverData: "20N/s"
},
{
id: 9,
monitorCode: "GZMO95050",
warnStartTime: "2023-01-01 12:00:00",
warnEndTime: "2023-01-01 12:00:00",
warnGrade: "报警",
warnType: "立杆倾斜",
warnData: "0.08°/s",
recoverData: "0.08°/s"
},
{
id: 10,
monitorCode: "GZMO95050",
warnStartTime: "2023-01-01 12:00:00",
warnEndTime: "2023-01-01 12:00:00",
warnGrade: "报警",
warnType: "立杆轴力",
warnData: "20N/s",
recoverData: "20N/s"
},
{
id: 11,
monitorCode: "GZMO95050",
warnStartTime: "2023-01-01 12:00:00",
warnEndTime: "2023-01-01 12:00:00",
warnGrade: "报警",
warnType: "立杆倾斜",
warnData: "0.08°/s",
recoverData: "0.08°/s"
},
{
id: 12,
monitorCode: "GZMO95050",
warnStartTime: "2023-01-01 12:00:00",
warnEndTime: "2023-01-01 12:00:00",
warnGrade: "报警",
warnType: "水平位移",
warnData: "0.7mm/s",
recoverData: "0.7mm/s"
const list = ref([] as any);
const timeChange = () => {
console.log(rangeTime.value);
getAlarmRecord("search");
};
//
const getAlarmRecord = async (type: any) => {
let requestData: any = {
projectSn: store.sn,
measurePointNumber: props.selectPoint,
pageNo: pageNo.value,
pageSize: pageSize.value
};
if (rangeTime.value) {
requestData.startTime = rangeTime.value[0];
requestData.endTime = rangeTime.value[0];
}
]);
onMounted(async () => {});
const res: any = await alarmRecordList(requestData);
// console.log("", res);
if (type == "search") {
list.value = res.result.records;
} else {
list.value = list.value.concat(res.result.records);
if (res.result.pages == pageNo.value) {
moreScroll.value = false;
} else {
pageNo.value = pageNo.value + 1;
}
}
};
watch(
() => props.selectPoint,
newVal => {
// console.log(newVal, "newVal");
if (newVal) {
getAlarmRecord('search');
}
},
{
immediate: true
}
);
onMounted(async () => {
refScrollbar.value.wrapRef.addEventListener("scroll", (e: any) => {
// console.log("", e);
const scrollTop = e.target.scrollTop;
const scrollHeight = e.target.scrollHeight;
const clientHeight = e.target.clientHeight;
//
if (scrollTop >= scrollHeight - clientHeight) {
if (moreScroll.value) {
getAlarmRecord('page');
}
}
});
});
</script>
<style lang="scss" scoped>
@ -285,21 +219,19 @@ onMounted(async () => {});
.formwork-alarm-list {
width: 100%;
height: 90%;
padding-top: 5%;
display: flex;
flex-direction: column;
position: relative;
.select-project {
position: absolute;
display: flex;
left: 0%;
top: 5%;
margin: 2% 0;
.time-range {
width: 24%;
width: 30%;
}
}
.list-content {
height: 95%;
width: 100%;
margin-top: 3%;
.tab-list {
display: flex;
align-items: center;
@ -317,7 +249,7 @@ onMounted(async () => {});
div {
text-align: center;
white-space: nowrap;
width: 10%;
width: 25%;
}
}
.list-box {
@ -334,7 +266,7 @@ onMounted(async () => {});
div {
text-align: center;
white-space: nowrap;
width: 10%;
width: 25%;
}
}
.list-style:hover {
@ -344,9 +276,9 @@ onMounted(async () => {});
}
}
.not-data {
top: 73%;
width: 12%;
left: 44%;
top: 19%;
width: 35%;
left: 33%;
position: absolute;
img {
width: 40%;
@ -356,6 +288,7 @@ onMounted(async () => {});
color: #fff;
font-size: calc(100vw * 14 / 1920);
margin: -6% 37%;
text-align: center;
}
}
</style>

View File

@ -12,12 +12,12 @@
<el-scrollbar class="list-box">
<div v-for="(item, index) in list" class="list-style" :key="item.id">
<div>{{ index + 1 }}</div>
<div>{{ item.reportTime }}</div>
<div>{{ item.devName }}</div>
<div :style="{ color: formworkOption[item.formworkState].color }">
{{ formworkOption[item.formworkState].label }}
<div>{{ item.realTime?.substring(0,10) }}</div>
<div>{{ item.measurePointName }}</div>
<div :style="{ color: formworkOption[item.alarmState - 1].color }">
{{ formworkOption[item.alarmState - 1].label }}
</div>
<div>{{ item.monitorTime }}</div>
<div>{{ item.monitorDuration }}</div>
</div>
<div class="not-data" v-if="list.length == 0">
<img src="@/assets/images/noData.png" alt="" />
@ -31,117 +31,34 @@
<script lang="ts" setup>
import Card from "@/components/card.vue";
import { reactive, ref, onMounted } from "vue";
import { ref, onMounted } from "vue";
import { monitorDynamic } from "@/api/modules/highFormwork";
import { GlobalStore } from "@/stores";
const store = GlobalStore();
let showDialog = ref(false as any);
let rangeTime = ref("" as any);
let formworkOption = ref([
{
value: 0,
label: "进行中",
label: "正常",
color: "#81F279"
},
{
value: 1,
label: "已完成",
label: "预警",
color: "#4AC0F3"
},
{
value: 2,
label: "暂停中",
label: "报警",
color: "#EC6266"
}
]);
const list = reactive([
{
id: 1,
reportTime: "2023-01-01",
devName: "防护栏杆",
formworkState: 0,
monitorTime: "0时20分"
},
{
id: 2,
reportTime: "2023-01-01",
devName: "防护栏杆",
formworkState: 1,
monitorTime: "1时20分"
},
{
id: 3,
reportTime: "2023-01-01",
devName: "防护栏杆",
formworkState: 1,
monitorTime: "2时20分"
},
{
id: 4,
reportTime: "2023-01-01",
devName: "防护栏杆",
formworkState: 2,
monitorTime: "5时20分"
},
{
id: 5,
reportTime: "2023-01-01",
devName: "防护栏杆",
formworkState: 0,
monitorTime: "3时20分"
},
{
id: 6,
reportTime: "2023-01-01",
devName: "防护栏杆",
formworkState: 1,
monitorTime: "2时20分"
},
{
id: 7,
reportTime: "2023-01-01",
devName: "防护栏杆",
formworkState: 0,
monitorTime: "0时20分"
},
{
id: 8,
reportTime: "2023-01-01",
devName: "防护栏杆",
formworkState: 1,
monitorTime: "0时20分"
},
{
id: 9,
reportTime: "2023-01-01",
devName: "防护栏杆",
formworkState: 0,
monitorTime: "0时20分"
},
{
id: 10,
reportTime: "2023-01-01",
devName: "防护栏杆",
formworkState: 1,
monitorTime: "0时20分"
},
{
id: 11,
reportTime: "2023-01-01",
devName: "防护栏杆",
formworkState: 2,
monitorTime: "0时20分"
},
{
id: 12,
reportTime: "2023-01-01",
devName: "防护栏杆",
formworkState: 1,
monitorTime: "0时20分"
}
]);
onMounted(async () => {});
const list = ref([] as any);
//
const getMonitorDynamic = async () => {
const res: any = await monitorDynamic({ projectSn: store.sn });
console.log("获取高支模监测动态", res);
list.value = res.result;
};
onMounted(async () => {
await getMonitorDynamic();
});
</script>
<style lang="scss" scoped>

View File

@ -4,7 +4,7 @@
<div class="formwork-content">
<div class="select-right">
<el-select v-model="selectPoint" style="width: 100%" size="small" @change="selectChange">
<el-option v-for="(item, index) in pointList" :key="index" :label="item.dayType" :value="item.value" />
<el-option v-for="(item, index) in pointList" :key="index" :label="item.measurePointName" :value="item.measurePointNumber" />
</el-select>
</div>
<div id="formworkLine" ref="formworkLine" style="width: 100%; height: 100%"></div>
@ -15,12 +15,9 @@
<script lang="ts" setup>
import Card from "@/components/card.vue";
// import symbolIcon2 from "@/assets/images/toxicGasMonitor/lineIcon2.png";
import { onMounted, ref, onBeforeUnmount } from "vue";
import * as echarts from "echarts";
// import { getSelectDataListApi } from "@/api/modules/distribution";
// import Card from "@/components/card.vue";
import { highFormworkPoint } from "@/api/modules/highFormwork";
import { GlobalStore } from "@/stores";
import mitts from "@/utils/bus"; //
const store = GlobalStore();
@ -42,29 +39,12 @@ let unit = ref("" as any);
let option = ref(null as any);
//
// let rangeTime = ref("");
let selectPoint = ref(1);
let selectPoint = ref("");
// let selectTime = ref(1);
//
// let nowType = ref("");
let pointList = ref([
{
value: 1,
dayType: "监测点001"
},
{
value: 2,
dayType: "监测点002"
},
{
value: 3,
dayType: "监测点003"
},
{
value: 4,
dayType: "监测点004"
}
]);
let pointList = ref([] as any);
let typeList = ref([
{
@ -328,7 +308,17 @@ function drawChart() {
formworkLine.setOption(option.value);
}
//
const getMonitorViewPoint = async () => {
const res: any = await highFormworkPoint({ projectSn: store.sn, pageNo: -1 });
console.log("获取测点数据", res);
pointList.value = res.result.records
if(res.result.records && res.result.records.length > 0){
selectPoint.value = res.result.records[0].measurePointNumber
}
};
onMounted(async () => {
await getMonitorViewPoint();
drawChart();
});

View File

@ -2,7 +2,7 @@
<!-- 历史数据 -->
<div class="formwork-history-list">
<div class="select-project">
<el-select v-model="selectPoint" style="width: 13%; margin-right: 3%" size="small">
<!-- <el-select v-model="selectPoint" style="width: 13%; margin-right: 3%" size="small">
<el-option v-for="(item, index) in pointList" :key="index" :label="item.dayType" :value="item.value" />
</el-select>
<el-select v-model="selectType" style="width: 13%; margin-right: 3%" size="small">
@ -10,7 +10,7 @@
</el-select>
<el-select v-model="selectState" style="width: 13%; margin-right: 3%" size="small">
<el-option v-for="(item, index) in stateList" :key="index" :label="item.dayType" :value="item.value" />
</el-select>
</el-select> -->
<div class="time-range">
<el-date-picker
v-model="rangeTime"
@ -21,30 +21,35 @@
value-format="YYYY-MM-DD"
:clearable="false"
size="small"
@change="timeChange"
/>
</div>
</div>
<div class="list-content">
<div class="tab-list">
<div>序号</div>
<div style="width: 20%">时间</div>
<div>时间</div>
<div>测量点名称</div>
<div>监测点编号</div>
<div>监测类型</div>
<div>累计变化值</div>
<div>变化速率</div>
<div>状态</div>
<div>测量点编号</div>
<div>电量</div>
<div>立杆轴力</div>
<div>水平位移</div>
<div>横板沉降</div>
<div>立杆倾斜</div>
<div>地基沉降</div>
</div>
<el-scrollbar class="list-box">
<el-scrollbar class="list-box" ref="refScrollbar">
<div v-for="(item, index) in list" class="list-style" :key="item.id">
<div>{{ index + 1 }}</div>
<div style="width: 20%">{{ item.reportTime }}</div>
<div>{{ item.monitorName }}</div>
<div>{{ item.monitorCode }}</div>
<div>{{ item.monitorType }}</div>
<div>{{ item.accumulateNum }}</div>
<div>{{ item.rateChange }}</div>
<div>{{ item.monitorState }}</div>
<div>{{ item.collectTime?.substring(0, 10) }}</div>
<div>{{ item.measurePointName }}</div>
<div>{{ item.measurePointNumber }}</div>
<div>{{ item.electricPower }}</div>
<div>{{ item.poleAxialForce }}</div>
<div>{{ item.horizontalDisplacement }}</div>
<div>{{ item.formworkSettlement }}</div>
<div>{{ item.poleTilt }}</div>
<div>{{ item.foundationSettlement }}</div>
<!-- <div :style="{ width: '21%', color: formworkOption[item.formworkState].color }">
{{ formworkOption[item.formworkState].label }}
@ -61,11 +66,16 @@
<script lang="ts" setup>
import Card from "@/components/card.vue";
import { reactive, ref, onMounted } from "vue";
import { ref, onMounted, watch } from "vue";
import { realMonitorList } from "@/api/modules/highFormwork";
import { GlobalStore } from "@/stores";
const store = GlobalStore();
let showDialog = ref(false as any);
let rangeTime = ref("" as any);
const props = defineProps(["selectPoint"]);
const pageNo = ref(1 as any);
const pageSize = ref(15 as any);
const refScrollbar = ref(null as any); //
const moreScroll = ref(true as any);
const rangeTime = ref("" as any);
let selectPoint = ref(1 as any);
let pointList = ref([
@ -144,131 +154,62 @@ let formworkOption = ref([
color: "#EC6266"
}
]);
const list = reactive([
{
id: 1,
reportTime: "2023-01-01 12:00:00",
monitorName: "测量点1",
monitorCode: "GZMO95050",
monitorType: "立杆倾斜",
accumulateNum: "0.19°",
rateChange: "0.08°/s",
monitorState: "正常"
},
{
id: 2,
reportTime: "2023-01-01 12:00:00",
monitorName: "测量点1",
monitorCode: "GZMO95050",
monitorType: "水平位移",
accumulateNum: "6.3mm",
rateChange: "0.7mm/s",
monitorState: "正常"
},
{
id: 3,
reportTime: "2023-01-01 12:00:00",
monitorName: "测量点1",
monitorCode: "GZMO95050",
monitorType: "立杆轴力",
accumulateNum: "90N",
rateChange: "20N/s",
monitorState: "正常"
},
{
id: 4,
reportTime: "2023-01-01 12:00:00",
monitorName: "测量点1",
monitorCode: "GZMO95050",
monitorType: "立杆倾斜",
accumulateNum: "0.19°",
rateChange: "0.08°/s",
monitorState: "正常"
},
{
id: 5,
reportTime: "2023-01-01 12:00:00",
monitorName: "测量点1",
monitorCode: "GZMO95050",
monitorType: "立杆倾斜",
accumulateNum: "0.19°",
rateChange: "0.08°/s",
monitorState: "正常"
},
{
id: 6,
reportTime: "2023-01-01 12:00:00",
monitorName: "测量点1",
monitorCode: "GZMO95050",
monitorType: "水平位移",
accumulateNum: "6.3mm",
rateChange: "0.7mm/s",
monitorState: "正常"
},
{
id: 7,
reportTime: "2023-01-01 12:00:00",
monitorName: "测量点1",
monitorCode: "GZMO95050",
monitorType: "水平位移",
accumulateNum: "6.3mm",
rateChange: "0.7mm/s",
monitorState: "正常"
},
{
id: 8,
reportTime: "2023-01-01 12:00:00",
monitorName: "测量点1",
monitorCode: "GZMO95050",
monitorType: "立杆倾斜",
accumulateNum: "0.19°",
rateChange: "0.08°/s",
monitorState: "正常"
},
{
id: 9,
reportTime: "2023-01-01 12:00:00",
monitorName: "测量点1",
monitorCode: "GZMO95050",
monitorType: "立杆倾斜",
accumulateNum: "0.19°",
rateChange: "0.08°/s",
monitorState: "正常"
},
{
id: 10,
reportTime: "2023-01-01 12:00:00",
monitorName: "测量点1",
monitorCode: "GZMO95050",
monitorType: "水平位移",
accumulateNum: "6.3mm",
rateChange: "0.7mm/s",
monitorState: "正常"
},
{
id: 11,
reportTime: "2023-01-01 12:00:00",
monitorName: "测量点1",
monitorCode: "GZMO95050",
monitorType: "立杆倾斜",
accumulateNum: "0.19°",
rateChange: "0.08°/s",
monitorState: "正常"
},
{
id: 12,
reportTime: "2023-01-01 12:00:00",
monitorName: "测量点1",
monitorCode: "GZMO95050",
monitorType: "水平位移",
accumulateNum: "6.3mm",
rateChange: "0.7mm/s",
monitorState: "正常"
const list = ref([] as any);
const timeChange = () => {
console.log(rangeTime.value);
getMonitorViewPoint("search");
};
//
const getMonitorViewPoint = async (type: any) => {
let requestData: any = {
projectSn: store.sn,
measurePointNumber: props.selectPoint,
pageNo: pageNo.value,
pageSize: pageSize.value
};
if (rangeTime.value) {
requestData.startTime = rangeTime.value[0];
requestData.endTime = rangeTime.value[0];
}
]);
onMounted(async () => {});
const res: any = await realMonitorList(requestData);
// console.log("", res);
if (type == "search") {
list.value = res.result.records;
} else {
list.value = list.value.concat(res.result.records);
if (res.result.pages == pageNo.value) {
moreScroll.value = false;
} else {
pageNo.value = pageNo.value + 1;
}
}
};
watch(
() => props.selectPoint,
newVal => {
// console.log(newVal, "newVal");
if (newVal) {
getMonitorViewPoint('search');
}
},
{
immediate: true
}
);
onMounted(async () => {
refScrollbar.value.wrapRef.addEventListener("scroll", (e: any) => {
// console.log("", e);
const scrollTop = e.target.scrollTop;
const scrollHeight = e.target.scrollHeight;
const clientHeight = e.target.clientHeight;
//
if (scrollTop >= scrollHeight - clientHeight) {
if (moreScroll.value) {
getMonitorViewPoint('page');
}
}
});
});
</script>
<style lang="scss" scoped>
@ -297,7 +238,7 @@ onMounted(async () => {});
left: 0%;
top: 5%;
.time-range {
width: 24%;
width: 60%;
}
}
.list-content {

View File

@ -27,21 +27,26 @@
<div class="list-content">
<div class="tab-list">
<div>序号</div>
<div>监测点名称</div>
<!-- <div>监测点编号</div> -->
<div>类型</div>
<div>预警值</div>
<div>报警值</div>
<div>实时变化值</div>
<div>测量点名称</div>
<div>测量点编号</div>
<div>电量</div>
<div>立杆轴力</div>
<div>水平位移</div>
<div>横板沉降</div>
<div>立杆倾斜</div>
<div>地基沉降</div>
</div>
<el-scrollbar class="list-box">
<el-scrollbar class="list-box" ref="refScrollbar">
<div v-for="(item, index) in list" class="list-style" :key="item.id">
<div>{{ index + 1 }}</div>
<div>{{ item.monitorName }}</div>
<div>{{ item.monitorType }}</div>
<div>{{ item.warnNum }}</div>
<div>{{ item.alarmNum }}</div>
<div>{{ item.rateChange }}</div>
<div>{{ item.measurePointName }}</div>
<div>{{ item.measurePointNumber }}</div>
<div>{{ item.electricPower }}</div>
<div>{{ item.poleAxialForce }}</div>
<div>{{ item.horizontalDisplacement }}</div>
<div>{{ item.formworkSettlement }}</div>
<div>{{ item.poleTilt }}</div>
<div>{{ item.foundationSettlement }}</div>
<!-- <div :style="{ width: '21%', color: formworkOption[item.formworkState].color }">
{{ formworkOption[item.formworkState].label }}
@ -58,9 +63,15 @@
<script lang="ts" setup>
import Card from "@/components/card.vue";
import { reactive, ref, onMounted } from "vue";
import { watch, ref, onMounted } from "vue";
import { realMonitorList } from "@/api/modules/highFormwork";
import { GlobalStore } from "@/stores";
const store = GlobalStore();
const props = defineProps(["selectPoint"]);
const pageNo = ref(1 as any);
const pageSize = ref(15 as any);
const refScrollbar = ref(null as any); //
const moreScroll = ref(true as any);
let showDialog = ref(false as any);
let rangeTime = ref("" as any);
@ -141,107 +152,53 @@ let formworkOption = ref([
color: "#EC6266"
}
]);
const list = reactive([
{
id: 1,
monitorName: "GZM095050",
monitorType: "立杆倾斜",
warnNum: "0.08°/s",
alarmNum: "0.08°/s",
rateChange: "0.08°/s"
},
{
id: 2,
monitorName: "GZM095050",
monitorType: "水平位移",
warnNum: "0.7mm/s",
alarmNum: "0.7mm/s",
rateChange: "0.7mm/s"
},
{
id: 3,
monitorName: "GZM095050",
monitorType: "立杆轴力",
warnNum: "20N/s",
alarmNum: "20N/s",
rateChange: "20N/s"
},
{
id: 4,
monitorName: "GZM095050",
monitorType: "立杆倾斜",
warnNum: "0.08°/s",
alarmNum: "0.08°/s",
rateChange: "0.08°/s"
},
{
id: 5,
monitorName: "GZM095050",
monitorType: "水平位移",
warnNum: "0.7mm/s",
alarmNum: "0.7mm/s",
rateChange: "0.7mm/s"
},
{
id: 6,
monitorName: "GZM095050",
monitorType: "立杆倾斜",
warnNum: "0.08°/s",
alarmNum: "0.08°/s",
rateChange: "0.08°/s"
},
{
id: 7,
monitorName: "GZM095050",
monitorType: "立杆轴力",
warnNum: "20N/s",
alarmNum: "20N/s",
rateChange: "20N/s"
},
{
id: 8,
monitorName: "GZM095050",
monitorType: "立杆轴力",
warnNum: "20N/s",
alarmNum: "20N/s",
rateChange: "20N/s"
},
{
id: 9,
monitorName: "GZM095050",
monitorType: "立杆倾斜",
warnNum: "0.08°/s",
alarmNum: "0.08°/s",
rateChange: "0.08°/s"
},
{
id: 10,
monitorName: "GZM095050",
monitorType: "立杆轴力",
warnNum: "20N/s",
alarmNum: "20N/s",
rateChange: "20N/s"
},
{
id: 11,
monitorName: "GZM095050",
monitorType: "水平位移",
warnNum: "0.7mm/s",
alarmNum: "0.7mm/s",
rateChange: "0.7mm/s"
},
{
id: 12,
monitorName: "GZM095050",
monitorType: "立杆倾斜",
warnNum: "0.08°/s",
alarmNum: "0.08°/s",
rateChange: "0.08°/s"
const list = ref([] as any);
//
const getMonitorViewPoint = async (type: any) => {
const res: any = await realMonitorList({
projectSn: store.sn,
measurePointNumber: props.selectPoint,
pageNo: pageNo.value,
pageSize: pageSize.value
});
// console.log("", res);
if (type == "search") {
list.value = res.result.records;
} else {
list.value = list.value.concat(res.result.records);
if (res.result.pages == pageNo.value) {
moreScroll.value = false;
} else {
pageNo.value = pageNo.value + 1;
}
}
]);
onMounted(async () => {});
};
watch(
() => props.selectPoint,
newVal => {
// console.log(newVal, "newVal");
if (newVal) {
getMonitorViewPoint("search");
}
},
{
immediate: true
}
);
onMounted(async () => {
refScrollbar.value.wrapRef.addEventListener("scroll", (e: any) => {
// console.log("", e);
const scrollTop = e.target.scrollTop;
const scrollHeight = e.target.scrollHeight;
const clientHeight = e.target.clientHeight;
//
if (scrollTop >= scrollHeight - clientHeight) {
if (moreScroll.value) {
getMonitorViewPoint();
}
}
});
});
</script>
<style lang="scss" scoped>
@ -321,9 +278,9 @@ onMounted(async () => {});
}
}
.not-data {
top: 73%;
width: 12%;
left: 44%;
top: 21%;
width: 40%;
left: 31%;
position: absolute;
img {
width: 40%;
@ -333,6 +290,7 @@ onMounted(async () => {});
color: #fff;
font-size: 14px;
margin: -6% 37%;
text-align: center;
}
}
</style>

View File

@ -1,17 +1,17 @@
<template>
<Card title="监测工程数量">
<Card title="监测点位数量">
<div class="formwork-center-top">
<div class="monitor-point">
<div class="point-text">监测点位数</div>
<div class="point-num">1024</div>
<div class="point-text">监测点位数</div>
<div class="point-num">{{pointData.totalPointNum}}</div>
</div>
<div class="stop-point">
<div class="point-text">暂停中点位数</div>
<div class="point-num">1024</div>
<div class="point-text">监测中点位数</div>
<div class="point-num">{{pointData.monitoringPointNum}}</div>
</div>
<div class="finish-point">
<div class="point-text">已完成点位数</div>
<div class="point-num">1024</div>
<div class="point-text">报警点位数</div>
<div class="point-num">{{pointData.alarmPointNum}}</div>
</div>
</div>
</Card>
@ -20,32 +20,25 @@
<script setup lang="ts">
import Card from "@/components/card.vue";
import { reactive, ref, onMounted } from "vue";
const list = reactive([
{
id: 1,
num: "1024",
text: "今日报警",
color: "#4AC0F3"
},
{
id: 2,
num: "1024",
text: "电量过低",
color: "#82FBEA"
},
{
id: 3,
num: "1024",
text: "人员靠近",
color: "#EEA959"
},
{
id: 4,
num: "1024",
text: "翻越报警",
color: "#EC6266"
import { measurePointCount } from "@/api/modules/highFormwork";
import { GlobalStore } from "@/stores";
const store = GlobalStore();
const pointData = ref<any>({
totalPointNum: 0,
alarmPointNum: 0,
monitoringPointNum: 0
})
//
const getPointCount = async () => {
const res: any = await measurePointCount({ projectSn: store.sn });
console.log("监测点位数量", res);
for(let i in pointData.value){
pointData.value[i] = res.result[i]
}
]);
};
onMounted(async () => {
await getPointCount();
})
</script>
<style scoped lang="scss">

View File

@ -18,7 +18,7 @@
</div>
</div>
<div class="point-map">
<img src="@/assets/images/foundationPitMonitor/highPointPic.png" alt="" />
<img :src="planViewData?.imageUrl" alt="" />
<div class="point-list" v-for="item in list" :key="item.id">
<div
class="point-item"
@ -32,22 +32,22 @@
: ''
"
:style="{
left: item.xMap + 'px',
top: item.yMap + 'px'
left: item.mapX + 'px',
top: item.mapY + 'px'
}"
@click="openDialog(item)"
></div>
<div
class="item-dialog"
:style="{
left: item.xMap - 50 + 'px',
top: item.yMap - 50 + 'px'
left: +item.mapX - 50 + 'px',
top: +item.mapY - 50 + 'px'
}"
v-if="item.id === currentIndex && showDialog"
@click="closeDialog"
>
<div class="triangle"></div>
<div class="dialog-title">{{ item.pointName }}</div>
<div class="dialog-title">{{ item.measurePointName }}</div>
</div>
</div>
</div>
@ -60,18 +60,18 @@
</div>
<div class="select-project">
<el-select v-model="selectProject" style="width: 90%; margin-right: 5%" size="small">
<el-option v-for="(item, index) in pointList" :key="index" :label="item.dayType" :value="item.value" />
<el-option v-for="(item, index) in pointList" :key="index" :label="item.measurePointName" :value="item.measurePointNumber" />
</el-select>
</div>
<div class="monitor-list">
<div class="realTime-list" v-if="tabIndex == 1">
<real-time-list></real-time-list>
<real-time-list :selectPoint="selectProject"></real-time-list>
</div>
<div class="history-list" v-if="tabIndex == 2">
<history-list></history-list>
<history-list :selectPoint="selectProject"></history-list>
</div>
<div class="alarm-list" v-if="tabIndex == 3">
<alarm-list></alarm-list>
<alarm-list :selectPoint="selectProject"></alarm-list>
</div>
</div>
</div>
@ -85,29 +85,12 @@ import { reactive, ref, onMounted } from "vue";
import realTimeList from "@/views/sevenLargeScreen/safetyManagement/highFormwork/real-time-list.vue";
import historyList from "@/views/sevenLargeScreen/safetyManagement/highFormwork/history-list.vue";
import alarmList from "@/views/sevenLargeScreen/safetyManagement/highFormwork/alarm-list.vue";
// import firstIcon from "@/assets/images/smartPartyBuilding/contentBox.png";
let selectProject = ref(1 as any);
let pointList = ref([
{
value: 1,
dayType: "高支模工程01—进行中"
},
{
value: 2,
dayType: "高支模工程02—进行中"
},
{
value: 3,
dayType: "高支模工程03—进行中"
},
{
value: 4,
dayType: "高支模工程04—进行中"
}
]);
import { selectPlanView, selectPlanViewPoint } from "@/api/modules/highFormwork";
import { GlobalStore } from "@/stores";
const store = GlobalStore();
const planViewData = ref<any>();
const selectProject = ref("" as any);
const pointList = ref([] as any);
let tabIndex = ref(1 as any);
let topText = ref([
{ id: 1, title: "实时值", isActive: true },
@ -115,17 +98,6 @@ let topText = ref([
{ id: 3, title: "报警记录", isActive: false }
]);
// function boxStyle(item: any) {
// if (item.isActive) {
// let choiseStyle = {
// background: `url(${firstIcon}) no-repeat`,
// backgroundSize: "100% 100%"
// };
// return choiseStyle;
// }
// return {};
// }
function getStyle(item: any) {
if (item.isActive) {
let choiseStyle = {
@ -155,39 +127,31 @@ function openDialog(item: any) {
}
function closeDialog() {
showDialog.value = false;
// console.log("");
}
//
const list = reactive([
{
id: 1,
alarmState: 1,
xMap: 150,
yMap: 70,
pointName: "基坑监测点001"
},
{
id: 2,
alarmState: 2,
xMap: 120,
yMap: 70,
pointName: "基坑监测点002"
},
{
id: 3,
alarmState: 1,
xMap: 180,
yMap: 90,
pointName: "基坑监测点003"
},
{
id: 4,
alarmState: 3,
xMap: 80,
yMap: 100,
pointName: "基坑监测点004"
//
const list = ref([] as any);
//
const getMonitorView = async () => {
const res: any = await selectPlanView({ projectSn: store.sn });
console.log("获取监测图纸", res);
if(res && res.result && res.result.length>0){
planViewData.value = res.result[0]
}
]);
};
//
const getMonitorViewPoint = async () => {
const res: any = await selectPlanViewPoint({ planeFigureId: planViewData.value.id });
console.log("获取监测点数据", res);
list.value = res.result
pointList.value = res.result
if(res.result && res.result.length > 0){
selectProject.value = res.result[0].measurePointNumber
}
};
onMounted(async () => {
await getMonitorView();
await getMonitorViewPoint();
})
</script>
<style scoped lang="scss">
@ -258,6 +222,7 @@ const list = reactive([
margin-left: 5%;
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
color: #ffffff;
visibility: hidden;
}
.point-state {
width: 100%;