| | |
| | | </view> --> |
| | | </view> |
| | | </view> |
| | | <view class="bottom" v-if="weighList.orderType == '内购' || weighList.orderType == '转出'"> |
| | | <view> |
| | | <view style="font-weight: 600;">原发信息</view> |
| | | <text>皮重{{ primarySkin || '' }}毛重{{ primaryHair || '' }}净重{{ primaryClean || '' }}</text> |
| | | </view> |
| | | </view> |
| | | <view class="bottom"><text>TIP:当前状态为正常时可以称重</text></view> |
| | | </view> |
| | | <view class="two"> |
| | |
| | | </view> |
| | | <view class="three"> |
| | | <!-- 放空 --> |
| | | <u-button type="primary" text="放空" plain @click="evacuation" throttleTime="500" :disabled="isEvacuation"></u-button> |
| | | <u-button type="primary" text="放空" plain @click="evacuation" throttleTime="500" :disabled="!isEvacuation"></u-button> |
| | | <!-- 外销订单称皮时,返回加减吨按钮置灰。称毛时可用.外购订单,不出现返回加减吨的按钮 --> |
| | | <u-button |
| | | type="primary" |
| | | text="确定称重" |
| | | :disabled="realTimeWeigh == 0 || globalinfraredStatus" |
| | | :disabled="realTimeWeigh == 0 || globalinfraredStatus || isweigh" |
| | | :loading="isConfirmWeighLoading" |
| | | loadingText="确认" |
| | | @click="confirmWeigh" |
| | |
| | | @cancel="evacuationCancel" |
| | | ></u-modal> |
| | | </view> |
| | | <view class=""> |
| | | <u-modal :show="firstHairCustomernameShow" title="填写重量" @confirm="OutsourcingConfirm"> |
| | | <view class=""> |
| | | <view class=""><u--input placeholder="请输入毛重" border="surround" v-model="CoalContactHair" type="digit"></u--input></view> |
| | | <view class=""><u--input placeholder="请输入皮重" border="surround" v-model="CoalContactSkin" type="digit"></u--input></view> |
| | | </view> |
| | | </u-modal> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | |
| | | let socket = null; |
| | | import { webSocketUrl } from '@/api/request.js'; |
| | | import { mapState, mapMutations } from 'vuex'; |
| | | import toast from '../../../../../uni_modules/uview-ui/libs/config/props/toast'; |
| | | export default { |
| | | onLoad(params) { |
| | | this.takeCoalId = params.takeCoalId; |
| | | this.weighData.sceneId = params.sceneId; |
| | | this.weighData.gateCameraId = params.gateCameraId; |
| | | this.weighData.equipmentCode = params.gateCameraCode; |
| | | this.weighData.sceneInOut = params.sceneInOut; |
| | | this.weighHouseCode = params.weighHouseCode; |
| | | this.primarySkin = params.primarySkin; |
| | | this.primaryHair = params.primaryHair; |
| | | this.primaryClean = params.primaryClean; |
| | | this.changeweighHouseCode(params.weighHouseCode); |
| | | }, |
| | | data() { |
| | |
| | | gateCameraId: '', |
| | | equipmentCode: '', |
| | | weigh: 0, |
| | | tmCode: '' |
| | | tmCode: '', |
| | | sceneInOut: '' |
| | | }, |
| | | takeCoalId: null, |
| | | weighHouseCode: '', |
| | | isConfirmWeighLoading: false, //确定称重按钮 |
| | | realTimeWeigh: '', |
| | | weighList: {}, |
| | | webSocket: null, // webSocket实例 |
| | | // lockReconnect: false, // 重连锁,避免多次重连 |
| | | // maxReconnect: 6, // 最大重连次数, -1 标识无限重连 |
| | | // reconnectTime: 0, // 重连尝试次数 |
| | | // heartbeat: { |
| | | // interval: 30 * 1000, // 心跳间隔时间 |
| | | // timeout: 10 * 1000, // 响应超时时间 |
| | | // pingTimeoutObj: null, // 延时发送心跳的定时器 |
| | | // pongTimeoutObj: null, // 接收心跳响应的定时器 |
| | | // pingMessage: JSON.stringify({ type: 'ping' }) // 心跳请求信息 |
| | | // } |
| | | // 临时称重对象 |
| | | temporaryWeighObj: { |
| | | skin: 0, |
| | |
| | | // 放空控制 |
| | | evacuationModalShow: false, |
| | | evacuationTitle: '放空确认', |
| | | evacuationContent: '是否确认放空' |
| | | evacuationContent: '是否确认放空', |
| | | // 获取原发信息 |
| | | primarySkin: null, |
| | | primaryHair: null, |
| | | primaryClean: null, |
| | | // 判断称重按钮是否可用 |
| | | isweigh: false, |
| | | // 外购类型称重出现弹窗填写毛,皮, |
| | | firstHairCustomernameShow: false, |
| | | CoalContactHair: '', |
| | | CoalContactSkin: '' |
| | | }; |
| | | }, |
| | | watch: { |
| | | realTimeWeigh(newV, oldV) { |
| | | console.log(newV); |
| | | if (this.weighList.orderType == '外销' || this.weighList.orderType == '内销') { |
| | | if (this.weighList.orderType == '外销' || this.weighList.orderType == '内销' || this.weighList.orderType == '转出') { |
| | | if (this.weighList.skin == 0) { |
| | | // this.temporaryWeighObj.skin = this.realTimeWeigh; |
| | | this.temporaryWeighObj.skin = newV; |
| | |
| | | // this.temporaryWeighObj.hair = this.realTimeWeigh; |
| | | this.temporaryWeighObj.hair = newV; |
| | | this.temporaryWeighObj.clean = (this.temporaryWeighObj.hair - this.weighList.skin).toFixed(2); |
| | | this.isweigh = this.temporaryWeighObj.clean > this.weighList.orderSurplus; |
| | | } |
| | | } else if (this.weighList.orderType == '外购' || this.weighList.orderType == '转出') { |
| | | } else if (this.weighList.orderType == '外购' || this.weighList.orderType == '内购' || this.weighList.orderType == '转入') { |
| | | if (this.weighList.hair == 0) { |
| | | // this.temporaryWeighObj.hair = this.realTimeWeigh; |
| | | this.temporaryWeighObj.hair = newV; |
| | |
| | | // this.temporaryWeighObj.skin = this.realTimeWeigh; |
| | | this.temporaryWeighObj.skin = newV; |
| | | this.temporaryWeighObj.clean = (this.weighList.hair - this.temporaryWeighObj.skin).toFixed(2); |
| | | this.isweigh = this.temporaryWeighObj.clean > this.weighList.orderSurplus; |
| | | } |
| | | } |
| | | }, |
| | | // 监听重量变化 |
| | | globalweigh(v) { |
| | | this.weighData.weigh = this.realTimeWeigh = v; |
| | | globalweigh: { |
| | | handler(v) { |
| | | this.weighData.weigh = this.realTimeWeigh = v; |
| | | console.log(this.realTimeWeigh, '真实重量改变了'); |
| | | }, |
| | | immediate: true, |
| | | deep: true |
| | | } |
| | | }, |
| | | onShow() { |
| | |
| | | }, |
| | | // 是否放空按钮禁用 |
| | | isEvacuation() { |
| | | if (this.weighList.hair == this.weighList.skin || this.temporaryWeighObj.skin == this.temporaryWeighObj.hair) { |
| | | return false; |
| | | } else { |
| | | return true; |
| | | if (this.weighList.orderType == '外销' || this.weighList.orderType == '内销' || this.weighList.orderType == '转出') { |
| | | return this.weighList.skin == this.temporaryWeighObj.hair || this.temporaryWeighObj.skin == this.temporaryWeighObj.hair; |
| | | } |
| | | if (this.weighList.orderType == '外购' || this.weighList.orderType == '内购' || this.weighList.orderType == '转入') { |
| | | return this.weighList.hair == this.temporaryWeighObj.skin || this.temporaryWeighObj.skin == this.temporaryWeighObj.hair; |
| | | } |
| | | } |
| | | }, |
| | |
| | | this.weighData.tmId = res.data.id; |
| | | this.weighData.carNo = res.data.carNo; |
| | | this.weighData.tmCode = res.data.code; |
| | | if (this.weighList.orderType == '外销' && this.weighList.hair == 0) { |
| | | this.firstHairCustomernameShow = true; |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | OutsourcingConfirm() { |
| | | this.weighData.CoalContactSkin = Number(this.CoalContactSkin); |
| | | this.weighData.CoalContactHair = Number(this.CoalContactHair); |
| | | this.weighData.CoalContactclean = Number(this.CoalContactHair) - Number(this.CoalContactSkin); |
| | | this.saveWeigh(); |
| | | }, |
| | | /** |
| | | * @确认称重等待后端提供实时称重接口,获取皮重,毛重 |
| | |
| | | /** |
| | | * 初始化 weoSocket |
| | | */ |
| | | initWebSocket() { |
| | | let wsUrl = `${webSocketUrl}?access_token=${uni.getStorageSync('token')}`; |
| | | let socket = uni.connectSocket({ |
| | | url: wsUrl, |
| | | header: { |
| | | CLIENT_TOC: 'Y' |
| | | }, |
| | | complete: res => { |
| | | console.log(res, 'socket结果'); |
| | | } |
| | | }); |
| | | socket.onOpen(() => { |
| | | console.log('onOpen'); |
| | | }); |
| | | // 获取服务器传来的数据,做相应处理 |
| | | socket.onMessage(res => { |
| | | console.log('socketWeigh', res); |
| | | let nowWeighObj = JSON.parse(res.data.slice(7)); |
| | | if (nowWeighObj.eqCode == this.weighHouseCode) { |
| | | if (nowWeighObj.eqInfraredStatus) { |
| | | this.infraredStatus = true; |
| | | this.weighData.weigh = this.realTimeWeigh = nowWeighObj.weigh; |
| | | } else { |
| | | this.infraredStatus = false; |
| | | this.weighData.weigh = this.realTimeWeigh = nowWeighObj.weigh; |
| | | } |
| | | } |
| | | }); |
| | | socket.onClose(() => { |
| | | uni.closeSocket(); |
| | | console.log('webSocketClose'); |
| | | this.$u.toast('磅房已关闭'); |
| | | }); |
| | | socket.onError(err => { |
| | | console.log('socket报错', err); |
| | | this.$u.toast('磅房暂时不能使用,请重新进入该页面,重试!!'); |
| | | }); |
| | | }, |
| | | // initWebSocket() { |
| | | // let wsUrl = `${webSocketUrl}?access_token=${uni.getStorageSync('token')}`; |
| | | // let socket = uni.connectSocket({ |
| | | // url: wsUrl, |
| | | // header: { |
| | | // CLIENT_TOC: 'Y' |
| | | // }, |
| | | // complete: res => { |
| | | // console.log(res, 'socket结果'); |
| | | // } |
| | | // }); |
| | | // socket.onOpen(() => { |
| | | // console.log('onOpen'); |
| | | // }); |
| | | // // 获取服务器传来的数据,做相应处理 |
| | | // socket.onMessage(res => { |
| | | // console.log('socketWeigh', res); |
| | | // let nowWeighObj = JSON.parse(res.data.slice(7)); |
| | | // if (nowWeighObj.eqCode == this.weighHouseCode) { |
| | | // if (nowWeighObj.eqInfraredStatus) { |
| | | // this.infraredStatus = true; |
| | | // this.weighData.weigh = this.realTimeWeigh = nowWeighObj.weigh; |
| | | // } else { |
| | | // this.infraredStatus = false; |
| | | // this.weighData.weigh = this.realTimeWeigh = nowWeighObj.weigh; |
| | | // } |
| | | // } |
| | | // }); |
| | | // socket.onClose(() => { |
| | | // uni.closeSocket(); |
| | | // console.log('webSocketClose'); |
| | | // this.$u.toast('磅房已关闭'); |
| | | // }); |
| | | // socket.onError(err => { |
| | | // console.log('socket报错', err); |
| | | // this.$u.toast('磅房暂时不能使用,请重新进入该页面,重试!!'); |
| | | // }); |
| | | // }, |
| | | // 放空 |
| | | evacuation() { |
| | | this.evacuationModalShow = true; |
| | |
| | | evacuationConfirm() { |
| | | this.$reqPost('getTwoEvacuation', this.weighData, 'json').then(res => { |
| | | console.log(res, '第二次放空'); |
| | | this.evacuationModalShow = false; |
| | | if (res.code == 0) { |
| | | this.$u.toast('操作成功'); |
| | | this.evacuationModalShow = false; |
| | | } else { |
| | | this.$u.toast(res.msg ? res.msg : '操作失败'); |
| | | this.evacuationModalShow = true; |
| | | } |
| | | }); |
| | | }, |
| | | // 放空弹窗取消 |
| | |
| | | } |
| | | .bottom { |
| | | text-align: center; |
| | | position: relative; |
| | | top: vww(-30); |
| | | } |
| | | } |
| | | .two { |