访客页面

This commit is contained in:
zjf committed 2025-04-18 15:44:20 +08:00
1 parent a0b9ac0f40
commit 1c6c0a0f7b
2 files changed
+30 -30

No files matched your search

+29 -29
View File
@@ -10,8 +10,8 @@
</view>
<!-- 使用scroll-view包裹内容区域 -->
<scroll-view
scroll-y
<scroll-view
scroll-y
class="page-content"
>
<view class="content-wrapper">
@@ -60,8 +60,8 @@
<view class="form-item">
<text class="label">拜访原因<text class="required">*</text></text>
<picker
:range="reasonList"
<picker
:range="reasonList"
range-key="label"
@change="onReasonChange"
>
@@ -246,24 +246,24 @@
<text class="popup-title">选择接待人</text>
<text class="popup-close" @tap="closeUserPicker">×</text>
</view>
<view class="search-box">
<input
type="text"
<input
type="text"
v-model="searchKeyword"
placeholder="搜索接待人姓名"
placeholder="搜索接待人姓名"
placeholder-class="search-placeholder"
class="search-input"
/>
</view>
<scroll-view
scroll-y
<scroll-view
scroll-y
class="user-list"
:style="{ height: '50vh' }"
>
<view
v-for="user in filteredUserList"
<view
v-for="user in filteredUserList"
:key="user.userId"
class="user-item"
:class="{ active: selectedUserId === user.userId }"
@@ -299,7 +299,7 @@ const formData = reactive({
isDrive: '1', // 默认有车辆
deptId: '', // 这个需要等部门列表加载后设置
deptName: '',
userId: '', // 这个需要等用户列表加载后设置
receiveId: '', // 这个需要等用户列表加载后设置
userName: '',
vstartDate: '', // 这个会在页面加载时设置
vendDate: '',
@@ -375,7 +375,7 @@ const timeList = computed(() => {
const filteredUserList = computed(() => {
if (!searchKeyword.value) return userList.value
const keyword = searchKeyword.value.toLowerCase()
return userList.value.filter(user =>
return userList.value.filter(user =>
user.name.toLowerCase().includes(keyword)
)
})
@@ -466,7 +466,7 @@ const validateForm = () => {
uni.showToast({ title: '请选择到访单位', icon: 'none' })
return false
}
if (!formData.userId || !formData.userName) {
if (!formData.receiveId || !formData.userName) {
uni.showToast({ title: '请选择接待人', icon: 'none' })
return false
}
@@ -508,7 +508,7 @@ const handleSubmit = async () => {
icon: 'none',
duration: 3000
})
// 延迟返回,让用户能看到提示
setTimeout(() => {
uni.navigateBack()
@@ -600,17 +600,17 @@ const confirmDeptSelect = () => {
})
return
}
// 更新表单数据,同时保存ID和名称
formData.deptId = selectedDeptId.value
formData.deptName = selectedDeptName.value
// 清空已选择的接待人
formData.userId = ''
formData.receiveId = ''
formData.userName = ''
selectedUserName.value = ''
selectedUserId.value = ''
// 关闭弹窗
closeDeptPicker()
}
@@ -644,11 +644,11 @@ const confirmUserSelect = () => {
})
return
}
// 更新表单数据,同时保存ID和名称
formData.userId = selectedUserId.value
formData.receiveId = selectedUserId.value
formData.userName = selectedUserName.value
// 关闭弹窗
closeUserPicker()
}
@@ -662,7 +662,7 @@ const showUserPicker = async () => {
})
return
}
// 如果切换了部门,重新获取用户列表
if (formData.deptId !== currentDeptId.value) {
await getUserList(formData.deptId)
@@ -671,7 +671,7 @@ const showUserPicker = async () => {
selectedUserId.value = ''
selectedUserName.value = ''
}
showUserPopup.value = true
}
@@ -721,13 +721,13 @@ onMounted(async () => {
// 获取该部门的用户列表
await getUserList(firstDept.id)
// 设置默认的接待人(选择第一个用户)
if (userList.value.length > 0) {
const firstUser = userList.value[0]
selectedUserId.value = firstUser.userId
selectedUserName.value = firstUser.name
formData.userId = firstUser.userId
formData.receiveId = firstUser.userId
formData.userName = firstUser.name
}
}
@@ -1161,12 +1161,12 @@ onMounted(async () => {
color: #323233;
display: flex;
align-items: center;
&.active {
color: #1989FA;
background: #F5F5F5;
}
.user-name {
flex: 1;
}
@@ -46,7 +46,7 @@
</view>
<view class="info-row">
<text class="label">拜访原因:</text>
<text class="value">{{ getReasonText(item.description) }}</text>
<text class="value">{{ getReasonText(item.reasonValue) }}</text>
</view>
</view>
<view class="visitor-footer">