Browse Source

字段优化

master
si@aidatagov.com 3 weeks ago
parent
commit
a2bd049a25
  1. 80
      vue-fastapi-backend/module_admin/dao/datastd_dao.py
  2. 15
      vue-fastapi-backend/module_admin/entity/do/datastd_do.py
  3. 12
      vue-fastapi-backend/module_admin/entity/vo/datastd_vo.py
  4. 8
      vue-fastapi-backend/module_admin/service/datastd_service.py
  5. 16
      vue-fastapi-frontend/src/views/datastd/main/components/AddEditForm.vue
  6. 14
      vue-fastapi-frontend/src/views/datastd/main/index.vue
  7. 8
      vue-fastapi-frontend/src/views/datastd/stdcode/codeStdMap.vue
  8. 77
      vue-fastapi-frontend/src/views/datastd/stddict/AddEditForm.vue
  9. 92
      vue-fastapi-frontend/src/views/datastd/stddict/index.vue
  10. 100
      vue-fastapi-frontend/src/views/system/flow/dataStdDictAppr.vue
  11. 20
      vue-fastapi-frontend/src/views/system/flow/dataStdMainAppr.vue

80
vue-fastapi-backend/module_admin/dao/datastd_dao.py

@ -359,8 +359,8 @@ class DataStdDao:
filters.append(DataStdDict.data_dict_vest == query_object.data_dict_vest) filters.append(DataStdDict.data_dict_vest == query_object.data_dict_vest)
if query_object.src_sys: if query_object.src_sys:
filters.append(DataStdDict.src_sys == query_object.src_sys) filters.append(DataStdDict.src_sys == query_object.src_sys)
if query_object.data_dict_type: if query_object.data_dict_data_type:
filters.append(DataStdDict.data_dict_type == query_object.data_dict_type) filters.append(DataStdDict.data_dict_data_type == query_object.data_dict_data_type)
if query_object.data_dict_stat: if query_object.data_dict_stat:
filters.append(DataStdDict.data_dict_stat == query_object.data_dict_stat) filters.append(DataStdDict.data_dict_stat == query_object.data_dict_stat)
c1 = aliased(SysDept) # 技术部门 c1 = aliased(SysDept) # 技术部门
@ -376,22 +376,14 @@ class DataStdDao:
DataStdDict.data_dict_eng_name, DataStdDict.data_dict_eng_name,
DataStdDict.data_dict_cn_name, DataStdDict.data_dict_cn_name,
DataStdDict.data_dict_vest, DataStdDict.data_dict_vest,
DataStdDict.data_dict_type, DataStdDict.data_dict_data_type,
DataStdDict.src_sys, DataStdDict.src_sys,
DataStdDict.src_sys, DataStdDict.src_sys,
DataStdDict.data_dict_busi_mean, DataStdDict.data_dict_busi_mean,
DataStdDict.data_dict_data_type, DataStdDict.data_dict_data_type,
DataStdDict.data_std_no, DataStdDict.data_std_no,
DataStdDict.data_std_cn_name, DataStdDict.data_dict_stat
DataStdDict.data_dict_stat, ).select_from(DataStdDict)
DataStdDict.data_std_busi_ownership_dept,
DataStdDict.data_std_it_ownership_dept,
DataStdDict.buss_user,
DataStdDict.tech_user,
c1.dept_name.label("tech_dept_name"),
c2.dept_name.label("buss_dept_name")).select_from(DataStdDict)
.join(c1,c1.dept_id ==DataStdDict.data_std_it_ownership_dept, isouter=True)
.join(c2,c2.dept_id ==DataStdDict.data_std_busi_ownership_dept, isouter=True)
.where(*filters) .where(*filters)
.order_by(desc(DataStdDict.create_time)) # 按创建时间降序排序 .order_by(desc(DataStdDict.create_time)) # 按创建时间降序排序
) )
@ -447,7 +439,7 @@ class DataStdDao:
DataStdDict.data_dict_stat == query_object.data_dict_stat if query_object.data_dict_stat else True, DataStdDict.data_dict_stat == query_object.data_dict_stat if query_object.data_dict_stat else True,
DataStdDict.data_std_no == query_object.data_std_no if query_object.data_std_no else True, DataStdDict.data_std_no == query_object.data_std_no if query_object.data_std_no else True,
DataStdDict.src_sys == query_object.src_sys if query_object.src_sys else True, DataStdDict.src_sys == query_object.src_sys if query_object.src_sys else True,
DataStdDict.data_dict_type == query_object.data_dict_type if query_object.data_dict_type else True, DataStdDict.data_dict_data_type == query_object.data_dict_data_type if query_object.data_dict_data_type else True,
) )
) )
).scalars().first() ).scalars().first()
@ -455,16 +447,16 @@ class DataStdDao:
# 数据标准目录 # 数据标准目录
@classmethod @classmethod
async def get_catalog_by_id(cls, db: AsyncSession, belt_data_std_content: int): async def get_catalog_by_id(cls, db: AsyncSession, content_onum: int):
""" """
根据目录ID获取目录详细信息 根据目录ID获取目录详细信息
:param db: orm对象 :param db: orm对象
:param belt_data_std_content: 目录ID :param content_onum: 目录ID
:return: 目录信息对象 :return: 目录信息对象
""" """
catalog_info = ( catalog_info = (
(await db.execute(select(DataAstContent).where(DataAstContent.belt_data_std_content == belt_data_std_content , DataAstContent.content_stat == 1))) (await db.execute(select(DataAstContent).where(DataAstContent.content_onum == content_onum , DataAstContent.content_stat == 1)))
.scalars() .scalars()
.first() .first()
) )
@ -505,7 +497,7 @@ class DataStdDao:
# 创建别名对象 # 创建别名对象
t2 = aliased(DataAstContent, name='t2') # 正确使用aliased创建别名 t2 = aliased(DataAstContent, name='t2') # 正确使用aliased创建别名
subquery = ( subquery = (
select(DataAstContent.belt_data_std_content) select(DataAstContent.content_onum)
.where( .where(
DataAstContent.content_stat == '1', DataAstContent.content_stat == '1',
DataAstContent.leaf_node_flag == 0, DataAstContent.leaf_node_flag == 0,
@ -513,7 +505,7 @@ class DataStdDao:
select(1) select(1)
.select_from(t2) # 使用别名后的表 .select_from(t2) # 使用别名后的表
.where( .where(
t2.supr_content_onum == DataAstContent.belt_data_std_content, t2.supr_content_onum == DataAstContent.content_onum,
t2.content_stat == '1' t2.content_stat == '1'
) )
.exists() # 添加exists()方法 .exists() # 添加exists()方法
@ -523,7 +515,7 @@ class DataStdDao:
stmt = ( stmt = (
update(DataAstContent) update(DataAstContent)
.where(DataAstContent.belt_data_std_content.in_(subquery)) .where(DataAstContent.content_onum.in_(subquery))
.values(leaf_node_flag=1, upd_time=datetime.now()) .values(leaf_node_flag=1, upd_time=datetime.now())
) )
await db.execute(stmt) await db.execute(stmt)
@ -554,7 +546,7 @@ class DataStdDao:
# 创建 ORM 模型实例 # 创建 ORM 模型实例
processed_child = dict(child_dict) processed_child = dict(child_dict)
processed_child['belt_data_std_content'] = db_catalog.belt_data_std_content processed_child['content_onum'] = db_catalog.content_onum
db_child = DataAstContentRela(**processed_child) db_child = DataAstContentRela(**processed_child)
db.add(db_child) db.add(db_child)
@ -570,10 +562,10 @@ class DataStdDao:
:param catalog: 需要更新的目录字典 :param catalog: 需要更新的目录字典
:return: :return:
""" """
belt_data_std_content = catalog['belt_data_std_content'] content_onum = catalog['content_onum']
stmt = ( stmt = (
update(DataAstContent) update(DataAstContent)
.where(DataAstContent.belt_data_std_content == belt_data_std_content) .where(DataAstContent.content_onum == content_onum)
.values( .values(
leaf_node_flag=catalog['leaf_node_flag'] leaf_node_flag=catalog['leaf_node_flag']
) )
@ -589,11 +581,11 @@ class DataStdDao:
:param catalog: 需要更新的目录字典 :param catalog: 需要更新的目录字典
:return: :return:
""" """
belt_data_std_content = catalog['belt_data_std_content'] content_onum = catalog['content_onum']
stmt = ( stmt = (
update(DataAstContent) update(DataAstContent)
.where(DataAstContent.belt_data_std_content == belt_data_std_content) .where(DataAstContent.content_onum == content_onum)
.values( .values(
content_name=catalog['content_name'], content_name=catalog['content_name'],
content_stat=catalog['content_stat'], content_stat=catalog['content_stat'],
@ -615,7 +607,7 @@ class DataStdDao:
update(DataAstContentRela) update(DataAstContentRela)
.where(DataAstContentRela.rela_onum == rela_onum) .where(DataAstContentRela.rela_onum == rela_onum)
.values( .values(
belt_data_std_content=child.get('belt_data_std_content'), content_onum=child.get('content_onum'),
ast_onum=child.get('ast_onum'), ast_onum=child.get('ast_onum'),
rela_type=child.get('rela_type'), rela_type=child.get('rela_type'),
rela_eff_begn_date=child.get('rela_eff_begn_date'), rela_eff_begn_date=child.get('rela_eff_begn_date'),
@ -626,7 +618,7 @@ class DataStdDao:
await db.execute(st) await db.execute(st)
await cls.update_leaf_node_flag(db) await cls.update_leaf_node_flag(db)
else: else:
child['belt_data_std_content'] = belt_data_std_content child['content_onum'] = content_onum
db_child = DataAstContentRela(**child) db_child = DataAstContentRela(**child)
db.add(db_child) db.add(db_child)
await db.flush() await db.flush()
@ -645,7 +637,7 @@ class DataStdDao:
content_onums = catalog.content_onums.split(',') content_onums = catalog.content_onums.split(',')
await db.execute( await db.execute(
update(DataAstContentRela) update(DataAstContentRela)
.where(DataAstContentRela.belt_data_std_content.in_(content_onums)) .where(DataAstContentRela.content_onum.in_(content_onums))
.values( .values(
rela_status=0, rela_status=0,
rela_eff_end_date=datetime.now() rela_eff_end_date=datetime.now()
@ -653,7 +645,7 @@ class DataStdDao:
) )
await db.execute( await db.execute(
update(DataAstContent) update(DataAstContent)
.where(DataAstContent.belt_data_std_content.in_(content_onums)) .where(DataAstContent.content_onum.in_(content_onums))
.values( .values(
content_stat=0, content_stat=0,
upd_time=datetime.now() upd_time=datetime.now()
@ -672,11 +664,11 @@ class DataStdDao:
:param catalog: 需要更新的目录字典 :param catalog: 需要更新的目录字典
:return: :return:
""" """
# belt_data_std_content = moved_catalog_data['belt_data_std_content'] # content_onum = moved_catalog_data['content_onum']
stmt = ( stmt = (
update(DataAstContent) update(DataAstContent)
.where(DataAstContent.belt_data_std_content == moved_catalog_data['belt_data_std_content'] , DataAstContent.supr_content_onum == moved_catalog_data['supr_content_onum']) .where(DataAstContent.content_onum == moved_catalog_data['content_onum'] , DataAstContent.supr_content_onum == moved_catalog_data['supr_content_onum'])
.values( .values(
supr_content_onum=moved_catalog_data['supr_content_onum_after'], supr_content_onum=moved_catalog_data['supr_content_onum_after'],
upd_time=datetime.now() upd_time=datetime.now()
@ -697,9 +689,9 @@ class DataStdDao:
# stmt = ( # stmt = (
# update(DataAstContent) # update(DataAstContent)
# .where(DataAstContent.belt_data_std_content == merge_catalog_data['belt_data_std_content'] , DataAstContent.supr_content_onum == merge_catalog_data['supr_content_onum']) # .where(DataAstContent.content_onum == merge_catalog_data['content_onum'] , DataAstContent.supr_content_onum == merge_catalog_data['supr_content_onum'])
# .values( # .values(
# belt_data_std_content=merge_catalog_data['content_onum_after'], # content_onum=merge_catalog_data['content_onum_after'],
# supr_content_onum=merge_catalog_data['supr_content_onum_after'], # supr_content_onum=merge_catalog_data['supr_content_onum_after'],
# upd_time=datetime.now() # upd_time=datetime.now()
# ) ) # ) )
@ -707,9 +699,9 @@ class DataStdDao:
# await db.execute(stmt) # await db.execute(stmt)
stmt1 = ( stmt1 = (
update(DataAstContentRela) update(DataAstContentRela)
.where( DataAstContentRela.belt_data_std_content == merge_catalog_data['belt_data_std_content'] and DataAstContentRela.rela_status == 1 ) .where( DataAstContentRela.content_onum == merge_catalog_data['content_onum'] and DataAstContentRela.rela_status == 1 )
.values( .values(
belt_data_std_content=merge_catalog_data['content_onum_after'], content_onum=merge_catalog_data['content_onum_after'],
rela_eff_begn_date=datetime.now() rela_eff_begn_date=datetime.now()
) )
) )
@ -717,7 +709,7 @@ class DataStdDao:
stmt2 = ( stmt2 = (
update(DataAstContent) update(DataAstContent)
.where(DataAstContent.belt_data_std_content == merge_catalog_data['belt_data_std_content'] , DataAstContent.supr_content_onum == merge_catalog_data['supr_content_onum']) .where(DataAstContent.content_onum == merge_catalog_data['content_onum'] , DataAstContent.supr_content_onum == merge_catalog_data['supr_content_onum'])
.values( content_stat = '0' ) .values( content_stat = '0' )
) )
await db.execute(stmt2) await db.execute(stmt2)
@ -735,7 +727,7 @@ class DataStdDao:
stmt = ( stmt = (
update(DataAstContentRela) update(DataAstContentRela)
.where(DataAstContentRela.rela_onum == removerel_catalog_data['rela_onum'] , DataAstContentRela.belt_data_std_content == removerel_catalog_data['belt_data_std_content']) .where(DataAstContentRela.rela_onum == removerel_catalog_data['rela_onum'] , DataAstContentRela.content_onum == removerel_catalog_data['content_onum'])
.values( .values(
rela_status=removerel_catalog_data['rela_status'] rela_status=removerel_catalog_data['rela_status']
) ) ) )
@ -756,9 +748,9 @@ class DataStdDao:
stmt = ( stmt = (
update(DataAstContentRela) update(DataAstContentRela)
.where(DataAstContentRela.rela_onum == moverel_catalog_data['rela_onum'] , DataAstContentRela.belt_data_std_content == moverel_catalog_data['belt_data_std_content']) .where(DataAstContentRela.rela_onum == moverel_catalog_data['rela_onum'] , DataAstContentRela.content_onum == moverel_catalog_data['content_onum'])
.values( .values(
belt_data_std_content=moverel_catalog_data['content_onum_after'], content_onum=moverel_catalog_data['content_onum_after'],
rela_eff_end_date=datetime.now() rela_eff_end_date=datetime.now()
) ) ) )
@ -779,16 +771,16 @@ class DataStdDao:
# 修改子查询部分 # 修改子查询部分
subquery_t1 = ( subquery_t1 = (
select(DataAstContentRela) select(DataAstContentRela)
.where(DataAstContentRela.upd_prsn == query_object.upd_prsn, DataAstContentRela.belt_data_std_content == '2' and DataAstContentRela.rela_status == '1') .where(DataAstContentRela.upd_prsn == query_object.upd_prsn, DataAstContentRela.content_onum == '2' and DataAstContentRela.rela_status == '1')
.union_all( .union_all(
select(DataAstContentRela) select(DataAstContentRela)
.where(DataAstContentRela.belt_data_std_content != '2' and DataAstContentRela.rela_status == '1') .where(DataAstContentRela.content_onum != '2' and DataAstContentRela.rela_status == '1')
) )
).alias('subquery_t1') # 为子查询分配唯一别名 ).alias('subquery_t1') # 为子查询分配唯一别名
query = ( query = (
select( select(
DataAstContent.belt_data_std_content, DataAstContent.content_onum,
DataAstContent.content_name, DataAstContent.content_name,
DataAstContent.content_stat, DataAstContent.content_stat,
DataAstContent.content_intr, DataAstContent.content_intr,
@ -807,9 +799,9 @@ class DataStdDao:
) )
.distinct() .distinct()
.select_from(DataAstContent) .select_from(DataAstContent)
.outerjoin(subquery_t1, DataAstContent.belt_data_std_content == subquery_t1.c.belt_data_std_content) # 明确使用子查询别名 .outerjoin(subquery_t1, DataAstContent.content_onum == subquery_t1.c.content_onum) # 明确使用子查询别名
.where(DataAstContent.content_stat == 1) .where(DataAstContent.content_stat == 1)
.order_by(DataAstContent.belt_data_std_content) .order_by(DataAstContent.content_onum)
) )
# 使用分页工具进行查询 # 使用分页工具进行查询

15
vue-fastapi-backend/module_admin/entity/do/datastd_do.py

@ -65,12 +65,11 @@ class DataStdDict(Base):
data_dict_cn_name = Column(String(200), default=None, comment='字典中文名') data_dict_cn_name = Column(String(200), default=None, comment='字典中文名')
data_dict_vest = Column(String(10), default=None, comment='字典归属(sys:系统级 company:公司级)') data_dict_vest = Column(String(10), default=None, comment='字典归属(sys:系统级 company:公司级)')
data_dict_type = Column(String(1), default=None, comment='字典类型(0:基础数据 1:指标数据)') data_dict_type = Column(String(1), default=None, comment='字典类型(0:基础数据 1:指标数据)')
src_sys = Column(String(50), default=None, comment='归属系统') src_sys = Column(Integer, default=None, comment='归属系统')
data_dict_busi_mean = Column(String(200), default=None, comment='字典业务定义') data_dict_busi_mean = Column(String(200), default=None, comment='字典业务定义')
data_dict_data_type = Column(String(20), default=None, comment='数据类型') data_dict_data_type = Column(String(20), default=None, comment='数据类型')
data_std_no = Column(String(50), default=None, comment='数据标准编号') data_std_no = Column(String(50), default=None, comment='数据标准编号')
src_sys_tab_fld_name = Column(String(1000), default=None, comment='来源系统表字段名') src_sys_tab_fld_name = Column(String(1000), default=None, comment='来源系统表字段名')
data_std_cn_name = Column(String(50), default=None, comment='数据标准名称')
data_dict_stat = Column(String(1), default=None, comment='字典状态(1:有效 0:无效)') data_dict_stat = Column(String(1), default=None, comment='字典状态(1:有效 0:无效)')
class DataStdDictAppr(Base): class DataStdDictAppr(Base):
@ -91,14 +90,10 @@ class DataStdDictAppr(Base):
data_dict_type = Column(String(1), default=None, comment='字典类型(0:基础数据 1:指标数据)') data_dict_type = Column(String(1), default=None, comment='字典类型(0:基础数据 1:指标数据)')
src_sys = Column(String(50), default=None, comment='归属系统') src_sys = Column(String(50), default=None, comment='归属系统')
data_dict_busi_mean = Column(String(200), default=None, comment='字典业务定义') data_dict_busi_mean = Column(String(200), default=None, comment='字典业务定义')
data_type = Column(String(20), default=None, comment='数据类型')
data_std_no = Column(String(50), default=None, comment='数据标准编号') data_std_no = Column(String(50), default=None, comment='数据标准编号')
data_std_cn_name = Column(String(50), default=None, comment='数据标准名称')
data_dict_stat = Column(String(1), default=None, comment='字典状态(1:有效 0:无效)') data_dict_stat = Column(String(1), default=None, comment='字典状态(1:有效 0:无效)')
data_std_busi_ownership_dept = Column(BigInteger, default=None, comment='业务认责部门') data_dict_data_type = Column(String(20), default=None, comment='数据类型')
data_std_it_ownership_dept = Column(BigInteger, default=None, comment='技术认责部门') src_sys_tab_fld_name = Column(String(1000), default=None, comment='来源系统表字段名')
buss_user = Column(String(20), default=None, comment='业务认责人员')
tech_user = Column(String(20), default=None, comment='技术认责人员')
changeType = Column(String(10), default=None, comment='变更类型') changeType = Column(String(10), default=None, comment='变更类型')
flowId = Column(String(50), default=None, comment='审批Id') flowId = Column(String(50), default=None, comment='审批Id')
oldInstId = Column(String(50), default=None, comment='原始正式id') oldInstId = Column(String(50), default=None, comment='原始正式id')
@ -108,7 +103,7 @@ class DataStdDictAppr(Base):
class DataAstContent(Base): class DataAstContent(Base):
__tablename__ = "t_data_std_content" __tablename__ = "t_data_std_content"
belt_data_std_content = Column(Integer, primary_key=True, autoincrement=True, comment='目录序号') content_onum = Column(Integer, primary_key=True, autoincrement=True, comment='目录序号')
content_name = Column(String(255), nullable=False, comment='目录名称') content_name = Column(String(255), nullable=False, comment='目录名称')
content_stat = Column(String(10), nullable=False, comment='目录状态(有效/废弃/停用)') content_stat = Column(String(10), nullable=False, comment='目录状态(有效/废弃/停用)')
content_intr = Column(Text, comment='目录简介') content_intr = Column(Text, comment='目录简介')
@ -125,7 +120,7 @@ class DataAstContentRela(Base):
__tablename__ = "t_data_std_content_rela" __tablename__ = "t_data_std_content_rela"
rela_onum = Column(Integer, primary_key=True, autoincrement=True, comment='关系序号') rela_onum = Column(Integer, primary_key=True, autoincrement=True, comment='关系序号')
belt_data_std_content = Column(Integer, nullable=False, comment='目录序号') content_onum = Column(Integer, nullable=False, comment='目录序号')
ast_onum = Column(Integer, nullable=False, comment='资产序号') ast_onum = Column(Integer, nullable=False, comment='资产序号')
rela_type = Column(String(50), default='归属关系', comment='关系类型') rela_type = Column(String(50), default='归属关系', comment='关系类型')
rela_eff_begn_date = Column(Date, nullable=True, comment='关系生效开始日期') rela_eff_begn_date = Column(Date, nullable=True, comment='关系生效开始日期')

12
vue-fastapi-backend/module_admin/entity/vo/datastd_vo.py

@ -72,17 +72,13 @@ class DataStdDictModel(BaseModel):
data_dict_cn_name: Optional[str] = Field(default=None, description='字典中文名') data_dict_cn_name: Optional[str] = Field(default=None, description='字典中文名')
data_dict_vest: Optional[str] = Field(default=None, description='字典归属(sys:系统级 company:公司级)') data_dict_vest: Optional[str] = Field(default=None, description='字典归属(sys:系统级 company:公司级)')
data_dict_type: Optional[str] = Field(default=None, description='字典类型(0:基础数据 1:指标数据)') data_dict_type: Optional[str] = Field(default=None, description='字典类型(0:基础数据 1:指标数据)')
src_sys: Optional[str] = Field(default=None, description='归属系统') src_sys: Optional[int] = Field(default=None, description='归属系统')
data_dict_busi_mean: Optional[str] = Field(default=None, description='字典业务定义') data_dict_busi_mean: Optional[str] = Field(default=None, description='字典业务定义')
data_dict_data_type: Optional[str] = Field(default=None, description='数据类型') data_dict_data_type: Optional[str] = Field(default=None, description='数据类型')
src_sys_tab_fld_name: Optional[str] = Field(default=None, description='来源系统表字段名') src_sys_tab_fld_name: Optional[str] = Field(default=None, description='来源系统表字段名')
data_std_no: Optional[str] = Field(default=None, description='数据标准编号') data_std_no: Optional[str] = Field(default=None, description='数据标准编号')
data_std_cn_name: Optional[str] = Field(default=None, description='数据标准名称')
data_dict_stat: Optional[str] = Field(default=None, description='字典状态(1:有效 0:无效)') data_dict_stat: Optional[str] = Field(default=None, description='字典状态(1:有效 0:无效)')
data_std_busi_ownership_dept: Optional[int] = Field(default=None, description='业务认责部门')
data_std_it_ownership_dept: Optional[int] = Field(default=None, description='技术认责部门')
buss_user: Optional[str] = Field(default=None, description='业务认责人员')
tech_user: Optional[str] = Field(default=None, description='技术认责人员')
@as_query @as_query
class DataStdDictPageQueryModel(DataStdDictModel): class DataStdDictPageQueryModel(DataStdDictModel):
""" """
@ -117,8 +113,8 @@ class DataStdMainModel(BaseModel):
cd_no: Optional[str] = Field(default=None, description='代码编号') cd_no: Optional[str] = Field(default=None, description='代码编号')
cd_id: Optional[str] = Field(default=None, description='代码id') cd_id: Optional[str] = Field(default=None, description='代码id')
std_status: Optional[str] = Field(default=None, description='标准状态(1:有效 0:无效)') std_status: Optional[str] = Field(default=None, description='标准状态(1:有效 0:无效)')
data_std_busi_ownership_dept: Optional[int] = Field(default=None, description='业务认责部门') data_std_busi_ownership_dept: Optional[str] = Field(default=None, description='业务认责部门')
data_std_it_ownership_dept: Optional[int] = Field(default=None, description='技术认责部门') data_std_it_ownership_dept: Optional[str] = Field(default=None, description='技术认责部门')
buss_user: Optional[str] = Field(default=None, description='业务认责人员') buss_user: Optional[str] = Field(default=None, description='业务认责人员')
tech_user: Optional[str] = Field(default=None, description='技术认责人员') tech_user: Optional[str] = Field(default=None, description='技术认责人员')
belt_data_std_content: Optional[int] = Field(default=None, description='分类') belt_data_std_content: Optional[int] = Field(default=None, description='分类')

8
vue-fastapi-backend/module_admin/service/datastd_service.py

@ -557,9 +557,9 @@ class DataStdService:
codemodel.class_id=page_object.class_id codemodel.class_id=page_object.class_id
codemodel.parent_id=page_object.parent_id codemodel.parent_id=page_object.parent_id
codemodel.cd_type=page_object.cd_type codemodel.cd_type=page_object.cd_type
data_dict_type = await DataStdDao.get_data_code_by_info(query_db, codemodel data_dict_data_type = await DataStdDao.get_data_code_by_info(query_db, codemodel
) )
if data_dict_type and data_dict_type.onum != id: if data_dict_data_type and data_dict_data_type.onum != id:
return CommonConstant.NOT_UNIQUE return CommonConstant.NOT_UNIQUE
return CommonConstant.UNIQUE return CommonConstant.UNIQUE
# ----------------------------------------------------------------数据字典---------------------------------------------------------------------------------------------------- # ----------------------------------------------------------------数据字典----------------------------------------------------------------------------------------------------
@ -702,9 +702,9 @@ class DataStdService:
codemodel=DataStdDictModel() codemodel=DataStdDictModel()
codemodel.data_dict_no=page_object.data_dict_no codemodel.data_dict_no=page_object.data_dict_no
data_dict_type = await DataStdDao.get_data_dict_by_info(query_db, codemodel data_dict_data_type = await DataStdDao.get_data_dict_by_info(query_db, codemodel
) )
if data_dict_type and data_dict_type.onum != id: if data_dict_data_type and data_dict_data_type.onum != id:
return CommonConstant.NOT_UNIQUE return CommonConstant.NOT_UNIQUE
return CommonConstant.UNIQUE return CommonConstant.UNIQUE
# ----------------------------------------------------------------数据标准分类---------------------------------------------------------------------------------------------------- # ----------------------------------------------------------------数据标准分类----------------------------------------------------------------------------------------------------

16
vue-fastapi-frontend/src/views/datastd/main/components/AddEditForm.vue

@ -9,8 +9,8 @@
<el-form-item label="标准中文名" prop="stdName"> <el-form-item label="标准中文名" prop="stdName">
<el-input v-model="formData.stdName" placeholder="请输入标准中文名" clearable /> <el-input v-model="formData.stdName" placeholder="请输入标准中文名" clearable />
</el-form-item> </el-form-item>
<el-form-item label="标准英文名" prop="stdCode"> <el-form-item label="标准英文名" prop="dataStdNo">
<el-input v-model="formData.stdCode" placeholder="请输入标准英文名" clearable /> <el-input v-model="formData.dataStdNo" placeholder="请输入标准英文名" clearable />
</el-form-item> </el-form-item>
<el-form-item label="标准业务定义" prop="stdMenu"> <el-form-item label="标准业务定义" prop="stdMenu">
<el-input v-model="formData.stdMenu" placeholder="请输入标准业务定义" clearable /> <el-input v-model="formData.stdMenu" placeholder="请输入标准业务定义" clearable />
@ -88,8 +88,8 @@
placeholder="请选择业务认责部门" placeholder="请选择业务认责部门"
check-strictly /> check-strictly />
</el-form-item> </el-form-item>
<el-form-item label="业务认责人员" prop="bussUser"> <el-form-item label="业务认责人员" prop="dataStdBusiOwnershipPrsn">
<el-select v-model="formData.bussUser" placeholder="请选择业务认责人员"> <el-select v-model="formData.dataStdBusiOwnershipPrsn" placeholder="请选择业务认责人员">
<el-option <el-option
v-for="dict in userList" v-for="dict in userList"
:key="dict.id" :key="dict.id"
@ -107,8 +107,8 @@
placeholder="请选择技术认责部门" placeholder="请选择技术认责部门"
check-strictly /> check-strictly />
</el-form-item> </el-form-item>
<el-form-item label="技术认责人员" prop="techUser"> <el-form-item label="技术认责人员" prop="dataStdItOwnershipPrsn">
<el-select v-model="formData.techUser" placeholder="技术认责人员"> <el-select v-model="formData.dataStdItOwnershipPrsn" placeholder="技术认责人员">
<el-option <el-option
v-for="dict in userList" v-for="dict in userList"
:key="dict.id" :key="dict.id"
@ -183,8 +183,8 @@ const formRules = ref({
dataClas: [{ required: true, message: '请选择数据类别', trigger: 'change' }], dataClas: [{ required: true, message: '请选择数据类别', trigger: 'change' }],
bussDeptId: [{ required: true, message: '请选择业务认责部门', trigger: 'blur' }], bussDeptId: [{ required: true, message: '请选择业务认责部门', trigger: 'blur' }],
techDeptId: [{ required: true, message: '请选择技术认责部门', trigger: 'blur' }], techDeptId: [{ required: true, message: '请选择技术认责部门', trigger: 'blur' }],
bussUser: [{ required: true, message: '请输入业务认责人', trigger: 'blur' }], dataStdBusiOwnershipPrsn: [{ required: true, message: '请输入业务认责人', trigger: 'blur' }],
techUser: [{ required: true, message: '请输入技术认责人', trigger: 'blur' }], dataStdItOwnershipPrsn: [{ required: true, message: '请输入技术认责人', trigger: 'blur' }],
}); });
const codeCancel = () => { const codeCancel = () => {
codeVisible.value = false; codeVisible.value = false;

14
vue-fastapi-frontend/src/views/datastd/main/index.vue

@ -236,7 +236,7 @@
> >
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="标准编号" prop="stdNum" width="150"></el-table-column> <el-table-column label="标准编号" prop="stdNum" width="150"></el-table-column>
<el-table-column label="标准英文名" prop="stdCode" width="150"></el-table-column> <el-table-column label="标准英文名" prop="dataStdNo" width="150"></el-table-column>
<el-table-column label="标准中文名" prop="stdName" width="150"></el-table-column> <el-table-column label="标准中文名" prop="stdName" width="150"></el-table-column>
<el-table-column label="标准业务定义" prop="stdMenu" width="150"></el-table-column> <el-table-column label="标准业务定义" prop="stdMenu" width="150"></el-table-column>
<el-table-column label="类型" prop="stdType" width="150"> <el-table-column label="类型" prop="stdType" width="150">
@ -264,9 +264,9 @@
<el-table-column label="业务认责部门" prop="bussDeptId" width="150"></el-table-column> <el-table-column label="业务认责部门" prop="bussDeptId" width="150"></el-table-column>
<el-table-column label="业务认责部门" prop="bussDeptId" width="150"></el-table-column> <el-table-column label="业务认责部门" prop="bussDeptId" width="150"></el-table-column>
<el-table-column label="业务认责部门" prop="bussDeptId" width="150"></el-table-column> <el-table-column label="业务认责部门" prop="bussDeptId" width="150"></el-table-column>
<el-table-column label="业务认责人员" prop="bussUser" width="150"></el-table-column> <el-table-column label="业务认责人员" prop="dataStdBusiOwnershipPrsn" width="150"></el-table-column>
<el-table-column label="技术认责部门" prop="techDeptId" width="150"></el-table-column> <el-table-column label="技术认责部门" prop="techDeptId" width="150"></el-table-column>
<el-table-column label="技术认责人员" prop="techUser" width="150"></el-table-column> <el-table-column label="技术认责人员" prop="dataStdItOwnershipPrsn" width="150"></el-table-column>
<!-- <el-table-column label="分类" prop="contentOnum" width="150"></el-table-column> --> <!-- <el-table-column label="分类" prop="contentOnum" width="150"></el-table-column> -->
<el-table-column label="更新时间" prop="updateTime" width="180"></el-table-column> <el-table-column label="更新时间" prop="updateTime" width="180"></el-table-column>
<el-table-column label="操作" align="center" width="180"> <el-table-column label="操作" align="center" width="180">
@ -509,15 +509,15 @@ const handleAdd = () => {
selectedRow.value = { selectedRow.value = {
stdType: "", stdType: "",
stdNum: "", stdNum: "",
stdCode: "", dataStdNo: "",
stdName: "", stdName: "",
stdMenu: "", stdMenu: "",
dataType: "", dataType: "",
stdCode: "", dataStdNo: "",
bussDeptId: "", bussDeptId: "",
bussUser: "", dataStdBusiOwnershipPrsn: "",
techDeptId: "", techDeptId: "",
techUser: "", dataStdItOwnershipPrsn: "",
securityLevel:"", securityLevel:"",
sourceSystem:"" sourceSystem:""
}; };

8
vue-fastapi-frontend/src/views/datastd/stdcode/codeStdMap.vue

@ -15,11 +15,11 @@
<el-table-column label="代码编号" align="center" prop="cdNo" /> <el-table-column label="代码编号" align="center" prop="cdNo" />
<el-table-column label="代码名称" align="center" prop="cdValCnMean" /> <el-table-column label="代码名称" align="center" prop="cdValCnMean" />
<el-table-column label="引用标准编号" align="center" prop="stdNum" /> <el-table-column label="引用标准编号" align="center" prop="stdNum" />
<el-table-column label="引用标准英文名" align="center" prop="stdCode" /> <el-table-column label="引用标准英文名" align="center" prop="dataStdNo" />
<el-table-column label="引用标准中文名" align="center" prop="stdName" /> <el-table-column label="引用标准中文名" align="center" prop="stdName" />
<el-table-column label="引用字典编号" align="center" prop="dictNum" /> <el-table-column label="引用字典编号" align="center" prop="dataDictNo" />
<el-table-column label="引用字典英文名" align="center" prop="dictCode" /> <el-table-column label="引用字典英文名" align="center" prop="dataDictEngName" />
<el-table-column label="引用字典中文名" align="center" prop="dictName" /> <el-table-column label="引用字典中文名" align="center" prop="dataDictCnName" />
</el-table> </el-table>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>

77
vue-fastapi-frontend/src/views/datastd/stddict/AddEditForm.vue

@ -18,7 +18,7 @@
</el-form-item> </el-form-item>
<el-form-item label="来源系统" prop="sysId" v-show="showSys"> <el-form-item label="来源系统" prop="sysId" v-show="showSys">
<el-select <el-select
v-model="formData.sysId" v-model="formData.srcSys"
placeholder="请选择来源系统" placeholder="请选择来源系统"
maxlength="30" maxlength="30"
@change="dataChange" @change="dataChange"
@ -37,69 +37,32 @@
<el-option label="指标数据" value="1" /> <el-option label="指标数据" value="1" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="数据字典编号" prop="dictNum"> <el-form-item label="数据字典编号" prop="dataDictNo">
<el-input v-model="formData.dictNum" :disabled=isEdit placeholder="请输入数据字典编号" clearable /> <el-input v-model="formData.dataDictNo" :disabled=isEdit placeholder="请输入数据字典编号" clearable />
</el-form-item> </el-form-item>
<el-form-item label="字典英文名" prop="dictCode"> <el-form-item label="字典英文名" prop="dataDictEngName">
<el-input v-model="formData.dictCode" placeholder="请输入字典英文名" clearable /> <el-input v-model="formData.dataDictEngName" placeholder="请输入字典英文名" clearable />
</el-form-item> </el-form-item>
<el-form-item label="字典中文名" prop="dictName"> <el-form-item label="字典中文名" prop="dataDictCnName">
<el-input v-model="formData.dictName" placeholder="请输入字典中文名" clearable /> <el-input v-model="formData.dataDictCnName" placeholder="请输入字典中文名" clearable />
</el-form-item> </el-form-item>
<el-form-item label="字典业务定义" prop="dictMenu"> <el-form-item label="字典业务定义" prop="dataDictBusiMean">
<el-input v-model="formData.dictMenu" placeholder="请输入业务定义" clearable /> <el-input v-model="formData.dataDictBusiMean" placeholder="请输入业务定义" clearable />
</el-form-item> </el-form-item>
<el-form-item label="数据类型" prop="dataType"> <el-form-item label="数据类型" prop="dataDictDataType">
<el-input v-model="formData.dataType" placeholder="请输入数据类型" clearable /> <el-input v-model="formData.dataDictDataType" placeholder="请输入数据类型" clearable />
</el-form-item> </el-form-item>
<el-form-item label="数据标准" prop="stdCode"> <el-form-item label="数据标准" prop="dataStdNo">
<el-select v-model="formData.stdCode" placeholder="数据标准"> <el-select v-model="formData.dataStdNo" placeholder="数据标准">
<el-option <el-option
v-for="dict in stdList" v-for="dict in stdList"
:key="dict.id" :key="dict.id"
:label="dict.stdNum+'-'+dict.stdCode" :label="dict.stdNum+'-'+dict.dataStdNo"
:value="dict.id" :value="dict.id"
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="业务认责部门" prop="bussDeptId">
<el-tree-select
v-model="formData.bussDeptId"
:data="deptOptions"
:props="{ value: 'id', label: 'label', children: 'children' }"
value-key="id"
placeholder="请选择业务认责部门"
check-strictly />
</el-form-item>
<el-form-item label="业务认责人员" prop="bussUser">
<el-select v-model="formData.bussUser" placeholder="请选择业务认责人员">
<el-option
v-for="dict in userList"
:key="dict.id"
:label="dict.userName"
:value="dict.userName"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="技术认责部门" prop="techDeptId">
<el-tree-select
v-model="formData.techDeptId"
:data="deptOptions"
:props="{ value: 'id', label: 'label', children: 'children' }"
value-key="id"
placeholder="请选择技术认责部门"
check-strictly />
</el-form-item>
<el-form-item label="技术认责人员" prop="techUser">
<el-select v-model="formData.techUser" placeholder="技术认责人员">
<el-option
v-for="dict in userList"
:key="dict.id"
:label="dict.userName"
:value="dict.userName"
></el-option>
</el-select>
</el-form-item>
<!-- 底部按钮区域 --> <!-- 底部按钮区域 -->
<el-row justify="center" style="margin-top: 20px;"> <el-row justify="center" style="margin-top: 20px;">
@ -148,9 +111,9 @@ const formRules = ref({
dictType: [{ required: true, message: '请选择数据字典类型', trigger: 'blur' }], dictType: [{ required: true, message: '请选择数据字典类型', trigger: 'blur' }],
bussDeptId: [{ required: true, message: '请选择业务认责部门', trigger: 'blur' }], bussDeptId: [{ required: true, message: '请选择业务认责部门', trigger: 'blur' }],
techDeptId: [{ required: true, message: '请选择技术认责部门', trigger: 'blur' }], techDeptId: [{ required: true, message: '请选择技术认责部门', trigger: 'blur' }],
dictNum: [{ required: true, message: '请输入数据字典编号', trigger: 'blur' }], dataDictNo: [{ required: true, message: '请输入数据字典编号', trigger: 'blur' }],
bussUser: [{ required: true, message: '请输入业务认责人', trigger: 'blur' }], dataStdBusiOwnershipPrsn: [{ required: true, message: '请输入业务认责人', trigger: 'blur' }],
techUser: [{ required: true, message: '请输入技术认责人', trigger: 'blur' }], dataStdItOwnershipPrsn: [{ required: true, message: '请输入技术认责人', trigger: 'blur' }],
}); });
const showSys = ref(false); const showSys = ref(false);
const emit = defineEmits(['update:visible', 'refresh']); const emit = defineEmits(['update:visible', 'refresh']);
@ -193,11 +156,11 @@ function changeCodeType(data) {
if (data != "company") { if (data != "company") {
showSys.value = true; showSys.value = true;
formData.value.sysName = ""; formData.value.sysName = "";
formData.value.sysId = undefined; formData.value.srcSys = undefined;
} else { } else {
showSys.value = false; showSys.value = false;
formData.value.sysName = "公司级"; formData.value.sysName = "公司级";
formData.value.sysId = 10000; formData.value.srcSys = 10000;
} }
} }
getDeptTree(); getDeptTree();

92
vue-fastapi-frontend/src/views/datastd/stddict/index.vue

@ -34,9 +34,9 @@
<el-col :span="20" :xs="24"> <el-col :span="20" :xs="24">
<el-form :model="queryParams" ref="queryRef" :inline="true"> <el-form :model="queryParams" ref="queryRef" :inline="true">
<el-form-item label="字典编号" prop="dictNum"> <el-form-item label="字典编号" prop="dataDictNo">
<el-input <el-input
v-model="queryParams.dictNum" v-model="queryParams.dataDictNo"
placeholder="请输入标准字典编号" placeholder="请输入标准字典编号"
clearable clearable
style="width: 220px" style="width: 220px"
@ -93,12 +93,14 @@
> >
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="归属" align="center" width="200"> <el-table-column label="归属" align="center" width="200">
<template #default="{ row }">
<template #default="scope">
<span v-if="scope.row.dataDictVest === 'company'">公司级</span>
<span v-else-if="scope.row.dataDictVest === 'sys'">
{{ {{
row.dataDictVest === "company" getSrcSysName(scope.row.srcSys)
? "公司级"
: "系统级(" + row.sysName + ")"
}} }}
</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="类型" align="center"> <el-table-column label="类型" align="center">
@ -111,44 +113,44 @@
label="字典编号" label="字典编号"
width="150" width="150"
align="center" align="center"
prop="dictNum" prop="dataDictNo"
/> />
<el-table-column <el-table-column
label="字典英文名" label="字典英文名"
width="120" width="120"
align="center" align="center"
prop="dictCode" prop="dataDictEngName"
/> />
<el-table-column <el-table-column
label="字典中文名" label="字典中文名"
width="120" width="120"
align="center" align="center"
prop="dictName" prop="dataDictCnName"
/> />
<el-table-column <el-table-column
label="字典业务定义" label="字典业务定义"
width="120" width="120"
align="center" align="center"
prop="dictMenu" prop="dataDictBusiMean"
/> />
<el-table-column label="数据类型" align="center" prop="dataType" /> <el-table-column label="数据类型" align="center" prop="dataDictDataType" />
<el-table-column label="数据标准" align="center" prop="stdCode" > <el-table-column label="数据标准" align="center" prop="dataStdNo" >
<template #default="{ row }"> <template #default="{ row }">
<el-link <el-link
type="primary" type="primary"
:underline="true" :underline="true"
@click="handleStdClick(row.stdCode)" @click="handleStdClick(row.dataStdNo)"
style="cursor: pointer" style="cursor: pointer"
> >
<span >{{transIdtoCode(row.stdCode)}}</span> <span >{{transIdtoCode(row.dataStdNo)}}</span>
</el-link> </el-link>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="字典状态" align="center" prop="dictStatus"> <el-table-column label="字典状态" align="center" prop="dataDictStat">
<template #default="scope"> <template #default="scope">
<dict-tag <dict-tag
:options="std_code_appr" :options="std_code_appr"
:value="scope.row.dictStatus" :value="scope.row.dataDictStat"
/> />
</template> </template>
</el-table-column> </el-table-column>
@ -156,37 +158,37 @@
label="业务认责部门" label="业务认责部门"
width="120" width="120"
align="center" align="center"
prop="bussDeptName" prop="dataStdBusiOwnershipDept"
/> />
<el-table-column <el-table-column
label="业务认责人员" label="业务认责人员"
width="120" width="120"
align="center" align="center"
prop="bussUser" prop="dataStdBusiOwnershipPrsn"
/> />
<el-table-column <el-table-column
label="技术认责部门" label="技术认责部门"
width="120" width="120"
align="center" align="center"
prop="techDeptName" prop="dataStdItOwnershipPrsn"
/> />
<el-table-column <el-table-column
label="技术认责人员" label="技术认责人员"
width="120" width="120"
align="center" align="center"
prop="techUser" prop="dataStdItOwnershipPrsn"
/> />
<el-table-column <el-table-column
label="更新者" label="更新者"
width="120" width="120"
align="center" align="center"
prop="updateBy" prop="updPrsn"
/> />
<el-table-column <el-table-column
label="更新时间" label="更新时间"
width="120" width="120"
align="center" align="center"
prop="updateTime" prop="updTime"
/> />
<el-table-column label="操作" align="center" width="180"> <el-table-column label="操作" align="center" width="180">
<template #default="scope"> <template #default="scope">
@ -254,8 +256,8 @@ const { std_code_status, std_code_appr } = proxy.useDict(
); );
const queryParams = ref({ const queryParams = ref({
dictNum: "", dataDictNo: "",
dictName: "", dataDictCnName: "",
dictType: "", dictType: "",
sysName: "", sysName: "",
classId: "dict", classId: "dict",
@ -281,7 +283,10 @@ const loading = ref(false);
const stdVisible = ref(false); const stdVisible = ref(false);
const ids = ref([]); const ids = ref([]);
const cdNos = ref([]); const cdNos = ref([]);
const getSrcSysName = (id) => {
const match = dbResourceOldList.value.find(item => item.id == id);
return match ? "系统级:"+ match.name : id;
};
const dbResourceOptions = ref([]); const dbResourceOptions = ref([]);
const handleStdClick = (id) => { const handleStdClick = (id) => {
getStdMain(id).then((response) => { getStdMain(id).then((response) => {
@ -295,8 +300,8 @@ const handlePagination = (pageNum, pageSize) => {
queryParams.value.pageSize = pageSize; queryParams.value.pageSize = pageSize;
handleQuery(); handleQuery();
}; };
const transIdtoCode = (stdCode) => { const transIdtoCode = (dataStdNo) => {
const match = stdList.value.find(item => item.id === stdCode); const match = stdList.value.find(item => item.onum === dataStdNo);
return match ? match.stdNum : ''; return match ? match.stdNum : '';
}; };
const filterNode = (value, data) => { const filterNode = (value, data) => {
@ -305,15 +310,16 @@ const filterNode = (value, data) => {
}; };
const handleNodeClick = (data) => { const handleNodeClick = (data) => {
queryParams.value.sysId = data.id === 9999 ? undefined : data.id; queryParams.value.srcSys = data.id === 99999||data.id === 10000 ? undefined : data.id;
queryParams.value.dataDictVest=data.id === 10000 ? "company":"sys"
handleQuery(); handleQuery();
}; };
const handleSelectionChange = (selection) => { const handleSelectionChange = (selection) => {
single.value = selection.length !== 1; single.value = selection.length !== 1;
multiple.value = !selection.length; multiple.value = !selection.length;
ids.value = selection.map((item) => item.id); ids.value = selection.map((item) => item.onum);
cdNos.value = selection.map((item) => item.dictNum); cdNos.value = selection.map((item) => item.dataDictNo);
}; };
const getList = async () => { const getList = async () => {
@ -336,8 +342,8 @@ const handleQuery = () => {
const resetQuery = () => { const resetQuery = () => {
queryParams.value = { queryParams.value = {
dictNum: "", dataDictNo: "",
dictName: "", dataDictCnName: "",
dictType: "", dictType: "",
sysName: "", sysName: "",
sysId: undefined, sysId: undefined,
@ -348,7 +354,7 @@ const resetQuery = () => {
}; };
const handleRemove = (row) => { const handleRemove = (row) => {
const idsToDelete = row.id ? [row.id] : ids.value; const idsToDelete = row.onum ? [row.onum] : ids.value;
const codesToDelete = row.cdNo ? [row.cdNo] : cdNos.value; const codesToDelete = row.cdNo ? [row.cdNo] : cdNos.value;
proxy.$modal proxy.$modal
.confirm( .confirm(
@ -359,7 +365,7 @@ const handleRemove = (row) => {
}) })
.then(() => { .then(() => {
handleQuery(); handleQuery();
proxy.$modal.msgSuccess("删除成功"); proxy.$modal.msgSuccess("提交删除审批成功");
}) })
.catch(() => {}); .catch(() => {});
}; };
@ -373,16 +379,16 @@ const handleAdd = () => {
sysId: 10000, sysId: 10000,
sysName: "公司级", sysName: "公司级",
dictType: "", dictType: "",
dictNum: "", dataDictNo: "",
dictCode: "", dataDictEngName: "",
dictName: "", dataDictCnName: "",
dictMenu: "", dataDictBusiMean: "",
dataType: "", dataDictDataType: "",
stdCode: "", dataStdNo: "",
bussDeptId: "", bussDeptId: "",
bussUser: "", dataStdBusiOwnershipPrsn: "",
techDeptId: "", techDeptId: "",
techUser: "", dataStdItOwnershipPrsn: "",
}; };
// //
@ -390,7 +396,7 @@ const handleAdd = () => {
}; };
const handleEdit = (row) => { const handleEdit = (row) => {
const id = row.id ? row.id : ids.value.toString(); const id = row.onum ? row.onum : ids.value.toString();
getStdDict(id).then((response) => { getStdDict(id).then((response) => {
selectedRow.value = response.data; selectedRow.value = response.data;
isEdit.value = true; isEdit.value = true;

100
vue-fastapi-frontend/src/views/system/flow/dataStdDictAppr.vue

@ -25,15 +25,15 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="字典编号" width="150" align="center" prop="dictNum" /> <el-table-column label="字典编号" width="150" align="center" prop="dataDictNo" />
<el-table-column label="字典英文名" width="120" align="center" prop="dictCode" /> <el-table-column label="字典英文名" width="120" align="center" prop="dataDictEngName" />
<el-table-column label="字典中文名" width="120" align="center" prop="dictName" /> <el-table-column label="字典中文名" width="120" align="center" prop="dataDictCnName" />
<el-table-column label="字典业务定义" width="120" align="center" prop="dictMenu" /> <el-table-column label="字典业务定义" width="120" align="center" prop="dataDictBusiMean" />
<el-table-column label="数据类型" align="center" prop="dataType" /> <el-table-column label="数据类型" align="center" prop="dataDictDataType" />
<el-table-column label="数据标准" align="center" prop="stdCode"> <el-table-column label="数据标准" align="center" prop="dataStdNo">
<template #default="{ row }"> <template #default="{ row }">
<span>{{ transIdtoCode(row.stdCode) }}</span> <span>{{ transIdtoCode(row.dataStdNo) }}</span>
</template> </template>
</el-table-column> </el-table-column>
@ -52,7 +52,7 @@
<!-- 查看 操作列固定右侧 --> <!-- 查看 操作列固定右侧 -->
<el-table-column fixed="right" label="操作" width="100" align="center"> <el-table-column fixed="right" label="操作" width="100" align="center">
<template #default="{ row }"> <template #default="{ row }">
<el-button text type="primary" @click="handleView(row.id)"> <el-button text type="primary" @click="handleView(row.onum)">
查看 查看
</el-button> </el-button>
</template> </template>
@ -111,38 +111,38 @@
<!-- 第二行3 --> <!-- 第二行3 -->
<el-row gutter="20"> <el-row gutter="20">
<el-col :span="6"> <el-col :span="6">
<el-form-item prop="dictNum"> <el-form-item prop="dataDictNo">
<template #label> <template #label>
<span :class="{ 'changed-label': isChanged(formData.dictNum) }"> <span :class="{ 'changed-label': isChanged(formData.dataDictNo) }">
数据字典编号 数据字典编号
</span> </span>
</template> </template>
<span :class="{ 'changed-value': isChanged(formData.dictNum) }"> <span :class="{ 'changed-value': isChanged(formData.dataDictNo) }">
{{ formatValue(formData.dictNum) }} {{ formatValue(formData.dataDictNo) }}
</span> </span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item prop="dictCode"> <el-form-item prop="dataDictEngName">
<template #label> <template #label>
<span :class="{ 'changed-label': isChanged(formData.dictCode) }"> <span :class="{ 'changed-label': isChanged(formData.dataDictEngName) }">
字典英文名 字典英文名
</span> </span>
</template> </template>
<span :class="{ 'changed-value': isChanged(formData.dictCode) }"> <span :class="{ 'changed-value': isChanged(formData.dataDictEngName) }">
{{ formatValue(formData.dictCode) }} {{ formatValue(formData.dataDictEngName) }}
</span> </span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item prop="dictName"> <el-form-item prop="dataDictCnName">
<template #label> <template #label>
<span :class="{ 'changed-label': isChanged(formData.dictName) }"> <span :class="{ 'changed-label': isChanged(formData.dataDictCnName) }">
字典中文名 字典中文名
</span> </span>
</template> </template>
<span :class="{ 'changed-value': isChanged(formData.dictName) }"> <span :class="{ 'changed-value': isChanged(formData.dataDictCnName) }">
{{ formatValue(formData.dictName) }} {{ formatValue(formData.dataDictCnName) }}
</span> </span>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -151,38 +151,38 @@
<!-- 第三行4 --> <!-- 第三行4 -->
<el-row gutter="20"> <el-row gutter="20">
<el-col :span="6"> <el-col :span="6">
<el-form-item prop="dictMenu"> <el-form-item prop="dataDictBusiMean">
<template #label> <template #label>
<span :class="{ 'changed-label': isChanged(formData.dictMenu) }"> <span :class="{ 'changed-label': isChanged(formData.dataDictBusiMean) }">
字典业务定义 字典业务定义
</span> </span>
</template> </template>
<span :class="{ 'changed-value': isChanged(formData.dictMenu) }"> <span :class="{ 'changed-value': isChanged(formData.dataDictBusiMean) }">
{{ formatValue(formData.dictMenu) }} {{ formatValue(formData.dataDictBusiMean) }}
</span> </span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item prop="dataType"> <el-form-item prop="dataDictDataType">
<template #label> <template #label>
<span :class="{ 'changed-label': isChanged(formData.dataType) }"> <span :class="{ 'changed-label': isChanged(formData.dataDictDataType) }">
数据类型 数据类型
</span> </span>
</template> </template>
<span :class="{ 'changed-value': isChanged(formData.dataType) }"> <span :class="{ 'changed-value': isChanged(formData.dataDictDataType) }">
{{ formatValue(formData.dataType) }} {{ formatValue(formData.dataDictDataType) }}
</span> </span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item prop="stdCode"> <el-form-item prop="dataStdNo">
<template #label> <template #label>
<span :class="{ 'changed-label': isChanged(formData.stdCode) }"> <span :class="{ 'changed-label': isChanged(formData.dataStdNo) }">
数据标准 数据标准
</span> </span>
</template> </template>
<span :class="{ 'changed-value': isChanged(formData.stdCode) }"> <span :class="{ 'changed-value': isChanged(formData.dataStdNo) }">
{{ formatValue(transIdtoCode(formData.stdCode)) }} {{ formatValue(transIdtoCode(formData.dataStdNo)) }}
</span> </span>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -192,26 +192,26 @@
<!-- 第四行2 --> <!-- 第四行2 -->
<el-row gutter="20"> <el-row gutter="20">
<el-col :span="12"> <el-col :span="12">
<el-form-item prop="bussDeptName"> <el-form-item prop="dataStdBusiOwnershipDept">
<template #label> <template #label>
<span :class="{ 'changed-label': isChanged(formData.bussDeptName) }"> <span :class="{ 'changed-label': isChanged(formData.dataStdBusiOwnershipDept) }">
业务认责部门 业务认责部门
</span> </span>
</template> </template>
<span :class="{ 'changed-value': isChanged(formData.bussDeptName) }"> <span :class="{ 'changed-value': isChanged(formData.dataStdBusiOwnershipDept) }">
{{ formatValue(formData.bussDeptName) }} {{ formatValue(formData.dataStdBusiOwnershipDept) }}
</span> </span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item prop="bussUser"> <el-form-item prop="dataStdBusiOwnershipPrsn">
<template #label> <template #label>
<span :class="{ 'changed-label': isChanged(formData.bussUser) }"> <span :class="{ 'changed-label': isChanged(formData.dataStdBusiOwnershipPrsn) }">
业务认责人员 业务认责人员
</span> </span>
</template> </template>
<span :class="{ 'changed-value': isChanged(formData.bussUser) }"> <span :class="{ 'changed-value': isChanged(formData.dataStdBusiOwnershipPrsn) }">
{{ formatValue(formData.bussUser) }} {{ formatValue(formData.dataStdBusiOwnershipPrsn) }}
</span> </span>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -220,26 +220,26 @@
<!-- 第五行2 --> <!-- 第五行2 -->
<el-row gutter="20"> <el-row gutter="20">
<el-col :span="12"> <el-col :span="12">
<el-form-item prop="techDeptName"> <el-form-item prop="dataStdItOwnershipPrsn">
<template #label> <template #label>
<span :class="{ 'changed-label': isChanged(formData.techDeptName) }"> <span :class="{ 'changed-label': isChanged(formData.dataStdItOwnershipPrsn) }">
技术认责部门 技术认责部门
</span> </span>
</template> </template>
<span :class="{ 'changed-value': isChanged(formData.techDeptName) }"> <span :class="{ 'changed-value': isChanged(formData.dataStdItOwnershipPrsn) }">
{{ formatValue(formData.techDeptName) }} {{ formatValue(formData.dataStdItOwnershipPrsn) }}
</span> </span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item prop="techUser"> <el-form-item prop="dataStdItOwnershipPrsn">
<template #label> <template #label>
<span :class="{ 'changed-label': isChanged(formData.techUser) }"> <span :class="{ 'changed-label': isChanged(formData.dataStdItOwnershipPrsn) }">
技术认责人员 技术认责人员
</span> </span>
</template> </template>
<span :class="{ 'changed-value': isChanged(formData.techUser) }"> <span :class="{ 'changed-value': isChanged(formData.dataStdItOwnershipPrsn) }">
{{ formatValue(formData.techUser) }} {{ formatValue(formData.dataStdItOwnershipPrsn) }}
</span> </span>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -299,8 +299,8 @@ const formatValue = (val) => {
} }
const loading = ref(false); const loading = ref(false);
const tableData = ref([]); const tableData = ref([]);
const transIdtoCode = (stdCode) => { const transIdtoCode = (dataStdNo) => {
const match = stdList.value.find(item => item.id === stdCode); const match = stdList.value.find(item => item.onum === dataStdNo);
return match ? match.stdNum : ''; return match ? match.stdNum : '';
}; };
const changeTypeMap = { const changeTypeMap = {

20
vue-fastapi-frontend/src/views/system/flow/dataStdMainAppr.vue

@ -8,7 +8,7 @@
> >
<el-table-column prop="stdNum" label="标准编号" align="center" /> <el-table-column prop="stdNum" label="标准编号" align="center" />
<el-table-column prop="stdCode" label="英文名" align="center" /> <el-table-column prop="dataStdNo" label="英文名" align="center" />
<el-table-column prop="stdName" label="中文名" align="center" /> <el-table-column prop="stdName" label="中文名" align="center" />
<el-table-column label="类型" prop="stdType" width="150"> <el-table-column label="类型" prop="stdType" width="150">
<template #default="scope"> <template #default="scope">
@ -58,11 +58,11 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item prop="stdCode"> <el-form-item prop="dataStdNo">
<template #label> <template #label>
<span :class="{ 'changed-label': isChanged(formData.stdCode) }">标准英文名</span> <span :class="{ 'changed-label': isChanged(formData.dataStdNo) }">标准英文名</span>
</template> </template>
<span :class="{ 'changed-value': isChanged(formData.stdCode) }">{{ formatValue(formData.stdCode) }}</span> <span :class="{ 'changed-value': isChanged(formData.dataStdNo) }">{{ formatValue(formData.dataStdNo) }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -142,11 +142,11 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item prop="bussUser"> <el-form-item prop="dataStdBusiOwnershipPrsn">
<template #label> <template #label>
<span :class="{ 'changed-label': isChanged(formData.bussUser) }">业务认责人员</span> <span :class="{ 'changed-label': isChanged(formData.dataStdBusiOwnershipPrsn) }">业务认责人员</span>
</template> </template>
<span :class="{ 'changed-value': isChanged(formData.bussUser) }">{{ formatValue(formData.bussUser) }}</span> <span :class="{ 'changed-value': isChanged(formData.dataStdBusiOwnershipPrsn) }">{{ formatValue(formData.dataStdBusiOwnershipPrsn) }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -162,11 +162,11 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item prop="techUser"> <el-form-item prop="dataStdItOwnershipPrsn">
<template #label> <template #label>
<span :class="{ 'changed-label': isChanged(formData.techUser) }">技术认责人员</span> <span :class="{ 'changed-label': isChanged(formData.dataStdItOwnershipPrsn) }">技术认责人员</span>
</template> </template>
<span :class="{ 'changed-value': isChanged(formData.techUser) }">{{ formatValue(formData.techUser) }}</span> <span :class="{ 'changed-value': isChanged(formData.dataStdItOwnershipPrsn) }">{{ formatValue(formData.dataStdItOwnershipPrsn) }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>

Loading…
Cancel
Save