diff --git a/vue-fastapi-backend/module_admin/dao/datastd_dao.py b/vue-fastapi-backend/module_admin/dao/datastd_dao.py
index 7a21c2b..42642bf 100644
--- a/vue-fastapi-backend/module_admin/dao/datastd_dao.py
+++ b/vue-fastapi-backend/module_admin/dao/datastd_dao.py
@@ -25,58 +25,7 @@ class DataStdDao:
filters.append(DataStdCodeAppr.flowId == flowId)
query = select(DataStdCodeAppr).where(*filters).order_by(desc(DataStdCodeAppr.create_time))
return await PageUtil.paginate(db, query, 0, 0, False)
- # @classmethod
- # async def get_std_code_list(cls, db: AsyncSession, query_object: DataStdCodeModel, is_page: bool = False):
- # """
- # 获取 DataStdCode 的列表信息,支持模糊查询和分页
- # :param db: ORM对象
- # :param query_object: 查询参数对象
- # :param is_page: 是否开启分页
- # :return: 列表信息
- # """
- # # 构建查询条件
- # filters = []
- # if query_object.cd_val_cn_mean:
- # filters.append(DataStdCode.cd_val_cn_mean.like(f"%{query_object.cd_val_cn_mean}%"))
- # if query_object.cd_no:
- # filters.append( or_(
- # DataStdCode.cd_val_cn_mean.like(f"%{query_object.cd_no}%"),
- # DataStdCode.cd_no.like(f"%{query_object.cd_no}%")
- # ))
- # if query_object.cd_val_stat:
- # filters.append(DataStdCode.cd_val_stat==query_object.cd_val_stat)
- # if query_object.src_sys:
- # filters.append(DataStdCode.src_sys==query_object.src_sys)
- # if query_object.cd_type:
- # filters.append(DataStdCode.cd_type==query_object.cd_type)
-
- # if query_object.class_id:
- # filters.append(DataStdCode.class_id==query_object.class_id)
- # if query_object.class_id=='codeItem' and not query_object.parent_id:
- # filters.append(1==2)
- # if query_object.parent_id:
- # filters.append(DataStdCode.parent_id==query_object.parent_id)
- # # 构建查询语句
- # # query = (
- # # select(DataStdCode)
- # # .where(*filters)
- # # .order_by(desc(DataStdCode.create_time)) # 按创建时间降序排序
- # # )
- # alias_map = aliased(DataStdCode)
- # query = (
- # select(
- # DataStdCode,
- # alias_map.cd_val_cn_mean.label("code_map_cn")
- # )
- # .outerjoin(alias_map, DataStdCode.code_map_id == alias_map.onum)
- # .where(*filters)
- # .order_by(desc(DataStdCode.create_time))
- # )
- # # 分页处理
- # col_list = await PageUtil.paginate(
- # db, query, query_object.page_num, query_object.page_size, is_page
- # )
- # return col_list
+
@classmethod
async def get_std_code_list(cls, db: AsyncSession, query_object: DataStdCodeModel, is_page: bool = False):
"""
@@ -363,8 +312,7 @@ class DataStdDao:
filters.append(DataStdDict.data_dict_data_type == query_object.data_dict_data_type)
if query_object.data_dict_stat:
filters.append(DataStdDict.data_dict_stat == query_object.data_dict_stat)
- c1 = aliased(SysDept) # 技术部门
- c2 = aliased(SysDept) # 业务部门
+ c1 = aliased(DataStdDict) # 技术部门
# 构建查询语句
query = (
select(DataStdDict.onum,
@@ -382,12 +330,20 @@ class DataStdDao:
DataStdDict.data_dict_busi_mean,
DataStdDict.data_dict_data_type,
DataStdDict.data_std_no,
- DataStdDict.data_dict_stat
- ).select_from(DataStdDict)
+ DataStdDict.data_dict_stat,
+ DataStdMain.data_std_it_ownership_dept.label("data_std_it_ownership_dept") ,
+ DataStdMain.data_std_busi_ownership_dept.label("data_std_busi_ownership_dept") ,
+ DataStdMain.data_std_it_ownership_prsn.label("data_std_it_ownership_prsn") ,
+ DataStdMain.data_std_busi_ownership_prsn.label("data_std_busi_ownership_prsn")
+
+ )
+ .outerjoin( # 使用left outer join确保即使没有关联code也能返回主表数据
+ DataStdDict,
+ DataStdMain.data_std_no == DataStdDict.data_std_no
+ )
.where(*filters)
.order_by(desc(DataStdDict.create_time)) # 按创建时间降序排序
)
-
# 分页处理
col_list = await PageUtil.paginate(
db, query, query_object.page_num, query_object.page_size, is_page
@@ -831,7 +787,40 @@ class DataStdDao:
if query_object.belt_data_std_content:
filters.append(DataStdMain.belt_data_std_content == query_object.belt_data_std_content)
- query = select(DataStdMain).where(*filters).order_by(desc(DataStdMain.create_time))
+ query = (
+ select(
+ DataStdMain.onum,
+ DataStdMain.create_by,
+ DataStdMain.create_time,
+ DataStdMain.upd_prsn,
+ DataStdMain.upd_time,
+ DataStdMain.data_std_no,
+ DataStdMain.data_std_eng_name,
+ DataStdMain.data_std_cn_name,
+ DataStdMain.data_std_type,
+ DataStdMain.securityLevel,
+ DataStdMain.src_sys,
+ DataStdMain.data_std_vest,
+ DataStdMain.data_std_busi_defn,
+ DataStdMain.cd_id,
+ DataStdMain.std_status,
+ DataStdMain.data_std_busi_ownership_dept,
+ DataStdMain.data_std_it_ownership_dept,
+ DataStdMain.data_std_busi_ownership_prsn,
+ DataStdMain.data_std_it_ownership_prsn,
+ DataStdMain.belt_data_std_content,
+ DataStdMain.data_std_src,
+ DataStdMain.data_clas,
+ DataStdMain.typical_fld,
+ DataStdCode.cd_no.label("cd_no") # 关联查询的cd_no
+ )
+ .outerjoin( # 使用left outer join确保即使没有关联code也能返回主表数据
+ DataStdCode,
+ DataStdMain.cd_id == DataStdCode.onum
+ )
+ .where(*filters)
+ .order_by(desc(DataStdMain.create_time))
+ )
return await PageUtil.paginate(db, query, query_object.page_num, query_object.page_size, is_page)
@classmethod
async def get_std_main_list_all(cls, db: AsyncSession, query_object: DataStdMainModel):
@@ -849,7 +838,40 @@ class DataStdDao:
filters.append(DataStdMain.data_std_type == query_object.data_std_type)
if query_object.std_status:
filters.append(DataStdMain.std_status == query_object.std_status)
- query = select(DataStdMain).where(*filters).order_by(desc(DataStdMain.create_time))
+ query = (
+ select(
+ DataStdMain.onum,
+ DataStdMain.create_by,
+ DataStdMain.create_time,
+ DataStdMain.upd_prsn,
+ DataStdMain.upd_time,
+ DataStdMain.data_std_no,
+ DataStdMain.data_std_eng_name,
+ DataStdMain.data_std_cn_name,
+ DataStdMain.data_std_type,
+ DataStdMain.securityLevel,
+ DataStdMain.src_sys,
+ DataStdMain.data_std_vest,
+ DataStdMain.data_std_busi_defn,
+ DataStdMain.cd_id,
+ DataStdMain.std_status,
+ DataStdMain.data_std_busi_ownership_dept,
+ DataStdMain.data_std_it_ownership_dept,
+ DataStdMain.data_std_busi_ownership_prsn,
+ DataStdMain.data_std_it_ownership_prsn,
+ DataStdMain.belt_data_std_content,
+ DataStdMain.data_std_src,
+ DataStdMain.data_clas,
+ DataStdMain.typical_fld,
+ DataStdCode.cd_no.label("cd_no") # 关联查询的cd_no
+ )
+ .outerjoin( # 使用left outer join确保即使没有关联code也能返回主表数据
+ DataStdCode,
+ DataStdMain.cd_id == DataStdCode.onum
+ )
+ .where(*filters)
+ .order_by(desc(DataStdMain.create_time))
+ )
return await PageUtil.paginate(db, query, 0, 0, False)
@classmethod
async def add_std_main(cls, db: AsyncSession, model: DataStdMainModel):
diff --git a/vue-fastapi-backend/module_admin/entity/vo/datastd_vo.py b/vue-fastapi-backend/module_admin/entity/vo/datastd_vo.py
index 9e7f8a7..f0a4312 100644
--- a/vue-fastapi-backend/module_admin/entity/vo/datastd_vo.py
+++ b/vue-fastapi-backend/module_admin/entity/vo/datastd_vo.py
@@ -108,15 +108,14 @@ class DataStdMainModel(BaseModel):
data_std_cn_name: Optional[str] = Field(default=None, description='标准中文名')
data_std_type: Optional[str] = Field(default=None, description='标准类型(0:基础数据 1:指标数据)')
securityLevel: Optional[str] = Field(default=None, description='安全等级')
- src_sys: Optional[str] = Field(default=None, description='归属系统')
+ src_sys: Optional[int] = Field(default=None, description='归属系统')
data_std_busi_defn: Optional[str] = Field(default=None, description='标准业务定义')
- cd_no: Optional[str] = Field(default=None, description='代码编号')
cd_id: Optional[str] = Field(default=None, description='代码id')
std_status: Optional[str] = Field(default=None, description='标准状态(1:有效 0:无效)')
data_std_busi_ownership_dept: Optional[str] = Field(default=None, description='业务认责部门')
data_std_it_ownership_dept: Optional[str] = Field(default=None, description='技术认责部门')
- buss_user: Optional[str] = Field(default=None, description='业务认责人员')
- tech_user: Optional[str] = Field(default=None, description='技术认责人员')
+ data_std_busi_ownership_prsn: Optional[str] = Field(default=None, description='业务认责人员')
+ data_std_it_ownership_prsn: Optional[str] = Field(default=None, description='技术认责人员')
belt_data_std_content: Optional[int] = Field(default=None, description='分类')
data_std_src: Optional[str] = Field(default=None, description='标准来源')
data_clas: Optional[str] = Field(default=None, description='数据类别')
diff --git a/vue-fastapi-backend/module_admin/service/datastd_service.py b/vue-fastapi-backend/module_admin/service/datastd_service.py
index a3c76b7..ba725c6 100644
--- a/vue-fastapi-backend/module_admin/service/datastd_service.py
+++ b/vue-fastapi-backend/module_admin/service/datastd_service.py
@@ -838,7 +838,7 @@ class DataStdService:
raise ServiceException(message=f"创建目录时发生错误: {str(e)}")
@classmethod
- async def edit_catalog_leaf_services(cls, query_db: AsyncSession,belt_data_std_content : int, leaf_node_flag : int):
+ async def edit_catalog_leaf_services(cls, query_db: AsyncSession,content_onum : int, leaf_node_flag : int):
"""
编辑数据目录信息service
@@ -847,7 +847,7 @@ class DataStdService:
:return: 编辑目录操作结果
"""
catalog_data1 = {
- 'belt_data_std_content': belt_data_std_content,
+ 'content_onum': content_onum,
'leaf_node_flag': leaf_node_flag
}
try:
@@ -870,7 +870,7 @@ class DataStdService:
"""
catalog_data = {
- 'belt_data_std_content': request.belt_data_std_content,
+ 'content_onum': request.content_onum,
'content_name': request.content_name,
'content_stat': request.content_stat,
'content_intr': request.content_intr,
@@ -973,7 +973,7 @@ class DataStdService:
"""
moved_catalog_data = {
- 'belt_data_std_content': request.belt_data_std_content,
+ 'content_onum': request.content_onum,
'supr_content_onum': request.supr_content_onum,
'supr_content_onum_after': request.supr_content_onum_after
}
@@ -998,7 +998,7 @@ class DataStdService:
"""
merge_catalog_data = {
- 'belt_data_std_content': request.belt_data_std_content,
+ 'content_onum': request.content_onum,
'supr_content_onum': request.supr_content_onum,
'content_onum_after': request.content_onum_after,
'supr_content_onum_after': request.supr_content_onum_after
@@ -1021,7 +1021,7 @@ class DataStdService:
removerel_catalog_data = {
'rela_onum': request.rela_onum,
- 'belt_data_std_content': request.belt_data_std_content,
+ 'content_onum': request.content_onum,
'ast_onum': request.ast_onum,
'rela_type': request.rela_type,
'rela_eff_begn_date': request.rela_eff_begn_date,
@@ -1050,7 +1050,7 @@ class DataStdService:
moverel_catalog_data = {
'rela_onum': request.rela_onum,
- 'belt_data_std_content': request.belt_data_std_content,
+ 'content_onum': request.content_onum,
'content_onum_after': request.content_onum_after
}
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 668258f..f993c7f 100644
--- a/vue-fastapi-frontend/src/views/datastd/main/components/AddEditForm.vue
+++ b/vue-fastapi-frontend/src/views/datastd/main/components/AddEditForm.vue
@@ -1,35 +1,81 @@
-
-
-
-
-
-
+
+
+
+
+
-
+
-
-
+
+
+
+
-
+
-
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
@@ -37,89 +83,109 @@
-
-
-
+
+
+
+
-
-
+ v-model="formData.srcSys"
+ :disabled="isShow"
+ placeholder="请选择来源系统"
+ @change="handleSystemChange"
+ >
+
+
+
-
-
-
-
-
+
+
+
+
+
-
+
+
-
-
+ v-model="formData.cdNo"
+ placeholder="代码编号"
+ clearable
+ style="width: 80%;"
+ :disabled="true"
+ />
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
+ v-for="dict in userList"
+ :key="dict.id"
+ :label="dict.userName"
+ :value="dict.userName"
+ />
+
+
+
+
+
+
+
+
+
-
-
+ v-for="dict in userList"
+ :key="dict.id"
+ :label="dict.userName"
+ :value="dict.userName"
+ />
+
+
-
-
+
取消
@@ -127,155 +193,152 @@
保存
-
-
-
-
-
-
- 取消
- 确定
+
+
+
+
+ 取消
+ 确定
+
+// 关闭弹窗
+const handleClose = () => {
+ proxy.$refs.formRef.resetFields()
+ visible.value = false
+}
+
+// 初始化
+initData()
+
\ No newline at end of file
diff --git a/vue-fastapi-frontend/src/views/datastd/main/index.vue b/vue-fastapi-frontend/src/views/datastd/main/index.vue
index 648949b..8bf169d 100644
--- a/vue-fastapi-frontend/src/views/datastd/main/index.vue
+++ b/vue-fastapi-frontend/src/views/datastd/main/index.vue
@@ -259,9 +259,17 @@
+
-
-
+
+
+
+ {{
+ getSrcSysName(scope.row.srcSys)
+ }}
+
+
+
@@ -410,6 +418,10 @@ const queryParams = ref({
pageNum: 1,
pageSize: 10,
});
+const getSrcSysName = (id) => {
+ const match = dbResourceOldList.value.find(item => item.id === id);
+ return match ? match.name : id;
+};
const single = ref(true);
const multiple = ref(true);
const dialogVisible = ref(false);
@@ -430,7 +442,7 @@ const handlePagination = (pageNum, pageSize) => {
};
// 点击代码名称,弹出第二个对话框并传递数据
const handleCodeClick = (row) => {
- codeId.value=row.codeId
+ codeId.value=row.cdId
codeVisible.value = true;
};
@@ -505,18 +517,29 @@ const dbResourceOldList = ref([]);
const handleAdd = () => {
isEdit.value = false;
selectedRow.value = {
- dataStdType: "",
- dataStdNo: "",
- dataStdEngName: "",
- dataStdCnName: "",
- dataStdBusiDefn: "",
- dataType: "",
- dataStdBusiOwnershipDept: "",
- dataStdBusiOwnershipPrsn: "",
- dataStdItOwnershipDept: "",
- dataStdItOwnershipPrsn: "",
- securityLevel:"",
- sourceSystem:""
+ // 基础信息
+ onum: '',
+ dataStdNo: '',
+ dataStdCnName: '',
+ dataStdEngName: '',
+ dataStdType: '0',
+ dataStdBusiDefn: '',
+ dataStdSrc: '',
+ dataClas: '',
+ securityLevel: '1',
+ dataStdVest: '',
+ typicalFld: '',
+
+ // 系统关联
+ srcSys: null,
+ cdId: '',
+ cdNo: '',
+
+ // 责任信息
+ dataStdBusiOwnershipDept: '',
+ dataStdBusiOwnershipPrsn: '',
+ dataStdItOwnershipDept: '',
+ dataStdItOwnershipPrsn: '',
};
// 清空选中的数据
diff --git a/vue-fastapi-frontend/src/views/datastd/stddict/AddEditForm.vue b/vue-fastapi-frontend/src/views/datastd/stddict/AddEditForm.vue
index d8a40af..f9dd7f0 100644
--- a/vue-fastapi-frontend/src/views/datastd/stddict/AddEditForm.vue
+++ b/vue-fastapi-frontend/src/views/datastd/stddict/AddEditForm.vue
@@ -56,9 +56,9 @@
diff --git a/vue-fastapi-frontend/src/views/datastd/stddict/index.vue b/vue-fastapi-frontend/src/views/datastd/stddict/index.vue
index 1e91636..60f2428 100644
--- a/vue-fastapi-frontend/src/views/datastd/stddict/index.vue
+++ b/vue-fastapi-frontend/src/views/datastd/stddict/index.vue
@@ -142,7 +142,7 @@
@click="handleStdClick(row.dataStdNo)"
style="cursor: pointer"
>
- {{transIdtoCode(row.dataStdNo)}}
+ {{row.dataStdNo}}
@@ -170,7 +170,7 @@
label="技术认责部门"
width="120"
align="center"
- prop="dataStdItOwnershipPrsn"
+ prop="dataStdItOwnershipDept"
/>
{
return match ? "系统级:"+ match.name : id;
};
const dbResourceOptions = ref([]);
-const handleStdClick = (id) => {
+const handleStdClick = (code) => {
+ var id =transCodetoId(code)
getStdMain(id).then((response) => {
stdRow.value = response.data;
stdVisible.value = true;
@@ -300,9 +301,10 @@ const handlePagination = (pageNum, pageSize) => {
queryParams.value.pageSize = pageSize;
handleQuery();
};
-const transIdtoCode = (dataStdNo) => {
- const match = stdList.value.find(item => item.onum === dataStdNo);
- return match ? match.dataStdNo : '';
+
+const transCodetoId = (dataStdNo) => {
+ const match = stdList.value.find(item => item.dataStdNo === dataStdNo);
+ return match ? match.onum : '';
};
const filterNode = (value, data) => {
if (!value) return true;