viilauksia
This commit is contained in:
108
index.html
108
index.html
@@ -9,12 +9,17 @@ BODY {
|
||||
font-family: sans-serif;
|
||||
background-color: #fafaff;
|
||||
}
|
||||
TEXTAREA { font-family: sans-serif; width: 100%;
|
||||
TEXTAREA {
|
||||
-webkit-border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
padding: 5px;
|
||||
background: transparent;
|
||||
width: 100%;
|
||||
}
|
||||
INPUT {
|
||||
-webkit-border-radius: 3px;
|
||||
-moz-border-radius: 3px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
#block {
|
||||
margin-left: auto;
|
||||
@@ -56,13 +61,14 @@ LABEL {
|
||||
margin: 1em;
|
||||
opacity: 1;
|
||||
transition: opacity 0.2s;
|
||||
display: grid;
|
||||
}
|
||||
#barcodes.fade {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
/* Lasku */
|
||||
|
||||
#jaettu_lasku_nappi { width: 25%; }
|
||||
#lasku {
|
||||
border: 1px solid;
|
||||
border-collapse: collapse;
|
||||
@@ -72,14 +78,12 @@ LABEL {
|
||||
padding: 1ex;
|
||||
vertical-align: top;
|
||||
}
|
||||
#lasku .col1 { width: 10%; }
|
||||
#lasku .col2 { width: 40%; }
|
||||
#lasku .col3 { width: 10%; }
|
||||
#lasku .col4 { width: 20%; }
|
||||
#lasku .col5 { width: 20%; }
|
||||
#lasku_summa {
|
||||
#iban { width: 23ch; }
|
||||
#viite { width: 100%; }
|
||||
#laskun_tiedot { max-width: 80ch; }
|
||||
#summa { max-width: 12ch; }
|
||||
#lasku_summa, #summa {
|
||||
text-align: right;
|
||||
|
||||
}
|
||||
#lasku_summa::after {
|
||||
content: " €";
|
||||
@@ -153,7 +157,7 @@ let state = {
|
||||
}
|
||||
|
||||
function clear_barcode() {
|
||||
document.getElementById('barcodes').classList.add("fade");
|
||||
document.getElementById('barcode').classList.add("fade");
|
||||
setTimeout(function() {
|
||||
document.getElementById('barcode').innerHTML = "";
|
||||
}, 200);
|
||||
@@ -226,13 +230,16 @@ function calculate_viite_tarkiste(ilman_tarkiste) {
|
||||
}
|
||||
function validate_viite(viite) {
|
||||
if (! /^\d+$/.test(viite)) {
|
||||
return Array(false, "Joukossa muutakin kun numeroita!");
|
||||
return Array(false, "Viitteen joukossa muutakin kun numeroita!");
|
||||
}
|
||||
let nurin = reversed(viite);
|
||||
if (nurin.length < 3) return Array(false, "Liian lyhyt")
|
||||
if (nurin.length < 3) return Array(false, "Liian lyhyt viite")
|
||||
if (nurin.length > 20) return Array(false, "Liian pitkä viite")
|
||||
let ilman_tarkiste = nurin.substring(1).split('');
|
||||
let tarkiste = calculate_viite_tarkiste(ilman_tarkiste);
|
||||
if (tarkiste != parseInt(nurin.substring(0,1))) return Array(false, "Tarkiste ei täsmää, viite väärin, tai jos olet luomassa omaa, lisää tarkiste: " + calculate_viite_tarkiste(nurin.split('')).toString());
|
||||
if (tarkiste != parseInt(nurin.substring(0,1))) {
|
||||
return Array(false, "Viitteen tarkiste ei täsmää, viite väärin, tai jos olet luomassa omaa, lisää tarkiste: " + calculate_viite_tarkiste(nurin.split('')).toString());
|
||||
}
|
||||
return Array(true, String(viite).padStart(20,'0'));
|
||||
}
|
||||
|
||||
@@ -240,32 +247,35 @@ function validate(final = true) {
|
||||
|
||||
clear_error();
|
||||
// IBAN
|
||||
let iban = document.getElementById('iban').value.replaceAll(' ','').replace(/^FI/,"");
|
||||
if (iban.length != 16) return make_error('iban_error',"Vaatii 16 numeroa ja pitää alkaa FI!");
|
||||
if (! /^\d+$/.test(iban)) return make_error('iban_error',"Joukossa muutakin kun numeroita!");
|
||||
let iban = document.getElementById('iban').value.replaceAll(' ','').toUpperCase().replace(/^FI/,"");
|
||||
if (iban.length != 16) return make_error('iban_error',"IBAN on 16 numeroa ja pitää alkaa FI!");
|
||||
if (! /^\d+$/.test(iban)) return make_error('iban_error',"IBAN Joukossa muutakin kun numeroita!");
|
||||
|
||||
// SUMMA
|
||||
let summa = parseFloat(
|
||||
document.getElementById('summa').value.replaceAll(' ','').replace(',','.')
|
||||
);
|
||||
if (isNaN(summa)) {
|
||||
return make_error('summa_error', "Ei numero");
|
||||
return make_error('summa_error', "Summa Ei numero");
|
||||
}
|
||||
if ( summa <= 0 ) {
|
||||
return make_error('summa_error', "Summan pitää olla positiivinen");
|
||||
}
|
||||
if ( summa > 999999 ) {
|
||||
return make_error('summa_error', "Summan pitää olla alle miljoona");
|
||||
}
|
||||
|
||||
let sumsplit = summa.toFixed(2).split(".");
|
||||
let euro = String(sumsplit[0]).padStart(6,'0');
|
||||
let cents = String(sumsplit[1]).padStart(2,'0');
|
||||
// VIITE
|
||||
let viite = document.getElementById('viite').value.replaceAll(/[^\d]/g,'').replace(/^0+/,"");
|
||||
let viite = document.getElementById('viite').value.replaceAll(/\s/g,'').replace(/^0+/,"");
|
||||
let viite_valid = validate_viite(viite);
|
||||
if (! viite_valid[0]) return make_error("viite_error", viite_valid[1]);
|
||||
|
||||
// PAIVA
|
||||
if (! /^[\d-]+$/.test(document.getElementById('paiva').value)) {
|
||||
return make_error('paiva_error',"Joukossa muutakin kun numeroita ja - !");
|
||||
return make_error('paiva_error',"Eräpäivän joukossa muutakin kun numeroita ja - !");
|
||||
}
|
||||
let paiva_obj = new Date(Date.parse(document.getElementById('paiva').value));
|
||||
if (isNaN(paiva_obj)) return make_error('paiva_error', "Eräpäivä muotoa VVVV-KK-PP");
|
||||
@@ -289,7 +299,6 @@ function validate(final = true) {
|
||||
modify_request();
|
||||
}
|
||||
|
||||
|
||||
// Yhdistely
|
||||
let fin = '4';
|
||||
let spare = '000';
|
||||
@@ -314,8 +323,6 @@ function parse_virtual() {
|
||||
let kuu = vkoodi.substring(50,52);
|
||||
let paiva = vkoodi.substring(52,54);
|
||||
let paivays = `${vuosisata}${vuosi}-${kuu}-${paiva}`;
|
||||
|
||||
|
||||
document.getElementById('iban').value = iban;
|
||||
document.getElementById('summa').value = summa;
|
||||
document.getElementById('viite').value = viite;
|
||||
@@ -355,7 +362,7 @@ function modify_lasku() {
|
||||
print_help();
|
||||
}
|
||||
function clear_lasku() {
|
||||
let fields = ['iban','summa','viite','paiva'];
|
||||
let fields = ['iban','summa','viite','paiva','virtuaali'];
|
||||
for (let i = 0; i < fields.length; i++) {
|
||||
try {
|
||||
document.getElementById('lasku_' + fields[i]).innerHTML = "";
|
||||
@@ -409,14 +416,11 @@ function show_shared() {
|
||||
non_printables[i].classList.add("hidden");
|
||||
}
|
||||
document.getElementById('jaettu_lasku_nappi').classList.remove('hidden');
|
||||
|
||||
}
|
||||
|
||||
|
||||
function init() {
|
||||
const date = new Date();
|
||||
document.getElementById('paiva').value = date.toISOString().substring(0,10);
|
||||
|
||||
let request = window.location.search.substring(1);
|
||||
let vars = request.split(',');
|
||||
for (let i = 0; i < vars.length; i++) {
|
||||
@@ -446,37 +450,51 @@ function reversed(str) {
|
||||
<div id=block>
|
||||
<div class="no-print">
|
||||
<p>Maksun virtuaali viivakoodi / viivakoodi <small>Nothing ever leaves this page.</small></p>
|
||||
|
||||
<label>IBAN: </label><br><input id="iban" size=18 value="FI12 3456 7890 1234 56" onblur="generate()" onkeyup="generate(false)" /><br>
|
||||
<label> </label><span id="iban_error" class="error" ></span><br>
|
||||
<label>Summa: </label><br><input type="number" id="summa" size=10 value=10 onblur="generate()" onkeyup="generate(false)" />€<br>
|
||||
<label> </label><span id="summa_error" class="error" ></span><br>
|
||||
<label>Viite: </label><br><input pattern="[0-9 ]+" id="viite" size=20 value=1054 onblur="generate()" onkeyup="generate(false)" placeholder=1054/> Viite pakollinen.<br>
|
||||
<label> </label><span id="viite_error" class="error" ></span><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> </label><span id="paiva_error" class="error" ></span><br>
|
||||
<input type="submit" onclick="flash_generate()" value="Generoi"/>
|
||||
<span id="iban_error" class="error" ></span>
|
||||
<span id="summa_error" class="error" ></span>
|
||||
<span id="viite_error" class="error" ></span>
|
||||
<span id="paiva_error" class="error" ></span>
|
||||
<br>
|
||||
<input type="submit" onclick="flash_generate()" value="Generoi"/>
|
||||
</div>
|
||||
<div id="barcodes">
|
||||
<input id=jaettu_lasku_nappi class=hidden type="submit" onclick="lasku_pdf()" value="Tallenna lasku PDF"/>
|
||||
<table id="lasku">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class=col1>Saajan tilinumero</td><td class="col2, arvo" id="lasku_iban">[tilinro]</td><td colspan=3 rowspan=2><textarea class=kayttaja rows=10 id=laskun_tiedot placeholder="Laskun tiedot" onblur="print_help()" onkeyup="print_help()"></textarea><div class="print_help" id="print_laskun_tiedot"></div></td>
|
||||
<td class=col1>Saajan IBAN</td>
|
||||
<td class="col2, arvo" id="">
|
||||
<input id="iban" class="kayttaja" size=23 value="FI12 3456 7890 1234 56" onblur="generate()" onkeyup="generate(false)" />
|
||||
<div class="print_help" id=lasku_iban>[tilinro]</div>
|
||||
</td>
|
||||
<td colspan=3 rowspan=2><textarea class=kayttaja rows=10 id=laskun_tiedot placeholder="Laskun tiedot" onblur="print_help()" onkeyup="print_help()"></textarea><div class="print_help" id="print_laskun_tiedot"></div></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class=col1>Saaja</td><td class=col2><textarea id=saaja class=kayttaja rows=3 placeholder="Saajan tiedot" onblur="print_help()" onkeyup="print_help()"></textarea><div class="print_help" id="print_saaja"></div></td>
|
||||
<td class=col1>Saaja</td>
|
||||
<td class=col2>
|
||||
<textarea id=saaja class=kayttaja rows=3 placeholder="Saajan tiedot" onblur="print_help()" onkeyup="print_help()"></textarea><div class="print_help" id="print_saaja"></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class=col1 rowspan=2>Maksaja</td><td class=col2 rowspan=2><textarea id=maksaja class=kayttaja rows=3 placeholder="Maksajan tiedot" onblur="print_help()" onkeyup="print_help()"></textarea><div class="print_help" id="print_maksaja"></div></td>
|
||||
<td class=col3>Viite</td><td colspan=2 id="lasku_viite" class="arvo">[viite]</td>
|
||||
<td class=col1 rowspan=2>Maksaja</td>
|
||||
<td class=col2 rowspan=2>
|
||||
<textarea id=maksaja class=kayttaja rows=3 placeholder="Maksajan tiedot" onblur="print_help()" onkeyup="print_help()"></textarea><div class="print_help" id="print_maksaja"></div>
|
||||
</td>
|
||||
<td class=col3>Viite</td>
|
||||
<td colspan=2 class="arvo">
|
||||
<input pattern="[0-9 ]+" class="kayttaja" id="viite" size=20 value=1054 onblur="generate()" onkeyup="generate(false)" placeholder="1054"/>
|
||||
<div class="print_help" id="lasku_viite">[viite]</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class=col3>Eräpäivä</td><td class="col4, arvo" id="lasku_paiva">[paiva]</td><td class="col5, arvo" id="lasku_summa">[summa]</td>
|
||||
<td class=col3>Eräpäivä</td>
|
||||
<td class="col4, arvo" >
|
||||
<input type="text" pattern="[0-9\-]+" class="kayttaja" id="paiva" size=10 onblur="generate()" onkeyup="generate(false)" placeholder="VVVV-KK-PP" />
|
||||
<div class="print_help" id="lasku_paiva">[paiva]</div></td>
|
||||
<td class="col5, arvo">
|
||||
<input type="number" class="kayttaja" id="summa" size=8 value=10 onblur="generate()" onkeyup="generate(false)" />
|
||||
<div class="print_help" id="lasku_summa">[summa]</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan=5 id=lasku_barcode><svg id="barcode"></svg>
|
||||
|
||||
Reference in New Issue
Block a user