$(function(){ var table = $('#tablelist').DataTable({ columnDefs: [ { className: 'allwidth1', width: 150, targets: [0,2] }, { className: 'allwidth2', width: 200, targets: 1 }, { className: 'allwidth4', width: 70, targets: 8 }, { className: 'allwidth3', width: 100, targets: '_all' } ], fixedColumns: { leftColumns: 4 } }); $('.addlistbtn').on('click',function(){ //生成table清单 if($(this).hasClass('btn-default')){ maketablelist('addwhite'); }else{ maketablelist(); } $('#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)),2) : ''; 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)),2) : ''; $(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()); var $thisstr2 = $('#list tr[list_id="'+id+'"]'); updatelist(id,cnum,$thisstr2); }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('请输入范围内正确的位数要求'); } }); //删除清单功能 $('body').on('click', "#tablelist .btn-sm",function(){ if($(this).attr('list_id') !== undefined){ var id = $(this).attr('list_id'); //删除localstorage记录和reductionList记录 localStorage.removeItem('new_clistid_'+id); var reductionlist = $('#reductionList').val().split(','); if($.trim(reductionlist) != ''){ $.each(reductionlist,function(k,v){ if(v == id){ reductionlist.splice(k,1); return false; } }); } $('#reductionList').val(reductionlist.join(',')); //先删所有后还原 var $rowtr = $('#addlist').find('tbody').children('tr'); $rowtr.removeClass('success'); $rowtr.find('input').prop('checked',false); var z = 0; for(var i = 0; i < reductionlist.length; i++){ var j = z; for(; j < $rowtr.length; j++){ if(reductionlist[i] == $rowtr.eq(j).children('td').eq(0).attr('list_id')){ $rowtr.eq(j).addClass('success'); $rowtr.eq(j).find('input').prop('checked',true); z = ++j; break; } } } maketablelist(); }else{ var id = $(this).attr('newlist_tid'); //删除localstorage记录 localStorage.removeItem('add_new_clistid_'+id); maketablelist(); } }); function maketablelist(status){ //获取小数位的设置点数 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 deteletr2 = 'class="btn btn-default btn-sm" title="删除清单">'; //获取清单列表 var clist = new Array(); var rlist = 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; var trlist = [num,name,unit,price,oamount]; if(localStorage.hasOwnProperty('new_clistid_'+id)){ scnum = localStorage.getItem('new_clistid_'+id); sctotal = parseFloat(price).mul(parseFloat(scnum)); }else{ //新增一个localstorage scnum = zero; localStorage.setItem('new_clistid_'+id,scnum); } trlist.push(scnum); clist.push(id+'->'+trlist.join(';')); rlist.push(id); sctotal = sctotal != 0 ? roundnum(sctotal,decimal) : costzero; var deteletr = '