方法位置优化
parent
96c2c82662
commit
c96422616d
|
@ -29,6 +29,129 @@ $(function () {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 一维数组变二维数组
|
||||||
|
* @param list
|
||||||
|
* @param elementsPerSubArray
|
||||||
|
* @returns {Array}
|
||||||
|
*/
|
||||||
|
function arrayToMatrix(list, elementsPerSubArray) {
|
||||||
|
var matrix = [], i, k;
|
||||||
|
|
||||||
|
for (i = 0, k = -1; i < list.length; i++) {
|
||||||
|
if (i % elementsPerSubArray === 0) {
|
||||||
|
k++;
|
||||||
|
matrix[k] = [];
|
||||||
|
}
|
||||||
|
|
||||||
|
matrix[k].push(list[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
return matrix;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据映射关系将数组变为对象
|
||||||
|
*/
|
||||||
|
function arr2Object(arr, mapArr) {
|
||||||
|
var obj = {};
|
||||||
|
for (var i = 0; i < mapArr.length; i++) {
|
||||||
|
if(!arr[i]){
|
||||||
|
//如果有空的就返回空
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
obj[mapArr[i]]=arr[i];
|
||||||
|
}
|
||||||
|
return obj;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 收集收入明细的数据,因为动态添加的行modal无法识别,所以自己来收集
|
||||||
|
* @returns {Array}
|
||||||
|
*/
|
||||||
|
function collectData(className) {
|
||||||
|
var a= [];
|
||||||
|
$("." + className).each(function (t) {
|
||||||
|
a.push($(this).val());
|
||||||
|
});
|
||||||
|
return a;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 绑定每一行的删除事件,删除当前的一行tr
|
||||||
|
*/
|
||||||
|
function bindDeleteBtn() {
|
||||||
|
$(".am-modal-line-delete").click(function () {
|
||||||
|
//删除自己对应的tr
|
||||||
|
$(this).parent().parent().remove();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 将页面收集到的数据转换为ajax请求的数据【一维数组转换为对象数组】
|
||||||
|
* @param data
|
||||||
|
* @param detailPropertyArr
|
||||||
|
* @returns {Array}
|
||||||
|
*/
|
||||||
|
function convertDetail(data,detailPropertyArr) {
|
||||||
|
var arr = arrayToMatrix(data,detailPropertyArr.length);
|
||||||
|
|
||||||
|
var details = [];
|
||||||
|
for (var i=0;i<arr.length;i++){
|
||||||
|
var obj = arr2Object(arr[i], detailPropertyArr);
|
||||||
|
if(obj){
|
||||||
|
details.push(obj);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
return details;
|
||||||
|
}
|
||||||
|
|
||||||
|
function prepareAjaxData(data,detailPropertyArr,projectId){
|
||||||
|
var details = convertDetail(data, detailPropertyArr);
|
||||||
|
return {
|
||||||
|
"details":details,
|
||||||
|
"projectId":projectId
|
||||||
|
};
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 绑定每个可改变的输入框,修改后改变对应输入框的值
|
||||||
|
*/
|
||||||
|
function bindChangeableInput() {
|
||||||
|
//数量改变
|
||||||
|
$(".input-changeable-amount").change(function () {
|
||||||
|
var amount = parseInt($(this).val());
|
||||||
|
//找到对应的单价和税率
|
||||||
|
var price = f2($(this).parent().parent().find(".input-changeable-price").val());
|
||||||
|
var taxRate = f2($(this).parent().parent().find(".input-changeable-tax-rate").val());
|
||||||
|
console.log(amount,price,taxRate);
|
||||||
|
|
||||||
|
$(this).parent().parent().find(".input-changeable-total-tax-include").val(f2(amount*price));
|
||||||
|
$(this).parent().parent().find(".input-changeable-total-tax-exclude").val(f2(amount*price/(1+taxRate/100)));
|
||||||
|
});
|
||||||
|
//单价改变
|
||||||
|
$(".input-changeable-price").change(function () {
|
||||||
|
var price = f2($(this).val());
|
||||||
|
//找到对应的数量和税率
|
||||||
|
var amount = parseInt($(this).parent().parent().find(".input-changeable-amount").val());
|
||||||
|
var taxRate = f2($(this).parent().parent().find(".input-changeable-tax-rate").val());
|
||||||
|
console.log(amount,price,taxRate);
|
||||||
|
|
||||||
|
$(this).parent().parent().find(".input-changeable-total-tax-include").val(f2(amount*price));
|
||||||
|
$(this).parent().parent().find(".input-changeable-total-tax-exclude").val(f2(amount*price/(1+taxRate/100)));
|
||||||
|
});
|
||||||
|
//税率改变
|
||||||
|
$(".input-changeable-tax-rate").change(function () {
|
||||||
|
var taxRate = f2($(this).val());
|
||||||
|
//找到对应的数量和单价
|
||||||
|
var amount = parseInt($(this).parent().parent().find(".input-changeable-amount").val());
|
||||||
|
var price = f2($(this).parent().parent().find(".input-changeable-price").val());
|
||||||
|
console.log(amount,price,taxRate);
|
||||||
|
|
||||||
|
$(this).parent().parent().find(".input-changeable-total-tax-exclude").val(f2(amount*price/(1+taxRate/100)));
|
||||||
|
});
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* 校验项目贡献利润率必须大于阀值
|
* 校验项目贡献利润率必须大于阀值
|
||||||
* 低于阀值就返回提示信息,否则返回""
|
* 低于阀值就返回提示信息,否则返回""
|
||||||
|
|
|
@ -30,93 +30,6 @@ function rate(r1,r2) {
|
||||||
return f2(r1*100/r2);
|
return f2(r1*100/r2);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 一维数组变二维数组
|
|
||||||
* @param list
|
|
||||||
* @param elementsPerSubArray
|
|
||||||
* @returns {Array}
|
|
||||||
*/
|
|
||||||
function arrayToMatrix(list, elementsPerSubArray) {
|
|
||||||
var matrix = [], i, k;
|
|
||||||
|
|
||||||
for (i = 0, k = -1; i < list.length; i++) {
|
|
||||||
if (i % elementsPerSubArray === 0) {
|
|
||||||
k++;
|
|
||||||
matrix[k] = [];
|
|
||||||
}
|
|
||||||
|
|
||||||
matrix[k].push(list[i]);
|
|
||||||
}
|
|
||||||
|
|
||||||
return matrix;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据映射关系将数组变为对象
|
|
||||||
*/
|
|
||||||
function arr2Object(arr, mapArr) {
|
|
||||||
var obj = {};
|
|
||||||
for (var i = 0; i < mapArr.length; i++) {
|
|
||||||
if(!arr[i]){
|
|
||||||
//如果有空的就返回空
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
obj[mapArr[i]]=arr[i];
|
|
||||||
}
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 收集收入明细的数据,因为动态添加的行modal无法识别,所以自己来收集
|
|
||||||
* @returns {Array}
|
|
||||||
*/
|
|
||||||
function collectData(className) {
|
|
||||||
var a= [];
|
|
||||||
$("." + className).each(function (t) {
|
|
||||||
a.push($(this).val());
|
|
||||||
});
|
|
||||||
return a;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 绑定每一行的删除事件,删除当前的一行tr
|
|
||||||
*/
|
|
||||||
function bindDeleteBtn() {
|
|
||||||
$(".am-modal-line-delete").click(function () {
|
|
||||||
//删除自己对应的tr
|
|
||||||
$(this).parent().parent().remove();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 将页面收集到的数据转换为ajax请求的数据【一维数组转换为对象数组】
|
|
||||||
* @param data
|
|
||||||
* @param detailPropertyArr
|
|
||||||
* @returns {Array}
|
|
||||||
*/
|
|
||||||
function convertDetail(data,detailPropertyArr) {
|
|
||||||
var arr = arrayToMatrix(data,detailPropertyArr.length);
|
|
||||||
|
|
||||||
var details = [];
|
|
||||||
for (var i=0;i<arr.length;i++){
|
|
||||||
var obj = arr2Object(arr[i], detailPropertyArr);
|
|
||||||
if(obj){
|
|
||||||
details.push(obj);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
return details;
|
|
||||||
}
|
|
||||||
|
|
||||||
function prepareAjaxData(data,detailPropertyArr,projectId){
|
|
||||||
var details = convertDetail(data, detailPropertyArr);
|
|
||||||
return {
|
|
||||||
"details":details,
|
|
||||||
"projectId":projectId
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
function postAjax(url, data, callback) {
|
function postAjax(url, data, callback) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: url,
|
url: url,
|
||||||
|
@ -131,42 +44,3 @@ function postAjax(url, data, callback) {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 绑定每个可改变的输入框,修改后改变对应输入框的值
|
|
||||||
*/
|
|
||||||
function bindChangeableInput() {
|
|
||||||
//数量改变
|
|
||||||
$(".input-changeable-amount").change(function () {
|
|
||||||
var amount = parseInt($(this).val());
|
|
||||||
//找到对应的单价和税率
|
|
||||||
var price = f2($(this).parent().parent().find(".input-changeable-price").val());
|
|
||||||
var taxRate = f2($(this).parent().parent().find(".input-changeable-tax-rate").val());
|
|
||||||
console.log(amount,price,taxRate);
|
|
||||||
|
|
||||||
$(this).parent().parent().find(".input-changeable-total-tax-include").val(f2(amount*price));
|
|
||||||
$(this).parent().parent().find(".input-changeable-total-tax-exclude").val(f2(amount*price/(1+taxRate/100)));
|
|
||||||
});
|
|
||||||
//单价改变
|
|
||||||
$(".input-changeable-price").change(function () {
|
|
||||||
var price = f2($(this).val());
|
|
||||||
//找到对应的数量和税率
|
|
||||||
var amount = parseInt($(this).parent().parent().find(".input-changeable-amount").val());
|
|
||||||
var taxRate = f2($(this).parent().parent().find(".input-changeable-tax-rate").val());
|
|
||||||
console.log(amount,price,taxRate);
|
|
||||||
|
|
||||||
$(this).parent().parent().find(".input-changeable-total-tax-include").val(f2(amount*price));
|
|
||||||
$(this).parent().parent().find(".input-changeable-total-tax-exclude").val(f2(amount*price/(1+taxRate/100)));
|
|
||||||
});
|
|
||||||
//税率改变
|
|
||||||
$(".input-changeable-tax-rate").change(function () {
|
|
||||||
var taxRate = f2($(this).val());
|
|
||||||
//找到对应的数量和单价
|
|
||||||
var amount = parseInt($(this).parent().parent().find(".input-changeable-amount").val());
|
|
||||||
var price = f2($(this).parent().parent().find(".input-changeable-price").val());
|
|
||||||
console.log(amount,price,taxRate);
|
|
||||||
|
|
||||||
$(this).parent().parent().find(".input-changeable-total-tax-exclude").val(f2(amount*price/(1+taxRate/100)));
|
|
||||||
});
|
|
||||||
}
|
|
Loading…
Reference in New Issue