除附件外功能
parent
09680c6b43
commit
fd43f2f71f
|
@ -288,7 +288,6 @@ $(function () {
|
||||||
var projectGrossProfitA = $('[name="projectGrossProfitA"]').val()
|
var projectGrossProfitA = $('[name="projectGrossProfitA"]').val()
|
||||||
if (limitTotal > ((Number(projectGrossProfitA)-(totalTotal-limitTotal)) * 0.1)) {
|
if (limitTotal > ((Number(projectGrossProfitA)-(totalTotal-limitTotal)) * 0.1)) {
|
||||||
layuiAlert(`差旅费+业务费总金额不超过【毛利A(${projectGrossProfitA})-(项目管理费用-差旅费-业务费)】*10%`);
|
layuiAlert(`差旅费+业务费总金额不超过【毛利A(${projectGrossProfitA})-(项目管理费用-差旅费-业务费)】*10%`);
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if (dataManage) {
|
if (dataManage) {
|
||||||
|
|
|
@ -119,8 +119,8 @@ $(function () {
|
||||||
var data = collectData("am-modal-prompt-input-pay");
|
var data = collectData("am-modal-prompt-input-pay");
|
||||||
//data = prepareAjaxData(data, COST_DETAIL_ARR, $("#id").val(),false);
|
//data = prepareAjaxData(data, COST_DETAIL_ARR, $("#id").val(),false);
|
||||||
data = prepareAjaxDataVerify(data, pay_DETAIL2, $("#id").val());
|
data = prepareAjaxDataVerify(data, pay_DETAIL2, $("#id").val());
|
||||||
var flag=verifyBudgetPay()
|
var flag = verifyBudgetPay()
|
||||||
if(!flag) return
|
if (!flag) return
|
||||||
if (data) {
|
if (data) {
|
||||||
postAjax(base + "/project/budgetEditSaveBudgetPayPlan", data, updateCostData);
|
postAjax(base + "/project/budgetEditSaveBudgetPayPlan", data, updateCostData);
|
||||||
}
|
}
|
||||||
|
@ -132,7 +132,8 @@ $(function () {
|
||||||
|
|
||||||
//绑定删除按钮
|
//绑定删除按钮
|
||||||
bindDeleteBtnPay();
|
bindDeleteBtnPay();
|
||||||
|
//绑定总计值
|
||||||
|
bindPayTotal();
|
||||||
//初始化大类和类别的数据
|
//初始化大类和类别的数据
|
||||||
getAjax(base + "/procurement/type/map", null, initTypeCategory);
|
getAjax(base + "/procurement/type/map", null, initTypeCategory);
|
||||||
});
|
});
|
||||||
|
@ -160,7 +161,7 @@ function appendTrPay() {
|
||||||
'<option value="4">其他成本</option>' +
|
'<option value="4">其他成本</option>' +
|
||||||
'</select>' +
|
'</select>' +
|
||||||
'</td>' +
|
'</td>' +
|
||||||
'<td width="100px"><input type="text" class="am-modal-prompt-input am-modal-prompt-input-pay am-modal-prompt-input-pay-amount" ></td>' +
|
'<td width="100px"><input type="text" class="am-modal-prompt-input am-modal-prompt-input-pay am-modal-prompt-input-pay-amount input-changeable-pay-amount" ></td>' +
|
||||||
'<td width="100px"><input type="text" class="am-modal-prompt-input am-modal-prompt-input-pay am-modal-prompt-input-pay-supplier" ></td>' +
|
'<td width="100px"><input type="text" class="am-modal-prompt-input am-modal-prompt-input-pay am-modal-prompt-input-pay-supplier" ></td>' +
|
||||||
'<td width="60px"><button type="button" style="margin-top: 10px" class="am-btn am-btn-danger am-btn-xs am-round am-modal-line-delete"><span class="am-icon-minus"></span></button></td>' +
|
'<td width="60px"><button type="button" style="margin-top: 10px" class="am-btn am-btn-danger am-btn-xs am-round am-modal-line-delete"><span class="am-icon-minus"></span></button></td>' +
|
||||||
|
|
||||||
|
@ -341,17 +342,58 @@ function initTypeCategory(params, data) {
|
||||||
}
|
}
|
||||||
|
|
||||||
//校验付款明细表
|
//校验付款明细表
|
||||||
function verifyBudgetPay() {
|
function verifyBudgetPay(isApprove) {
|
||||||
|
// 时间必填校验
|
||||||
var timeValue = $(".input-changeable-pay-time");
|
var timeValue = $(".input-changeable-pay-time");
|
||||||
var flag=true
|
var flag = true
|
||||||
var timeFlag = true
|
var timeFlag = true
|
||||||
timeValue.each((index, element) => {
|
timeValue.each((index, element) => {
|
||||||
if ($(element).val().length != 10)
|
if ($(element).val().length != 10)
|
||||||
timeFlag = false
|
timeFlag = false
|
||||||
})
|
})
|
||||||
if (timeFlag == false) {
|
if (timeFlag == false) {
|
||||||
flag=false
|
flag = false
|
||||||
layuiAlert('付款计划表中付款时间为必填')
|
layuiAlert('付款计划表中付款时间为必填')
|
||||||
}
|
}
|
||||||
|
// 采购成本与付款金额校验
|
||||||
|
if (isApprove) {
|
||||||
|
var payData = prepareAjaxDataVerify(collectData("am-modal-prompt-input-pay"), pay_DETAIL2, $("#id").val())
|
||||||
|
var costData = prepareAjaxDataVerify(collectData("am-modal-prompt-input-cost"), COST_DETAIL2, $("#id").val())
|
||||||
|
|
||||||
|
var payTotal_equipment = calculateTotal(payData, 1,'payProject','payAmount');
|
||||||
|
var payTotal_project = calculateTotal(payData, 2,'payProject','payAmount');
|
||||||
|
var payTotal_server = calculateTotal(payData, 3,'payProject','payAmount');
|
||||||
|
var payTotal_other = calculateTotal(payData, 4,'payProject','payAmount');
|
||||||
|
|
||||||
|
var costTotal_equipment = calculateTotal(costData, 1,'type','totalTaxExclude');
|
||||||
|
var costTotal_project = calculateTotal(costData, 2,'type','totalTaxExclude');
|
||||||
|
var costTotal_server = calculateTotal(costData, 3,'type','totalTaxExclude');
|
||||||
|
var costTotal_other = calculateTotal(costData, 4,'type','totalTaxExclude');
|
||||||
|
|
||||||
|
console.log(2333,payTotal_equipment,payTotal_project,payTotal_server,payTotal_other)
|
||||||
|
console.log(3333,costTotal_equipment,costTotal_project,costTotal_server,costTotal_other)
|
||||||
|
|
||||||
|
|
||||||
|
if (payTotal_equipment != costTotal_equipment) {
|
||||||
|
flag = false
|
||||||
|
layuiAlert('[付款计划表中"设备"成本总金]额需要与[采购成本明细表中"设备"成本总金额]一致')
|
||||||
|
} else if (payTotal_project != costTotal_project) {
|
||||||
|
flag = false
|
||||||
|
layuiAlert('[付款计划表中"工程"成本总金]额需要与[采购成本明细表中"工程"成本总金额]一致')
|
||||||
|
} else if (payTotal_server != costTotal_server) {
|
||||||
|
flag = false
|
||||||
|
layuiAlert('[付款计划表中"服务"成本总金]额需要与[采购成本明细表中"服务"成本总金额]一致')
|
||||||
|
} else if (payTotal_other != costTotal_other) {
|
||||||
|
flag = false
|
||||||
|
layuiAlert('[付款计划表中"其他"成本总金]额需要与[采购成本明细表中"其他"成本总金额]一致')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return flag
|
return flag
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function calculateTotal(payData, type,key,value) {
|
||||||
|
return payData.details.reduce((total, now) => {
|
||||||
|
return now[key] == type ? now[value] + total : total;
|
||||||
|
}, 0);
|
||||||
|
}
|
||||||
|
|
|
@ -872,6 +872,9 @@
|
||||||
onclick="location.href='${base}/project/incomeTemplate'">
|
onclick="location.href='${base}/project/incomeTemplate'">
|
||||||
<span class="am-icon-archive"></span> 导入模板下载
|
<span class="am-icon-archive"></span> 导入模板下载
|
||||||
</button>
|
</button>
|
||||||
|
<span>销售合同配置清单</span>
|
||||||
|
<input id="file_upload_icon" type="file" name="files[]" accept=".xls,.xlsx">
|
||||||
|
<span id="collaboratorUrl"></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1517,7 +1520,7 @@
|
||||||
readonly/></td>
|
readonly/></td>
|
||||||
<td style="display: block;"><input type="text"
|
<td style="display: block;"><input type="text"
|
||||||
class="number am-modal-prompt-input input-total-title-device-cost-budget-plan"
|
class="number am-modal-prompt-input input-total-title-device-cost-budget-plan"
|
||||||
value="${Utils.format(projectBudgetPlanDetailTotalTitle.deviceCost)}"/>
|
value="${Utils.format(projectBudgetPlanDetailTotalTitle.deviceCost)}" readonly/>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<td style="display: block;"><input type="text"
|
<td style="display: block;"><input type="text"
|
||||||
|
@ -1660,7 +1663,7 @@
|
||||||
oninput="if(value.length>16)value=value.slice(0,16)"
|
oninput="if(value.length>16)value=value.slice(0,16)"
|
||||||
maxlength="16"
|
maxlength="16"
|
||||||
class="number am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-device-cost-budget-plan"
|
class="number am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-device-cost-budget-plan"
|
||||||
value="${Utils.format(projectBudgetPlanDetail.deviceCost)}">
|
value="${Utils.format(projectBudgetPlanDetail.deviceCost)}" readonly>
|
||||||
</td>
|
</td>
|
||||||
<td style="display: block;"><input type="text"
|
<td style="display: block;"><input type="text"
|
||||||
oninput="if(value.length>16)value=value.slice(0,16)"
|
oninput="if(value.length>16)value=value.slice(0,16)"
|
||||||
|
@ -1923,8 +1926,8 @@
|
||||||
<#-- </tr>-->
|
<#-- </tr>-->
|
||||||
<tr>
|
<tr>
|
||||||
<td>合计</td>
|
<td>合计</td>
|
||||||
<td></td>
|
<#-- <td></td>-->
|
||||||
<td></td>
|
<#-- <td></td>-->
|
||||||
<td><input type="text" class="number" name="costTotalTaxInclude"
|
<td><input type="text" class="number" name="costTotalTaxInclude"
|
||||||
value="${Utils.format(budgetBean.costTotalTaxInclude,'0')}" readonly
|
value="${Utils.format(budgetBean.costTotalTaxInclude,'0')}" readonly
|
||||||
title="此列累计"></td>
|
title="此列累计"></td>
|
||||||
|
@ -2438,8 +2441,7 @@
|
||||||
console.log(data);
|
console.log(data);
|
||||||
//设置服务器返回的url
|
//设置服务器返回的url
|
||||||
$("#collaboratorUrlBudget").val(data.result.data.url);
|
$("#collaboratorUrlBudget").val(data.result.data.url);
|
||||||
$("#collaboratorUrl_span").text(data.result.data.url);
|
$("#collaboratorUrl_check").text(data.result.data.newName);
|
||||||
$("#collaboratorUrl_check").text("已上传");
|
|
||||||
// console.log("collboratorUrl: " + $("#collaboratorUrl").val());
|
// console.log("collboratorUrl: " + $("#collaboratorUrl").val());
|
||||||
setTimeout(function () {
|
setTimeout(function () {
|
||||||
progressArea.addClass("am-hide");
|
progressArea.addClass("am-hide");
|
||||||
|
@ -2498,7 +2500,7 @@
|
||||||
console.log(data);
|
console.log(data);
|
||||||
//设置服务器返回的url
|
//设置服务器返回的url
|
||||||
$("#collaboratorUrl").val(data.result.data.url);
|
$("#collaboratorUrl").val(data.result.data.url);
|
||||||
$("#collaboratorUrl_span").text(data.result.data.url);
|
$("#collaboratorUrl_check").text(data.result.newName);
|
||||||
// console.log("collboratorUrl: " + $("#collaboratorUrl").val());
|
// console.log("collboratorUrl: " + $("#collaboratorUrl").val());
|
||||||
setTimeout(function () {
|
setTimeout(function () {
|
||||||
progressArea.addClass("am-hide");
|
progressArea.addClass("am-hide");
|
||||||
|
|
Loading…
Reference in New Issue