| New file |
| | |
| | | .system-control-panel { |
| | | position: absolute; |
| | | top: 15px; |
| | | left: 50%; |
| | | transform: translateX(-50%); |
| | | background: rgba(240, 248, 255, 0.7); |
| | | border-radius: 16px; |
| | | padding: 8px 20px; |
| | | box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); |
| | | backdrop-filter: blur(6px); |
| | | border: 1px solid rgba(255, 255, 255, 0.6); |
| | | z-index: 100; |
| | | display: flex; |
| | | align-items: center; |
| | | min-width: 260px; |
| | | justify-content: center; |
| | | transition: all 0.3s ease; |
| | | } |
| | | |
| | | .system-control-panel:hover { |
| | | background: rgba(240, 248, 255, 0.85); |
| | | box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12); |
| | | } |
| | | |
| | | .system-status { |
| | | display: flex; |
| | | align-items: center; |
| | | margin-right: 12px; |
| | | } |
| | | |
| | | .status-indicator { |
| | | width: 10px; |
| | | height: 10px; |
| | | border-radius: 50%; |
| | | margin-right: 8px; |
| | | } |
| | | |
| | | .status-running { |
| | | background-color: #13ce66; |
| | | box-shadow: 0 0 6px rgba(19, 206, 102, 0.8); |
| | | animation: pulse-green 2s infinite; |
| | | } |
| | | |
| | | .status-stopped { |
| | | background-color: #A64036; |
| | | box-shadow: 0 0 6px rgba(166, 64, 54, 0.6); |
| | | } |
| | | |
| | | .status-text { |
| | | font-weight: 600; |
| | | font-size: 13px; |
| | | color: #2c3e50; |
| | | } |
| | | |
| | | .custom-switch { |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | |
| | | .el-switch { |
| | | transform: scale(0.9); |
| | | } |
| | | |
| | | @keyframes pulse-green { |
| | | 0% { box-shadow: 0 0 0 0 rgba(19, 206, 102, 0.5); } |
| | | 70% { box-shadow: 0 0 0 6px rgba(19, 206, 102, 0); } |
| | | 100% { box-shadow: 0 0 0 0 rgba(19, 206, 102, 0); } |
| | | } |
| | | |
| | | .license-info { |
| | | position: absolute; |
| | | top: 60px; |
| | | left: 50%; |
| | | transform: translateX(-50%); |
| | | background: rgba(255, 255, 255, 0.85); |
| | | padding: 8px 18px; |
| | | border-radius: 6px; |
| | | font-size: 13px; |
| | | font-weight: 600; |
| | | box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); |
| | | backdrop-filter: blur(4px); |
| | | border: 1px solid rgba(255, 255, 255, 0.6); |
| | | z-index: 99; |
| | | display: flex; |
| | | align-items: center; |
| | | transition: all 0.3s ease; |
| | | max-width: 80%; |
| | | text-align: center; |
| | | } |
| | | |
| | | .license-info.normal { |
| | | color: #13ce66; |
| | | background: rgba(255, 255, 255, 0.85); |
| | | display: none; /* 大于30天时隐藏 */ |
| | | } |
| | | |
| | | .license-info.warning { |
| | | color: #e6a23c; |
| | | background: rgba(255, 247, 230, 0.85); |
| | | border: 1px solid rgba(230, 162, 60, 0.3); |
| | | } |
| | | |
| | | .license-info.expired { |
| | | color: #f56c6c; |
| | | background: rgba(255, 235, 235, 0.85); |
| | | border: 1px solid rgba(245, 108, 108, 0.3); |
| | | animation: pulse-red 2s infinite; |
| | | } |
| | | |
| | | .license-icon { |
| | | margin-right: 8px; |
| | | font-size: 14px; |
| | | } |
| | | |
| | | @keyframes pulse-red { |
| | | 0% { box-shadow: 0 0 0 0 rgba(245, 108, 108, 0.3); } |
| | | 70% { box-shadow: 0 0 0 6px rgba(245, 108, 108, 0); } |
| | | 100% { box-shadow: 0 0 0 0 rgba(245, 108, 108, 0); } |
| | | } |
| | | |
| | | body { |
| | | font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; |
| | | margin: 0; |
| | | padding: 0; |
| | | background-color: #a0d2eb; |
| | | color: #ffffff; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | height: 100vh; |
| | | |
| | | background: linear-gradient(135deg, #e6f7ff 0%, #f0f8ff 100%); |
| | | overflow: hidden; |
| | | position: relative; |
| | | } |
| | | .tech-background { |
| | | position: fixed; |
| | | top: 0; |
| | | left: 0; |
| | | width: 100%; |
| | | height: 100%; |
| | | z-index: -1; |
| | | pointer-events: none; |
| | | opacity: 0.6; |
| | | } |
| | | |
| | | .grid-overlay { |
| | | position: absolute; |
| | | top: 0; |
| | | left: 0; |
| | | width: 100%; |
| | | height: 100%; |
| | | background-image: |
| | | linear-gradient(rgba(66, 134, 244, 0.08) 1px, transparent 1px), |
| | | linear-gradient(90deg, rgba(66, 134, 244, 0.08) 1px, transparent 1px); |
| | | background-size: 40px 40px; |
| | | perspective: 1000px; |
| | | transform-style: preserve-3d; |
| | | transform: perspective(500px) rotateX(60deg); |
| | | } |
| | | |
| | | .glow-effect { |
| | | position: absolute; |
| | | width: 100%; |
| | | height: 100%; |
| | | top: 0; |
| | | left: 0; |
| | | background: |
| | | radial-gradient(circle at 20% 30%, rgba(41, 128, 185, 0.3) 0%, transparent 40%), |
| | | radial-gradient(circle at 80% 70%, rgba(46, 204, 113, 0.3) 0%, transparent 40%); |
| | | filter: blur(10px); |
| | | } |
| | | |
| | | .particles-container { |
| | | position: absolute; |
| | | width: 100%; |
| | | height: 100%; |
| | | top: 0; |
| | | left: 0; |
| | | } |
| | | |
| | | .particle { |
| | | position: absolute; |
| | | background-color: rgba(255, 255, 255, 0.5); |
| | | border-radius: 50%; |
| | | animation: float 15s infinite ease-in-out; |
| | | } |
| | | |
| | | @keyframes float { |
| | | 0%, 100% { |
| | | transform: translateY(0) translateX(0); |
| | | opacity: 0.2; |
| | | } |
| | | 50% { |
| | | transform: translateY(-20px) translateX(20px); |
| | | opacity: 0.6; |
| | | } |
| | | } |
| | | |
| | | header { |
| | | background-color: #2196F3; |
| | | color: white; |
| | | padding: 15px 20px; |
| | | text-align: center; |
| | | font-size: 24px; |
| | | letter-spacing: 1px; |
| | | box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3); |
| | | } |
| | | .map { |
| | | position: relative; |
| | | width: 52vw; |
| | | height: 72vh; |
| | | border-radius: 50%; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | } |
| | | .inner-ring, .outer-ring { |
| | | position: absolute; |
| | | border-radius: 50%; |
| | | } |
| | | .inner-ring { |
| | | width: 72vh; |
| | | height: 72vh; |
| | | border: 4px solid #00E676; |
| | | box-shadow: inset 0 0 30px rgba(0, 230, 118, 0.5), 0 0 20px rgba(0, 230, 118, 0.5); |
| | | } |
| | | .outer-ring { |
| | | width: 80vh; |
| | | height: 80vh; |
| | | border: 4px solid #00E676; |
| | | box-shadow: inset 0 0 30px rgba(0, 230, 118, 0.5), 0 0 20px rgba(0, 230, 118, 0.5); |
| | | } |
| | | .station { |
| | | position: absolute; |
| | | width: 20px; |
| | | height: 14px; |
| | | text-align: center; |
| | | line-height: 1.5; /* 调整行高与字体大小的比值 */ |
| | | font-size: 10px; /* 设置更小的字体 */ |
| | | font-weight: bold; |
| | | transition: transform 0.3s ease; |
| | | background-color: #ab1839; |
| | | transform: scale(1); /* 可选:如果不需要放大效果 */ |
| | | } |
| | | .bus { |
| | | font-size: 10px; |
| | | background-color: #2196F3; |
| | | /*border: 10px solid #ffffff;*/ |
| | | position: absolute; |
| | | width: 15px; |
| | | height: 15px; |
| | | border-radius: 50%; |
| | | text-align: center; |
| | | line-height: 15px; |
| | | font-weight: bold; |
| | | transition: transform 0.3s ease; |
| | | /* 3D效果 */ |
| | | transform: translateZ(0); |
| | | border: 10px solid rgba(255, 255, 255, 0.8); |
| | | } |
| | | |
| | | @keyframes pulse { |
| | | 0% { box-shadow: 0 0 0 0 rgba(33, 150, 243, 0.7); } |
| | | 70% { box-shadow: 0 0 0 10px rgba(33, 150, 243, 0); } |
| | | 100% { box-shadow: 0 0 0 0 rgba(33, 150, 243, 0); } |
| | | } |
| | | .station:hover, .bus:hover { |
| | | transform: scale(1.4); |
| | | z-index: 999; |
| | | } |
| | | |
| | | .task-bar-left { |
| | | position: fixed; |
| | | top: 1%; |
| | | /*transform: translateY(-50%);*/ |
| | | width: 25%; /* 设置宽度 */ |
| | | background-color: rgba(255, 255, 255, 0); /* 半透明背景 */ |
| | | |
| | | border-radius: 5px; |
| | | padding: 10px; |
| | | box-shadow: 0 0 10px rgba(0, 0, 0, 0); |
| | | z-index: 1000; /* 确保在其他元素之上 */ |
| | | } |
| | | |
| | | .task-bar-left1 { |
| | | position: fixed; |
| | | top: 8%; |
| | | /*transform: translateY(-50%);*/ |
| | | width: 25%; /* 设置宽度 */ |
| | | background-color: rgba(255, 255, 255, 0); /* 半透明背景 */ |
| | | |
| | | border-radius: 5px; |
| | | padding: 10px; |
| | | box-shadow: 0 0 10px rgba(0, 0, 0, 0); |
| | | z-index: 1000; /* 确保在其他元素之上 */ |
| | | } |
| | | |
| | | .task-bar-right { |
| | | position: fixed; |
| | | top: 1%; |
| | | /*transform: translateY(-50%);*/ |
| | | width: 25%; /* 设置宽度 */ |
| | | background-color: rgba(255, 255, 255, 0); /* 半透明背景 */ |
| | | |
| | | border-radius: 5px; |
| | | padding: 10px; |
| | | box-shadow: 0 0 10px rgba(0, 0, 0, 0); |
| | | z-index: 1000; /* 确保在其他元素之上 */ |
| | | } |
| | | |
| | | .task-bar-right1 { |
| | | position: fixed; |
| | | top: 5%; |
| | | /*transform: translateY(-50%);*/ |
| | | width: 25%; /* 设置宽度 */ |
| | | background-color: rgba(255, 255, 255, 0); |
| | | |
| | | border-radius: 5px; |
| | | padding: 10px; |
| | | box-shadow: 0 0 10px rgba(0, 0, 0, 0); |
| | | z-index: 1000; |
| | | } |
| | | |
| | | .task-bar-div1 { |
| | | /*width: 100%; !* 设置宽度 *!*/ |
| | | background-color: rgba(255, 255, 255, 0.8); |
| | | box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); |
| | | } |
| | | |
| | | .left-task-bar { |
| | | left: 20px; |
| | | /*bottom: 100px;*/ |
| | | } |
| | | |
| | | .right-task-bar { |
| | | /*bottom: 100px;*/ |
| | | right: 20px; |
| | | } |
| | | |
| | | .el-table .warning-row { |
| | | background: oldlace; |
| | | } |
| | | |
| | | .el-table .success-row { |
| | | background: #f0f9eb; |
| | | } |
| | | .container { |
| | | width: 52vw; |
| | | height: 72vh; |
| | | position: absolute; |
| | | /*background: #8c939d;*/ |
| | | } |
| | | .bus-station { |
| | | width: 100vh; |
| | | height: 72vh; |
| | | position: absolute; |
| | | display: flex; |
| | | /*background: #8c939d;*/ |
| | | } |
| | | .bus-item-top { |
| | | background: red; |
| | | position: relative; |
| | | width: 40px; |
| | | height: 60px; |
| | | line-height: 60px; |
| | | top: 880px; |
| | | text-align: center; |
| | | } |
| | | .bus-item-left { |
| | | background: red; |
| | | position: relative; |
| | | width: 60px; |
| | | height: 40px; |
| | | line-height: 40px; |
| | | left: 1230px; |
| | | text-align: center; |
| | | } |
| | | .bus-item-left2 { |
| | | background: red; |
| | | position: relative; |
| | | width: 60px; |
| | | height: 40px; |
| | | line-height: 40px; |
| | | left: 1000px; |
| | | text-align: center; |
| | | } |
| | | |
| | | .station { |
| | | position: absolute; |
| | | width: 24px; |
| | | height: 24px; |
| | | text-align: center; |
| | | line-height: 24px; |
| | | font-size: 10px; |
| | | font-weight: bold; |
| | | transition: all 0.3s ease; |
| | | background-color: #ab1839; |
| | | border-radius: 4px; |
| | | color: white; |
| | | box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3); |
| | | transform: scale(1); |
| | | z-index: 10; |
| | | /* 嵌套效果 */ |
| | | border: 2px solid white; |
| | | } |
| | | |
| | | .station::before { |
| | | content: ''; |
| | | position: absolute; |
| | | top: 3px; |
| | | left: 3px; |
| | | right: 3px; |
| | | bottom: 3px; |
| | | /*border: 1px solid rgba(255, 255, 255, 0.8);*/ |
| | | border-radius: 2px; |
| | | pointer-events: none; |
| | | } |
| | | |
| | | .station::after { |
| | | content: ''; |
| | | position: absolute; |
| | | width: 100%; |
| | | height: 100%; |
| | | top: 0; |
| | | left: 0; |
| | | pointer-events: none; |
| | | } |
| | | |
| | | .station .corner { |
| | | position: absolute; |
| | | width: 0; |
| | | height: 0; |
| | | border-style: solid; |
| | | border-width: 0 4px 4px 0; |
| | | border-color: transparent #ffffff transparent transparent; |
| | | } |
| | | |
| | | .station .corner-tl { |
| | | top: -2px; |
| | | left: -2px; |
| | | transform: rotate(0deg); |
| | | } |
| | | |
| | | .station .corner-tr { |
| | | top: -2px; |
| | | right: -2px; |
| | | transform: rotate(90deg); |
| | | } |
| | | |
| | | .station .corner-bl { |
| | | bottom: -2px; |
| | | left: -2px; |
| | | transform: rotate(270deg); |
| | | } |
| | | |
| | | .station .corner-br { |
| | | bottom: -2px; |
| | | right: -2px; |
| | | transform: rotate(180deg); |
| | | } |
| | | |
| | | .station:hover { |
| | | transform: scale(1.6); |
| | | z-index: 999; |
| | | box-shadow: 0 0 15px rgba(171, 24, 57, 0.8); |
| | | } |