From 55dc742fb4ee17be13ce57bc78cf3eee9ee90f9f Mon Sep 17 00:00:00 2001
From: chenyao <1219716595@qq.com>
Date: Fri, 28 Mar 2025 11:24:25 +0800
Subject: [PATCH] feat: 修改格式化样式

---
 src/views/Home/components/HomeLeft/HomeLeft.vue              |   94 +++----
 src/views/Home/components/HomeLeft/OverviewNext.vue          |  275 +++++++++++-----------
 src/views/Home/components/HomeLeft/InspectionRaskDetails.vue |  326 +++++++++++++++-----------
 3 files changed, 369 insertions(+), 326 deletions(-)

diff --git a/src/views/Home/components/HomeLeft/HomeLeft.vue b/src/views/Home/components/HomeLeft/HomeLeft.vue
index 4382df6..764ad27 100644
--- a/src/views/Home/components/HomeLeft/HomeLeft.vue
+++ b/src/views/Home/components/HomeLeft/HomeLeft.vue
@@ -1,62 +1,60 @@
 <template>
-    <div class="home-left">
-        <!--时间 天气-->
-        <div class="time-weather">
-            <div class="time">2025.03.04 15:30:00</div>
-            <div class="line"></div>
-            <div class="weather">
-                <img src="@/assets/images/tq.png" alt="">
-                <span class="tq">阴天</span>
-                <span class="qk">适合飞行</span>
-            </div>
-        </div>
-        <!--机巢概况-->
-        <overview-next></overview-next>
-        <!--巡检任务情况-->
-        <inspection-rask-details></inspection-rask-details>
+  <div class="home-left">
+    <!--时间 天气-->
+    <div class="time-weather">
+      <div class="time">2025.03.04 15:30:00</div>
+      <div class="line"></div>
+      <div class="weather">
+        <img src="@/assets/images/tq.png" alt="" />
+        <span class="tq">阴天</span>
+        <span class="qk">适合飞行</span>
+      </div>
     </div>
+    <!--机巢概况-->
+    <overview-next></overview-next>
+    <!--巡检任务情况-->
+    <inspection-rask-details></inspection-rask-details>
+  </div>
 </template>
 
 <script setup>
 import OverviewNext from './OverviewNext.vue';
 import InspectionRaskDetails from './InspectionRaskDetails.vue';
-
-
 </script>
 
 <style scoped lang="scss">
 .home-left {
-    position: absolute;
-    top: 88px;
-    color: #E7F5FF;
-    .time-weather {
-        margin-left: 45px;
-        width: 310px;
-        font-size: 14px;
-        height: 36px;
-        line-height: 36px;
-        display: flex;
-        justify-content: space-between;
-        align-items: center;
-        .line {
-            border: 1px solid #FFFFFF;
-            height: 10px;
-            opacity: 0.5;
-        }
-        .weather {
-            img {
-                width: 20px;
-                height: 20px;
-            }
-            .tq {
-                margin: 0 5px;
-                color: #E7F5FF;
-            }
-            .qk {
-                margin-left: 5px;
-                color: #04F043;
-           }
-        }
+  position: absolute;
+  top: 88px;
+  color: #e7f5ff;
+  .time-weather {
+    margin-left: 45px;
+    width: 310px;
+    font-size: 14px;
+    height: 36px;
+    line-height: 36px;
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    .line {
+      border: 1px solid #ffffff;
+      height: 10px;
+      opacity: 0.5;
     }
+    .weather {
+      img {
+        width: 20px;
+        height: 20px;
+      }
+      .tq {
+        margin: 0 5px;
+        color: #e7f5ff;
+      }
+      .qk {
+        margin-left: 5px;
+        color: #04f043;
+      }
+    }
+  }
 }
 </style>
diff --git a/src/views/Home/components/HomeLeft/InspectionRaskDetails.vue b/src/views/Home/components/HomeLeft/InspectionRaskDetails.vue
index 3c80ed1..7e649f8 100644
--- a/src/views/Home/components/HomeLeft/InspectionRaskDetails.vue
+++ b/src/views/Home/components/HomeLeft/InspectionRaskDetails.vue
@@ -1,26 +1,32 @@
 <!-- 巡检任务详情 -->
 <template>
-    <common-title title="巡检任务情况" style="margin-left: 14px;" @details="detailsFun"></common-title>
-    <div class="inspection-rask-details">
-        <div class="inspection-num">
-            <div class="total">
-                <div class="value">88</div>
-                <div class="name">总任务数</div>
-            </div>
-            <div class="status">
-               <div v-for="item in list">
-                    <div :style="{ color: item.color }" class="value">{{ item.value }}</div>
-                    <div class="name">{{ item.name }}</div>
-               </div>
-            </div>
+  <common-title
+    title="巡检任务情况"
+    :style="{ marginLeft: pxToRem(14) }"
+    @details="detailsFun" 
+    >
+</common-title>
+  <div class="inspection-rask-details">
+    <div class="inspection-num">
+      <div class="total">
+        <div class="value">88</div>
+        <div class="name">总任务数</div>
+      </div>
+      <div class="status">
+        <div v-for="item in list">
+          <div :style="{ color: item.color }" class="value">{{ item.value }}</div>
+          <div class="name">{{ item.name }}</div>
         </div>
-        <CommonDateTime></CommonDateTime>
-        <div class="chart-container" ref="chartRef"></div>
+      </div>
     </div>
+    <CommonDateTime></CommonDateTime>
+    <div class="chart-container" ref="chartRef"></div>
+  </div>
 </template>
 
 <script setup>
 import * as echarts from 'echarts';
+import { pxToRem } from '@/utils/rem';
 import CommonTitle from '@/components/CommonTitle.vue';
 import CommonDateTime from '@/components/CommonDateTime.vue';
 
@@ -38,144 +44,180 @@
 
 const chartRef = ref(null);
 
-
 onMounted(() => {
-    const chart = echarts.init(chartRef.value);
-    const option = {
-        grid: {
-            top: '15%',
-            left: '3%',
-            right: '4%',
-            bottom: '3%',
-            containLabel: true
+  const chart = echarts.init(chartRef.value);
+  const option = {
+    grid: {
+      top: '15%',
+      left: '3%',
+      right: '4%',
+      bottom: '3%',
+      containLabel: true,
+    },
+    tooltip: {
+      trigger: 'axis',
+      backgroundColor: 'rgba(0,0,0,0.7)',
+      borderColor: '#0070FF',
+      borderWidth: 1,
+      textStyle: {
+        color: '#fff',
+      },
+      formatter: '{b}日: {c}次',
+    },
+    xAxis: {
+      type: 'category',
+      data: [
+        '1',
+        '2',
+        '3',
+        '4',
+        '5',
+        '6',
+        '7',
+        '8',
+        '9',
+        '10',
+        '11',
+        '12',
+        '13',
+        '14',
+        '15',
+        '16',
+        '17',
+        '18',
+        '19',
+        '20',
+        '21',
+        '22',
+        '23',
+        '24',
+        '25',
+        '26',
+        '27',
+        '28',
+        '29',
+        '30',
+      ],
+      axisLine: {
+        show: false, // 隐藏轴线
+      },
+      axisTick: {
+        show: true,
+        length: 2,
+        lineStyle: {
+          color: '#ffffff',
         },
-        tooltip: {
-            trigger: 'axis',
-            backgroundColor: 'rgba(0,0,0,0.7)',
-            borderColor: '#0070FF',
-            borderWidth: 1,
-            textStyle: {
-                color: '#fff'
-            },
-            formatter: '{b}日: {c}次'
+      },
+      axisLabel: {
+        color: '#ffffff',
+        margin: 8,
+      },
+    },
+    yAxis: {
+      type: 'value',
+      axisLine: {
+        lineStyle: {
+          color: '#ffffff',
         },
-        xAxis: {
-            type: 'category',
-            data: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', 
-                   '11', '12', '13', '14', '15', '16', '17', '18', '19', 
-                   '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30'],
-            axisLine: {
-                show: false  // 隐藏轴线
-            },
-            axisTick: {
-                show: true,
-                length: 2,
-                lineStyle: {
-                    color: '#ffffff'
-                }
-            },
-            axisLabel: {
-                color: '#ffffff',
-                margin: 8
-            }
+      },
+      axisLabel: {
+        color: '#ffffff',
+      },
+      splitLine: {
+        lineStyle: {
+          color: 'rgba(255, 255, 255, 0.1)',
         },
-        yAxis: {
-            type: 'value',
-            axisLine: {
-                lineStyle: {
-                    color: '#ffffff'
-                }
-            },
-            axisLabel: {
-                color: '#ffffff'
-            },
-            splitLine: {
-                lineStyle: {
-                    color: 'rgba(255, 255, 255, 0.1)'
-                }
-            }
+      },
+    },
+    series: [
+      {
+        data: [
+          10, 15, 8, 20, 12, 18, 15, 22, 16, 19, 14, 17, 21, 13, 16, 18, 15, 20, 17, 22, 19, 16, 14,
+          18, 21, 15, 17, 20, 16, 18,
+        ],
+        type: 'bar',
+        barWidth: '60%',
+        itemStyle: {
+          color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+            { offset: 0, color: '#1EE7E7' },
+            { offset: 1, color: 'rgba(0, 112, 255, 0.1)' },
+          ]),
         },
-        series: [{
-            data: [10, 15, 8, 20, 12, 18, 15, 22, 16, 19, 
-                   14, 17, 21, 13, 16, 18, 15, 20, 17, 22, 
-                   19, 16, 14, 18, 21, 15, 17, 20, 16, 18],
-            type: 'bar',
-            barWidth: '60%',
-            itemStyle: {
-                color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
-                    { offset: 0, color: '#1EE7E7' },
-                    { offset: 1, color: 'rgba(0, 112, 255, 0.1)' }
-                ])
-            }
-        }]
-    };
-    
-    chart.setOption(option);
-    
-    // 监听窗口大小变化
-    window.addEventListener('resize', () => {
-        chart.resize();
-    });
+      },
+    ],
+  };
+
+  chart.setOption(option);
+
+  // 监听窗口大小变化
+  window.addEventListener('resize', () => {
+    chart.resize();
+  });
 });
 </script>
 
 <style scoped lang="scss">
 .inspection-rask-details {
-    margin-left: 29px;
-    padding: 16px 16px;
-    width: 390px;
-    height: 414px;
-    background: linear-gradient( 270deg, rgba(31,62,122,0) 0%, rgba(31,62,122,0.35) 21%, #1F3E7A 100%);
-    border-radius: 0px 0px 0px 0px;
-    opacity: 0.85;
-    .inspection-num {
-        background: url('@/assets/images/inspection-num.png') no-repeat center / 100% 100%;
-        width: 360px;
-        height: 118px;
-        position: relative;
-        .total {
-            position: absolute;
-            left: 34px;
-            top: 44px;
-            font-weight: 500;
-            font-size: 14px;
-            color: #FFFFFF;
-            font-family: Source Han Sans CN, Source Han Sans CN;
-            line-height: 19px;
-            .value {
-                font-family: YouSheBiaoTiHei, YouSheBiaoTiHei;
-                margin-left: 8px;
-                font-size: 26px;
-            }
-        }
-        .status {
-            position: absolute;
-            top: 8px;
-            right: 10px;
-            width: 200px;
-            display: flex;
-            flex-wrap: wrap;
-            gap: 8px;
-            justify-content: flex-start;
-            line-height: 22px;
-            padding: 0 10px 10px 0;
-            .name {
-                font-family: Source Han Sans CN, Source Han Sans CN;
-                font-weight: 400;
-                font-size: 14px;
-                color: #FFFFFF;
-            }
-            .value {
-                font-family: YouSheBiaoTiHei, YouSheBiaoTiHei;
-                font-weight: 400;
-                font-size: 26px;
-            }
-        }
+  margin-left: 29px;
+  padding: 16px 16px;
+  width: 390px;
+  height: 414px;
+  background: linear-gradient(
+    270deg,
+    rgba(31, 62, 122, 0) 0%,
+    rgba(31, 62, 122, 0.35) 21%,
+    #1f3e7a 100%
+  );
+  border-radius: 0px 0px 0px 0px;
+  opacity: 0.85;
+  .inspection-num {
+    background: url('@/assets/images/inspection-num.png') no-repeat center / 100% 100%;
+    width: 360px;
+    height: 118px;
+    position: relative;
+    .total {
+      position: absolute;
+      left: 34px;
+      top: 44px;
+      font-weight: 500;
+      font-size: 14px;
+      color: #ffffff;
+      font-family: Source Han Sans CN, Source Han Sans CN;
+      line-height: 19px;
+      .value {
+        font-family: YouSheBiaoTiHei, YouSheBiaoTiHei;
+        margin-left: 8px;
+        font-size: 26px;
+      }
     }
-    .chart-container {
-        width: 100%;
-        height: 200px;
-        margin-top: 20px;
+    .status {
+      position: absolute;
+      top: 8px;
+      right: 10px;
+      width: 200px;
+      display: flex;
+      flex-wrap: wrap;
+      gap: 8px;
+      justify-content: flex-start;
+      line-height: 22px;
+      padding: 0 10px 10px 0;
+      .name {
+        font-family: Source Han Sans CN, Source Han Sans CN;
+        font-weight: 400;
+        font-size: 14px;
+        color: #ffffff;
+      }
+      .value {
+        font-family: YouSheBiaoTiHei, YouSheBiaoTiHei;
+        font-weight: 400;
+        font-size: 26px;
+      }
     }
+  }
+  .chart-container {
+    width: 100%;
+    height: 200px;
+    margin-top: 20px;
+  }
 }
 </style>
diff --git a/src/views/Home/components/HomeLeft/OverviewNext.vue b/src/views/Home/components/HomeLeft/OverviewNext.vue
index cd64f21..af377ca 100644
--- a/src/views/Home/components/HomeLeft/OverviewNext.vue
+++ b/src/views/Home/components/HomeLeft/OverviewNext.vue
@@ -1,46 +1,44 @@
 <!-- 机巢概况 -->
 <template>
-    <common-title style="margin-left: 14px;" @details="detailsFun"></common-title>
-    <div class="overview-next">
-        <div class="next-num">
-            <div class="total">
-                <div class="value">88</div>
-                <div class="name">机巢总数</div>
-            </div>
-            <div class="status">
-               <div v-for="item in list">
-                    <div :style="{ color: item.color }" class="value">{{ item.value }}</div>
-                    <div class="name">{{ item.name }}</div>
-               </div>
-            </div>
+  <common-title :style="{ marginLeft: pxToRem(14) }" @details="detailsFun"></common-title>
+  <div class="overview-next">
+    <div class="next-num">
+      <div class="total">
+        <div class="value">88</div>
+        <div class="name">机巢总数</div>
+      </div>
+      <div class="status">
+        <div v-for="item in list">
+          <div :style="{ color: item.color }" class="value">{{ item.value }}</div>
+          <div class="name">{{ item.name }}</div>
         </div>
-        <div class="search-box">
-            <el-input
-                v-model="searchText"
-                placeholder="请输入搜索内容"
-                class="input-with-select">
-                <template #append>
-                    <el-button :icon="Search" />
-                </template>
-            </el-input>
-        </div>
-        <div class="table-list">
-            <div class="table-header">
-                <div class="name">机巢名称</div>
-                <div class="status">机巢状态</div>
-            </div>
-            <div class="table-item" v-for="item in tableList">
-                <div class="name">
-                    <img class="yjzx-img" width="10" height="10" src="@/assets/images/table-zx.png" alt="">
-                    <img width="13" height="15"  src="@/assets/images/table-icon.png" alt="">
-                    {{item.name}}
-                </div>
-                <div class="status">{{ item.status }}</div>
-            </div>
-        </div>
+      </div>
     </div>
+    <div class="search-box">
+      <el-input v-model="searchText" placeholder="请输入搜索内容" class="input-with-select">
+        <template #append>
+          <el-button :icon="Search" />
+        </template>
+      </el-input>
+    </div>
+    <div class="table-list">
+      <div class="table-header">
+        <div class="name">机巢名称</div>
+        <div class="status">机巢状态</div>
+      </div>
+      <div class="table-item" v-for="item in tableList">
+        <div class="name">
+          <img class="yjzx-img" width="10" height="10" src="@/assets/images/table-zx.png" alt="" />
+          <img width="13" height="15" src="@/assets/images/table-icon.png" alt="" />
+          {{ item.name }}
+        </div>
+        <div class="status">{{ item.status }}</div>
+      </div>
+    </div>
+  </div>
 </template>
 <script setup>
+import { pxToRem } from '@/utils/rem';
 import { Search } from '@element-plus/icons-vue';
 import CommonTitle from '@/components/CommonTitle.vue';
 
@@ -64,107 +62,112 @@
 </script>
 <style scoped lang="scss">
 .overview-next {
-    font-family: YouSheBiaoTiHei, YouSheBiaoTiHei;
-    margin-left: 29px;
-    padding: 16px 16px;
-    width: 390px;
-    height: 414px;
-    background: linear-gradient( 270deg, rgba(31,62,122,0) 0%, rgba(31,62,122,0.35) 21%, #1F3E7A 100%);
-    border-radius: 0px 0px 0px 0px;
-    opacity: 0.85;
-    .next-num {
-        width: 358px;
-        height: 92px;
-        background: url(@/assets/images/next-num.png) no-repeat center / 100% 100%;;
-        position: relative;
-        .total {
-            position: absolute;
-            left: 22px;
-            top: 28px;
-            font-weight: 500;
-            font-size: 14px;
-            color: #FFFFFF;
-            font-family: Source Han Sans CN, Source Han Sans CN;
-            line-height: 19px;
-            .value {
-                font-family: YouSheBiaoTiHei, YouSheBiaoTiHei;
-                margin-left: 8px;
-                font-size: 26px;
-            }
-        }
-        .status {
-            position: absolute;
-            top: 16px;
-            right: 30px;
-            width: 200px;
-            display: flex;
-            justify-content: space-between;
-            line-height: 30px;
-            .name {
-                font-family: Source Han Sans CN, Source Han Sans CN;
-                font-weight: 400;
-                font-size: 14px;
-                color: #FFFFFF;
-            }
-            .value {
-                font-weight: 400;
-                font-size: 26px;
-
-            }
-        }
+  font-family: YouSheBiaoTiHei, YouSheBiaoTiHei;
+  margin-left: 29px;
+  padding: 16px 16px;
+  width: 390px;
+  height: 414px;
+  background: linear-gradient(
+    270deg,
+    rgba(31, 62, 122, 0) 0%,
+    rgba(31, 62, 122, 0.35) 21%,
+    #1f3e7a 100%
+  );
+  border-radius: 0px 0px 0px 0px;
+  opacity: 0.85;
+  .next-num {
+    width: 358px;
+    height: 92px;
+    background: url(@/assets/images/next-num.png) no-repeat center / 100% 100%;
+    position: relative;
+    .total {
+      position: absolute;
+      left: 22px;
+      top: 28px;
+      font-weight: 500;
+      font-size: 14px;
+      color: #ffffff;
+      font-family: Source Han Sans CN, Source Han Sans CN;
+      line-height: 19px;
+      .value {
+        font-family: YouSheBiaoTiHei, YouSheBiaoTiHei;
+        margin-left: 8px;
+        font-size: 26px;
+      }
     }
-    .search-box {
-        margin-top: 19px;
-        margin-right: 16px;
-        :deep(.el-input__wrapper) {
-            background-color: rgba(0, 112, 255, 0.1);
-            background: rgba(0,15,34,0.5);
-            box-shadow: 0 0 0 1px #0070FF inset;
-        }
-
-        :deep(.el-input-group__append) {
-            background: rgba(0,112,255,0.38);
-            .el-button {
-                background-color: transparent;
-                border: 1px solid #0070FF;
-                border-left: none;
-                color: #fff;
-            }
-        }
-
-        :deep(.el-input__inner) {
-            color: #fff;
-            &::placeholder {
-                color: rgba(255, 255, 255, 0.6);
-            }
-        }
-    }
-    .table-list {
+    .status {
+      position: absolute;
+      top: 16px;
+      right: 30px;
+      width: 200px;
+      display: flex;
+      justify-content: space-between;
+      line-height: 30px;
+      .name {
         font-family: Source Han Sans CN, Source Han Sans CN;
-        margin: 16px;
-        font-weight: 500;
-        font-size: 16px;
-        .table-header, .table-item {
-            display: flex;
-            justify-content: space-between;
-            height: 36px;
-            line-height: 36px;
-            padding: 0 20px;
-        }
-        .table-item {
-            position: relative;
-            .yjzx-img {
-                position: absolute;
-                top: 14px;
-                left: 10px;
-            }
-            .status {
-                color: #6FC3FF;
-            }
-            .atcive {
-                color: #04F020;
-            }
-        }
+        font-weight: 400;
+        font-size: 14px;
+        color: #ffffff;
+      }
+      .value {
+        font-weight: 400;
+        font-size: 26px;
+      }
     }
+  }
+  .search-box {
+    margin-top: 19px;
+    margin-right: 16px;
+    :deep(.el-input__wrapper) {
+      background-color: rgba(0, 112, 255, 0.1);
+      background: rgba(0, 15, 34, 0.5);
+      box-shadow: 0 0 0 1px #0070ff inset;
+    }
+
+    :deep(.el-input-group__append) {
+      background: rgba(0, 112, 255, 0.38);
+      .el-button {
+        background-color: transparent;
+        border: 1px solid #0070ff;
+        border-left: none;
+        color: #fff;
+      }
+    }
+
+    :deep(.el-input__inner) {
+      color: #fff;
+      &::placeholder {
+        color: rgba(255, 255, 255, 0.6);
+      }
+    }
+  }
+  .table-list {
+    font-family: Source Han Sans CN, Source Han Sans CN;
+    margin: 16px;
+    font-weight: 500;
+    font-size: 16px;
+    .table-header,
+    .table-item {
+      display: flex;
+      justify-content: space-between;
+      height: 36px;
+      line-height: 36px;
+      padding: 0 20px;
+    }
+    .table-item {
+      position: relative;
+      .yjzx-img {
+        position: absolute;
+        top: 14px;
+        left: 10px;
+      }
+      .status {
+        color: #6fc3ff;
+      }
+      .atcive {
+        color: #04f020;
+      }
+    }
+  }
 }
 </style>

--
Gitblit v1.9.3