laskutustiedot kans

This commit is contained in:
Ville Rantanen
2023-06-05 15:02:41 +03:00
parent 876bd8fc74
commit b6d92b43c2

View File

@@ -117,8 +117,14 @@
<script src="https://cdn.jsdelivr.net/npm/jsbarcode@3.11.5/dist/barcodes/JsBarcode.code128.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/jsbarcode@3.11.5/dist/barcodes/JsBarcode.code128.min.js"></script>
<script> <script>
let state = {
'iban': null,
'paiva': null,
'summa': null,
'viite': null
}
function clear_barcode() { function clear_barcode() {
//document.getElementById('barcode').innerHTML = "";
document.getElementById('barcodes').classList.add("fade"); document.getElementById('barcodes').classList.add("fade");
setTimeout(function() { setTimeout(function() {
document.getElementById('barcode').innerHTML = ""; document.getElementById('barcode').innerHTML = "";
@@ -170,7 +176,10 @@ function clear_error() {
} }
function modify_request(iban,summa,viite,paiva) { function modify_request(iban,summa,viite,paiva) {
let URL = window.location.href.split('?')[0] let URL = window.location.href.split('?')[0]
const nextURL = `${URL}?FI${iban},${summa},${viite},${paiva}`; let saaja_s = encodeURIComponent(document.getElementById('saaja').value);
let maksaja_s = encodeURIComponent(document.getElementById('maksaja').value);
let lasku_s = encodeURIComponent(document.getElementById('laskun_tiedot').value);
const nextURL = `${URL}?FI${state['iban']},${state['summa']},${state['viite']},${state['paiva']},${saaja_s},${maksaja_s},${lasku_s}`;
window.history.replaceState({}, document.title, nextURL); window.history.replaceState({}, document.title, nextURL);
} }
function calculate_viite_tarkiste(ilman_tarkiste) { function calculate_viite_tarkiste(ilman_tarkiste) {
@@ -240,7 +249,11 @@ function validate(final = true) {
document.getElementById('summa').value = summa.toFixed(2); document.getElementById('summa').value = summa.toFixed(2);
document.getElementById('viite').value = reversed(reversed(viite).match(/.{1,5}/g).join(" ")); document.getElementById('viite').value = reversed(reversed(viite).match(/.{1,5}/g).join(" "));
document.getElementById('paiva').value = oikea_paiva; document.getElementById('paiva').value = oikea_paiva;
modify_request(iban,document.getElementById('summa').value,viite, oikea_paiva); state['iban'] = iban;
state['summa'] = document.getElementById('summa').value;
state['viite'] = viite;
state['paiva'] = oikea_paiva;
modify_request();
} }
@@ -276,37 +289,12 @@ function parse_virtual() {
} }
function convertSVGAsPNG(e){ function convertSVGAsPNG(e){
//const canvas = document.createElement("canvas");
//const svg = document.querySelector('svg');
const svg = document.getElementById('barcodeBW'); const svg = document.getElementById('barcodeBW');
const base64doc = btoa(unescape(encodeURIComponent(svg.outerHTML))); const base64doc = btoa(unescape(encodeURIComponent(svg.outerHTML)));
const w = parseInt(svg.getAttribute('width')); const w = parseInt(svg.getAttribute('width'));
const h = parseInt(svg.getAttribute('height')); const h = parseInt(svg.getAttribute('height'));
/*const img_to_download = document.createElement('img');*/
const img_to_download = document.getElementById('barcodePNG'); const img_to_download = document.getElementById('barcodePNG');
img_to_download.src = 'data:image/svg+xml;base64,' + base64doc; img_to_download.src = 'data:image/svg+xml;base64,' + base64doc;
/*img_to_download.onload = function () {
console.log('img loaded');
canvas.setAttribute('width', w);
canvas.setAttribute('height', h);
const context = canvas.getContext("2d");
//context.clearRect(0, 0, w, h);
context.drawImage(img_to_download,0,0,w,h);
const dataURL = canvas.toDataURL('image/png');
const filename = 'maksu-' + document.getElementById('paiva').value + '.png';
if (window.navigator.msSaveBlob) {
window.navigator.msSaveBlob(canvas.msToBlob(), filename);
e.preventDefault();
} else {
const a = document.createElement('a');
const my_evt = new MouseEvent('click');
a.download = filename;
a.href = dataURL;
a.dispatchEvent(my_evt);
}
//canvas.parentNode.removeChild(canvas);
}*/
} }
function print_help() { function print_help() {
@@ -316,6 +304,7 @@ function print_help() {
let target = document.getElementById('print_' + fields[i]); let target = document.getElementById('print_' + fields[i]);
target.innerHTML = source.value; target.innerHTML = source.value;
} }
modify_request();
} }
function modify_lasku() { function modify_lasku() {
let fields = ['iban','summa','viite','paiva']; let fields = ['iban','summa','viite','paiva'];
@@ -347,6 +336,9 @@ function init() {
if (i==1) document.getElementById('summa').value = vars[i]; if (i==1) document.getElementById('summa').value = vars[i];
if (i==2) document.getElementById('viite').value = vars[i]; if (i==2) document.getElementById('viite').value = vars[i];
if (i==3) document.getElementById('paiva').value = vars[i]; if (i==3) document.getElementById('paiva').value = vars[i];
if (i==4) document.getElementById('saaja').value = decodeURIComponent(vars[i]);
if (i==5) document.getElementById('maksaja').value = decodeURIComponent(vars[i]);
if (i==6) document.getElementById('laskun_tiedot').value = decodeURIComponent(vars[i]);
} }
flash_generate(); flash_generate();
} }
@@ -364,11 +356,11 @@ function reversed(str) {
<label>IBAN: </label><br><input id="iban" size=18 value="FI12 3456 7890 1234 56" onblur="generate()" onkeyup="generate(false)" /><br> <label>IBAN: </label><br><input id="iban" size=18 value="FI12 3456 7890 1234 56" onblur="generate()" onkeyup="generate(false)" /><br>
<label>&nbsp;</label><span id="iban_error" class="error" ></span><br> <label>&nbsp;</label><span id="iban_error" class="error" ></span><br>
<label>Summa: </label><br><input id="summa" size=10 value=10 onblur="generate()" onkeyup="generate(false)" />&euro;<br> <label>Summa: </label><br><input type="number" id="summa" size=10 value=10 onblur="generate()" onkeyup="generate(false)" />&euro;<br>
<label>&nbsp;</label><span id="summa_error" class="error" ></span><br> <label>&nbsp;</label><span id="summa_error" class="error" ></span><br>
<label>Viite: </label><br><input id="viite" size=20 value=1054 onblur="generate()" onkeyup="generate(false)" />&nbsp;Viite pakollinen, esim 1054 jos et keksi<br> <label>Viite: </label><br><input pattern="[0-9 ]+" id="viite" size=20 value=1054 onblur="generate()" onkeyup="generate(false)" />&nbsp;Viite pakollinen, esim 1054 jos et keksi<br>
<label>&nbsp;</label><span id="viite_error" class="error" ></span><br> <label>&nbsp;</label><span id="viite_error" class="error" ></span><br>
<label>Eräpäivä: </label><br><input id="paiva" size=10 onblur="generate()" onkeyup="generate(false)" /><br> <label>Eräpäivä: </label><br><input type="text" pattern="[0-9\-]+" id="paiva" size=10 onblur="generate()" onkeyup="generate(false)" placeholder="VVVV-KK-PP"/><br>
<label>&nbsp;</label><span id="paiva_error" class="error" ></span><br> <label>&nbsp;</label><span id="paiva_error" class="error" ></span><br>
<input type="submit" onclick="flash_generate()" value="Generoi"/> <input type="submit" onclick="flash_generate()" value="Generoi"/>
<br> <br>