![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /var/www/html/keeview_app/html/ |
Upload File : |
"use strict"; theme.formBscInputValuesEdit = function(params){ var org_emp_from_select = absol.buildDom({ tag: "mselecttreemenu", style: { display: "block", width: "100%" }, props: { items: params.orgEmpItems, value: params.orgid, disabled: true } }); var c_select = absol.buildDom({ tag: "mselectmenu", style: { display: "block", width: "100%" }, props: { items: params.kpiItems, enableSearch: true, value: params.criteriaid, disabled: params.c_select_disabled }, on: { change: function(){ var cIndex = params.database.bsc_criteriadefinitions.getIndex(this.value); if (cIndex >= 0){ unit_elt.innerText = params.database.bsc_criteriadefinitions.items[cIndex].unit; params.weight_requirement = params.database.bsc_criteriadefinitions.items[cIndex].weight_requirement; params.average_unit_as_percentage = params.database.bsc_criteriadefinitions.items[cIndex].average_unit_as_percentage; params.decpre = params.database.bsc_criteriadefinitions.items[cIndex].decpre; var wn = params.database.bsc_criteriadefinitions.items[cIndex].weight_name; if (wn !== "") weight_name_elt.innerText = wn; else weight_name_elt.innerText = LanguageModule.text("txt_weight"); var vn = params.database.bsc_criteriadefinitions.items[cIndex].value_name; if (vn !== "") value_name_elt.innerText = vn; else value_name_elt.innerText = LanguageModule.text("txt_bsc_first_value"); } else { unit_elt.innerText = ""; params.weight_requirement = false; params.average_unit_as_percentage = false; weight_name_elt.innerText = LanguageModule.text("txt_weight"); value_name_elt.innerText = LanguageModule.text("txt_bsc_first_value"); } result_input.disabled = params.weight_requirement; var listElt = absol.$$(".bsc-input-values-weight-requirement", bodycontent); if (params.weight_requirement){ for (var i = 0; i < listElt.length; i++){ listElt[i].style.display = ""; } } else { for (var i = 0; i < listElt.length; i++){ listElt[i].style.display = "none"; } } if (params.database.bsc_result_input_methods.items.length > 0) toggleDetailsResult(); } } }); var date_input = absol.buildDom({ tag: "dateinput", props: { notNull: true, value: params.idate } }); var unit_elt = DOMElement.span({ attrs: {style: {height: "30px"}}, text: params.unit }); var data = [ DOMElement.div({ attrs: { className: "card-mobile-label-form-edit first" }, text: LanguageModule.text("txt_department_employee") }), org_emp_from_select, DOMElement.div({ attrs: { className: "card-mobile-label-form-edit" }, text: LanguageModule.text("txt_kpi") }), c_select, DOMElement.div({ attrs: { className: "card-mobile-label-form-edit" }, text: LanguageModule.text("txt_measurement_unit") }), unit_elt, DOMElement.div({ attrs: { className: "card-mobile-label-form-edit" }, text: LanguageModule.text("txt_day") }), date_input ]; var setResultValue = function(){ var value = value_input.value.trim(); var weight = weight_input.value.trim(); if (value == 0 || weight == 0){ result_input.value = "-"; return; } var result = contentModule.getValueFromMoneyFormat(value)/contentModule.getValueFromMoneyFormat(weight); if (params.average_unit_as_percentage) result = result*100; result_input.value = result; }; var value_input = contentModule.preventNotNumberInput(theme.input({ style: { width: "100%", textAlign: "right" }, onkeyup: function(){ setResultValue(); }, value: params.value })); var value_name_elt = DOMElement.div({text: LanguageModule.text("txt_bsc_first_value")}); data.push( DOMElement.div({ attrs: { className: "bsc-input-values-weight-requirement card-mobile-label-form-edit" }, children: [value_name_elt] }), DOMElement.div({ attrs: {className: "bsc-input-values-weight-requirement"}, children: [value_input] }) ); var weight_input = contentModule.preventNotNumberInput(theme.input({ style: { width: "100%", textAlign: "right" }, onkeyup: function(){ setResultValue(); }, value: params.weight })); var weight_name_elt = DOMElement.div({text: LanguageModule.text("txt_weight")}); data.push( DOMElement.div({ attrs: { className: "bsc-input-values-weight-requirement card-mobile-label-form-edit" }, children: [weight_name_elt] }), DOMElement.div({ attrs: {className: "bsc-input-values-weight-requirement"}, children: [weight_input] }) ); var result_input = contentModule.preventNotNumberInput(theme.input({ style: { width: "100%", textAlign: "right" }, disabled: params.weight_requirement, value: params.result })); if (params.database.bsc_result_input_methods.items.length > 0){ var setResultValueByDetails = function(){ var criteriaid = c_select.value; var cIndex = params.database.bsc_criteriadefinitions.getIndex(criteriaid); if (cIndex >= 0){ if (params.database.bsc_criteriadefinitions.items[cIndex].result_input_method){ var k = params.database.bsc_result_input_methods.getIndex(params.database.bsc_criteriadefinitions.items[cIndex].result_input_method); if (k >= 0){ var dic = {}; params.database.bsc_result_input_methods.items[k].content.details.forEach(function(item){ var p = inputidboxes[item.code.toLowerCase()].value.trim(); if (p === "") p = 0; else p = contentModule.getValueFromMoneyFormat(p); dic[item.code.toLowerCase()] = p; }); var v = params.database.bsc_result_input_methods.items[k].parsedContent.calc(function(varname){ return dic[varname]; }); result_input.value = contentModule.moneyFormat2(v, 0, params.decpre); } } } }; var inputidboxes = {}; var details_ctn = DOMElement.div({}); data.push(details_ctn); var toggleDetailsResult = function(){ DOMElement.removeAllChildren(details_ctn); var criteriaid = c_select.value; var cIndex = params.database.bsc_criteriadefinitions.getIndex(criteriaid); if (cIndex >= 0){ if (params.database.bsc_criteriadefinitions.items[cIndex].result_input_method){ var k = params.database.bsc_result_input_methods.getIndex(params.database.bsc_criteriadefinitions.items[cIndex].result_input_method); if (k >= 0){ var dataDetails = []; params.database.bsc_result_input_methods.items[k].content.details.forEach(function(item){ inputidboxes[item.code.toLowerCase()] = contentModule.preventNotNumberInput(theme.input({ style: { width: "100%", textAlign: "right" }, value: params.details_result[item.code.toLowerCase()]? params.details_result[item.code.toLowerCase()] : "", onblur: function(){ setResultValueByDetails(); } })); dataDetails.push( DOMElement.div({ attrs: { className: "card-mobile-label-form-edit" }, text: item.name }), DOMElement.div({ children: [inputidboxes[item.code.toLowerCase()]] }) ); }); details_ctn.appendChild(DOMElement.div({ children: dataDetails })); result_input.disabled = true; } } else { result_input.disabled = false; } } else { result_input.disabled = false; } }; if (params.criteriaid > 0){ toggleDetailsResult(); } } data.push( DOMElement.div({ attrs: { className: "card-mobile-label-form-edit" }, text: LanguageModule.text("txt_value_bsc") }), result_input ); var comment_input = DOMElement.textarea({ attrs: { className: "cardSimpleTextarea", style: { minWidth: "100%", width: "300px", height: "70px" } } }); comment_input.value = params.comment; data.push( DOMElement.div({ attrs: { className: "card-mobile-label-form-edit" }, text: LanguageModule.text("txt_note") }), comment_input ); var attachment_input = absol.buildDom({ tag: "filelistinput", props: { multiple: true, files: params.files } }); data.push( DOMElement.div({ attrs: { className: "card-mobile-label-form-edit" }, text: LanguageModule.text("txt_attachments") }), attachment_input ); var getValue = function(alert){ var idate = contentModule.getDateFrom1970(date_input.value); var criteriaid = c_select.value; if (criteriaid == 0){ if (alert){ ModalElement.alert({message: LanguageModule.text("war_txt_no_criteria")}); } return; } var locked = params.func.getLocked(idate, criteriaid); if (locked){ if (alert){ ModalElement.alert({message: LanguageModule.text("war_time_was_locked")}); } return; } var res = { id: params.id, rid: params.orgid, rfirstid: params.rfirstid, criteriaid: criteriaid, idate: idate, comment: comment_input.value.trim(), attachments: attachment_input.files, status: 0, is_illegal: 0, queue: params.queue, weight_requirement: params.weight_requirement }; if (params.weight_requirement){ var value = value_input.value.trim(); if (value == ""){ ModalElement.alert({ message: LanguageModule.text("war_txt_no_bsc_first_value"), func: function(){ value_input.focus(); } }); return; } res.value = contentModule.getValueFromMoneyFormat(value); var weight = weight_input.value.trim(); if (weight == ""){ ModalElement.alert({ message: LanguageModule.text("war_txt_no_weight"), func: function(){ weight_input.focus(); } }); return; } res.weight = contentModule.getValueFromMoneyFormat(weight); if (res.weight == 0 && res.value != 0){ ModalElement.alert({ message: LanguageModule.text("txt_zero_weight"), func: function(){ weight_input.focus(); } }); return; } if (res.weight == 0 && res.value == 0){ var result = "0"; res.is_illegal = 1; } else { var result = result_input.value.trim(); } res.result = contentModule.getValueFromMoneyFormat(result); } else { var result = result_input.value.trim(); if (result == ""){ ModalElement.alert({ message: LanguageModule.text("war_txt_result_is_null"), func: function(){ result_input.focus(); } }); return; } res.result = contentModule.getValueFromMoneyFormat(result); } if (params.average_unit_as_percentage) res.result = res.result/100; if (params.database.bsc_result_input_methods.items.length > 0){ var cIndex = params.database.bsc_criteriadefinitions.getIndex(criteriaid); if (params.database.bsc_criteriadefinitions.items[cIndex].result_input_method){ var k = params.database.bsc_result_input_methods.getIndex(params.database.bsc_criteriadefinitions.items[cIndex].result_input_method); if (k >= 0){ var details_result = {}; params.database.bsc_result_input_methods.items[k].content.details.forEach(function(item){ var p = inputidboxes[item.code.toLowerCase()].value.trim(); if (p === "") p = 0; else p = contentModule.getValueFromMoneyFormat(p); details_result[item.code.toLowerCase()] = p; }); res.details_result = EncodingClass.string.fromVariable(details_result); } } } return res; }; var bodycontent = DOMElement.div({ attrs: { className: "card-mobile-content" }, children: data }); c_select.emit("change"); var commands = [{ icon: DOMElement.i({ attrs: { className: "material-icons" }, text: "save" }), cmd: function(){ var data = getValue(true); if (!data) return; params.func.save(data).then(function(){ params.frameList.removeLast(); window.backLayoutFunc.pop(); }); } }]; var header = absol.buildDom({ tag: 'mheaderbar', props: { actionIcon: DOMElement.i({ attrs: { className: "material-icons" }, text: "arrow_back_ios" }), title: params.title, commands: commands }, on: { action: function(){ params.frameList.removeLast(); window.backLayoutFunc.pop(); }, command: function(event){ event.commandItem.cmd(); } } }); var singlePage = absol.buildDom({ tag: 'tabframe', child:[ header, bodycontent ] }); params.frameList.addChild(singlePage); singlePage.requestActive(); window.backLayoutFunc.push({ func: function(){ params.frameList.removeLast(); window.backLayoutFunc.pop(); } }); }; theme.formBscInputValuesTableData = function(params){ var getKpiRow = function(item){ var row = [ { attr: {colspan: 5}, style: {fontWeight: "bold"}, child: DOMElement.span({text: item.kpiName + " (" + item.kpiUnit + ")"}) } ]; return { cells: row }; } var getRow = function(item){ function applyParam(elt){ if (item.func){ elt.classList.add("hr-table-cell-link"); elt.onclick = function(){ item.func.edit(function(value){ var row = tableView.rowOf(rowData); tableView.replaceRow(getRow(value), row); }); }; } return elt; } var cells = [ { style: {textAlign: "center"}, child: applyParam(DOMElement.span({text: contentModule.getDateTimeViewFromDate1970(item.idate)})) } ]; cells.push({ style: {textAlign: "right"}, child: applyParam(DOMElement.span({ text: item.is_illegal? "-" : contentModule.moneyFormat2(item.average_unit_as_percentage? item.result*100 : item.result, 0, item.decpre) })) }); if (item.locked){ cells.push({ style: {textAlign: "center"}, child: DOMElement.div({ attrs: { className: "card-icon-cover" }, children: [DOMElement.i({ attrs: { className: "mdi mdi-lock", style: { color: "red", fontSize: "var(--icon-fontsize)" } } })] }) }); } else { cells.push({}); } var statusElt; switch (item.status) { case 0: statusElt = DOMElement.span({ attrs: {style: { color: "green" }}, text: LanguageModule.text("txt_waiting_approval") }); break; case 1: statusElt = DOMElement.span({ attrs: {style: { color: "blue" }}, text: LanguageModule.text("txt_approved") }); break; case 2: statusElt = DOMElement.span({ attrs: {style: { color: "red" }}, text: LanguageModule.text("txt_deny") }); break; default: } cells.push({child: statusElt}); if (item.func){ cells.push({ style: {width: "40px", textAlign: "center"}, render: function(tdElt){ var qmenuButton = DOMElement.div({ attrs: { className: "card-icon-cover" }, children: [DOMElement.i({ attrs: { className: "material-icons bsc-icon-hover-black" }, text: "more_vert" })] }); absol.QuickMenu.toggleWhenClick(qmenuButton, { getMenuProps: function(){ var quickMenuItems = []; quickMenuItems.push({ text: LanguageModule.text("txt_edit"), extendClasses: "bsc-quickmenu", icon: DOMElement.i({ attrs: { className: "material-icons" }, text: "create" }), cmd: function(){ item.func.edit(function(value){ var row = tableView.rowOf(rowData); tableView.replaceRow(getRow(value), row); }); } }); quickMenuItems.push({ text: LanguageModule.text("txt_delete"), extendClasses: ["bsc-quickmenu", "red"], icon: DOMElement.i({ attrs: { className: "material-icons" }, text: "delete" }), cmd: function(){ item.func.delete().then(function(){ var row = tableView.rowOf(rowData); row.remove(); }); } }); return {items: quickMenuItems}; }, onSelect: function (item){ item.cmd(); }, anchor: [3, 4] }); tdElt.addChild(qmenuButton); } }); } else { cells.push({}); } var rowData = { cells: cells }; return rowData; }; var dataTable = []; params.dataTable.forEach(function(item){ var row; switch (item.type) { case "kpi": row = getKpiRow(item); dataTable.push(row); break; case "value": row = getRow(item); dataTable.push(row); break; default: } }); var tableView = absol.buildDom({ tag: "dynamictable", props: { id: "bsc_input_values", adapter: { rowsPerPage: Infinity, data: { head: { rows: [ { cells: [] } ] }, body: { rows: dataTable } } } } }); return tableView; }; theme.formBscInputValuesContentData = function(params){ var drawInputvalues = function(){ var viewInputValues = DOMElement.div({ attrs: { style: { paddingLeft: "var(--control-verticle-distance-2)", paddingTop: "var(--control-verticle-distance-2)" } }, children: [ params.table_ctn ] }); var res = absol.buildDom({ attr: { "data-sectionid": "input_values" }, child: [ absol.buildDom({ class: 'm-mk-section-header', child: [ { class: 'm-mk-section-header-name', child: { text: LanguageModule.text("txt_input_values") }, }, add_btn_ctn ] }), viewInputValues ] }); return res; }; var filterFunc = function(){ singlePage.criteria_select.changeItemsFunc = function(){ criteria_select.items = singlePage.criteria_select.items; }; var toggleTimeFunc = function(){ switch (period_select.value) { case "all": month_select.style.display = "none"; quarter_select.style.display = "none"; year_select.style.display = "none"; break; case "month": month_select.style.display = ""; quarter_select.style.display = "none"; year_select.style.display = "none"; break; case "quarter": month_select.style.display = "none"; quarter_select.style.display = ""; year_select.style.display = "none"; break; case "year": month_select.style.display = "none"; quarter_select.style.display = "none"; year_select.style.display = ""; break; default: } }; var period_select = absol.buildDom({ tag: "mselectmenu", props: { items: [ {value: "all", text: LanguageModule.text("txt_all")}, {value: "month", text: LanguageModule.text("txt_month")}, {value: "quarter", text: LanguageModule.text("txt_quarter")}, {value: "year", text: LanguageModule.text("txt_year")} ], value: singlePage.period_select.value }, on: { change: function(){ singlePage.period_select.value = this.value; toggleTimeFunc(); params.func.time_org_change_func(); } } }); var month_select = absol.buildDom({ tag: "dateinput", style: { marginLeft: "var(--control-horizontal-distance-1)" }, props: { format: "MM, yyyy", notNull: true, value: singlePage.month_select.value }, on: { change: function(){ singlePage.month_select.value = this.value; params.func.time_org_change_func(); } } }); var quarter_select = absol.buildDom({ tag: "dateinput", style: { marginLeft: "var(--control-horizontal-distance-1)" }, props: { format: "QQ, yyyy", notNull: true, value: singlePage.quarter_select.value }, on: { change: function(){ singlePage.quarter_select.value = this.value; params.func.time_org_change_func(); } } }); var year_select = absol.buildDom({ tag: "dateinput", style: { marginLeft: "var(--control-horizontal-distance-1)" }, props: { format: "yyyy", notNull: true, value: singlePage.year_select.value }, on: { change: function(){ singlePage.year_select.value = this.value; params.func.time_org_change_func(); } } }); var employee_type_select = absol.buildDom({ tag: "selectmenu", style: { display: "block", width: "100%" }, props: { items: [ {value: "all", text: LanguageModule.text("txt_all_employee")}, {value: "active", text: LanguageModule.text("txt_employee_is_active")}, {value: "inactive", text: LanguageModule.text("txt_employee_is_inactive")} ], value: singlePage.employee_type_select.value }, on: { change: function(){ singlePage.employee_type_select.value = this.value; var orgEmpItems = params.func.getOrgEmpItems(this.value); org_emp_select.items = orgEmpItems; org_emp_select.value = 0; params.func.time_org_change_func(); } } }); var org_emp_select = absol.buildDom({ tag: "mselecttreemenu", style: { display: "block", width: "100%" }, props: { items: params.func.getOrgEmpItems(singlePage.employee_type_select.value), enableSearch: true, value: singlePage.org_emp_select.value }, on: { change: function(){ singlePage.org_emp_select.value = this.value; params.func.time_org_change_func(); } } }); var measurement_unit_elt = DOMElement.span({ attrs: { style: { height: "var(--control-height)", lineHeight: "var(--control-height)" } }, text: singlePage.measurement_unit_elt.innerText }); var criteria_select = absol.buildDom({ tag: "mselectmenu", style: { display: "block", width: "100%" }, props: { items: singlePage.criteria_select.items, enableSearch: true, value: singlePage.criteria_select.value }, on: { change: function(){ singlePage.criteria_select.value = this.value; params.func.criteria_change_func(); } } }); var filter_bodycontent = DOMElement.div({ children: [ DOMElement.div({ attrs: { className: "card-mobile-label-form-edit first" }, text: LanguageModule.text("txt_period") }), period_select, month_select, quarter_select, year_select, DOMElement.div({ attrs: { className: "card-mobile-label-form-edit" }, text: LanguageModule.text("txt_employee_type") }), employee_type_select, DOMElement.div({ attrs: { className: "card-mobile-label-form-edit" }, text: LanguageModule.text("txt_department_employee") }), org_emp_select, DOMElement.div({ attrs: { className: "card-mobile-label-form-edit" }, text: LanguageModule.text("txt_kpi") }), criteria_select, measurement_unit_elt ] }); theme.modalFormMobile({ title: LanguageModule.text("txt_filter"), bodycontent: filter_bodycontent }); toggleTimeFunc(); }; var add_btn_ctn = absol.buildDom({ class: 'm-mk-section-header-right', style: {display: "none"}, child: [ DOMElement.a({ attrs: { onclick: params.func.add }, text: LanguageModule.text("txt_add") }) ] }); var add_many_btn_ctn = absol.buildDom({ class: 'm-mk-section-header-right', style: {display: "none"}, child: [ DOMElement.a({ attrs: { onclick: params.func.add_many }, text: LanguageModule.text("txt_add") }) ] }); var commands = []; commands.push({ icon: DOMElement.i({ attrs: { className: "material-icons m-hr-icon-filter active" }, text: "filter_alt" }), cmd: function(){ filterFunc(); } }); var header = absol.buildDom({ tag: 'mheaderbar', props: { actionIcon: DOMElement.i({ attrs: { className: "material-icons" }, text: "arrow_back_ios" }), title: LanguageModule.text("txt_input_values"), commands: commands, quickmenu: { props: { extendClasses: 'cd-context-menu', items: [ { text: LanguageModule.text("txt_input_values"), icon: DOMElement.i({ attrs: { className: "mdi mdi-button-cursor" } }), extendClasses: "bsc-quickmenu", cmd: function(){ scrollInto("input_values"); } }, { text: LanguageModule.text("txt_history"), extendClasses: "bsc-quickmenu", icon: DOMElement.span({ attrs: { className: "mdi mdi-account-clock" } }), cmd: function(){ scrollInto("history"); } } ] }, onSelect: function (x) { x.cmd(); } } }, on: { action: function(){ params.holder.selfRemove(); theme.mobileInitBack(); }, command: function(event){ event.commandItem.cmd(); } } }); var scrollInto = function(value){ if (sectionList[value]) sectionList[value].scrollIntoView(); }; var data_ctn = DOMElement.div({}); data_ctn.appendChild(drawInputvalues()); data_ctn.appendChild(params.historyCtn); var sectionList = {}; absol.$("div", data_ctn, function(elt){ var id = elt.getAttribute("data-sectionid"); if (!id) return; sectionList[id] = elt; }); var singlePage = absol.buildDom({ tag: 'tabframe', child:[ header, DOMElement.div({ attrs: { className: "card-mobile-content" }, children: [ data_ctn ] }) ] }); params.frameList.addChild(singlePage); singlePage.requestActive(); singlePage.add_btn_ctn = add_btn_ctn; singlePage.period_select = { value: "year" }; singlePage.month_select = { value: new Date() }; singlePage.quarter_select = { value: new Date() }; singlePage.year_select = { value: new Date() }; singlePage.employee_type_select = { value: "active" }; singlePage.org_emp_select = { value: 0 }; singlePage.criteria_select = { items: [ {value: 0, text: LanguageModule.text("txt_select_value")}, {value: -1, text: LanguageModule.text("txt_all_kpi")} ], value: 0, changeItemsFunc: function(){} }; singlePage.measurement_unit_elt = { innerText: "" }; singlePage.add_many_btn_ctn = add_many_btn_ctn; return singlePage; }; ModuleManagerClass.register({ name: "Bsc_input_values_view", prerequisites: ["ModalElement"] });