Если Дата покупки наступает после 31 марта / xxxx, она не должна рассчитывать elap_yend, rem_days, depre_cur, cur_wdv.
Также мне нужно рассчитать GST с некоторыми параметрами, то есть, если выбрано SGST и CGST, я должен не рассчитывать IGST, иначе, если IGST выбран или пометить его не следует рассчитывать SGST и CGST.
Как я могу это решить?
<body>
<div class = "form-group mx-auto" >
<div class = "form-row " >
<div class = "form-group col-md-2">
<label>Purchase Date</label>
<input type = "date" class = "form-control" id = "pur_date" name = "pur_date" onchange = "cal()" required/>
</div>
<div class = "form-group col-md-2">
<label>End Date</label>
<input type = "date" class = "form-control" id = "end_date" name = "end_date" onchange = "cal()"required/>
</div>
</div>
<div class = "form-row " >
<div class = "form-group col-md-2">
<label>Product Price</label>
<input type = "text" class = "form-control" id = "product_price" name = "product_price" placeholder = "Enter Amount" required/>
</div>
<div class = "form-group col-md-2">
<label>IGST</label>
<input type = "text" class = "form-control" id = "igst" name = "igst" required/>
</div>
</div>
<div class = "form-row">
<div class = "form-group col-md-2">
<label>SGST</label>
<input type = "text" class = "form-control" id = "sgst" name = "sgst" required/>
</div>
<div class = "form-group col-md-2">
<label>CGST</label>
<input type = "text" class = "form-control" id = "cgst" name = "cgst" required/>
</div>
</div>
<div class = "form-row">
<div class = "form-group col-md-2">
<label>Total Amount</label>
<input type = "text" class = "form-control" name = "total" id = "total" placeholder = "Enter Total" required>
</div>
<div class = "form-group col-md-2">
<label>Depre Amount</label>
<input type = "text" class = "form-control" name = "dep_amount" id = "dep_amount" required>
</div>
</div>
<div class = "form-row">
<div class = "form-group col-md-2">
<label>Life in Days</label>
<input type = "text" class = "form-control" name = "life_days" id = "life_days" placeholder = "Enter Total life" required>
</div>
<div class = "form-group col-md-2">
<label>Elapsed Days(31/03)</label>
<input type = "text" class = "form-control" name = "elap_yend" id = "elap_yend" onchange = "cal()" readonly/>
</div>
</div>
<div class = "form-row">
<div class = "form-group col-md-2">
<label>Remaining Days</label>
<input type = "text" class = "form-control" name = "rem_days" id = "rem_days" placeholder = "Enter Product No" required>
</div>
<div class = "form-group col-md-2">
<label>Current Depreciation</label>
<input type = "text" class = "form-control" id = "depre_cur" name = "depre_cur" />
</div>
</div>
<div class = "form-row">
<div class = "form-group col-md-2">
<label>W.D.V(Curr)</label>
<input type = "text" class = "form-control" id = "cur_wdv" name = "cur_wdv" />
</div>
</div>
<div class = "form-row " >
<div class = "form-group col-md-2">
<label>Next Year Starting</label>
<input class = "form-control" id = "nextyearstart_date" name = "pur_date" >
</div>
<div class = "form-group col-md-2">
<label>Next Year End Date</label>
<input class = "form-control" id = "nextyearend_date" name = "nextyearend_date" >
</div>
</div>
<div class = "form-row " >
<div class = "form-group col-md-2">
<label>Depreciation 2</label>
<input type = "text" class = "form-control" id = "depre_next" name = "depre_next" required/>
</div>
</div>
</div>
<div class = "form-row">
<div class = "form-group col-md-2">
<label>W.D.V(Next)</label>
<input type = "text" class = "form-control" name = "next_wdv" id = "next_wdv" />
</div>
<div class = "form-group col-md-2">
<label>Accum Depreciation</label>
<input type = "text" class = "form-control" id = "acc_depre" name = "acc_depre" placeholder = "Enter Location" required/>
</div>
</div>
<div class = "form-row">
<div class = "form-group col-md-2">
<label>Sale Amount</label>
<input type = "text" class = "form-control" id = "sale_amount" name = "sale_amount" placeholder = "Enter sale amount" required/>
</div>
<div class = "form-group col-md-2">
<label>Profit/Loss</label>
<input type = "text" class = "form-control" id = "pro_los" name = "pro_los" placeholder = "Enter Product Desc" required/>
</div>
</div>
</div>
<button type = "submit" class = "btn btn-primary">Submit</button>
Javascript:
<script type = "text/javascript">
function GetDays(){
var dropdt = new Date(document.getElementById("end_date").value);
var pickdt = new Date(document.getElementById("pur_date").value);
//var pickdt = new Date();
return parseInt((dropdt - pickdt) / (24 * 3600 * 1000));
}
function cal(){
if (document.getElementById("end_date")){
document.getElementById("elap_yend").value=GetDays();
}
}
$(product_price).ready(function(){
var $nextyearstart_date = $( "#nextyearstart_date" );
var $nextyearend_date = $( "#nextyearend_date" );
$nextyearstart_date.datepicker();
$nextyearend_date.datepicker({
onClose: function() {
var product_price;
var igst;
var cgst;
var sgst;
product_price = parseFloat($('#product_price').val());
life_days = parseFloat($('#life_days').val());
elap_yend = parseFloat($('#elap_yend').val());
dep_amount = parseFloat($('#dep_amount').val());
depre_cur = parseFloat($('#depre_cur').val());
igst = parseFloat($('#igst').val());
cgst = parseFloat($('#cgst').val());
sgst = parseFloat($('#sgst').val());
var igst = product_price * 0.09;
$('#igst').val(igst.toFixed(2));
var cgst = product_price * 0.09;
$('#cgst').val(cgst.toFixed(2));
var sgst = product_price * 0;
$('#sgst').val(sgst.toFixed(2));
var total = product_price + igst + cgst + sgst;
$('#total').val(total.toFixed(2));
var dep_amount = product_price + (.5 * (igst + cgst + sgst));
$('#dep_amount').val(dep_amount.toFixed(2));
var rem_days = life_days - elap_yend;
$('#rem_days').val(rem_days.toFixed(2));
var depre_cur = (dep_amount/life_days) * elap_yend; //life_days - elap_yend;
$('#depre_cur').val(depre_cur.toFixed(2));
var cur_wdv = dep_amount - depre_cur; //life_days - elap_yend;
$('#cur_wdv').val(cur_wdv.toFixed(2));
var fromDate = $nextyearstart_date.datepicker('getDate');
var toDate = $nextyearend_date.datepicker('getDate');
var diff = new Date(toDate - fromDate);
var Ddays = diff/1000/60/60/24;
var depre_next = Ddays * (dep_amount/life_days);
$('#depre_next').val(depre_next.toFixed(2));
var next_wdv = cur_wdv - depre_next;
$('#next_wdv').val(next_wdv.toFixed(2));
var acc_depre = depre_cur + depre_next;
$('#acc_depre').val(acc_depre.toFixed(2));
var pro_los = depre_cur + depre_next;
$('#pro_los').val(pro_los.toFixed(2));
// alert(depre_next);
}
});
});
</script>
Я хочу рассчитать CGST, SGST, IGST (с некоторым процентным соотношением, например: 9%), но дело в том, что если я устанавливаю флажок, он должен рассчитывать CST и SGST, иначе он должен рассчитывать IGST. Спасибо за ваш ответ
мой Бог. Никто не отвечает на расчет GST. Помогите, пожалуйста
Вы выглядите нетерпеливым. Здесь люди посвящают свое время решению вопросов. Я удивлен, что есть даже ответ с объемом кода в вашем вопросе. Многие люди говорят на разных языках и принадлежат к разным культурам. В вашем коде нет комментариев. Поэтому предоставьте нам необходимую информацию об аббревиатурах и другой номенклатуре, если вы хотите получить более полезный ответ.
Извините за это, но у меня есть решение. Спасибо за ваш ответ



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Сравнение дат в JavaScript может быть непростым делом. Иногда лучше использовать стороннюю библиотеку дат, например MomentJS или Luxon.
Однако основы того, что вы хотите делать, довольно просты. Создайте дату, которую вы хотите использовать в качестве базового показателя, затем дату проверки и проведите простое сравнение.
const cutoffDate = new Date('March 31, 2018 23:59:59');
const testDate = new Date(); // now
if (testDate >= cutoffDate) {
// do this calculation
} else {
// ok, do this calculation
}
То, что всегда сбивает с толку, - это часовые пояса (вот почему сторонние библиотеки хороши). При использовании объекта JS Date помните, что он будет использовать часовой пояс браузера, поэтому созданный объект даты будет отличаться для пользователя в системе в Нью-Йорке и пользователя в системе в Шанхае.
Помогите мне в этом. Я хочу рассчитать CGST, SGST, IGST (с некоторым процентным соотношением, например: 9%), но дело в том, что если я устанавливаю флажок, он должен рассчитать CST и SGST, иначе он должен рассчитать IGST. Спасибо за ваш ответ
@MONEYMSN Я потратил свое время, чтобы ответить на ваш вопрос о том, как проверять даты, чтобы выбрать путь вашего процесса. Я сделал все, что мог, чтобы дать вам инструменты, необходимые для достижения успеха в одиночку. Теперь вам решать, как продолжить работу с заявкой, я не могу сделать это за вас. Если у вас есть другой вопрос, задайте его в новом вопросе.
я в порядке с датами, и я сделал это, но мне нужно относительно этого расчета GST. Пожалуйста, помогите мне, я не могу взломать это. заранее спасибо
Не могли бы вы лучше сформулировать свой вопрос. Новые строки и вставки значительно улучшили бы читаемость.