访客页面
This commit is contained in:
1 parent
a0b9ac0f40
commit
1c6c0a0f7b
2 files changed
+30
-30
No files matched your search
@@ -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">
|
||||
|
||||
Reference in new issue
Block a user