From 2559512c1385c585d759318b673fcb2ae664d1a5 Mon Sep 17 00:00:00 2001 From: hskwon Date: Mon, 11 Aug 2025 20:49:15 +0900 Subject: [PATCH] =?UTF-8?q?fix=20:=20Front=20Page=20[Ver=200.1]=20-=20?= =?UTF-8?q?=EA=B2=AC=EC=A0=81=20=EA=B8=B0=EB=8A=A5=20=EC=9E=91=EC=97=85=20?= =?UTF-8?q?=EC=99=B8=20=EA=B8=B0=ED=83=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - estimate.php - estimate_form.php --- public/tenant/approval/pool.php | 283 ++++++++++-- public/tenant/category/subcategory_list.php | 13 +- public/tenant/inc/header.php | 72 +-- public/tenant/inc/navi.php | 2 +- public/tenant/order/estimate.php | 176 ++++++++ public/tenant/order/estimate_form.php | 471 ++++++++++++++++++++ 6 files changed, 954 insertions(+), 63 deletions(-) create mode 100644 public/tenant/order/estimate.php create mode 100644 public/tenant/order/estimate_form.php diff --git a/public/tenant/approval/pool.php b/public/tenant/approval/pool.php index d5aa83f..e814340 100644 --- a/public/tenant/approval/pool.php +++ b/public/tenant/approval/pool.php @@ -1,32 +1,265 @@ - -
-
-
- 결재권자 풀 관리 -
- - - - + + +
+
+
+ 결재권자 풀 관리 + + +
-
- - - - - - - + + + +
+
+
유형대상관리
부서개발팀
역할일반관리자
개인kevin
+ + + + + + + +
유형대상관리
- + + // ----------------------------- + // 5) 검색 & 추가 (툴바) + // ----------------------------- + $('#find').on('click', function(){ + openPicker(false); // 조회만 + }); + $('#add').on('click', function(){ + openPicker(true); // 선택 시 추가 + }); + + // ----------------------------- + // 6) 모달 열기/검색/선택 + // ----------------------------- + function openPicker(isAddMode){ + const type = $('#type').val(); + const kw = $('#keyword').val().trim().toLowerCase(); + + // 모달 상단 타입/키워드 동기화 + $('#pm_type').html($('#type').html()).val(type); + $('#pm_keyword').val($('#keyword').val()); + + // 첫 렌더 + const list = filterList(type, kw); + renderPickRows(list, type); + + // 모달 띄우기 + const m = new bootstrap.Modal('#pickModal'); + m.show(); + + // 모달 내 검색 + $('#pm_find').off('click').on('click', function(){ + const t2 = $('#pm_type').val(); + const k2 = $('#pm_keyword').val().trim().toLowerCase(); + renderPickRows(filterList(t2, k2), t2); + }); + + // 선택 → 추가 + $(document).off('click.pmPick').on('click.pmPick','[data-pick]', function(){ + const [t,c] = String($(this).data('pick')).split('|'); + const item = (SAMPLE[t]||[]).find(x=>x.code===c); + if(!item) return; + + // 추가 모드일 때만 풀에 반영 + uniquePush(pool, {type:t, code:item.code, name:item.name}); + renderPool(); + bootstrap.Modal.getInstance(document.getElementById('pickModal')).hide(); + + // 실제: $.post('/api/approval/pool_add.php', { type:t, code:item.code }) + }); + } + + function filterList(type, kw){ + const base = SAMPLE[type] || []; + if(!kw) return base; + return base.filter(x => + String(x.code).toLowerCase().includes(kw) || + String(x.name).toLowerCase().includes(kw) + ); + } + + // 최초 렌더 + renderPool(); + }); + + diff --git a/public/tenant/category/subcategory_list.php b/public/tenant/category/subcategory_list.php index eb1af3a..1fc4095 100644 --- a/public/tenant/category/subcategory_list.php +++ b/public/tenant/category/subcategory_list.php @@ -126,18 +126,21 @@ // 카테고리 목록 (id, name) const categories = [ {id:1, name:'제품군'}, - {id:2, name:'서비스'} + {id:2, name:'자재군'} ]; // 분류 목록 (카테고리별 배열) let SEQ = 300; const subsByCat = { 1: [ - {id:101, name:'노트북', desc:'휴대용 컴퓨터'}, - {id:102, name:'데스크탑', desc:'사무/게임용 컴퓨터'}, + {id:101, name:'주자재', desc:'본체에 사용되는 자재'}, + {id:102, name:'부자재', desc:'BOM에 사용되는 자재'}, + {id:102, name:'소모품', desc:'소모성 자재'}, ], 2: [ - {id:201, name:'호스팅', desc:'웹 호스팅 서비스'}, - {id:202, name:'유지보수',desc:'운영/AS 지원'}, + {id:201, name:'주자재', desc:'메인자재'}, + {id:202, name:'BOM',desc:'결합제품'}, + {id:202, name:'반자재',desc:'일부결합제품'}, + {id:202, name:'제품',desc:'판매제품'}, ] }; diff --git a/public/tenant/inc/header.php b/public/tenant/inc/header.php index ba2d30a..948bf59 100644 --- a/public/tenant/inc/header.php +++ b/public/tenant/inc/header.php @@ -7,14 +7,12 @@ SAM::테넌트페이지 - + - diff --git a/public/tenant/inc/navi.php b/public/tenant/inc/navi.php index 4c5558d..9320eb5 100644 --- a/public/tenant/inc/navi.php +++ b/public/tenant/inc/navi.php @@ -14,7 +14,7 @@ 'order' => [ 'title'=>'수주', 'items'=>[ - ['라벨'=>'견적 관리','href'=>'/tenant/order/manage.php'], + ['라벨'=>'견적 관리','href'=>'/tenant/order/estimate.php'], ['라벨'=>'수주 관리','href'=>'/tenant/order/manage.php'], ['라벨'=>'수주 등록/수정','href'=>'/tenant/order/edit.php'], ['라벨'=>'상태 관리','href'=>'/tenant/order/status.php'], diff --git a/public/tenant/order/estimate.php b/public/tenant/order/estimate.php new file mode 100644 index 0000000..ee57c30 --- /dev/null +++ b/public/tenant/order/estimate.php @@ -0,0 +1,176 @@ + +
+ + +
+
견적 리스트
+
+ + + + ~ + + + + +
+
+ +
+
+
+ + + + + + + + + + + + + + + + + +
NO접수일상태생산로트구분발주처제품모델명현장명수량출고일운송현황
+
+ + +
+
+ +
+
+
+
+ + + + + + diff --git a/public/tenant/order/estimate_form.php b/public/tenant/order/estimate_form.php new file mode 100644 index 0000000..edf241f --- /dev/null +++ b/public/tenant/order/estimate_form.php @@ -0,0 +1,471 @@ + + +
+ + +
+
기본정보 입력
+
+
+
+ + +
+
+ + +
+
+ +
+ + +
+
+
+ + +
+ +
+ + +
+
+ + +
+ +
+ + +
+ +
+ + +
+
+
+
+ + +
+
+ 제품구성 설정 +
+ + + + +
+
+ + +
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ +
+ +
+ + × + +
+
+
+ +
+ + × + +
+
+
+ +
+
+
+
+
+
+
+
+ + +
+ +
+
+ + +
+
세부 항목 (읽기전용)
+
+
+ + + + + + + + + + + + + + + + + + +
#품목코드품목명규격수량단위단가공급가액부가세
합계00
+
+
+
+
+ + + + + +