From 126f31c98cc341e052edf8b3dd9b59e17696609e Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期四, 17 八月 2023 20:33:58 +0800
Subject: [PATCH] 面板

---
 src/views/visualization.vue |  551 +++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 375 insertions(+), 176 deletions(-)

diff --git a/src/views/visualization.vue b/src/views/visualization.vue
index f092fa5..7f6c12b 100644
--- a/src/views/visualization.vue
+++ b/src/views/visualization.vue
@@ -1,84 +1,114 @@
-/
+
 <template>
   <div class="home">
     <div class="left">
       <div class="left_top">
-        <p class="title">璁続423鐢熶骇绠$悊鐪嬫澘</p>
+        <p class="title">
+          璁続423鐢熶骇绠$悊鐪嬫澘
+          <span class="font el-icon-setting set-title"></span>
+        </p>
         <div class="statelist">
-          <span
-            >鐘舵��:<span style="position: relative"
-              >姝e父
-              <span
-                style="
-                  width: 12px;
-                  height: 12px;
-                  background: #15d815;
-                  display: block;
-                  border-radius: 50%;
-                  position: absolute;
-                  right: -18px;
-                  top: 4px;
-                "
-              ></span
-            ></span>
+          <span class="title-item"
+            >璁㈠崟缂栧彿: <span class="color_4efefa">Q-22038</span>
           </span>
-          <span>褰撳墠宸ュ簭: <span class="status">鍓嶇汉(QF)</span> </span>
-
-          <span>宸ヤ綔浜烘暟: <span class="status">6浜�</span> </span>
+          <span class="title-item"
+            >褰撳墠宸ュ簭: <span class="color_4efefa">鍓嶇汉(QF)</span>
+          </span>
+          <span class="title-item"
+            >鍚庨亾宸ュ簭: <span class="color_4efefa">Q-22038</span>
+          </span>
+          <span class="title-item"
+            >宸ヤ綔浜烘暟: <span class="color_4efefa">6浜�</span>
+          </span>
         </div>
         <div class="content">
           <div class="content_left">
-            <div class="small_title">璁㈠崟缂栧彿Q-22038</div>
-            <div class="content_leftBttom">
-              <dl>
-                <dd style="font-size: 32px; color: #4cfdf5">100m</dd>
-                <dd style="font-size: 14px">鐢熶骇涓�</dd>
-              </dl>
-              <dl>
-                <dd style="font-size: 32px">400m</dd>
-                <dd style="font-size: 14px">褰撳墠瀹屾垚</dd>
-              </dl>
+            <div class="content-top">
+              <div class="small_title">褰撳墠瀹屾垚</div>
+              <div class="content_leftBttom">
+                <dl>
+                  <dd style="font-size: 26px; font-weight: 600">0m</dd>
+                </dl>
+              </div>
+            </div>
+            <div class="content-top">
+              <div class="small_title">姝e搧鐢熶骇</div>
+              <div class="content_leftBttom">
+                <dl>
+                  <dd style="font-size: 26px; font-weight: 600">400m</dd>
+                </dl>
+              </div>
             </div>
           </div>
           <div class="content_right">
             <el-descriptions :column="2" :colon="true">
-              <el-descriptions-item label="浜у搧鍚嶇О">kooriookami</el-descriptions-item>
-              <el-descriptions-item label="鏁伴噺:">18100000000</el-descriptions-item>
-              <el-descriptions-item label="浜よ揣鏃ユ湡:">鑻忓窞甯�</el-descriptions-item>
+              <el-descriptions-item label="浜у搧鍚嶇О"
+                >kooriookami</el-descriptions-item
+              >
+              <el-descriptions-item label="鏁伴噺:"
+                >18100000000</el-descriptions-item
+              >
+              <el-descriptions-item label="浜よ揣鏃ユ湡:"
+                >鑻忓窞甯�</el-descriptions-item
+              >
               <el-descriptions-item label="宸ユ椂:"> 瀛︽牎 </el-descriptions-item>
-              <el-descriptions-item label="璧锋鏃堕棿">姹熻嫃鐪佽嫃宸炲競鍚翠腑鍖哄惔涓ぇ閬� 1188 鍙�</el-descriptions-item>
+              <el-descriptions-item label="璧锋鏃堕棿"
+                >姹熻嫃鐪佽嫃宸炲競鍚翠腑鍖哄惔涓ぇ閬� 1188 鍙�</el-descriptions-item
+              >
+              <el-descriptions-item label="璐х墿鎻忚堪"
+                >姹熻嫃鐪佽嫃宸炲競鍚翠腑鍖哄惔涓ぇ閬� 1188 鍙�</el-descriptions-item
+              >
+              <el-descriptions-item label="瀹㈡埛鍚嶇О"
+                >姹熻嫃鐪佽嫃宸炲競鍚翠腑鍖哄惔涓ぇ閬� 1188 鍙�</el-descriptions-item
+              >
+              <el-descriptions-item label="鍙傛暟瑕佹眰"
+                >姹熻嫃鐪佽嫃宸炲競鍚翠腑鍖哄惔涓ぇ閬� 1188 鍙�</el-descriptions-item
+              >
             </el-descriptions>
-            <el-progress
-              define-back-color="#131D26"
-              color="#4EFEFA"
-              :text-inside="true"
-              :stroke-width="22"
-              :percentage="progress"
-              :text-format="format"
-              >瀹屾垚鐜�50%</el-progress
-            >
-
-            <el-progress
-              define-back-color="#131D26"
-              color="#4EFEFA"
-              :text-inside="true"
-              :stroke-width="22"
-              :percentage="passrate"
-            ></el-progress>
+            <el-descriptions :column="1" :colon="true">
+              <el-descriptions-item label="瀹屾垚搴�" style="width: 100%">
+                <el-progress
+                  define-back-color="#007101"
+                  color="#00CC66"
+                  :text-inside="true"
+                  :stroke-width="30"
+                  :percentage="progress"
+                  :text-format="format"
+                  >瀹屾垚鐜�50%</el-progress
+                >
+              </el-descriptions-item>
+              <el-descriptions-item label="鍚堟牸鐜�" style="width: 100%">
+                <el-progress
+                  define-back-color="#007101"
+                  color="#00CC66"
+                  :text-inside="true"
+                  :stroke-width="30"
+                  :percentage="passrate"
+                ></el-progress>
+              </el-descriptions-item>
+            </el-descriptions>
           </div>
         </div>
         <div class="bottom">
           <div class="bottom_list">
-            <div class="small_title">杈撳叆璧勬簮</div>
+            <div class="bottom-title">杈撳叆璧勬簮</div>
             <Card />
             <Card />
             <Card />
-            <span class="call">鍛煎彨鐗╂枡</span>
+            <!-- <span class="call">鍛煎彨鐗╂枡</span> -->
           </div>
+          <i class="el-icon-arrow-right font-arrow-20"></i>
           <div class="bottom_list">
-            <div class="small_title">褰撳墠宸ュ簭:鍓嶇汉(QF)</div>
+            <div class="bottom-title">褰撳墠宸ュ簭:鍓嶇汉(QF)</div>
             <!-- format:format(percentage) -->
-            <div style="display: flex; margin: auto; width: 160px; margin-top: 12px">
+            <div
+              style="
+                display: flex;
+                margin: auto;
+                width: 160px;
+                margin-top: 12px;
+              "
+            >
               <el-progress
                 :stroke-width="12"
                 text-color="#4EFEFA"
@@ -92,8 +122,10 @@
             </div>
 
             <Card />
-            <p style="font-size: 22px; margin-left: 12px; margin-top: 50px">缂栧彿:K23455</p>
-            <div class="qfcall">
+            <p style="font-size: 22px; margin-left: 12px; margin-top: 50px">
+             
+            </p>
+            <!-- <div class="qfcall">
               <span
                 style="
                   width: 63%;
@@ -116,99 +148,130 @@
                 "
                 >缁撴潫</span
               >
-            </div>
+            </div> -->
           </div>
+          <i class="el-icon-arrow-right font-arrow-20"></i>
           <div class="bottom_list">
-            <div class="small_title">杈撳嚭璧勬簮</div>
+            <div class="bottom-title">杈撳嚭璧勬簮</div>
             <Card />
             <Card />
             <Card />
-            <span class="call">鍛煎彨杩愯緭</span>
+            <!-- <span class="call">鍛煎彨杩愯緭</span> -->
           </div>
         </div>
       </div>
     </div>
     <div class="right">
       <div class="right_top">
+        <div class="right-top-l">浣滀笟鐘舵��</div>
         <div class="time">
           <dl>
-            <dd><span style="font-size: 36px">17:50</span></dd>
-            <dd><span>2023/02/16</span></dd>
+            <dd><span style="font-size: 32px">17:50</span></dd>
+            <dd>
+              <span style="font-size: 12px; margin-right: 10px"
+                >2023/02/16</span
+              >
+              <span style="font-size: 14px">鏄熸湡鍥�</span>
+            </dd>
           </dl>
-          <span style="right: 50px" class="font el-icon-date"></span>
-          <span class="font el-icon-setting"></span>
-          <!-- <span>17:50</span> -->
         </div>
       </div>
+      <div class="right-top-m">
+        璁惧鐘舵��:
+        <span style="position: relative"
+          >姝e父
+          <span class="yuandian"></span>
+        </span>
+      </div>
+      <div class="right-top-m-btn">
+        <el-button type="primary" @click="openorder">
+               鎺у埗</el-button
+              >
+      </div>
       <div class="right_dutyLst">
-        <p class="small_title">褰撳墠鍊肩彮</p>
-        <dl>
-          <dt><el-avatar src="https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png"></el-avatar></dt>
-          <dd>寮犱笁</dd>
-          <dd>1867654329</dd>
+        <div class="right-small-title">褰撳墠鍊肩彮</div>
+        <dl class='right-small-person'>
+          <dt>
+            <el-avatar
+            class="img-class"
+              src="https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png"
+            ></el-avatar>
+          </dt>
+          <span style="font-size:20px; font-weight:600;margin-right:10px">寮犱笁</span>
+          <span style="color:#666;">1867654329</span>
         </dl>
-        <dl>
-          <dt><el-avatar src="https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png"></el-avatar></dt>
-          <dd>寮犱笁</dd>
-          <dd>1867654329</dd>
-        </dl>
-        <dl>
-          <dt><el-avatar src="https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png"></el-avatar></dt>
-          <dd>寮犱笁</dd>
-          <dd>1867654329</dd>
-        </dl>
-        <dl>
-          <dt><el-avatar src="https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png"></el-avatar></dt>
-          <dd>寮犱笁</dd>
-          <dd>1867654329</dd>
-        </dl>
+        <div style="width:100%;font-size:18px;font-weight:600;margin-top:50px;text-align:center;line-height:50px;">缂栧彿锛�12233</div>
+        <div class="right-small-btn">
+          <el-button type="primary" @click="openorder">
+                鎵撳嵃</el-button
+                >
+                <el-button type="primary" @click="openorder">
+                瀹屾垚</el-button
+                >
+        </div>
       </div>
       <div class="right_base">
-        鐭ヨ瘑搴�
+       
         <Knowledge />
-        <span class="call">绾㈢伅鍛煎彨</span>
+        <div class="right-base-btn call">
+        <el-button type="primary" @click="openorder">
+          绾㈢伅鍛煎彨</el-button
+              >
+      </div>
       </div>
     </div>
   </div>
 </template>
 
 <script>
-import Card from "@/components/Card.vue"
-import Knowledge from "../components/Knowledge.vue"
+import Card from "@/components/Card.vue";
+import Knowledge from "../components/Knowledge.vue";
 export default {
   components: {
     Card,
-    Knowledge
+    Knowledge,
   },
   data() {
     return {
       progress: 70, //杩涘害
       passrate: 30, //鍚堟牸鐜�
-      production: 25 //鐢熶骇涓�
-    }
+      production: 25, //鐢熶骇涓�
+    };
   },
   created() {
     setInterval(() => {
-      this.progress = this.getRandomNumber(1, 100)
-      this.passrate = this.getRandomNumber(1, 100)
-      this.production = this.getRandomNumber(1, 100)
-    }, 3000)
+      this.progress = this.getRandomNumber(1, 100);
+      this.passrate = this.getRandomNumber(1, 100);
+      this.production = this.getRandomNumber(1, 100);
+    }, 3000);
   },
 
   methods: {
     getRandomNumber(min, max) {
-      return Math.floor(Math.random() * (max - min + 1) + min)
+      return Math.floor(Math.random() * (max - min + 1) + min);
     },
     format(percentage) {
-      return `鍚堟牸鐜囷細${percentage}%`
-    }
-  }
-}
+      return `鍚堟牸鐜囷細${percentage}%`;
+    },
+  },
+};
 </script>
 
 <style lang="scss">
+.font-arrow-20 {
+  font-size: 30px;
+  color: #4efefa;
+  font-weight: 700;
+}
 .bottom_list {
   position: relative;
+  padding:10px;
+  .bottom-title{
+    font-weight: 600;
+    font-size:16px;
+
+
+  }
   .call {
     background: #4efefa;
     display: inline-block;
@@ -243,18 +306,19 @@
 .small_title {
   font-size: 20px;
   font-weight: 600;
-  margin-left: 14px;
-  margin-top: 14px;
 }
 .home {
   width: 100%;
-  height: 100%;
+  height: auto;
+  min-height: 100%;
   color: #fff;
-
+  background: rgba(2, 10, 38, 1);
+  overflow: hidden;
   .left {
     width: calc(78% - 60px);
-    height: calc(100% - 60px);
-    background: #0a2164;
+    height: auto;
+    min-height: 100%;
+    background: rgba(2, 10, 38, 1);
     float: left;
     padding: 30px;
     padding-top: 20px;
@@ -264,48 +328,55 @@
 
       text-align: center;
     }
-    .status {
+    .color_4efefa {
       color: #4efefa;
     }
 
     .statelist {
-      width: 50%;
+      width: 100%;
       margin: 0 auto;
-      height: 20px;
+      height: 50px;
       display: flex;
       flex-wrap: nowrap;
       align-content: center;
       justify-content: space-around;
       align-items: center;
-      span {
-        // background: blue;
-        width: 30%;
-        height: 100%;
+      .title-item {
+        width: 20%;
+        padding: 15px 20px;
+        text-align: center;
+        border-radius: 4px;
+        display: inline-block;
+        background: rgba(12, 79, 218, 1);
         font-size: 16px;
         font-weight: 600;
-        text-align: center;
-        line-height: 50px;
       }
     }
     .content {
       width: 100%;
-      height: 200px;
-      margin: 60px 0px;
+      height: 240px;
+      margin: 20px 0px;
+      overflow: hidden;
       .content_left {
-        width: 20%;
+        width: 22%;
         height: 100%;
         float: left;
-        padding: 2%;
-        background: #233b9e;
+        // padding:2%;
+        .content-top {
+          background: hsl(225, 85%, 67%);
+          height: calc(50% - 25px);
+          padding-top: 20px;
+          text-align: center;
+          line-height: 30px;
+          &:nth-of-type(1) {
+            margin-bottom: 10px;
+          }
+        }
         .content_leftBttom {
           width: 100%;
-          height: 70%;
         }
         dl {
-          float: left;
-          width: 50%;
-          height: 100%;
-          margin-top: calc(50% - 70px);
+          margin-top: 5px;
         }
         dd {
           width: 100%;
@@ -318,16 +389,18 @@
         }
       }
       .content_right {
-        width: 70%;
+        width: calc(75% - 20px);
         height: 100%;
         float: right;
-        padding: 2%;
-        margin-left: 2%;
-        background: #233b9e;
+        padding: 0 10px;
+        // background: #233b9e;
+        .el-descriptions__body {
+          background: transparent;
+        }
         .el-descriptions__table {
           width: 100%;
           margin: 10px 0px;
-          background: #233b9e;
+          // background: #233b9e;
           color: #fff;
           .el-descriptions--small {
             width: 100%;
@@ -335,7 +408,6 @@
           }
         }
         .el-progress {
-          margin: 10px 0px;
           width: 80%;
         }
       }
@@ -356,24 +428,50 @@
         // background: #333333;
         width: 30%;
         height: 100%;
-        background: #233b9e;
+        background: #111438;
 
         .card {
-          width: 90%;
+          width: calc(100% - 20px);
           height: 70px;
           // border: 1px solid #ccc;
+          background:#ffff;
           border-radius: 5px;
-          margin-left: 1%;
-          margin-top: 20px;
-          padding: 2%;
-          .card_top {
-            width: 100%;
-            height: 30%;
+          margin-top: 10px;
+          color: #333;
+          .card_top-2{
+            width: 50%;
+            height:45px;
             border-radius: 5px;
-            padding: 2%;
-            color: #fff;
+            background:#fff;
             font-size: 12px;
-            line-height: 24px;
+            float:left;
+            .card-top-r-t{
+              width:100%;
+              text-align:center;
+              display:inline-block;
+              height:20px;
+              line-height:20px;
+              margin-top:3px;
+            }
+            .card-top-r-b{
+              width:100%;
+              height:20px;
+              line-height:20px;
+               text-align:center;
+              display:inline-block;
+              
+            }
+          }
+          .card_top {
+            width: 50%;
+            height:45px;
+            border-radius: 5px;
+            background:#f2f2f2;
+            font-size: 12px;
+            line-height: 45px;
+            float:left;
+            
+           
             > div {
               margin-left: 12px;
               position: relative;
@@ -386,15 +484,18 @@
             }
           }
           .card_content {
-            padding: 2%;
             width: 100%;
             border-radius: 5px;
-            height: 70%;
-            background: #4765c0;
+            height: 25px;
+            // background: #4765c0;
             .card_contentLeft {
-              width: 100%;
-              height: 58%;
-              font-size: 18px;
+              width: calc(100% - 10px);
+              height: 25px;
+              line-height:25px;
+              font-size: 12px;
+              padding:0 5px;
+              border-radius:5px 5px 0 0;
+              background:#ffcc33;
             }
             .card_contentRight {
               width: 100%;
@@ -408,19 +509,34 @@
   }
   .right {
     width: calc(20% - 10px);
-    height: calc(100% - 48px);
+    height: auto;
+    min-height: 100%;
     background: #233b9e;
     float: left;
     padding: 1%;
     .right_top {
       width: 100%;
-      height: 15%;
+      height: 100px;
+      position: relative;
+      .right-top-l {
+        position: absolute;
+        top: 10px;
+        left: -5%;
+        width: 100px;
+        height: 35px;
+        line-height: 35px;
+        text-align: center;
+        border-radius: 0 6px 6px 0;
+        background: hsl(225, 85%, 67%);
+        display: inline-block;
+      }
       // background: pink;
       .time {
-        width: 100%;
-        height: 50%;
-
+        width: 70%;
+        height: 100px;
+        float: right;
         position: relative;
+        text-align: right;
         dl {
           height: 80%;
           // padding-top: 10%;
@@ -433,22 +549,93 @@
         }
       }
     }
+    .right-top-m {
+      width:100%;
+      background:rgba(28,48,133,1);
+      line-height:50px;
+      font-weight: 700;
+      font-size:18px;
+      padding:0 4%;
+      overflow-x:hidden;
+      margin-left:-4%;
+      .yuandian {
+        width: 25px;
+        height: 25px;
+        line-height:40px;
+        margin-top:12.5px;
+        display:inline-block;
+        background: #15d815;
+        display: block;
+        border-radius: 50%;
+        float:right;
+        
+      }
+    }
+    .right-top-m-btn{
+        margin-top:10px;
+        width:100%;
+        .el-button--primary{
+          width:100%;
+          background:#fff;
+          color:#4765c0;
+          font-weight: 700;
+          font-size:18px;
+        }
+      }
     .right_dutyLst {
-      width: 100%;
-      height: 35%;
+      width: calc(100% - 20px);
+      height: 270px;
+      border-radius: 4px;
+      line-height:30px;
       overflow: hidden;
-      dl {
+      background:#00CC66;
+      margin-top:10px;
+      padding:5px 10px;
+      .right-small-title{
+        width:auto;
+        padding:5px;
+        font-size:14px;
+        float:right;
+        border-radius:8px;
+        background:#007101;
+      }
+      .right-small-person {
         width: 100%;
-        height: 22%;
+        height: 60px;
+        line-height:60px;
+        margin-top:50px;
         border-radius: 10px;
-        background: #0a2164;
+        background:#fff;
+        color:#333;
+        
         dt {
           float: left;
-          padding: 16px;
+          padding: 5px;
+          margin-right:10px;
+          .img-class{
+            height:50px;
+            padding:0!important;
+          }
         }
-        dd {
+        span {
           // background: pink;
           padding-top: 10px;
+        }
+      }
+      .right-small-btn{
+        margin-top:10px;
+        width:100%;
+        .el-button--primary{
+          width:45%;
+          background:#fff;
+          float:right;
+          border-radius:6px;
+          color:#4765c0;
+          font-weight: 700;
+          font-size:18px;
+          &:nth-of-type(1){
+            float:left;
+          }
         }
       }
     }
@@ -456,21 +643,33 @@
       width: 100%;
       height: 45%;
       position: relative;
-      .call {
-        background: #ff0000;
-        display: inline-block;
-        width: 94%;
-        height: 12%;
-        text-align: center;
-        line-height: 45px;
-        position: absolute;
-        bottom: 5px;
-        left: 0px;
-        border-radius: 5px;
-        margin-left: 3%;
-
-        font-size: 16px;
+      .right-base-btn{
+        .el-button--primary{
+          width:100%;
+          background:#ff0000;
+          float:right;
+          border-radius:6px;
+          color:#fff;
+          font-weight: 700;
+          font-size:18px;
+          
+        }
       }
+      // .call {
+      //   background: #ff0000;
+      //   display: inline-block;
+      //   width: 94%;
+      //   height: 12%;
+      //   text-align: center;
+      //   line-height: 45px;
+      //   position: absolute;
+      //   bottom: 5px;
+      //   left: 0px;
+      //   border-radius: 5px;
+      //   margin-left: 3%;
+
+      //   font-size: 16px;
+      // }
     }
   }
 }

--
Gitblit v1.8.0