Files
Facilitor/CUST/ASLE/Appl/werkdetail.asp
Arthur Egberink c74a9a0f9f ASLE#36236 -- Opties kamer NOK melden
svn path=/Website/branches/v2016.1/; revision=29348
2016-05-10 12:00:34 +00:00

197 lines
8.5 KiB
Plaintext

<%@ LANGUAGE="JavaScript" %>
<% /*
$Revision$
$Id$
File: werkdetail.asp
Description: Muteerscherm voor schoonmaakopdrachten
Parameters: id: key van de opdracht (-1 voor nieuwe)
Context: Vanuit de klantspecifieke rapportage
Note: Terminologie:
*/ %>
<!-- #include file='../../../appl/scf/scaffolding_m.inc' -->
<!-- #include file='../../../appl/api2/model_orders.inc' -->
<!-- #include file='../../../appl/api2/model_issues.inc' -->
<!-- #include file="../../../appl/mld/mld.inc" -->
<!-- #include file="../../../appl/mld/mld_flexkenmerk.inc" -->
<%
var orders = new model_orders(getQParamInt("id", -1));
// __DoLog(orders.data);
switch (mode)
{
case "edit":
function fnFlexClean() // Found Clean
{
generateFlexKenmerkBlock ({ fnpre: function () {},
fnpost: function () {},
opdr_key: orders.data.id,
opdr_type: orders.data.ordertype.id,
opdr_type_org: orders.data.ordertype.id,
opdr_status: orders.data.ordertype.id,
mld_key: orders.data.issue.id,
kenmerk_keys: [21], // Alleen 'Found Clean'
showClose: false,
mobile: true,
reado: false
});
}
function fnFlexReClean() // Herschoonmaak opmerking
{
generateFlexKenmerkBlock ({ fnpre: function () {},
fnpost: function () {},
opdr_key: orders.data.id,
opdr_type: orders.data.ordertype.id,
opdr_type_org: orders.data.ordertype.id,
opdr_status: orders.data.ordertype.id,
mld_key: orders.data.issue.id,
kenmerk_keys: [101,181], // Opmerking over herschoonmaak
showClose: false,
mobile: true,
reado: true
});
}
function fnFlexNoService() // NoService in geval van StayOver
{
generateFlexKenmerkBlock ({ fnpre: function () {},
fnpost: function () {},
opdr_key: orders.data.id,
opdr_type: orders.data.ordertype.id,
opdr_type_org: orders.data.ordertype.id,
opdr_status: orders.data.ordertype.id,
mld_key: orders.data.issue.id,
kenmerk_keys: [141], // NoService
showClose: false,
mobile: true,
reado: false
});
}
orders.fields["description"].readonly = true; // TODO: Moet eigenlijk vanzelf via rechten?
orders.fields["plandate"].readonly = true;
orders.fields["plandate"].label = 'Beschikbaar';
orders.fields["enddate"].readonly = true;
var melding_key = orders.data.issue.id;
var calls = new model_issues(melding_key, { filter: { scope: "bo"}} );
var cleaning_type = calls.data.issuetype.id;
// var cleaning_type = orders.data.description;
var stopped = 0;
if (get_custom_field(orders.data, 61) != null) {
stopped = 1;
}
var ostat = orders.data.status.id;
var loc = orders.data.location.id;
var bld = orders.data.building.id;
var flr = orders.data.floor.id;
var room = orders.data.room.id;
var ordertype_key = orders.data.ordertype.id;
if (ordertype_key == 101)
{
orders.data.description = 'Herschoonmaak';
}
orders.edit = { fields: [ "plandate", "description"],
buttons: []
};
if (ostat == 5)
{
orders.edit.buttons.push({ label: "Start", params: {click: "asle_Start()", dataicon: "clock"}});
orders.edit.fields.push(fnFlexReClean);
if (cleaning_type == 2 || cleaning_type == 3) // (cleaning_type == 'Stay LC' || cleaning_type == 'Stay NLC')
{
if (orders.data.plandate)
orders.edit.buttons.push({ label: "DND", params: {click: "asle_DND()", dataicon: "lock"}});
}
}
else if (ostat == 8 && stopped == 1)
{
orders.edit.buttons.push({ label: "Start", params: {click: "asle_ReStart()", dataicon: "clock"}});
orders.edit.fields.push(fnFlexReClean);
}
else if (ostat == 8)
{
orders.edit.buttons.push({ label: "Stop", params: {click: "asle_Stop()", dataicon: "clock"}});
orders.edit.buttons.push({ label: "Klaar", params: {click: "asle_Ready()", dataicon: "check"}});
orders.edit.buttons.push({ label: "Call", params: {click: "asle_Call("+loc+","+bld+","+flr+","+room+")", dataicon: "edit"}});
if (cleaning_type == 2 || cleaning_type == 3) // (cleaning_type == 'Stay LC' || cleaning_type == 'Stay NLC')
{
orders.edit.fields.push(fnFlexNoService);
}
else
{
orders.edit.fields.push(fnFlexClean);
}
orders.edit.fields.push(fnFlexReClean);
}
orders.edit.fields.push("remark");
orders.edit.buttons.push({ label: "Lijst", params: {click: "asle_Back()", dataicon: "home"}});
orders.hook_pre_edit = function (obj)
{
orders.record_title = L("lcl_room") + ": " + obj.room.name;
}
var scf_params = { "edit": { requires: { js: ["./asle.js"] }}};
break;
case "save":
if (getQParamInt("DND", 0) == 1)
{
orders.hook_pre_put = function (params, orderdata, key)
{
// Een uur verschuiven
orderdata.plandate = orders.data.plandate;
orderdata.plandate.setHours(orders.data.plandate.getHours() + 1);
}
}
if (getQParamInt("Start", 0) == 1)
{
orders.hook_pre_put = function (params, orderdata, key)
{
// Accepteren
orderdata.status = 8;
}
}
if (getQParamInt("ReStart", 0) == 1)
{
orders.hook_pre_put = function (params, orderdata, key)
{
// Set kenmerk 'Stopped' weer op leeg.
orderdata.custom_fields.push({ id: 61,
type: "C",
value: ""
}) ;
}
}
if (getQParamInt("Ready", 0) == 1)
{
orders.hook_pre_put = function (params, orderdata, key)
{
// Afmelden
orderdata.status = 6;
}
}
if (getQParamInt("Stop", 0) == 1)
{
orders.hook_pre_put = function (params, orderdata, key)
{
//set_custom_field(jsondata.order, 61, "Stopgezet");
orderdata.custom_fields.push({ id: 61, type: "C", value: "Stopgezet"});
}
}
break;
}
scaffolding(orders, scf_params);
%>