feat: 归档L03与L09审批发布能力
- 新增统一审批中心与审批管理页面,支持流程配置、审批详情与角色/用户审批对象 - 接入聊天助手、知识库、工作流的发布与删除审批,并补齐发布态校验与快照展示
This commit is contained in:
@@ -62,6 +62,15 @@
|
||||
"subProcess": "SubProcess",
|
||||
"workflowSelect": "WorkflowSelect",
|
||||
"bochaSearch": "BochaSearch",
|
||||
"publishStatusDraft": "Draft",
|
||||
"publishStatusPublishPending": "Publish Pending",
|
||||
"publishStatusPublished": "Published",
|
||||
"publishStatusDeletePending": "Delete Pending",
|
||||
"publishStatusLabel": "Release",
|
||||
"submitPublishApprovalConfirm": "The current draft will enter the publish approval flow. It becomes externally available only after approval.",
|
||||
"submitDeleteApprovalConfirm": "The workflow will enter the delete approval flow. It will be physically deleted only after approval.",
|
||||
"publishPendingHint": "There is already an approval in progress for this workflow.",
|
||||
"deletePendingHint": "There is already an approval in progress for this workflow.",
|
||||
"check": "Check",
|
||||
"checkPassed": "Workflow check passed",
|
||||
"checkFailed": "Workflow check failed. Please fix the issues first",
|
||||
|
||||
161
easyflow-ui-admin/app/src/locales/langs/en-US/approval.json
Normal file
161
easyflow-ui-admin/app/src/locales/langs/en-US/approval.json
Normal file
@@ -0,0 +1,161 @@
|
||||
{
|
||||
"title": "Approval Detail",
|
||||
"tab": {
|
||||
"flow": "Flow Config",
|
||||
"pending": "Pending",
|
||||
"processed": "Processed",
|
||||
"initiated": "Initiated"
|
||||
},
|
||||
"resource": {
|
||||
"bot": "Chat Assistant",
|
||||
"workflow": "Workflow",
|
||||
"knowledge": "Knowledge Base"
|
||||
},
|
||||
"action": {
|
||||
"publish": "Publish",
|
||||
"delete": "Delete",
|
||||
"addFlow": "New Flow",
|
||||
"editFlow": "Edit Flow",
|
||||
"enableFlow": "Enable Flow",
|
||||
"disableFlow": "Disable Flow",
|
||||
"approve": "Approve",
|
||||
"reject": "Reject",
|
||||
"revoke": "Revoke",
|
||||
"addScope": "Add Scope",
|
||||
"addStep": "Add Step"
|
||||
},
|
||||
"scope": {
|
||||
"category": "Category",
|
||||
"dept": "Department"
|
||||
},
|
||||
"assignee": {
|
||||
"role": "Role",
|
||||
"user": "User"
|
||||
},
|
||||
"status": {
|
||||
"enabled": "Enabled",
|
||||
"disabled": "Disabled",
|
||||
"pending": "Pending",
|
||||
"processing": "Processing",
|
||||
"approved": "Approved",
|
||||
"rejected": "Rejected",
|
||||
"revoked": "Revoked"
|
||||
},
|
||||
"section": {
|
||||
"basic": "Basic Info",
|
||||
"scope": "Scope Config",
|
||||
"steps": "Approval Steps",
|
||||
"tasks": "Approval Tasks",
|
||||
"logs": "Approval Logs",
|
||||
"snapshot": "Approval Snapshot"
|
||||
},
|
||||
"helper": {
|
||||
"scope": "Limit the flow by resource category or applicant department. Leave empty to apply globally.",
|
||||
"scopeEmpty": "No scope configured. This flow applies globally."
|
||||
},
|
||||
"fields": {
|
||||
"flowName": "Flow Name",
|
||||
"resourceType": "Resource Type",
|
||||
"actionType": "Action Type",
|
||||
"priority": "Priority",
|
||||
"version": "Version",
|
||||
"status": "Status",
|
||||
"remark": "Remark",
|
||||
"scopeSummary": "Scope Summary",
|
||||
"stepCount": "Step Count",
|
||||
"includeChildren": "Include Children",
|
||||
"stepName": "Step Name",
|
||||
"stepNoLabel": "Step No.",
|
||||
"currentStep": "Current Step",
|
||||
"summary": "Summary",
|
||||
"resourceId": "Resource ID",
|
||||
"taskId": "Approval Task ID",
|
||||
"applicant": "Applicant",
|
||||
"applicantId": "Applicant ID",
|
||||
"submittedAt": "Submitted At",
|
||||
"finishedAt": "Finished At",
|
||||
"assigneeTarget": "Assignee",
|
||||
"actedBy": "Acted By",
|
||||
"actedAt": "Acted At",
|
||||
"comment": "Comment",
|
||||
"eventType": "Event Type",
|
||||
"operatorId": "Operator ID",
|
||||
"operatorName": "Operator Name",
|
||||
"createdAt": "Created At",
|
||||
"eventInfo": "Event Info",
|
||||
"stepNo": "Step {value}"
|
||||
},
|
||||
"event": {
|
||||
"approved": "Approved",
|
||||
"rejected": "Rejected",
|
||||
"revoked": "Revoked",
|
||||
"stepCreated": "Step Created",
|
||||
"submitted": "Submitted"
|
||||
},
|
||||
"placeholder": {
|
||||
"flowName": "Search flow name",
|
||||
"keyword": "Search summary",
|
||||
"resourceType": "Filter resource type",
|
||||
"actionType": "Filter action type",
|
||||
"flowStatus": "Filter flow status",
|
||||
"instanceStatus": "Status",
|
||||
"scopeValue": "Select scope value",
|
||||
"assigneeType": "Select assignee type",
|
||||
"assigneeTarget": "Select assignee",
|
||||
"stepName": "Enter step name",
|
||||
"actionComment": "Enter a comment"
|
||||
},
|
||||
"message": {
|
||||
"needStep": "At least one step is required",
|
||||
"needStepAssignee": "Each approval step requires an assignee",
|
||||
"saveSuccess": "Flow saved",
|
||||
"statusUpdated": "Flow status updated",
|
||||
"deleteSuccess": "Flow deleted",
|
||||
"actionSuccess": "Approval action completed",
|
||||
"confirmDeleteFlow": "This action cannot be undone. Continue?",
|
||||
"confirmFlowStatus": "Confirm to {title}?",
|
||||
"eventApproved": "Approval completed",
|
||||
"eventApprovedStep": "Step {value} approved",
|
||||
"eventRejected": "Approval rejected",
|
||||
"eventRejectedStep": "Step {value} rejected",
|
||||
"eventRevoked": "Approval revoked",
|
||||
"eventRevokedStep": "Step {value} revoked",
|
||||
"workflowSnapshotUntitled": "Untitled workflow snapshot",
|
||||
"workflowSnapshotMissing": "Workflow snapshot not found",
|
||||
"workflowSnapshotParseFailed": "Failed to parse workflow snapshot"
|
||||
},
|
||||
"snapshot": {
|
||||
"knowledgeBasic": "Basic Info",
|
||||
"knowledgeConfig": "Retrieval Config",
|
||||
"botOverview": "Assistant Overview",
|
||||
"botModelConfig": "Model Config",
|
||||
"botBindings": "Capability Bindings",
|
||||
"systemPrompt": "System Prompt",
|
||||
"department": "Department",
|
||||
"category": "Category",
|
||||
"modelName": "Model Name",
|
||||
"vectorStoreType": "Vector Store Type",
|
||||
"vectorEmbedModel": "Embedding Model",
|
||||
"rerankModel": "Rerank Model",
|
||||
"maxMessageCount": "Max Context Messages",
|
||||
"canUpdateEmbeddingModel": "Allow Embedding Update",
|
||||
"anonymousEnabled": "Anonymous Access",
|
||||
"anonymousDisabled": "Login Only",
|
||||
"knowledgeBindings": "Knowledge Bases",
|
||||
"workflowBindings": "Workflows",
|
||||
"pluginBindings": "Plugins",
|
||||
"mcpBindings": "MCP",
|
||||
"expandPrompt": "Expand",
|
||||
"collapsePrompt": "Collapse",
|
||||
"enabled": "Enabled",
|
||||
"disabled": "Disabled",
|
||||
"notConfigured": "Not configured",
|
||||
"noBindings": "No bindings",
|
||||
"untitledKnowledge": "Untitled knowledge base",
|
||||
"untitledBot": "Untitled assistant",
|
||||
"unnamedKnowledge": "Unnamed knowledge base",
|
||||
"unnamedWorkflow": "Unnamed workflow",
|
||||
"unnamedPlugin": "Unnamed plugin",
|
||||
"unnamedMcp": "Unnamed MCP"
|
||||
}
|
||||
}
|
||||
@@ -11,6 +11,20 @@
|
||||
"deepThinking": "DeepThinking",
|
||||
"enableDeepThinking": "EnableDeepThinking",
|
||||
"publish": "Publish",
|
||||
"publishStatusLabel": "Current Release",
|
||||
"publishStatusDraft": "Draft",
|
||||
"publishStatusDraftDesc": "Only the draft is saved. External chat and Public API are still unavailable.",
|
||||
"publishStatusPublishPending": "Publish Pending",
|
||||
"publishStatusPublishPendingDesc": "The assistant will switch to the new release after approval.",
|
||||
"publishStatusPublished": "Published",
|
||||
"publishStatusPublishedDesc": "The current release is externally available. Ongoing edits still stay in draft.",
|
||||
"publishStatusDeletePending": "Delete Pending",
|
||||
"publishStatusDeletePendingDesc": "The current release remains available, but it is no longer offered as a new binding candidate.",
|
||||
"submitPublishApprovalConfirm": "Submit the current draft to publish approval. It becomes externally available only after approval.",
|
||||
"submitDeleteApprovalConfirm": "Submit the bot to delete approval. It will be physically deleted only after approval.",
|
||||
"publishPendingHint": "There is already an approval in progress for this bot.",
|
||||
"deletePendingHint": "There is already an approval in progress for this bot.",
|
||||
"publishRequiredHint": "There is no released version yet. Submit publish approval first.",
|
||||
"postToWeChatOfficialAccount": "PostToWeChatOfficialAccount",
|
||||
"publishExternalLink": "Publish External Chat Link",
|
||||
"configured": "Configured",
|
||||
|
||||
@@ -41,7 +41,10 @@
|
||||
"markAsResolved": "MarkAsResolved",
|
||||
"optimizing": "Optimizing",
|
||||
"regenerate": "Regenerate",
|
||||
"republish": "Republish",
|
||||
"hide": "Hide",
|
||||
"more": "Mode",
|
||||
"submitDeleteApproval": "Submit Delete Approval",
|
||||
"submitPublishApproval": "Submit Publish Approval",
|
||||
"viewSegmentation": "ViewSegmentation"
|
||||
}
|
||||
|
||||
@@ -35,6 +35,15 @@
|
||||
"documentType": "DocumentType",
|
||||
"fileName": "fileName",
|
||||
"knowledgeCount": "Number of knowledge items",
|
||||
"publishStatusDraft": "Draft",
|
||||
"publishStatusPublishPending": "Publish Pending",
|
||||
"publishStatusPublished": "Published",
|
||||
"publishStatusDeletePending": "Delete Pending",
|
||||
"publishStatusLabel": "Release",
|
||||
"submitPublishApprovalConfirm": "The knowledge base will enter the publish approval flow. It can be referenced by bots only after approval.",
|
||||
"submitDeleteApprovalConfirm": "The knowledge base will enter the delete approval flow. It will be physically deleted only after approval.",
|
||||
"publishPendingHint": "There is already an approval in progress for this knowledge base.",
|
||||
"deletePendingHint": "There is already an approval in progress for this knowledge base.",
|
||||
"createdModifyTime": "Creation/update time",
|
||||
"documentList": "documentList",
|
||||
"knowledgeRetrieval": "knowledgeRetrieval",
|
||||
|
||||
@@ -13,6 +13,11 @@
|
||||
"sysJob": "Job",
|
||||
"sysLog": "Log",
|
||||
"sysFeedback": "UserFeedback",
|
||||
"approval": "Approval",
|
||||
"approvalFlow": "Flow Setup",
|
||||
"approvalPending": "Pending",
|
||||
"approvalProcessed": "Processed",
|
||||
"approvalInitiated": "Initiated",
|
||||
"sysAppearance": "Appearance",
|
||||
"oauth": "OAuth"
|
||||
},
|
||||
|
||||
@@ -62,6 +62,15 @@
|
||||
"subProcess": "子流程",
|
||||
"workflowSelect": "工作流选择",
|
||||
"bochaSearch": "博查搜索",
|
||||
"publishStatusDraft": "草稿",
|
||||
"publishStatusPublishPending": "发布审批中",
|
||||
"publishStatusPublished": "已发布",
|
||||
"publishStatusDeletePending": "删除审批中",
|
||||
"publishStatusLabel": "发布状态",
|
||||
"submitPublishApprovalConfirm": "提交后会进入发布审批,审批通过后新版本才会正式对外可用。",
|
||||
"submitDeleteApprovalConfirm": "提交后会进入删除审批,审批通过后将执行真实删除。",
|
||||
"publishPendingHint": "当前工作流已有进行中的审批,请等待处理完成。",
|
||||
"deletePendingHint": "当前工作流已有进行中的审批,请等待处理完成。",
|
||||
"check": "检查",
|
||||
"checkPassed": "工作流检查通过",
|
||||
"checkFailed": "工作流检查未通过,请先修复问题",
|
||||
|
||||
161
easyflow-ui-admin/app/src/locales/langs/zh-CN/approval.json
Normal file
161
easyflow-ui-admin/app/src/locales/langs/zh-CN/approval.json
Normal file
@@ -0,0 +1,161 @@
|
||||
{
|
||||
"title": "审批详情",
|
||||
"tab": {
|
||||
"flow": "流程配置",
|
||||
"pending": "待审批",
|
||||
"processed": "已审批",
|
||||
"initiated": "我发起"
|
||||
},
|
||||
"resource": {
|
||||
"bot": "聊天助手",
|
||||
"workflow": "工作流",
|
||||
"knowledge": "知识库"
|
||||
},
|
||||
"action": {
|
||||
"publish": "发布",
|
||||
"delete": "删除",
|
||||
"addFlow": "新建流程",
|
||||
"editFlow": "编辑流程",
|
||||
"enableFlow": "启用流程",
|
||||
"disableFlow": "停用流程",
|
||||
"approve": "通过",
|
||||
"reject": "驳回",
|
||||
"revoke": "撤回",
|
||||
"addScope": "新增范围",
|
||||
"addStep": "新增步骤"
|
||||
},
|
||||
"scope": {
|
||||
"category": "分类",
|
||||
"dept": "部门"
|
||||
},
|
||||
"assignee": {
|
||||
"role": "角色",
|
||||
"user": "用户"
|
||||
},
|
||||
"status": {
|
||||
"enabled": "启用",
|
||||
"disabled": "停用",
|
||||
"pending": "待审批",
|
||||
"processing": "审批中",
|
||||
"approved": "已通过",
|
||||
"rejected": "已驳回",
|
||||
"revoked": "已撤回"
|
||||
},
|
||||
"section": {
|
||||
"basic": "基础信息",
|
||||
"scope": "范围配置",
|
||||
"steps": "审批步骤",
|
||||
"tasks": "审批任务",
|
||||
"logs": "审批日志",
|
||||
"snapshot": "审批快照"
|
||||
},
|
||||
"helper": {
|
||||
"scope": "按资源分类或申请人部门限定流程命中范围;留空时默认对全部资源生效。",
|
||||
"scopeEmpty": "未配置范围,当前流程默认全局生效。"
|
||||
},
|
||||
"fields": {
|
||||
"flowName": "流程名称",
|
||||
"resourceType": "资源类型",
|
||||
"actionType": "动作类型",
|
||||
"priority": "优先级",
|
||||
"version": "版本",
|
||||
"status": "状态",
|
||||
"remark": "备注",
|
||||
"scopeSummary": "命中范围",
|
||||
"stepCount": "步骤数",
|
||||
"includeChildren": "包含子级",
|
||||
"stepName": "步骤名称",
|
||||
"stepNoLabel": "步骤序号",
|
||||
"currentStep": "当前步骤",
|
||||
"summary": "审批摘要",
|
||||
"resourceId": "资源ID",
|
||||
"taskId": "审批任务ID",
|
||||
"applicant": "申请人",
|
||||
"applicantId": "申请人ID",
|
||||
"submittedAt": "提交时间",
|
||||
"finishedAt": "完成时间",
|
||||
"assigneeTarget": "审批对象",
|
||||
"actedBy": "处理人",
|
||||
"actedAt": "处理时间",
|
||||
"comment": "处理意见",
|
||||
"eventType": "事件类型",
|
||||
"operatorId": "操作人ID",
|
||||
"operatorName": "操作人名称",
|
||||
"createdAt": "创建时间",
|
||||
"eventInfo": "事件信息",
|
||||
"stepNo": "第 {value} 步"
|
||||
},
|
||||
"event": {
|
||||
"approved": "审批通过",
|
||||
"rejected": "审批驳回",
|
||||
"revoked": "审批撤回",
|
||||
"stepCreated": "步骤创建",
|
||||
"submitted": "提交审批"
|
||||
},
|
||||
"placeholder": {
|
||||
"flowName": "搜索流程名称",
|
||||
"keyword": "搜索审批摘要",
|
||||
"resourceType": "筛选资源类型",
|
||||
"actionType": "筛选动作类型",
|
||||
"flowStatus": "筛选流程状态",
|
||||
"instanceStatus": "审批状态",
|
||||
"scopeValue": "请选择范围值",
|
||||
"assigneeType": "请选择审批方式",
|
||||
"assigneeTarget": "请选择审批对象",
|
||||
"stepName": "请输入步骤名称",
|
||||
"actionComment": "请输入处理说明"
|
||||
},
|
||||
"message": {
|
||||
"needStep": "至少需要一个审批步骤",
|
||||
"needStepAssignee": "每个审批步骤都需要配置审批对象",
|
||||
"saveSuccess": "审批流程已保存",
|
||||
"statusUpdated": "流程状态已更新",
|
||||
"deleteSuccess": "流程已删除",
|
||||
"actionSuccess": "审批操作已完成",
|
||||
"confirmDeleteFlow": "删除后将无法恢复,确认继续吗?",
|
||||
"confirmFlowStatus": "确认执行{title}吗?",
|
||||
"eventApproved": "审批已通过",
|
||||
"eventApprovedStep": "第 {value} 步已通过",
|
||||
"eventRejected": "审批已驳回",
|
||||
"eventRejectedStep": "第 {value} 步已驳回",
|
||||
"eventRevoked": "审批已撤回",
|
||||
"eventRevokedStep": "第 {value} 步已撤回",
|
||||
"workflowSnapshotUntitled": "未命名工作流快照",
|
||||
"workflowSnapshotMissing": "未找到工作流快照",
|
||||
"workflowSnapshotParseFailed": "工作流快照解析失败"
|
||||
},
|
||||
"snapshot": {
|
||||
"knowledgeBasic": "基础信息",
|
||||
"knowledgeConfig": "检索配置",
|
||||
"botOverview": "助手概览",
|
||||
"botModelConfig": "模型配置",
|
||||
"botBindings": "能力绑定",
|
||||
"systemPrompt": "系统提示词",
|
||||
"department": "所属部门",
|
||||
"category": "所属分类",
|
||||
"modelName": "模型名称",
|
||||
"vectorStoreType": "向量数据库类型",
|
||||
"vectorEmbedModel": "向量模型",
|
||||
"rerankModel": "重排模型",
|
||||
"maxMessageCount": "最大上下文消息数",
|
||||
"canUpdateEmbeddingModel": "允许更新向量模型",
|
||||
"anonymousEnabled": "允许匿名访问",
|
||||
"anonymousDisabled": "仅登录访问",
|
||||
"knowledgeBindings": "知识库",
|
||||
"workflowBindings": "工作流",
|
||||
"pluginBindings": "插件",
|
||||
"mcpBindings": "MCP",
|
||||
"expandPrompt": "展开全文",
|
||||
"collapsePrompt": "收起全文",
|
||||
"enabled": "已开启",
|
||||
"disabled": "已关闭",
|
||||
"notConfigured": "未配置",
|
||||
"noBindings": "未绑定任何能力",
|
||||
"untitledKnowledge": "未命名知识库",
|
||||
"untitledBot": "未命名聊天助手",
|
||||
"unnamedKnowledge": "未命名知识库",
|
||||
"unnamedWorkflow": "未命名工作流",
|
||||
"unnamedPlugin": "未命名插件",
|
||||
"unnamedMcp": "未命名MCP"
|
||||
}
|
||||
}
|
||||
@@ -11,6 +11,20 @@
|
||||
"deepThinking": "深度思考",
|
||||
"enableDeepThinking": "是否启用深度思考",
|
||||
"publish": "发布",
|
||||
"publishStatusLabel": "当前正式版本",
|
||||
"publishStatusDraft": "草稿",
|
||||
"publishStatusDraftDesc": "当前仅保存草稿,外链聊天和 Public API 仍不可用。",
|
||||
"publishStatusPublishPending": "发布审批中",
|
||||
"publishStatusPublishPendingDesc": "审批通过后,聊天助手会切换为新的正式版本。",
|
||||
"publishStatusPublished": "已发布",
|
||||
"publishStatusPublishedDesc": "当前正式版本已可对外使用,编辑中的草稿不会立即影响线上。",
|
||||
"publishStatusDeletePending": "删除审批中",
|
||||
"publishStatusDeletePendingDesc": "当前正式版本仍可访问,但不会继续作为新的绑定候选。",
|
||||
"submitPublishApprovalConfirm": "提交后会进入发布审批,审批通过后聊天助手才会正式对外可用。",
|
||||
"submitDeleteApprovalConfirm": "提交后会进入删除审批,审批通过后将执行真实删除。",
|
||||
"publishPendingHint": "当前聊天助手已有进行中的审批,请等待处理完成。",
|
||||
"deletePendingHint": "当前聊天助手已有进行中的审批,请等待处理完成。",
|
||||
"publishRequiredHint": "当前还没有正式发布版本,请先提交发布审批。",
|
||||
"postToWeChatOfficialAccount": "发布到微信公众号",
|
||||
"publishExternalLink": "发布外链聊天页",
|
||||
"configured": "已配置",
|
||||
|
||||
@@ -41,7 +41,10 @@
|
||||
"markAsResolved": "标记已处理",
|
||||
"optimizing": "正在优化中...",
|
||||
"regenerate": "重新生成",
|
||||
"republish": "重新发布",
|
||||
"hide": "隐藏",
|
||||
"more": "更多",
|
||||
"submitDeleteApproval": "提交删除审批",
|
||||
"submitPublishApproval": "提交发布审批",
|
||||
"viewSegmentation": "查看分段"
|
||||
}
|
||||
|
||||
@@ -35,6 +35,15 @@
|
||||
"documentType": "文件类型",
|
||||
"fileName": "文件名",
|
||||
"knowledgeCount": "知识条数",
|
||||
"publishStatusDraft": "草稿",
|
||||
"publishStatusPublishPending": "发布审批中",
|
||||
"publishStatusPublished": "已发布",
|
||||
"publishStatusDeletePending": "删除审批中",
|
||||
"publishStatusLabel": "发布状态",
|
||||
"submitPublishApprovalConfirm": "提交后会进入发布审批,审批通过后该知识库才可作为正式版本被聊天助手引用。",
|
||||
"submitDeleteApprovalConfirm": "提交后会进入删除审批,审批通过后将执行真实删除。",
|
||||
"publishPendingHint": "当前知识库已有进行中的审批,请等待处理完成。",
|
||||
"deletePendingHint": "当前知识库已有进行中的审批,请等待处理完成。",
|
||||
"createdModifyTime": "创建/更新时间",
|
||||
"documentList": "文档列表",
|
||||
"knowledgeRetrieval": "知识检索",
|
||||
|
||||
@@ -13,6 +13,11 @@
|
||||
"sysJob": "定时任务",
|
||||
"sysLog": "日志管理",
|
||||
"sysFeedback": "用户反馈",
|
||||
"approval": "审批管理",
|
||||
"approvalFlow": "流程配置",
|
||||
"approvalPending": "待审批",
|
||||
"approvalProcessed": "已审批",
|
||||
"approvalInitiated": "我发起",
|
||||
"sysAppearance": "外观设置",
|
||||
"oauth": "认证设置"
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user