|  |  | 
 |  |  | <template> | 
 |  |  |    <view class="container"> | 
 |  |  |       <view class="upper " :class="mmm" ></view> | 
 |  |  |       <view class="lower" :class="fff"> | 
 |  |  |       <!-- 跳动信息板 --> | 
 |  |  |       <view class="floor-screen" :class="floorMove" > | 
 |  |  |          <!-- 头部 --> | 
 |  |  |          <view class="head"> | 
 |  |  |             <text>自动仓库WCS监控平台</text> | 
 |  |  |             <text @click="port()">自动仓库WCS监控平台</text> | 
 |  |  |             <view class="time-tools">{{year}}-{{month}}-{{day}} {{hours}}:{{minutes}}:{{seconds}} {{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"> | 
 |  |  |             <view class="main-sides" style="width: 100%;"> | 
 |  |  |                <view class="box" style="height: 90%;"> | 
 |  |  |                   <view class="box-border box-border1"></view> | 
 |  |  |                   <view class="box-border box-border2"></view> | 
 |  |  |                   <view class="box-border box-border3"></view> | 
 |  |  |                   <view class="box-border box-border4"></view> | 
 |  |  |                   <view style="width: 100%;height: 100%;" v-show="!errorShow"> | 
 |  |  |                      <!-- 分有无订单划分两部分 --> | 
 |  |  |                      <!-- 左侧信息 --> | 
 |  |  |                      <view style="" :class="width"> | 
 |  |  |                         <!-- 全板出库 --> | 
 |  |  |                         <view class="box-items">{{title}}</view> | 
 |  |  |                         <!-- 目标站 --> | 
 |  |  |                         <view class="box-items">{{staNo}}</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> | 
 |  |  |                      <view style="width: 50%;height: 100%;display: inline-block;float: left;" v-show="orderShow"> | 
 |  |  |                         <!-- 订单号 --> | 
 |  |  |                         <view class="box-items">{{orderNo}}</view> | 
 |  |  |                         <!-- 已出托盘数 --> | 
 |  |  |                         <view class="box-items">{{doneOfTray}}</view> | 
 |  |  |                         <!-- 托盘总数量 --> | 
 |  |  |                         <view class="box-items">{{totalOfTray}}</view> | 
 |  |  |                         <!-- 已出箱数 --> | 
 |  |  |                         <view class="box-items">{{doneOfUnit}}</view> | 
 |  |  |                         <!-- 总箱数 --> | 
 |  |  |                         <view class="box-items">{{totalOfUnit}}</view> | 
 |  |  |                      </view> | 
 |  |  |                   </view> | 
 |  |  |                   <view style="width: 100%;height: 100%;" v-show="errorShow"> | 
 |  |  |                      <view style="line-height: 700px;font-size: 175rpx;">{{errorMsg}}</view> | 
 |  |  |                   </view> | 
 |  |  | 						 | 
 |  |  |                   <!-- 全板出库 --> | 
 |  |  |                   <!-- <view style="width: 10%;height: 100%;display:inline-block;float: left;text-align: center;padding-top: 180px;"> | 
 |  |  |                      <text>{{title}}</text> | 
 |  |  |                   </view> --> | 
 |  |  |                   <!-- 滚动区域 --> | 
 |  |  |                   <!-- <view style="width: 80%;height: 100%;display: inline-block;"> --> | 
 |  |  |                      <!--显示order订单编号 --> | 
 |  |  |                      <!-- <text v-show="orderShow" style="display: block;font-size: 140rpx;" >{{orderNo}}</text> | 
 |  |  |                      <swiper :class="swiper" circular="true" vertical="true" display-multiple-items="6" :autoplay="autoplay" :interval="interval" :duration="duration"> | 
 |  |  |                         <swiper-item v-for="(item,index) in matList" :key="index"> | 
 |  |  |                            <view style="font-size: 160rpx;">{{item}}</view> | 
 |  |  |                         </swiper-item> | 
 |  |  |                      </swiper> | 
 |  |  |                   </view> --> | 
 |  |  |                   <!-- 站台号 --> | 
 |  |  |                   <!-- <view style="width: 10%;height: 100%;display: inline-block;float: right;padding-top: 180px;"> | 
 |  |  |                      <text>{{staNo}}</text> | 
 |  |  |                   </view> --> | 
 |  |  |                </view> | 
 |  |  |             </view> | 
 |  |  |          </view> | 
 |  |  |       </view> | 
 |  |  |       <view class="top-screen" :class="topMove"> | 
 |  |  |          <view class="head"> | 
 |  |  |             <text @click="port()">自动仓库WCS监控平台</text> | 
 |  |  |             <view class="time-tools">{{year}}-{{month}}-{{day}} {{hours}}:{{minutes}}:{{seconds}} {{week}}</view> | 
 |  |  |             <view class="button-left" @click="ejected()"></view> | 
 |  |  |             <view class="button-right" @click="ledId()"></view> | 
 |  |  |          </view> | 
 |  |  |          <view class="main"> | 
 |  |  | 
 |  |  |                         <p class="english">EQUIPMENT USAGE THIS MONTH</p> | 
 |  |  |                      </view> | 
 |  |  |                      <view class="use-right"> | 
 |  |  |                         <h3>20%</h3> | 
 |  |  |                         <h3>{{usedPr}}%</h3> | 
 |  |  |                         <p class="english">同比上月 + 5%</p> | 
 |  |  |                      </view> | 
 |  |  |                      <view class="use-main"> | 
 |  |  | 
 |  |  |                   <view class="box-border box-border2"></view> | 
 |  |  |                   <view class="box-border box-border3"></view> | 
 |  |  |                   <view class="box-border box-border4"></view> | 
 |  |  |                   <text>浙江中扬立库技术有限公司</text> | 
 |  |  |                   <image src="../../static/barcode.png" mode="aspectFit"></image> | 
 |  |  |                   <!-- <text>浙江中扬立库技术有限公司</text> | 
 |  |  |                   <text>当前版本号</text> --> | 
 |  |  |                   <view @click="crn()">嘉善边锋机械股份有限公司</view> | 
 |  |  |                   <!-- <image src="../../static/barcode.png" mode="aspectFit"></image> --> | 
 |  |  |                </view> | 
 |  |  |             </view> | 
 |  |  |          </view> | 
 |  |  |       </view> | 
 |  |  |          <view> | 
 |  |  |             <!-- 输入url --> | 
 |  |  |             <uni-popup ref="url" type="dialog"> | 
 |  |  |                <uni-popup-dialog ref="inputClose" mode="input" title="配置url" value="" | 
 |  |  |                   placeholder="示例:192.168.1.1" @confirm="baseUrlConfirm"></uni-popup-dialog> | 
 |  |  |             </uni-popup> | 
 |  |  |       <view> | 
 |  |  |          <!-- 输入url --> | 
 |  |  |          <uni-popup ref="url" type="dialog"> | 
 |  |  |             <uni-popup-dialog ref="inputClose" mode="input" title="配置url" :value="baseIP" | 
 |  |  |                placeholder="示例:192.168.1.1" @confirm="baseUrlConfirm"></uni-popup-dialog> | 
 |  |  |          </uni-popup> | 
 |  |  |       </view> | 
 |  |  |       <view> | 
 |  |  |          <!-- 输入ledId --> | 
 |  |  |          <uni-popup ref="ledId" type="dialog"> | 
 |  |  |             <uni-popup-dialog ref="inputClose" mode="input" title="配置ledId" :value="baseLedId" | 
 |  |  |                placeholder="示例:188" @confirm="ledIdConfirm"></uni-popup-dialog> | 
 |  |  |          </uni-popup> | 
 |  |  |       </view> | 
 |  |  |       <view> | 
 |  |  |          <!-- 输入port --> | 
 |  |  |          <uni-popup ref="port" type="dialog"> | 
 |  |  |             <uni-popup-dialog ref="inputClose" mode="input" title="配置端口号" :value="basePort" | 
 |  |  |                placeholder="示例:9090" @confirm="portConfirm"></uni-popup-dialog> | 
 |  |  |          </uni-popup> | 
 |  |  |       </view> | 
 |  |  |       <view> | 
 |  |  |          <!-- 输入crnId --> | 
 |  |  |          <uni-popup ref="crnId" type="dialog"> | 
 |  |  |             <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> | 
 |  |  |             <!-- 输入ledId --> | 
 |  |  |             <uni-popup ref="ledId" type="dialog"> | 
 |  |  |                <uni-popup-dialog ref="inputClose" mode="input" title="配置ledId" value="" | 
 |  |  |                   placeholder="示例:1" @confirm="ledIdConfirm"></uni-popup-dialog> | 
 |  |  |             </uni-popup> | 
 |  |  |          </view> | 
 |  |  | 			 | 
 |  |  |       </view> | 
 |  |  |    </view> | 
 |  |  | </template> | 
 |  |  |  | 
 |  |  | <script> | 
 |  |  |    import ycqdata from '@/pages/index/data.json'; | 
 |  |  |    import demodata from '@/mockdata/demodata.json'; | 
 |  |  |    export default { | 
 |  |  |       data() { | 
 |  |  |          return { | 
 |  |  |             commonUrl:null, // 通用url | 
 |  |  |             show: true, | 
 |  |  |             modeClass: 'fade', | 
 |  |  |             styles: {}, | 
 |  |  |             baseUrl:'192.168.2.20', | 
 |  |  |             baseIP:'', | 
 |  |  |             baseLedId:'', | 
 |  |  |             basePort:'', | 
 |  |  |             crnId:'', | 
 |  |  |             value: '', | 
 |  |  |             xDistance: 0, | 
 |  |  |             yDistance:0, | 
 |  |  | 
 |  |  |             yDuration:0, | 
 |  |  |             used:317, | 
 |  |  |             usedPr: 90, | 
 |  |  |             stockCount:null, | 
 |  |  |             emptyCount:null, | 
 |  |  |             noneCount:null, | 
 |  |  |             stockCount:0, | 
 |  |  |             emptyCount:0, | 
 |  |  |             noneCount:0, | 
 |  |  |             chartsData: { | 
 |  |  |                "Line": { | 
 |  |  |                   "categories": [], | 
 |  |  | 
 |  |  |             seconds:13, | 
 |  |  |             week:'星期四', | 
 |  |  |             ani:'', | 
 |  |  |             move: 'upMove 1.5s 1;', | 
 |  |  |             mmm:'upup', | 
 |  |  |             fff:'' | 
 |  |  |             // move: 'upMove 1.5s 1;', | 
 |  |  |             move:false, | 
 |  |  |             topMove:'topUp', | 
 |  |  |             floorMove:'', | 
 |  |  |             version:'', | 
 |  |  |             // newspaper:'拣料出库(4426)\n源库位:1200101\n目标站:186\n1101842-10000-22047518517\n\n',	 | 
 |  |  |             newspaper:'', | 
 |  |  |             errorPaper:'', | 
 |  |  |             title:'', | 
 |  |  |             staNo:'', | 
 |  |  |             matnr:'', | 
 |  |  |             maknx:'', | 
 |  |  |             specs:'', | 
 |  |  |             count:'', | 
 |  |  |             orderNo:null, | 
 |  |  |             doneOfTray:'', | 
 |  |  |             totalOfTray:'', | 
 |  |  |             doneOfUnit:'', | 
 |  |  |             totalOfUnit:'', | 
 |  |  |             errorMsg:null, | 
 |  |  |             width:'full-width', | 
 |  |  |             errorShow:'', | 
 |  |  |             pakinShow:'', | 
 |  |  |             pakinGun:'', | 
 |  |  |             orderShow:false, | 
 |  |  |             swiper:'swiper-here', | 
 |  |  |             autoplay:true, // 自动循环 | 
 |  |  |             interval:1000, // 调用时长 | 
 |  |  |             duration:8000, // 移动速度 | 
 |  |  |             matList:[], // 订单列表 | 
 |  |  |             ejectShow: false, | 
 |  |  | 				 | 
 |  |  |          } | 
 |  |  |       }, | 
 |  |  |       mounted() { | 
 |  |  |          let that = this | 
 |  |  |          const BaseUrl = uni.getStorageSync('BaseUrl'); | 
 |  |  |          const BaseIP = uni.getStorageSync('BaseIp'); | 
 |  |  |          const BaseLedId = uni.getStorageSync('BaseLedId'); | 
 |  |  |          if (BaseUrl && BaseLedId) { | 
 |  |  |             that.baseUrl = BaseUrl | 
 |  |  |          const BasePort = uni.getStorageSync('BasePort'); | 
 |  |  |          const BaseCrnId = uni.getStorageSync('BaseCrnId'); | 
 |  |  |             that.baseIP = BaseIP | 
 |  |  |             that.baseLedId = BaseLedId | 
 |  |  |          } else { | 
 |  |  |             that.baseUrl = '' | 
 |  |  |             that.baseLedId = '' | 
 |  |  |          } | 
 |  |  |             that.basePort = BasePort | 
 |  |  |             that.baseCrnId = BaseCrnId | 
 |  |  |          this.getUrl() | 
 |  |  |       }, | 
 |  |  |       onLoad() { | 
 |  |  | 			 | 
 |  |  |       }, | 
 |  |  |       onReady() { | 
 |  |  |          setTimeout(() => { | 
 |  |  |          setInterval(() => { | 
 |  |  |             // 获得初始数据 | 
 |  |  |             this.initlineChart(); | 
 |  |  |             this.initPieChart(); | 
 |  |  | 				 | 
 |  |  |          }, 0); | 
 |  |  |          setTimeout(() => { | 
 |  |  |             // 主页信息 | 
 |  |  |             this.getServerData(); | 
 |  |  |             this.getOther(); | 
 |  |  |          }, 1000); | 
 |  |  |          setInterval(() => { | 
 |  |  |             // 其他信息 | 
 |  |  |             this.getDate(); | 
 |  |  |             this.getPakin(); | 
 |  |  |             this.getError(); | 
 |  |  |             // this.getYYY(); | 
 |  |  |             // this.getEEE(); | 
 |  |  |             this.animation() | 
 |  |  |             this.getUrl() | 
 |  |  |          },1000) | 
 |  |  |          setInterval(() => { | 
 |  |  |             this.animation(); | 
 |  |  |          },10000) | 
 |  |  |       }, | 
 |  |  |       methods: { | 
 |  |  |          animation() { | 
 |  |  |             if (this.ani) { | 
 |  |  |                this.ani = '' | 
 |  |  |                this.mmm = 'upup' | 
 |  |  |                this.fff = 'upupmove' | 
 |  |  |          // 获取url | 
 |  |  |          getUrl() { | 
 |  |  |             this.commonUrl = this.baseHttp + this.baseIP + ':' +this.basePort + this.baseUrl | 
 |  |  |             this.chartsDataLine1 = JSON.parse(JSON.stringify(demodata.Line)) | 
 |  |  |          }, | 
 |  |  |          // 获取错误信息 | 
 |  |  |          getYYY() { | 
 |  |  |             let that = this | 
 |  |  |             var result = ycqdata.dataEEE | 
 |  |  |             // 测试用 ↓ | 
 |  |  |             var   res = result.data | 
 |  |  |             // 测试用 ↑ | 
 |  |  |             // 返回结果有值 且值不等于空值 就是有错误信息需要展示 | 
 |  |  |             if (res.data && res.data !== "") { | 
 |  |  | 					 | 
 |  |  |                that.errorMsg = res.data | 
 |  |  |                that.errorShow = true | 
 |  |  |                that.move = false // 显示 | 
 |  |  |             } else { | 
 |  |  |                this.ani = 1 | 
 |  |  |                this.mmm = 'down' | 
 |  |  |                this.fff = 'ddmove' | 
 |  |  |                that.errorPaper = '' | 
 |  |  |                that.errorShow = false | 
 |  |  |                if (that.pakinShow) { | 
 |  |  |                   return; | 
 |  |  |                } else { | 
 |  |  |                   that.move = true // 隐藏 | 
 |  |  |                } | 
 |  |  |             } | 
 |  |  |          }, | 
 |  |  |          getEEE () { | 
 |  |  |             let that = this | 
 |  |  |             var newsData = '' | 
 |  |  |             var str = '' | 
 |  |  |             let result = ycqdata.dataYYY | 
 |  |  |                   // 测试用 ↓ | 
 |  |  |             let   res = result.data | 
 |  |  |                   // 测试用 ↑ | 
 |  |  |                if(res.data && res.data !== null) { | 
 |  |  |                   if (res.data[0].ioType === 101) { | 
 |  |  |                      that.title = '全板出库' | 
 |  |  |                   } else if(res.data[0].ioType === 103) { | 
 |  |  |                      that.title = '检料出库' | 
 |  |  |                   } | 
 |  |  |                   that.staNo = '目标站:' + res.data[0].staNo | 
 |  |  |                   that.matnr = '商品编号:' + res.data[0].matDtos[0].matnr | 
 |  |  |                   that.maknx = '商品名称:' + res.data[0].matDtos[0].maknx | 
 |  |  |                   that.count = '出库数量:' + res.data[0].matDtos[0].count | 
 |  |  |                   if (res.data[0].orderNo) { | 
 |  |  |                      that.orderNo = "订单号:" + res.data[0].orderNo | 
 |  |  |                      that.orderShow = true | 
 |  |  |                      that.width = 'half-width' | 
 |  |  |                   } else { | 
 |  |  |                      that.orderNo = null; | 
 |  |  |                      that.orderShow = false | 
 |  |  |                      that.width = 'full-width' | 
 |  |  |                   } | 
 |  |  |                   that.doneOfTray = '已出托盘数:' + res.data[0].doneOfTray | 
 |  |  |                   that.totalOfTray = '托盘总数量:' + res.data[0].totalOfTray | 
 |  |  |                   that.doneOfUnit = '已出箱数:' + res.data[0].doneOfUnit | 
 |  |  |                   that.totalOfUnit = '总箱数:' + res.data[0].totalOfUnit | 
 |  |  |                   if (that.errorShow) { | 
 |  |  |                            return; | 
 |  |  |                         } else { | 
 |  |  |                            that.newspaper = newsData | 
 |  |  |                            that.move = false | 
 |  |  |                         } | 
 |  |  |                }else { | 
 |  |  |                   that.move = true | 
 |  |  |                } | 
 |  |  | 					 | 
 |  |  | 					 | 
 |  |  |          }, | 
 |  |  |          // 获取错误信息 | 
 |  |  |          getError() { | 
 |  |  |             let that = this | 
 |  |  |             var res | 
 |  |  |             uni.request({ | 
 |  |  |                url: that.commonUrl + "/monitor/led/error", | 
 |  |  |                data: { | 
 |  |  |                   ledId:that.baseLedId | 
 |  |  |                }, | 
 |  |  |                method:'GET', | 
 |  |  |                success(result) { | 
 |  |  |                   res = result.data  | 
 |  |  |                   if (res.data && res.data !== "") { | 
 |  |  |                      that.errorMsg = res.data | 
 |  |  |                      that.errorShow = true | 
 |  |  |                      that.move = false // 显示 | 
 |  |  |                   } else { | 
 |  |  |                      that.errorShow = false | 
 |  |  |                      // if (that.pakinShow) { | 
 |  |  |                      //    return; | 
 |  |  |                      // } else { | 
 |  |  |                      //    // that.move = true // 隐藏 | 
 |  |  |                      // } | 
 |  |  |                   } | 
 |  |  |                } | 
 |  |  |             }); | 
 |  |  |          }, | 
 |  |  |          getPakin () { | 
 |  |  |             let that = this | 
 |  |  |             that.matList = [] // 清空条码列表 | 
 |  |  |             var newsData = '' | 
 |  |  |             var str = '' | 
 |  |  |             let res  | 
 |  |  |             uni.request({ | 
 |  |  |                url: that.commonUrl + "/monitor/led", | 
 |  |  |                data: { | 
 |  |  |                   ledId:that.baseLedId | 
 |  |  |                }, | 
 |  |  |                method:'GET', | 
 |  |  |                success(result) { | 
 |  |  |                   res = result.data | 
 |  |  |                   if (that.errorShow) { | 
 |  |  |                      return;  // 有错误信息 | 
 |  |  |                   }  | 
 |  |  |                   if(res.data && res.data !== null) { | 
 |  |  |                      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 | 
 |  |  |                         that.orderShow = true | 
 |  |  |                         that.width = 'half-width' | 
 |  |  |                      } else { | 
 |  |  |                         that.orderNo = null; | 
 |  |  |                         that.orderShow = false | 
 |  |  |                         that.width = 'full-width' | 
 |  |  |                      } | 
 |  |  |                      that.doneOfTray = '已出托盘数:' + res.data[0].doneOfTray | 
 |  |  |                      that.totalOfTray = '托盘总数量:' + res.data[0].totalOfTray | 
 |  |  |                      that.doneOfUnit = '已出箱数:' + res.data[0].doneOfUnit | 
 |  |  |                      that.totalOfUnit = '总箱数:' + res.data[0].totalOfUnit | 
 |  |  |                      that.newspaper = newsData | 
 |  |  |                      that.move = false | 
 |  |  |                   }else { | 
 |  |  |                      that.move = true | 
 |  |  |                   } | 
 |  |  |                } | 
 |  |  |             }); | 
 |  |  |          }, | 
 |  |  |          animation() { | 
 |  |  |             if (this.move) {  | 
 |  |  |                this.topMove = 'topUp' | 
 |  |  |                this.floorMove = 'floorUp' | 
 |  |  |             } else { | 
 |  |  |                this.topMove = 'topDown' | 
 |  |  |                this.floorMove = 'floorDown' | 
 |  |  |             } | 
 |  |  |          }, | 
 |  |  |          getDateFormat(value) { | 
 |  |  | 
 |  |  |          initlineChart() { | 
 |  |  |             let that = this | 
 |  |  |             uni.request({ | 
 |  |  |                url: "http://192.168.2.20:8080/jswcs/monitor/line/charts", | 
 |  |  |                url: that.commonUrl + "/monitor/line/charts", | 
 |  |  |                method:'GET', | 
 |  |  |                success(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),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.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 = res.data.rows | 
 |  |  |                   } | 
 |  |  |                } | 
 |  |  | 
 |  |  |          initPieChart() { | 
 |  |  |             let that = this | 
 |  |  |             uni.request({ | 
 |  |  |                url: "http://192.168.2.20:8080/jswcs/monitor/loc/rep", | 
 |  |  |                url: that.commonUrl + "/monitor/loc/rep", | 
 |  |  |                method:'GET', | 
 |  |  |                success(result) { | 
 |  |  |                   var res = result.data | 
 |  |  |                   if (res.code === 200) { | 
 |  |  |                      that.chartsData.Pie.series[0].data = res.data.pie | 
 |  |  |                      that.stockCount = res.data.stockCount | 
 |  |  |                      that.stockCount = res.data.stockCunt | 
 |  |  |                      that.emptyCount = res.data.emptyCount | 
 |  |  |                      that.noneCount = res.data.noneCount | 
 |  |  |                      that.used = res.data.used | 
 |  |  | 
 |  |  |          getOther() { | 
 |  |  |             let that = this | 
 |  |  |             uni.request({ | 
 |  |  |                url: "http://" + that.baseUrl + ":8080/jswcs/monitor/other", | 
 |  |  |                // http://10.10.0.222:9090/jkwcs/monitor/led?ledId=186 | 
 |  |  |                url: that.commonUrl + "/monitor/other", | 
 |  |  |                data: { | 
 |  |  |                   crnId: 1,  | 
 |  |  |                   ledId: this.baseLedId, | 
 |  |  |                   crnId: that.baseCrnId,  | 
 |  |  |                   ledId: 1, | 
 |  |  |                }, | 
 |  |  |                success(result) { | 
 |  |  |                   console.log(result); | 
 |  |  |                   var res = result.data | 
 |  |  |                   if (res.code === 200) { | 
 |  |  |                      that.xDistance = res.data.xDistance | 
 |  |  |                      that.yDistance = res.data.yDistance | 
 |  |  |                      that.xDuration = res.data.xDuration | 
 |  |  |                      that.yDuration = res.data.yDuration | 
 |  |  |                      console.log(res) | 
 |  |  |                   } else if (res.code === 403) { | 
 |  |  |                       | 
 |  |  |                   } else { | 
 |  |  | 
 |  |  |                } | 
 |  |  |             }) | 
 |  |  |          }, | 
 |  |  |          url() { | 
 |  |  |             this.$refs.url.open() | 
 |  |  |          ejected () { | 
 |  |  |             this.ejectShow = true | 
 |  |  |          }, | 
 |  |  |          ledId() { | 
 |  |  |             this.$refs.ledId.open() | 
 |  |  |          }, | 
 |  |  |          baseUrlConfirm(val) { | 
 |  |  |             this.baseUrl = val | 
 |  |  |             uni.setStorageSync('BaseUrl', this.baseUrl); | 
 |  |  |          }, | 
 |  |  |          ledIdConfirm(val) { | 
 |  |  |             this.baseLedId = val | 
 |  |  |          // 弹出层确认 | 
 |  |  |          ejectConfirm() { | 
 |  |  |             uni.setStorageSync('BaseIp', this.baseIP); | 
 |  |  |             uni.setStorageSync('BaseLedId', this.baseLedId); | 
 |  |  |             uni.setStorageSync('BasePort',this.basePort); | 
 |  |  |             uni.setStorageSync('BaseCrnId',this.baseCrnId); | 
 |  |  |             this.getUrl() | 
 |  |  |             this.ejectShow = false | 
 |  |  |          }, | 
 |  |  |          // 弹出层取消 | 
 |  |  |          ejectClose() { | 
 |  |  |             this.ejectShow = false | 
 |  |  |          }, | 
 |  |  |          getServerData() { | 
 |  |  |             this.chartsDataLine1=JSON.parse(JSON.stringify(this.chartsData.Line)) | 
 |  |  | 
 |  |  | </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%; | 
 |  |  |       display: inline-block; | 
 |  |  |       float: left; | 
 |  |  |    } | 
 |  |  |    .half-width { | 
 |  |  |       width: 50%; | 
 |  |  |       height: 100%; | 
 |  |  |       display: inline-block; | 
 |  |  |       float: left; | 
 |  |  |    } | 
 |  |  |    .box-items { | 
 |  |  |       height: 20%; | 
 |  |  |       width: 100%; | 
 |  |  |       /* background-color: #233751; */ | 
 |  |  |       line-height: 300rpx; | 
 |  |  |    } | 
 |  |  |    /* 当前页面无 orderNo */ | 
 |  |  |    .swiper-here { | 
 |  |  |       display: inline-block; | 
 |  |  |       margin: 0 auto; | 
 |  |  |       width: 100%; | 
 |  |  |       height: 100%; | 
 |  |  |    } | 
 |  |  |    /* 当前页面有 orderNo */ | 
 |  |  |    .swiper-here-oN{ | 
 |  |  |       display: inline-block; | 
 |  |  |       /* background-color: #063A7B; */ | 
 |  |  |       margin: 0 auto; | 
 |  |  |       width: 100%; | 
 |  |  |       height: 90%; | 
 |  |  |    } | 
 |  |  |    /* 当前页面有 error提示 */ | 
 |  |  |    .swiper-here-error { | 
 |  |  |       display: inline-block; | 
 |  |  |       /* background-color: #063A7B; */ | 
 |  |  |       /* margin: 0 auto; */ | 
 |  |  |       margin-top: 20%; | 
 |  |  |       width: 100%; | 
 |  |  |       height: 100%; | 
 |  |  |    } | 
 |  |  |    .animate { | 
 |  |  |       display: inline-block; | 
 |  |  |                /* white-space: nowrap; */ | 
 |  |  |                animation: 25s wordsLoop linear infinite normal; | 
 |  |  |            } | 
 |  |  | 	  | 
 |  |  |            @keyframes wordsLoop { | 
 |  |  |                0% { | 
 |  |  |                    transform: translateY(100px); | 
 |  |  |                    -webkit-transform: translateY(100px); | 
 |  |  |                } | 
 |  |  |                100% { | 
 |  |  |                    transform: translateY(-100%); | 
 |  |  |                    -webkit-transform: translateY(-100%); | 
 |  |  |                } | 
 |  |  |            } | 
 |  |  | 	  | 
 |  |  |            @-webkit-keyframes wordsLoop { | 
 |  |  |                0% { | 
 |  |  |                    transform: translateY(100px); | 
 |  |  |                    -webkit-transform: translateY(100px); | 
 |  |  |                } | 
 |  |  |                100% { | 
 |  |  |                    transform: translateY(-100%); | 
 |  |  |                    -webkit-transform: translateY(-100%); | 
 |  |  |                } | 
 |  |  |            } | 
 |  |  |    /* animation:upMove 1.5s 1; */ | 
 |  |  |    /* downMove */ | 
 |  |  |    .upup { | 
 |  |  |       animation: upMove 1.5s 1; | 
 |  |  |    /* 上层向上 */ | 
 |  |  |    .topUp { | 
 |  |  |       animation: topUp 1.5s 1; | 
 |  |  |       animation-fill-mode: both; | 
 |  |  |    } | 
 |  |  |    .down { | 
 |  |  |       animation: downMove 1.5s 1; | 
 |  |  |    @keyframes topUp { | 
 |  |  |       from { | 
 |  |  |          opacity: 0.5; | 
 |  |  |          /* background-color:blue; */ | 
 |  |  |          top:-1080px | 
 |  |  |          } | 
 |  |  |       to { | 
 |  |  |          opacity: 1; | 
 |  |  |          /* background-color:red; */ | 
 |  |  |          top: 0; | 
 |  |  |       } | 
 |  |  |    } | 
 |  |  |    /* 上层向下 */ | 
 |  |  |    .topDown { | 
 |  |  |       animation: topDown 1.5s 1; | 
 |  |  |       animation-fill-mode: both; | 
 |  |  |    } | 
 |  |  | 	 | 
 |  |  |    .upupmove { | 
 |  |  |       animation: upupmove 1.5s 1; | 
 |  |  |       animation-fill-mode: both; | 
 |  |  |    } | 
 |  |  |    .ddmove { | 
 |  |  |       animation: ddmove 1.5s 1; | 
 |  |  |       animation-fill-mode: both; | 
 |  |  |    } | 
 |  |  |    .upper { | 
 |  |  |       position: fixed; | 
 |  |  |       width: 1920px; | 
 |  |  |       height: 1080px; | 
 |  |  |       /* top: -1000px; */ | 
 |  |  |       background-image: url(../../static/background.png); | 
 |  |  |       /* background:red; */ | 
 |  |  |       /* animation:upMove 1.5s 1; */ | 
 |  |  |       z-index: 999; | 
 |  |  |    } | 
 |  |  |    @keyframes downMove | 
 |  |  |    @keyframes topDown | 
 |  |  |       { | 
 |  |  |       from { | 
 |  |  |          opacity: 1; | 
 |  |  | 
 |  |  |          top:-1080px | 
 |  |  |       } | 
 |  |  |    } | 
 |  |  |    @keyframes upMove { | 
 |  |  |       from { | 
 |  |  |          opacity: 0.5; | 
 |  |  |          /* background-color:blue; */ | 
 |  |  |          top:-1080px | 
 |  |  |          } | 
 |  |  |       to { | 
 |  |  |          opacity: 1; | 
 |  |  |          /* background-color:red; */ | 
 |  |  |          top: 0; | 
 |  |  |       } | 
 |  |  |    /* 下层向上 */ | 
 |  |  |    .floorUp { | 
 |  |  |       animation: floorUp 1.5s 1; | 
 |  |  |       animation-fill-mode: both; | 
 |  |  |    } | 
 |  |  |    @keyframes upupmove { | 
 |  |  |    @keyframes floorUp { | 
 |  |  |       from { | 
 |  |  |          opacity: 0.5; | 
 |  |  |          /* background-color:blue; */ | 
 |  |  | 
 |  |  |          top: 1080px; | 
 |  |  |       } | 
 |  |  |    } | 
 |  |  |    @keyframes ddmove { | 
 |  |  |    /* 下层向下 */ | 
 |  |  |    .floorDown { | 
 |  |  |       animation: floorDown 1.5s 1; | 
 |  |  |       animation-fill-mode: both; | 
 |  |  |    } | 
 |  |  |    @keyframes floorDown { | 
 |  |  |       from { | 
 |  |  |          opacity: 0.5; | 
 |  |  |          /* background-color:blue; */ | 
 |  |  | 
 |  |  |          top: -0px; | 
 |  |  |       } | 
 |  |  |    } | 
 |  |  |    .lower { | 
 |  |  |    .top-screen { | 
 |  |  |       position: fixed; | 
 |  |  |       width: 1920px; | 
 |  |  |       height: 1080px; | 
 |  |  |       /* top: -1000px; */ | 
 |  |  |       background-image: url(../../static/background.png); | 
 |  |  |       /* background:red; */ | 
 |  |  |       /* animation:upMove 1.5s 1; */ | 
 |  |  |       z-index: 999; | 
 |  |  |    } | 
 |  |  |    .floor-screen { | 
 |  |  |       width: 1920px; | 
 |  |  |       height: 1080px; | 
 |  |  |       position: relative; | 
 |  |  |       color: #FFFFFF; | 
 |  |  |       text-align: center; | 
 |  |  |       font-size: 120rpx; | 
 |  |  |       letter-spacing: 5rpx; | 
 |  |  |       background-image: url(../../static/background.png); | 
 |  |  |    } | 
 |  |  |    .container { | 
 |  |  |       width: 1920px; | 
 |  |  |       height: 1080px; | 
 |  |  |       background-image: url(../../static/background.png); | 
 |  |  | 		 | 
 |  |  |       position: relative; | 
 |  |  |       /* background: #000428;   | 
 |  |  |       background: -webkit-linear-gradient(to right, #004e92, #000428);   | 
 |  |  | 
 |  |  |       width: 96%; | 
 |  |  |       height: 30%; | 
 |  |  |       border: 1px solid rgba(20, 80, 136, 1); | 
 |  |  |       overflow: hidden; | 
 |  |  |    } | 
 |  |  |    .box-lg { | 
 |  |  |       height: 94%; | 
 |  |  | 
 |  |  |       font-size: 14px; | 
 |  |  |    } | 
 |  |  |    .introduce-content { | 
 |  |  |       font-size: 14px; | 
 |  |  |       font-size: 20px; | 
 |  |  |       padding-top: 2em; | 
 |  |  |       text-indent: 2em; | 
 |  |  |       line-height: 2em; | 
 |  |  | 
 |  |  |       bottom: 0; | 
 |  |  |    } | 
 |  |  | </style> | 
 |  |  | <!-- {"matnr":"1100349-10000","maknx":"C5S-4-M03/333/KS","batch":"22037502300","count":1.0}, | 
 |  |  |                {"matnr":"1100349-10000","maknx":"C5S-4-M03/333/KS","batch":"22037505146","count":1.0}, | 
 |  |  |                {"matnr":"1100349-10000","maknx":"C5S-4-M03/333/KS","batch":"22027504801","count":1.0}, | 
 |  |  |                {"matnr":"1100349-10000","maknx":"C5S-4-M03/333/KS","batch":"22027507729","count":1.0}, | 
 |  |  |                {"matnr":"1100349-10000","maknx":"C5S-4-M03/333/KS","batch":"22027507727","count":1.0}, | 
 |  |  |                {"matnr":"1100349-10000","maknx":"C5S-4-M03/333/KS","batch":"22027507731","count":1.0}, | 
 |  |  |                {"matnr":"1100349-10000","maknx":"C5S-4-M03/333/KS","batch":"22027504807","count":1.0}, | 
 |  |  |                {"matnr":"1100349-10000","maknx":"C5S-4-M03/333/KS","batch":"22027504805","count":1.0}, | 
 |  |  |                {"matnr":"1100349-10000","maknx":"C5S-4-M03/333/KS","batch":"22027504797","count":1.0}, | 
 |  |  |                {"matnr":"1100349-10000","maknx":"C5S-4-M03/333/KS","batch":"22027504794","count":1.0}, | 
 |  |  |                {"matnr":"1100349-10000","maknx":"C5S-4-M03/333/KS","batch":"22027504791","count":1.0}, | 
 |  |  |                {"matnr":"1100349-10000","maknx":"C5S-4-M03/333/KS","batch":"22027504793","count":1.0}, | 
 |  |  |                {"matnr":"1100349-10000","maknx":"C5S-4-M03/333/KS","batch":"22037505141","count":1.0}, | 
 |  |  |                {"matnr":"1100349-10000","maknx":"C5S-4-M03/333/KS","batch":"22027507728","count":1.0}, | 
 |  |  |                {"matnr":"1100349-10000","maknx":"C5S-4-M03/333/KS","batch":"22027504810","count":1.0}, | 
 |  |  |                {"matnr":"1100349-10000","maknx":"C5S-4-M03/333/KS","batch":"22037505148","count":1.0} --> |