kods

Paloma.controller('CRM/AGGIRScales', { naujas: function() { this._setupCalculator(); }, sukurti: function() { this._setupCalculator(); }, redaguoti: function() { this._setupCalculator(); }, atnaujinimas: function() { this._setupCalculator(); }, _setupCalculator: function() { function Group(modeC, modeB, rankFunc) { tai.C = modeC; tai.B = režimasB; this.rankFunc = rankFunc; } Group.prototype = { apskaičiuotiRank: function(reikšmės) { var total = this._calculateTotal(values); return this.rangFunc(viso); }, _calculateTotal: function(reikšmės) { var l = reikšmės.ilgis, iš viso = 0, i = 0, currentMode; for(; i < l; i++) { currentMode = reikšmės[i]; if(this.hasOwnProperty(currentMode)) { iš viso += šis[dabartinis režimas][i]; } } bendra grąža; } } Grupė A = nauja grupė ( [2000, 1200, 40, 40, 60, 100, 800, 200, 0, 0], [0, 0, 16, 16, 20, 16, 120, 32, 0, 0], function(value) { if(reikšmė >= 4380) { return 1; } if(reikšmė >= 4140) { return 2; } if(reikšmė >= 3390) { return 3; } grąžinti 0; } ) B grupė = nauja grupė ( [1500, 1200, 40, 40, 60, 100, 800, -80, 0, 0], [320, 120, 16, 16, 0, 16, 120, -40, 0, 0], function(value) { if(value >= 2016) { return 4; } grąžinti 0; } ); GroupC = nauja grupė ( [0, 0, 40, 40, 60, 160, 1000, 400, 0, 0], [0, 0, 16, 16, 20, 20, 200, 40, 0, 0], function(value) { if(reikšmė >= 1700) { return 5; } if(reikšmė >= 1432) { return 6; } grąžinti 0; } ); GroupD = nauja grupė ( [0, 0, 0, 0, 2000, 400, 2000, 200, 0, 0], [0, 0, 0, 0, 200, 200, 200, 0, 0, 0], function(value) { if(reikšmė >= 2400) { return 7; } grąžinti 0; } ); GroupE = nauja grupė ( [400, 400, 400, 400, 400, 800, 800, 200, 0, 0], [0, 0, 100, 100, 100, 100, 100, 0, 0, 0], function(value) { if(reikšmė >= 1200) { return 8; } grąžinti 0; } ); GroupF = nauja grupė ( [200, 200, 500, 500, 500, 500, 500, 200, 0, 0], [100, 100, 100, 100, 100, 100, 100, 0, 0, 0], function(value) { if(reikšmė >= 800) { return 9; } grąžinti 0; } ); GroupG = nauja grupė ( [150, 150, 300, 300, 500, 500, 400, 200, 0, 0], [0, 0, 200, 200, 200, 200, 200, 100, 0, 0], function(value) { if(reikšmė >= 650) { return 10; } grąžinti 0; } ); GroupH = nauja grupė ( [0, 0, 3000, 3000, 3000, 3000, 1000, 1000, 0, 0], [0, 0, 2000, 2000, 2000, 2000, 2000, 1000, 0, 0], function(value) { if(reikšmė >= 4000) { return 11; } if(value >= 2000) { return 12; } grįžti 13; } ); function apskaiciuoti() { var inputNames = [ „nuoseklumas“, „orientacija“, „tualetas“, „parengimas“, „tiekimas“, „pašalinimas“, „perkėlimas“, „vidinis_poslinkis“ ]; var rangai = [0,1,2,2,2,2,2,2,3,3,4,4,5,6], reikšmės = [], currentValue; $.each(inputNames, function(i, name) { currentValue = $("input[name='resident_scale_aggir[" + name + "]']:checked").val(); if (currentValue != '' && currentValue != null) { reikšmės.push(currentValue); } dar { reikšmės.push("A"); } }); var group = [GroupA, GroupB, GroupC, GroupD, GroupE, GroupE, GroupF, GroupG, GroupH], i = 0, l = grupės.ilgis, rangas; for(; i < l; i++) { rangas = group[i].calculateRank(reikšmės); if (rangas > 0) { atnaujintiGIR(rangai[rangas]); pertrauka; } } }; function bindCriteria(from, to, valueFunc) { $(document).on('keisti', nuo, function() { var rezultatas = []; $(from).filter(":checked").each(function(i, el) { rezultatas.push($(el).val()); }); $(į).val([valueFunc(result.join(""))]); }); $(document).on('keisti', į, function() { var pasirinktas = $(į).filter(":checked").val(); $(iš).val([pasirinkta]); }); }; function updateGIR(newValue) { $('#gir').html(newValue); $('#resident_scale_aggir_gir').val(newValue); } $(document).ready(function() { bindCriteria( "input[name='resident_scale_aggir[toilet_top]'], input[name='resident_scale_aggir[toilet_bottom]']", "input[name='resident_scale_aggir[tualetas]']", function(val) { jungiklis (val) { atvejis "AA": grąžinti "A" atvejis "CC": grąžinti "C" numatytasis: grąžinti "B" } } ); bindCriteria( "input[name='resident_scale_aggir[dressing_top]'], input[name='resident_scale_aggir[dressing_middle]'], input[name='resident_scale_aggir[dressing_bottom]']", "input[name='resident_scale_aggir[dressing]']", function(val) { jungiklis (val) { atvejis "AAA": grąžinti "A" atvejis "CCC": grąžinti "C" numatytasis: grąžinti "B" } } ); bindCriteria( "input[name='resident_scale_aggir[supply_serving]'], input[name='resident_scale_aggir[supply_food]']", "input[name='resident_scale_aggir[supply]']", function(val) { jungiklis (val) { atvejis "AA": grąžinti "A" atvejis "CC": grąžinti "C" atvejis "CB": grąžinti "C" atvejis "BC": grąžinti "C" numatytasis: grąžinti "B" } } ); bindCriteria( "input[name='resident_scale_aggir[elimination_urination]'], input[name='resident_scale_aggir[elimination_feces]']", "input[name='resident_scale_aggir[elimination]']", function(val) { jungiklis(tiesa) { Case val === "AA": grąžinti "A" atvejis /C/.test(val): grąžinti "C" numatytasis: grąžinti "B" } } ); $(document).on("pakeisti", ":radio", function() { apskaičiuoti (); }); $(document).on("click", "#reset-aggir-scale", function(e) { e.preventDefault(); $(":radio").val(["A"]); atnaujinti GIR(6); }); $(document).on("pakeitimas", ".resident-select2", function(e) { $.get("/resident_scale_aggirs/calculate.js", { rezidento_mastas_aggir: {gyventojo_id: e.val} }); }); $(document).on("click", "#save-aggir-scale", function(e) { if ($('#resident_scale_aggir_resident_id').val() === "") { e.preventDefault(); naujas PNotify({ tekstas: I18n.t('views.crm.aggir_scales.you_have_not_selected_resident'), addclass: 'bg-warning' }); } }); }); } });