From b33b256a0e996df1e8ca1859ba538fe3ea085509 Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期三, 25 九月 2024 17:44:13 +0800
Subject: [PATCH] ll

---
 h5/pages/driver/taskDetail.vue | 1031 ++++++++++++++++++++++++++++++--------------------------
 1 files changed, 546 insertions(+), 485 deletions(-)

diff --git a/h5/pages/driver/taskDetail.vue b/h5/pages/driver/taskDetail.vue
index 9d23139..8be07c0 100644
--- a/h5/pages/driver/taskDetail.vue
+++ b/h5/pages/driver/taskDetail.vue
@@ -1,485 +1,546 @@
-<template>
-  <view class="main_app">
-    <view class="status_wrap">
-      <image
-        class="bg"
-        src="../../static/driver/bg_renwu@2x.png"
-        mode=""
-      ></image>
-      <view class="name" v-if="param.status == 1">璇蜂笌{{ param.arriveDate.slice(0,11) }}鐜板満绛惧埌</view>
-      <view class="name" v-if="param.status == 2">鍓嶆柟鎺掗槦锛歿{param.lineUpNum}}杈�</view>
-      <view class="name" v-if="param.status == 5">鏈堝彴浣滀笟涓�</view>
-      <view class="name" v-if="param.status == 6">浣滀笟宸插畬鎴�</view>
-      <view class="id_card">{{ param.carCodeFront }}</view>
-      <view class="status">{{statusMap[param.status]}}</view>
-    </view>
-    <!--  -->
-    <view class="main_content">
-      <view class="line">
-        <view class="label">鍙告満濮撳悕</view>
-        <view class="value">{{param.driverName}}</view>
-      </view>
-      <view class="line">
-        <view class="label">鎵嬫満鍙�</view>
-        <view class="value">{{param.drivierPhone}}</view>
-      </view>
-			<template v-if="param.type != 4">
-				<view class="line">
-				  <view class="label">杩愯緭鍗曞彿</view>
-				  <view class="value" @click="showDetail = true">
-				    <text class="waybill_num">{{param.billCode}}</text>
-				    <text class="btn">杩愬崟璇︽儏</text>
-				  </view>
-				</view>
-				<view class="line">
-				  <view class="label">浣滀笟绫诲瀷</view>
-				  <view class="value">甯傚叕鍙稿鍗忚溅鍗歌揣</view>
-				</view>
-			</template>
-			<template v-else>
-				<view class="line">
-				  <view class="label">鍚堝悓缂栧彿</view>
-				  <view class="value">{{param.contractNum}}</view>
-				</view>
-				<view class="line">
-				  <view class="label">鍏ュ簱绫诲瀷</view>
-				  <view class="value">{{param.inType == 0 ? '鏁存墭鐩�' : '浠剁儫'}}</view>
-				</view>
-				<view class="line">
-				  <view class="label">浣滀笟閲�</view>
-				  <view class="value">{{param.totalNum}}涓囨敮</view>
-				</view>
-			</template>
-      <view class="line">
-        <view class="label">杞︾墝鐓�</view>
-        <view class="value">鍓嶏細{{param.carCodeFront}} | 鍚庯細{{param.carCodeBack}}</view>
-      </view>
-      <!--  -->
-      <view class="line" v-if="param.status == 1">
-        <view class="label">璺濈鍥尯</view>
-        <view class="value">
-          <view class="">{{param.getDistance}}鍏噷</view>
-          <view class="btn" @click="getLocation">
-						<image class="icon mr6" src="../../static/driver/position.png"></image>
-            閲嶆柊瀹氫綅
-          </view>
-        </view>
-      </view>
-			<view class="line" v-if="param.signDate">
-			  <view class="label">绛惧埌鏃堕棿</view>
-			  <view class="value">{{param.signDate}}</view>
-			</view>
-			<view class="line" v-if="param.startDate">
-			  <view class="label">寮�濮嬩綔涓�</view>
-			  <view class="value">{{param.startDate}}</view>
-			</view>
-			<view class="line" v-if="param.doneDate">
-			  <view class="label">浣滀笟瀹屾垚</view>
-			  <view class="value">{{param.doneDate}}</view>
-			</view>
-      <view v-if="param.status == 1" class="warnning">
-        <u-icon name="info-circle" color="#ED4545" class="mr12"></u-icon>
-        濡傛棤娉曡幏鍙栧畾浣嶏紝璇风敤寰俊鎵弿鍥尯澶у睆浜岀淮
-      </view>
-      <!-- 			<view class="line">
-				<view class="label">绛惧埌鏃堕棿</view>
-				<view class="value">2022</view>
-			</view>
-			<view class="line">
-				<view class="label">鍏ュ洯鏃堕棿</view>
-				<view class="value">2022</view>
-			</view>
-			<view class="line">
-				<view class="label">浣滀笟瀹屾垚</view>
-				<view class="value">2022</view>
-			</view> -->
-      <view v-if="param.status == 1" class="signIn_wrap" @click="handleSignIn">
-        <image
-          :src="
-            param.getDistance < signDistance
-              ? require('@/static/driver/btn_qiandao@2x.png')
-              : require('@/static/driver/btn_qiandao_fail@2x.png')
-          "
-          class="img"
-          mode="widthFix"
-        ></image>
-        <view class="handle">{{ param.getDistance > signDistance ? '鏃犳硶绛惧埌' : '绛惧埌' }}</view>
-        <view class="time">{{nowTime}}</view>
-      </view>
-    </view>
-    <view class="space"></view>
-    <!-- 绛夊緟鍙彿 -->
-    <view v-if="param.status == 2" class="padding_wrap">
-      <view class="btn check" @click="handleQueue">鏌ョ湅鎺掗槦鎯呭喌</view>
-    </view>
-
-    <!-- modal -->
-    <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 class="id_card">
-          <view class="last">鐨�</view>
-          <view class="name">AD1111</view>
-        </view>
-        <!--  -->
-        <view class="info">
-          <view class="line">
-            <view class="label">杩愯緭鍗曞彿</view>
-            <view class="value">2222</view>
-          </view>
-          <view class="line">
-            <view class="label">椹鹃┒鍛�</view>
-            <view class="value">2222</view>
-          </view>
-          <view class="line">
-            <view class="label">鎬昏繍杈撻噺</view>
-            <view class="value">2222</view>
-          </view>
-          <view class="line">
-            <view class="label">杩愯緭鍏徃</view>
-            <view class="value">2222</view>
-          </view>
-        </view>
-        <view class="separate"></view>
-        <view class="contract_list">
-          <view class="title">鍚堝悓鍙凤細111</view>
-          <view class="address">aadd</view>
-          <view class="list">
-            <view class="line">
-              <view class="label">鐗╂枡锛�</view>
-              <view class="value">榛勫北榛戦┈</view>
-            </view>
-            <view class="line">
-              <view class="label">鏁伴噺锛�</view>
-              <view class="value">榛勫北榛戦┈</view>
-            </view>
-            <view class="line">
-              <view class="label">鐗╂枡锛�</view>
-              <view class="value">榛勫北榛戦┈</view>
-            </view>
-            <view class="line">
-              <view class="label">鏁伴噺锛�</view>
-              <view class="value">榛勫北榛戦┈</view>
-            </view>
-          </view>
-        </view>
-      </view>
-    </u-popup>
-  </view>
-</template>
-
-<script>
-	import { driverTaskJobDetail, driverSignInTask } from '@/api';
-	import { statusMap } from '@/utils/config.js';
-	import dayjs from 'dayjs';
-export default {
-  data() {
-    return {
-			statusMap,
-      param: {
-        status: '0'
-      },
-			jobId: '',
-			// lat: '',
-			// lnt: '',
-			lat: '31.783205',
-			lnt: '117.262635',
-			nowTime: '',
-			signDistance: uni.getStorageSync('driverGuide').signDistance,
-      showDetail: false,
-    }
-  },
-	onLoad(option) {
-		this.jobId = option.id
-		// if(option.status && option.status == '1'){
-		// 	this.getLocation()
-		// }else{
-		// 	this.getDetail()
-		// }
-		this.getDetail()
-		setInterval(() => {
-			this.nowTime = dayjs().format('HH:mm:ss')
-		})
-	},
-  methods: {
-    handleSignIn() {
-			const { param, signDistance, lat, lnt, jobId } = this
-			if(param.getDistance > signDistance) return
-			driverSignInTask({
-				jobId, lat, lnt,signType: 0
-			}).then(res => {
-				this.showToast('绛惧埌鎴愬姛')
-				this.getDetail()
-			})
-    },
-		getDetail() {
-			const { jobId, lat, lnt } = this
-			driverTaskJobDetail({
-				jobId: this.jobId,
-				lat,
-				lnt
-			}).then(ress => {
-				this.param = { ...ress.data }
-			})
-		},
-    getLocation() {
-			const { jobId } = this
-      uni.getLocation({
-        type: 'wgs84',
-        success: (res) => {
-					this.lat = res.latitude
-					this.lnt = res.longitude
-					this.getDetail()
-        },
-				fail:(err) => {
-					this.showToast('鑾峰彇瀹氫綅澶辫触')
-				}
-      })
-    },
-		handleQueue() {
-			uni.navigateTo({
-				url:'/pages/driver/queueUp?jobId=' + this.jobId
-			})
-		},
-  }
-}
-</script>
-
-<style lang="scss">
-.main_app {
-  padding: 0;
-  .main_content {
-    background: #ffffff;
-    border-radius: 20rpx 20rpx 0rpx 0rpx;
-    padding: 16rpx 30rpx;
-    position: relative;
-    bottom: 32rpx;
-		z-index: 999;
-    .line {
-      padding: 24rpx 0 28rpx;
-      border-bottom: 1rpx solid #e5e5e5;
-      display: flex;
-      .label {
-        width: 150rpx;
-        font-size: 30rpx;
-        color: #666666;
-      }
-      .value {
-        flex: 1;
-        display: flex;
-        justify-content: space-between;
-        align-items: center;
-        font-size: 30rpx;
-        .waybill_num {
-          flex: 1;
-        }
-        .btn {
-          font-size: 28rpx;
-          color: $uni-color-primary;
-          display: flex;
-					align-items: center;
-					.icon{
-						width: 30rpx;
-						height: 30rpx;
-					}
-        }
-      }
-    }
-    .warnning {
-      display: flex;
-      color: #ed4545;
-      align-items: center;
-      margin: 40rpx 0;
-    }
-    .signIn_wrap {
-      margin: 80rpx auto;
-      width: 260rpx;
-      height: 260rpx;
-      position: relative;
-      color: #fff;
-      z-index: 1;
-      display: flex;
-      flex-direction: column;
-      justify-content: center;
-      align-items: center;
-      .handle {
-        font-weight: 600;
-        font-size: 40rpx;
-        line-height: 56rpx;
-      }
-      .time {
-        color: rgba(255, 255, 255, 0.7);
-      }
-      .img {
-        position: absolute;
-        top: 0;
-        left: 0;
-        width: 100%;
-        z-index: -1;
-      }
-    }
-  }
-  .status_wrap {
-    height: 200rpx;
-    width: 100%;
-    padding: 30rpx;
-    position: relative;
-    color: #fff;
-    .bg {
-      width: 100%;
-      height: 100%;
-      position: absolute;
-      top: 0;
-      left: 0;
-      z-index: -1;
-    }
-    .name {
-      font-weight: 600;
-      font-size: 40rpx;
-      line-height: 56rpx;
-      margin-bottom: 12rpx;
-    }
-    .id_card {
-      color: rgba(255, 255, 255, 0.8);
-    }
-    .status {
-      position: absolute;
-      right: 0;
-      top: 30rpx;
-      height: 68rpx;
-      line-height: 68rpx;
-      background: #ffffff;
-      padding: 0 24rpx;
-      border-radius: 34rpx 0rpx 0rpx 34rpx;
-      font-size: 26rpx;
-      color: $uni-color-primary;
-    }
-  }
-  .space {
-    width: 750rpx;
-    height: 200rpx;
-  }
-  .padding_wrap {
-    position: fixed;
-		z-index: 999;
-    padding: 0 30rpx 64rpx;
-    bottom: 0;
-    left: 0;
-    width: 100%;
-    display: flex;
-    justify-content: space-between;
-    .btn {
-      height: 96rpx;
-      line-height: 96rpx;
-      text-align: center;
-      width: 100%;
-      font-size: 36rpx;
-      color: #333333;
-      background: #ffffff;
-      border-radius: 48rpx;
-      border: 1rpx solid #999999;
-    }
-    .check {
-      background: $uni-color-primary;
-      border: 1rpx solid $uni-color-primary;
-      color: #fff;
-    }
-  }
-}
-.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 {
-    border-radius: 8rpx;
-    display: flex;
-    height: 60rpx;
-    line-height: 60rpx;
-    font-weight: 600;
-    font-size: 36rpx;
-    color: #111111;
-    text-align: center;
-    margin-bottom: 30rpx;
-    .last {
-      background: #e9f5f6;
-      width: 60rpx;
-      border-radius: 8rpx 0rpx 0rpx 8rpx;
-      border: 1rpx solid #dfdede;
-    }
-    .name {
-      width: 186rpx;
-      border: 1rpx solid #dfdede;
-    }
-  }
-}
-</style>
+<template>
+	<view class="main_app">
+		<view class="status_wrap">
+			<image class="bg" src="../../static/driver/bg_renwu@2x.png" mode=""></image>
+			<view class="name" v-if="param.status == 1">璇蜂笌{{ param.arriveDate.slice(0,11) }}鐜板満绛惧埌</view>
+			<view class="name" v-if="param.status == 2">鍓嶆柟鎺掗槦锛歿{param.lineUpNum}}杈�</view>
+			<view class="name" v-if="param.status == 3">鍏ュ洯绛夊緟</view>
+			<view class="name" v-if="param.status == 5">鏈堝彴浣滀笟涓�</view>
+			<view class="name" v-if="param.status == 6">浣滀笟宸插畬鎴�</view>
+			<view class="id_card">{{ param.carCodeFront }}</view>
+			<view class="status">{{statusMap[param.status]}}</view>
+		</view>
+		<!--  -->
+		<view class="main_content">
+			<view class="line">
+				<view class="label">鍙告満濮撳悕</view>
+				<view class="value">{{param.driverName}}</view>
+			</view>
+			<view class="line">
+				<view class="label">鎵嬫満鍙�</view>
+				<view class="value">{{param.drivierPhone}}</view>
+			</view>
+			<template v-if="param.type != 4">
+				<view class="line">
+					<view class="label">杩愯緭鍗曞彿</view>
+					<view class="value" @click="wmsDetail">
+						<text class="waybill_num">{{param.billCode}}</text>
+						<text class="btn">杩愬崟璇︽儏</text>
+					</view>
+				</view>
+				<view class="line">
+					<view class="label">浣滀笟绫诲瀷</view>
+					<view class="value" v-if="param.type == 0">鑷湁杞﹀嵏璐�</view>
+					<view class="value" v-if="param.type == 1">鑷湁杞﹁璐�</view>
+					<view class="value" v-if="param.type == 2">澶栧崗杞﹀嵏璐�</view>
+					<view class="value" v-if="param.type == 3">澶栧崗杞﹁璐�</view>
+				</view>
+			</template>
+			<template v-else>
+				<view class="line">
+					<view class="label">鍚堝悓缂栧彿</view>
+					<view class="value">{{param.contractNum}}</view>
+				</view>
+				<view class="line">
+					<view class="label">鍏ュ簱绫诲瀷</view>
+					<view class="value">{{param.inType == 0 ? '鏁存墭鐩�' : '浠剁儫'}}</view>
+				</view>
+				<view class="line">
+					<view class="label">浣滀笟閲�</view>
+					<view class="value">{{param.totalNum}}涓囨敮</view>
+				</view>
+			</template>
+			<view class="line">
+				<view class="label">杞︾墝鐓�</view>
+				<view class="value">鍓嶏細{{param.carCodeFront}} | 鍚庯細{{param.carCodeBack}}</view>
+			</view>
+			<!--  -->
+			<view class="line" v-if="param.status == 1">
+				<view class="label">璺濈鍥尯</view>
+				<view class="value">
+					<view class="">{{param.getDistance}}鍏噷</view>
+					<view class="btn" @click="getLocation">
+						<image class="icon mr6" src="../../static/driver/position.png"></image>
+						閲嶆柊瀹氫綅
+					</view>
+				</view>
+			</view>
+			<view class="line" v-if="param.signDate">
+				<view class="label">绛惧埌鏃堕棿</view>
+				<view class="value">{{param.signDate}}</view>
+			</view>
+			<view class="line" v-if="param.startDate">
+				<view class="label">寮�濮嬩綔涓�</view>
+				<view class="value">{{param.startDate}}</view>
+			</view>
+			<view class="line" v-if="param.doneDate">
+				<view class="label">浣滀笟瀹屾垚</view>
+				<view class="value">{{param.doneDate}}</view>
+			</view>
+			<view v-if="param.status == 1" class="warnning">
+				<u-icon name="info-circle" color="#ED4545" class="mr12"></u-icon>
+				濡傛棤娉曡幏鍙栧畾浣嶏紝璇风敤寰俊鎵弿鍥尯澶у睆浜岀淮
+			</view>
+			<!-- 			<view class="line">
+				<view class="label">绛惧埌鏃堕棿</view>
+				<view class="value">2022</view>
+			</view>
+			<view class="line">
+				<view class="label">鍏ュ洯鏃堕棿</view>
+				<view class="value">2022</view>
+			</view>
+			<view class="line">
+				<view class="label">浣滀笟瀹屾垚</view>
+				<view class="value">2022</view>
+			</view> -->
+			<view v-if="param.status == 1" class="signIn_wrap" @click="handleSignIn">
+				<image :src="
+            param.getDistance < signDistance
+              ? require('@/static/driver/btn_qiandao@2x.png')
+              : require('@/static/driver/btn_qiandao_fail@2x.png')
+          " class="img" mode="widthFix"></image>
+				<view class="handle">{{ param.getDistance > signDistance ? '鏃犳硶绛惧埌' : '绛惧埌' }}</view>
+				<view class="time">{{nowTime}}</view>
+			</view>
+		</view>
+		<view class="space"></view>
+		<!-- 绛夊緟鍙彿 -->
+		<view v-if="param.status == 2" class="padding_wrap">
+			<view class="btn check" @click="handleQueue">鏌ョ湅鎺掗槦鎯呭喌</view>
+		</view>
+
+		<!-- modal -->
+		<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>
+	</view>
+</template>
+
+<script>
+	import {
+		driverTaskJobDetail,
+		driverSignInTask,
+		wmsJobDetail
+	} from '@/api';
+	import {
+		statusMap
+	} from '@/utils/config.js';
+	import dayjs from 'dayjs';
+	export default {
+		data() {
+			return {
+				statusMap,
+				param: {
+					status: '0'
+				},
+				jobId: '',
+				// lat: '',
+				// lnt: '',
+				lat: '31.783205',
+				lnt: '117.262635',
+				nowTime: '',
+				wmsInfo: {},
+				signDistance: uni.getStorageSync('driverGuide').signDistance,
+				showDetail: false,
+			}
+		},
+		onLoad(option) {
+			this.jobId = option.id
+			// if(option.status && option.status == '1'){
+			// 	this.getLocation()
+			// }else{
+			// 	this.getDetail()
+			// }
+			this.getDetail()
+			setInterval(() => {
+				this.nowTime = dayjs().format('HH:mm:ss')
+			})
+		},
+		methods: {
+			handleSignIn() {
+				const {
+					param,
+					signDistance,
+					lat,
+					lnt,
+					jobId
+				} = this
+				if (param.getDistance > signDistance) return
+				driverSignInTask({
+					jobId,
+					lat,
+					lnt,
+					signType: 0
+				}).then(res => {
+					this.showToast('绛惧埌鎴愬姛')
+					this.getDetail()
+				})
+			},
+			getDetail() {
+				const {
+					jobId,
+					lat,
+					lnt
+				} = this
+				driverTaskJobDetail({
+					jobId: this.jobId,
+					lat,
+					lnt
+				}).then(ress => {
+					this.param = {
+						...ress.data
+					}
+				})
+			},
+			wmsDetail() {
+				const {
+					param
+				} = this
+				wmsJobDetail({
+					id: param.id
+				}).then(res => {
+					this.wmsInfo = res.data
+					this.showDetail = true
+				})
+			},
+			getLocation() {
+				const {
+					jobId
+				} = this
+				uni.getLocation({
+					type: 'wgs84',
+					success: (res) => {
+						this.lat = res.latitude
+						this.lnt = res.longitude
+						this.getDetail()
+					},
+					fail: (err) => {
+						this.showToast('鑾峰彇瀹氫綅澶辫触')
+					}
+				})
+			},
+			handleQueue() {
+				uni.navigateTo({
+					url: '/pages/driver/queueUp?jobId=' + this.jobId
+				})
+			},
+		}
+	}
+</script>
+
+<style lang="scss">
+	.main_app {
+		padding: 0;
+
+		.main_content {
+			background: #ffffff;
+			border-radius: 20rpx 20rpx 0rpx 0rpx;
+			padding: 16rpx 30rpx;
+			position: relative;
+			bottom: 32rpx;
+			z-index: 999;
+
+			.line {
+				padding: 24rpx 0 28rpx;
+				border-bottom: 1rpx solid #e5e5e5;
+				display: flex;
+
+				.label {
+					width: 150rpx;
+					font-size: 30rpx;
+					color: #666666;
+				}
+
+				.value {
+					flex: 1;
+					display: flex;
+					justify-content: space-between;
+					align-items: center;
+					font-size: 30rpx;
+
+					.waybill_num {
+						flex: 1;
+					}
+
+					.btn {
+						font-size: 28rpx;
+						color: $uni-color-primary;
+						display: flex;
+						align-items: center;
+
+						.icon {
+							width: 30rpx;
+							height: 30rpx;
+						}
+					}
+				}
+			}
+
+			.warnning {
+				display: flex;
+				color: #ed4545;
+				align-items: center;
+				margin: 40rpx 0;
+			}
+
+			.signIn_wrap {
+				margin: 80rpx auto;
+				width: 260rpx;
+				height: 260rpx;
+				position: relative;
+				color: #fff;
+				z-index: 1;
+				display: flex;
+				flex-direction: column;
+				justify-content: center;
+				align-items: center;
+
+				.handle {
+					font-weight: 600;
+					font-size: 40rpx;
+					line-height: 56rpx;
+				}
+
+				.time {
+					color: rgba(255, 255, 255, 0.7);
+				}
+
+				.img {
+					position: absolute;
+					top: 0;
+					left: 0;
+					width: 100%;
+					z-index: -1;
+				}
+			}
+		}
+
+		.status_wrap {
+			height: 200rpx;
+			width: 100%;
+			padding: 30rpx;
+			position: relative;
+			color: #fff;
+
+			.bg {
+				width: 100%;
+				height: 100%;
+				position: absolute;
+				top: 0;
+				left: 0;
+				z-index: -1;
+			}
+
+			.name {
+				font-weight: 600;
+				font-size: 40rpx;
+				line-height: 56rpx;
+				margin-bottom: 12rpx;
+			}
+
+			.id_card {
+				color: rgba(255, 255, 255, 0.8);
+			}
+
+			.status {
+				position: absolute;
+				right: 0;
+				top: 30rpx;
+				height: 68rpx;
+				line-height: 68rpx;
+				background: #ffffff;
+				padding: 0 24rpx;
+				border-radius: 34rpx 0rpx 0rpx 34rpx;
+				font-size: 26rpx;
+				color: $uni-color-primary;
+			}
+		}
+
+		.space {
+			width: 750rpx;
+			height: 200rpx;
+		}
+
+		.padding_wrap {
+			position: fixed;
+			z-index: 999;
+			padding: 0 30rpx 64rpx;
+			bottom: 0;
+			left: 0;
+			width: 100%;
+			display: flex;
+			justify-content: space-between;
+
+			.btn {
+				height: 96rpx;
+				line-height: 96rpx;
+				text-align: center;
+				width: 100%;
+				font-size: 36rpx;
+				color: #333333;
+				background: #ffffff;
+				border-radius: 48rpx;
+				border: 1rpx solid #999999;
+			}
+
+			.check {
+				background: $uni-color-primary;
+				border: 1rpx solid $uni-color-primary;
+				color: #fff;
+			}
+		}
+	}
+
+	.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>
\ No newline at end of file

--
Gitblit v1.9.3