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 1/3] =?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 @@ + + From 59c11958c7646a67e956f3741556eeb206237953 Mon Sep 17 00:00:00 2001 From: wangzenghua <1048523306@qq.com> Date: Thu, 27 Mar 2025 09:12:37 +0100 Subject: [PATCH 2/3] =?UTF-8?q?feat:=E5=AD=97=E5=85=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/system/dict/index.vue | 283 ++++++++++++++++++ .../src/views/system/dict/type.vue | 254 ++++++++++++++++ 2 files changed, 537 insertions(+) create mode 100644 sub-government-affairs-service/src/views/system/dict/index.vue create mode 100644 sub-government-affairs-service/src/views/system/dict/type.vue diff --git a/sub-government-affairs-service/src/views/system/dict/index.vue b/sub-government-affairs-service/src/views/system/dict/index.vue new file mode 100644 index 0000000..fe3b860 --- /dev/null +++ b/sub-government-affairs-service/src/views/system/dict/index.vue @@ -0,0 +1,283 @@ + + diff --git a/sub-government-affairs-service/src/views/system/dict/type.vue b/sub-government-affairs-service/src/views/system/dict/type.vue new file mode 100644 index 0000000..94e0b9c --- /dev/null +++ b/sub-government-affairs-service/src/views/system/dict/type.vue @@ -0,0 +1,254 @@ + + From b464fb6a06f40ad21363677c40f26c1437caada7 Mon Sep 17 00:00:00 2001 From: wangzenghua <1048523306@qq.com> Date: Thu, 27 Mar 2025 09:23:39 +0100 Subject: [PATCH 3/3] fix --- .../src/apis/system/dept.js | 58 +++++++++++++++++++ .../src/apis/system/dict.js | 49 ++++++++++++++++ .../src/apis/system/dictType.js | 58 +++++++++++++++++++ 3 files changed, 165 insertions(+) create mode 100644 sub-government-affairs-service/src/apis/system/dept.js create mode 100644 sub-government-affairs-service/src/apis/system/dict.js create mode 100644 sub-government-affairs-service/src/apis/system/dictType.js diff --git a/sub-government-affairs-service/src/apis/system/dept.js b/sub-government-affairs-service/src/apis/system/dept.js new file mode 100644 index 0000000..e109ac7 --- /dev/null +++ b/sub-government-affairs-service/src/apis/system/dept.js @@ -0,0 +1,58 @@ +import request from '@/utils/axios'; + +/** + * @Title: 列表 + */ +export function GetEntityList(params = {}) { + return request('/system/dept/list', { + method: 'GET', + params, + }); +} + +/** + * @Title: 信息 + */ +export function GetEntity(id) { + return request(`/system/dept/list/exclude/${id}`, { + method: 'GET', + }); +} + +/** + * @Title: 新增 + */ +export function AddEntity(data = {}) { + return request('/system/dept', { + method: 'POST', + data, + }); +} + +/** + * @Title: 修改 + */ +export function UpdateEntity(data = {}) { + return request('/system/dept', { + method: 'PUT', + data, + }); +} + +/** + * @Title: 删除 + */ +export function DeleteEntity(params = {}) { + return request(`/system/dict/type/${params.id}`, { + method: 'DELETE', + }); +} + +/** + * @Title: 查询部门列表(排除节点) + */ +export function GetDeptExcludeChild(id) { + return request(`/system/dept/list/exclude/${id}`, { + method: 'GET', + }); +} diff --git a/sub-government-affairs-service/src/apis/system/dict.js b/sub-government-affairs-service/src/apis/system/dict.js new file mode 100644 index 0000000..ab163c6 --- /dev/null +++ b/sub-government-affairs-service/src/apis/system/dict.js @@ -0,0 +1,49 @@ +import request from '@/utils/axios'; + +/** + * @Title: 列表 + */ +export function GetEntityList(params = {}) { + return request('/system/dict/data/list', { + method: 'GET', + params, + }); +} + +/** + * @Title: 根据字典类型查询字典数据信息 + */ +export function GetDict(dictType) { + return request(`/system/dict/data/list/${dictType}`, { + method: 'GET', + }); +} + +/** + * @Title: 新增 + */ +export function AddEntity(data = {}) { + return request('/system/dict/data', { + method: 'POST', + data, + }); +} + +/** + * @Title: 修改 + */ +export function UpdateEntity(data = {}) { + return request('/system/dict/data', { + method: 'PUT', + data, + }); +} + +/** + * @Title: 删除 + */ +export function DeleteEntity(params = {}) { + return request(`/system/dict/data/${params.id}`, { + method: 'DELETE', + }); +} diff --git a/sub-government-affairs-service/src/apis/system/dictType.js b/sub-government-affairs-service/src/apis/system/dictType.js new file mode 100644 index 0000000..b43b9db --- /dev/null +++ b/sub-government-affairs-service/src/apis/system/dictType.js @@ -0,0 +1,58 @@ +import request from '@/utils/axios'; + +/** + * @Title: 列表 + */ +export function GetEntityList(params = {}) { + return request('/system/dict/type/list', { + method: 'GET', + params, + }); +} + +/** + * @Title: 信息 + */ +export function GetEntity(dictId) { + return request(`/system/dict/type/list/${dictId}`, { + method: 'GET', + }); +} + +/** + * @Title: 新增 + */ +export function AddEntity(data = {}) { + return request('/system/dict/type', { + method: 'POST', + data, + }); +} + +/** + * @Title: 修改 + */ +export function UpdateEntity(data = {}) { + return request('/system/dict/type', { + method: 'PUT', + data, + }); +} + +/** + * @Title: 删除 + */ +export function DeleteEntity(params = {}) { + return request(`/system/dict/type/${params.id}`, { + method: 'DELETE', + }); +} + +/** + * @Title: 获取字典选择框列表 + */ +export function GetEntityOption() { + return request('system/dict/type/optionselect', { + method: 'GET', + }); +}