Merge branch 'feature/streefcijfersperorg'

# Conflicts:
#	application/core/MY_Controller.php
This commit is contained in:
Monique
2022-11-28 23:35:04 +01:00
42 changed files with 3844 additions and 2453 deletions
+1 -1
View File
@@ -895,7 +895,7 @@ tr.selected, td.selected{
.integer{
text-align: right;
padding-right: 3px;
max-width: 40px;
max-width: 50px;
}
.datum{
width: 80px;
+124 -154
View File
@@ -108,6 +108,8 @@ ls.initIJkpuntenModel = function(){
}
function fAddLijst(i, l, nieuw){
console.log(l, "lijst")
var dit = this;
this.tooninfo = ko.observable(false);
if(nieuw === l.orgversie.id) {
@@ -115,12 +117,12 @@ ls.initIJkpuntenModel = function(){
}
this.orgversieid = l.orgversie.id;
this.scoretype = l.orgversie.scoretype;
this.orgnaam = l.orgnaam;
this.orgnaam = l.naam;
this.wijik = "schoolversie";
if (l.vorm === '2') {
dit.wijik = "individuele versie"
}
this.naamV = l.vNaam;
this.naamV = l.naamV;
this.metingen = l.metingen;
this.metingenV = l.metingenV;
this.vantm = l.vantm;
@@ -128,40 +130,33 @@ ls.initIJkpuntenModel = function(){
this.jaartal = l.jaartal;
this.label = l.label;
this.ambities = ko.observable(false);
if(l.ambities) {
if (l.ambities.gemscore && l.ambities.xijkpunten && l.ambities.zprocent) {
dit.ambities(true);
}
}
this.gemscore = 0;
if(l.ambities) {
dit.gemscore = l.ambities.gemscore;
}
this.ijkpunten = 0;
if(l.ambities) {
dit.ijkpunten = l.ambities.xijkpunten;
}
this.zprocent = 0;
if(l.ambities) {
dit.zprocent = l.ambities.zprocent;
}
this.gemscore = l.ambities.gemscore;
this.ijkpunten = l.ambities.xijkpunten;
this.zprocent = l.ambities.zprocent;
this.ambitiesoort = l.ambities.soort;
this.ambitiesoortV = l.ambities.soortV ? l.ambities.soortV : false;
this.ambitievan = l.ambities.ambitievan === 'standaard' ? '(standaard ingestelde ambitie)':
'(ambitie van: ' + l.ambities.ambitievan + ')';
this.gemscoreV = l.ambitiesV && l.ambitiesV.gemscore ? l.ambitiesV.gemscore: false ;
this.ijkpuntenV = l.ambitiesV && l.ambitiesV.xijkpunten ? l.ambitiesV.xijkpunten: false;
this.zprocentV = l.ambitiesV && l.ambitiesV.zprocent ? l.ambitiesV.zprocent: false;
this.ambitievanV = l.ambitiesV && l.ambitiesV.ambitievan ? l.ambitiesV.ambitievan === 'standaard' ?
'(standaard ingestelde ambitie)': '(ambitie van: ' + l.ambitiesV.ambitievan: false ;
this.scores = ko.observableArray([]);
this.erzijnscores = ko.observable(true);
if(l.scores){
var meegeven = 'scores';
$.each(l.scores, function (i, s){
dit.scores.push(new fAddScore(i,s, meegeven))
})
}
else if(l.vergelijkingen){
var meegeven = 'vergelijkingen';
$.each(l.vergelijkingen, function (x, v){
dit.scores.push(new fAddScore(x,v, meegeven))
dit.scores.push(new fAddScore(i,s))
})
}
//
//
// var meegeven = 'vergelijkingen';
// $.each(l.vergelijkingen, function (x, v){
// dit.scores.push(new fAddScore(x,v, meegeven))
// })
// }
else{
this.erzijnscores(false);
}
@@ -176,55 +171,20 @@ ls.initIJkpuntenModel = function(){
}
function fAddScore(i,s, meegeven){
function fAddScore(i,s){
var index = i;
var dit = this;
// dit.aantalScores = ko.observable(0);
// if(index){
// dit.aantalScores(index + 1);
// }
this.nummer = s.nummer;
this.omschrijving = s.omschrijving;
this.toelichting = s.toelichting;
if (meegeven == 'vergelijkingen'){
this.gem = '';
this.gemV = s.gemV;
this.disabled = ko.observable(false);
this.disabledV = ko.observable(false);
if(s.disablenvtV =='T') dit.gemV ='nvt';
if(s.disabledV =='T') dit.gemV ='uitgezet';
if(s.disabledV =='T') dit.gem ='uitgezet';
if(s.disabledV == 'T') dit.disabledV(true)
this.disablenvt = ko.observable(false);
this.disablenvtV = ko.observable(false);
if(s.disablenvtV == 'T') dit.disablenvtV(true);
this.kleur = 'lightgray';
this.kleurV = ko.observable ='lightgray';
if(s.disabled == 'F' && s.disablenvt == 'F')this.kleurV =s.kleurV;
this.disabled = ko.observable(s.disabled === 'T');
this.disabledV = ko.observable(s.disabledV === 'T');
this.disablenvt = ko.observable(s.disablenvt === 'T');
this.disablenvtV = ko.observable(s.disablenvtV === 'T');
this.gem = s.disablenvt ==='T'? 'nvt' : s.disabled ==='T' ?'uitgezet': s.gem;
this.gemV = s.disablenvt ==='T'? 'nvt' : s.disabledV ==='T' ? 'uitgezet' : s.gemV;
this.kleur = s.disabled === 'F' && s.disablenvt === 'F'? s.kleur : 'lightgray';
this.kleurV = s.disabledV === 'F' && s.disablenvtV === 'F'? s.kleur : 'lightgray';
}
else {
this.gem = s.gem;
if(s.disablenvt =='T') dit.gem ='nvt';
if(s.disabled =='T') dit.gem ='uitgezet';
this.gemV = s.gemV;
if(s.disablenvtV =='T') dit.gemV ='nvt';
if(s.disabledV =='T') dit.gemV ='uitgezet';
this.disabled = ko.observable(false);
if(s.disabled == 'T') dit.disabled(true);
this.disabledV = ko.observable(false);
if(s.disabledV == 'T') dit.disabledV(true)
this.disablenvt = ko.observable(false);
if(s.disablenvt == 'T') dit.disablenvt(true);
this.disablenvtV = ko.observable(false);
if(s.disablenvtV == 'T') dit.disablenvtV(true);
this.kleur = 'lightgray';
if(s.disabled == 'F' && s.disablenvt == 'F')this.kleur = s.kleur;
this.kleurV = 'lightgray';
if(s.disabledV == 'F' && s.disablenvtV == 'F')this.kleurV =s.kleurV;
}
}
function fAddUser(p){
@@ -288,6 +248,7 @@ ls.initIJkpuntenModel = function(){
medewerkerKiezen : ko.observable(false),
ijkgrafiek : ko.observable(''),
scoretype : ko.observable(''),
eigenambitie : ko.observable(false),
initBindings :function(){
@@ -340,7 +301,7 @@ ls.initIJkpuntenModel = function(){
if (self.selectedOrg() === undefined) return;
$.post('index.php/monpas/rapijkpunten/getvergelijkbareversies/'+ self.selectedOrg().id, function(result) {
if (result && result.series. length > 0 ) {
if (result && result.series.length > 0 ) {
self.series.removeAll();
@@ -463,9 +424,12 @@ ls.initIJkpuntenModel = function(){
self.lijsten.removeAll();
self.ijkpunten.removeAll();
self.aantal('');
self.eigenambitie(false);
var teller = 0;
if( Number(result.lijsten[0].resultaten.totgem) > 0 ) {
self.eigenambitie(result.eigenambitie === 'T');
$.each(result.lijsten, function (i, p) {
if (p.scores || p.vergelijkingen) {
self.erzijnlijsten(true);
self.nietIngevuld(false)
@@ -481,10 +445,8 @@ ls.initIJkpuntenModel = function(){
});
}
else{
self.nietIngevuld(true);
}
if(self.erzijnlijsten()){
var nieuw = '';
@@ -497,10 +459,7 @@ ls.initIJkpuntenModel = function(){
self.label(l.label)
}
self.lijsten.push(new fAddLijst(j,l, nieuw))
});
if (result.aantal) {
@@ -511,6 +470,8 @@ ls.initIJkpuntenModel = function(){
self.scorekleuren(new fAddKleur(result.kleuren));
}
console.log(result.ijkpunten, "ijkpunten");
console.log(result.lijsten, "lijsten")
if(result.ijkpunten){
$.each(result.ijkpunten, function(y, k){
@@ -557,17 +518,13 @@ ls.initIJkpuntenModel = function(){
},
fGetUserScores: function(data, event){
var self = ls.IJkpuntenModel;
if ( self.selectedOrg() === undefined ||
self.users() === undefined ||
self.usernivo > 1 ) return;
if (self.selectedUser() === undefined) return;
if(! event.originalEvent || ! event.originalEvent.isTrusted) return;
if(self.selectedUser().userid === '0') self.fHaalLijstenOp();
@@ -616,9 +573,7 @@ ls.initIJkpuntenModel = function(){
self.nieuwsteVersie(nieuw);
}
$.each(result.lijsten, function (j, l) {
self.lijsten.push(new fAddLijst(j, l, nieuw))
});
if (result.aantal) {
@@ -635,55 +590,61 @@ ls.initIJkpuntenModel = function(){
},
fOpenGrafiek: function(){
var self = ls.IJkpuntenModel;
var dit = this;
var lijsten = self.lijsten();
var lijsten2 = self.lijsten();
let soorten = [0];
var xas = [];
var verkorteVersies = [];
var extraLijn = [];
var balkGegevens = [];
var lijnGegevens;
var lijnGegevens = [];
var ambitiewaarde = 0;
var xastitel;
let titel = 'Versie: ' + self.selectedSerie().naam + ', scoretype: ' + self.selectedSerie().scoreomschrijving
$.each(lijsten, function(z, a){
if(!soorten.includes(Number(a.ambitiesoort))) {
soorten.push(Number(a.ambitiesoort))
}
})
$.each(lijsten, function(i, l) {
var labels = [];
var scores = [];
var ambities = [];
if(l.label){
xastitel = l.label;
}
var zwart = '#0000';
if(l.gemscore && Number(l.gemscore) > 0){
ambitiewaarde = Number(l.gemscore);
if(i === 0 || self.eigenambitie()) {
if (l.gemscore && Number(l.gemscore) > 0) {
ambitiewaarde = Number(l.gemscore);
}
}
lijsten[i].scores = l.scores();
$.each(lijsten[i].scores, function (j, g) {
var omschrijving = '';
if(g.omschrijving){
if(g.omschrijving){
omschrijving = g.omschrijving;
}
labels.push(g.nummer);
scores.push({ y : Number(g.gem) == 0 ? null: Number(g.gem) ,
scores.push({ y : Number(g.gem) === 0 ? null: Number(g.gem) ,
color : g.kleur,
name : g.nummer });
verkorteVersies.push(l.periodenummer);
name : l.periodenummer });
ambities.push(
{
y: ambitiewaarde,
color: '#000000',
name: '',
}
);
if(i === 0 || self.eigenambitie()) {
ambities.push(ambitiewaarde)
}
});
labels.unshift(' ');
var legescore ={
@@ -694,48 +655,53 @@ ls.initIJkpuntenModel = function(){
};
scores.unshift(legescore);
verkorteVersies.unshift(l.periodenummer);
labels.push(' ');
scores.push(legescore);
verkorteVersies.push(l.periodenummer);
balkGegevens[i] =({
balkGegevens.push({
dataLabels: {
format: '{point.versie}'
format: '{point.name}'
},
type : 'column',
name : verkorteVersies,
color : '#ffffff',
name : l.vantm,
data : scores
});
var extralijn = {
y: ambitiewaarde,
name: '',
};
ambities.unshift(extralijn);
ambities.push(extralijn);
if(i === 0 || self.eigenambitie()) {
lijnGegevens = ({
dataLabels: {
format: ''
},
type: 'spline',
name: verkorteVersies,
data: ambities
});
ambities.unshift(ambitiewaarde);
ambities.push(ambitiewaarde);
balkGegevens.push(lijnGegevens);
xas = labels;
lijnGegevens = ({
dataLabels: {
format: ''
},
type: 'spline',
name: self.eigenambitie() ? 'periode ' + l.periodenummer + ', ' + l.ambitievan : 'standaard ingestelde ambitie',
data: ambities
});
balkGegevens.push(lijnGegevens);
}
if(i === 0) {
xas = labels;
}
});
console.log(balkGegevens, "balkgegevens")
self.ijkgrafiek = Highcharts.chart('hc-chart1', {
chart: {
type: 'column',
margin: [10,45,100,5],
options3d: {
enabled: true,
alpha: 20,
alpha: 7,
beta: 20,
viewDistance: 40,
depth: 75,
@@ -755,30 +721,24 @@ ls.initIJkpuntenModel = function(){
},
title: {
text: ''
text: titel
},
credits: {
enabled: false,
},
tooltip:{
useHTML: true,
outside: true,
formatter: function() {
var txt = null;
if(!this.point.omschrijving){
this.point.omschrijving = '';
}
if(this.point.soort === 'score' || this.point.soort === 'ambitie' ) {
txt = '<div class="ijktooltip"><p>' + this.point.vantm + '</p>' + '<br/>' + '<p>' + this.x + '. '
+ this.point.omschrijving + ' ' + this.point.soort + ': ' + this.y + '</p></div>';
return txt;
}
}
enabled: false,
// useHTML: true,
// outside: true,
// formatter: function() {
// return this.y;
//
// }
},
xAxis: {
type: 'category',
// type: 'category',
categories: xas,
skew3d: true,
// skew3d: true,
title:{
text: xastitel
}
@@ -786,14 +746,26 @@ ls.initIJkpuntenModel = function(){
yAxis: {
min:0,
max: 100,
skew3d: true,
title: {
text: 'Scores'
}
},
legend: {
enabled: false
legend:{
align: 'left',
marginLeft: '10px',
verticalAlign: 'bottom',
floating: false,
width: '50%',
itemStyle: {
fontSize: '14px',
fontWeight: 'normal'
}
},
plotOptions: {
column:{
pointPadding: 0.05,
@@ -805,7 +777,7 @@ ls.initIJkpuntenModel = function(){
enabled: true,
inside: true,
align: 'center',
verticalAlign: 'bottom',
verticalAlign: 'top',
color: '#404040',
style: {
textOutline: false
@@ -814,7 +786,6 @@ ls.initIJkpuntenModel = function(){
},
spline: {
color: '#404040',
pointStart: 0,
marker: {
enabled: false
@@ -823,7 +794,6 @@ ls.initIJkpuntenModel = function(){
},
series:
balkGegevens,
showInLegend: false
});
},
+184 -80
View File
@@ -8,61 +8,77 @@ $(function(){
ls.initStreefcijfersModel = function(){
var timeout;
function fAddVersieAmbitie(p){
this.id = p.id; // ambitie id
this.periodenummer = p.periodenummer;
this.naam = p.naam ; // versienaam
this.orgversieid = p.orgversie_id;
this.geldigvanaf = p.geldigvanaf;
this.geldigtm = p.geldigtm;
this.info = ko.computed(function(){
var info = this.periodenummer + '. (versie: ' + this.naam + ') geldig vanaf ' + this.geldigvanaf + ' t/m ' + this.geldigtm;
return info;
},this);
this.gemscore = ko.observable(p.gemscore);
this.xijkpunten = ko.observable(p.xijkpunten);
this.zprocent = ko.observable(p.zprocent);
this.wijzigok = p.wijzigok;
function fAddVersieAmbitie(i, p){
let dit = this;
this.id = p.ambitieID; // ambitie id
this.orgID = p.orgID;
this.gemscore = ko.observable(p.gemscore);
this.zprocent = ko.observable(p.zprocent);
this.xijkpunten = ko.observable(p.xijkpunten);
this.ambitievan = ko.observable(p.ambitievan);
this.organisatie = p.organisatie ? p.organisatie : '';
this.soort = p.soort;
console.log(p.soort, "soort")
}
function fAddSwv (p){
function fAddSWV(p){
var dit = this;
this.id = p.id;
this.brin = p.brin
this.naam = p.brin + ' - ' + p.naamkort;
this.id = p.id;
this.soort = p.soort;
this.brin = p.brin;
this.naam = p.naamkort;
this.plaats = p.plaats;
this.kamers = ko.observableArray([]);
if (p.kamers){
this.geopend = ko.observable(false);
dit.kamers = ko.observableArray([]);
if (p.kamers ){
$.each(p.kamers, function(j,k){
dit.kamers.push(new fAddNivo2(k));
dit.kamers.push(new fAddKamer(k));
})
}
if (p.bgs){
$.each(p.bgs, function(j,k){
dit.kamers.push(new fAddBG(k));
});
}
}
function fAddNivo2 (p){
function fAddKamer(p){
var dit = this;
this.id = p.id;
this.naam = p.brin + ' - ' + p.naamkort;
this.id = p.id;
this.soort = p.soort;
this.brin = p.brin;
this.naam = p.naamkort;
this.plaats = p.plaats;
this.bgs = ko.observableArray([]);
this.geopend = ko.observable(false);
this.bgs = ko.observableArray([]);
if (p.bgs){
$.each(p.bgs, function(j,k){
dit.bgs.push(new fAddBG(k));
$.each(p.bgs, function(x,z){
dit.bgs.push(new fAddBG(z));
})
}
}
}
function fAddBG (p){
var dit = this;
this.id = p.id;
this.naam = p.brin + ' - ' + p.naamkort;
this.plaats = p.plaats;
this.bgs = ko.observableArray([]);
function fAddBG(p){
var dit = this;
this.id = p.id;
this.soort = p.soort;
this.brin = p.brin;
this.naam = p.naamkort;
this.plaats = p.plaats;
this.geopend = ko.observable(false);
this.scholen = ko.observableArray([]);
if (p.scholen){
$.each(p.scholen, function(a,b){
dit.scholen.push(new fAddSchool(b));
})
}
}
function fAddSchool(p){
var dit = this;
this.id = p.id;
this.soort = p.soort;
this.brin = p.brin;
this.naam = p.naamkort;
this.plaats = p.plaats;
}
if (ls.StreefcijfersModel !== undefined){
@@ -70,11 +86,29 @@ ls.initStreefcijfersModel = function(){
}
else {
ls.StreefcijfersModel = {
versieambities : ko.observableArray([]),
swv : ko.observableArray([]),
selectedOrganisatie : ko.observable(''),
zelfniveau : ko.observable(3),
bezig : ko.observable(false),
ambities : ko.observableArray([]),
streefcijfers : ko.observableArray(),
orgsoort : ko.observable(1),
orgversions : ko.observableArray([]),
manage : ko.observable('F'),
bezig : ko.observable(false),
isSWV : ko.observable(false),
insert : ko.observable(false),
scoreNieuw : ko.observable(100),
ijkNieuw : ko.observable(0),
procentNieuw : ko.observable(100),
aantalY : ko.observable(0),
instrument : ko.observable(''),
periodenummer : ko.observable(''),
naam : ko.observable(''),
geldigvanaf : ko.observable(''),
geldigtm : ko.observable(''),
ambitievan : ko.observable(''),
orgversieid : ko.observable(''),
soortNaam : ko.observable(''),
eigenAmbitie : ko.observable(false),
initBindings :function(){
var self = ls.StreefcijfersModel;
@@ -86,36 +120,57 @@ ls.initStreefcijfersModel = function(){
initModel: function(){
var self = ls.StreefcijfersModel;
self.swv.removeAll();
$.post("index.php/monpas/streefcijfers/getorganisaties", function(swv){
if (swv){
self.swv.push(new fAddSwv(swv));
self.selectedOrganisatie(self.swv()[0]);
}
$.post("index.php/monpas/streefcijfers/getzelfniveau", function(nivo){
self.zelfniveau(nivo);
self.fGetAmbities();
},'json')
},'json');
},
fSetSelected : function(){
var self = ls.StreefcijfersModel;
if (this.id == self.selectedOrganisatie().id) return;
self.selectedOrganisatie(this);
if (self.selectedOrganisatie() == undefined) return;
self.fGetAmbities();
},
self.orgsoort('');
$.post("index.php/monpas/streefcijfers/checkrecht", function(data){
if(data) {self.manage(data.manage);
self.orgsoort(data.soort)}
switch(Number(data.soort)){
case 1: self.soortNaam('swv');
break;
case 2: self.soortNaam('regio');
break;
case 3: self.soortNaam('bestuur');
break;
case 4: self.soortNaam('school');
break;
}
self.bezig(false);
self.fGetAmbities();
},'json');
},
fGetAmbities : function() {
var self = ls.StreefcijfersModel;
self.versieambities.removeAll();
$.post("index.php/monpas/streefcijfers/getorgversies_ambities/" + self.selectedOrganisatie().id, function(data){
if (data){
$.each(data, function(i,p){
self.versieambities.push(new fAddVersieAmbitie(p));
self.ambities.removeAll()
self.eigenAmbitie(false);
$.post("index.php/monpas/streefcijfers/getambities/", function(data){
self.ambities.removeAll();
if(data=== 'geen results'){
apprise("Er is geen actieve orgversie gevonden bij dit instrument.")
}
else{
$.each(data.ambities, function (i, a){
if(self.orgsoort() === a.soort){
self.eigenAmbitie(true)
}
self.ambities.push(new fAddVersieAmbitie(i, a))
});
self.aantalY(data.aantalY);
self.instrument(data.module);
self.periodenummer(data.ambities[0].periodenummer);
self.naam(data.ambities[0].naam);
self.geldigvanaf(data.ambities[0].geldigvanaf);
self.geldigtm(data.ambities[0].geldigtm);
self.orgversieid(data.ambities[0].orgversie_id);
}
},'json');
},
@@ -130,31 +185,80 @@ ls.initStreefcijfersModel = function(){
}
timeout = setTimeout(function(){
self.bezig(true);
var submitData={ "id" : dit.id,
"orgversie_id" : dit.orgversieid,
"organisatie_id" : self.selectedOrganisatie().id,
"gemscore" : dit.gemscore(),
var submitData={ "id" : dit.id,
"orgversie_id" : self.orgversieid(),
"gemscore" : dit.gemscore(),
"xijkpunten" : dit.xijkpunten(),
"zprocent" : dit.zprocent()}
$.post("index.php/monpas/streefcijfers/updateambitie", submitData, function(newid){
if (newid) {self.fGetAmbities();};
if (newid) {self.fGetAmbities()}
self.bezig(false);
},'json');
},700);
},
fNew: function(){
var self = ls.StreefcijfersModel;
self.insert(true);
self.scoreNieuw(100);
self.ijkNieuw(self.aantalY());
self.procentNieuw(100);
},
fOpslaan: function (){
var self = ls.StreefcijfersModel;
let dit = this;
if (timeout){
clearTimeout(timeout);
timeout = null;
}
timeout = setTimeout(function(){
self.bezig(true);
var submitData={
"orgversieid" : self.orgversieid(),
"gemscore" : self.scoreNieuw(),
"xijkpunten" : self.ijkNieuw(),
"zprocent" : self.procentNieuw()
}
$.post("index.php/monpas/streefcijfers/saveAmbitie", submitData, function(newid){
if (newid) {self.fGetAmbities()}
self.bezig(false);
self.insert(false);
self.scoreNieuw(0);
self.ijkNieuw(0);
self.procentNieuw(0);
},'json');
},700);
},
fAnnuleer: function(){
var self = ls.StreefcijfersModel;
self.insert(false);
self.scoreNieuw(0);
self.ijkNieuw(0);
self.procentNieuw(0);
},
fDelete:function(){
var self = ls.StreefcijfersModel;
if (self.bezig()) return;
self.bezig(true);
var dit = this;
apprise("Weet u zeker dat u de criteria bij " + dit.naam + " wilt verwijderen?",
apprise("Weet u zeker dat u de streefcijfers van " + dit.organisatie + " wilt verwijderen?",
{verify: true, textYes:'ja', textNo: 'nee'}, function(ans){
if (ans){
var sd = {id : dit.id}
$.post('index.php/monpas/streefcijfers/verwijder', sd, function(result){
self.bezig(false);
self.versieambities.remove(dit);
self.ambities.removeAll();
self.fGetAmbities()
},'json');
} else {
self.bezig(false);