diff --git a/src/types/auto-components.d.ts b/src/types/auto-components.d.ts index 2a42203d..49ba2518 100644 --- a/src/types/auto-components.d.ts +++ b/src/types/auto-components.d.ts @@ -52,13 +52,16 @@ declare module '@vue/runtime-core' { ElForm: typeof import('element-plus/es')['ElForm'] ElFormItem: typeof import('element-plus/es')['ElFormItem'] ElIcon: typeof import('element-plus/es')['ElIcon'] + ElImage: typeof import('element-plus/es')['ElImage'] ElImageViewer: typeof import('element-plus/es')['ElImageViewer'] ElInput: typeof import('element-plus/es')['ElInput'] + ElInputNumber: typeof import('element-plus/es')['ElInputNumber'] ElLink: typeof import('element-plus/es')['ElLink'] ElOption: typeof import('element-plus/es')['ElOption'] ElPagination: typeof import('element-plus/es')['ElPagination'] ElPopover: typeof import('element-plus/es')['ElPopover'] ElRadio: typeof import('element-plus/es')['ElRadio'] + ElRadioButton: typeof import('element-plus/es')['ElRadioButton'] ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup'] ElRow: typeof import('element-plus/es')['ElRow'] ElScrollbar: typeof import('element-plus/es')['ElScrollbar'] @@ -69,6 +72,9 @@ declare module '@vue/runtime-core' { ElTableColumn: typeof import('element-plus/es')['ElTableColumn'] ElTabPane: typeof import('element-plus/es')['ElTabPane'] ElTabs: typeof import('element-plus/es')['ElTabs'] + ElTag: typeof import('element-plus/es')['ElTag'] + ElTimeline: typeof import('element-plus/es')['ElTimeline'] + ElTimelineItem: typeof import('element-plus/es')['ElTimelineItem'] ElTooltip: typeof import('element-plus/es')['ElTooltip'] ElTreeSelect: typeof import('element-plus/es')['ElTreeSelect'] ElUpload: typeof import('element-plus/es')['ElUpload'] diff --git a/src/views/system/tenantPackage/TenantPackageForm.vue b/src/views/system/tenantPackage/TenantPackageForm.vue index 82fc351f..f5e5343d 100644 --- a/src/views/system/tenantPackage/TenantPackageForm.vue +++ b/src/views/system/tenantPackage/TenantPackageForm.vue @@ -69,7 +69,6 @@ import * as TenantPackageApi from '@/api/system/tenantPackage' import * as MenuApi from '@/api/system/menu' import { ElTree } from 'element-plus' import { handleTree } from '@/utils/tree' - const { t } = useI18n() // 国际化 const message = useMessage() // 消息弹窗 @@ -92,7 +91,7 @@ const formRules = reactive({ const formRef = ref() // 表单 Ref const menuOptions = ref([]) // 树形结构数据 const menuExpand = ref(false) // 展开/折叠 -const treeRef = ref>() // 树组件Ref +const treeRef = ref>() // 树组件 Ref const treeNodeAll = ref(false) // 全选/全不选 /** 打开弹窗 */ @@ -133,8 +132,8 @@ const submitForm = async () => { try { const data = formData.value as unknown as TenantPackageApi.TenantPackageVO data.menuIds = [ - ...(treeRef.value!.getCheckedKeys(false) as unknown as Array), // 获得当前选中节点 - ...(treeRef.value!.getHalfCheckedKeys() as unknown as Array) // 获得半选中的父节点 + ...(treeRef.value.getCheckedKeys(false) as unknown as Array), // 获得当前选中节点 + ...(treeRef.value.getHalfCheckedKeys() as unknown as Array) // 获得半选中的父节点 ] if (formType.value === 'create') { await TenantPackageApi.createTenantPackage(data) @@ -168,17 +167,19 @@ const resetForm = () => { formRef.value?.resetFields() } -// 全选/全不选 +/** 全选/全不选 */ const handleCheckedTreeNodeAll = () => { - treeRef.value!.setCheckedNodes(treeNodeAll.value ? menuOptions.value : []) + treeRef.value.setCheckedNodes(treeNodeAll.value ? menuOptions.value : []) } -// 全部(展开/折叠)TODO:for循环全部展开和折叠树组件数据 +/** 展开/折叠全部 */ const handleCheckedTreeExpand = () => { const nodes = treeRef.value?.store.nodesMap for (let node in nodes) { - if (nodes[node].expanded === menuExpand.value) continue - nodes[node].expanded = !nodes[node].expanded + if (nodes[node].expanded === menuExpand.value) { + continue + } + nodes[node].expanded = menuExpand.value } } diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue index 1c36d376..aeeaced7 100644 --- a/src/views/system/user/index.vue +++ b/src/views/system/user/index.vue @@ -1,231 +1,220 @@