Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

LEO8789

Calculo de porcentagem de lucro em javascript

Recommended Posts

Ola eu trabalho em uma otica preciso fazer um codigo javascript

para calculo dinamico de porcentagem de lucro de vendas

tem uma promocao onde na compra de um oculos voce leva dois

sendo assim preciso que o codigo calcule a margem de lucro

entre um oculos e o outro por exemplo:

valor da armacao=300

valor armacao gratis=150

porcentagem de lucro = 50%

 

 

 

Esse aqui e o codigo que eu tentei fazer dar certo: X)

 

<html>

<head>

<title>Planilha de venda</title>

 

<link rel="stylesheet" type="text/css" href="donuts.css" />

 

<script type="text/javascript">

 

function MascaraMoeda(objTextBox, SeparadorMilesimo, SeparadorDecimal, e){

var sep = 0;

var key = '';

var i = j = 0;

var len = len2 = 0;

var strCheck = '0123456789';

var aux = aux2 = '';

var whichCode = (window.Event) ? e.which : e.keyCode;

if (whichCode == 13) return true;

key = String.fromCharCode(whichCode); // Valor para o código da Chave

if (strCheck.indexOf(key) == -1) return false; // Chave inválida

len = objTextBox.value.length;

for(i = 0; i < len; i++)

if ((objTextBox.value.charAt(i) != '0') && (objTextBox.value.charAt(i) != SeparadorDecimal)) break;

aux = '';

for(; i < len; i++)

if (strCheck.indexOf(objTextBox.value.charAt(i))!=-1) aux += objTextBox.value.charAt(i);

aux += key;

len = aux.length;

if (len == 0) objTextBox.value = '';

if (len == 1) objTextBox.value = '0'+ SeparadorDecimal + '0' + aux;

if (len == 2) objTextBox.value = '0'+ SeparadorDecimal + aux;

if (len > 2) {

aux2 = '';

for (j = 0, i = len - 3; i >= 0; i--) {

if (j == 3) {

aux2 += SeparadorMilesimo;

j = 0;

}

aux2 += aux.charAt(i);

j++;

}

objTextBox.value = '';

len2 = aux2.length;

for (i = len2 - 1; i >= 0; i--)

objTextBox.value += aux2.charAt(i);

objTextBox.value += SeparadorDecimal + aux.substr(len - 2, len);

}

return false;

}

 

 

function updateOrder() {

const TAXRATE = 0.0925;

const DONUTPRICE = 0.50;

var numCakeDonuts = parseDonuts(document.getElementById("cakedonuts").value);

var numGlazedDonuts = parseDonuts(document.getElementById("glazeddonuts").value);

if (isNaN(numCakeDonuts))

numCakeDonuts = 0;

if (isNaN(numGlazedDonuts))

numGlazedDonuts = 0;

var subTotal = (numCakeDonuts + numGlazedDonuts) * DONUTPRICE;

var tax = subTotal * TAXRATE;

var total = subTotal + tax;

document.getElementById("subtotal").value = "$" + subTotal.toFixed(2);

document.getElementById("tax").value = "$" + tax.toFixed(2);

document.getElementById("total").value = "$" + total.toFixed(2);

}

 

function parseDonuts(donutString) {

numDonuts = parseInt(donutString);

if (donutString.indexOf("dozen") != -1)

numDonuts *= 12;

return numDonuts;

}

 

function placeOrder(form) {

if (document.getElementById("name").value == "")

alert("I'm sorry but you must provide your name before submitting an order.");

else if (document.getElementById("pickupminutes").value == "" ||

isNaN(document.getElementById("pickupminutes").value))

alert("I'm sorry but you must provide the number of minutes until pick-up before submitting an order.");

else

// Submit the order to the server

form.submit();

}

</script>

</head>

 

<body>

 

<div id="frame">

<div class="heading">Duncan's Just-In-Time Donuts</div>

<div class="subheading">All donuts 50 cents each, cake or glazed!</div>

<div id="left">

<img src="donuttime.png" alt="Just-In-Time Donuts" />

</div>

<form name="orderform" action="donuts.php" method="POST">

<div class="field">

 

Name: <input type="text" id="name" name="name" value="" />

</div>

<div class="field">

# of cake donuts: <input type="text" id="cakedonuts" name="cakedonuts" value=""

onchange="updateOrder();" onKeyPress="return(MascaraMoeda(this,'.',',',event))"/>

</div>

<div class="field">

# of glazed donuts: <input type="text" id="glazeddonuts" name="glazeddonuts" value="" onKeyPress="return(MascaraMoeda(this,'.',',',event))"

onchange="updateOrder();" />

 

</div>

<div class="field">

Minutes 'til pickup: <input type="text" id="pickupminutes" name="pickupminutes" value="" />

</div>

<div class="field">

Subtotal: <input type="text" id="subtotal" name="subtotal" value="" readonly="readonly" />

</div>

<div class="field">

 

Tax: <input type="text" id="tax" name="tax" value="" readonly="readonly" />

</div>

<div class="field">

Total: <input type="text" id="total" name="total" value="" readonly="readonly" />

</div>

<div class="field">

<input type="button" value="Place Order" onclick="placeOrder(this.form);" />

</div>

 

</form>

</div>

</body>

</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz esse código quando precisei fazer um sistema pra uma loja virtual, ele tbm tem esquema caso você queira incluir uma taxa a mais (entrega)...

Veja se é isso que precisa []´s

<script language="javascript">

function zerar(){
	document.location.reload();
	
}


function somarPreco(){
	
	vCusto = document.getElementById("custo").value;
	vEntrega = document.getElementById("entrega").value;
	vLucro = document.getElementById("lucro").value;
	
	porcent = (Number(vLucro) / 100 ) * Number(vCusto);
	
	 document.getElementById("precoFinal").value = Number(porcent) + Number(vCusto) + Number(vEntrega);
	  
		
}

function subtraiTaxa(){
	
subtraiTaxa = document.getElementById("precoFinal").value * 0.064; 
document.getElementById("precoFinal").value = ((document.getElementById("precoFinal").value - Number(subtraiTaxa)) - 0.2);
document.getElementById("precoFinal").value = (Math.ceil(document.getElementById("precoFinal").value));
}

	
</script>

</head>
<body>
<table border="0" bgcolor="#CCCCCC">
<form name="calcular" >
<tr align="center">
<td>Preço</td>
<td>Entrega</td>
<td></td>
</tr>
<br />
<tr>
<td><input type="text" id="preco" name="custo"  /></td>
<td><input type="text" id="entrega"  name="entrega" /></td>
<td></td>
</tr>

<tr align="center">
<td>  </td>
<td> </td>
<td></td>
</tr>

<tr align="center">
<td>  </td>
<td> </td>
<td> </td>
</tr>

<tr align="center">
<td>Preço Final</td>
<td>
</td>
<td>Lucro (%)</td>
</tr>



<tr>
<td><input type="text" id="precoFinal"  /></td>
<td>
</td>
<td><input type="text" id="lucro"  name="lucro" /></td>
</tr>

<tr align="center">
<td><input type="button" value=" + " onclick="somarPreco();"  />
<input type="button" value="Zerar" onclick="zerar();"  /></td>
<td> </td>
<td></td>
</tr>


</table>
</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz esse novo script aqui

o problema

é que agora ta calculando mas uma compra que o valor de lucro seja

por exemplo 50% ta vindo assim 0.502132 em dizima periodica alguem ja passou por isso?

preciso tambem calcular o lucro bruto valor lucro em dinheiro

mas nao to conseguindo tambem preciso que as contas sejam feitas em numeros decimais com ponto

pois por enquanto so ta aceitando numero inteiro se eu ponho um decimal retorna NaN

isso se mostrou um projeto bem dificil até agora X)

se alguem puder me ajudar por favor é urgente..

 

 

 

 

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>PLANILHA DE VENDAS</title>

<style type="text/css">

<!--

.style1 {font-family: LINCOLN; font-size:55px}

-->

</style>

</head>

 

<body>

 

<span class="style1">Planilha de vendas</span>

<BR>

<?php

 

include ('menu.php');

 

?>

 

 

 

<script type="text/javascript">

 

 

 

 

 

function realiza_calculo()

{

var campo1 = document.getElementById('valor1').value;

var campo2 = document.getElementById('valor2').value;

var campo3 = document.getElementById('valor3').value;

var campo4 = document.getElementById('valor4').value;

var campo5 = document.getElementById('valor5').value;

var campo6 = document.getElementById('valor6').value;

 

 

var result =(campo2 + campo4 + campo6) * 100 / (campo1 + campo3 + campo5) ;

 

document.getElementById('resultado').value = result;

}

 

 

function realiza_calculo_bruto()

{

var campo1 = document.getElementById('valor1').value;

var campo2 = document.getElementById('valor2').value;

var campo3 = document.getElementById('valor3').value;

var campo4 = document.getElementById('valor4').value;

var campo5 = document.getElementById('valor5').value;

var campo6 = document.getElementById('valor6').value;

 

 

 

 

var resulta = (campo1 + campo3 + campo5) - (campo2 + campo4 + campo6);

 

document.getElementById('result').value = resulta;

}

 

 

 

 

 

 

</script>

 

 

 

 

 

 

<form action="incluir2.php" method="post" >

<p>Data:

<input type="text" name="data" value="<?php echo date ('d/m/Y') ?>" size="15" maxlength="10" />

</p>

<p>Ordem de Serviço:

<input type="text" name="os" value="" maxlength="4" size="8" />

e

<input type="text" name="os2" value="" size="8" maxlength="4" />

</p>

<p> Valor da venda: R$

<input type="text" name="valor_venda" value="" size="10" />

</p>

<p>  </p></td>

</tr>

<tr>

<td><p>Armação: Griffe:

<select name="arm_grife" >

<option value="NENHUM">NENHUM</option>

<option value="ASTEK">ASTEK</option>

<option value="ELEGANTE">ELEGANTTE</option>

<option value="G&G">G&G</option>

<option value="BRUTUS">BRUTUS</option>

<option value="X-VISION">X-VISION</option>

<option value="R.VENEZIANO">R. VENEZIANO</option>

<option value="ZK">ZK</option>

<option value="ZK KIDS">ZK KIDS</option>

<option value="RURUS">RURUS</option>

<option value="JEAN MARCELL">JEAN MARCELL</option>

<option value="JULIEN LAFOND">JULIEN LAFOND</option>

<option value="MARIE & JEAN">MARIE & JEAN</option>

<option value="FERRATI">FERRATI</option>

<option value="RENATA REGIS">RENATA REGIS</option>

<option value="BAD BOY">BAD BOY</option>

<option value="MC">MC</option>

<option value="MILDEX">MILDEX</option>

<option value="ARMAÇÃO CLIENTE">ARMAÇÃO CLIENTE</option>

<option value="Y NOT?">Y NOT?</option>

<option value="BOSSI">BOSSI</option>

<option value="INFINIT">INFINIT</option>

<option value="RENOMA">RENOMA</option>

<option value="BACARDDI">BACARDDI</option>

<option value="NG">NG</option>

<option value="YS">YS</option>

<option value="A.ONE">A.ONE</option>

<option value="DIMAS">DIMAS</option>

<option value="HR">HR</option>

<option value="BACARA">BACARA</option>

</select>

Modelo:

<input type="text" name="arm_modelo" value="" />

Tamanho:

<input type="text" name="arm_tamanho" value="" />

Cor:

<input type="text" name="arm_cor" value="" />

Valor R$:

<input type="text" name="arm_valor" value="" size="10" id="valor1" />

</p>

<p> </p></td>

</tr>

<tr>

<td>

<p>Armação: Griffe:

 

<select name="arm_grife2" >

<option value="NENHUM">NENHUM</option>

<option value="ASTEK">ASTEK</option>

<option value="ELEGANTE">ELEGANTTE</option>

<option value="G&G">G&G</option>

<option value="BRUTUS">BRUTUS</option>

<option value="X-VISION">X-VISION</option>

<option value="R.VENEZIANO">R. VENEZIANO</option>

<option value="ZK">ZK</option>

<option value="ZK KIDS">ZK KIDS</option>

<option value="RURUS">RURUS</option>

<option value="JEAN MARCELL">JEAN MARCELL</option>

<option value="JULIEN LAFOND">JULIEN LAFOND</option>

<option value="MARIE & JEAN">MARIE & JEAN</option>

<option value="FERRATI">FERRATI</option>

<option value="RENATA REGIS">RENATA REGIS</option>

<option value="BAD BOY">BAD BOY</option>

<option value="MC">MC</option>

<option value="MILDEX">MILDEX</option>

<option value="ARMAÇÃO CLIENTE">ARMAÇÃO CLIENTE</option>

<option value="Y NOT?">Y NOT?</option>

<option value="BOSSI">BOSSI</option>

<option value="INFINIT">INFINIT</option>

<option value="RENOMA">RENOMA</option>

<option value="BACARDDI">BACARDDI</option>

<option value="NG">NG</option>

<option value="YS">YS</option>

<option value="A.ONE">A.ONE</option>

<option value="DIMAS">DIMAS</option>

<option value="HR">HR</option>

<option value="BACARA">BACARA</option>

</select>

Modelo:

<input type="text" name="arm_modelo2" value="" />

Tamanho:

<input type="text" name="arm_tamanho2" value="" />

Cor:

<input type="text" name="arm_cor2" value="" />

Valor R$:

<input type="text" name="arm_valor2" value="" size="10" id="valor2"/>

</p>

<p> </p></td>

</tr>

<tr>

<td> <p>Lentes Tipo:

<input type="text" name="lentes_tipo" value="" />

Valor R$:

<input type="text" name="lentes_valor" value="" size="8" id="valor3" />

</p>

<p>  </p></td>

</tr>

<tr>

<td>

<p>Lentes Tipo:

<input type="text" name="lentes_tipo2" value="" />

Valor R$:

<input type="text" name="lentes_valor2" value="" size="8" id="valor4" />

</p>

<p>  </p></td>

</tr>

<tr>

<td>

<p>Montagem: Tipo:

<select name="mont_tipo" >

<option>Armação Simples</option>

<option>Armação Fio de Nylon</option>

<option>Armação Parafusada</option>

</select>

Valor R$:

<input type="text" name="mont_valor" size="8" value="" id="valor5" />

</p>

<p>  </p>

<p>Montagem: Tipo:

<select name="mont_tipo2" >

<option>Armação Simples</option>

<option>Armação Fio de Nylon</option>

<option>Armação Parafusada</option>

</select>

Valor R$:

<input type="text" name="mont_valor2" size="10" value="" id="valor6" />

</p>

<p> </p>

<p>Lucro Bruto R$:

<input type="text" name="lucro_bruto" id="result" size="10" value="" />

Porcentagem do Lucro:

<input name="porc_lucro" type="text" maxlength="5" size="5" readonly="readonly" value="" id="resultado" />

%</p>

<input type="button" id="calcular" value="calcular" onclick="realiza_calculo();">

<input type="button" id="calcular" value="calculo" onclick="realiza_calculo_bruto();">

<p> </p>

<p>Vendedor (a):

<input type="text" name="vendedor" size="80" />

</p>

<p> </p>

<p>Tipo de Venda:

<select name="tipo_venda" >

<option>À vista em Dinheiro</option>

<option>À vista em Cheque</option>

<option>À vista em CartÃo</option>

<option>Parcelado Cheque</option>

<option>Parcelado CartÃo</option>

</select>

Cartão:

<select name="cartao" >

<option>American Express</option>

<option>Cred Mais</option>

<option>Diners Club</option>

<option>Master Card</option>

<option>Master Card Maestro</option>

<option>Visa</option>

<option>Visa Eletron</option>

<option>Sorocred</option>

<option>Z&A Classic Card</option>

</select>

Quant. Parcelas:

<select name="quant_parc" >

<option>À vista</option>

<option>01</option>

<option>02</option>

<option>03</option>

<option>04</option>

<option>05</option>

<option>06</option>

<option>07</option>

<option>08</option>

<option>09</option>

<option>10</option>

<option>11</option>

<option>12</option>

</select>

</p>

 

<input type="submit" value="incluir" />

<input type="reset" value="limpar" />

</form>

</table>

 

</body>

</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.