|  |  |  | 
|---|
|  |  |  | <template> | 
|---|
|  |  |  | <view> | 
|---|
|  |  |  | <view class="code"> | 
|---|
|  |  |  | <!-- <view class="item"> | 
|---|
|  |  |  | <view class="code-decs">托盘码:</view> | 
|---|
|  |  |  | <input type="text" placeholder=" 扫码 / 输入" v-model="barcode" :focus="barcodeFocus" | 
|---|
|  |  |  | @input="barcodeInput()"> | 
|---|
|  |  |  | </view> --> | 
|---|
|  |  |  | <view class="item"> | 
|---|
|  |  |  | <view class="code-decs">楼号:</view> | 
|---|
|  |  |  | <uni-combox :candidates="floorList" placeholder="请选择楼号" v-model="floor" @input="getFloor"></uni-combox> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="item"> | 
|---|
|  |  |  | <view class="code-decs">暂存位:</view> | 
|---|
|  |  |  | <input type="text" placeholder=" 扫码 / 输入" v-model="stationCode" :focus="matFocus" @input="stationCodeInput()"> | 
|---|
|  |  |  | <view class="item-right"> | 
|---|
|  |  |  | <button></button> | 
|---|
|  |  |  | <!-- <text style="text-align: right;color: #409EFF;" @click="selectMat()">提取+</text> --> | 
|---|
|  |  |  | <!-- <uni-icons type="right" color="#c1c1c1"></uni-icons> --> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <input type="text" placeholder=" 扫码 / 输入" v-model="stationCode" :focus="stationCodeFocus" | 
|---|
|  |  |  | @input="stationCodeInput()"> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <view class="mat-list-title"> | 
|---|
|  |  |  | 站点列表 | 
|---|
|  |  |  | <view style="-webkit-flex: 1;flex: 1;">站点列表</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <scroll-view> | 
|---|
|  |  |  | <view class="list" v-for="(item,i) in dataList" :key="i"> | 
|---|
|  |  |  | <view class="list" v-for="(item,i) in dataList" :key="i" :class="'bg-'+item.color"> | 
|---|
|  |  |  | <view class="aside"> | 
|---|
|  |  |  | <checkbox :value="item.matnr" :checked="item.checked" @click="set(i)"/> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="list-left" style="display: flex;justify-content: center;"> | 
|---|
|  |  |  | {{item}} | 
|---|
|  |  |  | {{item.devNo}} | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="list-right"> | 
|---|
|  |  |  | <!-- <uni-icons type="compose" color="#9add8b" size="24" @click="revise(item,i)"></uni-icons> --> | 
|---|
|  |  |  | 
|---|
|  |  |  | token: '', | 
|---|
|  |  |  | barcode: '', | 
|---|
|  |  |  | stationCode: '', | 
|---|
|  |  |  | stationCodeFocus: true, | 
|---|
|  |  |  | dataList: [], | 
|---|
|  |  |  | count: 0, | 
|---|
|  |  |  | rowNum: '', | 
|---|
|  |  |  | 
|---|
|  |  |  | matFocus: false, | 
|---|
|  |  |  | matData: '', | 
|---|
|  |  |  | removeNum: 0, | 
|---|
|  |  |  | floorList: [1,3], | 
|---|
|  |  |  | floor: "", | 
|---|
|  |  |  | devNo: [] | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | onLoad() { | 
|---|
|  |  |  | 
|---|
|  |  |  | this.token = uni.getStorageSync('token'); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | methods: { | 
|---|
|  |  |  | stationCodeInput() { | 
|---|
|  |  |  | setTimeout(() => { | 
|---|
|  |  |  | var len = this.stationCode.length | 
|---|
|  |  |  | if (len != 15) { | 
|---|
|  |  |  | this.stationCode = '' | 
|---|
|  |  |  | this.stationCodeFocus = true | 
|---|
|  |  |  | uni.showToast({ | 
|---|
|  |  |  | title: '暂存码有误请重试', | 
|---|
|  |  |  | icon: "none", | 
|---|
|  |  |  | position: 'top' | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.pushDevNo() | 
|---|
|  |  |  | this.stationCodeFocuss() | 
|---|
|  |  |  | }, 200) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | pushDevNo() { | 
|---|
|  |  |  | var devNo = {"devNo":this.stationCode} | 
|---|
|  |  |  | if (this.dataList.length == 0) { | 
|---|
|  |  |  | this.dataList.push(devNo) | 
|---|
|  |  |  | return | 
|---|
|  |  |  | } | 
|---|
|  |  |  | var flag = false | 
|---|
|  |  |  | for(var i = 0; i < this.dataList.length; i++ ) { | 
|---|
|  |  |  | if (this.dataList[i].devNo == devNo.devNo) { | 
|---|
|  |  |  | this.messageText = "站点重复" | 
|---|
|  |  |  | this.messageToggle('warn') | 
|---|
|  |  |  | return | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | flag = true | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(flag) { | 
|---|
|  |  |  | this.dataList.push(devNo) | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | stationCodeFocuss() { | 
|---|
|  |  |  | let that = this; | 
|---|
|  |  |  | this.stationCode = '' | 
|---|
|  |  |  | that.stationCodeFocus = false; | 
|---|
|  |  |  | setTimeout(() => { | 
|---|
|  |  |  | that.stationCodeFocus = true; | 
|---|
|  |  |  | }, 100); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | getChecked() { | 
|---|
|  |  |  | var checkedList = [] | 
|---|
|  |  |  | for(var i = 0; i < this.dataList.length; i++) { | 
|---|
|  |  |  | var t = !this.dataList[i].checked | 
|---|
|  |  |  | if (this.dataList[i].checked) { | 
|---|
|  |  |  | checkedList.push(this.dataList[i]) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.dataList = checkedList | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | set(e) { | 
|---|
|  |  |  | var ck = this.dataList[e].checked | 
|---|
|  |  |  | this.dataList[e].checked = ck ? false:true | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | getFloor() { | 
|---|
|  |  |  | let that = this | 
|---|
|  |  |  | if (this.floor == '') { | 
|---|
|  |  |  | return | 
|---|
|  |  |  | } | 
|---|
|  |  |  | uni.request({ | 
|---|
|  |  |  | url: that.baseUrl + '/agvMobile/getBasDevp/auth', | 
|---|
|  |  |  | data: { | 
|---|
|  |  |  | floor: that.floor | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | header: { | 
|---|
|  |  |  | 'token': uni.getStorageSync('token') | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | method: 'POST', | 
|---|
|  |  |  | success(res) { | 
|---|
|  |  |  | res = res.data | 
|---|
|  |  |  | for(var i = 0; i < res.data.length; i++) { | 
|---|
|  |  |  | if (res.data[i].locSts === 'F') { | 
|---|
|  |  |  | // res.data[i]["color"] = "red" | 
|---|
|  |  |  | that.dataList.push(res.data[i]) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | messageToggle(type) { | 
|---|
|  |  |  | this.msgType1 = type | 
|---|
|  |  |  | this.$refs.message.open() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | stationCodeInput() { | 
|---|
|  |  |  | this.dataList.push(this.stationCode) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // barcode input 事件 | 
|---|
|  |  |  | barcodeInput() { | 
|---|
|  |  |  | 
|---|
|  |  |  | this.$refs.combConfirm.close() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | comb() { | 
|---|
|  |  |  | this.devNo = [] | 
|---|
|  |  |  | uni.vibrateShort(); | 
|---|
|  |  |  | let that = this; | 
|---|
|  |  |  | if (that.barcode === '') { | 
|---|
|  |  |  | this.messageText = "请扫描托盘条码" | 
|---|
|  |  |  | this.messageToggle('error') | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | for (var i = 0; i < this.dataList.length; i++) { | 
|---|
|  |  |  | if (this.dataList[i].checked) { | 
|---|
|  |  |  | this.devNo.push(this.dataList[i].devNo) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | uni.request({ | 
|---|
|  |  |  | url: that.baseUrl + '/mobile/combBinging/auth', | 
|---|
|  |  |  | url: that.baseUrl + '/agvMobile/pakin/auth', | 
|---|
|  |  |  | data: JSON.stringify({ | 
|---|
|  |  |  | barcode: that.barcode, | 
|---|
|  |  |  | stationCode: that.stationCode | 
|---|
|  |  |  | devNo: that.devNo | 
|---|
|  |  |  | }), | 
|---|
|  |  |  | method: 'POST', | 
|---|
|  |  |  | header: { | 
|---|
|  |  |  | 'token': uni.getStorageSync('token') | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | success(result) { | 
|---|
|  |  |  | console.log(result); | 
|---|
|  |  |  | var res = result.data | 
|---|
|  |  |  | if (res.code === 200) { | 
|---|
|  |  |  | that.resst(); | 
|---|
|  |  |  | that.messageText = "启动成功" | 
|---|
|  |  |  | that.messageToggle('success') | 
|---|
|  |  |  | // const innerAudioContext = uni.createInnerAudioContext(); | 
|---|
|  |  |  | // innerAudioContext.src = '/static/music/pakinOk.mp3'; | 
|---|
|  |  |  | innerAudioContext.play() | 
|---|
|  |  |  | } else if (res.code == 403) { | 
|---|
|  |  |  | that.messageText = res.msg | 
|---|
|  |  |  | that.messageToggle('error') | 
|---|
|  |  |  | 
|---|
|  |  |  | resetConfirm() { | 
|---|
|  |  |  | this.dataList = [] | 
|---|
|  |  |  | this.stationCode = '' | 
|---|
|  |  |  | this.floor = '' | 
|---|
|  |  |  | this.messageText = "重置完成" | 
|---|
|  |  |  | this.messageToggle('success') | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | 
|---|
|  |  |  | this.dataList = [] | 
|---|
|  |  |  | this.barcode = '' | 
|---|
|  |  |  | this.stationCode = '' | 
|---|
|  |  |  | this.floor = '' | 
|---|
|  |  |  | this.barcodeFocuss() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | <style> | 
|---|
|  |  |  | @import url('../../static/css/wms.css/wms.css'); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .bg-red { | 
|---|
|  |  |  | background-color: #e54d42; | 
|---|
|  |  |  | color: #ffffff; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .bg-white { | 
|---|
|  |  |  | background-color: #ffffff; | 
|---|
|  |  |  | color: #666666; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .list:first-child { | 
|---|
|  |  |  | margin-top: 360rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .aside { | 
|---|
|  |  |  | width: 100rpx; | 
|---|
|  |  |  | /* background-color: #303133; */ | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | justify-content: center; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .code { | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | position: fixed; | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .mat-list-title { | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | height: 80rpx; | 
|---|
|  |  |  | line-height: 80rpx; | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | background-color: white; | 
|---|
|  |  |  | position: fixed; | 
|---|
|  |  |  | margin-top: 100rpx; | 
|---|
|  |  |  | margin-top: 200rpx; | 
|---|
|  |  |  | z-index: 9; | 
|---|
|  |  |  | /* border-top: 1px solid #DCDFE6; */ | 
|---|
|  |  |  | text-align: center; | 
|---|