@@ -27,18 +27,18 @@ export default function () { | |||
actionName: "to-bom-detail", | |||
emitFullData: true, | |||
}, | |||
{ | |||
prop: "operations", | |||
name: "操作", | |||
fixed: "right", | |||
width: 120, | |||
subcomponent: TableOperaionComponent, | |||
options: [ | |||
{ name: "copy", label: "复制", icon: "copy-document" }, | |||
{ name: "edit", label: "编辑", icon: "edit-outline" }, | |||
{ name: "delete", icon: "delete", label: "删除", emitFull: true, permission: "pms:bom:delete" }, | |||
], | |||
}, | |||
// { | |||
// prop: "operations", | |||
// name: "操作", | |||
// fixed: "right", | |||
// width: 120, | |||
// subcomponent: TableOperaionComponent, | |||
// options: [ | |||
// { name: "copy", label: "复制", icon: "copy-document" }, | |||
// { name: "edit", label: "编辑", icon: "edit-outline" }, | |||
// { name: "delete", icon: "delete", label: "删除", emitFull: true, permission: "pms:bom:delete" }, | |||
// ], | |||
// }, | |||
]; | |||
const headFormFields = [ | |||
@@ -11,7 +11,8 @@ export default function () { | |||
{ prop: "syncTime", label: "同步时间", filter: timeFilter }, | |||
{ prop: "name", label: "名称" }, | |||
{ prop: "code", label: "编码" }, | |||
{ prop: "sumqty", label: " 配方总重量" }, | |||
{ prop: "externalCode", label: "版本" }, | |||
{ prop: "sumqty", label: "配方总重量" }, | |||
{ prop: "shortDesc", label: "物料销售文本短描述" }, | |||
{ prop: "description", label: "物料销售文本描述" }, | |||
{ prop: "remark", label: "备注" }, | |||
@@ -19,28 +20,167 @@ export default function () { | |||
prop: "operations", | |||
name: "操作", | |||
fixed: "right", | |||
width: 160, | |||
subcomponent: TableOperaionComponent, | |||
// width: 90, | |||
// options: [{ name: "edit", label: "编辑", icon: "edit-outline" }, { name: "delete", icon: "delete", label: "删除", emitFull: true, permission: "pms:materialStorage:delete" }], | |||
width: 50, | |||
options: [{ name: "sync", label: "同步", icon: "refresh" }], | |||
options: [ | |||
{ name: "sync", label: "同步", icon: "refresh" }, | |||
{ name: "copy", label: "复制", icon: "copy-document" }, | |||
{ name: "edit", label: "编辑", icon: "edit-outline" }, | |||
{ name: "delete", icon: "delete", label: "删除", emitFull: true, permission: "pms:bom:delete" }, | |||
], | |||
}, | |||
]; | |||
const dialogJustFormConfigs = null | |||
const dictList = JSON.parse(localStorage.getItem("dictList") || {}); | |||
const dialogConfigs = { | |||
menu: [ | |||
{ name: "配方", key: "info" }, | |||
{ name: "配方详情", key: "attr", onlyEditMode: true }, | |||
// { | |||
// name: "附件", | |||
// key: "attachment", | |||
// onlyEditMode: true, | |||
// actionUrl: window.SITE_CONFIG["apiURL"] + "/pms/attachment/uploadFileFormData?typeCode=ProductAttachment", | |||
// }, | |||
], | |||
form: { | |||
rows: [ | |||
[ | |||
{ | |||
input: true, | |||
label: "牌号", | |||
prop: "name", | |||
rules: { required: true, message: "必填项不能为空", trigger: "blur" }, | |||
elparams: { placeholder: "请输入牌号" }, | |||
}, | |||
{ | |||
input: true, | |||
label: "配方编码", | |||
prop: "code", | |||
rules: { required: true, message: "必填项不能为空", trigger: "blur" }, | |||
elparams: { placeholder: "请输入配方编码" }, | |||
}, | |||
// { input: true, label: '版本号', prop: 'version', elparams: { placeholder: '请输入版本号' } }, | |||
// { | |||
// select: true, | |||
// label: "产品类型", | |||
// prop: "typeDictValue", | |||
// options: "product_type" in dictList ? dictList["product_type"].map((item) => ({ value: item.dictValue, label: item.dictLabel })) : [], | |||
// elparams: { placeholder: "选择一个产品类型" }, | |||
// }, | |||
], | |||
[ | |||
// { input: true, label: '单位平方数', prop: 'code', rules: { required: true, message: '必填项不能为空', trigger: 'blur' }, elparams: { placeholder: '请输入设备名称编码' } }, | |||
// { | |||
// select: true, | |||
// label: "单位", | |||
// prop: "unitDictValue", | |||
// options: "unit" in dictList ? dictList["unit"].map((item) => ({ value: item.dictValue, label: item.dictLabel })) : [], | |||
// elparams: { placeholder: "选择单位" }, | |||
// }, | |||
{ | |||
input: true, | |||
label: "版本号", | |||
prop: "externalCode", | |||
rules: { required: true, message: "必填项不能为空", trigger: "blur" }, | |||
elparams: { placeholder: "请输入版本号" }, | |||
}, | |||
{ input: true, label: "物料销售文本(短)", prop: "shortDesc", elparams: { placeholder: "物料销售文本" } }, | |||
], | |||
[{ textarea: true, label: "物料销售文本", prop: "description", elparams: { placeholder: "物料销售文本" } }], | |||
[{ input: true, label: "备注", prop: "remark", elparams: { placeholder: "备注" } }], | |||
[ | |||
{ | |||
// input: true, | |||
forceDisabled: true, | |||
label: "同步状态", | |||
prop: "sync", | |||
key: "sync", | |||
// rules: { required: true, message: "必填项不能为空", trigger: "blur" }, | |||
// elparams: { placeholder: "请输入同步状态" }, | |||
}, | |||
], | |||
], | |||
operations: [ | |||
{ name: "add", label: "保存", type: "primary", permission: "pms:bom:save", showOnEdit: false }, | |||
{ name: "update", label: "更新", type: "primary", permission: "pms:bom:update", showOnEdit: true }, | |||
{ name: "reset", label: "重置", type: "warning", showAlways: true }, | |||
// { name: 'cancel', label: '取消', showAlways: true }, | |||
], | |||
}, | |||
table: { | |||
// extraParams: ['stepId'], | |||
extraParams: "bomId", | |||
props: [ | |||
{ type: "index", label: "序号" }, | |||
{ prop: "createTime", label: "添加时间", filter: timeFilter }, | |||
{ prop: "material", label: "物料", isEditField: true }, | |||
{ width: 130, prop: "qty", label: "配方物料重量", filter: (val) => (!!val ? val + " kg" : "-"), isEditField: true }, | |||
{ width: 130, prop: "sumqty", label: "配方总重量", filter: (val) => (!!val ? val + " kg" : "-"), isEditField: true }, | |||
{ prop: "percent", label: "配比 [%]", filter: (val) => (!!val ? val + " %" : "-"), isEditField: true }, | |||
{ prop: "remark", label: "备注", isEditField: true }, | |||
{ | |||
prop: "operations", | |||
name: "操作", | |||
fixed: "right", | |||
width: 90, | |||
subcomponent: TableOperaionComponent, | |||
options: [ | |||
{ name: "edit", label: "编辑", icon: "edit-outline", permission: "pms:bomMaterial:update" }, | |||
{ name: "delete", icon: "delete", label: "删除", emitFull: true, permission: "pms:bomMaterial:delete" }, | |||
], | |||
}, | |||
], | |||
data: [ | |||
// TOOD 暂时用不到,但获取可以考虑把拉取接口数据的函数迁移到此文件(没有太大必要) | |||
], | |||
}, | |||
subDialog: { | |||
extraParam: "bomId", | |||
forceAttachCode: true, // 产品属性新增必填 code 字段...... | |||
rows: [ | |||
[ | |||
{ | |||
select: true, | |||
label: "物料", | |||
prop: "materialId", | |||
rules: { required: true, message: "必填项不能为空", trigger: "blur" }, | |||
elparams: { placeholder: "请选择物料", filterable: true }, | |||
options: [], | |||
fetchData: () => this.$http.get("/pms/material/page", { params: { limit: 999, page: 1 } }), | |||
}, | |||
{ | |||
input: true, | |||
label: "物料重量[kg]", | |||
prop: "qty", | |||
rules: { required: true, message: "必填项不能为空", trigger: "blur" }, | |||
elparams: { placeholder: "请输入物料重量" }, | |||
}, | |||
], | |||
[{ textarea: true, label: "备注", prop: "remark", elparams: { placeholder: "添加备注" } }], | |||
], | |||
operations: [ | |||
{ name: "add", label: "保存", type: "primary", permission: "pms:bomMaterial:save", showOnEdit: false }, | |||
{ name: "update", label: "更新", type: "primary", permission: "pms:bomMaterial:update", showOnEdit: true }, | |||
], | |||
}, | |||
}; | |||
return { | |||
dialogConfigs: dialogJustFormConfigs, | |||
dialogConfigs, | |||
tableConfig: { | |||
table: null, // 此处可省略,el-table 上的配置项 | |||
column: tableProps, // el-column-item 上的配置项 | |||
}, | |||
urls: { | |||
// base: "/pms/bom/pageVersion", | |||
base: "/pms/bom", | |||
page: "/pms/bom/pageVersion", | |||
syncUrl: '/pms/bom/sync' | |||
// subase: '/pms/blenderStepParam', | |||
// subpage: '/pms/blenderStepParam/page', | |||
syncUrl: "/pms/bom/sync", | |||
copyUrl: "/pms/bom/copy", | |||
subase: "/pms/bomMaterial", | |||
subpage: "/pms/bomMaterial/page", | |||
// more... | |||
}, | |||
}; | |||
@@ -9,15 +9,15 @@ export default function () { | |||
{ width: 160, prop: "createTime", label: "添加时间", filter: timeFilter }, | |||
{ prop: "kilnCode", label: "窑炉" }, | |||
{ width: 160, prop: "orderCode", label: "主订单号" }, | |||
{ width: 160, prop: "orderCate", label: "主订单子号" }, | |||
{ width: 60, prop: "orderCate", label: "子号" }, | |||
{ width: 160, prop: "code", label: "烧成订单号" }, | |||
{ prop: "statusDictValue", label: "订单状态", filter: (val) => (val !== null && val !== undefined ? ["等待", "确认", "生产", "暂停", "结束", "接受", "拒绝"][val] : "-"), }, | |||
{ prop: "startTime", label: "开始时间" }, | |||
{ width: 60, prop: "percent", label: "进度", filter: (val) => (val !== null && val !== undefined ? val + " %" : "-") }, | |||
// { prop: "statusDictValue", label: "订单状态", filter: (val) => (val !== null && val !== undefined ? ["等待", "确认", "生产", "暂停", "结束", "接受", "拒绝"][val] : "-"), }, | |||
// { prop: "startTime", label: "开始时间" }, | |||
{ prop: "bomCode", label: "配方" }, | |||
{ prop: "ai", label: "版本号" }, | |||
{ prop: "qty", label: "压制数量" }, | |||
{ prop: "qtyComplete", label: "完成数量" }, | |||
{ prop: "percent", label: "完成进度", filter: (val) => (val !== null && val !== undefined ? val + " %" : "-") }, | |||
{ width: 80, prop: "ai", label: "版本号" }, | |||
{ width: 80, prop: "qty", label: "生产量" }, | |||
{ prop: "qtyComplete", label: "完成量" }, | |||
// { prop: "remark", label: "备注" }, | |||
// { prop: 'version', label: '配方号' }, | |||
// { prop: 'status', label: '状态', subcomponent: StatusComponent }, // subcomponent | |||
@@ -49,24 +49,24 @@ export default function () { | |||
// { name: 'end-order', label: '结束订单', icon: 'error', showText: true }, | |||
], | |||
}; | |||
const genTableProps = (type /** ongoing, pending, finished */) => [ | |||
{ width: 80, type: "index", label: "序号", fixed: true }, | |||
{ width: 60, type: "index", label: "序号", fixed: true }, | |||
{ width: 120, prop: "code", label: "订单号", fixed: "left" }, | |||
{ width: 120, prop: "createTime", label: "添加时间", filter: timeFilter }, | |||
{ width: 120, prop: "statusDictValue", label: "订单状态", filter: dictFilter("order_status") }, // 不可编辑 | |||
{ width: 200, prop: "cate", label: "子订单号" }, | |||
{ width: 200, prop: "productCode", label: "物料编号" }, // select, filterable | |||
{ width: 200, prop: "shapeCode", label: "砖型编号" }, // select, filterable | |||
{ width: 60, prop: "cate", label: "子号" }, | |||
{ width: 60, prop: "statusDictValue", label: "状态", filter: dictFilter("order_status") }, // 不可编辑 | |||
{ width: 120, prop: "startTime", label: "开始时间", filter: timeFilter }, // "订单砖数" }, | |||
{ width: 60, prop: "prodqty", label: "数量" }, // "订单砖数" }, | |||
{ width: 100, prop: "productCode", label: "物料" }, // "物料编号" }, // select, filterable | |||
{ width: 100, prop: "shapeCode", label: "砖型" }, // "砖型编号" }, // select, filterable | |||
{ width: 120, prop: "brand", label: "牌号" }, // select, filterable | |||
{ width: 80, prop: "addon", label: "addon" }, | |||
{ width: 120, prop: "ai", label: "版本号" }, // auto display according to the 配方 | |||
{ width: 60, prop: "ai", label: "版本" }, // "版本号" }, // auto display according to the 配方 | |||
{ width: 65, prop: "addon", label: "addon" }, | |||
{ width: 200, prop: "shortDesc", label: "物料号销售文本" }, | |||
{ width: 200, prop: "bomCode", label: "配方编码" }, | |||
{ width: 200, prop: "pressCode", label: "压机号" }, // select, filterable | |||
{ width: 200, prop: "blenderCode", label: "混料机号" }, // select, filterable | |||
{ width: 200, prop: "kilnCode", label: "隧道窑号" }, // select, filterable | |||
{ width: 120, prop: "prodqty", label: "订单砖数" }, | |||
{ width: 100, prop: "bomCode", label: "配方编码" }, | |||
{ width: 80, prop: "pressCode", label: "压机号" }, // select, filterable | |||
{ width: 80, prop: "blenderCode", label: "混料机号" }, // select, filterable | |||
{ width: 80, prop: "kilnCode", label: "隧道窑号" }, // select, filterable | |||
{ width: 120, prop: "ktmp", label: "烧成温度" }, | |||
{ width: 120, prop: "tt", label: "烧成时间" }, | |||
{ width: 120, prop: "yieldqty", label: "已生产数量" }, // uneditable | |||
@@ -79,7 +79,8 @@ export default function () { | |||
{ width: 120, prop: "customerCode", label: "客户" }, | |||
{ width: 120, prop: "pcsKilnCar", label: "托盘码放砖数" }, | |||
// { prop: "description", label: "详情", subcomponent: TableTextComponent }, | |||
{ width: 200, prop: "remark", label: "备注" }, | |||
{ width: 120, prop: "remark", label: "备注" }, | |||
{ width: 120, prop: "createTime", label: "添加时间", filter: timeFilter }, | |||
{ | |||
prop: "operations", | |||
name: "操作", | |||
@@ -9,15 +9,15 @@ export default function () { | |||
{ width: 160, prop: "createTime", label: "添加时间", filter: timeFilter }, | |||
// { prop: "kilnCode", label: "窑炉" }, | |||
{ width: 160, prop: "orderCode", label: "主订单号" }, | |||
{ width: 100, prop: "orderCate", label: "主订单子号" }, | |||
{ width: 60, prop: "orderCate", label: "子号" }, | |||
{ width: 160, prop: "code", label: "压制订单号" }, | |||
{ width: 60, prop: "percent", label: "进度", filter: (val) => (val !== null && val !== undefined ? val + " %" : "-") }, | |||
{ prop: "statusDictValue", label: "订单状态", filter: (val) => (val !== null && val !== undefined ? ["等待", "确认", "生产", "暂停", "结束", "接受", "拒绝"][val] : "-"), }, | |||
{ prop: "startTime", label: "开始时间" }, | |||
{ width: 100, prop: "shapeCode", label: "砖型" }, | |||
{ prop: "pressCode", label: "压机" }, | |||
{ width: 120, prop: "qty", label: "要求生产数量" }, | |||
{ prop: "qtyComplete", label: "完成数量" }, | |||
{ prop: "percent", label: "完成进度", filter: (val) => (val !== null && val !== undefined ? val + " %" : "-") }, | |||
{ width: 80, prop: "qty", label: "生产量" }, | |||
{ prop: "qtyComplete", label: "完成量" }, | |||
{ prop: "goodqty", label: "合格数量" }, | |||
{ width: 120, prop: "badqty", label: "不合格数量" }, | |||
// { prop: "remark", label: "备注" }, | |||
@@ -8,25 +8,25 @@ export default function () { | |||
{ type: "index", label: "序号" }, | |||
{ width: 160, prop: "createTime", label: "添加时间", filter: timeFilter }, | |||
{ prop: "kilnCode", label: "窑炉" }, | |||
{ width: 100, prop: "orderCode", label: "主订单号" }, | |||
{ width: 120, prop: "orderCate", label: "主订单子号" }, | |||
{ width: 160, prop: "code", label: "检测包装订单号" }, | |||
{ | |||
prop: "statusDictValue", | |||
label: "订单状态", | |||
filter: (val) => (val !== null && val !== undefined ? ["等待", "确认", "生产", "暂停", "结束", "接受", "拒绝"][val] : "-"), | |||
}, | |||
{ width: 120, prop: "startTime", label: "开始时间" }, | |||
{ width: 120, prop: "orderCode", label: "主订单号" }, | |||
{ width: 60, prop: "orderCate", label: "子号" }, | |||
{ width: 210, prop: "code", label: "检测包装订单号" }, | |||
{ width: 60, prop: "percent", label: "进度", filter: (val) => (val !== null && val !== undefined ? val + " %" : "-") }, | |||
// { | |||
// prop: "statusDictValue", | |||
// label: "订单状态", | |||
// filter: (val) => (val !== null && val !== undefined ? ["等待", "确认", "生产", "暂停", "结束", "接受", "拒绝"][val] : "-"), | |||
// }, | |||
// { width: 120, prop: "startTime", label: "开始时间" }, | |||
{ width: 120, prop: "shapeCode", label: "砖型" }, | |||
{ prop: "ai", label: "版本号" }, | |||
{ width: 120, prop: "qty1", label: "检测要求数量" }, | |||
{ width: 120, prop: "qty1Complete", label: "检测完成数量" }, | |||
{ width: 90, prop: "ai", label: "版本号" }, | |||
{ width: 90, prop: "qty1", label: "检测量" }, | |||
{ width: 120, prop: "qty1Complete", label: "完成量" }, | |||
{ width: 120, prop: "goodqty1", label: "检测合格量" }, | |||
{ width: 120, prop: "badqty1", label: "检测不合格量" }, | |||
{ width: 120, prop: "qty2", label: "包装要求数量" }, | |||
{ width: 120, prop: "qty2Complete", label: "包装完成数量" }, | |||
{ prop: "percent", label: "检测进度", filter: (val) => (val !== null && val !== undefined ? val + " %" : "-") }, | |||
{ prop: "percent2", label: "包装进度", filter: (val) => (val !== null && val !== undefined ? val + " %" : "-") }, | |||
// { width: 120, prop: "qty2", label: "包装要求数量" }, | |||
// { width: 120, prop: "qty2Complete", label: "包装完成数量" }, | |||
// { prop: "percent2", label: "包装进度", filter: (val) => (val !== null && val !== undefined ? val + " %" : "-") }, | |||
// { prop: "remark", label: "备注" }, | |||
// { prop: 'version', label: '配方号' }, | |||
// { prop: 'status', label: '状态', subcomponent: StatusComponent }, // subcomponent | |||