Skip to content

Instantly share code, notes, and snippets.

@kenzouno1
Created June 7, 2017 15:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kenzouno1/e639e566a0eb83b884ccf1be461a178b to your computer and use it in GitHub Desktop.
Save kenzouno1/e639e566a0eb83b884ccf1be461a178b to your computer and use it in GitHub Desktop.
owjgBo
<html>
<head>
<meta charset="UTF-8">
<title>Dokin Caculator</title>
<link rel='stylesheet prefetch' href='https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha.6/css/bootstrap.min.css'>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<div class="container">
<div class="row">
<div class="col-md-6">
<h4>Đầu ca nhận:</h4>
<div class="form-group">
<input id="dauca" type="number" step="100000" class="form-control" placeholder="Đầu ca nhận vào" value="1000000">
<small></small>
</div>
</div><div class="col-md-6">
<h4>Số tiền cuối ca:</h4>
<div class="form-group">
<input id="cuoica" type="number" step="100000" class="form-control" placeholder="Cuối ca" value="">
<small></small>
</div>
</div>
</div>
<hr>
<div class="row">
<div class="col-md-6 parent thuvao">
<h4>Số tiền thu vào</h4>
<div class="form-group">
<input id="500" type="text" class="form-control" placeholder="Nhập số tờ 500k">
</div>
<div class="form-group">
<input id="200" type="text" class="form-control" placeholder="Nhập số tờ 200k">
</div>
<div class="form-group">
<input id="100" type="text" class="form-control" placeholder="Nhập số tờ 100k">
</div>
<div class="form-group">
<input id="50" type="text" class="form-control" placeholder="Nhập số tờ 50k">
</div>
<div class="form-group">
<input id="20" type="text" class="form-control" placeholder="Nhập số tờ 20k">
</div>
<div class="form-group">
<input id="10" type="text" class="form-control" placeholder="Nhập số tờ 10k">
</div>
<div class="form-group">
<input id="5" type="text" class="form-control" placeholder="Nhập số tờ 5k">
</div>
<div class="form-group">
<input id="2" type="text" class="form-control" placeholder="Nhập số tờ 2k">
</div>
<div class="form-group">
<input id="1" type="text" class="form-control" placeholder="Nhập số tờ 1k">
</div>
<hr />
<p class="d-inline-block money"> Tổng tiền : <span id="total-str">0 đồng</span></p>
<p class="d-inline-block ml-1 money">(<span id="total">0</span>) đ</p>
</div>
<div class="col-md-6 parent repeater chira">
<h4>Số tiền chi ra</h4>
<div data-repeater-list="chira">
<div class=" row" data-repeater-item>
<div class="col-md-5">
<div class="form-group">
<input type="text" name="sotien" class="form-control" placeholder="Số tiền" />
</div>
</div>
<div class="col-md-5">
<div class="form-group">
<input type="text" name="lydo" class="form-control" placeholder="Lý Do" />
</div>
</div>
<div class="col-md-2">
<input data-repeater-delete type="button" value="Xóa" class="btn btn-danger" />
</div>
</div>
</div>
<input data-repeater-create type="button" value="Thêm" class="btn btn-info" />
<hr />
<p class="d-inline-block"> Tổng tiền : <span id="chira-total-str">0 đồng</span></p>
<p class="d-inline-block ml-1">(<span id="chira-total">0</span>) đ</p>
</div>
</div>
<hr>
<h3>Số tiền bàn giao : </h3>
<span id="total-cuoingay"></span>
(<span id="total-cuoingay-numb">0</span>)
<br> <br>
<h3>Tổng : </h3>
<span id="tong"></span>
(<span id="tong-numb">0</span>)
</div>
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js'></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery.repeater/1.2.1/jquery.repeater.min.js'></script>
<script src="js/index.js"></script>
</body>
</html>
$(document).ready(function() {
var thucgiao = 0;
var totalRa = 0;
$('#dauca').next('small').text(DocTienBangChu($('#dauca').val()));
$('#dauca').on('input', function() {
$(this).next('small').text(DocTienBangChu($(this).val()));
setTotal();
});
$('#cuoica').on('input', function() {
$(this).next('small').text(DocTienBangChu($(this).val()));
setTotal();
});
$('.thuvao input').on('input', function() {
var total = 0;
$('.thuvao').find('input').each(function() {
if ($(this).val()) {
var number = parseInt($(this).val());
var heso = parseInt($(this).attr('id')) * 1000;
total += number * heso;
}
});
thucgiao = total;
$('#total').text(total.formatMoney(0, '.', ','));
$('#total-str').text(DocTienBangChu(total));
setTotal();
});
$('.repeater').repeater({
hide: function(deleteElement) {
$(this).slideUp(deleteElement);
setTimeout(function() {
chira();
}, 500);
},
});
function chira() {
var chira = $('.repeater').repeaterVal().chira;
var total = 0;
$.each(chira, function(index, val) {
if (val.sotien) {
total += parseInt(val.sotien) * 1000;
}
});
totalRa = total;
setTotal();
$('#chira-total').text(total.formatMoney(0, '.', ','));
$('#chira-total-str').text(DocTienBangChu(total));
}
$('.chira ').on('input', 'input', function() {
chira();
});
function setTotal() {
var dauca = parseInt($('#dauca').val());
var cuoica = parseInt($('#cuoica').val());
totalRa = totalRa >= 0 ? totalRa : 0;
thucgiao = thucgiao >= 0 ? thucgiao : 0;
var money = thucgiao - totalRa - dauca;
$('#total-cuoingay').text(DocTienBangChu(money));
$('#total-cuoingay-numb').text(money.formatMoney(0, '.', ','))
}
});
Number.prototype.formatMoney = function(c, d, t) {
var n = this,
c = isNaN(c = Math.abs(c)) ? 2 : c,
d = d == undefined ? "." : d,
t = t == undefined ? "," : t,
s = n < 0 ? "-" : "",
i = String(parseInt(n = Math.abs(Number(n) || 0).toFixed(c))),
j = (j = i.length) > 3 ? j % 3 : 0;
return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
};
var ChuSo = new Array(" không ", " một ", " hai ", " ba ", " bốn ", " năm ", " sáu ", " bảy ", " tám ", " chín ");
var Tien = new Array("", " nghìn", " triệu", " tỷ", " nghìn tỷ", " triệu tỷ");
//1. Hàm đọc số có ba chữ số;
function DocSo3ChuSo(baso) {
var tram;
var chuc;
var donvi;
var KetQua = "";
tram = parseInt(baso / 100);
chuc = parseInt((baso % 100) / 10);
donvi = baso % 10;
if (tram == 0 && chuc == 0 && donvi == 0) return "";
if (tram != 0) {
KetQua += ChuSo[tram] + " trăm ";
if ((chuc == 0) && (donvi != 0)) KetQua += " linh ";
}
if ((chuc != 0) && (chuc != 1)) {
KetQua += ChuSo[chuc] + " mươi";
if ((chuc == 0) && (donvi != 0)) KetQua = KetQua + " linh ";
}
if (chuc == 1) KetQua += " mười ";
switch (donvi) {
case 1:
if ((chuc != 0) && (chuc != 1)) {
KetQua += " mốt ";
} else {
KetQua += ChuSo[donvi];
}
break;
case 5:
if (chuc == 0) {
KetQua += ChuSo[donvi];
} else {
KetQua += " lăm ";
}
break;
default:
if (donvi != 0) {
KetQua += ChuSo[donvi];
}
break;
}
return KetQua;
}
//2. Hàm đọc số thành chữ (Sử dụng hàm đọc số có ba chữ số)
function DocTienBangChu(SoTien) {
var lan = 0;
var i = 0;
var so = 0;
var KetQua = "";
var tmp = "";
var ViTri = new Array();
if (SoTien == 0) return "Không đồng !";
if (SoTien > 0) {
so = SoTien;
} else {
so = -SoTien;
}
if (SoTien > 8999999999999999) {
//SoTien = 0;
return "Số quá lớn!";
}
ViTri[5] = Math.floor(so / 1000000000000000);
if (isNaN(ViTri[5]))
ViTri[5] = "0";
so = so - parseFloat(ViTri[5].toString()) * 1000000000000000;
ViTri[4] = Math.floor(so / 1000000000000);
if (isNaN(ViTri[4]))
ViTri[4] = "0";
so = so - parseFloat(ViTri[4].toString()) * 1000000000000;
ViTri[3] = Math.floor(so / 1000000000);
if (isNaN(ViTri[3]))
ViTri[3] = "0";
so = so - parseFloat(ViTri[3].toString()) * 1000000000;
ViTri[2] = parseInt(so / 1000000);
if (isNaN(ViTri[2]))
ViTri[2] = "0";
ViTri[1] = parseInt((so % 1000000) / 1000);
if (isNaN(ViTri[1]))
ViTri[1] = "0";
ViTri[0] = parseInt(so % 1000);
if (isNaN(ViTri[0]))
ViTri[0] = "0";
if (ViTri[5] > 0) {
lan = 5;
} else if (ViTri[4] > 0) {
lan = 4;
} else if (ViTri[3] > 0) {
lan = 3;
} else if (ViTri[2] > 0) {
lan = 2;
} else if (ViTri[1] > 0) {
lan = 1;
} else {
lan = 0;
}
for (i = lan; i >= 0; i--) {
tmp = DocSo3ChuSo(ViTri[i]);
KetQua += tmp;
if (ViTri[i] > 0) KetQua += Tien[i];
if ((i > 0) && (tmp.length > 0)) KetQua += ','; //&& (!string.IsNullOrEmpty(tmp))
}
if (KetQua.substring(KetQua.length - 1) == ',') {
KetQua = KetQua.substring(0, KetQua.length - 1);
}
KetQua = KetQua.substring(1, 2).toUpperCase() + KetQua.substring(2);
if (SoTien < 0) {
return 'Âm ' + KetQua + ' đồng';
}
return KetQua + ' đồng'; //.substring(0, 1);//.toUpperCase();// + KetQua.substring(1);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment