diff --git a/src/views/system/role/RoleDataPermissionForm.vue b/src/views/system/role/RoleDataPermissionForm.vue index c00e3972f9be3f311ab8c2fcfba08999a7e20a7c..86139bde702339b832b3b4a138cae1935a498998 100644 --- a/src/views/system/role/RoleDataPermissionForm.vue +++ b/src/views/system/role/RoleDataPermissionForm.vue @@ -91,6 +91,24 @@ const treeRef = ref() // 菜单树组件 Ref const treeNodeAll = ref(false) // 全选/全不选 const checkStrictly = ref(true) // 是否严格模式,即父子不关联 +/** 重置表单 */ +const resetForm = () => { + // 重置选项 + treeNodeAll.value = false + deptExpand.value = true + checkStrictly.value = true + // 重置表单 + formData.value = { + id: 0, + name: '', + code: '', + dataScope: undefined, + dataScopeDeptIds: [] + } + treeRef.value?.setCheckedNodes([]) + formRef.value?.resetFields() +} + /** 打开弹窗 */ const open = async (row: RoleApi.RoleVO) => { dialogVisible.value = true @@ -102,8 +120,6 @@ const open = async (row: RoleApi.RoleVO) => { formData.name = row.name formData.code = row.code formData.dataScope = row.dataScope - await nextTick() - row.dataScopeDeptIds?.forEach((deptId: number): void => { await nextTick() // 需要在 DOM 渲染完成后,再设置选中状态 @@ -136,23 +152,6 @@ const submitForm = async () => { } } -/** 重置表单 */ -const resetForm = () => { - // 重置选项 - treeNodeAll.value = false - deptExpand.value = true - checkStrictly.value = true - // 重置表单 - formData.value = { - id: 0, - name: '', - code: '', - dataScope: undefined, - dataScopeDeptIds: [] - } - treeRef.value?.setCheckedNodes([]) - formRef.value?.resetFields() -} /** 全选/全不选 */ const handleCheckedTreeNodeAll = () => {