Buscar cliente
This commit is contained in:
parent
e6c48d239d
commit
26b2702114
|
@ -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)
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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(){
|
||||
|
|
|
@ -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'},
|
||||
|
|
Loading…
Reference in New Issue