feat: 實作三個錦囊 AI 功能
- 新增 AI 錦囊 CSS 樣式到 components.css - 創建 js/ai-bags.js 模組,包含: * 5個模組各3個錦囊的預設 prompt 模板 * executeAIBag() - 執行 AI 生成並填充表單 * editBagPrompt() - 編輯自定義 prompt * LocalStorage 管理自定義 prompt - 更新 index.html: * 替換 5 處 AI 按鈕為三個錦囊(崗位基礎、招聘要求、職務、部門職責、崗位描述) * 新增 Prompt 編輯模態框 - 更新 main.js 引入 ai-bags.js 並初始化 - 新增設計文檔:三個錦囊設計.md - 新增欄位對照文檔:表單欄位清單.md、更新欄位名稱.md、ID重命名對照表.md 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
286
ID重命名對照表.md
Normal file
286
ID重命名對照表.md
Normal file
@@ -0,0 +1,286 @@
|
||||
# HTML ID 重命名對照表
|
||||
|
||||
## 變更概覽
|
||||
- **總計需變更:72 個**
|
||||
- **無需變更:13 個**
|
||||
- **總欄位數:85 個**
|
||||
|
||||
---
|
||||
|
||||
## 模組 1: 崗位基礎資料 - 基礎資料頁籤
|
||||
**需變更:15 / 15**
|
||||
|
||||
| 舊 ID | 新 ID | 欄位名稱 | 備註 |
|
||||
|-------|-------|---------|------|
|
||||
| `businessUnit` | `pos_businessUnit` | 事業體 (Business Unit) | |
|
||||
| `division` | `pos_division` | 處級單位 (Division) | |
|
||||
| `department` | `pos_department` | 部級單位 (Department) | |
|
||||
| `section` | `pos_section` | 課級單位 (Section) | |
|
||||
| `positionCode` | `pos_code` | 崗位編號 | 必填欄位 |
|
||||
| `effectiveDate` | `pos_effectiveDate` | 生效日期 | |
|
||||
| `positionName` | `pos_name` | 崗位名稱 | 必填欄位 |
|
||||
| `positionLevel` | `pos_level` | 崗位級別 | |
|
||||
| `positionCategory` | `pos_category` | 崗位類別 | onchange 事件 |
|
||||
| `positionCategoryName` | `pos_categoryName` | 崗位類別名稱 | readonly |
|
||||
| `positionNature` | `pos_type` | 崗位性質 | onchange 事件,注意:資料庫改為 positionType |
|
||||
| `positionNatureName` | `pos_typeName` | 崗位性質名稱 | readonly,資料庫改為 positionTypeName |
|
||||
| `headcount` | `pos_headcount` | 編制人數 | |
|
||||
| `positionDesc` | `pos_desc` | 崗位描述 | 資料庫改為 description |
|
||||
| `positionRemark` | `pos_remark` | 崗位備注 | 資料庫改為 remark |
|
||||
|
||||
---
|
||||
|
||||
## 模組 2: 崗位基礎資料 - 招聘要求頁籤
|
||||
**需變更:18 / 18**
|
||||
|
||||
| 舊 ID | 新 ID | 欄位名稱 | 備註 |
|
||||
|-------|-------|---------|------|
|
||||
| `minEducation` | `rec_eduLevel` | 最低學歷 | 資料庫改為 educationLevel |
|
||||
| `requiredGender` | `rec_gender` | 要求性別 | |
|
||||
| `salaryRange` | `rec_salaryRange` | 薪酬范圍 | |
|
||||
| `workExperience` | `rec_expYears` | 工作經驗 | 資料庫改為 experienceYears |
|
||||
| `minAge` | `rec_minAge` | 最小年齡 | |
|
||||
| `maxAge` | `rec_maxAge` | 最大年齡 | |
|
||||
| `jobType` | `rec_jobType` | 工作性質 | |
|
||||
| `recruitPosition` | `rec_position` | 招聘職位 | 資料庫改為 recruitPosition |
|
||||
| `jobTitle` | `rec_jobTitle` | 職位名稱(對外) | |
|
||||
| `superiorPosition` | `rec_superiorCode` | 上級崗位編號 | 資料庫改為 superiorPositionCode |
|
||||
| `jobDesc` | `rec_jobDesc` | 職位描述(JD) | 資料庫改為 recruitJobDesc |
|
||||
| `positionReq` | `rec_positionReq` | 崗位要求(Req) | 資料庫改為 recruitRequirements |
|
||||
| `titleReq` | `rec_certReq` | 職稱要求 | 語義更正為「證照要求」,資料庫改為 certRequirements |
|
||||
| `majorReq` | `rec_majorReq` | 專業要求 | 資料庫改為 majorRequirements |
|
||||
| `skillReq` | `rec_skillReq` | 技能要求 | 資料庫改為 skillRequirements |
|
||||
| `langReq` | `rec_langReq` | 語言要求 | 資料庫改為 langRequirements |
|
||||
| `otherReq` | `rec_otherReq` | 其他要求 | 資料庫改為 otherRequirements |
|
||||
| `recruitRemark` | `rec_remark` | 招聘備注 | 資料庫改為 recruitRemark |
|
||||
|
||||
---
|
||||
|
||||
## 模組 3: 職務基礎資料
|
||||
**需變更:12 / 12**
|
||||
|
||||
| 舊 ID | 新 ID | 欄位名稱 | 備註 |
|
||||
|-------|-------|---------|------|
|
||||
| `jobCategoryCode` | `job_category` | 職務類別編號 | 必填欄位,onchange 事件 |
|
||||
| `jobCategoryName` | `job_categoryName` | 職務類別名稱 | readonly |
|
||||
| `jobCode` | `job_code` | 職務編號 | 必填欄位 |
|
||||
| `jobName` | `job_name` | 職務名稱 | 必填欄位 |
|
||||
| `jobNameEn` | `job_nameEn` | 職務英文 | |
|
||||
| `jobEffectiveDate` | `job_effectiveDate` | 生效日期 | 資料庫改為 effectiveDate |
|
||||
| `jobLevel` | `job_level` | 職務層級 | 敏感欄位 |
|
||||
| `jobHeadcount` | `job_headcount` | 編制人數 | 資料庫改為 headcount |
|
||||
| `jobSortOrder` | `job_sortOrder` | 排列順序 | 資料庫改為 sortOrder |
|
||||
| `hasAttendanceBonus` | `job_hasAttBonus` | 全勤獎金 | Toggle Switch |
|
||||
| `hasHousingAllowance` | `job_hasHouseAllow` | 住房補貼 | Toggle Switch |
|
||||
| `jobRemark` | `job_remark` | 職務備注 | 資料庫改為 remark |
|
||||
|
||||
---
|
||||
|
||||
## 模組 4: 部門職責
|
||||
**需變更:19 / 19**
|
||||
|
||||
| 舊 ID | 新 ID | 欄位名稱 | 備註 |
|
||||
|-------|-------|---------|------|
|
||||
| `deptFunctionCode` | `df_code` | 部門職責編號 | 必填欄位,資料庫改為 dfCode |
|
||||
| `deptFunctionName` | `df_name` | 部門職責名稱 | 必填欄位,資料庫改為 dfName |
|
||||
| `deptFunctionBU` | `df_businessUnit` | 事業體 (第1個) | 必填欄位,已合併重複欄位 |
|
||||
| `deptFunc_businessUnit` | `df_businessUnit` | 事業體 (第2個) | **合併為同一欄位** |
|
||||
| `deptFunc_division` | `df_division` | 處級單位 | 必填欄位 |
|
||||
| `deptFunc_department` | `df_department` | 部級單位 | 必填欄位 |
|
||||
| `deptFunc_section` | `df_section` | 課級單位 | |
|
||||
| `deptFunc_positionTitle` | `df_posTitle` | 崗位名稱 | 必填欄位,資料庫改為 positionTitle |
|
||||
| `deptFunc_positionLevel` | `df_posLevel` | 崗位級別 | 資料庫保持 positionLevel |
|
||||
| `deptManager` | `df_managerTitle` | 部門主管職稱 | 資料庫改為 managerTitle |
|
||||
| `deptFunctionEffectiveDate` | `df_effectiveDate` | 生效日期 | 必填欄位,資料庫改為 effectiveDate |
|
||||
| `deptHeadcount` | `df_headcountLimit` | 部門人數上限 | 資料庫改為 headcountLimit |
|
||||
| `deptStatus` | `df_status` | 部門狀態 | 資料庫改為 status |
|
||||
| `deptMission` | `df_mission` | 部門使命 | 資料庫改為 mission |
|
||||
| `deptVision` | `df_vision` | 部門願景 | 資料庫改為 vision |
|
||||
| `deptCoreFunctions` | `df_coreFunc` | 核心職責 | 必填欄位,資料庫改為 coreFunctions |
|
||||
| `deptKPIs` | `df_kpis` | 關鍵績效指標 | 資料庫改為 kpis |
|
||||
| `deptCollaboration` | `df_collab` | 協作部門 | 資料庫改為 collaboration |
|
||||
| `deptFunctionRemark` | `df_remark` | 備注 | 資料庫改為 remark |
|
||||
|
||||
**特別注意:** 原本有兩個事業體欄位 (`deptFunctionBU` 和 `deptFunc_businessUnit`),新規範已合併為單一欄位 `df_businessUnit`。
|
||||
|
||||
---
|
||||
|
||||
## 模組 5: 崗位描述 - 基本信息
|
||||
**需變更:3 / 4**
|
||||
|
||||
| 舊 ID | 新 ID | 欄位名稱 | 備註 |
|
||||
|-------|-------|---------|------|
|
||||
| `jd_empNo` | `jd_empNo` | 工號 | ✓ 無需變更 |
|
||||
| `jd_empName` | `jd_empName` | 姓名 | ✓ 無需變更 |
|
||||
| `jd_positionCode` | `jd_posCode` | 崗位代碼 | |
|
||||
| `jd_versionDate` | `jd_versionDate` | 版本更新日期 | ✓ 無需變更 |
|
||||
|
||||
---
|
||||
|
||||
## 模組 6: 崗位描述 - 崗位基本信息
|
||||
**需變更:10 / 14**
|
||||
|
||||
| 舊 ID | 新 ID | 欄位名稱 | 備註 |
|
||||
|-------|-------|---------|------|
|
||||
| `jd_positionName` | `jd_posName` | 崗位名稱 | |
|
||||
| `jd_businessUnit` | `jd_businessUnit` | 事業體 | ✓ 無需變更 |
|
||||
| `jd_division` | `jd_division` | 處級單位 | ✓ 無需變更 |
|
||||
| `jd_department` | `jd_department` | 部級單位 | ✓ 無需變更 |
|
||||
| `jd_section` | `jd_section` | 課級單位 | ✓ 無需變更 |
|
||||
| `jd_positionTitle` | `(刪除)` | 崗位名稱 (重複) | 與 positionName 重複,建議刪除 |
|
||||
| `jd_positionLevel` | `jd_posLevel` | 崗位級別 | |
|
||||
| `jd_positionEffectiveDate` | `jd_posEffDate` | 崗位生效日期 | |
|
||||
| `jd_directSupervisor` | `jd_supervisor` | 直接領導職務 | |
|
||||
| `jd_positionGradeJob` | `jd_gradeJob` | 崗位職等&職務 | Modal 選擇器 |
|
||||
| `jd_reportTo` | `jd_reportTo` | 匯報對象職務 | ✓ 無需變更 |
|
||||
| `jd_directReports` | `jd_directReports` | 直接下級 | ✓ 無需變更 |
|
||||
| `jd_workLocation` | `jd_location` | 任職地點 | |
|
||||
| `jd_empAttribute` | `jd_empAttr` | 員工屬性 | |
|
||||
|
||||
---
|
||||
|
||||
## 模組 7: 崗位描述 - 部門職責資訊
|
||||
**需變更:3 / 5**
|
||||
|
||||
| 舊 ID | 新 ID | 欄位名稱 | 備註 |
|
||||
|-------|-------|---------|------|
|
||||
| `jd_deptFunctionCode` | `jd_dfCode` | 部門職責編號 | readonly |
|
||||
| `jd_deptFunctionBU` | `(保留)` | 事業體 | 建議保留或改為 jd_dfBU |
|
||||
| `jd_deptMission` | `jd_deptMission` | 部門使命 | ✓ 無需變更 |
|
||||
| `jd_deptCoreFunctions` | `jd_deptCoreFunctions` | 部門核心職責 | ✓ 無需變更 |
|
||||
| `jd_deptKPIs` | `jd_deptKPIs` | 部門 KPIs | ✓ 無需變更 |
|
||||
|
||||
**說明:** 這些是 readonly 欄位,自動帶入,可保持現有命名以維持與來源資料的一致性。
|
||||
|
||||
---
|
||||
|
||||
## 模組 8: 崗位描述 - 職責描述
|
||||
**需變更:1 / 2**
|
||||
|
||||
| 舊 ID | 新 ID | 欄位名稱 | 備註 |
|
||||
|-------|-------|---------|------|
|
||||
| `jd_positionPurpose` | `jd_purpose` | 崗位設置目的 | |
|
||||
| `jd_mainResponsibilities` | `jd_mainResp` | 主要崗位職責 | Numbered textarea |
|
||||
|
||||
---
|
||||
|
||||
## 模組 9: 崗位描述 - 崗位要求
|
||||
**需變更:5 / 5**
|
||||
|
||||
| 舊 ID | 新 ID | 欄位名稱 | 備註 |
|
||||
|-------|-------|---------|------|
|
||||
| `jd_education` | `jd_eduLevel` | 教育程度 | |
|
||||
| `jd_basicSkills` | `jd_basicSkills` | 基本技能 | ✓ 無需變更 |
|
||||
| `jd_professionalKnowledge` | `jd_proKnowledge` | 專業知識 | |
|
||||
| `jd_workExperienceReq` | `jd_expReq` | 工作經驗 | |
|
||||
| `jd_otherRequirements` | `jd_otherReq` | 其他 | |
|
||||
|
||||
---
|
||||
|
||||
## 重要變更說明
|
||||
|
||||
### 1. 前綴標準化
|
||||
所有欄位統一採用模組前綴:
|
||||
- `pos_` - 崗位基礎資料
|
||||
- `rec_` - 招聘要求
|
||||
- `job_` - 職務基礎資料
|
||||
- `df_` - 部門職責
|
||||
- `jd_` - 崗位描述
|
||||
|
||||
### 2. 命名簡化
|
||||
- `positionCode` → `pos_code`
|
||||
- `positionName` → `pos_name`
|
||||
- `positionCategory` → `pos_category`
|
||||
- `positionNature` → `pos_type` (語義更精確)
|
||||
- `hasAttendanceBonus` → `job_hasAttBonus` (縮寫簡化)
|
||||
|
||||
### 3. 語義改善
|
||||
- `titleReq` → `rec_certReq` (職稱要求 → 證照要求)
|
||||
- `positionNature` → `pos_type` (性質 → 類型,更符合英文語義)
|
||||
- `workExperience` → `rec_expYears` (經驗年數更明確)
|
||||
|
||||
### 4. 資料庫欄位同步變更
|
||||
部分 HTML ID 變更時,資料庫欄位名稱也需要對應修改:
|
||||
- `positionNature` → `positionType`
|
||||
- `positionDesc` → `description`
|
||||
- `positionRemark` → `remark`
|
||||
- `minEducation` → `educationLevel`
|
||||
|
||||
### 5. 重複欄位合併
|
||||
部門職責模組中的兩個事業體欄位:
|
||||
- 原:`deptFunctionBU` 和 `deptFunc_businessUnit`
|
||||
- 新:統一為 `df_businessUnit`
|
||||
|
||||
---
|
||||
|
||||
## 實施建議
|
||||
|
||||
### 階段 1: 資料庫遷移
|
||||
1. 執行資料庫欄位重命名 SQL 腳本
|
||||
2. 更新所有 ORM Model 定義
|
||||
3. 更新 API 回應的欄位名稱
|
||||
|
||||
### 階段 2: 前端更新
|
||||
1. 全局搜尋替換 HTML ID
|
||||
2. 更新所有 JavaScript 選擇器
|
||||
3. 更新 CSS 樣式選擇器
|
||||
4. 更新表單驗證邏輯
|
||||
|
||||
### 階段 3: 測試驗證
|
||||
1. 單元測試:驗證所有表單欄位綁定
|
||||
2. 整合測試:驗證資料儲存與讀取
|
||||
3. E2E 測試:完整流程測試
|
||||
4. 回歸測試:確保無遺漏欄位
|
||||
|
||||
### 階段 4: 文檔更新
|
||||
1. API 文檔更新
|
||||
2. 資料字典更新
|
||||
3. 開發指南更新
|
||||
4. 使用者手冊更新(如有影響)
|
||||
|
||||
---
|
||||
|
||||
## 風險評估
|
||||
|
||||
### 高風險變更 (必填欄位)
|
||||
- `positionCode` → `pos_code`
|
||||
- `positionName` → `pos_name`
|
||||
- `jobCode` → `job_code`
|
||||
- `jobName` → `job_name`
|
||||
- `deptFunctionCode` → `df_code`
|
||||
|
||||
**建議:** 優先測試這些欄位的儲存與驗證邏輯。
|
||||
|
||||
### 中風險變更 (聯動欄位)
|
||||
- 組織結構欄位:`businessUnit`, `division`, `department`, `section`
|
||||
- 自動帶出欄位:`positionCategoryName`, `positionNatureName`
|
||||
|
||||
**建議:** 仔細測試聯動邏輯和 onchange 事件。
|
||||
|
||||
### 低風險變更 (選填欄位)
|
||||
- 備注類欄位
|
||||
- 描述類欄位
|
||||
|
||||
---
|
||||
|
||||
## 檢查清單
|
||||
|
||||
- [ ] 資料庫遷移腳本已準備
|
||||
- [ ] Model 定義已更新
|
||||
- [ ] HTML 表單 ID 已更新
|
||||
- [ ] JavaScript 選擇器已更新
|
||||
- [ ] CSS 樣式已更新
|
||||
- [ ] API 端點已更新
|
||||
- [ ] 驗證邏輯已更新
|
||||
- [ ] 單元測試已通過
|
||||
- [ ] 整合測試已通過
|
||||
- [ ] E2E 測試已通過
|
||||
- [ ] 文檔已更新
|
||||
- [ ] 程式碼審查已完成
|
||||
|
||||
---
|
||||
|
||||
**文檔版本:** v1.0
|
||||
**建立日期:** 2025-12-06
|
||||
**最後更新:** 2025-12-06
|
||||
**維護者:** 系統開發團隊
|
||||
Reference in New Issue
Block a user