diff --git a/system1-factory/api/db/migrations/20260313100000_create_purchase_system.sql b/system1-factory/api/db/migrations/20260313100000_create_purchase_system.sql index 36d2f2a..b5bf40d 100644 --- a/system1-factory/api/db/migrations/20260313100000_create_purchase_system.sql +++ b/system1-factory/api/db/migrations/20260313100000_create_purchase_system.sql @@ -21,6 +21,7 @@ CREATE TABLE IF NOT EXISTS vendors ( CREATE TABLE IF NOT EXISTS consumable_items ( item_id INT AUTO_INCREMENT PRIMARY KEY, item_name VARCHAR(100) NOT NULL, + spec VARCHAR(200) DEFAULT NULL, maker VARCHAR(100), category ENUM('consumable','safety','repair','equipment') NOT NULL COMMENT '소모품, 안전용품, 수선비, 설비', @@ -30,7 +31,7 @@ CREATE TABLE IF NOT EXISTS consumable_items ( is_active TINYINT(1) DEFAULT 1, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - UNIQUE KEY uq_name_maker (item_name, maker) + UNIQUE KEY uq_name_spec_maker (item_name, spec, maker) ); -- 구매신청 (tkfb에서 CRUD) — item_id NULL 허용 + 직접입력/사진 컬럼 추가 diff --git a/system2-report/web/js/chat-report.js b/system2-report/web/js/chat-report.js index 0ecbe8b..c7a096a 100644 --- a/system2-report/web/js/chat-report.js +++ b/system2-report/web/js/chat-report.js @@ -630,7 +630,7 @@ async function submitReport() { linkDiv.className = 'summary-actions'; if (isNonconformity) { linkDiv.innerHTML = ` - + `; } else { diff --git a/system3-nonconformance/web/static/js/core/auth-manager.js b/system3-nonconformance/web/static/js/core/auth-manager.js index c233fa8..541c6ff 100644 --- a/system3-nonconformance/web/static/js/core/auth-manager.js +++ b/system3-nonconformance/web/static/js/core/auth-manager.js @@ -94,7 +94,7 @@ class AuthManager { if (hostname.includes('technicalkorea.net')) { return window.location.protocol + '//tkds.technicalkorea.net/dashboard?redirect=' + encodeURIComponent(window.location.href); } - return window.location.protocol + '//' + hostname + ':30780/dashboard?redirect=' + encodeURIComponent(window.location.href); + return window.location.protocol + '//' + hostname + ':30000/dashboard?redirect=' + encodeURIComponent(window.location.href); } /** diff --git a/system3-nonconformance/web/static/js/m/m-common.js b/system3-nonconformance/web/static/js/m/m-common.js index ad0d65e..0b81975 100644 --- a/system3-nonconformance/web/static/js/m/m-common.js +++ b/system3-nonconformance/web/static/js/m/m-common.js @@ -52,7 +52,7 @@ function renderBottomNav(activePage) { { icon: 'fa-chart-line', label: '현황판', href: '/m/dashboard.html', page: 'dashboard' }, { icon: 'fa-inbox', label: '수신함', href: '/m/inbox.html', page: 'inbox' }, { icon: 'fa-tasks', label: '관리함', href: '/m/management.html', page: 'management' }, - { icon: 'fa-bullhorn', label: '신고', href: 'https://tkreport.technicalkorea.net', page: 'report', external: true, highlight: true } + { icon: 'fa-bullhorn', label: '신고', href: (location.hostname.includes('technicalkorea.net') ? 'https://tkreport.technicalkorea.net' : location.protocol + '//' + location.hostname + ':30180'), page: 'report', external: true, highlight: true } ]; items.forEach(function (item) { var a = document.createElement('a');