$(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.00 | | 0.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;
}