diff --git a/vue-fastapi-backend/module_admin/dao/datastd_dao.py b/vue-fastapi-backend/module_admin/dao/datastd_dao.py index 859aebb..b0519f7 100644 --- a/vue-fastapi-backend/module_admin/dao/datastd_dao.py +++ b/vue-fastapi-backend/module_admin/dao/datastd_dao.py @@ -246,6 +246,40 @@ class DataStdDao: db, query, query_object.page_num, query_object.page_size, is_page ) return col_list + @classmethod + async def get_std_dict_map_list(cls, db: AsyncSession, query_object: DataStdDictModel, is_page: bool = False): + # 构建查询条件 + filters = [] + # 系统级代码 + c1 = aliased(DataStdDict) # + c2 = aliased(MetadataFldSuppInfo) # + + filters.append(c1.onum == query_object.onum) + + # 3. 构建基础查询,使用连接和别名 + query = ( + select( + c1.data_dict_no.label("data_dict_no"), # 字典编号 + c1.data_dict_cn_name.label("data_dict_cn_name"), # 字典中文名 + c1.data_dict_eng_name.label("data_dict_eng_name"), # 字典英文名称 + c2.mdl_name.label("mdl_name"), # 元数据模式 + c2.ssys_cd.label("ssys_cd"), # 元数据表名 + c2.tab_eng_name.label("tab_eng_name"), # 元数据表名 + c2.fld_eng_name.label("fld_eng_name"), # 元数据字段 + c2.fld_crrct_name.label("fld_crrct_name"), # 元数据字段中文名 + + ) + .select_from(c1) # 从 c1 开始查询 + .join(c2, c1.onum == c2.data_dict_id, isouter=True) # 连接 c2 + + .where(*filters) # 使用所有过滤条件 + .order_by(desc(c1.create_time)) # 按照创建时间降序排列 + ) + # 4. 分页逻辑 + col_list = await PageUtil.paginate( + db, query, query_object.page_num, query_object.page_size, is_page + ) + return col_list @classmethod async def get_data_code_list_by_info(cls, db: AsyncSession, query_object: DataStdCodeModel): diff --git a/vue-fastapi-frontend/src/views/datastd/stddict/index.vue b/vue-fastapi-frontend/src/views/datastd/stddict/index.vue index 1c3b9a2..1205ec9 100644 --- a/vue-fastapi-frontend/src/views/datastd/stddict/index.vue +++ b/vue-fastapi-frontend/src/views/datastd/stddict/index.vue @@ -155,12 +155,19 @@ align="center" prop="dataDictCnName" /> - + + + +