Compare commits
3 Commits
1aa4193039
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 8bc60ec518 | |||
| b5e62473bc | |||
| abd86e7d2c |
@@ -50,8 +50,11 @@ input,select,button {
|
|||||||
</select>
|
</select>
|
||||||
|
|
||||||
<button id="loadkata" onclick="naplnitKatalog()">Načíst Katalog</button>
|
<button id="loadkata" onclick="naplnitKatalog()">Načíst Katalog</button>
|
||||||
<button id="savekata" onclick="ulozitKatalog()">Ulozit Katalog</button>
|
<button id="savekata" onclick="ulozitKatalog()">Uložit Katalog</button>
|
||||||
<button id="presentkata" onclick="vystavitKatalog()">Vystavit Katalog</button>
|
<button id="presentkata" onclick="vystavitKatalog()">Vystavit Katalog</button>
|
||||||
|
<button id="downloadkata" onclick="stahnoutKatalog()">Stáhnout Katalog</button>
|
||||||
|
<button id="nahratKata">Nahrát Katalog </button>
|
||||||
|
<input type="file" id="inputFile" style="display: none;">
|
||||||
<button class="pridat-kategorii" style="">Pridat Kategorii</button>
|
<button class="pridat-kategorii" style="">Pridat Kategorii</button>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,54 +1,23 @@
|
|||||||
// function katalogToXML(katalog) {
|
function stahnoutKatalog(data) {
|
||||||
// let xml = '<katalog>';
|
// převod na JSON string
|
||||||
//
|
const jsonString = JSON.stringify(katalog2JSON(), null, 2);
|
||||||
// Object.entries(katalog).forEach(([kategorie, produkty]) => {
|
|
||||||
// xml += `<kategorie nazev="${kategorie}">`;
|
// vytvoření blobu (soubor v paměti)
|
||||||
//
|
const blob = new Blob([jsonString], { type: "application/json" });
|
||||||
// Object.entries(produkty).forEach(([nazev, data]) => {
|
|
||||||
// xml += `<produkt nazev="${nazev}">`;
|
// vytvoření odkazu
|
||||||
// Object.entries(data).forEach(([key, value]) => {
|
const url = URL.createObjectURL(blob);
|
||||||
// xml += `<${key}>${value}</${key}>`;
|
const a = document.createElement("a");
|
||||||
// });
|
|
||||||
// xml += `</produkt>`;
|
a.href = url;
|
||||||
// });
|
a.download = "katalog.json";
|
||||||
//
|
|
||||||
// xml += `</kategorie>`;
|
// simulace kliknutí
|
||||||
// });
|
a.click();
|
||||||
//
|
|
||||||
// xml += '</katalog>';
|
// úklid
|
||||||
// return xml;
|
URL.revokeObjectURL(url);
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
//
|
|
||||||
// function xmlToKatalog(xmlString) {
|
|
||||||
// const parser = new DOMParser();
|
|
||||||
// const xmlDoc = parser.parseFromString(xmlString, "application/xml");
|
|
||||||
// const katalog = {};
|
|
||||||
//
|
|
||||||
// xmlDoc.querySelectorAll('kategorie').forEach(kat => {
|
|
||||||
// const kNazev = kat.getAttribute('nazev');
|
|
||||||
// katalog[kNazev] = {};
|
|
||||||
//
|
|
||||||
// kat.querySelectorAll('produkt').forEach(prod => {
|
|
||||||
// const pNazev = prod.getAttribute('nazev');
|
|
||||||
// const data = {};
|
|
||||||
//
|
|
||||||
// prod.childNodes.forEach(node => {
|
|
||||||
// if(node.nodeType === 1) { // ELEMENT_NODE
|
|
||||||
// const key = node.nodeName;
|
|
||||||
// let value = node.textContent;
|
|
||||||
// // pokus převést čísla
|
|
||||||
// if(!isNaN(value)) value = Number(value);
|
|
||||||
// data[key] = value;
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
//
|
|
||||||
// katalog[kNazev][pNazev] = data;
|
|
||||||
// });
|
|
||||||
// });
|
|
||||||
//
|
|
||||||
// return katalog;
|
|
||||||
// }
|
|
||||||
|
|
||||||
function uuidv4() {
|
function uuidv4() {
|
||||||
return "10000000-1000-4000-8000-100000000000".replace(/[018]/g, c =>
|
return "10000000-1000-4000-8000-100000000000".replace(/[018]/g, c =>
|
||||||
@@ -56,52 +25,38 @@ function uuidv4() {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Vypocita ceny do katalogu na zaklade zadane ceny bez DPH
|
function prepocitejCenu(rozmery, vstupniCena, mj) {
|
||||||
// Ceny se zaokrouhluji na koruny nahoru
|
vat = 21
|
||||||
// Vsechny rozmery v katalogu jsou v cm
|
vatKoeficient = (1 + (vat/100))
|
||||||
function vypocitejCenu(uuid) {
|
desetinnaMista = 4 // Ucetni vypocet ceny se provadi s presnosti na x desetinnych mist
|
||||||
let nazev = document.getElementById("nazev-"+uuid).value
|
|
||||||
// Prehodi pripadnou desetinnou carku na desetinnou tecku
|
|
||||||
let zakladniCenaBezDPH = document.getElementById("cena-"+uuid).value.replace(/,/,'.')
|
|
||||||
let mj = document.getElementById("mj-"+uuid).value
|
|
||||||
// Rozbije rozmery na jednotlive hodnoty, prevede na cisla, seradi vzestupne
|
|
||||||
let rozmery = document.getElementById("rozmery-"+uuid).value.split('/').map(Number).sort((x, y) => x - y)
|
|
||||||
|
|
||||||
let cena = {
|
let cena = {
|
||||||
"bezDPH": zakladniCenaBezDPH,
|
"bezDPH": vstupniCena.toFixed(desetinnaMista),
|
||||||
"sDPH": zakladniCenaBezDPH * 1.21,
|
"sDPH": (vstupniCena * vatKoeficient).toFixed(desetinnaMista),
|
||||||
"ks": 0
|
"ks": -1
|
||||||
}
|
}
|
||||||
console.log(mj)
|
|
||||||
|
|
||||||
if (mj == "ks") {
|
if (mj == "ks") {
|
||||||
cena.ks = cena.sDPH
|
cena.ks = cena.sDPH
|
||||||
}
|
}
|
||||||
// MJ = m
|
// MJ = m; cena je s DPH za m
|
||||||
// cena je s DPH za m
|
|
||||||
// pouzije se pouze nejvetsi z rozmeru
|
// pouzije se pouze nejvetsi z rozmeru
|
||||||
else if (mj == "m") {
|
else if (mj == "m") {
|
||||||
cena.ks = cena.sDPH/(100/rozmery.pop())
|
delka = (rozmery.pop()/100).toFixed(desetinnaMista)
|
||||||
|
cena.ks = cena.sDPH * delka
|
||||||
}
|
}
|
||||||
// MJ = m2
|
// MJ = m2; cena je s DPH za m2
|
||||||
// cena je s DPH za m2
|
|
||||||
// zahazuje se nejmensi ze tri rozmeru
|
// zahazuje se nejmensi ze tri rozmeru
|
||||||
// vypocet je cena/(10000/(r1*r2))
|
|
||||||
else if (mj == "m2") {
|
else if (mj == "m2") {
|
||||||
cena.ks = cena.sDPH/(10000/(rozmery.pop()*rozmery.pop()))
|
obsah = ((rozmery.pop()*rozmery.pop())/10000).toFixed(desetinnaMista)
|
||||||
|
cena.ks = cena.sDPH * obsah
|
||||||
}
|
}
|
||||||
// MJ = m3
|
// MJ = m3; cena je s DPH za m3
|
||||||
// cena je s DPH za m3
|
|
||||||
// vypocet je cena/(1000000/(r1*r2*r3))
|
|
||||||
else if (mj == "m3") {
|
else if (mj == "m3") {
|
||||||
cena.ks = cena.sDPH/(1000000/(rozmery.pop()*rozmery.pop()*rozmery.pop()))
|
objem = ((rozmery.pop()*rozmery.pop()*rozmery.pop())/1000000).toFixed(desetinnaMista)
|
||||||
|
//cena.ks = cena.sDPH/(1000000/(rozmery.pop()*rozmery.pop()*rozmery.pop()))
|
||||||
|
cena.ks = cena.sDPH * objem
|
||||||
}
|
}
|
||||||
|
|
||||||
cena.bezDPH = Math.ceil(cena.bezDPH)
|
|
||||||
cena.sDPH= Math.ceil(cena.sDPH)
|
|
||||||
cena.ks = Math.ceil(cena.ks)
|
|
||||||
document.getElementById("cenadph-"+uuid).value = cena.sDPH
|
|
||||||
document.getElementById("cenaks-"+uuid).value = cena.ks
|
|
||||||
return cena
|
return cena
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -128,6 +83,29 @@ function zapniNaElementSortableJS(el) {
|
|||||||
|
|
||||||
// Rucne vyrobit polozku
|
// Rucne vyrobit polozku
|
||||||
document.addEventListener("click", function(event) {
|
document.addEventListener("click", function(event) {
|
||||||
|
if (event.target.id == "nahratKata") {
|
||||||
|
document.getElementById("inputFile").click() // Simuluje kliknuti na input>file
|
||||||
|
|
||||||
|
// zpracování souboru
|
||||||
|
document.getElementById("inputFile").addEventListener("change", (e) => {
|
||||||
|
const file = e.target.files[0];
|
||||||
|
if (!file) return;
|
||||||
|
|
||||||
|
const reader = new FileReader();
|
||||||
|
|
||||||
|
reader.onload = () => {
|
||||||
|
try {
|
||||||
|
const data = JSON.parse(reader.result);
|
||||||
|
JSON2Katalog(reader.result)
|
||||||
|
} catch (err) {
|
||||||
|
console.error("Neplatný JSON");
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
reader.readAsText(file);
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
if (event.target.classList.contains("pridat-polozku")) {
|
if (event.target.classList.contains("pridat-polozku")) {
|
||||||
let kategorie = event.target.closest(".kategorie");
|
let kategorie = event.target.closest(".kategorie");
|
||||||
let seznam = kategorie.querySelector(".polozky");
|
let seznam = kategorie.querySelector(".polozky");
|
||||||
@@ -154,49 +132,27 @@ document.addEventListener("click", function(event) {
|
|||||||
event.target.closest(".polozka").remove()
|
event.target.closest(".polozka").remove()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(event.target.classList.contains("ulozit-katalog")) {
|
});
|
||||||
// tady se bude implementovat ulozeni katalogu do XML
|
document.addEventListener("change", function(event) {
|
||||||
console.log(document.getElementById("katalog"))
|
if(event.target.classList.contains("prepocitavaniCeny")) {
|
||||||
|
let uuid = event.target.parentElement.id
|
||||||
|
|
||||||
|
let vstupniCena = Number(document.getElementById("cena-"+uuid).value.replace(/,/,'.'))
|
||||||
|
let mj = document.getElementById("mj-"+uuid).value
|
||||||
|
let rozmery = document.getElementById("rozmery-"+uuid).value.replace(/,/,'.').split('/').map(Number).sort((x, y) => x - y)
|
||||||
|
|
||||||
|
cena = prepocitejCenu(rozmery, vstupniCena, mj)
|
||||||
|
|
||||||
|
document.getElementById("cenadph-"+uuid).value = Math.ceil(cena.sDPH)
|
||||||
|
document.getElementById("cenaks-"+uuid).value = Math.ceil(cena.ks)
|
||||||
|
|
||||||
|
}
|
||||||
|
if(event.target.classList.contains("rozmery")) {
|
||||||
|
//console.log(event.target.value)
|
||||||
|
event.target.value = event.target.value.replaceAll(" ","/")
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
function ulozitKatalog() {
|
|
||||||
let katalog = {}
|
|
||||||
$("#katalog").children().each(function(i) {
|
|
||||||
let kategorie = $(this).find("input[id^='nazev-']").first().val();
|
|
||||||
let produkty = {}
|
|
||||||
$(this).find(".polozka").each(function(){
|
|
||||||
let polozka = {}
|
|
||||||
let nazev = $(this).find("input[id^='nazev-']").first().val()
|
|
||||||
polozka["nazev"] = nazev
|
|
||||||
polozka["rozmery"] = $(this).find("input[id^='rozmery-']").first().val()
|
|
||||||
polozka["cena"] = $(this).find("input[id^='cena-']").first().val()
|
|
||||||
polozka["cenadph"] = $(this).find("input[id^='cenadph-']").first().val()
|
|
||||||
polozka["cenaks"] = $(this).find("input[id^='cenaks-']").first().val()
|
|
||||||
polozka["mj"] = $(this).find("select[id^='mj-'] :selected").val()
|
|
||||||
produkty[nazev] = polozka
|
|
||||||
})
|
|
||||||
katalog[kategorie] = produkty
|
|
||||||
})
|
|
||||||
|
|
||||||
data = {"security_token":"jebatceckyhajzel", "akce":"nahraj", "katalog": katalog}
|
|
||||||
url = "http://localhost/skripty/katalog.php"
|
|
||||||
dataType = "json"
|
|
||||||
|
|
||||||
$.ajax({
|
|
||||||
type: "POST",
|
|
||||||
url: url,
|
|
||||||
data: JSON.stringify(data),
|
|
||||||
dataType: "json",
|
|
||||||
contentType: "application/json; charset=utf-8",
|
|
||||||
success: function(x, status, xhr) {
|
|
||||||
console.log(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
function vyrobPolozku(nazev, cena, mj, rozmery, cenadph = -1, cenaks = -1) {
|
function vyrobPolozku(nazev, cena, mj, rozmery, cenadph = -1, cenaks = -1) {
|
||||||
|
|
||||||
let uuid = uuidv4()
|
let uuid = uuidv4()
|
||||||
@@ -209,20 +165,15 @@ function vyrobPolozku(nazev, cena, mj, rozmery, cenadph = -1, cenaks = -1) {
|
|||||||
nova.id = uuid
|
nova.id = uuid
|
||||||
nova.appendChild(btnDel)
|
nova.appendChild(btnDel)
|
||||||
|
|
||||||
let nazevPolozky = document.createElement("input")
|
|
||||||
nazevPolozky.setAttribute("type", "text")
|
|
||||||
nazevPolozky.value = nazev
|
|
||||||
nazevPolozky.id = "nazev-" + uuid
|
|
||||||
|
|
||||||
let rozmeryPolozky = document.createElement("input")
|
let rozmeryPolozky = document.createElement("input")
|
||||||
rozmeryPolozky.setAttribute("type", "text")
|
rozmeryPolozky.setAttribute("type", "text")
|
||||||
|
rozmeryPolozky.className = "prepocitavaniCeny rozmery"
|
||||||
rozmeryPolozky.value = rozmery
|
rozmeryPolozky.value = rozmery
|
||||||
rozmeryPolozky.id = "rozmery-" + uuid
|
rozmeryPolozky.id = "rozmery-" + uuid
|
||||||
rozmeryPolozky.setAttribute("onChange", "vypocitejCenu(this.parentElement.id)")
|
|
||||||
|
|
||||||
let cenaPolozky = document.createElement("input")
|
let cenaPolozky = document.createElement("input")
|
||||||
cenaPolozky.setAttribute("type", "text")
|
cenaPolozky.setAttribute("type", "text")
|
||||||
cenaPolozky.setAttribute("onChange", "vypocitejCenu(this.parentElement.id)")
|
cenaPolozky.className = "prepocitavaniCeny"
|
||||||
cenaPolozky.value = cena
|
cenaPolozky.value = cena
|
||||||
cenaPolozky.id = "cena-" + uuid
|
cenaPolozky.id = "cena-" + uuid
|
||||||
|
|
||||||
@@ -237,7 +188,7 @@ function vyrobPolozku(nazev, cena, mj, rozmery, cenadph = -1, cenaks = -1) {
|
|||||||
|
|
||||||
let mjPolozky = document.createElement("select")
|
let mjPolozky = document.createElement("select")
|
||||||
mjPolozky.id = "mj-" + uuid
|
mjPolozky.id = "mj-" + uuid
|
||||||
mjPolozky.setAttribute("onChange", "vypocitejCenu(this.parentElement.id)")
|
mjPolozky.className = "prepocitavaniCeny"
|
||||||
let mjMoznosti = [{"klic": "m", "hodnota": "m"}, {"klic": "m2","hodnota": "m²"},{"klic": "m3","hodnota": "m³"},{"klic": "ks","hodnota": "ks"}]
|
let mjMoznosti = [{"klic": "m", "hodnota": "m"}, {"klic": "m2","hodnota": "m²"},{"klic": "m3","hodnota": "m³"},{"klic": "ks","hodnota": "ks"}]
|
||||||
mjMoznosti.forEach((x, index, array) => {
|
mjMoznosti.forEach((x, index, array) => {
|
||||||
var option = document.createElement("option");
|
var option = document.createElement("option");
|
||||||
@@ -245,10 +196,11 @@ function vyrobPolozku(nazev, cena, mj, rozmery, cenadph = -1, cenaks = -1) {
|
|||||||
option.text = x.hodnota
|
option.text = x.hodnota
|
||||||
mjPolozky.appendChild(option);
|
mjPolozky.appendChild(option);
|
||||||
});
|
});
|
||||||
|
mjPolozky.value = mj
|
||||||
|
|
||||||
nova.appendChild(document.createTextNode(" Nazev "));
|
// nova.appendChild(document.createTextNode(" Nazev "));
|
||||||
nova.appendChild(nazevPolozky)
|
// nova.appendChild(nazevPolozky)
|
||||||
nova.appendChild(document.createTextNode(" Rozmery "));
|
nova.appendChild(document.createTextNode(" Rozměry "));
|
||||||
nova.appendChild(rozmeryPolozky)
|
nova.appendChild(rozmeryPolozky)
|
||||||
nova.appendChild(document.createTextNode(" MJ "));
|
nova.appendChild(document.createTextNode(" MJ "));
|
||||||
nova.appendChild(mjPolozky)
|
nova.appendChild(mjPolozky)
|
||||||
@@ -263,12 +215,13 @@ function vyrobPolozku(nazev, cena, mj, rozmery, cenadph = -1, cenaks = -1) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function nactiKatalogy() {
|
function nactiKatalogy() {
|
||||||
url = "http://localhost/skripty/katalog.php"
|
url = "/skripty/katalog.php"
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type: "POST",
|
type: "POST",
|
||||||
url: url,
|
url: url,
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
success: function(x, status, xhr) {
|
success: function(x, status, xhr) {
|
||||||
|
$("#fileSelect").empty();
|
||||||
for(i = 0; i < x.length; i++) {
|
for(i = 0; i < x.length; i++) {
|
||||||
option = '<option value="'+ x[i] + '">' + x[i] + '</option>';
|
option = '<option value="'+ x[i] + '">' + x[i] + '</option>';
|
||||||
$("#fileSelect").append(option)
|
$("#fileSelect").append(option)
|
||||||
@@ -277,6 +230,47 @@ function nactiKatalogy() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function katalog2JSON() {
|
||||||
|
let katalog = {}
|
||||||
|
$("#katalog").children().each(function(i) {
|
||||||
|
let kategorie = $(this).find("input[id^='nazev-']").first().val();
|
||||||
|
let produkty = {}
|
||||||
|
$(this).find(".polozka").each(function(){
|
||||||
|
let id = $(this).attr("id")
|
||||||
|
let polozka = {}
|
||||||
|
let nazev = $(this).find("input[id^='nazev-']").first().val()
|
||||||
|
polozka["rozmery"] = $(this).find("input[id^='rozmery-']").first().val()
|
||||||
|
polozka["cena"] = $(this).find("input[id^='cena-']").first().val()
|
||||||
|
polozka["cenadph"] = $(this).find("input[id^='cenadph-']").first().val()
|
||||||
|
polozka["cenaks"] = $(this).find("input[id^='cenaks-']").first().val()
|
||||||
|
polozka["mj"] = $(this).find("select[id^='mj-'] :selected").val()
|
||||||
|
produkty[id] = polozka
|
||||||
|
})
|
||||||
|
katalog[kategorie] = produkty
|
||||||
|
})
|
||||||
|
|
||||||
|
return katalog
|
||||||
|
}
|
||||||
|
|
||||||
|
function ulozitKatalog() {
|
||||||
|
data = {"security_token":"jebatceckyhajzel", "akce":"nahraj", "katalog": katalog2JSON()}
|
||||||
|
url = "/skripty/katalog.php"
|
||||||
|
dataType = "json"
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type: "POST",
|
||||||
|
url: url,
|
||||||
|
data: JSON.stringify(data),
|
||||||
|
dataType: "json",
|
||||||
|
contentType: "application/json; charset=utf-8",
|
||||||
|
success: function(x, status, xhr) {
|
||||||
|
nactiKatalogy();
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
function vyrobKategorii(nazev) {
|
function vyrobKategorii(nazev) {
|
||||||
let uuid = uuidv4()
|
let uuid = uuidv4()
|
||||||
let kategorie = document.createElement("div")
|
let kategorie = document.createElement("div")
|
||||||
@@ -329,7 +323,7 @@ function naplnitKatalog() {
|
|||||||
|
|
||||||
let katalog;
|
let katalog;
|
||||||
data = {"security_token":"jebatceckyhajzel", "akce":"obsah", "soubor": $("#fileSelect :selected").val()}
|
data = {"security_token":"jebatceckyhajzel", "akce":"obsah", "soubor": $("#fileSelect :selected").val()}
|
||||||
url = "http://localhost/skripty/katalog.php"
|
url = "/skripty/katalog.php"
|
||||||
dataType = "json"
|
dataType = "json"
|
||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
@@ -339,22 +333,26 @@ function naplnitKatalog() {
|
|||||||
dataType: "json",
|
dataType: "json",
|
||||||
contentType: "application/json; charset=utf-8",
|
contentType: "application/json; charset=utf-8",
|
||||||
success: function(x, status, xhr) {
|
success: function(x, status, xhr) {
|
||||||
katalog = JSON.parse(x)
|
JSON2Katalog(x)
|
||||||
Object.entries(katalog).forEach(([kategorie, produkty]) => {
|
|
||||||
let kat = vyrobKategorii(kategorie)
|
|
||||||
katProdCont = kat.getElementsByClassName("polozky")[0]
|
|
||||||
Object.entries(produkty).forEach(([nazev, data]) => {
|
|
||||||
let prod = vyrobPolozku(nazev, data.cena, data.mj, data.rozmery, data.cenadph, data.cenaks)
|
|
||||||
katProdCont.appendChild(prod)
|
|
||||||
});
|
|
||||||
kata.appendChild(kat)
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function JSON2Katalog(x) {
|
||||||
|
katalog = JSON.parse(x)
|
||||||
|
Object.entries(katalog).forEach(([kategorie, produkty]) => {
|
||||||
|
let kat = vyrobKategorii(kategorie)
|
||||||
|
katProdCont = kat.getElementsByClassName("polozky")[0]
|
||||||
|
Object.entries(produkty).forEach(([nazev, data]) => {
|
||||||
|
let prod = vyrobPolozku(nazev, data.cena, data.mj, data.rozmery, data.cenadph, data.cenaks)
|
||||||
|
katProdCont.appendChild(prod)
|
||||||
|
});
|
||||||
|
kata.appendChild(kat)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function vystavitKatalog() {
|
function vystavitKatalog() {
|
||||||
let soubor = $("#fileSelect :selected").val()
|
let soubor = $("#fileSelect :selected").val()
|
||||||
let potvrzeni = confirm("Zverejnit katalog " + soubor + " na web ?")
|
let potvrzeni = confirm("Zverejnit katalog " + soubor + " na web ?")
|
||||||
@@ -363,7 +361,8 @@ function vystavitKatalog() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
data = {"security_token":"jebatceckyhajzel", "akce":"zverejni", "soubor": soubor}
|
data = {"security_token":"jebatceckyhajzel", "akce":"zverejni", "soubor": soubor}
|
||||||
url = "http://localhost/skripty/katalog.php"
|
//url = "https://drevoprodej-benes.cz/skripty/katalog.php"
|
||||||
|
url = "/skripty/katalog.php"
|
||||||
dataType = "json"
|
dataType = "json"
|
||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
@@ -375,8 +374,11 @@ function vystavitKatalog() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ????
|
||||||
document.getElementById("telo").appendChild(kata)
|
document.getElementById("telo").appendChild(kata)
|
||||||
|
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
nactiKatalogy()
|
nactiKatalogy()
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,64 +0,0 @@
|
|||||||
{
|
|
||||||
"Kategorie1": {
|
|
||||||
"Produkt1": {
|
|
||||||
"nazev": "Produkt1",
|
|
||||||
"rozmery": "20/20/200",
|
|
||||||
"cena": "300",
|
|
||||||
"cenadph": "50",
|
|
||||||
"cenaks": "55",
|
|
||||||
"mj": "m"
|
|
||||||
},
|
|
||||||
"Produkt2": {
|
|
||||||
"nazev": "Produkt2",
|
|
||||||
"rozmery": "25/25/200",
|
|
||||||
"cena": "310",
|
|
||||||
"cenadph": "50",
|
|
||||||
"cenaks": "55",
|
|
||||||
"mj": "m"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Kategorie2": {
|
|
||||||
"Produkt3": {
|
|
||||||
"nazev": "Produkt3",
|
|
||||||
"rozmery": "2/15/300",
|
|
||||||
"cena": "100",
|
|
||||||
"cenadph": "60",
|
|
||||||
"cenaks": "65",
|
|
||||||
"mj": "m"
|
|
||||||
},
|
|
||||||
"Produkt4": {
|
|
||||||
"nazev": "Produkt4",
|
|
||||||
"rozmery": "2/15/400",
|
|
||||||
"cena": "110",
|
|
||||||
"cenadph": "60",
|
|
||||||
"cenaks": "65",
|
|
||||||
"mj": "m"
|
|
||||||
},
|
|
||||||
"Produkt5": {
|
|
||||||
"nazev": "Produkt5",
|
|
||||||
"rozmery": "2/15/500",
|
|
||||||
"cena": "120",
|
|
||||||
"cenadph": "60",
|
|
||||||
"cenaks": "65",
|
|
||||||
"mj": "m"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Kategorie3": {
|
|
||||||
"Produkt6": {
|
|
||||||
"nazev": "Produkt6",
|
|
||||||
"rozmery": "2/14/400",
|
|
||||||
"cena": "200",
|
|
||||||
"cenadph": "70",
|
|
||||||
"cenaks": "75",
|
|
||||||
"mj": "m"
|
|
||||||
},
|
|
||||||
"Produkt7": {
|
|
||||||
"nazev": "Produkt7",
|
|
||||||
"rozmery": "2/14/500",
|
|
||||||
"cena": "210",
|
|
||||||
"cenadph": "70",
|
|
||||||
"cenaks": "75",
|
|
||||||
"mj": "m"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,64 +1,48 @@
|
|||||||
{
|
{
|
||||||
"Kategorie1": {
|
"Kategorie1asdf": {
|
||||||
"Produkt1": {
|
"Produkt1": {
|
||||||
"nazev": "Produkt1",
|
"nazev": "Produkt1",
|
||||||
"rozmery": "20/20/200",
|
"rozmery": "2,4/14/400",
|
||||||
"cena": "300",
|
"cena": "8190",
|
||||||
"cenadph": "50",
|
"cenadph": "9910",
|
||||||
"cenaks": "55",
|
"cenaks": "134",
|
||||||
"mj": "m"
|
"mj": "m"
|
||||||
},
|
},
|
||||||
"Produkt2": {
|
"Produkt2": {
|
||||||
"nazev": "Produkt2",
|
"nazev": "Produkt2",
|
||||||
"rozmery": "25/25/200",
|
"rozmery": "25/25/200",
|
||||||
"cena": "310",
|
"cena": "310",
|
||||||
"cenadph": "50",
|
"cenadph": "376",
|
||||||
"cenaks": "55",
|
"cenaks": "376",
|
||||||
"mj": "m"
|
"mj": "ks"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Kategorie2": {
|
"Kategorie2fdsa": {
|
||||||
"Produkt3": {
|
"Produkt3": {
|
||||||
"nazev": "Produkt3",
|
"nazev": "Produkt3",
|
||||||
"rozmery": "2/15/300",
|
"rozmery": "2/15/300",
|
||||||
"cena": "100",
|
"cena": "100",
|
||||||
"cenadph": "60",
|
"cenadph": "121",
|
||||||
"cenaks": "65",
|
"cenaks": "363",
|
||||||
"mj": "m"
|
"mj": "m"
|
||||||
},
|
},
|
||||||
"Produkt4": {
|
"Produkt4": {
|
||||||
"nazev": "Produkt4",
|
"nazev": "Produkt4",
|
||||||
"rozmery": "2/15/400",
|
"rozmery": "2/15/400",
|
||||||
"cena": "110",
|
"cena": "110",
|
||||||
"cenadph": "60",
|
"cenadph": "134",
|
||||||
"cenaks": "65",
|
"cenaks": "80",
|
||||||
"mj": "m"
|
"mj": "m2"
|
||||||
},
|
},
|
||||||
"Produkt5": {
|
"Produkt5": {
|
||||||
"nazev": "Produkt5",
|
"nazev": "Produkt5",
|
||||||
"rozmery": "2/15/500",
|
"rozmery": "2/15/500",
|
||||||
"cena": "120",
|
"cena": "120",
|
||||||
"cenadph": "60",
|
"cenadph": "146",
|
||||||
"cenaks": "65",
|
"cenaks": "3",
|
||||||
"mj": "m"
|
"mj": "m3"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Kategorie3": {
|
"Kategorie3": [],
|
||||||
"Produkt6": {
|
"Kategorie 4": []
|
||||||
"nazev": "Produkt6",
|
|
||||||
"rozmery": "2/14/400",
|
|
||||||
"cena": "200",
|
|
||||||
"cenadph": "70",
|
|
||||||
"cenaks": "75",
|
|
||||||
"mj": "m"
|
|
||||||
},
|
|
||||||
"Produkt7": {
|
|
||||||
"nazev": "Produkt7",
|
|
||||||
"rozmery": "2/14/500",
|
|
||||||
"cena": "210",
|
|
||||||
"cenadph": "70",
|
|
||||||
"cenaks": "75",
|
|
||||||
"mj": "m"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
|
|
||||||
data = {"security_token":"jebatceckyhajzel", "akce":"frontend"}
|
data = {"security_token":"jebatceckyhajzel", "akce":"frontend"}
|
||||||
url = "http://localhost/skripty/katalog.php"
|
//url = "https://drevoprodej-benes.cz/skripty/katalog.php"
|
||||||
|
url = "/skripty/katalog.php"
|
||||||
dataType = "json"
|
dataType = "json"
|
||||||
|
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ function nahrajKatalog($data) {
|
|||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
|
|
||||||
file_put_contents($cesta, $jsonData);
|
echo json_encode(file_put_contents($cesta, $jsonData));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Zverejni je hotovy
|
// Zverejni je hotovy
|
||||||
@@ -117,7 +117,7 @@ function vykresliKatalog() {
|
|||||||
|
|
||||||
foreach($v as $p) {
|
foreach($v as $p) {
|
||||||
$output .= ' <tr>
|
$output .= ' <tr>
|
||||||
<td scope="row" class="col-6">'.$p->nazev.'</td>
|
<td scope="row" class="col-6">'.$p->rozmery.'</td>
|
||||||
<td class="col-2">'.$p->mj.'</sup></td>
|
<td class="col-2">'.$p->mj.'</sup></td>
|
||||||
<td class="text_vlevo col-2">'.$p->cena.'</td>
|
<td class="text_vlevo col-2">'.$p->cena.'</td>
|
||||||
<td class="text_vlevo col-2">'.$p->cenadph.'</td>
|
<td class="text_vlevo col-2">'.$p->cenadph.'</td>
|
||||||
|
|||||||
@@ -46,16 +46,9 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
<p class="sortiment_nadpis">Máme skladem</p>
|
<p class="sortiment_nadpis">Máme skladem:</p>
|
||||||
|
|
||||||
<div class="alert alert-danger" role="alert">
|
|
||||||
Vážení zákazníci, vzhledem k velkým změnám v ceníku jsou ceny řeziva zde uvedené neplatné. Pro aktuální ceny prosím volejte <b>733 126 552</b> nebo pište <b>zdenekbenes@seznam.cz</b>. Připravujeme aktualizaci ceníku.</b>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<div id="semdej"></div>
|
|
||||||
|
|
||||||
|
|
||||||
|
<div id="semdej"></div>
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user