178 lines
4.8 KiB
JavaScript
178 lines
4.8 KiB
JavaScript
/**
|
||
* 使用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)));
|
||
} |