Files
sam-react-prod/src/components/items/DynamicItemForm/config/reference-sources.ts

113 lines
2.9 KiB
TypeScript
Raw Normal View History

/**
* Reference
*
* ReferenceField가 properties.source
* API URL, ,
*
* 확장: = 1
*/
import type { ReferenceSourcePreset } from '../types';
export const REFERENCE_SOURCES: Record<string, ReferenceSourcePreset> = {
// ===== 공통 =====
vendors: {
apiUrl: '/api/proxy/vendors',
displayField: 'name',
valueField: 'id',
searchFields: ['name', 'code'],
columns: [
{ key: 'code', label: '거래처 코드', width: '120px' },
{ key: 'name', label: '거래처명' },
{ key: 'contact_person', label: '담당자', width: '100px' },
],
},
items: {
apiUrl: '/api/proxy/items',
displayField: 'name',
valueField: 'id',
searchFields: ['name', 'code'],
columns: [
{ key: 'code', label: '품목코드', width: '120px' },
{ key: 'name', label: '품목명' },
{ key: 'spec', label: '규격', width: '120px' },
],
},
customers: {
apiUrl: '/api/proxy/customers',
displayField: 'name',
valueField: 'id',
searchFields: ['name', 'code'],
columns: [
{ key: 'code', label: '고객 코드', width: '120px' },
{ key: 'name', label: '고객명' },
],
},
employees: {
apiUrl: '/api/proxy/employees',
displayField: 'name',
valueField: 'id',
searchFields: ['name'],
columns: [
{ key: 'name', label: '직원명' },
{ key: 'department', label: '부서', width: '120px' },
],
},
warehouses: {
apiUrl: '/api/proxy/warehouses',
displayField: 'name',
valueField: 'id',
searchFields: ['name', 'code'],
columns: [
{ key: 'code', label: '창고코드', width: '120px' },
{ key: 'name', label: '창고명' },
],
},
// ===== 제조 =====
processes: {
apiUrl: '/api/proxy/processes',
displayField: 'name',
valueField: 'id',
searchFields: ['name', 'code'],
columns: [
{ key: 'code', label: '공정코드', width: '120px' },
{ key: 'name', label: '공정명' },
],
},
equipment: {
apiUrl: '/api/proxy/equipment',
displayField: 'name',
valueField: 'id',
searchFields: ['name', 'code'],
columns: [
{ key: 'code', label: '설비코드', width: '120px' },
{ key: 'name', label: '설비명' },
],
},
// ===== 공사 =====
sites: {
apiUrl: '/api/proxy/construction-sites',
displayField: 'name',
valueField: 'id',
searchFields: ['name', 'address'],
columns: [
{ key: 'name', label: '현장명' },
{ key: 'address', label: '주소' },
],
},
// ===== 물류 =====
vehicles: {
apiUrl: '/api/proxy/vehicles',
displayField: 'plate_number',
valueField: 'id',
searchFields: ['plate_number', 'driver_name'],
columns: [
{ key: 'plate_number', label: '차량번호', width: '120px' },
{ key: 'driver_name', label: '기사명' },
],
},
};