diff --git a/src/layouts/components/SubSidebar/index.vue b/src/layouts/components/SubSidebar/index.vue index 9749bcf..b2c0d09 100644 --- a/src/layouts/components/SubSidebar/index.vue +++ b/src/layouts/components/SubSidebar/index.vue @@ -87,7 +87,7 @@ &.sidebar-logo-bg { // background-color: var(--g-main-sidebar-bg); - background-image: url('@/assets/images/header-image.png'); + background-image: url("@/assets/images/header-image.png"); } &.shadow { @@ -99,7 +99,7 @@ border-right: 0; padding: 0 5px; padding-top: var(--g-sidebar-logo-height); - padding-top: 6px !important; + padding-top: 50px !important; transition: border-color 0.3s, background-color 0.3s, color 0.3s, padding-top 0.3s; background-color: #0000; diff --git a/src/layouts/components/SubSidebar/index.vue b/src/layouts/components/SubSidebar/index.vue index 9749bcf..b2c0d09 100644 --- a/src/layouts/components/SubSidebar/index.vue +++ b/src/layouts/components/SubSidebar/index.vue @@ -87,7 +87,7 @@ &.sidebar-logo-bg { // background-color: var(--g-main-sidebar-bg); - background-image: url('@/assets/images/header-image.png'); + background-image: url("@/assets/images/header-image.png"); } &.shadow { @@ -99,7 +99,7 @@ border-right: 0; padding: 0 5px; padding-top: var(--g-sidebar-logo-height); - padding-top: 6px !important; + padding-top: 50px !important; transition: border-color 0.3s, background-color 0.3s, color 0.3s, padding-top 0.3s; background-color: #0000; diff --git a/src/layouts/index.vue b/src/layouts/index.vue index 2cb0d56..ba8b366 100644 --- a/src/layouts/index.vue +++ b/src/layouts/index.vue @@ -72,7 +72,7 @@ - + diff --git a/src/layouts/components/SubSidebar/index.vue b/src/layouts/components/SubSidebar/index.vue index 9749bcf..b2c0d09 100644 --- a/src/layouts/components/SubSidebar/index.vue +++ b/src/layouts/components/SubSidebar/index.vue @@ -87,7 +87,7 @@ &.sidebar-logo-bg { // background-color: var(--g-main-sidebar-bg); - background-image: url('@/assets/images/header-image.png'); + background-image: url("@/assets/images/header-image.png"); } &.shadow { @@ -99,7 +99,7 @@ border-right: 0; padding: 0 5px; padding-top: var(--g-sidebar-logo-height); - padding-top: 6px !important; + padding-top: 50px !important; transition: border-color 0.3s, background-color 0.3s, color 0.3s, padding-top 0.3s; background-color: #0000; diff --git a/src/layouts/index.vue b/src/layouts/index.vue index 2cb0d56..ba8b366 100644 --- a/src/layouts/index.vue +++ b/src/layouts/index.vue @@ -72,7 +72,7 @@ - + diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index a6856db..42c7a79 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -6,7 +6,7 @@ { path: '/sys', component: Layout, - redirect: '/sys/area', + redirect: '/area', name: 'System', meta: { title: '系统管理', diff --git a/src/layouts/components/SubSidebar/index.vue b/src/layouts/components/SubSidebar/index.vue index 9749bcf..b2c0d09 100644 --- a/src/layouts/components/SubSidebar/index.vue +++ b/src/layouts/components/SubSidebar/index.vue @@ -87,7 +87,7 @@ &.sidebar-logo-bg { // background-color: var(--g-main-sidebar-bg); - background-image: url('@/assets/images/header-image.png'); + background-image: url("@/assets/images/header-image.png"); } &.shadow { @@ -99,7 +99,7 @@ border-right: 0; padding: 0 5px; padding-top: var(--g-sidebar-logo-height); - padding-top: 6px !important; + padding-top: 50px !important; transition: border-color 0.3s, background-color 0.3s, color 0.3s, padding-top 0.3s; background-color: #0000; diff --git a/src/layouts/index.vue b/src/layouts/index.vue index 2cb0d56..ba8b366 100644 --- a/src/layouts/index.vue +++ b/src/layouts/index.vue @@ -72,7 +72,7 @@ - + diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index a6856db..42c7a79 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -6,7 +6,7 @@ { path: '/sys', component: Layout, - redirect: '/sys/area', + redirect: '/area', name: 'System', meta: { title: '系统管理', diff --git a/src/views/count/index.vue b/src/views/count/index.vue index dd8f634..3b75665 100644 --- a/src/views/count/index.vue +++ b/src/views/count/index.vue @@ -1,3 +1,50 @@ + + + + + + diff --git a/src/layouts/components/SubSidebar/index.vue b/src/layouts/components/SubSidebar/index.vue index 9749bcf..b2c0d09 100644 --- a/src/layouts/components/SubSidebar/index.vue +++ b/src/layouts/components/SubSidebar/index.vue @@ -87,7 +87,7 @@ &.sidebar-logo-bg { // background-color: var(--g-main-sidebar-bg); - background-image: url('@/assets/images/header-image.png'); + background-image: url("@/assets/images/header-image.png"); } &.shadow { @@ -99,7 +99,7 @@ border-right: 0; padding: 0 5px; padding-top: var(--g-sidebar-logo-height); - padding-top: 6px !important; + padding-top: 50px !important; transition: border-color 0.3s, background-color 0.3s, color 0.3s, padding-top 0.3s; background-color: #0000; diff --git a/src/layouts/index.vue b/src/layouts/index.vue index 2cb0d56..ba8b366 100644 --- a/src/layouts/index.vue +++ b/src/layouts/index.vue @@ -72,7 +72,7 @@ - + diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index a6856db..42c7a79 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -6,7 +6,7 @@ { path: '/sys', component: Layout, - redirect: '/sys/area', + redirect: '/area', name: 'System', meta: { title: '系统管理', diff --git a/src/views/count/index.vue b/src/views/count/index.vue index dd8f634..3b75665 100644 --- a/src/views/count/index.vue +++ b/src/views/count/index.vue @@ -1,3 +1,50 @@ + + + + + + diff --git a/src/views/count/page.vue b/src/views/count/page.vue new file mode 100644 index 0000000..7f82c84 --- /dev/null +++ b/src/views/count/page.vue @@ -0,0 +1,12 @@ + + + diff --git a/src/layouts/components/SubSidebar/index.vue b/src/layouts/components/SubSidebar/index.vue index 9749bcf..b2c0d09 100644 --- a/src/layouts/components/SubSidebar/index.vue +++ b/src/layouts/components/SubSidebar/index.vue @@ -87,7 +87,7 @@ &.sidebar-logo-bg { // background-color: var(--g-main-sidebar-bg); - background-image: url('@/assets/images/header-image.png'); + background-image: url("@/assets/images/header-image.png"); } &.shadow { @@ -99,7 +99,7 @@ border-right: 0; padding: 0 5px; padding-top: var(--g-sidebar-logo-height); - padding-top: 6px !important; + padding-top: 50px !important; transition: border-color 0.3s, background-color 0.3s, color 0.3s, padding-top 0.3s; background-color: #0000; diff --git a/src/layouts/index.vue b/src/layouts/index.vue index 2cb0d56..ba8b366 100644 --- a/src/layouts/index.vue +++ b/src/layouts/index.vue @@ -72,7 +72,7 @@ - + diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index a6856db..42c7a79 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -6,7 +6,7 @@ { path: '/sys', component: Layout, - redirect: '/sys/area', + redirect: '/area', name: 'System', meta: { title: '系统管理', diff --git a/src/views/count/index.vue b/src/views/count/index.vue index dd8f634..3b75665 100644 --- a/src/views/count/index.vue +++ b/src/views/count/index.vue @@ -1,3 +1,50 @@ + + + + + + diff --git a/src/views/count/page.vue b/src/views/count/page.vue new file mode 100644 index 0000000..7f82c84 --- /dev/null +++ b/src/views/count/page.vue @@ -0,0 +1,12 @@ + + + diff --git a/src/views/footprint/index.vue b/src/views/footprint/index.vue index 8791314..4f5b661 100644 --- a/src/views/footprint/index.vue +++ b/src/views/footprint/index.vue @@ -1,3 +1,3 @@ diff --git a/src/layouts/components/SubSidebar/index.vue b/src/layouts/components/SubSidebar/index.vue index 9749bcf..b2c0d09 100644 --- a/src/layouts/components/SubSidebar/index.vue +++ b/src/layouts/components/SubSidebar/index.vue @@ -87,7 +87,7 @@ &.sidebar-logo-bg { // background-color: var(--g-main-sidebar-bg); - background-image: url('@/assets/images/header-image.png'); + background-image: url("@/assets/images/header-image.png"); } &.shadow { @@ -99,7 +99,7 @@ border-right: 0; padding: 0 5px; padding-top: var(--g-sidebar-logo-height); - padding-top: 6px !important; + padding-top: 50px !important; transition: border-color 0.3s, background-color 0.3s, color 0.3s, padding-top 0.3s; background-color: #0000; diff --git a/src/layouts/index.vue b/src/layouts/index.vue index 2cb0d56..ba8b366 100644 --- a/src/layouts/index.vue +++ b/src/layouts/index.vue @@ -72,7 +72,7 @@ - + diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index a6856db..42c7a79 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -6,7 +6,7 @@ { path: '/sys', component: Layout, - redirect: '/sys/area', + redirect: '/area', name: 'System', meta: { title: '系统管理', diff --git a/src/views/count/index.vue b/src/views/count/index.vue index dd8f634..3b75665 100644 --- a/src/views/count/index.vue +++ b/src/views/count/index.vue @@ -1,3 +1,50 @@ + + + + + + diff --git a/src/views/count/page.vue b/src/views/count/page.vue new file mode 100644 index 0000000..7f82c84 --- /dev/null +++ b/src/views/count/page.vue @@ -0,0 +1,12 @@ + + + diff --git a/src/views/footprint/index.vue b/src/views/footprint/index.vue index 8791314..4f5b661 100644 --- a/src/views/footprint/index.vue +++ b/src/views/footprint/index.vue @@ -1,3 +1,3 @@ diff --git a/src/views/system/area/area-interface.ts b/src/views/system/area/area-interface.ts index 627a360..904997e 100644 --- a/src/views/system/area/area-interface.ts +++ b/src/views/system/area/area-interface.ts @@ -7,7 +7,7 @@ } export interface IareaForm { - id: string // 编号 + id?: string // 编号 pid: string // 父级编号 pName: string // 父级名称 areaName: string // 区域名 diff --git a/src/layouts/components/SubSidebar/index.vue b/src/layouts/components/SubSidebar/index.vue index 9749bcf..b2c0d09 100644 --- a/src/layouts/components/SubSidebar/index.vue +++ b/src/layouts/components/SubSidebar/index.vue @@ -87,7 +87,7 @@ &.sidebar-logo-bg { // background-color: var(--g-main-sidebar-bg); - background-image: url('@/assets/images/header-image.png'); + background-image: url("@/assets/images/header-image.png"); } &.shadow { @@ -99,7 +99,7 @@ border-right: 0; padding: 0 5px; padding-top: var(--g-sidebar-logo-height); - padding-top: 6px !important; + padding-top: 50px !important; transition: border-color 0.3s, background-color 0.3s, color 0.3s, padding-top 0.3s; background-color: #0000; diff --git a/src/layouts/index.vue b/src/layouts/index.vue index 2cb0d56..ba8b366 100644 --- a/src/layouts/index.vue +++ b/src/layouts/index.vue @@ -72,7 +72,7 @@ - + diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index a6856db..42c7a79 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -6,7 +6,7 @@ { path: '/sys', component: Layout, - redirect: '/sys/area', + redirect: '/area', name: 'System', meta: { title: '系统管理', diff --git a/src/views/count/index.vue b/src/views/count/index.vue index dd8f634..3b75665 100644 --- a/src/views/count/index.vue +++ b/src/views/count/index.vue @@ -1,3 +1,50 @@ + + + + + + diff --git a/src/views/count/page.vue b/src/views/count/page.vue new file mode 100644 index 0000000..7f82c84 --- /dev/null +++ b/src/views/count/page.vue @@ -0,0 +1,12 @@ + + + diff --git a/src/views/footprint/index.vue b/src/views/footprint/index.vue index 8791314..4f5b661 100644 --- a/src/views/footprint/index.vue +++ b/src/views/footprint/index.vue @@ -1,3 +1,3 @@ diff --git a/src/views/system/area/area-interface.ts b/src/views/system/area/area-interface.ts index 627a360..904997e 100644 --- a/src/views/system/area/area-interface.ts +++ b/src/views/system/area/area-interface.ts @@ -7,7 +7,7 @@ } export interface IareaForm { - id: string // 编号 + id?: string // 编号 pid: string // 父级编号 pName: string // 父级名称 areaName: string // 区域名 diff --git a/src/views/system/area/editArea.vue b/src/views/system/area/editArea.vue index 8256924..70384ba 100644 --- a/src/views/system/area/editArea.vue +++ b/src/views/system/area/editArea.vue @@ -6,7 +6,7 @@ import AreaSelectTree from './areaSelectTree.vue' import type { IareaForm } from './area-interface' import { addArea, getAreaType, updateArea } from '@/api/system/area' -const emits = defineEmits(['watchChild']) +const emits = defineEmits(['watchChild', 'refresh']) const dataFormRef = ref() const areaSelect = ref() const dialogFormVisible = ref(false) // 对话框是否显示 @@ -18,7 +18,7 @@ areaName: '', // 区域名 simpleName: '', // 别名, level: '', - num: 99, // 排序 + num: 1, // 排序 }) // 表单 const areaSelectShow = ref(false) const areaLevelList = ref([]) as any // 区域树列表数据 @@ -28,7 +28,7 @@ } // 表头显示标题 const btnLoading = ref(false) // 保存按钮的加载中状态 const rules: FormRules = { - id: [{ required: true, message: '区域编号不能为空', trigger: ['blur', 'change'] }], + id: [{ required: true, message: '区域编号不能为空', trigger: ['blur', 'change'] }, { type: 'number', message: '必须为数字值' }], areaName: [{ required: true, message: '区域名称不能为空', trigger: ['blur', 'change'] }], simpleName: [{ required: true, message: '区域简称不能为空', trigger: ['blur', 'change'] }], pName: [{ required: true, message: '上级区域必选', trigger: ['blur', 'change'] }], @@ -49,7 +49,7 @@ areaName: '', // 区域名 simpleName: '', // 别名, level: '', - num: 99, // 排序 + num: 4, // 排序 } } // 获取区域类型 @@ -118,6 +118,10 @@ nextTick(() => { dataFormRef.value.clearValidate() }) + // 通知父组件刷新状态 + setTimeout(() => { + emits('refresh') + }) }).catch(() => { // 选否,关闭窗口,并刷新页面 emits('watchChild') dialogFormVisible.value = false @@ -143,6 +147,9 @@ }) dataFormRef.value.clearValidate() emits('watchChild') + setTimeout(() => { + emits('refresh') + }) dialogFormVisible.value = false } }).catch((_) => { // 异常情况,loading置为false diff --git a/src/layouts/components/SubSidebar/index.vue b/src/layouts/components/SubSidebar/index.vue index 9749bcf..b2c0d09 100644 --- a/src/layouts/components/SubSidebar/index.vue +++ b/src/layouts/components/SubSidebar/index.vue @@ -87,7 +87,7 @@ &.sidebar-logo-bg { // background-color: var(--g-main-sidebar-bg); - background-image: url('@/assets/images/header-image.png'); + background-image: url("@/assets/images/header-image.png"); } &.shadow { @@ -99,7 +99,7 @@ border-right: 0; padding: 0 5px; padding-top: var(--g-sidebar-logo-height); - padding-top: 6px !important; + padding-top: 50px !important; transition: border-color 0.3s, background-color 0.3s, color 0.3s, padding-top 0.3s; background-color: #0000; diff --git a/src/layouts/index.vue b/src/layouts/index.vue index 2cb0d56..ba8b366 100644 --- a/src/layouts/index.vue +++ b/src/layouts/index.vue @@ -72,7 +72,7 @@ - + diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index a6856db..42c7a79 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -6,7 +6,7 @@ { path: '/sys', component: Layout, - redirect: '/sys/area', + redirect: '/area', name: 'System', meta: { title: '系统管理', diff --git a/src/views/count/index.vue b/src/views/count/index.vue index dd8f634..3b75665 100644 --- a/src/views/count/index.vue +++ b/src/views/count/index.vue @@ -1,3 +1,50 @@ + + + + + + diff --git a/src/views/count/page.vue b/src/views/count/page.vue new file mode 100644 index 0000000..7f82c84 --- /dev/null +++ b/src/views/count/page.vue @@ -0,0 +1,12 @@ + + + diff --git a/src/views/footprint/index.vue b/src/views/footprint/index.vue index 8791314..4f5b661 100644 --- a/src/views/footprint/index.vue +++ b/src/views/footprint/index.vue @@ -1,3 +1,3 @@ diff --git a/src/views/system/area/area-interface.ts b/src/views/system/area/area-interface.ts index 627a360..904997e 100644 --- a/src/views/system/area/area-interface.ts +++ b/src/views/system/area/area-interface.ts @@ -7,7 +7,7 @@ } export interface IareaForm { - id: string // 编号 + id?: string // 编号 pid: string // 父级编号 pName: string // 父级名称 areaName: string // 区域名 diff --git a/src/views/system/area/editArea.vue b/src/views/system/area/editArea.vue index 8256924..70384ba 100644 --- a/src/views/system/area/editArea.vue +++ b/src/views/system/area/editArea.vue @@ -6,7 +6,7 @@ import AreaSelectTree from './areaSelectTree.vue' import type { IareaForm } from './area-interface' import { addArea, getAreaType, updateArea } from '@/api/system/area' -const emits = defineEmits(['watchChild']) +const emits = defineEmits(['watchChild', 'refresh']) const dataFormRef = ref() const areaSelect = ref() const dialogFormVisible = ref(false) // 对话框是否显示 @@ -18,7 +18,7 @@ areaName: '', // 区域名 simpleName: '', // 别名, level: '', - num: 99, // 排序 + num: 1, // 排序 }) // 表单 const areaSelectShow = ref(false) const areaLevelList = ref([]) as any // 区域树列表数据 @@ -28,7 +28,7 @@ } // 表头显示标题 const btnLoading = ref(false) // 保存按钮的加载中状态 const rules: FormRules = { - id: [{ required: true, message: '区域编号不能为空', trigger: ['blur', 'change'] }], + id: [{ required: true, message: '区域编号不能为空', trigger: ['blur', 'change'] }, { type: 'number', message: '必须为数字值' }], areaName: [{ required: true, message: '区域名称不能为空', trigger: ['blur', 'change'] }], simpleName: [{ required: true, message: '区域简称不能为空', trigger: ['blur', 'change'] }], pName: [{ required: true, message: '上级区域必选', trigger: ['blur', 'change'] }], @@ -49,7 +49,7 @@ areaName: '', // 区域名 simpleName: '', // 别名, level: '', - num: 99, // 排序 + num: 4, // 排序 } } // 获取区域类型 @@ -118,6 +118,10 @@ nextTick(() => { dataFormRef.value.clearValidate() }) + // 通知父组件刷新状态 + setTimeout(() => { + emits('refresh') + }) }).catch(() => { // 选否,关闭窗口,并刷新页面 emits('watchChild') dialogFormVisible.value = false @@ -143,6 +147,9 @@ }) dataFormRef.value.clearValidate() emits('watchChild') + setTimeout(() => { + emits('refresh') + }) dialogFormVisible.value = false } }).catch((_) => { // 异常情况,loading置为false diff --git a/src/views/system/area/listArea.vue b/src/views/system/area/listArea.vue index 192c08c..deb0bfe 100644 --- a/src/views/system/area/listArea.vue +++ b/src/views/system/area/listArea.vue @@ -5,7 +5,8 @@ import { Plus } from '@element-plus/icons-vue' import type { IlistQuery } from './area-interface' import EditArea from './editArea.vue' -import { delArea, getAreaListPage } from '@/api/system/area' +import { toTreeList } from '@/utils/structure' +import { delArea, getAreaByPid, getAreaListPage } from '@/api/system/area' import type { TableColumn } from '@/components/NormalTable/table_interface' enum Perm { @@ -18,7 +19,7 @@ const listQuery: IlistQuery = reactive({ keywords: '', offset: 1, - limit: 20, + limit: 1, sort: '', order: '', }) // 筛选条件 @@ -41,24 +42,20 @@ }) // 获取区域数据 -const fetchData = (isNowPage: boolean) => { +const fetchData = () => { listLoading.value = true - if (!isNowPage) { // 是否显示当前页,否则跳转第一页 - listQuery.offset = 1 - } - getAreaListPage(listQuery).then((response) => { - if (response.code === 200) { - list.value = response.data.rows - total.value = parseInt(response.data.total) - listLoading.value = false - } + list.value = [] + getAreaByPid('0').then((res) => { + list.value = res.data.map((item: any) => ({ ...item, hasChildren: true })) + list.value = toTreeList(list.value) + listLoading.value = false }) } -fetchData(true)// 获取数据 +fetchData()// 获取数据 onActivated(() => { - fetchData(true)// 获取数据 + fetchData()// 获取数据 }) // 新增区域 @@ -90,7 +87,7 @@ message: '删除成功', type: 'success', }) - fetchData(true) + fetchData() } }) }) @@ -98,7 +95,12 @@ // 查询数据 const search = () => { - fetchData(false) + listLoading.value = true + getAreaListPage(listQuery).then((res) => { + list.value = res.data.rows.map((item: any) => ({ ...item, hasChildren: true })) + list.value = toTreeList(list.value) + listLoading.value = false + }) } // 页数发生变化后的操作,可能是页码变化,可能是每页容量变化,此函数必写 const changePage = (val: { size: number; page: number }) => { @@ -108,14 +110,25 @@ if (val && val.page) { listQuery.offset = val.page } - fetchData(true) + fetchData() +} +const load = ( + row: any, + treeNode: unknown, + resolve: (date: any[]) => void, +) => { + getAreaByPid(row.id).then((res) => { + console.log(res.data, 'res.data') + const data = res.data.map((item: any) => ({ ...item, hasChildren: true })) + resolve(data) + }) } diff --git a/src/layouts/components/SubSidebar/index.vue b/src/layouts/components/SubSidebar/index.vue index 9749bcf..b2c0d09 100644 --- a/src/layouts/components/SubSidebar/index.vue +++ b/src/layouts/components/SubSidebar/index.vue @@ -87,7 +87,7 @@ &.sidebar-logo-bg { // background-color: var(--g-main-sidebar-bg); - background-image: url('@/assets/images/header-image.png'); + background-image: url("@/assets/images/header-image.png"); } &.shadow { @@ -99,7 +99,7 @@ border-right: 0; padding: 0 5px; padding-top: var(--g-sidebar-logo-height); - padding-top: 6px !important; + padding-top: 50px !important; transition: border-color 0.3s, background-color 0.3s, color 0.3s, padding-top 0.3s; background-color: #0000; diff --git a/src/layouts/index.vue b/src/layouts/index.vue index 2cb0d56..ba8b366 100644 --- a/src/layouts/index.vue +++ b/src/layouts/index.vue @@ -72,7 +72,7 @@ - + diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index a6856db..42c7a79 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -6,7 +6,7 @@ { path: '/sys', component: Layout, - redirect: '/sys/area', + redirect: '/area', name: 'System', meta: { title: '系统管理', diff --git a/src/views/count/index.vue b/src/views/count/index.vue index dd8f634..3b75665 100644 --- a/src/views/count/index.vue +++ b/src/views/count/index.vue @@ -1,3 +1,50 @@ + + + + + + diff --git a/src/views/count/page.vue b/src/views/count/page.vue new file mode 100644 index 0000000..7f82c84 --- /dev/null +++ b/src/views/count/page.vue @@ -0,0 +1,12 @@ + + + diff --git a/src/views/footprint/index.vue b/src/views/footprint/index.vue index 8791314..4f5b661 100644 --- a/src/views/footprint/index.vue +++ b/src/views/footprint/index.vue @@ -1,3 +1,3 @@ diff --git a/src/views/system/area/area-interface.ts b/src/views/system/area/area-interface.ts index 627a360..904997e 100644 --- a/src/views/system/area/area-interface.ts +++ b/src/views/system/area/area-interface.ts @@ -7,7 +7,7 @@ } export interface IareaForm { - id: string // 编号 + id?: string // 编号 pid: string // 父级编号 pName: string // 父级名称 areaName: string // 区域名 diff --git a/src/views/system/area/editArea.vue b/src/views/system/area/editArea.vue index 8256924..70384ba 100644 --- a/src/views/system/area/editArea.vue +++ b/src/views/system/area/editArea.vue @@ -6,7 +6,7 @@ import AreaSelectTree from './areaSelectTree.vue' import type { IareaForm } from './area-interface' import { addArea, getAreaType, updateArea } from '@/api/system/area' -const emits = defineEmits(['watchChild']) +const emits = defineEmits(['watchChild', 'refresh']) const dataFormRef = ref() const areaSelect = ref() const dialogFormVisible = ref(false) // 对话框是否显示 @@ -18,7 +18,7 @@ areaName: '', // 区域名 simpleName: '', // 别名, level: '', - num: 99, // 排序 + num: 1, // 排序 }) // 表单 const areaSelectShow = ref(false) const areaLevelList = ref([]) as any // 区域树列表数据 @@ -28,7 +28,7 @@ } // 表头显示标题 const btnLoading = ref(false) // 保存按钮的加载中状态 const rules: FormRules = { - id: [{ required: true, message: '区域编号不能为空', trigger: ['blur', 'change'] }], + id: [{ required: true, message: '区域编号不能为空', trigger: ['blur', 'change'] }, { type: 'number', message: '必须为数字值' }], areaName: [{ required: true, message: '区域名称不能为空', trigger: ['blur', 'change'] }], simpleName: [{ required: true, message: '区域简称不能为空', trigger: ['blur', 'change'] }], pName: [{ required: true, message: '上级区域必选', trigger: ['blur', 'change'] }], @@ -49,7 +49,7 @@ areaName: '', // 区域名 simpleName: '', // 别名, level: '', - num: 99, // 排序 + num: 4, // 排序 } } // 获取区域类型 @@ -118,6 +118,10 @@ nextTick(() => { dataFormRef.value.clearValidate() }) + // 通知父组件刷新状态 + setTimeout(() => { + emits('refresh') + }) }).catch(() => { // 选否,关闭窗口,并刷新页面 emits('watchChild') dialogFormVisible.value = false @@ -143,6 +147,9 @@ }) dataFormRef.value.clearValidate() emits('watchChild') + setTimeout(() => { + emits('refresh') + }) dialogFormVisible.value = false } }).catch((_) => { // 异常情况,loading置为false diff --git a/src/views/system/area/listArea.vue b/src/views/system/area/listArea.vue index 192c08c..deb0bfe 100644 --- a/src/views/system/area/listArea.vue +++ b/src/views/system/area/listArea.vue @@ -5,7 +5,8 @@ import { Plus } from '@element-plus/icons-vue' import type { IlistQuery } from './area-interface' import EditArea from './editArea.vue' -import { delArea, getAreaListPage } from '@/api/system/area' +import { toTreeList } from '@/utils/structure' +import { delArea, getAreaByPid, getAreaListPage } from '@/api/system/area' import type { TableColumn } from '@/components/NormalTable/table_interface' enum Perm { @@ -18,7 +19,7 @@ const listQuery: IlistQuery = reactive({ keywords: '', offset: 1, - limit: 20, + limit: 1, sort: '', order: '', }) // 筛选条件 @@ -41,24 +42,20 @@ }) // 获取区域数据 -const fetchData = (isNowPage: boolean) => { +const fetchData = () => { listLoading.value = true - if (!isNowPage) { // 是否显示当前页,否则跳转第一页 - listQuery.offset = 1 - } - getAreaListPage(listQuery).then((response) => { - if (response.code === 200) { - list.value = response.data.rows - total.value = parseInt(response.data.total) - listLoading.value = false - } + list.value = [] + getAreaByPid('0').then((res) => { + list.value = res.data.map((item: any) => ({ ...item, hasChildren: true })) + list.value = toTreeList(list.value) + listLoading.value = false }) } -fetchData(true)// 获取数据 +fetchData()// 获取数据 onActivated(() => { - fetchData(true)// 获取数据 + fetchData()// 获取数据 }) // 新增区域 @@ -90,7 +87,7 @@ message: '删除成功', type: 'success', }) - fetchData(true) + fetchData() } }) }) @@ -98,7 +95,12 @@ // 查询数据 const search = () => { - fetchData(false) + listLoading.value = true + getAreaListPage(listQuery).then((res) => { + list.value = res.data.rows.map((item: any) => ({ ...item, hasChildren: true })) + list.value = toTreeList(list.value) + listLoading.value = false + }) } // 页数发生变化后的操作,可能是页码变化,可能是每页容量变化,此函数必写 const changePage = (val: { size: number; page: number }) => { @@ -108,14 +110,25 @@ if (val && val.page) { listQuery.offset = val.page } - fetchData(true) + fetchData() +} +const load = ( + row: any, + treeNode: unknown, + resolve: (date: any[]) => void, +) => { + getAreaByPid(row.id).then((res) => { + console.log(res.data, 'res.data') + const data = res.data.map((item: any) => ({ ...item, hasChildren: true })) + resolve(data) + }) } diff --git a/src/views/system/dept/listDept.vue b/src/views/system/dept/listDept.vue index 64ffbc4..2586e65 100644 --- a/src/views/system/dept/listDept.vue +++ b/src/views/system/dept/listDept.vue @@ -12,7 +12,7 @@ // 默认查询条件 const defaultQuery = { - keyword: '', + deptName: '', } // 查询条件 const listQuery = reactive({ ...defaultQuery }) @@ -99,7 +99,7 @@ - +