预算页面

master
hanbo 2021-12-31 15:47:30 +08:00
parent 8aed9549a8
commit 37a2260cea
6 changed files with 573 additions and 29 deletions

View File

@ -175,6 +175,10 @@ public class ProjectController extends BaseController {
public String budget(@RequestParam("id") int id, Map<String, Object> model) {
Project project = projectService.getProject(id);
model.put("project", project);
EstimateBean estimateBean = projectEstimateService.getEstimate(project);
model.put("estimateBean", estimateBean);
//采购类型
model.put("procurementTypes", procurementTypeService.allProcurementTypeList());
BudgetBean budgetBean = projectBudgetService.getBudget(project);

View File

@ -75,7 +75,7 @@ SELECT_TYPE_CATEGORY_MAP_DATA={};
*/
SELECT_CATEGORY_TYPE_MAP_DATA={};
$(function () {
/*$(function () {
$("#cost-detail").click(function () {
$('#my-prompt-cost-detail').modal({
relatedTarget: this,
@ -104,7 +104,33 @@ $(function () {
//初始化大类和类别的数据
getAjax(base+"/procurement/type/map", null, initTypeCategory);
});*/
//保存采购成本明细表
$(function () {
$("#costTableSave").click(function () {
//不能使用e.data因为无法获取动态添加的
var data = collectData("am-modal-prompt-input-cost");
//data = prepareAjaxData(data, COST_DETAIL_ARR, $("#id").val(),false);
data = prepareAjaxDataVerify(data, COST_DETAIL, $("#id").val());
if(data){
postAjax(base+"/project/budgetEditSaveCostDetail", data, updateCostData);
}
});
$("#costAddBtn").click(function () {
appendTrCost();
});
//绑定其他其他的输入框
bindOtherOtherChangeable();
//绑定采购明细中select联动事件
bindTypeSelectChange();
//初始化大类和类别的数据
getAjax(base+"/procurement/type/map", null, initTypeCategory);
});
/**
* 采购成本增加一行
*/

View File

@ -30,7 +30,7 @@ SELECT_TYPE_CATEGORY_MAP_DATA_MANAGER={};
*/
SELECT_CATEGORY_TYPE_MAP_DATA_MANAGER={};
$(function () {
/*$(function () {
$("#cost-project-manage-detail").click(function () {
$('#my-prompt-cost-project-manage-detail').modal({
relatedTarget: this,
@ -56,7 +56,31 @@ $(function () {
bindChangeableInputProjectManage();
initTypeCategoryManage();
});*/
//保存项目管理成本表
$(function () {
$("#costProjectManageTableSave").click(function () {
//不能使用e.data因为无法获取动态添加的
var data = collectData("am-modal-prompt-input-cost-project-manage");
//data = prepareAjaxData(data, COST_PROJECT_MANAGE_DETAIL_ARR, $("#id").val(),true);
data = prepareAjaxDataVerify(data, COST_PROJECT_MANAGE_DETAIL, $("#id").val());
if(data){
postAjax(base+"/project/budgetEditSaveCostProjectManageDetail", data, updateCostProjectManageData);
}
});
$("#costProjectManageAddBtn").click(function () {
appendTrCostProjectManage();
});
bindTypeSelectChangeManager();
//绑定项目管理明细输入框
bindChangeableInputProjectManage();
initTypeCategoryManage();
});
/**
* 采购成本增加一行
*/

View File

@ -13,7 +13,7 @@ INCOME_DETAIL={
"totalTaxExclude":[true,"不含税金额"]
};
$(function () {
/*$(function () {
$("#income-detail").click(function () {
$('#my-prompt-income-detail').modal({
relatedTarget: this,
@ -34,6 +34,20 @@ $(function () {
$("#incomeAddBtn").click(function () {
appendTrIncome();
});
});*/
//保存收入明细表
$(function () {
$("#incomeTableSave").click(function () {
var data = collectData("am-modal-prompt-input-income");
data = prepareAjaxDataVerify(data, INCOME_DETAIL, $("#id").val());
if(data.details){
postAjax(base+"/project/budgetEditSaveIncomeDetail", data, updateIncomeData);
}
});
$("#incomeAddBtn").click(function () {
appendTrIncome();
});
});

View File

@ -19,7 +19,7 @@ BUDGET_PLAN_DETAIL={
};
$(function () {
/*$(function () {
$(".budget-plan-detail").click(function () {
$('#my-prompt-budget-plan-detail').modal({
relatedTarget: this,
@ -50,6 +50,42 @@ $(function () {
appendTrBudgetPlan();
});
//绑定资金计划明细输入框
bindChangeableInputBudgetPlanDetail();
//绑定资金计划的删除按钮
bindBudgetPlanDeleteBtn();
//绑定公司管理费用的输入框
bindCompanyManageChangeable();
//渲染日期选择框
renderMonthDatePicker();
//绑定数字输入框保留两位小数
bindNumberInput();
});*/
//保存资金计划表
$(function () {
$("#budgetPlanDetailTableSave").click(function () {
//校验数据正确性
var message = verifyBudgetPlan();
if (message) {
layuiAlert(message);
return;
}
//不能使用e.data因为无法获取动态添加的
var data = collectData("am-modal-prompt-input-budget-plan-detail");
//data = prepareAjaxData(data, BUDGET_PLAN_DETAIL_ARR, $("#id").val(),false);
data = prepareAjaxDataVerify(data, BUDGET_PLAN_DETAIL, $("#id").val());
if(data){
postAjax(base+"/project/budgetEditSaveBudgetPlanDetail", data, updateBudgetPlanDetailData);
}
});
$("#budgetPlanDetailAddBtn").click(function () {
appendTrBudgetPlan();
});
//绑定资金计划明细输入框
bindChangeableInputBudgetPlanDetail();
//绑定资金计划的删除按钮

View File

@ -37,7 +37,12 @@
<div class="am-tabs am-margin" data-am-tabs>
<ul class="am-tabs-nav am-nav am-nav-tabs">
<li class="am-active"><a href="#tab1">项目基本信息</a></li>
<li><a href="#tab2">项目详细信息</a></li>
<li><a href="#tab2">项目概算信息</a></li>
<li><a href="#tab3">收入明细表</a></li>
<li><a href="#tab4">采购成本明细表</a></li>
<li><a href="#tab5">项目管理成本表</a></li>
<li><a href="#tab6">资金计划表</a></li>
<li><a href="#tab7">项目预算信息</a></li>
</ul>
<div class="am-tabs-bd">
<div class="am-tab-panel am-fade am-in am-active" id="tab1">
@ -208,10 +213,445 @@
</div>
<!--验证表单元素validate end-->
</div>
<div class="am-tabs-bd">
<div class="am-tab-panel am-fade am-in" id="tab2">
<span class="am-text-lg">收入</span>
<span class="am-text-primary"><a style="cursor: pointer" id="income-detail">收入明细表</a></span>
<table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;">
<tbody>
<tr class="am-text-lg">
<td>类别</td>
<td>费用</td>
<td>含税金额(元)</td>
<td>不含税金额(元)</td>
</tr>
<tr>
<td>收入</td>
<td>设备类</td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeDeviceTaxInclude" value="${Utils.format(estimateBean.incomeDeviceTaxInclude)}" required readonly></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeDeviceTaxExclude" value="${Utils.format(estimateBean.incomeDeviceTaxExclude)}" required readonly></td>
</tr>
<tr>
<td>收入</td>
<td>工程类</td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeEngineerTaxInclude" value="${Utils.format(estimateBean.incomeEngineerTaxInclude)}" required readonly></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeEngineerTaxExclude" value="${Utils.format(estimateBean.incomeEngineerTaxExclude)}" required readonly></td>
</tr>
<tr>
<td>收入</td>
<td>服务类</td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeServiceTaxInclude" value="${Utils.format(estimateBean.incomeServiceTaxInclude)}" required readonly></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeServiceTaxExclude" value="${Utils.format(estimateBean.incomeServiceTaxExclude)}" required readonly></td>
</tr>
<tr>
<td>合计</td>
<td></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeTotalTaxInclude" value="${Utils.format(estimateBean.incomeTotalTaxInclude)}" readonly readonly title="此列累计"></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeTotalTaxExclude" value="${Utils.format(estimateBean.incomeTotalTaxExclude)}" readonly readonly title="此列累计"></td>
</tr>
</tbody>
</table>
<span class="am-text-lg">成本</span>
<table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;">
<tbody>
<tr class="am-text-lg">
<td>类别</td>
<td>费用</td>
<td>费用项目</td>
<td>含税金额(元)</td>
<td>不含税金额(元)</td>
</tr>
<tr>
<td>成本</td>
<td>采购成本</td>
<td>设备</td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costPurchaseDeviceTaxInclude" value="${Utils.format(estimateBean.costPurchaseDeviceTaxInclude)}" required readonly></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costPurchaseDeviceTaxExclude" value="${Utils.format(estimateBean.costPurchaseDeviceTaxExclude)}" required readonly></td>
</tr>
<tr>
<td>成本</td>
<td>采购成本</td>
<td>施工</td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costPurchaseBuildTaxInclude" value="${Utils.format(estimateBean.costPurchaseBuildTaxInclude)}" required readonly></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costPurchaseBuildTaxExclude" value="${Utils.format(estimateBean.costPurchaseBuildTaxExclude)}" required readonly></td>
</tr>
<tr>
<td>成本</td>
<td>采购成本</td>
<td>服务</td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costPurchaseServiceTaxInclude" value="${Utils.format(estimateBean.costPurchaseServiceTaxInclude)}" required readonly></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costPurchaseServiceTaxExclude" value="${Utils.format(estimateBean.costPurchaseServiceTaxExclude)}" required readonly></td>
</tr>
<tr>
<td>成本</td>
<td>采购成本</td>
<td>其他</td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costPurchaseOtherTaxInclude" value="${Utils.format(estimateBean.costPurchaseOtherTaxInclude)}" required readonly></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costPurchaseOtherTaxExclude" value="${Utils.format(estimateBean.costPurchaseOtherTaxExclude)}" required readonly></td>
</tr>
<tr>
<td>成本</td>
<td>项目管理成本</td>
<td>项目管理成本</td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costProjectManageTaxInclude" value="${Utils.format(estimateBean.costProjectManageTaxExclude)}" required readonly></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costProjectManageTaxExclude" value="${Utils.format(estimateBean.costProjectManageTaxExclude)}" required readonly></td>
</tr>
<tr>
<td>成本</td>
<td>其他</td>
<td>${project.otherName!}</td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costOtherOtherTaxInclude" value="${Utils.format(estimateBean.costOtherOtherTaxInclude)}" required readonly></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costOtherOtherTaxExclude" value="${Utils.format(estimateBean.costOtherOtherTaxExclude)}" required readonly></td>
</tr>
<tr>
<td>合计</td>
<td></td>
<td></td>
<td><input type="number" name="costTotalTaxInclude" value="${Utils.format(estimateBean.costTotalTaxInclude)}" readonly readonly title="此列累计"></td>
<td><input type="number" name="costTotalTaxExclude" value="${Utils.format(estimateBean.costTotalTaxExclude)}" readonly readonly title="此列累计"></td>
</tr>
</tbody>
</table>
<span class="am-text-lg">管理</span>
<table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;">
<tbody>
<tr class="am-text-lg">
<td>类别</td>
<td>费用项目</td>
<td>不含税金额(元)</td>
</tr>
<tr>
<td>财务费用</td>
<td>资金占用成本</td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costExpropriationTaxExclude" value="${Utils.format(estimateBean.costExpropriationTaxExclude)}" required readonly></td>
</tr>
<tr>
<td>公司管理费用</td>
<td></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costCompanyManageTaxExclude" value="${Utils.format(estimateBean.costCompanyManageTaxExclude)}" required readonly></td>
</tr>
</tbody>
</table>
<span class="am-text-lg">利润率计算</span>
<table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;">
<tbody>
<tr class="am-text-lg">
<td>类别</td>
<td></td>
</tr>
<tr>
<td>项目毛利(元)</td>
<td><input type="number" name="projectGrossProfit" value="${Utils.format(estimateBean.projectGrossProfit)}" readonly title="收入总计(不含税)-成本总计(不含税)-财务费用总计(不含税)"></td>
</tr>
<tr>
<td>项目毛利率(%</td>
<td><input type="number" name="projectGrossProfitRate" value="${Utils.format(estimateBean.projectGrossProfitRate)}" readonly title="毛利(不含税)/收入总计(不含税)"></td>
</tr>
<tr>
<td>项目贡献利润(元)</td>
<td><input type="number" name="projectContributionProfit" value="${Utils.format(estimateBean.projectContributionProfit)}" readonly title="项目毛利(不含税)-公司管理费用总计(不含税)"></td>
</tr>
<tr>
<td>项目贡献利润率(%</td>
<td><input type="number" name="projectContributionProfitRate" value="${Utils.format(estimateBean.projectContributionProfitRate)}" readonly title="贡献利润(不含税)/收入总计(不含税)"></td>
</tr>
</tbody>
</table>
</div>
<!--验证表单元素validate end-->
</div>
<div class="am-tabs-bd">
<div class="am-tab-panel am-fade am-in" id="tab3">
<div class="am-modal-bd">
<table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;" id="incomeTable">
<tbody>
<tr>
<td>类别</td>
<td>名称</td>
<td>单位</td>
<td>数量</td>
<td>单价</td>
<td>税率(%</td>
<td>含税总金额(元)</td>
<td>不含税金额(元)</td>
<td>操作</td>
</tr>
<#if incomeDetails??>
<#list incomeDetails as incomeDetail>+
<tr>
<td>
<select style="width: 80px;float: left;" class="am-modal-prompt-input am-modal-prompt-input-income">
<option value="1" <#if incomeDetail.type == 1>selected</#if>>设备类</option>
<option value="2" <#if incomeDetail.type == 2>selected</#if>>工程类</option>
<option value="3" <#if incomeDetail.type == 3>selected</#if>>服务类</option>
</select>
</td>
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-income" value="${incomeDetail.name!}"></td>
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-income" value="${incomeDetail.unit!}"></td>
<td><input type="number" min="0" max="99999999" step="1" maxlength="8" class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-amount" value="${incomeDetail.amount!0}" oninput="if(value.length>8)value=value.slice(0,8)" <#--onkeyup="integerNumber(this)"-->></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" maxlength="13" class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-price" value="${Utils.format(incomeDetail.price,'0')}" oninput="if(value.length>13)value=value.slice(0,13)"></td>
<td><input type="number" min="0.00" max="99.99" step="0.01" maxlength="5" class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-tax-rate" value="${Utils.format(incomeDetail.taxRate,'0')}" oninput="if(value.length>5)value=value.slice(0,5)"></td>
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-total-tax-include" value="${Utils.format(incomeDetail.totalTaxInclude,'0')}" readonly></td>
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-total-tax-exclude" value="${Utils.format(incomeDetail.totalTaxExclude,'0')}" readonly></td>
<td><button type="button" class="am-btn am-btn-danger am-btn-xs am-round am-modal-line-delete"><span class="am-icon-minus"></span></button></td>
</tr>
</#list>
</#if>
</tbody>
</table>
<button type="button" id="incomeAddBtn" class="am-btn am-btn-primary am-btn-xs am-round"><span class="am-icon-plus"></span></button>
</div>
<div class="am-modal-footer">
<#--<span class="am-modal-btn" data-am-modal-cancel>取消</span>-->
<span class="am-modal-btn" data-am-modal-confirm id="incomeTableSave">保存</span>
</div>
</div>
</div>
<div class="am-tabs-bd">
<div class="am-tab-panel am-fade am-in" id="tab4">
<div class="am-modal-bd">
<table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;" id="costTable">
<tbody>
<tr>
<td>大类</td>
<td>类别</td>
<td>名称</td>
<td>单位</td>
<td>数量</td>
<td>单价</td>
<td>税率(%</td>
<td>含税总金额(元)</td>
<td>不含税金额(元)</td>
<td>操作</td>
</tr>
<#if costDetails??>
<#list costDetails as costDetail>
<tr>
<td>
<select style="width: 80px;float: left;" class="am-modal-prompt-input am-modal-prompt-input-cost am-modal-prompt-input-cost-type">
<option value="1" <#if costDetail.type == 1>selected</#if>>设备</option>
<option value="2" <#if costDetail.type == 2>selected</#if>>服务</option>
<option value="3" <#if costDetail.type == 3>selected</#if>>施工</option>
<option value="4" <#if costDetail.type == 4>selected</#if>>其他</option>
</select>
</td>
<td>
<select style="width: 80px;float: left;" class="am-modal-prompt-input am-modal-prompt-input-cost am-modal-prompt-input-cost-category">
<#--<option value="1" <#if costDetail.category == 1>selected</#if>>华智产品</option>
<option value="2" <#if costDetail.category == 2>selected</#if>>紫光其他产品</option>
<option value="3" <#if costDetail.category == 3>selected</#if>>外购产品</option>
<option value="4" <#if costDetail.category == 4>selected</#if>>外购工程</option>
<option value="5" <#if costDetail.category == 5>selected</#if>>华智服务</option>
<option value="6" <#if costDetail.category == 6>selected</#if>>紫光其他服务</option>
<option value="7" <#if costDetail.category == 7>selected</#if>>外购服务</option>
<option value="8" <#if costDetail.category == 8>selected</#if>>其他</option>-->
<#list procurementTypes as procurementType>
<option value="${procurementType.id}" <#if costDetail.category == procurementType.id>selected</#if>>${procurementType.name}</option>
</#list>
</select>
</td>
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost" value="${costDetail.name!}"></td>
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost" value="${costDetail.unit!}"></td>
<td><input type="number" min="0" max="99999999" step="1" maxlength="8" class="am-modal-prompt-input am-modal-prompt-input-cost input-changeable-amount" value="${costDetail.amount!0}" oninput="if(value.length>8)value=value.slice(0,8)" <#--onkeyup="integerNumber(this)"-->></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" maxlength="13" class="am-modal-prompt-input am-modal-prompt-input-cost input-changeable-price" value="${Utils.format(costDetail.price,'0')}" oninput="if(value.length>13)value=value.slice(0,13)"></td>
<td><input type="number" min="0.00" max="99.99" step="0.01" maxlength="5" class="am-modal-prompt-input am-modal-prompt-input-cost input-changeable-tax-rate" value="${Utils.format(costDetail.taxRate,'0')}" oninput="if(value.length>5)value=value.slice(0,5)"></td>
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost input-changeable-total-tax-include" value="${Utils.format(costDetail.totalTaxInclude,'0')}" readonly></td>
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost input-changeable-total-tax-exclude" value="${Utils.format(costDetail.totalTaxExclude,'0')}" readonly></td>
<td><button type="button" class="am-btn am-btn-danger am-btn-xs am-round am-modal-line-delete"><span class="am-icon-minus"></span></button></td>
</tr>
</#list>
</#if>
</tbody>
</table>
<button type="button" id="costAddBtn" class="am-btn am-btn-primary am-btn-xs am-round"><span class="am-icon-plus"></span></button>
</div>
<div class="am-modal-footer">
<#--<span class="am-modal-btn" data-am-modal-cancel>取消</span>-->
<span class="am-modal-btn" data-am-modal-confirm id="costTableSave">保存</span>
</div>
</div>
</div>
<div class="am-tabs-bd">
<div class="am-tab-panel am-fade am-in" id="tab5">
<div class="am-modal-bd">
<table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;" id="costProjectManageTable">
<tbody>
<tr>
<td>财务费用类别</td>
<td>业务项目</td>
<td>项目明细</td>
<td>单位</td>
<td>数量</td>
<td>单价</td>
<td>总金额(元)</td>
<td>预估计算方法</td>
<td>预估依据</td>
<td>备注</td>
<td>操作</td>
</tr>
<#if costProjectManageDetails??>
<#list costProjectManageDetails as costProjectManageDetail>
<tr>
<td>
<select style="width: 80px;float: left;" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage am-modal-prompt-input-cost-project-manage-type">
<option value="1" <#if costProjectManageDetail.type == 1>selected</#if>>人工成本</option>
<option value="2" <#if costProjectManageDetail.type == 2>selected</#if>>业务费用</option>
<option value="3" <#if costProjectManageDetail.type == 3>selected</#if>>其他费用</option>
</select>
</td>
<td>
<select style="width: 80px;float: left;" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage am-modal-prompt-input-cost-project-manage-category">
<option value="1" <#if costProjectManageDetail.name == "人工费">selected</#if>>人工费</option>
<option value="2" <#if costProjectManageDetail.name == "总部支撑人力费用">selected</#if>>总部支撑人力费用</option>
<option value="4" <#if costProjectManageDetail.name == "人员差旅费">selected</#if>>人员差旅费</option>
<option value="5" <#if costProjectManageDetail.name == "业务费用">selected</#if>>业务费用</option>
<option value="6" <#if costProjectManageDetail.name == "商务及专项验收费用">selected</#if>>商务及专项验收费用</option>
<option value="7" <#if costProjectManageDetail.name == "办公费用">selected</#if>>办公费用</option>
</select>
<#-- <input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage" value="${costProjectManageDetail.name!}" <#if costProjectManageDetail.deletable==0>readonly</#if>>-->
</td>
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage" value="${costProjectManageDetail.detail!}"></td>
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage" value="${costProjectManageDetail.unit!}"></td>
<td><input type="number" min="0" max="99999999" step="1" maxlength="8" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage input-changeable-amount-project-manage" value="${costProjectManageDetail.amount!0}" <#--onkeyup="integerNumber(this)"--> oninput="if(value.length>8)value=value.slice(0,8)"></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" maxlength="13" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage input-changeable-price-project-manage" value="${Utils.format(costProjectManageDetail.price,'0')}" oninput="if(value.length>13)value=value.slice(0,13)"></td>
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage input-changeable-total-project-manage" value="${Utils.format(costProjectManageDetail.total,'0')}" readonly></td>
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage" value="${costProjectManageDetail.predictMethod!}"></td>
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage" value="${costProjectManageDetail.predictWhy!}"></td>
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage" value="${costProjectManageDetail.remark!}"></td>
<td><button type="button" class="am-btn am-btn-danger am-btn-xs am-round am-modal-line-delete"><span class="am-icon-minus"></span></button>
<input type="hidden" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage" value="${costProjectManageDetail.deletable!}">
</td>
</tr>
</#list>
</#if>
</tbody>
</table>
<button type="button" id="costProjectManageAddBtn" class="am-btn am-btn-primary am-btn-xs am-round"><span class="am-icon-plus"></span></button>
</div>
<div class="am-modal-footer">
<#--<span class="am-modal-btn" data-am-modal-cancel>取消</span>-->
<span class="am-modal-btn" data-am-modal-confirm id="costProjectManageTableSave">保存</span>
</div>
</div>
</div>
<div class="am-tabs-bd">
<div class="am-tab-panel am-fade am-in" id="tab6">
<div class="am-modal-bd">
<table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;" id="budgetPlanDetailTable">
<tbody>
<tr>
<td>月份</td>
<td>设备支出</td>
<td>工程支出</td>
<td>经营性开支</td>
<td>保证金支出</td>
<td>支出合计</td>
<td>销售收款</td>
<td>保证金收款</td>
<td>收款合计</td>
<td>资金余额</td>
<td>资金利息</td>
<td>垫资计划</td>
<td>还款计划</td>
<td>操作</td>
</tr>
<tr>
<td><input type="text" class="am-modal-prompt-input input-total-title-month-budget-plan" value="${projectBudgetPlanDetailTotalTitle.month}" readonly/></td>
<td><input type="number" class="am-modal-prompt-input input-total-title-device-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotalTitle.deviceCost)}" readonly/></td>
<td><input type="number" class="am-modal-prompt-input input-total-title-engineer-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotalTitle.engineerCost)}" readonly/></td>
<td><input type="number" class="am-modal-prompt-input input-total-title-project-manage-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotalTitle.projectManageCost)}" readonly/></td>
<td><input type="number" class="am-modal-prompt-input input-total-title-earnest-money-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotalTitle.earnestMoneyCost)}" readonly/></td>
<td><input type="number" class="am-modal-prompt-input input-total-title-total-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotalTitle.totalCost)}" readonly/></td>
<td><input type="number" class="am-modal-prompt-input input-total-title-sale-income-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotalTitle.saleIncome)}" readonly/></td>
<td><input type="number" class="am-modal-prompt-input input-total-title-earnest-money-income-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotalTitle.earnestMoneyIncome)}" readonly/></td>
<td><input type="number" class="am-modal-prompt-input input-total-title-total-income-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotalTitle.totalIncome)}" readonly/></td>
<td><input type="number" class="am-modal-prompt-input input-total-title-fund-balance-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotalTitle.fundBalance)}" readonly/></td>
<td><input type="number" class="am-modal-prompt-input input-total-title-capital-interest-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotalTitle.capitalInterest)}" readonly/></td>
<td><input type="number" class="am-modal-prompt-input input-total-title-underwritten-plan-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotalTitle.underwrittenPlan)}" readonly/></td>
<td><input type="number" class="am-modal-prompt-input input-total-title-repayment-plan-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotalTitle.repaymentPlan)}" readonly/></td>
<td></td>
</tr>
<tr class="am-hide">
<td><input type="text" class="am-modal-prompt-input input-total-month-budget-plan" value="${projectBudgetPlanDetailTotal.month}" readonly/></td>
<td><input type="number" class="am-modal-prompt-input input-total-device-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotal.deviceCost)}" readonly/></td>
<td><input type="number" class="am-modal-prompt-input input-total-engineer-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotal.engineerCost)}" readonly/></td>
<td><input type="number" class="am-modal-prompt-input input-total-project-manage-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotal.projectManageCost)}" readonly/></td>
<td><input type="number" class="am-modal-prompt-input input-total-earnest-money-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotal.earnestMoneyCost)}" readonly/></td>
<td><input type="number" class="am-modal-prompt-input input-total-total-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotal.totalCost)}" readonly/></td>
<td><input type="number" class="am-modal-prompt-input input-total-sale-income-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotal.saleIncome)}" readonly/></td>
<td><input type="number" class="am-modal-prompt-input input-total-earnest-money-income-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotal.earnestMoneyIncome)}" readonly/></td>
<td><input type="number" class="am-modal-prompt-input input-total-total-income-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotal.totalIncome)}" readonly/></td>
<td><input type="number" class="am-modal-prompt-input input-total-fund-balance-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotal.fundBalance)}" readonly/></td>
<td><input type="number" class="am-modal-prompt-input input-total-capital-interest-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotal.capitalInterest)}" readonly/></td>
<td><input type="number" class="am-modal-prompt-input input-total-underwritten-plan-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotal.underwrittenPlan)}" readonly/></td>
<td><input type="number" class="am-modal-prompt-input input-total-repayment-plan-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotal.repaymentPlan)}" readonly/></td>
<td></td>
</tr>
<#if projectBudgetPlanDetails??>
<#list projectBudgetPlanDetails as projectBudgetPlanDetail>
<tr>
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-month-budget-plan" value="${projectBudgetPlanDetail.month!}" readonly></td>
<td><input type="number" oninput="if(value.length>13)value=value.slice(0,13)" min="0.00" max="9999999999.99" step="0.01" maxlength="13" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-device-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetail.deviceCost)}"></td>
<td><input type="number" oninput="if(value.length>13)value=value.slice(0,13)" min="0.00" max="9999999999.99" step="0.01" maxlength="13" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-engineer-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetail.engineerCost)}"></td>
<td><input type="number" oninput="if(value.length>13)value=value.slice(0,13)" min="0.00" max="9999999999.99" step="0.01" maxlength="13" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-project-manage-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetail.projectManageCost)}"></td>
<td><input type="number" oninput="if(value.length>13)value=value.slice(0,13)" min="0.00" max="9999999999.99" step="0.01" maxlength="13" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-earnest-money-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetail.earnestMoneyCost)}"></td>
<td><input type="number" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-total-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetail.totalCost)}" readonly></td>
<td><input type="number" oninput="if(value.length>13)value=value.slice(0,13)" min="0.00" max="9999999999.99" step="0.01" maxlength="13" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-sale-income-budget-plan" value="${Utils.format(projectBudgetPlanDetail.saleIncome)}"></td>
<td><input type="number" oninput="if(value.length>13)value=value.slice(0,13)" min="0.00" max="9999999999.99" step="0.01" maxlength="13" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-earnest-money-income-budget-plan" value="${Utils.format(projectBudgetPlanDetail.earnestMoneyIncome)}"></td>
<td><input type="number" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-total-income-budget-plan" value="${Utils.format(projectBudgetPlanDetail.totalIncome)}" readonly></td>
<td><input type="number" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-fund-balance-budget-plan" value="${Utils.format(projectBudgetPlanDetail.fundBalance)}" readonly></td>
<td><input type="number" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-capital-interest-budget-plan" value="${Utils.format(projectBudgetPlanDetail.capitalInterest)}" readonly></td>
<td><input type="number" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-underwritten-plan-budget-plan" value="${Utils.format(projectBudgetPlanDetail.underwrittenPlan)}" readonly></td>
<td><input type="number" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-repayment-plan-budget-plan" value="${Utils.format(projectBudgetPlanDetail.repaymentPlan)}" readonly></td>
<td><button type="button" class="am-btn am-btn-danger am-btn-xs am-round am-modal-line-delete-budget-plan"><span class="am-icon-minus"></span></button></td>
</tr>
</#list>
</#if>
</tbody>
</table>
<button type="button" id="budgetPlanDetailAddBtn" class="am-btn am-btn-primary am-btn-xs am-round"><span class="am-icon-plus"></span></button>
<table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;">
<tbody>
<tr>
<td>垫资峰值时间</td>
<td>垫资峰值金额</td>
<td>利率</td>
<td>资金利息</td>
</tr>
<tr>
<td><input type="text" class="am-modal-prompt-input input-underwritten-plan-statistic-max-month-budget-plan" value="${underwrittenPlanStatistic.maxMonth!}" readonly/></td>
<td><input type="text" class="am-modal-prompt-input input-underwritten-plan-statistic-amount-budget-plan" value="${Utils.format(underwrittenPlanStatistic.amount,'')}" readonly/></td>
<td><input type="text" class="am-modal-prompt-input input-underwritten-plan-statistic-tax-rate-budget-plan" value="${Utils.format(project.underwrittenTaxRate,'')}" readonly/></td>
<td><input type="text" class="am-modal-prompt-input input-underwritten-plan-statistic-capital-interest-budget-plan" value="${Utils.format(underwrittenPlanStatistic.capitalInterest,'')}" readonly/></td>
</tr>
</tbody>
</table>
</div>
<div class="am-modal-footer">
<#--<span class="am-modal-btn" data-am-modal-cancel>取消</span>-->
<span class="am-modal-btn" data-am-modal-confirm id="budgetPlanDetailTableSave">保存</span>
</div>
</div>
</div>
<div class="am-tabs-bd">
<div class="am-tab-panel am-fade am-in" id="tab7">
<span class="am-text-lg">收入</span>
<#-- <span class="am-text-primary"><a style="cursor: pointer" id="income-detail">收入明细表</a></span>-->
<table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;">
<tbody>
<tr class="am-text-lg">
@ -247,8 +687,8 @@
</tbody>
</table>
<span class="am-text-lg">成本</span>
<span class="am-text-primary"><a style="cursor: pointer" id="cost-detail">采购成本明细表</a></span>
<span class="am-text-primary"><a style="cursor: pointer" id="cost-project-manage-detail">项目管理成本表</a></span>
<#-- <span class="am-text-primary"><a style="cursor: pointer" id="cost-detail">采购成本明细表</a></span>
<span class="am-text-primary"><a style="cursor: pointer" id="cost-project-manage-detail">项目管理成本表</a></span>-->
<table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;">
<tbody>
<tr class="am-text-lg">
@ -311,7 +751,7 @@
</tbody>
</table>
<span class="am-text-lg">管理</span>
<span class="am-text-primary budget-plan-detail"><a style="cursor: pointer">资金计划表</a></span>
<#--<span class="am-text-primary budget-plan-detail"><a style="cursor: pointer">资金计划表</a></span>-->
<table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;">
<tbody>
<tr class="am-text-lg">
@ -359,7 +799,7 @@
</table>
<span class="am-text-lg">现金流量表</span>
<span class="am-text-primary budget-plan-detail"><a style="cursor: pointer">资金计划表</a></span>
<#--<span class="am-text-primary budget-plan-detail"><a style="cursor: pointer">资金计划表</a></span>-->
<table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;">
<tbody>
<tr class="am-text-lg">
@ -432,9 +872,9 @@
<#--收入明细表弹窗-->
<div class="am-modal am-modal-prompt" style="width: 1200px;max-height:600px;overflow-y:auto;" tabindex="-1" id="my-prompt-income-detail">
<#--<div class="am-modal am-modal-prompt" style="width: 1200px;max-height:600px;overflow-y:auto;" tabindex="-1" id="my-prompt-income-detail">
<div class="am-modal-dialog">
<div class="am-modal-hd">新增销售收入明细表——${project.name}<a href="javascript: void(0)" class="am-close<#-- am-close-spin-->" data-am-modal-close>&times;</a></div>
<div class="am-modal-hd">新增销售收入明细表——${project.name}<a href="javascript: void(0)" class="am-close&lt;#&ndash; am-close-spin&ndash;&gt;" data-am-modal-close>&times;</a></div>
<div class="am-modal-bd">
<table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;" id="incomeTable">
<tbody>
@ -451,7 +891,7 @@
</tr>
<#if incomeDetails??>
<#list incomeDetails as incomeDetail>
<#list incomeDetails as incomeDetail>+
<tr>
<td>
<select style="width: 80px;float: left;" class="am-modal-prompt-input am-modal-prompt-input-income">
@ -462,7 +902,7 @@
</td>
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-income" value="${incomeDetail.name!}"></td>
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-income" value="${incomeDetail.unit!}"></td>
<td><input type="number" min="0" max="99999999" step="1" maxlength="8" class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-amount" value="${incomeDetail.amount!0}" oninput="if(value.length>8)value=value.slice(0,8)" <#--onkeyup="integerNumber(this)"-->></td>
<td><input type="number" min="0" max="99999999" step="1" maxlength="8" class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-amount" value="${incomeDetail.amount!0}" oninput="if(value.length>8)value=value.slice(0,8)" &lt;#&ndash;onkeyup="integerNumber(this)"&ndash;&gt;></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" maxlength="13" class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-price" value="${Utils.format(incomeDetail.price,'0')}" oninput="if(value.length>13)value=value.slice(0,13)"></td>
<td><input type="number" min="0.00" max="99.99" step="0.01" maxlength="5" class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-tax-rate" value="${Utils.format(incomeDetail.taxRate,'0')}" oninput="if(value.length>5)value=value.slice(0,5)"></td>
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-total-tax-include" value="${Utils.format(incomeDetail.totalTaxInclude,'0')}" readonly></td>
@ -481,11 +921,11 @@
<span class="am-modal-btn" data-am-modal-confirm>保存</span>
</div>
</div>
</div>
</div>-->
<#--采购成本明细弹窗-->
<div class="am-modal am-modal-prompt" style="width: 1200px;max-height:600px;overflow-y:auto;" tabindex="-1" id="my-prompt-cost-detail">
<#--<div class="am-modal am-modal-prompt" style="width: 1200px;max-height:600px;overflow-y:auto;" tabindex="-1" id="my-prompt-cost-detail">
<div class="am-modal-dialog">
<div class="am-modal-hd">新增采购成本明细表——${project.name}<a href="javascript: void(0)" class="am-close<#-- am-close-spin-->" data-am-modal-close>&times;</a></div>
<div class="am-modal-hd">新增采购成本明细表——${project.name}<a href="javascript: void(0)" class="am-close&lt;#&ndash; am-close-spin&ndash;&gt;" data-am-modal-close>&times;</a></div>
<div class="am-modal-bd">
<table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;" id="costTable">
<tbody>
@ -515,14 +955,14 @@
</td>
<td>
<select style="width: 80px;float: left;" class="am-modal-prompt-input am-modal-prompt-input-cost am-modal-prompt-input-cost-category">
<#--<option value="1" <#if costDetail.category == 1>selected</#if>>华智产品</option>
&lt;#&ndash;<option value="1" <#if costDetail.category == 1>selected</#if>>华智产品</option>
<option value="2" <#if costDetail.category == 2>selected</#if>>紫光其他产品</option>
<option value="3" <#if costDetail.category == 3>selected</#if>>外购产品</option>
<option value="4" <#if costDetail.category == 4>selected</#if>>外购工程</option>
<option value="5" <#if costDetail.category == 5>selected</#if>>华智服务</option>
<option value="6" <#if costDetail.category == 6>selected</#if>>紫光其他服务</option>
<option value="7" <#if costDetail.category == 7>selected</#if>>外购服务</option>
<option value="8" <#if costDetail.category == 8>selected</#if>>其他</option>-->
<option value="8" <#if costDetail.category == 8>selected</#if>>其他</option>&ndash;&gt;
<#list procurementTypes as procurementType>
<option value="${procurementType.id}" <#if costDetail.category == procurementType.id>selected</#if>>${procurementType.name}</option>
</#list>
@ -530,7 +970,7 @@
</td>
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost" value="${costDetail.name!}"></td>
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost" value="${costDetail.unit!}"></td>
<td><input type="number" min="0" max="99999999" step="1" maxlength="8" class="am-modal-prompt-input am-modal-prompt-input-cost input-changeable-amount" value="${costDetail.amount!0}" oninput="if(value.length>8)value=value.slice(0,8)" <#--onkeyup="integerNumber(this)"-->></td>
<td><input type="number" min="0" max="99999999" step="1" maxlength="8" class="am-modal-prompt-input am-modal-prompt-input-cost input-changeable-amount" value="${costDetail.amount!0}" oninput="if(value.length>8)value=value.slice(0,8)" &lt;#&ndash;onkeyup="integerNumber(this)"&ndash;&gt;></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" maxlength="13" class="am-modal-prompt-input am-modal-prompt-input-cost input-changeable-price" value="${Utils.format(costDetail.price,'0')}" oninput="if(value.length>13)value=value.slice(0,13)"></td>
<td><input type="number" min="0.00" max="99.99" step="0.01" maxlength="5" class="am-modal-prompt-input am-modal-prompt-input-cost input-changeable-tax-rate" value="${Utils.format(costDetail.taxRate,'0')}" oninput="if(value.length>5)value=value.slice(0,5)"></td>
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost input-changeable-total-tax-include" value="${Utils.format(costDetail.totalTaxInclude,'0')}" readonly></td>
@ -549,11 +989,11 @@
<span class="am-modal-btn" data-am-modal-confirm>保存</span>
</div>
</div>
</div>
</div>-->
<#--项目管理明细表弹窗-->
<div class="am-modal am-modal-prompt" style="width: 1200px;max-height:600px;overflow-y:auto;" tabindex="-1" id="my-prompt-cost-project-manage-detail">
<#--<div class="am-modal am-modal-prompt" style="width: 1200px;max-height:600px;overflow-y:auto;" tabindex="-1" id="my-prompt-cost-project-manage-detail">
<div class="am-modal-dialog">
<div class="am-modal-hd">新增项目管理成本明细表——${project.name}<a href="javascript: void(0)" class="am-close<#-- am-close-spin-->" data-am-modal-close>&times;</a></div>
<div class="am-modal-hd">新增项目管理成本明细表——${project.name}<a href="javascript: void(0)" class="am-close&lt;#&ndash; am-close-spin&ndash;&gt;" data-am-modal-close>&times;</a></div>
<div class="am-modal-bd">
<table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;" id="costProjectManageTable">
<tbody>
@ -589,11 +1029,11 @@
<option value="6" <#if costProjectManageDetail.name == "商务及专项验收费用">selected</#if>>商务及专项验收费用</option>
<option value="7" <#if costProjectManageDetail.name == "办公费用">selected</#if>>办公费用</option>
</select>
<#-- <input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage" value="${costProjectManageDetail.name!}" <#if costProjectManageDetail.deletable==0>readonly</#if>>-->
&lt;#&ndash; <input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage" value="${costProjectManageDetail.name!}" <#if costProjectManageDetail.deletable==0>readonly</#if>>&ndash;&gt;
</td>
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage" value="${costProjectManageDetail.detail!}"></td>
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage" value="${costProjectManageDetail.unit!}"></td>
<td><input type="number" min="0" max="99999999" step="1" maxlength="8" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage input-changeable-amount-project-manage" value="${costProjectManageDetail.amount!0}" <#--onkeyup="integerNumber(this)"--> oninput="if(value.length>8)value=value.slice(0,8)"></td>
<td><input type="number" min="0" max="99999999" step="1" maxlength="8" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage input-changeable-amount-project-manage" value="${costProjectManageDetail.amount!0}" &lt;#&ndash;onkeyup="integerNumber(this)"&ndash;&gt; oninput="if(value.length>8)value=value.slice(0,8)"></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" maxlength="13" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage input-changeable-price-project-manage" value="${Utils.format(costProjectManageDetail.price,'0')}" oninput="if(value.length>13)value=value.slice(0,13)"></td>
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage input-changeable-total-project-manage" value="${Utils.format(costProjectManageDetail.total,'0')}" readonly></td>
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage" value="${costProjectManageDetail.predictMethod!}"></td>
@ -615,11 +1055,11 @@
<span class="am-modal-btn" data-am-modal-confirm>保存</span>
</div>
</div>
</div>
</div>-->
<#--资金计划明细表弹窗-->
<div class="am-modal am-modal-prompt" style="width: 1500px;max-height:600px;overflow-y:auto;" tabindex="-1" id="my-prompt-budget-plan-detail">
<#--<div class="am-modal am-modal-prompt" style="width: 1500px;max-height:600px;overflow-y:auto;" tabindex="-1" id="my-prompt-budget-plan-detail">
<div class="am-modal-dialog">
<div class="am-modal-hd">新增资金计划明细表——${project.name}<a href="javascript: void(0)" class="am-close<#-- am-close-spin-->" data-am-modal-close>&times;</a></div>
<div class="am-modal-hd">新增资金计划明细表——${project.name}<a href="javascript: void(0)" class="am-close&lt;#&ndash; am-close-spin&ndash;&gt;" data-am-modal-close>&times;</a></div>
<div class="am-modal-bd">
<table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;" id="budgetPlanDetailTable">
<tbody>
@ -721,7 +1161,7 @@
<span class="am-modal-btn" data-am-modal-confirm>保存</span>
</div>
</div>
</div>
</div>-->