From 4b99f1e7b89c3f23e9ceb42010542bde21b128e2 Mon Sep 17 00:00:00 2001 From: LiuHao Date: Sun, 28 Jan 2024 19:42:47 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BF=AE=E6=94=B9=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E7=BB=84=E4=BB=B6=E8=8E=B7=E5=8F=96=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/UserSelect/index.vue | 40 ++++++++++++----------------- 1 file changed, 16 insertions(+), 24 deletions(-) diff --git a/src/components/UserSelect/index.vue b/src/components/UserSelect/index.vue index 477eb46..40c772f 100644 --- a/src/components/UserSelect/index.vue +++ b/src/components/UserSelect/index.vue @@ -89,7 +89,7 @@ v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" :total="total" - @pagination="getList" + @pagination="pageList" /> @@ -158,15 +158,6 @@ const confirm = () => { userDialog.closeDialog(); }; -const refreshDefaultUser = async (data) => { - const ids = computedIds(data); - if (ids.length > 0) { - // const { data } = await api.optionSelect(ids); - // await tableRef.value?.setCheckboxRow(data, true); - // selectUserList.value = data; - } -}; - const computedIds = (data) => { if (data instanceof Array) { return [...data]; @@ -180,17 +171,8 @@ const computedIds = (data) => { } }; -const defaultSelectUserIds = computed(() => { - return computedIds(prop.data); -}); +const defaultSelectUserIds = computed(() => computedIds(prop.data)); -watch( - () => prop.data, - (newVal) => { - refreshDefaultUser(newVal); - }, - { deep: true } -); /** 根据名称筛选部门树 */ watchEffect( () => { @@ -222,6 +204,14 @@ const getList = async () => { total.value = res.total; }; +const pageList = async () => { + await getList(); + const users = userList.value.filter((item) => { + return defaultSelectUserIds.value.includes(item.userId); + }); + await tableRef.value.setCheckboxRow(users, true); +}; + /** 节点单击事件 */ const handleNodeClick = (data: DeptVO) => { queryParams.value.deptId = data.id; @@ -281,15 +271,17 @@ const handleCloseTag = (user: UserVO) => { selectUserList.value.splice(index, 1); }; -const initData = async () => { - const { data } = await api.optionSelect(defaultSelectUserIds.value); - selectUserList.value = data; +const initSelectUser = async () => { + if (defaultSelectUserIds.value.length > 0) { + const { data } = await api.optionSelect(defaultSelectUserIds.value); + selectUserList.value = data; + } }; onMounted(() => { + initSelectUser(); getTreeSelect(); // 初始化部门数据 getList(); // 初始化列表数据 - initData(); }); defineExpose({