| | |
| | | <template> |
| | | <view class="weighingDevice"> |
| | | <view class="one"> |
| | | <view class="one" |
| | | :style="{ backgroundImage: `url(${onlineurl}/appimg/image/banner/weighbanner.png)`, backgroundSize: 'cover', backgroundRepeat: 'no-repeat' }"> |
| | | <view class="top"> |
| | | <view class="top_left"> |
| | | <text>{{ realTimeWeigh }}</text> |
| | | <!-- <text>{{ realTimeWeigh }}</text> --> |
| | | <text>{{ globalweigh }}</text> |
| | | </view> |
| | | <view class="top_right"> |
| | | <view class=""> |
| | | 称重: |
| | | <u--text :type="realTimeWeigh == 0 ? 'error' : 'success'" :text="realTimeWeigh == 0 ? '异常' : '正常'" size="34"></u--text> |
| | | <u--text :type="realTimeWeigh == 0 ? 'error' : 'success'" |
| | | :text="realTimeWeigh == 0 ? '异常' : '正常'" |
| | | size="34"></u--text> |
| | | </view> |
| | | <view class=""> |
| | | 红外: |
| | | <u--text :type="globalinfraredStatus ? 'error' : 'success'" :text="globalinfraredStatus ? '异常' : '正常'" size="34"></u--text> |
| | | <u--text :type="globalinfraredStatus ? 'error' : 'success'" |
| | | :text="globalinfraredStatus ? '异常' : '正常'" |
| | | size="34"></u--text> |
| | | </view> |
| | | <!-- <view class=""> |
| | | 雷达: |
| | | <u--text type="success" text="正常" size="34"></u--text> |
| | | </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"> |
| | | <p>订单编号:{{ weighList.code || '' }}</p> |
| | | <p>订单类型:{{ weighList.orderType || '' }}</p> |
| | | <p>订单余量:{{ weighList.orderSurplus || 0 }}</p> |
| | | <p>皮重:{{ temporaryWeighObj.skin == 0 ? weighList.skin : temporaryWeighObj.skin }}</p> |
| | | <p>毛重:{{ temporaryWeighObj.hair == 0 ? weighList.hair : temporaryWeighObj.hair }}</p> |
| | | <p>净重:{{ temporaryWeighObj.clean == 0 ? weighList.clean : temporaryWeighObj.clean }}</p> |
| | | <p>煤种名称:{{ weighList.coalName || '' }}</p> |
| | | <p>单位名称:{{ weighList.deptName || '' }}</p> |
| | | <p>矿场名称:{{ weighList.filedName || '' }}</p> |
| | | <view class="bottom-block"> |
| | | <view class="block-main"> |
| | | <view class="main-information" |
| | | v-if="weighList.orderType=='转入'||weighList.orderType=='转出'"> |
| | | <view class="prefix"> |
| | | 发货地基地: |
| | | </view> |
| | | <view class="suffix"> |
| | | {{ weighList.filedName || '' }} |
| | | </view> |
| | | </view> |
| | | <view class="main-information" |
| | | v-if="weighList.orderType=='转入'||weighList.orderType=='转出'"> |
| | | <view class="prefix"> |
| | | 收货地基地: |
| | | </view> |
| | | <view class="suffix"> |
| | | {{ weighList.toFiledName || '' }} |
| | | </view> |
| | | </view> |
| | | <view class="main-information" |
| | | v-if="weighList.orderType!=='转入'||weighList.orderType!=='转出'"> |
| | | <view class="prefix">客户:</view> |
| | | <view class="suffix">{{ weighList.customerName|| '' }}</view> |
| | | </view> |
| | | <view class="main-information" |
| | | v-if="weighList.orderType!=='转入'||weighList.orderType!=='转出'"> |
| | | <view class="prefix">仓库:</view> |
| | | <view class="suffix">{{ weighList.deptName || '' }}</view> |
| | | </view> |
| | | <view class="main-information" |
| | | v-if="weighList.orderType!=='转入'||weighList.orderType!=='转出'"> |
| | | <view class="prefix">基地:</view> |
| | | <view class="suffix">{{ weighList.filedName || '' }}</view> |
| | | </view> |
| | | <!-- <view class="main-information"> |
| | | <view class="prefix">物料名称:</view> |
| | | <view class="suffix">{{ weighList.coalName || '' }}</view> |
| | | </view> --> |
| | | <view class="main-information"> |
| | | <view class="prefix">订单类型:</view> |
| | | <view class="suffix">{{ weighList.orderType || '' }}</view> |
| | | </view> |
| | | <!-- <view class="main-information" v-if="isweight"> |
| | | <view class="prefix">皮重:</view> |
| | | <view class="suffix"> |
| | | {{currentSkin}} |
| | | </view> |
| | | </view> |
| | | <view class="main-information" v-if="isweight"> |
| | | <view class="prefix">毛重:</view> |
| | | <view class="suffix"> |
| | | {{currentHair}} |
| | | </view> |
| | | </view> |
| | | <view class="main-information" v-if="isweight"> |
| | | <view class="prefix">净重:</view> |
| | | <view class="suffix"> |
| | | {{ currentClean}} |
| | | </view> |
| | | </view> |
| | | <view class="main-information" v-else> |
| | | <view class="prefix">净重:</view> |
| | | <view class="suffix"> |
| | | {{ isWeightclean}} |
| | | </view> |
| | | </view> --> |
| | | <!-- <view class="main-information"> |
| | | <view class="prefix">订单余量:</view> |
| | | <view class="suffix">{{ weighList.orderSurplus || 0 }}</view> |
| | | </view> --> |
| | | </view> |
| | | </view> |
| | | <!-- 称重历史--> |
| | | <weigh-item :list="weighHistory" class="weighingDecive-item"></weigh-item> |
| | | <view class="three"> |
| | | <!-- 放空 --> |
| | | <u-button type="primary" text="放空" plain @click="evacuation" throttleTime="500" :disabled="isEvacuation"></u-button> |
| | | <!-- 外销订单称皮时,返回加减吨按钮置灰。称毛时可用.外购订单,不出现返回加减吨的按钮 --> |
| | | <u-button |
| | | type="primary" |
| | | <!-- .外购订单,不出现返回加减吨的按钮 --> |
| | | <u-button type="primary" |
| | | text="确定称重" |
| | | :disabled="realTimeWeigh == 0 || globalinfraredStatus" |
| | | :disabled="realTimeWeigh == 0 || globalinfraredStatus || isweigh ||globalWarning" |
| | | :loading="isConfirmWeighLoading" |
| | | loadingText="确认" |
| | | @click="confirmWeigh" |
| | | ></u-button> |
| | | <u-button type="primary" text="返回加减吨" :disabled="addAndSubtractCoalDisabled" @click="addAndSubtractCoal" class="jiajian"></u-button> |
| | | @click="confirmWeigh"></u-button> |
| | | <u-button type="primary" |
| | | text="返回加减吨" |
| | | :disabled="addAndSubtractCoalDisabled" |
| | | @click="addAndSubtractCoal" |
| | | class="jiajian" |
| | | v-if="outBuy"></u-button> |
| | | <u-button type="primary" |
| | | text="继续卸货" |
| | | @click="UnloadingAgainHandle" |
| | | :loading="UnloadingAgainLoading" |
| | | loadingText="确认" |
| | | :disabled="isweigh||realTimeWeigh == 0" |
| | | v-if='canUnload'></u-button> |
| | | <!-- 放空 --> |
| | | <u-button type="primary" |
| | | text="放空" |
| | | plain |
| | | @click="evacuation" |
| | | throttleTime="500" |
| | | :disabled="!isEvacuation"></u-button> |
| | | |
| | | </view> |
| | | <view class="four" v-if="weighList.orderType !== '外购'">如您需要调整装载货品吨数,请点击返回加减吨</view> |
| | | <!-- 放空弹窗 --> |
| | | <view class="evacuationModal"> |
| | | <u-modal |
| | | :show="evacuationModalShow" |
| | | <u-modal :show="evacuationModalShow" |
| | | :title="evacuationTitle" |
| | | :content="evacuationContent" |
| | | :showCancelButton="true" |
| | | @confirm="evacuationConfirm" |
| | | @cancel="evacuationCancel" |
| | | ></u-modal> |
| | | @cancel="evacuationCancel"></u-modal> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | let socket = null; |
| | | import { webSocketUrl } from '@/api/request.js'; |
| | | import { mapState, mapMutations } from 'vuex'; |
| | | 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() { |
| | | return { |
| | | weighData: { |
| | | //确认称重接口参数 |
| | | deptId: '', |
| | | tmId: '', |
| | | sceneId: '', |
| | | carNo: '', |
| | | gateCameraId: '', |
| | | equipmentCode: '', |
| | | weigh: 0, |
| | | 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, |
| | | hair: 0, |
| | | clean: 0 |
| | | }, |
| | | infraredStatus: false, // 红外状态, |
| | | // 放空控制 |
| | | evacuationModalShow: false, |
| | | evacuationTitle: '放空确认', |
| | | evacuationContent: '是否确认放空', |
| | | // 获取原发信息 |
| | | primarySkin: null, |
| | | primaryHair: null, |
| | | primaryClean: null |
| | | }; |
| | | }, |
| | | watch: { |
| | | realTimeWeigh(newV, oldV) { |
| | | if (this.weighList.orderType == '外销' || this.weighList.orderType == '内销' || this.weighList.orderType == '转出') { |
| | | if (this.weighList.skin == 0) { |
| | | // this.temporaryWeighObj.skin = this.realTimeWeigh; |
| | | this.temporaryWeighObj.skin = newV; |
| | | } else { |
| | | // this.temporaryWeighObj.hair = this.realTimeWeigh; |
| | | this.temporaryWeighObj.hair = newV; |
| | | this.temporaryWeighObj.clean = (this.temporaryWeighObj.hair - this.weighList.skin).toFixed(2); |
| | | } |
| | | } 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; |
| | | } else { |
| | | // this.temporaryWeighObj.skin = this.realTimeWeigh; |
| | | this.temporaryWeighObj.skin = newV; |
| | | this.temporaryWeighObj.clean = (this.weighList.hair - this.temporaryWeighObj.skin).toFixed(2); |
| | | } |
| | | import { webSocketUrl, onlineurl } from '@/api/request.js'; |
| | | import { mapState, mapMutations } from 'vuex'; |
| | | import combinedTitle from '@/components/combined-title/combined-title.vue'; |
| | | import weighItem from '@/components/weighItem.vue' |
| | | export default { |
| | | onLoad(params) { |
| | | |
| | | this.isWeighing = params.isWeighing; // 当前是不是回磅的 |
| | | 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; |
| | | if (params.overTmWaixiao) { |
| | | this.weighData.overTmWaixiao = 1 |
| | | } |
| | | this.changeweighHouseCode(params.weighHouseCode); |
| | | this.changeWeigh(0) |
| | | }, |
| | | // 监听重量变化 |
| | | globalweigh: { |
| | | handler(v) { |
| | | this.weighData.weigh = this.realTimeWeigh = v; |
| | | console.log(this.realTimeWeigh, '真实重量改变了'); |
| | | components: { |
| | | combinedTitle, |
| | | weighItem |
| | | }, |
| | | data() { |
| | | return { |
| | | isWeighing:'', |
| | | timer:null, |
| | | weighData: { |
| | | //确认称重接口参数 |
| | | deptId: '', |
| | | tmId: '', |
| | | sceneId: '', |
| | | carNo: '', |
| | | gateCameraId: '', |
| | | equipmentCode: '', |
| | | weigh: 0, |
| | | tmCode: '', |
| | | sceneInOut: '', |
| | | // coalContactClean: 0, |
| | | // coalContactHair: 0, |
| | | // coalContactSkin: 0 |
| | | }, |
| | | // 是否填写原发信息 |
| | | isInputOrigin: false, |
| | | haveInputOrigin: false, |
| | | |
| | | takeCoalId: null, |
| | | weighHouseCode: '', |
| | | isConfirmWeighLoading: false, //确定称重按钮 |
| | | realTimeWeigh: 0, |
| | | weighList: {}, |
| | | // 临时称重对象 |
| | | temporaryWeighObj: { |
| | | skin: null, |
| | | hair: null, |
| | | clean: null, |
| | | isWeightclean:null, |
| | | }, |
| | | infraredStatus: false, // 红外状态, |
| | | // 放空控制 |
| | | evacuationModalShow: false, |
| | | evacuationTitle: '放空确认', |
| | | evacuationContent: '是否确认放空', |
| | | // 获取原发信息 |
| | | primarySkin: null, |
| | | primaryHair: null, |
| | | primaryClean: null, |
| | | // 判断称重按钮是否可用 |
| | | isweigh: false, |
| | | // 外购类型称重填写毛,皮, |
| | | firstHairCustomernameShow: false, |
| | | coalContactHair: '', |
| | | coalContactSkin: '', |
| | | // 聚焦时改变样式 |
| | | isfocus1: false, |
| | | isfocus2: false, |
| | | // 外购类型 |
| | | outBuy: true, |
| | | // 继续卸货按钮 |
| | | canUnload: false, |
| | | UnloadingAgainLoading: false, |
| | | onlineurl, |
| | | }; |
| | | }, |
| | | watch: { |
| | | realTimeWeigh(newV, oldV) { |
| | | |
| | | }, |
| | | immediate: true, |
| | | deep: true |
| | | } |
| | | }, |
| | | onShow() { |
| | | this.init(); |
| | | // this.initWebSocket(); |
| | | }, |
| | | computed: { |
| | | ...mapState(['globalweigh', 'globalinfraredStatus']), |
| | | token() { |
| | | return uni.getStorageSync('token'); |
| | | }, |
| | | // 加减煤按钮禁用与否 |
| | | addAndSubtractCoalDisabled() { |
| | | if (this.weighList.orderType == '外销' || this.weighList.orderType == '内销' || this.weighList.orderType == '转出') { |
| | | if (this.weighList.hair == 0) { |
| | | return true; |
| | | } else if (this.weighList.hair != 0) { |
| | | return false; |
| | | } |
| | | } |
| | | }, |
| | | // 是否放空按钮禁用 |
| | | isEvacuation() { |
| | | if (this.weighList.hair == this.weighList.skin || this.temporaryWeighObj.skin == this.temporaryWeighObj.hair) { |
| | | return false; |
| | | } else { |
| | | return true; |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | ...mapMutations(['changeweighHouseCode']), |
| | | init() { |
| | | // 获取称重信息 |
| | | this.$reqGet('weighList', { id: this.takeCoalId }).then(res => { |
| | | console.log(res, '获取称重信息'); |
| | | if (res.code == 0) { |
| | | this.weighList = res.data; |
| | | this.weighData.deptId = res.data.deptId; |
| | | this.weighData.tmId = res.data.id; |
| | | this.weighData.carNo = res.data.carNo; |
| | | this.weighData.tmCode = res.data.code; |
| | | } |
| | | }); |
| | | }, |
| | | /** |
| | | * @确认称重等待后端提供实时称重接口,获取皮重,毛重 |
| | | */ |
| | | confirmWeigh() { |
| | | if (this.isConfirmWeighLoading == false) { |
| | | this.isConfirmWeighLoading = true; |
| | | if (this.weighData.weigh != 0) { |
| | | if (this.weighList.orderType == '外销') { |
| | | if (this.weighList.skin ? (this.weighList.skin < this.realTimeWeigh ? true : false) : true) { |
| | | this.saveWeigh(); |
| | | // 监听重量变化 |
| | | globalweigh: { |
| | | handler: function(newV) { |
| | | this.weighData.weigh = this.realTimeWeigh = newV; |
| | | if ((this.weighList.orderType == '外销' || this.weighList.orderType == '内销' || this.weighList |
| | | .orderType == '转出')) { |
| | | if (!this.showWeigh.skin) { |
| | | this.temporaryWeighObj.skin = newV; |
| | | } else { |
| | | this.$u.toast('毛重不能小于皮重'); |
| | | this.isConfirmWeighLoading = false; |
| | | this.temporaryWeighObj.hair = newV; |
| | | this.isweigh = Number(this.currentClean) < 0; |
| | | } |
| | | } else if ( (this.isweight) && (this.weighList.orderType == '外购' || this.weighList.orderType == '内购' || this.weighList |
| | | .orderType == '转入')) { |
| | | if (!this.showWeigh.hair) { |
| | | this.temporaryWeighObj.hair = newV; |
| | | } else { |
| | | this.temporaryWeighObj.skin = newV; |
| | | this.isweigh = Number(this.currentClean) < 0 || this.showWeigh.skin < newV && this |
| | | .showWeigh |
| | | .skin > 0; |
| | | } |
| | | }else if((this.weighList.orderType == '外购' || this.weighList.orderType == '内购' || this.weighList |
| | | .orderType == '转入') && (!this.isweight)){ |
| | | if (!this.showWeigh.skin) { |
| | | this.temporaryWeighObj.skin = newV; |
| | | this.temporaryWeighObj.isWeightclean = newV; |
| | | } else { |
| | | this.temporaryWeighObj.isWeightclean = newV; |
| | | |
| | | this.isweigh = Number(this.currentClean) < 0; |
| | | } |
| | | } |
| | | }, |
| | | deep: true |
| | | } |
| | | }, |
| | | onPullDownRefresh() { |
| | | if (!this.globalisconnect && !this.globalisUploadimg && this.globalisLogin) { |
| | | if (!this.is_open_socket) { |
| | | this.$store.dispatch('websocketInit') |
| | | this.changeisconnect(false); |
| | | console.log('称重的ws'); |
| | | uni.stopPullDownRefresh(); |
| | | } else { |
| | | uni.stopPullDownRefresh(); |
| | | } |
| | | } |
| | | }, |
| | | onShow() { |
| | | this.init(); |
| | | // this.realTimeWeigh = 0 |
| | | if (this.timer) { |
| | | clearTimeout(this.timer) |
| | | } |
| | | this.timer = setTimeout(() => { |
| | | if (!this.globalweigh) { |
| | | console.log('称重时自动重连'); |
| | | this.socketTask.close(); |
| | | this.changesocketTask(null); |
| | | this.changereconnectNum({ connectNum: 1, isWeigh: true }) |
| | | this.$store.dispatch('websocketInit'); |
| | | } |
| | | }, 3000) |
| | | }, |
| | | onHide() { |
| | | clearTimeout(this.timer) |
| | | }, |
| | | onUnload() { |
| | | clearTimeout(this.timer) |
| | | }, |
| | | |
| | | computed: { |
| | | ...mapState(['globalweigh', 'globalinfraredStatus', 'globalWarning', 'globalisconnect', 'globalisUploadimg', |
| | | 'globalisLogin', 'socketTask','is_open_socket' |
| | | ]), |
| | | token() { |
| | | return uni.getStorageSync('token'); |
| | | }, |
| | | // 加减煤按钮禁用与否 |
| | | addAndSubtractCoalDisabled() { |
| | | return this.realTimeWeigh == 0; |
| | | }, |
| | | // 是否放空按钮禁用 |
| | | isEvacuation() { |
| | | if (this.weighList.orderType == '外销' || this.weighList.orderType == '内销' || this.weighList.orderType == |
| | | '转出') { |
| | | return (this.weighList.skin === 0 ? this.temporaryWeighObj.skin : this.weighList.skin) == this |
| | | .temporaryWeighObj.hair; |
| | | } |
| | | if (this.weighList.orderType == '外购' || this.weighList.orderType == '内购' || this.weighList.orderType == |
| | | '转入') { |
| | | return (this.weighList.hair === 0 ? this.temporaryWeighObj.skin : this.weighList.hair) == this |
| | | .temporaryWeighObj.hair; |
| | | } |
| | | }, |
| | | |
| | | showWeigh() { |
| | | return this.weighList.tmTaskCoalItems ? (this.weighList.tmTaskCoalItems[0] ? this |
| | | .weighList.tmTaskCoalItems[0] : {}) : {} |
| | | }, |
| | | // 称重历史 |
| | | weighHistory() { |
| | | return this.weighList.tmTaskCoalItems ? this.weighList.tmTaskCoalItems : [] |
| | | }, |
| | | currentHair() { |
| | | if (this.weighList.orderType == '外销' || this.weighList.orderType == '内销' || this.weighList.orderType == |
| | | '转出') { |
| | | return this.temporaryWeighObj.hair ? this.temporaryWeighObj.hair : '' |
| | | } |
| | | return this.temporaryWeighObj.hair ? this.temporaryWeighObj.hair : this.showWeigh.skin ? (this.showWeigh |
| | | .skin || '') : (this.showWeigh.hair || '') |
| | | }, |
| | | currentSkin() { |
| | | return this.temporaryWeighObj.skin ? this.temporaryWeighObj.skin : (this.showWeigh.skin || '') |
| | | }, |
| | | currentClean() { |
| | | if (!this.currentSkin) return '' |
| | | if (this.weighList.orderType == '外购' || this.weighList.orderType == '内购' || this.weighList |
| | | .orderType == '转入') { |
| | | return (this.currentHair - this.currentSkin).toFixed(2) |
| | | } else { |
| | | return !this.showWeigh.skin ? this.currentSkin : (this.currentHair - this.currentSkin) > 0 ? (this |
| | | .currentHair - this.currentSkin).toFixed(2) : '' |
| | | } |
| | | |
| | | }, |
| | | isWeightclean(){ |
| | | console.log(this.temporaryWeighObj,'his.temporaryWeighObj') |
| | | return this.temporaryWeighObj.skin || '' |
| | | }, |
| | | isweight(){ |
| | | if(this.isWeighing){ |
| | | if(this.isWeighing == '不回磅'){ |
| | | return false |
| | | }else{ |
| | | return true |
| | | } |
| | | |
| | | }else{ |
| | | return true |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | ...mapMutations(['changeweighHouseCode', 'changeisLogin', 'changeWeigh','changereconnectNum','changesocketTask']), |
| | | init() { |
| | | uni.showLoading({ |
| | | title: '加载中' |
| | | }) |
| | | // 获取称重信息 |
| | | this.$reqGet('weighList', { id: this.takeCoalId }).then(res => { |
| | | console.log(res, '获取称重信息'); |
| | | uni.hideLoading() |
| | | if (res.code == 0) { |
| | | this.weighList = res.data; |
| | | this.weighData.deptId = res.data.deptId; |
| | | this.weighData.tmId = res.data.id; |
| | | this.weighData.carNo = res.data.carNo; |
| | | this.weighData.tmCode = res.data.code; |
| | | this.weighData.filedId = res.data.filedId; |
| | | this.outBuy = (this.weighList.orderType.indexOf('销') !== -1) && this.showWeigh.skin > 0; |
| | | // 继续卸货只有外购类型第二次会有 |
| | | this.canUnload = this.weighList.orderType === '外购' && this.showWeigh.hair > 0; |
| | | } |
| | | }); |
| | | }, |
| | | /** |
| | | * @确认称重等待后端提供实时称重接口,获取皮重,毛重 |
| | | */ |
| | | confirmWeigh() { |
| | | if (this.isConfirmWeighLoading == false) { |
| | | this.isConfirmWeighLoading = true; |
| | | if (this.weighData.weigh != 0) { |
| | | if (this.weighList.orderType == '外销') { |
| | | if (this.weighList.skin ? (this.weighList.skin < this.realTimeWeigh ? true : false) : true) { |
| | | this.saveWeigh(); |
| | | } else { |
| | | this.$u.toast('毛重不能小于皮重'); |
| | | this.isConfirmWeighLoading = false; |
| | | } |
| | | } else { |
| | | this.saveWeigh(); |
| | | } |
| | | } else { |
| | | this.saveWeigh(); |
| | | this.$u.toast('未能获取地磅重量'); |
| | | this.isConfirmWeighLoading = false; |
| | | } |
| | | } else { |
| | | this.$u.toast('未能获取地磅重量'); |
| | | this.isConfirmWeighLoading = false; |
| | | } |
| | | } |
| | | }, |
| | | // 确认称重接口 |
| | | saveWeigh() { |
| | | this.$reqPost('saveWeigh', this.weighData, 'json') |
| | | .then(res => { |
| | | console.log(res, '称重接口'); |
| | | }, |
| | | // 确认称重接口 |
| | | saveWeigh() { |
| | | // this.weighData.coalContactClean = this.coalContactClean; |
| | | this.$reqPost('saveWeigh', this.weighData, 'json') |
| | | .then(res => { |
| | | console.log(res, '称重接口'); |
| | | if (res.code == 0) { |
| | | this.$u.toast('称重成功'); |
| | | setTimeout(() => { |
| | | uni.navigateBack({ |
| | | delta: 1 |
| | | }); |
| | | this.isConfirmWeighLoading = false; |
| | | }, 1000); |
| | | } else { |
| | | this.$u.toast('称重失败,请稍后重试' + (res.msg ? res.msg : '')); |
| | | } |
| | | }) |
| | | .catch(err => { |
| | | this.isConfirmWeighLoading = false; |
| | | console.log(err); |
| | | this.$u.toast(err.msg ? err.msg : '称重失败'); |
| | | }); |
| | | }, |
| | | // 加减煤 |
| | | addAndSubtractCoal() { |
| | | this.$reqPost('addAndSubtractCoal', { |
| | | deptId: this.weighData.deptId, |
| | | sceneId: this.weighData.sceneId, |
| | | carNo: this.weighData.carNo, |
| | | tmId: this.weighData.tmId, |
| | | filedId: this.weighData.filedId, |
| | | tmId: this.weighData.tmId, |
| | | gateCameraId: this.weighData.gateCameraId, |
| | | equipmentCode: this.weighData.equipmentCode, |
| | | tmCode: this.weighData.tmCode, |
| | | sceneInOut: this.weighData.sceneInOut, |
| | | weigh: this.realTimeWeigh |
| | | }, 'json').then(res => { |
| | | if (res.code == 0) { |
| | | this.$u.toast('称重成功'); |
| | | this.$u.toast('操作成功,即将返回上一页'); |
| | | setTimeout(() => { |
| | | uni.navigateBack({ |
| | | delta: 1 |
| | | }); |
| | | this.isConfirmWeighLoading = false; |
| | | }, 1000); |
| | | console.log(res, '加减煤'); |
| | | } else { |
| | | this.$u.toast('称重失败,请稍后重试'); |
| | | this.$u.toast('操作失败,请稍候重试'); |
| | | } |
| | | }); |
| | | }, |
| | | // 继续卸货 |
| | | UnloadingAgainHandle() { |
| | | this.UnloadingAgainLoading = true |
| | | this.$reqPost('continueWeigh', { |
| | | deptId: this.weighData.deptId, |
| | | sceneId: this.weighData.sceneId, |
| | | carNo: this.weighData.carNo, |
| | | tmId: this.weighData.tmId, |
| | | filedId: this.weighData.filedId, |
| | | tmId: this.weighData.tmId, |
| | | gateCameraId: this.weighData.gateCameraId, |
| | | equipmentCode: this.weighData.equipmentCode, |
| | | tmCode: this.weighData.tmCode, |
| | | sceneInOut: this.weighData.sceneInOut, |
| | | weigh: this.realTimeWeigh |
| | | }, 'json').then(res => { |
| | | this.UnloadingAgainLoading = false |
| | | if (res.code == 0) { |
| | | this.$u.toast('操作成功,即将返回上一页'); |
| | | setTimeout(() => { |
| | | uni.navigateBack({ |
| | | delta: 1 |
| | | }); |
| | | }, 1000); |
| | | } else { |
| | | this.$u.toast('操作失败,请稍候重试'); |
| | | } |
| | | }) |
| | | .catch(err => { |
| | | this.isConfirmWeighLoading = false; |
| | | console.log(err); |
| | | }, |
| | | // 放空 |
| | | evacuation() { |
| | | this.evacuationModalShow = true; |
| | | }, |
| | | // 放空弹窗确认 |
| | | evacuationConfirm() { |
| | | this.$reqPost('getTwoEvacuation', this.weighData, 'json').then(res => { |
| | | console.log(res, '第二次放空'); |
| | | if (res.code == 0) { |
| | | this.$u.toast('操作成功'); |
| | | this.evacuationModalShow = false; |
| | | } else { |
| | | this.$u.toast(res.msg ? res.msg : '操作失败'); |
| | | this.evacuationModalShow = true; |
| | | } |
| | | }); |
| | | }, |
| | | // 加减煤 |
| | | addAndSubtractCoal() { |
| | | this.$reqPost('addAndSubtractCoal', { deptId: this.weighData.deptId, sceneId: this.weighData.sceneId, carNo: this.weighData.carNo }, 'json').then(res => { |
| | | if (res.code == 0) { |
| | | this.$u.toast('操作成功,即将返回上一页'); |
| | | setTimeout(() => { |
| | | uni.navigateBack({ |
| | | delta: 1 |
| | | }); |
| | | this.isConfirmWeighLoading = false; |
| | | }, 1000); |
| | | console.log(res, '加减煤'); |
| | | } |
| | | }); |
| | | }, |
| | | /** |
| | | * 初始化 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('磅房暂时不能使用,请重新进入该页面,重试!!'); |
| | | // }); |
| | | // }, |
| | | // 放空 |
| | | evacuation() { |
| | | this.evacuationModalShow = true; |
| | | }, |
| | | // 放空弹窗确认 |
| | | evacuationConfirm() { |
| | | this.$reqPost('getTwoEvacuation', this.weighData, 'json').then(res => { |
| | | console.log(res, '第二次放空'); |
| | | }, |
| | | // 放空弹窗取消 |
| | | evacuationCancel() { |
| | | this.evacuationModalShow = false; |
| | | }); |
| | | }, |
| | | // 放空弹窗取消 |
| | | evacuationCancel() { |
| | | this.evacuationModalShow = false; |
| | | }, |
| | | } |
| | | } |
| | | }; |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | ::v-deep.weighingDevice { |
| | | width: 100%; |
| | | height: 100vh; |
| | | display: flex; |
| | | flex-direction: column; |
| | | .one { |
| | | flex: 2; |
| | | border: vww(2) solid #dddddd; |
| | | margin: vww(20) vww(20) 0 vww(20); |
| | | border-radius: vww(15); |
| | | .top { |
| | | height: 80%; |
| | | display: flex; |
| | | .top_left { |
| | | flex: 3; |
| | | font-size: vww(50); |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | } |
| | | .top_right { |
| | | display: flex; |
| | | <style lang="scss" |
| | | scoped> |
| | | .weighingDecive-item{ |
| | | min-height: 200rpx!important; |
| | | .weigh-history { |
| | | min-height: 200rpx!important; |
| | | } |
| | | } |
| | | @mixin flex { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | } |
| | | |
| | | // 称重历史 |
| | | .weighHistory-enter-active, |
| | | .weighHistory-leave-active { |
| | | transition: opacity 0.5s ease; |
| | | } |
| | | |
| | | .weighHistory-enter-from, |
| | | .weighHistory-leave-to { |
| | | opacity: 0; |
| | | } |
| | | |
| | | .weigh-history { |
| | | width: 690rpx; |
| | | height: 100%; |
| | | min-height: 420rpx; |
| | | margin: vww(10) auto vww(20); |
| | | background: #ffffff; |
| | | box-shadow: 4rpx 6rpx 51rpx 0rpx rgba(73, 120, 240, 0.11); |
| | | border-radius: 20rpx; |
| | | position: relative; |
| | | font-size: 30rpx; |
| | | font-weight: 300; |
| | | color: #303030; |
| | | overflow: hidden; |
| | | |
| | | .block-main { |
| | | display: grid; |
| | | grid-template-columns: auto; |
| | | grid-template-rows: repeat(auto-fit, minmax(40rpx, 1fr)); |
| | | width: 94%; |
| | | height: 100%; |
| | | min-height: 380rpx; |
| | | margin: vww(18) vww(7) vww(11) vww(17); |
| | | gap: 10rpx 20rpx; |
| | | |
| | | .weigh-item { |
| | | width: 100%; |
| | | height: vww(80); |
| | | @include flex; |
| | | flex-direction: column; |
| | | justify-content: center; |
| | | flex: 2; |
| | | view { |
| | | display: flex; |
| | | justify-content: space-around; |
| | | align-items: flex-start; |
| | | |
| | | .item-block { |
| | | width: 100%; |
| | | height: vww(36); |
| | | @include flex; |
| | | justify-content: space-around; |
| | | |
| | | .item { |
| | | min-width: vww(50); |
| | | height: vww(45); |
| | | font-size: 21rpx; |
| | | font-weight: 400; |
| | | color: #ffffff; |
| | | text-align: center; |
| | | line-height: vww(30); |
| | | @include flex; |
| | | |
| | | .concrete { |
| | | width: vww(36); |
| | | height: vww(36); |
| | | } |
| | | |
| | | .num { |
| | | font-size: 40rpx; |
| | | font-weight: 300; |
| | | color: #303030; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .bottom { |
| | | text-align: center; |
| | | position: relative; |
| | | top: vww(-30); |
| | | } |
| | | } |
| | | .two { |
| | | flex: 4; |
| | | border: vww(2) solid #dddddd; |
| | | margin: vww(20); |
| | | border-radius: vww(10); |
| | | padding: vww(20); |
| | | p { |
| | | text-align: center; |
| | | font-size: vww(20); |
| | | font-weight: 500; |
| | | margin-top: vww(5); |
| | | } |
| | | } |
| | | .three { |
| | | margin: 0 auto vww(20); |
| | | flex: 0.7; |
| | | |
| | | ::v-deep.weighingDevice { |
| | | width: 100%; |
| | | height: 100%; |
| | | display: flex; |
| | | color: #939393; |
| | | .u-button { |
| | | &:nth-of-type(2) { |
| | | margin-left: vww(10); |
| | | flex-direction: column; |
| | | |
| | | .one { |
| | | // flex: 3; |
| | | height: 290rpx; |
| | | margin: vww(20); |
| | | border-radius: vww(15); |
| | | |
| | | .top { |
| | | height: 75%; |
| | | display: flex; |
| | | |
| | | .top_left { |
| | | flex: 3; |
| | | font-size: vww(50); |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | font-size: 74rpx; |
| | | font-weight: 400; |
| | | color: #ffffff; |
| | | line-height: 69rpx; |
| | | text-shadow: 0rpx 3rpx 14rpx rgba(0, 0, 0, 0.33); |
| | | |
| | | text { |
| | | font-family: weighting; |
| | | } |
| | | } |
| | | |
| | | .top_right { |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: center; |
| | | flex: 2; |
| | | font-size: 31rpx; |
| | | font-weight: 300; |
| | | color: #ffffff; |
| | | |
| | | view { |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | } |
| | | } |
| | | &:nth-of-type(3) { |
| | | margin-left: vww(10); |
| | | |
| | | .bottom { |
| | | text-align: center; |
| | | height: 25%; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | flex-direction: column; |
| | | font-size: 28rpx; |
| | | font-weight: 300; |
| | | color: #d9e1fe; |
| | | } |
| | | } |
| | | |
| | | .middle-block { |
| | | width: 690rpx; |
| | | height: 386rpx; |
| | | margin: vww(20) vww(15) vww(13); |
| | | background: #ffffff; |
| | | box-shadow: 0rpx 0rpx 14rpx 0rpx rgba(73, 120, 240, 0.14), 0rpx 7rpx 45rpx 0rpx rgba(73, 120, 240, 0.12); |
| | | border-radius: 20rpx; |
| | | @include flex; |
| | | justify-content: center; |
| | | overflow: hidden; |
| | | |
| | | .block-main { |
| | | width: 650rpx; |
| | | height: 350rpx; |
| | | @include flex; |
| | | flex-direction: column; |
| | | margin-bottom: vww(20); |
| | | position: relative; |
| | | |
| | | .first-line, |
| | | .second-line { |
| | | width: 90%; |
| | | height: vww(44); |
| | | |
| | | .focusClass { |
| | | color: #5b95fd; |
| | | } |
| | | |
| | | .inputClass { |
| | | border: 1px solid rgba(73, 95, 252, 0.6) !important; |
| | | box-shadow: 0rpx 5rpx 13rpx 0rpx rgba(73, 95, 252, 0.6) !important; |
| | | border-radius: 12rpx !important; |
| | | } |
| | | |
| | | .isInputOrigin { |
| | | background-color: #f4f4fc; |
| | | } |
| | | |
| | | .input-container { |
| | | border: 2px solid #c5c5c5; |
| | | box-shadow: 0rpx 5rpx 13rpx 0rpx #c5c5c5; |
| | | border-radius: 12rpx; |
| | | } |
| | | } |
| | | |
| | | .first-line { |
| | | @include flex; |
| | | position: relative; |
| | | top: vww(8); |
| | | } |
| | | |
| | | .second-line { |
| | | @include flex; |
| | | } |
| | | } |
| | | |
| | | .block-sideline { |
| | | width: 94%; |
| | | height: vww(100); |
| | | @include flex flex-direction: column; |
| | | align-items: flex-start; |
| | | |
| | | .first-line { |
| | | width: 100%; |
| | | } |
| | | |
| | | .weigh-item { |
| | | width: 100%; |
| | | height: vww(36); |
| | | @include flex justify-content: space-around; |
| | | |
| | | .item { |
| | | min-width: vww(50); |
| | | height: vww(45); |
| | | font-size: 21rpx; |
| | | font-weight: 400; |
| | | color: #ffffff; |
| | | text-align: center; |
| | | line-height: vww(30); |
| | | @include flex; |
| | | |
| | | .concrete { |
| | | width: vww(36); |
| | | height: vww(36); |
| | | } |
| | | |
| | | .num { |
| | | font-size: 40rpx; |
| | | font-weight: 300; |
| | | color: #303030; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .bottom-block { |
| | | width: calc(100% - 60rpx); |
| | | box-sizing: border-box; |
| | | height: 420rpx; |
| | | margin: 0 vww(15) vww(15) vww(15); |
| | | background: #ffffff; |
| | | box-shadow: 0rpx 0rpx 14rpx 0rpx rgba(73, 120, 240, 0.14), 0rpx 7rpx 45rpx 0rpx rgba(73, 120, 240, 0.12); |
| | | border-radius: 20rpx; |
| | | @include flex; |
| | | justify-content: center; |
| | | overflow: hidden; |
| | | |
| | | .block-main { |
| | | width: 94%; |
| | | height: 420rpx; |
| | | margin-top: vww(5); |
| | | @include flex; |
| | | justify-content: space-around; |
| | | align-items: flex-start; |
| | | flex-direction: column; |
| | | overflow: hidden; |
| | | |
| | | .main-information { |
| | | width: 100%; |
| | | height: 28rpx; |
| | | font-size: 28rpx; |
| | | font-weight: 300; |
| | | color: #303030; |
| | | @include flex; |
| | | justify-content: flex-start; |
| | | overflow: hidden; |
| | | |
| | | .prefix { |
| | | min-width: vww(60); |
| | | } |
| | | |
| | | .suffix { |
| | | flex: 1; |
| | | margin-left: vww(12); |
| | | text-align: left; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .three { |
| | | margin: 0 auto vww(5); |
| | | margin-bottom: vww(60); |
| | | width: 96%; |
| | | display: grid; |
| | | grid-template-columns: repeat(auto-fit, minmax(140rpx, 1fr)); |
| | | justify-content: center; |
| | | gap: vww(10); |
| | | color: #939393; |
| | | |
| | | .u-button { |
| | | width: vww(70); |
| | | } |
| | | } |
| | | |
| | | .four { |
| | | width: 100%; |
| | | margin-top: vww(5); |
| | | text-align: center; |
| | | } |
| | | } |
| | | .four { |
| | | margin: vww(10) auto; |
| | | flex: 0.5; |
| | | |
| | | .secondary-confirmation__main { |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | |
| | | .secondary-child { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | | </style> |