| | |
| | | <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>{{ 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 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="middle-block" |
| | | v-if="firstHairCustomernameShow || sideline"> |
| | | <view class="block-main" |
| | | v-if="firstHairCustomernameShow"> |
| | | <view class="first-line"><combined-title title="原发信息"></combined-title></view> |
| | | <view class="second-line"> |
| | | <view class="label-text" |
| | | :class="{ focusClass: isfocus1 }">皮重</view> |
| | | <view class="input-container" |
| | | :class="{ inputClass: isfocus1, disabledClass: haveInputOrigin }"> |
| | | <u--input placeholder="请输入皮重" |
| | | border="surround" |
| | | v-model="weighData.coalContactSkin" |
| | | @focus="inputFocus(1)" |
| | | @blur="inputBlur" |
| | | @change="inputChange" |
| | | :disabled="haveInputOrigin"></u--input> |
| | | </view> |
| | | <view class="unit" |
| | | :class="{ focusClass: isfocus1 }">吨</view> |
| | | </view> |
| | | <view class="second-line"> |
| | | <view class="label-text" |
| | | :class="{ focusClass: isfocus2 }">毛重</view> |
| | | <view class="input-container" |
| | | :class="{ inputClass: isfocus2, disabledClass: haveInputOrigin }"> |
| | | <u--input placeholder="请输入毛重" |
| | | border="surround" |
| | | v-model="weighData.coalContactHair" |
| | | @focus="inputFocus(2)" |
| | | @blur="inputBlur" |
| | | @change="inputChange" |
| | | :disabled="haveInputOrigin"></u--input> |
| | | </view> |
| | | <view class="unit" |
| | | :class="{ focusClass: isfocus2 }">吨</view> |
| | | </view> |
| | | <view class="second-line"> |
| | | <view class="label-text">净重</view> |
| | | <view class="input-container" |
| | | :class="{ disabledClass: haveInputOrigin }"> |
| | | <u--input placeholder="净重" |
| | | border="surround" |
| | | v-model="coalContactClean" |
| | | :disabled="haveInputOrigin"></u--input> |
| | | </view> |
| | | <view class="unit">吨</view> |
| | | </view> |
| | | </view> |
| | | <view class="block-sideline" |
| | | v-if="sideline"> |
| | | <view class="first-line"><combined-title title="原发信息"></combined-title></view> |
| | | <view class="weigh-item"> |
| | | <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">{{ weighList.skinTwo }}</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">{{ weighList.hairTwo }}</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">{{ weighList.cleanTwo }}</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view v-else |
| | | style="width: 100%;height: 40rpx;"></view> |
| | | <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">{{ temporaryWeighObj.skin == 0 ? weighList.skin : temporaryWeighObj.skin }} |
| | | </view> |
| | | </view> |
| | | <view class="main-information"> |
| | | <view class="prefix">毛重:</view> |
| | | <view class="suffix">{{ temporaryWeighObj.hair == 0 ? weighList.hair : temporaryWeighObj.hair }} |
| | | </view> |
| | | </view> |
| | | <view class="main-information"> |
| | | <view class="prefix">净重:</view> |
| | | <view class="suffix">{{ temporaryWeighObj.clean == 0 ? weighList.clean : temporaryWeighObj.clean }} |
| | | </view> |
| | | </view> |
| | | <view class="main-information"> |
| | | <view class="prefix">订单余量:</view> |
| | | <view class="suffix">{{ weighList.orderSurplus || 0 }}</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="three"> |
| | | <!-- 外销订单成皮时,返回加减吨按钮置灰。称毛时可用.外购订单,不出现返回加减吨的按钮 --> |
| | | <u-button |
| | | type="primary" |
| | | <!-- 放空 --> |
| | | <u-button type="primary" |
| | | text="放空" |
| | | plain |
| | | @click="evacuation" |
| | | throttleTime="500" |
| | | :disabled="!isEvacuation"></u-button> |
| | | <!-- 外销订单称皮时,返回加减吨按钮置灰。称毛时可用.外购订单,不出现返回加减吨的按钮 --> |
| | | <u-button type="primary" |
| | | text="确定称重" |
| | | :disabled="realTimeWeigh == 0 || infraredStatus" |
| | | :disabled="realTimeWeigh == 0 || globalinfraredStatus || isweigh || !isInputOrigin" |
| | | :loading="isConfirmWeighLoading" |
| | | loadingText="加载中" |
| | | @click="confirmWeigh" |
| | | ></u-button> |
| | | <u-button type="primary" text="返回加减吨" :disabled="addAndSubtractCoalDisabled" v-if="weighList.orderTye == '外销'" @click="addAndSubtractCoal"></u-button> |
| | | loadingText="确认" |
| | | @click="confirmWeigh"></u-button> |
| | | <u-button type="primary" |
| | | text="返回加减吨" |
| | | :disabled="addAndSubtractCoalDisabled" |
| | | @click="addAndSubtractCoal" |
| | | class="jiajian" |
| | | v-if="outBuy"></u-button> |
| | | </view> |
| | | <view class="four">如您需要调整装载货品吨数,请点击返回加减吨</view> |
| | | <view style="width: 200rpx;margin: auto;position: relative;" |
| | | v-if="historyBtn"><u-button type="primary" |
| | | text="显示历史皮重" |
| | | @click.stop="displayHistory"></u-button></view> |
| | | <Transition name="slide-fade"> |
| | | <view class="history-skin" |
| | | v-if="historyShow"> |
| | | <view class="history-skin_item" |
| | | v-for="item in tmTaskCoalList"> |
| | | <view class="createTime"> |
| | | 日期:{{item.createTime.slice(0,10)}} |
| | | </view> |
| | | <view class="skin"> |
| | | <view class=""> |
| | | 皮重: |
| | | </view> |
| | | <view class=""> |
| | | {{item.skin}} |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </Transition> |
| | | <!-- 放空弹窗 --> |
| | | <view class="evacuationModal"> |
| | | <u-modal :show="evacuationModalShow" |
| | | :title="evacuationTitle" |
| | | :content="evacuationContent" |
| | | :showCancelButton="true" |
| | | @confirm="evacuationConfirm" |
| | | @cancel="evacuationCancel"></u-modal> |
| | | </view> |
| | | <!-- 称重异常弹窗 --> |
| | | <view class=""> |
| | | <u-modal :show="abnormalModalShow" |
| | | title="异常原因" |
| | | :showCancelButton="true" |
| | | @confirm="abnormalConfirm" |
| | | @cancel="abnormalCancel" |
| | | confirmText="提交"> |
| | | <view class="slot-content"> |
| | | <u--form labelPosition="top"> |
| | | <u-form-item> |
| | | <u-textarea v-model="abnormalContent" |
| | | confirmType="done" |
| | | placeholder="请输入异常原因" |
| | | height='140' |
| | | count |
| | | border="surround" |
| | | autoHeight></u-textarea> |
| | | </u-form-item> |
| | | </u--form> |
| | | </view> |
| | | </u-modal> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | let socket = null; |
| | | import { webSocketUrl } from '@/api/request.js'; |
| | | export default { |
| | | onLoad(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 { |
| | | weighData: { |
| | | //确认称重接口参数 |
| | | deptId: '', |
| | | tmId: '', |
| | | sceneId: '', |
| | | carNo: '', |
| | | gateCameraId: '', |
| | | equipmentCode: '', |
| | | weigh: 0, |
| | | tmCode: '' |
| | | }, |
| | | 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// 红外状态 |
| | | }; |
| | | }, |
| | | 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 |
| | | } |
| | | } 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 |
| | | } |
| | | 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 |
| | | } |
| | | } |
| | | }, |
| | | onShow() { |
| | | this.init(); |
| | | this.initWebSocket(); |
| | | }, |
| | | computed: { |
| | | token() { |
| | | return uni.getStorageSync('token'); |
| | | this.changeweighHouseCode(params.weighHouseCode); |
| | | }, |
| | | // 加减煤按钮禁用与否 |
| | | addAndSubtractCoalDisabled() { |
| | | if (this.weighList.orderTye == '外销') { |
| | | if (this.weighList.skin == 0) { |
| | | return true; |
| | | } else if (this.weighList.skin != 0) { |
| | | return false; |
| | | } |
| | | } |
| | | components: { |
| | | combinedTitle |
| | | }, |
| | | }, |
| | | 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; |
| | | } |
| | | }); |
| | | 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: 0, |
| | | hair: 0, |
| | | clean: 0 |
| | | }, |
| | | infraredStatus: false, // 红外状态, |
| | | // 放空控制 |
| | | evacuationModalShow: false, |
| | | evacuationTitle: '放空确认', |
| | | evacuationContent: '是否确认放空', |
| | | // 获取原发信息 |
| | | primarySkin: null, |
| | | primaryHair: null, |
| | | primaryClean: null, |
| | | // 判断称重按钮是否可用 |
| | | isweigh: false, |
| | | // 外购类型称重填写毛,皮, |
| | | firstHairCustomernameShow: false, |
| | | coalContactHair: '', |
| | | coalContactSkin: '', |
| | | // 聚焦时改变样式 |
| | | isfocus1: false, |
| | | isfocus2: false, |
| | | // 外购第一次称毛重不需要加减吨 |
| | | outBuy: true, |
| | | // 皮重异常相关 |
| | | abnormalContent: '', |
| | | avgSkin: null, // 平均皮重 |
| | | tmTaskCoalList: [], |
| | | abnormalModalShow: false, |
| | | historyBtn: false, |
| | | historyShow: false |
| | | }; |
| | | }, |
| | | /** |
| | | * @确认称重等待后端提供实时称重接口,获取皮重,毛重 |
| | | */ |
| | | 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(); |
| | | watch: { |
| | | realTimeWeigh(newV, oldV) { |
| | | |
| | | }, |
| | | // 监听重量变化 |
| | | globalweigh: { |
| | | deep: true, |
| | | handler: function(newV) { |
| | | this.weighData.weigh = this.realTimeWeigh = newV; |
| | | if (this.weighList.orderType == '外销' || this.weighList.orderType == '内销' || this.weighList |
| | | .orderType == |
| | | '转出') { |
| | | if (this.weighList.skin == 0) { |
| | | this.getAverageSkin() |
| | | this.temporaryWeighObj.skin = newV; |
| | | if (this.avgSkin < newV) { |
| | | this.abnormalModalShow = true |
| | | this.historyBtn = true |
| | | } |
| | | } else { |
| | | this.$u.toast('毛重不能小于皮重'); |
| | | this.isConfirmWeighLoading = false; |
| | | this.temporaryWeighObj.hair = newV; |
| | | this.temporaryWeighObj.clean = (this.temporaryWeighObj.hair - this.weighList.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.weighList.hair == 0) { |
| | | this.temporaryWeighObj.hair = newV; |
| | | } else { |
| | | this.temporaryWeighObj.skin = newV; |
| | | this.temporaryWeighObj.clean = (this.weighList.hair - this.temporaryWeighObj.skin).toFixed( |
| | | 2); |
| | | this.isweigh = this.temporaryWeighObj.clean > this.weighList.orderSurplus || this |
| | | .temporaryWeighObj |
| | | .clean < 0; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | onShow() { |
| | | this.init(); |
| | | this.changeisLogin(true) |
| | | this.realTimeWeigh = 0 |
| | | }, |
| | | onHide() { |
| | | |
| | | }, |
| | | computed: { |
| | | ...mapState(['globalweigh', 'globalinfraredStatus']), |
| | | coalContactClean() { |
| | | return (Number(this.weighData.coalContactHair) - Number(this.weighData.coalContactSkin)).toFixed(2); |
| | | }, |
| | | 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; |
| | | } |
| | | }, |
| | | sideline() { |
| | | return this.weighList.orderType == '内购' || this.weighList.orderType == '转入'; |
| | | } |
| | | }, |
| | | methods: { |
| | | ...mapMutations(['changeweighHouseCode', 'changeisLogin']), |
| | | init() { |
| | | uni.showLoading({ |
| | | title: "加载中" |
| | | }) |
| | | // 获取称重信息 |
| | | this.$reqGet('weighList', { id: this.takeCoalId }).then(res => { |
| | | console.log(res, '获取称重信息'); |
| | | if (res.code == 0) { |
| | | uni.hideLoading() |
| | | 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.weighData.coalContactHair = res.data.hairTwo ? res.data.hairTwo : 0; |
| | | this.weighData.coalContactSkin = res.data.skinTwo ? res.data.skinTwo : 0; |
| | | if (this.weighList.orderType == '外购') { |
| | | this.firstHairCustomernameShow = true; |
| | | if (this.weighList.hair > 0) { |
| | | this.haveInputOrigin = true; |
| | | this.isInputOrigin = true; |
| | | } |
| | | if (this.weighList.hair == 0) { |
| | | this.outBuy = false; |
| | | } |
| | | } else { |
| | | this.isInputOrigin = true; |
| | | } |
| | | } else { |
| | | this.saveWeigh(); |
| | | uni.hideLoading() |
| | | this.$u.toast('加载失败') |
| | | } |
| | | } else { |
| | | this.$u.toast('未能获取地磅重量'); |
| | | this.isConfirmWeighLoading = false; |
| | | }); |
| | | }, |
| | | /** |
| | | * @确认称重等待后端提供实时称重接口,获取皮重,毛重 |
| | | */ |
| | | 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.$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 |
| | | }, '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, '加减煤'); |
| | | } |
| | | }); |
| | | }, |
| | | // 放空 |
| | | 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; |
| | | } |
| | | }); |
| | | }, |
| | | // 放空弹窗取消 |
| | | evacuationCancel() { |
| | | this.evacuationModalShow = false; |
| | | }, |
| | | // input聚焦 |
| | | inputFocus(v) { |
| | | if (v == 1) { |
| | | this.isfocus1 = true; |
| | | } else { |
| | | this.isfocus2 = true; |
| | | } |
| | | }, |
| | | // input失焦 |
| | | inputBlur() { |
| | | this.isfocus1 = false; |
| | | this.isfocus2 = false; |
| | | }, |
| | | inputChange() { |
| | | if (this.weighData.coalContactHair > 0 && this.weighData.coalContactSkin > 0) { |
| | | this.isInputOrigin = true; |
| | | } |
| | | }, |
| | | getAverageSkin() { |
| | | uni.showLoading({ |
| | | title: "加载中" |
| | | }) |
| | | this.$reqGet('getAvgSkin').then(res => { |
| | | if (res.code === 0) { |
| | | uni.hideLoading() |
| | | this.avgSkin = res.data.avgSkin |
| | | this.tmTaskCoalList = res.data.tmTaskCoalList |
| | | } else { |
| | | uni.hideLoading() |
| | | 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.'暂定'){ |
| | | this.infraredStatus = true |
| | | }else{ |
| | | this.infraredStatus = false |
| | | this.weighData.weigh = this.realTimeWeigh = nowWeighObj.weigh; |
| | | } |
| | | } |
| | | }); |
| | | socket.onClose(() => { |
| | | console.log('webSocketClose'); |
| | | this.$u.toast('磅房接口终端'); |
| | | }); |
| | | socket.onError(err => { |
| | | console.log('socket报错', err); |
| | | this.$u.toast('磅房接口暂时不能使用,请重新进入该页面,重试!!'); |
| | | }); |
| | | }, |
| | | abnormalCancel() { |
| | | this.abnormalModalShow = false |
| | | }, |
| | | abnormalConfirm() { |
| | | uni.showLoading({ |
| | | title: "提交中" |
| | | }) |
| | | this.$reqPost('tmAbnormalTextAdd', { tmId: this.weighData.tmId, abnormalText: this.abnormalContent }, |
| | | 'params').then( |
| | | res => { |
| | | if (res.code == 0) { |
| | | uni.hideLoading() |
| | | this.$u.toast('提交成功') |
| | | this.abnormalModalShow = false |
| | | } else { |
| | | uni.hideLoading() |
| | | this.$u.toast('提交失败') |
| | | this.abnormalModalShow = true |
| | | } |
| | | }) |
| | | }, |
| | | displayHistory() { |
| | | this.historyShow = true |
| | | |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | ::v-deep.weighingDevice { |
| | | width: 100%; |
| | | height: 100vh; |
| | | display: flex; |
| | | flex-direction: column; |
| | | .one { |
| | | flex: 2; |
| | | border: vww(1) 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); |
| | | <style lang="scss" |
| | | scoped> |
| | | @mixin flex { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | } |
| | | |
| | | ::v-deep.weighingDevice { |
| | | width: 100%; |
| | | height: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | |
| | | .slot-content { |
| | | width: 96%; |
| | | border: 1rpx solid rgb(220, 223, 230); |
| | | } |
| | | |
| | | .one { |
| | | // flex: 3; |
| | | height: 290rpx; |
| | | margin: vww(20) vww(20) 0 vww(20); |
| | | border-radius: vww(15); |
| | | |
| | | .top { |
| | | height: 75%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | } |
| | | .top_right { |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: center; |
| | | flex: 2; |
| | | view { |
| | | |
| | | .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; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .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 { |
| | | text-align: center; |
| | | |
| | | .bottom-block { |
| | | width: calc(100% - 60rpx); |
| | | box-sizing: border-box; |
| | | height: 630rpx; |
| | | margin: 0 vww(15) vww(45) 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; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .two { |
| | | flex: 4; |
| | | border: vww(1) solid #dddddd; |
| | | margin: vww(20); |
| | | border-radius: vww(10); |
| | | padding: vww(20); |
| | | p { |
| | | text-align: center; |
| | | font-size: vww(20); |
| | | font-weight: 500; |
| | | |
| | | .three { |
| | | margin: 0 auto vww(20); |
| | | flex: 0.7; |
| | | display: flex; |
| | | color: #939393; |
| | | |
| | | .u-button { |
| | | &:nth-of-type(2) { |
| | | margin-left: vww(10); |
| | | } |
| | | |
| | | &:nth-of-type(3) { |
| | | margin-left: vww(10); |
| | | } |
| | | } |
| | | } |
| | | |
| | | .four { |
| | | width: 100%; |
| | | margin-top: vww(5); |
| | | text-align: center; |
| | | } |
| | | } |
| | | .three { |
| | | margin: 0 auto vww(20); |
| | | flex: 0.7; |
| | | display: flex; |
| | | color: #939393; |
| | | .u-button { |
| | | &:nth-of-type(2) { |
| | | margin-left: vww(10); |
| | | |
| | | .slide-fade-enter-active { |
| | | transition: all 0.3s ease-out; |
| | | } |
| | | |
| | | .history-skin { |
| | | width: 96%; |
| | | height: vww(300); |
| | | margin: vww(50) auto; |
| | | margin-top: vww(10); |
| | | 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; |
| | | overflow: scroll; |
| | | color: #000; |
| | | |
| | | |
| | | .history-skin_item { |
| | | width: 80%; |
| | | height: vww(30); |
| | | @include flex; |
| | | margin: vww(10) auto; |
| | | |
| | | .createTime { |
| | | color: rgb(60, 156, 255); |
| | | } |
| | | |
| | | .skin { |
| | | color: #f81414; |
| | | @include flex; |
| | | width: 180rpx; |
| | | height: vww(30); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .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> |