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',
+ });
+}