UI Ticket a factura
This commit is contained in:
parent
c7bd84f9bf
commit
937329bd9c
|
@ -5,8 +5,11 @@ var msg = ''
|
||||||
var tickets_controllers = {
|
var tickets_controllers = {
|
||||||
init: function(){
|
init: function(){
|
||||||
$$('cmd_nuevo_ticket').attachEvent('onItemClick', cmd_nuevo_ticket_click)
|
$$('cmd_nuevo_ticket').attachEvent('onItemClick', cmd_nuevo_ticket_click)
|
||||||
|
$$('cmd_ticket_to_invoice').attachEvent('onItemClick', cmd_ticket_to_invoice_click)
|
||||||
$$('cmd_generar_ticket').attachEvent('onItemClick', cmd_generar_ticket_click)
|
$$('cmd_generar_ticket').attachEvent('onItemClick', cmd_generar_ticket_click)
|
||||||
$$('cmd_cerrar_ticket').attachEvent('onItemClick', cmd_cerrar_ticket_click)
|
$$('cmd_cerrar_ticket').attachEvent('onItemClick', cmd_cerrar_ticket_click)
|
||||||
|
$$('cmd_new_invoice_from_ticket').attachEvent('onItemClick', cmd_new_invoice_from_ticket_click)
|
||||||
|
$$('cmd_close_ticket_invoice').attachEvent('onItemClick', cmd_cerrar_ticket_click)
|
||||||
$$('cmd_cancelar_ticket').attachEvent('onItemClick', cmd_cancelar_ticket_click)
|
$$('cmd_cancelar_ticket').attachEvent('onItemClick', cmd_cancelar_ticket_click)
|
||||||
$$('tsearch_product_key').attachEvent('onKeyPress', tsearch_product_key_press)
|
$$('tsearch_product_key').attachEvent('onKeyPress', tsearch_product_key_press)
|
||||||
$$('grid_tdetails').attachEvent('onItemClick', grid_ticket_details_click)
|
$$('grid_tdetails').attachEvent('onItemClick', grid_ticket_details_click)
|
||||||
|
@ -14,6 +17,7 @@ var tickets_controllers = {
|
||||||
$$('gt_productos_found').attachEvent('onValueSuggest', gt_productos_found_click)
|
$$('gt_productos_found').attachEvent('onValueSuggest', gt_productos_found_click)
|
||||||
$$('filter_year_ticket').attachEvent('onChange', filter_year_ticket_change)
|
$$('filter_year_ticket').attachEvent('onChange', filter_year_ticket_change)
|
||||||
$$('filter_month_ticket').attachEvent('onChange', filter_month_ticket_change)
|
$$('filter_month_ticket').attachEvent('onChange', filter_month_ticket_change)
|
||||||
|
$$('chk_is_invoice_day').attachEvent('onChange', chk_is_invoice_day_change)
|
||||||
|
|
||||||
webix.extend($$('grid_tickets'), webix.ProgressBar)
|
webix.extend($$('grid_tickets'), webix.ProgressBar)
|
||||||
}
|
}
|
||||||
|
@ -83,6 +87,11 @@ function configuracion_inicial_ticket(){
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function configuracion_inicial_ticket_to_invoice(){
|
||||||
|
//~ get_active_tickets()
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
function configuracion_inicial_nuevo_ticket(){
|
function configuracion_inicial_nuevo_ticket(){
|
||||||
var grid = $$('grid_tdetails')
|
var grid = $$('grid_tdetails')
|
||||||
|
|
||||||
|
@ -104,6 +113,12 @@ function cmd_nuevo_ticket_click(){
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function cmd_ticket_to_invoice_click(){
|
||||||
|
configuracion_inicial_ticket_to_invoice()
|
||||||
|
$$('multi_tickets').setValue('tickets_invoice')
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
function validar_ticket(){
|
function validar_ticket(){
|
||||||
var grid = $$('grid_tdetails')
|
var grid = $$('grid_tdetails')
|
||||||
|
|
||||||
|
@ -195,6 +210,7 @@ function cmd_cerrar_ticket_click(){
|
||||||
$$('multi_tickets').setValue('tickets_home')
|
$$('multi_tickets').setValue('tickets_home')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function calcular_precio_con_impuestos(precio, taxes){
|
function calcular_precio_con_impuestos(precio, taxes){
|
||||||
var precio_final = precio
|
var precio_final = precio
|
||||||
|
|
||||||
|
@ -392,3 +408,14 @@ function cmd_cancelar_ticket_click(){
|
||||||
})
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function chk_is_invoice_day_change(new_value, old_value){
|
||||||
|
var value = Boolean(new_value)
|
||||||
|
show('fs_ticket_search_client', !value)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function cmd_new_invoice_from_ticket_click(){
|
||||||
|
showvar('ok')
|
||||||
|
}
|
|
@ -3,6 +3,8 @@
|
||||||
var toolbar_tickets = [
|
var toolbar_tickets = [
|
||||||
{view: 'button', id: 'cmd_nuevo_ticket', label: 'Nuevo', type: 'iconButton',
|
{view: 'button', id: 'cmd_nuevo_ticket', label: 'Nuevo', type: 'iconButton',
|
||||||
autowidth: true, icon: 'plus'},
|
autowidth: true, icon: 'plus'},
|
||||||
|
{view: 'button', id: 'cmd_ticket_to_invoice', label: 'Facturar',
|
||||||
|
type: 'iconButton', autowidth: true, icon: 'file-code-o'},
|
||||||
{},
|
{},
|
||||||
{view: 'button', id: 'cmd_cancelar_ticket', label: 'Cancelar',
|
{view: 'button', id: 'cmd_cancelar_ticket', label: 'Cancelar',
|
||||||
type: 'iconButton', autowidth: true, icon: 'ban'},
|
type: 'iconButton', autowidth: true, icon: 'ban'},
|
||||||
|
@ -95,7 +97,7 @@ var ticket_suggest_products = {
|
||||||
this.hide()
|
this.hide()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -192,6 +194,154 @@ var controls_generate_ticket = [
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
var toolbar_ticket_invoice = {view: 'toolbar', elements: [{},
|
||||||
|
{view: 'checkbox', id: 'chk_is_invoice_day', labelWidth: 0, width: 150,
|
||||||
|
labelRight: 'Es factura del día'},
|
||||||
|
{}]}
|
||||||
|
|
||||||
|
|
||||||
|
var tsuggest_partners = {
|
||||||
|
view: 'gridsuggest',
|
||||||
|
id: 'grid_tclients_found',
|
||||||
|
name: 'grid_tclients_found',
|
||||||
|
body: {
|
||||||
|
autoConfig: false,
|
||||||
|
header: false,
|
||||||
|
columns: [
|
||||||
|
{id: 'id', hidden: true},
|
||||||
|
{id: 'nombre', adjust: 'data'},
|
||||||
|
{id: 'rfc', adjust: 'data'},
|
||||||
|
{id: 'forma_pago', hidden: true},
|
||||||
|
{id: 'uso_cfdi', hidden: true},
|
||||||
|
],
|
||||||
|
dataFeed:function(text){
|
||||||
|
if (text.length > 2){
|
||||||
|
this.load('/values/client?name=' + text)
|
||||||
|
}else{
|
||||||
|
this.hide()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
var ticket_search_client = {cols: [{rows: [
|
||||||
|
{view: 'fieldset', id: 'fs_ticket_search_client', label: 'Buscar Cliente', body: {rows: [
|
||||||
|
{cols: [
|
||||||
|
{view: 'search', id: 'tsearch_client_key', name: 'tsearch_client_key',
|
||||||
|
label: 'por Clave', labelPosition: 'top', maxWidth: 250,
|
||||||
|
placeholder:'Presiona ENTER para buscar'},
|
||||||
|
{view: 'search', id: 'tsearch_client_name',
|
||||||
|
name: 'tsearch_client_name', label: 'por Nombre o RFC',
|
||||||
|
labelPosition: 'top', suggest: tsuggest_partners,
|
||||||
|
placeholder: 'Captura al menos tres letras'},
|
||||||
|
]},
|
||||||
|
{cols: [
|
||||||
|
{view: 'label', id: 'lbl_tclient_title', autowidth:true,
|
||||||
|
name: "lbl_tclient_title", label: 'Seleccionado: ' },
|
||||||
|
{view: 'label', id: 'lbl_tclient', name: 'lbl_tclient',
|
||||||
|
label: 'Ninguno'},
|
||||||
|
]}
|
||||||
|
]}},
|
||||||
|
]},]}
|
||||||
|
|
||||||
|
|
||||||
|
var grid_tickets_active_cols = [
|
||||||
|
{id: 'index', header: '#', adjust: 'data', css: 'right',
|
||||||
|
footer: {content: 'countRows', colspan: 3, css: 'right'}},
|
||||||
|
{id: "id", header:"ID", hidden:true},
|
||||||
|
{id: "serie", header: ["Serie", {content: "selectFilter"}], adjust: "data",
|
||||||
|
sort:"string", hidden: true},
|
||||||
|
{id: 'folio', header: ['Folio', {content: 'numberFilter'}], adjust: 'header',
|
||||||
|
sort: 'int', css: 'right', footer: {text: 'Tickets', colspan: 3}},
|
||||||
|
{id: "fecha", header: ["Fecha y Hora"],
|
||||||
|
adjust: "data", sort: "string"},
|
||||||
|
{id: 'total', header: 'Total', width: 150,sort: 'int',
|
||||||
|
format: webix.i18n.priceFormat, css: 'right'},
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
var grid_tickets_active = {
|
||||||
|
view: 'datatable',
|
||||||
|
id: 'grid_tickets_active',
|
||||||
|
select: 'row',
|
||||||
|
adjust: true,
|
||||||
|
footer: true,
|
||||||
|
resizeColumn: true,
|
||||||
|
headermenu: true,
|
||||||
|
columns: grid_tickets_active_cols,
|
||||||
|
on:{
|
||||||
|
'data->onStoreUpdated':function(){
|
||||||
|
this.data.each(function(obj, i){
|
||||||
|
obj.index = i + 1
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
var grid_tickets_invoice_cols = [
|
||||||
|
{id: 'index', header: '#', adjust: 'data', css: 'right',
|
||||||
|
footer: {content: 'countRows', colspan: 3, css: 'right'}},
|
||||||
|
{id: "id", header:"ID", hidden:true},
|
||||||
|
{id: "serie", header: ["Serie", {content: "selectFilter"}], adjust: "data",
|
||||||
|
sort:"string", hidden: true},
|
||||||
|
{id: 'folio', header: 'Folio', adjust: 'header', sort: 'int',
|
||||||
|
css: 'right', footer: {text: 'Tickets', colspan: 3}},
|
||||||
|
{id: "fecha", header: ["Fecha y Hora"],
|
||||||
|
adjust: "data", sort: "string"},
|
||||||
|
{id: 'total', header: 'Total', width: 150,sort: 'int',
|
||||||
|
format: webix.i18n.priceFormat, css: 'right'},
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
var grid_tickets_invoice = {
|
||||||
|
view: 'datatable',
|
||||||
|
id: 'grid_tickets_invoice',
|
||||||
|
select: 'row',
|
||||||
|
adjust: true,
|
||||||
|
footer: true,
|
||||||
|
resizeColumn: true,
|
||||||
|
headermenu: true,
|
||||||
|
columns: grid_tickets_invoice_cols,
|
||||||
|
on:{
|
||||||
|
'data->onStoreUpdated':function(){
|
||||||
|
this.data.each(function(obj, i){
|
||||||
|
obj.index = i + 1
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
var controls_ticket_to_invoice = [
|
||||||
|
{minHeight: 10, maxHeight: 10},
|
||||||
|
toolbar_ticket_invoice,
|
||||||
|
{minHeight: 10, maxHeight: 10},
|
||||||
|
ticket_search_client,
|
||||||
|
{minHeight: 5, maxHeight: 5},
|
||||||
|
{cols:[
|
||||||
|
{rows: [{view: 'label', label: 'Tickets sin facturar', height: 30, align: 'left'}, grid_tickets_active]},
|
||||||
|
{minWidth: 10, maxWidth: 10},
|
||||||
|
{rows: [{view: 'label', label: 'Tickets a facturar', height: 30, align: 'left'}, grid_tickets_invoice]},
|
||||||
|
]},
|
||||||
|
{minHeight: 20, maxHeight: 20},
|
||||||
|
{margin: 20, cols: [{},
|
||||||
|
{view: 'button', id: 'cmd_new_invoice_from_ticket', label: 'Facturar',
|
||||||
|
icon: 'ticket', type: 'iconButton', autowidth: true, align: 'center'},
|
||||||
|
{}]
|
||||||
|
},
|
||||||
|
{rows: [
|
||||||
|
{template: '', type: 'section'},
|
||||||
|
{margin: 10, cols: [{},
|
||||||
|
{view: 'button', id: 'cmd_close_ticket_invoice', label: 'Cerrar',
|
||||||
|
type: 'danger', autowidth: true, align: 'center'}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
var controls_new_ticket = [
|
var controls_new_ticket = [
|
||||||
{
|
{
|
||||||
view: 'tabview',
|
view: 'tabview',
|
||||||
|
@ -204,6 +354,18 @@ var controls_new_ticket = [
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
var controls_ticket_invoice = [
|
||||||
|
{
|
||||||
|
view: 'tabview',
|
||||||
|
id: 'tv_ticket_invoice',
|
||||||
|
animate: true,
|
||||||
|
cells: [
|
||||||
|
{id: 'Facturar Tickets', rows: controls_ticket_to_invoice},
|
||||||
|
]
|
||||||
|
},
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
var form_new_ticket = {
|
var form_new_ticket = {
|
||||||
type: 'space',
|
type: 'space',
|
||||||
responsive: true,
|
responsive: true,
|
||||||
|
@ -213,7 +375,20 @@ var form_new_ticket = {
|
||||||
complexData: true,
|
complexData: true,
|
||||||
scroll: true,
|
scroll: true,
|
||||||
elements: controls_new_ticket,
|
elements: controls_new_ticket,
|
||||||
}]
|
}],
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
var form_ticket_invoice = {
|
||||||
|
type: 'space',
|
||||||
|
responsive: true,
|
||||||
|
cols: [{
|
||||||
|
view: 'form',
|
||||||
|
id: 'form_ticket_invoice',
|
||||||
|
complexData: true,
|
||||||
|
scroll: true,
|
||||||
|
elements: controls_ticket_invoice,
|
||||||
|
}],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -223,7 +398,8 @@ var multi_tickets = {
|
||||||
animate: true,
|
animate: true,
|
||||||
cells:[
|
cells:[
|
||||||
{id: 'tickets_home', rows: rows_tickets_home},
|
{id: 'tickets_home', rows: rows_tickets_home},
|
||||||
{id: 'tickets_new', rows:[form_new_ticket]}
|
{id: 'tickets_new', rows:[form_new_ticket]},
|
||||||
|
{id: 'tickets_invoice', rows:[form_ticket_invoice]}
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue