From 2a431ace3a7b7dcdd313bb2fa0eff5bb727946f8 Mon Sep 17 00:00:00 2001
From: jiaosong <jiaosong6760@dingtalk.com>
Date: 星期四, 24 八月 2023 14:38:42 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 screen_standard/src/views/index.vue |  259 +++++++++++++++++++++++++--------------------------
 1 files changed, 129 insertions(+), 130 deletions(-)

diff --git a/screen_standard/src/views/index.vue b/screen_standard/src/views/index.vue
index c9970c2..16b27c6 100644
--- a/screen_standard/src/views/index.vue
+++ b/screen_standard/src/views/index.vue
@@ -59,9 +59,9 @@
                     :content="'宸叉姤宸ヨ壇鍝佹暟' + child.doneNum + '锛涘伐搴忚鍒掓暟' + child.planNum" placement="top">
                     <div class="scroll_item_row_item" @click="jump(child.procedureId, child.procedureName)">
                       <div class="scroll_item_row_item_x"></div>
-                      <span v-if="child.rate < 100">{{ Math.floor(child.rate) }}%</span>
+                      <span v-if="child.rate < 100">{{ child.rate.toFixed(0) }}%</span>
                       <img v-else src="@/assets/img/ic_complete@2x.png" alt="" />
-                      <span class="scroll_item_row_item_wz">{{ child.procedureName.substring(0, 3) }}</span>
+                      <span class="scroll_item_row_item_wz">{{ child.procedureName }}</span>
                     </div>
                   </el-tooltip>
                 </div>
@@ -103,7 +103,7 @@
             <div class="content_left_item1_head">
               <span>褰撴棩鍛樺伐浜ч噺TOP10</span>
             </div>
-            <div class="content_left_item1_content" @mouseenter="handleMouseEnter" @mouseleave="handleMouseLeave" ref="scrollContainer">
+            <div class="content_left_item1_content" ref="scrollContainer">
               <div class="content_left_item1_content_row" v-for="(item, index) in data.production" :key="index">
                 <div class="content_left_item1_content_row_name">
                   <div :class="index > 2 ? 'num bg1' : 'num bg2'">{{ index + 1 }}</div>
@@ -157,7 +157,7 @@
           <span>杩�7澶╀笉鑹搧鍒嗗竷</span>
         </div>
         <div class="content_right_top_nr">
-          
+
           <div class="content_right_top_nr_top" id="lineChrat"></div>
           <div class="content_right_top_nr_bottom">
             <div class="content_right_top_nr_bottom_yuan" v-if="data.typeDistribution.length > 0">
@@ -166,7 +166,7 @@
             </div>
             <div id="pieChart"></div>
           </div>
-          
+
         </div>
       </div>
       <!-- 璁惧宸℃璁板綍 -->
@@ -203,8 +203,8 @@
 
 <script setup>
 import { dateToSub } from '@/utils'
-import { reactive, ref, onMounted, onUnmounted, computed, watch, toRefs } from 'vue'
-import { getPlanData, getTop, getWorkPlansList, getProcedureProcessList, getRecordLogPage, getDeviceCheckPage, getUnqualified7DayData, getUnqualifiedCateData } from '@/utils/api.js'
+import { reactive, ref, onMounted, nextTick, onUnmounted, computed, watch, toRefs } from 'vue'
+import { getPlanData, getTop, getStockList, getWorkPlansList, getProcedureProcessList, getRecordLogPage, getDeviceCheckPage, getUnqualified7DayData, getUnqualifiedCateData } from '@/utils/api.js'
 import { useCounterStore } from '@/stores/counter.js'
 import * as echarts from 'echarts'
 import { useRouter } from 'vue-router'
@@ -222,16 +222,16 @@
   typeDistribution: [],
   num: 0,
   baseNum: 0,
-  firstScroll: false,
-  secondScroll: false,
-  thirdScroll: false,
-  fourthScroll: false,
-  fifthScroll: false,
+  bottomAuthHeight: 284
 })
 
-let { baseNum } = toRefs(data)
+let { baseNum, bottomAuthHeight } = toRefs(data)
 
 let timer = ref(null)
+let timer1 = ref(null)
+let timer2 = ref(null)
+let timer3 = ref(null)
+let timer4 = ref(null)
 let timer5 = ref(null)
 let scrollContainer = ref(null)
 let scrollContainer1 = ref(null)
@@ -276,16 +276,17 @@
   }
 })
 
+start1()
 
 const init = () => {
-  console.log(timer.value);
+  setBottomHeight();
   // 褰撴棩鍛樺伐浜ч噺TOP10
   getTop(companyId.value, departId.value)
     .then(res => {
       if (res.length > 0) {
         data.baseNum = res[0].doneNum
         data.production = res
-        data.fifthScroll = true
+        start()
       }
     })
   // 浠撳簱瀹炴椂浣欓噺缁熻
@@ -302,20 +303,24 @@
         getProcedureProcessList(companyId.value, departId.value)
           .then(res => {
             data.processProgress = res
-            data.thirdScroll = true
+            nextTick(() => {
+              start2()
+            })
           })
       } else {
         // 鎴愬搧璁″垝杩涘害
         getWorkPlansList(companyId.value, departId.value)
           .then(res => {
             data.plannedProgress = res
-            data.secondScroll = true
+            nextTick(() => {
+              start1()
+            })
           })
       }
     }
   })
- 
-  
+
+
   // 鎶ュ伐鏃ュ織
   getRecordLogPage(companyId.value, departId.value, {
     capacity: 20,
@@ -323,7 +328,9 @@
     page: 1
   }).then(res => {
     data.log = res.records
-    data.fourthScroll = true
+    nextTick(() => {
+      start3()
+    })
   })
   // 璁惧宸℃璁板綍
   getDeviceCheckPage(companyId.value, departId.value, {
@@ -332,7 +339,9 @@
     page: 1
   }).then(res => {
     data.patrolInspection = res.records
-    data.fifthScroll = true
+    nextTick(() => {
+      start4()
+    })
   })
   // 杩戜竷澶╀笉鑹暟
   getUnqualified7DayData(companyId.value, departId.value, '')
@@ -359,7 +368,6 @@
             num: item.unqualifiedNum
           }
         })
-        console.log(data.num);
         setTypeChart()
       }
     })
@@ -368,6 +376,10 @@
     .then(res => {
       enterprise.setNum(res)
     })
+}
+function  setBottomHeight(){
+  const pageHeight = window.innerHeight;
+  bottomAuthHeight = pageHeight - 700;
 }
 
 /**
@@ -378,22 +390,20 @@
   let myChart = echarts.init(dayChartDom);
   let dateList = []
   let numList = []
+  let num = 0
   data.dayDistribution.forEach(item => {
     dateList.push(item.date)
     numList.push(item.num)
+    num += item.num
   })
   let option;
   option = {
     title: {
-      text: `   杩戜竷鏃ヤ笉鑹搧鎬绘暟锛�${data.num}`,
+      text: `杩戜竷鏃ヤ笉鑹搧鎬绘暟锛�${num}`,
       textStyle: {
         color: '#fff',
         fontSize: 12
       }
-    },
-    grid: {
-      top: 40,
-      bottom: 30
     },
     xAxis: {
       type: 'category',
@@ -521,6 +531,9 @@
             }
           }
         },
+        // labelLayout: {
+        //   hideOverlap: true
+        // },
         endLabel: {
           show: true,
           distance: 5,
@@ -539,8 +552,17 @@
   }
   option && myChart.setOption(option);
 }
-
+onUnmounted(() => {
+  clearTimeout(timer.value)
+  clearTimeout(timer1.value)
+  clearTimeout(timer2.value)
+  clearTimeout(timer3.value)
+  clearTimeout(timer4.value)
+  clearTimeout(timer5.value)
+})
 const clickCate = (index) => {
+  clearTimeout(timer1.value)
+  clearTimeout(timer2.value)
   cate.value.forEach((item, i) => {
     if (i === index) {
       // 鎴愬搧璁″垝杩涘害
@@ -548,13 +570,17 @@
         getWorkPlansList(companyId.value, departId.value)
           .then(res => {
             data.plannedProgress = res
-            data.secondScroll = true
+            nextTick(() => {
+              start1()
+            })
           })
       } else {
         getProcedureProcessList(companyId.value, departId.value)
           .then(res => {
             data.processProgress = res
-            data.thirdScroll = true
+            nextTick(() => {
+              start2()
+            })
           })
       }
       item.active = true
@@ -564,39 +590,71 @@
   })
 }
 function handleMouseEnter() {
-  data.firstScroll = false
+  clearTimeout(timer.value)
 }
 function handleMouseEnter1() {
-  data.secondScroll = false
+  clearTimeout(timer1.value)
 }
 function handleMouseEnter2() {
-  data.thirdScroll = false
+  clearTimeout(timer2.value)
 }
 function handleMouseEnter3() {
-  data.fourthScroll = false
+  clearTimeout(timer3.value)
 }
 function handleMouseEnter4() {
-  data.fifthScroll = false
+  clearTimeout(timer4.value)
 }
 function handleMouseLeave() {
-  data.firstScroll = true
+  start()
 }
 function handleMouseLeave1() {
-  data.secondScroll = true
+  start1()
 }
 function handleMouseLeave2() {
-  data.thirdScroll = true
+  start2()
 }
 function handleMouseLeave3() {
-  data.fourthScroll = true
+  start3()
 }
 function handleMouseLeave4() {
-  data.fifthScroll = true
+  start4()
 }
-
+// 寮�鍚畾鏃跺櫒
+function start() {
+  clearTimeout(timer.value)
+  // 瀹氭椂鍣ㄨЕ鍙戝懆鏈�
+  let speed = ref(100)
+  timer.value = setInterval(ListScroll, speed.value)
+}
+// 寮�鍚畾鏃跺櫒
+function start1() {
+  clearTimeout(timer1.value)
+  // 瀹氭椂鍣ㄨЕ鍙戝懆鏈�
+  let speed1 = ref(100)
+  timer1.value = setInterval(ListScroll1, speed1.value)
+}
+// 寮�鍚畾鏃跺櫒
+function start2() {
+  clearTimeout(timer2.value)
+  // 瀹氭椂鍣ㄨЕ鍙戝懆鏈�
+  let speed2 = ref(100)
+  timer2.value = setInterval(ListScroll2, speed2.value)
+}
+// 寮�鍚畾鏃跺櫒
+function start3() {
+  clearTimeout(timer3.value)
+  // 瀹氭椂鍣ㄨЕ鍙戝懆鏈�
+  let speed3 = ref(100)
+  timer3.value = setInterval(ListScroll3, speed3.value)
+}
+// 寮�鍚畾鏃跺櫒
+function start4() {
+  clearTimeout(timer4.value)
+  // 瀹氭椂鍣ㄨЕ鍙戝懆鏈�
+  let speed4 = ref(100)
+  timer4.value = setInterval(ListScroll4, speed4.value)
+}
 function ListScroll() {
-  if (!data.firstScroll) return
-  // console.log('ListScroll');
   let scrollDom = scrollContainer.value
   if (!scrollDom) return
   // 鍒よ缁勪欢鏄惁娓叉煋瀹屾垚
@@ -606,15 +664,13 @@
     let maxLength = scrollDom.clientHeight/34
     // 濡傛灉鍒楄〃鏁伴噺杩囧皯涓嶈繘琛屾粴鍔�
     if (scrollDom.children.length <= maxLength) {
-      data.firstScroll = false
+      clearTimeout(timer.value)
       return
     }
     // 缁勪欢杩涜婊氬姩
     scrollDom.scrollTop += 2
-    // console.log(scrollDom.scrollHeight - scrollDom.clientHeight);
-    // console.log(scrollDom.scrollTop);
     // 鍒ゆ柇鏄惁婊氬姩鍒板簳閮�
-    if (scrollDom.scrollTop >= (scrollDom.scrollHeight - scrollDom.clientHeight - 2)) {
+    if (Math.floor(scrollDom.scrollTop) >= (scrollDom.scrollHeight - scrollDom.clientHeight)) {
       // 鑾峰彇缁勪欢绗竴涓妭鐐�
       let first = scrollDom.children[0]
       // 鍒犻櫎鑺傜偣
@@ -625,8 +681,6 @@
   }
 }
 function ListScroll1() {
-  if (!data.secondScroll) return
-  // console.log('ListScroll1');
   let scrollDom = scrollContainer1.value
   // 鍒よ缁勪欢鏄惁娓叉煋瀹屾垚
   if (!scrollDom) return
@@ -634,17 +688,14 @@
     scrollDom = scrollContainer1.value
   } else {
     // 濡傛灉鍒楄〃鏁伴噺杩囧皯涓嶈繘琛屾粴鍔�
-    if (scrollDom.children.length < 7) {
-      data.secondScroll = false
+    if (scrollDom.children.length < 6) {
+      clearTimeout(timer1.value)
       return
     }
     // 缁勪欢杩涜婊氬姩
     scrollDom.scrollTop += 2
-    
     // 鍒ゆ柇鏄惁婊氬姩鍒板簳閮�
-    if (scrollDom.scrollTop >= (scrollDom.scrollHeight - scrollDom.clientHeight-0.5)) {
-      console.log(scrollDom.scrollTop);
-      console.log(scrollDom.scrollHeight, scrollDom.clientHeight);
+    if (scrollDom.scrollTop+2 >= (scrollDom.scrollHeight - scrollDom.clientHeight)) {
       // 鑾峰彇缁勪欢绗竴涓妭鐐�
       let first = scrollDom.children[0]
       // 鍒犻櫎鑺傜偣
@@ -655,8 +706,6 @@
   }
 }
 function ListScroll2() {
-  if (!data.thirdScroll) return
-  // console.log('ListScroll2');
   let scrollDom = scrollContainer2.value
   if (!scrollDom) return
   // 鍒よ缁勪欢鏄惁娓叉煋瀹屾垚
@@ -665,15 +714,15 @@
   } else {
     // 濡傛灉鍒楄〃鏁伴噺杩囧皯涓嶈繘琛屾粴鍔�
     if (scrollDom.children.length < 10) {
-      data.thirdScroll = false
+      clearTimeout(timer2.value)
       return
     }
     // 缁勪欢杩涜婊氬姩
-    scrollDom.scrollTop += 2
+    scrollDom.scrollTop += 1
     // console.log('scrollDom.scrollTop', scrollDom.scrollTop);
     // console.log('scrollDom.scrollHeight - scrollDom.clientHeight', scrollDom.scrollHeight - scrollDom.clientHeight);
     // 鍒ゆ柇鏄惁婊氬姩鍒板簳閮�
-    if (scrollDom.scrollTop >= (scrollDom.scrollHeight - scrollDom.clientHeight - 2)) {
+    if (scrollDom.scrollTop >= (scrollDom.scrollHeight - scrollDom.clientHeight)) {
       // 鑾峰彇缁勪欢绗竴涓妭鐐�
       let first = scrollDom.children[0]
       // 鍒犻櫎鑺傜偣
@@ -684,9 +733,6 @@
   }
 }
 function ListScroll3() {
-  
-  if (!data.fourthScroll) return
-  // console.log('ListScroll3');
   let scrollDom = scrollContainer3.value
   if (!scrollDom) return
   // 鍒よ缁勪欢鏄惁娓叉煋瀹屾垚
@@ -698,13 +744,13 @@
     // alert(scrollDom.children.length  +"---------------"+num)
     // 濡傛灉鍒楄〃鏁伴噺杩囧皯涓嶈繘琛屾粴鍔�
     if (scrollDom.children.length <= num) {
-      data.fourthScroll = false
+      clearTimeout(timer3.value)
       return
     }
     // 缁勪欢杩涜婊氬姩
     scrollDom.scrollTop = scrollDom.scrollTop+2
     // 鍒ゆ柇鏄惁婊氬姩鍒板簳閮�
-    if (scrollDom.scrollTop >= (scrollDom.scrollHeight - scrollDom.clientHeight -2)) {
+    if (scrollDom.scrollTop >= (scrollDom.scrollHeight - scrollDom.clientHeight)) {
       // 鑾峰彇缁勪欢绗竴涓妭鐐�
       let first = scrollDom.children[0]
       // 鍒犻櫎鑺傜偣
@@ -715,8 +761,6 @@
   }
 }
 function ListScroll4() {
-  if (!data.fifthScroll) return
-  // console.log('ListScroll4');
   let scrollDom = scrollContainer4.value
   if (!scrollDom) return
   // 鍒よ缁勪欢鏄惁娓叉煋瀹屾垚
@@ -728,13 +772,13 @@
     // alert(scrollDom.children.length  +"---------------"+num)
     // 濡傛灉鍒楄〃鏁伴噺杩囧皯涓嶈繘琛屾粴鍔�
     if (scrollDom.children.length <= num) {
-      data.fifthScroll = false
+      clearTimeout(timer4.value)
       return
     }
     // 缁勪欢杩涜婊氬姩
     scrollDom.scrollTop += 2
     // 鍒ゆ柇鏄惁婊氬姩鍒板簳閮�
-    if (scrollDom.scrollTop >= (scrollDom.scrollHeight - scrollDom.clientHeight - 2)) {
+    if (scrollDom.scrollTop+1 >= (scrollDom.scrollHeight - scrollDom.clientHeight)) {
       // 鑾峰彇缁勪欢绗竴涓妭鐐�
       let first = scrollDom.children[0]
       // 鍒犻櫎鑺傜偣
@@ -744,30 +788,14 @@
     }
   }
 }
-function scrillAction() {
-  ListScroll()
-  ListScroll1()
-  ListScroll2()
-  ListScroll3()
-  ListScroll4()
-}
+
+// onUnmounted(() => {
+
+// })
 
 onMounted(() => {
-  window.addEventListener('resize', () => {
-    setTypeChart()
-    setDayChart()
-  })
   if (!departId.value) return;
-  init()
-  timer5.value = setInterval(init, 60000)
-  timer.value = setInterval(scrillAction, 100)
-})
-
-onUnmounted(() => {
-  console.log('鍋滄婊寸瓟');
-  clearTimeout(timer.value)
-  clearTimeout(timer5.value)
-  
+  timer5.value = setInterval(init(), 60000)
 })
 </script>
 
@@ -775,7 +803,6 @@
 
 $fixed-height: 690px;
 .content1 {
-  
   flex: 1;
   width: 100%;
   height: auto;
@@ -1066,12 +1093,7 @@
 
             &:nth-child(5) {
               flex: 3;
-            }
-            &:nth-child(4) {
-              flex: 0.7;
-            }
-            &:nth-child(6) {
-              flex: 0.7;
+
             }
           }
         }
@@ -1108,15 +1130,10 @@
                 justify-content: center;
                 color: #FFFFFF;
                 font-size: 13px;
-                &:nth-child(4) {
-                  flex: 0.7;
-                }
+
                 &:nth-child(5) {
                   flex: 3;
                   justify-content: start;
-                }
-                &:nth-child(6) {
-                  flex: 0.7;
                 }
                 .scroll_item_row_item {
                   margin-top: -11px;
@@ -1321,15 +1338,9 @@
             font-weight: 500;
             color: #01D9FE;
 
-            &:nth-child(5) {
-              flex: 0.5;
+            &:nth-child(4) {
+              flex: 2;
             }
-            &:nth-child(6) {
-              flex: 0.5;
-            }
-            &:nth-child(7) {
-                  flex: 0.7;
-                }
           }
         }
 
@@ -1368,16 +1379,9 @@
                 justify-content: center;
                 color: #FFFFFF;
 
-                &:nth-child(5) {
-                  flex: 0.5;
+                &:nth-child(4) {
+                  flex: 2;
                 }
-                &:nth-child(6) {
-                  flex: 0.5;
-                }
-                &:nth-child(7) {
-                  flex: 0.7;
-                }
-
               }
             }
           }
@@ -1517,11 +1521,8 @@
             font-weight: 500;
             color: #01D9FE;
 
-            // &:first-child {
-            //   flex: 2;
-            // }
-            &:nth-child(3) {
-              flex: 0.7;
+            &:first-child {
+              flex: 2;
             }
           }
         }
@@ -1560,12 +1561,10 @@
                 align-items: center;
                 justify-content: center;
                 color: #FFFFFF;
-                &:nth-child(3) {
-                  flex: 0.7;
+
+                &:first-child {
+                  flex: 2;
                 }
-                // &:first-child {
-                //   flex: 2;
-                // }
               }
             }
           }

--
Gitblit v1.9.3