一句話:本卡屬 FR-103(母卡 CM-1829),第 7 棒:主專案有新舊兩代 BPMN 流程編輯器並存,五支活頁面仍用舊版。決策者 2026-09-16 裁走丙案、另開此卡。⚠️ 先評估功能對等再決定要不要動手,不是直接改。
系統裡有兩套畫流程圖的編輯器:舊的在 src/views/workflow/,新的在 src/views/flow-template/。新的有自己的選單(流程範本管理,是活的);舊的選單已經關了,但五支活頁面仍然用程式直接打開它。
本棒要評估:能不能讓那五支改用新版,然後把舊版整包退役。但先評估、不要直接動手——兩代之間的功能是否對等、參數怎麼帶,都還沒查過。
舊版 src/views/workflow/ 16 檔
WorkflowSetupEditor.vue 55KB(2026-09-15 更新過)
WorkflowSetupForm.vue 入口(/workflow/workflow-setup)
CustomContextPadModule.js 等 BPMN 模組
BpmnProcess/ 一整包
components/translate/ 德文翻譯等
新版 src/views/flow-template/
FlowTemplateEditorView.vue 57KB(2026-09-15 更新過)
FlowTemplateManageView.vue 25KB
bpmn/ 自己的模組
選單 flow-template-manage,ui_routes enable=1(活的)
🔴 兩邊零共用——src/views/flow-template/ 完全沒有 import src/views/workflow/
的任何東西(實查 grep 零命中)。各有一支同名的 CustomPaletteProvider,
是各自獨立的檔案。
五支還在用舊版的活頁面:
TaskSetupView.vue:524 window.open('/workflow/workflow-setup?...') 三個按鈕
ProjectPlanningView.vue:1930 window.open(...)
ModuleFrameItems.vue:103 router.push('/workflow/workflow-setup', query:{id})
ModuleFrameTemplateEditView.vue:104 window.open('/workflow/workflow-setup?id=...')
ModuleFrameDetail.vue:150 router.push(..., query:{id: workflow_template_uid})
舊版打的兩支 API 都還活著:/flow-engine/process-definition(守門 jwt_required)與 /module-frame/item/xml(守門 module-frame.update),後端都還註冊著。
第一階段(唯讀評估)——做完回寫,等決策者裁示才進第二階段:
processDefinitionId 載入、存回 module-frame/item/xml、任務類型下拉的授權清單處理、租戶檢查)?id=<uid> query,新版走什麼?五支頁面各自帶的是什麼 id(workflow_template_uid/control_assessment.workflow_template_uid/其他),新版認不認得/module-frame/item/xml,那「存回模組框架」這條路徑怎麼走window.open 獨立視窗的用法(WorkflowSetupEditor.vue:122 註解提到「本頁可能以獨立視窗開啟,AppLayout 的到期橫幅不一定掛得到」),新版是否支援第二階段(實作,等裁示):五支頁面改指向新版 → 驗證五支都正常 → 刪 src/views/workflow/ 16 檔 + 拔 /workflow/workflow-setup 路由 + 清 i18n + 刪 DB 的 workflow.* 四個權限點(前一棒刻意留著的)。
一份對照表寫進本卡回寫:新版能不能完全取代舊版,不能的話差在哪幾項、補起來要多少工。
並給出建議:① 可以直接遷 ② 要先補新版功能才能遷 ③ 兩代並存有其理由、不該遷(若是這個,說明理由並建議怎麼標註,讓後人不再誤判為死碼)。