From af2f6ddf5c68b2c11d05c9f379963b1c4c10f4b1 Mon Sep 17 00:00:00 2001 From: kent Date: Sun, 10 Aug 2025 02:36:50 +0900 Subject: [PATCH] feat : Front Page [Ver 0.1] --- public/html/inc/footer.php | 10 + public/html/inc/header.php | 34 ++ public/html/pages/home.html | 2 + public/tenant/api/login_process.php | 24 + public/tenant/api/register_process.php | 27 + public/tenant/approval/instances.php | 59 ++ public/tenant/approval/objects.php | 42 ++ public/tenant/approval/pool.php | 32 ++ public/tenant/approval/rules.php | 145 +++++ public/tenant/assets/js/permission_menu.js | 91 +++ public/tenant/category/category_list.php | 295 ++++++++++ public/tenant/category/subcategory_list.php | 274 +++++++++ public/tenant/inc/config.php | 3 + public/tenant/inc/footer.php | 39 ++ public/tenant/inc/header.php | 81 +++ public/tenant/inc/navi.php | 231 ++++++++ public/tenant/index.php | 13 + public/tenant/inventory/defective.php | 8 + public/tenant/inventory/stock.php | 8 + public/tenant/material/inspection_list.php | 8 + public/tenant/material/inventory_status.php | 8 + public/tenant/material/list.php | 507 +++++++++++++++++ public/tenant/member/dashboard.php | 279 +++++++++ public/tenant/member/intro.php | 47 ++ public/tenant/member/login.php | 66 +++ public/tenant/member/logout.php | 9 + public/tenant/member/profile_edit.php | 66 +++ public/tenant/member/register.php | 66 +++ public/tenant/member/tenant_add_process.php | 22 + public/tenant/member/tenant_select.php | 38 ++ .../tenant/member/tenant_select_process.php | 18 + public/tenant/member/withdraw.php | 77 +++ public/tenant/order/edit.php | 8 + public/tenant/order/manage.php | 8 + public/tenant/order/status.php | 8 + public/tenant/permission/analyze.php | 532 ++++++++++++++++++ public/tenant/permission/approver.php | 70 +++ public/tenant/permission/audit.php | 52 ++ public/tenant/permission/department.php | 253 +++++++++ public/tenant/permission/role.php | 189 +++++++ public/tenant/permission/structure.php | 113 ++++ public/tenant/permission/tenant_menu.php | 301 ++++++++++ public/tenant/permission/user.php | 226 ++++++++ public/tenant/process/process_form.php | 92 +++ public/tenant/process/process_settings.php | 169 ++++++ public/tenant/process/processes.php | 92 +++ public/tenant/process/task_form.php | 40 ++ public/tenant/process/tasks.php | 55 ++ public/tenant/product/bending.php | 289 ++++++++++ public/tenant/product/bom_combined.php | 8 + public/tenant/product/bom_editor.php | 295 ++++++++++ public/tenant/product/code_lot.php | 8 + public/tenant/product/model_list.php | 310 ++++++++++ public/tenant/product/product_price.php | 8 + public/tenant/production/bend_work.php | 8 + public/tenant/production/mid_inspection.php | 101 ++++ public/tenant/production/process_detail.php | 201 +++++++ public/tenant/production/screen_progress.php | 275 +++++++++ public/tenant/production/screen_work.php | 281 +++++++++ public/tenant/production/slat_work.php | 8 + public/tenant/production/work_instruction.php | 406 +++++++++++++ public/tenant/quality/docs.php | 8 + public/tenant/quality/record.php | 8 + public/tenant/quality/request.php | 8 + public/tenant/quality/schedule.php | 8 + public/tenant/shipment/monthly_schedule.php | 8 + public/tenant/shipment/status.php | 8 + public/tenant/subscription/list.php | 8 + public/tenant/subscription/tenant_list.php | 8 + .../subscription/tenant_product_list.php | 8 + public/tenant/tenant/department_list.php | 346 ++++++++++++ public/tenant/tenant/edit.php | 108 ++++ public/tenant/tenant/join.php | 87 +++ public/tenant/tenant/role_add.php | 38 ++ public/tenant/tenant/role_delete.php | 19 + public/tenant/tenant/role_edit.php | 56 ++ public/tenant/tenant/role_list.php | 198 +++++++ public/tenant/tenant/subscribe.php | 8 + public/tenant/tenant/user_edit.php | 124 ++++ public/tenant/tenant/user_list.php | 347 ++++++++++++ public/tenant/tenant/user_unmap.php | 20 + public/tenant/tenant/withdraw.php | 111 ++++ public/tenant/tenant_base.html | 37 ++ public/tenant/test.html | 27 + 84 files changed, 8633 insertions(+) create mode 100644 public/html/inc/footer.php create mode 100644 public/html/inc/header.php create mode 100644 public/html/pages/home.html create mode 100644 public/tenant/api/login_process.php create mode 100644 public/tenant/api/register_process.php create mode 100644 public/tenant/approval/instances.php create mode 100644 public/tenant/approval/objects.php create mode 100644 public/tenant/approval/pool.php create mode 100644 public/tenant/approval/rules.php create mode 100644 public/tenant/assets/js/permission_menu.js create mode 100644 public/tenant/category/category_list.php create mode 100644 public/tenant/category/subcategory_list.php create mode 100644 public/tenant/inc/config.php create mode 100644 public/tenant/inc/footer.php create mode 100644 public/tenant/inc/header.php create mode 100644 public/tenant/inc/navi.php create mode 100644 public/tenant/index.php create mode 100644 public/tenant/inventory/defective.php create mode 100644 public/tenant/inventory/stock.php create mode 100644 public/tenant/material/inspection_list.php create mode 100644 public/tenant/material/inventory_status.php create mode 100644 public/tenant/material/list.php create mode 100644 public/tenant/member/dashboard.php create mode 100644 public/tenant/member/intro.php create mode 100644 public/tenant/member/login.php create mode 100644 public/tenant/member/logout.php create mode 100644 public/tenant/member/profile_edit.php create mode 100644 public/tenant/member/register.php create mode 100644 public/tenant/member/tenant_add_process.php create mode 100644 public/tenant/member/tenant_select.php create mode 100644 public/tenant/member/tenant_select_process.php create mode 100644 public/tenant/member/withdraw.php create mode 100644 public/tenant/order/edit.php create mode 100644 public/tenant/order/manage.php create mode 100644 public/tenant/order/status.php create mode 100644 public/tenant/permission/analyze.php create mode 100644 public/tenant/permission/approver.php create mode 100644 public/tenant/permission/audit.php create mode 100644 public/tenant/permission/department.php create mode 100644 public/tenant/permission/role.php create mode 100644 public/tenant/permission/structure.php create mode 100644 public/tenant/permission/tenant_menu.php create mode 100644 public/tenant/permission/user.php create mode 100644 public/tenant/process/process_form.php create mode 100644 public/tenant/process/process_settings.php create mode 100644 public/tenant/process/processes.php create mode 100644 public/tenant/process/task_form.php create mode 100644 public/tenant/process/tasks.php create mode 100644 public/tenant/product/bending.php create mode 100644 public/tenant/product/bom_combined.php create mode 100644 public/tenant/product/bom_editor.php create mode 100644 public/tenant/product/code_lot.php create mode 100644 public/tenant/product/model_list.php create mode 100644 public/tenant/product/product_price.php create mode 100644 public/tenant/production/bend_work.php create mode 100644 public/tenant/production/mid_inspection.php create mode 100644 public/tenant/production/process_detail.php create mode 100644 public/tenant/production/screen_progress.php create mode 100644 public/tenant/production/screen_work.php create mode 100644 public/tenant/production/slat_work.php create mode 100644 public/tenant/production/work_instruction.php create mode 100644 public/tenant/quality/docs.php create mode 100644 public/tenant/quality/record.php create mode 100644 public/tenant/quality/request.php create mode 100644 public/tenant/quality/schedule.php create mode 100644 public/tenant/shipment/monthly_schedule.php create mode 100644 public/tenant/shipment/status.php create mode 100644 public/tenant/subscription/list.php create mode 100644 public/tenant/subscription/tenant_list.php create mode 100644 public/tenant/subscription/tenant_product_list.php create mode 100644 public/tenant/tenant/department_list.php create mode 100644 public/tenant/tenant/edit.php create mode 100644 public/tenant/tenant/join.php create mode 100644 public/tenant/tenant/role_add.php create mode 100644 public/tenant/tenant/role_delete.php create mode 100644 public/tenant/tenant/role_edit.php create mode 100644 public/tenant/tenant/role_list.php create mode 100644 public/tenant/tenant/subscribe.php create mode 100644 public/tenant/tenant/user_edit.php create mode 100644 public/tenant/tenant/user_list.php create mode 100644 public/tenant/tenant/user_unmap.php create mode 100644 public/tenant/tenant/withdraw.php create mode 100644 public/tenant/tenant_base.html create mode 100644 public/tenant/test.html diff --git a/public/html/inc/footer.php b/public/html/inc/footer.php new file mode 100644 index 0000000..06e05d0 --- /dev/null +++ b/public/html/inc/footer.php @@ -0,0 +1,10 @@ + + + + + + + diff --git a/public/html/inc/header.php b/public/html/inc/header.php new file mode 100644 index 0000000..26d6d66 --- /dev/null +++ b/public/html/inc/header.php @@ -0,0 +1,34 @@ + + + + + + + 작업 지시 생성 + + + + + +
diff --git a/public/html/pages/home.html b/public/html/pages/home.html new file mode 100644 index 0000000..f909751 --- /dev/null +++ b/public/html/pages/home.html @@ -0,0 +1,2 @@ +

Welcome to my Pure PHP Website!

+

This is the main content of the page.

diff --git a/public/tenant/api/login_process.php b/public/tenant/api/login_process.php new file mode 100644 index 0000000..49581da --- /dev/null +++ b/public/tenant/api/login_process.php @@ -0,0 +1,24 @@ + false, 'message' => '아이디를 입력하세요.']); + exit; +} + +if ($userid === 'tenant') { + $_SESSION['user_id'] = 'tenant'; +} else { + $_SESSION['user_id'] = 'user'; +} + +echo json_encode(['success' => true]); +exit; +?> diff --git a/public/tenant/api/register_process.php b/public/tenant/api/register_process.php new file mode 100644 index 0000000..bc1547e --- /dev/null +++ b/public/tenant/api/register_process.php @@ -0,0 +1,27 @@ +alert('모든 항목을 입력하세요.'); history.back();"; + exit; +} +if ($password !== $password2) { + echo ""; + exit; +} + +// 실제로는 DB에 유저 등록해야 하지만, 샘플이므로 생략 + +// 세션 생성 (user로) +$_SESSION['user_id'] = 'user'; + +// 가입 성공 → 대시보드 이동 +header("Location: /tenant/member/dashboard.php"); +exit; diff --git a/public/tenant/approval/instances.php b/public/tenant/approval/instances.php new file mode 100644 index 0000000..9b66383 --- /dev/null +++ b/public/tenant/approval/instances.php @@ -0,0 +1,59 @@ + +
+
+
+ 결재 현황 + + + +
+
+ + + + + + +
#대상참조키상태작성자생성일보기
101LEAVE5678진행중kevin2025-08-01
+
+
+
+ + + + + + + diff --git a/public/tenant/approval/objects.php b/public/tenant/approval/objects.php new file mode 100644 index 0000000..40ba75d --- /dev/null +++ b/public/tenant/approval/objects.php @@ -0,0 +1,42 @@ + +
+
+
+ 결재 대상 관리 + +
+
+ + + + + + + + +
코드이름연결 메뉴관리
LEAVE연차 신청/tenant/hr/leave_apply.php규칙 +
IQC_REPORT수입성적서/tenant/quality/iqc_report.php규칙 +
+
+
+
+ + + + + + diff --git a/public/tenant/approval/pool.php b/public/tenant/approval/pool.php new file mode 100644 index 0000000..d5aa83f --- /dev/null +++ b/public/tenant/approval/pool.php @@ -0,0 +1,32 @@ + +
+
+
+ 결재권자 풀 관리 +
+ + + + +
+
+
+ + + + + + + +
유형대상관리
부서개발팀
역할일반관리자
개인kevin
+
+
+
+ + diff --git a/public/tenant/approval/rules.php b/public/tenant/approval/rules.php new file mode 100644 index 0000000..b0a648b --- /dev/null +++ b/public/tenant/approval/rules.php @@ -0,0 +1,145 @@ + +
+
+
+
+
+ 결재 규칙 () + +
+
+
    +
  • 연차 기본 규칙
  • +
  • 연차 간소화 규칙
  • +
+
+
+
+ +
+
+
결재선(트리)
+
+
+ 문서 생성 시 포함된 승인자가 자동으로 1차 결재자(루트)가 됩니다. + 아래 트리는 루트 이후 상위 결재자를 parent_id로 연결합니다. +
+ +
+ +
    +
  • +
    + 루트=문서 포함 승인자(동적) +
    +
      +
    • +
      + 개발팀 + required: 1 + +
      +
        +
      • +
        + 일반관리자 + required: 1 + +
        +
      • +
      • +
        + kevin + required: 1 + +
        +
      • +
      +
    • +
    +
  • +
+
+ +
+ + + + +
+ +
* “상위 추가”는 현재 포커스 노드의 parent로 삽입하는 의미(=다음 결재자).
+
+
+
+
+
+ + + + + diff --git a/public/tenant/assets/js/permission_menu.js b/public/tenant/assets/js/permission_menu.js new file mode 100644 index 0000000..0f8d461 --- /dev/null +++ b/public/tenant/assets/js/permission_menu.js @@ -0,0 +1,91 @@ +// /tenant/assets/js/permission_menu.js +// 공통: 메뉴 트리 데이터 관리 + 행 빌더 + 전파/요약 유틸 + +window.PermissionMenu = (function () { + let MENU_DATA = []; + let TENANT_USE = {}; // code:boolean (메뉴관리에서 활성화된 것만 권한 대상) + let byId = {}, byCode = {}, childrenMap = {}; + + // ---------- 내부 유틸 ---------- + const esc = s => String(s) + .replace(/&/g,'&').replace(//g,'>').replace(/"/g,'"').replace(/'/g,'''); + + function rebuildMaps() { + const active = MENU_DATA.filter(n => !!TENANT_USE[n.code]); + byId = {}; byCode = {}; childrenMap = {}; + active.forEach(n => { byId[n.id] = n; byCode[n.code] = n; }); + active.forEach(n => { + const k = n.parent_id ?? 0; + (childrenMap[k] ??= []).push(n); + }); + // 정렬 + Object.keys(childrenMap).forEach(k => childrenMap[k].sort((a,b)=>a.title.localeCompare(b.title,'ko'))); + } + + function badgeSource(src) { + if (src === 'workflow') return 'workflow'; + if (src === 'board') return 'board'; + return 'system'; + } + + function indentOf(depth) { + return ' '.repeat(depth*4) + (depth ? '└ ' : ''); + } + + // ---------- 외부 API ---------- + /** + * 데이터 세팅 (페이지 최초 1회) + * @param {Array} menuData - [{id,parent_id,title,code,path,source}] + * @param {Object} tenantUse - { code: true/false } + */ + function setData(menuData, tenantUse) { + MENU_DATA = Array.isArray(menuData) ? menuData : []; + TENANT_USE = tenantUse || {}; + rebuildMaps(); + } + + /** + * 트리 순회하며 행을 만든다. + * @param {Function} rowBuilder - (node, depth) => string (추가 컬럼 HTML) + * @returns {string} HTML rows + * + * 기본 1열(메뉴명/배지/URL)은 공통이 그려주고, + * 나머지 열들은 rowBuilder가 반환한 HTML을 붙인다. + */ + function buildRows(rowBuilder) { + function walk(parentId = null, depth = 0, acc = []) { + const list = childrenMap[parentId ?? 0] || []; + for (const n of list) { + const titleCell = ` + + ${indentOf(depth)} + ${esc(n.title)} + ${badgeSource(n.source || 'system')} + ${n.path ? `${esc(n.path)}` : ''} + `; + const rest = rowBuilder ? rowBuilder(n, depth) : ''; + acc.push(`${titleCell}${rest}`); + walk(n.id, depth + 1, acc); + } + return acc; + } + return walk(null, 0, []).join(''); + } + + // 전파/요약에 필요한 헬퍼들을 노출 (페이지별 권한 UI에서 사용) + function childrenOf(code) { + const node = byCode[code]; + return node ? (childrenMap[node.id] || []) : []; + } + function parentOf(code) { + const node = byCode[code]; + return (node && node.parent_id) ? byId[node.parent_id] : null; + } + function activeCodes() { + return Object.keys(byCode); + } + function maps() { return { byId, byCode, childrenMap }; } + + return { setData, buildRows, childrenOf, parentOf, activeCodes, maps }; +})(); diff --git a/public/tenant/category/category_list.php b/public/tenant/category/category_list.php new file mode 100644 index 0000000..fd2aa47 --- /dev/null +++ b/public/tenant/category/category_list.php @@ -0,0 +1,295 @@ + + +
+
+
+

카테고리 트리

+
+ + +
+
+ +
+ + + + + + + + + + +
#카테고리명설명관리
+
+
+
+ + + + + + + + + + + + + + + diff --git a/public/tenant/category/subcategory_list.php b/public/tenant/category/subcategory_list.php new file mode 100644 index 0000000..eb1af3a --- /dev/null +++ b/public/tenant/category/subcategory_list.php @@ -0,0 +1,274 @@ + + +
+
+
+
+

분류(서브카테고리)

+ + +
+ +
+ +
+ + + + + + + + + + +
#분류명설명관리
+
+
+
+ + + + + + + + + + + + + diff --git a/public/tenant/inc/config.php b/public/tenant/inc/config.php new file mode 100644 index 0000000..ac16853 --- /dev/null +++ b/public/tenant/inc/config.php @@ -0,0 +1,3 @@ + diff --git a/public/tenant/inc/footer.php b/public/tenant/inc/footer.php new file mode 100644 index 0000000..5a5b828 --- /dev/null +++ b/public/tenant/inc/footer.php @@ -0,0 +1,39 @@ +


+
+ © 2025 CodeBridge. All rights reserved. +
+ + + + + + + + diff --git a/public/tenant/inc/header.php b/public/tenant/inc/header.php new file mode 100644 index 0000000..ba2d30a --- /dev/null +++ b/public/tenant/inc/header.php @@ -0,0 +1,81 @@ + + + + + + + SAM::테넌트페이지 + + + + + + + + + + +
+

SAM (Smart Automation Management)

+ +
diff --git a/public/tenant/inc/navi.php b/public/tenant/inc/navi.php new file mode 100644 index 0000000..4c5558d --- /dev/null +++ b/public/tenant/inc/navi.php @@ -0,0 +1,231 @@ + [ + 'title'=>'품목', + 'items'=>[ + ['라벨'=>'품목관리','href'=>'/tenant/material/list.php'], + ['라벨'=>'BOM 단품(기초 바람시)','href'=>'/tenant/product//bending.php'], + ['라벨'=>'BOM 결합 상품','href'=>'/tenant/product/bom_combined.php'], + ['라벨'=>'제품 단가','href'=>'/tenant/product/product_price.php'], + ['라벨'=>'코드 및 로트 관리','href'=>'/tenant/product/code_lot.php'], + ], + ], + 'order' => [ + 'title'=>'수주', + 'items'=>[ + ['라벨'=>'견적 관리','href'=>'/tenant/order/manage.php'], + ['라벨'=>'수주 관리','href'=>'/tenant/order/manage.php'], + ['라벨'=>'수주 등록/수정','href'=>'/tenant/order/edit.php'], + ['라벨'=>'상태 관리','href'=>'/tenant/order/status.php'], + ], + ], + 'process' => [ + 'title'=>'생산', + 'items'=>[ + ['라벨'=>'공정관리','href'=>'/tenant/process/processes.php'], + ['라벨'=>'작업관리','href'=>'/tenant/process/tasks.php'], + ['라벨'=>'작업지시 설정','href'=>'/tenant/process/process_settings.php'], + ['라벨'=>'스크린 작업','href'=>'/tenant/production/screen_work.php'], + ['라벨'=>'슬랫 작업','href'=>'/tenant/production/screen_work.php'], + ['라벨'=>'절곡 작업','href'=>'/tenant/production/screen_work.php'], + ], + ], + 'shipment' => [ + 'title'=>'출고', + 'items'=>[ + ['라벨'=>'출고 현황 조회','href'=>'/tenant/shipment/status.php'], + ['라벨'=>'월간 출고 일정','href'=>'/tenant/shipment/monthly_schedule.php'], + ], + ], + 'quality' => [ + 'title'=>'품질', + 'items'=>[ + ['라벨'=>'제품 검사 요청','href'=>'/tenant/quality/request.php'], + ['라벨'=>'제품 검사 일정','href'=>'/tenant/quality/schedule.php'], + ['라벨'=>'품질 인정 실적 대장','href'=>'/tenant/quality/record.php'], + ['라벨'=>'인정서류 자료실','href'=>'/tenant/quality/docs.php'], + ], + ], + 'inventory' => [ + 'title'=>'재고', + 'items'=>[ + ['라벨'=>'재고 조회','href'=>'/tenant/inventory/stock.php'], + ['라벨'=>'수입 검사 대장','href'=>'/tenant/material/inspection_list.php'], + ['라벨'=>'입고 현황','href'=>'/tenant/material/inventory_status.php'], + ['라벨'=>'부적합품 관리','href'=>'/tenant/inventory/defective.php'], + ], + ], + 'subscription' => [ + 'title'=>'구독', + 'items'=>[ + ['라벨'=>'구독 하기','href'=>'/tenant/tenant/subscribe.php'], + ['라벨'=>'구독 관리','href'=>'/tenant/subscription/list.php'], + ['라벨'=>'회사 조회','href'=>'/tenant/subscription/tenant_list.php'], + ['라벨'=>'상품별 회사 리스트','href'=>'/tenant/subscription/tenant_product_list.php'], + ], + ], + 'member' => [ + 'title' => '회원', + 'items' => [ + ['라벨'=>'가입','href'=>'/tenant/member/register.php'], + ['라벨'=>'회사 선택','href'=>'/tenant/member/tenant_select.php'], + ['라벨'=>'내정보 수정','href'=>'/tenant/member/profile_edit.php'], + ['라벨'=>'탈퇴','href'=>'/tenant/member/withdraw.php'], + ], + ], + 'permission' => [ + 'title'=>'메뉴/권한', + 'items'=>[ + ['라벨'=>'메뉴 관리','href'=>'/tenant/permission/tenant_menu.php'], + ['라벨'=>'부서 권한 설정','href'=>'/tenant/permission/department.php'], + ['라벨'=>'역할 권한 설정','href'=>'/tenant/permission/role.php'], + ['라벨'=>'유저 권한 설정','href'=>'/tenant/permission/user.php'], + ['라벨'=>'권한 분석','href'=>'/tenant/permission/analyze.php'], + ], + ], + 'approval' => [ + 'title'=>'결재(승인)', + 'items'=>[ + ['라벨'=>'결재 대상 관리','href'=>'/tenant/approval/objects.php'], + ['라벨'=>'결재 규칙/결재선 관리','href'=>'/tenant/approval/rules.php'], + ['라벨'=>'결재권자 관리','href'=>'/tenant/approval/pool.php'], + ['라벨'=>'결재 현황 조회','href'=>'/tenant/approval/instances.php'], + ], + ], + 'tenant' => [ + 'title'=>'회사', + 'items'=>[ + ['라벨'=>'회사 가입','href'=>'/tenant/tenant/join.php'], + ['라벨'=>'수정','href'=>'/tenant/tenant/edit.php'], + ['라벨'=>'탈퇴','href'=>'/tenant/tenant/withdraw.php'], + ['라벨'=>'카테고리 관리','href'=>'/tenant/category/category_list.php'], + ['라벨'=>'분류 관리','href'=>'/tenant/category/subcategory_list.php'], + ['라벨'=>'부서 관리','href'=>'/tenant/tenant/department_list.php'], + ['라벨'=>'역할 관리','href'=>'/tenant/tenant/role_list.php'], + ['라벨'=>'유저 관리','href'=>'/tenant/tenant/user_list.php'], + ], + ], +]; + +// ② 1뎁스가 없는 화면에서 노출할 "기본 2뎁스" +$NAV_ROOT = [ + 'title' => '기본', + 'items' => [ + ['라벨'=>'인트로','href'=>'/tenant/member/intro.php'], + ['라벨'=>'대시보드','href'=>'/tenant/member/dashboard.php'], + ], +]; + +// ③ 현재 경로/섹션 파악 +$currentPath = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH); +$hasSection = isset($CURRENT_SECTION, $NAV[$CURRENT_SECTION]); + +// ④ JS/초기 렌더에 사용할 "초기 섹션" (없으면 root 사용) +$INITIAL_SECTION = $hasSection ? $CURRENT_SECTION : 'root'; + +// ⑤ JS로 넘길 NAV(+root) +$NAV_JS = $NAV; +$NAV_JS['root'] = $NAV_ROOT; +?> + + + + + + + diff --git a/public/tenant/index.php b/public/tenant/index.php new file mode 100644 index 0000000..f554a00 --- /dev/null +++ b/public/tenant/index.php @@ -0,0 +1,13 @@ + diff --git a/public/tenant/inventory/defective.php b/public/tenant/inventory/defective.php new file mode 100644 index 0000000..50767da --- /dev/null +++ b/public/tenant/inventory/defective.php @@ -0,0 +1,8 @@ + + + 화면 준비중입니다. + + diff --git a/public/tenant/inventory/stock.php b/public/tenant/inventory/stock.php new file mode 100644 index 0000000..50767da --- /dev/null +++ b/public/tenant/inventory/stock.php @@ -0,0 +1,8 @@ + + + 화면 준비중입니다. + + diff --git a/public/tenant/material/inspection_list.php b/public/tenant/material/inspection_list.php new file mode 100644 index 0000000..50767da --- /dev/null +++ b/public/tenant/material/inspection_list.php @@ -0,0 +1,8 @@ + + + 화면 준비중입니다. + + diff --git a/public/tenant/material/inventory_status.php b/public/tenant/material/inventory_status.php new file mode 100644 index 0000000..ee060b5 --- /dev/null +++ b/public/tenant/material/inventory_status.php @@ -0,0 +1,8 @@ + + +화면 준비중입니다. + + diff --git a/public/tenant/material/list.php b/public/tenant/material/list.php new file mode 100644 index 0000000..cb87a8f --- /dev/null +++ b/public/tenant/material/list.php @@ -0,0 +1,507 @@ + 리스트 +$CURRENT_SECTION='item';; +include '../inc/header.php'; +?> +
+ + + + + +
+
+ + +
+ +
+ + +
+ +
+ + +
+ +
총 0건
+ +
+ + +
+ + + + + + + + + + + + + +
NO분류품목명단위제조사이미지관리
+
+ + +
+ +
+
+ + + + + + + + +
+ +
+ + + + + + + + + + diff --git a/public/tenant/member/dashboard.php b/public/tenant/member/dashboard.php new file mode 100644 index 0000000..1340284 --- /dev/null +++ b/public/tenant/member/dashboard.php @@ -0,0 +1,279 @@ + + +
+
+ +
+
+
Revenue BY MONTH
+
+
+
+
+
+
Revenue BY REGION
+
+
+
+ + +
+
+
Debt to Equity
+
+
+
+
+
+
Working Capital
+
+
+
+
+
+
Return on Equity
+
+
+
+
+
+
Average Purchase Value YTD
+
$8,301
+
+
+ + +
+
+
Leads (Last 30 Days)
+
768
+
+
+
+
+
Top Customers
+ + + + + + + + + + +
ClientRevenue
Alfreds $330,221
Berglunds $299,112
Centro $200,349
Ernst $199,312
+
+
+
+
+
Sales by Product Category
+
+
+
+ + +
+
+
Budget
+
+
+
+
+
+
Website Conversion Funnel
+
+
+
+
+
+ +
+
+
일정 관리 (Calendar)
+
+
+
+ + + + diff --git a/public/tenant/member/intro.php b/public/tenant/member/intro.php new file mode 100644 index 0000000..3f550da --- /dev/null +++ b/public/tenant/member/intro.php @@ -0,0 +1,47 @@ + + +
+
+ SAM 로고 +

SAM

+
Smart Automation Management
+

+ 쉽고, 빠르고, 똑똑하게
+ 자동화된 업무관리와 협업을 경험하세요. +

+
+
+
+
+
+ +
프로세스 자동화
+

견적·수주·생산·회계까지
모든 업무를 손쉽게 자동화

+
+
+
+
+
+
+ +
스마트 협업
+

실시간 공유/관리로
팀워크·생산성 향상

+
+
+
+
+
+
+ +
안전한 데이터
+

기업별(테넌트) 완벽 분리와
보안 우선 설계

+
+
+
+
+ +
+ + diff --git a/public/tenant/member/login.php b/public/tenant/member/login.php new file mode 100644 index 0000000..ddda15b --- /dev/null +++ b/public/tenant/member/login.php @@ -0,0 +1,66 @@ + + +
+
+

로그인

+ +
+ + +
+ +
+ + +
+ + +
+
+
+ + + + diff --git a/public/tenant/member/logout.php b/public/tenant/member/logout.php new file mode 100644 index 0000000..219c40e --- /dev/null +++ b/public/tenant/member/logout.php @@ -0,0 +1,9 @@ + diff --git a/public/tenant/member/profile_edit.php b/public/tenant/member/profile_edit.php new file mode 100644 index 0000000..aa2fb40 --- /dev/null +++ b/public/tenant/member/profile_edit.php @@ -0,0 +1,66 @@ + + +
+
+
+

내 정보 수정

+ +
+ + +
+
+ + +
+
+ + +
+
+ + +
+ + +
+
+
+ + + + diff --git a/public/tenant/member/register.php b/public/tenant/member/register.php new file mode 100644 index 0000000..f087534 --- /dev/null +++ b/public/tenant/member/register.php @@ -0,0 +1,66 @@ + + +
+
+
+

회원가입

+ +
+ + +
+
+ + +
+
+ + +
+
+ + +
+ + +
+
+
+ + + + diff --git a/public/tenant/member/tenant_add_process.php b/public/tenant/member/tenant_add_process.php new file mode 100644 index 0000000..2947334 --- /dev/null +++ b/public/tenant/member/tenant_add_process.php @@ -0,0 +1,22 @@ +alert('회사명을 입력하세요.'); history.back();"; + exit; +} + +// 실제로는 DB에 등록하고 ID를 받아야 함 (샘플로 랜덤값 부여) +$new_tenant_id = rand(1000, 9999); // 실제는 DB의 AUTO_INCREMENT 등 사용 + +// 세션에 테넌트 정보 저장 +$_SESSION['tenant_id'] = $new_tenant_id; +$_SESSION['tenant_name'] = $new_tenant_name; + +// 대시보드로 이동 +header("Location: /tenant/member/dashboard.php"); +exit; +?> diff --git a/public/tenant/member/tenant_select.php b/public/tenant/member/tenant_select.php new file mode 100644 index 0000000..55e3a1e --- /dev/null +++ b/public/tenant/member/tenant_select.php @@ -0,0 +1,38 @@ + 101, 'name' => '삼성전자'], + ['id' => 102, 'name' => '카카오'], + ['id' => 103, 'name' => '네이버'], +]; + + +?> + +
+
+

테넌트(회사/기업) 선택

+
+
+ + +
+ +
+
+
+
+ 추가 +
+
+
+ + diff --git a/public/tenant/member/tenant_select_process.php b/public/tenant/member/tenant_select_process.php new file mode 100644 index 0000000..2d91cab --- /dev/null +++ b/public/tenant/member/tenant_select_process.php @@ -0,0 +1,18 @@ +alert('테넌트를 선택하세요.'); history.back();"; + exit; +} + +// 세션에 테넌트 ID 저장 +$_SESSION['tenant_id'] = $tenant_id; + +// 대시보드로 이동 +header("Location: /tenant/member/dashboard.php"); +exit; +?> diff --git a/public/tenant/member/withdraw.php b/public/tenant/member/withdraw.php new file mode 100644 index 0000000..4d77b77 --- /dev/null +++ b/public/tenant/member/withdraw.php @@ -0,0 +1,77 @@ + + +
+
+
+

회원 탈퇴

+

+ 정말로 회원 탈퇴를 진행하시겠습니까?
+ 탈퇴 시 모든 정보가 삭제됩니다. +

+
+ + +
+ +
+ + +
+
+ + 취소 +
+
+
+
+ + + + diff --git a/public/tenant/order/edit.php b/public/tenant/order/edit.php new file mode 100644 index 0000000..19b4211 --- /dev/null +++ b/public/tenant/order/edit.php @@ -0,0 +1,8 @@ + + + 화면 준비중입니다. + + diff --git a/public/tenant/order/manage.php b/public/tenant/order/manage.php new file mode 100644 index 0000000..19b4211 --- /dev/null +++ b/public/tenant/order/manage.php @@ -0,0 +1,8 @@ + + + 화면 준비중입니다. + + diff --git a/public/tenant/order/status.php b/public/tenant/order/status.php new file mode 100644 index 0000000..19b4211 --- /dev/null +++ b/public/tenant/order/status.php @@ -0,0 +1,8 @@ + + + 화면 준비중입니다. + + diff --git a/public/tenant/permission/analyze.php b/public/tenant/permission/analyze.php new file mode 100644 index 0000000..c2b10a4 --- /dev/null +++ b/public/tenant/permission/analyze.php @@ -0,0 +1,532 @@ + +
+
+
+ 권한 분석 + + + +
+ +
+
+ +
+
+ +
+
+
+
분석 메뉴
+
+ + + +
+ +
+ + +
+
+
+ + + + + + + + + +
+
+
+ + +
+
+
+
+
선택 메뉴
+
-
+
+
+ 결론 규칙: ALLOW = 부서 OR 역할 OR (개인 ALLOW)개인 DENY 최우선 +
+
+ + +
+ +
+
+ + + + + +
사용자부서역할개인모드최종
+
+
+ +
+
+ + + + + +
사용자부서역할개인모드사유
+
+
+ +
+
+ + + + + +
사용자부서 허용역할 허용개인 허용개인 DENY최종
+
+
* “개인 DENY”가 하나라도 있으면 최종 DENY (최우선)
+
+ +
+
+ + +
+ + +
+
+ +
+
+ +
+ + + + + + + + + + + + + +
메뉴코드최종부서역할개인 ALLOW개인 DENY
+
+
+
+ +
+
+
+
+
+
+ + + + + + + diff --git a/public/tenant/permission/approver.php b/public/tenant/permission/approver.php new file mode 100644 index 0000000..6205f6e --- /dev/null +++ b/public/tenant/permission/approver.php @@ -0,0 +1,70 @@ + + +
+
+
+ 결제(결재) 권자 설정 + +
+
+ + + + + + + + + + + + +
규칙명금액 구간구성원관리
일반 결재0 ~ 1,000만원개발팀 일반관리자 kevin
+
+
+
+ + + + + + + diff --git a/public/tenant/permission/audit.php b/public/tenant/permission/audit.php new file mode 100644 index 0000000..6758cfe --- /dev/null +++ b/public/tenant/permission/audit.php @@ -0,0 +1,52 @@ + + +
+
+
권한 분석
+
+ +
+
+
+ + +
+ + + + + + + +
유저부서역할최종 읽기최종 쓰기DENY 여부
권혁성개발팀일반관리자×-
+
+
+
+ + +
+ + + + + + + +
메뉴최종 읽기최종 쓰기DENY 여부
수주 / 수주관리×-
+
+
+
+
+
+ + diff --git a/public/tenant/permission/department.php b/public/tenant/permission/department.php new file mode 100644 index 0000000..3c8f11f --- /dev/null +++ b/public/tenant/permission/department.php @@ -0,0 +1,253 @@ + + +
+
+
+ 부서 권한 설정 (트리) + +
+ + + + +
+
+ +
+
+
+ + + +
+
+ * 부모 설정은 하위로 전파됩니다. 자식이 섞이면 부모 칸은 흐릿 표시됩니다. +
+
+ +
+ + + + + + + + + + + + +
메뉴 + 읽기
+
+ 쓰기
+
+ 수정
+
+ 삭제
+
+ 결재
+
+
+
+
+
+ + + + + + + + + diff --git a/public/tenant/permission/role.php b/public/tenant/permission/role.php new file mode 100644 index 0000000..c87f13d --- /dev/null +++ b/public/tenant/permission/role.php @@ -0,0 +1,189 @@ + +
+
+
+ 역할 권한 설정 (트리) + +
+ + + + +
+
+ +
+
+
+ + + +
+
+ * 부모 설정은 하위로 전파됩니다. 자식이 섞이면 부모 칸은 흐릿 표시됩니다. +
+
+ +
+ + + + + + + + + + + + +
메뉴읽기
쓰기
수정
삭제
결재
+
+
+
+
+ + + + + + + diff --git a/public/tenant/permission/structure.php b/public/tenant/permission/structure.php new file mode 100644 index 0000000..28b8a2a --- /dev/null +++ b/public/tenant/permission/structure.php @@ -0,0 +1,113 @@ + + +
+
+
+
+
메뉴 트리
+
+
+ + +
+ +
+ +
+
+ +
+
+
메뉴 상세/권한 항목
+
+ +
+
+
+
+
+ + + + diff --git a/public/tenant/permission/tenant_menu.php b/public/tenant/permission/tenant_menu.php new file mode 100644 index 0000000..69e5a07 --- /dev/null +++ b/public/tenant/permission/tenant_menu.php @@ -0,0 +1,301 @@ + + +
+ + + +
+ + +
+
+
+ + + +
+
+ + + +
+
+ +
+ + + + + + + + + + + + + + + +
+ +
+ * 출처: system(일반), workflow(작업공정 연동), board(게시판 연동)
+ * 읽기전용 항목은 직접 토글할 수 없으며, 상위 메뉴 ON/OFF에 따라 상태가 함께 변합니다.
+ * 강제고정: 테넌트에서 끌 수 없음(최고관리자 정책). +
+
+ + +
+
작업공정에서 생성/연동된 메뉴 목록입니다. 사용 여부는 상단 “메뉴 사용 설정”에서 구조 전체와 함께 확인하세요.
+
+ + + +
프로세스연동 메뉴메뉴 코드경로
+
+
+ + +
+
게시판 생성 시 연결된 메뉴 목록입니다.
+
+ + + +
게시판 코드게시판 명연동 메뉴메뉴 코드
+
+
+ +
+
+ + + + diff --git a/public/tenant/permission/user.php b/public/tenant/permission/user.php new file mode 100644 index 0000000..27d3b27 --- /dev/null +++ b/public/tenant/permission/user.php @@ -0,0 +1,226 @@ + +
+
+
+ 유저 권한 설정 (개인 예외) + + + +
+ 예외 모드: + + + +
+
+ +
+
+
+ + + +
+
+ * INHERIT: 부서/역할 합집합만 반영(개인 변경 불가) / ALLOW: 개인 추가 허용 / DENY: 개인 차단(최우선) +
+
+ +
+ + + + + + + + + + + + + +
메뉴읽기
쓰기
수정
삭제
결재
최종
+
+ +
+ +
+
+
+
+ + + + + + + diff --git a/public/tenant/process/process_form.php b/public/tenant/process/process_form.php new file mode 100644 index 0000000..4241864 --- /dev/null +++ b/public/tenant/process/process_form.php @@ -0,0 +1,92 @@ + +
+
+

공정 생성 / 수정

+
+ 취소 + +
+
+ +
+
+
+ + +
+
+ + +
+
+ +
+ +

작업 리스트

+

작업별로 시작/완료 피드백 필요 여부를 설정할 수 있습니다.

+ +
+ +
+ +
+
+
+ + + + + diff --git a/public/tenant/process/process_settings.php b/public/tenant/process/process_settings.php new file mode 100644 index 0000000..0e2fd0e --- /dev/null +++ b/public/tenant/process/process_settings.php @@ -0,0 +1,169 @@ + +
+
+

공정: 스크린 작업 지시 설정

+
+ 공정 목록 + +
+
+

※ 이 화면은 실제 작업 지시 생성 시 노출될 동적 필드투입 자재 템플릿을 정의합니다.

+ + + +
+ +
+
+
+ 필드 목록 + +
+
+ + + + + + + + + + + + + +
필드명유형필수기본값/계산식유효성설명삭제
+
+ +
+
+ + +
+
+
+ 투입 품목/자재 + +
+
+ + + + + + + + + + + +
품목명자재 유형서브 자재 포함설명삭제
+
+ +
+
+
+
+ + + + + + + diff --git a/public/tenant/process/processes.php b/public/tenant/process/processes.php new file mode 100644 index 0000000..2616466 --- /dev/null +++ b/public/tenant/process/processes.php @@ -0,0 +1,92 @@ + + +
+ + +
+

공정 관리

+ + 공정 생성 +
+ + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
공정명설명작업 수등록일수정작업지시 설정삭제
스크린스크린 작업 공정42025-08-07수정 + 작업지시 설정 +
슬랫슬랫 작업 공정32025-08-07수정 + 작업지시 설정 +
절곡절곡 작업 공정42025-08-07수정 + 작업지시 설정 +
+
+
+
+ + + + diff --git a/public/tenant/process/task_form.php b/public/tenant/process/task_form.php new file mode 100644 index 0000000..ba3b587 --- /dev/null +++ b/public/tenant/process/task_form.php @@ -0,0 +1,40 @@ + +
+
+

작업 생성 / 수정

+
+ 취소 + +
+
+ +
+
+
+ + +
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+ + +
+
+
+ diff --git a/public/tenant/process/tasks.php b/public/tenant/process/tasks.php new file mode 100644 index 0000000..a1b83a0 --- /dev/null +++ b/public/tenant/process/tasks.php @@ -0,0 +1,55 @@ + +
+
+

작업 관리 (공정명: 스크린)

+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
작업명작업 시작 피드백작업 완료 피드백등록일수정삭제
절단작업사용사용2025-08-07수정
미싱작업미사용사용2025-08-07수정
포장사용미사용2025-08-07수정
+
+
+ diff --git a/public/tenant/product/bending.php b/public/tenant/product/bending.php new file mode 100644 index 0000000..7f76830 --- /dev/null +++ b/public/tenant/product/bending.php @@ -0,0 +1,289 @@ + +
+
+ +
+ 기본정보 입력 +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+ + +
+ 고정 규격정보 입력 +
+
+ + +
+
+ +
+ + × + +
+
+
+ + +
+
+ + +
+
+
+ + +
+ 기타정보 입력 + + +
+
+ + +
+ 절곡 이미지 & 스텝 + +
+ +
+
+ + + + + + + + + + + + + +
번호입력 길이연신율(%)연신 후합계A각옵션
+
+
+ + + +
+
+ + +
+
+ 도면 캔버스 +
+ + + + +
+
+
+ +
+ 이미지를 올리면 배경으로 표시됩니다. 간단한 선/사각 도구 제공. +
+
+
+ +
+ + +
+ + +
+
+ + + + + + diff --git a/public/tenant/product/bom_combined.php b/public/tenant/product/bom_combined.php new file mode 100644 index 0000000..27cf8e7 --- /dev/null +++ b/public/tenant/product/bom_combined.php @@ -0,0 +1,8 @@ + + + 화면 준비중입니다. + + diff --git a/public/tenant/product/bom_editor.php b/public/tenant/product/bom_editor.php new file mode 100644 index 0000000..753bf36 --- /dev/null +++ b/public/tenant/product/bom_editor.php @@ -0,0 +1,295 @@ + +
+ + + + + +
+ +
+
+
+ 제품(모델) 선택 +
+ + +
+
+
+
+ +
+
자재/부품(해당 제품용)
+
+
+ + + + + +
분류이름단위
+
+
+
+
+ + +
+
+
+
+ 편집 트리 + (루트=선택한 제품) +
+
+ + +
+
+
+
+
+ +
+ + +
+
+
+ + + + + + diff --git a/public/tenant/product/code_lot.php b/public/tenant/product/code_lot.php new file mode 100644 index 0000000..27cf8e7 --- /dev/null +++ b/public/tenant/product/code_lot.php @@ -0,0 +1,8 @@ + + + 화면 준비중입니다. + + diff --git a/public/tenant/product/model_list.php b/public/tenant/product/model_list.php new file mode 100644 index 0000000..89b845e --- /dev/null +++ b/public/tenant/product/model_list.php @@ -0,0 +1,310 @@ + +
+ + + + + +
+
+ + +
+ +
+ + +
+ +
+ + +
+ +
총 0건
+ +
+ + +
+ + + + + + + + + + + + +
NO분류모델명로트 코드등록일수정/삭제
+
+ + +
+ +
+
+ + + + + +
+ +
+ + + + + + + + + diff --git a/public/tenant/product/product_price.php b/public/tenant/product/product_price.php new file mode 100644 index 0000000..27cf8e7 --- /dev/null +++ b/public/tenant/product/product_price.php @@ -0,0 +1,8 @@ + + + 화면 준비중입니다. + + diff --git a/public/tenant/production/bend_work.php b/public/tenant/production/bend_work.php new file mode 100644 index 0000000..9cde691 --- /dev/null +++ b/public/tenant/production/bend_work.php @@ -0,0 +1,8 @@ + + + 화면 준비중입니다. + + diff --git a/public/tenant/production/mid_inspection.php b/public/tenant/production/mid_inspection.php new file mode 100644 index 0000000..58b37fc --- /dev/null +++ b/public/tenant/production/mid_inspection.php @@ -0,0 +1,101 @@ + + +
+ + +
+
+
+
문서번호: KD-QP-01-006
+
+
+
+
품명
스크린
+
제품 LOT NO
자동입력
+
검사일자
연도-월-일
+
검사자
자동입력
+
+
+
현장명
자동입력
+
규격
자동입력
+
결재
+
+ 작성 + 검토 + 승인 +
+
+
+
+
+ + +
+
중간검사 결과
+
+ + + + + + + + + + + + + $r): ?> + + + + + + + + + + +
일련원자재 로트자재명길이(mm)높이(mm)판정
+
+
+ + +
+
+ + +
+
+
+
+
※ 측정값은 기록용(저장 대상 아님), 판정만 상위 화면에 반영됩니다.
+
+ + +
+ + +
+
+ + diff --git a/public/tenant/production/process_detail.php b/public/tenant/production/process_detail.php new file mode 100644 index 0000000..ce10c92 --- /dev/null +++ b/public/tenant/production/process_detail.php @@ -0,0 +1,201 @@ + + +
+ + +
+
작업 기본정보
+
+
+
작업코드 :
+
수주번호 :
+
고객명 :
+
현장명 : 자동입력
+
수주계약일 : 자동입력
+
제품명 : 자동입력
+
출고요청일 : 자동입력
+
비고 : -
+
+
+
+ + +
+ +
+
작업 상세정보
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + +
일련원자재 로트부호자재명가로세로제단사항 +
절단
+ +
+
미싱
+ +
+
중간검사
+ +
+
포장
+ +
+
+
+ + +
+ + +
+
+ + + + + + + diff --git a/public/tenant/production/screen_progress.php b/public/tenant/production/screen_progress.php new file mode 100644 index 0000000..0d108e4 --- /dev/null +++ b/public/tenant/production/screen_progress.php @@ -0,0 +1,275 @@ + + +
+ + +
+ + + +
+
+ + + +
+
+
+ +
+
+ + + + + + + + + + + + + + + + +
NO작업순위수주계약일발주처현장명제품명수량(틀)출고요청일작업자 공정진행현황
+
+ + +
+
+
+ + + + + +
+ + + + + diff --git a/public/tenant/production/screen_work.php b/public/tenant/production/screen_work.php new file mode 100644 index 0000000..b397ab7 --- /dev/null +++ b/public/tenant/production/screen_work.php @@ -0,0 +1,281 @@ + + +
+ + +
+ + + +
+
+ + + +
+
+
+ +
+
+ + + + + + + + + + + + + + + + + +
NO작업순위수주계약일발주처현장명제품명수량(틀)출고요청일작업지시현황
+
+ + +
+
+
+ + + + + + +
+ + + + + diff --git a/public/tenant/production/slat_work.php b/public/tenant/production/slat_work.php new file mode 100644 index 0000000..9cde691 --- /dev/null +++ b/public/tenant/production/slat_work.php @@ -0,0 +1,8 @@ + + + 화면 준비중입니다. + + diff --git a/public/tenant/production/work_instruction.php b/public/tenant/production/work_instruction.php new file mode 100644 index 0000000..91c4f70 --- /dev/null +++ b/public/tenant/production/work_instruction.php @@ -0,0 +1,406 @@ + +
+ + +
+ +
+
+
① 작업 기본정보
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+
+ + +
+
+
우선 작업순위
+
+
현재순위
+
+
설정순위
+
+ +
+
+
+
+
+ + +
+
+
② 재고확인 및 자재투입
+
+ + + +
+
+ +
+ + + + + + + + + + + + + + + + +
일련부호품목명가로세로매수조인트바입고 LOT NO.
+
+
+ + +
+ +
+
+
③ 부자재
+ +
+ + + + + + + + + +
항목명LOT NO.수량
+
+
+
+ + +
+
+
④ 작업자 배치
+ +
+
부서 선택
+
+ +
+
+ +
+
+ +
+
+
+ + + + + +
이름직책
+
+
+
+
선택됨
+
+
+
+
+
+
+ + +
+ + +
+
+ + + + + + + diff --git a/public/tenant/quality/docs.php b/public/tenant/quality/docs.php new file mode 100644 index 0000000..11edc15 --- /dev/null +++ b/public/tenant/quality/docs.php @@ -0,0 +1,8 @@ + + + 화면 준비중입니다. + + diff --git a/public/tenant/quality/record.php b/public/tenant/quality/record.php new file mode 100644 index 0000000..11edc15 --- /dev/null +++ b/public/tenant/quality/record.php @@ -0,0 +1,8 @@ + + + 화면 준비중입니다. + + diff --git a/public/tenant/quality/request.php b/public/tenant/quality/request.php new file mode 100644 index 0000000..11edc15 --- /dev/null +++ b/public/tenant/quality/request.php @@ -0,0 +1,8 @@ + + + 화면 준비중입니다. + + diff --git a/public/tenant/quality/schedule.php b/public/tenant/quality/schedule.php new file mode 100644 index 0000000..11edc15 --- /dev/null +++ b/public/tenant/quality/schedule.php @@ -0,0 +1,8 @@ + + + 화면 준비중입니다. + + diff --git a/public/tenant/shipment/monthly_schedule.php b/public/tenant/shipment/monthly_schedule.php new file mode 100644 index 0000000..b925e8b --- /dev/null +++ b/public/tenant/shipment/monthly_schedule.php @@ -0,0 +1,8 @@ + + + 화면 준비중입니다. + + diff --git a/public/tenant/shipment/status.php b/public/tenant/shipment/status.php new file mode 100644 index 0000000..b925e8b --- /dev/null +++ b/public/tenant/shipment/status.php @@ -0,0 +1,8 @@ + + + 화면 준비중입니다. + + diff --git a/public/tenant/subscription/list.php b/public/tenant/subscription/list.php new file mode 100644 index 0000000..56537b0 --- /dev/null +++ b/public/tenant/subscription/list.php @@ -0,0 +1,8 @@ + + + 화면 준비중입니다. + + diff --git a/public/tenant/subscription/tenant_list.php b/public/tenant/subscription/tenant_list.php new file mode 100644 index 0000000..56537b0 --- /dev/null +++ b/public/tenant/subscription/tenant_list.php @@ -0,0 +1,8 @@ + + + 화면 준비중입니다. + + diff --git a/public/tenant/subscription/tenant_product_list.php b/public/tenant/subscription/tenant_product_list.php new file mode 100644 index 0000000..56537b0 --- /dev/null +++ b/public/tenant/subscription/tenant_product_list.php @@ -0,0 +1,8 @@ + + + 화면 준비중입니다. + + diff --git a/public/tenant/tenant/department_list.php b/public/tenant/tenant/department_list.php new file mode 100644 index 0000000..3932ad2 --- /dev/null +++ b/public/tenant/tenant/department_list.php @@ -0,0 +1,346 @@ + + +
+ +
+
+

부서 관리

+
+ + +
+
+ +
+ + + + + + + + + + +
#조직(부서/팀/파트)설명관리
+
+
+
+ + + + + + + + + + + + + + + diff --git a/public/tenant/tenant/edit.php b/public/tenant/tenant/edit.php new file mode 100644 index 0000000..b8bda92 --- /dev/null +++ b/public/tenant/tenant/edit.php @@ -0,0 +1,108 @@ + isset($_SESSION['company_name']) ? $_SESSION['company_name'] : '샘플주식회사', + 'code' => isset($_SESSION['tenant_code']) ? $_SESSION['tenant_code'] : 'samplecorp', + 'email' => isset($_SESSION['tenant_email']) ? $_SESSION['tenant_email'] : 'admin@sample.com', + 'phone' => isset($_SESSION['tenant_phone']) ? $_SESSION['tenant_phone'] : '02-1234-5678', + 'address' => isset($_SESSION['tenant_address']) ? $_SESSION['tenant_address'] : '서울시 강남구', + 'business_num' => isset($_SESSION['tenant_business_num']) ? $_SESSION['tenant_business_num'] : '1234567890', + 'corp_reg_no' => isset($_SESSION['tenant_corp_reg_no']) ? $_SESSION['tenant_corp_reg_no'] : '', + 'ceo_name' => isset($_SESSION['tenant_ceo_name']) ? $_SESSION['tenant_ceo_name'] : '홍길동', + 'homepage' => isset($_SESSION['tenant_homepage']) ? $_SESSION['tenant_homepage'] : '', + 'fax' => isset($_SESSION['tenant_fax']) ? $_SESSION['tenant_fax'] : '', + 'admin_memo' => isset($_SESSION['tenant_admin_memo']) ? $_SESSION['tenant_admin_memo'] : '', + 'max_users' => isset($_SESSION['tenant_max_users']) ? $_SESSION['tenant_max_users'] : 10, + 'logo' => isset($_SESSION['tenant_logo']) ? $_SESSION['tenant_logo'] : '', +]; +?> + +
+
+
+

회사(테넌트) 정보 수정

+ +
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
로고
+ + +
+
+ + +
+
+ + +
+ +
+
+
+ + + + diff --git a/public/tenant/tenant/join.php b/public/tenant/tenant/join.php new file mode 100644 index 0000000..e2aeb62 --- /dev/null +++ b/public/tenant/tenant/join.php @@ -0,0 +1,87 @@ + + +
+
+
+

회사(테넌트) 가입

+ +
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ +
+
+
+ + + + diff --git a/public/tenant/tenant/role_add.php b/public/tenant/tenant/role_add.php new file mode 100644 index 0000000..b00a44f --- /dev/null +++ b/public/tenant/tenant/role_add.php @@ -0,0 +1,38 @@ + + +
+
+

역할 등록

+
+
+ + +
+
+ + +
+
+ + 취소 +
+
+
+
+ + + + diff --git a/public/tenant/tenant/role_delete.php b/public/tenant/tenant/role_delete.php new file mode 100644 index 0000000..4bd1908 --- /dev/null +++ b/public/tenant/tenant/role_delete.php @@ -0,0 +1,19 @@ + + alert('역할이 삭제되었습니다.'); + window.location.href = '/tenant/tenant/role_list.php'; + +HTML; + +exit; +?> diff --git a/public/tenant/tenant/role_edit.php b/public/tenant/tenant/role_edit.php new file mode 100644 index 0000000..457fdcb --- /dev/null +++ b/public/tenant/tenant/role_edit.php @@ -0,0 +1,56 @@ + + +// 샘플 데이터 +$roles = [ + 1 => ['id'=>1, 'name'=>'최고관리자', 'desc'=>'회사 전체 관리권한'], + 2 => ['id'=>2, 'name'=>'일반관리자', 'desc'=>'부서/사용자/업무 관리'], + 3 => ['id'=>3, 'name'=>'일반직원', 'desc'=>'일반 사용 권한'], +]; + +$role_id = isset($_GET['id']) ? intval($_GET['id']) : 0; +$role = isset($roles[$role_id]) ? $roles[$role_id] : null; + +if (!$role) { + echo '
해당 역할을 찾을 수 없습니다.
'; + include '../inc/footer.php'; + exit; +} +?> + +
+
+

역할 정보 수정

+
+ +
+ + +
+
+ + +
+
+ + 취소 +
+
+
+
+ + + + diff --git a/public/tenant/tenant/role_list.php b/public/tenant/tenant/role_list.php new file mode 100644 index 0000000..87e1898 --- /dev/null +++ b/public/tenant/tenant/role_list.php @@ -0,0 +1,198 @@ + + +
+
+
+

역할(권한) 목록

+ +
+ +
+ + + + + + + + + + +
#역할명설명관리
+
+
+
+ + + + + + + + + + + + + diff --git a/public/tenant/tenant/subscribe.php b/public/tenant/tenant/subscribe.php new file mode 100644 index 0000000..648e283 --- /dev/null +++ b/public/tenant/tenant/subscribe.php @@ -0,0 +1,8 @@ + + + 화면 준비중입니다. + + diff --git a/public/tenant/tenant/user_edit.php b/public/tenant/tenant/user_edit.php new file mode 100644 index 0000000..c6c7ab0 --- /dev/null +++ b/public/tenant/tenant/user_edit.php @@ -0,0 +1,124 @@ + [ + 'id'=>1, + 'user_id'=>'kevin', + 'name'=>'권혁성', + 'email'=>'kevin@sample.com', + 'phone'=>'010-1111-2222', + 'options'=>json_encode(['사번'=>'A001','계좌번호'=>'111-2222-3333']), + 'profile_photo_path' => '', + ], + 2 => [ + 'id'=>2, + 'user_id'=>'sally', + 'name'=>'김슬기', + 'email'=>'sally@sample.com', + 'phone'=>'010-3333-4444', + 'options'=>json_encode(['사번'=>'A002','계좌번호'=>'222-3333-4444']), + 'profile_photo_path' => '', + ], +]; + +$user_id = isset($_GET['id']) ? intval($_GET['id']) : 0; +$user = isset($users[$user_id]) ? $users[$user_id] : null; + +if (!$user) { + echo '
해당 회원을 찾을 수 없습니다.
'; + include '../inc/footer.php'; + exit; +} +$user_options = json_decode($user['options'], true); +?> + +
+
+

회원 정보 수정

+
+ +
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
프로필
+ + +
+
+ + +
+
+ + +
+ +
+ + +
+ +
+ + 취소 +
+
+
+
+ + + + diff --git a/public/tenant/tenant/user_list.php b/public/tenant/tenant/user_list.php new file mode 100644 index 0000000..bbc2832 --- /dev/null +++ b/public/tenant/tenant/user_list.php @@ -0,0 +1,347 @@ + + +
+
+
+

회원(유저) 목록

+ +
+ +
+ + + + + + + +
+
+
+
+ + + + + + + + + + + + + diff --git a/public/tenant/tenant/user_unmap.php b/public/tenant/tenant/user_unmap.php new file mode 100644 index 0000000..9393ca1 --- /dev/null +++ b/public/tenant/tenant/user_unmap.php @@ -0,0 +1,20 @@ + + alert('회사의 회원 연결이 해제되었습니다.'); + window.location.href = '/tenant/tenant/user_list.php'; + +HTML; + +exit; +?> diff --git a/public/tenant/tenant/withdraw.php b/public/tenant/tenant/withdraw.php new file mode 100644 index 0000000..3c03b03 --- /dev/null +++ b/public/tenant/tenant/withdraw.php @@ -0,0 +1,111 @@ +회사 관리자만 회사 탈퇴가 가능합니다.
'; + include '../inc/footer.php'; + exit; +} + +$tenant_name = isset($_SESSION['tenant_name']) ? htmlspecialchars($_SESSION['tenant_name']) : '이 회사'; +?> + +
+
+
+

회사(테넌트) 해지

+
+ ※ 반드시 확인해주세요!
+ + · 의 모든 데이터, 계정, 파일이 영구 삭제됩니다.
+ · 결제 중인 서비스/구독도 즉시 중단 및 해지됩니다.
+ · 복구는 불가합니다. 탈퇴 후에는 어떤 이유로도 데이터/계정 복구가 불가합니다.
+ · 탈퇴 즉시 소속 모든 유저가 로그아웃/접근 차단됩니다.
+
+ + 이 작업은 최고관리자만 수행할 수 있습니다. + +
+
+ + +
+
+ + +
+ +
+ + +
+
+ + 취소 +
+
+
+
+ + + + diff --git a/public/tenant/tenant_base.html b/public/tenant/tenant_base.html new file mode 100644 index 0000000..d746e53 --- /dev/null +++ b/public/tenant/tenant_base.html @@ -0,0 +1,37 @@ + + + + + + 사용자 페이지 + + + + +
+

MyCompany 사용자 페이지

+ +
+ +
+ +
+ + + + + + + diff --git a/public/tenant/test.html b/public/tenant/test.html new file mode 100644 index 0000000..356bb5f --- /dev/null +++ b/public/tenant/test.html @@ -0,0 +1,27 @@ + + + + + Highmaps Only Test + + + + + +
+ + +