| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772 |
- .anomaly-detail-page {
- height: 100%;
- min-height: 0;
- overflow-y: auto;
- padding: 16px;
- box-sizing: border-box;
- font-family: "Microsoft YaHei", system-ui, sans-serif;
- }
- .anomaly-detail-toolbar-container {
- gap: 14px;
- flex-wrap: wrap;
- border-radius: 12px;
- padding: 10px 14px;
- margin-bottom: 20px;
- }
- .anomaly-detail-toolbar {
- display: flex;
- align-items: center;
- justify-content: flex-start;
- gap: 14px;
- flex-wrap: wrap;
- border-radius: 12px;
- padding: 10px 14px;
- margin-bottom: 20px;
- }
- .anomaly-detail-back {
- flex-shrink: 0;
- }
- .anomaly-detail-tabs {
- display: flex;
- align-items: center;
- gap: 8px;
- // flex-wrap: wrap;
- flex: 1;
- min-width: 0;
- }
- .anomaly-detail-tab {
- border: 0;
- background: transparent;
- font-size: 12px;
- padding: 8px 10px;
- border-radius: 8px;
- cursor: pointer;
- border-bottom: 2px solid transparent;
- transition: all 0.25s ease;
- }
- .anomaly-detail-filters {
- display: flex;
- align-items: center;
- gap: 12px;
- flex-wrap: wrap;
- margin-left: auto;
- }
- .anomaly-detail-meta {
- display: flex;
- align-items: center;
- gap: 10px;
- flex-wrap: wrap;
- font-size: 12px;
- }
- .anomaly-detail-meta__item {
- display: inline-flex;
- align-items: center;
- max-width: 180px;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
- color: var(--anomaly-muted, #606266);
- }
- .anomaly-detail-filter {
- font-size: 12px;
- display: flex;
- align-items: center;
- gap: 6px;
- }
- .anomaly-detail-filter-select {
- width: 180px;
- }
- .anomaly-detail-filter-date {
- width: 150px;
- }
- .anomaly-detail-main {
- display: grid;
- grid-template-columns: minmax(380px, 44%) minmax(0, 1fr);
- gap: 20px;
- }
- .anomaly-detail-accordion,
- .anomaly-detail-chart-panel,
- .anomaly-detail-table-wrap,
- .anomaly-detail-chart-card {
- border-radius: 12px;
- padding: 14px;
- }
- .anomaly-detail-acc-item {
- border-radius: 8px;
- margin-bottom: 10px;
- overflow: hidden;
- }
- .anomaly-detail-acc-head {
- min-height: 40px;
- display: flex;
- align-items: center;
- gap: 8px;
- padding: 8px 12px;
- cursor: pointer;
- font-size: 13px;
- font-weight: 600;
- transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
- }
- .anomaly-detail-acc-item.open .anomaly-detail-acc-head {
- font-weight: 700;
- }
- .anomaly-detail-acc-grid {
- display: grid;
- grid-template-columns:
- minmax(96px, 0.9fr) minmax(0, 1.25fr) minmax(120px, 1fr)
- minmax(74px, 0.85fr);
- }
- .anomaly-detail-acc-grid .acc-cell {
- min-height: 38px;
- display: flex;
- align-items: center;
- padding: 0 10px;
- font-size: 12px;
- border-bottom: 1px solid rgba(141, 171, 194, 0.25);
- border-right: 1px solid rgba(141, 171, 194, 0.25);
- }
- .anomaly-detail-acc-grid .acc-cell:nth-child(4n) {
- border-right: 0;
- }
- .anomaly-detail-acc-grid .sensor-title,
- .anomaly-detail-acc-grid .status-title {
- font-weight: 600;
- }
- .anomaly-detail-acc-grid .sensor-value,
- .anomaly-detail-acc-grid .status-value {
- grid-column: span 3;
- border-right: 0;
- white-space: normal;
- line-height: 1.5;
- padding: 7px 10px;
- }
- .anomaly-detail-chart {
- height: 380px;
- width: 100%;
- }
- .anomaly-detector-plot {
- display: flex;
- flex-direction: column;
- min-height: 380px;
- }
- .anomaly-detector-plot__head {
- display: flex;
- align-items: center;
- justify-content: center;
- gap: 8px;
- min-height: 32px;
- margin-bottom: 6px;
- }
- .anomaly-detector-plot__title {
- flex: 1;
- text-align: center;
- font-size: 12px;
- font-weight: 600;
- line-height: 1.4;
- color: var(--anomaly-title, #e3f2ff);
- }
- .anomaly-detector-plot__nav {
- width: 28px;
- height: 28px;
- border: 1px solid rgba(0, 242, 255, 0.35);
- border-radius: 6px;
- background: rgba(0, 242, 255, 0.08);
- color: #22e8ff;
- cursor: pointer;
- display: inline-flex;
- align-items: center;
- justify-content: center;
- flex-shrink: 0;
- &:disabled {
- opacity: 0.35;
- cursor: not-allowed;
- }
- }
- .anomaly-detector-plot__counter {
- font-size: 11px;
- color: var(--anomaly-muted, #8da3c7);
- flex-shrink: 0;
- }
- .anomaly-detector-plot__chart {
- flex: 1;
- min-height: 320px;
- }
- .anomaly-detector-plot__dots {
- display: flex;
- justify-content: center;
- gap: 6px;
- margin-top: 8px;
- }
- .anomaly-detector-plot__dot {
- width: 8px;
- height: 8px;
- border-radius: 50%;
- border: 0;
- padding: 0;
- background: rgba(141, 171, 194, 0.45);
- cursor: pointer;
- &.active {
- background: #22e8ff;
- box-shadow: 0 0 6px rgba(34, 232, 255, 0.6);
- }
- }
- .anomaly-detector-plot__loading,
- .anomaly-detector-plot__empty {
- flex: 1;
- display: flex;
- align-items: center;
- justify-content: center;
- font-size: 13px;
- color: var(--anomaly-muted, #8da3c7);
- min-height: 320px;
- }
- .anomaly-detector-plot__image-wrap {
- flex: 1;
- display: flex;
- align-items: center;
- justify-content: center;
- min-height: 320px;
- overflow: hidden;
- }
- .anomaly-detector-plot__image {
- max-width: 100%;
- max-height: 360px;
- object-fit: contain;
- }
- .anomaly-detail-table-wrap {
- margin-top: 16px;
- }
- .anomaly-detail-table-tabs {
- display: flex;
- gap: 8px;
- margin-bottom: 12px;
- border-bottom: 1px solid rgba(0, 242, 255, 0.15);
- }
- .detail-table-tab {
- border: 0;
- background: transparent;
- font-size: 12px;
- padding: 8px 12px;
- border-radius: 8px 8px 0 0;
- cursor: pointer;
- border-bottom: 2px solid transparent;
- }
- .anomaly-detail-table-title {
- font-size: 14px;
- font-weight: 600;
- margin-bottom: 10px;
- }
- .anomaly-detail-table {
- width: 100%;
- background: transparent !important;
- &::before {
- display: none;
- }
- th.el-table__cell {
- font-size: 12px;
- font-weight: 600;
- }
- td.el-table__cell {
- font-size: 12px;
- line-height: 1.5;
- }
- .el-table__body .cell {
- line-height: 1.5;
- }
- }
- .anomaly-detail-table-pagination {
- margin-top: 12px;
- text-align: right;
- }
- .anomaly-detail-charts-grid {
- display: grid;
- grid-template-columns: repeat(2, minmax(0, 1fr));
- gap: 20px;
- }
- .anomaly-detail-chart-card__head {
- display: flex;
- justify-content: space-between;
- align-items: center;
- margin-bottom: 10px;
- flex-wrap: wrap;
- gap: 8px;
- }
- .anomaly-detail-chart-card__title {
- font-size: 15px;
- font-weight: 500;
- }
- .anomaly-detail-toggle span {
- font-size: 12px;
- padding: 4px 12px;
- border-radius: 20px;
- cursor: pointer;
- margin-left: 6px;
- border: 1px solid transparent;
- }
- .anomaly-detail-trend-custom {
- width: 100px;
- margin-left: 6px;
- vertical-align: middle;
- }
- .anomaly-detail-chart-box {
- height: 310px;
- width: 100%;
- }
- .status-tag {
- display: inline-flex;
- align-items: center;
- justify-content: center;
- min-width: 52px;
- height: 22px;
- padding: 0 10px;
- border-radius: 11px;
- font-size: 12px;
- font-weight: 600;
- line-height: 1;
- letter-spacing: 0.02em;
- border: 1px solid transparent;
- box-sizing: border-box;
- }
- @media (max-width: 1100px) {
- .anomaly-detail-main {
- grid-template-columns: 1fr;
- }
- .anomaly-detail-charts-grid {
- grid-template-columns: 1fr;
- }
- }
- /* 非科技蓝浅色 */
- html:not([data-theme="tech-blue"]) {
- .anomaly-detail-page {
- background: var(--anomaly-page-bg, #f5f7fa);
- color: var(--anomaly-page-text, #303133);
- .el-loading-mask {
- background-color: var(
- --anomaly-loading-bg,
- rgba(255, 255, 255, 0.72)
- ) !important;
- }
- }
- .anomaly-detail-toolbar,
- .anomaly-detail-accordion,
- .anomaly-detail-chart-panel,
- .anomaly-detail-table-wrap,
- .anomaly-detail-chart-card {
- background: var(--anomaly-card-bg, #ffffff);
- border: 1px solid var(--anomaly-card-border, #ebeef5);
- box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
- }
- .anomaly-detail-tab {
- color: var(--anomaly-muted, #909399);
- &:hover,
- &.active {
- color: var(--primary-color, #008080);
- background: var(--bgopacity-color, rgba(0, 128, 128, 0.08));
- border-bottom-color: var(--primary-color, #008080);
- }
- }
- .anomaly-detail-filter {
- color: var(--anomaly-page-text, #606266);
- }
- .anomaly-detail-acc-item {
- border: 1px solid var(--anomaly-card-border, #ebeef5);
- }
- .anomaly-detail-acc-head {
- background: var(--anomaly-radar-panel-bg, #f5f7fa);
- color: var(--anomaly-title, #303133);
- &.active {
- background: var(--bgopacity-color, rgba(0, 128, 128, 0.12));
- color: var(--primary-color, #008080);
- box-shadow: inset 3px 0 0 var(--primary-color, #008080);
- }
- }
- .anomaly-detail-acc-grid .acc-cell {
- color: var(--anomaly-page-text, #606266);
- border-color: var(--anomaly-card-border, #ebeef5);
- }
- .status-tag.normal {
- color: #529b2e;
- background: #f0f9eb;
- border-color: #b3e19d;
- }
- .status-tag.error {
- color: #c45656;
- background: #fef0f0;
- border-color: #f5c4c4;
- }
- .status-tag.over {
- color: #b88230;
- background: #fdf6ec;
- border-color: #f3d19e;
- }
- .status-tag.under {
- color: #c45656;
- background: #fef0f0;
- border-color: #f5c4c4;
- }
- .status-tag.muted {
- color: #909399;
- background: #f4f4f5;
- border-color: #e9e9eb;
- }
- .detail-table-tab {
- color: var(--anomaly-muted, #909399);
- &.active {
- color: var(--primary-color, #008080);
- border-bottom-color: var(--primary-color, #008080);
- }
- }
- .anomaly-detail-table-title,
- .anomaly-detail-chart-card__title {
- color: var(--anomaly-title, #303133);
- }
- .anomaly-detail-table {
- th.el-table__cell {
- background: var(--table-header-bg, #9c9a3f) !important;
- color: var(--table-header-text, #ffffff) !important;
- border-color: #e4e7ed !important;
- .cell {
- color: var(--table-header-text, #ffffff) !important;
- }
- }
- td.el-table__cell {
- background: #ffffff !important;
- color: #303133 !important;
- border-color: #ebeef5 !important;
- .cell {
- color: #303133 !important;
- }
- }
- &.el-table--striped
- .el-table__body
- tr.el-table__row--striped
- td.el-table__cell {
- background: #f2f4f7 !important;
- }
- .el-table__body tr:hover > td.el-table__cell {
- background: #e8f4f4 !important;
- .cell {
- color: #303133 !important;
- }
- }
- }
- .anomaly-detail-table-pagination {
- .el-pagination__total,
- .el-pagination__jump {
- color: var(--anomaly-muted, #606266);
- }
- }
- .anomaly-detail-toggle span {
- color: var(--anomaly-muted, #909399);
- border-color: var(--anomaly-card-border, #dcdfe6);
- &.active {
- color: var(--primary-color, #008080);
- border-color: var(--primary-color, #008080);
- background: var(--bgopacity-color, rgba(0, 128, 128, 0.08));
- }
- }
- .anomaly-detail-meta__item {
- color: var(--anomaly-muted, #606266);
- }
- .anomaly-detail-trend-custom {
- .el-input__inner {
- background: var(--anomaly-input-bg, #ffffff);
- color: var(--anomaly-text, #303133);
- border-color: var(--anomaly-card-border, #dcdfe6);
- }
- }
- }
- /* 科技蓝大屏 */
- html[data-theme="tech-blue"] {
- .anomaly-detail-page {
- background-color: #050e23;
- background-image: radial-gradient(
- circle at 50% 50%,
- rgba(16, 33, 79, 0.8) 0%,
- transparent 80%
- ),
- linear-gradient(rgba(18, 16, 16, 0.4) 1px, transparent 1px),
- linear-gradient(90deg, rgba(18, 16, 16, 0.4) 1px, transparent 1px);
- background-size: 100% 100%, 30px 30px, 30px 30px;
- color: #e2e8f0;
- }
- .anomaly-detail-toolbar,
- .anomaly-detail-accordion,
- .anomaly-detail-chart-panel,
- .anomaly-detail-table-wrap,
- .anomaly-detail-chart-card {
- background: rgba(13, 25, 48, 0.7);
- backdrop-filter: blur(12px);
- border: 1px solid rgba(0, 242, 255, 0.2);
- box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.8);
- }
- .anomaly-detail-tab {
- color: #64748b;
- &:hover {
- color: #00f2ff;
- }
- &.active {
- color: #00f2ff;
- background: rgba(0, 242, 255, 0.1);
- border-bottom-color: #00f2ff;
- font-weight: 600;
- }
- }
- .anomaly-detail-filter {
- color: #9ecce6;
- }
- .anomaly-detail-acc-item {
- border: 1px solid rgba(0, 242, 255, 0.2);
- }
- .anomaly-detail-acc-head {
- background: rgba(13, 25, 48, 0.7);
- color: #ffffff;
- &.active {
- background: rgba(0, 242, 255, 0.14);
- color: #00f2ff;
- box-shadow: inset 3px 0 0 #00f2ff, 0 0 12px rgba(0, 242, 255, 0.12);
- }
- }
- .anomaly-detail-acc-grid .acc-cell {
- color: #c7dcef;
- border-color: rgba(141, 171, 194, 0.25);
- }
- .anomaly-detail-acc-grid .sensor-title,
- .anomaly-detail-acc-grid .status-title {
- color: #e3f2ff;
- }
- .status-tag.normal {
- color: #00ff88;
- background: rgba(0, 255, 136, 0.12);
- border-color: rgba(0, 255, 136, 0.45);
- box-shadow: 0 0 8px rgba(0, 255, 136, 0.15);
- }
- .status-tag.error {
- color: #ff6b81;
- background: rgba(255, 71, 87, 0.16);
- border-color: rgba(255, 107, 129, 0.55);
- box-shadow: 0 0 8px rgba(255, 71, 87, 0.2);
- }
- .status-tag.over {
- color: #ffb454;
- background: rgba(255, 180, 84, 0.16);
- border-color: rgba(255, 180, 84, 0.55);
- box-shadow: 0 0 8px rgba(255, 180, 84, 0.2);
- }
- .status-tag.under {
- color: #ff6b81;
- background: rgba(255, 71, 87, 0.16);
- border-color: rgba(255, 107, 129, 0.55);
- box-shadow: 0 0 8px rgba(255, 71, 87, 0.2);
- }
- .status-tag.muted {
- color: #9fb3c8;
- background: rgba(159, 179, 200, 0.14);
- border-color: rgba(159, 179, 200, 0.4);
- }
- .detail-table-tab {
- color: #64748b;
- &:hover,
- &.active {
- color: #00f2ff;
- }
- &.active {
- background: rgba(0, 242, 255, 0.08);
- border-bottom-color: #00f2ff;
- }
- }
- .anomaly-detail-table-title,
- .anomaly-detail-chart-card__title {
- color: #ffffff;
- }
- .anomaly-detail-table {
- th.el-table__cell {
- background: rgba(0, 48, 88, 0.96) !important;
- color: #f5fbff !important;
- border-color: rgba(130, 185, 230, 0.22) !important;
- .cell {
- color: #f5fbff !important;
- }
- }
- td.el-table__cell {
- background: rgba(10, 22, 44, 0.92) !important;
- color: #eaf6ff !important;
- border-color: rgba(120, 165, 200, 0.12) !important;
- .cell {
- color: #eaf6ff !important;
- }
- }
- &.el-table--striped
- .el-table__body
- tr.el-table__row--striped
- td.el-table__cell {
- background: rgba(16, 36, 64, 0.96) !important;
- }
- .el-table__body tr:hover > td.el-table__cell {
- background: rgba(0, 88, 140, 0.42) !important;
- color: #ffffff !important;
- .cell {
- color: #ffffff !important;
- }
- }
- }
- .anomaly-detail-table-pagination {
- .el-pagination__total,
- .el-pagination__jump,
- .el-input__inner {
- color: #94a3b8;
- }
- .btn-prev,
- .btn-next,
- .el-pager li {
- background: rgba(10, 22, 44, 0.92) !important;
- color: #94a3b8 !important;
- border: 1px solid rgba(0, 242, 255, 0.15);
- }
- .el-pager li.active {
- color: #00f2ff !important;
- border-color: #00f2ff;
- }
- }
- .anomaly-detail-toggle span {
- color: #64748b;
- border-color: rgba(0, 242, 255, 0.2);
- &:hover {
- color: #00f2ff;
- }
- &.active {
- color: #00f2ff;
- background: rgba(0, 242, 255, 0.1);
- border-color: #00f2ff;
- box-shadow: 0 0 8px rgba(0, 242, 255, 0.4);
- }
- }
- .anomaly-detail-meta__item {
- color: rgba(183, 223, 245, 0.78);
- }
- .anomaly-detail-trend-custom {
- .el-input__inner {
- background: rgba(0, 16, 32, 0.92);
- color: #c8e8f8;
- border-color: rgba(0, 140, 210, 0.45);
- }
- }
- }
|