//appdb.dbfile = this.cfg.dbfile;
appdb.url = decodeURIComponent(this.cfg.serviceurl) + 'sqlite/' + decodeURIComponent(this.cfg.dbfile);
}
-}
\ No newline at end of file
+}
<th data-sortable="true">Kunden-Nr.</th>
<th data-sortable="true">Company / Name</th>
<th data-sortable="true">Adresse</th>
- <th data-sortable="true">PLZ</th>
- <th data-sortable="true">Ort</th>
- <th data-sortable="true">Land</th>
<th data-sortable="true">E-mail</th>
<th data-sortable="true">Telefon</th>
<tfoot></tfoot>
function loadtable(){
- // var sql = 'select ij.id,ij.byear,ij.date as datesortable, STRFTIME("%d.%m.%Y",ij.date) as date,ij.id,rec.company as recepient, sen.company as sender,ij.reference, ' +
- // 'printf("%.2f",CAST(sum(pos.quantity * pos.unitamount) as real)) as netamount, ' +
- // 'printf("%.2f",CAST(case when pos.taxpercent > 0 then sum(pos.taxpercent * pos.quantity * pos.unitamount) else 0.0 end AS REAL)) as taxamount, ' +
- // 'printf("%.2f",CAST(sum(pos.quantity * pos.unitamount) + case when pos.taxpercent > 0 then sum(pos.taxpercent * pos.quantity * pos.unitamount) else 0.0 end AS real)) as totalamount, ' +
- // 'printf("%.2f",COALESCE(ij.payedamount,0.0)) as payedamount, ' +
- // 'ij.status ' +
- // 'from invoicejournal ij ' +
- // 'left join invoicepositions pos on (ij.id=pos.id_invoice) ' +
- // 'left join accounts rec on (ij.id_receipient = rec.id) ' +
- // 'left join accounts sen on (ij.id_sender = sen.id) where ij.byear=' + cfg.byear +' group by pos.id_invoice order by date desc;';
- // var data = appdb.dbquery(sql);
- // //console.log(data.sqldata);
- // for (var i in data.sqldata){
- // var cstatus = "secondary";
- // if (data.sqldata[i].status== "bezahlt"){ cstatus = "success"; }
- // if (data.sqldata[i].status== "überfällig"){ cstatus = "danger"; }
- // if (data.sqldata[i].status== "verschickt"){ cstatus = "warning"; }
- // var acolor = "";
- // if (data.sqldata[i].totalamount.startsWith("-")){ acolor = "text-danger"; }
- // var row = '<tr id="' +data.sqldata[i].id + '">'+
- // '<td></td>' +
- // '<td><span class="d-none">'+data.sqldata[i].datesortable+'</span> ' + data.sqldata[i].date+ '</td>' +
- // '<td>' + data.sqldata[i].recepient+ '</td>' +
- // '<td>' + data.sqldata[i].sender+ '</td>' +
- // '<td>' + data.sqldata[i].reference+ '</td>' +
- // '<td class="btn-'+ cstatus+'">' + data.sqldata[i].status+ '</td>' +
- // '<td class="'+ acolor +'">' + data.sqldata[i].totalamount+ ' €</td>' +
-
- // '</tr>';
- // $("#tbl_invoices").append(row);
- // }
- $('#tbl_invoices').bootstrapTable({
+
+ var sql = 'SELECT id, company, prename,surname, address, zip, city, country, email, phone, mobile, ident FROM accounts;';
+ var data = appdb.dbquery(sql);
+ console.log(data.sqldata);
+ for (var i in data.sqldata){
+ var row = '<tr id="' +data.sqldata[i].id + '">'+
+ '<td></td>' +
+ '<td>' + data.sqldata[i].ident+ '</td>' +
+ '<td>' + data.sqldata[i].company + (( data.sqldata[i].company != null)?'<br/>':'') + data.sqldata[i].surname + ' ' + data.sqldata[i].surname + '</td>' +
+ '<td>' + data.sqldata[i].address+ ((data.sqldata[i].address != null)?'<br/>':'') + data.sqldata[i].zip + ' ' + data.sqldata[i].city + ((data.sqldata[i].country != null)?'<br/>':'')+ data.sqldata[i].country + '</td>' +
+ '<td>' + data.sqldata[i].email+ '</td>' +
+ '<td>' + data.sqldata[i].phone+ '</td>' +
+ '</tr>';
+ $("#tbl_accounts").append(row.replace(/null/g,''));
+ }
+ $('#tbl_accounts').bootstrapTable({
pagination: false,
search: false,
height: tblh,
function account_edit(){
- var inv_id= getTableSelectionID();
- if (inv_id){
- parent.browserapp.loadmodulepage('addresses','account',{"id":inv_id});
+ var id= getTableSelectionID();
+ if (id){
+ parent.browserapp.loadmodulepage('accounts','form_account',{"id":d});
}
}
}
function getTableSelectionIDs(){
- var sel = $('#tbl_invoices').bootstrapTable('getSelections');
+ var sel = $('#tbl_accounts').bootstrapTable('getSelections');
var ids = [];
if (sel){
for (var s in sel){
</select>
</div>
</div>
+ <div class="col-md-4">
+ <div class="form-group">
+ <label for="name">Dimension</label>
+ <input type="text" list="papertypelist" class="form-control" id="papertype" name="papertype" />
+ <datalist id="papertypelist">
+ <option value="A4">A4</option>
+ <option value="A5">A5</option>
+ </datalist>
+ </div>
+ </div>
</div>
<div class="row">
- <div class="col-md-8 bg-secondary" style="padding: 20px; overflow-y: scroll; height: 75vh;">
+
+ <div class="col-md-4 bg-secondary" style="padding: 20px; overflow: scroll; height: 75vh;">
<h5>Seite 1</h5>
- <div style="border: 1px solid red; width: 595px; height: 842px; background-color: #fff">
+ <div style="border: 1px solid red; width: 595px; height: 842px; background-color: #fff" id="tmplpage1">
</div>
<h5>Seite 2</h5>
- <div style="border: 1px solid red; width: 595px; height: 842px; background-color: #fff">
+ <div style="border: 1px solid red; width: 595px; height: 842px; background-color: #fff" id="tmplpage2">
</div>
</div>
- <div class="col-md-4">
+ <div class="col-md-8">
<div class="form-group">
- <label for="element">Element</label>
- <select class="form-control" id="name" name="name">
- <option value="name1">Name 1</option>
- <option value="name1">Name 2</option>
+ <div class="input-group form-inline">
+ <label for="element" class="col-sm-1">Element</label>
+ <select class="form-control col-sm-6" id="pte_id" name="pte_id">
</select>
+ <label for="pte_type" class="col-sm-1">Type</label>
+ <select class="form-control col-sm-6" id="pte_type" name="pte_type">
+ <option value="image">Bild</a>
+ <option value="line">Linie</a>
+ <option value="text">Text</a>
+ <option value="richtext">Rich-Text</a>
+ <option value="table">Tabelle</a>
+ </select>
+ </div>
+ </div>
+ <div style="padding: 2px; overflow-y: scroll; height: 60vh;">
+ <div id="pte_type_image" >
+ <div class="form-group">
+ <label for="ptedata_src">src</label>
+ <input type="file" class="form-control" id="ptedata_src" name="ptedata_src" />
+ </div>
+ <div class="form-group">
+ <div class="input-group form-inline">
+ <label for="ptedata_x" class="col-sm-1">X</label>
+ <input type="number" class="form-control col-sm-3" id="ptedata_x" name="ptedata_x" />
+ <label for="ptedata_y" class="col-sm-1">Y</label>
+ <input type="number" class="form-control col-sm-3" id="ptedata_y" name="ptedata_y" />
+ <label for="ptedata_y" class="col-sm-1">Width</label>
+ <input type="number" class="form-control col-sm-3" id="ptedata_width" name="ptedata_width" />
+ </div>
+ </div>
+ </div>
+ <div id="pte_type_line" >
+ <div class="form-group">
+ <div class="input-group form-inline">
+ <label for="ptedata_x" class="col-sm-1">Color</label>
+ <input type="number" class="form-control col-sm-3" id="ptedata_color" name="ptedata_color" />
+ <label for="ptedata_x" class="col-sm-1">Width</label>
+ <input type="number" class="form-control col-sm-3" id="ptedata_width" name="ptedata_width" />
+ </div>
+ </div>
+ <div class="form-group">
+ <div class="input-group form-inline">
+ <label for="ptedata_x" class="col-sm-1">start X</label>
+ <input type="number" class="form-control col-sm-3" id="ptedata_start_x" name="ptedata_start_x" />
+ <label for="ptedata_x" class="col-sm-1">start Y</label>
+ <input type="number" class="form-control col-sm-3" id="ptedata_start_y" name="ptedata_start_y" />
+ <label for="ptedata_x" class="col-sm-1">End X</label>
+ <input type="number" class="form-control col-sm-3" id="ptedata_end_x" name="ptedata_end_x" />
+ <label for="ptedata_x" class="col-sm-1">End Y</label>
+ <input type="number" class="form-control col-sm-3" id="ptedata_end_y" name="ptedata_end_y" />
+ </div>
+ </div>
+ </div>
</div>
+
</div>
</div>
function initpage(){
console.log(parent.usersystem.getsysinfo());
+ if (mpref.cfg.id){
+ gettemplatedata(mpref.cfg.id);
+ } else {
+ //load default new invoice data
+ }
//parent.usersystem.setProperty("testproperty",{id:"TEST"});
+}
+
+function gettemplatedata(id){
+ var sql = "select * from printtemplates where id='"+ id +"';";
+ var data = appdb.dbquery(sql);
+ if (data.sqldata){
+ for (var i in data.sqldata[0]){
+ if ($("#" + i).prop("tagName") == "SELECT"){
+ $("#" + i).val(data.sqldata[0][i]);
+ } else if ($("#" + i).prop("tagName") == "INPUT" ) {
+ console.log(i + ">=" + data.sqldata[0][i]);
+ $("#" + i).val(data.sqldata[0][i]);
+ } else {
+ $("#" + i).html(data.sqldata[0][i]);
+ }
+ }
+ }
+}
+
+function gettemplateelements(id_printtemplate){
+ var sql ="select id,name from printtemplateelements where id_printtemplate='"+ id_printtemplate +"';";
+ var data = appdb.dbquery(sql);
+ for (var i in data.sqldata){
+
+ }
}
\ No newline at end of file
+var winh = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);
+var tblh = winh-54;
+
function initpage(){
-
+ loadtable();
}
+function loadtable(){
+ var sql = "SELECT id, name,'Druck' as form,'printtemplate' as formtmpl, \"type\", lang,isdefault FROM printtemplates;";
+ var data = appdb.dbquery(sql);
+ for (var i in data.sqldata){
+ var row = '<tr id="' +data.sqldata[i].id + '" data-tmpl="'+ data.sqldata[i].formtmpl+'">'+
+ '<td></td>' +
+ '<td>' + data.sqldata[i].name+ '</td>' +
+ '<td>' + data.sqldata[i].lang + '</td>' +
+ '<td>' + data.sqldata[i].form + '</td>' +
+ '<td>' + data.sqldata[i].type+ '</td>' +
+ '<td>' + data.sqldata[i].isdefault+ '</td>' +
+ '</tr>';
+ $("#tbl_templates").append(row.replace(/null/g,''));
+ }
+ $('#tbl_templates').bootstrapTable({
+ pagination: false,
+ search: false,
+ height: tblh,
+ clickToSelect: true
+ });
+}
function template_edit(){
-
+ var id= getTableSelectionID();
+ if (id){
+ if ($("#" + id ).data("tmpl") == 'printtemplate'){
+ printtemplate.edit(id);
+ }
+ }
}
function template_duplicate(){
function template_delete(){
+}
+
+function getTableSelectionID(){
+ var sel = $('#tbl_templates').bootstrapTable('getSelections');
+ var id = null;
+
+ if (sel){ id=sel[0]._id; }
+ console.log("Selected ID:" + id);
+ return id;
+}
+
+function getTableSelectionIDs(){
+ var sel = $('#tbl_templates').bootstrapTable('getSelections');
+ var ids = [];
+ if (sel){
+ for (var s in sel){
+ ids.push(s._id);
+ }
+ }
+ return ids;
}
\ No newline at end of file
new: function(){
parent.browserapp.loadmodulepage('templates','form_printtemplate',{"id":""});
},
- edit: function(){
-
+ edit: function(id){
+ parent.browserapp.loadmodulepage('templates','form_printtemplate',{"id":id});
},
duplicate: function(){