From 31127ef63da3af7511a3b06eb2eaa87238f245da Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期二, 05 三月 2024 10:07:44 +0800
Subject: [PATCH] 1.本地看板开发、发布

---
 src/views/kanbanManager/zhkb.vue |  204 ++++++++++++++------------------------------------
 1 files changed, 59 insertions(+), 145 deletions(-)

diff --git a/src/views/kanbanManager/zhkb.vue b/src/views/kanbanManager/zhkb.vue
index 4c34ef1..c302346 100644
--- a/src/views/kanbanManager/zhkb.vue
+++ b/src/views/kanbanManager/zhkb.vue
@@ -6,7 +6,7 @@
 
       <div class="kb_header">
         <div class="kb_headTime" style="top: 35px;left:  20px">
-          <span>姘稿悍甯傚法绔嬮槻鎶ょ敤鍝佹湁闄愬叕鍙�</span>
+          <span>娴欐睙绫宠埅绉戞妧鏈夐檺鍏徃</span>
         </div>
 
         <div class="kb_headTime kb_header_text" style="top: 35px;left:  800px">
@@ -25,16 +25,16 @@
           <div style="width: 1000px;">
             <div class="smallTitle">
               <svg-icon icon-class="cxjg" class="svg_class" />
-              鐢熶骇璁㈠崟(褰撴湀)
+              鐢熶骇璁㈠崟(杩戜竴鍛�)
             </div>
             <div
               class="lineContent horn"
               style="height: 450px;display: flex;flex-direction: column;justify-content: space-between"
             >
               <div style="height: 180px;padding: 10px;display: flex;justify-content: space-around">
-                <div v-for="i in LeftTopData01" :key="i.wkshp_code" class="flex_c_s">
-                  <div class="all_block01 flex_c_s">
-                    <div class="flex_c_c all_block02">{{ i.wkshp_name }}</div>
+                <div v-for="i in LeftTopData01" :key="i.click_date" class="flex_c_s">
+                  <div class="all_block01 flex_c_s" style="width: 134px;">
+                    <div class="flex_c_c all_block02">{{ i.click_date }}</div>
                     <div class="" style="display: flex;justify-content:space-between">
                       <div class="all_block02 flex_c_c" style="width: 49% ">浠诲姟鏁�</div>
                       <div class="all_block02 flex_c_c" style="width: 49% ">{{ i.plan_qty }}</div>
@@ -102,24 +102,8 @@
               浠撳簱搴撳瓨
             </div>
             <div class="lineContent horn" style="height: 380px;display: flex;justify-content: space-between">
-              <div style="display: flex;justify-content: center;position: relative">
-                <div class="kb_center_block_children all_block05">
-                  <div style="font-size: 24px;">{{ parseFloat(RightBottom.Y) }}</div>
-                  <div class="box02" />
-                  <div>鍘熸潗鏂�</div>
-                </div>
-                <div class="kb_center_block_children all_block06">
-                  <div style="font-size: 24px;">{{ parseFloat(RightBottom.B) }}</div>
-                  <div class="box02" />
-                  <div>鍗婃垚鍝�</div>
-                </div>
-                <div class="kb_center_block_children all_block07">
-                  <div style="font-size: 24px;">{{ parseFloat(RightBottom.C) }}</div>
-                  <div class="box02" />
-                  <div>浜ф垚鍝�</div>
-                </div>
+              <div id="zhkb04" class="flex_c_c" style="width: 100%;height:100%" />
 
-              </div>
             </div>
           </div>
         </div>
@@ -130,14 +114,13 @@
 
 <script>
 import './kbCommon.css'
-import { loadEcharts, all01, all02, cjzl03 } from '@/utils/myEcharts'
+import { loadEcharts, all01, all02, cjzl03, zhkb04 } from '@/utils/myEcharts'
 import {
   WorkShopCompreLeftTop,
   WorkShopCompreRightBottom,
   WorkShopCompreRightTop,
   WorkShopProduceBottomLeftData
 } from '@/api/kanbanManager'
-import { PrentOrganizationNoCompany } from '@/api/GeneralBasicData'
 
 export default {
   name: 'Cjsc',
@@ -168,157 +151,88 @@
     }, 1000 * 60 * 120)
   },
   mounted() {
+    // 鐩戝惉缃戠粶鏄惁鍦ㄧ嚎
+    window.addEventListener('online', this.updateOnlineStatus)
+    window.addEventListener('offline', this.updateOnlineStatus)
+    this.updateOnlineStatus({ type: this.onLine ? 'online' : 'offline', isFirst: true })
+
     this.getAllApi()
   },
+  beforeDestroy() {
+    window.removeEventListener('online', this.updateOnlineStatus)
+    window.removeEventListener('offline', this.updateOnlineStatus)
+  },
   methods: {
+    // 鏇存柊缃戠粶鐘舵��
+    updateOnlineStatus(e) {
+      if (e.isFirst) {
+        // console.log('x')
+      } else {
+        const loading = this.$loading({
+          lock: true,
+          text: '鏂綉浜嗭紝姝e湪鎷煎懡鑱旂綉涓紝璇锋鏌ョ綉缁滄槸鍚︽甯�...',
+          spinner: 'el-icon-loading',
+          customClass: 'osloading',
+          background: 'rgba(0, 0, 0, 0.7)'
+        })
+        const { type } = e
+        this.onLine = type === 'online'
+        if (this.onLine) {
+          loading.close()
+          this.$message.success('缃戠粶杩炴帴鎴愬姛锛�')
+        } else {
+          this.$message.error('缃戠粶鎺夌嚎锛岃鍏虫敞缃戠粶鐘舵�侊紒')
+        }
+      }
+    },
     async getAllApi() {
-      const res = await PrentOrganizationNoCompany()
-      this.wkshopArr = res.data
+      const res2 = await WorkShopCompreLeftTop()
+      this.LeftTopData01 = res2.data.LeftTop
+      this.LeftTopData02 = res2.data.LeftBottom
 
-      const temp = ['00401', '00402', '00501']
-
-      temp.forEach(i => {
-        const aa = this.wkshopArr.find(j => j.torg_code === i).torg_name
-        this.legendData.push(aa)
-      })
-
-      const res2 = await WorkShopCompreLeftTop({ wkshopcode: temp.join(',') })
-      for (const res2Key in res2.data.LeftTop) {
-        const data = {
-          good_qty: 0,
-          plan_qty: 0,
-          wkshp_code: '',
-          wkshp_name: ''
-        }
-        if (temp.includes(res2Key)) {
-          data.good_qty = res2.data.LeftTop[res2Key][0].good_qty
-          data.plan_qty = res2.data.LeftTop[res2Key][0].plan_qty
-          data.wkshp_code = res2.data.LeftTop[res2Key][0].wkshp_code
-          data.wkshp_name = this.wkshopArr.find(i => i.torg_code === data.wkshp_code).torg_name
-          this.LeftTopData01.push(data)
-        }
-      }
-      for (const res2Key in res2.data.LeftBottom) {
-        const data = {
-          quantity: 0,
-          wkshp_code: '',
-          wkshp_name: ''
-        }
-        if (temp.includes(res2Key)) {
-          data.quantity = res2.data.LeftBottom[res2Key][0].quantity
-          data.plan_qty = res2.data.LeftBottom[res2Key][0].plan_qty
-          data.wkshp_code = res2.data.LeftBottom[res2Key][0].wkshp_code
-          data.wkshp_name = this.wkshopArr.find(i => i.torg_code === data.wkshp_code).torg_name
-          this.LeftTopData02.push(data)
-        }
-      }
-      loadEcharts('all01', all01(this.legendData, this.LeftTopData02))
+      loadEcharts('all01', all01(res2.data.LeftTop.map(i => i.click_date), this.LeftTopData02))
 
       setInterval(() => {
-        WorkShopCompreLeftTop({ wkshopcode: temp.join(',') }).then(res2 => {
-          this.LeftTopData01 = []
-          this.LeftTopData02 = []
-          for (const res2Key in res2.data.LeftTop) {
-            const data = {
-              good_qty: 0,
-              plan_qty: 0,
-              wkshp_code: '',
-              wkshp_name: ''
-            }
-            if (temp.includes(res2Key)) {
-              data.good_qty = res2.data.LeftTop[res2Key][0].good_qty
-              data.plan_qty = res2.data.LeftTop[res2Key][0].plan_qty
-              data.wkshp_code = res2.data.LeftTop[res2Key][0].wkshp_code
-              data.wkshp_name = this.wkshopArr.find(i => i.torg_code === data.wkshp_code).torg_name
-              this.LeftTopData01.push(data)
-            }
-          }
-          for (const res2Key in res2.data.LeftBottom) {
-            const data = {
-              quantity: 0,
-              wkshp_code: '',
-              wkshp_name: ''
-            }
-            if (temp.includes(res2Key)) {
-              data.quantity = res2.data.LeftBottom[res2Key][0].quantity
-              data.plan_qty = res2.data.LeftBottom[res2Key][0].plan_qty
-              data.wkshp_code = res2.data.LeftBottom[res2Key][0].wkshp_code
-              data.wkshp_name = this.wkshopArr.find(i => i.torg_code === data.wkshp_code).torg_name
-              this.LeftTopData02.push(data)
-            }
-          }
-          loadEcharts('all01', all01(this.legendData, this.LeftTopData02))
+        WorkShopCompreLeftTop().then(res2 => {
+          this.LeftTopData01 = res2.data.LeftTop
+          this.LeftTopData02 = res2.data.LeftBottom
+          loadEcharts('all01', all01(res2.data.LeftTop.map(i => i.click_date), this.LeftTopData02))
         })
       }, 1000 * 30)
 
       const res3 = await WorkShopCompreRightTop()
-      res3.data.RightTop.forEach(i => {
-        this.RightTopData01.push({
-          Quarter: i.Quarter,
-          quantity: i.quantity,
-          ouquantity: i.ouquantity
-        })
-      })
-      res3.data.RightBottom.forEach(i => {
-        this.RightTopData02.push({
-          Month: i.Month + '鏈�',
-          quantity: i.quantity,
-          ouquantity: i.ouquantity
-        })
-      })
+      this.RightTopData01 = res3.data.RightTop
+      this.RightTopData02 = res3.data.RightBottom
       loadEcharts('all02', all02(this.RightTopData02))
       setInterval(() => {
         WorkShopCompreRightTop().then(res3 => {
-          this.RightTopData01 = []
-          this.RightTopData02 = []
-          res3.data.RightTop.forEach(i => {
-            this.RightTopData01.push({
-              Quarter: i.Quarter,
-              quantity: i.quantity,
-              ouquantity: i.ouquantity
-            })
-          })
-          res3.data.RightBottom.forEach(i => {
-            this.RightTopData02.push({
-              Month: i.Month + '鏈�',
-              quantity: i.quantity,
-              ouquantity: i.ouquantity
-            })
-          })
+          this.RightTopData01 = res3.data.RightTop
+          this.RightTopData02 = res3.data.RightBottom
           loadEcharts('all02', all02(this.RightTopData02))
         })
       }, 1000 * 40)
 
-      const res4 = await WorkShopProduceBottomLeftData({ wkshopcode: temp.join(',') })
-      this.cjzl03_xData = res4.data[temp[0]].map(i => i.click_date)
-      for (const res4Key in res4.data) {
-        if (temp.includes(res4Key)) {
-          const bb = res4.data[res4Key].map(i => i.count)
-          this.cjzl03_yData.push(bb)
-        }
-      }
+      const res4 = await WorkShopProduceBottomLeftData()
+      this.cjzl03_xData = res4.data.map(i => i.click_date)
+      this.cjzl03_yData = res4.data.map(i => i.count)
+
       loadEcharts('cjzl03', cjzl03(this.cjzl03_xData, this.legendData, this.cjzl03_yData, true))
       setInterval(() => {
-        WorkShopProduceBottomLeftData({ wkshopcode: temp.join(',') }).then(res4 => {
-          this.cjzl03_yData = []
-
-          this.cjzl03_xData = res4.data[temp[0]].map(i => i.click_date)
-          for (const res4Key in res4.data) {
-            if (temp.includes(res4Key)) {
-              const bb = res4.data[res4Key].map(i => i.count)
-              this.cjzl03_yData.push(bb)
-            }
-          }
+        WorkShopProduceBottomLeftData().then(res4 => {
+          this.cjzl03_xData = res4.data.map(i => i.click_date)
+          this.cjzl03_yData = res4.data.map(i => i.count)
           loadEcharts('cjzl03', cjzl03(this.cjzl03_xData, this.legendData, this.cjzl03_yData, true))
         })
       }, 1000 * 50)
 
       const res5 = await WorkShopCompreRightBottom()
       this.RightBottom = res5.data
+      loadEcharts('zhkb04', zhkb04(this.RightBottom.map(i => i.Type), this.RightBottom.map(i => i.Qty)))
 
       setInterval(() => {
         WorkShopCompreRightBottom().then(res5 => {
           this.RightBottom = res5.data
+          loadEcharts('zhkb04', zhkb04(this.RightBottom.map(i => i.Type), this.RightBottom.map(i => i.Qty)))
         })
       }, 1000 * 60)
     },

--
Gitblit v1.9.3