var locat = (window.location + '').split('/');
if ('fhsms' == locat[3]) {
locat = locat[0] + '//' + locat[2];
} else {
locat = locat[0] + '//' + locat[2] + '/' + locat[3];
}
var EDITMONTH = '';//当前编辑月份
var flag = true;
$(function() {
$(getTop(globalThis).hangge());
//initTables();
//mergeCell();
});
function editTable(){
if(editflag == 0){
$('#editbutton').html('编辑中');
$(".editInput").removeAttr("readonly");
editflag = 1;
}else if(editflag == 1){
$('#editbutton').html('编辑');
$(".editInput").attr("readonly","readonly" );
editflag = 0;
}
}
//合并单元格
function mergeCell(){
var pTr = $('#simple-table tbody').find('td');
var companyArr = new Array();
$.each(pTr,function(i,obj){
var name = $(obj).attr('name');
if(name != undefined)
companyArr.push(name);
});
//相同name去重,合并单元格
companyArr = rep(companyArr);
$.each(companyArr,function(i,obj){
var td = $('#simple-table tbody').find('td[name="'+obj+'"]');
$.each(td,function(n){
var t = $(td).eq(n);//当前td
var currentTr = $(t).parent();//当前td所属tr
var count = $(td).length;//相同name个数
//合并单元格
if(0 == n){
$(t).attr('rowspan',obj.substring(0, 2) == "c_" ? count+1:count).css('vertical-align','middle');
}else{
$(t).remove();
}
//生成序号,根据道路排序
if(obj.substring(0, 2) == "r_"){
$(currentTr).find('.num').text(n+1);
}
//生成合计
if(n == count -1){
//公司
if(obj.substring(0, 2) == "c_"){
var company = obj.substring(2,obj.length);
var monthTd = '';
for(var i=1;i<13;i++){
monthTd += '
| ';
monthTd += ' | ';
monthTd += ' | ';
}
monthTd += ' | ';
monthTd += ' | ';
monthTd += ' | ';
/*var sumTr = '小计 | '+
' | '+
' | '+
' | '+
monthTd+
'
'
$(currentTr).after(sumTr);*/
}
}
});
});
calcutSum();
}
//格式化数字
function numFormat(num){
if(!isNaN(Number(num)) && Number(num) != "0"){
if(num<10) num = Number(num).toFixed(1);
else num = Math.round(Number(num));
}
return num;
}
//汇总统计
function calcutSum(){
var sumCell = $('#simple-table tbody').find('.sumCell');
$(sumCell).each(function(i,o){
var name = $(o).attr('name');
var sum = 0;
var sumLabel = $('#simple-table tbody label[name="'+name+'"]');
$(sumLabel).each(function(n,s){
var v = $(s).text().trim();
if(typeof(v) != "undefined")
sum += Number(v);
});
$(o).text(numFormat(sum));
});
}
//数组去重
function rep(arr){
var o={};
var new_arr = [];
for(var i=0;i"+vtip+"");
$(e).parent().find('.vtip').width($(e).parent().width());
}
return vtip;
}
//校验规则
function validateFun(name,val,e){
if(val == ''){
return "该字段不能为空";
}
var re = new RegExp("^(\\-|\\+)?\\d+(\\.\\d+)?$");
//是否为数字
if(!re.test(val)) return "请填写数字";
var vscale = "1";//小数位数
var arr = (val + '').split(".");
if(arr.length == 2){
if(arr[1] != '' && arr[1].length > vscale)
return "小数精度不超过"+vscale;
}
if('RATIO' == name && numFormat(val) > 100){
return "数值不能超过100";
}
return "";
}
$.fn.serializeObject = function(){
var o = {};
var month = '';
var a = this.serializeArray();
$.each(a,function(){
var name = this.name;
var index = name.lastIndexOf("_");
month = name.substring(index+1,name.length);
name = name.substring(0,index);
if(o[name]){
if(!o[name].push){
o[name] = [o[name]];
}
o[name].push(this.value || '');
}else{
o[name] = this.value || '';
}
});
o.month = month;
return o;
}
function save(){
var formData = $('#Form').serializeObject();
var data = new Array();
flag = true;
$(varList).each(function(i,obj){
var o = {};
o.company = obj.COMPANY;
o.companyId = obj.COMPANY_ID;
o.year = obj.YEAR;
o.road = obj.ROAD;
o.roadId = obj.ROAD_ID;
o.projectName = obj.PROJECT_NAME;
o.month = formData.month;
o.actualCost = formData.ACTUAL_COST[i];
o.payCost = formData.PAY_COST[i];
o.ratio = formData.RATIO[i];
data.push(o);
var month = o.month;
validateTip($("input[name='ACTUAL_COST_"+month+"']").eq(i));
validateTip($("input[name='PAY_COST_"+month+"']").eq(i));
validateTip($("input[name='RATIO_"+month+"']").eq(i));
});
if(!flag)
return;
$.ajax({
url : locat+'/preventionCompletion/save.do',
type : "post",
dataType : 'json',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
data:JSON.stringify(data),
success : function(data){
if(data.msg == 'ok'){
window.location.reload();
}else{
alert('error');
}
}
});
}
//编辑
function editMonth(month,dom){
if(EDITMONTH != '' && EDITMONTH != month){
bootbox.confirm("其他月份尚未保存,是否进行保存?", function(result) {
if(result) {
save();
}else{
cancle();
edit(month,dom);
}
});
}else{
edit(month,dom);
}
}
//取消编辑
function cancle(){
$('#saveBtn').addClass('dispaly');
$('#cancleBtn').addClass('dispaly');
var month = EDITMONTH;
$('.month_'+month).attr('width','5%');
var actualCostName = 'ACTUAL_COST_'+month;
var payCostName = 'PAY_COST_'+month;
var ratioName = 'RATIO_'+month;
removeInput(actualCostName);
removeInput(payCostName);
removeInput(ratioName);
EDITMONTH = '';
}
function removeInput(name){
$('.'+name).css('display','block');
$('.'+name).next().remove();
$('.vtip').remove();
}
//编辑
function edit(month,dom){
$('#saveBtn').removeClass('dispaly');
$('#cancleBtn').removeClass('dispaly');
EDITMONTH = month;
$(dom).parent().attr('width','50%');
var actualCostName = 'ACTUAL_COST_'+month;
var payCostName = 'PAY_COST_'+month;
var ratioName = 'RATIO_'+month;
addInput(actualCostName,6);
addInput(payCostName,6);
addInput(ratioName,4);
}
function addInput(name,maxlen){
$('.'+name).css('display','none');
$('.'+name).next().remove();
var input = '';
$('.'+name).after(input);
//文本框副总
$('.'+name).each(function(i,obj){
var v = $(obj).text().trim();
$(obj).next('input').val(v);
});
}
//获取本网站的顶级节点,解决被其他网站iframe引入时发生的跨域问题
function getTop(obj){
var tp = obj;
//alert(obj.name);
if (tp.mainFrame == undefined) {
tp = tp.parent;
return getTop(tp);
} else {
return tp;
}
}