本卡屬 FR-162(母卡見「母卡」欄),批 4,等 3a,與 2b/3b 平行(不同檔)。批次沒勾到、來源後來補傳、做到才想到的補救入口,加上帶入證據的來源標示。只改 FE repo。
做任務時打開證據區,如果其他專案有對應的證據還沒帶進來,證據區上方多一條提示「其他專案有 3 份符合的證據」,展開列出來源專案、對應的控制項與評估目標、關係、檔名,勾選帶入。已帶入的證據在清單裡有一個標籤「從 CMMC 專案帶入」,點標籤看來源專案與那邊的判定結果;稽核員在判定頁的證據清單看到同樣標籤。
~/Projects/Billows/Audit-Manager/compliance-manager-be/docs/features/FR-162-2610-cross-framework-control-mapping/design.md(決策表 D1~D11、詳細設計含 DDL、拆分表);盤點與官方資料分析:~/Projects/Billows/Audit-Manager/compliance-manager-be/docs/analysis/2026-10-24-cross-framework-control-mapping.md。本卡已帶足開工所需細節,不必先讀完。GET /jobs/:uid/mapped-evidence -> rows 同 preview 單任務版(evidences 內每筆帶 mapping_entry_id)
POST /jobs/:uid/mapped-evidence/adopt body [{evidence_uid, mapping_entry_id}] -> {adopted, skipped}
既有證據清單 API 每筆多:mapped_from_evidence_id, mapping_entry_id, mapped_from_project_name(3a 加的)
JobExecutionDrawer.vue 2,360 行已超標:只加一行掛載 <JobMappedEvidenceSection :job-uid=... @adopted="reloadEvidence" /> 在既有證據區塊下方;邏輯全在新檔 src/components/grc/job-drawer/JobMappedEvidenceSection.vue。提示列預設收合,顯示數量;展開是小表(來源專案/來源 AO/關係 Tag/檔名/Checkbox)+「帶入所選」。src/utils/evidenceMapper.js 的 mapFileEvidence/mapLinkEvidence 加 mapped_from_evidence_id、mapping_entry_id、mapped_from_project_name(照 inherited_from_round_id 那兩行)。job-drawer/JobEvidenceLinksSection.vue 約 205 行有 inherited_from_prev_round Tag,同位置加 v-if="el.mapped_from_evidence_id" Tag lang.grc_shared.mapped_from_other_framework(文案「從 {{project}} 專案帶入」帶專案名);Tag 加 v-tooltip 顯示來源控制項與判定。inherited_from_prev_round 找到所有顯示承襲 Tag 的元件,每一處都加同樣的 mapped Tag(清點單位是「讀取該欄位的地方」不是頁面)。回寫列出改了哪幾處。lang.grc_shared.mapped_from_other_framework、lang.mapped_evidence.* 中英;Tag 色與 2b/3b 共用 mappingTags.js。grep -rn "border-left" src/components/grc/job-drawer/JobMappedEvidenceSection.vue 空。src/config/api/api.js,service 繼承 src/service/BaseService.js;能力點常數加 src/config/capabilities.js;i18n 在 src/config/locales/(zh_Hant_TW 與 en 都補);error code 對照 error-code.json 中英同步。