ll
liukangdong
2024-09-25 b33b256a0e996df1e8ca1859ba538fe3ea085509
pda/pages/index/queueup.vue
@@ -44,8 +44,8 @@
        </view>
        <view class="line" v-else>
          <text class="label">运输单号</text>
          <text class="value">{{ item.code }}</text>
          <text class="primaryColor" @click="handleDetail()">运单详情</text>
          <text class="value">{{ item.billCode }}</text>
          <text class="primaryColor" @click="handleDetail(item)">运单详情</text>
        </view>
        <view class="line">
          <text class="label">驾驶员</text>
@@ -70,7 +70,55 @@
        <text>暂无作业车辆</text>
      </view>
    </view>
    <u-picker
      <u-popup :show="showDetail" :round="10" :safeAreaInsetBottom="true" closeOnClickOverlay :closeable="true"
         mode="bottom" @close="showDetail = false">
         <view class="detail_modal">
            <view class="modal_title">运单详情</view>
            <view v-if="wmsInfo.plateNumber" class="id_card">
               <text>{{ wmsInfo.plateNumber.slice(0, 1) }}</text>
               <text>{{ wmsInfo.plateNumber.slice(1, 2) }}</text>
               <text>·</text>
               <text>{{ wmsInfo.plateNumber.slice(2) }}</text>
            </view>
            <!--  -->
            <view class="info">
               <view class="line">
                  <view class="label">运输单号</view>
                  <view class="value">{{ wmsInfo.carryBillCode }}</view>
               </view>
               <view class="line">
                  <view class="label">驾驶员</view>
                  <view class="value">{{ wmsInfo.driverName }} {{ wmsInfo.driverPhone }}</view>
               </view>
               <view class="line">
                  <view class="label">总运输量</view>
                  <view class="value">{{ wmsInfo.ioQty }}万支</view>
               </view>
               <view class="line">
                  <view class="label">运输公司</view>
                  <view class="value">{{ wmsInfo.carrierName }}</view>
               </view>
            </view>
            <view class="separate"></view>
            <view class="contract_list" v-for="item in wmsInfo.wmsJobContractVOList">
               <view class="title">合同号:{{ item.contractCode }}</view>
               <view class="address">收货地:{{ item.address }}</view>
               <view class="list">
                  <view class="item" v-for="line in item.platformWmsDetailList">
                     <view class="line">
                        <view class="label">物料:</view>
                        <view class="value">{{ line.materialName }}</view>
                     </view>
                     <view class="line">
                        <view class="label">数量:</view>
                        <view class="value">{{ line.ioQty }}万支</view>
                     </view>
                  </view>
               </view>
            </view>
         </view>
      </u-popup>
      <u-picker
      :show="showPlatformgroup"
      keyName="name"
      :columns="[platformGroupList]"
@@ -81,7 +129,7 @@
</template>
<script>
import { platformLineUpPage, getPlatformGroupList } from '@/api'
import { platformLineUpPage, getPlatformGroupList, wmsJobDetail } from '@/api'
export default {
  data() {
    return {
@@ -92,6 +140,7 @@
      total: 0,
      carCodeFront: '',
      platformGroup: {},
      wmsInfo: {},
      platformGroupList: [],
      platformLineUpList: []
    }
@@ -105,8 +154,11 @@
      }
   },
  methods: {
    handleDetail() {
      this.showDetail = true
    handleDetail(param) {
      wmsJobDetail({ id: param.id }).then(res => {
         this.wmsInfo = res.data
         this.showDetail = true
      })
    },
    getPlatformGroup() {
      getPlatformGroupList({
@@ -123,7 +175,7 @@
    getList() {
      const { page, capacity, platformGroup, carCodeFront } = this
      platformLineUpPage({
        capacity, page, model: { platformGroupId: platformGroup.id, callType: 2, carCodeFront }
        capacity, page, model: { platformGroupId: platformGroup.id, callType: 3, carCodeFront }
      }).then(res => {
        if (res.data) {
          this.platformLineUpList = [...this.platformLineUpList, ...res.data.records || []]
@@ -258,4 +310,111 @@
    }
  }
}
.detail_modal {
      padding: 36rpx 30rpx;
      .modal_title {
         font-weight: 600;
         font-size: 32rpx;
         color: #222222;
         line-height: 44rpx;
         text-align: center;
         margin-bottom: 36rpx;
      }
      .contract_list {
         .list {
            background: #f7f7f7;
            border-radius: 8rpx;
            padding: 20rpx;
            .line {
               display: flex;
               margin-bottom: 20rpx;
               &:nth-of-type(3n) {
                  border-top: 1rpx solid #e5e5e5;
                  padding-top: 20rpx;
               }
               .label {
                  color: #666666;
                  width: 86rpx;
               }
               .value {
                  flex: 1;
                  color: #222222;
               }
            }
         }
         .title {
            font-weight: 600;
            font-size: 30rpx;
            color: $uni-color-primary;
            margin-bottom: 12rpx;
         }
         .address {
            font-size: 26rpx;
            color: #666666;
            margin-bottom: 20rpx;
         }
      }
      .info {
         .line {
            display: flex;
            margin-bottom: 20rpx;
            .label {
               font-size: 30rpx;
               color: #666666;
               width: 150rpx;
            }
            .value {
               flex: 1;
               font-size: 30rpx;
               color: #222222;
            }
         }
      }
      .separate {
         width: 750rpx;
         height: 2rpx;
         margin: 30rpx -30rpx;
         border: 1rpx solid #e5e5e5;
      }
      .id_card {
         display: flex;
         font-weight: 600;
         height: 60rpx;
         line-height: 60rpx;
         font-size: 32rpx;
         color: #111111;
         border-radius: 8rpx;
         border: 1rpx solid #dfdede;
         width: 220rpx;
         margin-bottom: 15rpx;
         text {
            &:nth-of-type(1) {
               background: #e9f5f6;
               padding: 0 12rpx;
            }
            &:nth-of-type(2) {
               padding-left: 10rpx;
            }
            &:nth-of-type(4) {
               padding-right: 6rpx;
            }
         }
      }
   }
</style>