refactor: 建立核心 JavaScript 模組
- 建立 js 目錄 - 分離核心模組: * config.js - API 端點、常數、資料對應表 * utils.js - XSS 防護、表單工具、Toast、錯誤處理 * api.js - LLM API、Position API、CSV API ✨ 使用 ES6 Modules 架構 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
82
js/config.js
Normal file
82
js/config.js
Normal file
@@ -0,0 +1,82 @@
|
||||
/**
|
||||
* Configuration - 設定檔
|
||||
* 包含 API 端點、常數定義、資料對應表
|
||||
*/
|
||||
|
||||
// ==================== API Configuration ====================
|
||||
export const API_BASE_URL = '/api';
|
||||
|
||||
// ==================== 下拉選單資料 (從 Excel 提取) ====================
|
||||
|
||||
// 事業體
|
||||
export const businessUnits = [
|
||||
'半導體事業群', '汽車事業體', '法務室', '岡山製造事業體', '產品事業體',
|
||||
'晶圓三廠', '集團人資行政事業體', '集團財務事業體', '集團會計事業體',
|
||||
'集團資訊事業體', '新創事業體', '稽核室', '總經理室', '總品質事業體', '營業事業體'
|
||||
];
|
||||
|
||||
// 處級單位
|
||||
export const deptLevel1Units = [
|
||||
'半導體事業群', '汽車事業體', '法務室', '生產處', '岡山製造事業體', '封裝工程處',
|
||||
'副總辦公室', '測試工程與研發處', '資材處', '廠務與環安衛管理處', '產品事業體',
|
||||
'先進產品事業處', '成熟產品事業處', '晶圓三廠', '製程工程處', '集團人資行政事業體',
|
||||
'集團財務事業體', '岡山強茂財務處', '集團會計事業體', '岡山會計處', '集團會計處',
|
||||
'集團資訊事業體', '資安行動小組', '資訊一處', '資訊二處', '新創事業體',
|
||||
'中低壓產品研發處', '研發中心', '高壓產品研發處', '稽核室', '總經理室',
|
||||
'ESG專案辦公室', '專案管理室', '總品質事業體', '營業事業體', '商業開發暨市場應用處',
|
||||
'海外銷售事業處', '全球技術服務處', '全球行銷暨業務支援處', '大中華區銷售事業處'
|
||||
];
|
||||
|
||||
// 部級單位
|
||||
export const deptLevel2Units = [
|
||||
'生產部', '生產企劃部', '岡山品質管制部', '製程工程一部', '製程工程二部', '設備一部',
|
||||
'設備二部', '工業工程部', '測試工程部', '新產品導入部', '研發部', '採購部',
|
||||
'外部資源部', '生管部', '原物料控制部', '廠務部', '產品管理部(APD)', '產品管理部(MPD)',
|
||||
'品質部', '製造部', '廠務部(Fab3)', '工程一部', '工程二部', '工程三部',
|
||||
'製程整合部(Fab3)', '行政總務管理部', '招募任用部', '訓練發展部', '薪酬管理部',
|
||||
'岡山強茂財務部', '會計部', '管理會計部', '集團合併報表部', '應用系統部',
|
||||
'電腦整合製造部', '系統網路服務部', '資源管理部', '客戶品質管理部', '產品品質管理部',
|
||||
'品質系統及客戶工程整合部', '封測外包品質管理部', '品質保證部', '日本區暨代工業務部',
|
||||
'歐亞區業務部', '韓國區業務部-韓國區', '美洲區業務部', '應用工程部(GTS)', '系統工程部',
|
||||
'特性測試部', '業務生管部', '市場行銷企劃部', 'MOSFET晶圓採購部', '台灣區業務部',
|
||||
'業務一部', '業務二部'
|
||||
];
|
||||
|
||||
// 崗位名稱
|
||||
export const positionNames = [
|
||||
'營運長', '營運長助理', '副總經理', '專案經理', '經副理', '法務專員', '專利工程師',
|
||||
'處長', '專員', '課長', '組長', '班長', '副班長', '作業員', '工程師', '副總經理助理',
|
||||
'副理', '專案經副理', '顧問', '人資長', '助理', '財務長', '專案副理', '會計長',
|
||||
'資訊長', '主任', '總裁', '總經理', '專員/工程師', '經理', '技術經副理', '處長/資深經理'
|
||||
];
|
||||
|
||||
// ==================== 資料對應表 ====================
|
||||
|
||||
// 崗位類別代碼對應中文名稱
|
||||
export const categoryMap = {
|
||||
'01': '技術職',
|
||||
'02': '管理職',
|
||||
'03': '業務職',
|
||||
'04': '行政職'
|
||||
};
|
||||
|
||||
// 崗位性質代碼對應中文名稱
|
||||
export const natureMap = {
|
||||
'FT': '全職',
|
||||
'PT': '兼職',
|
||||
'CT': '約聘',
|
||||
'IN': '實習'
|
||||
};
|
||||
|
||||
// 職務類別代碼對應中文名稱
|
||||
export const jobCategoryMap = {
|
||||
'MGR': '管理職',
|
||||
'TECH': '技術職',
|
||||
'SALE': '業務職',
|
||||
'ADMIN': '行政職',
|
||||
'RD': '研發職',
|
||||
'PROD': '生產職'
|
||||
};
|
||||
|
||||
// ==================== Toast 持續時間 ====================
|
||||
export const TOAST_DURATION = 3000;
|
||||
Reference in New Issue
Block a user