预算上传文件增加遮罩层

保存草稿和提交审核,进行数据联动提交
dev_2.0.2
‘wangjiuyun 2024-12-27 15:49:56 +08:00
parent fde047a794
commit 7f2562a0d5
3 changed files with 159 additions and 44 deletions

View File

@ -87,7 +87,7 @@ $(function () {
//绑定总计的输入框 //绑定总计的输入框
bindCostManageTotal(); bindCostManageTotal();
$("#saveDraft").click(function () { $("#saveDraft").click(async function () {
$("#saveDraft").attr('disabled', true); $("#saveDraft").attr('disabled', true);
$("#collaboratorUrl").val($("#collaboratorUrl_span").text()); $("#collaboratorUrl").val($("#collaboratorUrl_span").text());
// 时间必填校验 // 时间必填校验
@ -124,10 +124,18 @@ $(function () {
//如果没有提交则自动计算预算信息 //如果没有提交则自动计算预算信息
dataIncome = prepareAjaxDataVerify(dataIncome, INCOME_DETAIL2, $("#id").val()); dataIncome = prepareAjaxDataVerify(dataIncome, INCOME_DETAIL2, $("#id").val());
if (dataIncome.details) { if (dataIncome.details) {
postAjax(base + "/project/budgetEditSaveIncomeDetail", dataIncome); await postAjax(base + "/project/budgetEditSaveIncomeDetail", dataIncome);
} }
updateIncomeDataUnsubmit(dataIncomeCheck); updateIncomeDataUnsubmit(dataIncomeCheck);
// 提交收款计划表
var dataIncomeCheck = collectData("am-modal-prompt-input-income-plan");
var dataIncomePlan = prepareAjaxDataVerify(dataIncomeCheck, INCOME_PLAN_DETAIL, $("#id").val());
if (dataIncomePlan.details) {
updateIncomePlanDataUnSubmit(dataIncomePlan)
await postAjax(base + "/project/budgetEditSaveIncomePlanDetail", dataIncomePlan);
}
var dataCost = collectData("am-modal-prompt-input-cost"); var dataCost = collectData("am-modal-prompt-input-cost");
if (dataCost.length <= 0) { if (dataCost.length <= 0) {
window.confirm('请填写采购成本明细表'); window.confirm('请填写采购成本明细表');
@ -135,19 +143,30 @@ $(function () {
return; return;
} }
//保存采购表
var dataCostCheck = convertDetailVerifyCheck(dataCost, COST_DETAIL2, "采购成本明细表"); var dataCostCheck = convertDetailVerifyCheck(dataCost, COST_DETAIL2, "采购成本明细表");
if (dataCostCheck == null) { if (dataCostCheck == null) {
$("#saveDraft").attr('disabled', false); $("#saveDraft").attr('disabled', false);
return; return;
} }
//如果没有提交则自动计算预算信息
dataCost = prepareAjaxDataVerify(dataCost, COST_DETAIL2, $("#id").val()); dataCost = prepareAjaxDataVerify(dataCost, COST_DETAIL2, $("#id").val());
if (dataCost) { if (dataCost.details) {
postAjax(base + "/project/budgetEditSaveCostDetail", dataCost); await postAjax(base + "/project/budgetEditSaveCostDetail", dataCost);
} }
updateCostDataIfUnsubmit(dataCostCheck); updateCostDataIfUnsubmit(dataCostCheck);
// 保存付款计划表
var dataPay = collectData("am-modal-prompt-input-pay");
dataPay = prepareAjaxDataVerify(dataPay, pay_DETAIL2, $("#id").val());
if (dataPay.details) {
updatePayDataUnSubmit(dataPay)
await postAjax(base + "/project/budgetEditSaveBudgetPayPlan", dataPay);
}
// 保存项目管理费用表
var dataManage = collectData("am-modal-prompt-input-cost-project-manage"); var dataManage = collectData("am-modal-prompt-input-cost-project-manage");
if (dataManage.length <= 0) { if (dataManage.length <= 0) {
window.confirm('项目管理费用'); window.confirm('项目管理费用');
@ -164,7 +183,7 @@ $(function () {
dataManage = prepareAjaxDataVerify(dataManage, COST_PROJECT_MANAGE_DETAIL2, $("#id").val()); dataManage = prepareAjaxDataVerify(dataManage, COST_PROJECT_MANAGE_DETAIL2, $("#id").val());
if (dataManage) { if (dataManage) {
postAjax(base + "/project/budgetEditSaveCostProjectManageDetail", dataManage); await postAjax(base + "/project/budgetEditSaveCostProjectManageDetail", dataManage);
} }
updateCostProjectManageDataUnsubmit(dataManageCheck); updateCostProjectManageDataUnsubmit(dataManageCheck);
@ -190,8 +209,8 @@ $(function () {
// } // }
dataPlan = prepareAjaxDataVerify(dataPlan, BUDGET_PLAN_DETAIL2, $("#id").val()); dataPlan = prepareAjaxDataVerify(dataPlan, BUDGET_PLAN_DETAIL2, $("#id").val());
if (dataPlan) { if (dataPlan.details) {
postAjax(base + "/project/budgetEditSaveBudgetPlanDetail", dataPlan); await postAjax(base + "/project/budgetEditSaveBudgetPlanDetail", dataPlan);
} }
updateBudgetPlanDetailDataUnsubmit(); updateBudgetPlanDetailDataUnsubmit();
@ -202,12 +221,6 @@ $(function () {
// return; // return;
// } // }
// console.log(message); // console.log(message);
// 保存付款计划表
var dataPay = collectData("am-modal-prompt-input-pay");
dataPay = prepareAjaxDataVerify(dataPay, pay_DETAIL2, $("#id").val());
if (dataPay) {
postAjax(base + "/project/budgetEditSaveBudgetPayPlan", dataPay);
}
var startTime = $("#startDate").val(); var startTime = $("#startDate").val();
@ -222,14 +235,13 @@ $(function () {
}, 5000); }, 5000);
$("#pmsForm").attr("action", base + "/project/budgetEditSave"); $("#pmsForm").attr("action", base + "/project/budgetEditSave");
$("#pmsForm").submit(); $("#pmsForm").submit();
}); });
$("#saveApprove").click(function () { $("#saveApprove").click(async function () {
$("#saveApprove").attr('disabled', true); $("#saveApprove").attr('disabled', true);
$("#collaboratorUrl").val($("#collaboratorUrl_span").text()); $("#collaboratorUrl").val($("#collaboratorUrl_span").text());
if (!checkprojectPlan()) {
$("#saveApprove").attr('disabled', false);
return
}
// 时间必填校验 // 时间必填校验
var timeValue = $(".input-changeable-pay-time"); var timeValue = $(".input-changeable-pay-time");
var timeFlag = true var timeFlag = true
@ -264,7 +276,7 @@ $(function () {
//如果没有提交则自动计算预算信息 //如果没有提交则自动计算预算信息
dataIncome = prepareAjaxDataVerify(dataIncome, INCOME_DETAIL, $("#id").val()); dataIncome = prepareAjaxDataVerify(dataIncome, INCOME_DETAIL, $("#id").val());
if (dataIncome.details) { if (dataIncome.details) {
postAjax(base + "/project/budgetEditSaveIncomeDetail", dataIncome); await postAjax(base + "/project/budgetEditSaveIncomeDetail", dataIncome);
} }
updateIncomeDataUnsubmit(dataIncomeCheck); updateIncomeDataUnsubmit(dataIncomeCheck);
@ -284,10 +296,32 @@ $(function () {
//如果没有提交则自动计算预算信息 //如果没有提交则自动计算预算信息
dataCost = prepareAjaxDataVerify(dataCost, COST_DETAIL, $("#id").val()); dataCost = prepareAjaxDataVerify(dataCost, COST_DETAIL, $("#id").val());
if (dataCost) { if (dataCost) {
postAjax(base + "/project/budgetEditSaveCostDetail", dataCost); await postAjax(base + "/project/budgetEditSaveCostDetail", dataCost);
} }
updateCostDataIfUnsubmit(dataCostCheck); updateCostDataIfUnsubmit(dataCostCheck);
// 提交收款计划表
var dataIncomeCheck = collectData("am-modal-prompt-input-income-plan");
var dataIncomePlan = prepareAjaxDataVerify(dataIncomeCheck, INCOME_PLAN_DETAIL, $("#id").val());
if (dataIncomePlan.details) {
updateIncomePlanDataUnSubmit(dataIncomePlan)
await postAjax(base + "/project/budgetEditSaveIncomePlanDetail", dataIncomePlan);
}
// 保存付款计划表
var flagPay = verifyBudgetPay(1)
if (!flagPay) {
$("#saveApprove").attr('disabled', false)
return;
}
var dataPay = collectData("am-modal-prompt-input-pay");
dataPay = prepareAjaxDataVerify(dataPay, pay_DETAIL2, $("#id").val());
if (dataPay) {
updatePayDataUnSubmit(dataPay)
await postAjax(base + "/project/budgetEditSaveBudgetPayPlan", dataPay);
}
var dataManage = collectData("am-modal-prompt-input-cost-project-manage"); var dataManage = collectData("am-modal-prompt-input-cost-project-manage");
console.log("dataManage: " + dataManage.length); console.log("dataManage: " + dataManage.length);
if (dataManage.length <= 4) { if (dataManage.length <= 4) {
@ -320,7 +354,7 @@ $(function () {
return return
} }
if (dataManage) { if (dataManage) {
postAjax(base + "/project/budgetEditSaveCostProjectManageDetail", dataManage); await postAjax(base + "/project/budgetEditSaveCostProjectManageDetail", dataManage);
} }
updateCostProjectManageDataUnsubmit(dataManageCheck); updateCostProjectManageDataUnsubmit(dataManageCheck);
@ -348,7 +382,7 @@ $(function () {
dataPlan = prepareAjaxDataVerify(dataPlan, BUDGET_PLAN_DETAIL, $("#id").val()); dataPlan = prepareAjaxDataVerify(dataPlan, BUDGET_PLAN_DETAIL, $("#id").val());
if (dataPlan) { if (dataPlan) {
postAjax(base + "/project/budgetEditSaveBudgetPlanDetail", dataPlan); await postAjax(base + "/project/budgetEditSaveBudgetPlanDetail", dataPlan);
} }
updateBudgetPlanDetailDataUnsubmit(); updateBudgetPlanDetailDataUnsubmit();
@ -358,16 +392,9 @@ $(function () {
// layuiAlert(message); // layuiAlert(message);
// return; // return;
// } // }
// 保存付款计划表 if (!checkprojectPlan()) {
var flagPay = verifyBudgetPay(1) $("#saveApprove").attr('disabled', false);
if (!flagPay) { return
$("#saveApprove").attr('disabled', false)
return;
}
var dataPay = collectData("am-modal-prompt-input-pay");
dataPay = prepareAjaxDataVerify(dataPay, pay_DETAIL2, $("#id").val());
if (dataPay) {
postAjax(base + "/project/budgetEditSaveBudgetPayPlan", dataPay);
} }
var startTime = $("#startDate").val(); var startTime = $("#startDate").val();
@ -1085,7 +1112,10 @@ function checkprojectPlan() {
//根据收款计划表和付款计划表更新资金计划表日期范围 //根据收款计划表和付款计划表更新资金计划表日期范围
function updataCostPlanMonth(data, key) { function updataCostPlanMonth(data, key) {
var laydate = layui.laydate;
if (!data.details.length) return if (!data.details.length) return
let nowMaxMonth = new Date($('#planEndStr').val()).getTime() let nowMaxMonth = new Date($('#planEndStr').val()).getTime()
let nowMinMonth = new Date($('#planStartStr').val()).getTime() let nowMinMonth = new Date($('#planStartStr').val()).getTime()
let dataMonth = data.details let dataMonth = data.details
@ -1097,8 +1127,7 @@ function updataCostPlanMonth(data, key) {
if (!nowMaxMonth || !nowMinMonth) { if (!nowMaxMonth || !nowMinMonth) {
if (!nowMinMonth) { if (!nowMinMonth) {
layui.use('laydate', function () {
var laydate = layui.laydate;
laydate.render({ laydate.render({
elem: '#planStartStr', elem: '#planStartStr',
type: 'month', type: 'month',
@ -1116,11 +1145,11 @@ function updataCostPlanMonth(data, key) {
} }
}); });
})
} }
if (!nowMaxMonth) { if (!nowMaxMonth) {
$('#planEndStr').val(dataMonth[0][key].slice(0, 7)) $('#planEndStr').val(dataMonth[0][key].slice(0, 7))
layui.use('laydate', function () {
var laydate = layui.laydate; var laydate = layui.laydate;
laydate.render({ laydate.render({
elem: '#planEndStr', elem: '#planEndStr',
@ -1142,12 +1171,12 @@ function updataCostPlanMonth(data, key) {
$("#planEndDate").val(dataMonth[0][key].slice(0, 7)); $("#planEndDate").val(dataMonth[0][key].slice(0, 7));
$("#planStartDate").val(dataMonth[dataMonth.length - 1][key].slice(0, 7)); $("#planStartDate").val(dataMonth[dataMonth.length - 1][key].slice(0, 7));
});
} }
} else { } else {
if (nowMinMonth > dataMin) { if (nowMinMonth > dataMin) {
layui.use('laydate', function () {
var laydate = layui.laydate; var laydate = layui.laydate;
laydate.render({ laydate.render({
elem: '#planStartStr', elem: '#planStartStr',
@ -1168,11 +1197,11 @@ function updataCostPlanMonth(data, key) {
}); });
appendMultiplePlan(); appendMultiplePlan();
$("#planStartDate").val(dataMonth[dataMonth.length - 1][key].slice(0, 7)); $("#planStartDate").val(dataMonth[dataMonth.length - 1][key].slice(0, 7));
});
} }
if (dataMax > nowMaxMonth) { if (dataMax > nowMaxMonth) {
layui.use('laydate', function () {
var laydate = layui.laydate; var laydate = layui.laydate;
laydate.render({ laydate.render({
elem: '#planEndStr', elem: '#planEndStr',
@ -1184,6 +1213,7 @@ function updataCostPlanMonth(data, key) {
}, },
done: function () { done: function () {
var time = $(this.elem).val(); var time = $(this.elem).val();
appendMultiplePlan(); appendMultiplePlan();
$("#planEndDate").val(time); $("#planEndDate").val(time);
@ -1192,10 +1222,83 @@ function updataCostPlanMonth(data, key) {
}); });
appendMultiplePlan(); appendMultiplePlan();
$("#planEndDate").val(dataMonth[0][key].slice(0, 7)); $("#planEndDate").val(dataMonth[0][key].slice(0, 7));
});
} }
} }
} }
function updateIncomePlanDataUnSubmit(data, returnData) {
updataCostPlanMonth(data, 'receiveTime')
$('.input-changeable-sale-income-budget-plan').val(0)
$('.input-changeable-sale-income-budget-plan').each((index, ele) => {
let time = $(ele).parent().parent().find('.input-changeable-month-budget-plan').val()
let total = 0
data.details.forEach((ele) => {
if (time == ele.receiveTime.slice(0, 7))
total += ele.receiveAmount
})
$(ele).val(total)
var eventChange = new Event('change', {bubbles: true});
ele.dispatchEvent(eventChange);
updateTotal('input-changeable-sale-income-budget-plan', 'input-total-title-sale-income-budget-plan')
})
$('#my-prompt-income-plan-detail').modal('close');
}
function updatePayDataUnSubmit(data) {
updataCostPlanMonth(data, 'payTime')
// 更新资金计划表数据
$('.input-changeable-device-cost-budget-plan').val(0)
$('.input-changeable-project-cost-budget-plan').val(0)
$('.input-changeable-service-cost-budget-plan').val(0)
$('.input-changeable-other-cost-budget-plan').val(0)
data.details.forEach((ele) => {
let time = ele.payTime.slice(0, 7)
let type = ele.payProject
switch (type) {
case 1:
var input = $(`#tab6 .input-changeable-month-budget-plan[value="${time}"]`).parent().parent().find('.input-changeable-device-cost-budget-plan').get(0)
var val = parseFloat($(input).val())
$(input).val(f2(ele.payAmount + val))
break;
case 2:
var input = $(`#tab6 .input-changeable-month-budget-plan[value="${time}"]`).parent().parent().find('.input-changeable-project-cost-budget-plan')
var val = parseFloat($(input).val())
$(input).val(f2(ele.payAmount + val))
break;
case 3:
var input = $(`#tab6 .input-changeable-month-budget-plan[value="${time}"]`).parent().parent().find('.input-changeable-service-cost-budget-plan')
var val = parseFloat($(input).val())
$(input).val(f2(ele.payAmount + val))
break;
case 4:
var input = $(`#tab6 .input-changeable-month-budget-plan[value="${time}"]`).parent().parent().find('.input-changeable-other-cost-budget-plan')
var val = parseFloat($(input).val())
$(input).val(f2(ele.payAmount + val))
break;
}
})
updateTotal("input-changeable-device-cost-budget-plan", "input-total-title-device-cost-budget-plan");
updateTotal("input-changeable-project-cost-budget-plan", "input-total-title-projectCost-cost-budget-plan");
updateTotal("input-changeable-service-cost-budget-plan", "input-total-title-serviceCost-cost-budget-plan");
updateTotal("input-changeable-other-cost-budget-plan", "input-total-title-otherCost-cost-budget-plan");
$('.input-changeable-project-manage-cost-budget-plan').each((index, element) => {
var engineer1 = f2($(element).parent().parent().find(".input-changeable-device-cost-budget-plan").val())
var engineer2 = f2($(element).parent().parent().find(".input-changeable-project-cost-budget-plan").val())
var engineer3 = f2($(element).parent().parent().find(".input-changeable-service-cost-budget-plan").val())
var engineer4 = f2($(element).parent().parent().find(".input-changeable-other-cost-budget-plan").val())
var projectManageCost = f2($(element).val());
var earnestMoneyCost = f2($(element).parent().parent().find(".input-changeable-earnest-money-cost-budget-plan").val());
var engineerCost = f2(engineer1 + engineer2 + engineer3 + engineer4);
$(element).parent().parent().find('.input-changeable-total-cost-budget-plan').val(f2Fixed(engineerCost + projectManageCost + earnestMoneyCost));
var eventChange = new Event('change', {bubbles: true});
element.dispatchEvent(eventChange);
})
updateTotal("input-changeable-total-cost-budget-plan", "input-total-title-total-cost-budget-plan");
}

View File

@ -169,6 +169,7 @@ function appendMultiplePlan() {
var endMonth = planEndStr.substring(5, 7); var endMonth = planEndStr.substring(5, 7);
var totalEndMonth = endYear * 12 + parseInt(endMonth); var totalEndMonth = endYear * 12 + parseInt(endMonth);
var diff = totalEndMonth - totalStartMonth + 1; var diff = totalEndMonth - totalStartMonth + 1;
var planIndex = 0; var planIndex = 0;
if (planStartDate === "") { if (planStartDate === "") {
while (planIndex < diff) { while (planIndex < diff) {

View File

@ -636,7 +636,7 @@
data-validation-message="汇智产品金额" data-validation-message="汇智产品金额"
name="huizhiProductAmountBudget" id="huizhiProductAmountBudget" name="huizhiProductAmountBudget" id="huizhiProductAmountBudget"
placeholder="单位(元)" maxlength="16" placeholder="单位(元)" maxlength="16"
value="${Utils.format(projectBudget.huizhiProductAmountBudget, "0.00")}"/> value="${Utils.format(projectBudget.huizhiProductAmountBudget, "0.00")}"/>
</td> </td>
<th class="table-title" colspan="1"><span style="color: red;">*</span><span <th class="table-title" colspan="1"><span style="color: red;">*</span><span
style="font-size: 15px">华智产品金额:</span></th> style="font-size: 15px">华智产品金额:</span></th>
@ -2416,6 +2416,9 @@
// $('#modal').modal('open'); // $('#modal').modal('open');
// $('#span-'+id).html("&nbsp;&nbsp;&nbsp;&nbsp;数据正在导入,请等待"); // $('#span-'+id).html("&nbsp;&nbsp;&nbsp;&nbsp;数据正在导入,请等待");
// } // }
var model=parent.layer.load(1, {
shade: [0.3,'#fff']
});
$.ajaxFileUpload({ $.ajaxFileUpload({
url: url, url: url,
secureuri: false, secureuri: false,
@ -2426,6 +2429,8 @@
// $('#modal').modal('close'); // $('#modal').modal('close');
// $('#span-'+id).html("导入完成"); // $('#span-'+id).html("导入完成");
// } // }
parent.layer.close(model)
if (data.status == 0) { if (data.status == 0) {
var list = [...data.data.successList.map((ele)=> { var list = [...data.data.successList.map((ele)=> {
ele.result = ele.name + '(成功)' ele.result = ele.name + '(成功)'
@ -2452,6 +2457,7 @@
}, },
error: function (data, status, e) { error: function (data, status, e) {
console.log("--------error---------" + data) console.log("--------error---------" + data)
parent.layer.close(model)
// layer.alert("-----------------" + data); // layer.alert("-----------------" + data);
// if ($('#modal')) { // if ($('#modal')) {
// $('#modal').modal('close'); // $('#modal').modal('close');
@ -2467,6 +2473,9 @@
// $('#modal').modal('open'); // $('#modal').modal('open');
// $('#span-'+id).html("&nbsp;&nbsp;&nbsp;&nbsp;数据正在导入,请等待"); // $('#span-'+id).html("&nbsp;&nbsp;&nbsp;&nbsp;数据正在导入,请等待");
// } // }
var model=parent.layer.load(1, {
shade: [0.3,'#fff']
});
$.ajaxFileUpload({ $.ajaxFileUpload({
url: url, url: url,
secureuri: false, secureuri: false,
@ -2478,6 +2487,7 @@
// $('#modal').modal('close'); // $('#modal').modal('close');
// $('#span-'+id).html("导入完成"); // $('#span-'+id).html("导入完成");
// } // }
parent.layer.close(model)
if (data.status == 0) { if (data.status == 0) {
var list = [...data.data.successList.map((ele)=> { var list = [...data.data.successList.map((ele)=> {
ele.result = ele.category + '(成功)' ele.result = ele.category + '(成功)'
@ -2502,6 +2512,7 @@
$("#" + id).val(""); $("#" + id).val("");
}, },
error: function (data, status, e) { error: function (data, status, e) {
parent.layer.close(model)
console.log("--------error---------" + data) console.log("--------error---------" + data)
// if ($('#modal')) { // if ($('#modal')) {
// $('#modal').modal('close'); // $('#modal').modal('close');