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

2026-3-6

上级 8d5eb8b2
差异被折叠。
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
"dependencies": { "dependencies": {
"ant-design-vue": "^4.2.6", "ant-design-vue": "^4.2.6",
"axios": "0.28.1", "axios": "0.28.1",
"dayjs": "^1.11.13", "dayjs": "^1.11.19",
"echarts": "5.5.1", "echarts": "5.5.1",
"element-plus": "^2.9.6", "element-plus": "^2.9.6",
"express": "^5.1.0", "express": "^5.1.0",
......
...@@ -22,7 +22,7 @@ function getStaticPath() { ...@@ -22,7 +22,7 @@ function getStaticPath() {
try { try {
const testPath = path.join(staticPath, 'index.html'); const testPath = path.join(staticPath, 'index.html');
if (fs.existsSync(testPath)) { if (fs.existsSync(testPath)) {
console.log(`Found static files at: ${staticPath}`); //console.log(`Found static files at: ${staticPath}`);
return staticPath; return staticPath;
} }
} catch (error) { } catch (error) {
...@@ -36,7 +36,7 @@ function getStaticPath() { ...@@ -36,7 +36,7 @@ function getStaticPath() {
} }
const staticPath = getStaticPath(); const staticPath = getStaticPath();
console.log(`Serving static files from: ${staticPath}`); //console.log(`Serving static files from: ${staticPath}`);
// 1. CORS 中间件 - 放在最前面 // 1. CORS 中间件 - 放在最前面
app.use((req, res, next) => { app.use((req, res, next) => {
...@@ -102,20 +102,20 @@ app.get('/.well-known/appspecific/com.chrome.devtools.json', (req, res) => { ...@@ -102,20 +102,20 @@ app.get('/.well-known/appspecific/com.chrome.devtools.json', (req, res) => {
// 7. 创建HTTP和WebSocket服务 // 7. 创建HTTP和WebSocket服务
const server = http.createServer(app); const server = http.createServer(app);
console.log("此时的WebSocket",server); //console.log("此时的WebSocket",server);
const wss = new WebSocket.Server({ server }); const wss = new WebSocket.Server({ server });
wss.on('connection', (ws) => { wss.on('connection', (ws) => {
console.log(ws, '连接------'); //console.log(ws, '连接------');
ws.send('连接成功'); ws.send('连接成功');
ws.on('message', (message) => { ws.on('message', (message) => {
console.log(message.toString(), ':ue发送给vue的数据'); //console.log(message.toString(), ':ue发送给vue的数据');
ws.send('vue发给ue的数据+1'); ws.send('vue发给ue的数据+1');
}); });
ws.on('close', () => { ws.on('close', () => {
console.log('客户端断开连接'); //console.log('客户端断开连接');
}); });
ws.on('error', (error) => { ws.on('error', (error) => {
console.error('WebSocket错误:', error); console.error('WebSocket错误:', error);
...@@ -123,9 +123,9 @@ wss.on('connection', (ws) => { ...@@ -123,9 +123,9 @@ wss.on('connection', (ws) => {
}); });
server.listen(PORT, () => { server.listen(PORT, () => {
console.log(`大屏中转服务启动: http://localhost:${PORT}`); //console.log(`大屏中转服务启动: http://localhost:${PORT}`);
console.log(`静态文件目录: ${staticPath}`); //console.log(`静态文件目录: ${staticPath}`);
console.log(`运行模式: ${isPacked ? '打包模式' : '开发模式'}`); //console.log(`运行模式: ${isPacked ? '打包模式' : '开发模式'}`);
}); });
......
...@@ -68,7 +68,7 @@ export function getSubSystemOpitionListApi(data) { ...@@ -68,7 +68,7 @@ export function getSubSystemOpitionListApi(data) {
}) })
} }
// console.log("propsDate-min--3333333333--------",{ // //console.log("propsDate-min--3333333333--------",{
// endTime: historyTimeDateRange.value[1], // endTime: historyTimeDateRange.value[1],
// satelliteId: useAppStoreInstance.globalSatelliteSearchID==='0'? "4097": (useAppStoreInstance.globalSatelliteSearchID), // satelliteId: useAppStoreInstance.globalSatelliteSearchID==='0'? "4097": (useAppStoreInstance.globalSatelliteSearchID),
// startTime: historyTimeDateRange.value[0], // startTime: historyTimeDateRange.value[0],
......
...@@ -35,10 +35,10 @@ const headerHeight = ref('40px') ...@@ -35,10 +35,10 @@ const headerHeight = ref('40px')
const asideWidth = ref('350px') const asideWidth = ref('350px')
// onBeforeUnmount(() => { // onBeforeUnmount(() => {
// console.log('组件即将卸载'); // //console.log('组件即将卸载');
// }) // })
// onMounted(() => { // onMounted(() => {
// console.log('组件已挂载'); // //console.log('组件已挂载');
// }) // })
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: Z 1518051043@qq.com * @Author: Z 1518051043@qq.com
* @Date: 2025-09-12 13:51:43 * @Date: 2025-09-12 13:51:43
* @LastEditors: zwy 1518051043@qq.com * @LastEditors: zwy 1518051043@qq.com
* @LastEditTime: 2025-12-30 11:11:21 * @LastEditTime: 2026-02-02 14:49:34
* @FilePath: \yuanxinPro\src\main.js * @FilePath: \yuanxinPro\src\main.js
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/ */
...@@ -48,6 +48,16 @@ import './permission' // 路由拦截和加载页面进度条 ...@@ -48,6 +48,16 @@ import './permission' // 路由拦截和加载页面进度条
import directive from './directive' // 导入公共函数 import directive from './directive' // 导入公共函数
import 'element-plus/dist/index.css'
const app = createApp(App) const app = createApp(App)
const pinia = createPinia(); const pinia = createPinia();
// 全局方法挂载 // 全局方法挂载
......
...@@ -80,19 +80,31 @@ const markLineData = ref([ ...@@ -80,19 +80,31 @@ const markLineData = ref([
let myChart = null; let myChart = null;
const isDetialDialogVisible = ref(false); const isDetialDialogVisible = ref(false);
function showViewClick() { function showViewClick() {
// console.log("时间"); // //console.log("时间");
isDetialDialogVisible.value = !isDetialDialogVisible.value; isDetialDialogVisible.value = !isDetialDialogVisible.value;
showView.value = true; 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() { function isDetialDialogVisibleHandleClose() {
isDetialDialogVisible.value = false; isDetialDialogVisible.value = false;
showView.value = false; showView.value = false;
if (window.ue5) {
window.ue5("callBackAllDialogFn", String(JSON.stringify({
type:"CDFCurveDetailDialog",
status:"close"
})));
}
} }
onMounted(() => { onMounted(() => {
initChart(); initChart();
console.log("-------cdfCurve-------",props.idName); //console.log("-------cdfCurve-------",props.idName);
document.getElementById(props.idName).style.height = '240px'; document.getElementById(props.idName).style.height = '240px';
}); });
...@@ -107,9 +119,9 @@ onUnmounted(() => { ...@@ -107,9 +119,9 @@ onUnmounted(() => {
function initChart() { function initChart() {
const chartDom = document.getElementById(props.idName); const chartDom = document.getElementById(props.idName);
chartDom.style.height = '180px'; chartDom.style.height = '180px';
chartDom.style.width = '150px'; chartDom.style.width = '170px';
myChart = echarts.init(chartDom); myChart = echarts.init(chartDom);
console.log("初始化图表propsDate:",chartDom,myChart); //console.log("初始化图表propsDate:",chartDom,myChart);
const option = { const option = {
legend: { legend: {
show: true, show: true,
...@@ -191,7 +203,7 @@ function initChart() { ...@@ -191,7 +203,7 @@ function initChart() {
}, },
{ {
offset: 1, offset: 1,
color: 'rgba(0,0,0,0.31)' color: 'rgba(84,112,198,0.20)'
} }
], ],
global: false global: false
......
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
<script setup> <script setup>
import { ref, onMounted, onUnmounted } from 'vue'; import { ref, onMounted, onUnmounted } from 'vue';
import * as echarts from 'echarts'; import * as echarts from 'echarts';
import { el } from 'element-plus/es/locales.mjs';
...@@ -126,7 +126,7 @@ function handleDateRangeChange() { ...@@ -126,7 +126,7 @@ function handleDateRangeChange() {
startTime: formatDate(dateRange.value[0]), startTime: formatDate(dateRange.value[0]),
endTime: formatDate(dateRange.value[1]) endTime: formatDate(dateRange.value[1])
} }
console.log("提交:",submitData); //console.log("提交:",submitData);
if (submitData.startTime && submitData.endTime) { if (submitData.startTime && submitData.endTime) {
chartConfigs.value = [ chartConfigs.value = [
{ {
...@@ -276,7 +276,7 @@ function initChart(chartDom, config) { ...@@ -276,7 +276,7 @@ function initChart(chartDom, config) {
}, },
grid: { grid: {
top: '20%', top: '20%',
right: '5%', right: '2%',
bottom: '15%', bottom: '15%',
left: '4%' left: '4%'
}, },
......
...@@ -50,9 +50,10 @@ const props = defineProps({ ...@@ -50,9 +50,10 @@ const props = defineProps({
}, },
}); });
onBeforeUnmount(() => { onBeforeUnmount(() => {
console.log("中,zhelixieza"); //console.log("中,zhelixieza");
}); });
const componentProps = ref({});
</script> </script>
<style scoped> <style scoped>
......
...@@ -52,7 +52,7 @@ export default { ...@@ -52,7 +52,7 @@ export default {
// var watchList = [] // var watchList = []
// const watch1 = watch(() => props.time, (newVal) => { // const watch1 = watch(() => props.time, (newVal) => {
// if (selectStatus.value) { // if (selectStatus.value) {
// // console.log(objs.value[newVal], newVal); // // //console.log(objs.value[newVal], newVal);
// selectId.value = newVal // selectId.value = newVal
// if (timeIntal.value) { // if (timeIntal.value) {
// timeIntal.value = false // timeIntal.value = false
...@@ -105,7 +105,7 @@ export default { ...@@ -105,7 +105,7 @@ export default {
// // 获取字段'value'的最小值 // // 获取字段'value'的最小值
// const minValue = mappedData.reduce((min, item) => Math.min(min, item.value), Infinity); // const minValue = mappedData.reduce((min, item) => Math.min(min, item.value), Infinity);
// console.log(mappedData, '热力图数据'); // //console.log(mappedData, '热力图数据');
// chartDom = document.getElementById(obj.id); // chartDom = document.getElementById(obj.id);
// myChart = echarts.init(chartDom); // myChart = echarts.init(chartDom);
// option = { // option = {
...@@ -133,7 +133,7 @@ export default { ...@@ -133,7 +133,7 @@ export default {
// realtime: false, // realtime: false,
// // splitNumber: 6, // // splitNumber: 6,
// formatter: function (a, b) { // 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, ",")}` // 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 { ...@@ -225,7 +225,7 @@ export default {
// } // }
// ] // ]
// }; // };
// console.log(option, '------------------------65--'); // //console.log(option, '------------------------65--');
// window.addEventListener("resize", function () { // window.addEventListener("resize", function () {
// if (myChart) { // if (myChart) {
// var time = setInterval(() => { // var time = setInterval(() => {
...@@ -241,19 +241,19 @@ export default { ...@@ -241,19 +241,19 @@ export default {
// if (getLanguage() == "english") { // if (getLanguage() == "english") {
// Object.entries(props.componentProps).forEach(([key, value]) => { // 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") { // if (key === "columnLabel") {
// console.log(key, value, 'key, -------123-------------value'); // //console.log(key, value, 'key, -------123-------------value');
// props.componentProps[key] = ChineseEnglishGlossary.value[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); // option && myChart.setOption(option);
// } // }
...@@ -272,7 +272,7 @@ export default { ...@@ -272,7 +272,7 @@ export default {
// } // }
// const propsFn = (value) => { // const propsFn = (value) => {
// if (value.visualData && value.visualData.length > 0) { // 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); // echarts.registerMap(props.componentProps.id, props.componentProps.relitu);
// // planFn(props.componentProps) // // planFn(props.componentProps)
// yName.value = [] // yName.value = []
...@@ -448,6 +448,7 @@ function initChart() { ...@@ -448,6 +448,7 @@ function initChart() {
text: '链路层容量', text: '链路层容量',
left: 'center', left: 'center',
// top: 10, // top: 10,
left: 10,
textStyle: { textStyle: {
color: '#fff', color: '#fff',
fontSize: 10, fontSize: 10,
......
...@@ -40,8 +40,11 @@ ...@@ -40,8 +40,11 @@
</template> </template>
<script setup> <script setup>
import { ref } from 'vue';
import hotMap from './hotMap.vue' import hotMap from './hotMap.vue'
import testMap from './testMap.vue' import testMap from './testMap.vue'
const componentProps = ref({})
</script> </script>
<style scoped> <style scoped>
......
...@@ -36,7 +36,7 @@ function initChart() { ...@@ -36,7 +36,7 @@ function initChart() {
const projection = d3.geoAlbersUsa(); const projection = d3.geoAlbersUsa();
myChart.hideLoading(); myChart.hideLoading();
echarts.registerMap('USA', usaJson); echarts.registerMap('USA', usaJson);
console.log("获得地图数据",usaJson); //console.log("获得地图数据",usaJson);
const option = { const option = {
title: { title: {
......
...@@ -48,6 +48,8 @@ const props = defineProps({ ...@@ -48,6 +48,8 @@ const props = defineProps({
default: 'allIdName', default: 'allIdName',
}, },
}); });
const componentProps = ref({})
</script> </script>
<style scoped> <style scoped>
......
...@@ -82,11 +82,17 @@ const markLineData = ref([ ...@@ -82,11 +82,17 @@ const markLineData = ref([
const showView = ref(false) const showView = ref(false)
const isDetialDialogVisible = ref(false) const isDetialDialogVisible = ref(false)
function showViewClick() { function showViewClick() {
// console.log("时间"); // //console.log("时间");
showView.value = true; showView.value = true;
isDetialDialogVisible.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) ...@@ -94,7 +100,12 @@ const childrenInstantRef = ref(null)
const isDetialDialogVisibleHandleClose = () => { const isDetialDialogVisibleHandleClose = () => {
isDetialDialogVisible.value = false; isDetialDialogVisible.value = false;
showView.value = false; showView.value = false;
if (window.ue5) {
window.ue5("callBackAllDialogFn", String(JSON.stringify({
type:"InstantaneousCurveDetailsDialog",
status:"close"
})));
}
} }
let myChart = null; let myChart = null;
...@@ -114,7 +125,7 @@ function initChart() { ...@@ -114,7 +125,7 @@ function initChart() {
const chartDom = document.getElementById(props.idName); const chartDom = document.getElementById(props.idName);
myChart = echarts.init(chartDom); myChart = echarts.init(chartDom);
chartDom.style.height = '180px'; chartDom.style.height = '180px';
chartDom.style.width = '150px'; chartDom.style.width = '170px';
const option = { const option = {
legend: { legend: {
show: true, show: true,
...@@ -196,7 +207,7 @@ chartDom.style.width = '150px'; ...@@ -196,7 +207,7 @@ chartDom.style.width = '150px';
}, },
{ {
offset: 1, offset: 1,
color: 'rgba(0,0,0,0.31)' color: 'rgba(111,252,186,0.20)'
} }
], ],
global: false global: false
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: zwy 1518051043@qq.com * @Author: zwy 1518051043@qq.com
* @Date: 2026-01-04 09:13:55 * @Date: 2026-01-04 09:13:55
* @LastEditors: zwy 1518051043@qq.com * @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 * @FilePath: \yuanxinPro\src\pages\all\components\loadingComponent\index.js
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/ */
...@@ -15,7 +15,7 @@ const Loading = (function() { ...@@ -15,7 +15,7 @@ const Loading = (function() {
text = 'Loading...', text = 'Loading...',
background = 'rgba(0, 0, 0, 0.57)', background = 'rgba(0, 0, 0, 0.57)',
color = '#fff', color = '#fff',
zIndex = 9999, zIndex = 9999999,
spinnerColor = color, spinnerColor = color,
spinnerSize = '40px' spinnerSize = '40px'
} = options; } = 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([ ...@@ -98,7 +98,7 @@ const controls = ref([
]) ])
const handleControlChange = (item, value) => { const handleControlChange = (item, value) => {
console.log(`${item.label} 状态变为: ${value ? '开启' : '关闭'}`) //console.log(`${item.label} 状态变为: ${value ? '开启' : '关闭'}`)
item.enabled = value item.enabled = value
} }
...@@ -115,7 +115,7 @@ const searchSatelliteRef = ref(null) ...@@ -115,7 +115,7 @@ const searchSatelliteRef = ref(null)
const handleSwitchChange = (item) => { const handleSwitchChange = (item) => {
console.log("初始化调用11111",item.enabled,item); //console.log("初始化调用11111",item.enabled,item);
switch (item.label) { switch (item.label) {
case '时间轴': case '时间轴':
...@@ -179,7 +179,7 @@ watch(useAppStoreInstance, () => { ...@@ -179,7 +179,7 @@ watch(useAppStoreInstance, () => {
document.getElementById('footer-content-up').style.bottom = '300px' document.getElementById('footer-content-up').style.bottom = '300px'
} }
if (useAppStoreInstance.isdataPanelShow) { if (useAppStoreInstance.isdataPanelShow) {
// console.log(window.innerWidth); // //console.log(window.innerWidth);
document.getElementById('footer-content-up').style.bottom = '0px' 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.width = `calc(100% - ${asideWidth.value} - ${asideWidth.value})`
// document.getElementById('all_footer').style.bottom = '10px' // document.getElementById('all_footer').style.bottom = '10px'
...@@ -197,8 +197,9 @@ watch(useAppStoreInstance, () => { ...@@ -197,8 +197,9 @@ watch(useAppStoreInstance, () => {
// document.getElementById('all_footer').style.bottom = '10px' // document.getElementById('all_footer').style.bottom = '10px'
// if (!useAppStoreInstance.islegendShow) {document.getElementById('all_footer').style.bottom = '20px'} // if (!useAppStoreInstance.islegendShow) {document.getElementById('all_footer').style.bottom = '20px'}
// document.getElementById('search_panel').style.left = '30px' // document.getElementById('search_panel').style.left = '30px'
if (document.getElementById('control_panel1')) {
document.getElementById('control_panel1').style.right = '-30px' document.getElementById('control_panel1').style.right = '-30px'
}
} }
...@@ -209,7 +210,7 @@ watch(useAppStoreInstance, () => { ...@@ -209,7 +210,7 @@ watch(useAppStoreInstance, () => {
const checkScreenSize = () => { const checkScreenSize = () => {
const width = window.innerWidth; const width = window.innerWidth;
const height = window.innerHeight; const height = window.innerHeight;
console.log("当前设备的尺寸:",width,height); //console.log("当前设备的尺寸:",width,height);
isMobile.value = width <= 940; isMobile.value = width <= 940;
useAppStoreInstance.setisdataPanelShow(!isMobile.value); useAppStoreInstance.setisdataPanelShow(!isMobile.value);
controls.value.forEach(item => { controls.value.forEach(item => {
...@@ -224,12 +225,12 @@ const checkScreenSize = () => { ...@@ -224,12 +225,12 @@ const checkScreenSize = () => {
const currSeriveSize = () => { const currSeriveSize = () => {
const width = window.innerWidth; const width = window.innerWidth;
const height = window.innerHeight; const height = window.innerHeight;
console.log("当前设备的尺寸:",width,height); //console.log("当前设备的尺寸:",width,height);
} }
onActivated(() => { onActivated(() => {
// console.log("111111111111114onActivated",useAppStoreInstance.islegendShow,useAppStoreInstance.isTimeLineShow); // //console.log("111111111111114onActivated",useAppStoreInstance.islegendShow,useAppStoreInstance.isTimeLineShow);
controls.value = [ controls.value = [
{ label: '卫星轨道', enabled: useAppStoreInstance.issatelliteOrbitShow, disabled: false }, { label: '卫星轨道', enabled: useAppStoreInstance.issatelliteOrbitShow, disabled: false },
{ label: '卫星波束', enabled: useAppStoreInstance.issatelliteBeamShow, disabled: false }, { label: '卫星波束', enabled: useAppStoreInstance.issatelliteBeamShow, disabled: false },
...@@ -243,7 +244,7 @@ onMounted(() => { ...@@ -243,7 +244,7 @@ onMounted(() => {
checkScreenSize(); checkScreenSize();
handleSwitchChange({disabled: false,enabled: useAppStoreInstance.islegendShow,label: "图例"}) handleSwitchChange({disabled: false,enabled: useAppStoreInstance.islegendShow,label: "图例"})
window.addEventListener('resize', checkScreenSize); window.addEventListener('resize', checkScreenSize);
// console.log("111111111111114ononMounted",useAppStoreInstance.islegendShow,useAppStoreInstance.isTimeLineShow); // //console.log("111111111111114ononMounted",useAppStoreInstance.islegendShow,useAppStoreInstance.isTimeLineShow);
controls.value = [ controls.value = [
{ label: '卫星轨道', enabled: useAppStoreInstance.issatelliteOrbitShow, disabled: false }, { label: '卫星轨道', enabled: useAppStoreInstance.issatelliteOrbitShow, disabled: false },
{ label: '卫星波束', enabled: useAppStoreInstance.issatelliteBeamShow, disabled: false }, { label: '卫星波束', enabled: useAppStoreInstance.issatelliteBeamShow, disabled: false },
......
<template> <template>
<div class="satellite-status-container"> <div class="satellite-status-container" :class="{'active':!useAppStoreInstance.isdataPanelShow}">
<!-- 左侧图例标题(始终居中) --> <!-- 左侧图例标题(始终居中) -->
<div class="legend-title"> <div class="legend-title">
...@@ -29,7 +29,8 @@ ...@@ -29,7 +29,8 @@
<script setup> <script setup>
import { ref } from 'vue'; import { ref } from 'vue';
import useAppStore from '@/store/module/app'
const useAppStoreInstance = useAppStore()
const legendstatusMap = ref({ const legendstatusMap = ref({
normal: '正常', normal: '正常',
abnormal: '异常', abnormal: '异常',
...@@ -74,7 +75,7 @@ const legendSource = ref([ ...@@ -74,7 +75,7 @@ const legendSource = ref([
min-width: 800px; min-width: 800px;
color: #ffffff; color: #ffffff;
/* font-family: 'Consolas', monospace; */ /* 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 = [ ...@@ -187,7 +187,8 @@ const objectSelector = [
display: flex; display: flex;
flex-direction: column; flex-direction: column;
height: 100%; height: 100%;
width: 100%; width: 100px;
/* padding: 10px 10px; */ /* padding: 10px 10px; */
/* background-color: #2b70df; */ /* background-color: #2b70df; */
} }
...@@ -202,7 +203,7 @@ const objectSelector = [ ...@@ -202,7 +203,7 @@ const objectSelector = [
.templateCase_right_content_body { .templateCase_right_content_body {
height: 92%; height: 92%;
width: 120%; width: 100%;
/* background-color: #73df2b; */ /* background-color: #73df2b; */
} }
......
...@@ -120,8 +120,14 @@ ...@@ -120,8 +120,14 @@
</div> </div>
</div> </div>
<div class="templateCase_left_content"> <div class="templateCase_left_content">
<div class="templateCase_left_content_item" v-for="(item, index) in templateCaseList" :key="index"> <div
{{item}} class="templateCase_left_content_item"
v-for="(item, index) in templateCaseList"
:key="index"
@click="templateCaseClickFn(index)"
:class="{ 'CaseClickActive': activeTemplateIndex === index }"
>
{{ item }}
</div> </div>
</div> </div>
</div> </div>
...@@ -222,10 +228,10 @@ const templateCaseList = ref(['模板1', '模板2', '模板3', '模板4', '模 ...@@ -222,10 +228,10 @@ const templateCaseList = ref(['模板1', '模板2', '模板3', '模板4', '模
const selectedValues = ref([]); const selectedValues = ref([]);
const dropdownVisible = ref([false, false, false]); const dropdownVisible = ref([false, false, false]);
const templateCasedeleteHandFn = () => { const templateCasedeleteHandFn = () => {
console.log('templateCasedeleteHandFn'); //console.log('templateCasedeleteHandFn');
}; };
const templateCaseAddHandFn = () => { const templateCaseAddHandFn = () => {
console.log('templateCaseAddHandFn'); //console.log('templateCaseAddHandFn');
}; };
// 初始化选中值 // 初始化选中值
onMounted(() => { onMounted(() => {
...@@ -243,7 +249,11 @@ const selectOption = (index, option) => { ...@@ -243,7 +249,11 @@ const selectOption = (index, option) => {
selectedValues.value[index] = option; selectedValues.value[index] = option;
dropdownVisible.value[index] = false; // 选择后关闭下拉菜单 dropdownVisible.value[index] = false; // 选择后关闭下拉菜单
}; };
const activeTemplateIndex = ref(0);
const templateCaseClickFn = (index) => {
//console.log('templateCaseClickFn', index);
activeTemplateIndex.value = index;
};
// 点击外部关闭下拉菜单 // 点击外部关闭下拉菜单
document.addEventListener('click', (e) => { document.addEventListener('click', (e) => {
if (!e.target.closest('.custom-select')) { if (!e.target.closest('.custom-select')) {
...@@ -262,16 +272,30 @@ const indicatorStyle = computed(() => { ...@@ -262,16 +272,30 @@ const indicatorStyle = computed(() => {
<style scoped> <style scoped>
/* 基础样式设置 */ /* 基础样式设置 */
.dashboard-container { .dashboard-container {
width: 120%; /* width: 900px; */
background-color: #000000; background-color: #000000;
color: #ffffff; color: #080606;
display: flex; /* display: flex;
flex-direction: column; flex-direction: column; */
position: fixed; /* 改为fixed定位 */
left: 10%;
top: 10%;
width: 1550px;
z-index: 1001;
overflow: hidden; overflow: hidden;
position: relative;
left: -5%;
top: -120px;
} }
/* 头部样式 */ /* 头部样式 */
...@@ -414,15 +438,19 @@ const indicatorStyle = computed(() => { ...@@ -414,15 +438,19 @@ const indicatorStyle = computed(() => {
border-radius: 8px; border-radius: 8px;
padding: 5px 15px; padding: 5px 15px;
} }
.equipment-content{
height: 600px;
}
.tab-panel { .tab-panel {
min-height: 600px; min-height: 600px;
/* max-height: 700px; */
color: #e2e8f0; color: #e2e8f0;
} }
.failure-content { .failure-content {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
font-size: 15px; font-size: 15px;
width: 1500px;
/* gap: 20px; 添加间距 */ /* gap: 20px; 添加间距 */
/* height: 500px; */ /* height: 500px; */
/* background-color: rgba(1, 73, 241, 0.5); */ /* background-color: rgba(1, 73, 241, 0.5); */
...@@ -432,7 +460,8 @@ const indicatorStyle = computed(() => { ...@@ -432,7 +460,8 @@ const indicatorStyle = computed(() => {
.templateCase { .templateCase {
flex: 1; flex: 1;
height: 100%; height: 700px;
/* width: 500px; */
/* background-color: rgba(241, 1, 81, 0.5); */ /* background-color: rgba(241, 1, 81, 0.5); */
/* border-radius: 6px; 添加圆角 */ /* border-radius: 6px; 添加圆角 */
/* border: 1px solid rgba(255, 255, 255, 0.1); 添加边框 */ /* border: 1px solid rgba(255, 255, 255, 0.1); 添加边框 */
...@@ -442,8 +471,9 @@ const indicatorStyle = computed(() => { ...@@ -442,8 +471,9 @@ const indicatorStyle = computed(() => {
/* 可以为左右两侧添加不同样式 */ /* 可以为左右两侧添加不同样式 */
.templateCase_left { .templateCase_left {
flex: 0.21; flex: 0.151;
height: 100%; height: 100%;
/* background-color: rgba(241, 1, 81, 0.5); */ /* background-color: rgba(241, 1, 81, 0.5); */
/* border-radius: 6px; */ /* border-radius: 6px; */
border-right: 1px solid rgba(255, 255, 255, 0.1); border-right: 1px solid rgba(255, 255, 255, 0.1);
...@@ -458,7 +488,7 @@ const indicatorStyle = computed(() => { ...@@ -458,7 +488,7 @@ const indicatorStyle = computed(() => {
/* border-radius: 6px; */ /* border-radius: 6px; */
/* border: 1px solid rgba(255, 255, 255, 0.1); */ /* border: 1px solid rgba(255, 255, 255, 0.1); */
/* padding: 10px; */ /* padding: 10px; */
overflow: hidden; /* overflow: hidden; */
} }
...@@ -547,6 +577,11 @@ const indicatorStyle = computed(() => { ...@@ -547,6 +577,11 @@ const indicatorStyle = computed(() => {
font-size: 12px; font-size: 12px;
/* background-color: #2c78f5; */ /* background-color: #2c78f5; */
} }
.CaseClickActive{
background: linear-gradient(to right, #193d77 0, rgba(0, 0, 0, 1) 100%);
}
.templateCase_left_content_item:hover{ .templateCase_left_content_item:hover{
background: linear-gradient(to right, #2b70df 0, rgba(0, 0, 0, 1) 100%); background: linear-gradient(to right, #2b70df 0, rgba(0, 0, 0, 1) 100%);
} }
......
...@@ -7,13 +7,15 @@ ...@@ -7,13 +7,15 @@
<!-- 左侧时间和天气信息 --> <!-- 左侧时间和天气信息 -->
<div class="navbar-left"> <div class="navbar-left">
<div class="status-item weather-info"> <div class="status-item weather-info">
<span class="icon">☀️</span> <span class="icon">
<span class="text">晴 18℃</span> <img src="@/assets/images/headers/yuanxin.png" alt="图标" class="weather-icon" style="width: 100%; height: 100%;">
</span>
<!-- <span class="text">晴 18℃</span> -->
</div> </div>
<div class="status-item time-info"> <!-- <div class="status-item time-info">
<span class="text">{{ currentTime }}</span> <span class="text">{{ currentTime }}</span>
</div> </div> -->
</div> </div>
<!-- 中间标题 --> <!-- 中间标题 -->
...@@ -60,6 +62,10 @@ ...@@ -60,6 +62,10 @@
<!-- <div v-else class="logo-placeholder">DL</div> --> <!-- <div v-else class="logo-placeholder">DL</div> -->
<span class="control-label">大屏配置</span> <span class="control-label">大屏配置</span>
</div> </div>
<div class="control-item rightTime" >
<span class="timeColor">{{ currentTime.split(" ")[0] }}</span>
<span >{{ currentTime.split(" ")[1] }}</span>
</div>
</div> </div>
</div> </div>
...@@ -67,14 +73,13 @@ ...@@ -67,14 +73,13 @@
v-model="screenConfigeDialogVisible" v-model="screenConfigeDialogVisible"
:destroy-on-close="true" :destroy-on-close="true"
:modal="false" :modal="false"
width="1000" width="100"
:show-close="false" :show-close="false"
:before-close="handleScreenConfigeClose" :before-close="handleScreenConfigeClose"
style=" background-color: rgba(0, 0, 0,10);height: 400px;" style=" background-color: rgba(0, 0, 0,0);padding: 0;margin: 0;"
> >
<screenConfige @handleScreenConfigeClose="handleScreenConfigeClose"></screenConfige> <screenConfige @handleScreenConfigeClose="handleScreenConfigeClose"></screenConfige>
<!-- <div style="width: 100px;height: 100px;background-color: blueviolet;"></div> -->
</el-dialog> </el-dialog>
...@@ -112,6 +117,10 @@ import local from '@/utils/local.js' ...@@ -112,6 +117,10 @@ import local from '@/utils/local.js'
import screenConfige from './component/screenConfigeDialog.vue' import screenConfige from './component/screenConfigeDialog.vue'
import { useRouter } from 'vue-router'; import { useRouter } from 'vue-router';
import useAppStore from '@/store/module/app' import useAppStore from '@/store/module/app'
import errorDialog from '@/pages/lefts/component/errorDialog.vue'
const useAppStoreInstance = useAppStore() const useAppStoreInstance = useAppStore()
// 在 setup 中 // 在 setup 中
...@@ -138,16 +147,22 @@ const screenConfigeDialogVisible = ref(false); ...@@ -138,16 +147,22 @@ const screenConfigeDialogVisible = ref(false);
// 监视digitalPersonShow变化 // 监视digitalPersonShow变化
watch(digitalPersonShow, (newValue) => { watch(digitalPersonShow, (newValue) => {
if (newValue) { if (newValue) {
console.log('数字人显示'); //console.log('数字人显示');
local.local.set('digitalPersonShow', 'true'); local.local.set('digitalPersonShow', 'true');
} else { } else {
console.log('数字人隐藏'); //console.log('数字人隐藏');
local.local.set('digitalPersonShow', 'false'); local.local.set('digitalPersonShow', 'false');
} }
}); });
const handleScreenConfigeClose = () => { const handleScreenConfigeClose = () => {
screenConfigeDialogVisible.value = false; screenConfigeDialogVisible.value = false;
if (window.ue5) {
window.ue5("callBackAllDialogFn", String(JSON.stringify({
type:"LargeScreenConfigurationDialog",
status:"close"
})));
}
}; };
// 格式化日期时间显示 // 格式化日期时间显示
const formatDateTime = () => { const formatDateTime = () => {
...@@ -178,11 +193,11 @@ const handleImageError = (e) => { ...@@ -178,11 +193,11 @@ const handleImageError = (e) => {
// } // }
// window.ue5.interface.emitUIInteraction = (res) => { // window.ue5.interface.emitUIInteraction = (res) => {
// console.log("收到UE交互:", res.name); // //console.log("收到UE交互:", res.name);
// try { // try {
// const resData = JSON.parse(res.data); // const resData = JSON.parse(res.data);
// console.log("Received from UE:", resData); // //console.log("Received from UE:", resData);
// if (resData.locationReplace === true) { // if (resData.locationReplace === true) {
// location.replace('/subsystem'); // location.replace('/subsystem');
...@@ -204,10 +219,10 @@ const handletoLinkClick = () => { ...@@ -204,10 +219,10 @@ const handletoLinkClick = () => {
if (toSubSystemFlag.value) { if (toSubSystemFlag.value) {
// location.replace('/subsystem'); // location.replace('/subsystem');
router.push('/'); router.push('/');
console.log("1111111111111111111111111",useAppStoreInstance.isSourceLegendShow); //console.log("1111111111111111111111111",useAppStoreInstance.isSourceLegendShow);
useAppStoreInstance.setGlobalisFromTosub(true); useAppStoreInstance.setGlobalisFromTosub(true);
useAppStoreInstance.setislegendShow(useAppStoreInstance.isSourceLegendShow?true:false ); useAppStoreInstance.setislegendShow(useAppStoreInstance.isSourceLegendShow?true:false );
console.log("11111111111111111111111112",useAppStoreInstance.islegendShow); //console.log("11111111111111111111111112",useAppStoreInstance.islegendShow);
useAppStoreInstance.setiscontrolPanelShow(true); useAppStoreInstance.setiscontrolPanelShow(true);
useAppStoreInstance.setGlobalSubsystemSelectedTimeRange([]); useAppStoreInstance.setGlobalSubsystemSelectedTimeRange([]);
} }
...@@ -239,8 +254,14 @@ const handletoLinkClick = () => { ...@@ -239,8 +254,14 @@ const handletoLinkClick = () => {
}; };
const handleCompanyClick = () => { const handleCompanyClick = () => {
// 可以添加点击事件逻辑 // 可以添加点击事件逻辑
// console.log('大屏配置按钮点击'); // //console.log('大屏配置按钮点击');
screenConfigeDialogVisible.value = !screenConfigeDialogVisible.value; screenConfigeDialogVisible.value = !screenConfigeDialogVisible.value;
if (window.ue5) {
window.ue5("callBackAllDialogFn", String(JSON.stringify({
type:"LargeScreenConfigurationDialog",
status:"open"
})));
}
}; };
// 组件生命周期管理 // 组件生命周期管理
let updateTimer; let updateTimer;
...@@ -255,10 +276,10 @@ onBeforeMount(() => { ...@@ -255,10 +276,10 @@ onBeforeMount(() => {
}); });
// const handleUEMessage = () => { // const handleUEMessage = () => {
// console.log("我是handleUEMessage里面的window",window); // //console.log("我是handleUEMessage里面的window",window);
// window.emitUIInteraction = (res) => { // window.emitUIInteraction = (res) => {
// // console.log('Received from UE:', data); // // //console.log('Received from UE:', data);
// console.log("我是handleUEMessage,收到UE交互:", res); // //console.log("我是handleUEMessage,收到UE交互:", res);
// try { // try {
// const resData = JSON.parse(res.data); // const resData = JSON.parse(res.data);
...@@ -269,7 +290,7 @@ onBeforeMount(() => { ...@@ -269,7 +290,7 @@ onBeforeMount(() => {
// }))) // })))
// } // }
// console.log("handleUEMessage,Received from UE:", resData); // //console.log("handleUEMessage,Received from UE:", resData);
// if (resData.locationReplace === true) { // if (resData.locationReplace === true) {
// router.push('/subsystem'); // router.push('/subsystem');
...@@ -283,11 +304,11 @@ onBeforeMount(() => { ...@@ -283,11 +304,11 @@ onBeforeMount(() => {
// }; // };
// }; // };
// const handleUEMessage1 = () => { // const handleUEMessage1 = () => {
// console.log("我是handleUEMessage1里面的window",window); // //console.log("我是handleUEMessage1里面的window",window);
// window.emitUIInteraction = (res) => { // window.emitUIInteraction = (res) => {
// // console.log('Received from UE:', data); // // //console.log('Received from UE:', data);
// console.log("我是handleUEMessage1,收到UE交互:", res); // //console.log("我是handleUEMessage1,收到UE交互:", res);
// try { // try {
// const resData = JSON.parse(res.data); // const resData = JSON.parse(res.data);
...@@ -298,7 +319,7 @@ onBeforeMount(() => { ...@@ -298,7 +319,7 @@ onBeforeMount(() => {
// }))) // })))
// } // }
// console.log("Received from UE:", resData); // //console.log("Received from UE:", resData);
// if (resData.locationReplace === true) { // if (resData.locationReplace === true) {
// router.push('/subsystem'); // router.push('/subsystem');
...@@ -323,6 +344,7 @@ onMounted(() => { ...@@ -323,6 +344,7 @@ onMounted(() => {
// if (window.ue5) { // if (window.ue5) {
// window.ue5("callBackTimeFn", `测试数据111111111111111111:${JSON.stringify(resData)},${JSON.stringify(resData.locationReplace)},${JSON.stringify(resData.locationReplace === 'true')}`) // window.ue5("callBackTimeFn", `测试数据111111111111111111:${JSON.stringify(resData)},${JSON.stringify(resData.locationReplace)},${JSON.stringify(resData.locationReplace === 'true')}`)
// } // }
console.log("我是handleUEMessage,收到UE交互:", resData);
if (resData.locationReplace === 'true') { if (resData.locationReplace === 'true') {
useAppStoreInstance.setiscontrolPanelShow(false); useAppStoreInstance.setiscontrolPanelShow(false);
...@@ -344,18 +366,20 @@ onMounted(() => { ...@@ -344,18 +366,20 @@ onMounted(() => {
} }
if (resData.locationReplace === 'false') { if (resData.locationReplace === 'false') {
router.push('/'); router.push('/');
console.log("1111111111111111111111111",useAppStoreInstance.isSourceLegendShow);
//console.log("1111111111111111111111111",useAppStoreInstance.isSourceLegendShow);
useAppStoreInstance.setGlobalisFromTosub(true); useAppStoreInstance.setGlobalisFromTosub(true);
useAppStoreInstance.setislegendShow(useAppStoreInstance.isSourceLegendShow?true:false ); useAppStoreInstance.setislegendShow(useAppStoreInstance.isSourceLegendShow?true:false );
console.log("11111111111111111111111112",useAppStoreInstance.islegendShow); //console.log("11111111111111111111111112",useAppStoreInstance.islegendShow);
useAppStoreInstance.setiscontrolPanelShow(true); useAppStoreInstance.setiscontrolPanelShow(true);
useAppStoreInstance.setGlobalSubsystemSelectedTimeRange([]);
} }
// try { // try {
// const resData = JSON.parse(res.data); // const resData = JSON.parse(res.data);
// if (window.ue5) { // if (window.ue5) {
// window.ue5("callBackTimeFn", `ue传递给vue的数据111111111111111111:${JSON.stringify(res)}`) // window.ue5("callBackTimeFn", `ue传递给vue的数据111111111111111111:${JSON.stringify(res)}`)
// } // }
// console.log("Received from UE:", resData); // //console.log("Received from UE:", resData);
// if (resData.locationReplace === true) { // if (resData.locationReplace === true) {
// router.push('/subsystem'); // router.push('/subsystem');
...@@ -460,7 +484,7 @@ const stopDrag = () => { ...@@ -460,7 +484,7 @@ const stopDrag = () => {
.navbar-container { .navbar-container {
width: 100%; width: 100%;
background-color: black; background-color: black;
min-width: 740px; min-width: 750px;
overflow: hidden; overflow: hidden;
/* height: 250px; */ /* height: 250px; */
...@@ -487,7 +511,7 @@ const stopDrag = () => { ...@@ -487,7 +511,7 @@ const stopDrag = () => {
padding: 0 2rem; padding: 0 2rem;
position: relative; position: relative;
z-index: 1; z-index: 1;
height: 100%; height: 55px;
max-width: 1920px; max-width: 1920px;
margin: 0 auto; margin: 0 auto;
background: url("@/assets/images/headers/header_bg.png") ; background: url("@/assets/images/headers/header_bg.png") ;
...@@ -505,6 +529,8 @@ const stopDrag = () => { ...@@ -505,6 +529,8 @@ const stopDrag = () => {
display: flex; display: flex;
align-items: center; align-items: center;
gap: 1.8rem; gap: 1.8rem;
width: 480px;
/* background-color: aquamarine; */
} }
.status-item { .status-item {
...@@ -521,7 +547,7 @@ const stopDrag = () => { ...@@ -521,7 +547,7 @@ const stopDrag = () => {
} }
.status-item .icon { .status-item .icon {
font-size: 1.1rem; width: 120px;
} }
.weather-info .text::after { .weather-info .text::after {
...@@ -538,6 +564,10 @@ const stopDrag = () => { ...@@ -538,6 +564,10 @@ const stopDrag = () => {
display: flex; display: flex;
justify-content: center; justify-content: center;
margin: 0 1rem; margin: 0 1rem;
/* width: 500px;
position: relative;
left: 80px; */
/* background-color: antiquewhite; */
} }
.title-container { .title-container {
...@@ -572,9 +602,19 @@ const stopDrag = () => { ...@@ -572,9 +602,19 @@ const stopDrag = () => {
.navbar-right { .navbar-right {
display: flex; display: flex;
align-items: center; align-items: center;
gap: 1.5rem; font-size: small;
width: 480px;
overflow: hidden;
padding-top: 10px;
/* background-color: #d10e0e; */
}
.timeColor{
color: #ddd;
}
.rightTime{
border-left: 1px solid #ddd;
height: 10px;
} }
.control-item { .control-item {
display: flex; display: flex;
align-items: center; align-items: center;
...@@ -662,10 +702,15 @@ const stopDrag = () => { ...@@ -662,10 +702,15 @@ const stopDrag = () => {
} }
@media (max-width: 992px) { @media (max-width: 992px) {
.navbar-left { /* .navbar-left {
display: none;
} */
.company-item{
display: none;
}
.digital-person-item{
display: none; display: none;
} }
.navbar-right { .navbar-right {
gap: 1rem; gap: 1rem;
} }
...@@ -701,9 +746,7 @@ const stopDrag = () => { ...@@ -701,9 +746,7 @@ const stopDrag = () => {
} }
@media (max-width: 576px) { @media (max-width: 576px) {
.navbar-right {
display: none;
}
.platform-title { .platform-title {
overflow: visible; overflow: visible;
......
...@@ -175,7 +175,7 @@ import { onActivated, onMounted, ref, watch } from 'vue'; ...@@ -175,7 +175,7 @@ import { onActivated, onMounted, ref, watch } from 'vue';
const props = defineProps(['satlTitle','errorDeviceList',"baseDeviceList"]) const props = defineProps(['satlTitle','errorDeviceList',"baseDeviceList"])
const emits = defineEmits(['errorDialoghandleClose']) const emits = defineEmits(['errorDialoghandleClose'])
//console.log("展示了",props.errorDeviceList,props.baseDeviceList);
// 状态管理 // 状态管理
const activeTab = ref('devices'); // 默认显示设备情况标签页 const activeTab = ref('devices'); // 默认显示设备情况标签页
const devices = ref([]) const devices = ref([])
...@@ -192,7 +192,7 @@ const deviceStatusMap = ref([ ...@@ -192,7 +192,7 @@ const deviceStatusMap = ref([
// 监听 errorDeviceList 的变化 // 监听 errorDeviceList 的变化
watch(() => props.errorDeviceList, (newVal) => { watch(() => props.errorDeviceList, (newVal) => {
// console.log("0000000000000",newVal.length,typeof newVal) // //console.log("0000000000000",newVal.length,typeof newVal)
if(newVal.length === 0){ if(newVal.length === 0){
devices.value = [] devices.value = []
return return
...@@ -213,7 +213,7 @@ watch(() => props.errorDeviceList, (newVal) => { ...@@ -213,7 +213,7 @@ watch(() => props.errorDeviceList, (newVal) => {
name: item.elementName || '未知设备', name: item.elementName || '未知设备',
status: item.statue === '正常' ? 'normal' : 'error', status: item.statue === '正常' ? 'normal' : 'error',
expanded: false, expanded: false,
errorDetails: item.stAlarmInfoResponse || null errorDetails: item.stAlarmInfoResponse?.locationInfo || null
})) }))
} else if (newVal && typeof newVal === 'object') { } else if (newVal && typeof newVal === 'object') {
// 如果是普通对象,尝试直接使用 // 如果是普通对象,尝试直接使用
...@@ -221,7 +221,7 @@ watch(() => props.errorDeviceList, (newVal) => { ...@@ -221,7 +221,7 @@ watch(() => props.errorDeviceList, (newVal) => {
name: newVal.elementName || '未知设备', name: newVal.elementName || '未知设备',
status: newVal.statue === '正常' ? 'normal' : 'error', status: newVal.statue === '正常' ? 'normal' : 'error',
expanded: false, expanded: false,
errorDetails: newVal.stAlarmInfoResponse || null errorDetails: newVal.stAlarmInfoResponse?.locationInfo || null
}] }]
} }
}, { immediate: true }) }, { immediate: true })
...@@ -231,7 +231,7 @@ watch(() => props.baseDeviceList, (newVal) => { ...@@ -231,7 +231,7 @@ watch(() => props.baseDeviceList, (newVal) => {
newVal.forEach(item => { newVal.forEach(item => {
deviceStatusMap.value.push([{ deviceStatusMap.value.push([{
label: `天线${item.number }发射率 `, label: `天线${item.number }发射率 `,
value: item.power || '0', value: item.power || '0',
status: item.power !==0 ? 'normal' : 'error', status: item.power !==0 ? 'normal' : 'error',
}, },
...@@ -253,7 +253,7 @@ watch(() => props.baseDeviceList, (newVal) => { ...@@ -253,7 +253,7 @@ watch(() => props.baseDeviceList, (newVal) => {
]) ])
}) })
console.log("11111EIRP111111baseDeviceList",newVal,deviceStatusMap.value) //console.log("11111EIRP111111baseDeviceList",newVal,deviceStatusMap.value)
// deviceStatusMap.value = [ // deviceStatusMap.value = [
// {label: '天线发射频率',value: newVal.antennaTransmitPower ,status: 1 ? 'normal' : 'error',}, // {label: '天线发射频率',value: newVal.antennaTransmitPower ,status: 1 ? 'normal' : 'error',},
// {label: '天线发射EIRP',value: newVal.antennaEip ,status: 0? 'normal' : 'error',}, // {label: '天线发射EIRP',value: newVal.antennaEip ,status: 0? 'normal' : 'error',},
...@@ -274,11 +274,7 @@ const toggleExpand = (device) => { ...@@ -274,11 +274,7 @@ const toggleExpand = (device) => {
const closePanel = () => { const closePanel = () => {
emits('errorDialoghandleClose') emits('errorDialoghandleClose')
}; };
onActivated(() => {
activeTab.value = 'devices';
console.log("展示了");
})
</script> </script>
<style scoped> <style scoped>
...@@ -286,15 +282,21 @@ onActivated(() => { ...@@ -286,15 +282,21 @@ onActivated(() => {
.device-monitor { .device-monitor {
width: 280px; width: 280px;
height: 380px; height: 380px;
background-color: #1e1e2d; position: fixed; /* 改为fixed定位 */
border-radius: 10px; bottom: 0.5vh;
/* box-shadow: 0 10px 25px rgba(0, 0, 0, 0.4); */ left: 400px;
color: #e0e0e0; background: #1a1a1a;
/* font-family: 'Consolas', monospace; */ border-radius: 4px;
display: flex; z-index: 1001;
flex-direction: column;
overflow: hidden; 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(() => { ...@@ -442,7 +444,7 @@ onActivated(() => {
} }
.content_info{ .content_info{
height: 100%; height: 100%;
background-color: #4488f5; /* background-color: #4488f5; */
} }
/* 表格头部 */ /* 表格头部 */
...@@ -452,7 +454,7 @@ onActivated(() => { ...@@ -452,7 +454,7 @@ onActivated(() => {
/* background: linear-gradient(to bottom, #25253a, #1e1e2d); */ /* background: linear-gradient(to bottom, #25253a, #1e1e2d); */
font-weight: 500; font-weight: 500;
font-size: 15px; font-size: 15px;
color: #a0a0a0; color: #d1d0d0;
border-bottom: 1px solid #383850; border-bottom: 1px solid #383850;
position: sticky; position: sticky;
top: 0; top: 0;
...@@ -465,8 +467,8 @@ onActivated(() => { ...@@ -465,8 +467,8 @@ onActivated(() => {
} }
.device-name { .device-name {
flex: 1; flex: 1.2;
overflow: hidden;
} }
.device-name1{ .device-name1{
flex: 1; flex: 1;
...@@ -487,21 +489,25 @@ onActivated(() => { ...@@ -487,21 +489,25 @@ onActivated(() => {
/* 设备列表样式 */ /* 设备列表样式 */
.device-list { .device-list {
padding: 0 10px; padding: 0 10px;
max-height: calc(100% - 50px); /* max-height: 260px; */
overflow-y: auto; overflow-y: auto;
z-index: 20; z-index: 20;
height: 260px;
color: #d1d0d0;
} }
.device-list1{ .device-list1{
padding: 0 10px; padding: 0 10px;
max-height: calc(100% - 30px ); max-height:290px;
overflow-y: auto; overflow-y: auto;
z-index: 20; z-index: 20;
color: #d1d0d0;
} }
.device-item { .device-item {
margin-bottom: 1px; margin-bottom: 1px;
border-radius: 6px; border-radius: 6px;
overflow: hidden; overflow-Y: auto;
transition: all 0.2s; transition: all 0.2s;
/* background-color: rgba(255, 255, 255, 0.02); */ /* background-color: rgba(255, 255, 255, 0.02); */
/* border: 1px solid rgba(255, 255, 255, 0.05); */ /* border: 1px solid rgba(255, 255, 255, 0.05); */
} }
...@@ -519,10 +525,14 @@ onActivated(() => { ...@@ -519,10 +525,14 @@ onActivated(() => {
align-items: center; align-items: center;
cursor: pointer; cursor: pointer;
transition: background-color 0.2s; transition: background-color 0.2s;
} overflow: auto;
}
.has-error{
overflow: hidden;
}
.has-error .device-row { .has-error .device-row {
position: relative; position: relative;
left: -20px; left: -20px;
...@@ -544,6 +554,9 @@ onActivated(() => { ...@@ -544,6 +554,9 @@ onActivated(() => {
font-size: 12px; font-size: 12px;
/* color: #f87171; */ /* color: #f87171; */
/* margin-right: 6px; */ /* margin-right: 6px; */
position: relative;
top: 3px;
overflow: hidden;
transition: transform 0.2s; transition: transform 0.2s;
} }
...@@ -582,7 +595,9 @@ onActivated(() => { ...@@ -582,7 +595,9 @@ onActivated(() => {
.error-details-container { .error-details-container {
background-color: #25253a; background-color: #25253a;
border-radius: 0 0 6px 6px; border-radius: 0 0 6px 6px;
/* overflow-Y: auto; */
overflow: hidden; overflow: hidden;
color: #ffffff;
animation: fadeIn 0.3s ease-out; animation: fadeIn 0.3s ease-out;
border-top: 1px solid rgba(248, 113, 113, 0.2); border-top: 1px solid rgba(248, 113, 113, 0.2);
} }
...@@ -590,9 +605,10 @@ onActivated(() => { ...@@ -590,9 +605,10 @@ onActivated(() => {
.error-details { .error-details {
padding: 12px 20px; padding: 12px 20px;
font-size: 10px; font-size: 10px;
color: #e2e8f0; color: #ffffff;
background-color: rgba(45, 45, 68, 0.7); background-color: rgba(45, 45, 68, 0.7);
line-height: 1.6; line-height: 1.6;
overflow: hidden;
} }
.error-detail-item { .error-detail-item {
...@@ -631,9 +647,10 @@ onActivated(() => { ...@@ -631,9 +647,10 @@ onActivated(() => {
padding: 20px; padding: 20px;
font-size: 14px; font-size: 14px;
color: #888888; color: #888888;
min-height: 260px;
} }
::-webkit-scrollbar { ::-webkit-scrollbar {
width: 6px; width: 1px !important;
} }
::-webkit-scrollbar-track { ::-webkit-scrollbar-track {
...@@ -642,7 +659,7 @@ onActivated(() => { ...@@ -642,7 +659,7 @@ onActivated(() => {
::-webkit-scrollbar-thumb { ::-webkit-scrollbar-thumb {
background: #444460; background: #444460;
border-radius: 3px; border-radius: 1px;
} }
::-webkit-scrollbar-thumb:hover { ::-webkit-scrollbar-thumb:hover {
......
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论