feat(platform-ui): 新增审核指挥台V2原型
This commit is contained in:
@@ -128,6 +128,176 @@ def get_platform_demo_context():
|
||||
{"time": "09:39", "title": "一致性检查", "detail": "检测到产品名称和样本类型存在跨文档冲突,升级为人工复核。"},
|
||||
{"time": "09:42", "title": "风险输出", "detail": "生成 3 条风险项、2 条补件建议与 1 条责任人通知任务。"},
|
||||
]
|
||||
command_batch = {
|
||||
"id": "2025IVD-CL-0520-001",
|
||||
"status": "进行中",
|
||||
"workflow": "境内第三类",
|
||||
"class": "III 类",
|
||||
"created_at": "2025-05-20",
|
||||
"applicant": "某某生物科技有限公司",
|
||||
"reviewer": "张审评员",
|
||||
"role": "审评专家",
|
||||
"standard": "《体外诊断试剂注册与备案管理办法》及配套技术指导原则",
|
||||
"version": "V2.1(2025-04-01)",
|
||||
}
|
||||
command_metrics = [
|
||||
{
|
||||
"key": "completeness",
|
||||
"label": "资料包完整性得分",
|
||||
"value": "68",
|
||||
"suffix": "/100",
|
||||
"level": "较差",
|
||||
"detail": "上次得分 61(2025-05-19)",
|
||||
},
|
||||
{
|
||||
"key": "health",
|
||||
"label": "资料包健康度",
|
||||
"value": "62",
|
||||
"suffix": "项检查项",
|
||||
"segments": [
|
||||
{"label": "完整", "value": "28", "hint": "45%"},
|
||||
{"label": "部分缺失", "value": "18", "hint": "29%"},
|
||||
{"label": "缺失", "value": "16", "hint": "26%"},
|
||||
],
|
||||
},
|
||||
{
|
||||
"key": "risk",
|
||||
"label": "风险分布",
|
||||
"value": "22",
|
||||
"suffix": "项风险",
|
||||
"segments": [
|
||||
{"label": "高风险", "value": "3", "tone": "danger"},
|
||||
{"label": "中风险", "value": "7", "tone": "warning"},
|
||||
{"label": "低风险", "value": "12", "tone": "success"},
|
||||
],
|
||||
},
|
||||
{
|
||||
"key": "progress",
|
||||
"label": "审核进度",
|
||||
"value": "46",
|
||||
"suffix": "%",
|
||||
"detail": "已完成 24 / 52 项任务",
|
||||
},
|
||||
]
|
||||
command_flow = [
|
||||
{"step": "1", "title": "资料准备", "date": "2025-05-20", "state": "done"},
|
||||
{"step": "2", "title": "形式审查", "date": "2025-05-21", "state": "done"},
|
||||
{"step": "3", "title": "技术审评", "date": "进行中", "state": "active"},
|
||||
{"step": "4", "title": "核查检验", "date": "待开始", "state": "todo"},
|
||||
{"step": "5", "title": "综合评审", "date": "待开始", "state": "todo"},
|
||||
{"step": "6", "title": "行政审批", "date": "待开始", "state": "todo"},
|
||||
{"step": "7", "title": "制证发证", "date": "待开始", "state": "todo"},
|
||||
]
|
||||
command_tabs = [
|
||||
{"id": "completeness", "label": "注册完整性核查"},
|
||||
{"id": "consistency", "label": "字段一致性"},
|
||||
{"id": "risk", "label": "风险准入结论"},
|
||||
{"id": "evidence", "label": "证据引用"},
|
||||
{"id": "feishu", "label": "飞书通知状态"},
|
||||
]
|
||||
command_checks = [
|
||||
{
|
||||
"chapter": "1.产品基本信息",
|
||||
"item": "产品名称",
|
||||
"rule": "办法 第十条",
|
||||
"status": "完整",
|
||||
"risk": "低风险",
|
||||
"problem": "-",
|
||||
},
|
||||
{
|
||||
"chapter": "1.产品基本信息",
|
||||
"item": "预期用途",
|
||||
"rule": "办法 第十条",
|
||||
"status": "完整",
|
||||
"risk": "低风险",
|
||||
"problem": "-",
|
||||
},
|
||||
{
|
||||
"chapter": "2.综述资料",
|
||||
"item": "产品描述",
|
||||
"rule": "指导原则4.2.1",
|
||||
"status": "完整",
|
||||
"risk": "低风险",
|
||||
"problem": "-",
|
||||
},
|
||||
{
|
||||
"chapter": "2.综述资料",
|
||||
"item": "作用原理",
|
||||
"rule": "指导原则4.2.2",
|
||||
"status": "部分缺失",
|
||||
"risk": "中风险",
|
||||
"problem": "缺少关键原理图及验证数据说明",
|
||||
},
|
||||
{
|
||||
"chapter": "3.研究资料",
|
||||
"item": "分析性能评估",
|
||||
"rule": "指导原则5.3.1",
|
||||
"status": "部分缺失",
|
||||
"risk": "中风险",
|
||||
"problem": "线性范围验证数据不完整",
|
||||
},
|
||||
{
|
||||
"chapter": "3.研究资料",
|
||||
"item": "阳性判断值",
|
||||
"rule": "指导原则5.3.2",
|
||||
"status": "缺失",
|
||||
"risk": "高风险",
|
||||
"problem": "未提供阳性判断值确定依据",
|
||||
},
|
||||
{
|
||||
"chapter": "4.临床评价资料",
|
||||
"item": "临床试验方案",
|
||||
"rule": "指导原则6.2.1",
|
||||
"status": "完整",
|
||||
"risk": "低风险",
|
||||
"problem": "-",
|
||||
},
|
||||
{
|
||||
"chapter": "4.临床评价资料",
|
||||
"item": "临床试验报告",
|
||||
"rule": "指导原则6.2.2",
|
||||
"status": "部分缺失",
|
||||
"risk": "中风险",
|
||||
"problem": "有效性结果分析不完整",
|
||||
},
|
||||
{
|
||||
"chapter": "4.临床评价资料",
|
||||
"item": "不良事件汇总分析",
|
||||
"rule": "指导原则6.2.4",
|
||||
"status": "缺失",
|
||||
"risk": "高风险",
|
||||
"problem": "未提供不良事件汇总分析报告",
|
||||
},
|
||||
{
|
||||
"chapter": "5.生产资料",
|
||||
"item": "生产工艺验证",
|
||||
"rule": "指导原则7.2.3",
|
||||
"status": "完整",
|
||||
"risk": "低风险",
|
||||
"problem": "-",
|
||||
},
|
||||
]
|
||||
key_risks = [
|
||||
{"title": "阳性判断值确定依据缺失", "level": "高风险"},
|
||||
{"title": "不良事件汇总分析报告缺失", "level": "高风险"},
|
||||
{"title": "临床试验方案偏离未充分说明", "level": "中风险"},
|
||||
]
|
||||
next_actions = [
|
||||
{"title": "退回企业补充资料", "detail": "需企业补充 3 项高风险资料", "state": "待处理", "tone": "danger"},
|
||||
{"title": "补充说明或澄清", "detail": "需企业说明 7 项中风险问题", "state": "待处理", "tone": "warning"},
|
||||
{"title": "进入核查检验环节(可选)", "detail": "风险可控后进入下一环节", "state": "待处理", "tone": "success"},
|
||||
]
|
||||
owners = [
|
||||
{"role": "审评专家", "name": "张审评员", "status": "当前处理人"},
|
||||
{"role": "审核组长", "name": "李组长", "status": "待确认"},
|
||||
{"role": "法规专员", "name": "王法规", "status": "协同处理"},
|
||||
{"role": "临床专家", "name": "陈专家", "status": "协同处理"},
|
||||
]
|
||||
operation_logs = [
|
||||
{"time": "2025-05-21 10:24", "actor": "张审评员", "action": "发起完整性核查"},
|
||||
{"time": "2025-05-21 10:26", "actor": "Agent Core", "action": "命中 62 项检查规则"},
|
||||
{"time": "2025-05-21 10:28", "actor": "Agent Core", "action": "生成风险准入结论"},
|
||||
]
|
||||
knowledge_filters = [
|
||||
{"label": "全部", "active": True},
|
||||
{"label": "法规依据", "active": False},
|
||||
@@ -169,4 +339,13 @@ def get_platform_demo_context():
|
||||
"mcp_connectors": mcp_connectors,
|
||||
"skills": skills,
|
||||
"workflow_steps": workflow_steps,
|
||||
"command_batch": command_batch,
|
||||
"command_metrics": command_metrics,
|
||||
"command_flow": command_flow,
|
||||
"command_tabs": command_tabs,
|
||||
"command_checks": command_checks,
|
||||
"key_risks": key_risks,
|
||||
"next_actions": next_actions,
|
||||
"owners": owners,
|
||||
"operation_logs": operation_logs,
|
||||
}
|
||||
|
||||
@@ -10,4 +10,5 @@ urlpatterns = [
|
||||
path("mcp-center/", views.mcp_center, name="mcp-center"),
|
||||
path("skills/", views.skill_studio, name="skills"),
|
||||
path("command-center/", views.command_center, name="command-center"),
|
||||
path("command-center-v2/", views.command_center_v2, name="command-center-v2"),
|
||||
]
|
||||
|
||||
@@ -21,3 +21,8 @@ def skill_studio(request):
|
||||
def command_center(request):
|
||||
context = get_platform_demo_context()
|
||||
return render(request, "platform_ui/command_center.html", context)
|
||||
|
||||
|
||||
def command_center_v2(request):
|
||||
context = get_platform_demo_context()
|
||||
return render(request, "platform_ui/command_center_v2.html", context)
|
||||
|
||||
Reference in New Issue
Block a user