Files
klp-oa/klp-ui/src/views/aps/sheets/templates.js

69 lines
3.3 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* 统一排产表:模板配置
*
* 设计目标:
* - 用同一套 UI 渲染不同机组的“排产表样式”(多级表头/字段差异)
* - 后端返回统一的 rowModel行数据前端仅做字段映射和展示
*
* 约定:
* - columns 支持多级:{ label, children } 或叶子列 { label, prop, width, minWidth, fixed, align }
* - summary用于底部合计显示哪些字段求和
*/
export const APS_SHEET_TEMPLATES = [
{
key: 'unified',
name: '统一排产表',
columns: [
{ label: '产线', prop: 'lineName', minWidth: 140 },
{ label: '排产单号', prop: 'planCode', minWidth: 140 },
{ label: '排产类型', prop: 'planType', width: 100 },
{ label: '排产人', prop: 'scheduler', width: 100 },
{ label: '修改人', prop: 'updateBy', width: 100 },
{ label: '备注', prop: 'remark', minWidth: 160 },
{ label: '内容序号', prop: 'bizSeqNo', width: 110 },
{ label: '销售内容', prop: 'orderCode', minWidth: 140 },
{ label: '订单合同号', prop: 'contractCode', minWidth: 140 },
{ label: '客户', prop: 'customerName', minWidth: 140 },
{ label: '业务员', prop: 'salesman', width: 100 },
{ label: '成品名称', prop: 'productName', minWidth: 140 },
{ label: '材质', prop: 'productMaterial', width: 100 },
{ label: '镀层g', prop: 'coatingG', width: 90, align: 'right' },
{ label: '成品宽度', prop: 'productWidth', width: 100, align: 'right' },
{ label: '扎制厚度', prop: 'rollingThick', width: 100, align: 'right' },
{ label: '标丝厚度', prop: 'markCoatThick', width: 100, align: 'right' },
{ label: '吨钢长度区间m', prop: 'tonSteelLengthRange', minWidth: 130 },
{ label: '数量', prop: 'planQty', width: 90, align: 'right' },
{ label: '重量', prop: 'planWeight', width: 100, align: 'right' },
{ label: '表面处理', prop: 'surfaceTreatment', width: 110 },
{ label: '切边要求', prop: 'widthReq', width: 110 },
{ label: '宽度要求', prop: 'rawEdgeReq', width: 110 },
{ label: '用途', prop: 'usageReq', width: 100 },
{ label: '后处理', prop: 'postProcess', width: 100 },
{ label: '下工序', prop: 'nextProcess', width: 100 },
{ label: '取样', prop: 'sampleReq', width: 90 },
{ label: '开始时间', prop: 'startTime', width: 170 },
{ label: '结束时间', prop: 'endTime', width: 170 },
{ label: '厂家', prop: 'rawManufacturer', width: 100 },
{ label: '原料信息', prop: 'rawMaterial', minWidth: 140 },
{ label: '原料厚度mm', prop: 'rawThick', width: 110, align: 'right' },
{ label: '宽度mm', prop: 'rawWidth', width: 100, align: 'right' },
{ label: '原料钢卷', prop: 'rawMaterialId', minWidth: 220 },
{ label: '原料卷号', prop: 'rawCoilNos', minWidth: 220 },
{ label: '钢卷位置', prop: 'rawLocation', minWidth: 140 },
{ label: '包装要求', prop: 'rawPackaging', minWidth: 140 },
{ label: '镀层种类', prop: 'rawCoatingType', width: 110 },
{ label: '原料净重', prop: 'rawNetWeight', width: 110, align: 'right' }
],
summary: { sumFields: ['planQty', 'rawNetWeight'] }
}
]
export function getTemplateByKey(key) {
return APS_SHEET_TEMPLATES.find(t => t.key === key) || APS_SHEET_TEMPLATES[0]
}