Merge branch 'jskim-node' of http://39.117.244.52:3000/kjs/ERP-node into gbpark-node
; Please enter a commit message to explain why this merge is necessary, ; especially if it merges an updated upstream into a topic branch. ; ; Lines starting with ';' will be ignored, and an empty message aborts ; the commit.
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
/**
|
||||
* 바코드 라벨 관리 시스템 타입 정의
|
||||
* ZD421 등 바코드 프린터 연동용 라벨 템플릿/출력 관리
|
||||
*/
|
||||
|
||||
// 캔버스 요소 (디자이너용)
|
||||
export interface BarcodeLabelComponent {
|
||||
id: string;
|
||||
type: "text" | "barcode" | "image" | "line" | "rectangle";
|
||||
x: number;
|
||||
y: number;
|
||||
width: number;
|
||||
height: number;
|
||||
zIndex: number;
|
||||
content?: string;
|
||||
fontSize?: number;
|
||||
fontColor?: string;
|
||||
fontWeight?: string;
|
||||
barcodeType?: string;
|
||||
barcodeValue?: string;
|
||||
showBarcodeText?: boolean;
|
||||
imageUrl?: string;
|
||||
objectFit?: string;
|
||||
lineColor?: string;
|
||||
lineWidth?: number;
|
||||
backgroundColor?: string;
|
||||
}
|
||||
|
||||
export interface BarcodeLabelLayout {
|
||||
width_mm: number;
|
||||
height_mm: number;
|
||||
components: BarcodeLabelComponent[];
|
||||
}
|
||||
|
||||
// 바코드 라벨 마스터 (목록/카드용)
|
||||
export interface BarcodeLabelMaster {
|
||||
label_id: string;
|
||||
label_name_kor: string;
|
||||
label_name_eng: string | null;
|
||||
description: string | null;
|
||||
width_mm?: number;
|
||||
height_mm?: number;
|
||||
layout_json?: string | null;
|
||||
template_type?: string;
|
||||
use_yn: string;
|
||||
created_at: string;
|
||||
created_by: string | null;
|
||||
updated_at: string | null;
|
||||
updated_by: string | null;
|
||||
}
|
||||
|
||||
// 목록 조회 응답
|
||||
export interface GetBarcodeLabelsResponse {
|
||||
items: BarcodeLabelMaster[];
|
||||
total: number;
|
||||
page: number;
|
||||
limit: number;
|
||||
}
|
||||
|
||||
// 목록 조회 파라미터
|
||||
export interface GetBarcodeLabelsParams {
|
||||
page?: number;
|
||||
limit?: number;
|
||||
searchText?: string;
|
||||
useYn?: string;
|
||||
sortBy?: string;
|
||||
sortOrder?: "ASC" | "DESC";
|
||||
}
|
||||
|
||||
// 생성 요청
|
||||
export interface CreateBarcodeLabelRequest {
|
||||
labelNameKor: string;
|
||||
labelNameEng?: string;
|
||||
description?: string;
|
||||
templateType?: string;
|
||||
templateId?: string; // 선택 시 해당 템플릿 레이아웃 적용
|
||||
}
|
||||
|
||||
// 수정 요청
|
||||
export interface UpdateBarcodeLabelRequest {
|
||||
labelNameKor?: string;
|
||||
labelNameEng?: string;
|
||||
description?: string;
|
||||
templateType?: string;
|
||||
useYn?: string;
|
||||
}
|
||||
@@ -142,6 +142,16 @@ export interface CalculationRule {
|
||||
label?: string;
|
||||
}
|
||||
|
||||
// Entity 조인 설정 (리피터 컬럼의 FK를 참조 테이블과 조인하여 표시)
|
||||
export interface RepeaterEntityJoin {
|
||||
sourceColumn: string; // FK 컬럼 (예: "item_id")
|
||||
referenceTable: string; // 참조 테이블 (예: "item_info")
|
||||
columns: Array<{
|
||||
referenceField: string; // 참조 테이블 컬럼 (예: "item_name")
|
||||
displayField: string; // 리피터 표시 컬럼 키 (예: "item_name")
|
||||
}>;
|
||||
}
|
||||
|
||||
// 소스 디테일 설정 (모달에서 전달받은 마스터 데이터의 디테일을 자동 조회)
|
||||
export interface SourceDetailConfig {
|
||||
tableName: string; // 디테일 테이블명 (예: "sales_order_detail")
|
||||
@@ -185,6 +195,9 @@ export interface V2RepeaterConfig {
|
||||
// 모달 설정 (modal, mixed 모드)
|
||||
modal?: RepeaterModalConfig;
|
||||
|
||||
// Entity 조인 설정 (FK 기반으로 참조 테이블 데이터를 자동 해석하여 표시)
|
||||
entityJoins?: RepeaterEntityJoin[];
|
||||
|
||||
// 기능 옵션
|
||||
features: RepeaterFeatureOptions;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user