ARAI#40623 Velden uren, materiaal, correctie en uurtarief toegevoegd aan edit_opdr mobile (/PDA/order.asp)
svn path=/Website/trunk/; revision=36386
This commit is contained in:
@@ -112,6 +112,72 @@ function calcTotal()
|
||||
}
|
||||
}
|
||||
|
||||
// Bereken het totaal bedrag van de opdracht.
|
||||
function calcTotalMobile()
|
||||
{
|
||||
if (typeopdr_matchtype == 5) return;
|
||||
if (mld_ord_show_cost && typeopdr_matchtype != 3 && typeopdr_matchtype != 4)
|
||||
{
|
||||
var valid_mat_kosten = false;
|
||||
var valid_corr_kosten = false;
|
||||
var valid_uren = false;
|
||||
var valid_uurtarief = false;
|
||||
|
||||
var uren = parseFloat($("#uren").val().replace(',', '.'));
|
||||
var uurtarief = parseFloat($("#uurtarief").val().replace(',', '.'));
|
||||
var mat_kosten = parseFloat($("#mat_kosten").val().replace(',', '.'));
|
||||
var corr_kosten = parseFloat($("#corr_kosten").val().replace(',', '.'));
|
||||
var tot_kosten = (isNaN(uren)? 0 : uren) * (isNaN(uurtarief)? 0 : uurtarief)
|
||||
+ (isNaN(mat_kosten)? 0 : mat_kosten) + (isNaN(corr_kosten)? 0 : corr_kosten);
|
||||
|
||||
if ($("#uren").val() != '' && !isNaN(uren))
|
||||
{
|
||||
valid_uren = true;
|
||||
$("#uren").val(parseFloat($("#uren").val()).toFixed(2));
|
||||
}
|
||||
else
|
||||
$("#uren").val(null)
|
||||
|
||||
if ($("#uurtarief").val() != '' && !isNaN(uurtarief))
|
||||
{
|
||||
valid_uurtarief = true;
|
||||
$("#uurtarief").val(parseFloat($("#uurtarief").val()).toFixed(2));
|
||||
}
|
||||
else
|
||||
$("#uurtarief").val(null)
|
||||
|
||||
if ($("#mat_kosten").val() != '' && !isNaN(mat_kosten))
|
||||
{
|
||||
valid_mat_kosten = true;
|
||||
$("#mat_kosten").val(parseFloat($("#mat_kosten").val()).toFixed(2));
|
||||
}
|
||||
else
|
||||
$("#mat_kosten").val(null)
|
||||
|
||||
if ($("#corr_kosten").val() != '' && !isNaN(corr_kosten))
|
||||
{
|
||||
valid_corr_kosten = true;
|
||||
$("#corr_kosten").val(parseFloat($("#corr_kosten").val()).toFixed(2));
|
||||
}
|
||||
else
|
||||
$("#corr_kosten").val(null)
|
||||
|
||||
|
||||
if (!valid_mat_kosten && !valid_corr_kosten && (!valid_uren || !valid_uurtarief))
|
||||
{
|
||||
$("#tot_kosten").val(null);
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#tot_kosten").val(num2currEditable(tot_kosten));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#tot_kosten").val(0);
|
||||
}
|
||||
}
|
||||
|
||||
function showCnt()
|
||||
{
|
||||
if ($('#contract').val() > 0)
|
||||
|
||||
@@ -526,30 +526,85 @@ else
|
||||
%> <input type="hidden" name="orgdate" value="<%=nu.getTime()%>"> <%
|
||||
}
|
||||
|
||||
// TOTAAL KOSTEN
|
||||
// Uit mld_edit_opdr; dit is hier nog niet zo compleet gerealiseerd TODO naar behoefte (1-4)
|
||||
// de kostenvelden zijn nogal afhankelijk van mld_opdr.typeopdr_matchtype
|
||||
// 1,2 --> alle kosten velden
|
||||
// 3 --> alleen uren velden/uurtarief en wel kostenplaats (tarief vind ik dubieus mobiel -PF)
|
||||
// 4 --> geen kosten of kostenplaats en wel uren
|
||||
// 5 --> Alleen materialenlijst (mld_opdr_materiaal) invullen en kostenplaats
|
||||
// 6,7 --> Via urenregistratie mld_opdr_uren
|
||||
if (S("mld_ord_show_cost") == 1)
|
||||
var readonly = (opdr_key > 0 && !this_opdr.canUrenMatChange);
|
||||
|
||||
if (S("mld_ord_show_cost") == 1 &&
|
||||
// mld_opdr.typeopdr_matchtype != 4 && zonder kosten wil AADS nog steeds de uren
|
||||
mld_opdr.typeopdr_matchtype != 5) // UREN
|
||||
{
|
||||
var flduren_label = L("lcl_mld_nrhours");
|
||||
switch (mld_opdr.typeopdr_matchtype)
|
||||
{
|
||||
case 3: {flduren_label = L("lcl_mld_hoursperweek"); break;}
|
||||
case 6: {flduren_label = L("lcl_mld_hours_to_spent"); break;}
|
||||
case 7: {flduren_label = L("lcl_mlduren_max"); break;}
|
||||
}
|
||||
RWFIELD( "uren"
|
||||
, flduren_label
|
||||
, safe.displayfloat(mld_opdr.hours, 2, true).replace(',', '.')
|
||||
, { pclass: "float" + (mld_opdr.typeopdr_matchtype == 3? " required" : "")
|
||||
, datarole: "fieldcontain"
|
||||
, datatype: "number"
|
||||
, html: "onBlur='calcTotalMobile()' step='0.01'"
|
||||
, readonly: readonly
|
||||
}
|
||||
)
|
||||
}
|
||||
if (mld_opdr.typeopdr_matchtype == 6 || mld_opdr.typeopdr_matchtype == 7)
|
||||
ROFIELD("geboekt", L("lcl_mlduren_booked"), String(safe.curr(mld_opdr.booked)).replace(',', '.'), {suppressEmpty: true, datarole: "fieldcontain"}); // Geboekte uren
|
||||
|
||||
if (S("mld_ord_show_cost") == 1 &&
|
||||
mld_opdr.typeopdr_matchtype != 3 &&
|
||||
mld_opdr.typeopdr_matchtype != 4 &&
|
||||
mld_opdr.typeopdr_matchtype != 5)
|
||||
{ // UURTARIEF
|
||||
RWFIELD("uurtarief", L("lcl_hour_rate") + " " + S("currency_pref"),
|
||||
safe.curreditable(mld_opdr.h_rate).replace(',', '.'),
|
||||
{ pclass: "currency"
|
||||
, datarole: "fieldcontain"
|
||||
, datatype: "number"
|
||||
, html: "onBlur='calcTotalMobile()' step='0.01'"
|
||||
, readonly: readonly
|
||||
})
|
||||
// MATERIAAL
|
||||
RWFIELD("mat_kosten", L("lcl_mater_cost") + " " + S("currency_pref"),
|
||||
safe.curreditable(mld_opdr.m_cost).replace(',', '.'),
|
||||
{ pclass: "currency"
|
||||
, datarole: "fieldcontain"
|
||||
, datatype: "number"
|
||||
, html: "onBlur='calcTotalMobile()' step='0.01''"
|
||||
, readonly: readonly
|
||||
})
|
||||
|
||||
// CORRECTIE
|
||||
RWFIELD("corr_kosten", L("lcl_correct") + " " + S("currency_pref"),
|
||||
safe.curreditable(mld_opdr.corr_cost).replace(',', '.'),
|
||||
{ pclass: "currency"
|
||||
, datarole: "fieldcontain"
|
||||
, datatype: "number"
|
||||
, html: "onBlur='calcTotalMobile()' step='0.01'"
|
||||
, readonly: readonly
|
||||
})
|
||||
}
|
||||
|
||||
// TOTAAL
|
||||
if (mld_opdr.typeopdr_matchtype != 4)
|
||||
{ // 0 = niet verplicht, 1 = save + 2 = afmelden, 4 = afronden.
|
||||
isRequired = (mld_opdr.typeopdr_kosten_verplicht & 1 || (mld_opdr.typeopdr_kosten_verplicht == 0 && mld_opdr.opdrkosten_verplicht & 1)) ||
|
||||
((mld_opdr.typeopdr_kosten_verplicht & 2 || (mld_opdr.typeopdr_kosten_verplicht == 0 && mld_opdr.opdrkosten_verplicht & 2)) &&
|
||||
(mld_opdr.opdr_status == 5 || mld_opdr.opdr_status == 8)) ||
|
||||
((mld_opdr.typeopdr_kosten_verplicht & 4 || (mld_opdr.typeopdr_kosten_verplicht == 0 && mld_opdr.opdrkosten_verplicht & 4)) &&
|
||||
mld_opdr.opdr_status == 6)
|
||||
mld_opdr.opdr_status == 6);
|
||||
RWFIELD( "tot_kosten"
|
||||
, L("lcl_total_cost") + " " + S("currency_pref")
|
||||
, safe.curreditable(mld_opdr.t_cost)
|
||||
, { pclass: "currency" + (isRequired? " required" : "")
|
||||
, datarole: "fieldcontain"
|
||||
, datatype: "number"
|
||||
, readonly: (opdr_key > 0 && !this_opdr.canUrenMatChange)
|
||||
, html: (mld_opdr.typeopdr_matchtype != 5? "onBlur='calcTotalMobile()'" : null)
|
||||
, readonly: true
|
||||
}
|
||||
);
|
||||
)
|
||||
}
|
||||
|
||||
CONTROLGROUP_START()
|
||||
|
||||
Reference in New Issue
Block a user