| | |
| | | <template> |
| | | <view class="weighingDevice"> |
| | | <view class="one"> |
| | | <view class="one" |
| | | style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/weighbanner.png') no-repeat; |
| | | background-size: cover;"> |
| | | <view class="top"> |
| | | <view class="top_left"> |
| | | <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="infraredStatus ? 'error' : 'success'" :text="infraredStatus ? '异常' : '正常'" 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"><text>TIP:当前状态为正常时可以称重</text></view> |
| | | </view> |
| | | <view class="two"> |
| | | <p>订单编号:{{ weighList.code || '' }}</p> |
| | | <p>订单类型:{{ weighList.orderTye || '' }}</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"> |
| | | <view class="prefix">皮重:</view> |
| | | <view class="suffix"> |
| | | {{temporaryWeighObj.skin||''}} |
| | | </view> |
| | | </view> |
| | | <view class="main-information"> |
| | | <view class="prefix">毛重:</view> |
| | | <view class="suffix"> |
| | | {{temporaryWeighObj.hair?temporaryWeighObj.hair:showWeigh.skin?(showWeigh.skin||''):(showWeigh.hair||'')}} |
| | | </view> |
| | | </view> |
| | | <view class="main-information"> |
| | | <view class="prefix">净重:</view> |
| | | <view class="suffix"> |
| | | {{ temporaryWeighObj.clean||''}} |
| | | </view> |
| | | </view> |
| | | <view class="main-information"> |
| | | <view class="prefix">订单余量:</view> |
| | | <view class="suffix">{{ weighList.orderSurplus || 0 }}</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <!-- 称重历史--> |
| | | <transition name="weighHistory"> |
| | | <view class="weigh-history" |
| | | v-if="weighHistory.length!==0"> |
| | | <view class="block-main"> |
| | | <view class="weigh-item" |
| | | v-for='item in weighHistory' |
| | | :key="item.id"> |
| | | <view class="weigh-time"> |
| | | <u-tag :text="item.createTime.slice(-8,-3)" |
| | | plain></u-tag> |
| | | </view> |
| | | <view class="item-block"> |
| | | <view class="item"> |
| | | <view class="concrete" |
| | | style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/skin.png') no-repeat;background-size: cover;"> |
| | | 皮</view> |
| | | <view class="num">{{ item.skin }}</view> |
| | | </view> |
| | | <view class="item"> |
| | | <view class="concrete" |
| | | style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/hair.png') no-repeat;background-size: cover;"> |
| | | 毛</view> |
| | | <view class="num">{{ item.hair }}</view> |
| | | </view> |
| | | <view class="item"> |
| | | <view class="concrete" |
| | | style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/clean.png') no-repeat;background-size: cover;"> |
| | | 净</view> |
| | | <view class="num">{{ item.clean }}</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </transition> |
| | | <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" |
| | | <u-button type="primary" |
| | | text="确定称重" |
| | | :disabled="realTimeWeigh == 0 || infraredStatus" |
| | | :disabled="realTimeWeigh == 0 || globalinfraredStatus || isweigh " |
| | | :loading="isConfirmWeighLoading" |
| | | loadingText="加载中" |
| | | @click="confirmWeigh" |
| | | ></u-button> |
| | | <u-button type="primary" text="返回加减吨" :disabled="addAndSubtractCoalDisabled" @click="addAndSubtractCoal" class="jiajian"></u-button> |
| | | loadingText="确认" |
| | | @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="确认" |
| | | v-if='canUnload'></u-button> |
| | | </view> |
| | | <view class="four" v-if="weighList.orderTye == '外销'">如您需要调整装载货品吨数,请点击返回加减吨</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'; |
| | | export default { |
| | | onLoad(params) { |
| | | console.log(params, '第二次放空参数'); |
| | | this.takeCoalId = params.takeCoalId; |
| | | this.weighData.sceneId = params.sceneId; |
| | | this.weighData.gateCameraId = params.gateCameraId; |
| | | this.weighData.equipmentCode = params.gateCameraCode; |
| | | this.weighHouseCode = params.weighHouseCode; |
| | | }, |
| | | data() { |
| | | return { |
| | | // 是否可点击放空 |
| | | isEvacuation: false, |
| | | weighData: { |
| | | //确认称重接口参数 |
| | | deptId: '', |
| | | tmId: '', |
| | | sceneId: '', |
| | | carNo: '', |
| | | gateCameraId: '', |
| | | equipmentCode: '', |
| | | weigh: 0, |
| | | tmCode: '' |
| | | let socket = null; |
| | | import { webSocketUrl } from '@/api/request.js'; |
| | | import { mapState, mapMutations } from 'vuex'; |
| | | import combinedTitle from '@/components/combined-title/combined-title.vue'; |
| | | 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; |
| | | if (params.overTmWaixiao) { |
| | | this.weighData.overTmWaixiao = 1 |
| | | } |
| | | this.changeweighHouseCode(params.weighHouseCode); |
| | | }, |
| | | components: { |
| | | combinedTitle |
| | | }, |
| | | data() { |
| | | return { |
| | | 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 |
| | | }, |
| | | 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 |
| | | }; |
| | | }, |
| | | watch: { |
| | | realTimeWeigh(newV, oldV) { |
| | | if (this.weighList.orderType == '外销' || this.weighList.orderType == '内销' || this.weighList.orderType == |
| | | '转出') { |
| | | if (!this.showWeigh.skin) { |
| | | this.temporaryWeighObj.skin = newV; |
| | | } else { |
| | | this.temporaryWeighObj.hair = newV; |
| | | this.temporaryWeighObj.clean = (this.temporaryWeighObj.hair - this.showWeigh.skin).toFixed(2); |
| | | this.isweigh = this.temporaryWeighObj.clean > this.weighList.orderSurplus || this.temporaryWeighObj |
| | | .clean < 0; |
| | | } |
| | | } else if (this.weighList.orderType == '外购' || this.weighList.orderType == '内购' || this.weighList |
| | | .orderType == '转入') { |
| | | if (!this.showWeigh.hair) { |
| | | this.temporaryWeighObj.hair = newV; |
| | | } else { |
| | | this.temporaryWeighObj.skin = newV; |
| | | this.temporaryWeighObj.clean = (this.showWeigh.skin - newV).toFixed(2); |
| | | this.isweigh = this.temporaryWeighObj.clean > this.weighList.orderSurplus || this.temporaryWeighObj |
| | | .clean < 0 || this.showWeigh.skin < newV && this.showWeigh.skin > 0; |
| | | } |
| | | } |
| | | }, |
| | | 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 |
| | | // 监听重量变化 |
| | | globalweigh(newV) { |
| | | this.weighData.weigh = this.realTimeWeigh = newV; |
| | | console.log(this.realTimeWeigh, '真实重量改变了'); |
| | | } |
| | | }, |
| | | onShow() { |
| | | this.init(); |
| | | this.changeisLogin(true) |
| | | this.realTimeWeigh = 0 |
| | | }, |
| | | computed: { |
| | | ...mapState(['globalweigh', 'globalinfraredStatus']), |
| | | // coalContactClean() { |
| | | // return (Number(this.weighData.coalContactHair) - Number(this.weighData.coalContactSkin)).toFixed(2); |
| | | // }, |
| | | token() { |
| | | return uni.getStorageSync('token'); |
| | | }, |
| | | infraredStatus: false, // 红外状态, |
| | | // 放空控制 |
| | | evacuationModalShow: false, |
| | | evacuationTitle: '第二次放空确认', |
| | | evacuationContent: '是否确认放空' |
| | | }; |
| | | }, |
| | | watch: { |
| | | realTimeWeigh(newV, oldV) { |
| | | if (this.weighList.orderTye == '外销') { |
| | | if (this.weighList.skin == 0) { |
| | | this.temporaryWeighObj.skin = this.realTimeWeigh; |
| | | } else { |
| | | this.temporaryWeighObj.hair = this.realTimeWeigh; |
| | | this.temporaryWeighObj.clean = (this.temporaryWeighObj.hair - this.weighList.skin).toFixed(2); |
| | | // 加减煤按钮禁用与否 |
| | | 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; |
| | | } |
| | | } else if (this.weighList.orderTye == '外购') { |
| | | if (this.weighList.hair == 0) { |
| | | this.temporaryWeighObj.hair = this.realTimeWeigh; |
| | | } else { |
| | | this.temporaryWeighObj.skin = this.realTimeWeigh; |
| | | this.temporaryWeighObj = this.weighList.hair - this.temporaryWeighObj.skin; |
| | | if (this.weighList.orderType == '外购' || this.weighList.orderType == '内购' || this.weighList.orderType == |
| | | '转入') { |
| | | return (this.weighList.hair === 0 ? this.temporaryWeighObj.skin : this.weighList.hair) == this |
| | | .temporaryWeighObj.hair; |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | onShow() { |
| | | this.init(); |
| | | this.initWebSocket(); |
| | | }, |
| | | computed: { |
| | | token() { |
| | | return uni.getStorageSync('token'); |
| | | }, |
| | | // 加减煤按钮禁用与否 |
| | | addAndSubtractCoalDisabled() { |
| | | if (this.weighList.orderTye == '外销') { |
| | | if (this.weighList.skin == 0) { |
| | | return true; |
| | | } else if (this.weighList.skin != 0) { |
| | | return false; |
| | | } |
| | | }, |
| | | sideline() { |
| | | return this.weighList.orderType == '内购' || this.weighList.orderType == '转入'; |
| | | }, |
| | | showWeigh() { |
| | | return this.weighList.tmTaskCoalItems ? (this.weighList.tmTaskCoalItems[0] ? this |
| | | .weighList.tmTaskCoalItems[0] : {}) : {} |
| | | }, |
| | | weighHistory() { |
| | | return this.weighList.tmTaskCoalItems ? this.weighList.tmTaskCoalItems : [] |
| | | } |
| | | }, |
| | | isEvacuation() { |
| | | if (this.weighList.hair == this.weighList.skin || this.temporaryWeighObj.skin == this.temporaryWeighObj.hair) { |
| | | return false; |
| | | } else { |
| | | return true; |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | 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.orderTye == '外销') { |
| | | if (this.weighList.skin ? (this.weighList.skin < this.realTimeWeigh ? true : false) : true) { |
| | | this.saveWeigh(); |
| | | methods: { |
| | | ...mapMutations(['changeweighHouseCode', 'changeisLogin']), |
| | | 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.$u.toast('毛重不q能小于皮重'); |
| | | this.isConfirmWeighLoading = false; |
| | | 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 => { |
| | | }, |
| | | // 确认称重接口 |
| | | 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('称重失败,请稍后重试'); |
| | | } |
| | | }) |
| | | .catch(err => { |
| | | this.isConfirmWeighLoading = false; |
| | | console.log(err); |
| | | }); |
| | | }, |
| | | // 加减煤 |
| | | 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('操作失败,请稍候重试'); |
| | | } |
| | | }); |
| | | }, |
| | | // 继续卸货 |
| | | 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); |
| | | }); |
| | | }, |
| | | // 加减煤 |
| | | 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')}`; |
| | | 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; |
| | | }, |
| | | // 放空 |
| | | 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.infraredStatus = false; |
| | | this.weighData.weigh = this.realTimeWeigh = nowWeighObj.weigh; |
| | | this.$u.toast(res.msg ? res.msg : '操作失败'); |
| | | this.evacuationModalShow = true; |
| | | } |
| | | } |
| | | }); |
| | | socket.onClose(() => { |
| | | 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> |
| | | @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; |
| | | } |
| | | } |
| | | .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: 630rpx; |
| | | 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: 565rpx; |
| | | margin-top: vww(10); |
| | | @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); |
| | | width: 96%; |
| | | display: grid; |
| | | grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); |
| | | justify-content: center; |
| | | gap: vww(10); |
| | | color: #939393; |
| | | |
| | | .u-button { |
| | | width: vww(90); |
| | | } |
| | | } |
| | | |
| | | .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> |