提交 ae38ba01 authored 作者: liujiaxing's avatar liujiaxing

曲线和简化地址

上级 cd979434
...@@ -20,4 +20,8 @@ ...@@ -20,4 +20,8 @@
# MODE_ENV = development # MODE_ENV = development
# # 本地环境接口地址 # # 本地环境接口地址
VITE_API_URL = /api VITE_API_URL = /api
\ No newline at end of file # 线上环境部署
VITE_WS_URL = 121.229.107.155:19021
# 本地环境部署
# VITE_WS_URL = 127.0.0.1:19021
...@@ -23,3 +23,7 @@ ...@@ -23,3 +23,7 @@
# VITE_API_URL = http://172.16.13.11:32088 # VITE_API_URL = http://172.16.13.11:32088
# VITE_API_URL = /prod-api # VITE_API_URL = /prod-api
VITE_API_URL = /api VITE_API_URL = /api
# 线上环境部署
VITE_WS_URL = 121.229.107.155:19021
# 本地环境部署
# VITE_WS_URL = 127.0.0.1:19021
\ No newline at end of file
...@@ -295,7 +295,7 @@ function initChart() { ...@@ -295,7 +295,7 @@ function initChart() {
fontSize: 12, fontSize: 12,
fontWeight: 'bold', fontWeight: 'bold',
color: '#fff', color: '#fff',
padding: [0, 40, 0, 0] // padding: [0, 40, 0, 0]
}, },
splitLine: { splitLine: {
show: true, show: true,
...@@ -377,6 +377,14 @@ function initChart() { ...@@ -377,6 +377,14 @@ function initChart() {
resizeChart(); resizeChart();
window.addEventListener('resize', resizeChart); window.addEventListener('resize', resizeChart);
} }
//将时间戳转换成时分秒
function timestampToHMS(timestamp) {
const date = new Date(timestamp); // 如果传入的是秒,需要乘以1000转换为毫秒
const hours = date.getHours().toString().padStart(2, '0');
const minutes = date.getMinutes().toString().padStart(2, '0');
const seconds = date.getSeconds().toString().padStart(2, '0');
return `${hours}:${minutes}:${seconds}`;
}
function hexToRgba(hex, alpha) { function hexToRgba(hex, alpha) {
const r = parseInt(hex.slice(1, 3), 16); const r = parseInt(hex.slice(1, 3), 16);
const g = parseInt(hex.slice(3, 5), 16); const g = parseInt(hex.slice(3, 5), 16);
......
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
<label class="selector-label">时间窗口</label> <label class="selector-label">时间窗口</label>
<div class="custom-select"> <div class="custom-select">
<!-- 地面粒度 --> <!-- 地面粒度 -->
<el-select v-model="timeValue" placeholder="" style="width: 100%;"> <el-select v-model="timeValue" placeholder="" size="small" style="width: 100%;">
<el-option v-for="item in timeList" :key="item.value" :label="item.label" :value="item.value" <el-option v-for="item in timeList" :key="item.value" :label="item.label" :value="item.value"
@click="dateClick()" /> @click="dateClick()" />
</el-select> </el-select>
...@@ -44,11 +44,19 @@ ...@@ -44,11 +44,19 @@
</div> </div>
</div> </div>
<div class="selector-item" v-if="historyS"> <div class="selector-item" v-if="historyS">
<label class="selector-label">时间段</label> <label class="selector-label">开始时间</label>
<div class="custom-select"> <div class="custom-select">
<el-date-picker class="dateclass" v-model="dateValue" type="daterange" range-separator="~" <el-date-picker class="dateclass" fallback-placements="bottom" v-model="dateValue1" type="date"
start-placeholder="开始时间" end-placeholder="结束时间" @change="dateClick" format="YYYY-MM-DD" placeholder="开始时间" @change="dateClick('start', dateValue1)" format="YYYY-MM-DD" value-format="YYYY-MM-DD"
value-format="YYYY-MM-DD" /> size="small" />
</div>
</div>
<div class="selector-item" v-if="historyS">
<label class="selector-label">结束时间</label>
<div class="custom-select">
<el-date-picker class="dateclass" fallback-placements="bottom" v-model="dateValue2" type="date"
placeholder="结束时间" :disabled="!dateValue1" @change="dateClick('end', dateValue2)" format="YYYY-MM-DD"
value-format="YYYY-MM-DD" size="small" />
</div> </div>
</div> </div>
</div> </div>
...@@ -127,7 +135,9 @@ ...@@ -127,7 +135,9 @@
import { onBeforeUnmount } from 'vue'; import { onBeforeUnmount } from 'vue';
import cdfCurve from './cdfCurve.vue' import cdfCurve from './cdfCurve.vue'
const colorList = ["#6ffcba", "#5470c6"]//同一个图标中不同曲线的颜色设置 const colorList = ["#6ffcba", "#5470c6"]//同一个图标中不同曲线的颜色设置
import { ElLoading, ElMessage } from 'element-plus'
const dateValue1 = ref('')//开始时间
const dateValue2 = ref('')//结束时间
const props = defineProps({ const props = defineProps({
title: { title: {
type: String, type: String,
...@@ -189,14 +199,24 @@ const timeList = ref([ ...@@ -189,14 +199,24 @@ const timeList = ref([
]) ])
const emit = defineEmits(); const emit = defineEmits();
const timeValue = ref('1') const timeValue = ref('1')
// 判断时间大小
function isTimeDudge(startTime, endTime) {
const start = new Date(startTime).getTime();
const end = new Date(endTime).getTime();
return end > start || end == start;
}
//点击时隐弹框调取接口 //点击时隐弹框调取接口
const dateClick = (e) => { const dateClick = (type, value) => {
var startTime, endTime var startTime, endTime
if (e && e != undefined) { if (type == 'end') {
dateValue.value = [] if (!isTimeDudge(dateValue1.value, value)) {//判断结束时间是否大于或者等于开始时间
startTime = e[0] dateValue2.value = ""
endTime = e[1] return ElMessage.warning('结束时间不能小于开始时间!')
} else { }
}
if (!type) {
const now = new Date(); const now = new Date();
const year = now.getFullYear(); // 年份,如 2026 const year = now.getFullYear(); // 年份,如 2026
const month = now.getMonth() + 1; // 月份,需要 +1,结果范围 1~12 const month = now.getMonth() + 1; // 月份,需要 +1,结果范围 1~12
...@@ -210,6 +230,12 @@ const dateClick = (e) => { ...@@ -210,6 +230,12 @@ const dateClick = (e) => {
} else if (timeValue.value == 3) {//近一个月 } else if (timeValue.value == 3) {//近一个月
startTime = getPreviousMonthDate() startTime = getPreviousMonthDate()
} }
} else {
startTime = dateValue1.value
endTime = dateValue2.value
if (!dateValue2.value) {
return
}
} }
emit("changeTime", [startTime, endTime]); emit("changeTime", [startTime, endTime]);
setdia.value = false setdia.value = false
...@@ -553,6 +579,9 @@ const componentProps = ref({}); ...@@ -553,6 +579,9 @@ const componentProps = ref({});
z-index: 2; z-index: 2;
border-radius: 8px; border-radius: 8px;
padding: 10px; padding: 10px;
display: flex;
flex-direction: column;
row-gap: 5px;
} }
.selector-label { .selector-label {
...@@ -582,6 +611,6 @@ const componentProps = ref({}); ...@@ -582,6 +611,6 @@ const componentProps = ref({});
} }
:deep(.dateclass) { :deep(.dateclass) {
width: 250px !important; width: 180px !important;
} }
</style> </style>
\ No newline at end of file
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
<label class="selector-label">时间窗口</label> <label class="selector-label">时间窗口</label>
<div class="custom-select"> <div class="custom-select">
<!-- 地面粒度 --> <!-- 地面粒度 -->
<el-select v-model="timeValue" placeholder="" style="width: 100%;"> <el-select v-model="timeValue" placeholder="" style="width: 100%;" size="small">
<el-option v-for="item in timeList" :key="item.value" :label="item.label" :value="item.value" <el-option v-for="item in timeList" :key="item.value" :label="item.label" :value="item.value"
@click="dateClick()" /> @click="dateClick()" />
</el-select> </el-select>
...@@ -52,11 +52,19 @@ ...@@ -52,11 +52,19 @@
</div> </div>
</div> </div>
<div class="selector-item" v-if="historyS"> <div class="selector-item" v-if="historyS">
<label class="selector-label">时间段</label> <label class="selector-label">开始时间</label>
<div class="custom-select"> <div class="custom-select">
<el-date-picker class="dateclass" v-model="dateValue" type="daterange" range-separator="~" <el-date-picker class="dateclass" fallback-placements="bottom" v-model="dateValue1" type="date"
start-placeholder="开始时间" end-placeholder="结束时间" @change="dateClick" format="YYYY-MM-DD" placeholder="开始时间" @change="dateClick('start', dateValue1)" format="YYYY-MM-DD" value-format="YYYY-MM-DD"
value-format="YYYY-MM-DD" /> size="small" />
</div>
</div>
<div class="selector-item" v-if="historyS">
<label class="selector-label">结束时间</label>
<div class="custom-select">
<el-date-picker class="dateclass" fallback-placements="bottom" v-model="dateValue2" type="date"
placeholder="结束时间" :disabled="!dateValue1" @change="dateClick('end', dateValue2)" format="YYYY-MM-DD"
value-format="YYYY-MM-DD" size="small" />
</div> </div>
</div> </div>
</div> </div>
...@@ -118,6 +126,9 @@ ...@@ -118,6 +126,9 @@
<script setup> <script setup>
import { ref } from 'vue'; import { ref } from 'vue';
import hotMap from './hotMap.vue' import hotMap from './hotMap.vue'
import { ElLoading, ElMessage } from 'element-plus'
const dateValue1 = ref('')//开始时间
const dateValue2 = ref('')//结束时间
const props = defineProps({ const props = defineProps({
slogan: { slogan: {
type: String, type: String,
...@@ -145,7 +156,6 @@ const selectedValue = ref(0)//热力图下拉框 ...@@ -145,7 +156,6 @@ const selectedValue = ref(0)//热力图下拉框
// console.log(props, '热力图数据') // console.log(props, '热力图数据')
const historyS = ref(false)//是否查询历史模式 const historyS = ref(false)//是否查询历史模式
const dateValue = ref([])//时间段 const dateValue = ref([])//时间段
const setdia = ref(false)//弹框是否展开 const setdia = ref(false)//弹框是否展开
...@@ -171,14 +181,24 @@ const timeList = ref([ ...@@ -171,14 +181,24 @@ const timeList = ref([
]) ])
const emit = defineEmits(); const emit = defineEmits();
const timeValue = ref('1') const timeValue = ref('1')
// 判断时间大小
function isTimeDudge(startTime, endTime) {
const start = new Date(startTime).getTime();
const end = new Date(endTime).getTime();
return end > start || end == start;
}
//点击时隐弹框调取接口 //点击时隐弹框调取接口
const dateClick = (e) => { const dateClick = (type, value) => {
var startTime, endTime var startTime, endTime
if (e && e != undefined) { if (type == 'end') {
dateValue.value = [] if (!isTimeDudge(dateValue1.value, value)) {//判断结束时间是否大于或者等于开始时间
startTime = e[0] dateValue2.value = ""
endTime = e[1] return ElMessage.warning('结束时间不能小于开始时间!')
} else { }
}
if (!type) {
const now = new Date(); const now = new Date();
const year = now.getFullYear(); // 年份,如 2026 const year = now.getFullYear(); // 年份,如 2026
const month = now.getMonth() + 1; // 月份,需要 +1,结果范围 1~12 const month = now.getMonth() + 1; // 月份,需要 +1,结果范围 1~12
...@@ -192,6 +212,12 @@ const dateClick = (e) => { ...@@ -192,6 +212,12 @@ const dateClick = (e) => {
} else if (timeValue.value == 3) {//近一个月 } else if (timeValue.value == 3) {//近一个月
startTime = getPreviousMonthDate() startTime = getPreviousMonthDate()
} }
} else {
startTime = dateValue1.value
endTime = dateValue2.value
if (!dateValue2.value) {
return
}
} }
emit("changeTime", [startTime, endTime]); emit("changeTime", [startTime, endTime]);
setdia.value = false setdia.value = false
...@@ -556,6 +582,9 @@ const closeDialogFn = () => { ...@@ -556,6 +582,9 @@ const closeDialogFn = () => {
z-index: 2; z-index: 2;
border-radius: 8px; border-radius: 8px;
padding: 10px; padding: 10px;
display: flex;
flex-direction: column;
row-gap: 5px;
} }
.selector-label { .selector-label {
...@@ -585,6 +614,6 @@ const closeDialogFn = () => { ...@@ -585,6 +614,6 @@ const closeDialogFn = () => {
} }
:deep(.dateclass) { :deep(.dateclass) {
width: 250px !important; width: 180px !important;
} }
</style> </style>
\ No newline at end of file
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
<label class="selector-label">时间窗口</label> <label class="selector-label">时间窗口</label>
<div class="custom-select"> <div class="custom-select">
<!-- 地面粒度 --> <!-- 地面粒度 -->
<el-select v-model="timeValue" placeholder="" style="width: 100%;"> <el-select v-model="timeValue" placeholder="" size="small" style="width: 100%;">
<el-option v-for="item in timeList" :key="item.value" :label="item.label" :value="item.value" <el-option v-for="item in timeList" :key="item.value" :label="item.label" :value="item.value"
@click="dateClick()" /> @click="dateClick()" />
</el-select> </el-select>
...@@ -44,18 +44,25 @@ ...@@ -44,18 +44,25 @@
</div> </div>
</div> </div>
<div class="selector-item" v-if="historyS"> <div class="selector-item" v-if="historyS">
<label class="selector-label">时间段</label> <label class="selector-label">开始时间</label>
<div class="custom-select"> <div class="custom-select">
<el-date-picker class="dateclass" v-model="dateValue" type="daterange" range-separator="~" <el-date-picker class="dateclass" fallback-placements="bottom" v-model="dateValue1" type="date"
start-placeholder="开始时间" end-placeholder="结束时间" @change="dateClick" format="YYYY-MM-DD" placeholder="开始时间" @change="dateClick('start', dateValue1)" format="YYYY-MM-DD" value-format="YYYY-MM-DD"
value-format="YYYY-MM-DD" /> size="small" />
</div>
</div>
<div class="selector-item" v-if="historyS">
<label class="selector-label">结束时间</label>
<div class="custom-select">
<el-date-picker class="dateclass" fallback-placements="bottom" v-model="dateValue2" type="date"
placeholder="结束时间" :disabled="!dateValue1" @change="dateClick('end', dateValue2)" format="YYYY-MM-DD"
value-format="YYYY-MM-DD" size="small" />
</div> </div>
</div> </div>
</div> </div>
<!-- 核心数据指标 判断一个图表中是否有多个曲线--> <!-- 核心数据指标 判断一个图表中是否有多个曲线-->
<div class="container" v-if="!props.lineArray"> <div class="container" v-if="!props.lineArray">
<div class="flex-box flex-left"> <div class="flex-box flex-left">
<instantCurve :idName="`instant-left-${props.allIdName}`" :data="props.data[0]" <instantCurve :idName="`instant-left-${props.allIdName}`" :data="props.data[0]"
:legendName="props.legendName[0]" :legendName="props.legendName[0]"
:yName="props.yName ? { type: props.yName?.type, value: props.yName?.value[0] ? props.yName?.value[0] : '' } : {}" :yName="props.yName ? { type: props.yName?.type, value: props.yName?.value[0] ? props.yName?.value[0] : '' } : {}"
...@@ -133,7 +140,9 @@ ...@@ -133,7 +140,9 @@
import instantCurve from './instantCurve.vue' import instantCurve from './instantCurve.vue'
import bigdialog from '../../../header/component/bigdialog.vue' import bigdialog from '../../../header/component/bigdialog.vue'
import { ElLoading, ElMessage } from 'element-plus'
const dateValue1 = ref('')//开始时间
const dateValue2 = ref('')//结束时间
const instantCurveRight = ref('instantCurve_chart-right'); const instantCurveRight = ref('instantCurve_chart-right');
const instantCurveLeft = ref('instantCurve_chart-left'); const instantCurveLeft = ref('instantCurve_chart-left');
const props = defineProps({ const props = defineProps({
...@@ -202,14 +211,24 @@ const timeList = ref([ ...@@ -202,14 +211,24 @@ const timeList = ref([
]) ])
const emit = defineEmits(); const emit = defineEmits();
const timeValue = ref('1') const timeValue = ref('1')
// 判断时间大小
function isTimeDudge(startTime, endTime) {
const start = new Date(startTime).getTime();
const end = new Date(endTime).getTime();
return end > start || end == start;
}
//点击时隐弹框调取接口 //点击时隐弹框调取接口
const dateClick = (e) => { const dateClick = (type, value) => {
var startTime, endTime var startTime, endTime
if (e && e != undefined) { if (type == 'end') {
dateValue.value = [] if (!isTimeDudge(dateValue1.value, value)) {//判断结束时间是否大于或者等于开始时间
startTime = e[0] dateValue2.value = ""
endTime = e[1] return ElMessage.warning('结束时间不能小于开始时间!')
} else { }
}
if (!type) {
const now = new Date(); const now = new Date();
const year = now.getFullYear(); // 年份,如 2026 const year = now.getFullYear(); // 年份,如 2026
const month = now.getMonth() + 1; // 月份,需要 +1,结果范围 1~12 const month = now.getMonth() + 1; // 月份,需要 +1,结果范围 1~12
...@@ -223,6 +242,12 @@ const dateClick = (e) => { ...@@ -223,6 +242,12 @@ const dateClick = (e) => {
} else if (timeValue.value == 3) {//近一个月 } else if (timeValue.value == 3) {//近一个月
startTime = getPreviousMonthDate() startTime = getPreviousMonthDate()
} }
} else {
startTime = dateValue1.value
endTime = dateValue2.value
if (!dateValue2.value) {
return
}
} }
emit("changeTime", [startTime, endTime]); emit("changeTime", [startTime, endTime]);
setdia.value = false setdia.value = false
...@@ -567,6 +592,9 @@ const componentProps = ref({}) ...@@ -567,6 +592,9 @@ const componentProps = ref({})
z-index: 2; z-index: 2;
border-radius: 8px; border-radius: 8px;
padding: 10px; padding: 10px;
display: flex;
flex-direction: column;
row-gap: 5px;
} }
.selector-label { .selector-label {
...@@ -596,6 +624,6 @@ const componentProps = ref({}) ...@@ -596,6 +624,6 @@ const componentProps = ref({})
} }
:deep(.dateclass) { :deep(.dateclass) {
width: 250px !important; width: 180px !important;
} }
</style> </style>
\ No newline at end of file
...@@ -371,7 +371,7 @@ function initChart() { ...@@ -371,7 +371,7 @@ function initChart() {
fontSize: 12, fontSize: 12,
fontWeight: 'bold', fontWeight: 'bold',
color: '#fff', color: '#fff',
padding: [0, 40, 0, 0] // padding: [0, 40, 0, 0]
}, },
// max: 120, // max: 120,
minInterval: 1, minInterval: 1,
...@@ -438,7 +438,7 @@ function initChart() { ...@@ -438,7 +438,7 @@ function initChart() {
fontSize: 12 fontSize: 12
}, },
formatter: function (params) { formatter: function (params) {
let res = params[0].axisValue + '<br>'; let res = timestampToHMS(params[0].axisValue) + '<br>';
res += `${params[0].marker} ${params[0].seriesName}: ${params[0].value[1]} ${props.lineArray ? props.yName?.value[params[0].seriesIndex] : props.yName?.value}`; res += `${params[0].marker} ${params[0].seriesName}: ${params[0].value[1]} ${props.lineArray ? props.yName?.value[params[0].seriesIndex] : props.yName?.value}`;
return res; return res;
}, },
......
...@@ -78,15 +78,20 @@ ...@@ -78,15 +78,20 @@
<!-- 开始滑块 --> <!-- 开始滑块 -->
<div class="slider-handle start-handle" :style="{ left: startHandlePosition }"> <div class="slider-handle start-handle" :style="{ left: startHandlePosition }">
<div class="handle-rail"></div> <div class="handle-rail"></div>
<div class="handle-tooltip">{{ formatDateTime(selectedStartTime) }}</div> <div class="handle-tooltip">
<div>{{ formatDateTime(selectedStartTime)?.split(' ')[1] }}</div>
<div>{{ formatDateTime(selectedStartTime)?.split(' ')[0] }}</div>
</div>
</div> </div>
<!-- 结束滑块 --> <!-- 结束滑块 -->
<div class="slider-handle end-handle" :style="{ left: endHandlePosition }" <div class="slider-handle end-handle" :style="{ left: endHandlePosition }"
@mousedown="startDrag('end', $event)"> @mousedown="startDrag('end', $event)">
<div class="handle-rail"> <div class="handle-rail">
<div class="handle-tooltip" :class="{ 'handle-tooltip_auto': !is_flag_isRealtime }">{{ <div class="handle-tooltip" :class="{ 'handle-tooltip_auto': !is_flag_isRealtime }">
formatDateTime(selectedEndTime) }}</div> <div>{{ formatDateTime(selectedEndTime)?.split(' ')[1] }}</div>
<div>{{ formatDateTime(selectedEndTime)?.split(' ')[0] }}</div>
</div>
</div> </div>
</div> </div>
</div> </div>
...@@ -1351,11 +1356,13 @@ const resetclick = () => { ...@@ -1351,11 +1356,13 @@ const resetclick = () => {
// 向 UE5 发送实时模式消息(页面初始加载时的参数格式) // 向 UE5 发送实时模式消息(页面初始加载时的参数格式)
if (window.ue5) { if (window.ue5) {
// 给ue发送消息让ue切换模式
window.ue5("callBackTimeFn", String(JSON.stringify({ window.ue5("callBackTimeFn", String(JSON.stringify({
isRealtime: true, isRealtime: true,
taskCode: String(taskCode_everyChange.value) === "" ? useAppStoreInstance.globalRecordMainSysTaskCode || (useAppStoreInstance.globalSubsystemTaskCode) : String(taskCode_everyChange.value), taskCode: String(taskCode_everyChange.value) === "" ? useAppStoreInstance.globalRecordMainSysTaskCode || (useAppStoreInstance.globalSubsystemTaskCode) : String(taskCode_everyChange.value),
speed: playbackSpeed.value, speed: playbackSpeed.value,
}))); })));
//给ue发送消息让ue移除卫星
window.ue5("RemoveSat", String(JSON.stringify({ window.ue5("RemoveSat", String(JSON.stringify({
Sat: true, Sat: true,
}))) })))
...@@ -1489,8 +1496,8 @@ const realTimeData = () => { ...@@ -1489,8 +1496,8 @@ const realTimeData = () => {
taskCode: String(taskCode_everyChange.value) === "" ? useAppStoreInstance.globalRecordMainSysTaskCode || (useAppStoreInstance.globalSubsystemTaskCode) : String(taskCode_everyChange.value), taskCode: String(taskCode_everyChange.value) === "" ? useAppStoreInstance.globalRecordMainSysTaskCode || (useAppStoreInstance.globalSubsystemTaskCode) : String(taskCode_everyChange.value),
currentTime: dayjs(selectedEndTime.value).format('YYYY-MM-DD HH:mm'), currentTime: dayjs(selectedEndTime.value).format('YYYY-MM-DD HH:mm'),
status: "continue", // status: "continue",
// status: isPlaying.value ? "continue" : "stop", status: isPlaying.value ? "continue" : "stop",
//时间参数 //时间参数
}))) })))
...@@ -1541,18 +1548,18 @@ watch( ...@@ -1541,18 +1548,18 @@ watch(
// console.log(formatDateTime(selectedEndTime.value), preTimeWindowEnd.value, '时间对比'); // console.log(formatDateTime(selectedEndTime.value), preTimeWindowEnd.value, '时间对比');
//对比时间----判断是否需要停止,拖动后后端连续返回三条数据,第一条是提示,第二第三条是ue用来定位和平滑的数据,这是后不应该停止时间,到56秒后应该接收到下一条数据时 //对比时间----判断是否需要停止,拖动后后端连续返回三条数据,第一条是提示,第二第三条是ue用来定位和平滑的数据,这是后不应该停止时间,到56秒后应该接收到下一条数据时
// if (compareTime(formatDateTime(selectedEndTime.value), preTimeWindowEnd.value)) { if (compareTime(formatDateTime(selectedEndTime.value), preTimeWindowEnd.value)) {
// if (isPlaying.value) { if (isPlaying.value) {
// console.log('歘告诉过'); console.log('歘告诉过');
// stopAutoPlay(); stopAutoPlay();
// // hasPlayed.value = false; // hasPlayed.value = false;
// isChange_flag_firstBackDate.value = false; isChange_flag_firstBackDate.value = false;
// } }
// // clearInterval(intervalTimer.value); // clearInterval(intervalTimer.value);
// // intervalTimer.value = null; // intervalTimer.value = null;
// } }
} }
}, },
...@@ -1845,7 +1852,10 @@ onUnmounted(() => { ...@@ -1845,7 +1852,10 @@ onUnmounted(() => {
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
border: 1px solid rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.1);
pointer-events: none; pointer-events: none;
z-index: 10; z-index: 10000;
display: flex;
flex-direction: column;
align-items: center;
} }
/* 当鼠标悬停在.handle-rail上时显示.tooltip */ /* 当鼠标悬停在.handle-rail上时显示.tooltip */
......
...@@ -9,9 +9,9 @@ ...@@ -9,9 +9,9 @@
</i> </i>
<span class="logo_header_content">通信曲线</span> <span class="logo_header_content">通信曲线</span>
</div> </div>
<div class="logo_header_right"> <!-- <div class="logo_header_right">
<span class="logo_header_right_content">[区域一特事故]</span> <span class="logo_header_right_content">[区域一特事故]</span>
</div> </div> -->
</div> </div>
<div class="logo logo_right"> <div class="logo logo_right">
......
...@@ -133,8 +133,8 @@ ...@@ -133,8 +133,8 @@
</template> </template>
</el-input> </el-input>
</div> </div>
<!-- <div class="tableclass"> -->
<el-table :data="satelliteData" size="small" :height="pxScale(170)" class="custom-table"> <el-table :data="satelliteData" size="small" class="custom-table">
<el-table-column prop="" label="" :width="pxScale(30)"> <el-table-column prop="" label="" :width="pxScale(30)">
<template #default=""> <template #default="">
<img src='@/assets/images/lefts/satellite.png' alt="" class="satellite-icon"> <img src='@/assets/images/lefts/satellite.png' alt="" class="satellite-icon">
...@@ -169,6 +169,7 @@ ...@@ -169,6 +169,7 @@
</el-table> </el-table>
<!-- </div> -->
</div> </div>
</div> </div>
...@@ -220,8 +221,8 @@ ...@@ -220,8 +221,8 @@
</el-input> </el-input>
</div> </div>
<!-- <div class="tableclass"> -->
<el-table :data="activeTab === 'equipment' ? equipmentData : faultData" size="small" :height="pxScale(160)" <el-table :data="activeTab === 'equipment' ? equipmentData : faultData" size="small"
@row-click="tableHandleRowClickFn" :fit="false" class="custom-table custom-table-foot "> @row-click="tableHandleRowClickFn" :fit="false" class="custom-table custom-table-foot ">
<el-table-column prop="" label="" :width="pxScale(30)"> <el-table-column prop="" label="" :width="pxScale(30)">
<template #default=""> <template #default="">
...@@ -258,7 +259,7 @@ ...@@ -258,7 +259,7 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- </div> -->
</div> </div>
</div> </div>
</div> </div>
...@@ -1140,6 +1141,7 @@ onUnmounted(() => { ...@@ -1140,6 +1141,7 @@ onUnmounted(() => {
/* border: 1px solid rgba(59, 130, 246, 0.3); */ /* border: 1px solid rgba(59, 130, 246, 0.3); */
border-radius: 8px; border-radius: 8px;
padding-top: 10px; padding-top: 10px;
flex: 1;
/* height: 200px; */ /* height: 200px; */
/* margin: 10px 0; */ /* margin: 10px 0; */
} }
...@@ -1500,6 +1502,9 @@ onUnmounted(() => { ...@@ -1500,6 +1502,9 @@ onUnmounted(() => {
width: 100%; width: 100%;
margin-top: 5px; margin-top: 5px;
overflow: hidden; overflow: hidden;
flex: 1;
display: flex;
flex-direction: column;
} }
.equipment-table-container { .equipment-table-container {
...@@ -1570,13 +1575,24 @@ onUnmounted(() => { ...@@ -1570,13 +1575,24 @@ onUnmounted(() => {
color: #94a3b8; color: #94a3b8;
} }
.tableclass {
width: 100%;
flex: 1;
min-height: 160px;
overflow-y: auto;
/* background-color: red; */
}
.custom-table { .custom-table {
background: #000000; background: #000000;
border: 1px solid rgba(59, 130, 246, 0.3); border: 1px solid rgba(59, 130, 246, 0.3);
border-radius: 6px; border-radius: 6px;
max-height: 170px; max-height: 170px;
overflow-y: auto;
margin-right: 20px; margin-right: 20px;
min-height: 160px;
/* height: 100% !important; */
/* overflow-y: auto; */
/* flex-shrink: 1; */
/* font-size: 15px !important; */ /* font-size: 15px !important; */
} }
...@@ -1929,9 +1945,12 @@ onUnmounted(() => { ...@@ -1929,9 +1945,12 @@ onUnmounted(() => {
.satellite-section, .satellite-section,
.ground-system-section { .ground-system-section {
flex: 1; flex: 1;
display: flex;
flex-direction: column;
} }
:deep(.carouselClass) { :deep(.carouselClass) {
height: 100%;
min-height: 120px; min-height: 120px;
} }
......
...@@ -47,7 +47,7 @@ const yName1 = ref({ ...@@ -47,7 +47,7 @@ const yName1 = ref({
}) })
const yName2 = ref({ const yName2 = ref({
type: false, type: false,
value: ['s', 'dB'] value: ['s', 's']
}) })
const yName3 = ref({ const yName3 = ref({
type: true, type: true,
......
...@@ -51,8 +51,8 @@ ...@@ -51,8 +51,8 @@
import useAppStore from '@/store/module/app.js'; import useAppStore from '@/store/module/app.js';
const apiUrl = `ws://121.229.107.155:19021/TestTimeSend`; //线上 // const apiUrl = `ws://${import.meta.env.VITE_WS_URL}/TestTimeSend`; //线上
// const apiUrl = `ws://127.0.0.1:19021/TestTimeSend`; //本地 const apiUrl = `ws://${import.meta.env.VITE_WS_URL}/TestTimeSend`; //本地
let wss = null; let wss = null;
let timer = null; let timer = null;
const appStore = useAppStore(); const appStore = useAppStore();
......
import useAppStore from '@/store/module/app.js'; import useAppStore from '@/store/module/app.js';
const apiUrl = `ws://121.229.107.155:19021/time`; //线上 // const apiUrl = `ws://${import.meta.env.VITE_WS_URL}/time`; //线上
// const apiUrl = `ws://127.0.0.1:19021/time`; //本地 const apiUrl = `ws://${import.meta.env.VITE_WS_URL}/time`; //本地
let Timewss = null; let Timewss = null;
let timer = null; let timer = null;
const appStore = useAppStore(); const appStore = useAppStore();
......
...@@ -9,8 +9,8 @@ ...@@ -9,8 +9,8 @@
import ueHeartbeatInterval from '@/store/module/app.js' import ueHeartbeatInterval from '@/store/module/app.js'
import useAppStore from '@/store/module/app.js' import useAppStore from '@/store/module/app.js'
const useAppStoreInstance = useAppStore() const useAppStoreInstance = useAppStore()
const apiUrl = `ws://121.229.107.155:19021/systemData` // const apiUrl = `ws://121.229.107.155:19021/systemData`
// const apiUrl = `ws://127.0.0.1:19021/systemData`//本地地址 const apiUrl = `ws://${import.meta.env.VITE_WS_URL}/systemData`//本地地址
const SubWss = new WebSocket(apiUrl); const SubWss = new WebSocket(apiUrl);
useAppStoreInstance.setSubsystemSocket(SubWss) useAppStoreInstance.setSubsystemSocket(SubWss)
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论