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"
});
}
});
});
}
});