fix:修改用户选择展示的用户名称参数对接
Build and Deploy Vue3 / build (push) Successful in 1m19s
Build and Deploy Vue3 / deploy (push) Successful in 1m25s

This commit is contained in:
2026-02-04 16:04:22 +08:00
parent e96e9c4a7e
commit 9d8f23262b
2 changed files with 177 additions and 73 deletions
+41 -18
View File
@@ -177,30 +177,36 @@
</el-radio-group>
</el-form-item>
<el-form-item label="用户" prop="user_id">
<el-form-item label="用户" prop="user_id" v-if="addForm.target_type === 'user'">
<div class="user-selector-wrapper">
<div class="selected-user-display" v-if="addForm.user_id">
<el-tag type="primary" closable @close="clearSelectedUser">
{{ getSelectedUserName() }}
</el-tag>
</div>
<el-button
type="primary"
plain
<el-input
:model-value="getSelectedUserName()"
placeholder="请选择用户"
readonly
@click="openUserSelector"
style="width: 100%"
>
<el-icon><User /></el-icon>
{{ addForm.user_id ? '重新选择用户' : '选择用户' }}
<template #append>
<el-button @click="openUserSelector">
<el-icon><Search /></el-icon>
</el-button>
</template>
</el-input>
<el-button
v-if="addForm.user_id"
type="danger"
link
@click="clearSelectedUser"
class="clear-btn"
>
清除
</el-button>
</div>
</el-form-item>
<el-form-item label="用户组" prop="group_id">
<el-form-item label="用户组" prop="group_id" v-if="addForm.target_type === 'group'">
<el-select
v-model="addForm.group_id"
placeholder="请选择用户组"
:disabled="addForm.target_type === 'user'"
filterable
clearable
style="width: 100%"
@@ -653,9 +659,9 @@ const confirmUserSelection = (user) => {
ElMessage.warning('请选择一个用户')
return
}
addForm.user_id = user.UserId
addForm.user_id = user.user_id
// 将选中的用户添加到 userOptions 中(如果不存在)
if (!userOptions.value.find(u => u.UserId === user.UserId)) {
if (!userOptions.value.find(u => u.user_id === user.user_id)) {
userOptions.value.push(user)
}
userSelectorVisible.value = false
@@ -668,8 +674,9 @@ const clearSelectedUser = () => {
// 获取选中用户的显示名称
const getSelectedUserName = () => {
const user = userOptions.value.find(u => u.UserId === addForm.user_id)
return user ? `${user.UserName} (ID: ${user.UserId})` : `用户ID: ${addForm.user_id}`
if (!addForm.user_id) return ''
const user = userOptions.value.find(u => u.user_id === addForm.user_id)
return user ? `${user.user_name} (ID: ${user.user_id})` : `用户ID: ${addForm.user_id}`
}
// 添加用户代金券
@@ -940,5 +947,21 @@ onMounted(() => {
margin-top: 24px;
justify-content: flex-end;
}
/* 用户选择器样式 */
.user-selector-wrapper {
display: flex;
align-items: center;
gap: 8px;
width: 100%;
}
.user-selector-wrapper .el-input {
flex: 1;
}
.user-selector-wrapper .clear-btn {
flex-shrink: 0;
}
</style>