FSN#39567: Van MJOB naar MJOP/R. Zoiets bedoelde ik :-)
svn path=/Website/trunk/; revision=34915
This commit is contained in:
@@ -4,12 +4,13 @@
|
||||
$Id$
|
||||
|
||||
File: mjb_search_list_curr.asp
|
||||
Description:
|
||||
Description: Overview of the execution and progression of the approved MJOB tasks
|
||||
Shows all active and frozen budgets until they are closed.
|
||||
Parameters:
|
||||
|
||||
Context:
|
||||
|
||||
Note:
|
||||
Note: Vlotte kopie van mjb_search_list. Hier kan tzt nog wel wat opgeruimd worden
|
||||
|
||||
*/ %>
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
@@ -20,9 +21,6 @@
|
||||
FCLTHeader.Requires({plugins: ["jQuery"],
|
||||
js : ["jquery-ui.js", "../ins/ins_list.js"]}); // Voor slepen en acties.
|
||||
|
||||
var urole = getQParamSafe("urole", ""); // Indien niet meegegeven, veronderstel dan frontend gebruik
|
||||
|
||||
|
||||
// FORM parameters: de waarde indien aanwezig, anders null
|
||||
// Vaak is een lege selectie ook een -1, dus dan is-ie wel aanwezig, maar hoeft niet
|
||||
// als filter te worden toegepast. Dan is null dus gelijk aan -1, qua betekenis,
|
||||
@@ -51,6 +49,10 @@ var hasReadALGUSE = authparamsALGUSE && authparamsALGUSE.ALGreadlevel < 9 && aut
|
||||
var authparamsALGMAN = user.checkAutorisation("WEB_ALGMAN", true);
|
||||
var hasReadALGMAN = authparamsALGMAN && authparamsALGMAN.ALGreadlevel < 9 && authparamsALGMAN.PRSreadlevel < 9;
|
||||
|
||||
// Rechten om de realisatie te bekijken
|
||||
var authparamsMLD = user.checkAutorisation("WEB_MLDBOF", true);
|
||||
var hasReadMLD = authparamsMLD && authparamsMLD.ALGreadlevel < 9 && authparamsMLD.PRSreadlevel < 9;
|
||||
|
||||
var mjb_start_year = S("mjb_start_year");
|
||||
var mjb_freeze_year = S("mjb_freeze_year");
|
||||
|
||||
@@ -108,16 +110,12 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
||||
%>
|
||||
<html>
|
||||
<head>
|
||||
<style>
|
||||
div#timetip {position:absolute;border:1px solid #666;background-color:#fff;padding:2px;z-index:999;display:none;}
|
||||
</style>
|
||||
<%
|
||||
FCLTHeader.Generate({ outputmode: outputmode });
|
||||
|
||||
if (outputmode == 0) {
|
||||
%>
|
||||
<script type="text/javascript">
|
||||
var urole = "<%=urole%>";
|
||||
var fulldetails = <%=fulldetails? 1 : 0%> == 1;
|
||||
|
||||
function naargebouw(bld_key, deze)
|
||||
@@ -135,6 +133,12 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
||||
FcltMgr.openDetail(url, $(deze).text());
|
||||
}
|
||||
|
||||
function naarmelding(isdc_key, deze)
|
||||
{
|
||||
var url = "appl/mld/mld_melding.asp?kto_type=T&kto_key="+isdc_key;
|
||||
FcltMgr.openDetail(url, $(deze).text());
|
||||
}
|
||||
|
||||
function exception(ins_key, srtcont_key, scen_key, ttl)
|
||||
{
|
||||
var url = "../ins/ins_xcp.asp?ins_key=" + ins_key + "&srtcont_key=" + srtcont_key + "&scen_key=" + scen_key + "&urole=bo";
|
||||
@@ -146,17 +150,10 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
||||
%>
|
||||
</head>
|
||||
<body id="listbody">
|
||||
<div id='timetip'></div>
|
||||
|
||||
<%
|
||||
// De datum (jaar) van de *eerstvolgende* onderhoudsbeurt volgt uit:
|
||||
// Datum laatste (/laatste geplande) inspectie
|
||||
// of anders: ins_deel_aanmaak
|
||||
// waarbij verondersteld wordt dat inspecties in het verleden wel zijn uitgevoerd
|
||||
|
||||
// SQL van soort controles die nog een bevroren nog lopende taak hebben in het freeze jaar en eventuele jaren ervoor.
|
||||
|
||||
|
||||
var sql_from = " FROM ins_deelsrtcontrole dsc"
|
||||
+ " , ins_v_defined_inspect_xcp xcp"
|
||||
+ " , ins_v_aanwezigdeel dl"
|
||||
@@ -279,19 +276,24 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
||||
if (costarray.length > 0)
|
||||
sqlcost = "(" + costarray.join(" + ") + ") *";
|
||||
|
||||
// vermenigvuldigingsfactor om zo nodig incl BTW te krijgen
|
||||
var btw = (incbtw
|
||||
? " (1 + COALESCE((SELECT fbtw.fin_btwtabelwaarde_perc"
|
||||
+ " FROM fin_btwtabelwaarde fbtw"
|
||||
+ " WHERE fbtw.fin_btwtabelwaarde_key = xcp.fin_btwtabelwaarde_key) / 100"
|
||||
+ " , 0)) *"
|
||||
: "")
|
||||
+ " , 0)) "
|
||||
: "1")
|
||||
|
||||
// om het wat leesbaar te houden
|
||||
// om het wat leesbaar te houden een functietje
|
||||
function SumTaskOrdersSQL(fase)
|
||||
{
|
||||
// fase: 1 klare opdrachten, 0: lopende opdrachten
|
||||
// MLD: Geraamd: Uitgegeven(5), Technisch voltooid(6) en Geaccepteerd(8)
|
||||
// Geraamd: Uitgegeven(5), Technisch voltooid(6) en Geaccepteerd(8)
|
||||
// Definitief: Verwerkt(7) en Kosten voltooid(9)
|
||||
// TODO: uitwerken hoe dat precies met BTW zit; als de Kostensoort van de melding/opdracht Incl BTW is,
|
||||
// dan is het bedrag van mld_opdr_kosten in principe al met BTW en zou mld_opdr_kosten_btw (nieuw)
|
||||
// het btw-deel daarvan voorstellen. Dan hoef je dat er dus niet meer bij op te tellen. Nu kijken we
|
||||
// hier nog helemaal niet naar de kostensoort, en de precieze werken is tbd. Te zijner tijd.
|
||||
var osql = "SELECT SUM(mld_opdr_kosten)" + (incbtw ? "+SUM(mld_opdr_kosten_btw)" : "")
|
||||
+ " FROM mld_opdr o, mld_melding m"
|
||||
+ " WHERE m.mld_melding_key = o.mld_melding_key"
|
||||
@@ -343,16 +345,11 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
||||
+ " , ins_srtcontroledl_xcp_key"
|
||||
+ " , COALESCE(dsc.ins_deelsrtcontrole_datum, dsc.ins_deelsrtcontrole_freezedate) freezedatum"
|
||||
+ " , EXTRACT(YEAR FROM COALESCE(ins_deelsrtcontrole_datum, ins_deelsrtcontrole_freezedate)) freezejaar"
|
||||
+ " , COALESCE (xcp.ins_deel_aantal *"
|
||||
+ " " + sqlcost
|
||||
+ " (COALESCE(xcp.ins_srtcontrole_percentage, 100) / 100) *"
|
||||
+ " " + btw
|
||||
+ " POWER(1 , EXTRACT(YEAR FROM COALESCE(ins_deelsrtcontrole_datum, ins_deelsrtcontrole_freezedate)) - EXTRACT(YEAR FROM SYSDATE))" // Bevriezen van het kalenderjaar S("mjb_freeze_year").
|
||||
+ " , 0) begrootbedrag"
|
||||
+ " , EXTRACT(YEAR FROM COALESCE(ins_deelsrtcontrole_datum, ins_deelsrtcontrole_freezedate)) freezedatejaar"
|
||||
+ " , " + btw + " dsc.ins_deelsrtcontrole_freezecost ins_deelsrtcontrole_freezecost"
|
||||
+ " , " + SumTaskOrdersSQL(1) + "besteed"
|
||||
+ " , " + SumTaskOrdersSQL(0) + "geraamd"
|
||||
+ " , " + btw + " * dsc.ins_deelsrtcontrole_freezecost ins_deelsrtcontrole_freezecost"
|
||||
+ " , " + btw + " * dsc.ins_deelsrtcontrole_freezecost begrootbedrag" // hetzelfde, maar dan buiten de pivot
|
||||
+ " , " + SumTaskOrdersSQL(1) + "besteedbedrag"
|
||||
+ " , " + SumTaskOrdersSQL(0) + "geraamdbedrag"
|
||||
+ sql_from
|
||||
+ sql_where
|
||||
+ " AND EXTRACT(YEAR FROM ins_deelsrtcontrole_freezedate) IN (" + listfdjaar + ")";
|
||||
@@ -379,6 +376,8 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
||||
? " , ins_deel_opmerking"
|
||||
: "")
|
||||
+ " , SUM(ins_deelsrtcontrole_freezecost) ins_deelsrtcontrole_freezecost"
|
||||
+ " , SUM(besteedbedrag) besteedbedrag"
|
||||
+ " , SUM(geraamdbedrag) geraamdbedrag"
|
||||
+ " , SUM(begrootbedrag) begrootbedrag"
|
||||
+ " , freezedatejaar"
|
||||
+ " FROM (" + sql_cost + ")"
|
||||
@@ -397,24 +396,8 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
||||
+ " FROM (" + sql_cost + ") c"
|
||||
+ " PIVOT (SUM(ins_deelsrtcontrole_freezecost) FOR freezedatejaar IN (" + listfdjaar + "))";
|
||||
|
||||
var sqlArray = [];
|
||||
if (mjbMoved) // Aangepast.
|
||||
{
|
||||
sqlArray.push("isPlanned = 1");
|
||||
}
|
||||
if (mjbFreezed) // In behandeling (Bevroren).
|
||||
{
|
||||
sqlArray.push("ins_deelsrtcontrole_freezedate IS NOT NULL AND ins_deelsrtcontrole_status = 2");
|
||||
}
|
||||
if (mjbXcped) // Aangepast.
|
||||
{
|
||||
sqlArray.push("ins_srtcontroledl_xcp_key IS NOT NULL AND ins_scenario_key = 1");
|
||||
}
|
||||
|
||||
if (sqlArray.length)
|
||||
sql += " WHERE (" + sqlArray.join(" OR ") + ")";
|
||||
|
||||
sql += " ORDER BY 1";
|
||||
|
||||
for (var i = 2; i <= groupby; i++)
|
||||
{
|
||||
sql += "," + String(i)
|
||||
@@ -438,8 +421,6 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
||||
data.insKey = oRs("ins_deel_key").Value;
|
||||
data.insSrtControleKey = oRs("ins_srtcontrole_key").Value;
|
||||
data.insDeelSrtContrKey = oRs("ins_deelsrtcontrole_key").Value? oRs("ins_deelsrtcontrole_key").Value : -1;
|
||||
//data.insNexdate0 = new Date(oRs("org_nexdate_0").Value).getFullYear(); // Eerstaankomende vandaag of in de toekomst.
|
||||
//data.insCtrControleType = oRs("ctr_controle_type").Value;
|
||||
data.insScenKey = oRs("ins_scenario_key").Value;
|
||||
}
|
||||
|
||||
@@ -448,47 +429,18 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
||||
|
||||
function fnrowClass(oRs)
|
||||
{
|
||||
if (!fulldetails)
|
||||
return "";
|
||||
//var scen_key = oRs("ins_scenario_key").Value;
|
||||
var lclass = oRs("ins_srtcontroledl_xcp_key").Value != null? "mjbxcp" : "mjbstd";
|
||||
//if (scen_key > 1)
|
||||
// lclass += " scenerized1";
|
||||
//if (oRs("isPlanned").Value == 1)
|
||||
// lclass += " mjbplanned";
|
||||
// Ooit nog eens: een gradient oid van groen naar rood evenredig met de procentuele uitnutting
|
||||
var busy = oRs("besteedbedrag").Value + oRs("geraamdbedrag").Value != 0;
|
||||
var saldo = oRs("begrootbedrag").Value - oRs("besteedbedrag").Value - oRs("geraamdbedrag").Value;
|
||||
var lclass = "";
|
||||
if (saldo < 0)
|
||||
lclass = "mjbexpired";
|
||||
else
|
||||
lclass= (busy ? "mjbbusy" : "mjbwaiting");
|
||||
return lclass;
|
||||
}
|
||||
|
||||
|
||||
function fnrowActionEnabler(oRs)
|
||||
{
|
||||
var data = {};
|
||||
//var eShowInsp = false;
|
||||
var ePlan = false;
|
||||
var eStart = false;
|
||||
var eClose = false;
|
||||
var eFinish = false;
|
||||
var eAddScen = false;
|
||||
if (fulldetails)
|
||||
{ // Functie ins.func_enabled_deel kost tijd om voor elke regel uit te voeren.
|
||||
// Query uit ins.func_enabled_deel samenvoegen met query van dit overzicht is bijna niet te doen.
|
||||
// Inspectie acties alleen zichtbaar in het overzicht gegroepeerd naar Taken. Het gebouw filter is dan al vaak ingevuld.
|
||||
var this_ins = ins.func_enabled_deel(oRs("ins_deel_key").Value,
|
||||
{ srtcont_key: oRs("ins_srtcontrole_key").Value,
|
||||
deelsrtcont_key: oRs("ins_deelsrtcontrole_key").Value? oRs("ins_deelsrtcontrole_key").Value : -1,
|
||||
scen_key: oRs("ins_scenario_key").Value
|
||||
});
|
||||
ePlan = this_ins.canInspPlan;
|
||||
eStart = this_ins.canInspStart;
|
||||
eClose = this_ins.canInspClose;
|
||||
eFinish = this_ins.canInspFinish;
|
||||
eFreeze = this_ins.canInspFreeze;
|
||||
eAddScen = true;
|
||||
}
|
||||
var data = {ePlan: ePlan, eStart: eStart, eClose: eClose, eFinish: eFinish, eFreeze: eFreeze};
|
||||
return data;
|
||||
}
|
||||
|
||||
function fnGebouw(oRs)
|
||||
{
|
||||
if (hasReadALGUSE || hasReadALGMAN)
|
||||
@@ -524,7 +476,8 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
||||
oRs("ins_srtcontrole_key").Value,
|
||||
oRs("ins_scenario_key").Value,
|
||||
safe.jsstring(oRs("ins_deel_omschrijving").Value));
|
||||
return "<span>{1}</span>" // TODO, maar we willen zeker niet kunnen overrulen. Naar de bijbehorende melding.asp if mjb_operation_external
|
||||
// return "<span class='details' onclick='{0}'>{1}</span>" // TODO, maar we willen zeker niet kunnen overrulen, wel zien. ins_xcp moet dat frozen zijn herkennen
|
||||
return "<span>{1}</span>"
|
||||
.format(safe.htmlattr(fncall),
|
||||
safe.html(oRs("ins_srtcontrole_omschrijving").Value));
|
||||
}
|
||||
@@ -562,23 +515,18 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
||||
{
|
||||
if (oRs(jaar).Value == null)
|
||||
return "";
|
||||
|
||||
var v = Math.round(oRs(jaar).Value);
|
||||
var v_gb = Math.round(oRs("begrootbedrag").Value);
|
||||
if (v == 0) // (jaar >= vervaljaar) //
|
||||
if (authparamsMLD) // dan kun je klikken naar de melding
|
||||
{
|
||||
var vervaljaar = oRs("vervaljaar").Value;
|
||||
var afbouwtijd = oRs("afbouwtijd").Value || 0;
|
||||
if (vervaljaar != null && jaar > vervaljaar - afbouwtijd) // Als 2022 vervaljaar is en afbouwtijd is 2 jaar, dan 2020 nog 0 tonen.
|
||||
return "";
|
||||
}
|
||||
//if (v != v_gb) {
|
||||
if (v == 0) {
|
||||
if (outputmode == 0) {
|
||||
v = "<span class='mjborgbedrag' title='{1}'>{0}</span>".format(safe.curr(v, true), L('lcl_valutasign') + safe.curr(v_gb, true));
|
||||
} else {
|
||||
v = "{0}".format(safe.curr(v, true));
|
||||
}
|
||||
// TODO: m<>cht de melding er nog niet zijn dan die laten aanmaken (zoals een melding bij een inspectie)?
|
||||
var fncall = "naarmelding({0})"
|
||||
.format(oRs("ins_deelsrtcontrole_key").Value);
|
||||
return "<span class='details' onclick='{0}'>{1}</span>"
|
||||
.format(safe.htmlattr(fncall),
|
||||
safe.curr(v, true));
|
||||
}
|
||||
else
|
||||
return safe.curr(v, true);
|
||||
}
|
||||
}
|
||||
@@ -587,32 +535,8 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
||||
{
|
||||
return function (oRs)
|
||||
{
|
||||
if (fulldetails)
|
||||
{
|
||||
var vervaljaar = oRs("vervaljaar").Value;
|
||||
var afbouwtijd = oRs("afbouwtijd").Value || 0;
|
||||
var freezeclass = "";
|
||||
if (jaar > vervaljaar - afbouwtijd) // Afzien van taken/vervanging/inspecties. Geen kosten meer.
|
||||
{
|
||||
if (vervaljaar != null && afbouwtijd != null && jaar > vervaljaar - afbouwtijd && jaar <= vervaljaar)
|
||||
return "mjbjaar mjbafbouw" + freezeclass;
|
||||
else if (vervaljaar != null && jaar > vervaljaar)
|
||||
return "mjbjaar mjbverval";
|
||||
return "";
|
||||
}
|
||||
else
|
||||
{
|
||||
var freezejaar = oRs("freezejaar").Value;
|
||||
if (jaar == freezejaar && oRs("ins_deelsrtcontrole_freezedate").Value != null && oRs("ins_deelsrtcontrole_status").Value == 2)
|
||||
freezeclass = " mjbfreezed";
|
||||
}
|
||||
}
|
||||
return "mjbjaar" + freezeclass;
|
||||
}
|
||||
}
|
||||
|
||||
function fnGeraamdClass(oRs)
|
||||
{
|
||||
return "mjbgeraamd";
|
||||
}
|
||||
|
||||
function fnBegrootBedrag(oRs)
|
||||
@@ -621,26 +545,24 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
||||
}
|
||||
function fnBesteedBedrag(oRs)
|
||||
{
|
||||
return safe.curr(Math.round(oRs("besteed").Value), true);
|
||||
return safe.curr(Math.round(oRs("besteedbedrag").Value), true);
|
||||
}
|
||||
function fnGeraamdBedrag(oRs)
|
||||
{
|
||||
return safe.curr(Math.round(oRs("geraamd").Value), true);
|
||||
return safe.curr(Math.round(oRs("geraamdbedrag").Value), true);
|
||||
}
|
||||
function fnResteertBedrag(oRs)
|
||||
{
|
||||
return safe.curr(Math.round(oRs("begrootbedrag").Value-oRs("besteed").Value-oRs("geraamd").Value), true);
|
||||
return safe.curr(Math.round(oRs("begrootbedrag").Value-oRs("besteedbedrag").Value-oRs("geraamdbedrag").Value), true);
|
||||
}
|
||||
function fnResteertBedragAmount(oRs)
|
||||
{
|
||||
return Math.round(oRs("begrootbedrag").Value-oRs("besteed").Value-oRs("geraamd").Value);
|
||||
return Math.round(oRs("begrootbedrag").Value-oRs("besteedbedrag").Value-oRs("geraamdbedrag").Value);
|
||||
}
|
||||
|
||||
|
||||
|
||||
var buttons = [];
|
||||
//buttons.push({ icon: "plus.png", title: L("lcl_mjb_incl_scen"), action: 'insAddTCScen()' });
|
||||
//buttons.push({ icon: "plus.png", title: L("lcl_mjb_inst_scen"), action: 'insInstituteScen()' });
|
||||
buttons.push({ icon: "page_refresh.png", title: L("lcl_refresh"), action: "FcltMgr.reload()" });
|
||||
buttons.push({ icon: "legenda.png", title: L("lcl_ins_controle_legenda"), action: 'openLegenda()' });
|
||||
|
||||
@@ -650,7 +572,6 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
||||
rowData: fnrowData,
|
||||
rowClass: fnrowClass,
|
||||
//suppressKeyRepeat: "alg_locatie_omschrijving",
|
||||
rowActionEnabler: fnrowActionEnabler,
|
||||
totalShow: totalShow,
|
||||
flexModule: "INS",
|
||||
multiple: true,
|
||||
@@ -661,8 +582,6 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
||||
buttons: buttons
|
||||
});
|
||||
|
||||
//if (fulldetails && scenario == 1)
|
||||
// rst.addColumn(new Column({caption: "<span title='{0}'>".format(safe.htmlattr(L("lcl_mjb_scenarios"))) + I("fa-clone") + "</span>", content: fnHasScenario }));
|
||||
rst.addColumn(new Column({caption: L("lcl_district"), content: "alg_district_omschrijving", purpose: (dist_key > -1 && groupby != 1? PRINTING_ONLY : PRINT_AND_VIEW)}));
|
||||
if (groupby > 1)
|
||||
rst.addColumn(new Column({caption: L("lcl_building"), content: fnGebouw }));
|
||||
@@ -681,7 +600,9 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
||||
if (fulldetails)
|
||||
{
|
||||
rst.addColumn(new Column({caption: L("lcl_ins_controle_srt"), content: fnSrtcontrole, tooltip: "ins_srtcontrole_opmerking"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_ins_status"), content: fnStatus})); // PF: twijfel
|
||||
// PF: deze status wordt pas zinvol wanneer er meerdere statussen kunnen zijn hier
|
||||
// dus wanneer er een statusfilter oid komt waarmee je ook nog naar de historie kunt, ooit.
|
||||
//rst.addColumn(new Column({caption: L("lcl_ins_status"), content: fnStatus}));
|
||||
}
|
||||
for (var j = 0; j < jaren.length; j++)
|
||||
{
|
||||
@@ -690,11 +611,11 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
||||
else
|
||||
var content = fnfnBedrag(String(jaren[j]));
|
||||
|
||||
// Het bevroren budget
|
||||
// Het bevroren budget per jaar
|
||||
rst.addColumn(new Column({caption: String(L("lcl_mjb_begroot") + " " + jaren[j]),
|
||||
datatype: "number",
|
||||
content: content,
|
||||
columnClass: fnfncolClass(String(jaren[j])), // tdClass dan niet meer nodig.
|
||||
columnClass: fnfncolClass(String(jaren[j])),
|
||||
total: true,
|
||||
fnAmount: fnfnBedragNumber(String(jaren[j]))
|
||||
}));
|
||||
@@ -706,14 +627,14 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
||||
datatype: "number",
|
||||
content: fnBesteedBedrag,
|
||||
total: true,
|
||||
fnAmount: fnfnBedragNumber("besteed")
|
||||
fnAmount: fnfnBedragNumber("besteedbedrag")
|
||||
}));
|
||||
// De som van de bijbehorende lopende opdrachten
|
||||
rst.addColumn(new Column({caption: L("lcl_mjb_geraamd"),
|
||||
datatype: "number",
|
||||
content: fnGeraamdBedrag,
|
||||
total: true,
|
||||
fnAmount: fnfnBedragNumber("geraamd")
|
||||
fnAmount: fnfnBedragNumber("geraamdbedrag")
|
||||
}));
|
||||
// het saldo budget-besteed-geraamd
|
||||
rst.addColumn(new Column({caption: L("lcl_mjb_resteert"),
|
||||
|
||||
@@ -1871,7 +1871,7 @@ span.expired2 {
|
||||
background: linear-gradient(to top, rgba(255, 254, 156, 1), rgba(255, 254, 156, 0.8) 100%); /* Standard syntax */
|
||||
color: #9C6500;
|
||||
}
|
||||
.cntopzeg td, .expired2 td {
|
||||
.cntopzeg td, .expired2 td, .mjbexpired td {
|
||||
background: linear-gradient(to top, rgba(255, 199, 207, 1), rgba(255, 199, 207, 0.8) 50%); /*#FFC7CE*/
|
||||
color: #9C0006;
|
||||
}
|
||||
@@ -4498,6 +4498,13 @@ td.kpidetails {
|
||||
.mjbxcp td {
|
||||
opacity: 1.0;
|
||||
}
|
||||
.mjbbusy td{
|
||||
}
|
||||
|
||||
.mjbwaiting td {
|
||||
background-color: #F0F0FA;
|
||||
}
|
||||
|
||||
span.mjborgbedrag {
|
||||
color: #ccc;
|
||||
font-size: 0.9em;
|
||||
|
||||
Reference in New Issue
Block a user