From 8e1a126f7ce64913b3498f3a440d3a2130aeab18 Mon Sep 17 00:00:00 2001
From: 张含笑 <zhx18749296735@163.com>
Date: Thu, 26 Jun 2025 19:55:52 +0800
Subject: [PATCH] feat:个人工作台样式调整

---
 src/views/wel/components/statistics.vue  |    9 +-
 src/views/wel/index.vue                  |   45 +++++++----
 src/views/wel/components/flyratio.vue    |    3 
 src/components/wel-container/main.vue    |   81 ++++++++++++++++++++
 src/main.js                              |    2 
 src/page/index/index.vue                 |    1 
 src/page/index/top/index.vue             |    1 
 src/views/wel/components/calendarBox.vue |   30 ++++---
 src/views/wel/components/backlog.vue     |   21 +++-
 9 files changed, 151 insertions(+), 42 deletions(-)

diff --git a/src/components/wel-container/main.vue b/src/components/wel-container/main.vue
new file mode 100644
index 0000000..266f0ac
--- /dev/null
+++ b/src/components/wel-container/main.vue
@@ -0,0 +1,81 @@
+
+<template>
+  <div class="basic-container" :style="styleName" :class="{ 'basic-container--block': block }">
+    <el-card class="basic-container__card">
+      <slot></slot>
+    </el-card>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'basicContainer',
+  props: {
+    radius: {
+      type: [String, Number],
+      default: 10,
+    },
+    background: {
+      type: String,
+    },
+    block: {
+      type: Boolean,
+      default: false,
+    },
+  },
+  computed: {
+    styleName () {
+      return {
+        borderRadius: `${this.radius}px`,
+        background: this.background,
+      }
+    },
+  },
+}
+</script>
+
+<style lang="scss">
+.basic-container {
+  height: 0;
+  flex: 1;
+
+
+  // box-sizing: border-box;
+  // height: 100%;
+.el-card {
+background-color: transparent !important;}
+  .basic-container__card {
+    height: 100% !important;
+    overflow: hidden;
+
+    .el-card__body {
+      display: flex;
+      flex-direction: column;
+      height: 100% !important;
+      overflow: hidden;
+      box-sizing: border-box;
+padding: 0 !important;
+      &>div {
+        height: 0;
+        flex: 1;
+      }
+    }
+  }
+
+  &--block {
+    height: 100%;
+
+    .basic-container__card {
+      height: 100%;
+    }
+  }
+
+  &__card {
+    width: 100%;
+  }
+
+  &:first-child {
+    padding-top: 0;
+  }
+}
+</style>
diff --git a/src/main.js b/src/main.js
index c38114f..886400b 100644
--- a/src/main.js
+++ b/src/main.js
@@ -30,6 +30,7 @@
 import avueUeditor from 'avue-plugin-ueditor'
 import basicBlock from 'components/basic-block/main.vue'
 import basicContainer from 'components/basic-container/main.vue'
+import welContainer from 'components/wel-container/main.vue'
 import basicMainContent from 'components/basic-main-content/main.vue'
 
 import thirdRegister from './components/third-register/main.vue'
@@ -88,6 +89,7 @@
     app.component(key, component)
 }
 app.component('basicContainer', basicContainer)
+app.component('welContainer', welContainer)
 app.component('basicMainContent', basicMainContent)
 
 app.component('basicBlock', basicBlock)
diff --git a/src/page/index/index.vue b/src/page/index/index.vue
index 65ec8cd..c0b819c 100644
--- a/src/page/index/index.vue
+++ b/src/page/index/index.vue
@@ -131,5 +131,6 @@
   background: transparent;
   padding: 0 10px;
   --el-color-primary: rgba(20, 65, 255, 1);
+    height: pxToVh(55);
 }
 </style>
diff --git a/src/page/index/top/index.vue b/src/page/index/top/index.vue
index 9761509..2478ef5 100644
--- a/src/page/index/top/index.vue
+++ b/src/page/index/top/index.vue
@@ -133,6 +133,7 @@
   flex: 1;
   display: flex;
   align-items: center;
+  height: pxToVh(80);
 }
 
 .top-bar__right {
diff --git a/src/views/wel/components/backlog.vue b/src/views/wel/components/backlog.vue
index ad3d306..dbd74a7 100644
--- a/src/views/wel/components/backlog.vue
+++ b/src/views/wel/components/backlog.vue
@@ -233,11 +233,16 @@
   getOrderCount();
 });
 </script>
-
+<style>
+.el-empty__image {
+width: 100px !important; }
+</style>
 <style lang="scss" scoped>
+
 .bocklogBox {
   width: 100%;
-  height: 306px;
+  // height: 306px;
+  height: pxToVh(326);
   background: rgba(255, 255, 255, 0.41);
   box-shadow: 0px 3px 4px -1px rgba(125, 125, 125, 0.25);
   border-radius: 8px 8px 8px 8px;
@@ -276,7 +281,8 @@
       }
       .dots {
         width: 17px;
-        height: 17px;
+        // height: 17px;
+        height: pxToVh(17);
         border-radius: 50%;
          background: #366fff;
         color: #fff;
@@ -289,7 +295,8 @@
       }
            .dots1 {
         width: 17px;
-        height: 17px;
+        // height: 17px;
+        height: pxToVh(17);
         border-radius: 50%;
         background: none !important;
         color: #366fff !important;
@@ -303,7 +310,8 @@
     }
     .todo-items {
       margin-top: 10px;
-      height: 250px;
+      // height: 250px;
+      height: pxToVh(250);
       overflow-y: scroll;
     }
 
@@ -317,7 +325,8 @@
       box-shadow: 0px 2px 4px 0px rgba(173, 173, 173, 0.18);
       transition: all 0.2s ease;
       border-left: 4px solid transparent;
-      height: 42px;
+      // height: 42px;
+      height: pxToVh(42);
       &:hover {
         transform: translateY(-2px);
         box-shadow: 0 3px 8px rgba(0, 0, 0, 0.05);
diff --git a/src/views/wel/components/calendarBox.vue b/src/views/wel/components/calendarBox.vue
index 20ce47e..44c8ceb 100644
--- a/src/views/wel/components/calendarBox.vue
+++ b/src/views/wel/components/calendarBox.vue
@@ -105,9 +105,10 @@
 </script>
 <style lang="scss">
 .calenBox {
- height: 630px;
+//  height: 630px;
+height: pxToVh(610);
   .el-calendar {
-    height: 100%; // 日历填充容器
+    // height: 80%; // 日历填充容器
     // 标题样式
     &__title {
       font-weight: bold;
@@ -116,14 +117,15 @@
     }
 
     // 日历主体
-    &__body {
-      height: 98%; // 关键:继承父高度
+    // &__body {
+    //   height: 98%; // 关键:继承父高度
       
-      .el-calendar-table {
-        height: 90% !important; // 百分比生效
-      }
-    }
-
+    //   .el-calendar-table {
+    //     height: 90% !important; // 百分比生效
+    //   }
+    // }
+.el-calendar-table .el-calendar-day{
+height: 78px !important;}
     // 选中日期样式
     .el-calendar-table td.is-selected {
       background-color: #f0f7ff;
@@ -145,18 +147,18 @@
 </style>
 <style lang="scss" scoped>
 .calenBox {
-  margin-top: 17px;
-  height: 630px;
+  margin-top: 10px;
+  // height: 630px;
+  height: pxToVh(610);
+  border-radius: 10px;
   overflow: hidden;
+  background-color: #fff;
   .event-item {
     font-size: 12px;
     // padding: 2px;
 
     border-radius: 3px;
     white-space: nowrap;
-    // overflow: hidden;
-    // text-overflow: ellipsis;
-
     &.work-order {
       font-weight: 400;
       font-size: 12px;
diff --git a/src/views/wel/components/flyratio.vue b/src/views/wel/components/flyratio.vue
index eef3091..3894a64 100644
--- a/src/views/wel/components/flyratio.vue
+++ b/src/views/wel/components/flyratio.vue
@@ -230,7 +230,8 @@
   }
   .nestCenter {
     width: 100%;
-    height: 600px;
+    // height: 600px;
+    height: pxToVh(600);
     .chart {
       width: 100%;
       height: 100%;
diff --git a/src/views/wel/components/statistics.vue b/src/views/wel/components/statistics.vue
index cb3fb32..d0642df 100644
--- a/src/views/wel/components/statistics.vue
+++ b/src/views/wel/components/statistics.vue
@@ -295,7 +295,8 @@
 
 <style scoped lang="scss">
 .statistics {
-  min-height: 174px;
+  // height: 174px;
+   height: pxToVh(174);
   background: #ffffff;
   border-radius: 8px 8px 8px 8px;
   margin-bottom: 10px;
@@ -332,15 +333,15 @@
     padding: 0 14px 0 21px;
     // display: grid;
     // grid-template-columns: repeat(4, 1fr);
-    height: 80px;
+   height: pxToVh(80);
     display: flex;
     justify-content: space-around;
     :deep(.el-empty ){
       width: 60px;
-      height: 60px;
+      height: pxToVh(60);
       .el-empty__image{
       width: 60px !important;
-      height: 60px !important;}
+       height: pxToVh(60)!important;}
       .custom-text {
         font-size: 12px;
         color: #7c8091;
diff --git a/src/views/wel/index.vue b/src/views/wel/index.vue
index 6611797..3f72d17 100644
--- a/src/views/wel/index.vue
+++ b/src/views/wel/index.vue
@@ -1,4 +1,5 @@
 <template>
+<welContainer>
   <div class="workbench">
     <div class="workleft">
       <!-- 设备统计  -->
@@ -95,6 +96,7 @@
       <CalenBox></CalenBox>
     </div>
   </div>
+  </welContainer>
 </template>
 
 <script setup>
@@ -511,20 +513,23 @@
 </style>
 <style scoped lang="scss">
 .workbench {
-  padding: 0px 20px 0 10px;
+ height: 100%;
+  flex: 1;
+  // padding: 0px 20px 0 10px;
   display: flex;
   justify-content: space-between;
-height: calc(100% - 5rem);
 }
 .workleft {
   width: 68%;
   margin-right: 10px;
+  height: 100%;
   .comprehensiveCon {
-    // height: 736px;
-    background: #ffffff;
+      background: #ffffff !important;
+   height: pxToVh(766);
     border-radius: 8px 8px 8px 8px;
     .comprehensive {
-      padding: 17px 14px 0 21px;
+ 
+      padding: 14px 14px 0 21px;
       .title {
         display: flex;
         justify-content: space-between;
@@ -548,7 +553,8 @@
         }
         .time-card {
           text-align: center;
-          height: 30px;
+          // height: 30px;
+          height: pxToVh(30);
           background: #ffffff;
           border-radius: 4px 0px 0px 4px;
           border: 1px solid #e5e5e5;
@@ -561,7 +567,7 @@
           .card-item {
             width: 94px;
             height: 100%;
-            line-height: 32px;
+            line-height: 28px;
             cursor: pointer;
             font-family: 'Source Han Sans CN';
             font-weight: 400;
@@ -587,7 +593,7 @@
           width: 60%;
           border-right: 1px solid #dfdfdf;
           .workOrder {
-            margin-top: 31px;
+            margin-top: 11px;
             display: flex;
             justify-content: space-between;
             border-bottom: 1px solid #dfdfdf;
@@ -595,7 +601,7 @@
               width: 40%;
               .card-title {
                 display: flex;
-                margin-bottom: 17px;
+                margin-bottom: 10px;
                 align-items: center;
                 img {
                   width: 36px;
@@ -629,16 +635,16 @@
                 grid-template-columns: repeat(2, 1fr);
                 row-gap: 14px;
                 gap: 10px;
-                margin-bottom: 27px;
+                padding-bottom: 5px;
                 .status-item {
                   display: flex;
                   text-align: center;
                   justify-content: space-between;
                   height: 97px;
+                  // height: pxToVh(107);
                   max-width: 158px;
                   background: #f6f8fe;
                   border-radius: 8px 8px 8px 8px;
-                  margin-bottom: 9px;
                   img {
                     width: 26px;
                     height: 26px;
@@ -685,8 +691,8 @@
             }
             .charts {
               margin-top: 30px;
-              width: 348px;
-              height: 242px;
+              width: 100%;
+              height: auto;
               .chart {
                 width: 100%;
                 height: 100%;
@@ -696,7 +702,7 @@
 
           // 飞行统计
           .flyOrder {
-            margin-top: 10px;
+            margin-top: 5px;
             .fytitle {
               display: flex;
               align-items: center;
@@ -711,7 +717,8 @@
               }
             }
             .flycenter {
-              margin-top: 22px;
+              margin-top: 13px;
+
               .centerBox {
                 display: flex;
                 justify-content: space-between;
@@ -720,7 +727,8 @@
                   padding: 7px 7px 0 15px;
                   // width: 196px;
                   flex: 1;
-                  height: 80px;
+                  // height: 80px;
+                  height: pxToVh(80);
                   background: #f6f8fe;
                   box-shadow: 0px 5px 4px 0px #ebf1ff;
                   border-radius: 8px 8px 8px 8px;
@@ -739,7 +747,7 @@
                     color: #7c8091;
                   }
                   .flydata {
-                    margin-top: 15px;
+                    margin-top: 10px;
                     text-align: right;
                     font-size: 14px;
                     color: #7c8091;
@@ -773,6 +781,9 @@
 }
 
 .workright {
+height: 100%;
   width: 32%;
+  // display: flex;
+  // flex-direction: column;
 }
 </style>

--
Gitblit v1.9.3