/** * Created by test on 01.11.2018. */ var selectCfg; function sendSaveCfgAjax() { var ean13 = $("#page3_2").find('[name="cfgEan13"]').val(); var prodPut = JSON.parse(JSON.stringify(selectProd)); prodPut.ean13 = (ean13.length === 0) ? null : ean13; if (!sendPutProductAjax(prodPut)) return; var cfg = getTaskUI(); cfg.product.id = selectProd.id.toString(); console.log(JSON.stringify(cfg).toString()); $.ajax({ type: 'POST', dataType: 'json', contentType: 'application/json', data: JSON.stringify(cfg), url: '/manage/task', success: function (data) { console.log(" SAVE CONFIG : " + cfg.id + "\n", data); sendGetCfgAjax(viewCfgFS); customHistory.back(); customHistory.back(); }, error: function (jqXHR, textStatus, errorThrown) { console.log("ERROR : ", jqXHR.responseText); viewError("page3_2", jqXHR.responseText); } }); } function sendPutCfgAjax() { var ean13 = $("#page3_2").find('[name="cfgEan13"]').val(); if (selectCfg.product.ean13 != ean13) { var prodPut = JSON.parse(JSON.stringify(selectCfg.product)); prodPut.ean13 = (ean13.length === 0) ? null : ean13; if (!sendPutProductAjax(prodPut)) return; } var cfg = getTaskUI(); cfg.product.id = selectCfg.product.id.toString(); cfg.id = selectCfg.id; // cfg.status = selectCfg.status; console.log(JSON.stringify(cfg).toString()); $.ajax({ type: 'PUT', dataType: 'json', contentType: 'application/json', data: JSON.stringify(cfg), url: '/manage/task/' + cfg.id, success: function (data) { console.log(" PUT CONFIG : " + cfg.id + "\n", data); sendGetCfgAjax(viewCfgFS); customHistory.back(); }, error: function (jqXHR, textStatus, errorThrown) { console.log("ERROR : ", jqXHR.responseText); viewError("page3_2", jqXHR.responseText); } }); } function sendPutProductAjax(product) { console.log(" PUT PRODUCT : " + JSON.stringify(product)); var outNoErr = false; $.ajax({ async: false, type: 'PUT', dataType: 'json', contentType: 'application/json', data: JSON.stringify(product), url: '/manage/product/' + product.id, success: function (data) { console.log(" PUT PRODUCT : " + product.id + "\n", data); outNoErr = true; }, error: function (jqXHR, textStatus, errorThrown) { console.log("ERROR : ", jqXHR.responseText); viewError("page3_2", jqXHR.responseText); outNoErr = false; } }); return outNoErr; } function sendTaskCodesAjax(selectFile, type) { // Create a Deferred let deferred = $.Deferred(); if( typeof selectFile == 'undefined' ) { deferred.reject("Не выбран файл"); } else { $('#loading').removeClass('hide'); var data = new FormData(); data.append('taskCodes', selectFile); data.append('taskId', selectCfg.id); data.append('type', type); $.ajax({ type: "POST", enctype: 'multipart/form-data', url: "/manage/task/codes/import", data: data, processData: false, contentType: false, cache: false, timeout: 1000000 }) .done(function (data, textStatus, jqXHR) { loadCodesInfoAjax(selectCfg.id); console.log("SUCCESS : ", data); deferred.resolve(); }) .fail(function (jqXHR, textStatus, errorThrown) { console.log("ERROR : ", jqXHR.responseText); viewError("page3_2", jqXHR.responseText); deferred.reject(jqXHR.responseText); }) .always(function (data) { $('#loading').addClass("hide"); }) } return deferred; } function sendDeleteCfgAjax() { let id = selectCfg.id; $.ajax({ type: 'DELETE', url: '/manage/task/' + id, success: function (data) { console.log(" DELETE CONFIG ID : " + id + "\n", data); sendGetCfgAjax(viewCfgFS); customHistory.back(); customHistory.back(); }, error: function (jqXHR, textStatus, errorThrown) { console.log("ERROR : ", jqXHR.responseText); viewError("page3_2", JSON.parse(jqXHR.responseText)); customHistory.back(); } }); } function viewPkg() { $("#cfgPkg").empty(); $("#cfgPlt").empty(); $("#cfgPkg").append('') $("#cfgPlt").append(''); for (var i = 0; i < listPkg.length; i++) { var pnktOpt = ''; if (listPkg[i].type == "PACK") { $("#cfgPkg").append(pnktOpt); } if (listPkg[i].type == "PALLET") { $("#cfgPlt").append(pnktOpt); } } } function viewCfgFS(cfgV) { console.log(cfgV); selectCfg = cfgV; viewTaskUI(cfgV); $("#page3_2").find(".delete").removeClass("hide"); $("#page3_2").find(".put").removeClass("hide"); $("#page3_2").find(".save").addClass("hide"); $("#page3_2").find(".put").prop("disabled", true); $("#btnTaskExtraFieldSave").prop("disabled", true); $("#btnTaskCodesImport").attr("disabled", !cfgV || !cfgV.id); resetCodesInfo(); loadCodesInfoAjax(cfgV.id); viewErrorReset("page3_2"); pageselect("page3_2"); } function viewTaskUI(cfgV) { let pack = cfgV.pack_pkg || cfgV.packPkg || {rows:"-", cols:"-", id:"-"}; $("#page3_2 form").trigger("reset"); $("#page3_2").find('[name="cfgName"]').val(cfgV.name); $("#page3_2").find('.cfgPostFix .product').text(strCfgNamePostFix(cfgV.product.capacity, cfgV.product.alcVolume)); $("#page3_2").find('.cfgPostFix .count').text(strCfgNamePostFixCount(pack.rows, pack.cols, getPalletCapacity(cfgV.pallet_pkg))); $("#page3_2").find('.cfgNameProd').text(cfgV.product.fullName + " " + strCfgNamePostFix(cfgV.product.capacity, cfgV.product.alcVolume)); $("#page3_2").find('[name="cfgEan13"]').val(cfgV.product.ean13); $("#page3_2").find('[name="cfgPkg"]').val(pack.id); $("#page3_2").find('[name="cfgPlt"]').val(!!cfgV.pallet_pkg ? cfgV.pallet_pkg.id : '-'); $("#page3_2").find('[name="prodName"]').val(cfgV.product.fullName); console.log("defaultExtrafields", defaultExtrafields); cfgV.extraFields = Object.assign(getExtraFieldsUI(defaultExtrafields), cfgV.extraFields) let fullExtraFields = addExtrafields(cfgV); $("#btnTaskExtraFields").prop("disabled", !fullExtraFields); $("#btnTaskCodesImport").attr("disabled", !cfgV || !cfgV.id); setTaskParam(cfgV); getTaskLabels(cfgV); } function checkType() { uiCheckType($("#cfgType")); } function uiCheckType(elem) { var bb = elem.prop('checked'); if (bb) { $("#page3_2").find(".paramTask").removeClass("hide"); elem.parent().removeClass("btn-success").addClass("btn-default"); elem.next().removeClass("glyphicon-ok").addClass("glyphicon-remove"); } else { $("#page3_2").find(".paramTask").addClass("hide"); elem.parent().removeClass("btn-default").addClass("btn-success"); elem.next().removeClass("glyphicon-remove").addClass("glyphicon-ok"); } } function getCheckType() { var t = $("#page3_2").find("#cfgType").prop('checked'); if (t) { return "REGULAR"; } else { return "SINGLE"; } } function setTaskParam(cfg) { var elem = $("#page3_2").find("#cfgType"); var type = cfg.type; var dt = new Date(); if (type == "SINGLE") { elem.prop('checked', false); elem.parent().removeClass('active'); $("#page3_2").find(".paramTask").removeClass("hide"); elem.parent().removeClass("btn-success").addClass("btn-default"); elem.next().removeClass("glyphicon-ok").addClass("glyphicon-remove"); dt = new Date(cfg.plannedStartDate); $("#cfgDueDate").val(dateFormat(dt)); $("#cfgREQUIRED_COUNT").val(cfg.requiredCount); $('#cfgStatus').empty().append(``) if (cfg.status === "EXECUTED") $('#cfgStatus').append(``) } else { elem.prop('checked', true); elem.parent().addClass('active'); $("#page3_2").find(".paramTask").addClass("hide"); elem.parent().addClass("btn-success").removeClass("btn-default"); elem.next().addClass("glyphicon-ok").removeClass("glyphicon-remove"); $("#cfgDueDate").val(dateFormat(dt)); } } function getTaskUI() { var requiredCount = 0; var dueDate = null; let status = $("#page3_2").find('[name="cfgStatus"]').val(); var type = getCheckType(); if (type == "SINGLE") { requiredCount = $("#page3_2").find('[name="cfgREQUIRED_COUNT"]').val(); dueDate = $("#page3_2").find('[name="cfgDueDate"]').val(); } let extraFieldsUI = getExtraFieldsUI($('#taskExtraFields .fieldList input')); let pltId = {id: $("#page3_2").find('[name="cfgPlt"]').val()}; if (pltId.id === '-') pltId = null; let packId = {id: $("#page3_2").find('[name="cfgPkg"]').val()}; if (packId.id === '-') packId = null; let cfg = { id: null, name: $("#page3_2").find('[name="cfgName"]').val(), product: {id: null}, pack_pkg: packId, pallet_pkg: pltId, requiredCount: requiredCount, plannedStartDate: dueDate, status: status, type: type, extraFields: extraFieldsUI }; return cfg; } function dateFormat(date) { var dd = date.getDate(); if (dd < 10) dd = '0' + dd; var mm = date.getMonth() + 1; if (mm < 10) mm = '0' + mm; var yyyy = date.getFullYear(); return yyyy + "-" + mm + "-" + dd; } function onChangeTask() { $("#page3_2").find(".put").prop("disabled", false); } function loadCodesInfoAjax(taskId) { if (taskId) { $.get(`/manage/task/${taskId}/codes/summary`, function (summary) { for (let type in summary) { let summaryRow = summary[type]; let total = 0; for (let status in summaryRow) { let count = summaryRow[status]; total += count; $(`#task-codes-${type}-${status}`).text(count); } $(`#task-codes-${type}-TOTAL`).text(total); } }); } } function resetCodesInfo() { $(".task-codes-counter").text(0); }