|  |  | 
 |  |  | <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> |