<template>
|
<view class="main_app">
|
<view class="status_wrap">
|
<image class="bg" src="../../static/driver/bg_renwu@2x.png" mode=""></image>
|
<view class="name">作业已完成</view>
|
<view class="id_card">皖AD1212</view>
|
<view class="status">作业完成</view>
|
</view>
|
<!-- -->
|
<view class="main_content">
|
<view class="line">
|
<view class="label">司机姓名</view>
|
<view class="value">刘某</view>
|
</view>
|
<view class="line">
|
<view class="label">手机号</view>
|
<view class="value">188</view>
|
</view>
|
<view class="line">
|
<view class="label">运输单号</view>
|
<view class="value" @click="showDetail = true">
|
<text class="waybill_num">Y111</text>
|
<text class="btn">运单详情</text>
|
</view>
|
</view>
|
<view class="line">
|
<view class="label">作业类型</view>
|
<view class="value">入园装货</view>
|
</view>
|
<view class="empty"></view>
|
<!-- -->
|
<view class="line">
|
<view class="label">车前牌照号</view>
|
<view class="value" @click="openInput(1)">
|
<text :style="{ color: param.carNos ? '#000000' : '#999999' }">{{ param.carNos ? param.carNos : '请输入车前牌照号'
|
}}</text>
|
</view>
|
</view>
|
<view class="line">
|
<view class="label">车后牌照号</view>
|
<view class="value">
|
<text @click="openInput(1)" :style="{ color: param.carNos ? '#000000' : '#999999' }">{{ param.carNos ?
|
param.carNos : '请输入车后牌照号' }}</text>
|
<text class="copy">复制车前牌照号</text>
|
</view>
|
</view>
|
<!-- -->
|
|
</view>
|
<view class="space"></view>
|
<!-- 等待叫号 -->
|
<view class="sub_wrap">
|
<view class="btn check">确认任务</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>
|
<keyboardInput ref="keyboard" @export="setPlate" @close="closeInput" />
|
</view>
|
<!-- -->
|
</template>
|
|
<script>
|
import keyboardInput from '@/components/keyboard-input/keyboard-input.vue'
|
export default {
|
components: {
|
keyboardInput
|
},
|
data() {
|
return {
|
param: {
|
status: '0'
|
},
|
showDetail: false,
|
|
inputType: ''
|
}
|
},
|
methods: {
|
handleSignIn() {
|
const { param } = this
|
this.param.status = param.status == '0' ? '1' : '0'
|
},
|
getLocation() {
|
uni.getLocation({
|
type: 'wgs84',
|
success: function (res) {
|
console.log('当前位置的经度:' + res.longitude)
|
console.log('当前位置的纬度:' + res.latitude)
|
}
|
})
|
},
|
openInput(type) {
|
this.inputType = type
|
this.$refs.keyboard.open()
|
},
|
setPlate(e) {
|
if (this.inputType === 1) {
|
this.param.carNos = e
|
} else if (this.inputType === 2) {
|
this.param.carNos = e
|
}
|
this.$forceUpdate()
|
this.closeInput()
|
},
|
closeInput() {
|
this.$refs.keyboard.close()
|
}
|
}
|
}
|
</script>
|
|
<style lang="scss">
|
page {
|
background-color: #f7f7f7;
|
}
|
|
.main_app {
|
padding: 0;
|
|
.main_content {
|
background: #FFFFFF;
|
border-radius: 20rpx 20rpx 0rpx 0rpx;
|
padding: 16rpx 30rpx;
|
position: relative;
|
bottom: 32rpx;
|
|
.line {
|
padding: 24rpx 0 28rpx;
|
border-bottom: 1rpx solid #E5E5E5;
|
|
.label {
|
font-size: 26rpx;
|
color: #666666;
|
margin-bottom: 20rpx;
|
}
|
|
.value {
|
display: flex;
|
justify-content: space-between;
|
align-items: center;
|
font-size: 30rpx;
|
|
.waybill_num {
|
flex: 1;
|
}
|
|
.copy {
|
font-size: 26rpx;
|
color: $uni-color-primary;
|
}
|
|
.btn {
|
font-size: 28rpx;
|
color: $uni-color-primary;
|
display: flex;
|
}
|
}
|
}
|
.empty{
|
width: 750rpx;
|
height: 20rpx;
|
background-color: #f7f7f7;
|
margin: 0 -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: 500;
|
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;
|
z-index: 99;
|
color: #fff;
|
.bg {
|
width: 100%;
|
height: 100%;
|
position: absolute;
|
top: 0;
|
left: 0;
|
z-index: -1;
|
}
|
|
.name {
|
font-weight: 500;
|
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;
|
}
|
|
.sub_wrap {
|
position: fixed;
|
padding: 16rpx 30rpx 64rpx;
|
bottom: 0;
|
left: 0;
|
width: 100%;
|
display: flex;
|
z-index: 1;
|
justify-content: space-between;
|
background-color: #fff;
|
.btn {
|
height: 96rpx;
|
line-height: 96rpx;
|
text-align: center;
|
width: 690rpx;
|
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: 500;
|
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: 500;
|
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>
|