????JFIF??x?x????'
| Server IP : 79.136.114.73 / Your IP : 216.73.216.120 Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64 User : www-data ( 33) PHP Version : 5.5.9-1ubuntu4.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/labs.astacus.se/POCKETLORD/js/js/ |
Upload File : |
// GLOBAL register
var Building;
var Floor;
var Room;
var WorkType;
var Priority;
var InstallationType;
var Installation;
var ErrorCause;
var artikel;
var Customer;
var Workgroup;
var Workstatus;
var Performer;
var WorkorderStoresArticles;
var StoresArticleLocation;
var Worktime;
var variabelIndex = 0;
// Sets the image to offline
function offline() {
document.getElementById("version").innerHTML = "OFFLINE";
}
// Sets the image to online
function online() {
document.getElementById("version").innerHTML = "ONLINE";
}
if ((navigator.userAgent.match("iPhone"))) {
document.getElementsByTagName('html')[0].style.zoom = 0.4;
}
// GLOBAL Workorders
var Workorders; //Only used in AO-List in index.html
var Workorder; // Used on all other pages inside a AO.
function updateSettings(_nbrRegister,_nbrObject,_serverHost){
localStorage.setItem("nbrRegister",_nbrRegister);
localStorage.setItem("nbrObject",_nbrObject);
localStorage.setItem("serverHost",_serverHost);
}
function saveSettings(){
updateSettings(document.getElementById("nbrRegister").value,document.getElementById("nbrObject").value,document.getElementById("serverHost").value);
}
function initAO(call, page) {
online();
if(localStorage.getItem("serverHost") == null){
updateSettings("100","20","http://skane.test.5d.se/api/v1/");
//updateSettings("100","20","http://vfast.landlord.5d.se/api/v1/");
}
if(page == "fu"){
var nbrObject = localStorage.getItem("nbrObject");
var serverHost = localStorage.getItem("serverHost");
// alert(""+serverHost+"Workorder?where=ispreventivemaintenanceGenerated%20eq%201|workorderStatus%20eq%200&take="+nbrObject,"Workorders","getAllRegisters();");
getJSONVariable(""+serverHost+"Workorder?where=ispreventivemaintenanceGenerated%20eq%201|workorderStatus%20eq%200&take="+nbrObject,"Workorders","getAllRegisters();");
//getJSONVariable(""+serverHost+"Workorder?where=ispreventivemaintenanceGenerated%20eq%201%7CworkorderStatus%20eq%200&take="+nbrObject,"Workorders","getAllRegisters();");
}else if(page == "lo"){
var nbrObject = localStorage.getItem("nbrObject");
var serverHost = localStorage.getItem("serverHost");
getJSONVariable(""+serverHost+"Workorder?where=serviceunitguid%20eq%204400668077|workorderStatus%20eq%200&take="+nbrObject,"Workorders","getAllRegisters();");
}else if(page == "ko"){
var nbrObject = localStorage.getItem("nbrObject");
var serverHost = localStorage.getItem("serverHost");
getJSONVariable(""+serverHost+"Workorder?where=serviceunitguid%20eq%204404958141|workorderStatus%20eq%200&take="+nbrObject,"Workorders","getAllRegisters();");
}else{
if (localStorage.getItem('localAOData') == null || localStorage.getItem('localAOData') == "") {
//var r = confirm("Vill du ladda ner dina arbetsordrar och register från Landlord?");
// if (r == true) {
//http://vfast.landlord.5d.se/api/v1/Workorder?where=ispreventivemaintenanceGenerated%20eq%200%7CworkorderStatus%20eq%200|serviceunitguid%20eq%204400000013
var nbrObject = localStorage.getItem("nbrObject");
var serverHost = localStorage.getItem("serverHost");
getJSONVariable(""+serverHost+"Workorder?where=ispreventivemaintenanceGenerated%20eq%200%7CworkorderStatus%20eq%200|serviceunitguid%20eq%204400000013&take="+nbrObject,"Workorders","getAllRegisters();");
// getJSONVariable(""+serverHost+"Workorder?take="+nbrObject,"Workorders","getAllRegisters();");
//}
} else {
// ÄRVER ARBETSORDER
if(getQueryAONummer() == "0"){
Workorder.guid = 0;
Workorder.WorkorderNumber = 0;
var x = 0;
for(t in Workorder.Worktime){
Workorder.Worktime[x].guid = 0;
x++;
}
x = 0;
for(t in Workorder.WorkorderStoresArticles){
Workorder.WorkorderStoresArticles[x].guid = 0;
x++;
}
}
if (call != "") {
call = call.replace(/#/g, "'"); // Replace # with '
eval(call);
}
if (page != "") {
page = page.replace(/#/g, "'"); // Replace # with '
eval(page);
}
var registerTemp = localStorage.getItem("registerTemp");
if (registerTemp != "" ){
if( registerTemp != null){
var JSONdata = JSON.parse(registerTemp);
var fCode = document.getElementById(JSONdata.item.qCode);
if(fCode != null){
var fDescription = document.getElementById(JSONdata.item.qDescription);
fCode.value = JSONdata.item.code;
fDescription.value = JSONdata.item.description;
//if(call != "null"){
var guid = JSONdata.item.guid;
var items = eval(JSONdata.item.register);
var x = 0;
var obj;
for (ao_item in items) {
if(items[x].guid == guid){
obj = items[x];
}
x++;
}
var name = JSONdata.item.qCode.substr(0,JSONdata.item.qCode.lastIndexOf("."));
var setValue = "Workorder." + name;
if(name != ""){
eval("Workorder." + name+" = obj");
}
localStorage.setItem("registerTemp", "");
submit_data(JSONdata.item.page, '');
//}
//localStorage.setItem("registerTemp", "");
}
}
}
}
}
}
function populateFields() {
for (i = 0; i < document.forms[0].elements.length; i++) {
var type = document.forms[0].elements[i].type;
var name = document.forms[0].elements[i].name;
if (type == "text" || type == "textarea" || type == "tel") {
var obj = 'Workorder.' + name;
obj = obj.substr(0,obj.lastIndexOf("."));
if (eval(obj) != undefined && name != "") {
eval('addFieldItem("' + name + '",Workorder.' + name + ');');
}
} else if (type == "select-one") {
var obj = 'Workorder.' + name;
obj = obj.substr(0,obj.lastIndexOf("."));
if (eval(obj) != undefined && name != "") {
var register = name;
register = register.substr(0,register.lastIndexOf(".")-4);
eval('addSelectItems("' + name + '",' + register + ');');
eval('selectItem("' + name + '",Workorder.' + name + ');');
}
}
}
//function addSelectItems(selectId, items) {
var aonummer = getQueryAONummer();
document.getElementById("link_uppdrag").href = "uppdrag.html?ao=" + aonummer;
document.getElementById("link_atgard").href = "atgard.html?ao=" + aonummer;
document.getElementById("link_tid").href = "tid.html?ao=" + aonummer;
document.getElementById("link_forrad").href = "forrad.html?ao=" + aonummer;
document.getElementById("link_ovrigt").href = "ovrigt.html?ao=" + aonummer;
setAOTopic();
}
function setBarcode(barcode, page, target) {
if(page == "stadkontroll"){
location.href = barcode;
}else{
//alert( page + "?mn=" + barcode + "&target=" + target);
location.href = page + "?mn=" + barcode + "&target=" + target;
}
}
/*
function getJSONData(JSONString, call) { // Is called after request to getjson://
if (JSONString.indexOf("arbetsordrar") !== -1) {
localStorage.setItem("localAOData", JSONString);
eval(JSONString);
window.location = "getjson://labs.astacus.se/POCKETLORD/web-api/getJSONObjects.php?type=register#drawAOTable('','','','');";
} else if (JSONString.indexOf("register") !== -1) {
if (localStorage.getItem("localAORegister") != "") { // Append new register!
var regs = localStorage.getItem("localAORegister");
JSONString = regs + ";" + JSONString;
localStorage.setItem("localAORegister", JSONString);
eval(JSONString);
} else {
localStorage.setItem("localAORegister", JSONString);
eval(JSONString);
}
}
if (call != "") {
call = call.replace(/#/g, "'"); // Replace # with '
eval(call);
}
}
*/
function drawAOTable(byggnad, arbetstyp, utforare, prioritet) {
document.getElementById("loading").style.visibility = "hidden";
var table = '<table width="730" border="0" align="center" cellpadding="0" cellspacing="0" class="sortable" id="cp_table">';
table += '<tr>';
table += '<td width="15"></td>';
table += '<td width="90" class="table_texts"><strong>Byggnad</strong></td>';
table += '<td width="110" class="table_texts"><strong>Klart</strong></td>';
table += '<td width="70" class="table_texts"><strong>Arb.typ</strong></td>';
table += '<td width="50" class="table_texts"><strong>Prio</strong></td>';
table += '<td width="70" class="table_texts"><strong>Arb.gr.</strong></td>';
table += '<td width="60" class="table_texts"><strong>Utför.</strong></td>';
table += '<td width="230" class="table_texts"><strong>Beskrivning</strong></td>';
table += '<td width="50" class="table_texts"> </td>';
table += '</tr>';
var x = 0;
for (ao_item in Workorders) {
//if (Workorders[x].WorkorderStatusTitle == "Aktiv") {
var link = 'javascript:document.location.href=\'uppdrag.html?ao=' + Workorders[x].WorkorderNumber + '&index=' + x + '\'';
show = false;
var script = "";
if (byggnad != "") {
if(Workorders[x].BuildingGUID != null){
script += " && Workorders[x].BuildingGUID.ID.toUpperCase().indexOf(byggnad.toUpperCase()) !== -1 ";
}
}
if (arbetstyp != "") {
if(Workorders[x].WorkTypeGUID != null){
script += " && Workorders[x].WorkTypeGUID.ID.toUpperCase().indexOf(arbetstyp.toUpperCase()) !== -1 ";
}
}
if (utforare != "") {
if(Workorders[x].PerformerGUID != null){
script += " && Workorders[x].PerformerGUID.ID.toUpperCase().indexOf(utforare.toUpperCase()) !== -1 ";
}
}
if (prioritet != "") {
if(Workorders[x].PriorityGUID != null){
script += " && Workorders[x].PriorityGUID.ID.toUpperCase().indexOf(prioritet.toUpperCase()) !== -1 ";
}
}
script = script.substring(4, 500);
if (script == "") {
script = "true";
}
if (eval(script)) {
show = true;
}
if (show == true) {
var WorkorderDescriptionPlain = "";
if(Workorders[x].WorkorderDescriptionPlain != undefined){
WorkorderDescriptionPlain = Workorders[x].WorkorderDescriptionPlain.substr(0, 20);
}
var currentTime = new Date();
var month = currentTime.getMonth() + 1;
if(month < 10){
month = "0"+month;
}
var day = currentTime.getDate();
if(day < 10){
day = "0"+day;
}
var year = currentTime.getFullYear();
var datum= year +"-"+ month + "-" + day;
var status = "";
if(Workorders[x].ReadyDateTime.substr(0,10) < datum){
status = '<img src="../../images/red.png" alt="" width="10" height="10">';
}
if(Workorders[x].WorkstatusGUID!=null){
if(Workorders[x].WorkstatusGUID.ID == "K"){
status = '<img src="../../images/green.png" alt="" width="10" height="10">';
}
}
if(Workorders[x].BuildingGUID != null){
var ID = Workorders[x].BuildingGUID.ID;
}
if(Workorders[x].ReadyDateTime != null){
var Ready = Workorders[x].ReadyDateTime.substr(0, 10);
}
if(Workorders[x].WorkTypeGUID != null){
var WorkType = Workorders[x].WorkTypeGUID.ID;
}
if(Workorders[x].PriorityGUID != null){
var Priority = Workorders[x].PriorityGUID.ID;
}
if(Workorders[x].WorkgroupGUID != null){
var Workgroup = Workorders[x].WorkgroupGUID.ID;
}
if(Workorders[x].PerformerGUID != null){
var Performer = Workorders[x].PerformerGUID.ID;
}
if(Workorders[x].BuildingGUID != null){
var ID = Workorders[x].BuildingGUID.ID;
}
if ((navigator.userAgent.match("iPhone"))) {
WorkorderDescriptionPlain = WorkorderDescriptionPlain.substr(0,10);
Ready = Ready.substr(5,10);
}
table += '<tr>';
table += '<td width="15" height="40" class="table_texts">' + status + '</td>';
table += '<td width="90" height="40" class="table_texts">' + ID + '</td>';
table += '<td width="110" class="table_texts">' + Ready + '</td>';
table += '<td width="70" class="table_texts">' + WorkType + '</td>';
table += '<td width="50" class="table_texts">' + Priority + '</td>';
table += '<td width="70" class="table_texts">' + Workgroup + '</td>';
table += '<td width="60" class="table_texts">' + Performer + '</td>';
table += '<td width="230" class="table_texts"><a href="javascript:showMessage(\''+Workorders[x].WorkorderDescriptionPlain+'\');">' + WorkorderDescriptionPlain + '...</a></td>';
table += '<td width="50" align="right"><input type="button" value="Ta AO" onClick="' + link + '" class="buttons_small"></td>';
table += '</tr>';
}
// }
x++;
}
table += '</table>';
document.getElementById("ao_table").innerHTML = table;
sorttable.makeSortable(document.getElementById("cp_table"));
enableFormsInIscroll();
}
function showMessage(message){
alert(message);
}
function addForradArticle(){
var forradTemp;
var guid = document.getElementById("artikel").value;
var Quantity = document.getElementById("antal").value;
var x = 0;
for(Article in StoresArticleLocation){
if(StoresArticleLocation[x].guid == guid){
forradTemp = {"guid":StoresArticleLocation[x].guid,"ID":StoresArticleLocation[x].ID,"Title":StoresArticleLocation[x].Title,"Quantity":Quantity};
}
x++;
}
var str = {"guid":0,"Title":forradTemp.Title,"StoresArticleLocationGUID":{"guid":forradTemp.guid,"ID":forradTemp.ID,"Title":forradTemp.Title,"StoresGUID":null,"Balance":0,"StoresUnitGUID":null,"StoragePlace":null,"ArticlePrice":0},"Quantity":forradTemp.Quantity}
if(Workorder[0].WorkorderStoresArticles != undefined){
Workorder[0].WorkorderStoresArticles.push(str);
}else{
s = [];
s.push(str);
Workorder[0].WorkorderStoresArticles = s;
}
localStorage.setItem("currentAO", JSON.stringify(Workorder));
drawTableForrad();
}
function drawTableForrad() {
document.getElementById("loading").style.visibility = "hidden";
var table = '<table width="720" border="0" align="center" cellpadding="0" cellspacing="0" class="sortable" id="cp_table">';
table += '<tr>';
table += '<td width="300">Artikel:</td>';
table += '<td width="50"></td>';
table += '<td width="50">Antal:</td>';
table += '<td width="200"> </td>';
table += '<td width="20"></td>';
table += '<td width="100" align="right"> </td>';
table += '</tr>';
var y = 0;
var total_kost = 0;
for (f_item in Workorder[0].WorkorderStoresArticles) {
if(Workorder[0].WorkorderStoresArticles[y] != undefined ){
table += '<tr>';
table += '<td width="300">' + Workorder[0].WorkorderStoresArticles[y].Title + '</td>';
table += '<td width="50"></td>';
table += '<td width="50" id="forrad_antal'+y+'">' + Workorder[0].WorkorderStoresArticles[y].Quantity + '</td>';
table += '<td width="200"></td>';
// table += '<td width="200"><input type="button" name="button4" id="button4" value="+" class="texts" onClick="increase_forrad('+y+');"><input type="button" name="button9" id="button9" value="-" class="texts" onClick="decrease_forrad('+y+');"></td>';
// var kost = arbetsorder.forrad.item[y].antal * arbetsorder.forrad.item[y].pris;
// total_kost += kost;
table += '<td width="20"></td>';
table += '<td width="100" align="right"><input type="submit" name="button3" id="button3" value="Makulera" class="texts" onClick="javascript:deleteForradArticle('+Workorder[0].WorkorderStoresArticles[y].guid+');"></td>';
table += '</tr>';
}
y++;
}
//arbetsorder.tid.item[0].for_kostnad = total_kost; // Add total cost to Tid För.kostnad
localStorage.setItem("currentAO", JSON.stringify(Workorder));
table += '</table>';
document.getElementById("f_table").innerHTML = table;
sorttable.makeSortable(document.getElementById("cp_table"));
enableFormsInIscroll();
}
function deleteForradArticle(guid){
//
var x = 0;
for(Article in Workorder[0].WorkorderStoresArticles){
if(Workorder[0].WorkorderStoresArticles[x] != undefined ){
if(Workorder[0].WorkorderStoresArticles[x].guid == guid){
Workorder[0].WorkorderStoresArticles[x].Quantity = 0;
}
}
x++;
}
localStorage.setItem("currentAO", JSON.stringify(Workorder));
drawTableForrad();
//delete myObj.test[keyToDelete];
}
function drawTableTid() {
var table = '<table width="720" border="0" align="center" cellpadding="0" cellspacing="0">';
var y = 0;
for (t_item in Workorder.Worktime) {
var currentTime = new Date();
var month = currentTime.getMonth() + 1;
if(month < 10){
month = "0"+month;
}
var day = currentTime.getDate();
if(day < 10){
day = "0"+day;
}
var year = currentTime.getFullYear();
var datum= year +"-"+ month + "-" + day;
table += '<tr>';
table += ' <td width="90" valign="middle"><input name="Worktime['+y+'].TimeNormal" type="tel" class="textfields" id="Worktime['+y+'].TimeNormal" value="'+Workorder.Worktime[y].TimeNormal+'" size="3" onKeyUp="submit_data(\'uppdrag\',\'\');"></td>';
table += ' <td width="290" valign="middle"><input name="Worktime['+y+'].WorkgroupGUID.Title" type="text" readonly="readonly" class="textfields" id="Worktime['+y+'].WorkgroupGUID.Title" size="13" value="'+Workorder.Worktime[y].WorkgroupGUID.Title+'"> <img src="../../images/button-magnify.png" alt="" width="40" height="47" align="absmiddle" onClick="openRegisterView(\'Workgroup\',\'Worktime['+y+'].WorkgroupGUID.ID\',\'Worktime['+y+'].WorkgroupGUID.Title\',\'tid\');"></td>';
table += ' <td width="150" valign="middle"><input name="Worktime['+y+'].PerformerGUID.ID" type="text" readonly="readonly" class="textfields" id="Worktime['+y+'].PerformerGUID.ID" value="'+Workorder.Worktime[y].PerformerGUID.ID+'" size="3" > <img src="../../images/button-magnify.png" alt="" width="40" height="47" align="absmiddle" onClick="openRegisterView(\'Performer\',\'Worktime['+y+'].PerformerGUID.ID\',\'Worktime['+y+'].PerformerGUID.ID\',\'tid\');" ></td>';
table += ' <td width="190" valign="middle"><input name="datum" type="tel" readonly="readonly" class="textfields" id="datum" value="'+datum+'" size="10" ></td>';
table += '</tr>';
y++;
}
table += '</table>';
document.getElementById("tid_table").innerHTML = table;
enableFormsInIscroll();
}
function addTidRow(){
//var arbetsgrupp = document.getElementById("arbetsgrupp0").value;
//var utforare = document.getElementById("utforare").value;
var currentTime = new Date();
var month = currentTime.getMonth() + 1;
if(month < 10){
month = "0"+month;
}
var day = currentTime.getDate();
if(day < 10){
day = "0"+day;
}
var year = currentTime.getFullYear();
var datum= year +"-"+ month + "-" + day;
var str = {"guid":0,"WorkgroupGUID":{"guid":Workorder.WorkgroupGUID.guid,"ID":Workorder.WorkgroupGUID.ID,"Title":Workorder.WorkgroupGUID.Title},"PerformerGUID":{"guid":Workorder.PerformerGUID.guid,"ID":Workorder.PerformerGUID.ID,"Title":Workorder.PerformerGUID.Title,"WorkgroupGUID": null},"TimeNormal":0,"ExecutionDate":datum};
if(Workorder.Worktime != undefined){
Workorder.Worktime.push(str);
}else{
s = [];
s.push(str);
Workorder.Worktime = s;
}
localStorage.setItem("currentAO", JSON.stringify(Workorder));
drawTableTid();
}
function drawRegisterTable(kod, beskrivning, flag) {
document.getElementById("loading").style.visibility = "hidden";
var qDescription = getQueryDescritpion();
var qCode = getQueryCode();
var qPage = getQueryPage();
var qRegister = getQueryRegister();
var qAONummer = getQueryAONummer();
var x = 0;
if (eval(qRegister) == null) { // Downlod the register if it does not exist local!
var r = confirm("Detta register måste laddas ner från er Server, vill du göra det nu?");
if (r == true) {
var nbrRegister = localStorage.getItem("nbrRegister");
var nbrObject = localStorage.getItem("nbrObject");
var serverHost = localStorage.getItem("serverHost");
getJSONVariable(""+serverHost+""+qRegister+"?take="+nbrRegister+"",qRegister,"drawRegisterTable('','','');");
}
}
if(qRegister == "Performer" && flag == "" && qPage == "tid"){
var index1 = qCode.indexOf("[");
var index2 = qCode.indexOf("]");
var index = parseInt(qCode.substr(index1+1,index2-index1));
var nbrRegister = localStorage.getItem("nbrRegister");
var nbrObject = localStorage.getItem("nbrObject");
var serverHost = localStorage.getItem("serverHost");
var WorkgroupGUID = Workorder.Worktime[index].WorkgroupGUID.guid;
// alert(""+serverHost+"Performer?where=WorkgroupGUID%20eq%20"+WorkgroupGUID+"&take="+nbrRegister,qRegister,"drawRegisterTable('','','stop');");
getJSONVariable(""+serverHost+"Performer?where=WorkgroupGUID%20eq%20"+WorkgroupGUID+"&take="+nbrRegister,qRegister,"drawRegisterTable('','','stop');");
}
if(qRegister == "Performer" && flag == "" && qPage == "ovrigt"){
var nbrRegister = localStorage.getItem("nbrRegister");
var nbrObject = localStorage.getItem("nbrObject");
var serverHost = localStorage.getItem("serverHost");
var WorkgroupGUID = Workorder.WorkgroupGUID.guid;
//alert(""+serverHost+"Performer?where=WorkgroupGUID%20eq%20"+WorkgroupGUID+"&take="+nbrRegister,qRegister,"drawRegisterTable('','','stop');");
getJSONVariable(""+serverHost+"Performer?where=WorkgroupGUID%20eq%20"+WorkgroupGUID+"&take="+nbrRegister,qRegister,"drawRegisterTable('','','stop');");
}
if(qRegister == "Floor" && flag == ""){
var nbrRegister = localStorage.getItem("nbrRegister");
var nbrObject = localStorage.getItem("nbrObject");
var serverHost = localStorage.getItem("serverHost");
var BuildingGUID = Workorder.BuildingGUID.guid;
//alert(""+serverHost+"Floor?where=BuildingGUID%20eq%20"+BuildingGUID+"&take="+nbrRegister,qRegister,"drawRegisterTable('','','stop');");
getJSONVariable(""+serverHost+"Floor?where=BuildingGUID%20eq%20"+BuildingGUID+"&take="+nbrRegister,qRegister,"drawRegisterTable('','','stop');");
}
if(qRegister == "Room" && flag == ""){
var nbrRegister = localStorage.getItem("nbrRegister");
var nbrObject = localStorage.getItem("nbrObject");
var serverHost = localStorage.getItem("serverHost");
var FloorGUID = Workorder.FloorGUID.guid;
getJSONVariable(""+serverHost+"Room?where=FloorGUID%20eq%20"+FloorGUID+"&take="+nbrRegister,qRegister,"drawRegisterTable('','','stop');");
}
var table = '<table width="730" border="0" align="center" cellpadding="0" cellspacing="0" class="sortable" id="cp_table">';
table += '<tr>';
table += '<td width="200"><strong>Kod</strong></td>';
table += '<td width="480"><strong>Benämning</strong></td>';
table += '<td width="50"> </td>';
table += '</tr>';
var items = eval(qRegister);
for (ao_item in items) {
var ID = items[x].ID;
var Title = items[x].Title;
var guid = items[x].guid;
if(ID == undefined){
ID = items[x].guid;
}
if(Title == undefined){
Title = ""
}
if(qRegister == "StoresArticleLocation"){
//alert(StoresArticleLocation);
ID = items[x].guid;
}
var link = "updateFieldsFromRegister('" + qCode + "','" + qDescription + "','"+qRegister+"','" + ID + "','"+guid+"','" + Title + "','" + qAONummer + "','" + qPage + "');";
show = false;
var script = "";
if (kod != "") {
script += " && " + qRegister +"[x].ID.toUpperCase().indexOf(kod.toUpperCase()) !== -1 ";
}
if (beskrivning != "") {
script += " && " + qRegister + "[x].Title.toUpperCase().indexOf(beskrivning.toUpperCase()) !== -1 ";
}
/* if(qRegister == "Floor"){
var BuildingGUID = Workorder.BuildingGUID.ID;
script += " && items[x].BuildingGUID.ID == '"+BuildingGUID+"' ";
}
if(qRegister == "Room"){
var FloorGUID = Workorder.FloorGUID.ID;
script += " && items[x].FloorGUID.ID == '"+FloorGUID+"' ";
}*/
script = script.substring(4, 500);
if (script == "") {
script = "true";
}
if (eval(script)) {
show = true;
}
if (show == true) {
table += '<tr>';
table += '<td width="200" height="40">' + ID + '</td>';
table += '<td width="480">' + Title + '</td>';
table += '<td width="50" align="right"><input type="button" value="Välj" onClick="' + link + '" class="buttons_small"></td>';
table += '</tr>';
}
x++;
}
table += '</table>';
document.getElementById("ao_table").innerHTML = table;
sorttable.makeSortable(document.getElementById("cp_table"));
enableFormsInIscroll();
}
function enableFormsInIscroll() {
[].slice.call(document.querySelectorAll('input, select, button, textarea')).forEach(function (el) {
el.addEventListener(('ontouchstart' in window) ? 'touchstart' : 'mousedown', function (e) {
e.stopPropagation();
})
})
}
function filterAO() {
drawAOTable(document.getElementById("urval_byggnad").value.toString(), document.getElementById("urval_arbetstyp").value.toString(), document.getElementById("urval_utforare").value.toString(), document.getElementById("urval_prio").value.toString());
}
function filterRegister() {
drawRegisterTable(document.getElementById("urval_kod").value.toString(), document.getElementById("urval_beskrivning").value.toString(),'stop');
}
function reloadAORgisterAndArbetsorder() { //DONE
var r = confirm("Vill du verkligen ladda om alla arbetsorder?");
if (r == true) {
var nbrRegister = localStorage.getItem("nbrRegister");
var nbrObject = localStorage.getItem("nbrObject");
var serverHost = localStorage.getItem("serverHost");
getJSONVariable(""+serverHost+"Workorder?where=ispreventivemaintenanceGenerated%20eq%200%7CworkorderStatus%20eq%200|serviceunitguid%20eq%204400000013&take="+nbrObject,"Workorders","getAllRegisters();");
}
}
function reloadAORgisterAndFU() { //DONE
var r = confirm("Vill du verkligen ladda om alla arbetsorder?");
if (r == true) {
var nbrRegister = localStorage.getItem("nbrRegister");
var nbrObject = localStorage.getItem("nbrObject");
var serverHost = localStorage.getItem("serverHost");
getJSONVariable(""+serverHost+"Workorder?where=ispreventivemaintenanceGenerated%20eq%201|workorderStatus%20eq%200&take="+nbrObject,"Workorders","getAllRegisters();");
}
}
function reloadAORgisterAndLO() { // DONE
var r = confirm("Vill du verkligen ladda om alla arbetsorder?");
if (r == true) {
var nbrRegister = localStorage.getItem("nbrRegister");
var nbrObject = localStorage.getItem("nbrObject");
var serverHost = localStorage.getItem("serverHost");
getJSONVariable(""+serverHost+"Workorder?where=serviceunitguid%20eq%204400668077|workorderStatus%20eq%200&take="+nbrObject,"Workorders","getAllRegisters();");
}
}
function reloadAORgisterAndKO() { // DONE
var r = confirm("Vill du verkligen ladda om alla arbetsorder?");
if (r == true) {
var nbrRegister = localStorage.getItem("nbrRegister");
var nbrObject = localStorage.getItem("nbrObject");
var serverHost = localStorage.getItem("serverHost");
variabelIndex = 0;
getJSONVariable(""+serverHost+"Workorder?where=serviceunitguid%20eq%204404958141|workorderStatus%20eq%200&take="+nbrObject,"Workorders","getAllRegisters();");
}
}
function getAllRegisters(){
var nbrRegister = localStorage.getItem("nbrRegister");
var nbrObject = localStorage.getItem("nbrObject");
var serverHost = localStorage.getItem("serverHost");
var registerArray = ["getJSONVariable('"+serverHost+"WorkorderStoresArticles/?take="+nbrRegister+"','WorkorderStoresArticles','getAllRegisters();');","getJSONVariable('"+serverHost+"StoresArticleLocation/?take="+nbrRegister+"','StoresArticleLocation','drawTableForrad();');"];
eval(registerArray[variabelIndex]);
variabelIndex++;
}
function getJSONVariable(url,variable,functionToCall) {
document.getElementById("loading").style.visibility = "visible";
document.getElementById("loading").innerHTML="<br><strong>LADDAR...</strong><br><div class='texts'>"+variable+"</div>";
if (functionToCall != "") {
functionToCall = functionToCall.replace(/#/g, "'"); // Replace # with '
}
look = true;
var call = url.replace("http://","getjsonvariable://")+"!"+variable+"&"+functionToCall;
window.location = call;
}
function setJSONVariable(variable,functionToCall){
document.getElementById("loading").style.visibility = "hidden";
if(variable == "Workorder = [];"){
alert("Arbetsordern finns inte!");
}else{
variable = variable.replace(/\r\n/g, "");
variable = variable.replace(/\n/g, "");
variable = variable.replace(/\r/g, "");
//variable = variable.replace(/\\\"/g, "");
functionToCall = functionToCall.replace(/#/g, "'");
if(variable != "" && functionToCall != ""){
if (variable.indexOf("Workorders") !== -1) {
localStorage.setItem("localAOData", variable);
}
eval(variable);
//
eval(functionToCall);
if (localStorage.getItem("localAORegister") != "") { // Append new register!
var regs = localStorage.getItem("localAORegister");
variable = regs + ";" + variable;
localStorage.setItem("localAORegister", variable);
} else {
localStorage.setItem("localAORegister", variable);
}
}else if(variable != "" && functionToCall == ""){
eval(variable);
}else if(variable == "" && functionToCall != ""){
eval(functionToCall);
}
}
}
function openRegisterView(register, code ,description, page) {
var ao = getQueryAONummer();
if (code == "artikel_forrad") {
ao = ""; // We dont need ao-number for Förråd!
}
window.location = "register.html?ao=" + ao + "&code=" + code + "®ister=" + register + "&description=" + description + "&page=" + page;
}
// Add Items to a select menu
function addSelectItems(selectId, items) {
var select = document.getElementById(selectId);
select.options.length = 0;
for (index in items) {
select.options[select.options.length] = new Option(items[index].ID, items[index].ID);
}
}
// Selects Items to a select menu
function selectItem(selectId, items) {
var selObj = document.getElementById(selectId);
for (var i = 0; i < selObj.options.length; i++) {
if (selObj.options[i].text == items) {
selObj.options[i].selected = true;
}
}
}
function updateFieldsFromRegister(qCode, qDescription, qRegister, code, guid, description, aonumber, page) {
if (qCode == "artikel" || qCode == "artikel_forrad") { // In artikel (Förråd) we want to add "code" instead of description
var registerTemp = {
"item": {
"qCode": qCode,
"qDescription": qDescription,
"register": qRegister,
"code": code,
"guid": guid,
"description": code,
"page": page
}
}
} else {
var registerTemp = {
"item": {
"qCode": qCode,
"qDescription": qDescription,
"register": qRegister,
"code": code,
"guid": guid,
"description": description,
"page": page
}
}
}
localStorage.setItem("registerTemp", JSON.stringify(registerTemp));
if (qCode == "artikel_forrad") {
window.location = "index.html"; // We dont need any ID for Förråd
} else {
window.location = page + ".html?ao=" + aonumber;
}
}
// Add Items to a textfield
function addFieldItem(selectId, i) {
var field = document.getElementById(selectId);
if(selectId.indexOf("DateTime") !== -1){
// Syntax is like 2012-01-01T00:00:00.123 -> 2012-01-01 00:00
i = i.replace("T"," ");
i = i.substr(0,16);
}
if(i != undefined){
field.value = i;
}
}
function sendEmail() {
location.href = "mailto:" + arbetsorder.ovrigt.epost;
}
function callPhone() {
location.href = "call:" + arbetsorder.ovrigt.epost;
}
function smsPhone() {
location.href = "sms:" + arbetsorder.ovrigt.epost;
}
//Update the description based on new option text
function updateSelect(selObj, items, field, page) {
var newText = selObj.options[selObj.selectedIndex].text;
items = eval(items);
for (index in items) {
if (items[index].ID == newText) {
addFieldItem(field, items[index].Title);
}
}
submit_data(page, '');
}
// Creates an XML of all fields data and saves it in localStorage called localXML
function submit_data(page, goto) {
for (i = 0; i < document.forms[0].elements.length; i++) {
var name = document.forms[0].elements[i].name;
var type = document.forms[0].elements[i].type;
var value = document.forms[0].elements[i].value;
//alert("name:"+name+" type:"+type);
if (type == "text" || type == "tel" || type == "select-one" || type == "textarea") {
//var setValue = "Workorder." + name + " = '" + value + "'";
var temp_name = name.substr(0,name.lastIndexOf("."));
if(name.lastIndexOf(".") === -1){
var setValue = "Workorder[0]." + name + " = '" + value + "'";
eval(setValue);
}else{
if(eval("Workorder[0]."+temp_name) != null){
var setValue = "Workorder[0]." + name + " = '" + value + "'";
//alert(setValue);
eval(setValue);
}
}
}
}
if(page == "uppdrag"){
setAOIndex();
}
localStorage.setItem("currentAO", JSON.stringify(Workorder[0]));
if (goto != "") {
if (goto != "index.html") {
location.href = goto + "?ao=" + getQueryAONummer();
} else {
// var localAOData = localStorage.getItem("localAOData");
// var index = getIndexForAONumber(getQueryAONummer());
// var JSONdata = eval(localAOData);
//localStorage.setItem("localAOData", "Workorders = " + JSON.stringify(JSONdata));
var nbrRegister = localStorage.getItem("nbrRegister");
var nbrObject = localStorage.getItem("nbrObject");
var serverHost = localStorage.getItem("serverHost");
var url = ""+serverHost+"Workorder/action/save/?"
var call = url.replace("http://","sendjson://") + localStorage.getItem("currentAO");
//Update AO List
//Workorders[parseInt(localStorage.getItem("AOIndex"))] = JSON.parse(localStorage.getItem("currentAO"));
//localStorage.setItem("localAOData", "Workorders = " + JSON.stringify(Workorders));
window.location = call;
}
}
}
function setAOIndex() {
var path = document.location.toString();
var index = path.substring(path.indexOf("&index=") + 7);
if (index.length < 10) { // Make sure we only store index when its a number. If we navigate to uppdrag.html from any other page we shall not reset AOIndex
localStorage.setItem("AOIndex", index);
var savedlocalAOData = localStorage.getItem('localAOData');
eval(savedlocalAOData);
localStorage.setItem("currentAO", JSON.stringify(Workorders[index]));
var savedAORegister = localStorage.getItem("localAORegister");
eval(savedAORegister);
var savedcurrentAOData = localStorage.getItem('currentAO');
savedcurrentAOData = "Workorder = " + savedcurrentAOData
eval(savedcurrentAOData);
}
}
function getQueryCode() {
var path = document.location.toString();
var qCode = path.substring(path.indexOf("&code=") + 6);
var pos = qCode.indexOf("&");
return qCode.substring(0, pos);
}
function getQueryDescritpion() {
var path = document.location.toString();
var qDecription = path.substring(path.indexOf("&description=") + 13);
var pos = qDecription.indexOf("&");
return qDecription.substring(0, pos);
}
function getQueryRegister() {
var path = document.location.toString();
var qRegister = path.substring(path.indexOf("®ister=") + 10);
var pos = qRegister.indexOf("&");
return qRegister.substring(0, pos);
}
function getQueryPage() {
var path = document.location.toString();
return path.substring(path.indexOf("&page=") + 6);
}
function setAOTopic() {
var topic = document.getElementById("topic");
var aonummer = getQueryAONummer();
topic.innerHTML = "Arbetsorder: "+ aonummer + " - " + Workorder.WorkorderStatusTitle;
}
function increase(fieldId) {
var field = document.getElementById(fieldId);
field.value = parseInt(field.value) + parseInt(1);
}
function decrease(fieldId) {
var field = document.getElementById(fieldId);
if (field.value > 0) {
field.value = parseInt(field.value) - parseInt(1);
}
}
function increase_forrad(index) {
Workorder.WorkorderStoresArticles[index].Quantity = parseInt(Workorder.WorkorderStoresArticles[index].Quantity) + 1;
localStorage.setItem("currentAO", JSON.stringify(Workorder));
drawTableForrad();
}
function decrease_forrad(index) {
var v = parseInt(Workorder.WorkorderStoresArticles[index].Quantity)
if (v > 0) {
Workorder.WorkorderStoresArticles[index].Quantity = parseInt(Workorder.WorkorderStoresArticles[index].Quantity) - 1;
}
localStorage.setItem("currentAO", JSON.stringify(Workorder));
drawTableForrad();
}
function reloadPage(page) {
return page + "?" + Math.random();
}
/*
FUNCTIONS USED BY Arbetsorder
*/
// Returns the array index in arbetsorder for a given aonummer.
function getIndexForAONumber(aonummer) {
return localStorage.getItem("AOIndex");
}
function newAO() {
var r = confirm("Vill du ärva egenskaper från den senaste arbetsordern?");
if (r == true) {
window.location = "uppdrag.html?ao=0";
} else {
window.location = "uppdrag.html?ao=0";
}
}
function getQueryAONummer() {
var path = document.location.toString();
var qAONummer = path.substring(path.indexOf("?") + 4);
var pos = qAONummer.indexOf("&");
if (pos === -1) {
return qAONummer;
} else {
return qAONummer.substring(0, pos);
}
}
function takePhoto(page,photo){
var url = "takephoto://"+page+".html#"+photo;
window.location = url;
}
function showPhoto(page,photo,photoname){
//window.location = page;¨
alert(document.getElementById(photo).src);
document.getElementById(photo).src = "http://www.astacus.se/images/verktyg.jpg";
}
function showImage(){
document.getElementById("photo").src ="http://labs.astacus.se/POCKETLORD/Moduler/PU/image.php";
}
function goToList(){
window.location = "index.html";
}
function sendJSONResult(obj){
//alert((obj));
var Result = JSON.parse((obj));
if(Result.SaveMessage != null){
alert(Result.SaveMessage);
}else{
//alert(Result.UpdatedModel.replace(/#/g, '"'));
//var UpdatedWorkOrder = JSON.parse(Result.UpdatedModel.replace(/#/g, '"'));
var UpdatedWorkOrder = Result.UpdatedModel;
if(UpdatedWorkOrder.WorkorderNumber != null){
Workorders[parseInt(localStorage.getItem("AOIndex"))] = UpdatedWorkOrder;
localStorage.setItem("localAOData", "Workorders = " + JSON.stringify(Workorders));
alert("Tack, data har synkroniserats!");
window.location = "index.html";
}else if(UpdatedWorkOrder.StoresGUID != null){
alert("Tack, data har synkroniserats!");
window.location = "inventering.html";
}else{
alert("Tack, data har synkroniserats!");
window.location = "index.html";
}
}
}