Procházet zdrojové kódy

fix:设备管理看板

zhangjingyuan před 3 roky
rodič
revize
3305691faf

+ 5 - 1
src/views/system/jbdHome/board/component/CarouselTabl.vue

@@ -1,6 +1,6 @@
 <template>
   <div style="width: 100%;height: 100%;overflow: hidden;">
-    <div class="title" style="vertical-align: top; height: 10%;font-size: 16px;">停用/报废列表</div>
+    <div class="title" style="vertical-align: top; height: 10%;font-size: 16px;">{{ title }}</div>
     <div style="width:100%;height: 90%;display: inline-block;background-color: #06163f;">
       <dv-scroll-board :config="info" style="width:100%;height:100%" />
     </div>
@@ -17,6 +17,10 @@ export default {
       type: Object,
       default: {},
     },
+    title: {
+      type: String,
+      default: "",
+    },
   },
 };
 </script>

+ 10 - 5
src/views/system/jbdHome/board/component/equipmentBoardTopcard.vue

@@ -1,5 +1,5 @@
 <template>
-  <div id="top-bar">
+  <div id="top-bar" style="width:100%;height:100%">
     <div class="content">
       <!-- <div class="title">设备信息情况</div> -->
       <div class="bar">
@@ -7,7 +7,11 @@
           <div v-for="(v, i) in item.children" :key="i" class="box1" >
             <div class="label" style="text-align: center; ">{{ v.label }}</div>
             <div class="count" style="display: flex;justify-content: center;">
-              <div :style="{color:v.data.style.fill}" style="font-weight:bold;font-size: 27px;">{{v.value}}</div>
+              <div v-if=" v.label.includes('计划')||v.label.includes('申请')" :style="{color:'#9966FF'}" style="font-weight:bold;font-size: 27px;">{{v.value}}</div>
+              <div v-else-if="v.label.includes('报废/停用')" :style="{color:'#FF0066'}" style="font-weight:bold;font-size: 27px;">{{v.value}}</div>
+              <div v-else-if="v.label.includes('受限')" :style="{color:'#CCFF33'}" style="font-weight:bold;font-size: 27px;">{{v.value}}</div>
+              <div v-else-if="v.label.includes('已')||v.label.includes('完成')||v.label.includes('正常')||v.label.includes('率')" :style="{color:'#00b56a'}" style="font-weight:bold;font-size: 27px;">{{v.value}}</div>
+              <div v-else :style="{color:'#66CCCC'}" style="font-weight:bold;font-size: 27px;">{{v.value}}</div>
               <div class="unit" style="line-height: 34px;">{{ v.unit }}</div>
             </div>
           </div>  
@@ -72,7 +76,7 @@ export default {
           i.data = {
             number: [i.value],
             content: "{nt}",
-            toFixed: i.danwei == "%" ? 2 : 0,
+            toFixed: 1,
             textAlign: "center",
             style: {
               fill: this.fontColor[this.getRandom(0, 11)],
@@ -91,8 +95,9 @@ export default {
 
 <style lang="scss" scoped>
 .content{
-  height: 82%;
+  height: 100%;
   width: 100%;
+  min-height: 0px
   // background-color: rgba(6, 30, 93, 0.5);
   // .title{
   //   // width: 100%;
@@ -104,7 +109,7 @@ export default {
   position: relative;
   margin: 20px 2%;
   width: 96%;
-  height: 150px;
+  height: 100%;
   display: flex;
   justify-content: space-between;
   align-items: center;

+ 434 - 328
src/views/system/jbdHome/board/equipmentBoard.vue

@@ -20,26 +20,29 @@
         <div class="topCard">
           <top-bar v-if="topBarData.length" :info="topBarData" />
         </div>
-        <div class="middleCard" >
+        <div class="middleCard">
           <div style="width:100%;height: 100%;box-sizing: border-box;overflow: hidden;">
-          <div class="middleCardLeft" >
-            <middleCard v-if="MiddleLeftPieViewList.data.length" :info="MiddleLeftPieViewList" ref="middleCardLeft"/>
-          </div>
-          <dv-decoration-2 :reverse="true" style="width:5px;height: 100%;;margin:0 15px;" />
-          <div class="middleCardCenter">
+            <div class="middleCardLeft">
+              <middleCard v-if="MiddleLeftPieViewList.data.length" :info="MiddleLeftPieViewList" ref="middleCardLeft" />
+            </div>
+            <dv-decoration-2 :reverse="true" style="width:2%;height: 100%;" />
+            <div class="middleCardRight1">
+              <CarouselTabl v-if="MiddleLeftPieViewList.data.length" :info="shiyonglvConfig" title="设备使用记录列表" isup=isup />
+            </div>
+            <!-- <div class="middleCardCenter">
             <middleCard v-if="eBgRateData.data.length" :info="eBgRateData" ref="middleCardCenter"/>
+          </div> -->
+            <dv-decoration-2 :reverse="true" style="width:2%;height:100%;" />
+            <div class="middleCardRight">
+              <CarouselTabl v-if="config.data.length" :info="config" title="设备报废列表" />
+            </div>
           </div>
-          <dv-decoration-2 :reverse="true" style="width:5px;height:350px;margin:0 15px;" />
-          <div class="middleCardRight">
-            <CarouselTabl v-if="config.data.length" :info="config"/>
-          </div>
-        </div>
         </div>
-        <dv-decoration-10 style="height:2%;display:flex;"/>
+        <dv-decoration-10 style="height:2%;display:flex;" />
         <div class="bottomCard">
-          <div style="width:28%;height: 100%;overflow: hidden;box-sizing: border-box;display:flex;">
+          <div style="width:32%;height: 100%;overflow: hidden;box-sizing: border-box;display:flex;">
             <div class="bottomCardLeft0">
-              <middleCard v-if="weiHuSheBeiData.data.length" :info="weiHuSheBeiData" ref="sheBeiWeiHuRef"/>
+              <middleCard v-if="weiHuSheBeiData.data.length" :info="weiHuSheBeiData" ref="sheBeiWeiHuRef" />
             </div>
             <!-- <dv-decoration-2 :reverse="true" style="width:3%;height:100%;;margin: 0 10px;" /> -->
             <!-- <div style="width:37%">
@@ -47,24 +50,24 @@
             </div> -->
           </div>
           <dv-decoration-2 :reverse="true" style="width:1%;height:100%;overflow: hidden;box-sizing: border-box;" />
-          <div style="width:49%;display:flex;">
-            <div style="width:37%">
-              <zhuzhuangtu v-if="zhuantaiEData.data.length" :info="zhuantaiEData"  ref="zhuantaiEDataref"/>
-            </div>
-            <dv-decoration-2 :reverse="true" style="width:3%;height:330px;margin: 0 10px;" />
+          <div style="width:34%;display:flex;">
+            <!-- <div style="width:40%">
+              <zhuzhuangtu v-if="zhuantaiEData.data.length" :info="zhuantaiEData" ref="zhuantaiEDataref" />
+            </div> -->
+            <!-- <dv-decoration-2 :reverse="true" style="width:3%;height:100%;" /> -->
             <div class="bottomCardright">
-              <middleCard v-if="jianDingjiaoZhunSheBeiData.data.length" :info="jianDingjiaoZhunSheBeiData" ref="jiandingRef"/>
+              <middleCard v-if="jianDingjiaoZhunSheBeiData.data.length" :info="jianDingjiaoZhunSheBeiData" ref="jiandingRef" />
             </div>
           </div>
           <dv-decoration-2 :reverse="true" style="width:1%;height:100%;overflow: hidden;box-sizing: border-box;" />
-          <div style="width:18%;overflow: hidden;box-sizing: border-box;display:flex;">
-            <!-- <div class="bottomCardLeft">
+          <div style="width:32%;overflow: hidden;box-sizing: border-box;display:flex;">
+            <div class="bottomCardLeft">
               <middleCard v-if="sheBeiHeChaData.data.length" :info="sheBeiHeChaData" ref="sheBeiHeChaRef"/>
-            </div> -->
-            <!-- <dv-decoration-2 :reverse="true" style="width:5px;height:330px;margin: 0 10px;" /> -->
-            <div style="width:100%">
-              <zhuzhuangtu v-if="bottomData.data.length" :info="bottomData"  ref="bottomCardLeft"/>          
             </div>
+            <!-- <dv-decoration-2 :reverse="true" style="width:5px;height:330px;margin: 0 10px;" /> -->
+            <!-- <div style="width:100%">
+              <zhuzhuangtu v-if="bottomData.data.length" :info="bottomData" ref="bottomCardLeft" />
+            </div> -->
           </div>
 
         </div>
@@ -75,17 +78,17 @@
 <script>
 import screenfull from "screenfull";
 import curdPost from "@/business/platform/form/utils/custom/joinCURD.js";
-import { color } from 'echarts/lib/export';
+import { color } from "echarts/lib/export";
 // import { config } from 'public/lib/UEditor/third-party/zeroclipboard/ZeroClipboard';
 // import { acceptList } from "./data.js";
 // import { number } from 'echarts/lib/export';
 export default {
   name: "checkBoard",
   components: {
-    topBar: () => import('./component/equipmentBoardTopcard'),
-    middleCard: () => import('./component/getPieView'),
-    zhuzhuangtu: () => import('./component/zhuzhuangtu'),
-    CarouselTabl: () => import('./component/CarouselTabl')
+    topBar: () => import("./component/equipmentBoardTopcard"),
+    middleCard: () => import("./component/getPieView"),
+    zhuzhuangtu: () => import("./component/zhuzhuangtu"),
+    CarouselTabl: () => import("./component/CarouselTabl"),
   },
   data() {
     const d = new Date();
@@ -96,16 +99,22 @@ export default {
       today: d.toJSON().slice(0, 10),
       topBarData: [],
       timer: null,
-      MiddleLeftPieViewList:{},
-      eBgRateData:{},
-      sheBeiHeChaData:{},
-      jianDingjiaoZhunSheBeiData:{},
-      weiHuSheBeiData:{},
-      bottomData:{},
-      zhuantaiEData:{},
-      sheBeiweiHuData:{},
-      config:{},
-      zichan:0,
+      MiddleLeftPieViewList: {},
+      eBgRateData: {},
+      sheBeiHeChaData: {},
+      jianDingjiaoZhunSheBeiData: {},
+      weiHuSheBeiData: {},
+      shiyonglvConfig: {
+        header: ["设备名称","使用人", "使用时间","存放位置", "状态", "频率"],
+        data: [],
+        columnWidth: ["130", "90","110","120", "100", "70"],
+        rowNum: 6,
+      },
+      bottomData: {},
+      zhuantaiEData: {},
+      sheBeiweiHuData: {},
+      config: {},
+      zichan: 0,
     };
   },
   created() {
@@ -120,7 +129,8 @@ export default {
     }
   },
   methods: {
-    allView() { // 默认显示全屏 
+    allView() {
+      // 默认显示全屏
       screenfull.request();
     },
     goBack() {
@@ -128,23 +138,33 @@ export default {
     },
     updateAll(e) {
       // this.getSheBeiMony();
+      this.getCarouselShiYonglvTable();
       this.getTopBarData();
       this.getMiddleLeftPieView();
       this.getCarouselTable();
       // this.getbottomData();
     },
-    async getTopBarData(){
+    async getTopBarData() {
       let this_ = this;
-      
-      this.MiddleLeftPieViewList={  data:[],  config:{idSelector:"main"}, color:[]};
-      this.eBgRateData = { data:[],config:{}};
-      this.sheBeiHeChaData = { data:[], config:{}};
-      this.jianDingjiaoZhunSheBeiData = { data:[],  config:{}};
-      this.weiHuSheBeiData = {data:[],config:{}};
-      this.bottomData = {xData:[],data:[],config:{idSelector:""}};
-      this.zhuantaiEData = {xData:[],data:[],config:{idSelector:""}};
-      this.sheBeiweiHuData ={xData:[],data:[],config:{idSelector:""}};
-      let sql =`select a.Equipments,a1.mony,b.addEquipments,c.testEquipments,c1.testNoEquipments,d.checkEquipments,
+
+      this.MiddleLeftPieViewList = {
+        data: [],
+        config: { idSelector: "main" },
+        rowNum: 6,
+        color: [],
+      };
+      this.eBgRateData = { data: [], config: {} };
+      this.sheBeiHeChaData = { data: [], config: {} };
+      this.jianDingjiaoZhunSheBeiData = { data: [], config: {} };
+      this.weiHuSheBeiData = { data: [], config: {} };
+      this.bottomData = { xData: [], data: [], config: { idSelector: "" } };
+      this.zhuantaiEData = { xData: [], data: [], config: { idSelector: "" } };
+      this.sheBeiweiHuData = {
+        xData: [],
+        data: [],
+        config: { idSelector: "" },
+      };
+      let sql = `select a.Equipments,a1.mony,b.addEquipments,c.testEquipments,c1.testNoEquipments,d.checkEquipments,
       d1.checkNoEquipments,e.goodEquipments,f.scrapEquipments,g.limitedEquipments,h.weiHuNoEquipments,h1.weiHuEquipments
       from  
       (select count(*) as Equipments from t_sbdj) as a,
@@ -159,227 +179,309 @@ export default {
       (select count(*) as limitedEquipments  from t_sbdj where she_bei_zhuang_ta ='限制使用' or she_bei_zhuang_ta ='备用') as g,
       (select count(*) as weiHuNoEquipments  from t_mjsbwhjhzb where create_time_ LIKE '${this_.month}') as h,
       (select count(*) as weiHuEquipments  from t_mjsbwhbyjlby where create_time_ LIKE '${this_.month}' and shi_fou_guo_shen_ ='1') as h1`;
-     await curdPost("sql",sql).then(res=>{
-        const data = res.variables.data
-        let zichan = this_.getAllMonyInt(data);
-        let eIntactnessRate = Number((((data[0].goodEquipments/data[0].Equipments).toFixed(4))*100+"").slice(0,5));
-        let eBadRate =Number((( (100 - eIntactnessRate).toFixed(4))+"").slice(0,4));
-        let obj ={};
-        obj.value = Number(((data[0].goodEquipments/data[0].Equipments).toFixed(4)*100+"").slice(0,5));
-        obj.name = "正常设备数";
-        this_.MiddleLeftPieViewList.data.push(obj);
-        obj ={};
-        obj.value =Number(((data[0].limitedEquipments/data[0].Equipments).toFixed(4)*100+"").slice(0,5));
-        obj.name = "受限设备数";
-        this_.MiddleLeftPieViewList.data.push(obj);
-        obj ={};
-        obj.value = Number(((data[0].scrapEquipments/data[0].Equipments).toFixed(4)*100+"").slice(0,5));
-        obj.name = "停用/报废";
-        this_.MiddleLeftPieViewList.data.push(obj);
-        this_.MiddleLeftPieViewList.color = ['#339933','#FFFF66','#FF0033'];
-        this_.MiddleLeftPieViewList.config.title = "设备数工作状态分布";
-        this_.MiddleLeftPieViewList.config.idSelector = "main2";
-        this_.$nextTick(()=>{
-        setTimeout(() => {
-					this_.$refs.middleCardLeft.getMiddleLeft()// hhhh xxxx
-				}, 1000)
-        })
-        obj ={};
-        let result =[
-        {
-          title: '',
-          children: [
-            {
-              label: '设备数总数',
-              value: data[0].Equipments,
-              danwei:''
-            },
-            {
-              label: '新增设备数',
-              value: data[0].addEquipments,
-              danwei:''
-            },
-            {
-              label: '正常设备数',
-              value: data[0].goodEquipments,
-              danwei:''
-            },            
-            {
-              label: '报废/停用设备数',
-              value: data[0].scrapEquipments,
-              danwei:''
-            },
-            {
-              label: '受限设备数',
-              value: data[0].limitedEquipments,
-              danwei:''
-            }
-          ]
-        },
-        {
-          title: '',
-          children: [
-            {
-              label: '计划维护设备数',
-              value: data[0].weiHuNoEquipments,
-              danwei:''
-            },
-            {
-              label: '已维护设备数',
-              value: data[0].weiHuEquipments,
-              danwei:''
-            }
-          ]
-        },
-        {
-          title: '',
-          children: [
+      await curdPost("sql", sql)
+        .then((res) => {
+          const data = res.variables.data;
+          let zichan = this_.getAllMonyInt(data);
+          zichan = zichan +''
+          zichan =zichan.substring(0,zichan.length-4)
+          let eIntactnessRate = Number(
+            (
+              (data[0].goodEquipments / data[0].Equipments).toFixed(2) * 100 +
+              ""
+            ).slice(0, 5)
+          );
+          let eBadRate = Number(
+            ((100 - eIntactnessRate).toFixed(4) + "").slice(0, 4)
+          );
+          let obj = {};
+          obj.value = Number(
+            (
+              (data[0].goodEquipments / data[0].Equipments).toFixed(4) * 100 +
+              ""
+            ).slice(0, 5)
+          );
+          obj.name = "正常设备数";
+          this_.MiddleLeftPieViewList.data.push(obj);
+          obj = {};
+          obj.value = Number(
+            (
+              (data[0].limitedEquipments / data[0].Equipments).toFixed(4) *
+                100 +
+              ""
+            ).slice(0, 5)
+          );
+          obj.name = "受限设备数";
+          this_.MiddleLeftPieViewList.data.push(obj);
+          obj = {};
+          obj.value = Number(
+            (
+              (data[0].scrapEquipments / data[0].Equipments).toFixed(4) * 100 +
+              ""
+            ).slice(0, 5)
+          );
+          obj.name = "停用/报废";
+          this_.MiddleLeftPieViewList.data.push(obj);
+          this_.MiddleLeftPieViewList.color = ["#339933", "#FFFF66", "#FF0033"];
+          this_.MiddleLeftPieViewList.config.title = "设备工作状态情况";
+          this_.MiddleLeftPieViewList.config.idSelector = "main2";
+          this_.$nextTick(() => {
+            // setTimeout(() => {
+            // this_.$refs.middleCardLeft.getMiddleLeft(); // hhhh xxxx
+            // }, 1000)
+          });
+          obj = {};
+          let result = [
             {
-              label: '计划检定/校准设备数',
-              value: data[0].testNoEquipments,
-              danwei:''
+              title: "",
+              children: [
+                {
+                  label: "设备总数",
+                  value: data[0].Equipments,
+                  danwei: "",
+                },
+                {
+                  label: "新增数",
+                  value: data[0].addEquipments,
+                  danwei: "",
+                },
+                {
+                  label: "正常数",
+                  value: data[0].goodEquipments,
+                  danwei: "",
+                },
+
+                {
+                  label: "受限数",
+                  value: data[0].limitedEquipments,
+                  danwei: "",
+                },
+                {
+                  label: "报废/停用数",
+                  value: data[0].scrapEquipments,
+                  danwei: "",
+                },
+              ],
             },
             {
-              label: '已检定/校准设备数',
-              value: data[0].testEquipments,
-              danwei:''
-            }
-          ]
-        },
-        {
-          title: '',
-          children: [
-            {
-              label: '计划核查设备数',
-              value: data[0].checkNoEquipments,
-              danwei:''
+              title: "",
+              children: [
+                {
+                  label: "计划维护数",
+                  value: data[0].weiHuNoEquipments,
+                  danwei: "",
+                },
+                {
+                  label: "已维护数",
+                  value: data[0].weiHuEquipments,
+                  danwei: "",
+                },
+              ],
             },
             {
-              label: '已核查设备数',
-              value: data[0].checkEquipments,
-              danwei:''
-            }
-          ]
-        },
-        {
-          title: '',
-          children: [
-            {
-              label: '设备完好率',
-              value: eIntactnessRate,
-              danwei:'%'
+              title: "",
+              children: [
+                {
+                  label: "计划检定/校准数",
+                  value: data[0].testNoEquipments,
+                  danwei: "",
+                },
+                {
+                  label: "已检定/校准数",
+                  value: data[0].testEquipments,
+                  danwei: "",
+                },
+              ],
             },
             {
-              label: '设备故障率',
-              value: eBadRate,
-              danwei:'%'
+              title: "",
+              children: [
+                {
+                  label: "本月计划核查数",
+                  value: data[0].checkNoEquipments,
+                  danwei: "",
+                },
+                {
+                  label: "本月已核查数",
+                  value: data[0].checkEquipments,
+                  danwei: "",
+                },
+              ],
             },
             {
-              label: '设备总值',
-              value:zichan,
-              danwei:'元'
+              title: "",
+              children: [
+                {
+                  label: "完好率",
+                  value: eIntactnessRate,
+                  danwei: "%",
+                },
+                {
+                  label: "故障率",
+                  value: eBadRate,
+                  danwei: "%",
+                },
+                {
+                  label: "总值(万元)",
+                  value: zichan,
+                  danwei: "",
+                },
+              ],
             },
-          ]
-        }
-       ];
-       //
-      this_.bottomData.xData =["计划核查设备数","已核查设备数"];
-      this_.bottomData.data.push(data[0].checkNoEquipments);
-      this_.bottomData.data.push(data[0].checkEquipments);
-      this_.bottomData.config.title ="核查设备柱状图";
-      this_.bottomData.config.idSelector ="main4";
-      // this_.$nextTick(()=>{
-      //   setTimeout(() => {
-					
-			// 	}, 1000)
-      // })
-      this_.zhuantaiEData.xData =["计划检定/校准设备数","已完成检定/校准设备数",];
-      this_.zhuantaiEData.data.push(data[0].testNoEquipments);
-      this_.zhuantaiEData.data.push(data[0].testEquipments);
-      this_.zhuantaiEData.config.title ="设备检定/校准设备柱状图";
-      this_.zhuantaiEData.config.idSelector ="main3"; 
-      //维护设备数柱状图
-      this_.sheBeiweiHuData.xData =["计划维护设备数","已完成设备数",];
-      this_.sheBeiweiHuData.data.push(data[0].weiHuNoEquipments);
-      this_.sheBeiweiHuData.data.push(data[0].weiHuEquipments);
-      this_.sheBeiweiHuData.config.title ="设备维护柱状图";
-      this_.sheBeiweiHuData.config.idSelector ="mainWeiHuZ";
-      this_.$nextTick(()=>{
-        setTimeout(() => {
-          this_.$refs.zhuantaiEDataref.getMiddleLeft()// hhhh xxxx
-					this_.$refs.bottomCardLeft.getMiddleLeft()// hhhh xxxx
-          this_.$refs.sheBeiWeiHuDataref.getMiddleLeft();
-				}, 1000)
-      })
-      
-      let objRate = {};
-      objRate.name ="设备完好率";
-      objRate.value = eIntactnessRate;
-      this_.eBgRateData.data.push(objRate);
-      objRate ={};
-      objRate.value = eBadRate;
-      objRate.name = "设备故障率";
-      this_.eBgRateData.data.push(objRate);
-      this_.eBgRateData.color = ['#339933','#FF0033'];
-      this_.eBgRateData.config.title = "设备工作状态分布";
-      this_.eBgRateData.config.idSelector = "main1";
-      //设备数维护
-      let objweihu ={};
-      objweihu.name ="计划维护设备数";
-      objweihu.value = data[0].weiHuNoEquipments;
-      this_.weiHuSheBeiData.data.push(objweihu);
-      objweihu ={};
-      objweihu.value =  data[0].weiHuEquipments;
-      objweihu.name = "已维护设备数";
-      this_.weiHuSheBeiData.data.push(objweihu);
-      this_.weiHuSheBeiData.color = ['#5470c6','#38a838'];
-      this_.weiHuSheBeiData.config.title = "设备维护分布";
-      this_.weiHuSheBeiData.config.idSelector = "mainWeiHu";
-      //设备数核查
-      let objHeCha ={};
-      objHeCha.name ="计划核查设备数";
-      objHeCha.value = data[0].checkNoEquipments;
-      this_.sheBeiHeChaData.data.push(objHeCha);
-      objHeCha ={};
-      objHeCha.value =  data[0].checkEquipments;
-      objHeCha.name = "已核查设备数";
-      this_.sheBeiHeChaData.data.push(objHeCha);
-      this_.sheBeiHeChaData.color = ['#5470c6','#38a838'];
-      this_.sheBeiHeChaData.config.title = "设备核查分布";
-      this_.sheBeiHeChaData.config.idSelector = "mainHeCha";
-      //设备数检定校准
-      let objJianding ={};
-      objJianding.name ="计划检定/校准设备数";
-      objJianding.value = data[0].testNoEquipments;
-      this_.jianDingjiaoZhunSheBeiData.data.push(objJianding);
-      objJianding ={};
-      objJianding.value =  data[0].testEquipments;
-      objJianding.name = "已完成设备数";
-      this_.jianDingjiaoZhunSheBeiData.data.push(objJianding);
-      this_.jianDingjiaoZhunSheBeiData.color = ['#5470c6','#38a838'];
-      this_.jianDingjiaoZhunSheBeiData.config.title = "设备检定校准分布";
-      this_.jianDingjiaoZhunSheBeiData.config.idSelector = "mainJianDing";
-      this_.$nextTick(()=>{
-        setTimeout(() => {
-					this_.$refs.middleCardCenter.getMiddleLeft();// hhhh xxxx
-          this_.$refs.sheBeiHeChaRef.getMiddleLeft();//
-          this_.$refs.jiandingRef.getMiddleLeft();
-				}, 1000)
-      })
-      objRate = {};
-      this_.topBarData = result;
-      }).catch(err=>{
-        console.log(err)
-      })
+          ];
+          //
+          this_.bottomData.xData = ["本月计划核查数", "本月已核查数"];
+          this_.bottomData.data.push(data[0].checkNoEquipments);
+          this_.bottomData.data.push(data[0].checkEquipments);
+          this_.bottomData.config.title = "核查设备完成图";
+          this_.bottomData.config.idSelector = "main4";
+          // this_.$nextTick(()=>{
+          //   setTimeout(() => {
+
+          // 	}, 1000)
+          // })
+          this_.zhuantaiEData.xData = [
+            "计划检定/校准数",
+            "已完成检定/校准数",
+          ];
+          this_.zhuantaiEData.data.push(data[0].testNoEquipments);
+          this_.zhuantaiEData.data.push(data[0].testEquipments);
+          this_.zhuantaiEData.config.title = "检定/校准设备完成图";
+          this_.zhuantaiEData.config.idSelector = "main3";
+          //维护设备数柱状图
+          this_.sheBeiweiHuData.xData = ["计划维护数", "已完成数"];
+          this_.sheBeiweiHuData.data.push(data[0].weiHuNoEquipments);
+          this_.sheBeiweiHuData.data.push(data[0].weiHuEquipments);
+          this_.sheBeiweiHuData.config.title = "设备维护柱状图";
+          this_.sheBeiweiHuData.config.idSelector = "mainWeiHuZ";
+          this_.$nextTick(() => {
+            // setTimeout(() => {
+            // this_.$refs.zhuantaiEDataref.getMiddleLeft(); // hhhh xxxx
+            // this_.$refs.bottomCardLeft.getMiddleLeft(); // hhhh xxxx
+            // this_.$refs.sheBeiWeiHuDataref.getMiddleLeft();
+            // }, 1000)
+          });
+
+          let objRate = {};
+          objRate.name = "完好率";
+          objRate.value =eIntactnessRate;
+          this_.eBgRateData.data.push(objRate);
+          objRate = {};
+          objRate.value =eBadRate;
+          objRate.name = "故障率";
+          this_.eBgRateData.data.push(objRate);
+          this_.eBgRateData.color = ["#339933", "#FF0033"];
+          this_.eBgRateData.config.title = "设备工作状态完成率";
+          this_.eBgRateData.config.idSelector = "main1";
+          //设备数维护
+          let objweihu = {};
+          objweihu.name = "计划维护数";
+          objweihu.value = data[0].weiHuNoEquipments;
+          this_.weiHuSheBeiData.data.push(objweihu);
+          objweihu = {};
+          objweihu.value = data[0].weiHuEquipments;
+          objweihu.name = "已维护数";
+          this_.weiHuSheBeiData.data.push(objweihu);
+          this_.weiHuSheBeiData.color = ["#5470c6", "#38a838"];
+          this_.weiHuSheBeiData.config.title = "设备维护完成率";
+          this_.weiHuSheBeiData.config.idSelector = "mainWeiHu";
+          //设备数核查
+          let objHeCha = {};
+          objHeCha.name = "本月计划核查数";
+          objHeCha.value = data[0].checkNoEquipments;
+          this_.sheBeiHeChaData.data.push(objHeCha);
+          objHeCha = {};
+          objHeCha.value = data[0].checkEquipments;
+          objHeCha.name = "本月已核查数";
+          this_.sheBeiHeChaData.data.push(objHeCha);
+          this_.sheBeiHeChaData.color = ["#5470c6", "#38a838"];
+          this_.sheBeiHeChaData.config.title = "设备核查完成率";
+          this_.sheBeiHeChaData.config.idSelector = "mainHeCha";
+          //设备数检定校准
+          let objJianding = {};
+          objJianding.name = "计划检定/校准数";
+          objJianding.value = data[0].testNoEquipments;
+          this_.jianDingjiaoZhunSheBeiData.data.push(objJianding);
+          objJianding = {};
+          objJianding.value = data[0].testEquipments;
+          objJianding.name = "已完成数";
+          this_.jianDingjiaoZhunSheBeiData.data.push(objJianding);
+          this_.jianDingjiaoZhunSheBeiData.color = ["#5470c6", "#38a838"];
+          this_.jianDingjiaoZhunSheBeiData.config.title = "设备检定/校准完成率";
+          this_.jianDingjiaoZhunSheBeiData.config.idSelector = "mainJianDing";
+          this_.$nextTick(() => {
+            // setTimeout(() => {
+            // this_.$refs.middleCardCenter.getMiddleLeft();// hhhh xxxx
+            // this_.$refs.sheBeiHeChaRef.getMiddleLeft();//
+            // this_.$refs.jiandingRef.getMiddleLeft();
+            // }, 1000)
+          });
+          objRate = {};
+          this_.topBarData = result;
+        })
+        .catch((err) => {
+          console.log(err);
+        });
     },
-    getMiddleLeftPieView(){
+    getMiddleLeftPieView() {
       // [ { value: 1048, name: 'Search Engine' },]
-      console.log()
+      console.log();
+    },
+    async getCarouselShiYonglvTable() {
+      let this_ = this;
+      // const sql = `select she_bei_ming_chen,she_bei_bian_hao_ ,create_time_,she_bei_zhuang_ku,COUNT(*) AS pinlv FROM t_mjsbsy GROUP BY she_bei_bian_hao_  HAVING create_time_ LIKE '${this.month}%' ORDER BY pinlv DESC`;
+      const sql = `select a.she_bei_ming_chen ,a.create_time_,a.shi_yong_qian_qin,b.name_,c.cun_fang_di_dian_,COUNT(*) AS pinlv FROM  t_yqsbsydjb as a join ibps_party_employee as b on a.shi_yong_ren_ = b.ID_ join t_sbdj as c on a.yi_qi_bian_hao_ = c.id_ GROUP BY create_time_  HAVING create_time_ LIKE '${this.month}%' ORDER BY pinlv DESC`;
+      console.log(sql, "设备使用");
+      let data1 = [];
+      let res1 = [];
+      this_.shiyonglvConfig.data = [];
+      await curdPost("sql", sql)
+        .then((res) => {
+          const result = res.variables.data;
+          result.forEach((item) => {
+            data1 = [];
+            data1.push(item.she_bei_ming_chen);
+            data1.push(item.name_);
+            data1.push(this_.timestampToTime(item.create_time_ / 1000));
+            data1.push(item.cun_fang_di_dian_);
+            // data1.push(item.create_time_);
+            data1.push(item.shi_yong_qian_qin);
+            data1.push(item.pinlv);
+            this_.shiyonglvConfig.data.push(data1);
+            // this_.$forceUpdate()
+          });
+
+          // console.log(this_.shiyonglvConfig.data);
+        })
+        .catch((err) => {
+          console.log(err);
+        });
+      this.isup = true;
+    },
+    timestampToTime(timestamp) {
+      var date = new Date(timestamp * 1000);
+      var Y = date.getFullYear() + "-";
+      var M =
+        (date.getMonth() + 1 < 10
+          ? "0" + (date.getMonth() + 1)
+          : date.getMonth() + 1) + "-";
+      var D =
+        (date.getDate() < 10 ? "0" + date.getDate() : date.getDate()) + " ";
+      var h = date.getHours() + ":";
+      var m = date.getMinutes() + ":";
+      var s = date.getSeconds();
+      return Y + M + D;
     },
     async getCarouselTable() {
-      this.config={ header:['设备名称','设备编号','规格型号','设备状态'],data:[]};
+      this.config = {
+        header: ["设备名称", "编号", "状态"],
+        columnWidth: ["135","125", "50"],
+        rowNum: 6,
+        data: [],
+      };
       let this_ = this;
-      const sql = "select * from t_sbdj where she_bei_zhuang_ta ='停用' or she_bei_zhuang_ta ='报废' or she_bei_zhuang_ta ='报废/停用'";
+      const sql =
+        "select * from t_sbdj where she_bei_zhuang_ta ='停用' or she_bei_zhuang_ta ='报废' or she_bei_zhuang_ta ='报废/停用'";
       let data1 = [];
       await curdPost("sql", sql)
         .then((res) => {
@@ -388,7 +490,7 @@ export default {
             data1 = [];
             data1.push(item.she_bei_ming_cheng_);
             data1.push(item.she_bei_shi_bie_h);
-            data1.push(item.gui_ge_xing_hao_);
+            // data1.push(item.gui_ge_xing_hao_);
             data1.push(item.she_bei_zhuang_ta);
             this_.config.data.push(data1);
           });
@@ -397,16 +499,15 @@ export default {
           console.log(err);
         });
     },
-    getAllMonyInt (monyArr){
+    getAllMonyInt(monyArr) {
       let mony = 0;
-      let filterMony
-      monyArr.forEach(item=>{
-        if(item.mony.includes("元")){
-           filterMony = item.mony.slice(0,item.mony.length-1)*1;
-           mony +=filterMony
+      let filterMony;
+      monyArr.forEach((item) => {
+        if (item.mony.includes("元")) {
+          filterMony = item.mony.slice(0, item.mony.length - 1) * 1;
+          mony += filterMony;
         }
-
-      })
+      });
       // console.log(mony.toFixed(2))
       // return mony.toFixed(2);
       return mony;
@@ -433,43 +534,43 @@ export default {
   position: absolute;
   color: #fff;
   z-index: 999;
-    #dv-full-screen-container {
-      background-image: url("./img/bg.png");
-      background-size: 100% 100%;
-      box-shadow: 0 0 3px blue;
-      display: flex;
-      flex-direction: column;
-    }
-    .main-content {
-      flex: 1;
-      display: flex;
-      flex-direction: column;
-    }
+  #dv-full-screen-container {
+    background-image: url("./img/bg.png");
+    background-size: 100% 100%;
+    box-shadow: 0 0 3px blue;
+    display: flex;
+    flex-direction: column;
+  }
+  .main-content {
+    flex: 1;
+    display: flex;
+    flex-direction: column;
+  }
+
+  .block-left-right-content {
+    flex: 1;
+    display: flex;
+    margin-top: 0.8%;
+  }
+  .block-top-bottom-content {
+    flex: 1;
+    display: flex;
+    flex-direction: column;
+    box-sizing: border-box;
+    padding-left: 0.8%;
+  }
+  .block-top-content {
+    height: 55%;
+    display: flex;
+    flex-grow: 0;
+    box-sizing: border-box;
+    padding-bottom: 0.8%;
+  }
 
-    .block-left-right-content {
-      flex: 1;
-      display: flex;
-      margin-top: 0.8%;
-    }
-    .block-top-bottom-content {
-      flex: 1;
-      display: flex;
-      flex-direction: column;
-      box-sizing: border-box;
-      padding-left: 0.8%;
-    }
-    .block-top-content {
-      height: 55%;
-      display: flex;
-      flex-grow: 0;
-      box-sizing: border-box;
-      padding-bottom: 0.8%;
-    }
-  
   .header {
     position: relative;
     width: 100%;
-    height: 8%;
+    height: 10%;
     display: flex;
     justify-content: space-between;
     flex-shrink: 0;
@@ -514,75 +615,80 @@ export default {
     .back {
       left: 75%;
     }
-  }  
-  .topCard{
+  }
+  .topCard {
     width: 100%;
     height: 20%;
     box-sizing: border-box;
     overflow: hidden;
   }
- .bottomCard{
-  height: 36%;
-  overflow: hidden;
-  box-sizing: border-box;
+  .bottomCard {
+    height: 36%;
+    overflow: hidden;
+    box-sizing: border-box;
   }
-  .middleCard{
-    height:38%;
+  .middleCard {
+    height: 38%;
     overflow: hidden;
     box-sizing: border-box;
   }
-  .middleCard,.bottomCard{
-    width: 100%;
+  .middleCard,
+  .bottomCard {
+    width: 96%;
     margin-left: 30px;
     // margin-top: 30px;
-    div{
-      display: inline-block;                                                        
+    div {
+      display: inline-block;
     }
-    .middleCardLeft{
-      width: 25%;
+    .middleCardLeft {
+      width: 26%;
       height: 100%;
       box-sizing: border-box;
       overflow: hidden;
     }
-    .middleCardCenter{
-      width: 25%;
+    // .middleCardCenter{
+    //   width: 25%;
+    //   height: 100%;
+    //   box-sizing: border-box;
+    //   overflow: hidden;
+    // }
+    .middleCardRight {
+      width: 26%;
       height: 100%;
       box-sizing: border-box;
       overflow: hidden;
     }
-    .middleCardRight{
-      width: 43%;
+    .middleCardRight1 {
+      width: 44%;
       height: 100%;
       box-sizing: border-box;
       overflow: hidden;
     }
-    // .middleCardRight1{
-    //   width: 45%;
-    // }
     padding: 2px;
   }
-  .bottomCard{
+  .bottomCard {
     display: flex;
-    div{
+    div {
       display: inline-block;
     }
-    .bottomCardLeft0,.bottomCardLeft,.bottomCardright{
+    .bottomCardLeft0,
+    .bottomCardLeft {
       height: 100%;
       overflow: hidden;
       box-sizing: border-box;
       width: 100%;
     }
-    .bottomCardLeft,.bottomCardright{
+    .bottomCardLeft {
       height: 100%;
       overflow: hidden;
       box-sizing: border-box;
       width: 100%;
     }
-    .bottomCardright{
+    .bottomCardright {
       height: 100%;
       overflow: hidden;
       box-sizing: border-box;
-      width: 63%;
+      width: 100%;
     }
   }
 }