|
|
|
@ -22,7 +22,7 @@
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script lang="ts" setup>
|
|
|
|
|
import { ref, onMounted, toRefs } from 'vue'
|
|
|
|
|
import { ref, onMounted, toRefs,computed } from 'vue'
|
|
|
|
|
import * as UserApi from '@/api/system/user'
|
|
|
|
|
|
|
|
|
|
interface UserVO {
|
|
|
|
@ -37,7 +37,9 @@ const props = defineProps({
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
const valueName: any = ref() //选中的值
|
|
|
|
|
// const emit = defineEmits(['update:valueName'])
|
|
|
|
|
const valueNameObject:any = ref(); // 存储选中的完整用户对象
|
|
|
|
|
|
|
|
|
|
const emit = defineEmits(['update:newValue'])
|
|
|
|
|
const userList = ref<UserApi.UserVO[]>([]) // 用户列表
|
|
|
|
|
const userSelectList = ref<UserApi.UserVO[]>([])
|
|
|
|
|
const userSelectLoading = ref(false)
|
|
|
|
@ -64,21 +66,23 @@ const remoteMethod = (query: any) => {
|
|
|
|
|
userSelectLoading.value = true
|
|
|
|
|
setTimeout(() => {
|
|
|
|
|
userSelectLoading.value = false
|
|
|
|
|
userSelectList.value = userList.value.filter(
|
|
|
|
|
userSelectList.value = userList.value
|
|
|
|
|
.filter(
|
|
|
|
|
(item) =>
|
|
|
|
|
item.nickname.toLowerCase().includes(query.toLowerCase()) ||
|
|
|
|
|
item.username.toLowerCase().includes(query.toLowerCase())
|
|
|
|
|
).slice(0, 10)//只显示前10个
|
|
|
|
|
|
|
|
|
|
)
|
|
|
|
|
.slice(0, 10) //只显示前10个
|
|
|
|
|
}, 200)
|
|
|
|
|
} else {
|
|
|
|
|
userSelectList.value = userList.value.slice(0, 10)//只显示前10个
|
|
|
|
|
userSelectList.value = userList.value.slice(0, 10) //只显示前10个
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// const onSelectChange = (newValue: number | null) => {
|
|
|
|
|
// // console.log(newValue)
|
|
|
|
|
// emit('update:valueName', newValue)
|
|
|
|
|
// valueName.value = newValue
|
|
|
|
|
// }
|
|
|
|
|
const onSelectChange = (newValue: any) => {
|
|
|
|
|
valueNameObject.value = userList.value.find(user => user.id === newValue); // 更新选中的完整用户对象
|
|
|
|
|
emit('update:newValue', valueNameObject.value)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</script>
|
|
|
|
|