197 lines
8.5 KiB
Plaintext
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);
|
|
%>
|