From 44f788e4c5e3034bdcb0528beb66986312558b44 Mon Sep 17 00:00:00 2001
From: siyaqi
Date: Tue, 16 Dec 2025 19:15:41 +0800
Subject: [PATCH] =?UTF-8?q?=E9=97=AE=E9=A2=98=E5=A4=84=E7=90=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../module_admin/dao/datasec_config_dao.py | 20 +-
.../service/datasec_config_service.py | 10 +-
.../datastd/main/components/AddEditForm.vue | 395 ++++++++----------
.../meta/metasercurity/MetaSecurityCol.vue | 7 +-
.../meta/metasercurity/MetaSecurityRow.vue | 10 +-
.../src/views/system/flow/dataStdDictAppr.vue | 21 +-
6 files changed, 217 insertions(+), 246 deletions(-)
diff --git a/vue-fastapi-backend/module_admin/dao/datasec_config_dao.py b/vue-fastapi-backend/module_admin/dao/datasec_config_dao.py
index 1f346c9..5e6471e 100644
--- a/vue-fastapi-backend/module_admin/dao/datasec_config_dao.py
+++ b/vue-fastapi-backend/module_admin/dao/datasec_config_dao.py
@@ -75,15 +75,25 @@ class DatasecConfigDao:
"""
await db.execute(delete(DatasecConfig).where(DatasecConfig.onum.in_([metatask.onum])))
@classmethod
- async def check_name_or_param_exist(cls, db: AsyncSession, metatask_name: str, metatask_param: str, exclude_onum: int = None):
+ async def check_name_or_param_exist(cls, db: AsyncSession, metatask_name: str = None, metatask_param: str = None, exclude_onum: int = None):
"""
- 检查是否存在相同的任务名称或参数字段,排除指定 onum(用于编辑)
+ 检查是否存在指定任务名称和参数字段(同时匹配非空的字段),排除指定 onum(用于编辑)
"""
- stmt = select(DatasecConfig).where(
- (DatasecConfig.metatask_name == metatask_name) | (DatasecConfig.metatask_param == metatask_param)
- )
+ conditions = []
+
+ if metatask_name: # 不为空才加条件
+ conditions.append(DatasecConfig.metatask_name == metatask_name)
+
+
+
+ if not conditions: # 两个都为空,直接返回 False
+ return False
+
+ stmt = select(DatasecConfig).where(*conditions)
+
if exclude_onum:
stmt = stmt.where(DatasecConfig.onum != exclude_onum)
result = await db.execute(stmt)
return result.scalars().first() is not None
+
diff --git a/vue-fastapi-backend/module_admin/service/datasec_config_service.py b/vue-fastapi-backend/module_admin/service/datasec_config_service.py
index 8c94c3d..b3cdbe0 100644
--- a/vue-fastapi-backend/module_admin/service/datasec_config_service.py
+++ b/vue-fastapi-backend/module_admin/service/datasec_config_service.py
@@ -37,7 +37,7 @@ class DatasecConfigService:
# 检查任务名称或参数是否已存在
exists = await DatasecConfigDao.check_name_or_param_exist(db, page_object.metatask_name, page_object.metatask_param)
if exists:
- raise ServiceException(message="任务名称或参数字段已存在")
+ raise ServiceException(message="任务名称已存在")
# 获取流程配置
processconfig = MetaprocessconfigQueryModel()
@@ -79,7 +79,13 @@ class DatasecConfigService:
code_list = data["data"]
str_list = list(map(str, code_list))
for config in processConfigList:
- modified_json_str = config.taskDefinitionJson.replace("18093081592672", str_list[0]).replace("sh /home/xx/code/remote_python_sec.sh", "sh /home/xx/code/remote_python_sec.sh "+page_object.metatask_param)
+ # 原来的字符串替换
+ modified_json_str = config.taskDefinitionJson.replace("18093081592672", str_list[0])
+ # 拼接命令时先判断 metatask_param 是否为空
+ cmd = "sh /home/xx/code/remote_python_sec.sh"
+ if page_object.metatask_param: # 只有非空才加参数
+ cmd += f" {page_object.metatask_param}"
+ modified_json_str = modified_json_str.replace("sh /home/xx/code/remote_python_sec.sh", cmd)
modified_json_str2=config.taskRelationJson.replace("18093081592672", str_list[0])
modified_json_str3=config.locations.replace("18093081592672", str_list[0])
metaprocessconfig_dict = MetaprocessconfigModel(taskDefinitionJson=modified_json_str,# 替换taskDefinitionJson
diff --git a/vue-fastapi-frontend/src/views/datastd/main/components/AddEditForm.vue b/vue-fastapi-frontend/src/views/datastd/main/components/AddEditForm.vue
index 6e9b2bd..21ca94e 100644
--- a/vue-fastapi-frontend/src/views/datastd/main/components/AddEditForm.vue
+++ b/vue-fastapi-frontend/src/views/datastd/main/components/AddEditForm.vue
@@ -1,243 +1,186 @@
-
+
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
+
+
+
+
+
+
-
-
-
+
+
+
+
-
-
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
- 取消
-
-
- 保存
-
-
-
+
+
+
+ 取消
+
+
+ 保存
+
+
+
+
-
-
-
- 取消
- 确定
-
-
-