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