wk
2024-11-22 f2dd92deb176ad39b18805d5d2721fad0974a278
pages/public-page/faYunstatisticsDetails/faYunstatisticsDetails.vue
@@ -1,194 +1,1321 @@
<template>
   <view>
      <view class="main">
         <view class="main-body">
            <view class="body-container">
               <view class="container-block">
                  <view class="">车牌号</view>
                  <view class="">{{ faYunDetailobj.carNo || '' }}</view>
               </view>
   <view class="bill-of-lading-details">
      <view class="top-banner"
         style="background: url('https://wrzs.czjlchem.com:9090/appimg/image/banner/loadingbanner.png') no-repeat;background-size: cover;">
         <view class="top-information">
            <view class="cutomer-name"
               v-if="orderType == '转入' || orderType == '转出'">场地:{{ coalDetailsData.toFiledName || '' }}</view>
            <view class="cutomer-name"
               v-else>客户:{{ coalDetailsData.customerName || '' }}</view>
            <view class="fild-name">
               <view class="">矿场:{{ coalDetailsData.deptName || '暂无' }}</view>
               <view class=""
                  v-if="orderType == '转入' || orderType == '转出'">场地:{{ coalDetailsData.filedName || '' }}</view>
               <view class=""
                  v-else>仓库:{{ coalDetailsData.filedName || '暂无' }}</view>
            </view>
            <view class="body-container">
               <view class="container-block">
                  <view class="">提煤单状态</view>
                  <view class="">{{ coalStatus[faYunDetailobj.status] }}</view>
         </view>
         <view class="block-information">
            <view class="block-main">
               <view class="basic">
                  <view class="coalName">{{ coalDetailsData.productNames || coalDetailsData.productName }}</view>
                  <view class="status-button"
                     style="background: url('https://wrzs.czjlchem.com:9090/appimg/image/banner/statusbutton.png') no-repeat;
                              background-size: cover;">
                     {{coalDetailsData.statusView||''}}
                  </view>
               </view>
            </view>
            <view class="body-container">
               <view class="container-block">
                  <view class="">入场时间</view>
                  <view class="">{{ faYunDetailobj.inTime || '' }}</view>
               <view class="time">
                  <view class="time-icon"><u-icon name="clock"
                        color="#515151"
                        size="40"></u-icon></view>
                  <view class="send-date">{{ coalDetailsData.sendDate }}</view>
               </view>
            </view>
            <view class="body-container">
               <view class="container-block">
                  <view class="">皮重</view>
                  <view class="">{{ faYunDetailobj.skin || 0 }}</view>
               <view class="coal-code">类型:&nbsp;&nbsp;{{ coalDetailsData.orderType || '' }}</view>
               <view class="coal-code">收发单编号:&nbsp;&nbsp;{{ coalDetailsData.code || '' }}</view>
               <view class="coal-code">车牌号:&nbsp;&nbsp;{{ coalDetailsData.carNo || '' }}</view>
               <view class="order-code"
                  v-if="!isSpecial">
                  订单编号:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{ coalDetailsData.orderCode || '' }}</view>
               <view class="stream-view"
                  style="color: #475bfd;"
                  @click="streamView"
                  v-show="timeLineStatus===9">
                  查看装载情况
               </view>
            </view>
            <view class="body-container">
               <view class="container-block">
                  <view class="">毛重</view>
                  <view class="">{{ faYunDetailobj.hair || '' }}</view>
               </view>
            </view>
            <view class="body-container">
               <view class="container-block">
                  <view class="">净重</view>
                  <view class="">{{ faYunDetailobj.clean || '' }}</view>
               </view>
            </view>
            <view class="body-container">
               <view class="container-block">
                  <view class="">订单剩余量</view>
                  <view class="">{{ faYunDetailobj.allowance || '' }}</view>
               </view>
            </view>
            <view class="body-container">
               <view class="container-block">
                  <view class="">提煤单编号</view>
                  <view class="">{{ faYunDetailobj.code || '' }}</view>
               </view>
            </view>
            <view class="body-container last">
               <view class="container-block">
                  <view class="">订单编号</view>
                  <view class="">{{ faYunDetailobj.orderCode || '' }}</view>
               <view class="weigh-item" v-if="isShowClean">
                  <view class="item">
                     <view class="concrete"
                        style="background: url('https://wrzs.czjlchem.com:9090/appimg/image/banner/skin.png') no-repeat;background-size: cover;">
                        皮</view>
                     <view class="num" v-if="weightObj.skin">{{  Number(weightObj.skin).toFixed(2) ||"" }}</view>
                  </view>
                  <view class="item">
                     <view class="concrete"
                        style="background: url('https://wrzs.czjlchem.com:9090/appimg/image/banner/hair.png') no-repeat;background-size: cover;">
                        毛</view>
                     <view class="num" v-if="weightObj.hair">{{  Number(weightObj.hair).toFixed(2) ||""  }}</view>
                  </view>
                  <view class="item">
                     <view class="concrete"
                        style="background: url('https://wrzs.czjlchem.com:9090/appimg/image/banner/clean.png') no-repeat;background-size: cover;">
                        净</view>
                     <view class="num" v-if="(weightObj.clean || (weightObj.clean && weightObj.clean === 0 ))">{{ Number(weightObj.clean).toFixed(2)  ||""  }}</view>
                  </view>
               </view>
            </view>
         </view>
      </view>
   </view>
   <!-- <view>
      <combined-title title="发运详情"></combined-title>
      <view class="compDetails">
         <uni-table border stripe emptyText="暂无更多数据">
            <uni-tr>
               <uni-th align="left">提煤单编号</uni-th>
               <uni-td align="left">{{ faYunDetailobj.code || '' }}</uni-td>
      <!-- 子菜单 ---表格 -->
      <view class="sub-table">
         <view class="first-line"><combined-title title="产品信息"></combined-title></view>
         <view class="table">
            <uni-table  border
             id="table-box"
            v-if="coalDetailsData.isWeight === 1"
         emptyText="暂无更多数据">
               <uni-tr>
                   <uni-th align="center" >产品</uni-th>
                  <uni-th align="center">皮重</uni-th>
                  <uni-th align="center">毛重</uni-th>
                  <uni-th align="center">净重</uni-th>
                   <uni-th align="center">扣吨</uni-th>
                  <uni-th align="center">件数</uni-th>
               </uni-tr>
               <uni-tr v-for="(subItem, index) in tmTaskCoalList" :key="index">
                  <uni-td align="center">
                     <view class="name">{{ subItem.productName }}</view></uni-td>
               <uni-td align='right'>
                  <view  v-if="subItem.skin">{{ Number( subItem.skin).toFixed(2)  || ''}}</view>
               </uni-td>
               <uni-td align='right'>
                  <view class="name" v-if="subItem.hair">{{ Number(subItem.hair) .toFixed(2) || '' }}</view>
               </uni-td>
               <uni-td align='right'>
                  <view class="name" v-if="(subItem.clean || (subItem.clean && subItem.clean === 0))">{{ Number( subItem.clean).toFixed(2) || '' }}</view>
               </uni-td>
                <uni-td align="right">
               <view>{{ subItem.discount }}</view
               ></uni-td>
                  <uni-td align="right">
               <view>{{ subItem.productQuantity }}</view
               ></uni-td>
            </uni-tr>
            <uni-tr>
               <uni-th align="left">提煤单状态</uni-th>
               <uni-td align="left">{{ coalStatus[faYunDetailobj.status] }}</uni-td>
            </uni-table>
            <uni-table  border
             id="table-box"
            v-else
         emptyText="暂无更多数据">
               <uni-tr>
                   <uni-th align="center" >产品</uni-th>
                  <!-- <uni-th align="center">皮重</uni-th>
                  <uni-th align="center">毛重</uni-th>
                  <uni-th align="center">净重</uni-th> -->
                  <uni-th align="center">件数</uni-th>
               </uni-tr>
               <uni-tr v-for="(subItem, index) in tmTaskCoalList" :key="index">
                  <uni-td align="center">
                     <view class="name">{{ subItem.productName }}</view></uni-td>
               <!-- <uni-td align='right'>
                  <view  v-if="subItem.skin">{{ Number( subItem.skin).toFixed(2)  || ''}}</view>
               </uni-td>
               <uni-td align='right'>
                  <view class="name" v-if="subItem.hair">{{ Number(subItem.hair) .toFixed(2) || '' }}</view>
               </uni-td>
               <uni-td align='right'>
                  <view class="name" v-if="(subItem.clean || (subItem.clean && subItem.clean === 0))">{{ Number( subItem.clean).toFixed(2) || '' }}</view>
               </uni-td> -->
             
                  <uni-td align="right">
               <view>{{ subItem.productQuantity }}</view
               ></uni-td>
            </uni-tr>
            <uni-tr>
               <uni-th align="left">车牌号</uni-th>
               <uni-td align="left">{{ faYunDetailobj.carNo || '' }}</uni-td>
            </uni-tr>
            <uni-tr>
               <uni-th align="left">入场时间</uni-th>
               <uni-td align="left">{{ faYunDetailobj.inTime || '' }}</uni-td>
            </uni-tr>
            <uni-tr>
               <uni-th align="left">出场时间</uni-th>
               <uni-td align="left">{{ faYunDetailobj.outTime || '' }}</uni-td>
            </uni-tr>
            <uni-tr>
               <uni-th align="left">皮重</uni-th>
               <uni-td align="left">{{ faYunDetailobj.skin || 0 }}</uni-td>
            </uni-tr>
            <uni-tr>
               <uni-th align="left">毛重</uni-th>
               <uni-td align="left">{{ faYunDetailobj.hair || 0 }}</uni-td>
            </uni-tr>
            <uni-tr>
               <uni-th align="left">净重</uni-th>
               <uni-td align="left">{{ faYunDetailobj.clean || 0 }}</uni-td>
            </uni-tr>
            <uni-tr>
               <uni-th align="left">订单编号</uni-th>
               <uni-td align="left">{{ faYunDetailobj.orderCode || '' }}</uni-td>
            </uni-tr>
            <uni-tr>
               <uni-th align="left">订单剩余量</uni-th>
               <uni-td align="left">{{ faYunDetailobj.allowance || 0 }}</uni-td>
            </uni-tr>
         </uni-table>
            </uni-table>
         </view>
         <!-- 请输入集装箱号 -->
         <view class="codeBox" v-if="coalDetailsData.isContainerNum">
            <text>集装箱号:</text>
            <view class="inp">
               <u--input
                  placeholder="请输入集装箱号"
                  v-model="coalDetailsData.containerNumber"
               ></u--input>
            </view>
            <view>
               <u-button type="primary" text="确定" @click="enterClick"></u-button>
            </view>
         </view>
      </view>
   </view> -->
      <view class="origin-info"
         v-if="originInfoVisible&&!isSpecial && isShowYuanFa">
         <view class="origin-info_wrapper">
            <view class="origin-info_content">
               <!-- 折叠 -->
               <zh-collapse
               default_unfold
                accordion>
               <zh-collapse-item
               class="collItem">
               <!-- title -->
               <view slot="title">
                  <view class="first-line"><combined-title title="原发信息"></combined-title></view>
               </view>
                  <view class="" slot='cont'>
                  <u-form :model="originInfoForm"
                  :rules="rules"
                  label-position="top"
                  label-width="160"
                  :label-style="{'marginLeft':'9px'}"
                  ref="originInfoRef">
                  <view v-if="coalDetailsData.isWeight">
                     <u-form-item prop="coalContactSkin">
                     <view class="second-line">
                        <view class="label-text"
                           :class="{ focusClass: isfocus1 }"><text style="color: #f56c6c;">*</text>皮重</view>
                        <view class="input-container"
                           :class="{ inputClass: isfocus1, disabledClass: isModifyoriginInfo }">
                           <u--input placeholder="请输入皮重"
                              border="surround"
                              v-model="originInfoForm.coalContactSkin"
                              @focus="inputFocus(1)"
                              @blur="inputBlur"
                              @change="inputChange"
                              :disabled="isModifyoriginInfo"></u--input>
                        </view>
                        <view class="unit"
                           :class="{ focusClass: isfocus1 }">吨</view>
                     </view>
                  </u-form-item>
                  <u-form-item prop="coalContactHair">
                     <view class="second-line">
                        <view class="label-text"
                           :class="{ focusClass: isfocus2 }"><text style="color: #f56c6c;">*</text>毛重</view>
                        <view class="input-container"
                           :class="{ inputClass: isfocus2, disabledClass: isModifyoriginInfo }">
                           <u--input placeholder="请输入毛重"
                              border="surround"
                              v-model="originInfoForm.coalContactHair"
                              @focus="inputFocus(2)"
                              @blur="inputBlur"
                              @change="inputChange"
                              :disabled="isModifyoriginInfo"></u--input>
                        </view>
                        <view class="unit"
                           :class="{ focusClass: isfocus2 }">吨</view>
                     </view>
                  </u-form-item>
                  <u-form-item>
                     <view class="second-line">
                        <view class="label-text"><text style="color: #f56c6c;">*</text>净重</view>
                        <view class="input-container"
                           :class="{ disabledClass: isModifyoriginInfo }">
                           <u--input placeholder="净重"
                              border="surround"
                              v-model="coalContactClean"
                              :disabled="isModifyoriginInfo"></u--input>
                        </view>
                        <view class="unit">吨</view>
                     </view>
                  </u-form-item>
                  </view>
                  <!-- 输入数量 -->
                  <view v-else class="table-div">
                  <uni-table
                   border
                  id="table-box"
                  emptyText="暂无更多数据">
                        <uni-tr>
                           <uni-th align="center" >产品</uni-th>
                           <!-- <uni-th align="center">皮重</uni-th>
                           <uni-th align="center">毛重</uni-th>
                           <uni-th align="center">净重</uni-th> -->
                           <uni-th align="center">数量</uni-th>
                        </uni-tr>
                        <uni-tr v-for="(subItem, index) in coalDetailsData.tmTaskCoalList" :key="index">
                           <uni-td align="center">
                              <view class="name">{{ subItem.productName }}</view></uni-td>
                        <!-- <uni-td align='right'>
                           <view  v-if="subItem.skin">{{ Number( subItem.skin).toFixed(2)  || ''}}</view>
                        </uni-td>
                        <uni-td align='right'>
                           <view class="name" v-if="subItem.hair">{{ Number(subItem.hair) .toFixed(2) || '' }}</view>
                        </uni-td>
                        <uni-td align='right'>
                           <view class="name" v-if="subItem.clean">{{ Number( subItem.clean).toFixed(2) || '' }}</view>
                        </uni-td> -->
                        <uni-td align="right">
                        <view>
                        <u--input
                        placeholder="请输入产品数量"
                        type='number'
                        v-model="subItem.productQuantity"
                        ></u--input>
                        </view></uni-td>
                     </uni-tr>
                     </uni-table>
                  </view>
                  <u-form-item prop='contactPicture'>
                     <view class="label-text">
                        <text style="color: #f56c6c;">*</text>原发单据
                     </view>
                     <u-upload :fileList="fileList1"
                        @afterRead="afterRead"
                        @delete="deletePic"
                        name="1"
                        multiple
                        :maxCount="fileList1.length ? fileList1.length  : 2"
                        width="250"
                        height="150"
                        :previewFullImage="true"
                        :disabled="isModifyoriginInfo"
                        :deletable="!deletable"></u-upload>
                  </u-form-item>
               </u-form>
               <!-- <view class="submit-button">
                  <u-button text="提交"
                     type="primary"
                     @click.stop="submitOriginInfo"
                     :disabled="isModifyoriginInfo"
                     :loading="submitOriginInfoLoading"></u-button>
               </view> -->
                  </view>
               </zh-collapse-item>
               </zh-collapse>
            </view>
         </view>
      </view>
      <view class="timeLine">
         <u-steps :current="dayRZ.length - 1"
            direction="column"
            dot>
            <u-steps-item :title="item.taskStatusDes"
               v-for="(item, index) in dayRZ"
               :key="index"></u-steps-item>
         </u-steps>
      </view>
      <view class="white-block">
      </view>
      <view class="utilsBox">
         <view class="utils_chil utils_chilTop">
            <view class="bottom-button">
               <!-- <u-button text="放空"
                  type="primary"
                  plain
                  @click="evacuation"
                  throttleTime="500"
                  shape="circle"
                  :disabled="isEvacuation || isapproach"></u-button> -->
            </view>
         </view>
      </view>
      <view class="evacuationModal">
         <u-modal :show="evacuationModalShow"
            :title="evacuationTitle"
            :content="evacuationContent"
            :showCancelButton="true"
            @confirm="evacuationConfirm"
            @cancel="evacuationCancel"></u-modal>
      </view>
      <!-- <view class="completeOutSale">
         <u-modal :show="completeOutSaleShow"
            title="确认"
            content="是否完成外销收发单"
            :showCancelButton="true"
            @confirm="completeOutSaleConfirm"
            @cancel="completeOutSaleCancel"></u-modal>
      </view> -->
      <!-- 磅房忙碌提示弹窗 -->
      <view class="">
         <u-modal :show="wsgShow"
            title="提示"
            :content="wsgContent"
            @confirm="wsgContentConfirm"></u-modal>
      </view>
   </view>
</template>
<script>
export default {
   data() {
      return {
         id: '',
         faYunDetailobj: {},
         coalStatus: ['领取', '预约', '签到', '入场', '称皮', '称毛', '离场', '入磅房', '出磅房', '入煤仓', '出煤仓', '放空', '作废', '入场申请', '进入场院']
      };
   },
   methods: {},
   onLoad(params) {
      this.id = params.id;
   },
   onShow() {
      this.$reqGet('getTakeCoal', { takeCoalId: this.id }).then(res => {
         if (res.code == 0) {
            this.faYunDetailobj = res.data;
         } else {
            this.$u.toast('获取数据失败');
   import { BaseUrl } from '@/api/publicInterface.js';
   import { mapState, mapMutations } from 'vuex';
   import combinedTitle from '@/components/combined-title/combined-title.vue';
   import BigNumber from "bignumber.js"
   const dayjs = require('dayjs')
   export default {
      components: {
         combinedTitle,
      },
      onPullDownRefresh() {
         this.getTakeCoal(); //获取收发单详情
         // uni.stopPullDownRefresh();
      },
      onLoad(value) {
         this.orderPlanId = value.id;
         // this.yyId = value.yyId;
         this.originInfoVisible = value.orderType === '外购'
         // if (value.overTmWaixiao) {
         //    this.overTmWaixiao = value.overTmWaixiao
         //    this.getWeightHouseObj.overTmWaixiao = value.overTmWaixiao
         // }
         this.fileList1 = []
         this.changeglobalIsFirstWeighing(1)
         if (this.globalIsFirstWeighing === 1) {
            console.log('获取详情 onload');
            this.getTakeCoal(); //获取收发单详情
         }
      });
   }
};
         this.init(); //获取日志
      },
      onShow() {
         this.coalDayPage(); //获取日志 定时任务
         if (this.globalIsFirstWeighing === 2) {
            console.log('获取详情 onShow');
            this.getTakeCoal(); //获取收发单详情
         }
      },
      onHide() {
         // clearInterval(this.interval);
      },
      onUnload() {
         // clearInterval(this.interval);
      },
      onReady() {
         if (this.originInfoVisible && !this.isSpecial) {
            this.$refs.originInfoRef.setRules(this.rules);
         }
      },
      beforeDestroy() {
         // clearInterval(this.interval);
      },
      data() {
         return {
            swiperList:[],
            orderPlanId: null,
            radioValue:'场地',
            tmTaskCoalList:[],
            currentNum:0,
            guideLineshow:false,
            yyId: null,
            dayRZ: [],
            activeText:'',
            activeObj:{
               affiliationId:'',
               type:2,
            },
            coalDetailsData: {
               tmTaskCoalList:[]
            }, // 收发单详情
            currentPageCoalStatus: 0, // 当前页面收发单状态
            // 获取所在磅房参数
            getWeightHouseObj: {
               deptId: '',
               filedId: '',
               tmId: '',
               tmCode: '',
               carNo: ''
            },
            // 获取入场申请的列表页面参数
            getYuYueDataParams: {
               deptId: '',
               filedId: '',
               sendDate: ''
            },
            // 获取客服openid参数
            getServiceOpenid: {
               deptId: '',
               filedId: ''
            },
            // 客服信息
            serviceInfoObj: {
               openId: null,
               openName: '',
               serviecePhone: ''
            },
            coalStatus: ['领取', '预约', '签到', '入场', '称皮', '称毛', '离场', '入磅房', '出磅房', '入仓库', '出仓库', '放空', '作废', '入场申请',
               '进入场院', '异常审核中', '返回加减吨', '超时', '打印中', '打印中', '填写', '放空确认中', '超最大毛重确认中','补打','入场检查','质检中',
               '离场检查','已打印','装卸','返回加减吨确认中'
            ], // 状态
            weighHouseCode: '',
            // 放空弹窗控制变量
            evacuationModalShow: false,
            evacuationTitle: '放空确认',
            evacuationContent: '是否确认放空',
            // 第一次放空参数
            weighData: {
               sceneId: '',
               gateCameraId: '',
               equipmentCode: '',
               weigh: 0,
               sceneInOut: ''
            },
            // 原发信息
            primarySkin: null,
            primaryHair: null,
            primaryClean: null,
            scrollTop: 0,
            // 磅单类型
            orderType: '',
            interval: '',
            // 完成外销订单
            completeOutSale: {
               deptId: "",
               filedId: "",
               orderType: "",
               clean: ""
            },
            completeOutSaleShow: false,
            overTmWaixiao: null,
            list: [{ name: '手机号', subname: '1213456', id: 1 }, { name: '微信语音', id: 2 }], //呼叫客服选项
            servieceShow: false,
            ablePrintInduction: false, //入门证是否显示
            ablePrintOut: false, //出门证是否显示
            enterLoading: false, //入门按钮loading
            outLoading: false, //出门按钮loading
            // 是否填写原发信息
            isInputOrigin: false,
            haveInputOrigin: false,
            isModifyoriginInfo: false,
            // 聚焦时改变样式
            isfocus1: false,
            isfocus2: false,
            // 输入的原发信息
            originInfoForm: {
               coalContactSkin: '',
               coalContactHair: '',
               coalContactClean: 0,
               contactPicture: ''
            },
            originInfoVisible: false,
            fileList1: [], //图片列表
            deletable: true,
            rules: {},
            timeout: '0',
            wsgShow: false,
            timeLineStatus: null,
            timeLineEqCode: '',
            originInfoNotice: '填写原发信息后可上磅计量',
            submitOriginInfoLoading: false,
            ischeckedDefault: 0,
            isSpecial: null, //1 是特殊 0不是特殊
            printerType: '', //判断打印的是出门证还是入门证
            weighHouseLoading: false
         };
      },
      watch: {
      },
      computed: {
         ...mapState(['globalweigh', 'globalinfraredStatus', 'wsgVisiable', 'wsgContent', 'globalIsFirstWeighing', ]),
         name() {
            return uni.getStorageSync('name');
         },
         openid() {
            return uni.getStorageSync('openid');
         },
         // 获取今天日期
         currentDate() {
            let time = new Date();
            let year = time.getFullYear();
            let month = time.getMonth() + 1;
            month = month < 10 ? '0' + month : month;
            let date = time.getDate();
            date = date < 10 ? '0' + date : date;
            return `${year}-${month}-${date}`;
         },
         //
         isEvacuation() {
            return this.coalDetailsData.hair !== 0 || this.coalDetailsData.skin !== 0;
         },
         isapproach() {
            return this.correctStatus !== 3
         },
         coalContactClean() {
            if(this.coalDetailsData.isWeight){
            let xx = BigNumber(this.originInfoForm.coalContactHair ? this.originInfoForm.coalContactHair : 0)
            let yy = BigNumber(this.originInfoForm.coalContactSkin ? this.originInfoForm.coalContactSkin : 0)
            return xx.minus(yy).toNumber() > 0 ? xx.minus(yy).toNumber().toFixed(2) : 0
            }else{
               //数量
               if(!this.coalDetailsData.tmTaskCoalList.length){
                  return false
               }else{
                  const reslut = this.coalDetailsData.tmTaskCoalList.find(item=>!item.productQuantity);
                  console.log(reslut);
                  if(reslut){
                     return false
                  }else{
                     return true
                  }
               }
            }
         },
         currentTime() {
            let currentDate = new Date();
            let year = currentDate.getFullYear();
            let month = ("0" + (currentDate.getMonth() + 1)).slice(-2);
            let date = ("0" + currentDate.getDate()).slice(-2);
            let hours = ("0" + currentDate.getHours()).slice(-2);
            let minutes = ("0" + currentDate.getMinutes()).slice(-2);
            let formattedDate = year + "-" + month + "-" + date + " " + hours + ":" + minutes;
            return formattedDate
         },
         correctStatus() {
            return this.currentPageCoalStatus === this.timeLineStatus ? this.currentPageCoalStatus : this
               .timeLineStatus
         },
         isNeedOrigin() {
            return uni.getStorageSync('isNeedOrigin')
         },
         //是否展示皮毛净
         isShowClean(){
            let  flag = true;
            console.log(this.coalDetailsData.tmTaskCoalList)
            const tempArr = this.coalDetailsData.tmTaskCoalList.filter(item=> item.isWeight === 1);
            if(!tempArr.length ){
               return false; //如果都没有返回假
            } else {
               flag =     tempArr.every(obj => obj['skin'] !== null && obj['clean'] !== null && obj['hair'] !== null );
               console.log(flag,'f;ag')
               return flag;
            }
         },
         //皮毛净
         weightObj(){
            const index = 0;//下标位 ,读取第几组的皮毛净;,默认最后一组;
            const tempArr = this.coalDetailsData.tmTaskCoalList.filter(item=> item.isWeight === 1);
             const result =tempArr.find(item=>!item.skin || !item.hair || !item.clean);
             console.log(result,'result')
             if(result){
               return result
             }else{
               return  tempArr[index];
             }
         },
         //判断是否展示 原发信息
         isShowYuanFa(){
            if(this.coalContactClean && !this.coalDetailsData.tmTaskCoalList.length){
               return false
            }else{
               return true
            }
         }
      },
      methods: {
         ...mapMutations(['changewsgVisiable', 'changeisUploadimg', 'changeglobalIsFirstWeighing']),
         init() {
            this.$reqGet('coalDayPage', { id: this.orderPlanId, timeout: this.timeout }).then(res => {
               if (res.code == 0) {
                  this.timeLineStatus = res.data[0].taskStatus
                  this.timeLineEqCode = res.data[0].eqCode
                  this.dayRZ = res.data.map(v => {
                     let slicedate = v.taskStatusDes.slice(0, 10);
                     if (slicedate == this.currentDate) {
                        return {
                           ...v,
                           taskStatusDes: v.taskStatusDes.slice(10)
                        };
                     } else {
                        return { ...v }
                     }
                  });
               }
            });
         },
         // 获取收发单详情
         getTakeCoal() {
            uni.showLoading({
               title: '加载中'
            });
            this.$reqGet('getTakeCoal', { takeCoalId: this.orderPlanId }).then(res => {
               if (res.code == 0) {
                  uni.hideLoading();
                  console.log(res, '收发单详情');
                  this.coalDetailsData = res.data;
                  this.orderType = this.coalDetailsData.orderType;
                  //
                  this.isSpecial = res.data.isSpecial
                  // // 判断是否完成外销订单
                  // this.completeOutSale.orderType = this.coalDetailsData.orderType;
                  // this.completeOutSale.deptId = this.coalDetailsData.deptId;
                  // this.completeOutSale.filedId = this.coalDetailsData.filedId;
                  // this.completeOutSale.clean = this.coalDetailsData.clean;
                  // 获取所在磅房参数赋值
                  this.getWeightHouseObj.deptId = this.coalDetailsData.deptId;
                  this.getWeightHouseObj.filedId = this.coalDetailsData.filedId;
                  this.getWeightHouseObj.tmId = this.coalDetailsData.id;
                  this.getWeightHouseObj.tmCode = this.coalDetailsData.code;
                  this.getWeightHouseObj.carNo = this.coalDetailsData.carNo;
                  // 获取入场申请操作后的预约列表的参数
                  this.getYuYueDataParams.deptId = this.coalDetailsData.deptId;
                  this.getYuYueDataParams.filedId = this.coalDetailsData.filedId;
                  this.getYuYueDataParams.sendDate = this.coalDetailsData.sendDate;
                  // 获取客服openId参数赋值
                  this.getServiceOpenid.deptId = this.coalDetailsData.deptId;
                  this.getServiceOpenid.filedId = this.coalDetailsData.filedId;
                  // 获取收发单状态
                  this.currentPageCoalStatus = this.coalDetailsData.status;
                  // 获取原发信息
                  this.primarySkin = this.coalDetailsData.skinTwo;
                  this.primaryHair = this.coalDetailsData.hairTwo;
                  this.primaryClean = this.coalDetailsData.cleanTwo;
                  // 入门证 和 出门证 是否显示
                  this.ablePrintInduction = this.coalDetailsData.hair || this.coalDetailsData.skin
                  this.ablePrintOut = this.coalDetailsData.hair && this.coalDetailsData.skin || this
                     .coalDetailsData.status === 6
                  // 原发信息回显以及控制是否可修改
                  const originFlag = this.coalDetailsData.tmTaskCoalList.find(item=>!item.productQuantity);
                  if(this.coalDetailsData.isWeight === 1){
                     this.haveInputOrigin = (!this.coalDetailsData.skinTwo && this.coalDetailsData.orderType ===
                     '外购')
                  }else{
                     this.haveInputOrigin = !!originFlag
                  }
                  console.log(originFlag,this.coalDetailsData.tmTaskCoalList,'origin')
                  this.deletable = this.coalDetailsData.status > 3
                  this.originInfoForm.coalContactSkin = this.coalDetailsData.skinTwo;
                  this.originInfoForm.coalContactHair = this.coalDetailsData.hairTwo;
                  this.originInfoForm.contactPicture = this.coalDetailsData.contactPicture
                  this.tmTaskCoalList = this.coalDetailsData.tmTaskCoalList;
                  if (this.coalDetailsData.contactPicture) {
                     this.fileList1 = this.coalDetailsData.contactPicture.split(',').map(v => {
                        return {
                           url: BaseUrl + v
                        }
                     })
                  } else {
                     this.fileList1 = []
                  }
               } else {
                  this.$u.toast('加载失败');
               }
            }).then(() => {
            })
         },
         // 日志查询
         coalDayPage() {
            // this.interval = setInterval(() => {
               this.$reqGet('coalDayPage', { id: this.orderPlanId, timeout: this.timeout }).then(res => {
                  if (res.code == 0) {
                     this.timeLineStatus = res.data[0].taskStatus
                     this.timeLineEqCode = res.data[0].eqCode
                     this.dayRZ = res.data.map(v => {
                        let slicedate = v.taskStatusDes.slice(0, 10);
                        if (slicedate == this.currentDate) {
                           return {
                              ...v,
                              taskStatusDes: v.taskStatusDes.slice(10)
                           };
                        } else {
                           return { ...v }
                        }
                     });
                  }
               });
            // }, 5000);
         },
         inputChange() {
            if (Number(this.originInfoForm.coalContactHair) > 0 && Number(this.originInfoForm.coalContactSkin >
                  0)) {
               this.isInputOrigin = true;
            }
         },
         deletePic(event) {
            this.changeisUploadimg(true);
            this[`fileList${event.name}`].splice(event.index, 1);
         },
         async afterRead(event) {
            // 当设置 mutiple 为 true 时, file 为数组格式,否则为对象格式
            let lists = [].concat(event.file);
            let fileListLen = this[`fileList${event.name}`].length;
            lists.map(item => {
               this[`fileList${event.name}`].push({
                  ...item,
                  status: 'uploading',
                  message: '上传中'
               });
            });
            for (let i = 0; i < lists.length; i++) {
               const result = await this.uploadFilePromise(lists[i].url, event.name);
               let item = this[`fileList${event.name}`][fileListLen];
               this[`fileList${event.name}`].splice(
                  fileListLen,
                  1,
                  Object.assign(item, {
                     status: 'success',
                     message: '上传成功',
                     url: result
                  })
               );
               fileListLen++;
            }
         },
         uploadFilePromise(url, num) {
            return new Promise((resolve, reject) => {
               let a = uni.uploadFile({
                  url: BaseUrl + '/admin/sys-file/uploadUnToken',
                  filePath: url,
                  name: 'file',
                  success: res => {
                     if (num == 1) {
                        this.originInfoForm.contactPicture = JSON.parse(res.data)
                           .data.url;
                        resolve(`${BaseUrl}${JSON.parse(res.data).data.url}`);
                     }
                  }
               });
            });
         },
         submitOriginInfo() {
            let form = {
               skin: Number(this.originInfoForm.coalContactSkin),
               hair: Number(this.originInfoForm.coalContactHair),
               clean: Number(this.coalContactClean),
               tmId: this.getWeightHouseObj.tmId,
               contactPicture: this.originInfoForm.contactPicture,
               deptId: this.coalDetailsData.deptId,
               filedId: this.coalDetailsData.filedId,
               coalName: this.coalDetailsData.coalName,
               taskCoalCode: this.coalDetailsData.code,
               carNo: this.coalDetailsData.carNo,
            }
            if(this.coalDetailsData.isWeight === 1){
               if (this.originInfoForm.coalContactSkin && this.originInfoForm.coalContactHair && this
               .originInfoForm
               .contactPicture) {
               this.submitOriginInfoLoading = true
               this.$reqPost('appSaveContact', form, 'json').then(res => {
                  if (res.code === 0) {
                     this.$u.toast('提交成功')
                     this.submitOriginInfoLoading = false
                  } else {
                     this.submitOriginInfoLoading = false
                     this.isModifyoriginInfo = true
                     this.$u.toast(res.msg ? res.msg : '提交失败')
                  }
               }).then(() => {
                  setTimeout(() => {
                     this.getTakeCoal()
                  }, 1000)
               })
            } else {
               uni.$u.toast('请填写完整原发信息')
            }
            }else{
                  //数量
               form.numDtoList = this.coalDetailsData.tmTaskCoalList.map(item=>{
                  let obj  = {
                     tmId:item.id,
                     num:Number(item.productQuantity)
                  }
                  return obj;
               });
               //删除皮毛净
               delete form.clean;
               delete form.hair;
               delete form.skin;
               if (this.coalContactClean && this
               .originInfoForm
               .contactPicture) {
               this.submitOriginInfoLoading = true;
               console.log(form,'form')
               this.$reqPost('appSaveContact', form, 'json').then(res => {
                  if (res.code === 0) {
                     this.$u.toast('提交成功')
                     this.submitOriginInfoLoading = false
                  } else {
                     this.submitOriginInfoLoading = false
                     this.$u.toast(res.msg ? res.msg : '提交失败')
                  }
               }).then(()=>{
                     setTimeout(() => {
                     this.getTakeCoal()
                  }, 1000);
               })
            } else {
               uni.$u.toast('请填写完整原发信息')
            }
            }
         },
         reviewGuidelines(){
            this.guideLineshow = true;
            this.swiperList = [];
            this.activeText = '';
            this.activeObj.affiliationId = this.coalDetailsData.filedId; //默认查场地
            this.getguideFun();
         },
         close(){
            this.guideLineshow = false;
         },
         enterClick(){
            console.log('click')
            this.$reqPut('addContainer',{id:this.coalDetailsData.id,containerNumber:this.coalDetailsData.containerNumber},'json').then(res=>{
               console.log(res,'res')
               this.$u.toast('操作成功')
            })
         }
      }
   };
</script>
<style scoped lang="scss">
@mixin flex {
   display: flex;
   justify-content: space-between;
   align-items: center;
<style lang="scss"   scoped>
.codeBox{
   height: 100rpx;
      display: flex;
      width: 100%;
      justify-content: space-around;
      align-items: center;
   .inp{
         border: solid 1px #ccc;
      input{
         text-indent: 15px;
      }
   }
}
.main {
.table{
   width: 100%;
   margin-top: vww(10);
   @include flex justify-content: center;
   .main-body {
      width: 690rpx;
      height: 1062rpx;
      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 flex-direction: column;
      align-items: flex-start;
      .body-container {
         width: 100%;
         height: vww(56);
         border-bottom: vww(1) solid #d6d6d6;
         @include flex;
         justify-content: center;
         .container-block {
            width: 96%;
            height: vww(56);
            @include flex;
  /deep/ .uni-table{
   min-width: 0!important;
   margin-left: 20rpx;
  }
}
   .guidebox{
      height:600rpx;
      padding: 20rpx
   }
    .indicator-num {
        padding: 2px 0;
        background-color: rgba(0, 0, 0, 0.35);
        border-radius: 100px;
        width: 35px;
        @include flex;
        justify-content: center;
        &__text {
             color: #FFFFFF;
             font-size: 12px;
         }
    }
   /deep/.u-steps {
      .u-steps-item {
         .u-steps-item__content {
            .u-text {
               .u-text__value {
                  font-size: 31rpx !important;
                  font-weight: 300;
                  color: #303030;
               }
            }
         }
      }
      .last {
         border-bottom: none;
   }
   @mixin flex {
      display: flex;
      justify-content: space-between;
      align-items: center;
   }
   ::v-deep.bill-of-lading-details {
      width: 100%;
      height: 100%;
      margin: 0 auto;
      display: flex;
      flex-direction: column;
      .top-banner {
         width: 100%;
         height: 346rpx;
         .top-information {
            width: 94%;
            margin: 0 auto;
            height: vww(52);
            @include flex;
             position: relative;
            flex-direction: column;
            justify-content: space-between;
            align-items: flex-start;
            top: vww(25);
            color: #ffffff;
            font-size: 31rpx;
            font-weight: 300;
            .cutomer-name {
               width: 100%;
               white-space: nowrap;
               overflow: hidden;
               text-overflow: ellipsis;
            }
            .fild-name {
               @include flex;
               justify-content: space-between;
               width: 100%;
               view {
                  min-width: 296rpx;
                  white-space: nowrap;
                  overflow: hidden;
                  text-overflow: ellipsis;
               }
            }
         }
         .block-information {
            width: 690rpx;
            height: 396rpx;
            margin: vww(40) auto;
            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 {
               @include flex ;
               width: 94%;
               height: 336rpx;
               margin: vww(18) vww(7) vww(11) vww(17);
               flex-direction: column;
               justify-content: space-between;
               align-items: flex-start;
            }
            .status-button {
               width: vww(71);
               height: vww(36);
               text-align: center;
               line-height: vww(33);
               font-size: 28rpx;
               font-weight: 300;
               position: absolute;
               right: vww(10);
               color: #fff;
               white-space: nowrap;
               text-overflow: ellipsis;
               -o-text-overflow: ellipsis;
               overflow: hidden;
            }
            .basic {
               width: 100%;
               height: vww(15);
               @include flex;
               justify-content: flex-start;
               .coalName,
               .order-type {
                  width: 45%;
                  height: 60rpx;
                  font-size: 30rpx;
                  font-weight: 300;
                  color: #515151;
                  position: relative;
                  overflow: hidden;
                        text-overflow: ellipsis;
                        white-space: nowrap;
               }
               .black-block {
                  width: 2rpx;
                  height: 30rpx;
                  background: #515151;
                  position: relative;
                  top: vww(2);
               }
            }
            .time {
               width: 40%;
               height: vww(12);
               display: flex;
               justify-content: flex-start;
               .send-date {
                  width: 300rpx;
                  height: 24rpx;
                  margin-left: vww(14);
                  font-size: 28rpx;
                  font-weight: 300;
                  color: #515151;
               }
            }
            .coal-code,
            .order-code {
               width: 100%;
               height: 24rpx;
               font-size: 28rpx;
               font-weight: 300;
               color: #7d7d7d;
            }
            .stream-view {
               height: vww(18);
               margin: vww(8);
               margin-left: 0;
            }
            .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;
                  }
               }
            }
         }
      }
      .sub-table{
         width: 690rpx;
         min-height: 300rpx;
         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;
             flex-direction: column;
         justify-content: center;
         overflow: hidden;
         position: relative;
         top: vww(130);
         align-items: flex-start;
         /deep/ .uni-table{
            min-width: 0!important;
         }
      }
      .origin-info {
         width: 690rpx;
         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;
         position: relative;
         top: vww(130);
         &_wrapper {
            width: 650rpx;
            @include flex;
            flex-direction: column;
            margin-bottom: vww(20);
            position: relative;
            .origin-info_content {
               width: 100%;
               height: 100%;
               overflow-y: scroll;
               .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;
               }
               .submit-button {
                  width: 180rpx;
                  margin: vww(8) auto;
                  .u-button {
                     font-size: 28rpx;
                     font-weight: 300;
                     color: #ffffff;
                     background: #497bfb;
                     letter-spacing: 4rpx;
                     border-radius: 37rpx 37rpx 37rpx 37rpx;
                     box-shadow: 2rpx 3rpx 13rpx 0rpx rgba(43, 98, 239, 0.5), 0rpx 0rpx 9rpx 0rpx rgba(247, 250, 253, 0.29);
                  }
               }
            }
         }
      }
      .timeLine {
         height: 300rpx;
         margin: vww(20);
         position: relative;
         top: vww(120);
         overflow-y: overlay;
         padding: vww(20);
         .u-steps {
            .u-steps-item {
               padding-bottom: vww(35);
               .u-steps-item__wrapper {
                  .u-steps-item__wrapper__dot {
                     background: linear-gradient(-29deg, #426cff 0%, #7991ff 100%);
                     box-shadow: 2rpx 7rpx 10rpx 0rpx rgba(172, 172, 172, 0.64);
                  }
               }
               .u-steps-item__line {
                  height: vww(52) !important;
                  background: #e9e6ea !important;
               }
            }
         }
      }
      .white-block {
         width: 100%;
         height: vww(20);
         background-color: #fff;
      }
      .utilsBox {
         width: 94%;
         margin: 0 auto;
         position: relative;
         top: vww(80);
         .utils_chil {
            width: 100%;
            margin: 0 auto;
            .top-button {
               width: 100%;
               height: vww(47);
               @include flex;
               .u-button {
                  width: 40%;
                  height: 60rpx;
                  font-size: 28rpx;
                  font-weight: 300;
                  color: #497bfb;
                  border: 2px solid #3b56eb;
               }
            }
            .bottom-button {
               width: 40%;
               height: vww(47);
               padding-left: vww(18);
               @include flex;
               justify-content: flex-start;
               .u-button {
                  width: 100%;
                  height: 60rpx;
                  font-size: 28rpx;
                  font-weight: 300;
                  color: #497bfb;
                  border: 2px solid #3b56eb;
               }
            }
         }
      }
      .weigh-ability {
         width: 631rpx;
         height: vww(200);
         margin: vww(80) auto;
         margin-top: vww(100);
         margin-bottom: vww(20);
         @include flex;
         flex-direction: column;
         justify-content: flex-start;
         .weigh-button {
            width: 631rpx;
            height: vww(40);
            margin: vww(10);
            .u-button {
               font-size: 28rpx;
               font-weight: 300;
               color: #ffffff;
               background: #497bfb;
               letter-spacing: 4rpx;
               border-radius: 37rpx 37rpx 37rpx 37rpx;
               box-shadow: 2rpx 3rpx 13rpx 0rpx rgba(43, 98, 239, 0.5), 0rpx 0rpx 9rpx 0rpx rgba(247, 250, 253, 0.29);
            }
         }
      }
   }
}
.uni-table {
   .uni-table-tr {
      padding: 0;
      border: vww(1) solid #c6c6c6;
      .uni-table-th {
         font-size: vww(14);
         height: vww(30);
         line-height: vww(30);
         padding: vww(5) vww(10);
         color: #111111;
         font-weight: 500;
         background: #e2e2e2;
      }
      .uni-table-td {
         font-size: vww(14);
         font-weight: 400;
         height: vww(30);
         line-height: vww(30);
         padding: vww(5) vww(10);
         color: #111111;
      }
   ::v-deep .u-album{
      display: none!important;
   }
}
</style>
</style>