fourcal/src/main/resources/static/assets/js/project_common.js

178 lines
4.8 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/**
* 使用layui的alert效果更好
* @param msg
*/
var layuiAlert = function(msg) {
layui.use('layer', function(){
var layer = layui.layer;
layer.alert(msg);
});
};
/**
* parse float保留两位小数四舍五入
* 空格或者非数字认为是0
* @param x
* @returns {*}
*/
function f2(x) {
if(!x){
return 0;
}
var f = parseFloat(x);
if (isNaN(f)) {
return 0;
}
return Math.round(x*100)/100;
}
/**
* 计算利润率
* @param r1
* @param r2
* @returns {*}
*/
function rate(r1,r2) {
if(!r1 || !r2 || r1==0 || r2==0){
return 0;
}
return f2(r1*100/r2);
}
/**
* 保留两位小数
*/
function bindNumberInput() {
//所有的数字输入框
var $inputs = $("input[type='number']");
//键盘键弹起的时候
$inputs.keyup(function () {
keepDigital($(this));
});
//失去焦点时再校验一遍
$inputs.blur(function() {
/*var reg = new RegExp("^(\-)?[0-9]+(.[0-9]{1,2})?$");
if (reg.test(value)) {
//是数字就是数字,可以两位或者不带小数
$(this).val(value);
} else {
$(this).val("");
}*/
keepDigital($(this));
});
}
function keepDigital($input) {
var value = $input.val();
value = value.replace(/[^\-\d.]/g, ""); //清除“-”、“数字”和“.”以外的字符
value = value.replace(/\.{2,}/g, "."); //只保留第一个. 清除多余的
value = value.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
value = value.replace(/^(\-)?(\d+)\.(\d\d).*$/, '$1$2.$3'); //只能输入两个小数
if (value.indexOf(".") < 0 && value != "") {
//以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额
value = parseFloat(value);
}
$input.val(value);
}
/**
* 保留整数
*/
function integerNumber(input) {
input.value=input.value.replace(/[^\d]/g,'').replace(/^0{1,}/g,'');
}
function postAjax(url, data, callback) {
$.ajax({
url: url,
data: JSON.stringify(data),
type: "post",
dataType: "json",
contentType:"application/json",
async: false,
success: function (d) {
console.log(d);
if(callback) {
callback(data, d);
}
}
});
}
function getAjax(url, params, callback) {
$.ajax({
url: url,
data: params,
type: "get",
dataType: "json",
/*contentType:"application/json",*/
async: false,
success: function (d) {
console.log(d);
if(callback) {
callback(params, d);
}
}
});
}
/**
* 获取给定名字的input框的值
* @param name
* @returns {*|jQuery}
*/
function inputVal(name) {
return $("input[name='"+name+"']").val();
}
/**
* 获取给定class名字的input框的值
* @param className
* @returns {*|jQuery}
*/
function classVal(className) {
return $("."+className).val();
}
/**
* 统计成本(含税),有一项没填就置空
*/
function calCostInclude() {
var costPurchaseDeviceTaxInclude = inputVal("costPurchaseDeviceTaxInclude");
var costPurchaseBuildTaxInclude = inputVal("costPurchaseBuildTaxInclude");
var costPurchaseServiceTaxInclude = inputVal("costPurchaseServiceTaxInclude");
var costPurchaseOtherTaxInclude = inputVal("costPurchaseOtherTaxInclude");
var costProjectManageTaxInclude = inputVal("costProjectManageTaxInclude");
var costOtherOtherTaxInclude = inputVal("costOtherOtherTaxInclude");
var $costTotalTaxInclude = $("input[name='costTotalTaxInclude']");
$costTotalTaxInclude.val(f2(f2(costPurchaseDeviceTaxInclude) +f2(costPurchaseBuildTaxInclude)
+f2(costPurchaseServiceTaxInclude)+f2(costPurchaseOtherTaxInclude)
+f2(costProjectManageTaxInclude)+f2(costOtherOtherTaxInclude)));
}
/**
* 统计成本(不含税),有一项没填就置空
*/
function calCostExclude() {
var costPurchaseDeviceTaxExclude = inputVal("costPurchaseDeviceTaxExclude");
var costPurchaseBuildTaxExclude = inputVal("costPurchaseBuildTaxExclude");
var costPurchaseServiceTaxExclude = inputVal("costPurchaseServiceTaxExclude");
var costPurchaseOtherTaxExclude = inputVal("costPurchaseOtherTaxExclude");
var costProjectManageTaxExclude = inputVal("costProjectManageTaxExclude");
var costOtherOtherTaxExclude = inputVal("costOtherOtherTaxExclude");
var $costTotalTaxExclude = $("input[name='costTotalTaxExclude']");
$costTotalTaxExclude.val(f2(f2(costPurchaseDeviceTaxExclude)+f2(costPurchaseBuildTaxExclude)
+f2(costPurchaseServiceTaxExclude)+f2(costPurchaseOtherTaxExclude)
+f2(costProjectManageTaxExclude)+f2(costOtherOtherTaxExclude)));
}