kods

Paloma.controller('CRM/AGGIRScales', { jauns: function() { this._setupCalculator(); }, izveidot: function() { this._setupCalculator(); }, rediģēt: function() { this._setupCalculator(); }, atjauninājums: function() { this._setupCalculator(); }, _setupCalculator: function() { function Group(modeC, modeB, rankFunc) { šis.C = modeC; šis.B = režīmsB; this.rankFunc = rankFunc; } Group.prototype = { aprēķinātRanks: function(vērtības) { var kopā = this._calculateTotal(values); atgriezt šo.rankFunc(kopā); }, _calculateTotal: function(vērtības) { var l = vērtības.garums, kopā = 0, i = 0, currentMode; for(; i < l; i++) { currentMode = vērtības[i]; if(this.hasOwnProperty(currentMode)) { kopā += šis[pašreizējais režīms][i]; } } kopējā atdeve; } } A grupa = jauna grupa ( [2000, 1200, 40, 40, 60, 100, 800, 200, 0, 0], [0, 0, 16, 16, 20, 16, 120, 32, 0, 0], function(vērtība) { if(vērtība >= 4380) { return 1; } if(vērtība >= 4140) { return 2; } if(vērtība >= 3390) { return 3; } atgriezties 0; } ) GrupaB = jauna grupa( [1500, 1200, 40, 40, 60, 100, 800, -80, 0, 0], [320, 120, 16, 16, 0, 16, 120, -40, 0, 0], function(vērtība) { if(vērtība >= 2016) { return 4; } atgriezties 0; } ); GroupC = jauna grupa( [0, 0, 40, 40, 60, 160, 1000, 400, 0, 0], [0, 0, 16, 16, 20, 20, 200, 40, 0, 0], function(vērtība) { if(vērtība >= 1700) { return 5; } if(vērtība >= 1432) { return 6; } atgriezties 0; } ); GroupD = jauna grupa( [0, 0, 0, 0, 2000, 400, 2000, 200, 0, 0], [0, 0, 0, 0, 200, 200, 200, 0, 0, 0], function(vērtība) { if(vērtība >= 2400) { return 7; } atgriezties 0; } ); GroupE = jauna grupa( [400, 400, 400, 400, 400, 800, 800, 200, 0, 0], [0, 0, 100, 100, 100, 100, 100, 0, 0, 0], function(vērtība) { if(vērtība >= 1200) { return 8; } atgriezties 0; } ); GroupF = jauna grupa( [200, 200, 500, 500, 500, 500, 500, 200, 0, 0], [100, 100, 100, 100, 100, 100, 100, 0, 0, 0], function(vērtība) { if(vērtība >= 800) { return 9; } atgriezties 0; } ); GroupG = jauna grupa( [150, 150, 300, 300, 500, 500, 400, 200, 0, 0], [0, 0, 200, 200, 200, 200, 200, 100, 0, 0], function(vērtība) { if(vērtība >= 650) { return 10; } atgriezties 0; } ); GroupH = jauna grupa( [0, 0, 3000, 3000, 3000, 3000, 1000, 1000, 0, 0], [0, 0, 2000, 2000, 2000, 2000, 2000, 1000, 0, 0], function(vērtība) { if(vērtība >= 4000) { return 11; } if(vērtība >= 2000) { return 12; } atgriešanās 13; } ); funkcija aprēķināt() { var inputNames = [ 'konsistence', 'orientācija', 'tualete', "pārģērbšana", "piegāde", "likvidēšana", 'transfer', 'internal_placement' ]; var ranks = [0,1,2,2,2,2,2,2,3,3,4,4,5,6], vērtības = [], currentValue; $.each(inputNames, function(i, name) { currentValue = $("input[name='resident_scale_aggir[" + name + "]']:checked").val(); if (currentValue != '' && currentValue != null) { vērtības.push(pašreizējāVērtība); } cits { vērtības.push("A"); } }); var grupas = [GroupA, GroupB, GroupC, GroupD, GroupE, GroupE, GroupF, GroupG, GroupH], i = 0, l = grupas.garums, rangs; for(; i < l; i++) { rangs = grupas[i].calculateRank(vērtības); if (rangs > 0) { updateGIR(rangs[rangs]); pārtraukums; } } }; function bindCriteria(from, to, valueFunc) { $(document).on('mainīt', from, function() { var rezultāts = []; $(from).filter(":checked").each(function(i, el) { rezultāts.push($(el).val()); }); $(uz).val([valueFunc(result.join(""))]); }); $(document).on('mainīt', uz, function() { var atlasīts = $(uz).filter(":checked").val(); $(no).val([atlasīts]); }); }; function updateGIR(newValue) { $('#gir').html(newValue); $('#resident_scale_aggir_gir').val(newValue); } $(dokuments).ready(function() { bindCriteria( "input[name='resident_scale_aggir[toilet_top]'], input[name='resident_scale_aggir[toilet_bottom]']", "input[name='resident_scale_aggir[tualete]']", function(val) { slēdzis(val) { gadījums "AA": atgriezt "A" gadījums "CC": atgriezt "C" noklusējuma: atgriezt "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) { slēdzis(val) { gadījums "AAA": atgriezt "A" gadījums "CCC": atgriezt "C" noklusējuma: atgriezt "B" } } ); bindCriteria( "input[name='resident_scale_aggir[supply_serving]'], input[name='resident_scale_aggir[supply_food]']", "input[name='resident_scale_aggir[supply]']", function(val) { slēdzis(val) { gadījums "AA": atgriezt "A" gadījums "CC": atgriezt "C" gadījums "CB": atgriezt "C" gadījums "BC": atgriezt "C" noklusējuma: atgriezt "B" } } ); bindCriteria( "input[name='resident_scale_aggir[elimination_urination]'], input[name='resident_scale_aggir[elimination_feces]']", "input[name='resident_scale_aggir[elimination]']", function(val) { slēdzis (true) { case val === "AA": atgriezt "A" case /C/.test(val): atgriež "C" noklusējuma: atgriezt "B" } } ); $(document).on("mainīt", ":radio", function() { aprēķināt (); }); $(document).on("klikšķis", "#reset-aggir-scale", function(e) { e.preventDefault(); $(":radio").val(["A"]); atjaunināt GIR(6); }); $(document).on("mainīt", ".resident-select2", function(e) { $.get("/resident_scale_aggirs/calculate.js", { resident_scale_aggir: {resident_id: e.val} }); }); $(document).on("klikšķis", "#save-aggir-scale", function(e) { if ($('#resident_scale_aggir_resident_id').val() === "") { e.preventDefault(); jauns PNotify({ teksts: I18n.t('views.crm.aggir_scales.you_have_not_selected_resident'), addclass: "bg-warning" }); } }); }); } });