JSFiddle - React, Tailwind, and code Playground
by gschutz
JavaScript
(function(){
var pedidos = new Array();
var Pedido = {
itens: [],
representante: false,
departamento: false,
adicionar_item: function(item){
var item = item || {};
Pedido.itens.push(item);
console.log('Item '+ Pedido.itens.indexOf(item) +' adicionado com sucesso');
},
remover_item: function(item){
// this 'indexOf' is not crossbrowser, can be changed to jQuery approach if needed, or define a prototype
var index = Pedido.itens.indexOf(item);
if (index > -1) {
array.splice(index, 1);
console.log('Item '+ index +' removido com sucesso');
} else {
console.log('O item especificado não foi encontrado.');
}
},
fechar_pedido: function(){
if( !Pedido.departamento )
console.log('Departamento é obrigatório.');
if( !Pedido.representante )
console.log('Representante de Vendas é obrigatório.');
var comissao = {},
comissao_liquida = 0,
venda_bruta_comissionada = 0;
for( i in Pedido.itens ) {
item = Pedido.itens[i];
comissao = Pedido.calcular_comissao(item.departamento, item.valor);
comissao_liquida += comissao.liquida;
venda_bruta_comissionada += item.valor;
}
Pedido.venda_bruta_comissionada = venda_bruta_comissionada;
Pedido.comissao_liquida = comissao_liquida;
Pedido.percentual_comissao = comissao_liquida/venda_bruta_comissionada;
Pedido.valor_nf = Pedido.venda_bruta_comissionada + Pedido.comissao_liquida;
Pedido.numero_nf = pedidos.length + 1;
console.log(Pedido);
return Pedido;
},
calcular_comissao: function(departamento, valor_total)...