let action = null, app = null; layui.config({ base: "/js/", version: 1 }).use(['system', 'JsBarcode', 'jqprint', "vue"], function () { var form = layui.form, $ = layui.jquery, element = layui.element, table = layui.table, system = layui.system, sysU = new system.u(), sendData = null, areaName = "wo", tableName = "WorkOrder", vueApp = null, app = null, selectStationCodeVal = null, rowData = null, rowDataDetail = null; action = { addOptions: function () { var options = { fromId: "#modifyForm form", url: `/${areaName}/${tableName}/Ins`, submit: "submit(fromAdd)" } return options; }, addOptionsDesc: function () { var options = { fromId: "#modifyFormDesc form", url: `/${areaName}/${tableName}/InsDesc`, content: $('#modifyFormDesc'), submit: "submit(fromAddDesc)" } return options; }, editOptions: function () { var options = { fromId: "#modifyForm form", url: `/${areaName}/${tableName}/Upd`, submit: "submit(fromUpdate)" } return options; }, editOptionsDesc: function () { var options = { fromId: "#modifyFormDesc form", url: `/${areaName}/${tableName}/UpdDesc`, content: $('#modifyFormDesc'), submit: "submit(fromUpdateDesc)" } return options; }, deleteOptions: function () { var options = { url: `/${areaName}/${tableName}/DelByKeys`, keyId: "keys", titleConfirmDelete: "确定要删除所选信息吗(对应的明细数据也会删除)?" } return options; }, deleteOptionsDesc: function () { var options = { url: `/${areaName}/${tableName}/DelByKeys`, keyId: "keys" } return options; }, exportOptions: function () { var options = { fromId: "listForm", url: `/${areaName}/${tableName}/Export`, isDefault: true, excelCols: { head: app.data.cols, body: app.data.colsDesc } } return options; }, queryOptions: function () { var options = { resetFrom: "form[lay-filter=listForm]", fromId: "listForm", urlExport: `/${areaName}/${tableName}/Export`, urlQuery: `/${areaName}/${tableName}/Load`, mainTable: app.data.tableIns } return options; }, uploadOptions: function () { var options = { url: `/${areaName}/${tableName}/Import` } return options; }, rowClickOptions: function () { var options = { isDefault: true, targetTableId: app.data.tableElem, tabfilter: "tableTabBody", tabId: 2, customFn: app.methods.initTableDesc } return options; }, editBefore: function (data, callBack) { form.val("modifyForm", data); //callBack是回调函数,如果editBefore有ajax 放在成功之后 if (callBack != null) callBack(); }, editSaveBefore: function (data, callBack) { if (callBack != null) callBack(); }, editBeforeDesc: function (data, callBack) { form.val("modifyFormDesc", data); //callBack是回调函数,如果editBefore有ajax 放在成功之后 if (callBack != null) callBack(); }, editSaveBeforeDesc: function (data, callBack) { if (callBack != null) callBack(); }, addBefore: function (callBack) { //callBack是回调函数,如果editBefore有ajax 放在成功之后 if (callBack != null) callBack(); }, addBeforeDesc: function (callBack) { //callBack是回调函数,如果editBefore有ajax 放在成功之后 if (callBack != null) callBack(); }, addSaveBefore: function (data, callBack) { if (callBack != null) callBack(); }, //当前行表格双击事件处理 customTableRowClick: function (obj, tableId) { if (tableId == app.data.tableElem) { rowData = obj.data; } }, //时间线 btnOprTimeLine: function (sU, toolbarId, obj) { var checkStatus = table.checkStatus(toolbarId); if (checkStatus.data.length != 1) { layer.alert(sysU.config.titleSelectOne, { icon: sysU.config.iconoError, shadeClose: true, title: sysU.config.titleSelectOne }); return; } var ajaxConfig = { data: { headKeys: checkStatus.data[0].keys }, url: `/${areaName}/${tableName}/LoadDesc`, success: function (data) { vueApp.noProductiontime = []; if (sU.successBefore(data)) return; vueApp.oprTimeLineList = data.Result; layer.open({ type: 1, title: `信息【${checkStatus.data[0].productHeaderCode}】`, content: $("#timeline"), area: ['1000px', '580px'] }); } }; sU.ajax(ajaxConfig); }, //工序任务明细物料 btnMater: function (sU, detailId, obj) { var checkStatus = table.checkStatus(detailId); if (checkStatus.data.length != 1) { layer.alert(sysU.config.titleSelectOne, { icon: sysU.config.iconoError, shadeClose: true, title: sysU.config.titleSelectOne }); return; } var data = checkStatus.data[0]; console.log(`MaterDetail?headkey='${data.headKeys}'&bodyKey='${data.bodyKeys}'`); layer.open({ type: 2, title: `${data.oprSequenceName} - ${data.materialName}`, content: `MaterDetail?headKey=${data.headKeys}&bodyKey=${data.bodyKeys}`, area: ['1000px', '580px'] }); }, //报工MOM btnWorkReport: function (sysU, toolbarId, obj) { var checkStatus = table.checkStatus(toolbarId); if (checkStatus.data.length != 1) { layer.alert(sysU.config.titleSelectOne, { icon: sysU.config.iconoError, shadeClose: true, title: sysU.config.titleSelectOne }); return; } var sendData = checkStatus.data[0].keys; //弹出框提示报工作业信息数据,后提交报工数据到MOM var ajaxConfig = { data: { headKey: sendData }, url: `/${areaName}/${tableName}/WorkReport`, success: function (data) { console.info(data); if (sysU.successBefore(data)) return false; layer.confirm(data.Message, { icon: 3, title: '提示' }, function (index) { var ajaxConfig = { data: { headKey: sendData, IsValdate: false }, url: `/${areaName}/${tableName}/WorkReport`, success: function (result) { if (sysU.successBefore(result)) return; layer.msg(sysU.config.titleActionSuccess, { icon: sysU.config.iconoOk, shade: 0.4, time: sysU.config.msgOpenTime }); if (action["actionSuccess"] !== undefined) action["actionSuccess"].call(null, "Desc"); table.reload("mainList"); } }; sysU.ajax(ajaxConfig); layer.close(index); }); } }; sysU.ajax(ajaxConfig); }, //质检报告 btnReworkCheck: function (sysU, toolbarId, obj) { var checkStatus = table.checkStatus(toolbarId), data = checkStatus.data; if (data.length !== 1) { layer.msg(sysU.config.titleSelectOne); return false; } layer.open({ title: "质检报告-工单编码【" + data[0].workOrderCode + "】", type: 2, area: ['1000px', '600px'], content: "/quality/ReworkCheck/Index?page=WorkOrder&headCode=" + data[0].workOrderCode }); }, //收货 btnReceipt: function (sysU, toolbarId, obj) { var checkStatus = table.checkStatus(toolbarId), data = checkStatus.data; if (data.length !== 1) { layer.msg(sysU.config.titleSelectOne); return false; } layer.open({ title: "收货-工单编码【" + data[0].workOrderCode + "】,注意:切换页码之前请先保存当前页已修改的数据", type: 2, area: ['1000px', '600px'], content: `Receipt?headKey=${data[0].keys}` }); }, //收货统计 btnReceiptStatistics: function (sysU, toolbarId, obj) { var checkStatus = table.checkStatus(toolbarId), data = checkStatus.data; if (data.length !== 1) { layer.msg(sysU.config.titleSelectOne); return false; } layer.open({ title: "收货统计-工单编码【" + data[0].workOrderCode + "】,注意:“合计”只统计当前页码的数据", type: 2, area: ['1000px', '600px'], content: `ReceiptStatistics?headKey=${data[0].keys}` }); }, //工序数据录入和开工 btnEnteringWorkReport: function (sU, toolbarId, obj) { debugger $("#complete form")[0].reset(); var checkStatus = table.checkStatus(toolbarId); if (checkStatus.data.length != 1) { layer.alert(sysU.config.titleSelectOne, { icon: sysU.config.iconoError, shadeClose: true, title: sysU.config.titleSelectOne }); return; } if (checkStatus.data[0].workReportStatus > window.top.EnumWorkReportStatus["开工已报工"]) { layer.alert("当前工序已开工并报工!", { icon: 2, shadeClose: true, title: "错误提示" }); return; } var checkData = checkStatus.data[0]; var id = checkData.id; var headKeys = checkData.headKeys; var bodyKeys = checkData.bodyKeys; if (checkData.actualStartTime == null) { $("#actualStartTime").val(new Date().format("yyyy-MM-dd hh:mm:ss")); } else { $("#actualStartTime").val(checkData.actualStartTime); } rowDataDetail = checkData; //加载工位 app.data.selectOption.stationCode.SelFrom = `/configure/Station/LoadStationCodeByworkCenterCode?workCenterCode=${checkData.workCenterCode}&lineCode=${rowData.lineCode}`; sysU.initSelect(app.data.selectOption, function () { //给表单赋值 form.val("complete", { stationCode: checkData.stationCode }); // 模拟select点击事件 setTimeout(() => { //$("#stationCode").next().find('.layui-select-title input').click(); $("#stationCode").next().find('.layui-anim').children(`dd[lay-value="${checkData.stationCode}"]`).click(); }, 1000); }); //加载 工序物料消耗、设备工艺参数 文本下拉框表格 app.methods.initSelect(); //加载物料表格 app.methods.initGetMaterialInfo(checkData); layer.open({ type: 1, title: "工序数据录入和开工,工序任务头表ID:【" + rowData.id + "】", content: $("#complete"), btn: ['保存', "关闭"], area: ['800px', '580px'], yes: function (index, layero) { debugger var Material = sysU.getTableAllData("WorkOrderMaterialUseLog"); var Equipment = sysU.getTableAllData("mainListEquipmentProcessTemplate"); var actualStartTime = document.getElementById("actualStartTime").value; if (actualStartTime == "") { layer.alert(`请选择开始时间!`, { icon: sysU.config.iconoError, shadeClose: true, title: sysU.config.titleOpen }); return; } //if (selectStationCodeVal == null || selectStationCodeVal == "") { // layer.alert(`请选择工位!`, { icon: sysU.config.iconoError, shadeClose: true, title: sysU.config.titleOpen }); // return; //} var ajaxConfig = { data: { headKeys: headKeys, bodyKeys: bodyKeys, id: id, actualStartTime: actualStartTime, Material: Material, Equipment: Equipment, stationCode: rowDataDetail.stationCode }, url: `/${areaName}/${tableName}/UpdateProcess`, success: function (result) { if (sysU.successBefore(result)) return; layer.msg(result.Message, { icon: 6, shade: 0.4, time: sysU.config.msgOpenTimeLong }); layer.confirm(sysU.config.titleWorkReport, { icon: 3, title: '提示' }, function (idnex) { var ajaxConfig = { data: { headKey: rowData.keys }, url: `/${areaName}/${tableName}/WorkReport`, success: function (data) { console.info(data); if (sysU.successBefore(data)) return false; layer.confirm(data.Message, { icon: 3, title: '提示' }, function (index) { var ajaxConfig = { data: { headKey: rowData.keys, IsValdate: false }, url: `/${areaName}/${tableName}/WorkReport`, success: function (result) { if (sysU.successBefore(result)) return; layer.msg(sysU.config.titleActionSuccess, { icon: sysU.config.iconoOk, shade: 0.4, time: sysU.config.msgOpenTime }); if (action["actionSuccess"] !== undefined) action["actionSuccess"].call(null, "Desc"); } }; sysU.ajax(ajaxConfig); layer.close(index); }); } }; sysU.ajax(ajaxConfig); }); sysU.refreshTable(app, sysU, sendData, "btnCompletionDesc"); } }; sysU.ajax(ajaxConfig); layer.close(index); } }); }, //完工 btnCompletion: function (sU, toolbarId, obj) { debugger $("#CompletionOfProcess form")[0].reset(); var checkStatus = table.checkStatus(toolbarId); if (checkStatus.data.length != 1) { layer.alert(sysU.config.titleSelectOne, { icon: sysU.config.iconoError, shadeClose: true, title: sysU.config.titleSelectOne }); return; } if (checkStatus.data[0].workReportStatus > window.top.EnumWorkReportStatus["开工已报工"]) { layer.alert("当前工序已完工或者无需处理", { icon: 2, shadeClose: true, title: "错误提示" }); return; } if (checkStatus.data[0].state < window.top.EnumOrderBodyStatus.生产中) { layer.alert("必须先开工在完工", { icon: 2, shadeClose: true, title: "错误提示" }); return; } var checkData = checkStatus.data[0]; var id = checkData.id; var headKeys = checkData.headKeys; if (checkData.actualEndTime == null) { $("#actualEndTime").val(new Date().format("yyyy-MM-dd hh:mm:ss")); } else { $("#actualEndTime").val(checkData.actualStartTime); } layer.open({ type: 1, title: "完工,工序任务头表ID:【" + rowData.id + "】", content: $("#CompletionOfProcess"), btn: ['保存', '关闭'], area: ['400px', '300px'], yes: function (index, layero) { var actualEndTime = document.getElementById("actualEndTime").value; var ajaxConfig = { data: { headKeys: headKeys, id: id, actualEndTime: actualEndTime }, url: `/${areaName}/${tableName}/WorkComplete`, success: function (result) { if (sysU.successBefore(result)) return; layer.msg(result.Message, { icon: 6, shade: 0.4, time: sysU.config.msgOpenTimeLong }); layer.confirm(sysU.config.titleWorkReport, { icon: 3, title: '提示' }, function (idnex) { var ajaxConfig = { data: { headKey: rowData.keys }, url: `/${areaName}/${tableName}/WorkReport`, success: function (data) { console.info(data); if (sysU.successBefore(data)) return false; layer.confirm(data.Message, { icon: 3, title: '提示' }, function (index) { var ajaxConfig = { data: { headKey: rowData.keys, IsValdate: false }, url: `/${areaName}/${tableName}/WorkReport`, success: function (result) { if (sysU.successBefore(result)) return; layer.msg(sysU.config.titleActionSuccess, { icon: sysU.config.iconoOk, shade: 0.4, time: sysU.config.msgOpenTime }); if (action["actionSuccess"] !== undefined) action["actionSuccess"].call(null, "Desc"); } }; sysU.ajax(ajaxConfig); layer.close(index); }); } }; sysU.ajax(ajaxConfig); }); sysU.refreshTable(app, sysU, sendData, "btnCompletionDesc"); } }; if (document.getElementById("actualEndTime").value == "") { layer.alert(`请选择结束时间!`, { icon: sysU.config.iconoError, shadeClose: true, title: sysU.config.titleOpen }); return; } sysU.ajax(ajaxConfig); layer.close(index); } }); }, //点击下拉框获取工位编码 stationCodeFromEvent: function (data) { debugger if (data.value == "") { layer.msg("请选择工位"); return false; } selectStationCodeVal = data.value; rowDataDetail["stationCode"] = selectStationCodeVal; app.methods.initGetEquipmentInfo(rowDataDetail); }, qcCodePrintOptions: () => { var options = { qrCodeValueKey: "productHeaderCode", //【qrcodeElem】 是要修改的内容其他的不要变 id 的变量值不需要变 customFn: (sysU, parameter, selectData) => { //qcCodeValue:产品编码#供应商编码#生产计划号#3位流水号 var supplierCode = "EZ8100"; for (var i = 0; i < selectData.length; i++) { var qcCodeValue = `${selectData[i]["productHeaderCode"]}#${supplierCode}#${selectData[i]["planCode"]}#001`, qrcodeId = "qrcode" + i, qrcodeHeadId = "qrcodeHead" + i, qrCodeElem = `<div id="${qrcodeHeadId}" class="qcCode" style="width: 227px; height: 151px;"> <div class="qr-head"> <div class="qr-head-log"> <label class="lal-padingLeft qr-font12">${supplierCode}</label> <img src="../../../images/qr/leishaLogQr.png" style="width:70px; height: 23px;padding-right: 4px;"/> </div> <div class="qr-head-content"> <label class="lal-padingLeft qr-font12">${selectData[i]["productName"]}</label> <label style="padding-right: 4px;">自制</label> </div> </div> <div class="qr-body qrCode-flex" style="justify-content: space-between;"> <div class="qr-body-left qr-font12"> <label class="lal-padingLeft" style="display: inline-block;padding-top:8px">${selectData[i]["productHeaderCode"]}</label> <div class="qrCode-flex" style='margin-top: 20px;'> <label style="display: inline-block;padding-top:8px" class="lal-padingLeft">${selectData[i]["planCode"]}</label> <label style="display: inline-block;padding-top:8px ;padding-left: 20px;">001</label> </div> </div> <div class="qr-body-right"> <div id="${qrcodeId}" ></div> </div> </div> </div>`; parameter["width"] = 400; parameter["height"] = 400; sysU.qRCodeWirtDom(parameter, qrCodeElem, qrcodeId, qcCodeValue); $(".qr-body-right img").css("height", 71); } return true; } } return options; }, //操作记录 btnOperationRecord: function (data, toolbarId) { var checkStatus = table.checkStatus(toolbarId); if (checkStatus.data.length != 1) { layer.alert(sysU.config.titleSelectOne, { icon: sysU.config.iconoError, shadeClose: true, title: sysU.config.titleSelectOne }); return; } var workOrderHeadKeys = checkStatus.data[0].keys; var url = `/wo/BusWorkorderDetailOperation/Index?headKey=${workOrderHeadKeys}`; var index = layer.open({ title: "操作记录-工单编码【" + checkStatus.data[0].workOrderCode + "】", type: 2, area: ['1000px', '600px'], content: url }); }, //所有动作成功之后 actionSuccess: (falg, curr = 1) => { sysU.refreshTable(app, sysU, sendData, falg); } } app = { data: { cols: [[ { checkbox: true, fixed: true }, { field: "id", width: 80, hide: true, title: " id" }, { field: "keys", width: 150, hide: true, title: "keys" }, { field: "processHeadKeys", width: 150, hide: true, title: "工艺路线keys" }, { field: "workOrderCode", width: 180, title: "工单编码", hide: true, }, { field: 'planCode', width: 150, title: '生产计划号' }, { field: 'projectCode', width: 150, title: '项目编码', hide: true, }, { field: 'projectName', width: 150, title: '项目名称' }, { field: "productHeaderCode", width: 150, title: "产品编码", hide: true }, { field: "productName", width: 150, title: "产品名称" }, { field: "lineCode", width: 150, hide: true, title: "产线编码", hide: true }, { field: "lineName", width: 180, title: "线体", hide: true }, { field: 'state', width: 100, title: '任务状态', templet: function (obj) { return "".GetState(window.top.EnumOrderHeadStatus, obj.state) } }, { field: 'nowOprSequenceCode', width: 150, title: '当前工序', hide: true }, { field: 'oprSequenceName', width: 150, title: '工序名称' }, { field: 'nowStationCode', width: 100, title: '当前工位' }, { field: 'nextOprSequenceCode', width: 150, title: '下个工序', hide: true }, { field: 'nextStationCode', width: 100, title: '下个工位', hide: true }, { field: 'isScrap', width: 100, title: '是否报废', templet: function (obj) { return obj.isScrap == true ? "是" : "否" } }, { field: 'line_no', width: 100, title: '管线号' }, { field: "planStartTime", width: 150, title: "计划开始时间" }, { field: "planEndTime", width: 150, title: "计划结束时间" }, { field: "actualStartTime", width: 150, title: "实际开始时间" }, { field: "actualEndTime", width: 150, title: "实际结束时间" }, { field: "otherOrderCode", width: 150, hide: true, title: "外部编码" }, { field: "plmeId", width: 150, hide: true, title: "plmeId" }, { field: "createTime", width: 150, title: "创建时间" }, { field: "createBy", width: 150, title: "创建用户" }, { field: "updateTime", width: 150, title: "更新时间" }, { field: "updateBy", width: 150, title: "更新用户" } ]], colsDesc: [[ { checkbox: true, fixed: true }, { field: "id", width: 80, title: "id", hide: true }, { field: "bodyKeys", width: 150, hide: true, title: "工单明细标识" }, { field: "headKeys", width: 150, hide: true, title: "工单头标识" }, { field: "serialNumber", width: 80, hide: true, title: "序号" }, { field: "serialNumberName", width: 80, title: "序号" }, { field: "workCenterCode", width: 100, title: "工作中心" }, { field: "stationCode", width: 150, title: "工位编码" }, { field: "oprSequenceCode", width: 150, hide: true, title: "工序编码" }, { field: "oprSequenceName", width: 150, title: "工序名称" }, { field: "equipmentCode", width: 150, title: "设备编码" }, { field: "state", width: 100, title: "状态", templet: function (obj) { return "".GetState(window.top.EnumOrderBodyStatus, obj.state) } }, { field: "workReportStatus", width: 100, title: "报工状态", templet: function (obj) { return "".GetState(window.top.EnumWorkReportStatus, obj.workReportStatus) } }, { field: "weldNo", width: 100, title: "焊口号" }, { field: "materialCode", width: 150, title: "物料编码" }, { field: "materialName", width: 150, title: "物料名称" }, { field: "weldType", width: 100, title: "焊口形式" }, { field: "cuttingLength", width: 120, title: "管段切割长度" }, { field: "barCode", width: 50, title: "管段条码" }, { field: "partCode", width: 100, title: "管段号" }, { field: "batchNo", width: 120, title: "批次号" }, { field: 'designUrl', width: 150, title: '图纸URL', event: "openBlank", templet: function (d) { return `<a target="blank" href="#" data-href="${d.designUrl}" style="color: cornflowerblue;text-decoration: underline;cursor:pointer">${d.designUrl}</a>`; } }, { field: "designNo", width: 120, title: "图纸页码" }, { field: "planStartTime", width: 150, title: "计划开始时间" }, { field: "planEndTime", width: 150, title: "计划结束时间" }, { field: "actualStartTime", width: 150, title: "实际开始时间" }, { field: "actualEndTime", width: 150, title: "实际结束时间" }, { field: "isRework", width: 100, title: "是否返工", templet: function (obj) { return obj.isRework == true ? "是" : "否" } }, { field: "createTime", width: 150, title: "创建时间" }, { field: "createBy", width: 150, title: "创建用户" }, { field: "updateTime", width: 150, title: "更新时间" }, { field: "updateBy", width: 150, title: "更新用户" } ]], urlTable: `/${areaName}/${tableName}/Load`, tableIns: null, tableInsDesc: null, tableElem: "mainList", tableElemDesc: "mainListDesc", tableInsComplete: null, tableElemComplete: "WorkOrderMaterialUseLog", colsComplete: [[ { field: "id", width: 80, title: "id", hide: true }, { field: "key", width: 80, title: "Keys", hide: true }, { field: "materialCode", width: 150, title: "物料编码" }, { field: "materialName", width: 150, title: "物料名称" }, { field: "qyt", width: 80, title: "数量" }, { field: "crux", width: 100, title: "精追件标识", templet: '#cruxLabel' }, { field: "createTime", width: 170, title: "创建时间" }, { field: "createBy", width: 150, title: "创建用户" }, { field: "remarks", width: 150, title: "备注" }, { fixed: 'right', title: '操作', width: 70, minWidth: 70, toolbar: '#MaterialUseLog' } ]], dataElemComplete: [], tableInsEquipmentProcessTemplate: null, tableElemEquipmentProcessTemplate: "mainListEquipmentProcessTemplate", colsEquipmentProcessTemplate: [[ { field: "id", width: 80, title: "id", hide: true }, { field: "key", width: 80, title: "key", hide: true }, { field: "device_information", width: 150, title: "设备信息" }, { field: "processing_steps", width: 150, title: "加工步骤" }, { field: "processing_parameters", width: 150, title: "加工参数名称" }, { field: "processing_results", width: 150, title: "加工参数执行结果" }, { field: "createTime", width: 170, title: "创建时间" }, { field: "createBy", width: 150, title: "创建用户" }, { field: "remarks", width: 150, title: "备注" }, { fixed: 'right', title: '操作', width: 70, minWidth: 70, toolbar: '#EquipmentProcessTemplate' } ]], dataElemEquipmentProcessTemplate: [], selectOption: { stationCode: { SelType: "FromUrl", SelFrom: "/configure/Station/LoadStationCodeByworkCenterCode", SelLabel: "workStationName", SelValue: "workStationCode", Dom: [$("[name='stationCode']")] }, //返回的数据 用于后续操作 selectData: { } } }, methods: { initTable: function (options) { var config = {}; if (options != undefined) $.extend(config, options); let opt = { cols: sysU.columnRecord(app.data.tableElem, app.data.cols), elem: "#" + app.data.tableElem, url: `/${areaName}/${tableName}/Load`, toolbar: '#toolbarTable', height: 'full-55', where: config } app.data.tableIns = sysU.initTable(opt); }, initTableDesc: function (obj) { sendData = { headKeys: obj.data.keys } let opt = { cols: sysU.columnRecord(app.data.tableElemDesc, app.data.colsDesc), elem: "#" + app.data.tableElemDesc, url: `/${areaName}/${tableName}/LoadDesc`, height: 'full-55', toolbar: '#toolbarTableDesc', limit: 0, page: false, where: sendData } app.data.tableInsDesc = sysU.initTable(opt); }, initFrom: function () { }, initVue: function () { vueApp = new Vue({ el: '#timeline', data: { oprTimeLineList: [] }, methods: { } }); }, //工序物料消耗、设备工艺参数 文本下拉框表格 initSelect() { var opt = { elem: ".stationCodeTemp", checkedKey: "keys", doneKey: { key: "keys", lableValue: "" }, searchKey: "materialCode", searchName: "物料编码", doneExtend: function (elem, data, $nowElem) { for (var i = 0; i < data.data.length; i++) { var selectData = { id: data.data[i].id, keys: data.data[i].keys, materialCode: data.data[i].materialCode, materialName: data.data[i].materialName, qyt: data.data[i].qyt, remarks: data.data[i].remarks, createTime: data.data[i].createTime, createBy: data.data[i].createBy }; if (app.data.dataElemComplete.length > 0) { var isExt = app.data.dataElemComplete.contains(selectData.materialCode, "materialCode"); if (isExt) { layer.alert(`工序任务物料消耗列表已存在相同的物料编码【${selectData.materialCode}】请不要重复添加!`, { icon: sysU.config.iconoError, shadeClose: true, title: sysU.config.titleOpen }); return false; } } app.data.dataElemComplete.push(selectData); } app.methods.initTableLocalMaterialUseLog(app.data.dataElemComplete); element.tabChange("tabComplete", "1"); } }; sysU.initMaterialUseLogSelect(opt); var opt1 = { elem: ".device_information", checkedKey: "keys", doneKey: { key: "keys", lableValue: "" }, searchKey: "device_information", searchName: "设备编码", doneExtend: function (elem, data, $nowElem) { for (var i = 0; i < data.data.length; i++) { var selectData = { id: data.data[i].id, keys: data.data[i].keys, device_information: data.data[i].device_information, processing_steps: data.data[i].processing_steps, processing_parameters: data.data[i].processing_parameters, processing_results: data.data[i].processing_results, remarks: data.data[i].remarks, createTime: data.data[i].createTime, createBy: data.data[i].createBy }; if (app.data.dataElemEquipmentProcessTemplate.length > 0) { var isExt = app.data.dataElemEquipmentProcessTemplate.contains(selectData.device_information, "device_information"); if (isExt) { layer.alert(`设备工艺参数列表已存在相同的设备信息【${selectData.device_information}】请不要重复添加!`, { icon: sysU.config.iconoError, shadeClose: true, title: sysU.config.titleOpen }); return false; } } app.data.dataElemEquipmentProcessTemplate.push(selectData); } app.methods.initTableLocalEquipmentProcessTemplate(app.data.dataElemEquipmentProcessTemplate); element.tabChange("tabComplete", "2"); } }; sysU.initEquipmentProcessTemplateSelect(opt1); }, //动态获取设备参数 initGetEquipmentInfo: function (checkData) { var ajaxConfig = { data: { entity: checkData }, url: `/${areaName}/${tableName}/GetEquipmentInfo`, success: function (result) { if (sysU.successBefore(result)) return; if (result.Result[0] == null) { app.data.dataElemEquipmentProcessTemplate = []; app.methods.initTableLocalEquipmentProcessTemplate(app.data.dataElemEquipmentProcessTemplate); return false; } app.data.dataElemEquipmentProcessTemplate = []; for (var i = 0; i < result.Result.length; i++) { app.data.dataElemEquipmentProcessTemplate.push(result.Result[0]); } app.methods.initTableLocalEquipmentProcessTemplate(app.data.dataElemEquipmentProcessTemplate); } }; sysU.ajax(ajaxConfig); }, //动态获取物料消耗 initGetMaterialInfo: function (checkData) { var ajaxConfig = { data: { entity: checkData }, url: `/${areaName}/${tableName}/GetMaterialInfo`, success: function (result) { if (sysU.successBefore(result)) return; if (result.Result[0] == null) { app.data.dataElemComplete = []; app.methods.initTableLocalMaterialUseLog(app.data.dataElemComplete); return false; } app.data.dataElemComplete = []; for (var i = 0; i < result.Result.length; i++) { app.data.dataElemComplete.push(result.Result[i]); } app.methods.initTableLocalMaterialUseLog(app.data.dataElemComplete); } }; sysU.ajax(ajaxConfig); }, initTableLocalMaterialUseLog: function (data, options) { var config = {}; if (options != undefined) $.extend(config, options); let opt = { cols: sysU.columnRecord(app.data.tableElemComplete, app.data.colsComplete), elem: "#" + app.data.tableElemComplete, data: data, height: '356', where: config } app.data.tableInsComplete = sysU.initTableLocal(opt); table.on(`tool(${app.data.tableElemComplete})`, function (obj) { if (obj.event === "del") { layer.confirm(`你确定删除【${obj.data.materialCode}】行么?`, function (index) { app.data.dataElemComplete.removeByVal("id", obj.data.id); obj.del(); layer.close(index); }); } }); }, initTableLocalEquipmentProcessTemplate: function (data, options) { var config = {}; if (options != undefined) $.extend(config, options); let opt = { cols: sysU.columnRecord(app.data.tableElemEquipmentProcessTemplate, app.data.colsEquipmentProcessTemplate), elem: "#" + app.data.tableElemEquipmentProcessTemplate, data: data, height: '356', where: config } app.data.tableInsEquipmentProcessTemplate = sysU.initTableLocal(opt); table.on(`tool(${app.data.tableElemEquipmentProcessTemplate})`, function (obj) { if (obj.event === "del") { layer.confirm(`你确定删除【${obj.data.device_information}】行么?`, function (index) { app.data.dataElemEquipmentProcessTemplate.removeByVal("id", obj.data.id); obj.del(); layer.close(index); }); } }); } }, registerEvent: function () { }, init: function () { var sendDataWhere = form.val("listForm") app.methods.initTable(sendDataWhere); app.registerEvent(); app.methods.initFrom(); app.methods.initVue(); } }; app.init(); });