职工搜索功能优化 以及 全局是否字典调节

pull/2/head
qiuhongwu 9 months ago
parent 61328efcc5
commit 33d3dc9835

@ -4,6 +4,7 @@ export interface UserVO {
id: number id: number
username: string username: string
nickname: string nickname: string
userNickName:string
deptId: number deptId: number
postIds: string[] postIds: string[]
email: string email: string

@ -244,8 +244,14 @@
background-color: transparent; background-color: transparent;
border: none; border: none;
} }
.sizestylenone{ .sizestylenone {
background-color: transparent; background-color: transparent;
border: none; border: none;
color: var(--el-table-text-color); color: var(--el-table-text-color);
} }
.fou {
background-color: #f7fbfd;
border: 1px solid #d4d6e3;
color: #77838C;
}

@ -11,6 +11,7 @@
filterable filterable
:loading="userSelectLoading" :loading="userSelectLoading"
@change="onSelectChange" @change="onSelectChange"
@visible-change="onVisibleChange"
> >
<el-option <el-option
v-for="item in userSelectList" v-for="item in userSelectList"
@ -25,11 +26,6 @@
import { ref, onMounted, toRefs, computed } from 'vue' import { ref, onMounted, toRefs, computed } from 'vue'
import * as UserApi from '@/api/system/user' import * as UserApi from '@/api/system/user'
interface UserVO {
id: number
username: string
nickname: string
}
const props = defineProps({ const props = defineProps({
leaderUserId: { leaderUserId: {
type: [Number, String], type: [Number, String],
@ -41,7 +37,8 @@ const userParams = {
pageSize: 10, pageSize: 10,
status: undefined, // status: undefined, //
username: undefined, username: undefined,
nickname: undefined nickname: undefined,
userNickName: undefined
} }
const valueName: any = ref() // const valueName: any = ref() //
const valueNameObject: any = ref() // const valueNameObject: any = ref() //
@ -81,32 +78,12 @@ const gitlist = async () => {
const remoteMethod = async (query: any) => { const remoteMethod = async (query: any) => {
userSelectLoading.value = true userSelectLoading.value = true
userSelectList.value = [] userSelectList.value = []
try { try {
if (query) { if (query) {
// username userParams.userNickName = query
userParams.username = query const data = await UserApi.getUserPage(userParams)
const dataByUsername = await UserApi.getUserPage(userParams) userSelectList.value = data.list
}else {
// username
let tempUserList = [...dataByUsername.list]
// nickname nickname username
userParams.username = undefined
userParams.nickname = query
const dataByNickname = await UserApi.getUserPage(userParams)
// nickname
tempUserList = [
...tempUserList,
...dataByNickname.list.filter(
(item) => !tempUserList.some((selectItem) => selectItem.id === item.id)
)
]
//
userSelectList.value = tempUserList
} else {
// //
const data = await UserApi.getUserPage({ ...userParams, pageNo: 1 }) const data = await UserApi.getUserPage({ ...userParams, pageNo: 1 })
userList.value = [...userList.value, ...data.list] userList.value = [...userList.value, ...data.list]
@ -127,6 +104,14 @@ onMounted(async () => {
} }
}) })
const onVisibleChange = (isVisible: boolean) => {
if (!isVisible) {
//
userParams.userNickName = undefined;
userSelectList.value = [];
}
}
const onSelectChange = (newValue: any) => { const onSelectChange = (newValue: any) => {
valueNameObject.value = userList.value.find((user) => user.id === newValue) // valueNameObject.value = userList.value.find((user) => user.id === newValue) //
emit('update:newValue', valueNameObject.value) emit('update:newValue', valueNameObject.value)

Loading…
Cancel
Save