|
|
@@ -1,105 +1,127 @@
|
|
|
<template>
|
|
|
- <div class="ele-body">
|
|
|
- <el-row :gutter="5">
|
|
|
- <el-col :span="24" style="height: 46px; margin-bottom: 5px">
|
|
|
- <el-card class="box-card">
|
|
|
- <el-radio-group v-model="form.timeType">
|
|
|
- <el-radio-button label="1">企业</el-radio-button>
|
|
|
- <el-radio-button label="2">工厂</el-radio-button>
|
|
|
- <el-radio-button label="3">班组</el-radio-button>
|
|
|
- <el-radio-button label="4">产线</el-radio-button>
|
|
|
- </el-radio-group>
|
|
|
- </el-card>
|
|
|
- </el-col>
|
|
|
- <el-col :span="10" style="height: 33%">
|
|
|
- <el-card class="box-card">
|
|
|
- <div slot="header" class="clearfix">
|
|
|
- <span>年度计划达成情况</span>
|
|
|
- </div>
|
|
|
- <v-chart ref="barRef1" style="height: 100%" :option="barOption" />
|
|
|
- </el-card>
|
|
|
- </el-col>
|
|
|
- <el-col :span="3" style="height: 33%">
|
|
|
- <div class="item">
|
|
|
- <div class="header"> 7日内需要交付订单 </div>
|
|
|
- <div class="content">
|
|
|
- <p
|
|
|
- ><span>订单数</span
|
|
|
- ><span>{{
|
|
|
- orderCount7.formedOrders + '/' + orderCount7.orders
|
|
|
- }}</span></p
|
|
|
- >
|
|
|
- <p
|
|
|
- ><span>产品量</span
|
|
|
- ><span>{{
|
|
|
- orderCount7.formedNum + '/' + orderCount7.productNum
|
|
|
- }}</span></p
|
|
|
- >
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </el-col>
|
|
|
- <el-col :span="3" style="height: 33%">
|
|
|
- <div class="item">
|
|
|
- <div class="header"> 本月需要完成订单 </div>
|
|
|
- <div class="content">
|
|
|
- <p
|
|
|
- ><span>订单数</span
|
|
|
- ><span>{{
|
|
|
- orderCount30.formedOrders + '/' + orderCount30.orders
|
|
|
- }}</span></p
|
|
|
- >
|
|
|
- <p
|
|
|
- ><span>产品量</span
|
|
|
- ><span>{{
|
|
|
- orderCount30.formedNum + '/' + orderCount30.productNum
|
|
|
- }}</span></p
|
|
|
- >
|
|
|
+ <div class="ele-body home-screen">
|
|
|
+ <div class="screen-shell">
|
|
|
+ <div class="screen-header">
|
|
|
+ <div class="screen-title">
|
|
|
+ <i></i>
|
|
|
+ <div>
|
|
|
+ <strong>首页</strong>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </el-col>
|
|
|
- <el-col :span="8" style="height: 33%">
|
|
|
- <el-card class="box-card" style="height: 100%">
|
|
|
- <div slot="header" class="clearfix">
|
|
|
- <span>本月异常类型分布</span>
|
|
|
- </div>
|
|
|
- <v-chart ref="pieRef" style="height: 100%" :option="pieOption" />
|
|
|
- </el-card>
|
|
|
- </el-col>
|
|
|
- <el-col :span="8" style="height: 33%; margin-top: 5px">
|
|
|
- <el-card class="box-card">
|
|
|
- <div slot="header" class="clearfix">
|
|
|
- <span>近7天良率趋势</span>
|
|
|
- </div>
|
|
|
- <v-chart ref="lineRef" style="height: 100%" :option="lineOption" />
|
|
|
- </el-card>
|
|
|
- </el-col>
|
|
|
- <el-col :span="16" style="height: 33%; margin-top: 5px">
|
|
|
- <el-card class="box-card">
|
|
|
- <div slot="header" class="clearfix">
|
|
|
- <span>准时交付率</span>
|
|
|
+ <el-radio-group class="screen-tabs" v-model="form.timeType">
|
|
|
+ <el-radio-button label="1">企业</el-radio-button>
|
|
|
+ <el-radio-button label="2">工厂</el-radio-button>
|
|
|
+ <el-radio-button label="3">班组</el-radio-button>
|
|
|
+ <el-radio-button label="4">产线</el-radio-button>
|
|
|
+ </el-radio-group>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="screen-grid">
|
|
|
+ <section class="screen-cell screen-cell--annual">
|
|
|
+ <el-card class="box-card screen-panel screen-panel--annual">
|
|
|
+ <div slot="header" class="screen-panel__header">
|
|
|
+ <span>年度计划达成情况</span>
|
|
|
+ </div>
|
|
|
+ <div class="chart-box">
|
|
|
+ <v-chart ref="barRef1" style="height: 100%" :option="barOption" />
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
+ </section>
|
|
|
+
|
|
|
+ <section class="screen-cell screen-cell--metrics">
|
|
|
+ <div class="item screen-metric screen-metric--green">
|
|
|
+ <div class="header">7日内需要交付订单</div>
|
|
|
+ <div class="content">
|
|
|
+ <p>
|
|
|
+ <span>订单数</span>
|
|
|
+ <span>{{
|
|
|
+ orderCount7.formedOrders + '/' + orderCount7.orders
|
|
|
+ }}</span>
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ <span>产品量</span>
|
|
|
+ <span>{{
|
|
|
+ orderCount7.formedNum + '/' + orderCount7.productNum
|
|
|
+ }}</span>
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- <v-chart ref="barRef3" style="height: 100%" :option="barOption1" />
|
|
|
- </el-card>
|
|
|
- </el-col>
|
|
|
- <el-col :span="24" style="height: calc(34% - 15px); margin-top: 5px">
|
|
|
- <el-card class="box-card">
|
|
|
- <div slot="header" class="clearfix">
|
|
|
- <span>计划进度看板</span>
|
|
|
+
|
|
|
+ <div class="item screen-metric screen-metric--blue">
|
|
|
+ <div class="header">本月需要完成订单</div>
|
|
|
+ <div class="content">
|
|
|
+ <p>
|
|
|
+ <span>订单数</span>
|
|
|
+ <span>{{
|
|
|
+ orderCount30.formedOrders + '/' + orderCount30.orders
|
|
|
+ }}</span>
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ <span>产品量</span>
|
|
|
+ <span>{{
|
|
|
+ orderCount30.formedNum + '/' + orderCount30.productNum
|
|
|
+ }}</span>
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
+ </section>
|
|
|
+
|
|
|
+ <section class="screen-cell screen-cell--pie">
|
|
|
+ <el-card class="box-card screen-panel screen-panel--pie">
|
|
|
+ <div slot="header" class="screen-panel__header">
|
|
|
+ <span>本月异常类型分布</span>
|
|
|
+ </div>
|
|
|
+ <div class="chart-box">
|
|
|
+ <v-chart ref="pieRef" style="height: 100%" :option="pieOption" />
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
+ </section>
|
|
|
+
|
|
|
+ <section class="screen-cell screen-cell--quality">
|
|
|
+ <el-card class="box-card screen-panel screen-panel--quality">
|
|
|
+ <div slot="header" class="screen-panel__header">
|
|
|
+ <span>近7天良率趋势</span>
|
|
|
+ </div>
|
|
|
+ <div class="chart-box">
|
|
|
+ <v-chart ref="lineRef" style="height: 100%" :option="lineOption" />
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
+ </section>
|
|
|
|
|
|
- <ele-pro-table
|
|
|
- ref="table"
|
|
|
- height="calc(100% - 100px)"
|
|
|
- @columns-change="handleColumnChange"
|
|
|
- :cache-key="cacheKeyUrl"
|
|
|
- :columns="columns"
|
|
|
- :datasource="datasource"
|
|
|
- >
|
|
|
- <template v-slot=""> </template>
|
|
|
- </ele-pro-table>
|
|
|
- </el-card>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
+ <section class="screen-cell screen-cell--delivery">
|
|
|
+ <el-card class="box-card screen-panel screen-panel--delivery">
|
|
|
+ <div slot="header" class="screen-panel__header">
|
|
|
+ <span>准时交付率</span>
|
|
|
+ </div>
|
|
|
+ <div class="chart-box">
|
|
|
+ <v-chart ref="barRef3" style="height: 100%" :option="barOption1" />
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
+ </section>
|
|
|
+
|
|
|
+ <!--
|
|
|
+ <el-col class="screen-col screen-col--table" :span="24">
|
|
|
+ <el-card class="box-card screen-panel screen-panel--table">
|
|
|
+ <div slot="header" class="screen-panel__header">
|
|
|
+ <span>计划进度看板</span>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <ele-pro-table
|
|
|
+ ref="table"
|
|
|
+ class="screen-table"
|
|
|
+ height="100%"
|
|
|
+ @columns-change="handleColumnChange"
|
|
|
+ :cache-key="cacheKeyUrl"
|
|
|
+ :columns="columns"
|
|
|
+ :datasource="datasource"
|
|
|
+ >
|
|
|
+ <template v-slot=""> </template>
|
|
|
+ </ele-pro-table>
|
|
|
+ </el-card>
|
|
|
+ </el-col>
|
|
|
+ -->
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
|
@@ -355,85 +377,894 @@
|
|
|
};
|
|
|
</script>
|
|
|
<style lang="scss" scoped>
|
|
|
- .clearfix {
|
|
|
- font-size: 0.7vw;
|
|
|
+ .home-screen {
|
|
|
+ position: relative;
|
|
|
+ box-sizing: border-box;
|
|
|
+ height: calc(100vh - 92px);
|
|
|
+ min-height: 0;
|
|
|
+ padding: 14px 18px 18px;
|
|
|
+ overflow: hidden;
|
|
|
+ color: #d9edf2;
|
|
|
+ background-color: #08100f;
|
|
|
+ background: linear-gradient(135deg, #061111 0%, #101b1e 48%, #071014 100%);
|
|
|
|
|
|
- > span {
|
|
|
- font-weight: bold;
|
|
|
+ &::before {
|
|
|
+ position: absolute;
|
|
|
+ inset: 0;
|
|
|
+ pointer-events: none;
|
|
|
+ content: '';
|
|
|
+ opacity: 0.5;
|
|
|
+ background-image: linear-gradient(
|
|
|
+ rgba(73, 216, 232, 0.075) 1px,
|
|
|
+ transparent 1px
|
|
|
+ ),
|
|
|
+ linear-gradient(90deg, rgba(73, 216, 232, 0.075) 1px, transparent 1px),
|
|
|
+ repeating-linear-gradient(
|
|
|
+ 135deg,
|
|
|
+ rgba(255, 255, 255, 0.035) 0 1px,
|
|
|
+ transparent 1px 12px
|
|
|
+ );
|
|
|
+ background-size: 32px 32px, 32px 32px, auto;
|
|
|
}
|
|
|
|
|
|
+ &::after {
|
|
|
+ position: absolute;
|
|
|
+ top: 68px;
|
|
|
+ left: 18px;
|
|
|
+ right: 18px;
|
|
|
+ height: 1px;
|
|
|
+ pointer-events: none;
|
|
|
+ content: '';
|
|
|
+ background: linear-gradient(
|
|
|
+ 90deg,
|
|
|
+ transparent,
|
|
|
+ rgba(75, 226, 238, 0.8),
|
|
|
+ rgba(236, 178, 87, 0.72),
|
|
|
+ transparent
|
|
|
+ );
|
|
|
+ box-shadow: 0 0 18px rgba(75, 226, 238, 0.35);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .screen-shell {
|
|
|
+ position: relative;
|
|
|
+ z-index: 1;
|
|
|
+ height: 100%;
|
|
|
+ min-height: 100%;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ }
|
|
|
+
|
|
|
+ .screen-header {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-between;
|
|
|
+ flex: 0 0 64px;
|
|
|
+ min-height: 64px;
|
|
|
+ padding: 0 24px;
|
|
|
+ margin-bottom: 14px;
|
|
|
+ border: 1px solid rgba(82, 217, 230, 0.26);
|
|
|
+ border-radius: 8px;
|
|
|
+ background: linear-gradient(
|
|
|
+ 90deg,
|
|
|
+ rgba(13, 36, 38, 0.95),
|
|
|
+ rgba(22, 36, 42, 0.92)
|
|
|
+ );
|
|
|
+ box-shadow: 0 14px 30px rgba(0, 0, 0, 0.28),
|
|
|
+ inset 0 0 22px rgba(77, 214, 232, 0.07);
|
|
|
+ transition: border-color 0.2s ease, box-shadow 0.2s ease;
|
|
|
+
|
|
|
+ &:hover {
|
|
|
+ border-color: rgba(82, 217, 230, 0.44);
|
|
|
+ box-shadow: 0 16px 34px rgba(0, 0, 0, 0.32),
|
|
|
+ inset 0 0 24px rgba(77, 214, 232, 0.11);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .screen-title {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ min-width: 0;
|
|
|
+
|
|
|
+ i {
|
|
|
+ flex: 0 0 auto;
|
|
|
+ width: 40px;
|
|
|
+ height: 40px;
|
|
|
+ margin-right: 14px;
|
|
|
+ border: 1px solid rgba(82, 217, 230, 0.72);
|
|
|
+ border-radius: 50%;
|
|
|
+ background: linear-gradient(
|
|
|
+ 90deg,
|
|
|
+ transparent 46%,
|
|
|
+ rgba(82, 217, 230, 0.9) 47%,
|
|
|
+ rgba(82, 217, 230, 0.9) 53%,
|
|
|
+ transparent 54%
|
|
|
+ ),
|
|
|
+ linear-gradient(
|
|
|
+ transparent 46%,
|
|
|
+ rgba(236, 178, 87, 0.9) 47%,
|
|
|
+ rgba(236, 178, 87, 0.9) 53%,
|
|
|
+ transparent 54%
|
|
|
+ ),
|
|
|
+ #102224;
|
|
|
+ box-shadow: 0 0 16px rgba(82, 217, 230, 0.38),
|
|
|
+ inset 0 0 14px rgba(82, 217, 230, 0.18);
|
|
|
+ }
|
|
|
+
|
|
|
+ strong {
|
|
|
+ display: block;
|
|
|
+ overflow: hidden;
|
|
|
+ color: #f2fbfb;
|
|
|
+ font-size: clamp(22px, 1.55vw, 30px);
|
|
|
+ font-weight: 700;
|
|
|
+ line-height: 1.2;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ white-space: nowrap;
|
|
|
+ letter-spacing: 0;
|
|
|
+ text-shadow: 0 0 14px rgba(82, 217, 230, 0.45);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .screen-tabs {
|
|
|
+ flex: 0 0 auto;
|
|
|
+
|
|
|
:deep(.el-radio-button__inner) {
|
|
|
- font-size: 0.7vw;
|
|
|
+ min-width: 78px;
|
|
|
+ padding: 12px 24px;
|
|
|
+ color: #b9dce2;
|
|
|
+ font-size: 14px;
|
|
|
+ font-weight: 600;
|
|
|
+ border-color: rgba(82, 217, 230, 0.22);
|
|
|
+ background: rgba(12, 22, 24, 0.78);
|
|
|
+ box-shadow: none;
|
|
|
+ transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease,
|
|
|
+ box-shadow 0.2s ease;
|
|
|
+ }
|
|
|
+
|
|
|
+ :deep(.el-radio-button__inner:hover) {
|
|
|
+ color: #f2fbfb;
|
|
|
+ border-color: rgba(82, 217, 230, 0.56);
|
|
|
+ background: rgba(26, 51, 54, 0.82);
|
|
|
+ }
|
|
|
+
|
|
|
+ :deep(.el-radio-button:first-child .el-radio-button__inner) {
|
|
|
+ border-radius: 6px 0 0 6px;
|
|
|
+ }
|
|
|
+
|
|
|
+ :deep(.el-radio-button:last-child .el-radio-button__inner) {
|
|
|
+ border-radius: 0 6px 6px 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ :deep(.el-radio-button__orig-radio:checked + .el-radio-button__inner) {
|
|
|
+ color: #07100f;
|
|
|
+ border-color: #52d9e6;
|
|
|
+ background: linear-gradient(135deg, #52d9e6, #ecb257);
|
|
|
+ box-shadow: 0 0 16px rgba(82, 217, 230, 0.34);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- .ele-body {
|
|
|
- height: calc(100vh - 136px);
|
|
|
+ .screen-grid {
|
|
|
+ display: grid;
|
|
|
+ flex: 1 1 auto;
|
|
|
+ height: auto;
|
|
|
+ min-height: 0;
|
|
|
+ grid-template-columns: minmax(0, 1.16fr) minmax(230px, 0.44fr) minmax(0, 1.4fr);
|
|
|
+ grid-template-rows: minmax(0, 0.95fr) minmax(0, 1fr);
|
|
|
+ grid-template-areas:
|
|
|
+ 'annual metrics pie'
|
|
|
+ 'quality delivery delivery';
|
|
|
+ gap: 16px;
|
|
|
+ }
|
|
|
|
|
|
- > .el-row {
|
|
|
- height: 100%;
|
|
|
+ .screen-cell {
|
|
|
+ position: relative;
|
|
|
+ min-width: 0;
|
|
|
+ min-height: 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ .screen-cell--annual {
|
|
|
+ grid-area: annual;
|
|
|
+ }
|
|
|
+
|
|
|
+ .screen-cell--metrics {
|
|
|
+ display: grid;
|
|
|
+ grid-area: metrics;
|
|
|
+ grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
|
|
|
+ gap: 14px;
|
|
|
+ min-height: 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ .screen-cell--pie {
|
|
|
+ grid-area: pie;
|
|
|
+ }
|
|
|
+
|
|
|
+ .screen-cell--quality {
|
|
|
+ grid-area: quality;
|
|
|
+ }
|
|
|
+
|
|
|
+ .screen-cell--delivery {
|
|
|
+ grid-area: delivery;
|
|
|
+ }
|
|
|
+
|
|
|
+ .screen-panel {
|
|
|
+ position: relative;
|
|
|
+ height: 100%;
|
|
|
+ overflow: hidden;
|
|
|
+ color: #d9edf2;
|
|
|
+ border: 1px solid rgba(82, 217, 230, 0.28);
|
|
|
+ border-radius: 8px;
|
|
|
+ background: linear-gradient(145deg, rgba(19, 34, 35, 0.98), rgba(7, 17, 20, 0.98)),
|
|
|
+ repeating-linear-gradient(
|
|
|
+ 135deg,
|
|
|
+ rgba(255, 255, 255, 0.04) 0 1px,
|
|
|
+ transparent 1px 13px
|
|
|
+ );
|
|
|
+ box-shadow: 0 14px 32px rgba(0, 0, 0, 0.28),
|
|
|
+ inset 0 0 0 1px rgba(255, 255, 255, 0.035),
|
|
|
+ inset 0 0 24px rgba(82, 217, 230, 0.08);
|
|
|
+ transition: transform 0.22s ease, border-color 0.22s ease,
|
|
|
+ box-shadow 0.22s ease;
|
|
|
+
|
|
|
+ &:hover {
|
|
|
+ transform: translateY(-2px);
|
|
|
+ border-color: rgba(82, 217, 230, 0.44);
|
|
|
+ box-shadow: 0 18px 38px rgba(0, 0, 0, 0.34),
|
|
|
+ 0 0 18px rgba(82, 217, 230, 0.1),
|
|
|
+ inset 0 0 0 1px rgba(255, 255, 255, 0.05),
|
|
|
+ inset 0 0 28px rgba(82, 217, 230, 0.1);
|
|
|
}
|
|
|
|
|
|
- .el-card {
|
|
|
- height: 100%;
|
|
|
+ &::before,
|
|
|
+ &::after {
|
|
|
+ position: absolute;
|
|
|
+ width: 22px;
|
|
|
+ height: 22px;
|
|
|
+ pointer-events: none;
|
|
|
+ content: '';
|
|
|
+ transition: width 0.22s ease, height 0.22s ease;
|
|
|
+ }
|
|
|
|
|
|
- :deep(.el-card__body) {
|
|
|
- padding: 0.3vw;
|
|
|
- }
|
|
|
+ &::before {
|
|
|
+ top: 0;
|
|
|
+ left: 0;
|
|
|
+ border-top: 2px solid #52d9e6;
|
|
|
+ border-left: 2px solid #52d9e6;
|
|
|
+ }
|
|
|
|
|
|
- :deep(.el-card__header) {
|
|
|
- padding: 0.6vw;
|
|
|
- }
|
|
|
+ &::after {
|
|
|
+ right: 0;
|
|
|
+ bottom: 0;
|
|
|
+ border-right: 2px solid rgba(236, 178, 87, 0.8);
|
|
|
+ border-bottom: 2px solid rgba(236, 178, 87, 0.8);
|
|
|
+ }
|
|
|
|
|
|
- :deep(.el-card__body) {
|
|
|
- height: calc(100% - 2.3vw);
|
|
|
+ &:hover::before,
|
|
|
+ &:hover::after {
|
|
|
+ width: 30px;
|
|
|
+ height: 30px;
|
|
|
+ }
|
|
|
+
|
|
|
+ :deep(.el-card__header) {
|
|
|
+ position: relative;
|
|
|
+ padding: 13px 18px 12px;
|
|
|
+ border-bottom: 1px solid rgba(82, 217, 230, 0.16);
|
|
|
+ background: linear-gradient(
|
|
|
+ 90deg,
|
|
|
+ rgba(82, 217, 230, 0.16),
|
|
|
+ rgba(236, 178, 87, 0.08),
|
|
|
+ transparent
|
|
|
+ );
|
|
|
+
|
|
|
+ &::after {
|
|
|
+ position: absolute;
|
|
|
+ left: 18px;
|
|
|
+ right: 18px;
|
|
|
+ bottom: -1px;
|
|
|
+ height: 1px;
|
|
|
+ content: '';
|
|
|
+ background: linear-gradient(
|
|
|
+ 90deg,
|
|
|
+ rgba(82, 217, 230, 0.7),
|
|
|
+ rgba(236, 178, 87, 0.44),
|
|
|
+ transparent
|
|
|
+ );
|
|
|
}
|
|
|
+ }
|
|
|
|
|
|
- :deep(.ele-pro-table) {
|
|
|
- height: 99%;
|
|
|
+ :deep(.el-card__body) {
|
|
|
+ height: calc(100% - 43px);
|
|
|
+ padding: 14px 16px 16px;
|
|
|
+ min-height: 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .screen-panel__header {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ min-width: 0;
|
|
|
+ color: #f2fbfb;
|
|
|
+ font-size: 16px;
|
|
|
+ font-weight: 700;
|
|
|
+ letter-spacing: 0;
|
|
|
+
|
|
|
+ &::before {
|
|
|
+ flex: 0 0 auto;
|
|
|
+ width: 4px;
|
|
|
+ height: 17px;
|
|
|
+ margin-right: 9px;
|
|
|
+ border-radius: 4px;
|
|
|
+ background: linear-gradient(180deg, #52d9e6, #ecb257);
|
|
|
+ box-shadow: 0 0 12px rgba(82, 217, 230, 0.54);
|
|
|
+ content: '';
|
|
|
+ }
|
|
|
+
|
|
|
+ span {
|
|
|
+ overflow: hidden;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ white-space: nowrap;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .screen-panel--quality {
|
|
|
+ border-color: rgba(82, 217, 230, 0.4);
|
|
|
+ background:
|
|
|
+ linear-gradient(90deg, rgba(82, 217, 230, 0.16), transparent 34%, rgba(236, 178, 87, 0.08)) top / 100% 2px no-repeat,
|
|
|
+ linear-gradient(145deg, rgba(18, 34, 35, 0.99), rgba(5, 15, 18, 0.99)),
|
|
|
+ repeating-linear-gradient(
|
|
|
+ 135deg,
|
|
|
+ rgba(82, 217, 230, 0.05) 0 1px,
|
|
|
+ transparent 1px 14px
|
|
|
+ );
|
|
|
+ box-shadow: 0 16px 36px rgba(0, 0, 0, 0.32),
|
|
|
+ 0 0 20px rgba(82, 217, 230, 0.1),
|
|
|
+ inset 0 0 0 1px rgba(255, 255, 255, 0.04),
|
|
|
+ inset 0 0 30px rgba(82, 217, 230, 0.09);
|
|
|
+
|
|
|
+ :deep(.el-card__header) {
|
|
|
+ border-bottom-color: rgba(82, 217, 230, 0.22);
|
|
|
+ background: linear-gradient(
|
|
|
+ 90deg,
|
|
|
+ rgba(82, 217, 230, 0.2),
|
|
|
+ rgba(94, 224, 176, 0.1),
|
|
|
+ transparent
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ .chart-box {
|
|
|
+ border-color: rgba(82, 217, 230, 0.16);
|
|
|
+ border-radius: 4px;
|
|
|
+ background:
|
|
|
+ radial-gradient(circle at 50% 10%, rgba(82, 217, 230, 0.12), transparent 44%),
|
|
|
+ linear-gradient(180deg, rgba(82, 217, 230, 0.045), rgba(5, 13, 15, 0.06)),
|
|
|
+ repeating-linear-gradient(
|
|
|
+ 90deg,
|
|
|
+ rgba(82, 217, 230, 0.05) 0 1px,
|
|
|
+ transparent 1px 48px
|
|
|
+ );
|
|
|
+
|
|
|
+ &::before {
|
|
|
+ opacity: 0.5;
|
|
|
+ background:
|
|
|
+ linear-gradient(90deg, transparent, rgba(94, 224, 176, 0.1), transparent),
|
|
|
+ repeating-linear-gradient(
|
|
|
+ 0deg,
|
|
|
+ transparent 0 30px,
|
|
|
+ rgba(82, 217, 230, 0.055) 31px
|
|
|
+ );
|
|
|
}
|
|
|
|
|
|
- :deep(.el-table) {
|
|
|
- font-size: 0.65vw;
|
|
|
+ &::after {
|
|
|
+ inset: 10px;
|
|
|
+ border-top-color: rgba(82, 217, 230, 0.22);
|
|
|
+ border-bottom-color: rgba(236, 178, 87, 0.18);
|
|
|
+ box-shadow: inset 0 0 22px rgba(82, 217, 230, 0.06);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- .item {
|
|
|
+ .chart-box {
|
|
|
+ position: relative;
|
|
|
+ box-sizing: border-box;
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ min-height: 0;
|
|
|
+ padding: 8px 10px;
|
|
|
+ border: 1px solid rgba(82, 217, 230, 0.08);
|
|
|
+ background: linear-gradient(
|
|
|
+ 180deg,
|
|
|
+ rgba(82, 217, 230, 0.035),
|
|
|
+ rgba(5, 13, 15, 0.04) 42%,
|
|
|
+ rgba(236, 178, 87, 0.025)
|
|
|
+ );
|
|
|
+
|
|
|
+ &::before {
|
|
|
+ position: absolute;
|
|
|
+ inset: 0;
|
|
|
+ pointer-events: none;
|
|
|
+ content: '';
|
|
|
+ opacity: 0.36;
|
|
|
+ background: linear-gradient(
|
|
|
+ 90deg,
|
|
|
+ transparent,
|
|
|
+ rgba(82, 217, 230, 0.08),
|
|
|
+ transparent
|
|
|
+ ),
|
|
|
+ repeating-linear-gradient(
|
|
|
+ 0deg,
|
|
|
+ transparent 0 31px,
|
|
|
+ rgba(82, 217, 230, 0.045) 32px
|
|
|
+ );
|
|
|
+ mask-image: linear-gradient(180deg, transparent, #000 15%, #000 86%, transparent);
|
|
|
+ }
|
|
|
+
|
|
|
+ &::after {
|
|
|
+ position: absolute;
|
|
|
+ inset: 7px;
|
|
|
+ pointer-events: none;
|
|
|
+ content: '';
|
|
|
+ border-top: 1px solid rgba(82, 217, 230, 0.13);
|
|
|
+ border-bottom: 1px solid rgba(236, 178, 87, 0.12);
|
|
|
+ box-shadow: inset 0 0 18px rgba(82, 217, 230, 0.035);
|
|
|
+ }
|
|
|
+
|
|
|
+ :deep(.echarts) {
|
|
|
+ position: relative;
|
|
|
+ z-index: 1;
|
|
|
+ width: 100% !important;
|
|
|
+ height: 100% !important;
|
|
|
+ min-height: 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .screen-metric {
|
|
|
+ position: relative;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
width: 100%;
|
|
|
height: 100%;
|
|
|
- background: url(../../assets/main_item.png);
|
|
|
- background-size: cover;
|
|
|
- border-radius: 6px;
|
|
|
- padding: 1vw;
|
|
|
- color: #333;
|
|
|
+ padding: 16px 16px 18px;
|
|
|
+ overflow: hidden;
|
|
|
+ color: #d9edf2;
|
|
|
+ border: 1px solid rgba(82, 217, 230, 0.4);
|
|
|
+ border-radius: 8px;
|
|
|
+ background:
|
|
|
+ linear-gradient(90deg, rgba(82, 217, 230, 0.16), transparent 58%, rgba(236, 178, 87, 0.08)) top / 100% 2px no-repeat,
|
|
|
+ radial-gradient(circle at 88% 18%, rgba(82, 217, 230, 0.11), transparent 34%),
|
|
|
+ linear-gradient(145deg, rgba(15, 39, 38, 0.99), rgba(6, 17, 20, 0.99)),
|
|
|
+ repeating-linear-gradient(
|
|
|
+ 135deg,
|
|
|
+ rgba(82, 217, 230, 0.045) 0 1px,
|
|
|
+ transparent 1px 10px
|
|
|
+ );
|
|
|
+ box-shadow: 0 14px 32px rgba(0, 0, 0, 0.28),
|
|
|
+ inset 0 0 0 1px rgba(255, 255, 255, 0.035),
|
|
|
+ inset 0 0 28px rgba(82, 217, 230, 0.09);
|
|
|
+ transition: transform 0.22s ease, border-color 0.22s ease,
|
|
|
+ box-shadow 0.22s ease;
|
|
|
+
|
|
|
+ &:hover {
|
|
|
+ transform: translateY(-2px);
|
|
|
+ border-color: rgba(118, 232, 191, 0.5);
|
|
|
+ box-shadow: 0 18px 38px rgba(0, 0, 0, 0.34),
|
|
|
+ 0 0 18px rgba(118, 232, 191, 0.12),
|
|
|
+ inset 0 0 28px rgba(82, 217, 230, 0.1);
|
|
|
+ }
|
|
|
+
|
|
|
+ &::before {
|
|
|
+ position: absolute;
|
|
|
+ top: 12px;
|
|
|
+ right: 14px;
|
|
|
+ width: 68px;
|
|
|
+ height: 68px;
|
|
|
+ border-top: 1px solid rgba(82, 217, 230, 0.62);
|
|
|
+ border-right: 1px solid rgba(82, 217, 230, 0.62);
|
|
|
+ content: '';
|
|
|
+ background: linear-gradient(
|
|
|
+ 135deg,
|
|
|
+ transparent 0 46%,
|
|
|
+ rgba(82, 217, 230, 0.2) 47% 49%,
|
|
|
+ transparent 50%
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ &::after {
|
|
|
+ position: absolute;
|
|
|
+ left: 18px;
|
|
|
+ right: 18px;
|
|
|
+ bottom: 12px;
|
|
|
+ z-index: 0;
|
|
|
+ height: 2px;
|
|
|
+ content: '';
|
|
|
+ background:
|
|
|
+ linear-gradient(
|
|
|
+ 90deg,
|
|
|
+ transparent,
|
|
|
+ rgba(82, 217, 230, 0.52),
|
|
|
+ rgba(236, 178, 87, 0.28),
|
|
|
+ transparent
|
|
|
+ );
|
|
|
+ opacity: 0.55;
|
|
|
+ }
|
|
|
+
|
|
|
+ &:hover::after {
|
|
|
+ opacity: 1;
|
|
|
+ }
|
|
|
|
|
|
> .header {
|
|
|
- font-size: 0.9vw;
|
|
|
- font-weight: 600;
|
|
|
- width: 100%;
|
|
|
- padding-bottom: 0.7vw;
|
|
|
- border-bottom: 1px solid #f3f3f3;
|
|
|
- text-align: center;
|
|
|
- color: #3a92edd1;
|
|
|
+ position: relative;
|
|
|
+ z-index: 1;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ min-height: 44px;
|
|
|
+ padding: 0 44px 12px 0;
|
|
|
+ color: #f2fbfb;
|
|
|
+ font-size: 16px;
|
|
|
+ font-weight: 700;
|
|
|
+ line-height: 1.35;
|
|
|
+ text-shadow: 0 0 12px rgba(82, 217, 230, 0.44);
|
|
|
+ border-bottom: 1px solid rgba(82, 217, 230, 0.18);
|
|
|
+
|
|
|
+ &::before {
|
|
|
+ width: 28px;
|
|
|
+ height: 3px;
|
|
|
+ margin-right: 8px;
|
|
|
+ content: '';
|
|
|
+ background: linear-gradient(90deg, #52d9e6, rgba(82, 217, 230, 0));
|
|
|
+ box-shadow: 0 0 10px rgba(82, 217, 230, 0.52);
|
|
|
+ }
|
|
|
+
|
|
|
+ &::after {
|
|
|
+ position: absolute;
|
|
|
+ right: 0;
|
|
|
+ bottom: -1px;
|
|
|
+ width: 58px;
|
|
|
+ height: 1px;
|
|
|
+ content: '';
|
|
|
+ background: linear-gradient(90deg, transparent, rgba(236, 178, 87, 0.75));
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
> .content {
|
|
|
+ position: relative;
|
|
|
+ z-index: 2;
|
|
|
display: flex;
|
|
|
- align-items: center;
|
|
|
- justify-content: center;
|
|
|
+ flex: 1;
|
|
|
flex-direction: column;
|
|
|
- font-size: 0.9vw;
|
|
|
- font-weight: 500;
|
|
|
- height: calc(100% - 1.5vw);
|
|
|
+ justify-content: center;
|
|
|
+ min-height: 0;
|
|
|
+ padding-top: 10px;
|
|
|
|
|
|
p {
|
|
|
+ position: relative;
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
justify-content: space-between;
|
|
|
+ min-height: 52px;
|
|
|
+ margin: 0;
|
|
|
+ padding: 0 12px 0 16px;
|
|
|
+ gap: 12px;
|
|
|
+ border-left: 3px solid rgba(82, 217, 230, 0.38);
|
|
|
+ border-radius: 2px;
|
|
|
+ background:
|
|
|
+ linear-gradient(
|
|
|
+ 90deg,
|
|
|
+ rgba(82, 217, 230, 0.12),
|
|
|
+ rgba(82, 217, 230, 0.035),
|
|
|
+ transparent
|
|
|
+ ),
|
|
|
+ linear-gradient(
|
|
|
+ 180deg,
|
|
|
+ transparent,
|
|
|
+ rgba(82, 217, 230, 0.055)
|
|
|
+ );
|
|
|
+
|
|
|
+ &::before {
|
|
|
+ position: absolute;
|
|
|
+ left: -3px;
|
|
|
+ top: 0;
|
|
|
+ width: 3px;
|
|
|
+ height: 100%;
|
|
|
+ content: '';
|
|
|
+ box-shadow: 0 0 12px rgba(82, 217, 230, 0.48);
|
|
|
+ }
|
|
|
+
|
|
|
+ &::after {
|
|
|
+ position: absolute;
|
|
|
+ left: 18px;
|
|
|
+ right: 12px;
|
|
|
+ bottom: 0;
|
|
|
+ height: 1px;
|
|
|
+ content: '';
|
|
|
+ background: linear-gradient(
|
|
|
+ 90deg,
|
|
|
+ rgba(82, 217, 230, 0.42),
|
|
|
+ rgba(82, 217, 230, 0.16),
|
|
|
+ transparent
|
|
|
+ );
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ p + p {
|
|
|
+ margin-top: 10px;
|
|
|
+ border-top: 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ span:first-child {
|
|
|
+ flex: 0 0 auto;
|
|
|
+ color: rgba(202, 225, 229, 0.78);
|
|
|
+ font-size: 13px;
|
|
|
+ line-height: 1.2;
|
|
|
+ white-space: nowrap;
|
|
|
+ }
|
|
|
+
|
|
|
+ span:last-child {
|
|
|
+ position: relative;
|
|
|
+ flex: 0 1 132px;
|
|
|
+ min-width: 0;
|
|
|
+ max-width: 150px;
|
|
|
+ padding: 4px 8px;
|
|
|
+ overflow: hidden;
|
|
|
+ color: #76e8bf;
|
|
|
+ font-size: clamp(14px, 0.82vw, 18px);
|
|
|
+ font-weight: 800;
|
|
|
+ letter-spacing: 0;
|
|
|
+ line-height: 1.2;
|
|
|
+ text-align: right;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ white-space: nowrap;
|
|
|
+ border: 1px solid rgba(118, 232, 191, 0.18);
|
|
|
+ border-radius: 3px;
|
|
|
+ background: linear-gradient(
|
|
|
+ 90deg,
|
|
|
+ rgba(118, 232, 191, 0.04),
|
|
|
+ rgba(118, 232, 191, 0.1)
|
|
|
+ );
|
|
|
+ box-shadow: inset 0 0 12px rgba(118, 232, 191, 0.06);
|
|
|
+ text-shadow: 0 0 12px rgba(118, 232, 191, 0.48);
|
|
|
+ word-break: normal;
|
|
|
+ }
|
|
|
+
|
|
|
+ p:nth-child(2) {
|
|
|
+ border-left-color: rgba(236, 178, 87, 0.45);
|
|
|
+ background:
|
|
|
+ linear-gradient(
|
|
|
+ 90deg,
|
|
|
+ rgba(82, 217, 230, 0.1),
|
|
|
+ rgba(236, 178, 87, 0.045),
|
|
|
+ transparent
|
|
|
+ ),
|
|
|
+ linear-gradient(
|
|
|
+ 180deg,
|
|
|
+ transparent,
|
|
|
+ rgba(82, 217, 230, 0.04)
|
|
|
+ );
|
|
|
+
|
|
|
+ &::before {
|
|
|
+ box-shadow: 0 0 12px rgba(236, 178, 87, 0.42);
|
|
|
+ }
|
|
|
+
|
|
|
+ span:last-child {
|
|
|
+ border-color: rgba(236, 178, 87, 0.2);
|
|
|
+ background: linear-gradient(
|
|
|
+ 90deg,
|
|
|
+ rgba(236, 178, 87, 0.045),
|
|
|
+ rgba(118, 232, 191, 0.085)
|
|
|
+ );
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .screen-metric--blue {
|
|
|
+ border-color: rgba(98, 215, 240, 0.42);
|
|
|
+ background:
|
|
|
+ linear-gradient(90deg, rgba(98, 215, 240, 0.16), transparent 58%, rgba(236, 178, 87, 0.08)) top / 100% 2px no-repeat,
|
|
|
+ radial-gradient(circle at 88% 18%, rgba(98, 215, 240, 0.12), transparent 34%),
|
|
|
+ linear-gradient(145deg, rgba(13, 34, 42, 0.99), rgba(6, 17, 20, 0.99)),
|
|
|
+ repeating-linear-gradient(
|
|
|
+ 135deg,
|
|
|
+ rgba(98, 215, 240, 0.045) 0 1px,
|
|
|
+ transparent 1px 10px
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ .screen-metric--blue > .content span:last-child {
|
|
|
+ color: #62d7f0;
|
|
|
+ text-shadow: 0 0 12px rgba(98, 215, 240, 0.5);
|
|
|
+ }
|
|
|
+
|
|
|
+ /* 计划进度看板样式暂时注释
|
|
|
+ .screen-panel--table {
|
|
|
+ :deep(.el-card__body) {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ height: calc(100% - 43px);
|
|
|
+ padding: 6px 10px 8px;
|
|
|
+ overflow: hidden;
|
|
|
+ }
|
|
|
+
|
|
|
+ :deep(.ele-pro-table) {
|
|
|
+ height: 100%;
|
|
|
+ color: #d9edf2;
|
|
|
+ background: transparent;
|
|
|
+ }
|
|
|
+
|
|
|
+ :deep(.ele-pro-table > .el-card),
|
|
|
+ :deep(.ele-pro-table .el-card) {
|
|
|
+ height: 100%;
|
|
|
+ border-color: rgba(82, 217, 230, 0.14);
|
|
|
+ background: transparent;
|
|
|
+ box-shadow: none;
|
|
|
+ }
|
|
|
+
|
|
|
+ :deep(.ele-pro-table .el-card__body) {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ height: 100%;
|
|
|
+ padding: 0;
|
|
|
+ overflow: hidden;
|
|
|
+ }
|
|
|
+
|
|
|
+ :deep(.ele-table-tool) {
|
|
|
+ flex: 0 0 auto;
|
|
|
+ min-height: 44px;
|
|
|
+ padding: 6px 10px;
|
|
|
+ border-color: rgba(82, 217, 230, 0.14);
|
|
|
+ background: transparent;
|
|
|
+ }
|
|
|
+
|
|
|
+ :deep(.ele-pro-table .el-table) {
|
|
|
+ flex: 1 1 auto;
|
|
|
+ min-height: 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ :deep(.el-table),
|
|
|
+ :deep(.el-table__expanded-cell) {
|
|
|
+ color: #cce6eb;
|
|
|
+ font-size: 13px;
|
|
|
+ background: transparent;
|
|
|
+ }
|
|
|
+
|
|
|
+ :deep(.el-table th),
|
|
|
+ :deep(.el-table tr),
|
|
|
+ :deep(.el-table td) {
|
|
|
+ border-color: rgba(82, 217, 230, 0.12);
|
|
|
+ background: transparent;
|
|
|
+ }
|
|
|
+
|
|
|
+ :deep(.el-table th) {
|
|
|
+ color: #f2fbfb;
|
|
|
+ font-weight: 700;
|
|
|
+ background: rgba(82, 217, 230, 0.12);
|
|
|
+ }
|
|
|
+
|
|
|
+ :deep(.el-table th > .cell),
|
|
|
+ :deep(.el-table td > .cell) {
|
|
|
+ line-height: 20px;
|
|
|
+ }
|
|
|
+
|
|
|
+ :deep(.el-table th),
|
|
|
+ :deep(.el-table td) {
|
|
|
+ padding: 5px 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ :deep(.el-table--enable-row-hover .el-table__body tr:hover > td) {
|
|
|
+ background: rgba(82, 217, 230, 0.11);
|
|
|
+ }
|
|
|
+
|
|
|
+ :deep(.el-table::before),
|
|
|
+ :deep(.el-table__fixed-right::before),
|
|
|
+ :deep(.el-table__fixed::before) {
|
|
|
+ background: rgba(82, 217, 230, 0.12);
|
|
|
+ }
|
|
|
+
|
|
|
+ :deep(.el-pagination),
|
|
|
+ :deep(.el-pagination__total),
|
|
|
+ :deep(.el-pagination__jump) {
|
|
|
+ color: #b9dce2;
|
|
|
+ }
|
|
|
+
|
|
|
+ :deep(.ele-pagination),
|
|
|
+ :deep(.el-pagination) {
|
|
|
+ flex: 0 0 auto;
|
|
|
+ padding-top: 8px;
|
|
|
+ padding-bottom: 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ :deep(.el-pager li),
|
|
|
+ :deep(.el-pagination button),
|
|
|
+ :deep(.el-pagination .el-input__inner),
|
|
|
+ :deep(.el-pagination .el-select .el-input .el-input__inner) {
|
|
|
+ color: #d9edf2;
|
|
|
+ border-color: rgba(82, 217, 230, 0.22);
|
|
|
+ background: rgba(12, 22, 24, 0.78);
|
|
|
+ }
|
|
|
+
|
|
|
+ :deep(.el-pager li.active) {
|
|
|
+ color: #07100f;
|
|
|
+ background: linear-gradient(135deg, #52d9e6, #ecb257);
|
|
|
+ }
|
|
|
+
|
|
|
+ :deep(.ele-table-tool .el-button) {
|
|
|
+ color: #d9edf2;
|
|
|
+ border-color: rgba(82, 217, 230, 0.22);
|
|
|
+ background: rgba(12, 22, 24, 0.72);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ */
|
|
|
+
|
|
|
+ @media (max-width: 1366px) {
|
|
|
+ .home-screen {
|
|
|
+ height: auto;
|
|
|
+ min-height: calc(100vh - 92px);
|
|
|
+ overflow: visible;
|
|
|
+ }
|
|
|
+
|
|
|
+ .screen-grid {
|
|
|
+ display: grid;
|
|
|
+ height: auto;
|
|
|
+ min-height: 0;
|
|
|
+ grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
|
+ grid-template-rows: 320px 320px 340px;
|
|
|
+ grid-template-areas:
|
|
|
+ 'annual annual'
|
|
|
+ 'metrics pie'
|
|
|
+ 'quality delivery';
|
|
|
+ gap: 12px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @media (max-width: 768px) {
|
|
|
+ .home-screen {
|
|
|
+ min-height: calc(100vh - 92px);
|
|
|
+ padding: 8px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .screen-header {
|
|
|
+ align-items: flex-start;
|
|
|
+ flex-direction: column;
|
|
|
+ padding: 12px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .screen-title {
|
|
|
+ width: 100%;
|
|
|
+ margin-bottom: 12px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .screen-tabs {
|
|
|
+ display: flex;
|
|
|
+ width: 100%;
|
|
|
+
|
|
|
+ :deep(.el-radio-button) {
|
|
|
+ flex: 1;
|
|
|
+ }
|
|
|
+
|
|
|
+ :deep(.el-radio-button__inner) {
|
|
|
width: 100%;
|
|
|
- height: 33%;
|
|
|
+ min-width: 0;
|
|
|
+ padding: 10px 8px;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ .screen-grid {
|
|
|
+ grid-template-columns: minmax(0, 1fr);
|
|
|
+ grid-template-rows: 320px 450px 340px 320px 360px;
|
|
|
+ grid-template-areas:
|
|
|
+ 'annual'
|
|
|
+ 'metrics'
|
|
|
+ 'pie'
|
|
|
+ 'quality'
|
|
|
+ 'delivery';
|
|
|
+ gap: 10px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .screen-cell--metrics {
|
|
|
+ grid-template-rows: 220px 220px;
|
|
|
+ gap: 10px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .screen-metric {
|
|
|
+ height: 100%;
|
|
|
+ }
|
|
|
}
|
|
|
</style>
|