From f02fde734aba50a4d5b5f89d88c075e6e93cb499 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期四, 12 九月 2024 09:28:41 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 h5/pages/staff/task/visitorReport.vue |  190 +++++++++++++++++++----------------------------
 1 files changed, 78 insertions(+), 112 deletions(-)

diff --git a/h5/pages/staff/task/visitorReport.vue b/h5/pages/staff/task/visitorReport.vue
index 566fe2c..368508b 100644
--- a/h5/pages/staff/task/visitorReport.vue
+++ b/h5/pages/staff/task/visitorReport.vue
@@ -1,47 +1,28 @@
 <template>
   <view class="main_app">
     <view class="status_wrap">
-      <view class="name"
-        >{{ info.createMemberName }}鎻愪氦鐨剓{ cateList[type].name }}</view
-      >
-      <view
-        class="desc"
-        :class="{
-          gray: info.status == '2' || info.status == '5' || info.status == '4',
-        }"
-        >{{ statusMap[info.status] }}</view
-      >
+      <view class="name">{{ info.createMemberName }}鎻愪氦鐨剓{ cateList[type].name }}</view>
+      <view class="desc" :class="{
+        gray: info.status == '2' || info.status == '5' || info.status == '4',
+      }">{{ statusMap[info.status] }}</view>
       <view v-if="info.status == '0'" class="status">{{
         statusMap[info.status]
-      }}</view>
-      <image
-        v-if="info.status == '2'"
-        src="@/static/ic_passed@2x.png"
-        mode="widthFix"
-        class="status_img"
-      ></image>
-      <image
-        v-if="info.status == '3' || info.status == '6'"
-        src="@/static/ic_refused@2x.png"
-        mode="widthFix"
-        class="status_img"
-      ></image>
+        }}</view>
+      <image v-if="info.status == '2'" src="@/static/ic_passed@2x.png" mode="widthFix" class="status_img"></image>
+      <image v-if="info.status == '3' || info.status == '6'" src="@/static/ic_refused@2x.png" mode="widthFix"
+        class="status_img"></image>
     </view>
     <!--  -->
     <view class="emyty"></view>
     <view class="module_list">
       <view class="item">
         <view class="label">琚浜�</view>
-        <view class="value"
-          >{{ info.receptMemberName }} {{ info.receptMemberDepartment }}</view
-        >
+        <view class="value">{{ info.receptMemberName }} {{ info.receptMemberDepartment }}</view>
       </view>
       <view class="item">
         <view class="label">棰勮鍏�/绂诲洯鏃堕棿</view>
-        <view class="value" v-if="info.starttime"
-          >{{ info.starttime.slice(5, 16) }} 鑷�
-          {{ info.endtime.slice(5, 16) }}</view
-        >
+        <view class="value" v-if="info.starttime">{{ info.starttime.slice(5, 16) }} 鑷�
+          {{ info.endtime.slice(5, 16) }}</view>
       </view>
       <view class="emyty"></view>
 
@@ -57,10 +38,10 @@
         <view class="label">闅忚溅浜烘暟</view>
         <view class="value">{{ info.memberNum }}浜�</view>
       </view>
-			<view class="item">
-			  <view class="label">璁垮鍗曚綅</view>
-			  <view class="value">{{ info.companyName }}浜�</view>
-			</view>
+      <view class="item">
+        <view class="label">璁垮鍗曚綅</view>
+        <view class="value">{{ info.companyName }}浜�</view>
+      </view>
       <view class="item">
         <view class="label">鏉ヨ浜嬬敱</view>
         <view class="value">{{ info.reason }}</view>
@@ -69,71 +50,38 @@
     <!-- 娴佺▼ -->
     <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"
-          :key="item.id"
-        >
+      <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
-              class="img"
-              :src="
-                item.faceImg
-                  ? item.faceImg
-                  : require('@/static/meeting/common/default_user@2x.png')
-              "
-            />
-            <image
-							v-if="item.status == 1"
-              class="status"
-              src="@/static/staff/liucheng_success@2x.png"
-              mode="widthFix"
-            />
-						<image
-							v-if="item.status == 2"
-						  class="status"
-						  src="@/static/staff/liucheng_fail@2x.png"
-						  mode="widthFix"
-						/>
+            <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" v-if="item.createDate">{{ item.createDate.slice(0, 16) }}</view>
+              <view class="time">{{ item.checkDate }}</view>
             </view>
-            <view class="name_wrap" v-if="item.type == 0">
-              <text
-                >{{ item.memberName
-                }}<text class="status" v-if="item.statusInfo"
-                  >({{ item.statusInfo }})</text
-                ></text
-              >
+            <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>
             <!-- 鎶勯�佷汉 -->
-            <view class="children">
-              <view
-                class="child"
-                v-for="child in item.approveList"
-                :key="child.id"
-              >
-                <image
-                  class="child_img"
-                  :src="
-                    child.faceImg
-                      ? child.faceImg
-                      : require('@/static/meeting/common/default_user@2x.png')
-                  "
-                />
+            <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>
@@ -142,34 +90,20 @@
       </view>
     </view>
     <view class="emyty"></view>
-    <view
-      v-if="
-        info.approveDateVO != null &&
-        info.approveDateVO.canBeApproved != null &&
-        info.approveDateVO.canBeApproved == 1
-      "
-      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(3)">鎷掔粷</view>
       <view class="btn agree" @click="handleSub(2)">鍚屾剰</view>
     </view>
 
-    <u-popup
-      :show="showApprModal"
-      :round="10"
-      :safeAreaInsetBottom="true"
-      mode="bottom"
-      @close="showApprModal = false"
-    >
+    <u-popup :show="showApprModal" :round="10" :safeAreaInsetBottom="true" mode="bottom" @close="showApprModal = false">
       <view class="appr_modal">
         <view class="title">{{ param.status == 2 ? "鍚屾剰" : "鎷掔粷" }}</view>
-        <textarea
-          v-model="param.checkInfo"
-          :placeholder="
-            param.status == 2 ? '鍚屾剰璇存槑锛岄潪蹇呭~' : '鎷掔粷璇存槑锛屽繀濉�'
-          "
-          placeholder-class="placeholder9"
-        />
+        <textarea v-model="param.checkInfo" :placeholder="param.status == 2 ? '鍚屾剰璇存槑锛岄潪蹇呭~' : '鎷掔粷璇存槑锛屽繀濉�'
+          " placeholder-class="placeholder9" />
         <view class="main_footer">
           <view class="btn" @click="showApprModal = false">鍙栨秷</view>
           <view class="btn agree" @click="onSubmit">鎻愪氦</view>
@@ -203,8 +137,8 @@
       statusMap: {
         0: '寰呭鎵�',
         1: '瀹℃壒涓�',
-        2: '瀹℃壒閫氳繃',
-        3: '瀹℃壒鏈�氳繃',
+        2: '宸查�氳繃',
+        3: '宸叉嫆缁�',
         4: '宸插彇娑�',
         5: '浠栦汉鎴栫',
         6: '浠栦汉鎷掔粷',
@@ -221,10 +155,28 @@
       const { id } = this
       getVisitedReDetail({ id }).then(res => {
         this.info = res.data
+        if (this.info.approveDateVO && this.info.approveDateVO.approveList.length > 0) {
+          this.info.approveDateVO.approveList.forEach(item => {
+            if (item.approveList && item.approveList.length == 1 && item.type !== 1) {
+              item.title = item.approveList[0].title
+              item.faceImg = item.approveList[0].faceImg
+              item.memberName = item.approveList[0].memberName
+              item.statusInfo = item.approveList[0].statusInfo
+              item.status = item.approveList[0].status
+              item.approveList = []
+            }
+          })
+        }
       })
     },
     onSubmit() {
       const { param, info } = this
+      if (param.status == '3' && !param.checkInfo) {
+        return uni.showToast({
+          title: '璇疯緭鍏ユ嫆缁濊鏄�',
+          icon: 'none'
+        })
+      }
       carUseBookAppr({
         status: param.status,
         objType: 2,
@@ -280,6 +232,7 @@
         display: flex;
         margin-bottom: 48rpx;
         position: relative;
+
         .separate {
           position: absolute;
           width: 4rpx;
@@ -289,6 +242,7 @@
           transform: translate(-50%, 0);
           top: 80rpx;
         }
+
         .avatar {
           width: 80rpx;
           height: 80rpx;
@@ -337,16 +291,20 @@
               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;
@@ -365,26 +323,31 @@
             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;
@@ -450,6 +413,7 @@
       font-size: 26rpx;
       color: #ed4545;
     }
+
     .gray {
       color: #999999;
     }
@@ -465,6 +429,7 @@
       background-color: #e9edff;
       color: $uni-color-primary;
     }
+
     .status_img {
       position: absolute;
       right: 0rpx;
@@ -482,6 +447,7 @@
     display: flex;
     justify-content: space-between;
     background: #ffffff;
+
     .btn {
       width: 336rpx;
       height: 88rpx;

--
Gitblit v1.9.3