提交 aac77606 authored 作者: zhuyongshuai's avatar zhuyongshuai

2026-3-6

上级 8d5eb8b2
差异被折叠。
......@@ -24,7 +24,7 @@
"dependencies": {
"ant-design-vue": "^4.2.6",
"axios": "0.28.1",
"dayjs": "^1.11.13",
"dayjs": "^1.11.19",
"echarts": "5.5.1",
"element-plus": "^2.9.6",
"express": "^5.1.0",
......
......@@ -22,7 +22,7 @@ function getStaticPath() {
try {
const testPath = path.join(staticPath, 'index.html');
if (fs.existsSync(testPath)) {
console.log(`Found static files at: ${staticPath}`);
//console.log(`Found static files at: ${staticPath}`);
return staticPath;
}
} catch (error) {
......@@ -36,7 +36,7 @@ function getStaticPath() {
}
const staticPath = getStaticPath();
console.log(`Serving static files from: ${staticPath}`);
//console.log(`Serving static files from: ${staticPath}`);
// 1. CORS 中间件 - 放在最前面
app.use((req, res, next) => {
......@@ -102,20 +102,20 @@ app.get('/.well-known/appspecific/com.chrome.devtools.json', (req, res) => {
// 7. 创建HTTP和WebSocket服务
const server = http.createServer(app);
console.log("此时的WebSocket",server);
//console.log("此时的WebSocket",server);
const wss = new WebSocket.Server({ server });
wss.on('connection', (ws) => {
console.log(ws, '连接------');
//console.log(ws, '连接------');
ws.send('连接成功');
ws.on('message', (message) => {
console.log(message.toString(), ':ue发送给vue的数据');
//console.log(message.toString(), ':ue发送给vue的数据');
ws.send('vue发给ue的数据+1');
});
ws.on('close', () => {
console.log('客户端断开连接');
//console.log('客户端断开连接');
});
ws.on('error', (error) => {
console.error('WebSocket错误:', error);
......@@ -123,9 +123,9 @@ wss.on('connection', (ws) => {
});
server.listen(PORT, () => {
console.log(`大屏中转服务启动: http://localhost:${PORT}`);
console.log(`静态文件目录: ${staticPath}`);
console.log(`运行模式: ${isPacked ? '打包模式' : '开发模式'}`);
//console.log(`大屏中转服务启动: http://localhost:${PORT}`);
//console.log(`静态文件目录: ${staticPath}`);
//console.log(`运行模式: ${isPacked ? '打包模式' : '开发模式'}`);
});
......
......@@ -68,7 +68,7 @@ export function getSubSystemOpitionListApi(data) {
})
}
// console.log("propsDate-min--3333333333--------",{
// //console.log("propsDate-min--3333333333--------",{
// endTime: historyTimeDateRange.value[1],
// satelliteId: useAppStoreInstance.globalSatelliteSearchID==='0'? "4097": (useAppStoreInstance.globalSatelliteSearchID),
// startTime: historyTimeDateRange.value[0],
......
......@@ -35,10 +35,10 @@ const headerHeight = ref('40px')
const asideWidth = ref('350px')
// onBeforeUnmount(() => {
// console.log('组件即将卸载');
// //console.log('组件即将卸载');
// })
// onMounted(() => {
// console.log('组件已挂载');
// //console.log('组件已挂载');
// })
......
......@@ -2,7 +2,7 @@
* @Author: Z 1518051043@qq.com
* @Date: 2025-09-12 13:51:43
* @LastEditors: zwy 1518051043@qq.com
* @LastEditTime: 2025-12-30 11:11:21
* @LastEditTime: 2026-02-02 14:49:34
* @FilePath: \yuanxinPro\src\main.js
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
......@@ -48,6 +48,16 @@ import './permission' // 路由拦截和加载页面进度条
import directive from './directive' // 导入公共函数
import 'element-plus/dist/index.css'
const app = createApp(App)
const pinia = createPinia();
// 全局方法挂载
......
......@@ -80,19 +80,31 @@ const markLineData = ref([
let myChart = null;
const isDetialDialogVisible = ref(false);
function showViewClick() {
// console.log("时间");
// //console.log("时间");
isDetialDialogVisible.value = !isDetialDialogVisible.value;
showView.value = true;
// console.log("当前的值:",showView.value);
if (window.ue5) {
window.ue5("callBackAllDialogFn", String(JSON.stringify({
type:"CDFCurveDetailDialog",
status:"open"
})));
}
// //console.log("当前的值:",showView.value);
}
function isDetialDialogVisibleHandleClose() {
isDetialDialogVisible.value = false;
showView.value = false;
if (window.ue5) {
window.ue5("callBackAllDialogFn", String(JSON.stringify({
type:"CDFCurveDetailDialog",
status:"close"
})));
}
}
onMounted(() => {
initChart();
console.log("-------cdfCurve-------",props.idName);
//console.log("-------cdfCurve-------",props.idName);
document.getElementById(props.idName).style.height = '240px';
});
......@@ -107,9 +119,9 @@ onUnmounted(() => {
function initChart() {
const chartDom = document.getElementById(props.idName);
chartDom.style.height = '180px';
chartDom.style.width = '150px';
chartDom.style.width = '170px';
myChart = echarts.init(chartDom);
console.log("初始化图表propsDate:",chartDom,myChart);
//console.log("初始化图表propsDate:",chartDom,myChart);
const option = {
legend: {
show: true,
......@@ -191,7 +203,7 @@ function initChart() {
},
{
offset: 1,
color: 'rgba(0,0,0,0.31)'
color: 'rgba(84,112,198,0.20)'
}
],
global: false
......
......@@ -50,7 +50,7 @@
<script setup>
import { ref, onMounted, onUnmounted } from 'vue';
import * as echarts from 'echarts';
import { el } from 'element-plus/es/locales.mjs';
......@@ -126,7 +126,7 @@ function handleDateRangeChange() {
startTime: formatDate(dateRange.value[0]),
endTime: formatDate(dateRange.value[1])
}
console.log("提交:",submitData);
//console.log("提交:",submitData);
if (submitData.startTime && submitData.endTime) {
chartConfigs.value = [
{
......@@ -276,7 +276,7 @@ function initChart(chartDom, config) {
},
grid: {
top: '20%',
right: '5%',
right: '2%',
bottom: '15%',
left: '4%'
},
......
......@@ -50,9 +50,10 @@ const props = defineProps({
},
});
onBeforeUnmount(() => {
console.log("中,zhelixieza");
//console.log("中,zhelixieza");
});
const componentProps = ref({});
</script>
<style scoped>
......
......@@ -52,7 +52,7 @@ export default {
// var watchList = []
// const watch1 = watch(() => props.time, (newVal) => {
// if (selectStatus.value) {
// // console.log(objs.value[newVal], newVal);
// // //console.log(objs.value[newVal], newVal);
// selectId.value = newVal
// if (timeIntal.value) {
// timeIntal.value = false
......@@ -105,7 +105,7 @@ export default {
// // 获取字段'value'的最小值
// const minValue = mappedData.reduce((min, item) => Math.min(min, item.value), Infinity);
// console.log(mappedData, '热力图数据');
// //console.log(mappedData, '热力图数据');
// chartDom = document.getElementById(obj.id);
// myChart = echarts.init(chartDom);
// option = {
......@@ -133,7 +133,7 @@ export default {
// realtime: false,
// // splitNumber: 6,
// formatter: function (a, b) {
// console.log(a, b, '问题');
// //console.log(a, b, '问题');
// // 将数值转换为整数并格式化输出
// return `${Number(a).toFixed(2).toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",")} - ${Number(b).toFixed(2).toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",")}`
// },
......@@ -225,7 +225,7 @@ export default {
// }
// ]
// };
// console.log(option, '------------------------65--');
// //console.log(option, '------------------------65--');
// window.addEventListener("resize", function () {
// if (myChart) {
// var time = setInterval(() => {
......@@ -241,19 +241,19 @@ export default {
// if (getLanguage() == "english") {
// Object.entries(props.componentProps).forEach(([key, value]) => {
// console.log(key, value, 'key, --------------------value', ChineseEnglishGlossary.value[value]);
// //console.log(key, value, 'key, --------------------value', ChineseEnglishGlossary.value[value]);
// if (key === "columnLabel") {
// console.log(key, value, 'key, -------123-------------value');
// //console.log(key, value, 'key, -------123-------------value');
// props.componentProps[key] = ChineseEnglishGlossary.value[value]
// }
// })
// // console.log(props.componentProps, '柱状图---asdaaaa-----784654------');
// // //console.log(props.componentProps, '柱状图---asdaaaa-----784654------');
// }
// console.log(option, '------------------------65--');
// //console.log(option, '------------------------65--');
// option && myChart.setOption(option);
// }
......@@ -272,7 +272,7 @@ export default {
// }
// const propsFn = (value) => {
// if (value.visualData && value.visualData.length > 0) {
// // console.log(props.componentProps.columnName, '热力图加载了几次?');
// // //console.log(props.componentProps.columnName, '热力图加载了几次?');
// echarts.registerMap(props.componentProps.id, props.componentProps.relitu);
// // planFn(props.componentProps)
// yName.value = []
......@@ -448,6 +448,7 @@ function initChart() {
text: '链路层容量',
left: 'center',
// top: 10,
left: 10,
textStyle: {
color: '#fff',
fontSize: 10,
......
......@@ -40,8 +40,11 @@
</template>
<script setup>
import { ref } from 'vue';
import hotMap from './hotMap.vue'
import testMap from './testMap.vue'
const componentProps = ref({})
</script>
<style scoped>
......
......@@ -36,7 +36,7 @@ function initChart() {
const projection = d3.geoAlbersUsa();
myChart.hideLoading();
echarts.registerMap('USA', usaJson);
console.log("获得地图数据",usaJson);
//console.log("获得地图数据",usaJson);
const option = {
title: {
......
......@@ -48,6 +48,8 @@ const props = defineProps({
default: 'allIdName',
},
});
const componentProps = ref({})
</script>
<style scoped>
......
......@@ -82,11 +82,17 @@ const markLineData = ref([
const showView = ref(false)
const isDetialDialogVisible = ref(false)
function showViewClick() {
// console.log("时间");
// //console.log("时间");
showView.value = true;
isDetialDialogVisible.value = true;
// console.log("当前的值:",showView.value);
if (window.ue5) {
window.ue5("callBackAllDialogFn", String(JSON.stringify({
type:"InstantaneousCurveDetailsDialog",
status:"open"
})));
}
// //console.log("当前的值:",showView.value);
}
......@@ -94,7 +100,12 @@ const childrenInstantRef = ref(null)
const isDetialDialogVisibleHandleClose = () => {
isDetialDialogVisible.value = false;
showView.value = false;
if (window.ue5) {
window.ue5("callBackAllDialogFn", String(JSON.stringify({
type:"InstantaneousCurveDetailsDialog",
status:"close"
})));
}
}
let myChart = null;
......@@ -114,7 +125,7 @@ function initChart() {
const chartDom = document.getElementById(props.idName);
myChart = echarts.init(chartDom);
chartDom.style.height = '180px';
chartDom.style.width = '150px';
chartDom.style.width = '170px';
const option = {
legend: {
show: true,
......@@ -196,7 +207,7 @@ chartDom.style.width = '150px';
},
{
offset: 1,
color: 'rgba(0,0,0,0.31)'
color: 'rgba(111,252,186,0.20)'
}
],
global: false
......
......@@ -2,7 +2,7 @@
* @Author: zwy 1518051043@qq.com
* @Date: 2026-01-04 09:13:55
* @LastEditors: zwy 1518051043@qq.com
* @LastEditTime: 2026-01-15 01:21:36
* @LastEditTime: 2026-01-21 16:24:13
* @FilePath: \yuanxinPro\src\pages\all\components\loadingComponent\index.js
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
......@@ -15,7 +15,7 @@ const Loading = (function() {
text = 'Loading...',
background = 'rgba(0, 0, 0, 0.57)',
color = '#fff',
zIndex = 9999,
zIndex = 9999999,
spinnerColor = color,
spinnerSize = '40px'
} = options;
......
/*
* @Author: zwy 1518051043@qq.com
* @Date: 2026-01-04 09:13:55
* @LastEditors: zwy 1518051043@qq.com
* @LastEditTime: 2026-01-21 16:24:06
* @FilePath: \yuanxinPro\src\pages\all\components\loadingComponent\index.js
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
const SubLoading = (function() {
let loadingInstance = null;
let styleInstance = null;
function createLoading(options = {}) {
const {
text = 'Loading...',
background = 'rgba(0, 0, 0, 0.57)',
color = '#fff',
zIndex = 9999999,
spinnerColor = color,
spinnerSize = '40px'
} = options;
// 如果已经存在,直接复用(避免重复创建)
if (loadingInstance) return;
loadingInstance = document.createElement('div');
loadingInstance.className = 'custom-loading';
Object.assign(loadingInstance.style, {
position: 'fixed',
top: '0',
left: '0',
width: '100%',
height: '100%',
backgroundColor: background,
display: 'flex',
justifyContent: 'center',
alignItems: 'center',
zIndex: String(zIndex),
flexDirection: 'column'
});
const spinnerEl = document.createElement('div');
spinnerEl.className = 'custom-loading-spinner';
Object.assign(spinnerEl.style, {
border: '4px solid rgba(0, 0, 0, 0.3)',
borderRadius: '50%',
borderTop: `4px solid ${spinnerColor}`,
width: spinnerSize,
height: spinnerSize,
animation: 'spin 1s linear infinite'
});
const textEl = document.createElement('p');
textEl.className = 'custom-loading-text';
textEl.textContent = text;
Object.assign(textEl.style, {
color: color,
marginTop: '20px',
fontFamily: 'Arial, sans-serif'
});
styleInstance = document.createElement('style');
styleInstance.textContent = `
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
`;
loadingInstance.appendChild(spinnerEl);
loadingInstance.appendChild(textEl);
document.head.appendChild(styleInstance);
document.body.appendChild(loadingInstance);
}
function destroyLoading() {
if (loadingInstance) {
document.body.removeChild(loadingInstance);
document.head.removeChild(styleInstance);
loadingInstance = null;
styleInstance = null;
}
}
return {
show: createLoading,
hide: destroyLoading
};
})();
export default SubLoading;
\ No newline at end of file
......@@ -98,7 +98,7 @@ const controls = ref([
])
const handleControlChange = (item, value) => {
console.log(`${item.label} 状态变为: ${value ? '开启' : '关闭'}`)
//console.log(`${item.label} 状态变为: ${value ? '开启' : '关闭'}`)
item.enabled = value
}
......@@ -115,7 +115,7 @@ const searchSatelliteRef = ref(null)
const handleSwitchChange = (item) => {
console.log("初始化调用11111",item.enabled,item);
//console.log("初始化调用11111",item.enabled,item);
switch (item.label) {
case '时间轴':
......@@ -179,7 +179,7 @@ watch(useAppStoreInstance, () => {
document.getElementById('footer-content-up').style.bottom = '300px'
}
if (useAppStoreInstance.isdataPanelShow) {
// console.log(window.innerWidth);
// //console.log(window.innerWidth);
document.getElementById('footer-content-up').style.bottom = '0px'
document.getElementById('all_footer').style.width = `calc(100% - ${asideWidth.value} - ${asideWidth.value})`
// document.getElementById('all_footer').style.bottom = '10px'
......@@ -197,8 +197,9 @@ watch(useAppStoreInstance, () => {
// document.getElementById('all_footer').style.bottom = '10px'
// if (!useAppStoreInstance.islegendShow) {document.getElementById('all_footer').style.bottom = '20px'}
// document.getElementById('search_panel').style.left = '30px'
if (document.getElementById('control_panel1')) {
document.getElementById('control_panel1').style.right = '-30px'
}
}
......@@ -209,7 +210,7 @@ watch(useAppStoreInstance, () => {
const checkScreenSize = () => {
const width = window.innerWidth;
const height = window.innerHeight;
console.log("当前设备的尺寸:",width,height);
//console.log("当前设备的尺寸:",width,height);
isMobile.value = width <= 940;
useAppStoreInstance.setisdataPanelShow(!isMobile.value);
controls.value.forEach(item => {
......@@ -224,12 +225,12 @@ const checkScreenSize = () => {
const currSeriveSize = () => {
const width = window.innerWidth;
const height = window.innerHeight;
console.log("当前设备的尺寸:",width,height);
//console.log("当前设备的尺寸:",width,height);
}
onActivated(() => {
// console.log("111111111111114onActivated",useAppStoreInstance.islegendShow,useAppStoreInstance.isTimeLineShow);
// //console.log("111111111111114onActivated",useAppStoreInstance.islegendShow,useAppStoreInstance.isTimeLineShow);
controls.value = [
{ label: '卫星轨道', enabled: useAppStoreInstance.issatelliteOrbitShow, disabled: false },
{ label: '卫星波束', enabled: useAppStoreInstance.issatelliteBeamShow, disabled: false },
......@@ -243,7 +244,7 @@ onMounted(() => {
checkScreenSize();
handleSwitchChange({disabled: false,enabled: useAppStoreInstance.islegendShow,label: "图例"})
window.addEventListener('resize', checkScreenSize);
// console.log("111111111111114ononMounted",useAppStoreInstance.islegendShow,useAppStoreInstance.isTimeLineShow);
// //console.log("111111111111114ononMounted",useAppStoreInstance.islegendShow,useAppStoreInstance.isTimeLineShow);
controls.value = [
{ label: '卫星轨道', enabled: useAppStoreInstance.issatelliteOrbitShow, disabled: false },
{ label: '卫星波束', enabled: useAppStoreInstance.issatelliteBeamShow, disabled: false },
......
<template>
<div class="satellite-status-container">
<div class="satellite-status-container" :class="{'active':!useAppStoreInstance.isdataPanelShow}">
<!-- 左侧图例标题(始终居中) -->
<div class="legend-title">
......@@ -29,7 +29,8 @@
<script setup>
import { ref } from 'vue';
import useAppStore from '@/store/module/app'
const useAppStoreInstance = useAppStore()
const legendstatusMap = ref({
normal: '正常',
abnormal: '异常',
......@@ -74,7 +75,7 @@ const legendSource = ref([
min-width: 800px;
color: #ffffff;
/* font-family: 'Consolas', monospace; */
box-shadow: 0 2px 10px rgba(0, 0, 0, 1);
/* box-shadow: 0 2px 10px rgba(0, 0, 0, 1); */
}
/* 图例标题(始终居中) */
......
......@@ -187,7 +187,8 @@ const objectSelector = [
display: flex;
flex-direction: column;
height: 100%;
width: 100%;
width: 100px;
/* padding: 10px 10px; */
/* background-color: #2b70df; */
}
......@@ -202,7 +203,7 @@ const objectSelector = [
.templateCase_right_content_body {
height: 92%;
width: 120%;
width: 100%;
/* background-color: #73df2b; */
}
......
......@@ -120,8 +120,14 @@
</div>
</div>
<div class="templateCase_left_content">
<div class="templateCase_left_content_item" v-for="(item, index) in templateCaseList" :key="index">
{{item}}
<div
class="templateCase_left_content_item"
v-for="(item, index) in templateCaseList"
:key="index"
@click="templateCaseClickFn(index)"
:class="{ 'CaseClickActive': activeTemplateIndex === index }"
>
{{ item }}
</div>
</div>
</div>
......@@ -222,10 +228,10 @@ const templateCaseList = ref(['模板1', '模板2', '模板3', '模板4', '模
const selectedValues = ref([]);
const dropdownVisible = ref([false, false, false]);
const templateCasedeleteHandFn = () => {
console.log('templateCasedeleteHandFn');
//console.log('templateCasedeleteHandFn');
};
const templateCaseAddHandFn = () => {
console.log('templateCaseAddHandFn');
//console.log('templateCaseAddHandFn');
};
// 初始化选中值
onMounted(() => {
......@@ -243,7 +249,11 @@ const selectOption = (index, option) => {
selectedValues.value[index] = option;
dropdownVisible.value[index] = false; // 选择后关闭下拉菜单
};
const activeTemplateIndex = ref(0);
const templateCaseClickFn = (index) => {
//console.log('templateCaseClickFn', index);
activeTemplateIndex.value = index;
};
// 点击外部关闭下拉菜单
document.addEventListener('click', (e) => {
if (!e.target.closest('.custom-select')) {
......@@ -262,16 +272,30 @@ const indicatorStyle = computed(() => {
<style scoped>
/* 基础样式设置 */
.dashboard-container {
width: 120%;
/* width: 900px; */
background-color: #000000;
color: #ffffff;
display: flex;
flex-direction: column;
color: #080606;
/* display: flex;
flex-direction: column; */
position: fixed; /* 改为fixed定位 */
left: 10%;
top: 10%;
width: 1550px;
z-index: 1001;
overflow: hidden;
position: relative;
left: -5%;
top: -120px;
}
/* 头部样式 */
......@@ -414,15 +438,19 @@ const indicatorStyle = computed(() => {
border-radius: 8px;
padding: 5px 15px;
}
.equipment-content{
height: 600px;
}
.tab-panel {
min-height: 600px;
/* max-height: 700px; */
color: #e2e8f0;
}
.failure-content {
display: flex;
flex-direction: row;
font-size: 15px;
width: 1500px;
/* gap: 20px; 添加间距 */
/* height: 500px; */
/* background-color: rgba(1, 73, 241, 0.5); */
......@@ -432,7 +460,8 @@ const indicatorStyle = computed(() => {
.templateCase {
flex: 1;
height: 100%;
height: 700px;
/* width: 500px; */
/* background-color: rgba(241, 1, 81, 0.5); */
/* border-radius: 6px; 添加圆角 */
/* border: 1px solid rgba(255, 255, 255, 0.1); 添加边框 */
......@@ -442,8 +471,9 @@ const indicatorStyle = computed(() => {
/* 可以为左右两侧添加不同样式 */
.templateCase_left {
flex: 0.21;
flex: 0.151;
height: 100%;
/* background-color: rgba(241, 1, 81, 0.5); */
/* border-radius: 6px; */
border-right: 1px solid rgba(255, 255, 255, 0.1);
......@@ -458,7 +488,7 @@ const indicatorStyle = computed(() => {
/* border-radius: 6px; */
/* border: 1px solid rgba(255, 255, 255, 0.1); */
/* padding: 10px; */
overflow: hidden;
/* overflow: hidden; */
}
......@@ -547,6 +577,11 @@ const indicatorStyle = computed(() => {
font-size: 12px;
/* background-color: #2c78f5; */
}
.CaseClickActive{
background: linear-gradient(to right, #193d77 0, rgba(0, 0, 0, 1) 100%);
}
.templateCase_left_content_item:hover{
background: linear-gradient(to right, #2b70df 0, rgba(0, 0, 0, 1) 100%);
}
......
差异被折叠。
......@@ -175,7 +175,7 @@ import { onActivated, onMounted, ref, watch } from 'vue';
const props = defineProps(['satlTitle','errorDeviceList',"baseDeviceList"])
const emits = defineEmits(['errorDialoghandleClose'])
//console.log("展示了",props.errorDeviceList,props.baseDeviceList);
// 状态管理
const activeTab = ref('devices'); // 默认显示设备情况标签页
const devices = ref([])
......@@ -192,7 +192,7 @@ const deviceStatusMap = ref([
// 监听 errorDeviceList 的变化
watch(() => props.errorDeviceList, (newVal) => {
// console.log("0000000000000",newVal.length,typeof newVal)
// //console.log("0000000000000",newVal.length,typeof newVal)
if(newVal.length === 0){
devices.value = []
return
......@@ -213,7 +213,7 @@ watch(() => props.errorDeviceList, (newVal) => {
name: item.elementName || '未知设备',
status: item.statue === '正常' ? 'normal' : 'error',
expanded: false,
errorDetails: item.stAlarmInfoResponse || null
errorDetails: item.stAlarmInfoResponse?.locationInfo || null
}))
} else if (newVal && typeof newVal === 'object') {
// 如果是普通对象,尝试直接使用
......@@ -221,7 +221,7 @@ watch(() => props.errorDeviceList, (newVal) => {
name: newVal.elementName || '未知设备',
status: newVal.statue === '正常' ? 'normal' : 'error',
expanded: false,
errorDetails: newVal.stAlarmInfoResponse || null
errorDetails: newVal.stAlarmInfoResponse?.locationInfo || null
}]
}
}, { immediate: true })
......@@ -231,7 +231,7 @@ watch(() => props.baseDeviceList, (newVal) => {
newVal.forEach(item => {
deviceStatusMap.value.push([{
label: `天线${item.number }发射率 `,
label: `天线${item.number }发射率 `,
value: item.power || '0',
status: item.power !==0 ? 'normal' : 'error',
},
......@@ -253,7 +253,7 @@ watch(() => props.baseDeviceList, (newVal) => {
])
})
console.log("11111EIRP111111baseDeviceList",newVal,deviceStatusMap.value)
//console.log("11111EIRP111111baseDeviceList",newVal,deviceStatusMap.value)
// deviceStatusMap.value = [
// {label: '天线发射频率',value: newVal.antennaTransmitPower ,status: 1 ? 'normal' : 'error',},
// {label: '天线发射EIRP',value: newVal.antennaEip ,status: 0? 'normal' : 'error',},
......@@ -274,11 +274,7 @@ const toggleExpand = (device) => {
const closePanel = () => {
emits('errorDialoghandleClose')
};
onActivated(() => {
activeTab.value = 'devices';
console.log("展示了");
})
</script>
<style scoped>
......@@ -286,15 +282,21 @@ onActivated(() => {
.device-monitor {
width: 280px;
height: 380px;
background-color: #1e1e2d;
border-radius: 10px;
/* box-shadow: 0 10px 25px rgba(0, 0, 0, 0.4); */
color: #e0e0e0;
/* font-family: 'Consolas', monospace; */
display: flex;
flex-direction: column;
position: fixed; /* 改为fixed定位 */
bottom: 0.5vh;
left: 400px;
background: #1a1a1a;
border-radius: 4px;
z-index: 1001;
overflow: hidden;
z-index: 999;
/* border-top: 2px solid;
border-bottom: 2px solid;
border-image: linear-gradient(to right, rgba(54, 27, 27, 0.93) 0%, rgba(255, 2, 2, 0.93) 50%, rgba(54, 27, 27, 0.93)) 1;
box-shadow: inset 0 -20px 70px -25px rgba(255, 2, 2, 0.93); */
/* background-color: #eea929; */
}
......@@ -442,7 +444,7 @@ onActivated(() => {
}
.content_info{
height: 100%;
background-color: #4488f5;
/* background-color: #4488f5; */
}
/* 表格头部 */
......@@ -452,7 +454,7 @@ onActivated(() => {
/* background: linear-gradient(to bottom, #25253a, #1e1e2d); */
font-weight: 500;
font-size: 15px;
color: #a0a0a0;
color: #d1d0d0;
border-bottom: 1px solid #383850;
position: sticky;
top: 0;
......@@ -465,8 +467,8 @@ onActivated(() => {
}
.device-name {
flex: 1;
flex: 1.2;
overflow: hidden;
}
.device-name1{
flex: 1;
......@@ -487,21 +489,25 @@ onActivated(() => {
/* 设备列表样式 */
.device-list {
padding: 0 10px;
max-height: calc(100% - 50px);
/* max-height: 260px; */
overflow-y: auto;
z-index: 20;
height: 260px;
color: #d1d0d0;
}
.device-list1{
padding: 0 10px;
max-height: calc(100% - 30px );
max-height:290px;
overflow-y: auto;
z-index: 20;
color: #d1d0d0;
}
.device-item {
margin-bottom: 1px;
border-radius: 6px;
overflow: hidden;
overflow-Y: auto;
transition: all 0.2s;
/* background-color: rgba(255, 255, 255, 0.02); */
/* border: 1px solid rgba(255, 255, 255, 0.05); */
}
......@@ -519,10 +525,14 @@ onActivated(() => {
align-items: center;
cursor: pointer;
transition: background-color 0.2s;
overflow: auto;
}
.has-error{
overflow: hidden;
}
.has-error .device-row {
position: relative;
left: -20px;
......@@ -544,6 +554,9 @@ onActivated(() => {
font-size: 12px;
/* color: #f87171; */
/* margin-right: 6px; */
position: relative;
top: 3px;
overflow: hidden;
transition: transform 0.2s;
}
......@@ -582,7 +595,9 @@ onActivated(() => {
.error-details-container {
background-color: #25253a;
border-radius: 0 0 6px 6px;
/* overflow-Y: auto; */
overflow: hidden;
color: #ffffff;
animation: fadeIn 0.3s ease-out;
border-top: 1px solid rgba(248, 113, 113, 0.2);
}
......@@ -590,9 +605,10 @@ onActivated(() => {
.error-details {
padding: 12px 20px;
font-size: 10px;
color: #e2e8f0;
color: #ffffff;
background-color: rgba(45, 45, 68, 0.7);
line-height: 1.6;
overflow: hidden;
}
.error-detail-item {
......@@ -631,9 +647,10 @@ onActivated(() => {
padding: 20px;
font-size: 14px;
color: #888888;
min-height: 260px;
}
::-webkit-scrollbar {
width: 6px;
width: 1px !important;
}
::-webkit-scrollbar-track {
......@@ -642,7 +659,7 @@ onActivated(() => {
::-webkit-scrollbar-thumb {
background: #444460;
border-radius: 3px;
border-radius: 1px;
}
::-webkit-scrollbar-thumb:hover {
......
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论