1 |
<html> |
2 |
<head> |
3 |
<title>DAO Mobile Scanner</title> |
4 |
<link media="all" type="text/css" rel="stylesheet" href="main.css" /> |
5 |
|
6 |
<script type="text/javascript" src="inc/jquery-1.11.0.min.js"></script> |
7 |
<script type="text/javascript" src="inc/jquery.bpopup.min.js"></script> |
8 |
|
9 |
<meta name="viewport" content="width=device-width, user-scalable=no"> |
10 |
|
11 |
<script type="text/javascript"> |
12 |
|
13 |
/* jQuery onshow/onhide event system - maa IKKE fjernes */ |
14 |
(function ($) { |
15 |
$.each(['show', 'hide'], function (i, ev) { |
16 |
var el = $.fn[ev]; |
17 |
$.fn[ev] = function () { |
18 |
this.trigger(ev); |
19 |
return el.apply(this, arguments); |
20 |
}; |
21 |
}); |
22 |
})(jQuery); |
23 |
|
24 |
|
25 |
|
26 |
// ///////////////////////////////////////////////////// |
27 |
// Main onLoad handler |
28 |
|
29 |
var soundfileBuzz = "Buzz-SoundBible.com-1790490578.mp3"; |
30 |
|
31 |
var validerRuteURI = "http://omdeling.info/webServices/BogpakkeKontrol/ScannerValiderRute.php" |
32 |
var manglendeScanningerURI = "http://omdeling.info/webServices/BogpakkeKontrol/BogpakkemanglendeScanningerRute.php"; |
33 |
var bogpakkeKontrolURI = "http://omdeling.info/webServices/BogpakkeKontrol/BogpakkeKontrol.php"; |
34 |
|
35 |
var rute = ""; |
36 |
var gemt_stregkode = null; |
37 |
|
38 |
var manglendeAntal = 0; |
39 |
var scannetAntal = 0; |
40 |
|
41 |
function playSound(soundfile) { |
42 |
|
43 |
var audio = $("#buzzsound").get(0); |
44 |
audio.volume = 1.0; |
45 |
audio.play(); |
46 |
|
47 |
/*var audio = new Audio( soundfileBuzz ); |
48 |
audio.play();*/ |
49 |
|
50 |
} |
51 |
|
52 |
$( function() { |
53 |
$("#menuScreen").hide(); |
54 |
$("#scannerScreen").hide(); |
55 |
|
56 |
|
57 |
// ///////////////////////////////////////////////////// |
58 |
// Login sektion |
59 |
$("#loginBtn").click( function() { |
60 |
rute = $("#rute").val(); |
61 |
rute = $.trim(rute); |
62 |
|
63 |
var params = "rute=" + rute; |
64 |
|
65 |
$.getJSON( validerRuteURI, params, function( data ) { |
66 |
if (data.status == 1) { |
67 |
$("#loginScreen").hide(); |
68 |
$("#menuScreen").show(); |
69 |
$("#fejlBesked").html(""); |
70 |
} else { |
71 |
$("#fejlBesked").html( data.besked ); |
72 |
} |
73 |
}); |
74 |
}); //end loginBtn.click() |
75 |
|
76 |
|
77 |
// ///////////////////////////////////////////////////// |
78 |
// Menu Sektion |
79 |
|
80 |
$(".menuItem").click( function() { |
81 |
var target = $(this).attr("menu-target"); |
82 |
|
83 |
$("#menuScreen").hide(); |
84 |
$( target ).show(); |
85 |
|
86 |
}); |
87 |
|
88 |
// ///////////////////////////////////////////////////// |
89 |
// Scanner sektion |
90 |
$("#scannerScreen").on('show', function() { |
91 |
|
92 |
//Vi kan ikke sætte focus med det samme så vi indfører en lille forsinkelse |
93 |
setTimeout(function(){ |
94 |
$("#stregkode").val(""); |
95 |
$("#stregkode").focus(); |
96 |
}, 100); |
97 |
|
98 |
//Hent data om manglende pakker |
99 |
var dataObject = { |
100 |
rute: rute, |
101 |
type: "B" |
102 |
}; |
103 |
|
104 |
var data = $.param( dataObject ); |
105 |
|
106 |
|
107 |
$.get( manglendeScanningerURI, data , function(data, textStatus, jqXHR) { |
108 |
|
109 |
var container = $("#manglendepakkercontainer"); |
110 |
|
111 |
for ( var i=0; i<data.length; i++ ) { |
112 |
var stregkode = data[i].Stregkode; |
113 |
var navn = data[i].ModtagerNavn; |
114 |
var adresse = data[i].ModtagerAdresse; |
115 |
var kommentar = data[i].Kommentar; |
116 |
|
117 |
var pakkeHtml = "<div id='mangler_STREGKODE' class='pakkeentry'>STREGKODE<br>NAVN</div>;" |
118 |
var pakkeHtml = pakkeHtml.replace(/STREGKODE/g, stregkode); |
119 |
var pakkeHtml = pakkeHtml.replace(/NAVN/g, navn); |
120 |
|
121 |
container.append( pakkeHtml ); |
122 |
|
123 |
} |
124 |
opdaterPakkeAntal(); |
125 |
|
126 |
}, "json"); |
127 |
}); |
128 |
|
129 |
$("#stregkode").keypress(function( event ) { |
130 |
if (event.which == 13 || event.which == 0) { |
131 |
|
132 |
var stregkode = $.trim( $(this).val() ); |
133 |
$(this).val(""); //Ryd input feltet |
134 |
|
135 |
if (stregkode != "") { |
136 |
|
137 |
sendPakkeKontrol(stregkode); |
138 |
} |
139 |
} |
140 |
|
141 |
}); |
142 |
|
143 |
$("#boghandlernr_ok").click( function() { |
144 |
|
145 |
$('#boghandlerform').bPopup().close(); |
146 |
$("#stregkode").focus(); |
147 |
// gemt_stregkode |
148 |
|
149 |
var nyt_boghandlernr = $("#boghandlernr_edit").val(); |
150 |
|
151 |
sendPakkeKontrol(gemt_stregkode, nyt_boghandlernr); |
152 |
} ); |
153 |
|
154 |
$("#boghandlernr_fortryd").click( function() { |
155 |
$('#boghandlerform').bPopup().close(); |
156 |
$("#stregkode").focus(); |
157 |
} ); |
158 |
|
159 |
$("#boghandlerform").click( function() { |
160 |
$("#boghandlernr_edit").focus() |
161 |
}); |
162 |
|
163 |
|
164 |
|
165 |
$("#manglendepakkerheader").click( function() { |
166 |
$("#manglendepakkercontainer").toggle(); |
167 |
$("#stregkode").focus(); |
168 |
}); |
169 |
|
170 |
$("#manglendepakkercontainer").on('show', function(event) { |
171 |
event.stopPropagation(); |
172 |
}); |
173 |
|
174 |
|
175 |
|
176 |
$("#pakkeokheader").click( function() { |
177 |
$("#pakkeokcontainer").toggle(); |
178 |
$("#stregkode").focus(); |
179 |
}); |
180 |
|
181 |
$("#pakkeokcontainer").on('show', function(event) { |
182 |
event.stopPropagation(); |
183 |
}); |
184 |
|
185 |
}); //end onload |
186 |
|
187 |
|
188 |
// Hvis at BogpakkeKontrol returnerer boghandlernr == 9999 |
189 |
// skal vi spørge bruger efter boghandlernr samt gensende forespørgslen, |
190 |
// tilkoblet en &boghandlernummer=<boghnr> parameter |
191 |
|
192 |
// nyboghandler kan være null / undefined |
193 |
function sendPakkeKontrol( stregkode, nyboghandlernr) { |
194 |
|
195 |
var dataObject = { |
196 |
pakkenummer: stregkode, |
197 |
sted: "DBK", |
198 |
format: "json" |
199 |
}; |
200 |
|
201 |
if (nyboghandlernr != null) { |
202 |
dataObject.boghandlernummer = nyboghandlernr; |
203 |
} |
204 |
|
205 |
var data = $.param( dataObject ); |
206 |
|
207 |
$.get( bogpakkeKontrolURI, data , function(data, textStatus, jqXHR) { |
208 |
$( "#mangler_" + stregkode).remove(); |
209 |
|
210 |
|
211 |
var turid = data.TurId; |
212 |
var boghnr = data.BoghandlerNr; |
213 |
var boghnavn = data.BoghandlerNavn; |
214 |
var printlabel = data.PrintPakkeLabel; |
215 |
|
216 |
$("#scan_stregkode").html( stregkode ); |
217 |
$("#scan_turid").html( turid ); |
218 |
$("#scan_nr").html( boghnr ); |
219 |
$("#scan_navn").html( boghnavn ); |
220 |
|
221 |
if (boghnavn == "PAKKE ER SCANNET") { |
222 |
$("#senestescannet").css("background-color", "#DAA520"); //Goldenrod |
223 |
return; //Gør ikke mere ved en gen-scanning |
224 |
|
225 |
} else if (printlabel == "1" || turid != rute) { |
226 |
$("#senestescannet").css("background-color", "#8B0000"); |
227 |
|
228 |
if (stregkode != gemt_stregkode) { //Hvis det er gen-kontrol af ukendt bogpakke skal den ikke lave buzz lyd |
229 |
playSound(soundfileBuzz); |
230 |
} |
231 |
|
232 |
} else { |
233 |
$("#senestescannet").css("background-color", "#006400"); //Dark Green |
234 |
} |
235 |
|
236 |
if (boghnr == "9999") { |
237 |
spoergEfterBoghnr(stregkode); |
238 |
return; |
239 |
} |
240 |
|
241 |
|
242 |
var pakkeHtml = "<div id='scannet_STREGKODE' class='pakkeentry'>STREGKODE<br>NAVN</div>"; |
243 |
var pakkeHtml = pakkeHtml.replace(/STREGKODE/g, stregkode); |
244 |
var pakkeHtml = pakkeHtml.replace(/NAVN/g, boghnavn); |
245 |
|
246 |
$("#pakkeokcontainer").prepend(pakkeHtml); |
247 |
$("#stregkode").focus(); |
248 |
|
249 |
opdaterPakkeAntal(); |
250 |
}, "json"); |
251 |
|
252 |
} |
253 |
|
254 |
|
255 |
|
256 |
function spoergEfterBoghnr(stregkode) { |
257 |
gemt_stregkode = stregkode; |
258 |
//$("#boghandlernr_edit").val(""); |
259 |
|
260 |
$('#boghandlerform').bPopup({ |
261 |
modalClose: false, |
262 |
opacity: 0.6, |
263 |
positionStyle: 'fixed' //'fixed' or 'absolute' |
264 |
}); |
265 |
|
266 |
$("#boghandlernr_edit").focus(); |
267 |
} |
268 |
|
269 |
|
270 |
function opdaterPakkeAntal() { |
271 |
//var manglendeAntal = $("#manglendepakkercontainer").find("div").length; |
272 |
var manglendeAntal = $("#manglendepakkercontainer div").length; |
273 |
$("#manglendepakkeantal").html("Antal: " + manglendeAntal); |
274 |
|
275 |
//var scannetAntal = $("#pakkeokcontainer").find("div").length; |
276 |
var scannetAntal = $("#pakkeokcontainer div").length; |
277 |
$("#pakkeokantal").html("Antal: " + scannetAntal); |
278 |
} |
279 |
|
280 |
</script> |
281 |
|
282 |
</head> |
283 |
|
284 |
<body class="portrait"> |
285 |
|
286 |
<div class="outer" id="outer"> |
287 |
|
288 |
<!-- ------------------------------------------------------------- --> |
289 |
<div class="container" id="loginScreen"> |
290 |
<div><h3>Rute ID</h3></div> |
291 |
<div style='margin-bottom: 10px;'> |
292 |
<input type="number" id="rute" class="loginData" autofocus value="467000"> |
293 |
</div> |
294 |
<div class="center" style='margin-bottom: 10px;'> |
295 |
<input class="loginSubmit center" |
296 |
type="submit" |
297 |
name="loginBtn" |
298 |
id="loginBtn" |
299 |
value="Log ind" |
300 |
style="border:1px; border-radius:10px" |
301 |
> |
302 |
</div> |
303 |
<div id="fejlBesked"></div> |
304 |
|
305 |
|
306 |
<img src="https://omdeling.info/mobil/inc/logo/DAO-A-Logo-as-negativ_100x57.png"> |
307 |
|
308 |
</div> |
309 |
|
310 |
<!-- ------------------------------------------------------------- --> |
311 |
<div class="container" id="menuScreen"> |
312 |
<div class="overskrift">Pakke Menu</div> |
313 |
<div> |
314 |
<input class="loginSubmit center menuItem" |
315 |
type="submit" |
316 |
name="scannerMenuItem" |
317 |
id="scannerMenuItem" menu-target="#scannerScreen" value="Pakke Scanning" style="border:1px; border-radius:10px; width: 80%"> |
318 |
<br> |
319 |
</div> |
320 |
|
321 |
</div> |
322 |
|
323 |
<!-- ------------------------------------------------------------- --> |
324 |
<div class="container" id="scannerScreen"> |
325 |
<div class="overskrift">Pakke Scanning</div> |
326 |
|
327 |
<div> |
328 |
<input type="number" id="stregkode" class="loginData" style="margin-bottom: 10px;"> |
329 |
</div> |
330 |
|
331 |
<div id="senestescannet" class="section"> |
332 |
<table> |
333 |
<tr> |
334 |
<td><i>Stregkode:</i></td> |
335 |
<td><span id="scan_stregkode"></span></td> |
336 |
</tr> |
337 |
<tr> |
338 |
<td><i>Rute:</i></td> |
339 |
<td><span id="scan_turid"></span></td> |
340 |
</tr> |
341 |
<tr> |
342 |
<td><i>Bogh.nr:</i></td> |
343 |
<td><span id="scan_nr"></span></td> |
344 |
</tr> |
345 |
<tr> |
346 |
<td><i>Navn:</i></td> |
347 |
<td><span id="scan_navn"></span></td> |
348 |
</tr> |
349 |
</table> |
350 |
</div> |
351 |
|
352 |
<div id="manglendepakker" class="section"> |
353 |
<div id="manglendepakkerheader" class="imgbutton"> |
354 |
Manglende Scanninger: |
355 |
<div id="manglendepakkeantal"></div> |
356 |
</div> |
357 |
<div id="manglendepakkercontainer" style='display:none;'></div> |
358 |
</div> |
359 |
|
360 |
<div id="pakkeok" class="section"> |
361 |
<div id="pakkeokheader" class="imgbutton"> |
362 |
Scannet Ok: |
363 |
<div id="pakkeokantal"></div> |
364 |
</div> |
365 |
<div id="pakkeokcontainer" style='display:none;'></div> |
366 |
</div> |
367 |
|
368 |
|
369 |
</div> |
370 |
|
371 |
|
372 |
</div> |
373 |
|
374 |
<div id="boghandlerform" style='display:none;'> |
375 |
Indtast boghandler nummer:<br><br> |
376 |
<input id="boghandlernr_edit" type="number" maxlength="5" max="99999" class="indtasteklid"><br><br> |
377 |
|
378 |
<span class="imgbutton" style="margin-right: 30px" id="boghandlernr_ok"> |
379 |
OK |
380 |
<img class="imgbutton" src="res/ok.png"> |
381 |
</span> |
382 |
|
383 |
<span class="imgbutton" id="boghandlernr_fortryd"> |
384 |
<img class="imgbutton" src="res/nav_undo_green.png"> |
385 |
Fortryd |
386 |
</span> |
387 |
|
388 |
</div> |
389 |
|
390 |
<audio preload id="buzzsound" src="res/Alarm.wav"> |
391 |
<!-- <source src="Buzz-SoundBible.com-1790490578.mp3" type="audio/mpeg"> --> |
392 |
Your browser does not support the audio tag. |
393 |
</audio> |
394 |
|
395 |
|
396 |
<audio preload id="buzzsound2" src="res/Buzz-SoundBible.com-1790490578.mp3"> |
397 |
<!-- <source src="Buzz-SoundBible.com-1790490578.mp3" type="audio/mpeg"> --> |
398 |
Your browser does not support the audio tag. |
399 |
</audio> |
400 |
|
401 |
|
402 |
</body> |
403 |
|
404 |
|
405 |
|
406 |
|
407 |
</html> |