浏览代码

生物安防

xsh 3 年之前
父节点
当前提交
944fdd7bde

+ 18 - 9
src/utils/api.js

@@ -109,7 +109,7 @@ export function getVideo(data) {
 /** 车辆通行图标**/
 export function getCar(data) {
   return axios({
-    url: 'http://192.168.1.171:10253/produce/screen/car/count_car_record',
+    url: '/produce/screen/car/count_car_record',
     method: 'get',
     params: data
   })
@@ -118,7 +118,7 @@ export function getCar(data) {
 /** 门禁管理图表 **/
 export function getRecord(data) {
   return axios({
-    url: 'http://192.168.1.171:10253/produce/screen/person/count_person_record',
+    url: '/produce/screen/person/count_person_record',
     method: 'get',
     params: data
   })
@@ -154,7 +154,7 @@ export function romVideo(data) {
 /** 死猪 **/
 export function getSizhu(data) {
   return axios({
-    url: 'http://192.168.1.171:10253/produce/screen/sizhu/count_sizhu_record',
+    url: '/produce/screen/sizhu/count_sizhu_record',
     method: 'get',
     params: data
   })
@@ -163,7 +163,7 @@ export function getSizhu(data) {
 /** 车辆通行列表 **/
 export function getCarList(data) {
   return axios({
-    url: 'http://192.168.1.171:10253/produce/car/get_car_record',
+    url: '/produce/car/get_car_record',
     method: 'get',
     params: data
   })
@@ -172,7 +172,7 @@ export function getCarList(data) {
 /** 人脸闸机 **/
 export function getPersonList(data) {
   return axios({
-    url: 'http://192.168.1.171:10253/produce/person/get_person_record',
+    url: '/produce/person/get_person_record',
     method: 'post',
     data: data
   })
@@ -181,7 +181,7 @@ export function getPersonList(data) {
 /** 人员管理 - 人脸门禁 - Token */
 export function getFaceToken(data) {
   return axios({
-    url: 'http://192.168.1.171:10253/produce/token/getToken',
+    url: '/produce/token/getToken',
     method: 'get',
     params: data
   })
@@ -190,7 +190,7 @@ export function getFaceToken(data) {
 /** 死猪 **/
 export function getSizhuList(data) {
   return axios({
-    url: 'http://192.168.1.171:10253/produce/accident/accident_record_xixiao',
+    url: '/produce/accident/accident_record_xixiao',
     method: 'post',
     data: data
   })
@@ -217,7 +217,7 @@ export function getAlarmList(data) {
 /** 车辆烘干  **/
 export function getHoure(data) {
   return axios({
-    url: 'http://192.168.1.171:8089/telecom/listeventByHoure',
+    url: '/produce/telecom/listeventByHoure',
     method: 'get',
     params: data
   })
@@ -244,7 +244,16 @@ export function getAlarmRate(data) {
 /**  事件分布 **/
 export function getCountByDay(data) {
   return axios({
-    url: 'http://192.168.1.171:10253/produce/screen/alarmCount/CountByDay',
+    url: '/produce/screen/alarmCount/CountByDay',
+    method: 'get',
+    params: data
+  })
+}
+
+/** 门禁管理违规 **/
+export function getDoor(data) {
+  return axios({
+    url: '/produce/screen/person/count_person_record_fail_success',
     method: 'get',
     params: data
   })

+ 4 - 4
src/views/Alarm/Alarm.vue

@@ -85,7 +85,7 @@
             <div class="alarm-title-right"></div>
           </div>
           <div class="alarm-content">
-            <cost-pie :data="pieData"></cost-pie>
+            <chart-pie :id="'1'" :data="pieData"></chart-pie>
           </div>
         </div>
         <div class="alarm-divide" v-loading="pieLoading"
@@ -193,7 +193,7 @@
 <script>
 import ChartPie from "@/views/Alarm/chart/ChartPie";
 import AlarmBar from "@/views/Alarm/chart/AlarmBar";
-import CostPie from "@/views/Alarm/chart/CostPie";
+// import CostPie from "@/views/Alarm/chart/CostPie";
 import ChartBar from "@/views/BioSafety/chart/ChartBar";
 import { swiper, swiperSlide } from 'vue-awesome-swiper'
 import 'swiper/css/swiper.css'
@@ -206,7 +206,7 @@ export default {
   components: {
     ChartPie,
     AlarmBar,
-    CostPie,
+    // CostPie,
     ChartBar,
     swiper,
     swiperSlide
@@ -429,7 +429,7 @@ export default {
         }
       })
       getCountByDay({}).then(res => {
-        if(res.code === 10000) {
+        if(res.code === 0) {
           this.barData.salvProName = [];
           this.barData.salvProValue = [];
           res.data.forEach(item => {

+ 11 - 6
src/views/Alarm/chart/ChartPie.vue

@@ -1,5 +1,5 @@
 <template>
-  <div id="chartPie" style="width: 100%; height: 100%;"></div>
+  <div :id="'chartPie' + id" style="width: 100%; height: 100%;"></div>
 </template>
 
 <script>
@@ -11,6 +11,10 @@ export default {
     }
   },
   props: {
+    id: {
+      type: String,
+      default: () => '0'
+    },
     data: {
       type: Array,
       default: () => []
@@ -32,7 +36,7 @@ export default {
       let arr = [];
       let num = 0;
       this.data.forEach(item => {
-        num+=item.value
+        num+= Number(item.value)
       })
       this.data.forEach(item => {
         arr.push({ name: item.name, percent: (parseFloat(item.value) / num * 100).toFixed(2) + '%', number: item.value})
@@ -41,6 +45,7 @@ export default {
         grid: {
           x: 100
         },
+        color: ['#3AA0FF', '#4DCB73', '#5470C6', '#9A60B4'],
         tooltip: {
           trigger: 'item',
           formatter: function ({name, value, percent}) {
@@ -53,7 +58,7 @@ export default {
           orient: 'vertical',
           icon: "circle",
           selectedMode: false, // 取消右侧项选中
-          itemGap: 30, // 各项间隔
+          itemGap: 20, // 各项间隔
           textStyle: {
             fontSize: 13,
             color: '#666'
@@ -124,10 +129,10 @@ export default {
             itemStyle: {
               normal: {
                 color: function (colors) { // 颜色设置
-                  var colorList = ['#3aa0ff', '#4dcb73', '#fad337', '#f2637b', '#975fe4']
+                  var colorList = ['#3AA0FF', '#4DCB73', '#5470C6', '#9A60B4']
                   return colorList[colors.dataIndex]
                 },
-                borderWidth: 5, // 设置各项空隙
+                borderWidth: 2, // 设置各项空隙
                 borderColor: '#fff'
               }
             },
@@ -140,7 +145,7 @@ export default {
     }
   },
   mounted() {
-    this.myChart = this.$echarts.init(document.getElementById('chartPie'));
+    this.myChart = this.$echarts.init(document.getElementById('chartPie' + this.id));
     this.init()
     let that = this;
     window.addEventListener("resize", function () {

+ 16 - 17
src/views/BioSafety/BioSafety.vue

@@ -108,7 +108,7 @@
             <div class="box">
               <div class="circle"></div>
               <div class="price">
-                <strong class="price-size">15.2</strong>
+                <strong class="price-size">{{enterPerson}}</strong>
                 <span>人次</span>
               </div>
               <div class="text">今日进入人数</div>
@@ -116,7 +116,7 @@
             <div class="box">
               <div class="circle"></div>
               <div class="price">
-                <strong class="price-size">15.2</strong>
+                <strong class="price-size">{{outPerson}}</strong>
                 <span>次</span>
               </div>
               <div class="text">今日违规次数</div>
@@ -144,16 +144,6 @@
                         <span style="padding-left: 10px">{{item.deviceName}}</span>
                       </div>
                     </div>
-<!--                    <div class="case-content">-->
-<!--                      <div class="content-grid">-->
-<!--                        <span>姓名:</span>-->
-<!--                        <span>{{item.personName}}</span>-->
-<!--                      </div>-->
-<!--                      <div class="content-grid">-->
-<!--                        <span>进入区域:</span>-->
-<!--                        <span>{{item.channelName}}</span>-->
-<!--                      </div>-->
-<!--                    </div>-->
                   </div>
                 </div>
               </swiper-slide>
@@ -288,7 +278,7 @@
 import { swiper, swiperSlide } from 'vue-awesome-swiper'
 import 'swiper/css/swiper.css'
 import ChartBar from "@/views/BioSafety/chart/ChartBar";
-import {getCar, getRecord, getSizhu, getCarList, getPersonList, getFaceToken, getSizhuList, getHoure} from "@/utils/api";
+import {getCar, getRecord, getSizhu, getCarList, getPersonList, getFaceToken, getSizhuList, getHoure, getDoor} from "@/utils/api";
 import axios from "axios";
 import {timeDate} from "@/utils";
 
@@ -360,6 +350,8 @@ export default {
       personChartLoading: true,
       sizhuLoading: true,
       hgLoading: true,
+      enterPerson: '',
+      outPerson: ''
     }
   },
   methods: {
@@ -369,7 +361,7 @@ export default {
         getCar({}),
           getRecord({})
       ]).then(axios.spread(function (res1, res2){
-        if(res1.code === 10000) {
+        if(res1.code === 0) {
 
           that.carList.time = [];
           that.carList.data = [];
@@ -379,7 +371,7 @@ export default {
           })
           that.carsLoading = false
         }
-        if(res2.code === 10000) {
+        if(res2.code === 0) {
           that.data1.time = [];
           that.data1.data = [];
           res2.data.forEach(item => {
@@ -390,7 +382,7 @@ export default {
         }
       }))
       getSizhu({}).then(res => {
-        if(res.code=== 10000) {
+        if(res.code=== 0) {
           this.value1 = res.data.value2;
           this.value2 = res.data.value1;
           this.value3 = res.data.value3;
@@ -523,7 +515,14 @@ export default {
         })
 
       })
-      // 死猪列表
+      // 门禁违规
+      getDoor({}).then(res => {
+        if(res.code === 0) {
+          this.enterPerson = res.data.value1;
+          this.outPerson = res.data.value2;
+        }
+      })
+
     },
     // 打开img
     open(item, num) {

+ 1 - 1
src/views/BioSafety/chart/ChartBar.vue

@@ -38,7 +38,7 @@ export default {
   methods: {
     init() {
       let max = Math.max(...this.data.data);
-      let max1 = max + 30;
+      let max1 = max * 1.2;
       // 获取当前数组的数量并push 成新数组
       let data1 = new Array(this.data.data.length).fill(max1);
       let options = {

+ 1 - 0
src/views/Home/Home.vue

@@ -575,6 +575,7 @@ export default {
     left: -15px;
   }
   .parent {
+    margin-top: 100px;
     animation: flip-horizontal-bck 1.2s cubic-bezier(0.455, 0.030, 0.515, 0.955) both;
   }
   @keyframes flip-horizontal-bck {

+ 32 - 33
src/views/MainLayout.vue

@@ -30,34 +30,34 @@
     </div>
     <div class="main-right">
       <!-- 时间     -->
-      <div v-show="isHome" class="main-time">
-        <div v-if="Object.keys(weatherInfo).length !== 0">111</div>
-      </div>
-      <!--  天气    -->
-      <div v-show="!isHome" class="main-home" @click="showWeather = true">
-        <div class="weatherBox" v-if="Object.keys(weather).length !== 0">
-          <div class="box-left">
-            <i class="qing" v-if="weather.day_weather === '晴'"></i>
-            <i class="duoyun" v-else-if="weather.day_weather === '多云'"></i>
-            <i class="yin" v-else-if="weather.day_weather === '阴'"></i>
-            <i class="xiaoyu" v-else-if="weather.day_weather === '小雨'"></i>
-            <i class="zyu" v-else-if="weather.day_weather === '中雨'"></i>
-            <i class="dyu" v-else-if="weather.day_weather === '大雨'"></i>
-            <i class="byu" v-else-if="weather.day_weather === '暴雨'"></i>
-            <i class="xxue" v-else-if="weather.day_weather === '小雪'"></i>
-            <i class="zxue" v-else-if="weather.day_weather === '中雪'"></i>
-            <i class="dxue" v-else-if="weather.day_weather === '大雪'"></i>
-            <i class="bxue" v-else-if="weather.day_weather === '暴学'"></i>
-          </div>
-          <div class="box-right">
-            <p class="fontSize">{{weather.day_weather}}</p>
-            <p class="fontSize">{{weather.min_degree}}-{{weather.max_degree}}℃</p>
-          </div>
-        </div>
-        <div v-else @click="refresh">抓取天气数据失败,请重试</div>
-      </div>
+<!--      <div v-show="isHome" class="main-time">-->
+<!--        <div v-if="Object.keys(weatherInfo).length !== 0">111</div>-->
+<!--      </div>-->
+<!--      &lt;!&ndash;  天气    &ndash;&gt;-->
+<!--      <div v-show="!isHome" class="main-home" @click="showWeather = true">-->
+<!--        <div class="weatherBox" v-if="Object.keys(weather).length !== 0">-->
+<!--          <div class="box-left">-->
+<!--            <i class="qing" v-if="weather.day_weather === '晴'"></i>-->
+<!--            <i class="duoyun" v-else-if="weather.day_weather === '多云'"></i>-->
+<!--            <i class="yin" v-else-if="weather.day_weather === '阴'"></i>-->
+<!--            <i class="xiaoyu" v-else-if="weather.day_weather === '小雨'"></i>-->
+<!--            <i class="zyu" v-else-if="weather.day_weather === '中雨'"></i>-->
+<!--            <i class="dyu" v-else-if="weather.day_weather === '大雨'"></i>-->
+<!--            <i class="byu" v-else-if="weather.day_weather === '暴雨'"></i>-->
+<!--            <i class="xxue" v-else-if="weather.day_weather === '小雪'"></i>-->
+<!--            <i class="zxue" v-else-if="weather.day_weather === '中雪'"></i>-->
+<!--            <i class="dxue" v-else-if="weather.day_weather === '大雪'"></i>-->
+<!--            <i class="bxue" v-else-if="weather.day_weather === '暴学'"></i>-->
+<!--          </div>-->
+<!--          <div class="box-right">-->
+<!--            <p class="fontSize">{{weather.day_weather}}</p>-->
+<!--            <p class="fontSize">{{weather.min_degree}}-{{weather.max_degree}}℃</p>-->
+<!--          </div>-->
+<!--        </div>-->
+<!--        <div v-else @click="refresh">抓取天气数据失败,请重试</div>-->
+<!--      </div>-->
     </div>
-    <div class="time">{{currentTime}}</div>
+    <div class="time" v-show="isHome">{{currentTime}}</div>
     <div class="main-bottom">青莲食品</div>
     <div class="content">
       <router-view></router-view>
@@ -182,7 +182,6 @@ export default {
     background: url("../assets/u1.jpg") no-repeat;
     background-size: 100% 100%;
     box-sizing: border-box;
-    padding: 20px 20px;
     position: relative;
   }
   .content {
@@ -195,22 +194,22 @@ export default {
   }
   .main-title {
     width: 230px;
-    height: 52px;
-    line-height: 52px;
+    height: 25px;
+    line-height: 25px;
     position: absolute;
     top: 25px;
     left: 50.5%;
     text-align: center;
     transform: translate(-50%, 0);
     color: #66FFFF;
-    font-size: 18px;
+    font-size: 22px;
     font-weight: 600;
   }
   .main-left {
     width: 180px;
     height: 40px;
     position: absolute;
-    top: 15px;
+    top: 0;
     left: 150px;
   }
   .main-right {
@@ -242,7 +241,7 @@ export default {
     font-size: 24px;
     font-weight: 600;
     left: 51%;
-    bottom: 35px;
+    bottom: 20px;
     transform: translate(-50% , 0);
   }
   .main-back {

+ 3 - 48
src/views/Monit/Monit.vue

@@ -9,46 +9,9 @@
           @change="handleChange"
           :props="{value: 'id', label: 'cameraName', children: 'cameraList', expandTrigger: 'hover', disabled: 'runStatus'}"
           :show-all-levels="false"></el-cascader>
-<!--        <div>-->
-<!--          <span>配怀舍过道东&emsp;</span>-->
-<!--        </div>-->
-<!--        <div>-->
-<!--          <i class="icon"></i>-->
-<!--        </div>-->
       </div>
+
       <iframe v-if="isVideo" :src="'static/jinm/index.html?'+'1'+','+ cameraOne +','+ cameraTwo + ',' +'100%' + ',' + '0'" style="width: 100%; height: 100%;" frameborder="0"  allowfullscreen="true"></iframe>
-<!--      <div v-show="isShow" class="monit-content">-->
-<!--        <div class="content-flex">-->
-<!--          <select-block :title="'一栋'">-->
-<!--            <template v-slot:left>-->
-<!--              <select-column :list="simulatedData"></select-column>-->
-<!--            </template>-->
-<!--            <template v-slot:right>-->
-<!--              <select-column :list="simulatedData" :floor="false" :type="1"></select-column>-->
-<!--            </template>-->
-<!--          </select-block>-->
-<!--        </div>-->
-<!--        <div class="content-flex">-->
-<!--          <select-block :title="'一栋'">-->
-<!--            <template v-slot:left>-->
-<!--              <select-column :list="simulatedData"></select-column>-->
-<!--            </template>-->
-<!--            <template v-slot:right>-->
-<!--              <select-column :list="simulatedData" :type="1"></select-column>-->
-<!--            </template>-->
-<!--          </select-block>-->
-<!--        </div>-->
-<!--        <div class="content-flex">-->
-<!--          <select-block :title="'一栋'">-->
-<!--            <template v-slot:left>-->
-<!--              <select-column :list="simulatedData"></select-column>-->
-<!--            </template>-->
-<!--            <template v-slot:right>-->
-<!--              <select-column :list="simulatedData" :type="1"></select-column>-->
-<!--            </template>-->
-<!--          </select-block>-->
-<!--        </div>-->
-<!--      </div>-->
     </div>
     <div class="monit-right">
       <swiper style="height: 100%;  margin-top: auto; margin-bottom: auto;" class="swiper" :options="swiperOption">
@@ -118,16 +81,6 @@ export default {
           that.cameraTwo = res2.data.rtspUrl;
         }
       }))
-      // getVideoAll({}).then(res => {
-      //   if(res.code === 10000) {
-      //     res.data.forEach(item => {
-      //       item.cameraList.forEach(items => {
-      //         items.runStatus = !items.runStatus
-      //       })
-      //     })
-      //     this.options = res.data;
-      //   }
-      // })
     },
     handleChange(value) {
       let val = value[value.length - 1];
@@ -183,6 +136,8 @@ export default {
     position: relative;
     box-sizing: border-box;
     padding: 40px 30px 30px 30px;
+    display: flex;
+    align-items: center;
   }
   .monit-right {
     width: 450px;