Buscar cliente

This commit is contained in:
Mauricio Baeza 2017-10-05 12:16:20 -05:00
parent e6c48d239d
commit 26b2702114
6 changed files with 95 additions and 13 deletions

View File

@ -51,6 +51,9 @@ class StorageEngine(object):
return main.Productos.remove(id)
return False
def _get_partner(self, values):
return main.Socios.get_by(values)
def get_partners(self, values):
return main.Socios.get_(values)

View File

@ -415,6 +415,29 @@ class Socios(BaseModel):
rows = Socios.select(Socios.id, Socios.rfc, Socios.nombre).dicts()
return {'ok': True, 'rows': tuple(rows)}
@classmethod
def get_by(cls, values):
id = int(values.get('id', 0))
if id:
row = (Socios
.select(Socios.id, Socios.nombre, Socios.rfc)
.where(Socios.id==id).dicts())
if len(row):
return {'ok': True, 'row': row[0]}
return {'ok': False}
name = values.get('name', '')
if name:
rows = (Socios
.select(Socios.id, Socios.nombre, Socios.rfc)
.where(
Socios.rfc.contains(name) |
Socios.nombre.contains(name))
.dicts())
print (tuple(rows))
return tuple(rows)
return {'ok': False}
@classmethod
def add(cls, values):
fields = cls._clean(cls, values)

View File

@ -25,6 +25,11 @@
color: DarkRed;
}
.lbl_partner {
font-weight: bold;
font-size: 125%;
}
.cmd_close_partner div button {
background-color: red !important;
border-color: red !important;

View File

@ -108,3 +108,53 @@ function cmd_timbrar_click(id, e, node){
function cmd_close_invoice_click(id, e, node){
$$('multi_invoices').setValue('invoices_home')
}
function search_partner_by_id(id){
var msg = ''
webix.ajax().get('/values/partner', {'id': id}, {
error: function(text, data, xhr) {
webix.message({type: 'error', text: 'Error al consultar'})
},
success: function(text, data, xhr){
var values = data.json()
if (values.ok){
set_partner(values.row)
}else{
msg = 'No se encontró un cliente con la clave: ' + id
webix.message({type:'error', text: msg})
}
}
})
}
function set_partner(row){
var form = $$('form_invoice')
var html = '<span class="webix_icon fa-user"></span><span class="lbl_partner">'
form.setValues({
id_partner:row.id, search_partner_id:'', search_partner_name:''}, true)
html += row.nombre + ' (' + row.rfc + ')</span>'
$$('lbl_partner').setValue(html)
form.focus('search_product_id')
}
function grid_partners_found_click(obj){
set_partner(obj)
}
function search_partner_id_key_press(code, e){
var value = this.getValue()
if(code == 13 && value.length > 0){
var id = parseInt(value, 10)
if (isNaN(id)){
webix.message({type:'error', text:'Captura una clave válida'});
}else{
search_partner_by_id(id)
}
}
}

View File

@ -29,13 +29,15 @@ var controllers = {
$$("chk_automatica").attachEvent("onChange", chk_automatica_change)
$$("valor_unitario").attachEvent("onChange", valor_unitario_change)
//~ Invoices
$$("cmd_new_invoice").attachEvent("onItemClick", cmd_new_invoice_click);
$$("cmd_edit_invoice").attachEvent("onItemClick", cmd_edit_invoice_click);
$$("cmd_delete_invoice").attachEvent("onItemClick", cmd_delete_invoice_click);
$$("cmd_new_invoice").attachEvent("onItemClick", cmd_new_invoice_click)
$$("cmd_edit_invoice").attachEvent("onItemClick", cmd_edit_invoice_click)
$$("cmd_delete_invoice").attachEvent("onItemClick", cmd_delete_invoice_click)
$$('cmd_timbrar').attachEvent('onItemClick', cmd_timbrar_click)
$$('cmd_close_invoice').attachEvent('onItemClick', cmd_close_invoice_click)
$$('search_partner_id').attachEvent('onKeyPress', search_partner_id_key_press)
$$('grid_partners_found').attachEvent('onValueSuggest', grid_partners_found_click);
}
};
}
function get_partners(){

View File

@ -105,7 +105,10 @@ var suggest_partners = {
body: {
autoConfig: false,
header: false,
columns: [{id:"id", hidden: true}, {id:'name', adjust:'data'}, {id:'rfc', adjust:'data'}],
columns: [
{id: 'id', hidden: true},
{id: 'nombre', adjust: 'data'},
{id: 'rfc', adjust: 'data'}],
dataFeed:function(text){
if (text.length > 2){
this.load('/values/partner?name=' + text)
@ -179,13 +182,6 @@ var opt_metodo_pago = [
]
//~ var body_serie_folio = {
//~ view: 'richselect',
//~ id: 'cbo_serie_folio',
//~ options: '/values/seriefolio'
//~ }
var body_opciones = {rows: [
{view: 'richselect', id: 'lst_forma_pago', label: 'Forma de Pago',
labelPosition: 'top', required: true, options: []},
@ -222,7 +218,10 @@ var controls_generate = [
{view:"search", id:"search_partner_id", name:"search_partner_id",
label:"por Clave", labelPosition:'top', maxWidth:200,
placeholder:'Captura la clave'},
{view:"search", id:"search_partner_name", name:"search_partner_name", label:"por Nombre o RFC", labelPosition:'top', suggest:suggest_partners, placeholder:'Captura al menos tres letras'},
{view: 'search', id: 'search_partner_name',
name: 'search_partner_name', label: 'por Nombre o RFC',
labelPosition: 'top', suggest: suggest_partners,
placeholder: 'Captura al menos tres letras'},
]},
{cols: [{view: "label", id: "lbl_partner_title", name: "lbl_partner_title", label: 'Seleccionado: ', autowidth:true},
{view: "label", id: "lbl_partner", name: "lbl_partner", label: 'Ninguno'},