heyang 11 mesiacov pred
rodič
commit
dd3f15db2b

+ 57 - 0
src/api/chemicalManage/index.js

@@ -1,5 +1,62 @@
 import request from '@/utils/request'
 
+//首页-化学品柜统计数据
+export function chemicalIndexTypeGroup(query) {
+  return request({
+    url: '/chemical/index/typeGroup',
+    method: 'get',
+    params: query
+  })
+}
+//首页-类别占比
+export function chemicalIndexChemicalGroup(query) {
+  return request({
+    url: '/chemical/index/chemicalGroup',
+    method: 'get',
+    params: query
+  })
+}
+//首页-使用统计
+export function chemicalIndexUseCount(query) {
+  return request({
+    url: '/chemical/index/useCount',
+    method: 'get',
+    params: query
+  })
+}
+//首页-库存统计
+export function chemicalIndexStockCount(query) {
+  return request({
+    url: '/chemical/index/stockCount',
+    method: 'get',
+    params: query
+  })
+}
+//首页-使用量top6
+export function chemicalIndexUseTotalCount(query) {
+  return request({
+    url: '/chemical/index/useTotalCount ',
+    method: 'get',
+    params: query
+  })
+}
+//首页-报警统计
+export function chemicalIndexWarnCount(query) {
+  return request({
+    url: '/chemical/index/warnCount',
+    method: 'get',
+    params: query
+  })
+}
+//首页-管控级别
+export function chemicalIndexManageLevel(query) {
+  return request({
+    url: '/chemical/index/manageLevel ',
+    method: 'get',
+    params: query
+  })
+}
+
 //msds-列表
 export function chemicalMsdsList(data) {
   return request({

+ 15 - 3
src/views/chemicalManage/chemicalsStatistics/alarmStatistics.vue

@@ -17,20 +17,32 @@
   </div>
 </template>
 <script>
+import { chemicalIndexChemicalGroup, chemicalIndexWarnCount } from '@/api/chemicalManage'
+
   export default {
     name: 'alarmStatistics',
     data () {
       return {
         dataType:false,
+        dataX:[],
+        dataY:[],
       }
     },
     created(){
-
+      this.chemicalIndexWarnCount();
     },
     mounted(){
       this.getInfo();
     },
     methods:{
+      chemicalIndexWarnCount(){
+        let self=this;
+        chemicalIndexWarnCount().then(response => {
+           this.$set(this, 'dataX',response.data.dictName)
+           this.$set(this, 'dataY',response.data.dictValue)
+          this.getInfo();
+        });
+      },
       //获取数据
       getInfo(){
         this.$set(this,'dataType',true);
@@ -39,8 +51,8 @@
       //eCharts绘制
       eChartsDraw(){
         let myChart = this.$echarts.init(document.getElementById('eCharts-alarm'));
-        let dataValue = [20, 30, 60, 40];
-        let dataName = ['即将过期', '已过期', '超时未归还', '违规带离'];
+        let dataValue = this.dataY;
+        let dataName = this.dataX;
         let option = {
           grid: {
             left: '8%',

+ 65 - 49
src/views/chemicalManage/chemicalsStatistics/categoryStatistics.vue

@@ -13,7 +13,7 @@
     <img class="null-data-img" v-show="!dataType" src="@/assets/ZDimages/basicsModules/null-data-1.png">
     <div id="eCharts-category" v-show="dataType"></div>
     <div class="position-max-box" v-show="dataType">
-      <div class="position-for-box" v-for="(item,index) in data1" :key="index">
+      <div class="position-for-box" v-for="(item,index) in newData" :key="index">
         <p :style="'background:'+eChartsListColor[index]+';'"></p>
         <p>{{item.classifyAttribute}}</p>
         <p>{{item.chemicalMix}}</p>
@@ -22,64 +22,68 @@
   </div>
 </template>
 <script>
+import { chemicalIndexChemicalGroup, chemicalIndexTypeGroup } from '@/api/chemicalManage'
+
   export default {
     name: 'categoryStatistics',
     data () {
       return {
         dataType:false,
         eChartsListColor : ["#009DFF","#0045AF","#FFA200", "#FF2A00", "#A069FF", "#63FFE5", "#C4C4C4"],
-        maxNum:234,
-        data1:[
-          {
-            name:"易燃气体",
-            value:"4",
-            classifyAttribute: "易燃气体",
-            chemicalMix: "4%"
-          },
-          {
-            name:"易燃液体",
-            value:"4",
-            classifyAttribute: "易燃液体",
-            chemicalMix: "4%"
-          },
-          {
-            name:"爆炸品",
-            value:"32",
-            classifyAttribute: "爆炸品",
-            chemicalMix: "32%"
-          },
-          {
-            name:"有毒品",
-            value:"21",
-            classifyAttribute: "有毒品",
-            chemicalMix: "21%"
-          },
-          {
-            name:"压缩气体或液化气体",
-            value:"15",
-            classifyAttribute: "压缩气体或液化气体",
-            chemicalMix: "15%"
-          },
-          {
-            name:"易挥发",
-            value:"14",
-            classifyAttribute: "易挥发",
-            chemicalMix: "14%"
-          },
-          {
-            name:"其他",
-            value:"10",
-            classifyAttribute: "其他",
-            chemicalMix: "10%"
-          }
-        ],
+        maxNum:0,
+        // data1:[
+        //   {
+        //     name:"易燃气体",
+        //     value:"4",
+        //     classifyAttribute: "易燃气体",
+        //     chemicalMix: "4%"
+        //   },
+        //   {
+        //     name:"易燃液体",
+        //     value:"4",
+        //     classifyAttribute: "易燃液体",
+        //     chemicalMix: "4%"
+        //   },
+        //   {
+        //     name:"爆炸品",
+        //     value:"32",
+        //     classifyAttribute: "爆炸品",
+        //     chemicalMix: "32%"
+        //   },
+        //   {
+        //     name:"有毒品",
+        //     value:"21",
+        //     classifyAttribute: "有毒品",
+        //     chemicalMix: "21%"
+        //   },
+        //   {
+        //     name:"压缩气体或液化气体",
+        //     value:"15",
+        //     classifyAttribute: "压缩气体或液化气体",
+        //     chemicalMix: "15%"
+        //   },
+        //   {
+        //     name:"易挥发",
+        //     value:"14",
+        //     classifyAttribute: "易挥发",
+        //     chemicalMix: "14%"
+        //   },
+        //   {
+        //     name:"其他",
+        //     value:"10",
+        //     classifyAttribute: "其他",
+        //     chemicalMix: "10%"
+        //   }
+        // ],
+        newData:[],
       }
     },
     created(){
-
+      this.chemicalIndexChemicalGroup();
     },
     mounted(){
-      this.getInfo();
+
+
     },
     methods:{
       //获取数据
@@ -87,12 +91,24 @@
         this.$set(this,'dataType',true);
         this.eChartsDraw();
       },
+      chemicalIndexChemicalGroup(){
+        let self=this;
+        let list=[];
+        chemicalIndexChemicalGroup().then(response => {
+          self.maxNum=response.data.count;
+          response.data.list.forEach(function(item,index) {
+            list.push({name:item.name,value:item.number,classifyAttribute:item.name,chemicalMix:item.ratio})
+          })
+          this.$set(this, 'newData',list)
+          this.getInfo();
+        });
+      },
       //eCharts绘制
       eChartsDraw(){
         let myChart = this.$echarts.init(document.getElementById('eCharts-category'));
         let bgColor = "#fff";
         let title = "化学品总数";
-        let echartData = this.data1;
+        let echartData = this.newData;
         let formatNumber = function (num) {
           let reg = /(?=(\B)(\d{3})+$)/g;
           return num.toString().replace(reg, ",");

+ 18 - 12
src/views/chemicalManage/chemicalsStatistics/controlStatistics.vue

@@ -4,7 +4,7 @@
     <div class="title-box-max-box">
       <div class="title-left-box">
         <p></p>
-        <p>类别占比</p>
+        <p>管控级别</p>
       </div>
       <div class="title-right-box">
 
@@ -17,21 +17,34 @@
   </div>
 </template>
 <script>
+import { chemicalIndexChemicalGroup, chemicalIndexManageLevel } from '@/api/chemicalManage'
+
   export default {
     name: 'controlStatistics',
     data () {
       return {
         dataType:false,
+        newData:[],
       }
     },
     created(){
-
+      this.chemicalIndexManageLevel();
     },
     mounted(){
-      this.getInfo();
     },
     methods:{
-
+      chemicalIndexManageLevel(){
+        let self=this;
+        let list=[];
+        chemicalIndexManageLevel().then(response => {
+          self.maxNum=response.data.count;
+          response.data.forEach(function(item,index) {
+            list.push({name:item.name,value:item.number})
+          })
+          this.$set(this, 'newData',list)
+          this.getInfo();
+        });
+      },
       //获取数据
       getInfo(){
         this.$set(this,'dataType',true);
@@ -40,14 +53,7 @@
       //eCharts绘制
       eChartsDraw(){
         let myChart = this.$echarts.init(document.getElementById('eCharts-control'));
-        var data = [{
-          value: 60,
-          name: '管控',
-        }, {
-          value: 25,
-          name: '非管控',
-        }
-        ];
+        var data =this.newData;
         let myColor = ["#FFA200", "#0084FF"];
         let option = {
           title: {

+ 13 - 5
src/views/chemicalManage/chemicalsStatistics/dosageStatistics.vue

@@ -13,14 +13,16 @@
     <div id="eCharts-dosage">
       <div class="for-dosage-box" v-for="(item,index) in dataList" :key="index">
         <p>{{index+1}}</p>
-        <p>{{item.data1}}</p>
-        <p :class="item.data2 == 1?'borderColorA':'borderColorB'">{{item.data2 == 1?'非管控':'管控'}}</p>
-        <p>{{item.data3}}</p>
+        <p>{{item.name}}-{{item.describe}}</p>
+        <p :class="item.control == 2?'borderColorA':'borderColorB'">{{item.control == 2?'非管控':'管控'}}</p>
+        <p>{{item.category}}</p>
       </div>
     </div>
   </div>
 </template>
 <script>
+import { chemicalIndexChemicalGroup, chemicalIndexUseTotalCount } from '@/api/chemicalManage'
+
   export default {
     name: 'dosageStatistics',
     data () {
@@ -36,13 +38,19 @@
       }
     },
     created(){
-
+        this.chemicalIndexUseTotalCount();
     },
     mounted(){
 
     },
     methods:{
-
+      chemicalIndexUseTotalCount(){
+        let self=this;
+        let list=[];
+        chemicalIndexUseTotalCount().then(response => {
+           this.$set(this, 'dataList',response.data)
+        });
+      },
     },
   }
 </script>

+ 12 - 8
src/views/chemicalManage/chemicalsStatistics/index.vue

@@ -6,7 +6,7 @@
         <img src="@/assets/ZDimages/chemicalManage/icon_sy_hxpg.png">
         <div>
           <p>化学品柜</p>
-          <p class="colorA">{{inventoryData.data1}}</p>
+          <p class="colorA">{{inventoryData.cabinetNum}}</p>
         </div>
       </div>
       <p class="null-p"></p>
@@ -14,7 +14,7 @@
         <img src="@/assets/ZDimages/chemicalManage/icon_sy_hxpkysl.png">
         <div>
           <p>待入库</p>
-          <p class="colorB">{{inventoryData.data2}}</p>
+          <p class="colorB">{{inventoryData.stockWaitNum}}</p>
         </div>
       </div>
       <p class="null-p"></p>
@@ -22,7 +22,7 @@
         <img src="@/assets/ZDimages/chemicalManage/icon_sy_hxpyjsl.png">
         <div>
           <p>待归还</p>
-          <p class="colorC">{{inventoryData.data3}}</p>
+          <p class="colorC">{{inventoryData.giveBackNum}}</p>
         </div>
       </div>
     </div>
@@ -47,6 +47,8 @@
   import dosageStatistics from "./dosageStatistics.vue"
   import alarmStatistics from "./alarmStatistics.vue"
   import controlStatistics from "./controlStatistics.vue"
+  import { chemicalIndexTypeGroup } from '@/api/chemicalManage'
+  import { getDicts } from '@/api/commonality/noPermission'
   export default {
     name: 'chemicalsStatistics',
     components: {
@@ -60,9 +62,7 @@
     data () {
       return {
         inventoryData:{
-          data1:10,
-          data2:30,
-          data3:30,
+
         },
       }
     },
@@ -70,10 +70,14 @@
 
     },
     mounted(){
-
+      this.chemicalIndexTypeGroup();
     },
     methods:{
-
+      chemicalIndexTypeGroup(){
+        chemicalIndexTypeGroup().then(response => {
+          this.$set(this,'inventoryData',response.data);
+        });
+      },
     },
   }
 </script>

+ 16 - 10
src/views/chemicalManage/chemicalsStatistics/inventoryStatistics.vue

@@ -17,21 +17,34 @@
   </div>
 </template>
 <script>
+import { chemicalIndexChemicalGroup, chemicalIndexStockCount } from '@/api/chemicalManage'
+
   export default {
     name: 'inventoryStatistics',
     data () {
       return {
         dataType:false,
+        newData:[],
       }
     },
     created(){
-
+      this.chemicalIndexStockCount();
     },
     mounted(){
       this.getInfo();
     },
     methods:{
-
+      chemicalIndexStockCount(){
+        let self=this;
+        let list=[];
+        chemicalIndexStockCount().then(response => {
+          response.data.forEach(function(item,index) {
+            list.push({name:item.name,value:item.number})
+          })
+          this.$set(this, 'newData',list)
+          this.getInfo();
+        });
+      },
       //获取数据
       getInfo(){
         this.$set(this,'dataType',true);
@@ -40,14 +53,7 @@
       //eCharts绘制
       eChartsDraw(){
         let myChart = this.$echarts.init(document.getElementById('eCharts-inventory'));
-        var data = [{
-          value: 60,
-          name: '液体(ml)',
-        }, {
-          value: 25,
-          name: '固体(g)',
-        }
-        ];
+        var data = this.newData;
         let myColor = ["#FFA200", "#0084FF"];
         let option = {
           title: {

+ 26 - 8
src/views/chemicalManage/chemicalsStatistics/useStatistics.vue

@@ -7,9 +7,9 @@
         <p>使用统计</p>
       </div>
       <div class="title-right-box">
-        <p :class="checkType == 1?'leftCheck':''" @click="checkButton(1)">全部</p>
-        <p :class="checkType == 2?'centerCheck':''" @click="checkButton(2)">今日</p>
-        <p :class="checkType == 3?'rightCheck':''" @click="checkButton(3)">近一个月</p>
+        <p :class="checkType == -1?'leftCheck':''" @click="checkButton(-1)">全部</p>
+        <p :class="checkType == 0?'centerCheck':''" @click="checkButton(0)">今日</p>
+        <p :class="checkType == 1?'rightCheck':''" @click="checkButton(1)">近一个月</p>
       </div>
     </div>
     <img class="null-data-img" v-show="!dataType" src="@/assets/ZDimages/basicsModules/null-data-1.png">
@@ -19,25 +19,43 @@
   </div>
 </template>
 <script>
+import { chemicalIndexUseCount } from '@/api/chemicalManage'
+
   export default {
     name: 'useStatistics',
     data () {
       return {
         dataType:false,
-        checkType:1,
+        checkType:-1,
+        dataX:[],
+        dataY:[],
       }
     },
     created(){
-
+        this.chemicalIndexUseCount();
     },
     mounted(){
-      this.getInfo();
     },
     methods:{
+      chemicalIndexUseCount(){
+        let self=this;
+        let list1=[];
+        let list2=[];
+        chemicalIndexUseCount({months:this.checkType}).then(response => {
+          response.data.forEach(function(item,index) {
+            list1.push(item.name)
+            list2.push(item.number)
+          })
+          this.$set(this,'dataX',list1)
+          this.$set(this,'dataY',list2)
+          this.getInfo();
+        });
+      },
       checkButton(type){
         if(this.checkType != type){
           this.$set(this,'checkType',type);
         }
+        this.chemicalIndexUseCount();
       },
       //获取数据
       getInfo(){
@@ -47,8 +65,8 @@
       //eCharts绘制
       eChartsDraw(){
         let myChart = this.$echarts.init(document.getElementById('eCharts-use'));
-        let dataName = ["入库", "领用", "归还", "空瓶", "废弃"];
-        let dataValue = [41, 32, 28, 29, 33];
+        let dataName = this.dataX;
+        let dataValue = this.dataY;
         let myColor = [
           "#0072DD",
           "#8EACFF",