#
zjj
10 天以前 36909d121a6f1b4c3f4540b8c64c80e872d105ae
Monitor-APP/pages/home/home.vue
@@ -201,21 +201,21 @@
                           vertical 滑动方向是否为纵向 
                           display-multiple-items 同时显示的滑块数量 -->
                           <swiper class="swiper-body-main" vertical="true" 
                           display-multiple-items="1"
                           display-multiple-items="2"
                           circular="true" :autoplay="true" :interval="3000" :duration="2000">
                              <swiper-item class="swiper-item" v-for="(item,i) in swiperList" :key="i">
                                 <!-- <view style="width: 30%;">{{i+1}} / {{swiperList.length}}</view> -->
                                 <view style="width: 30%;">{{i+1}} / {{swiperList.length}}</view>
                                 <!-- <view style="width: 30%;">料号: {{item.matnr}}</view> -->
                                 <view style="width: 50%; font-size: 3vw;">物料编码: {{item.matnr}}</view>
                                 <view style="width: 50%; font-size: 3vw;">批号: {{item.batch}}</view>
                                 <view style="width: 33%; font-size: 3vw;">生产日期: {{item.manuDate}}</view>
                                 <view style="width: 50%; font-size: 3vw;">名称: {{item.maknx}}</view>
                                 <!-- <view style="width: 33%; font-size: 3vw;">生产日期: {{item.manuDate}}</view> -->
                                 
                                 <view style="width: 33%; font-size: 3vw;">型号: {{item.model}}</view>
                                 <view style="width: 33%; font-size: 3vw;">膜类型: {{item.specs}}</view>
                                 
                                 <view style="width: 33%; font-size: 3vw;">长度: {{item.length}}</view>
                                 <view style="width: 33%; font-size: 3vw;">宽度: {{item.weight}}</view>
                                 <view style="width: 33%; font-size: 3vw;">面积: {{item.volume}}</view>
                                 <view style="width: 50%; font-size: 3vw;">规格: {{item.specs}}</view>
                                 <view style="width: 50%; font-size: 3vw;">批次: {{item.batch}}</view>
                                 <view style="width: 50%; font-size: 3vw;">销售单号: {{item.orderNo}}</view>
                                 <view style="width: 50%; font-size: 3vw;">客户名称: {{item.customer}}</view>
                                 <view style="width: 33%; font-size: 3vw;">数量: {{item.count}}</view>
                                 
                                 
                              </swiper-item>
@@ -304,6 +304,7 @@
<script>
   import demodata from '@/mockdata/demodata.json';
   import ycqdata from '@/pages/index/data.json';
   import {WebSocketClient} from "@/static/js/WebSocketClient"
   let socket;
   export default {
      data() {
@@ -369,7 +370,10 @@
            timeOut: false,
            times: 0,
            currDate: '',
            locList:[]
            locList:[],
            oldHours:'',
            oldMin:''
            
         }
      },
@@ -417,59 +421,127 @@
            // this.getDate2()
            // this.getInfo()
            // this.getError()
            // // this.getInfo2()
            // // this.getError2()
            // this.getInfo2()
            // this.getError2()
            // this.getUrl()
            // this.controller()
            this.controller()
            // this.statisticalModel()
            // 测试用
            
         },1000)
         setInterval(()=> {
            setTimeout(()=>{
               plus.runtime.restart();
            },100)
         },1000*60*60*4)
         // setInterval(()=> {
         //    setTimeout(()=>{
         //       var time = new Date();
         //       var hh = time.getHours();
         //       var mm = time.getMinutes();
         //       if(hh > this.oldHours && mm >this.oldMin && this.oldMin - mm < 55){
         //          plus.runtime.restart();
         //       }
         //       if(mm >this.oldMin && mm - this.oldMin >2){
         //          plus.runtime.restart();
         //       }
         //    },100)
         // },1000*30)
      },
      methods: {
         webSockerInit(){
            let that = this;
            that.commonUrl = that.baseIP + ':' +that.basePort + "/" +that.baseUrl
            if(typeof(WebSocket) == "undefined"){
               console.log("不支持websocket")
            }else{
               let socketUrl = "ws://"+that.commonUrl+"/led/"+that.baseLedId
               console.log("ws://"+that.commonUrl+"/led/"+that.baseLedId)
               if (socket != null) {
                 socket.close();
                 socket = null;
               }
               // 开启一个websocket服务
               socket = new WebSocket(socketUrl);
               //打开事件
               socket.onopen = function () {
                 console.log("websocket已打开");
               };
               socket.onmessage = function(msg){
                  let data = JSON.parse(msg.data)
                  that.chartsData.Pie.series[0].data = data.pie
                  that.baseInfo.stockCount = data.stockCunt
                  that.baseInfo.emptyCount = data.emptyCount
                  that.baseInfo.noneCount =data.noneCount
                  that.baseInfo.used = data.used
                  that.baseInfo.usedPr = data.usedPr
                  that.chartsData.Line.categories = [
                     that.getDateFormat(-11),that.getDateFormat(-10),that.getDateFormat(-9),that.getDateFormat(-8),
                     that.getDateFormat(-7),that.getDateFormat(-6),that.getDateFormat(-5),that.getDateFormat(-4),
                     that.getDateFormat(-3),that.getDateFormat(-2),that.getDateFormat(-1),that.getDateFormat(0),]
                  that.chartsData.Line.series = data.rows
                  that.calendar = data.year + "年" + data.month + "月" + data.day + "日 " + data.hour + ":" + data.minute + ":" + data.second + " " + data.week
                  that.currDate = data.year + "/" + data.month + "/" + data.day
                  that.locList = data.inventoryData
               }
               socket.onclose = function(){
                  console.log("websocket已关闭");
               }
               socket.onerror = function(){
                  console.log("websocket错误");
               }
            }
            let socketUrl = "ws://"+that.commonUrl+"/led/"+that.baseLedId
                  // socketUrl = "ws://10.0.100.150:8080/gtctu/led/113"
            const ws = new WebSocketClient(socketUrl);
            ws.connect()
            ws.onmessage((msg)=>{
             let data = JSON.parse(msg.data)
             if(data.type === "default"){
                that.chartsData.Pie.series[0].data = data.pie
                that.baseInfo.stockCount = data.stockCunt
                that.baseInfo.emptyCount = data.emptyCount
                that.baseInfo.noneCount =data.noneCount
                that.baseInfo.used = data.used
                that.baseInfo.usedPr = data.usedPr
                that.chartsData.Line.categories = [
                   that.getDateFormat(-11),that.getDateFormat(-10),that.getDateFormat(-9),that.getDateFormat(-8),
                   that.getDateFormat(-7),that.getDateFormat(-6),that.getDateFormat(-5),that.getDateFormat(-4),
                   that.getDateFormat(-3),that.getDateFormat(-2),that.getDateFormat(-1),that.getDateFormat(0),]
                that.chartsData.Line.series = data.rows
                that.calendar = data.year + "年" + data.month + "月" + data.day + "日 " + data.hour + ":" + data.minute + ":" + data.second + " " + data.week
                that.currDate = data.year + "/" + data.month + "/" + data.day
                that.locList = data.inventoryData
               that.oldHours = data.hour
               that.oldMin = data.minute
             }else if(data.type === "error"){
                if (data.errMsg && data.errMsg !== "") {
                   var errorInfo = data.errMsg
                   if (that.infoType == 1) {
                      that.infoType = 3
                      that.infoText.title = "其他信息"
                      // that.infoText.title = "异常"
                      that.infoText.error = errorInfo
                      return
                   }
                   that.infoType = 2
                   that.infoText.title = "其他信息"
                   // that.infoText.title = "异常"
                   that.infoText.error = errorInfo
                } else {
                   if (that.infoType == 1) {
                      return
                   }
                   that.infoType = 0
                }
             }else if(data.type === "task"){
                if (data.taskList && data.taskList !== "" && data.taskList.length !=0) {
                   if (that.infoType == 2 || that.infoType == 3) {
                      return;
                   }
                   // infoType1:只有拣料等信息
                   that.infoType = 1
                   if (data.taskList[0].ioType === 101) {
                      that.infoText.title = '全板出库'
                   } else if(data.taskList[0].ioType === 103) {
                      that.infoText.title = '拣料出库'
                   } else if(data.taskList[0].ioType === 107) {
                      that.infoText.title = '盘点出库'
                   } else if(data.taskList[0].ioType === 1) {
                      that.infoText.title = '入库'
                   } else if(data.taskList[0].ioType === 10) {
                      that.infoText.title = '空托入库'
                   } else if(data.taskList[0].ioType === 110) {
                      that.infoText.title = '空托出库'
                   } else if(data.taskList[0].ioType === 104) {
                      that.infoText.title = '并板出库'
                   }else if(data.taskList[0].ioType === 54) {
                      that.infoText.title = '并板入库'
                   }
                   that.infoText.barcode = data.taskList[0].barcode
                   that.infoText.workNo = data.taskList[0].workNo
                   that.infoText.sourceLocNo = data.taskList[0].sourceLocNo
                   that.infoText.staNo = data.taskList[0].staNo
                   that.swiperList = data.taskList[0].matDtos
                   // that.infoText.matnr = res.data[0].matDtos[0].matnr
                   // that.infoText.specs = res.data[0].matDtos[0].specs
                   // that.infoText.maknx = res.data[0].matDtos[0].maknx
                   // that.infoText.count = res.data[0].matDtos[0].count
                } else {
                   if (that.infoType == 2 || that.infoType == 3) {
                      return;
                   }
                   that.infoType = 0
                }
             }
            })
         },
         statisticalModel() {
            let that = this