$(function(){ var table = $('#tablelist').DataTable({ columnDefs: [ { className: 'allwidth1', width: 150, targets: [0,2] }, { className: 'allwidth2', width: 200, targets: 1 }, { className: 'allwidth3', width: 100, targets: '_all' } ], fixedColumns: { leftColumns: 4 } }); $('.addlistbtn').on('click',function(){ //获取小数位的设置点数 var decimalsetarr = $('#changedecimalnum').val().split('_'); var decimal = decimalsetarr[0]; //设置数量0. n位数初始值 var zero = makedecimalzero(decimalsetarr[1]); //设置金额0. n位数初始值 var costzero = makedecimalzero(decimal); var html = ''; //获取清单列表 var clist = new Array(); $('.checklist').find('.listcheckbox').each(function(){ if($(this).prop("checked")){ var id = $(this).parents('.checklist').children('td').eq(0).attr('list_id'); var num = $(this).parents('.checklist').children('td').eq(1).text(); var name = $(this).parents('.checklist').children('td').eq(2).text(); var unit = $(this).parents('.checklist').children('td').eq(3).text(); var price = $(this).parents('.checklist').children('td').eq(4).text(); var oamount = $(this).parents('.checklist').children('td').eq(5).text(); var ototal = $(this).parents('.checklist').children('td').eq(6).text(); //获取localstorage里的数据 var scnum = 0; var sctotal = 0; if(localStorage.hasOwnProperty('new_clistid_'+id)){ scnum = localStorage.getItem('new_clistid_'+id); sctotal = parseFloat(price).mul(parseFloat(scnum)); clist.push(id+'_'+scnum); }else{ //新增一个localstorage scnum = zero; localStorage.setItem('new_clistid_'+id,zero); clist.push(id+'_'+zero); } sctotal = sctotal != 0 ? roundnum(sctotal,decimal) : costzero; html += ''+ num +''+ name +''+ unit +''+ price +''+ oamount +''+ ototal +''+ sctotal +''; } }); //添加到form中list $('#changelist').val(clist.join(',')); //获取localstorage里的数据 var newid = 1; var addArr = new Array(); var storage = window.localStorage; for(var i = 0; i < storage.length; i++){ var key = storage.key(i); if(key.substring(0,16) == 'add_new_clistid_'){ //排序 newid++; var id2 = key.split('_'); addArr.push(id2[3]); } } addArr.sort(function(a,b){ return a - b; }); var wlist = new Array(); var optionselect = ['m','km','m2','m3','kg','t','m3·km','总额','月','项','处','个','根','棵','块','每一试桩','桥长米','公路公里','株','组','座','元','工日','套','台班','艘班','m/处','m/道','m/座','m2/m','m3/m','m3/处','根/米','亩','m3/m2']; //按添加顺序输出localstorage的内容 for(var z= 0; z< addArr.length; z++){ var trlist = storage.getItem('add_new_clistid_'+addArr[z]).split(';'); var num2 = trlist[0]; var name2 = trlist[1]; var unit2 = trlist[2]; var price2 = trlist[3]; var oamount2 = trlist[4]; var scnum = trlist[5]; //不为空的就显示出来,全部为空的就自动删除 if(num2 != '' || name2 != '' || price2 != '' || oamount2 != '' || scnum != ''){ wlist.push(addArr[z]+'->'+trlist.join(';')); var ototal2 = price2 != '' && oamount2 != '' ? roundnum(parseFloat(price2).mul(parseFloat(oamount2)),decimal) : ''; var sctotal2 = price2 != '' && scnum != '' ? roundnum(parseFloat(price2).mul(parseFloat(scnum)),decimal) : ''; var optionlist = ''; for(var j = 0; j < optionselect.length; j++){ if(unit2 == optionselect[j]){ optionlist += ''; }else{ optionlist += ''; } } html += ''+ ototal2 +''+ sctotal2 +''; } } //添加到form中list $('#changewhitelist').val(wlist.join(',')); //获取添加的空白清单 if($(this).hasClass('btn-default')){ var optionlist2 = ''; for(var j = 0; j < optionselect.length; j++){ optionlist2 += ''; } var addtr = '0.000.00'; html += addtr; } table.destroy(); $('#list').html(html); table = $('#tablelist').removeAttr('width').DataTable({ columnDefs: [ { className: 'allwidth1', width: 150, targets: [0,2] }, { className: 'allwidth2', width: 200, targets: 1 }, { className: 'allwidth3', width: 100, targets: '_all' } ], fixedColumns: { leftColumns: 4 } }); totalamount(decimal); $('#addlist').modal('hide'); $('.clist input').on("valuechange", function (e, previous) { //获取小数位的设置点数 var decimalsetarr = $('#changedecimalnum').val().split('_'); var decimal = decimalsetarr[0]; //if 输入变更数量 var site = $(this).parents('td').attr('sortnum'); if(site == 6) { var num = $(this).val(); var unitprice = $(this).parents('.clist').children('td').eq(3).text() || $(this).parents('.clist').children('td').eq(3).children('input').val(); var total = $.trim(num) != '' && $.trim(unitprice) != '' ? roundnum(parseFloat(unitprice).mul(parseFloat(num)),decimal) : ''; $(this).parents('.clist').children('td').eq(7).text(total); } //if 输入单价 else if(site == 3) { var unitprice = $(this).val(); var thistr = $(this).parents('tr').attr('newlist_tid'); var $thisstr = $('#list tr[newlist_tid="'+thistr+'"]'); $thisstr.children('td').eq(site).children('input').val(unitprice); var onum = $thisstr.children('td').eq(4).children('input').val(); var num = $thisstr.children('td').eq(6).children('input').val(); var ototal = $.trim(onum) != '' && $.trim(unitprice) != '' ? roundnum(parseFloat(unitprice).mul(parseFloat(onum)),decimal) : ''; var total = $.trim(num) != '' && $.trim(unitprice) != '' ? roundnum(parseFloat(unitprice).mul(parseFloat(num)),decimal) : ''; $thisstr.children('td').eq(5).text(ototal); $thisstr.children('td').eq(7).text(total); } //if 输入的是原设计数量 else if(site == 4) { var onum = $(this).val(); var unitprice = $(this).parents('.clist').children('td').eq(3).children('input').val(); var ototal = $.trim(onum) != '' && $.trim(unitprice) != '' ? roundnum(parseFloat(unitprice).mul(parseFloat(onum)),decimal) : ''; $(this).parents('.clist').children('td').eq(5).text(ototal); }else{ var thistr = $(this).parents('tr').attr('newlist_tid'); var $thisstr = $('#list tr[newlist_tid="'+thistr+'"]'); $thisstr.children('td').eq(site).children('input').val($(this).val()); } //统计合计金额 totalamount(decimal); //更改localstorage //if 签约清单 if($(this).parents('.clist').hasClass('clid')){ var id = $(this).parents('.clist').attr('list_id'); if($.trim($(this).val()) != ''){ localStorage.setItem('new_clistid_'+id, $.trim($(this).val())); var cnum = $.trim($(this).val()); updatelist(id,cnum); }else{ localStorage.removeItem('new_clistid_'+id); removelist(id); } } //else 新增空白清单 else{ var newid = $(this).parents('.clist').attr('newlist_tid'); var $thisstr = $('#list tr[newlist_tid="'+newid+'"]'); var listtrmsg = updateandgetwhitelist(newid,$thisstr); localStorage.setItem('add_new_clistid_'+newid,listtrmsg); } }); //单位选择要另外处理 $('.clist select').on("change", function () { var newid = $(this).parents('.clist').attr('newlist_tid'); var $thisstr = $('#list tr[newlist_tid="'+newid+'"]'); $thisstr.children('td').eq(2).children('select').val($(this).val()); var listtrmsg = updateandgetwhitelist(newid,$thisstr); localStorage.setItem('add_new_clistid_'+newid,listtrmsg); }); }); //小数位数设置提交到标段默认中 $('#setdnum').click(function(){ if(/^[0-6]$/.test(parseInt($('#costdnum').val())) && /^[0-6]$/.test(parseInt($('#numberdnum').val()))){ var costdnum = parseInt($('#costdnum').val()), numbernum = parseInt($('#numberdnum').val()); $.ajax({ type: 'post', url: '/change/set/decimalnum', data: { costdnum: costdnum, numberdnum:numbernum, pmid:$('#pmid').val()}, dataType: 'json', success: function(result){ if(result.code == 200){ decimalnumsetmodal(costdnum,numbernum,'newadd'); }else{ toastr.error(result.msg); } } }) }else{ toastr.error('请输入范围内正确的位数要求'); } }); }); var newflag = 0; function checkform(){ //0为保存新建变更令,1为提交审批变更令 if($.trim($('#pnum').val()) == ''){ var str = newflag == 0 ? '至少' : ''; toastr.error('请'+str+'输入申请编号'); return false; } if($('#pname').val() == ''){ var str = newflag == 0 ? '至少' : ''; toastr.error('请'+str+'输入工程名称'); return false; } if(newflag == 1) { if($('#description').val() == ''){ toastr.error('请输入工程变更理由及内容'); return false; } if($('#changelist').val() == '' && $('#changewhitelist').val() == ''){ toastr.error('请至少添加一项变更清单或空白清单'); return false; } if($('#changelist').val() != '' || $('#list .clid').length/2 != 0){ var clistnum = $('#list .clid').length/2; if($('#changelist').val() == '' || $('#changelist').val().split(',').length != clistnum){ toastr.error('请输入所有所需变更的签约清单的申报变更数量'); return false; } } if($('#changewhitelist').val() != ''){ var wlist = $('#changewhitelist').val().split(','); var existempty = 0; var emptysite = 0; var pnum = ''; $.each(wlist,function(k,v){ var adtrlist = v.split('->')[1].split(';'); if(existempty == 1){ return false; } $.each(adtrlist,function(ak,av){ if(av == '' && ak != 2){ existempty = 1; emptysite = k+1; pnum = adtrlist[0]; return false; } }); }); if(existempty){ var currnum = emptysite + $('#list .clid').length/2; toastr.error('变更清单第'+ currnum +'行,清单编号为:'+ pnum +' 存在未填写的内容,请填写完整。若不需要此空白清单请把整行填写过的内容清除'); return false; } } if($('#changeaudit').val() == ''){ toastr.error('请添加审批人'); return false; } var addArr = new Array(); var storage = window.localStorage; for(var i = 0; i < storage.length; i++){ var key = storage.key(i); if(key.substring(0,16) == 'add_new_clistid_' || key.substring(0,12) == 'new_clistid_'){ addArr.push(key); } } if(addArr){ $.each(addArr,function(k,v){ storage.removeItem(v); }) } } var ajaxflag = 0; $.ajax({ type: 'post', url: '/change/check/pnum', data: {pnum:$.trim($('#pnum').val()),status:'new',pmid:$('#pmid').val()}, async: false, dataType: 'json', success: function(result){ if(result.code == 400){ toastr.error(result.msg); ajaxflag = 1; } } }); if(ajaxflag != 0){ return false; } return true; }