From 4e2e52b766d87fc528d02bdebc1757c3dda8c596 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 26 二月 2025 09:22:24 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 h5/pages/staff/visitorReport.vue |   75 ++++++++++++++++++++++++++++++++-----
 1 files changed, 64 insertions(+), 11 deletions(-)

diff --git a/h5/pages/staff/visitorReport.vue b/h5/pages/staff/visitorReport.vue
index 039eb66..4431d4e 100644
--- a/h5/pages/staff/visitorReport.vue
+++ b/h5/pages/staff/visitorReport.vue
@@ -6,13 +6,14 @@
           <text>*</text>
           <text>琚浜哄鍚�</text>
         </view>
-        <view class="list_item_content" @click="showName = true">
+        <!-- <view class="list_item_content" @click="showName = true"> -->
+        <view class="list_item_content">
           <text :style="{ color: form1.receptMemberName ? '#000000' : '' }">{{
             form1.receptMemberName
               ? form1.receptMemberName + " " + form1.receptCompanyName
               : "璇烽�夋嫨"
           }}</text>
-          <u-icon name="arrow-right" color="#CCCCCC" size="20"></u-icon>
+          <!-- <u-icon name="arrow-right" color="#CCCCCC" size="20"></u-icon> -->
         </view>
       </view>
       <view class="list_item">
@@ -106,18 +107,26 @@
             placeholder-style="color: #999999;"
         /></view>
       </view>
-      <view class="list_item">
+      <view class="list_item" @click="isShowReason = true">
         <view class="list_item_label">
           <text>*</text>
           <text>鏉ヨ浜嬬敱</text>
         </view>
-        <view class="list_item_content"
+				<view class="list_item_content">
+				  <text
+				    class="mr6"
+				    :style="{ color: form1.reason ? '#000000' : '#999999' }"
+				    >{{ form1.reason ? form1.reason : "璇烽�夋嫨" }}</text
+				  >
+				  <u-icon name="arrow-right" color="#CCCCCC" size="20"></u-icon>
+				</view>
+        <!-- <view class="list_item_content"
           ><input
             type="text"
             v-model="form1.reason"
             placeholder="璇疯緭鍏ユ潵璁夸簨鐢�"
             placeholder-style="color: #999999;"
-        /></view>
+        /></view> -->
       </view>
     </view>
     <view class="zw"></view>
@@ -129,6 +138,7 @@
       :show="show4"
       :minDate="new Date().getTime()"
       mode="datetime"
+			:formatter="formatter"
       @cancel="show4 = false"
       @confirm="setinDate"
     ></u-datetime-picker>
@@ -136,6 +146,7 @@
     <u-datetime-picker
       v-if="form1.starttime"
       :show="show5"
+			:formatter="formatter"
       :minDate="formatTimeStamp(form1.starttime)"
       :maxDate="formatTimeStamp(maxTime)"
       mode="datetime"
@@ -162,6 +173,17 @@
         </view>
       </view>
     </u-popup>
+		<!-- 鏉ヨ鏄敱 -->
+		<u-picker
+		  keyName="title"
+		  :show="isShowReason"
+		  closeOnClickOverlay
+		  :columns="reasonList"
+		  @confirm="reasonSel"
+		  @close="isShowReason = false"
+		  @cancel="isShowReason = false"
+		></u-picker>
+		
     <u-picker
       keyName="name"
       :show="showName"
@@ -188,7 +210,7 @@
 import keyboardInput from '@/components/keyboard-input/keyboard-input.vue'
 import QfImageCropper from '@/uni_modules/qf-image-cropper/components/qf-image-cropper/qf-image-cropper.vue'
 import { getDaysAfterDate } from '@/utils/utils.js'
-import { createVisit, getVisitedMember } from '@/api'
+import { createVisit, getVisitedMember, getVisitReason } from '@/api'
 export default {
   data() {
     return {
@@ -200,8 +222,10 @@
       show4: false,
       show5: false,
       show7: false,
+      isShowReason: false,
       showName: false,
       fileList: [],
+			reasonList: [],
       memberList: [[{ name: '韬唤璇�', id: 0 }, { name: '娓境璇佷欢', id: 1 }, { name: '鎶ょ収', id: 2 }]],
       columnsNames: [[{ name: '寮犱笁', id: 0 }, { name: '寮犱笁', id: 1 }, { name: '寮犱笁', id: 2 }]],
       columns: [],
@@ -234,12 +258,30 @@
     const userInfo = uni.getStorageSync('userInfo') || {}
     this.$set(this.form1, 'receptMemberName', userInfo.realname)
     this.$set(this.form1, 'receptMemberId', userInfo.id || '')
-    this.$set(this.form1, 'receptCompanyName', userInfo.company.companyName || '')
+    this.$set(this.form1, 'receptCompanyName', userInfo.company.name || '')
     // this.getvisit()
     // this.getVisit1()
     // this.getUserValid()
   },
   methods: {
+		formatter(type, value) {
+			if (type === 'year') {
+				return `${value}骞碻
+			}
+			if (type === 'month') {
+				return `${value}鏈坄
+			}
+			if (type === 'day') {
+				return `${value}鏃
+			}
+			if (type === 'hour') {
+				return `${value}鏃禶
+			}
+			if (type === 'minute') {
+				return `${value}鍒哷
+			}
+			return value
+		},
     openInput(type) {
       this.inputType = type
       this.$refs.keyboard.open()
@@ -259,10 +301,18 @@
       this.$set(this.form1, 'receptCompanyName', e.value[0].companyName)
       this.showName = false
     },
+		reasonSel(e) {
+			console.log('e',e);
+			this.$set(this.form1, 'reason', e.value[0].title)
+			this.isShowReason = false
+		},
     getUser() {
       getVisitedMember().then(res => {
         this.memberList = [res.data || []]
       })
+			getVisitReason().then(res => {
+				this.reasonList = [res.data || []]
+			})
     },
     closeInput() {
       this.$refs.keyboard.close()
@@ -292,6 +342,12 @@
         title: '鎵嬫満鍙蜂笉鑳戒负绌�',
         icon: 'none'
       })
+      var re = /^1[3,4,5,6,7,8,9][0-9]{9}$/;
+		  var result = re.test(this.form1.phone);
+      if (!result) return uni.showToast({
+        title: '鎵嬫満鍙锋牸寮忎笉姝g‘',
+        icon: 'none'
+      }) 
       if (!this.form1.companyName) return uni.showToast({
         title: '鏉ヨ鍗曚綅涓嶈兘涓虹┖',
         icon: 'none'
@@ -646,10 +702,7 @@
     padding: 0 30rpx;
     padding-bottom: env(safe-area-inset-bottom);
     box-sizing: border-box;
-    position: fixed;
-    left: 0;
-    bottom: 68rpx;
-
+		margin-top: 80rpx;
     .footer_btn {
       width: 100%;
       height: 88rpx;

--
Gitblit v1.9.3