'use strict';
/**
* 变更令-审批页js
*
* @author EllisRan.
* @date 2018/11/22
* @version
*/
$(document).ready(() => {
$('#sp-back input[name="status"]').click(function (e) {
if($(e.target).is('label')){
return;
}
if (parseInt($(this).val()) === 4) {
$('.change-approval-stop').show();
$('.change-approval-back').hide();
} else {
$('.change-approval-stop').hide();
$('.change-approval-back').show();
}
});
// 清单输入监控并更新
$('body').on('valuechange', '.clist input', function (e, previous) {
const amount = $(this).val();
const lid = $(this).parents('tr').data('lid');
const tr = $('#list tr[data-lid="' + lid + '"]').eq(0);
const unitprice = tr.children('td[data-site="5"]').text();
tr.children('.amount_cost').text(amount != '' && unitprice ?
roundnum(parseFloat(unitprice).mul(parseFloat(amount)),totalPriceUnit) : '');
// 统计总金额
let totalcost = 0;
$('.clist').each(function(){
const utotal = $(this).find('.amount_cost').text();
totalcost = utotal != '' ? parseFloat(totalcost)+parseFloat(utotal) : parseFloat(totalcost);
});
$('.amount_totalcost').eq(1).text(totalcost !== 0 ? roundnum(totalcost, totalPriceUnit) : '');
});
// 选中input所有值
$('body').on('focus', ".clist input", function() {
$(this).select();
});
// 审批提交与判断
$('.approval-btn').on('click', function () {
// 判断审批状态
let returnflag = true;
if ($(this).hasClass('btn-success')) {
const sdesc = $('#success-approval').find('textarea').val();
if (sdesc === '') {
toastr.error('审批意见不能为空!');
returnflag = false;
}
if ($('input[name="p_code"]').val() === '') {
toastr.error('变更令号(批复编号)不能为空!');
returnflag = false;
} else if ($('input[name="p_code"]').val() !== undefined) {
$('input[name="p_code"]').val($.trim($('input[name="p_code"]').val()));
const postData = {
p_code: $('input[name="p_code"]').val(),
};
postDataWithAsync('/tender/' + $('#tenderId').val() + '/change/' + $('#changeId').val() + '/check/codeRepeat',postData, function (result) {
}, function (data) {
returnflag = false;
});
}
// 判断并提交变更清单表格数据到表单中
const clist = [];
$('.clist input').each(function(k, v){
const value = $(this).val();
const lid = $(this).parents('tr').data('lid');
if (value === '') {
toastr.error('清单第' + (k+1) + '行审批变更数量不能为空');
returnflag = false;
}
clist.push(lid+'_'+value);
});
$('#change-list-approval').val(clist.join(','));
if(returnflag) {
$('input[name="w_code"]').val($.trim($('#w_code').val()));
$('#success-approval').find('textarea').val(sdesc.replace(/\r\n/g, '
').replace(/\n/g, '
').replace(/\s/g, ' '));
$('#success-approval').submit();
}
} else {
const sdesc = $('#fail-approval').find('textarea').val();
if (sdesc === '') {
toastr.error('审批意见不能为空!');
returnflag = false;
}
const type = $('#fail-approval').find('input[name="status"]:checked').val();
if (type === undefined) {
toastr.error('请选择退回类型!');
returnflag = false;
}
if(returnflag) {
$('#fail-approval').find('textarea').val(sdesc.replace(/\r\n/g, '
').replace(/\n/g, '
').replace(/\s/g, ' '));
$('input[name="w_code"]').val($.trim($('#w_code').val()));
$('#fail-approval').submit();
}
}
})
});
const postDataWithAsync = function (url, data, successCallback, errorCallBack, showWaiting = true) {
if (showWaiting) showWaitingView();
$.ajax({
type:"POST",
url: url,
data: {'data': JSON.stringify(data)},
dataType: 'json',
cache: false,
async: false,
timeout: 60000,
beforeSend: function(xhr) {
let csrfToken = Cookies.get('csrfToken');
xhr.setRequestHeader('x-csrf-token', csrfToken);
},
success: function(result){
if (result.err === 0) {
if (successCallback) {
successCallback(result.data);
}
} else {
toastr.error(result.msg);
if (errorCallBack) {
errorCallBack(result.msg);
}
}
if (showWaiting) closeWaitingView();
},
error: function(jqXHR, textStatus, errorThrown){
toastr.error('error: ' + textStatus + " " + errorThrown);
if (errorCallBack) {
errorCallBack();
}
if (showWaiting) closeWaitingView();
}
});
};