From 17efddc6a667670dca682bf36b51a43e99615e6d Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期三, 16 十月 2024 15:59:38 +0800
Subject: [PATCH] 代码初始化

---
 h5/pages/staff/task/driver.vue |  385 ++++++++++++++++++++++++++++++++----------------------
 1 files changed, 229 insertions(+), 156 deletions(-)

diff --git a/h5/pages/staff/task/driver.vue b/h5/pages/staff/task/driver.vue
index 20d2264..7018b5d 100644
--- a/h5/pages/staff/task/driver.vue
+++ b/h5/pages/staff/task/driver.vue
@@ -2,8 +2,13 @@
   <view class="main_app">
     <view class="status_wrap">
       <view class="name">{{info.driverName}}鐨勫叆鍥绾�</view>
-      <view class="desc">{{info.carCodeFront}}</view>
-      <view class="status">{{ statusMap[info.status] }}</view>
+      <view class="gray">{{info.carCodeFront}}</view>
+			<view class="desc" :class="{
+			    gray: info.businessStatus == '2' || info.businessStatus == '3' || info.businessStatus == '4',
+			  }">{{ infoStatus }}</view>
+      <view class="status" v-if="info.status != 2 && info.status != 3">{{ statusMap[info.status] }}</view>
+			<image v-if="info.status == 2" class="icon" src="@/static/ic_passed@2x.png" mode=""></image>
+			<image v-if="info.status == 3" class="icon" src="@/static/ic_refused@2x.png" mode=""></image>
     </view>
     <!--  -->
     <view class="emyty"></view>
@@ -56,56 +61,51 @@
     <!-- 娴佺▼ -->
     <view class="flow_wrap">
       <view class="flow_title">娴佺▼</view>
-      <view class="list" v-if="info.approveDateVO != null && info.approveDateVO.approveList != null">
-        <view class="item" v-for="item,index in info.approveDateVO.approveList">
-					<view v-if="index != info.approveDateVO.approveList.length - 1" class="separate"></view>
-          <view class="avatar_wrap">
-            <image
-              class="img"
-              :src="
-                item.faceImg
-                  ? item.faceImg
-                  : require('@/static/meeting/common/default_user@2x.png')
-              "
-            />
-            <image
-							v-if="item.status == 2"
-              class="status"
-              src="@/static/staff/liucheng_success@2x.png"
-              mode="widthFix"
-            />
-						<image
-							v-if="item.status == 3"
-						  class="status"
-						  src="@/static/staff/liucheng_fail@2x.png"
-						  mode="widthFix"
-						/>
-          </view>
-          <view class="content">
-            <view class="head">
-              <view class="event">{{ item.title }}</view>
-              <view class="time">{{item.createDate}}</view>
-            </view>
-            <view class="name_wrap">
-              <text>{{item.memberName}}<text v-if="item.statusInfo" class="status">({{item.statusInfo}})</text></text>
-            </view>
-						<view v-if="item.approveType == 1" class="carbon">
-						  <view class="carbon_item" v-for="child in item.approveList"
-                :key="child.id">
-						    <image :src="
-                    child.faceImg
-                      ? child.faceImg
-                      : require('@/static/meeting/common/default_user@2x.png')
-                  "></image>
-						    <view class="text">{{ child.memberName }}</view>
-						  </view>
-						</view>
-          </view>
-        </view>
+      <view class="list" v-if="
+          info.approveDateVO != null && info.approveDateVO.approveList != null
+        ">
+      	<view class="item" v-for="(item, index) in info.approveDateVO.approveList" :key="item.id">
+      		<view class="separate"></view>
+      		<view class="avatar">
+      			<image v-if="item.type == 1" class="img" src="@/static/staff/ic_chaosong@2x.png" />
+      			<image v-else-if="item.approveType == 1 || item.approveType == 0" class="img"
+      				src="@/static/staff/ic_shenpiren@2x.png" />
+      			<span v-else class="img_name">{{item.memberName && item.memberName.slice(0,1)}}</span>
+      			<image v-if="item.status == 2" class="status" src="@/static/staff/liucheng_success@2x.png"
+      				mode="widthFix" />
+      			<image v-if="item.status == 3" class="status" src="@/static/staff/liucheng_fail@2x.png" mode="widthFix" />
+      		</view>
+      		<view class="content">
+      			<view class="head">
+      				<view class="event">{{ item.title }}</view>
+      				<view class="time">{{ item.checkDate }}</view>
+      			</view>
+      			<view class="name_wrap">
+      				<text>{{ item.memberName
+                }}<text :class="{ status: item.statusInfo == '澶勭悊涓�' || item.status == '1'  }"
+      						v-if="item.statusInfo">({{ item.statusInfo }})</text></text>
+      			</view>
+      			<view v-if="item.checkInfo" class="remark">{{
+              item.checkInfo
+            }}</view>
+      			<!-- 鎶勯�佷汉 -->
+      			<view v-if="item.approveType == 0 || item.type == 1 || item.approveType == 1" class="children">
+      				<view class="child" v-for="child in item.approveList" :key="child.id">
+      					<image v-if="child.faceImg" class="child_img" :src="child.faceImg" />
+      					<view v-else class="child_name">{{ child.memberName && child.memberName.slice(0,1) }}</view>
+      					<view>{{ child.memberName }}</view>
+      				</view>
+      			</view>
+      		</view>
+      	</view>
       </view>
     </view>
     <view class="emyty"></view>
-    <view class="main_footer">
+    <view v-if="
+      info.approveDateVO != null &&
+      info.approveDateVO.canBeApproved != null &&
+      info.approveDateVO.canBeApproved == 1
+    " class="main_footer">
       <view class="btn" @click="handleSub('0')">鎷掔粷</view>
       <view class="btn agree" @click="handleSub('1')">鍚屾剰</view>
     </view>
@@ -141,20 +141,22 @@
     return {
       showApprModal: false,
 			checkInfo: '',
+			infoStatus: '',
 			flag: '1',
       info: {},
 			type: 0,
 			statusMap: {
 				0: '寰呭鎵�',
 				1: '瀹℃壒涓�',
-				2: '瀹℃壒閫氳繃',
-				3: '瀹℃壒涓嶉�氳繃',
+				2: '宸查�氳繃',
+				3: '宸叉嫆缁�',
 				4: '宸插彇娑�',
 			},
     }
   },
 	onLoad(option) {
 		this.type = option.objType
+		this.infoStatus = option.info
 		this.getDetail(option.id)
 	},
   methods: {
@@ -214,109 +216,166 @@
   padding-bottom: 0;
 
   .flow_wrap {
-    padding: 30rpx 0;
-
-    .flow_title {
-      font-weight: 600;
-      font-size: 32rpx;
-      color: #222222;
-      margin-bottom: 24rpx;
-    }
-
-    .list {
-      .item {
-        display: flex;
-        margin-bottom: 48rpx;
-				position: relative;
-				.separate {
-				  position: absolute;
-				  width: 4rpx;
-				  height: calc( 100% - 52rpx );
-				  background-color: #eeeeee;
-				  left: 40rpx;
-				  top: 90rpx;
-				}
-        .avatar_wrap {
-          width: 80rpx;
-          height: 80rpx;
-          position: relative;
-          margin-right: 20rpx;
-          .img {
-            width: 80rpx;
-            height: 80rpx;
-            border-radius: 50%;
-          }
-
-          .status {
-            width: 28rpx;
-            height: 28rpx;
-            border-radius: 50%;
-            position: absolute;
-            right: 0;
-            bottom: 0;
-          }
-
-        }
-
-        .content {
-          flex: 1;
-
-          .head {
-            display: flex;
-            justify-content: space-between;
-            margin-bottom: 4rpx;
-
-            .event {
-              font-size: 30rpx;
-            }
-
-            .time {
-              font-size: 26rpx;
-              color: #999999;
-            }
-          }
-
-          .name_wrap {
-            font-size: 26rpx;
-            color: #777777;
-
-            .status {
-              color: $uni-color-primary;
-            }
-          }
-
-          .remark {
-            margin-top: 12rpx;
-            background-color: #f7f7f7;
-            padding: 14rpx 20rpx;
-            border-radius: 8rpx;
-            font-size: 26rpx;
-            color: #666666;
-            line-height: 36rpx;
-          }
-        }
-        .carbon {
-          display: flex;
-          width: 590rpx;
-          overflow-x: auto;
-          margin-top: 12rpx;
-          .carbon_item {
-            text-align: center;
-            flex-shrink: 0;
-            width: 100rpx;
-            image {
-              width: 60rpx;
-              height: 60rpx;
-              margin: 0 auto;
-            }
-            view {
-              font-size: 26rpx;
-              color: #777777;
-            }
-          }
-        }
-      }
-    }
+  	padding: 30rpx 0;
+  
+  	.flow_title {
+  		font-weight: 600;
+  		font-size: 32rpx;
+  		color: #222222;
+  		margin-bottom: 24rpx;
+  	}
+  
+  	.list {
+  		.item {
+  			display: flex;
+  			margin-bottom: 48rpx;
+  			position: relative;
+  
+  			.separate {
+  				position: absolute;
+  				width: 4rpx;
+  				height: 100%;
+  				background-color: #eeeeee;
+  				left: 40rpx;
+  				transform: translate(-50%, 0);
+  				top: 80rpx;
+  			}
+  
+  			.avatar {
+  				width: 80rpx;
+  				height: 80rpx;
+  				position: relative;
+  				margin-right: 20rpx;
+  				display: flex;
+  				align-items: center;
+  				justify-content: center;
+  
+  				.img {
+  					width: 80rpx;
+  					height: 80rpx;
+  					border-radius: 50%;
+  				}
+  
+  				.img_name {
+  					font-size: 32rpx;
+  					color: #FFFFFF;
+  				}
+  
+  				.status {
+  					width: 28rpx;
+  					height: 28rpx;
+  					border-radius: 50%;
+  					position: absolute;
+  					right: 0;
+  					bottom: 0;
+  				}
+  			}
+  
+  			.content {
+  				flex: 1;
+  
+  				.head {
+  					display: flex;
+  					justify-content: space-between;
+  					margin-bottom: 4rpx;
+  
+  					.event {
+  						font-size: 30rpx;
+  					}
+  
+  					.time {
+  						font-size: 26rpx;
+  						color: #999999;
+  					}
+  				}
+  
+  				.name_wrap {
+  					font-size: 26rpx;
+  					color: #777777;
+  
+  					.status {
+  						color: $uni-color-primary;
+  					}
+  				}
+  
+  				.children {
+  					display: flex;
+  					flex-wrap: wrap;
+  					margin-top: 12rpx;
+  
+  					.child {
+  						display: flex;
+  						flex-direction: column;
+  						justify-content: center;
+  						align-items: center;
+  						margin-right: 12rpx;
+  						font-size: 26rpx;
+  						color: #777777;
+  
+  						.child_img {
+  							width: 48rpx;
+  							height: 48rpx;
+  							border-radius: 50%;
+  							margin-bottom: 2rpx;
+  						}
+  
+  						.child_name {
+  							margin-bottom: 2rpx;
+  							width: 48rpx;
+  							height: 48rpx;
+  							text-align: center;
+  							justify-content: center;
+  							padding-top: 4rpx;
+  							font-size: 28rpx;
+  							border-radius: 50%;
+  							color: #FFFFFF;
+  							background-color: $uni-color-primary;
+  						}
+  					}
+  				}
+  
+  				.remark {
+  					margin-top: 12rpx;
+  					background-color: #f7f7f7;
+  					padding: 14rpx 20rpx;
+  					border-radius: 8rpx;
+  					font-size: 26rpx;
+  					color: #666666;
+  					line-height: 36rpx;
+  				}
+  			}
+  
+  			.carbon {
+  				display: flex;
+  				width: 590rpx;
+  				overflow-x: auto;
+  				margin-top: 12rpx;
+  
+  				.carbon_item {
+  					text-align: center;
+  					flex-shrink: 0;
+  					width: 100rpx;
+  
+  					image {
+  						width: 60rpx;
+  						height: 60rpx;
+  						margin: 0 auto;
+  					}
+  
+  					view {
+  						font-size: 26rpx;
+  						color: #777777;
+  					}
+  				}
+  			}
+  
+  			&:nth-last-child(1) {
+  				.separate {
+  					height: 0;
+  				}
+  			}
+  		}
+  	}
   }
 
   .module_list {
@@ -370,11 +429,16 @@
       margin-bottom: 20rpx;
       color: #222222;
     }
-
+		
     .desc {
       font-size: 26rpx;
-      color: #999999;
+      color: #ed4545;
+			margin-bottom: 12rpx;
     }
+		.gray {
+			color: #999999;
+			margin-bottom: 12rpx;
+		}
 
     .status {
       position: absolute;
@@ -387,6 +451,15 @@
       background-color: #e9edff;
       color: $uni-color-primary;
     }
+		.icon{
+			width: 120rpx;
+			height: 120rpx;
+			border-radius: 50%;
+			position: absolute;
+			right: 0rpx;
+			top: 20rpx;
+			
+		}
   }
 
   .main_footer {

--
Gitblit v1.9.3