From 817be429b54ff06d5cc0239dcb1c1f7b8638a76c Mon Sep 17 00:00:00 2001 From: "si@aidatagov.com" Date: Sun, 23 Feb 2025 23:45:52 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E9=87=87=E9=9B=86=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=AE=89=E5=85=A8=E6=8E=A5=E5=8F=A3=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/metasecurity_service.py | 57 +++++++++++++------ .../module_admin/service/metatask_service.py | 53 +++++++++++++---- .../src/views/meta/metatask/index.vue | 7 +++ 3 files changed, 89 insertions(+), 28 deletions(-) diff --git a/vue-fastapi-backend/module_admin/service/metasecurity_service.py b/vue-fastapi-backend/module_admin/service/metasecurity_service.py index dc31e97..3f8fb56 100644 --- a/vue-fastapi-backend/module_admin/service/metasecurity_service.py +++ b/vue-fastapi-backend/module_admin/service/metasecurity_service.py @@ -586,33 +586,54 @@ async def generate_sql(tablesRowCol:dict, table_columns:dict): # # 创建一个正则表达式,匹配原始 SQL 中的表名(注意大小写问题,正则会忽略大小写) # # 匹配类似 "模式名.tab1" 或 "tab1" 的表名 # table_name_pattern = r'\b(?:[a-zA-Z_][a-zA-Z0-9_]*\.)?' + re.escape(table_name) + r'\b' - + # # 替换原始 SQL 中的表名为对应的子查询 -# oldStrSql = re.sub(table_name_pattern, f"({subquery})", oldStrSql, flags=re.IGNORECASE) +# def add_alias(match): +# # 子查询替换后,检查是否有 AS 关键字 +# replaced = f"({subquery})" +# # 检查是否已经有 AS +# if ' AS ' not in match.group(0).upper(): +# # 如果没有 AS 关键字,则添加一个默认别名 +# alias = table_name # 你可以根据需求设置别名格式,这里使用表名作为别名 +# replaced += f" AS {alias}" +# return replaced + +# oldStrSql = re.sub(table_name_pattern, add_alias, oldStrSql, flags=re.IGNORECASE) # return oldStrSql async def replace_table_with_subquery(ctrSqlDict, oldStrSql): - # 遍历 ctrSqlDict 并替换 SQL 查询中的表名 for table_name, subquery in ctrSqlDict.items(): - # 创建一个正则表达式,匹配原始 SQL 中的表名(注意大小写问题,正则会忽略大小写) - # 匹配类似 "模式名.tab1" 或 "tab1" 的表名 - table_name_pattern = r'\b(?:[a-zA-Z_][a-zA-Z0-9_]*\.)?' + re.escape(table_name) + r'\b' - - # 替换原始 SQL 中的表名为对应的子查询 - def add_alias(match): - # 子查询替换后,检查是否有 AS 关键字 - replaced = f"({subquery})" - # 检查是否已经有 AS - if ' AS ' not in match.group(0).upper(): - # 如果没有 AS 关键字,则添加一个默认别名 - alias = table_name # 你可以根据需求设置别名格式,这里使用表名作为别名 - replaced += f" AS {alias}" + # 构建正则表达式,匹配表名及可能的别名 + pattern = ( + r'(\b(?:[a-zA-Z_][a-zA-Z0-9_]*\.)?' # 匹配模式名(可选) + + re.escape(table_name) # 转义表名 + + r'\b)' # 结束表名 + r'(\s+(?:AS\s+)?(\w+))?' # 捕获别名部分(含 AS 或直接别名) + r'(?=\s*[\w\(\)]*)' # 确保后面是合法 SQL 语法,不是 SQL 关键字 + ) + def replace(match): + original_table = match.group(1) # 原始表名(可能含模式名) + alias_part = match.group(2) # 别名部分(含空格、AS 或直接别名) + alias_name = match.group(3) # 别名名称(无 AS 前缀) + # 处理表名后直接跟着 SQL 关键字的情况 + following_text = alias_name.upper() + sql_keywords = {"LIMIT", "WHERE", "ORDER", "GROUP", "HAVING", "JOIN", "ON", "USING", "UNION", + "EXCEPT", "INTERSECT", "FETCH", "OFFSET"} + if alias_name and following_text.split()[0] not in sql_keywords: + # 已存在别名,且别名后没有紧跟 SQL 关键字,保留原别名 + replaced = f"({subquery}) {alias_part}" + else: + # 无别名时,或者别名无效(如 LIMIT),添加默认别名 + alias = original_table.split('.')[-1] + replaced = f"({subquery}) AS {alias}{alias_part}" return replaced - - oldStrSql = re.sub(table_name_pattern, add_alias, oldStrSql, flags=re.IGNORECASE) + # 执行替换(忽略大小写) + oldStrSql = re.sub(pattern, replace, oldStrSql, flags=re.IGNORECASE) return oldStrSql + + async def get_data_source_tree(request: Request, current_user: MetaSecurityApiModel): url = f'{AppConfig.ds_server_url}/dolphinscheduler/datasources/withpwdlist?pageNo=1&pageSize=100' diff --git a/vue-fastapi-backend/module_admin/service/metatask_service.py b/vue-fastapi-backend/module_admin/service/metatask_service.py index 8c33af0..a73a02c 100644 --- a/vue-fastapi-backend/module_admin/service/metatask_service.py +++ b/vue-fastapi-backend/module_admin/service/metatask_service.py @@ -215,7 +215,11 @@ class MetataskService: for config in processConfigList: # mysql表字段 if config.ac_target=='0': - modified_json_str = config.taskDefinitionJson.replace("16199683466336", str_list[0]).replace("16199683466337", str_list[1]).replace("16199683466338", str_list[2]).replace("'dash_test_w'", f"'{page_object.dbSName}'").replace("'mysql_conn'", f"'{page_object.dbRName}'") + modified_json_str = config.taskDefinitionJson.replace("16199683466336", str_list[0]).replace("16199683466337", str_list[1]).replace("16199683466338", str_list[2]).replace("'mysql_conn'", f"'{page_object.dbRName}'") + if page_object.dbSName: + modified_json_str=modified_json_str.replace("'dash_test_w'", f"'{page_object.dbSName}'") + else: + modified_json_str=modified_json_str.replace("t.table_schema = 'dash_test_w'", "1=1") modified_json_str2=config.taskRelationJson.replace("16199683466336", str_list[0]).replace("16199683466337", str_list[1]).replace("16199683466338", str_list[2]) modified_json_str3=config.locations.replace("16199683466336", str_list[0]).replace("16199683466337", str_list[1]).replace("16199683466338", str_list[2]) metaprocessconfig_dict = MetaprocessconfigModel(taskDefinitionJson=modified_json_str,# 替换taskDefinitionJson @@ -245,7 +249,11 @@ class MetataskService: message += ", " message += page_object.metatask_name + "-表字段采集新增失败" if config.ac_target=='1': - modified_json_str = config.taskDefinitionJson.replace("16286410625888", str_list[0]).replace("16286410625889", str_list[1]).replace("16286410625890", str_list[2]).replace("16286410625891", str_list[3]).replace("'dash_test_w'", f"'{page_object.dbSName}'").replace("'mysql_conn'", f"'{page_object.dbRName}'").replace("mysql_conn dash_test_w", f"{page_object.dbRName} {page_object.dbSName}") + modified_json_str = config.taskDefinitionJson.replace("16286410625888", str_list[0]).replace("16286410625889", str_list[1]).replace("16286410625890", str_list[2]).replace("16286410625891", str_list[3]).replace("'mysql_conn'", f"'{page_object.dbRName}'").replace("mysql_conn dash_test_w", f"{page_object.dbRName} {page_object.dbSName}") + if page_object.dbSName: + modified_json_str=modified_json_str.replace("'dash_test_w'", f"'{page_object.dbSName}'") + else: + modified_json_str=modified_json_str.replace("t.table_schema = 'dash_test_w'", "1=1") modified_json_str2=config.taskRelationJson.replace("16286410625888", str_list[0]).replace("16286410625889", str_list[1]).replace("16286410625890", str_list[2]).replace("16286410625891", str_list[3]) modified_json_str3=config.locations.replace("16286410625888", str_list[0]).replace("16286410625889", str_list[1]).replace("16286410625890", str_list[2]).replace("16286410625891", str_list[3]) metaprocessconfig_dict = MetaprocessconfigModel(taskDefinitionJson=modified_json_str,# 替换taskDefinitionJson @@ -300,7 +308,8 @@ class MetataskService: text= response.text responsJson = json.loads(text) if responsJson['msg'] == 'success': - modified_json_str = json.dumps(responsJson['data']['taskDefinitionList'], ensure_ascii=False, indent=0).replace( f"'{metatask_old.dbSName}'", f"'{page_object.dbSName}'") + # modified_json_str = json.dumps(responsJson['data']['taskDefinitionList'], ensure_ascii=False, indent=0).replace( f"'{metatask_old.dbSName}'", f"'{page_object.dbSName}'") + modified_json_str = json.dumps(responsJson['data']['taskDefinitionList'], ensure_ascii=False, indent=0) getTaskRelationList=responsJson['data']['processTaskRelationList'] putTaskRelationList=[] for item in getTaskRelationList: @@ -494,9 +503,13 @@ class MetataskService: code_list = data["data"] str_list = list(map(str, code_list)) for config in processConfigList: - # mysql表字段 + # oracl表字段 if config.ac_target=='0': modified_json_str = config.taskDefinitionJson.replace("16699723296864", str_list[0]).replace("16699723296865", str_list[1]).replace("16699723296866", str_list[2]).replace("'ORCL_USER'", f"'{page_object.dbSName}'").replace("'orcl_conn'", f"'{page_object.dbRName}'") + if page_object.dbSName: + modified_json_str=modified_json_str.replace("'ORCL_USER'", f"'{page_object.dbSName}'") + else: + modified_json_str=modified_json_str.replace("t.owner = 'ORCL_USER'", "1=1") modified_json_str2=config.taskRelationJson.replace("16699723296864", str_list[0]).replace("16699723296865", str_list[1]).replace("16699723296866", str_list[2]) modified_json_str3=config.locations.replace("16699723296864", str_list[0]).replace("16699723296865", str_list[1]).replace("16699723296866", str_list[2]) metaprocessconfig_dict = MetaprocessconfigModel(taskDefinitionJson=modified_json_str,# 替换taskDefinitionJson @@ -526,7 +539,11 @@ class MetataskService: message += ", " message += page_object.metatask_name + "-表字段采集新增失败" if config.ac_target=='1': - modified_json_str = config.taskDefinitionJson.replace("16699841738592", str_list[0]).replace("16699841738593", str_list[1]).replace("16699841738594", str_list[2]).replace("16699841738595", str_list[3]).replace("'ORCL_USER'", f"'{page_object.dbSName}'").replace("'orcl_conn'", f"'{page_object.dbRName}'") + modified_json_str = config.taskDefinitionJson.replace("16699841738592", str_list[0]).replace("16699841738593", str_list[1]).replace("16699841738594", str_list[2]).replace("16699841738595", str_list[3]).replace("'orcl_conn'", f"'{page_object.dbRName}'") + if page_object.dbSName: + modified_json_str=modified_json_str.replace("'ORCL_USER'", f"'{page_object.dbSName}'") + else: + modified_json_str=modified_json_str.replace("t.owner = 'ORCL_USER'", "1=1") modified_json_str2=config.taskRelationJson.replace("16699841738592", str_list[0]).replace("16699841738593", str_list[1]).replace("16699841738594", str_list[2]).replace("16699841738595", str_list[3]) modified_json_str3=config.locations.replace("16699841738592", str_list[0]).replace("16699841738593", str_list[1]).replace("16699841738594", str_list[2]).replace("16699841738595", str_list[3]) metaprocessconfig_dict = MetaprocessconfigModel(taskDefinitionJson=modified_json_str,# 替换taskDefinitionJson @@ -583,9 +600,13 @@ class MetataskService: code_list = data["data"] str_list = list(map(str, code_list)) for config in processConfigList: - # mysql表字段 + # db2表字段 if config.ac_target=='0': - modified_json_str = config.taskDefinitionJson.replace("16699625480160", str_list[0]).replace("16699625480161", str_list[1]).replace("16699625480162", str_list[2]).replace("'MYSCHEMA'", f"'{page_object.dbSName}'").replace("'db2_conn'", f"'{page_object.dbRName}'") + modified_json_str = config.taskDefinitionJson.replace("16699625480160", str_list[0]).replace("16699625480161", str_list[1]).replace("16699625480162", str_list[2]).replace("'db2_conn'", f"'{page_object.dbRName}'") + if page_object.dbSName: + modified_json_str=modified_json_str.replace("'MYSCHEMA'", f"'{page_object.dbSName}'") + else: + modified_json_str=modified_json_str.replace("TABSCHEMA = 'MYSCHEMA'", "1=1") modified_json_str2=config.taskRelationJson.replace("16699625480160", str_list[0]).replace("16699625480161", str_list[1]).replace("16699625480162", str_list[2]) modified_json_str3=config.locations.replace("16699625480160", str_list[0]).replace("16699625480161", str_list[1]).replace("16699625480162", str_list[2]) metaprocessconfig_dict = MetaprocessconfigModel(taskDefinitionJson=modified_json_str,# 替换taskDefinitionJson @@ -614,7 +635,11 @@ class MetataskService: message += ", " message += page_object.metatask_name + "-表字段采集新增失败" if config.ac_target=='1': - modified_json_str = config.taskDefinitionJson.replace("16699623866592", str_list[0]).replace("16699623866593", str_list[1]).replace("16699623866594", str_list[2]).replace("16699623866595", str_list[3]).replace("'MYSCHEMA'", f"'{page_object.dbSName}'").replace("'db2_conn'", f"'{page_object.dbRName}'") + modified_json_str = config.taskDefinitionJson.replace("16699623866592", str_list[0]).replace("16699623866593", str_list[1]).replace("16699623866594", str_list[2]).replace("16699623866595", str_list[3]).replace("'db2_conn'", f"'{page_object.dbRName}'") + if page_object.dbSName: + modified_json_str=modified_json_str.replace("'MYSCHEMA'", f"'{page_object.dbSName}'") + else: + modified_json_str=modified_json_str.replace("TABSCHEMA = 'MYSCHEMA'", "1=1") modified_json_str2=config.taskRelationJson.replace("16699623866592", str_list[0]).replace("16699623866593", str_list[1]).replace("16699623866594", str_list[2]).replace("16699623866595", str_list[3]) modified_json_str3=config.locations.replace("16699623866592", str_list[0]).replace("16699623866593", str_list[1]).replace("16699623866594", str_list[2]).replace("16699623866595", str_list[3]) metaprocessconfig_dict = MetaprocessconfigModel(taskDefinitionJson=modified_json_str,# 替换taskDefinitionJson @@ -770,7 +795,11 @@ class MetataskService: for config in processConfigList: # POSTGRESQL表字段 if config.ac_target=='0': - modified_json_str = config.taskDefinitionJson.replace("16688213802592", str_list[0]).replace("16688213802593", str_list[1]).replace("16688213802594", str_list[2]).replace("'public'", f"'{page_object.dbSName}'").replace("'pg_conn'", f"'{page_object.dbRName}'") + modified_json_str = config.taskDefinitionJson.replace("16688213802592", str_list[0]).replace("16688213802593", str_list[1]).replace("16688213802594", str_list[2]).replace("'pg_conn'", f"'{page_object.dbRName}'") + if page_object.dbSName: + modified_json_str=modified_json_str.replace("'public'", f"'{page_object.dbSName}'") + else: + modified_json_str=modified_json_str.replace("n.nspname = 'public'", "1=1") modified_json_str2=config.taskRelationJson.replace("16688213802592", str_list[0]).replace("16688213802593", str_list[1]).replace("16688213802594", str_list[2]) modified_json_str3=config.locations.replace("16688213802592", str_list[0]).replace("16688213802593", str_list[1]).replace("16688213802594", str_list[2]) metaprocessconfig_dict = MetaprocessconfigModel(taskDefinitionJson=modified_json_str,# 替换taskDefinitionJson @@ -799,7 +828,11 @@ class MetataskService: message += ", " message += page_object.metatask_name + "-表字段采集新增失败" elif config.ac_target=='1': - modified_json_str = config.taskDefinitionJson.replace("16688477124320", str_list[0]).replace("16688477124321", str_list[1]).replace("16688477124322", str_list[2]).replace("16688477124323", str_list[3]).replace("'public'", f"'{page_object.dbSName}'").replace("'pg_conn'", f"'{page_object.dbRName}'") + modified_json_str = config.taskDefinitionJson.replace("16688477124320", str_list[0]).replace("16688477124321", str_list[1]).replace("16688477124322", str_list[2]).replace("16688477124323", str_list[3]).replace("'pg_conn'", f"'{page_object.dbRName}'") + if page_object.dbSName: + modified_json_str=modified_json_str.replace("'public'", f"'{page_object.dbSName}'") + else: + modified_json_str=modified_json_str.replace("n.nspname = 'public'", "1=1") modified_json_str2=config.taskRelationJson.replace("16688477124320", str_list[0]).replace("16688477124321", str_list[1]).replace("16688477124322", str_list[2]).replace("16688477124323", str_list[3]) modified_json_str3=config.locations.replace("16688477124320", str_list[0]).replace("16688477124321", str_list[1]).replace("16688477124322", str_list[2]).replace("16688477124323", str_list[3]) metaprocessconfig_dict = MetaprocessconfigModel(taskDefinitionJson=modified_json_str,# 替换taskDefinitionJson diff --git a/vue-fastapi-frontend/src/views/meta/metatask/index.vue b/vue-fastapi-frontend/src/views/meta/metatask/index.vue index 43d1405..739e32b 100644 --- a/vue-fastapi-frontend/src/views/meta/metatask/index.vue +++ b/vue-fastapi-frontend/src/views/meta/metatask/index.vue @@ -423,6 +423,7 @@ @@ -447,6 +448,7 @@ v-model="form.acquisitionType" placeholder="请选择采集方式" maxlength="30" + :disabled="isEdit" style="width: 80%" > @@ -567,6 +571,7 @@ const loading = ref(true); const ids = ref([]); const dsIds = ref([]); const single = ref(true); +const isEdit = ref(true); const singleOne = ref(true); // Online, Edit, Delete const singleTwo = ref(true); // Offline, Logs, Scheduling const multiple = ref(true); @@ -802,6 +807,7 @@ const handleAdd = () => { return; } reset(); + isEdit.value=false; open.value = true; }; @@ -811,6 +817,7 @@ const handleUpdate = async (row) => { const response = await getmetatask(metataskId); form.value = response.data; open.value = true; + isEdit.value=true; }; From ffafefdc033ddbb57a9b6abad5db5b1760a10ed6 Mon Sep 17 00:00:00 2001 From: "si@aidatagov.com" Date: Tue, 25 Feb 2025 01:18:15 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E8=B0=83=E5=BA=A6=E6=94=B9=E9=80=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module_admin/entity/vo/dataSource_vo.py | 5 ++- .../module_admin/service/metatask_service.py | 35 +++++++++++++------ .../src/views/meta/metatask/dsDialog.vue | 8 ++++- .../src/views/meta/metatask/runDialog.vue | 6 +++- 4 files changed, 41 insertions(+), 13 deletions(-) diff --git a/vue-fastapi-backend/module_admin/entity/vo/dataSource_vo.py b/vue-fastapi-backend/module_admin/entity/vo/dataSource_vo.py index 17005db..dee6c53 100644 --- a/vue-fastapi-backend/module_admin/entity/vo/dataSource_vo.py +++ b/vue-fastapi-backend/module_admin/entity/vo/dataSource_vo.py @@ -26,7 +26,10 @@ class DataSource(BaseModel): connection_params: ConnectionParams = Field(alias="connectionParams", description="Connection parameters") create_time: datetime = Field(alias="createTime", description="Creation time") update_time: datetime = Field(alias="updateTime", description="Update time") - +class dsSchedule(BaseModel): + model_config = ConfigDict(alias_generator=to_camel, from_attributes=True) + id: int = Field(description="Primary key ID") + releaseState: Optional[str] = Field(alias="releaseState", description="releaseState") class WorkerGroup(BaseModel): name: str= Field(description="Datasource name") class AlertGroups(BaseModel): diff --git a/vue-fastapi-backend/module_admin/service/metatask_service.py b/vue-fastapi-backend/module_admin/service/metatask_service.py index a73a02c..e64aa30 100644 --- a/vue-fastapi-backend/module_admin/service/metatask_service.py +++ b/vue-fastapi-backend/module_admin/service/metatask_service.py @@ -3,7 +3,6 @@ from sqlalchemy.ext.asyncio import AsyncSession from module_admin.entity.vo.metatask_vo import MetataskQueryModel, MetataskModel, DeleteMetataskModel from module_admin.dao.metatask_dao import MetataskDao from utils.page_util import PageResponseModel -# from module_admin.entity.vo.dataSource_vo import DataSource,Datasouceall,AlertGroups,Environment,WorkerGroup,ProcessDefinition,ParmScheduleVo,ParmSchedule,ProcessInstancePage from module_admin.entity.vo.dataSource_vo import * from module_admin.entity.vo.metaprocessconfig_vo import MetaprocessconfigQueryModel,MetaprocessconfigModel from config.constant import CommonConstant @@ -1245,10 +1244,27 @@ class MetataskService: async def ds_metatask_services( cls, request: Request, query_db: AsyncSession, process: ParmScheduleVo,current_user: CurrentUserModel ): - - parm =ParmSchedule( + projectCode = await request.app.state.redis.get(f'{RedisInitKeyConfig.SYS_CONFIG.key}:sys.ds.projectcode') + # 先查询是否建立定时任务 + getdsurl=f'{AppConfig.ds_server_url}/dolphinscheduler/projects/'+projectCode+'/schedules?pageSize=10&pageNo=1&processDefinitionCode='+str(process.processDefinitionCode) + headers = {'dashUserName': current_user.user.user_name, 'dashPassword': current_user.user.password, 'Content-Type': 'application/x-www-form-urlencoded'} + getdsresponse = requests.get(getdsurl, headers=headers, verify=False) + getdstext= getdsresponse.text + responsJson = json.loads(getdstext) + if responsJson['msg'] == 'success': + if responsJson['data']['total']>0: + # getds_json_list = json.dumps(responsJson['data']['totalList'], ensure_ascii=False, indent=4) + getds_json_list = responsJson['data']['totalList'] + for item in getds_json_list: + if item['releaseState']=='ONLINE': + # 先下线在删除 + offdsurl=f"{AppConfig.ds_server_url}/dolphinscheduler/projects/{projectCode}/schedules/{item['id']}/offline" + offresponse = requests.post(offdsurl, headers=headers, verify=False) + # 删除对应的调度 + deldsurl=f"{AppConfig.ds_server_url}/dolphinscheduler/projects/{projectCode}/schedules/{item['id']}?scheduleId={item['id']}" + delresponse = requests.delete(deldsurl, headers=headers, verify=False) - ) + parm =ParmSchedule() parm.failureStrategy='CONTINUE' parm.warningType='NONE' parm.warningGroupId=process.warningGroupId @@ -1261,18 +1277,17 @@ class MetataskService: '", "endTime":"' + process.endTime.strftime('%Y-%m-%d %H:%M:%S') + '", "crontab":"' + process.crontab + '", "timezoneId":"Asia/Shanghai"}') - projectCode = await request.app.state.redis.get(f'{RedisInitKeyConfig.SYS_CONFIG.key}:sys.ds.projectcode') url=f'{AppConfig.ds_server_url}/dolphinscheduler/projects/'+projectCode+'/schedules' - headers = {'dashUserName': current_user.user.user_name, 'dashPassword': current_user.user.password, 'Content-Type': 'application/x-www-form-urlencoded'} # form_data = {key: str(value) for key, value in process.__dict__.items()} form_data = {key: value for key, value in parm.__dict__.items()} - response = requests.post(url, headers=headers, data=form_data, verify=False) text= response.text responsJson = json.loads(text) - if responsJson['success'] is True: - return "运行成功!" - + if responsJson['msg'] == 'success': + scheduleId= responsJson['data']['id'] + ondsurl=f"{AppConfig.ds_server_url}/dolphinscheduler/projects/{projectCode}/schedules/{scheduleId}/online" + ondsurl = requests.post(ondsurl, headers=headers, verify=False) + return "调度运行成功!" else: raise ServiceException(message='运行失败!') diff --git a/vue-fastapi-frontend/src/views/meta/metatask/dsDialog.vue b/vue-fastapi-frontend/src/views/meta/metatask/dsDialog.vue index f0b63a9..62cc9f7 100644 --- a/vue-fastapi-frontend/src/views/meta/metatask/dsDialog.vue +++ b/vue-fastapi-frontend/src/views/meta/metatask/dsDialog.vue @@ -114,6 +114,7 @@ import { ref, reactive, watch } from "vue"; import { dsmetatask } from "@/api/meta/metatask"; import Crontab from '@/components/Crontab' +import { ElMessage } from 'element-plus' export default { components: { Crontab }, @@ -165,7 +166,12 @@ export default { dsmetatask(addDateRange(form, dateRange.value)).then((response) => { if (response.success) { visible.value = false; - this.$modal.msgSuccess("运行成功"); + console.log(response.msg) + ElMessage({ + message: response.msg, + type: 'success', + }) + } }); }; diff --git a/vue-fastapi-frontend/src/views/meta/metatask/runDialog.vue b/vue-fastapi-frontend/src/views/meta/metatask/runDialog.vue index a97c520..6fd0748 100644 --- a/vue-fastapi-frontend/src/views/meta/metatask/runDialog.vue +++ b/vue-fastapi-frontend/src/views/meta/metatask/runDialog.vue @@ -64,6 +64,7 @@