feat: POP 화면설정 — 채번규칙 필드 추가 + 미구현 항목 표기
- 입고/출고 설정에 채번규칙(numberingRuleId) 텍스트 필드 추가 - 하드코딩 POP에 미연동된 설정 항목에 (미구현) 라벨 추가 - 구현 완료: 배너(ON/OFF+텍스트), 자재투입, 그룹별사진 - 미구현: 바코드, 검사필수, 사진첨부, 포장, PLC, 날짜필터 등
This commit is contained in:
@@ -173,53 +173,55 @@ interface SettingField {
|
|||||||
|
|
||||||
const SETTINGS_SCHEMA: Record<string, SettingField[]> = {
|
const SETTINGS_SCHEMA: Record<string, SettingField[]> = {
|
||||||
inbound: [
|
inbound: [
|
||||||
{ key: "barcodeEnabled", label: "바코드 스캔", description: "바코드/QR 스캔 기능을 사용합니다", type: "toggle" },
|
{ key: "numberingRuleId", label: "📋 입고번호 채번규칙", description: "입고 확정 시 사용할 채번규칙을 선택합니다", type: "text" },
|
||||||
{ key: "inspectionRequired", label: "검사 필수", description: "입고 시 검사 항목을 필수로 표시합니다", type: "toggle" },
|
{ key: "barcodeEnabled", label: "바코드 스캔 (미구현)", description: "바코드/QR 스캔 기능을 사용합니다", type: "toggle" },
|
||||||
{ key: "photoUpload", label: "사진 첨부", description: "입고 확정 시 사진 첨부를 허용합니다", type: "toggle" },
|
{ key: "inspectionRequired", label: "검사 필수 (미구현)", description: "입고 시 검사 항목을 필수로 표시합니다", type: "toggle" },
|
||||||
{ key: "packagingRecord", label: "포장 기록", description: "포장/적재 상세 기록을 사용합니다", type: "toggle" },
|
{ key: "photoUpload", label: "사진 첨부 (미구현)", description: "입고 확정 시 사진 첨부를 허용합니다", type: "toggle" },
|
||||||
{ key: "defectSeparation", label: "불량 분리", description: "양품/불량 수량을 분리 입력합니다", type: "toggle" },
|
{ key: "packagingRecord", label: "포장 기록 (미구현)", description: "포장/적재 상세 기록을 사용합니다", type: "toggle" },
|
||||||
|
{ key: "defectSeparation", label: "불량 분리 (미구현)", description: "양품/불량 수량을 분리 입력합니다", type: "toggle" },
|
||||||
],
|
],
|
||||||
outbound: [
|
outbound: [
|
||||||
{ key: "barcodeEnabled", label: "바코드 스캔", description: "바코드/QR 스캔 기능을 사용합니다", type: "toggle" },
|
{ key: "numberingRuleId", label: "📋 출고번호 채번규칙", description: "출고 확정 시 사용할 채번규칙을 선택합니다", type: "text" },
|
||||||
{ key: "photoUpload", label: "사진 첨부", description: "출고 시 사진 첨부를 허용합니다", type: "toggle" },
|
{ key: "barcodeEnabled", label: "바코드 스캔 (미구현)", description: "바코드/QR 스캔 기능을 사용합니다", type: "toggle" },
|
||||||
|
{ key: "photoUpload", label: "사진 첨부 (미구현)", description: "출고 시 사진 첨부를 허용합니다", type: "toggle" },
|
||||||
],
|
],
|
||||||
processExecution: [
|
processExecution: [
|
||||||
{ key: "materialInput", label: "자재 투입", description: "BOM 기반 자재 투입 탭을 표시합니다", type: "toggle" },
|
{ key: "materialInput", label: "자재 투입", description: "BOM 기반 자재 투입 탭을 표시합니다", type: "toggle" },
|
||||||
{ key: "bomFlexible", label: "BOM 유동 투입", description: "기준과 다른 수량 투입을 허용합니다", type: "toggle" },
|
{ key: "bomFlexible", label: "BOM 유동 투입 (미구현)", description: "기준과 다른 수량 투입을 허용합니다", type: "toggle" },
|
||||||
{ key: "photoUpload", label: "사진 첨부", description: "실적 입력 시 사진 첨부를 허용합니다", type: "toggle" },
|
{ key: "photoUpload", label: "사진 첨부 (미구현)", description: "실적 입력 시 사진 첨부를 허용합니다", type: "toggle" },
|
||||||
{ key: "groupPhotoEnabled", label: "그룹별 사진", description: "체크리스트 그룹마다 사진을 첨부합니다", type: "toggle" },
|
{ key: "groupPhotoEnabled", label: "그룹별 사진", description: "체크리스트 그룹마다 사진을 첨부합니다", type: "toggle" },
|
||||||
{ key: "plcEnabled", label: "PLC 연동", description: "설비 PLC 데이터를 자동 연동합니다", type: "toggle" },
|
{ key: "plcEnabled", label: "PLC 연동 (미구현)", description: "설비 PLC 데이터를 자동 연동합니다", type: "toggle" },
|
||||||
{ key: "reworkTargetSelection", label: "재작업 공정 지정", description: "불량 처리 시 특정 공정을 선택할 수 있습니다", type: "toggle" },
|
{ key: "reworkTargetSelection", label: "재작업 공정 지정 (미구현)", description: "불량 처리 시 특정 공정을 선택할 수 있습니다", type: "toggle" },
|
||||||
{ key: "dateFilter", label: "날짜 필터", description: "작업지시 목록에 날짜 필터를 표시합니다", type: "toggle" },
|
{ key: "dateFilter", label: "날짜 필터 (미구현)", description: "작업지시 목록에 날짜 필터를 표시합니다", type: "toggle" },
|
||||||
{
|
{
|
||||||
key: "lastProcessInventory", label: "마지막 공정 입고", description: "마지막 공정 완료 시 재고 입고 방식", type: "select", options: [
|
key: "lastProcessInventory", label: "마지막 공정 입고 (미구현)", description: "마지막 공정 완료 시 재고 입고 방식", type: "select", options: [
|
||||||
{ value: "auto", label: "자동 입고" },
|
{ value: "auto", label: "자동 입고" },
|
||||||
{ value: "manual", label: "수동 선택" },
|
{ value: "manual", label: "수동 선택" },
|
||||||
{ value: "button", label: "버튼 활성화" },
|
{ value: "button", label: "버튼 활성화" },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{ key: "defaultWarehouse", label: "기본 창고 기억", description: "선택한 창고를 다음에도 자동 선택합니다", type: "toggle" },
|
{ key: "defaultWarehouse", label: "기본 창고 기억 (미구현)", description: "선택한 창고를 다음에도 자동 선택합니다", type: "toggle" },
|
||||||
{
|
{
|
||||||
key: "inspectionAutoJudge", label: "검사 자동 판정", description: "수치 검사 시 상/하한 초과 처리 방식", type: "select", options: [
|
key: "inspectionAutoJudge", label: "검사 자동 판정 (미구현)", description: "수치 검사 시 상/하한 초과 처리 방식", type: "select", options: [
|
||||||
{ value: "off", label: "사용 안 함" },
|
{ value: "off", label: "사용 안 함" },
|
||||||
{ value: "warn", label: "경고만 표시" },
|
{ value: "warn", label: "경고만 표시" },
|
||||||
{ value: "fail", label: "자동 불량" },
|
{ value: "fail", label: "자동 불량" },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{ key: "standardTimeDisplay", label: "표준시간 비교", description: "표준시간 대비 실제시간을 표시합니다", type: "toggle" },
|
{ key: "standardTimeDisplay", label: "표준시간 비교 (미구현)", description: "표준시간 대비 실제시간을 표시합니다", type: "toggle" },
|
||||||
{ key: "progressDisplay", label: "진행률 표시", description: "작업지시 전체 진행률을 표시합니다", type: "toggle" },
|
{ key: "progressDisplay", label: "진행률 표시 (미구현)", description: "작업지시 전체 진행률을 표시합니다", type: "toggle" },
|
||||||
{ key: "packagingOptions", label: "포장 옵션", description: "포장 단위 선택지를 관리합니다", type: "tags" },
|
{ key: "packagingOptions", label: "포장 옵션 (미구현)", description: "포장 단위 선택지를 관리합니다", type: "tags" },
|
||||||
{ key: "defectTypes", label: "불량 유형", description: "불량 유형 선택지를 관리합니다", type: "tags" },
|
{ key: "defectTypes", label: "불량 유형 (미구현)", description: "불량 유형 선택지를 관리합니다", type: "tags" },
|
||||||
],
|
],
|
||||||
home: [
|
home: [
|
||||||
{ key: "kpiCarousel", label: "KPI 캐러셀", description: "오늘의 현황 캐러셀을 표시합니다", type: "toggle" },
|
{ key: "kpiCarousel", label: "KPI 캐러셀 (미구현)", description: "오늘의 현황 캐러셀을 표시합니다", type: "toggle" },
|
||||||
{ key: "recentActivity", label: "최근 활동", description: "최근 입출고 활동을 표시합니다", type: "toggle" },
|
{ key: "recentActivity", label: "최근 활동 (미구현)", description: "최근 입출고 활동을 표시합니다", type: "toggle" },
|
||||||
{ key: "bannerEnabled", label: "공지 배너", description: "상단에 공지 배너를 표시합니다", type: "toggle" },
|
{ key: "bannerEnabled", label: "공지 배너", description: "상단에 공지 배너를 표시합니다", type: "toggle" },
|
||||||
{ key: "bannerText", label: "배너 텍스트", description: "공지 배너에 표시할 텍스트", type: "text" },
|
{ key: "bannerText", label: "배너 텍스트", description: "공지 배너에 표시할 텍스트", type: "text" },
|
||||||
{ key: "iconThemeColor", label: "아이콘 테마색", description: "메뉴 아이콘의 테마 색상", type: "color" },
|
{ key: "iconThemeColor", label: "아이콘 테마색 (미구현)", description: "메뉴 아이콘의 테마 색상", type: "color" },
|
||||||
{ key: "iconCustomImages", label: "아이콘 커스텀", description: "메뉴 아이콘 이미지를 커스터마이즈합니다", type: "toggle" },
|
{ key: "iconCustomImages", label: "아이콘 커스텀 (미구현)", description: "메뉴 아이콘 이미지를 커스터마이즈합니다", type: "toggle" },
|
||||||
{
|
{
|
||||||
key: "dashboardLayout", label: "대시보드 구성", description: "홈 대시보드 레이아웃", type: "select", options: [
|
key: "dashboardLayout", label: "대시보드 구성 (미구현)", description: "홈 대시보드 레이아웃", type: "select", options: [
|
||||||
{ value: "default", label: "기본" },
|
{ value: "default", label: "기본" },
|
||||||
{ value: "compact", label: "컴팩트" },
|
{ value: "compact", label: "컴팩트" },
|
||||||
{ value: "detailed", label: "상세" },
|
{ value: "detailed", label: "상세" },
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
sonar.projectKey=vexplor
|
||||||
|
sonar.projectName=vexplor
|
||||||
|
sonar.sources=backend-node/src,frontend/src
|
||||||
|
sonar.exclusions=**/node_modules/**,**/dist/**,**/*.test.*,**/test-scenarios/**
|
||||||
|
sonar.javascript.lcov.reportPaths=coverage/lcov.info
|
||||||
|
sonar.host.url=http://localhost:9000
|
||||||
|
sonar.sourceEncoding=UTF-8
|
||||||
Reference in New Issue
Block a user