Browse Source

元数据页面优化

master
xueyinfei 1 week ago
parent
commit
9be39c13e8
  1. 54
      vue-fastapi-backend/module_admin/controller/data_ast_info_controller.py
  2. 14
      vue-fastapi-backend/module_admin/dao/data_asset_dao.py
  3. 15
      vue-fastapi-backend/module_admin/service/meta_service.py
  4. 1
      vue-fastapi-frontend/src/assets/icons/svg/assets.svg
  5. 9
      vue-fastapi-frontend/src/views/meta/metaInfo/index.vue

54
vue-fastapi-backend/module_admin/controller/data_ast_info_controller.py

@ -1,54 +0,0 @@
# # data_ast_content_controller.py
# from fastapi import APIRouter, Depends, Request
# from pydantic_validation_decorator import ValidateFields
# from sqlalchemy.ext.asyncio import AsyncSession
# from config.get_db import get_db
# from module_admin.aspect.interface_auth import CheckUserInterfaceAuth
# from module_admin.service.login_service import LoginService
# from module_admin.service.data_ast_content_service import DataAstInfoService
# from module_admin.entity.vo.data_ast_content_vo import DataAstInfoRequest, DataAstInfoResponse, DataAstInfoPageQueryModel
# from module_admin.entity.vo.user_vo import CurrentUserModel
# from utils.response_util import ResponseUtil
# dataAstInfoController = APIRouter(prefix='/system/data_ast_info', dependencies=[Depends(LoginService.get_current_user)])
# @dataAstInfoController.post('', dependencies=[Depends(CheckUserInterfaceAuth('system:data_ast_info:add'))])
# @ValidateFields(validate_model='add_data_ast_info')
# async def add_data_ast_info(
# request: Request,
# add_data_ast_info: DataAstInfoRequest,
# query_db: AsyncSession = Depends(get_db),
# current_user: CurrentUserModel = Depends(LoginService.get_current_user),
# ):
# add_result = await DataAstInfoService.add_data_ast_info_services(query_db, add_data_ast_info)
# logger.info(add_result.message)
# return ResponseUtil.success(
# msg=add_result.message,
# data=add_result.data
# )
# @dataAstInfoController.post('/batch', dependencies=[Depends(CheckUserInterfaceAuth('system:data_ast_info:add'))])
# @ValidateFields(validate_model='add_data_ast_info_batch')
# async def add_data_ast_info_batch(
# request: Request,
# add_data_ast_info_list: List[DataAstInfoRequest],
# query_db: AsyncSession = Depends(get_db),
# current_user: CurrentUserModel = Depends(LoginService.get_current_user),
# ):
# add_result = await DataAstInfoService.add_data_ast_info_batch_services(query_db, add_data_ast_info_list)
# logger.info(add_result.message)
# return ResponseUtil.success(
# msg=add_result.message,
# data=add_result.data
# )
# @dataAstInfoController.get('/list', dependencies=[Depends(CheckUserInterfaceAuth('system:data_ast_info:list'))])
# async def get_data_ast_info_list(
# request: Request,
# data_ast_info_page_query: DataAstInfoPageQueryModel = Depends(DataAstInfoPageQueryModel.as_query),
# query_db: AsyncSession = Depends(get_db),
# current_user: CurrentUserModel = Depends(LoginService.get_current_user),
# ):
# data_ast_info_list_result = await DataAstInfoService.get_data_ast_info_list_services(query_db, data_ast_info_page_query, is_page=True)
# logger.info('获取成功')
# return ResponseUtil.success(model_content=data_ast_info_list_result)

14
vue-fastapi-backend/module_admin/dao/data_asset_dao.py

@ -74,6 +74,20 @@ class DataAssetDao:
).scalars().first()
return data_asset
@classmethod
async def get_data_asset_appr_by_ast_no(cls, db: AsyncSession, ast_no: str):
"""
根据资产编号获取数据资产信息
:param db: orm对象
:param ast_no: 资产编号
:return: 数据资产信息对象
"""
data_asset = (
await db.execute(select(DataAssetInfoAppr).where(DataAssetInfoAppr.ast_no == ast_no))
).scalars().first()
return data_asset
@classmethod
async def insert_data_asset(cls, db: AsyncSession, data_asset: Dict[str, Any]):
"""

15
vue-fastapi-backend/module_admin/service/meta_service.py

@ -9,6 +9,7 @@ from module_admin.entity.vo.meta_vo import MetaPageObject, MetaColObject, Supple
from module_admin.entity.do.meta_do import MetadataSuppInfo, MetadataFldSuppInfo, MetadataSuppInfoVett, \
MetadataFldSuppInfoVett, MetadataExtractInfo, MetadataFldTabExtractInfo
from module_admin.dao.meta_dao import MetaDao
from module_admin.dao.data_asset_dao import DataAssetDao
from module_admin.dao.datastd_dao import DataStdDao
from module_admin.dao.user_dao import UserDao
from datetime import datetime
@ -49,6 +50,14 @@ class MetaService:
for table in meta_rel_list.rows:
tab_list = await MetaDao.get_meta_tab_clas(result_db, table['ssysId'], table['mdlName'],
table['tabEngName'])
hasAsset = await DataAssetDao.get_data_asset_by_ast_no(result_db, table['extractOnum'])
table['hasAsset'] = '0' # 未发布
if hasAsset:
table['hasAsset'] = '1' # 已发布
else:
hasAsset2 = await DataAssetDao.get_data_asset_appr_by_ast_no(result_db, table['extractOnum'])
if hasAsset2:
table['hasAsset'] = '2' # 发布中
table['batchTabClas'] = CamelCaseUtil.transform_result(tab_list)
return meta_rel_list
else:
@ -328,7 +337,8 @@ class MetaService:
'tab_eng_name': preNode['b_tab_eng_name'],
'fld_eng_name': preNode['b_fld_eng_name']},
"endArrow": True,
"relation_type": preNode['relation_type']} if preNode['father'] == 'A' else \
"relation_type": preNode['relation_type']} if preNode[
'father'] == 'A' else \
{"source": {'ssys_id': preNode['b_ssys_id'],
'mdl_name': preNode['b_mdl_name'],
'tab_eng_name': preNode['b_tab_eng_name'],
@ -537,7 +547,8 @@ class MetaService:
获取元数据导入模板service
:return: 元数据导入模板excel的二进制数据
"""
table_header_list = ['系统代码', '模式名称', '对象英文名', '补录对象名称', '补录对象描述', '对象治理标志', '负责人']
table_header_list = ['系统代码', '模式名称', '对象英文名', '补录对象名称', '补录对象描述', '对象治理标志',
'负责人']
column_header_list = ['系统代码', '模式名称', '对象英文名', '字段英文名', '字段补录名', '补录主键',
'补录字段描述', '引用字典/标准', '安全等级']
selector_header_list = ['补录主键', '安全等级']

1
vue-fastapi-frontend/src/assets/icons/svg/assets.svg

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="199.61px" viewBox="0 0 1026 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M909.312 237.568H569.344c0-86.016-102.4-176.128-227.328-176.128h-114.688C102.4 61.44 0 155.648 0 237.568v628.736c0 61.44 51.2 112.64 114.688 112.64h796.672c61.44 0 114.688-51.2 114.688-112.64V356.352c-2.048-61.44-53.248-118.784-116.736-118.784zM227.328 118.784h114.688c94.208 0 169.984 61.44 169.984 120.832H57.344c0-47.104 75.776-120.832 169.984-120.832z m739.328 743.424c0 30.72-24.576 61.44-57.344 61.44H114.688c-30.72 0-57.344-30.72-57.344-61.44V294.912h854.016c30.72 0 57.344 24.576 57.344 57.344v509.952z m0 0M681.984 667.648h-141.312v-112.64h141.312c16.384 0 28.672-12.288 28.672-28.672 0-16.384-12.288-28.672-28.672-28.672h-104.448l88.064-88.064c10.24-10.24 10.24-28.672 0-40.96-10.24-10.24-28.672-10.24-40.96 0L512 483.328 397.312 368.64c-10.24-10.24-28.672-10.24-40.96 0-12.288 10.24-10.24 28.672 0 40.96l90.112 90.112h-106.496c-16.384 0-28.672 12.288-28.672 28.672 0 14.336 12.288 28.672 28.672 28.672h141.312v112.64h-141.312c-16.384 0-28.672 12.288-28.672 28.672 0 14.336 12.288 28.672 28.672 28.672h141.312v108.544c0 16.384 12.288 28.672 28.672 28.672 16.384 0 28.672-12.288 28.672-28.672v-108.544h141.312c16.384 0 28.672-12.288 28.672-28.672 2.048-18.432-10.24-30.72-26.624-30.72z m0 0" /></svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

9
vue-fastapi-frontend/src/views/meta/metaInfo/index.vue

@ -124,7 +124,14 @@
@select="handleSelection"
@select-all="handleSelectionAll"
>
<el-table-column type="selection" width="50" align="center" />
<el-table-column type="selection" width="50" align="center" :selectable="row => row.hasAsset === '0'"/>
<el-table-column width="50" align="center" prop="hasAsset">
<template #default="scope">
<svg-icon v-if="scope.row.hasAsset === '1'" icon-class="assets" style="color: #00bb00;width: 20px;height: 20px"/>
<svg-icon v-if="scope.row.hasAsset === '2'" icon-class="assets" style="width: 20px;height: 20px"/>
<span v-else></span>
</template>
</el-table-column>
<el-table-column label="系统英文名" width="100" align="center" prop="ssysCd"></el-table-column>
<el-table-column label="模式名称" align="center" prop="mdlName"></el-table-column>
<el-table-column label="对象英文名" width="170" align="center" prop="tabEngName" >

Loading…
Cancel
Save