From a6c2b1261ccaa48178c0043d00e8f40efddadeb5 Mon Sep 17 00:00:00 2001 From: wangzenghua <1048523306@qq.com> Date: Thu, 27 Mar 2025 09:11:25 +0100 Subject: [PATCH] =?UTF-8?q?feat:=E5=AD=97=E5=85=B8=E7=9B=B8=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/router/index.js | 4 +- .../src/router/modules/system.js | 25 ++ .../src/utils/index.js | 29 ++- .../src/views/system/dept/index.vue | 239 ++++++++++++++++++ 4 files changed, 284 insertions(+), 13 deletions(-) create mode 100644 sub-government-affairs-service/src/router/modules/system.js create mode 100644 sub-government-affairs-service/src/views/system/dept/index.vue diff --git a/sub-government-affairs-service/src/router/index.js b/sub-government-affairs-service/src/router/index.js index 4b6872f..b1ca217 100644 --- a/sub-government-affairs-service/src/router/index.js +++ b/sub-government-affairs-service/src/router/index.js @@ -3,7 +3,7 @@ * @Author: zenghua.wang * @Date: 2023-06-20 11:48:41 * @LastEditors: zenghua.wang - * @LastEditTime: 2025-03-20 14:40:44 + * @LastEditTime: 2025-03-26 16:14:45 */ import { createRouter, createWebHistory } from 'vue-router'; import Layout from '@/layouts/index.vue'; @@ -13,6 +13,7 @@ import traceRouter from './modules/trace'; import productOperateMainRoutes from './modules/productOperateMain'; import inputSuppliesRoutes from './modules/inputSupplies'; import plantingAndBreedingRouter from './modules/plantingAndBreeding'; +import systemRouter from './modules/system'; export const constantRoutes = [ { @@ -47,6 +48,7 @@ export const constantRoutes = [ ...inputSuppliesRoutes, ...plantingAndBreedingRouter, ...traceRouter, + ...systemRouter, ]; /** diff --git a/sub-government-affairs-service/src/router/modules/system.js b/sub-government-affairs-service/src/router/modules/system.js new file mode 100644 index 0000000..34badff --- /dev/null +++ b/sub-government-affairs-service/src/router/modules/system.js @@ -0,0 +1,25 @@ +import Layout from '@/layouts/index.vue'; + +export default [ + { + path: '/sub-government-affairs-service/system', + name: 'system', + component: Layout, + redirect: '/sub-government-affairs-service/system-dict', + meta: { title: '系统管理', icon: 'Document' }, + children: [ + { + path: '/sub-government-affairs-service/system-dict-type', + component: () => import('@/views/system/dict/type.vue'), + name: 'system-dict-type', + meta: { title: '字典类型', icon: 'Document' }, + }, + { + path: '/sub-government-affairs-service/system-dict', + component: () => import('@/views/system/dict/index.vue'), + name: 'system-dict', + meta: { title: '字典管理', icon: 'Document' }, + }, + ], + }, +]; diff --git a/sub-government-affairs-service/src/utils/index.js b/sub-government-affairs-service/src/utils/index.js index fb825cc..34eb2bf 100644 --- a/sub-government-affairs-service/src/utils/index.js +++ b/sub-government-affairs-service/src/utils/index.js @@ -3,7 +3,7 @@ * @Author: zenghua.wang * @Date: 2022-02-23 21:12:37 * @LastEditors: zenghua.wang - * @LastEditTime: 2025-03-24 10:05:36 + * @LastEditTime: 2025-03-27 15:43:36 */ import lodash from 'lodash'; import dayjs from 'dayjs'; @@ -259,25 +259,30 @@ export const blobToJSON = (blob) => { * @param tree * @returns */ -export const getTree = (tree = []) => { - tree.forEach((item) => { - delete item.children; +export const getTree = (data, id = 'id', parentId = 'parentId', children = 'children') => { + data.forEach((item) => { + delete item[children]; }); + const map = {}; - tree.forEach((item) => { - map[item.id] = item; + data.forEach((item) => { + map[item[id]] = item; }); - const arr = []; - tree.forEach((item) => { - const parent = map[item.parentId]; + + const tree = []; + data.forEach((item) => { + const parent = map[item[parentId]]; if (parent) { - (parent.children || (parent.children = [])).push(item); + parent[children] = parent[children] || []; + parent[children].push(item); } else { - arr.push(item); + tree.push(item); } }); - return arr; + + return tree; }; + /** * @Title 获取路由中的参数 * @param name diff --git a/sub-government-affairs-service/src/views/system/dept/index.vue b/sub-government-affairs-service/src/views/system/dept/index.vue new file mode 100644 index 0000000..82169b5 --- /dev/null +++ b/sub-government-affairs-service/src/views/system/dept/index.vue @@ -0,0 +1,239 @@ + +