ソースを参照

bug-6518 华创-设备看板仅展示有值的专业组

tianxinyu 5 ヶ月 前
コミット
3a6ab25264

+ 5 - 2
src/views/business/deviceManagement/components/barChart.vue

@@ -94,7 +94,8 @@ export default {
         title: {
         title: {
           text: this.title,
           text: this.title,
           left: 'left',
           left: 'left',
-          textStyle: { fontSize: 24, color: this.colorw }
+          textStyle: { fontSize: 24, color: this.colorw },
+          top: 8
         },
         },
         grid: {
         grid: {
           left: '3%',
           left: '3%',
@@ -115,7 +116,9 @@ export default {
             params.forEach((item) => {
             params.forEach((item) => {
               let nameNum = ''
               let nameNum = ''
               nameNum = that.correspondence[item.seriesName]
               nameNum = that.correspondence[item.seriesName]
-              str += `<br /> ${item.marker} ${nameNum}  ${item.data[item.seriesName]}`
+              str += `<br /> ${item.marker} ${nameNum}  ${
+                item.data[item.seriesName]
+              }`
             })
             })
             return str
             return str
           }
           }

+ 11 - 8
src/views/business/deviceManagement/components/barCharto.vue

@@ -61,7 +61,7 @@ export default {
       default: true
       default: true
     }
     }
   },
   },
-  data () {
+  data() {
     return {
     return {
       correspondence: {
       correspondence: {
         numO: '1年以下',
         numO: '1年以下',
@@ -98,7 +98,7 @@ export default {
   },
   },
   watch: {
   watch: {
     value: {
     value: {
-      handler (newVal) {
+      handler(newVal) {
         if (newVal.length > 0) {
         if (newVal.length > 0) {
           this.show = true
           this.show = true
           setTimeout(() => {
           setTimeout(() => {
@@ -111,13 +111,13 @@ export default {
       deep: true
       deep: true
     }
     }
   },
   },
-  mounted () {
+  mounted() {
     // setTimeout(() => {
     // setTimeout(() => {
     //   this.drawLine()
     //   this.drawLine()
     // }, 100);
     // }, 100);
   },
   },
   methods: {
   methods: {
-    drawLine () {
+    drawLine() {
       const that = this
       const that = this
       const xData = []
       const xData = []
       for (const key in this.value[0]) {
       for (const key in this.value[0]) {
@@ -158,14 +158,15 @@ export default {
         title: {
         title: {
           text: this.title,
           text: this.title,
           left: 'left',
           left: 'left',
-          textStyle: { fontSize: '1.5em', color: this.colorw }
+          textStyle: { fontSize: '1.5em', color: this.colorw },
+          top: 8
         },
         },
         legend: {
         legend: {
           left: 'left',
           left: 'left',
           top: '40',
           top: '40',
           show: this.legendVal,
           show: this.legendVal,
           textStyle: {
           textStyle: {
-            color: '#fff',
+            color: '#fff'
             // fontSize: '0.8em'
             // fontSize: '0.8em'
           },
           },
           formatter: function (name) {
           formatter: function (name) {
@@ -199,9 +200,11 @@ export default {
                 that.correspondence[item.seriesName] ||
                 that.correspondence[item.seriesName] ||
                 that.correspondenceUn[item.seriesName] ||
                 that.correspondenceUn[item.seriesName] ||
                 that.dynamicMappingCondition[
                 that.dynamicMappingCondition[
-                that.correspondenceCondition[item.seriesName]
+                  that.correspondenceCondition[item.seriesName]
                 ]
                 ]
-              str += `<br /> ${item.marker} ${nameNum}  ${item.data[item.seriesName]}`
+              str += `<br /> ${item.marker} ${nameNum}  ${
+                item.data[item.seriesName]
+              }`
             })
             })
             return str
             return str
           }
           }

+ 3 - 1
src/views/business/deviceManagement/components/getPieView.vue

@@ -75,7 +75,9 @@ export default {
         title: {
         title: {
           text: this.title,
           text: this.title,
           left: 'left',
           left: 'left',
-          textStyle: { fontSize: '1.5em', color: this.colorw }
+          textStyle: { fontSize: '1.5em', color: this.colorw },
+          // padding: [8, 0, 0, 0]
+          top: 8
         },
         },
         color: ['#339933', '#3366CC', '#FF9933', '#FFFF00'],
         color: ['#339933', '#3366CC', '#FF9933', '#FFFF00'],
         tooltip: {
         tooltip: {

+ 10 - 3
src/views/business/deviceManagement/components/pieChart.vue

@@ -92,7 +92,8 @@ export default {
           textStyle: {
           textStyle: {
             fontSize: this.titleFontSize + 'em',
             fontSize: this.titleFontSize + 'em',
             color: this.colorw
             color: this.colorw
-          }
+          },
+          top: 8
         },
         },
         tooltip: {
         tooltip: {
           trigger: 'item'
           trigger: 'item'
@@ -109,7 +110,11 @@ export default {
           formatter: function (name) {
           formatter: function (name) {
             let strn = ''
             let strn = ''
             const mid = that.value.find((i) => i.name === name)
             const mid = that.value.find((i) => i.name === name)
-            const rate = ((mid.value / totality) * 100).toFixed(2)
+            // const rate = ((mid.value / totality) * 100).toFixed(2)
+            const rate =
+              totality !== 0
+                ? ((mid.value / totality) * 100).toFixed(2)
+                : '0.00'
             const leng = 5
             const leng = 5
             const rowNumber = Math.ceil(name.length / leng)
             const rowNumber = Math.ceil(name.length / leng)
             if (name.length > leng) {
             if (name.length > leng) {
@@ -126,7 +131,9 @@ export default {
               }
               }
             }
             }
 
 
-            const str = `{a|${strn === '' ? name : strn}} | {b|${rate}%}{c|${mid.value}}`
+            const str = `{a|${strn === '' ? name : strn}} | {b|${rate}%}{c|${
+              mid.value
+            }}`
             return str
             return str
           },
           },
           textStyle: {
           textStyle: {

+ 26 - 7
src/views/business/deviceManagement/index.vue

@@ -176,6 +176,7 @@
 import { equipDashBoard } from '@/api/platform/spectaculars/lab'
 import { equipDashBoard } from '@/api/platform/spectaculars/lab'
 import screenfull from 'screenfull'
 import screenfull from 'screenfull'
 import dataobj from './constants/simulated.js'
 import dataobj from './constants/simulated.js'
+import { getSetting } from '@/utils/query'
 export default {
 export default {
   components: {
   components: {
     barChart: () => import('./components/barCharto.vue'),
     barChart: () => import('./components/barCharto.vue'),
@@ -255,15 +256,20 @@ export default {
           title: '设备整体情况',
           title: '设备整体情况',
           numData: dataobj.entiretyData
           numData: dataobj.entiretyData
         }
         }
-      ]
+      ],
+      isFilter: false //dev4 过滤掉设备信息为0的部门
     }
     }
   },
   },
-  created() {
+  async created() {
     // 默认全屏展示
     // 默认全屏展示
     if (screenfull.isEnabled && !screenfull.isFullscreen) {
     if (screenfull.isEnabled && !screenfull.isFullscreen) {
       screenfull.request()
       screenfull.request()
     }
     }
-
+    const { filter } = (await getSetting('deviceKanban')) || {}
+    if (filter) {
+      this.isFilter = filter
+    }
+    console.log('res', this.isFilter)
     this.updateAll()
     this.updateAll()
   },
   },
   beforeDestroy() {
   beforeDestroy() {
@@ -293,15 +299,25 @@ export default {
           }
           }
         )
         )
         const lifeTimeData = data.lifeTimeData.filter((item, i) => {
         const lifeTimeData = data.lifeTimeData.filter((item, i) => {
-          return item.org.indexOf('综合') === -1
+          return (
+            item.org.indexOf('综合') === -1 &&
+            (!this.isFilter ||
+              (item.numO > 0, item.numOT > 0, item.numTF > 0, item.numF > 0))
+          )
         })
         })
 
 
         const intactData = data.intactData.filter((item, i) => {
         const intactData = data.intactData.filter((item, i) => {
-          return item.org.indexOf('综合') === -1
+          return (
+            item.org.indexOf('综合') === -1 &&
+            (!this.isFilter || item.numAll > 0)
+          )
         })
         })
         console.log(data.verificationData)
         console.log(data.verificationData)
         const verificationData = data.verificationData.filter((item, i) => {
         const verificationData = data.verificationData.filter((item, i) => {
-          return item.org.indexOf('综合') === -1
+          return (
+            item.org.indexOf('综合') === -1 &&
+            (!this.isFilter || item.numJ > 0 || item.numW > 0)
+          )
         })
         })
         const scrapData = data.scrapData.filter((item, i) => {
         const scrapData = data.scrapData.filter((item, i) => {
           return item[0].indexOf('综合') === -1
           return item[0].indexOf('综合') === -1
@@ -353,7 +369,10 @@ export default {
         // }
         // }
         if (data.originalAssets !== null && data.originalAssets.length > 0) {
         if (data.originalAssets !== null && data.originalAssets.length > 0) {
           data.originalAssets.forEach((element) => {
           data.originalAssets.forEach((element) => {
-            if (element.org.indexOf('综合') === -1) {
+            if (
+              element.org.indexOf('综合') === -1 &&
+              (!this.isFilter || element.assets > 0)
+            ) {
               this.mergeData[4].numData.push({
               this.mergeData[4].numData.push({
                 org: element.org,
                 org: element.org,
                 assets: element.assets
                 assets: element.assets