#
whycq
2024-02-07 d74e125a03426aebf9bc52b5a824f2cb09538db2
Monitor-APP/pages/index/index.vue
@@ -6,7 +6,7 @@
         <view class="head">
            <text @click="port()">自动仓库WCS监控平台</text>
            <view class="time-tools">{{year}}-{{month}}-{{day}}&nbsp{{hours}}:{{minutes}}:{{seconds}}&nbsp{{week}}</view>
            <view class="button-left" @click="url()"></view>
            <view class="button-left" @click="ejected()"></view>
            <view class="button-right" @click="ledId()"></view>
         </view>
         <view class="main">
@@ -25,9 +25,11 @@
                        <!-- 目标站 -->
                        <view class="box-items">{{staNo}}</view>
                        <!-- 商品编号 -->
                        <view class="box-items">{{matnr}}</view>
                        <!-- <view class="box-items">{{matnr}}</view> -->
                        <!-- 商品名称 -->
                        <view class="box-items">{{maknx}}</view>
                        <!-- 商品名称 -->
                        <view class="box-items">{{specs}}</view>
                        <!-- 出库数量 -->
                        <view class="box-items">{{count}}</view>
                     </view>
@@ -74,7 +76,7 @@
         <view class="head">
            <text @click="port()">自动仓库WCS监控平台</text>
            <view class="time-tools">{{year}}-{{month}}-{{day}}&nbsp{{hours}}:{{minutes}}:{{seconds}}&nbsp{{week}}</view>
            <view class="button-left" @click="url()"></view>
            <view class="button-left" @click="ejected()"></view>
            <view class="button-right" @click="ledId()"></view>
         </view>
         <view class="main">
@@ -187,7 +189,6 @@
                        <p class="english">Today</p>
                     </view>
                     <view class="sub-main">
                        <!-- 折线图 -->
                        <view class="charts-box ring">
                           <qiun-data-charts type="ring" :opts="{legend:{position:'bottom'}}" :eopts="ringOpts" :chartData="chartsDataPie2" :echartsH5="true" :echartsApp="true"/>
                        </view>
@@ -218,8 +219,8 @@
                  <view class="box-border box-border4"></view>
                  <!-- <text>浙江中扬立库技术有限公司</text>
                  <text>当前版本号</text> -->
                  <view @click="crn()">浙江中扬立库技术有限公司</view>
                  <image src="../../static/barcode.png" mode="aspectFit"></image>
                  <view @click="crn()">嘉善边锋机械股份有限公司</view>
                  <!-- <image src="../../static/barcode.png" mode="aspectFit"></image> -->
               </view>
            </view>
         </view>
@@ -251,6 +252,46 @@
            <uni-popup-dialog ref="inputClose" mode="input" title="配置堆垛机" :value="crnId"
               placeholder="示例:1" @confirm="crnConfirm"></uni-popup-dialog>
         </uni-popup>
      </view>
      <!-- 自定义弹出层 -->
      <view class="eject-mask" v-show="ejectShow">
         <view class="eject">
            <!-- 弹出title -->
            <view class="eject-title">修改 / 配置</view>
            <!-- input -->
            <view class="eject-input">
               <view class="item">
                  <view class="desc">ip:</view>
                  <view class="input">
                     <input type="text" v-model="baseIP">
                  </view>
               </view>
               <view class="item">
                  <view class="desc">port:</view>
                  <view class="input">
                     <input type="text" v-model="basePort">
                  </view>
               </view>
               <view class="item">
                  <view class="desc">ledId:</view>
                  <view class="input">
                     <input type="text" v-model="baseLedId">
                  </view>
               </view>
               <view class="item">
                  <view class="desc">CrnId:</view>
                  <view class="input">
                     <input type="text" v-model="baseCrnId">
                  </view>
               </view>
            </view>
            <!-- button -->
            <view class="eject-button">
               <view class="button-item" @click="ejectClose">取 消</view>
               <view class="button-item" @click="ejectConfirm">确 认</view>
            </view>
         </view>
      </view>
   </view>
</template>
@@ -302,7 +343,7 @@
            week:'星期四',
            ani:'',
            // move: 'upMove 1.5s 1;',
            move:true,
            move:false,
            topMove:'topUp',
            floorMove:'',
            version:'',
@@ -313,6 +354,7 @@
            staNo:'',
            matnr:'',
            maknx:'',
            specs:'',
            count:'',
            orderNo:null,
            doneOfTray:'',
@@ -330,6 +372,8 @@
            interval:1000, // 调用时长
            duration:8000, // 移动速度
            matList:[], // 订单列表
            ejectShow: false,
         }
      },
      mounted() {
@@ -338,38 +382,39 @@
         const BaseLedId = uni.getStorageSync('BaseLedId');
         const BasePort = uni.getStorageSync('BasePort');
         const BaseCrnId = uni.getStorageSync('BaseCrnId');
         if (BaseIP && BaseLedId) {
            that.baseIP = BaseIP
            that.baseLedId = BaseLedId
            that.basePort = BasePort
            that.baseCrnId = BaseCrnId
         } else {
            that.baseUrl = ''
            that.baseLedId = ''
         }
         this.commonUrl = this.baseHttp + this.baseIP + ':' +this.basePort + this.baseUrl
         this.getUrl()
      },
      onLoad() {
      },
      onReady() {
         // 获得初始数据
         setTimeout(() => {
         setInterval(() => {
            // 获得初始数据
            this.initlineChart();
            this.initPieChart();
         }, 0);
         setTimeout(() => {
            // 主页信息
            this.getServerData();
            this.getOther();
            this.getPakin();
         }, 1000);
         setInterval(() => {
            // 其他信息
            this.getDate();
            this.getPakin();
            this.getError();
            // this.getYYY();
            // this.getEEE();
            this.animation();
            this.animation()
            this.getUrl()
         },1000)
      },
      methods: {
         // 获取url
         getUrl() {
            this.commonUrl = this.baseHttp + this.baseIP + ':' +this.basePort + this.baseUrl
            this.chartsDataLine1 = JSON.parse(JSON.stringify(demodata.Line))
         },
         // 获取错误信息
         getYYY() {
            let that = this
@@ -379,6 +424,7 @@
            // 测试用 ↑
            // 返回结果有值 且值不等于空值 就是有错误信息需要展示
            if (res.data && res.data !== "") {
               that.errorMsg = res.data
               that.errorShow = true
               that.move = false // 显示
@@ -401,8 +447,6 @@
            let   res = result.data
                  // 测试用 ↑
               if(res.data && res.data !== null) {
                  // that.move = false
                  // title
                  if (res.data[0].ioType === 101) {
                     that.title = '全板出库'
                  } else if(res.data[0].ioType === 103) {
@@ -426,7 +470,6 @@
                  that.doneOfUnit = '已出箱数:' + res.data[0].doneOfUnit
                  that.totalOfUnit = '总箱数:' + res.data[0].totalOfUnit
                  if (that.errorShow) {
                           // that.pakinShow = false
                           return;
                        } else {
                           that.newspaper = newsData
@@ -437,42 +480,6 @@
               }
               
               
               // if(res.data && res.data !== null) {
               //    if (res.data[0].matDtos.length > 0) {
               //       that.pakinShow = true
               //       that.pakinGun = true
               //       if (res.data[0].ioType === 101) {
               //          that.title = '全板出库'
               //       } else if(res.data[0].ioType === 103) {
               //          that.title = '拣料出库'
               //       }
               //       if (res.data[0].orderNo) {
               //          that.orderNo = "订单号:" + res.data[0].orderNo
               //          that.swiper = 'swiper-here-oN'
               //          that.orderShow = true
               //       } else {
               //          that.orderNo = null;
               //          that.swiper = 'swiper-here'
               //          that.orderShow = false
               //       }
               //       that.staNo = '目标站' + res.data[0].staNo
               //       for (var i = 0; i < res.data[0].matDtos.length; i++) {
               //          var matnr = res.data[0].matDtos[i].matnr + ' - ' + res.data[0].matDtos[i].batch
               //          that.matList.push(matnr)
               //       }
               //
               //       if (res.data[0].matDtos.length <= 8) {
               //          that.errorShow = true
               //          that.pakinShow = true
               //          that.pakinGun  = false
               //       }
               //    } else {
               //       that.move = true
               //       }
               // } else {
               //    that.move = true
               // }
         },
         // 获取错误信息
         getError() {
@@ -485,7 +492,6 @@
               },
               method:'GET',
               success(result) {
                  // console.log(result);
                  res = result.data 
                  if (res.data && res.data !== "") {
                     that.errorMsg = res.data
@@ -493,11 +499,11 @@
                     that.move = false // 显示
                  } else {
                     that.errorShow = false
                     if (that.pakinShow) {
                        return;
                     } else {
                        that.move = true // 隐藏
                     }
                     // if (that.pakinShow) {
                     //    return;
                     // } else {
                     //    // that.move = true // 隐藏
                     // }
                  }
               }
            });
@@ -515,19 +521,21 @@
               },
               method:'GET',
               success(result) {
                  console.log(result);
                  res = result.data
                  if (that.errorShow) {
                     return;  // 有错误信息
                  }
                  if(res.data && res.data !== null) {
                     // that.move = false
                     // title
                     if (res.data[0].ioType === 101) {
                        that.title = '全板出库'
                     } else if(res.data[0].ioType === 103) {
                        that.title = '检料出库'
                     }
                     } else
                     that.title = res.data[0].title
                     that.staNo = '目标站:' + res.data[0].staNo
                     that.matnr = '商品编号:' + res.data[0].matDtos[0].matnr
                     that.maknx = '商品名称:' + res.data[0].matDtos[0].maknx
                     that.specs = '规格:' + res.data[0].matDtos[0].specs
                     that.count = '出库数量:' + res.data[0].matDtos[0].count
                     if (res.data[0].orderNo) {
                        that.orderNo = "订单号:" + res.data[0].orderNo
@@ -542,26 +550,19 @@
                     that.totalOfTray = '托盘总数量:' + res.data[0].totalOfTray
                     that.doneOfUnit = '已出箱数:' + res.data[0].doneOfUnit
                     that.totalOfUnit = '总箱数:' + res.data[0].totalOfUnit
                     if (that.errorShow) {
                        // that.pakinShow = false
                        return;
                     } else {
                        that.newspaper = newsData
                        that.move = false
                     }
                     that.newspaper = newsData
                     that.move = false
                  }else {
                        that.move = true
                     that.move = true
                  }
               }
            });
         },
         animation() {
            if (this.move) {
               // 上层向上 / 下层向上
            if (this.move) {
               this.topMove = 'topUp'
               this.floorMove = 'floorUp'
            } else {
               // 上层向下 / 下层向下
               this.topMove = 'topDown'
               this.floorMove = 'floorDown'
            }
@@ -581,8 +582,8 @@
               url: that.commonUrl + "/monitor/line/charts",
               method:'GET',
               success(result) {
                  // console.log(result)
                  var res = result.data
                  console.log(result);
                  if (res.code === 200) {
                     that.chartsData.Line.categories = [
                        that.getDateFormat(-11),that.getDateFormat(-10),that.getDateFormat(-9),that.getDateFormat(-8),
@@ -622,6 +623,7 @@
                  ledId: 1,
               },
               success(result) {
                  console.log(result);
                  var res = result.data
                  if (res.code === 200) {
                     that.xDistance = res.data.xDistance
@@ -636,33 +638,21 @@
               }
            })
         },
         port() {
            this.$refs.port.open()
         ejected () {
            this.ejectShow = true
         },
         url() {
            this.$refs.url.open()
         },
         ledId() {
            this.$refs.ledId.open()
         },
         crn() {
            this.$refs.crnId.open()
         },
         baseUrlConfirm(val) {
            this.baseIp = val
            uni.setStorageSync('BaseIp', this.baseIp);
         },
         ledIdConfirm(val) {
            this.baseLedId = val
         // 弹出层确认
         ejectConfirm() {
            uni.setStorageSync('BaseIp', this.baseIP);
            uni.setStorageSync('BaseLedId', this.baseLedId);
         },
         portConfirm(val) {
            this.basePort = val
            uni.setStorageSync('BasePort',this.basePort);
         },
         crnConfirm(val) {
            this.baseCrnId = val
            uni.setStorageSync('BaseCrnId',this.baseCrnId);
            this.getUrl()
            this.ejectShow = false
         },
         // 弹出层取消
         ejectClose() {
            this.ejectShow = false
         },
         getServerData() {
            this.chartsDataLine1=JSON.parse(JSON.stringify(this.chartsData.Line))
@@ -695,6 +685,88 @@
</script>
<style>
   /* 弹出:配置区域 */
   .eject-mask {
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.5);
      position: fixed;
      top: 0;
      left: 0;
      z-index: 999;
      display: flex;
      align-items: center;
      justify-content: center;
   }
   .eject{
      position: relative;
      width: 600px;
      height: 350px;
      background-color: #eaeaea;
      border-radius: 25rpx;
   }
   .eject-title {
      width: 100%;
      height: 100px;
      line-height: 100px;
      font-size: 20px;
      font-weight: 700;
      color:    #606266;
      text-align: center;
   }
   .eject-input {
   }
   .item {
      display: flex;
      align-items: center;
      margin: 10px 0 0 0;
   }
   .desc {
      display: inline-block;
      width: 40%;
      text-align: right;
      color: #606266;
      font-size: 18px;
   }
   .input {
      display: flex;
      align-items: center;
      padding-left: 5px;
      padding-right: 5px;
      width: 100%;
      height: 30px;
      border: 1px solid #C0C4CC;
      margin-right: 50px;
   }
   .eject-input input {
      width: 100%;
   }
   .eject-button {
      display: flex;
      align-items: center;
      position: absolute;
      bottom: 0;
      height: 60px;
      line-height: 60px;
      width: 100%;
      border-top: 1px solid #ccc;
   }
   .button-item {
      width: 50%;
      height: 100%;
      font-size: 20px;
      font-weight: bold;
      text-align: center;
      color: #909399;
   }
   .button-item:last-child {
      color: #67C23A;
      border-left: 1px solid #ccc;
   }
   .full-width {
      width: 100%;
      height: 100%;