From dc24803e0bc49c5a356b7eaad43060d463469a51 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期三, 08 三月 2023 16:10:20 +0800
Subject: [PATCH] 1.车间生产看板优化

---
 src/views/kb/cjsc.vue |  177 +++++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 141 insertions(+), 36 deletions(-)

diff --git a/src/views/kb/cjsc.vue b/src/views/kb/cjsc.vue
index 656c761..8006300 100644
--- a/src/views/kb/cjsc.vue
+++ b/src/views/kb/cjsc.vue
@@ -1,6 +1,12 @@
 <template>
   <div>
     <div class="kb_dashboard">
+
+      <!--    鏄熺┖鑳屾櫙-->
+      <div ref="starsRef" class="stars">
+        <div v-for="(item, index) in starsCount" :key="index" class="star" />
+      </div>
+
       <div class="kb_header">
         <div class="flex_c_c kb_header_text">
           <div id="topBarLeft" style="width:600px;height:100%" />
@@ -22,7 +28,7 @@
               <el-table
                 ref="tableDataLeftTopRef"
                 :data="tableDataLeftTop"
-                class="tableData"
+                class="tableData  tableDataCell"
                 style="width: 100%;"
                 :header-cell-style="headerCellStyle"
                 :cell-style="cellStyle"
@@ -31,18 +37,27 @@
                 <el-table-column
                   prop="saleOrderCode"
                   label="閿�鍞崟鍙�"
-                  width="165"
-                />
-
+                  width="130"
+                >
+                  <template slot-scope="{row}">
+                    <div v-if="row.saleOrderCode" style="text-align: left" class="ellipsis">{{ row.saleOrderCode }}</div>
+                    <div v-else>/</div>
+                  </template>
+                </el-table-column>
                 <el-table-column
                   prop="partname"
-                  width="120"
+                  width="170"
                   label="浜у搧鍚嶇О"
-                />
+                >
+                  <template slot-scope="{row}">
+                    <div v-if="row.partname" class="ellipsis">{{ row.partname }}</div>
+                    <div v-else>/</div>
+                  </template>
+                </el-table-column>
                 <el-table-column
                   prop="good_qty"
                   label="鏁伴噺"
-                  width="80"
+                  width="70"
                 />
               </el-table>
             </div>
@@ -56,7 +71,7 @@
               <el-table
                 ref="tableDataLeftBottomRef"
                 :data="tableDataLeftBottom"
-                class="tableData"
+                class="tableData tableDataCell"
                 style="width: 100%;"
                 :header-cell-style="headerCellStyle"
                 :cell-style="cellStyle"
@@ -65,18 +80,28 @@
                 <el-table-column
                   prop="saleOrderCode"
                   label="閿�鍞崟鍙�"
-                  width="165"
-                />
+                  width="130"
+                >
+                  <template slot-scope="{row}">
+                    <div v-if="row.saleOrderCode" style="text-align: left" class="ellipsis">{{ row.saleOrderCode }}</div>
+                    <div v-else>/</div>
+                  </template>
+                </el-table-column>
 
                 <el-table-column
                   prop="partname"
-                  width="120"
+                  width="170"
                   label="浜у搧鍚嶇О"
-                />
+                >
+                  <template slot-scope="{row}">
+                    <div v-if="row.partname" class="ellipsis">{{ row.partname }}</div>
+                    <div v-else>/</div>
+                  </template>
+                </el-table-column>
                 <el-table-column
                   prop="good_qty"
                   label="鏁伴噺"
-                  width="80"
+                  width="70"
                 />
               </el-table>
             </div>
@@ -92,7 +117,7 @@
             <el-table
               ref="tableDataLeftCenterRef"
               :data="tableDataCenterTop"
-              class="tableData"
+              class="tableData tableDataCell"
               style="width: 100%;"
               :header-cell-style="headerCellStyleCenter"
               :cell-style="cellStyleCenter"
@@ -101,7 +126,7 @@
               <el-table-column
                 type="RowNum"
                 label="搴忓彿"
-                width="60"
+                width="50"
               >
                 <template slot-scope="{row}">
                   <div
@@ -124,7 +149,7 @@
               </el-table-column>
               <el-table-column
                 prop="eqp_name"
-                width="100"
+                width="90"
                 label="浜х嚎鍚嶇О"
               >
                 <template slot-scope="{row}">
@@ -136,11 +161,12 @@
               </el-table-column>
               <el-table-column
                 prop="partname"
-                width="140"
+                width="170"
                 label="浜у搧鍚嶇О"
               >
                 <template slot-scope="{row}">
                   <div
+                    class="ellipsis"
                     :style="{color:row.eqp_name==='瑁呴厤涓�绾�'?'#FFFF77':row.eqp_name==='瑁呴厤浜岀嚎'?'#FF8888':row.eqp_name==='瑁呴厤涓夌嚎'?'#D28EFF':'#66FFFF'}"
                   > {{ row.partname }}
                   </div>
@@ -149,7 +175,7 @@
               <el-table-column
                 prop="plan_qty"
                 label="鐢熶骇鏁伴噺"
-                width="100"
+                width="90"
               >
                 <template slot-scope="{row}">
                   <div
@@ -161,7 +187,7 @@
               <el-table-column
                 prop="plan_startdate"
                 label="棰勮寮�濮�"
-                width="130"
+                width="125"
               >
                 <template slot-scope="{row}">
                   <div
@@ -175,7 +201,7 @@
               <el-table-column
                 prop="plan_enddate"
                 label="棰勮瀹屽伐"
-                width="130"
+                width="125"
               >
                 <template slot-scope="{row}">
                   <div
@@ -189,10 +215,11 @@
               <el-table-column
                 prop="stepname"
                 label="宸ュ簭"
-                width="90"
+                width="100"
               >
                 <template slot-scope="{row}">
                   <div
+                    class="ellipsis"
                     :style="{color:row.eqp_name==='瑁呴厤涓�绾�'?'#FFFF77':row.eqp_name==='瑁呴厤浜岀嚎'?'#FF8888':row.eqp_name==='瑁呴厤涓夌嚎'?'#D28EFF':'#66FFFF'}"
                   > {{ row.stepname }}
                   </div>
@@ -220,7 +247,7 @@
               <el-table
                 ref="tableDataRightTopRef"
                 :data="tableDataRightTop"
-                class="tableData"
+                class="tableData tableDataCell"
                 style="width: 100%;"
                 :header-cell-style="headerCellStyle"
                 :cell-style="cellStyle"
@@ -229,18 +256,27 @@
                 <el-table-column
                   prop="saleOrderCode"
                   label="閿�鍞崟鍙�"
-                  width="165"
-                />
-
+                  width="130"
+                >
+                  <template slot-scope="{row}">
+                    <div v-if="row.saleOrderCode" style="text-align: left" class="ellipsis">{{ row.saleOrderCode }}</div>
+                    <div v-else>/</div>
+                  </template>
+                </el-table-column>
                 <el-table-column
                   prop="partname"
-                  width="120"
+                  width="170"
                   label="浜у搧鍚嶇О"
-                />
+                >
+                  <template slot-scope="{row}">
+                    <div v-if="row.partname" class="ellipsis">{{ row.partname }}</div>
+                    <div v-else>/</div>
+                  </template>
+                </el-table-column>
                 <el-table-column
                   prop="good_qty"
                   label="鏁伴噺"
-                  width="80"
+                  width="70"
                 />
               </el-table>
             </div>
@@ -254,7 +290,7 @@
               <el-table
                 ref="tableDataRightBottomRef"
                 :data="tableDataRightBottom"
-                class="tableData"
+                class="tableData tableDataCell"
                 style="width: 100%;"
                 :header-cell-style="headerCellStyle"
                 :cell-style="cellStyle"
@@ -263,18 +299,27 @@
                 <el-table-column
                   prop="saleOrderCode"
                   label="閿�鍞崟鍙�"
-                  width="165"
-                />
-
+                  width="130"
+                >
+                  <template slot-scope="{row}">
+                    <div v-if="row.saleOrderCode" style="text-align: left" class="ellipsis">{{ row.saleOrderCode }}</div>
+                    <div v-else>/</div>
+                  </template>
+                </el-table-column>
                 <el-table-column
                   prop="partname"
-                  width="120"
+                  width="170"
                   label="浜у搧鍚嶇О"
-                />
+                >
+                  <template slot-scope="{row}">
+                    <div v-if="row.partname" class="ellipsis">{{ row.partname }}</div>
+                    <div v-else>/</div>
+                  </template>
+                </el-table-column>
                 <el-table-column
                   prop="good_qty"
                   label="鏁伴噺"
-                  width="80"
+                  width="70"
                 />
               </el-table>
             </div>
@@ -307,7 +352,10 @@
       tableDataRightBottomTemp: [],
 
       tableDataCenterTop: [],
-      tableDataCenterTopTemp: []
+      tableDataCenterTopTemp: [],
+
+      starsCount: 800, // 鏄熸槦鏁伴噺
+      distance: 900 // 闂磋窛
     }
   },
   created() {
@@ -328,8 +376,23 @@
 
     // 涓棿琛ㄦ牸鏁版嵁鍐呭
     this.getCenterTableDataSetInterval()
+
+    this.setStarsRef()
   },
   methods: {
+    setStarsRef() {
+      const starNodes = Array.from(this.$refs.starsRef.children)
+      starNodes.forEach(item => {
+        const speed = 0.2 + Math.random() * 1
+        const thisDistance = this.distance + Math.random() * 300
+        item.style.transformOrigin = `0 0 ${thisDistance}px`
+        item.style.transform = `
+        translate3d(0,0,-${thisDistance}px)
+        rotateY(${Math.random() * 360}deg)
+        rotateX(${Math.random() * -50}deg)
+        scale(${speed},${speed})`
+      })
+    },
     // 涓棿閮ㄥ垎鐨勮〃鏍�
     getCenterTableDataSetInterval() {
       let startValue = 0 // 鍒濆鍊�
@@ -417,6 +480,7 @@
       const scale = 10// 鍒诲害
 
       WkshpLineData({ LineCode: '003' }).then(res => {
+        this.tableDataRightTopTemp = res.data
         this.tableDataRightTop = this.tableDataRightTopTemp.slice(startValue, startValue + scale)
 
         const loop = Math.floor(this.tableDataRightTopTemp.length / scale)// 闇�瑕佸惊鐜殑娆℃暟
@@ -439,6 +503,7 @@
       const scale = 10// 鍒诲害
 
       WkshpLineData({ LineCode: '004' }).then(res => {
+        this.tableDataRightBottomTemp = res.data
         this.tableDataRightBottom = this.tableDataRightBottomTemp.slice(startValue, startValue + scale)
 
         const loop = Math.floor(this.tableDataRightBottomTemp.length / scale)// 闇�瑕佸惊鐜殑娆℃暟
@@ -530,6 +595,12 @@
 $main_color: #09d8f2;
 $color01: #00FFFF;
 
+.tableDataCell {
+  ::v-deep .cell{
+    padding: 0 2px ;
+  }
+}
+
 .tableData {
   background: #000;
 }
@@ -543,3 +614,37 @@
 }
 
 </style>
+<!--鏄熺┖-->
+<style lang="css" scoped>
+@keyframes rotate {
+  0% {
+    transform: perspective(400px) rotateZ(20deg) rotateX(-40deg) rotateY(0);
+  }
+  100% {
+    transform: perspective(400px) rotateZ(20deg) rotateX(-40deg) rotateY(-360deg);
+  }
+}
+
+.stars {
+  transform: perspective(500px);
+  transform-style: preserve-3d;
+  position: absolute;
+  perspective-origin: 50% 100%;
+  left: 45%;
+  animation: rotate 90s infinite linear;
+  bottom: 0;
+  z-index: 102;
+}
+
+.star {
+  width: 2px;
+  height: 2px;
+  /*background: #f7f7b6;*/
+  background: #8edffc;
+  position: absolute;
+  left: 0;
+  top: 0;
+  backface-visibility: hidden;
+  z-index: 102;
+}
+</style>

--
Gitblit v1.9.3