2024-10-18 09:01:41 +00:00
|
|
|
|
<#assign base=request.contextPath />
|
|
|
|
|
|
|
|
|
|
|
|
<#import "../common/defaultLayout.ftl" as defaultLayout>
|
|
|
|
|
|
<@defaultLayout.layout>
|
|
|
|
|
|
|
2024-10-30 03:11:27 +00:00
|
|
|
|
<style type="text/css">
|
|
|
|
|
|
/**让所有的模态对话框都居中*/
|
|
|
|
|
|
|
|
|
|
|
|
.am-modal.am-modal-prompt.am-modal-active {
|
|
|
|
|
|
transform: translate(-50%, -50%) scale(1);
|
|
|
|
|
|
left: 50%;
|
|
|
|
|
|
top: 50%;
|
|
|
|
|
|
margin-left: 0;
|
|
|
|
|
|
margin-top: 0 !important;
|
|
|
|
|
|
}
|
2024-10-18 09:01:41 +00:00
|
|
|
|
|
2024-10-30 03:11:27 +00:00
|
|
|
|
select[readonly] option {
|
|
|
|
|
|
display: none;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*input[readonly]{*/
|
|
|
|
|
|
/* background-color: #eee;*/
|
|
|
|
|
|
/*}*/
|
|
|
|
|
|
|
|
|
|
|
|
.am-btn-danger {
|
|
|
|
|
|
color: #f00;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.huanhang {
|
|
|
|
|
|
/ / 表格自动换行 table-layout: fixed;
|
|
|
|
|
|
word-break: break-all
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/* 页面相关样式 */
|
|
|
|
|
|
.project_budget {
|
|
|
|
|
|
height: 100%;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.project_budget .page-header {
|
|
|
|
|
|
height: 60px;
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.project_budget .page-content {
|
|
|
|
|
|
height: calc(100% - 60px);
|
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.table-title {
|
|
|
|
|
|
text-align: left;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
input::-webkit-outer-spin-button,
|
|
|
|
|
|
input::-webkit-inner-spin-button {
|
|
|
|
|
|
-webkit-appearance: none;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
input[type="text"] {
|
|
|
|
|
|
-moz-appearance: textfield;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.am-table-striped > tbody > tr:nth-child(odd) > input[type="text"] {
|
|
|
|
|
|
background-color: #f9f9f9;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
input[type="text"]:focus {
|
|
|
|
|
|
outline: none;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.table-inline {
|
|
|
|
|
|
/*width: 600px;*/
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
border: 0 none;
|
|
|
|
|
|
outline: none;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.sameline {
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
/*position: relative;*/
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
input {
|
|
|
|
|
|
/*width: 600px;*/
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
border: 0 none;
|
|
|
|
|
|
outline: none;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
textarea {
|
|
|
|
|
|
overflow-x: hidden;
|
|
|
|
|
|
overflow-y: hidden;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/* 解决页面滚动条缩小页面,内容靠右显示问题 */
|
|
|
|
|
|
.am-form .am-tabs-bd.palm-tabs-bd {
|
|
|
|
|
|
overflow: visible;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/* 解决页面,操作按钮点击填写预算进入,不显示页脚按钮问题 */
|
|
|
|
|
|
#pmsForm {
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
|
}
|
|
|
|
|
|
</style>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="project_budget">
|
|
|
|
|
|
<div class="page-header am-padding">
|
|
|
|
|
|
<div style="word-wrap:break-word; word-break:break-all; " class="am-fl am-cf"><strong
|
|
|
|
|
|
class="am-text-primary am-text-lg">项目预算表</strong> / <small>${project.name}</small></div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<form method="post" class="page-content am-form" id="pmsForm" action="${base}/project/budgetEditSave">
|
|
|
|
|
|
<!--选项卡(tabs)begin-->
|
|
|
|
|
|
<div class="am-tabs palm-tabs" data-am-tabs>
|
|
|
|
|
|
<ul class="am-tabs-nav am-nav am-nav-tabs palm-tabs-nav">
|
|
|
|
|
|
<li class="am-active"><a href="#tab1">项目立项(概算)信息</a></li>
|
|
|
|
|
|
<li><a href="#tab2">项目基本信息</a></li>
|
|
|
|
|
|
<li><a href="#tab3">收入明细表</a></li>
|
|
|
|
|
|
<li><a href="#tab8">收款计划表</a></li>
|
|
|
|
|
|
<li><a href="#tab4">采购成本明细表</a></li>
|
|
|
|
|
|
<li><a href="#tab9">付款计划表</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 palm-tabs-bd">
|
|
|
|
|
|
<div class="am-tab-panel am-fade am-in am-active" id="tab1">
|
|
|
|
|
|
<input name="id" id="id" type="hidden" value="${project.id}"/>
|
|
|
|
|
|
<input name="projectContributionProfitRateThreshold" id="projectContributionProfitRateThreshold"
|
|
|
|
|
|
type="hidden" value="${Utils.format(project.projectContributionProfitRateThreshold)}"/>
|
|
|
|
|
|
<!--验证表单元素(validate) begin-->
|
|
|
|
|
|
<table id="myTable" class="am-table am-table-bordered">
|
|
|
|
|
|
<tr class="am-text-nowrap">
|
|
|
|
|
|
<th class="table-title" colspan="6" style="text-align: center">项目立项(概算)信息</th>
|
|
|
|
|
|
<input type="hidden" style="border-style:none;" name="id" id="id" value="${id!}"/>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
<tr class="am-text-nowrap">
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="font-size: 15px">部门名称:</span></th>
|
|
|
|
|
|
<td class="table-title" colspan="2"><input readonly value="${project.deptName!}"/></td>
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="font-size: 15px">项目编号:</span></th>
|
|
|
|
|
|
<td class="table-title" colspan="2"><input readonly value="${project.projectNo!}"/></td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
<tr class="am-text-nowrap">
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="font-size: 15px">项目名称:</span></th>
|
|
|
|
|
|
<td class="table-title" colspan="5"><input readonly value="${project.name!}"/></td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
<tr class="am-text-nowrap">
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="font-size: 15px">项目类型:</span></th>
|
|
|
|
|
|
<td class="table-title" colspan="1">
|
|
|
|
|
|
<#if project.type??>
|
|
|
|
|
|
<#if (project.type) =1>
|
|
|
|
|
|
<input readonly value="工程集成类"/>
|
|
|
|
|
|
<#elseif (project.type) =2>
|
|
|
|
|
|
<input readonly value="设备集成类"/>
|
|
|
|
|
|
<#elseif (project.type) =3>
|
|
|
|
|
|
<input readonly value="战略合作类"/>
|
|
|
|
|
|
</#if>
|
2024-10-18 09:01:41 +00:00
|
|
|
|
<#else>
|
2024-10-30 03:11:27 +00:00
|
|
|
|
<input readonly value=""/>
|
2024-10-18 09:01:41 +00:00
|
|
|
|
</#if>
|
|
|
|
|
|
</td>
|
2024-10-30 03:11:27 +00:00
|
|
|
|
</tr>
|
|
|
|
|
|
<tr class="am-text-nowrap">
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="font-size: 15px">垫资模式:</span></th>
|
|
|
|
|
|
<td class="table-title" <#if project.underwrittenMode! <= 2> colspan="5" <#else> colspan="1" </#if> >
|
|
|
|
|
|
<#if project.underwrittenMode??>
|
|
|
|
|
|
<#if (project.underwrittenMode) =1>
|
|
|
|
|
|
<input readonly value="不垫资"/>
|
|
|
|
|
|
<#elseif (project.underwrittenMode) =3>
|
|
|
|
|
|
<input readonly value="垫资(账期覆盖)"/>
|
|
|
|
|
|
<#elseif (project.underwrittenMode) =4>
|
|
|
|
|
|
<input readonly value="垫资(账期不覆盖)"/>
|
|
|
|
|
|
</#if>
|
|
|
|
|
|
<#else>
|
|
|
|
|
|
<input readonly value=""/>
|
2024-10-18 09:01:41 +00:00
|
|
|
|
</#if>
|
2024-10-30 03:11:27 +00:00
|
|
|
|
</td>
|
|
|
|
|
|
<#if project.underwrittenMode! gt 2>
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="font-size: 15px">垫资利息:</span>
|
|
|
|
|
|
</th>
|
|
|
|
|
|
<td class="table-title" colspan="1"><input readonly
|
|
|
|
|
|
value="${Utils.format(project.advanceInterestAmount)}元"/>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="font-size: 15px">垫资峰值:</span>
|
|
|
|
|
|
</th>
|
|
|
|
|
|
<td class="table-title" colspan="1"><input readonly
|
|
|
|
|
|
value="${Utils.format(project.advancePeakAmount)}元"/>
|
|
|
|
|
|
</td>
|
2024-10-18 09:01:41 +00:00
|
|
|
|
</#if>
|
2024-10-30 03:11:27 +00:00
|
|
|
|
</tr>
|
|
|
|
|
|
<tr class="am-text-nowrap">
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="font-size: 15px">合同金额:</span></th>
|
|
|
|
|
|
<td class="table-title" colspan="1"><input readonly
|
|
|
|
|
|
value="${Utils.format(project.contractAmount)}元"/>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="font-size: 15px">项目毛利:</span></th>
|
|
|
|
|
|
<td class="table-title" colspan="1"><input readonly
|
|
|
|
|
|
value="${Utils.format(project.grossProfit)}元"/>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="font-size: 15px">项目毛利率:</span>
|
|
|
|
|
|
</th>
|
|
|
|
|
|
<td class="table-title" colspan="1"><input readonly
|
|
|
|
|
|
value="${Utils.format(project.grossProfitMargin)}%"/>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
<tr class="am-text-nowrap">
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="font-size: 15px">汇智产品金额:</span>
|
|
|
|
|
|
</th>
|
|
|
|
|
|
<td class="table-title" colspan="1"><input readonly
|
|
|
|
|
|
value="${Utils.format(project.huizhiProductAmount, '0.00')}元"/>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="font-size: 15px">华智产品金额:</span>
|
|
|
|
|
|
</th>
|
|
|
|
|
|
<td class="table-title" colspan="1"><input readonly
|
|
|
|
|
|
value="${Utils.format(project.huazhiProductAmount, '0.00')}元"/>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="font-size: 15px">华三产品金额:</span>
|
|
|
|
|
|
</th>
|
|
|
|
|
|
<td class="table-title" colspan="1"><input readonly
|
|
|
|
|
|
value="${Utils.format(project.huasanProductAmount, '0.00')}元"/>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
<tr class="am-text-nowrap">
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="font-size: 15px">其他产品金额:</span>
|
|
|
|
|
|
</th>
|
|
|
|
|
|
<td class="table-title" colspan="1"><input readonly
|
|
|
|
|
|
value="${Utils.format(project.ziguangOtherAmount, '0.00')}元"/>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="font-size: 15px">项目把握度:</span>
|
|
|
|
|
|
</th>
|
|
|
|
|
|
<td class="table-title" colspan="1">
|
|
|
|
|
|
<#if project.certainty??>
|
|
|
|
|
|
<#if (project.certainty) =1>
|
|
|
|
|
|
<input readonly value="A:项目成功率80%-100%"/>
|
|
|
|
|
|
<#elseif (project.certainty) =2>
|
|
|
|
|
|
<input readonly value="B:项目成功率60%-80%"/>
|
|
|
|
|
|
<#elseif (project.certainty) =3>
|
|
|
|
|
|
<input readonly value="C:项目成功率40%-60%"/>
|
|
|
|
|
|
</#if>
|
|
|
|
|
|
<#else>
|
|
|
|
|
|
<input readonly value=""/>
|
2024-10-18 09:01:41 +00:00
|
|
|
|
</#if>
|
2024-10-30 03:11:27 +00:00
|
|
|
|
</td>
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="font-size: 15px">行业场景应用:</span>
|
|
|
|
|
|
</th>
|
|
|
|
|
|
<td class="table-title" colspan="1"><input readonly
|
|
|
|
|
|
value="${project.industryScenario!}"/></td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
<tr class="am-text-nowrap">
|
|
|
|
|
|
<#-- <th class="table-title" colspan="1" ><span style="font-size: 15px">项目解决方案:</span></th>-->
|
|
|
|
|
|
<#-- <td class="table-title" colspan="1" >-->
|
|
|
|
|
|
<#-- <#if project.resolvePlan??>-->
|
|
|
|
|
|
<#-- <#if (project.resolvePlan!) =1>-->
|
|
|
|
|
|
<#-- <input readonly value="公共服务(智慧交通、雪亮工程、治安防控体系等)"/>-->
|
|
|
|
|
|
<#-- <#elseif (project.resolvePlan!) =2>-->
|
|
|
|
|
|
<#-- <input readonly value="泛行业(智慧园区、智慧医疗、智慧工地等)"/>-->
|
|
|
|
|
|
<#-- <#elseif (project.resolvePlan!) =3>-->
|
|
|
|
|
|
<#-- <input readonly value="其他生态"/>-->
|
|
|
|
|
|
<#-- </#if>-->
|
|
|
|
|
|
<#-- <#else>-->
|
|
|
|
|
|
<#-- <input readonly value=""/>-->
|
|
|
|
|
|
<#-- </#if>-->
|
|
|
|
|
|
<#-- </td>-->
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="font-size: 15px">客户名称:</span></th>
|
|
|
|
|
|
<td class="table-title" colspan="2"><input readonly value="${project.customer!}"/></td>
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="font-size: 15px">最终用户名称:</span>
|
|
|
|
|
|
</th>
|
|
|
|
|
|
<td class="table-title" colspan="2"><input readonly
|
|
|
|
|
|
value="${project.terminalCustomer!}"/></td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
<tr class="am-text-nowrap">
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="font-size: 15px">价值及风险:</span>
|
|
|
|
|
|
</th>
|
|
|
|
|
|
<td class="table-title" colspan="5">
|
|
|
|
|
|
<textarea rows="5" cols="20" style="border-style:none;background-color: white;"
|
|
|
|
|
|
disabled="disabled"
|
2024-10-18 09:01:41 +00:00
|
|
|
|
>${project.valueRisk!}</textarea>
|
2024-10-30 03:11:27 +00:00
|
|
|
|
</td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
<tr class="am-text-nowrap">
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="font-size: 15px">项目负责人:</span>
|
|
|
|
|
|
</th>
|
|
|
|
|
|
<td class="table-title" colspan="1"><input readonly value="${project.principal!}"/></td>
|
|
|
|
|
|
<th class="table-title" colspan="1"><span
|
|
|
|
|
|
style="font-size: 15px">预计合同签订时间:</span></th>
|
|
|
|
|
|
<td class="table-title" colspan="1"><input readonly
|
|
|
|
|
|
value="${(project.contractTime?string("yyyy-MM-dd"))!}"/>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
<th class="table-title" colspan="1"><span
|
|
|
|
|
|
style="font-size: 15px">项目计划招标时间:</span></th>
|
|
|
|
|
|
<td class="table-title" colspan="1"><input readonly
|
|
|
|
|
|
value="${(project.bidsTime?string("yyyy-MM-dd"))!}"/>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
<tr class="am-text-nowrap">
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="font-size: 15px">是否二次合作:</span>
|
|
|
|
|
|
</th>
|
|
|
|
|
|
<td class="table-title" colspan="1">
|
|
|
|
|
|
<#if project.isSecond??>
|
|
|
|
|
|
<#if (project.isSecond!) =1>
|
|
|
|
|
|
<input readonly value="是"/>
|
|
|
|
|
|
<#elseif (project.isSecond!) =2>
|
|
|
|
|
|
<input readonly value="否"/>
|
|
|
|
|
|
<#else >
|
|
|
|
|
|
<input readonly value=""/>
|
|
|
|
|
|
</#if>
|
|
|
|
|
|
<#else>
|
2024-10-18 09:01:41 +00:00
|
|
|
|
<input readonly value=""/>
|
|
|
|
|
|
</#if>
|
2024-10-30 03:11:27 +00:00
|
|
|
|
</td>
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="font-size: 15px">是否汇智中标:</span>
|
|
|
|
|
|
</th>
|
|
|
|
|
|
<td class="table-title" colspan="3">
|
|
|
|
|
|
<#if project.signType??>
|
|
|
|
|
|
<#if (project.signType!) =1>
|
|
|
|
|
|
<input readonly value="是"/>
|
|
|
|
|
|
<#elseif (project.signType!) =2>
|
|
|
|
|
|
<input readonly value="否"/>
|
|
|
|
|
|
<#else >
|
|
|
|
|
|
<input readonly value=""/>
|
|
|
|
|
|
</#if>
|
|
|
|
|
|
<#else>
|
2024-10-18 09:01:41 +00:00
|
|
|
|
<input readonly value=""/>
|
|
|
|
|
|
</#if>
|
2024-10-30 03:11:27 +00:00
|
|
|
|
</td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
<#-- <tr class="am-text-nowrap">-->
|
|
|
|
|
|
<#-- <th class="table-title" colspan="1" ><span style="font-size: 15px">主合同收款条款:</span></th>-->
|
|
|
|
|
|
<#-- <td class="table-title" colspan="5" >-->
|
|
|
|
|
|
<#-- <textarea rows="3" cols="20" style="border-style:none;background-color: white;" disabled="disabled"-->
|
|
|
|
|
|
<#-- >${project.mainContractCollectionTerms!}</textarea>-->
|
|
|
|
|
|
<#-- </td>-->
|
|
|
|
|
|
<#-- </tr>-->
|
|
|
|
|
|
<#-- <tr class="am-text-nowrap">-->
|
|
|
|
|
|
<#-- <th class="table-title" colspan="1" ><span style="font-size: 15px">主合同具体解决方案:</span></th>-->
|
|
|
|
|
|
<#-- <td class="table-title" colspan="5" >-->
|
|
|
|
|
|
<#-- <textarea rows="3" cols="20" style="border-style:none;background-color: white;" disabled="disabled"-->
|
|
|
|
|
|
<#-- >${project.mainContractResolvePlan!}</textarea>-->
|
|
|
|
|
|
<#-- </td> </tr>-->
|
|
|
|
|
|
<tr class="am-text-nowrap">
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="font-size: 15px">计收计划:</span></th>
|
|
|
|
|
|
<td class="table-title" colspan="5">
|
|
|
|
|
|
<textarea rows="3" cols="20" style="border-style:none;background-color: white;"
|
|
|
|
|
|
disabled="disabled"
|
2024-10-18 09:01:41 +00:00
|
|
|
|
>${project.calculationCollection!}</textarea>
|
2024-10-30 03:11:27 +00:00
|
|
|
|
</td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
<tr class="am-text-nowrap">
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="font-size: 15px">项目阶段:</span></th>
|
|
|
|
|
|
<td class="table-title" colspan="2">
|
|
|
|
|
|
<#if project.stage??>
|
|
|
|
|
|
<#if (project.stage) =0>
|
|
|
|
|
|
<input readonly value="C0、项目可研"/>
|
|
|
|
|
|
<#elseif (project.stage) =1>
|
|
|
|
|
|
<input readonly value="C1、项目申报"/>
|
|
|
|
|
|
<#elseif (project.stage) =2>
|
|
|
|
|
|
<input readonly value="C2、项目设计"/>
|
|
|
|
|
|
<#elseif (project.stage) =3>
|
|
|
|
|
|
<input readonly value="C3、项目财评"/>
|
|
|
|
|
|
<#elseif (project.stage) =4>
|
|
|
|
|
|
<input readonly value="C4、项目立项评审"/>
|
|
|
|
|
|
<#elseif (project.stage) =5>
|
|
|
|
|
|
<input readonly value="C5、项目公示期"/>
|
|
|
|
|
|
<#elseif (project.stage) =6>
|
|
|
|
|
|
<input readonly value="C6、项目合同期"/>
|
|
|
|
|
|
<#elseif (project.stage) =7>
|
|
|
|
|
|
<input readonly value="C7、项目结算期"/>
|
|
|
|
|
|
</#if>
|
|
|
|
|
|
<#else>
|
|
|
|
|
|
<input readonly value=""/>
|
2024-10-18 09:01:41 +00:00
|
|
|
|
</#if>
|
2024-10-30 03:11:27 +00:00
|
|
|
|
</td>
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="font-size: 15px">公司销售阶段:</span>
|
|
|
|
|
|
</th>
|
|
|
|
|
|
<td class="table-title" colspan="2">
|
|
|
|
|
|
<#if project.saleStage??>
|
|
|
|
|
|
<#if (project.saleStage) =0>
|
|
|
|
|
|
<input readonly value="S0-商机线索"/>
|
|
|
|
|
|
<#elseif (project.saleStage) =1>
|
|
|
|
|
|
<input readonly value="S1-需求摸索"/>
|
|
|
|
|
|
<#elseif (project.saleStage) =2>
|
|
|
|
|
|
<input readonly value="S2-标前引导"/>
|
|
|
|
|
|
<#elseif (project.saleStage) =3>
|
|
|
|
|
|
<input readonly value="S3-预算评审"/>
|
|
|
|
|
|
<#elseif (project.saleStage) =4>
|
|
|
|
|
|
<input readonly value="S4-招投标期"/>
|
|
|
|
|
|
<#elseif (project.saleStage) =5>
|
|
|
|
|
|
<input readonly value="S5-合同期"/>
|
|
|
|
|
|
<#elseif (project.saleStage) =6>
|
|
|
|
|
|
<input readonly value="S6-交付期"/>
|
|
|
|
|
|
<#elseif (project.saleStage) =7>
|
|
|
|
|
|
<input readonly value="S7-结算期"/>
|
|
|
|
|
|
<#elseif (project.saleStage) =8>
|
|
|
|
|
|
<input readonly value="S8-决算期"/>
|
|
|
|
|
|
<#elseif (project.saleStage) =9>
|
|
|
|
|
|
<input readonly value="L-项目丢单"/>
|
|
|
|
|
|
<#elseif (project.saleStage) =9>
|
|
|
|
|
|
<input readonly value="S-暂停期"/>
|
|
|
|
|
|
</#if>
|
|
|
|
|
|
<#else>
|
|
|
|
|
|
<input readonly value=""/>
|
2024-10-18 09:01:41 +00:00
|
|
|
|
</#if>
|
2024-10-30 03:11:27 +00:00
|
|
|
|
</td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
<tr class="am-text-nowrap">
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="font-size: 15px">当前进度描述:</span>
|
|
|
|
|
|
</th>
|
|
|
|
|
|
<td class="table-title" colspan="5">
|
|
|
|
|
|
<textarea rows="3" cols="20" style="border-style:none;background-color: white;"
|
|
|
|
|
|
disabled="disabled"
|
2024-10-18 09:01:41 +00:00
|
|
|
|
>${project.stageRemark!}</textarea>
|
2024-10-30 03:11:27 +00:00
|
|
|
|
</td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
<#-- <tr class="am-text-nowrap">-->
|
|
|
|
|
|
<#-- <th class="table-title" colspan="1" ><span style="font-size: 15px">下一步计划:</span></th>-->
|
|
|
|
|
|
<#-- <td class="table-title" colspan="5" >-->
|
|
|
|
|
|
<#-- <textarea rows="3" cols="20" style="border-style:none;background-color: white;" disabled="disabled"-->
|
|
|
|
|
|
<#-- >${project.nextPlan!}</textarea>-->
|
|
|
|
|
|
<#-- </td>-->
|
|
|
|
|
|
<#-- </tr>-->
|
|
|
|
|
|
</table>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class="am-tab-panel am-fade am-in am-active" id="tab2">
|
|
|
|
|
|
<input name="projectId" id="projectId" type="hidden" value="${projectBudget.projectId}"/>
|
|
|
|
|
|
<!--验证表单元素(validate) begin-->
|
|
|
|
|
|
<table id="myTable" class="am-table am-table-bordered">
|
2024-10-18 09:01:41 +00:00
|
|
|
|
<tr class="am-text-nowrap">
|
2024-10-30 03:11:27 +00:00
|
|
|
|
<th class="table-title" colspan="6" style="text-align: center">项目基本信息</th>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
<tr class="am-text-nowrap">
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="font-size: 15px">部门名称:</span></th>
|
|
|
|
|
|
<td class="table-title" colspan="2"><input class="table-inline" readonly
|
|
|
|
|
|
value="${projectBudget.deptNameBudget!}"/>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="font-size: 15px">项目编号:</span></th>
|
|
|
|
|
|
<td class="table-title" colspan="2"><input class="table-inline" id="projectNoBudget"
|
|
|
|
|
|
name="projectNoBudget" readonly
|
|
|
|
|
|
value="${projectBudget.projectNoBudget!}"/>
|
2024-10-18 09:01:41 +00:00
|
|
|
|
</td>
|
|
|
|
|
|
</tr>
|
2024-10-30 03:11:27 +00:00
|
|
|
|
<tr class="am-text-nowrap">
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="color: red;">*</span><span
|
|
|
|
|
|
style="font-size: 15px">项目名称:</span></th>
|
|
|
|
|
|
<td class="table-title" colspan="5">
|
|
|
|
|
|
<input type="text" id="nameBudget" style="border-style:none;" data-validate-async
|
|
|
|
|
|
data-validation-message="请输入项目名称(1000字符以内)"
|
|
|
|
|
|
name="nameBudget" placeholder="请输入项目名称(1000字符以内)" maxlength="1000"
|
|
|
|
|
|
value="${projectBudget.nameBudget!}"/>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
<#if project.approveStatusBudget == 2>
|
|
|
|
|
|
<tr class="am-text-nowrap">
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="color: red;">*</span><span
|
|
|
|
|
|
style="font-size: 15px">合同名称:</span></th>
|
|
|
|
|
|
<td class="table-title" colspan="5">
|
|
|
|
|
|
<input type="text" id="contractBudget" style="border-style:none;"
|
|
|
|
|
|
data-validate-async
|
|
|
|
|
|
data-validation-message="请输入合同名称(1000字符以内)"
|
|
|
|
|
|
name="contractBudget" placeholder="请输入合同名称(1000字符以内)"
|
|
|
|
|
|
maxlength="1000" value="${projectBudget.contractBudget!}"
|
|
|
|
|
|
onkeyup="saveContract('${base}/project/saveContract')"/>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
</#if>
|
|
|
|
|
|
<tr class="am-text-nowrap">
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="color: red;">*</span><span
|
|
|
|
|
|
style="font-size: 15px">项目类型:</span></th>
|
|
|
|
|
|
<td class="table-title" colspan="1">
|
|
|
|
|
|
<select data-am-selected="{btnSize: 'sm',btnWidth: '80%',searchBox: 1}"
|
|
|
|
|
|
id="typeBudget" name="typeBudget">
|
|
|
|
|
|
<option value="1" <#if projectBudget.typeBudget=1>selected</#if>>工程集成类
|
|
|
|
|
|
</option>
|
|
|
|
|
|
<option value="2" <#if projectBudget.typeBudget=2>selected</#if>>设备集成类
|
|
|
|
|
|
</option>
|
|
|
|
|
|
</select>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
<tr class="am-text-nowrap">
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="color: red;">*</span><span
|
|
|
|
|
|
style="font-size: 15px">垫资模式:</span></th>
|
|
|
|
|
|
<td class="table-title" colspan="1">
|
|
|
|
|
|
<select data-am-selected="{btnSize: 'sm',btnWidth: '80%',searchBox: 1}"
|
|
|
|
|
|
id="underwrittenModeBudget" name="underwrittenModeBudget"
|
|
|
|
|
|
onchange="changeCheckB()">
|
|
|
|
|
|
<option value="1" <#if projectBudget.underwrittenModeBudget=1>selected</#if>>
|
|
|
|
|
|
不垫资
|
|
|
|
|
|
</option>
|
|
|
|
|
|
<option value="3" <#if projectBudget.underwrittenModeBudget=3>selected</#if>>
|
|
|
|
|
|
垫资(账期覆盖)
|
|
|
|
|
|
</option>
|
|
|
|
|
|
<option value="4" <#if projectBudget.underwrittenModeBudget=4>selected</#if>>
|
|
|
|
|
|
垫资(账期不覆盖)
|
|
|
|
|
|
</option>
|
|
|
|
|
|
</select>
|
|
|
|
|
|
</td>
|
2024-10-18 09:01:41 +00:00
|
|
|
|
|
2024-10-30 03:11:27 +00:00
|
|
|
|
<th class="table-title" colspan="4" id="noUnder0b"
|
|
|
|
|
|
<#if projectBudget.underwrittenModeBudget! gt 2>hidden</#if>></th>
|
|
|
|
|
|
|
|
|
|
|
|
<th class="table-title" colspan="1" id="noUnder1b"
|
|
|
|
|
|
<#if projectBudget.underwrittenModeBudget! <= 2>hidden</#if>><span
|
|
|
|
|
|
style="color: red;">*</span><span style="font-size: 15px">垫资利息:</span>
|
|
|
|
|
|
</th>
|
|
|
|
|
|
<td class="table-title" colspan="1" id="noUnder2b"
|
|
|
|
|
|
<#if projectBudget.underwrittenModeBudget! <= 2>hidden</#if>>
|
|
|
|
|
|
<input type="text" class="number am-input" style="border-style:none;"
|
|
|
|
|
|
data-validate-async data-validation-message="请输入垫资利息"
|
|
|
|
|
|
name="advanceInterestAmountBudget" id="advanceInterestAmountBudget"
|
|
|
|
|
|
placeholder="单位(元)" maxlength="16"
|
|
|
|
|
|
value="${Utils.format(projectBudget.advanceInterestAmountBudget)}"/>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
<th class="table-title" colspan="1" id="noUnder3b"
|
|
|
|
|
|
<#if projectBudget.underwrittenModeBudget! <= 2>hidden</#if>><span
|
|
|
|
|
|
style="color: red;">*</span><span style="font-size: 15px">垫资峰值:</span>
|
|
|
|
|
|
</th>
|
|
|
|
|
|
<td class="table-title" colspan="1" id="noUnder4b"
|
|
|
|
|
|
<#if projectBudget.underwrittenModeBudget! <= 2>hidden</#if>>
|
|
|
|
|
|
<input type="text" class="number am-input" style="border-style:none;"
|
|
|
|
|
|
data-validate-async data-validation-message="请输入垫资峰值"
|
|
|
|
|
|
name="advancePeakAmountBudget" id="advancePeakAmountBudget"
|
|
|
|
|
|
placeholder="单位(元)" maxlength="16"
|
|
|
|
|
|
value="${Utils.format(projectBudget.advancePeakAmountBudget)}"/>
|
|
|
|
|
|
</td>
|
2024-10-18 09:01:41 +00:00
|
|
|
|
|
2024-10-30 03:11:27 +00:00
|
|
|
|
</tr>
|
|
|
|
|
|
<tr class="am-text-nowrap">
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="color: red;">*</span><span
|
|
|
|
|
|
style="font-size: 15px">合同金额:</span></th>
|
|
|
|
|
|
<td class="table-title" colspan="1">
|
|
|
|
|
|
<input type="text" class="number am-input" style="border-style:none;"
|
|
|
|
|
|
data-validate-async data-validation-message="请输入合同金额"
|
|
|
|
|
|
name="contractAmountBudget" id="contractAmountBudget" placeholder="单位(元)"
|
|
|
|
|
|
maxlength="16"
|
|
|
|
|
|
value="${Utils.format(projectBudget.contractAmountBudget)}"/>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="color: red;">*</span><span
|
|
|
|
|
|
style="font-size: 15px">项目毛利A:</span></th>
|
|
|
|
|
|
<td class="table-title" colspan="1">
|
|
|
|
|
|
<input type="text" class="number am-input" style="border-style:none;"
|
|
|
|
|
|
data-validate-async data-validation-message="请输入项目毛利A"
|
|
|
|
|
|
name="grossProfitABudget" id="grossProfitABudget" placeholder="单位(元)"
|
|
|
|
|
|
maxlength="16"
|
|
|
|
|
|
value="${Utils.format(projectBudget.grossProfitABudget)}"/>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="color: red;">*</span><span
|
|
|
|
|
|
style="font-size: 15px">项目毛利A利率:</span></th>
|
|
|
|
|
|
<td class="table-title" colspan="1">
|
|
|
|
|
|
<input type="text" class="number am-input" style="border-style:none;"
|
|
|
|
|
|
data-validate-async data-validation-message="请输入项目毛利A利率"
|
|
|
|
|
|
name="grossProfitAMarginBudget" id="grossProfitAMarginBudget"
|
|
|
|
|
|
placeholder="单位(%)" maxlength="16"
|
|
|
|
|
|
value="${Utils.format(projectBudget.grossProfitAMarginBudget)}"/>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
<tr class="am-text-nowrap">
|
|
|
|
|
|
<th class="table-title" colspan="2"></th>
|
|
|
|
|
|
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="color: red;">*</span><span
|
|
|
|
|
|
style="font-size: 15px">项目毛利:</span></th>
|
|
|
|
|
|
<td class="table-title" colspan="1">
|
|
|
|
|
|
<input type="text" class="number am-input" style="border-style:none;"
|
|
|
|
|
|
data-validate-async data-validation-message="请输入项目毛利"
|
|
|
|
|
|
name="grossProfitBudget" id="grossProfitBudget" placeholder="单位(元)"
|
|
|
|
|
|
maxlength="16"
|
|
|
|
|
|
value="${Utils.format(projectBudget.grossProfitBudget)}"/>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="color: red;">*</span><span
|
|
|
|
|
|
style="font-size: 15px">项目毛利率:</span></th>
|
|
|
|
|
|
<td class="table-title" colspan="1">
|
|
|
|
|
|
<input type="text" class="number am-input" style="border-style:none;"
|
|
|
|
|
|
data-validate-async data-validation-message="请输入项目毛利率"
|
|
|
|
|
|
name="grossProfitMarginBudget" id="grossProfitMarginBudget"
|
|
|
|
|
|
placeholder="单位(%)" maxlength="16"
|
|
|
|
|
|
value="${Utils.format(projectBudget.grossProfitMarginBudget)}"/>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
<tr class="am-text-nowrap">
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="color: red;">*</span><span
|
|
|
|
|
|
style="font-size: 15px">汇智产品金额:</span></th>
|
|
|
|
|
|
<td class="table-title" colspan="1">
|
|
|
|
|
|
<input type="text" class="number am-input" style="border-style:none;"
|
|
|
|
|
|
data-validation-message="汇智产品金额"
|
|
|
|
|
|
name="huizhiProductAmountBudget" id="huizhiProductAmountBudget"
|
|
|
|
|
|
placeholder="单位(元)" maxlength="16"
|
|
|
|
|
|
value="${Utils.format(projectBudget.huizhiProductAmountBudget, "0.00")}"/>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="color: red;">*</span><span
|
|
|
|
|
|
style="font-size: 15px">华智产品金额:</span></th>
|
|
|
|
|
|
<td class="table-title" colspan="1">
|
|
|
|
|
|
<input type="text" class="number am-input" style="border-style:none;"
|
|
|
|
|
|
data-validation-message="华智产品金额"
|
|
|
|
|
|
name="huazhiProductAmountBudget" id="huazhiProductAmountBudget"
|
|
|
|
|
|
placeholder="单位(元)" maxlength="16"
|
|
|
|
|
|
value="${Utils.format(projectBudget.huazhiProductAmountBudget, "0.00")}"/>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="color: red;">*</span><span
|
|
|
|
|
|
style="font-size: 15px">华三产品金额:</span></th>
|
|
|
|
|
|
<td class="table-title" colspan="1">
|
|
|
|
|
|
<input type="text" class="number am-input" style="border-style:none;"
|
|
|
|
|
|
data-validation-message="华三产品金额"
|
|
|
|
|
|
name="huasanProductAmountBudget" id="huasanProductAmountBudget"
|
|
|
|
|
|
placeholder="单位(元)" maxlength="16"
|
|
|
|
|
|
value="${Utils.format(projectBudget.huasanProductAmountBudget, "0.00")}"/>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
<tr class="am-text-nowrap">
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="color: red;">*</span><span
|
|
|
|
|
|
style="font-size: 15px">其他产品金额:</span></th>
|
|
|
|
|
|
<td class="table-title" colspan="1">
|
|
|
|
|
|
<input type="text" class="number am-input" style="border-style:none;"
|
|
|
|
|
|
data-validation-message="请输入其他产品金额"
|
|
|
|
|
|
name="ziguangOtherAmountBudget" id="ziguangOtherAmountBudget"
|
|
|
|
|
|
placeholder="单位(元)" maxlength="16"
|
|
|
|
|
|
value="${Utils.format(projectBudget.ziguangOtherAmountBudget, "0.00")}"/>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="color: red;">*</span><span
|
|
|
|
|
|
style="font-size: 15px">项目把握度:</span></th>
|
|
|
|
|
|
<td class="table-title" colspan="1">
|
|
|
|
|
|
<select data-am-selected="{btnSize: 'sm',btnWidth: '80%',searchBox: 1}"
|
|
|
|
|
|
id="certaintyBudget" name="certaintyBudget">
|
|
|
|
|
|
<#if projectBudget.certaintyBudget??>
|
|
|
|
|
|
<option value="1" <#if projectBudget.certaintyBudget=1>selected</#if>>
|
|
|
|
|
|
A:项目成功率80%-100%
|
|
|
|
|
|
</option>
|
|
|
|
|
|
<option value="2" <#if projectBudget.certaintyBudget=2>selected</#if>>
|
|
|
|
|
|
B:项目成功率60%-80%
|
|
|
|
|
|
</option>
|
|
|
|
|
|
<option value="3" <#if projectBudget.certaintyBudget=3>selected</#if>>
|
|
|
|
|
|
C:项目成功率40%-60%
|
|
|
|
|
|
</option>
|
|
|
|
|
|
<#else>
|
|
|
|
|
|
<option value="1">A:项目成功率40%-60%</option>
|
|
|
|
|
|
<option value="2">B:项目成功率40%-60%</option>
|
|
|
|
|
|
<option value="3">C:项目成功率40%-60%</option>
|
|
|
|
|
|
</#if>
|
|
|
|
|
|
</select>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="color: red;">*</span><span
|
|
|
|
|
|
style="font-size: 15px">行业场景应用:</span></th>
|
|
|
|
|
|
<td class="table-title" colspan="1">
|
|
|
|
|
|
<select data-am-selected="{btnSize: 'sm',btnWidth: '80%',searchBox: 1}"
|
|
|
|
|
|
id="industrySceneBudget" name="industrySceneBudget">
|
|
|
|
|
|
<#if projectBudget.industrySceneBudget??>
|
|
|
|
|
|
<option value="1" <#if projectBudget.industrySceneBudget=1>selected</#if>>
|
|
|
|
|
|
信息安全
|
|
|
|
|
|
</option>
|
|
|
|
|
|
<option value="2" <#if projectBudget.industrySceneBudget=2>selected</#if>>
|
|
|
|
|
|
政府
|
|
|
|
|
|
</option>
|
|
|
|
|
|
<option value="3" <#if projectBudget.industrySceneBudget=3>selected</#if>>
|
|
|
|
|
|
公安
|
|
|
|
|
|
</option>
|
|
|
|
|
|
<option value="4" <#if projectBudget.industrySceneBudget=4>selected</#if>>
|
|
|
|
|
|
企业
|
|
|
|
|
|
</option>
|
|
|
|
|
|
<option value="5" <#if projectBudget.industrySceneBudget=5>selected</#if>>
|
|
|
|
|
|
教育
|
|
|
|
|
|
</option>
|
|
|
|
|
|
<option value="6" <#if projectBudget.industrySceneBudget=6>selected</#if>>
|
|
|
|
|
|
交通
|
|
|
|
|
|
</option>
|
|
|
|
|
|
<option value="7" <#if projectBudget.industrySceneBudget=7>selected</#if>>
|
|
|
|
|
|
医疗
|
|
|
|
|
|
</option>
|
|
|
|
|
|
<option value="8" <#if projectBudget.industrySceneBudget=8>selected</#if>>
|
|
|
|
|
|
电力资源
|
|
|
|
|
|
</option>
|
|
|
|
|
|
<option value="9" <#if projectBudget.industrySceneBudget=9>selected</#if>>
|
|
|
|
|
|
运营商
|
|
|
|
|
|
</option>
|
|
|
|
|
|
<option value="10" <#if projectBudget.industrySceneBudget=10>selected</#if>>
|
|
|
|
|
|
金融
|
|
|
|
|
|
</option>
|
|
|
|
|
|
<option value="11" <#if projectBudget.industrySceneBudget=11>selected</#if>>
|
|
|
|
|
|
专网
|
|
|
|
|
|
</option>
|
|
|
|
|
|
<option value="12" <#if projectBudget.industrySceneBudget=12>selected</#if>>
|
|
|
|
|
|
其他
|
|
|
|
|
|
</option>
|
|
|
|
|
|
<option value="13" <#if projectBudget.industrySceneBudget=13>selected</#if>>
|
|
|
|
|
|
互联网
|
|
|
|
|
|
</option>
|
|
|
|
|
|
<option value="14" <#if projectBudget.industrySceneBudget=14>selected</#if>>
|
|
|
|
|
|
银行
|
|
|
|
|
|
</option>
|
|
|
|
|
|
<#else>
|
|
|
|
|
|
<option value="1">信息安全</option>
|
|
|
|
|
|
<option value="2">政府</option>
|
|
|
|
|
|
<option value="3">公安</option>
|
|
|
|
|
|
<option value="4">企业</option>
|
|
|
|
|
|
<option value="5">教育</option>
|
|
|
|
|
|
<option value="6">交通</option>
|
|
|
|
|
|
<option value="7">医疗</option>
|
|
|
|
|
|
<option value="8">电力资源</option>
|
|
|
|
|
|
<option value="9">运营商</option>
|
|
|
|
|
|
<option value="10">金融</option>
|
|
|
|
|
|
<option value="11">专网</option>
|
|
|
|
|
|
<option value="12">其他</option>
|
|
|
|
|
|
<option value="13">互联网</option>
|
|
|
|
|
|
<option value="14">银行</option>
|
|
|
|
|
|
</#if>
|
|
|
|
|
|
</select>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
<tr class="am-text-nowrap">
|
|
|
|
|
|
<#-- <th class="table-title" colspan="1" ><span style="color: red;">*</span><span style="font-size: 15px">项目解决方案:</span></th>-->
|
|
|
|
|
|
<#-- <td class="table-title" colspan="1" >-->
|
|
|
|
|
|
<#-- <select data-am-selected="{btnSize: 'sm',btnWidth: '80%',searchBox: 1}" id="resolvePlanBudget" name="resolvePlanBudget">-->
|
|
|
|
|
|
<#-- <#if projectBudget.resolvePlanBudget??>-->
|
|
|
|
|
|
<#-- <option value="1" <#if projectBudget.resolvePlanBudget=1>selected</#if>>公共服务(智慧交通、雪亮工程、治安防控体系等)</option>-->
|
|
|
|
|
|
<#-- <option value="2" <#if projectBudget.resolvePlanBudget=2>selected</#if>>泛行业(智慧园区、智慧医疗、智慧工地等)</option>-->
|
|
|
|
|
|
<#-- <option value="3" <#if projectBudget.resolvePlanBudget=3>selected</#if>>其他生态</option>-->
|
|
|
|
|
|
<#-- <#else>-->
|
|
|
|
|
|
<#-- <option value="1" >公共服务(智慧交通、雪亮工程、治安防控体系等)</option>-->
|
|
|
|
|
|
<#-- <option value="2" >泛行业(智慧园区、智慧医疗、智慧工地等)</option>-->
|
|
|
|
|
|
<#-- <option value="3" >其他生态</option>-->
|
|
|
|
|
|
<#-- </#if>-->
|
|
|
|
|
|
<#-- </select>-->
|
|
|
|
|
|
<#-- </td>-->
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="color: red;">*</span><span
|
|
|
|
|
|
style="font-size: 15px">客户名称:</span></th>
|
|
|
|
|
|
<td class="table-title" colspan="2">
|
|
|
|
|
|
<input type="text" class="am-input" style="border-style:none;" data-validate-async
|
|
|
|
|
|
data-validation-message="请输入客户名称(1000字符以内)"
|
|
|
|
|
|
name="customerBudget" id="customerBudget"
|
|
|
|
|
|
placeholder="请输入客户名称(1000字符以内)" maxlength="1000"
|
|
|
|
|
|
value="${projectBudget.customerBudget!}"/>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="color: red;">*</span><span
|
|
|
|
|
|
style="font-size: 15px">最终用户名称:</span></th>
|
|
|
|
|
|
<td class="table-title" colspan="2">
|
|
|
|
|
|
<input type="text" class="am-input" style="border-style:none;" data-validate-async
|
|
|
|
|
|
data-validation-message="请输入最终用户名称(1000字符以内)"
|
|
|
|
|
|
name="terminalCustomerBudget" id="terminalCustomerBudget"
|
|
|
|
|
|
placeholder="请输入最终用户名称(1000字符以内)" maxlength="1000"
|
|
|
|
|
|
value="${projectBudget.terminalCustomerBudget!}"/>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
<tr class="am-text-nowrap">
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="color: red;">*</span><span
|
|
|
|
|
|
style="font-size: 15px">价值及风险:</span></th>
|
|
|
|
|
|
<td class="table-title" colspan="5">
|
|
|
|
|
|
<textarea rows="5" cols="20" id="valueRiskBudget" name="valueRiskBudget"
|
|
|
|
|
|
maxlength="1000"
|
|
|
|
|
|
class="am-input" style="border-style:none;" data-validate-async
|
|
|
|
|
|
data-validation-message="请输入价值及风险"
|
2024-10-18 09:01:41 +00:00
|
|
|
|
placeholder="请输入价值及风险"
|
|
|
|
|
|
>${projectBudget.valueRiskBudget!}</textarea>
|
2024-10-30 03:11:27 +00:00
|
|
|
|
</td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
<tr class="am-text-nowrap">
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="color: red;">*</span><span
|
|
|
|
|
|
style="font-size: 15px">项目负责人:</span></th>
|
|
|
|
|
|
<td class="table-title" colspan="1">
|
|
|
|
|
|
<input type="text" id="principalBudget" class="am-input" style="border-style:none;"
|
|
|
|
|
|
data-validate-async data-validation-message="请输入项目负责人"
|
|
|
|
|
|
name="principalBudget" placeholder="请输入项目负责人" maxlength="20"
|
|
|
|
|
|
value="${projectBudget.principalBudget!}"/>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
<th class="table-title" colspan="1"><span
|
|
|
|
|
|
style="font-size: 15px">预计合同签订时间:</span></th>
|
|
|
|
|
|
<td class="table-title" colspan="1">
|
|
|
|
|
|
<input type="text" class="am-form-field am-input-sm" style="border-style:none;"
|
|
|
|
|
|
id="contractTimeBudget"
|
|
|
|
|
|
name="contractTimeBudget" autocomplete="off"
|
|
|
|
|
|
value="${(projectBudget.contractTimeBudget?string("yyyy-MM-dd"))!}"
|
|
|
|
|
|
placeholder="预计合同签订时间"
|
|
|
|
|
|
data-am-datepicker>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
<th class="table-title" colspan="1"><span
|
|
|
|
|
|
style="font-size: 15px">项目计划招标时间:</span></th>
|
|
|
|
|
|
<td class="table-title" colspan="1">
|
|
|
|
|
|
<input type="text" class="am-form-field am-input-sm" style="border-style:none;"
|
|
|
|
|
|
id="bidsTimeBudget"
|
|
|
|
|
|
name="bidsTimeBudget" autocomplete="off"
|
|
|
|
|
|
value="${(projectBudget.bidsTimeBudget?string("yyyy-MM-dd"))!}"
|
|
|
|
|
|
placeholder="项目计划招标时间"
|
|
|
|
|
|
data-am-datepicker>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
<tr class="am-text-nowrap">
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="font-size: 15px">是否二次合作:</span>
|
|
|
|
|
|
</th>
|
|
|
|
|
|
<td class="table-title" colspan="1">
|
|
|
|
|
|
<select data-am-selected="{btnSize: 'sm',btnWidth: '80%',searchBox: 1}"
|
|
|
|
|
|
id="isSecondBudget" name="isSecondBudget">
|
|
|
|
|
|
<#if projectBudget.isSecondBudget??>
|
|
|
|
|
|
<option value="-1"></option>
|
|
|
|
|
|
<option value="1" <#if projectBudget.isSecondBudget=1>selected</#if>>是
|
|
|
|
|
|
</option>
|
|
|
|
|
|
<option value="2" <#if projectBudget.isSecondBudget=2>selected</#if>>否
|
|
|
|
|
|
</option>
|
|
|
|
|
|
<#else>
|
|
|
|
|
|
<option value="-1"></option>
|
|
|
|
|
|
<option value="1">是</option>
|
|
|
|
|
|
<option value="2">否</option>
|
|
|
|
|
|
</#if>
|
|
|
|
|
|
</select>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="font-size: 15px">是否汇智中标:</span>
|
|
|
|
|
|
</th>
|
|
|
|
|
|
<td class="table-title" colspan="3">
|
|
|
|
|
|
<select data-am-selected="{btnSize: 'sm',btnWidth: '80%',searchBox: 1}"
|
|
|
|
|
|
id="signTypeBudget" name="signTypeBudget">
|
|
|
|
|
|
<#if projectBudget.signTypeBudget??>
|
|
|
|
|
|
<option value="-1"></option>
|
|
|
|
|
|
<option value="1" <#if projectBudget.signTypeBudget=1>selected</#if>>是
|
|
|
|
|
|
</option>
|
|
|
|
|
|
<option value="2" <#if projectBudget.signTypeBudget=2>selected</#if>>否
|
|
|
|
|
|
</option>
|
|
|
|
|
|
<#-- <option value="1" <#if projectBudget.signTypeBudget=1>selected</#if>>紫光汇智直接投标</option>-->
|
|
|
|
|
|
<#else>
|
|
|
|
|
|
<option value="-1"></option>
|
|
|
|
|
|
<option value="1" <#if projectBudget.signTypeBudget=1>selected</#if>>是
|
|
|
|
|
|
</option>
|
|
|
|
|
|
<option value="2" <#if projectBudget.signTypeBudget=2>selected</#if>>否
|
|
|
|
|
|
</option>
|
|
|
|
|
|
<#-- <option value="1" >紫光汇智直接投标</option>-->
|
|
|
|
|
|
</#if>
|
|
|
|
|
|
</select>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
<#-- <tr class="am-text-nowrap">-->
|
|
|
|
|
|
<#-- <th class="table-title" colspan="1" ><span style="font-size: 15px">主合同收款条款:</span></th>-->
|
|
|
|
|
|
<#-- <td class="table-title" colspan="5" >-->
|
|
|
|
|
|
<#-- <textarea rows="3" cols="20" id="mainContractCollectionTermsBudget" name="mainContractCollectionTermsBudget" maxlength="1000"-->
|
|
|
|
|
|
<#-- class="am-input" style="border-style:none;" data-validate-async data-validation-message="请输入收款条款"-->
|
|
|
|
|
|
<#-- placeholder="请输入收款条款"-->
|
|
|
|
|
|
<#-- >${projectBudget.mainContractCollectionTermsBudget!}</textarea>-->
|
|
|
|
|
|
<#-- </td>-->
|
|
|
|
|
|
<#-- </tr>-->
|
|
|
|
|
|
<#-- <tr class="am-text-nowrap">-->
|
|
|
|
|
|
<#-- <th class="table-title" colspan="1" ><span style="font-size: 15px">主合同具体解决方案:</span></th>-->
|
|
|
|
|
|
<#-- <td class="table-title" colspan="5" >-->
|
|
|
|
|
|
<#-- <textarea rows="3" cols="20" id="mainContractResolvePlanBudget" name="mainContractResolvePlanBudget" maxlength="1000"-->
|
|
|
|
|
|
<#-- class="am-input" style="border-style:none;" data-validate-async data-validation-message="请输入具体解决方案"-->
|
|
|
|
|
|
<#-- placeholder="请输入具体解决方案"-->
|
|
|
|
|
|
<#-- >${projectBudget.mainContractResolvePlanBudget!}</textarea>-->
|
|
|
|
|
|
<#-- </td>-->
|
|
|
|
|
|
<#-- </tr>-->
|
|
|
|
|
|
<tr class="am-text-nowrap">
|
|
|
|
|
|
<th class="table-title" colspan="1"><span style="font-size: 15px">计收计划:</span></th>
|
|
|
|
|
|
<td class="table-title" colspan="5">
|
|
|
|
|
|
<textarea rows="3" cols="20" id="calculationCollectionBudget"
|
|
|
|
|
|
name="calculationCollectionBudget" maxlength="1000"
|
|
|
|
|
|
class="am-input" style="border-style:none;" data-validate-async
|
|
|
|
|
|
data-validation-message="按照开票金额及时间罗列计收计划"
|
2024-10-18 09:01:41 +00:00
|
|
|
|
placeholder="按照开票金额及时间罗列计收计划"
|
|
|
|
|
|
>${projectBudget.calculationCollectionBudget!}</textarea>
|
2024-10-30 03:11:27 +00:00
|
|
|
|
</td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
</table>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class="am-tab-panel am-fade am-in" id="tab3">
|
|
|
|
|
|
<div class="fixed-section">
|
|
|
|
|
|
<div class="am-modal-bd">
|
|
|
|
|
|
<div class="fixed-actions">
|
|
|
|
|
|
<div class="am-btn-toolbar">
|
|
|
|
|
|
<div class="am-btn-group am-btn-group-xs">
|
|
|
|
|
|
<div class="am-btn-group am-btn-group-xs am-form-file">
|
|
|
|
|
|
<button type="button" id="bt_import" class="am-btn am-btn-default">
|
|
|
|
|
|
<span class="am-icon-archive"></span>
|
|
|
|
|
|
批量导入
|
|
|
|
|
|
</button>
|
|
|
|
|
|
<input id="doc-form-file" type="file" name="file"
|
|
|
|
|
|
onChange="ajaxUploadFile('doc-form-file','${base}/project/batchIncomeImport?id=' + ${project.id})">
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<button type="button" class="am-btn am-btn-default"
|
|
|
|
|
|
onclick="location.href='${base}/project/incomeTemplate'">
|
|
|
|
|
|
<span class="am-icon-archive"></span> 导入模板下载
|
2024-10-18 09:01:41 +00:00
|
|
|
|
</button>
|
2024-10-30 08:31:46 +00:00
|
|
|
|
<span>销售合同配置清单</span>
|
|
|
|
|
|
<input id="file_upload_icon" type="file" name="files[]" accept=".xls,.xlsx">
|
|
|
|
|
|
<span id="collaboratorUrl"></span>
|
2024-10-18 09:01:41 +00:00
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
2024-10-30 03:11:27 +00:00
|
|
|
|
<div class="fixed-table has-actions">
|
|
|
|
|
|
<table class="am-table am-table-bordered am-table-radius table-main"
|
|
|
|
|
|
style="padding:0;" id="incomeTable">
|
|
|
|
|
|
<thead>
|
|
|
|
|
|
<tr>
|
|
|
|
|
|
<th>序号</th>
|
|
|
|
|
|
<th width="100px">类别</th>
|
|
|
|
|
|
<th>产品大类</th>
|
|
|
|
|
|
<#-- <th>规格类型</th>-->
|
|
|
|
|
|
<#-- <th>参数</th>-->
|
|
|
|
|
|
<#-- <th>单位</th>-->
|
|
|
|
|
|
<#-- <th>数量</th>-->
|
|
|
|
|
|
<#-- <th>单价</th>-->
|
|
|
|
|
|
<th>税率(%)</th>
|
|
|
|
|
|
<th>含税总金额(元)</th>
|
|
|
|
|
|
<th>不含税金额(元)</th>
|
|
|
|
|
|
<th>税金(元)</th>
|
|
|
|
|
|
<th>操作</th>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
</thead>
|
|
|
|
|
|
<tbody>
|
|
|
|
|
|
<#if incomeDetails??>
|
|
|
|
|
|
<#list incomeDetails as incomeDetail>
|
|
|
|
|
|
<tr>
|
|
|
|
|
|
<td><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input am-modal-prompt-input-income input-budget-num"
|
|
|
|
|
|
value="${(incomeDetail_index+1)!}" readonly></td>
|
|
|
|
|
|
<td width="100px">
|
|
|
|
|
|
<select
|
|
|
|
|
|
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>
|
2024-10-30 03:30:38 +00:00
|
|
|
|
<select <#if incomeDetail.name!='华智产品'&&incomeDetail.name!='华三产品'&&incomeDetail.name!='汇智产品'>style="display:none"</#if>
|
|
|
|
|
|
class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-tax-rate-income-select">
|
|
|
|
|
|
<option value="华智产品"
|
|
|
|
|
|
<#if incomeDetail.name ="华智产品" >selected</#if>>
|
|
|
|
|
|
华智产品
|
|
|
|
|
|
</option>
|
|
|
|
|
|
<option value="华三产品"
|
|
|
|
|
|
<#if incomeDetail.name ="华三产品">selected</#if>>
|
|
|
|
|
|
华三产品
|
|
|
|
|
|
</option>
|
|
|
|
|
|
<option value="汇智产品"
|
|
|
|
|
|
<#if incomeDetail.name ="汇智产品">selected</#if>>
|
|
|
|
|
|
汇智产品
|
|
|
|
|
|
</option>
|
2024-10-30 03:11:27 +00:00
|
|
|
|
<option value="自定义">自定义</option>
|
|
|
|
|
|
</select>
|
|
|
|
|
|
<input <#if incomeDetail.name!='华智产品'&&incomeDetail.name!='华三产品'&&incomeDetail.name!='汇智产品'>type="text"
|
|
|
|
|
|
<#else>type="hidden"</#if>
|
|
|
|
|
|
class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-tax-rate-income-name"
|
|
|
|
|
|
value="${incomeDetail.name!}">
|
2024-10-30 03:30:38 +00:00
|
|
|
|
</td>
|
2024-10-30 03:11:27 +00:00
|
|
|
|
<td><input type="text" maxlength="5"
|
|
|
|
|
|
class="number am-modal-prompt-input am-modal-prompt-input-income input-changeable-tax-rate input-changeable-tax-rate-income"
|
|
|
|
|
|
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 input-changeable-total-tax-include-income"
|
|
|
|
|
|
value="${Utils.format(incomeDetail.totalTaxInclude,'0')}">
|
|
|
|
|
|
</td>
|
|
|
|
|
|
<td><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-total-tax-exclude input-changeable-total-tax-exclude-income"
|
|
|
|
|
|
value="${Utils.format(incomeDetail.totalTaxExclude,'0')}"
|
|
|
|
|
|
readonly></td>
|
|
|
|
|
|
<td><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-total-tax input-changeable-total-tax-income"
|
|
|
|
|
|
value="${Utils.format(incomeDetail.totalTax,'0')}"
|
|
|
|
|
|
readonly></td>
|
|
|
|
|
|
<td>
|
|
|
|
|
|
<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>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
</#list>
|
|
|
|
|
|
</#if>
|
|
|
|
|
|
<tr class="total-new" id="incomeTotal">
|
|
|
|
|
|
<td><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input am-modal-prompt-input-income"
|
|
|
|
|
|
value="总计" readonly></td>
|
|
|
|
|
|
<td width="100px"></td>
|
|
|
|
|
|
<td></td>
|
|
|
|
|
|
<#-- <td></td>-->
|
|
|
|
|
|
<#-- <td></td>-->
|
|
|
|
|
|
<#-- <td></td>-->
|
|
|
|
|
|
<#-- <td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-total-amount-income" value="${Utils.format(incomeTotalAmount,'0')}" readonly <#–onkeyup="integerNumber(this)"–>></td>-->
|
|
|
|
|
|
<#-- <td></td>-->
|
|
|
|
|
|
<td></td>
|
|
|
|
|
|
<td><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-total-total-tax-include-income"
|
|
|
|
|
|
value="${Utils.format(budgetBean.incomeTotalTaxInclude,'0')}"
|
|
|
|
|
|
readonly></td>
|
|
|
|
|
|
<td><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-total-total-tax-exclude-income"
|
|
|
|
|
|
value="${Utils.format(budgetBean.incomeTotalTaxExclude,'0')}"
|
|
|
|
|
|
readonly></td>
|
|
|
|
|
|
<td><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-total-total-tax-income"
|
|
|
|
|
|
value="${Utils.format(budgetBean.incomeTotalTax,'0')}" readonly>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
<td></td>
|
|
|
|
|
|
</tr>
|
2024-10-18 09:01:41 +00:00
|
|
|
|
|
2024-10-30 03:11:27 +00:00
|
|
|
|
</tbody>
|
|
|
|
|
|
</table>
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<button type="button" id="incomeAddBtn"
|
|
|
|
|
|
class="am-btn am-btn-primary am-btn-xs am-round fixed-btns-row"><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>
|
2024-10-18 09:01:41 +00:00
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
2024-10-30 03:11:27 +00:00
|
|
|
|
<div class="am-tab-panel am-fade am-in" id="tab8">
|
|
|
|
|
|
<div class="fixed-section">
|
|
|
|
|
|
<div class="am-modal-bd">
|
|
|
|
|
|
<div class="fixed-table">
|
|
|
|
|
|
<table class="am-table am-table-bordered am-table-radius table-main"
|
|
|
|
|
|
style="padding:0;" id="payTable">
|
|
|
|
|
|
<thead>
|
|
|
|
|
|
<tr>
|
|
|
|
|
|
<th>序号</th>
|
|
|
|
|
|
<th>收款节点</th>
|
|
|
|
|
|
<th>收款时间</th>
|
|
|
|
|
|
<th>收款金额(元)</th>
|
|
|
|
|
|
<th>操作</th>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
</thead>
|
|
|
|
|
|
<tbody>
|
|
|
|
|
|
<#if incomePlanDetails??>
|
|
|
|
|
|
<#list incomePlanDetails as incomePlanDetail>
|
|
|
|
|
|
<tr>
|
|
|
|
|
|
<td><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input am-modal-prompt-input-income-plan input-budget-num"
|
|
|
|
|
|
value="${(incomePlanDetail_index+1)!}" readonly></td>
|
|
|
|
|
|
<td><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input am-modal-prompt-input-income-plan"
|
|
|
|
|
|
value="${incomePlanDetail.receivePoint!}"></td>
|
|
|
|
|
|
<td><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input am-modal-prompt-input-income-plan incomePlanTime"
|
|
|
|
|
|
value="${(incomePlanDetail.receiveTime?string("yyyy-MM-dd"))!}"
|
|
|
|
|
|
autocomplete="off" data-am-datepicker></td>
|
|
|
|
|
|
<td><input type="text"
|
|
|
|
|
|
class="number am-modal-prompt-input am-modal-prompt-input-income-plan input-changeable-receive input-changeable-receive-income-plan"
|
|
|
|
|
|
value="${Utils.format(incomePlanDetail.receiveAmount,'0')}">
|
|
|
|
|
|
</td>
|
|
|
|
|
|
<td>
|
|
|
|
|
|
<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>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
</#list>
|
|
|
|
|
|
</#if>
|
|
|
|
|
|
<tr class="total-new" id="incomePlanTotal">
|
|
|
|
|
|
<td><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input am-modal-prompt-input-income-plan"
|
|
|
|
|
|
value="总计" readonly></td>
|
|
|
|
|
|
<td></td>
|
|
|
|
|
|
<td></td>
|
|
|
|
|
|
<td><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input am-modal-prompt-input-income-plan input-changeable-total-receive-income-plan"
|
|
|
|
|
|
value="${Utils.format(incomePlanTotal,'0.00')}" readonly></td>
|
|
|
|
|
|
<td></td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
</tbody>
|
|
|
|
|
|
</table>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<button type="button" id="incomePlanAddBtn"
|
|
|
|
|
|
class="am-btn am-btn-primary am-btn-xs am-round fixed-btns-row"><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="incomePlanTableSave">保存</span>
|
2024-10-18 09:01:41 +00:00
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
2024-10-30 03:11:27 +00:00
|
|
|
|
<div class="am-tab-panel am-fade am-in" id="tab4">
|
|
|
|
|
|
<div class="fixed-section">
|
|
|
|
|
|
<div class="am-modal-bd">
|
|
|
|
|
|
<div class="fixed-actions">
|
|
|
|
|
|
<div class="am-btn-toolbar">
|
|
|
|
|
|
<div class="am-btn-group am-btn-group-xs">
|
|
|
|
|
|
<div class="am-btn-group am-btn-group-xs am-form-file">
|
|
|
|
|
|
<button type="button" id="bt_import" class="am-btn am-btn-default">
|
|
|
|
|
|
<span class="am-icon-archive"></span>
|
|
|
|
|
|
批量导入
|
|
|
|
|
|
</button>
|
|
|
|
|
|
<input id="doc-form-file2" type="file" name="file"
|
|
|
|
|
|
onChange="ajaxUploadFile2('doc-form-file2','${base}/project/batchCostImport?id=' + ${project.id})">
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<button type="button" class="am-btn am-btn-default"
|
|
|
|
|
|
onclick="location.href='${base}/project/costTemplate'">
|
|
|
|
|
|
<span class="am-icon-archive"></span> 导入模板下载
|
2024-10-18 09:01:41 +00:00
|
|
|
|
</button>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
2024-10-30 03:11:27 +00:00
|
|
|
|
<div class="fixed-table has-actions is-vertical-scroll">
|
|
|
|
|
|
<table class="am-table am-table-bordered am-table-radius table-main"
|
|
|
|
|
|
style="padding:0;" id="costTable">
|
|
|
|
|
|
<thead style="display:block;width: 1810px;">
|
2024-10-18 09:01:41 +00:00
|
|
|
|
<tr>
|
|
|
|
|
|
<th width="60px">序号</th>
|
2024-10-28 09:05:31 +00:00
|
|
|
|
<th width="70px">采购成本项目</th>
|
|
|
|
|
|
<th width="150px">产品大类</th>
|
2024-10-18 09:01:41 +00:00
|
|
|
|
<th width="100px">税率(%)</th>
|
|
|
|
|
|
<th width="100px">含税总金额(元)</th>
|
|
|
|
|
|
<th width="100px">不含税金额(元)</th>
|
|
|
|
|
|
<th width="100px">税金(元)</th>
|
2024-10-28 09:05:31 +00:00
|
|
|
|
<th width="100px">供应商</th>
|
2024-10-18 09:01:41 +00:00
|
|
|
|
<th width="100px">备注</th>
|
|
|
|
|
|
<th width="60px">操作</th>
|
|
|
|
|
|
</tr>
|
2024-10-30 03:11:27 +00:00
|
|
|
|
</thead>
|
|
|
|
|
|
<tbody style="width: 1810px;">
|
2024-10-18 09:01:41 +00:00
|
|
|
|
<#if costDetails??>
|
|
|
|
|
|
<#list costDetails as costDetail>
|
|
|
|
|
|
<tr>
|
2024-10-30 03:11:27 +00:00
|
|
|
|
<td width="60px"><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input am-modal-prompt-input-cost input-budget-num"
|
|
|
|
|
|
value="${(costDetail_index+1)!}" readonly>
|
|
|
|
|
|
</td>
|
2024-10-18 09:01:41 +00:00
|
|
|
|
<td width="70px">
|
2024-10-30 03:11:27 +00:00
|
|
|
|
<select style="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>
|
2024-10-18 09:01:41 +00:00
|
|
|
|
</select>
|
|
|
|
|
|
</td>
|
2024-10-30 06:10:11 +00:00
|
|
|
|
<td width="150px">
|
|
|
|
|
|
<select <#if costDetail.category!='华智产品'&&costDetail.category!='华三产品'&&costDetail.category!='汇智产品'>style="display:none"</#if>
|
2024-10-30 03:30:38 +00:00
|
|
|
|
class="am-modal-prompt-input am-modal-prompt-input am-modal-prompt-input-cost am-modal-prompt-input-cost-category input-changeable-tax-rate-cost-select">
|
|
|
|
|
|
<option value="华智产品"
|
2024-10-30 06:10:11 +00:00
|
|
|
|
<#if costDetail.category ="华智产品" >selected</#if>>
|
2024-10-30 03:30:38 +00:00
|
|
|
|
华智产品
|
|
|
|
|
|
</option>
|
|
|
|
|
|
<option value="华三产品"
|
2024-10-30 06:10:11 +00:00
|
|
|
|
<#if costDetail.category ="华三产品">selected</#if>>
|
2024-10-30 03:30:38 +00:00
|
|
|
|
华三产品
|
|
|
|
|
|
</option>
|
|
|
|
|
|
<option value="汇智产品"
|
2024-10-30 06:10:11 +00:00
|
|
|
|
<#if costDetail.category ="汇智产品">selected</#if>>
|
2024-10-30 03:30:38 +00:00
|
|
|
|
汇智产品
|
|
|
|
|
|
</option>
|
|
|
|
|
|
<option value="自定义">自定义</option>
|
|
|
|
|
|
</select>
|
2024-10-30 06:10:11 +00:00
|
|
|
|
<input <#if costDetail.category!='华智产品'&&costDetail.category!='华三产品'&&costDetail.category!='汇智产品'>type="text"
|
2024-10-30 03:30:38 +00:00
|
|
|
|
<#else>type="hidden"</#if>
|
|
|
|
|
|
class="am-modal-prompt-input am-modal-prompt-input-cost input-changeable-tax-rate-cost-name"
|
2024-10-30 06:10:11 +00:00
|
|
|
|
value="${costDetail.category!}">
|
2024-10-18 09:01:41 +00:00
|
|
|
|
</td>
|
2024-10-30 03:11:27 +00:00
|
|
|
|
<td width="100px"><input type="text" maxlength="5"
|
|
|
|
|
|
class="number am-modal-prompt-input am-modal-prompt-input-cost input-changeable-tax-rate input-changeable-tax-rate-cost"
|
|
|
|
|
|
value="${Utils.format(costDetail.taxRate,'0')}"
|
|
|
|
|
|
oninput="if(value.length>5)value=value.slice(0,5)">
|
|
|
|
|
|
</td>
|
|
|
|
|
|
<td width="100px"><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input am-modal-prompt-input-cost input-changeable-total-tax-include input-changeable-total-tax-include-cost"
|
|
|
|
|
|
value="${Utils.format(costDetail.totalTaxInclude,'0')}">
|
|
|
|
|
|
</td>
|
|
|
|
|
|
<td width="100px"><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input am-modal-prompt-input-cost input-changeable-total-tax-exclude input-changeable-total-tax-exclude-cost"
|
|
|
|
|
|
value="${Utils.format(costDetail.totalTaxExclude,'0')}"
|
|
|
|
|
|
readonly></td>
|
|
|
|
|
|
<td width="100px"><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input am-modal-prompt-input-cost input-changeable-total-tax input-changeable-total-tax-cost"
|
|
|
|
|
|
value="${Utils.format(costDetail.totalTax,'0')}"
|
|
|
|
|
|
readonly></td>
|
|
|
|
|
|
<td width="100px"><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input am-modal-prompt-input-cost"
|
|
|
|
|
|
value="${costDetail.contractParty!}"></td>
|
|
|
|
|
|
<td width="100px"><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input am-modal-prompt-input-cost"
|
|
|
|
|
|
value="${costDetail.remark!}"></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>
|
2024-10-18 09:01:41 +00:00
|
|
|
|
</tr>
|
|
|
|
|
|
</#list>
|
|
|
|
|
|
</#if>
|
|
|
|
|
|
<tr class="total-new" id="costTotal">
|
2024-10-30 03:11:27 +00:00
|
|
|
|
<td width="60px"><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input am-modal-prompt-input-cost"
|
|
|
|
|
|
value="总计" readonly></td>
|
2024-10-18 09:01:41 +00:00
|
|
|
|
<td width="70px"></td>
|
|
|
|
|
|
<td width="150px"></td>
|
2024-10-30 03:11:27 +00:00
|
|
|
|
<#-- <td width="100px"></td>-->
|
|
|
|
|
|
<#-- <td width="80px"></td>-->
|
|
|
|
|
|
<#-- <td width="100px"><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost input-changeable-total-amount-cost" value="${Utils.format(costTotalAmount,'0')}" readonly <#–onkeyup="integerNumber(this)"–>></td>-->
|
|
|
|
|
|
<#-- <td width="100px"></td>-->
|
2024-10-18 09:01:41 +00:00
|
|
|
|
<td width="100px"></td>
|
2024-10-30 03:11:27 +00:00
|
|
|
|
<td width="100px"><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input am-modal-prompt-input-cost input-changeable-total-total-tax-include-cost"
|
|
|
|
|
|
value="${Utils.format(budgetBean.costPurchaseTotalTaxInclude,'0')}"
|
|
|
|
|
|
readonly></td>
|
|
|
|
|
|
<td width="100px"><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input am-modal-prompt-input-cost input-changeable-total-total-tax-exclude-cost"
|
|
|
|
|
|
value="${Utils.format(budgetBean.costPurchaseTotalTaxExclude,'0')}"
|
|
|
|
|
|
readonly></td>
|
|
|
|
|
|
<td width="100px"><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input am-modal-prompt-input-cost input-changeable-total-total-tax-cost"
|
|
|
|
|
|
value="${Utils.format(budgetBean.costPurchaseTotalTax,'0')}"
|
|
|
|
|
|
readonly></td>
|
2024-10-18 09:01:41 +00:00
|
|
|
|
<td width="100px"></td>
|
2024-10-30 03:11:27 +00:00
|
|
|
|
<#-- <td width="60px"></td>-->
|
|
|
|
|
|
<#-- <td width="100px"><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost input-changeable-total-total-underwritten-amount-cost" value="${Utils.format(costUnderwrittenAmountTotal,'0.00')}" readonly></td>-->
|
|
|
|
|
|
<#-- <td width="130px"></td>-->
|
|
|
|
|
|
<#-- <td width="100px"><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost input-changeable-total-total-pay-amount-cost" value="${Utils.format(costPayAmountTotal,'0.00')}" readonly></td>-->
|
|
|
|
|
|
<#-- <td width="100px"></td>-->
|
2024-10-18 09:01:41 +00:00
|
|
|
|
<td width="100px"></td>
|
|
|
|
|
|
<td width="60px"></td>
|
|
|
|
|
|
</tr>
|
2024-10-30 03:11:27 +00:00
|
|
|
|
</tbody>
|
|
|
|
|
|
</table>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<button type="button" style="margin-top: 10px" id="costAddBtn"
|
|
|
|
|
|
class="am-btn am-btn-primary am-btn-xs am-round fixed-btns-row"><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>
|
2024-10-18 09:01:41 +00:00
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
2024-10-30 03:11:27 +00:00
|
|
|
|
</div>
|
|
|
|
|
|
<div class="am-tab-panel am-fade am-in" id="tab5">
|
|
|
|
|
|
<div class="fixed-section">
|
|
|
|
|
|
<div class="am-modal-bd">
|
|
|
|
|
|
<div class="fixed-table">
|
|
|
|
|
|
<table class="am-table am-table-bordered am-table-radius table-main"
|
|
|
|
|
|
style="padding:0;" id="costProjectManageTable">
|
|
|
|
|
|
<thead>
|
2024-10-18 09:01:41 +00:00
|
|
|
|
<tr>
|
|
|
|
|
|
<th>序号</th>
|
2024-10-28 09:05:31 +00:00
|
|
|
|
<th>费用类别</th>
|
2024-10-18 09:01:41 +00:00
|
|
|
|
<th>业务项目</th>
|
|
|
|
|
|
<th>项目明细</th>
|
|
|
|
|
|
<th>总金额(元)</th>
|
|
|
|
|
|
<th>支出时间</th>
|
|
|
|
|
|
<th>支出金额(元)</th>
|
|
|
|
|
|
<th>预估计算方法</th>
|
|
|
|
|
|
<th>预估依据</th>
|
|
|
|
|
|
<th>备注</th>
|
|
|
|
|
|
<th>操作</th>
|
|
|
|
|
|
</tr>
|
2024-10-30 03:11:27 +00:00
|
|
|
|
</thead>
|
|
|
|
|
|
<tbody>
|
2024-10-18 09:01:41 +00:00
|
|
|
|
|
2024-10-30 03:11:27 +00:00
|
|
|
|
<#if costProjectManageDetails??>
|
|
|
|
|
|
<#list costProjectManageDetails as costProjectManageDetail>
|
|
|
|
|
|
<tr>
|
|
|
|
|
|
<td><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage input-budget-num"
|
|
|
|
|
|
value="${(costProjectManageDetail_index+1)!}" readonly>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
<td>
|
|
|
|
|
|
<select style="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>
|
|
|
|
|
|
<option value="4"
|
|
|
|
|
|
<#if costProjectManageDetail.type == 4>selected</#if>>
|
|
|
|
|
|
保证金
|
|
|
|
|
|
</option>
|
|
|
|
|
|
</select>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
<td>
|
|
|
|
|
|
<select <#if costProjectManageDetail.isDiy == 1>style="display:none"
|
|
|
|
|
|
<#else>style="float: left;"</#if>
|
|
|
|
|
|
class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage am-modal-prompt-input-cost-project-manage-category">
|
|
|
|
|
|
<#if costProjectManageDetail.type == 1>
|
|
|
|
|
|
<option value="1"
|
|
|
|
|
|
<#if costProjectManageDetail.name! == "人工费">selected</#if>>
|
|
|
|
|
|
人工费
|
|
|
|
|
|
</option>
|
|
|
|
|
|
<option value="2"
|
|
|
|
|
|
<#if costProjectManageDetail.name! == "总部支撑人力费用">selected</#if>>
|
|
|
|
|
|
总部支撑人力费用
|
|
|
|
|
|
</option>
|
|
|
|
|
|
<option value="3"
|
|
|
|
|
|
<#if costProjectManageDetail.name! == "自定义">selected</#if>>
|
|
|
|
|
|
自定义
|
|
|
|
|
|
</option>
|
|
|
|
|
|
</#if>
|
|
|
|
|
|
<#if costProjectManageDetail.type == 2>
|
|
|
|
|
|
<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>
|
|
|
|
|
|
<option value="8"
|
|
|
|
|
|
<#if costProjectManageDetail.name! == "自定义">selected</#if>>
|
|
|
|
|
|
自定义
|
|
|
|
|
|
</option>
|
|
|
|
|
|
</#if>
|
|
|
|
|
|
<#if costProjectManageDetail.type == 4>
|
|
|
|
|
|
<option value="9"
|
|
|
|
|
|
<#if costProjectManageDetail.name! == "保证金">selected</#if>>
|
|
|
|
|
|
保证金
|
|
|
|
|
|
</option>
|
|
|
|
|
|
</#if>
|
|
|
|
|
|
</select>
|
|
|
|
|
|
<input <#if costProjectManageDetail.isDiy == 1>type="text"
|
|
|
|
|
|
<#else>type="hidden"</#if>
|
|
|
|
|
|
class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage am-modal-prompt-input-cost-project-manage-category2"
|
|
|
|
|
|
value="${costProjectManageDetail.name!}">
|
|
|
|
|
|
</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 input-changeable-total-project-manage"
|
|
|
|
|
|
value="${Utils.format(costProjectManageDetail.total,'0')}">
|
|
|
|
|
|
</td>
|
|
|
|
|
|
<td><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage"
|
|
|
|
|
|
value="${(costProjectManageDetail.payTime?string("yyyy-MM-dd"))!}"
|
|
|
|
|
|
data-am-datepicker></td>
|
|
|
|
|
|
<td><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage input-changeable-pay-amount-project-manage"
|
|
|
|
|
|
value="${Utils.format(costProjectManageDetail.payAmount,'0.00')}">
|
|
|
|
|
|
</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" 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>
|
|
|
|
|
|
<input type="hidden"
|
|
|
|
|
|
class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage"
|
|
|
|
|
|
value="${costProjectManageDetail.deletable!}">
|
|
|
|
|
|
</td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
</#list>
|
|
|
|
|
|
</#if>
|
|
|
|
|
|
<tr class="total-new" id="manageTotal">
|
|
|
|
|
|
<td><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage"
|
|
|
|
|
|
value="总计" readonly></td>
|
|
|
|
|
|
<td></td>
|
|
|
|
|
|
<td></td>
|
|
|
|
|
|
<td></td>
|
|
|
|
|
|
<td><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage input-changeable-total-total-project-manage"
|
|
|
|
|
|
value="${Utils.format(budgetBean.costProjectManageTaxInclude,'0')}"
|
|
|
|
|
|
readonly></td>
|
|
|
|
|
|
<td></td>
|
|
|
|
|
|
<td><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage input-changeable-total-pay-amount-project-manage"
|
|
|
|
|
|
value="${Utils.format(managePayAmountTotal,'0.00')}" readonly>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
<td></td>
|
|
|
|
|
|
<td></td>
|
|
|
|
|
|
<td></td>
|
|
|
|
|
|
<td></td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
</tbody>
|
|
|
|
|
|
</table>
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<button type="button" id="costProjectManageAddBtn"
|
|
|
|
|
|
class="am-btn am-btn-primary am-btn-xs am-round fixed-btns-row"><span
|
|
|
|
|
|
class="am-icon-plus"></span></button>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div>
|
|
|
|
|
|
备注:本表展示不含税金额
|
|
|
|
|
|
</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>
|
2024-10-18 09:01:41 +00:00
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
2024-10-30 03:11:27 +00:00
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class="am-tab-panel am-fade am-in" id="tab6">
|
|
|
|
|
|
<div class="am-modal-bd">
|
|
|
|
|
|
<input type="hidden" id="planStartDate" name="planStartDate" value='${planStartDate!""}'/>
|
|
|
|
|
|
<input type="hidden" id="planEndDate" name="planEndDate" value='${planEndDate!""}'/>
|
|
|
|
|
|
<td width="700px">
|
|
|
|
|
|
<div class="am-u-sm-10">
|
|
|
|
|
|
<div class="am-form am-form-inline">
|
|
|
|
|
|
<div class="am-form-group am-form-icon">
|
|
|
|
|
|
<input type="text" id="planStartStr" name="planStartStr"
|
|
|
|
|
|
placeholder="项目开始月份(请选择)" autocomplete="off" readonly
|
|
|
|
|
|
value="${planStartStr!}">
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class="am-form-group">至</div>
|
|
|
|
|
|
<div class="am-form-group am-form-icon">
|
|
|
|
|
|
<input type="text" id="planEndStr" name="planEndStr"
|
|
|
|
|
|
placeholder="项目结束月份(请选择)" autocomplete="off" readonly
|
|
|
|
|
|
value="${planEndStr!}">
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class="am-form-group">必填</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
<table class="am-table table-main"
|
|
|
|
|
|
style="display: block;border-collapse: collapse;width: 1700px;overflow-x: scroll;padding:0;"
|
|
|
|
|
|
id="budgetPlanDetailTable">
|
|
|
|
|
|
<thead style="display: inline-block;overflow-x: scroll;width: 200px;">
|
|
|
|
|
|
<tr style="display: inline-block;">
|
|
|
|
|
|
<td style="display: block;border-top: 1px solid #ddd;"><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input"
|
|
|
|
|
|
value="月份" readonly>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
<td style="display: block;border-top: 1px solid #ddd;"><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input"
|
|
|
|
|
|
value="设备付款"
|
|
|
|
|
|
readonly></td>
|
|
|
|
|
|
<#-- <td style="display: block;border-top: 1px solid #ddd;"><input type="text" class="am-modal-prompt-input" value="工程支出(含服务+施工+其他)" readonly></td>-->
|
|
|
|
|
|
|
|
|
|
|
|
<td style="display: block;border-top: 1px solid #ddd;"><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input"
|
|
|
|
|
|
value="工程付款"
|
|
|
|
|
|
readonly></td>
|
|
|
|
|
|
<td style="display: block;border-top: 1px solid #ddd;"><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input"
|
|
|
|
|
|
value="服务付款"
|
|
|
|
|
|
readonly></td>
|
|
|
|
|
|
<td style="display: block;border-top: 1px solid #ddd;"><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input"
|
|
|
|
|
|
value="其他付款"
|
|
|
|
|
|
readonly></td>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<td style="display: block;border-top: 1px solid #ddd;"><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input"
|
|
|
|
|
|
value="项目管理费用付款"
|
|
|
|
|
|
readonly></td>
|
|
|
|
|
|
<td style="display: block;border-top: 1px solid #ddd;"><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input"
|
|
|
|
|
|
value="保证金付款"
|
|
|
|
|
|
readonly></td>
|
|
|
|
|
|
<td style="display: block;border-top: 1px solid #ddd;"><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input"
|
|
|
|
|
|
value="付款合计"
|
|
|
|
|
|
readonly></td>
|
|
|
|
|
|
<td style="display: block;border-top: 1px solid #ddd;"><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input"
|
|
|
|
|
|
value="销售收款"
|
|
|
|
|
|
readonly></td>
|
|
|
|
|
|
<td style="display: block;border-top: 1px solid #ddd;"><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input"
|
|
|
|
|
|
value="保证金收款"
|
|
|
|
|
|
readonly></td>
|
|
|
|
|
|
<td style="display: block;border-top: 1px solid #ddd;"><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input"
|
|
|
|
|
|
value="收款合计"
|
|
|
|
|
|
readonly></td>
|
|
|
|
|
|
<td style="display: block;border-top: 1px solid #ddd;"><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input"
|
|
|
|
|
|
value="资金余额"
|
|
|
|
|
|
readonly></td>
|
|
|
|
|
|
<td style="display: block;border-top: 1px solid #ddd;"><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input"
|
|
|
|
|
|
value="资金利息"
|
|
|
|
|
|
readonly></td>
|
|
|
|
|
|
<td style="display: block;border-top: 1px solid #ddd;"><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input"
|
|
|
|
|
|
value="垫资计划"
|
|
|
|
|
|
readonly></td>
|
|
|
|
|
|
<td style="display: block;border-top: 1px solid #ddd;"><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input"
|
|
|
|
|
|
value="还款计划"
|
|
|
|
|
|
readonly></td>
|
|
|
|
|
|
<td style="display: block;border-top: 1px solid #ddd;">
|
|
|
|
|
|
<button type="button"
|
|
|
|
|
|
class="am-btn am-btn-xs am-round am-modal-line-delete-budget-plan"
|
|
|
|
|
|
disabled="disabled"><span class="am-icon-minus"></span></button>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
</thead>
|
|
|
|
|
|
<tbody style="display: inline-block;overflow-x: scroll;width: calc(100% - 210px);white-space: nowrap;">
|
|
|
|
|
|
<tr style="display: inline-block;">
|
|
|
|
|
|
<td style="display: block;"><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input input-total-title-month-budget-plan"
|
|
|
|
|
|
value="${projectBudgetPlanDetailTotalTitle.month}"
|
|
|
|
|
|
readonly/></td>
|
|
|
|
|
|
<td style="display: block;"><input type="text"
|
|
|
|
|
|
class="number am-modal-prompt-input input-total-title-device-cost-budget-plan"
|
2024-10-30 08:31:46 +00:00
|
|
|
|
value="${Utils.format(projectBudgetPlanDetailTotalTitle.deviceCost)}" readonly/>
|
2024-10-30 03:11:27 +00:00
|
|
|
|
</td>
|
|
|
|
|
|
|
|
|
|
|
|
<td style="display: block;"><input type="text"
|
|
|
|
|
|
class="number am-modal-prompt-input input-total-title-projectCost-cost-budget-plan"
|
|
|
|
|
|
value="${Utils.format(projectBudgetPlanDetailTotalTitle.projectCost)}"
|
|
|
|
|
|
readonly/></td>
|
|
|
|
|
|
<td style="display: block;"><input type="text"
|
|
|
|
|
|
class="number am-modal-prompt-input input-total-title-serviceCost-cost-budget-plan"
|
|
|
|
|
|
value="${Utils.format(projectBudgetPlanDetailTotalTitle.serviceCost)}"
|
|
|
|
|
|
readonly/></td>
|
|
|
|
|
|
<td style="display: block;"><input type="text"
|
|
|
|
|
|
class="number am-modal-prompt-input input-total-title-otherCost-cost-budget-plan"
|
|
|
|
|
|
value="${Utils.format(projectBudgetPlanDetailTotalTitle.otherCost)}"
|
|
|
|
|
|
readonly/></td>
|
|
|
|
|
|
|
|
|
|
|
|
<td style="display: block;"><input type="text"
|
|
|
|
|
|
class="number am-modal-prompt-input input-total-title-project-manage-cost-budget-plan"
|
|
|
|
|
|
value="${Utils.format(projectBudgetPlanDetailTotalTitle.projectManageCost)}"
|
|
|
|
|
|
readonly/></td>
|
|
|
|
|
|
<td style="display: block;"><input type="text"
|
|
|
|
|
|
class="number am-modal-prompt-input input-total-title-earnest-money-cost-budget-plan"
|
|
|
|
|
|
value="${Utils.format(projectBudgetPlanDetailTotalTitle.earnestMoneyCost)}"
|
|
|
|
|
|
readonly/></td>
|
|
|
|
|
|
<td style="display: block;"><input type="text"
|
|
|
|
|
|
class="number am-modal-prompt-input input-total-title-total-cost-budget-plan"
|
|
|
|
|
|
value="${Utils.format(projectBudgetPlanDetailTotalTitle.totalCost)}"
|
|
|
|
|
|
readonly/></td>
|
|
|
|
|
|
<td style="display: block;"><input type="text"
|
|
|
|
|
|
class="number am-modal-prompt-input input-total-title-sale-income-budget-plan"
|
|
|
|
|
|
value="${Utils.format(projectBudgetPlanDetailTotalTitle.saleIncome)}"
|
|
|
|
|
|
readonly/></td>
|
|
|
|
|
|
<td style="display: block;"><input type="text"
|
|
|
|
|
|
class="number am-modal-prompt-input input-total-title-earnest-money-income-budget-plan"
|
|
|
|
|
|
value="${Utils.format(projectBudgetPlanDetailTotalTitle.earnestMoneyIncome)}"
|
|
|
|
|
|
readonly/></td>
|
|
|
|
|
|
<td style="display: block;"><input type="text"
|
|
|
|
|
|
class="number am-modal-prompt-input input-total-title-total-income-budget-plan"
|
|
|
|
|
|
value="${Utils.format(projectBudgetPlanDetailTotalTitle.totalIncome)}"
|
|
|
|
|
|
readonly/></td>
|
|
|
|
|
|
<td style="display: block;"><input type="text"
|
|
|
|
|
|
class="number am-modal-prompt-input input-total-title-fund-balance-budget-plan"
|
|
|
|
|
|
value="${Utils.format(projectBudgetPlanDetailTotalTitle.fundBalance)}"
|
|
|
|
|
|
readonly/></td>
|
|
|
|
|
|
<td style="display: block;"><input type="text"
|
|
|
|
|
|
class="number am-modal-prompt-input input-total-title-capital-interest-budget-plan"
|
|
|
|
|
|
value="${Utils.format(projectBudgetPlanDetailTotalTitle.capitalInterest)}"
|
|
|
|
|
|
readonly/></td>
|
|
|
|
|
|
<td style="display: block;"><input type="text"
|
|
|
|
|
|
class="number am-modal-prompt-input input-total-title-underwritten-plan-budget-plan"
|
|
|
|
|
|
value="${Utils.format(projectBudgetPlanDetailTotalTitle.underwrittenPlan)}"
|
|
|
|
|
|
readonly/></td>
|
|
|
|
|
|
<td style="display: block;"><input type="text"
|
|
|
|
|
|
class="number am-modal-prompt-input input-total-title-repayment-plan-budget-plan"
|
|
|
|
|
|
value="${Utils.format(projectBudgetPlanDetailTotalTitle.repaymentPlan)}"
|
|
|
|
|
|
readonly/></td>
|
|
|
|
|
|
<td style="display: block;border-top: 1px solid #ddd;">
|
|
|
|
|
|
<button type="button"
|
|
|
|
|
|
class="am-btn am-btn-xs am-round am-modal-line-delete-budget-plan"
|
|
|
|
|
|
disabled="disabled"><span class="am-icon-minus"></span></button>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
<tr id="firstBlock" class="am-hide" style="display: inline-block;">
|
|
|
|
|
|
<td style="display: block;"><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input input-total-month-budget-plan"
|
|
|
|
|
|
value="${projectBudgetPlanDetailTotal.month}"
|
|
|
|
|
|
readonly/></td>
|
|
|
|
|
|
<td style="display: block;"><input type="text"
|
|
|
|
|
|
class="number am-modal-prompt-input input-total-device-cost-budget-plan"
|
|
|
|
|
|
value="${Utils.format(projectBudgetPlanDetailTotal.deviceCost)}"
|
|
|
|
|
|
readonly/></td>
|
|
|
|
|
|
|
|
|
|
|
|
<td style="display: block;"><input type="text"
|
|
|
|
|
|
class="number am-modal-prompt-input input-total-engineer-cost-budget-plan"
|
|
|
|
|
|
value="${Utils.format(projectBudgetPlanDetailTotal.projectCost)}"
|
|
|
|
|
|
readonly/></td>
|
|
|
|
|
|
<td style="display: block;"><input type="text"
|
|
|
|
|
|
class="number am-modal-prompt-input input-total-engineer-cost-budget-plan"
|
|
|
|
|
|
value="${Utils.format(projectBudgetPlanDetailTotal.serviceCost)}"
|
|
|
|
|
|
readonly/></td>
|
|
|
|
|
|
<td style="display: block;"><input type="text"
|
|
|
|
|
|
class="number am-modal-prompt-input input-total-engineer-cost-budget-plan"
|
|
|
|
|
|
value="${Utils.format(projectBudgetPlanDetailTotal.otherCost)}"
|
|
|
|
|
|
readonly/></td>
|
|
|
|
|
|
|
|
|
|
|
|
<td style="display: block;"><input type="text"
|
|
|
|
|
|
class="number am-modal-prompt-input input-total-project-manage-cost-budget-plan"
|
|
|
|
|
|
value="${Utils.format(projectBudgetPlanDetailTotal.projectManageCost)}"
|
|
|
|
|
|
readonly/></td>
|
|
|
|
|
|
<td style="display: block;"><input type="text"
|
|
|
|
|
|
class="number am-modal-prompt-input input-total-earnest-money-cost-budget-plan"
|
|
|
|
|
|
value="${Utils.format(projectBudgetPlanDetailTotal.earnestMoneyCost)}"
|
|
|
|
|
|
readonly/></td>
|
|
|
|
|
|
<td style="display: block;"><input type="text"
|
|
|
|
|
|
class="number am-modal-prompt-input input-total-total-cost-budget-plan"
|
|
|
|
|
|
value="${Utils.format(projectBudgetPlanDetailTotal.totalCost)}"
|
|
|
|
|
|
readonly/></td>
|
|
|
|
|
|
<td style="display: block;"><input type="text"
|
|
|
|
|
|
class="number am-modal-prompt-input input-total-sale-income-budget-plan"
|
|
|
|
|
|
value="${Utils.format(projectBudgetPlanDetailTotal.saleIncome)}"
|
|
|
|
|
|
readonly/></td>
|
|
|
|
|
|
<td style="display: block;"><input type="text"
|
|
|
|
|
|
class="number am-modal-prompt-input input-total-earnest-money-income-budget-plan"
|
|
|
|
|
|
value="${Utils.format(projectBudgetPlanDetailTotal.earnestMoneyIncome)}"
|
|
|
|
|
|
readonly/></td>
|
|
|
|
|
|
<td style="display: block;"><input type="text"
|
|
|
|
|
|
class="number am-modal-prompt-input input-total-total-income-budget-plan"
|
|
|
|
|
|
value="${Utils.format(projectBudgetPlanDetailTotal.totalIncome)}"
|
|
|
|
|
|
readonly/></td>
|
|
|
|
|
|
<td style="display: block;"><input type="text"
|
|
|
|
|
|
class="number am-modal-prompt-input input-total-fund-balance-budget-plan"
|
|
|
|
|
|
value="${Utils.format(projectBudgetPlanDetailTotal.fundBalance)}"
|
|
|
|
|
|
readonly/></td>
|
|
|
|
|
|
<td style="display: block;"><input type="text"
|
|
|
|
|
|
class="number am-modal-prompt-input input-total-capital-interest-budget-plan"
|
|
|
|
|
|
value="${Utils.format(projectBudgetPlanDetailTotal.capitalInterest)}"
|
|
|
|
|
|
readonly/></td>
|
|
|
|
|
|
<td style="display: block;"><input type="text"
|
|
|
|
|
|
class="number am-modal-prompt-input input-total-underwritten-plan-budget-plan"
|
|
|
|
|
|
value="${Utils.format(projectBudgetPlanDetailTotal.underwrittenPlan)}"
|
|
|
|
|
|
readonly/></td>
|
|
|
|
|
|
<td style="display: block;"><input type="text"
|
|
|
|
|
|
class="number am-modal-prompt-input input-total-repayment-plan-budget-plan"
|
|
|
|
|
|
value="${Utils.format(projectBudgetPlanDetailTotal.repaymentPlan)}"
|
|
|
|
|
|
readonly/></td>
|
|
|
|
|
|
<td style="display: block;border-top: 1px solid #ddd;">
|
|
|
|
|
|
<button type="button"
|
|
|
|
|
|
class="am-btn am-btn-xs am-round am-modal-line-delete-budget-plan"
|
|
|
|
|
|
disabled="disabled"><span class="am-icon-minus"></span></button>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
<#if projectBudgetPlanDetails??>
|
|
|
|
|
|
<#list projectBudgetPlanDetails as projectBudgetPlanDetail>
|
|
|
|
|
|
<tr style="display: inline-block;">
|
|
|
|
|
|
<td style="display: block;"><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 style="display: block;"><input type="text"
|
|
|
|
|
|
oninput="if(value.length>16)value=value.slice(0,16)"
|
|
|
|
|
|
maxlength="16"
|
|
|
|
|
|
class="number am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-device-cost-budget-plan"
|
2024-10-30 08:31:46 +00:00
|
|
|
|
value="${Utils.format(projectBudgetPlanDetail.deviceCost)}" readonly>
|
2024-10-30 03:11:27 +00:00
|
|
|
|
</td>
|
|
|
|
|
|
<td style="display: block;"><input type="text"
|
|
|
|
|
|
oninput="if(value.length>16)value=value.slice(0,16)"
|
|
|
|
|
|
maxlength="16"
|
|
|
|
|
|
class="number am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-project-cost-budget-plan"
|
|
|
|
|
|
value="${Utils.format(projectBudgetPlanDetail.projectCost)}"
|
|
|
|
|
|
readonly></td>
|
|
|
|
|
|
<td style="display: block;"><input type="text"
|
|
|
|
|
|
oninput="if(value.length>16)value=value.slice(0,16)"
|
|
|
|
|
|
maxlength="16"
|
|
|
|
|
|
class="number am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-service-cost-budget-plan"
|
|
|
|
|
|
value="${Utils.format(projectBudgetPlanDetail.serviceCost )}"
|
|
|
|
|
|
readonly></td>
|
|
|
|
|
|
<td style="display: block;"><input type="text"
|
|
|
|
|
|
oninput="if(value.length>16)value=value.slice(0,16)"
|
|
|
|
|
|
maxlength="16"
|
|
|
|
|
|
class="number am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-other-cost-budget-plan"
|
|
|
|
|
|
value="${Utils.format(projectBudgetPlanDetail.otherCost)}"
|
|
|
|
|
|
readonly></td>
|
|
|
|
|
|
|
|
|
|
|
|
<td style="display: block;"><input type="text"
|
|
|
|
|
|
oninput="if(value.length>16)value=value.slice(0,16)"
|
|
|
|
|
|
maxlength="16"
|
|
|
|
|
|
class="number 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 style="display: block;"><input type="text"
|
|
|
|
|
|
oninput="if(value.length>16)value=value.slice(0,16)"
|
|
|
|
|
|
maxlength="16"
|
|
|
|
|
|
class="number 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 style="display: block;"><input type="text"
|
|
|
|
|
|
class="number 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 style="display: block;"><input type="text"
|
|
|
|
|
|
oninput="if(value.length>16)value=value.slice(0,16)"
|
|
|
|
|
|
maxlength="16"
|
|
|
|
|
|
class="number am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-sale-income-budget-plan"
|
|
|
|
|
|
value="${Utils.format(projectBudgetPlanDetail.saleIncome)}">
|
|
|
|
|
|
</td>
|
|
|
|
|
|
<td style="display: block;"><input type="text"
|
|
|
|
|
|
oninput="if(value.length>16)value=value.slice(0,16)"
|
|
|
|
|
|
maxlength="16"
|
|
|
|
|
|
class="number 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 style="display: block;"><input type="text"
|
|
|
|
|
|
class="number 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 style="display: block;"><input type="text"
|
|
|
|
|
|
class="number 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 style="display: block;"><input type="text"
|
|
|
|
|
|
class="number 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 style="display: block;"><input type="text"
|
|
|
|
|
|
class="number 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 style="display: block;"><input type="text"
|
|
|
|
|
|
class="number 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 style="display: block;">
|
|
|
|
|
|
<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>
|
|
|
|
|
|
|
2024-10-18 09:01:41 +00:00
|
|
|
|
</div>
|
|
|
|
|
|
<div class="am-modal-footer">
|
|
|
|
|
|
<#--<span class="am-modal-btn" data-am-modal-cancel>取消</span>-->
|
2024-10-30 03:11:27 +00:00
|
|
|
|
<span class="am-modal-btn" data-am-modal-confirm id="budgetPlanDetailTableSave">保存</span>
|
2024-10-18 09:01:41 +00:00
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
2024-10-30 03:11:27 +00:00
|
|
|
|
<div class="am-tab-panel am-fade am-in" id="tab7">
|
|
|
|
|
|
<span>收入</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>
|
|
|
|
|
|
<td>类别</td>
|
|
|
|
|
|
<td>费用</td>
|
|
|
|
|
|
<td>含税金额(元)</td>
|
|
|
|
|
|
<td>不含税金额(元)</td>
|
|
|
|
|
|
<td>税金(元)</td>
|
2024-10-18 09:01:41 +00:00
|
|
|
|
</tr>
|
2024-10-30 03:11:27 +00:00
|
|
|
|
<tr>
|
|
|
|
|
|
<td>收入</td>
|
|
|
|
|
|
<td>设备类</td>
|
|
|
|
|
|
<td><input type="text" class="number" name="incomeDeviceTaxInclude"
|
|
|
|
|
|
value="${Utils.format(budgetBean.incomeDeviceTaxInclude,'0')}" readonly
|
|
|
|
|
|
title="设备类含税总额"></td>
|
|
|
|
|
|
<td><input type="text" class="number" name="incomeDeviceTaxExclude"
|
|
|
|
|
|
value="${Utils.format(budgetBean.incomeDeviceTaxExclude,'0')}" readonly
|
|
|
|
|
|
title="设备类不含税总额"></td>
|
|
|
|
|
|
<td><input type="text" class="number" name="incomeDeviceTax"
|
|
|
|
|
|
value="${Utils.format(budgetBean.incomeDeviceTax,'0')}" readonly
|
|
|
|
|
|
title="设备类税金"></td>
|
2024-10-18 09:01:41 +00:00
|
|
|
|
</tr>
|
2024-10-30 03:11:27 +00:00
|
|
|
|
<tr>
|
|
|
|
|
|
<td>收入</td>
|
|
|
|
|
|
<td>工程类</td>
|
|
|
|
|
|
<td><input type="text" class="number" name="incomeEngineerTaxInclude"
|
|
|
|
|
|
value="${Utils.format(budgetBean.incomeEngineerTaxInclude,'0')}" readonly
|
|
|
|
|
|
title="工程类含税总额"></td>
|
|
|
|
|
|
<td><input type="text" class="number" name="incomeEngineerTaxExclude"
|
|
|
|
|
|
value="${Utils.format(budgetBean.incomeEngineerTaxExclude,'0')}" readonly
|
|
|
|
|
|
title="工程类不含税总额"></td>
|
|
|
|
|
|
<td><input type="text" class="number" name="incomeEngineerTax"
|
|
|
|
|
|
value="${Utils.format(budgetBean.incomeEngineerTax,'0')}" readonly
|
|
|
|
|
|
title="工程类税金"></td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
<tr>
|
|
|
|
|
|
<td>收入</td>
|
|
|
|
|
|
<td>服务类</td>
|
|
|
|
|
|
<td><input type="text" class="number" name="incomeServiceTaxInclude"
|
|
|
|
|
|
value="${Utils.format(budgetBean.incomeServiceTaxInclude,'0')}" readonly
|
|
|
|
|
|
title="服务类含税总额"></td>
|
|
|
|
|
|
<td><input type="text" class="number" name="incomeServiceTaxExclude"
|
|
|
|
|
|
value="${Utils.format(budgetBean.incomeServiceTaxExclude,'0')}" readonly
|
|
|
|
|
|
title="服务类不含税总额"></td>
|
|
|
|
|
|
<td><input type="text" class="number" name="incomeServiceTax"
|
|
|
|
|
|
value="${Utils.format(budgetBean.incomeServiceTax,'0')}" readonly
|
|
|
|
|
|
title="服务类税金"></td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
<tr>
|
|
|
|
|
|
<td>合计</td>
|
|
|
|
|
|
<td></td>
|
|
|
|
|
|
<td><input type="text" class="number" name="incomeTotalTaxInclude"
|
|
|
|
|
|
value="${Utils.format(budgetBean.incomeTotalTaxInclude,'0')}" readonly
|
|
|
|
|
|
title="此列累计"></td>
|
|
|
|
|
|
<td><input type="text" class="number" name="incomeTotalTaxExclude"
|
|
|
|
|
|
value="${Utils.format(budgetBean.incomeTotalTaxExclude,'0')}" readonly
|
|
|
|
|
|
title="此列累计"></td>
|
|
|
|
|
|
<td><input type="text" class="number" name="incomeTotalTax"
|
|
|
|
|
|
value="${Utils.format(budgetBean.incomeTotalTax,'0')}" readonly
|
|
|
|
|
|
title="此列累计"></td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
</tbody>
|
|
|
|
|
|
(备注:本表所用税率为:<span class="incomeTaxRates">${incomeTaxRates!}</span>)
|
|
|
|
|
|
</table>
|
|
|
|
|
|
<span>采购成本</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>
|
|
|
|
|
|
<#-- <td>类别</td>-->
|
|
|
|
|
|
<#-- <td>费用</td>-->
|
|
|
|
|
|
<td>费用项目</td>
|
|
|
|
|
|
<td>含税金额(元)</td>
|
|
|
|
|
|
<td>不含税金额(元)</td>
|
|
|
|
|
|
<td>税金(元)</td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
<tr>
|
|
|
|
|
|
<#-- <td>成本</td>-->
|
|
|
|
|
|
<#-- <td>采购成本</td>-->
|
|
|
|
|
|
<td>设备</td>
|
|
|
|
|
|
<td><input type="text" class="number" name="costPurchaseDeviceTaxInclude"
|
|
|
|
|
|
value="${Utils.format(budgetBean.costPurchaseDeviceTaxInclude,'0')}" readonly
|
|
|
|
|
|
title="购买设备含税总额"></td>
|
|
|
|
|
|
<td><input type="text" class="number" name="costPurchaseDeviceTaxExclude"
|
|
|
|
|
|
value="${Utils.format(budgetBean.costPurchaseDeviceTaxExclude,'0')}" readonly
|
|
|
|
|
|
title="购买设备不含税总额"></td>
|
|
|
|
|
|
<td><input type="text" class="number" name="costPurchaseDeviceTax"
|
|
|
|
|
|
value="${Utils.format(budgetBean.costPurchaseDeviceTax,'0')}" readonly
|
|
|
|
|
|
title="购买设备税金"></td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
<tr>
|
|
|
|
|
|
<#-- <td>成本</td>-->
|
|
|
|
|
|
<#-- <td>采购成本</td>-->
|
|
|
|
|
|
<td>工程</td>
|
|
|
|
|
|
<td><input type="text" class="number" name="costPurchaseBuildTaxInclude"
|
|
|
|
|
|
value="${Utils.format(budgetBean.costPurchaseBuildTaxInclude,'0')}" readonly
|
|
|
|
|
|
title="购买施工含税总额"></td>
|
|
|
|
|
|
<td><input type="text" class="number" name="costPurchaseBuildTaxExclude"
|
|
|
|
|
|
value="${Utils.format(budgetBean.costPurchaseBuildTaxExclude,'0')}" readonly
|
|
|
|
|
|
title="购买施工不含税总额"></td>
|
|
|
|
|
|
<td><input type="text" class="number" name="costPurchaseBuildTax"
|
|
|
|
|
|
value="${Utils.format(budgetBean.costPurchaseBuildTax,'0')}" readonly
|
|
|
|
|
|
title="购买施工税金"></td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
<tr>
|
|
|
|
|
|
<#-- <td>成本</td>-->
|
|
|
|
|
|
<#-- <td>采购成本</td>-->
|
|
|
|
|
|
<td>服务</td>
|
|
|
|
|
|
<td><input type="text" class="number" name="costPurchaseServiceTaxInclude"
|
|
|
|
|
|
value="${Utils.format(budgetBean.costPurchaseServiceTaxInclude,'0')}"
|
|
|
|
|
|
readonly title="购买服务含税总额"></td>
|
|
|
|
|
|
<td><input type="text" class="number" name="costPurchaseServiceTaxExclude"
|
|
|
|
|
|
value="${Utils.format(budgetBean.costPurchaseServiceTaxExclude,'0')}"
|
|
|
|
|
|
readonly title="购买服务不含税总额"></td>
|
|
|
|
|
|
<td><input type="text" class="number" name="costPurchaseServiceTax"
|
|
|
|
|
|
value="${Utils.format(budgetBean.costPurchaseServiceTax,'0')}" readonly
|
|
|
|
|
|
title="购买服务税金"></td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
<tr>
|
|
|
|
|
|
<#-- <td>成本</td>-->
|
|
|
|
|
|
<#-- <td>采购成本</td>-->
|
|
|
|
|
|
<td>其他</td>
|
|
|
|
|
|
<td><input type="text" class="number" name="costPurchaseOtherTaxInclude"
|
|
|
|
|
|
value="${Utils.format(budgetBean.costPurchaseOtherTaxInclude,'0')}" readonly
|
|
|
|
|
|
title="购买其他含税总额"></td>
|
|
|
|
|
|
<td><input type="text" class="number" name="costPurchaseOtherTaxExclude"
|
|
|
|
|
|
value="${Utils.format(budgetBean.costPurchaseOtherTaxExclude,'0')}" readonly
|
|
|
|
|
|
title="购买其他不含税总额"></td>
|
|
|
|
|
|
<td><input type="text" class="number" name="costPurchaseOtherTax"
|
|
|
|
|
|
value="${Utils.format(budgetBean.costPurchaseOtherTax,'0')}" readonly
|
|
|
|
|
|
title="购买其他税金"></td>
|
2024-10-18 09:01:41 +00:00
|
|
|
|
</tr>
|
|
|
|
|
|
|
2024-10-30 03:11:27 +00:00
|
|
|
|
<#-- <tr>-->
|
|
|
|
|
|
<#-- <td>成本</td>-->
|
|
|
|
|
|
<#-- <td>其他</td>-->
|
|
|
|
|
|
<#-- <td><input type="text" id="otherName" maxlength="50" data-validate-async data-validation-message="请输入其他中的小类名称(50字符以内)"-->
|
|
|
|
|
|
<#-- value="${project.otherName!}" name="otherName" placeholder="请输入其他中的小类名称(50字符以内)"/> </td>-->
|
|
|
|
|
|
<#-- <td><input type="text" class="number" maxlength="16" name="costOtherOtherTaxInclude" value="${Utils.format(budgetBean.costOtherOtherTaxInclude,'0')}" title="其他含税总额(填入)"></td>-->
|
|
|
|
|
|
<#-- <td><input type="text" class="number" maxlength="16" name="costOtherOtherTaxExclude" value="${Utils.format(budgetBean.costOtherOtherTaxExclude,'0')}" title="其他不含税总额(填入)"></td>-->
|
|
|
|
|
|
<#-- <td><input type="text" class="number" maxlength="16" name="costOtherOtherTax" value="${Utils.format(budgetBean.costOtherOtherTax,'0')}" title="其他税金"></td>-->
|
|
|
|
|
|
<#-- </tr>-->
|
|
|
|
|
|
<tr>
|
|
|
|
|
|
<td>合计</td>
|
2024-10-30 08:31:46 +00:00
|
|
|
|
<#-- <td></td>-->
|
|
|
|
|
|
<#-- <td></td>-->
|
2024-10-30 03:11:27 +00:00
|
|
|
|
<td><input type="text" class="number" name="costTotalTaxInclude"
|
|
|
|
|
|
value="${Utils.format(budgetBean.costTotalTaxInclude,'0')}" readonly
|
|
|
|
|
|
title="此列累计"></td>
|
|
|
|
|
|
<td><input type="text" class="number" name="costTotalTaxExclude"
|
|
|
|
|
|
value="${Utils.format(budgetBean.costTotalTaxExclude,'0')}" readonly
|
|
|
|
|
|
title="此列累计"></td>
|
|
|
|
|
|
<td><input type="text" class="number" name="costTotalTax"
|
|
|
|
|
|
value="${Utils.format(budgetBean.costTotalTax,'0')}" readonly
|
|
|
|
|
|
title="此列累计"></td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
</tbody>
|
|
|
|
|
|
(备注:本表所用税率为:<span class="costTaxRates">${costTaxRates!}</span>)
|
|
|
|
|
|
</table>
|
|
|
|
|
|
<span>管理</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>
|
|
|
|
|
|
<td>类别</td>
|
|
|
|
|
|
<td>费用项目</td>
|
|
|
|
|
|
<td>不含税金额(元)</td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
<tr>
|
|
|
|
|
|
<td>成本</td>
|
|
|
|
|
|
<td>项目管理费用</td>
|
|
|
|
|
|
<td>
|
|
|
|
|
|
<input type="text" class="number" name="costProjectManageTaxExclude"
|
|
|
|
|
|
value="${Utils.format(budgetBean.costProjectManageTaxExclude,'0')}" readonly
|
|
|
|
|
|
title="项目管理成本总额不含税">
|
|
|
|
|
|
<input style="display: none" type="text" class="number"
|
|
|
|
|
|
name="costProjectManageTaxInclude"
|
|
|
|
|
|
value="${Utils.format(budgetBean.costProjectManageTaxInclude,'0')}" readonly
|
|
|
|
|
|
title="项目管理成本总额不含税">
|
2024-10-18 09:01:41 +00:00
|
|
|
|
|
2024-10-30 03:11:27 +00:00
|
|
|
|
</td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
<tr>
|
|
|
|
|
|
<td>财务费用</td>
|
|
|
|
|
|
<td>资金占用成本</td>
|
|
|
|
|
|
<td><input type="text" class="number" name="costExpropriationTaxExclude"
|
|
|
|
|
|
value="${Utils.format(budgetBean.costExpropriationTaxExclude,'0')}" readonly
|
|
|
|
|
|
title="资金占用成本不含税总额"></td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
<#-- <tr>-->
|
|
|
|
|
|
<#-- <td>公司管理费用</td>-->
|
|
|
|
|
|
<#-- <td></td>-->
|
|
|
|
|
|
<#-- <td><input type="text" class="number" maxlength="16" name="costCompanyManageTaxExclude" value="${Utils.format(budgetBean.costCompanyManageTaxExclude,'0')}" readonly title="公司管理费用不含税总额"></td>-->
|
|
|
|
|
|
<#-- </tr>-->
|
|
|
|
|
|
<tr>
|
|
|
|
|
|
<td>合计</td>
|
|
|
|
|
|
<td></td>
|
|
|
|
|
|
<td><input type="text" class="number" name="incomeTotalTax"
|
|
|
|
|
|
value="${(Utils.format(budgetBean.costExpropriationTaxExclude+budgetBean.costProjectManageTaxExclude,'0'))}"
|
|
|
|
|
|
readonly title="此列累计"></td>
|
|
|
|
|
|
</tr>
|
2024-10-18 09:01:41 +00:00
|
|
|
|
</tbody>
|
2024-10-30 03:11:27 +00:00
|
|
|
|
(备注:财务计取以不含税方式核算)
|
2024-10-18 09:01:41 +00:00
|
|
|
|
</table>
|
|
|
|
|
|
|
2024-10-30 03:11:27 +00:00
|
|
|
|
<span>利润率计算</span>
|
2024-10-18 09:01:41 +00:00
|
|
|
|
<table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;">
|
|
|
|
|
|
<tbody>
|
|
|
|
|
|
<tr>
|
2024-10-30 03:11:27 +00:00
|
|
|
|
<td>类别</td>
|
|
|
|
|
|
<td>利润率(%)</td>
|
|
|
|
|
|
<td>不含税金额(元)</td>
|
|
|
|
|
|
<td>计算方式</td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
<tr>
|
|
|
|
|
|
<td>项目毛利A(元)</td>
|
|
|
|
|
|
<td><input type="text" class="number" name="projectGrossProfitARate"
|
|
|
|
|
|
value="${Utils.format(budgetBean.projectGrossProfitARate,'0')}" readonly
|
|
|
|
|
|
title="毛利A(不含税)/收入总计(不含税)"></td>
|
|
|
|
|
|
<td><input type="text" class="number" name="projectGrossProfitA"
|
|
|
|
|
|
value="${Utils.format(budgetBean.projectGrossProfitA,'0')}" readonly
|
|
|
|
|
|
title="收入总计(不含税)-成本总计(不含税)"></td>
|
|
|
|
|
|
<td>项目毛利A=收入合计(不含税)-采购成本合计(不含税)</td>
|
2024-10-18 09:01:41 +00:00
|
|
|
|
</tr>
|
|
|
|
|
|
<tr>
|
2024-10-30 03:11:27 +00:00
|
|
|
|
<td>项目毛利B(元)</td>
|
|
|
|
|
|
<td><input type="text" class="number" name="projectGrossProfitRate"
|
|
|
|
|
|
value="${Utils.format(budgetBean.projectGrossProfitRate,'0')}" readonly
|
|
|
|
|
|
title="毛利(不含税)/收入总计(不含税)"></td>
|
|
|
|
|
|
<td><input type="text" class="number" name="projectGrossProfit"
|
|
|
|
|
|
value="${Utils.format(budgetBean.projectGrossProfit,'0')}" readonly
|
|
|
|
|
|
title="收入总计(不含税)-成本总计(不含税)-财务费用总计(不含税)"></td>
|
|
|
|
|
|
<td>项目毛利B=项目毛利A-财务费用-项目管理费用</td>
|
2024-10-18 09:01:41 +00:00
|
|
|
|
</tr>
|
2024-10-30 03:11:27 +00:00
|
|
|
|
<#-- <tr>-->
|
|
|
|
|
|
<#-- <td>项目贡献利润(元)</td>-->
|
|
|
|
|
|
<#-- <td><input type="text" class="number" name="projectContributionProfitRate" value="${Utils.format(budgetBean.projectContributionProfitRate,'0')}" readonly title="贡献利润(不含税)/收入总计(不含税)"></td>-->
|
|
|
|
|
|
<#-- <td><input type="text" class="number" name="projectContributionProfit" value="${Utils.format(budgetBean.projectContributionProfit,'0')}" readonly title="项目毛利(不含税)-公司管理费用总计(不含税)"></td>-->
|
|
|
|
|
|
<#-- <td>贡献利润=项目毛利(不含税)-公司管理费用总计(不含税)</td>-->
|
|
|
|
|
|
<#-- </tr>-->
|
2024-10-18 09:01:41 +00:00
|
|
|
|
</tbody>
|
|
|
|
|
|
</table>
|
|
|
|
|
|
|
2024-10-30 03:11:27 +00:00
|
|
|
|
<#-- <span>现金流量表</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>-->
|
|
|
|
|
|
<#-- <td width="30%">类别</td>-->
|
|
|
|
|
|
<#-- <td width="40%">金额(元)</td>-->
|
|
|
|
|
|
<#-- <td width="30%">计算方式</td>-->
|
|
|
|
|
|
<#-- </tr>-->
|
|
|
|
|
|
<#-- <tr>-->
|
|
|
|
|
|
<#-- <td>销售商品、提供劳务收到的现金<#–a–></td>-->
|
|
|
|
|
|
<#-- <td><input type="text" class="number" name="saleIncomeCash" value="${Utils.format(cashFlowBean.saleIncomeCash,'0')}" readonly title="取自资金计划表(销售收款)"></td>-->
|
|
|
|
|
|
<#-- <td>从资金计划表查(销售收款)</td>-->
|
|
|
|
|
|
<#-- </tr>-->
|
|
|
|
|
|
<#-- <tr>-->
|
|
|
|
|
|
<#-- <td>收到的税费返还<#–b–></td>-->
|
|
|
|
|
|
<#-- <td>/<input type="hidden" name="taxReturn" value="${Utils.format(cashFlowBean.taxReturn,'0')}" readonly ></td>-->
|
|
|
|
|
|
<#-- <td>/</td>-->
|
|
|
|
|
|
<#-- </tr>-->
|
|
|
|
|
|
<#-- <tr>-->
|
|
|
|
|
|
<#-- <td>收到其他与经营活动有关的现金<#–c–></td>-->
|
|
|
|
|
|
<#-- <td><input type="text" class="number" name="earnestMoneyIncome" value="${Utils.format(cashFlowBean.earnestMoneyIncome,'0')}" readonly title="取自资金计划表(保证金收款)"></td>-->
|
|
|
|
|
|
<#-- <td>从资金计划表查(保证金收款)</td>-->
|
|
|
|
|
|
<#-- </tr>-->
|
|
|
|
|
|
<#-- <tr>-->
|
|
|
|
|
|
<#-- <td>购买商品、接受劳务支付的现金<#–d–></td>-->
|
|
|
|
|
|
<#-- <td><input type="text" class="number" name="purchaseCost" value="${Utils.format(cashFlowBean.purchaseCost,'0')}" readonly title="取自资金计划表(设备支出+工程支出)"></td>-->
|
|
|
|
|
|
<#-- <td>从资金计划表查(设备支出+工程支出)</td>-->
|
|
|
|
|
|
<#-- </tr>-->
|
|
|
|
|
|
<#-- <tr>-->
|
|
|
|
|
|
<#-- <td>支付的各项税费<#–e–></td>-->
|
|
|
|
|
|
<#-- <td>/<input type="hidden" name="taxCost" value="${Utils.format(cashFlowBean.taxCost,'0')}" readonly ></td>-->
|
|
|
|
|
|
<#-- <td>/</td>-->
|
|
|
|
|
|
<#-- </tr>-->
|
|
|
|
|
|
<#-- <tr>-->
|
|
|
|
|
|
<#-- <td>支付其他与经营活动有关的现金<#–f–></td>-->
|
|
|
|
|
|
<#-- <td><input type="text" class="number" name="earnestMoneyCost" value="${Utils.format(cashFlowBean.earnestMoneyCost,'0')}" readonly title="取自资金计划表(经营性开支+保证金支出+资金利息)"></td>-->
|
|
|
|
|
|
<#-- <td>从资金计划表查(经营性开支+保证金支出+资金利息)</td>-->
|
|
|
|
|
|
<#-- </tr>-->
|
|
|
|
|
|
<#-- <tr>-->
|
|
|
|
|
|
<#-- <td>经营活动产生的现金流量净额<#–g–></td>-->
|
|
|
|
|
|
<#-- <td><input type="text" class="number" name="netCashFlow" value="${Utils.format(cashFlowBean.netCashFlow,'0')}" readonly title="g=a+c+b-d-f-e"></td>-->
|
|
|
|
|
|
<#-- <td>销售商品、提供劳务收到的现金+收到的税费返还+收到其他与经营活动有关的现金-购买商品、接受劳务支付的现金-支付的各项税费-支付其他与经营活动有关的现金</td>-->
|
|
|
|
|
|
<#-- </tr>-->
|
|
|
|
|
|
<#-- <tr>-->
|
|
|
|
|
|
<#-- <td>投资活动现金流入<#–h–></td>-->
|
|
|
|
|
|
<#-- <td>/<input type="hidden" name="cashInflowFromInvestingActivities" value="${Utils.format(cashFlowBean.cashInflowFromInvestingActivities,'0')}" readonly ></td>-->
|
|
|
|
|
|
<#-- <td>/</td>-->
|
|
|
|
|
|
<#-- </tr>-->
|
|
|
|
|
|
<#-- <tr>-->
|
|
|
|
|
|
<#-- <td>投资活动现金流出<#–i–></td>-->
|
|
|
|
|
|
<#-- <td>/<input type="hidden" name="cashOutflowFromInvestingActivities" value="${Utils.format(cashFlowBean.cashOutflowFromInvestingActivities,'0')}" readonly ></td>-->
|
|
|
|
|
|
<#-- <td>/</td>-->
|
|
|
|
|
|
<#-- </tr>-->
|
|
|
|
|
|
<#-- <tr>-->
|
|
|
|
|
|
<#-- <td>投资活动产生的现金流量净额<#–j–></td>-->
|
|
|
|
|
|
<#-- <td>/<input type="hidden" name="netCashFromInvestingActivities" value="${Utils.format(cashFlowBean.netCashFromInvestingActivities,'0')}" readonly ></td>-->
|
|
|
|
|
|
<#-- <td>/</td>-->
|
|
|
|
|
|
<#-- </tr>-->
|
|
|
|
|
|
<#-- <tr>-->
|
|
|
|
|
|
<#-- <td>融资资金流入<#–k–></td>-->
|
|
|
|
|
|
<#-- <td><input type="text" class="number" name="financingCapitalInflow" value="${Utils.format(cashFlowBean.financingCapitalInflow,'0')}" readonly title="从资金计划表查(垫资计划)"></td>-->
|
|
|
|
|
|
<#-- <td>从资金计划表查(垫资计划)</td>-->
|
|
|
|
|
|
<#-- </tr>-->
|
|
|
|
|
|
<#-- <tr>-->
|
|
|
|
|
|
<#-- <td>还款资金流出<#–l–></td>-->
|
|
|
|
|
|
<#-- <td><input type="text" class="number" name="financingCapitalOutflow" value="${Utils.format(cashFlowBean.financingCapitalOutflow,'0')}" readonly title="从资金计划表查(还款计划)"></td>-->
|
|
|
|
|
|
<#-- <td>从资金计划表查(还款计划)</td>-->
|
|
|
|
|
|
<#-- </tr>-->
|
|
|
|
|
|
<#-- <tr>-->
|
|
|
|
|
|
<#-- <td>筹资活动产生的现金流量净额<#–m–></td>-->
|
|
|
|
|
|
<#-- <td><input type="text" class="number" name="financingCapitalCashflow" value="${Utils.format(cashFlowBean.financingCapitalCashflow,'0')}" readonly title="m=k-l"></td>-->
|
|
|
|
|
|
<#-- <td>融资资金流入-还款资金流出</td>-->
|
|
|
|
|
|
<#-- </tr>-->
|
|
|
|
|
|
<#-- <tr>-->
|
|
|
|
|
|
<#-- <td>货币资金净增加额<#–n–></td>-->
|
|
|
|
|
|
<#-- <td><input type="text" class="number" name="netIncreaseMonetaryFunds" value="${Utils.format(cashFlowBean.netIncreaseMonetaryFunds,'0')}" readonly title="n=g+j+m"></td>-->
|
|
|
|
|
|
<#-- <td>经营活动产生的现金流量净额+投资活动产生的现金流量净额+筹资活动产生的现金流量净额</td>-->
|
|
|
|
|
|
<#-- </tr>-->
|
|
|
|
|
|
<#-- </tbody>-->
|
|
|
|
|
|
<#-- </table>-->
|
2024-10-18 09:01:41 +00:00
|
|
|
|
</div>
|
2024-10-30 03:11:27 +00:00
|
|
|
|
<div class="am-tab-panel am-fade am-in" id="tab9">
|
|
|
|
|
|
<div class="fixed-section">
|
|
|
|
|
|
<div class="am-modal-bd">
|
|
|
|
|
|
<div class="fixed-actions">
|
|
|
|
|
|
<#-- <div class="am-btn-toolbar">-->
|
|
|
|
|
|
<#-- <div class="am-btn-group am-btn-group-xs">-->
|
|
|
|
|
|
<#-- <div class="am-btn-group am-btn-group-xs am-form-file">-->
|
|
|
|
|
|
<#-- <button type="button" id="bt_import" class="am-btn am-btn-default">-->
|
|
|
|
|
|
<#-- <span class="am-icon-archive"></span>-->
|
|
|
|
|
|
<#-- 批量导入-->
|
|
|
|
|
|
<#-- </button>-->
|
|
|
|
|
|
<#-- <input id="doc-form-file2" type="file" name="file" onChange="ajaxUploadFile2('doc-form-file2','${base}/project/batchCostImport?id=' + ${project.id})">-->
|
|
|
|
|
|
<#-- </div>-->
|
|
|
|
|
|
|
|
|
|
|
|
<#-- <button type="button" class="am-btn am-btn-default" onclick="location.href='${base}/project/costTemplate'">-->
|
|
|
|
|
|
<#-- <span class="am-icon-archive"></span> 导入模板下载-->
|
|
|
|
|
|
<#-- </button>-->
|
|
|
|
|
|
<#-- </div>-->
|
|
|
|
|
|
<#-- </div>-->
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class="fixed-table has-actions is-vertical-scroll">
|
|
|
|
|
|
<table class="am-table am-table-bordered am-table-radius table-main"
|
|
|
|
|
|
style="padding:0;" id="payTable">
|
|
|
|
|
|
<thead style="display:block;">
|
|
|
|
|
|
<tr>
|
|
|
|
|
|
<th width="60px">序号</th>
|
|
|
|
|
|
<th width="100px">付款节点</th>
|
|
|
|
|
|
<th width="100px">付款时间</th>
|
|
|
|
|
|
<th width="100px">采购成本项目</th>
|
|
|
|
|
|
<th width="100px">付款金额</th>
|
|
|
|
|
|
<th width="100px">供应商</th>
|
|
|
|
|
|
<th width="60px">操作</th>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
</thead>
|
|
|
|
|
|
<tbody>
|
|
|
|
|
|
<#if budgetPayPlan??>
|
|
|
|
|
|
<#list budgetPayPlan as payDetail>
|
|
|
|
|
|
<tr>
|
|
|
|
|
|
<td width="60px"><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input am-modal-prompt-input-pay input-budget-num"
|
|
|
|
|
|
value="${(payDetail_index+1)!}" readonly>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
<td width="100px"><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input am-modal-prompt-input-pay input-changeable-pay-point"
|
|
|
|
|
|
value="${payDetail.payPoint}"></td>
|
|
|
|
|
|
<td width="100px"><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input am-modal-prompt-input-pay input-changeable-pay-time"
|
|
|
|
|
|
value="${(payDetail.payTime?string("yyyy-MM-dd"))!}"
|
|
|
|
|
|
data-am-datepicker></td>
|
|
|
|
|
|
<td width="100px">
|
|
|
|
|
|
|
|
|
|
|
|
<select style="float: left;"
|
|
|
|
|
|
class="am-modal-prompt-input am-modal-prompt-input-pay input-changeable-pay-project"
|
|
|
|
|
|
name="payProject">
|
|
|
|
|
|
<option value="1"
|
|
|
|
|
|
<#if payDetail.payProject='1'>selected</#if>>设备成本
|
|
|
|
|
|
</option>
|
|
|
|
|
|
<option value="2"
|
|
|
|
|
|
<#if payDetail.payProject='2'>selected</#if>>工程成本
|
|
|
|
|
|
</option>
|
|
|
|
|
|
<option value="3"
|
|
|
|
|
|
<#if payDetail.payProject='3'>selected</#if>>服务成本
|
|
|
|
|
|
</option>
|
|
|
|
|
|
<option value="4"
|
|
|
|
|
|
<#if payDetail.payProject='4'>selected</#if>>其他成本
|
|
|
|
|
|
</option>
|
|
|
|
|
|
</select>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
<td width="100px"><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input am-modal-prompt-input-pay input-changeable-pay-amount"
|
|
|
|
|
|
value="${Utils.format(payDetail.payAmount,'0')}">
|
|
|
|
|
|
</td>
|
|
|
|
|
|
<td width="100px"><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input am-modal-prompt-input-pay input-changeable-pay-supplier"
|
|
|
|
|
|
value="${payDetail.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>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
</#list>
|
|
|
|
|
|
</#if>
|
|
|
|
|
|
<tr class="total-new" id="payTotal">
|
|
|
|
|
|
<td width="60px"><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input am-modal-prompt-input-pay"
|
|
|
|
|
|
value="总计" readonly></td>
|
|
|
|
|
|
<td width="100px"></td>
|
|
|
|
|
|
<td width="100px"></td>
|
|
|
|
|
|
<td width="100px"></td>
|
|
|
|
|
|
<td width="100px"><input type="text"
|
|
|
|
|
|
class="am-modal-prompt-input am-modal-prompt-input-pay input-changeable-pay-amount-total"
|
|
|
|
|
|
value="${Utils.format(budgetPayPlanTotal,'0')}"
|
|
|
|
|
|
readonly></td>
|
|
|
|
|
|
<td width="100px"></td>
|
|
|
|
|
|
<td width="60px"></td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
</tbody>
|
|
|
|
|
|
</table>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<button type="button" style="margin-top: 10px" id="payAddBtn"
|
|
|
|
|
|
class="am-btn am-btn-primary am-btn-xs am-round fixed-btns-row"><span
|
|
|
|
|
|
class="am-icon-plus"></span></button>
|
2024-10-28 12:03:47 +00:00
|
|
|
|
</div>
|
2024-10-30 03:11:27 +00:00
|
|
|
|
<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="payTableSave">保存</span>
|
2024-10-28 12:03:47 +00:00
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
2024-10-30 03:11:27 +00:00
|
|
|
|
|
2024-10-28 12:03:47 +00:00
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-10-30 03:11:27 +00:00
|
|
|
|
</div>
|
2024-10-18 09:01:41 +00:00
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
2024-10-30 03:11:27 +00:00
|
|
|
|
<!--选项卡(tabs)end-->
|
|
|
|
|
|
<div class="am-margin">
|
|
|
|
|
|
<button type="button" class="am-btn am-btn-warning am-btn-xs" onclick="javascript:history.go(-1);">
|
|
|
|
|
|
返回上一级
|
|
|
|
|
|
</button>
|
|
|
|
|
|
<button type="button" class="am-btn am-btn-primary am-btn-xs" id="saveDraft">保存草稿</button>
|
|
|
|
|
|
<button type="button" class="am-btn am-btn-primary am-btn-xs" id="saveApprove">提交审核</button>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</form>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<script>
|
|
|
|
|
|
var base = "${base}";
|
|
|
|
|
|
</script>
|
|
|
|
|
|
<script src="${base}/layui/layui.js"></script>
|
|
|
|
|
|
<script src="${base}/assets/js/project_common.js"></script>
|
|
|
|
|
|
<script src="${base}/assets/js/project_budget.js"></script>
|
|
|
|
|
|
<script src="${base}/assets/js/project_budget_income.js"></script>
|
|
|
|
|
|
<script src="${base}/assets/js/project_budget_income_plan.js"></script>
|
|
|
|
|
|
<script src="${base}/assets/js/project_budget_cost.js">
|
|
|
|
|
|
</script>
|
|
|
|
|
|
<script src="${base}/assets/js/project_budget_pay.js"></script>
|
|
|
|
|
|
<script src="${base}/assets/js/project_budget_cost_project_manage.js"></script>
|
|
|
|
|
|
<script src="${base}/assets/js/project_budget_plan.js"></script>
|
|
|
|
|
|
<script type="text/javascript" src="${base}/common/js/jquery.ajaxfileupload.js"></script>
|
|
|
|
|
|
<script src="${base}/common/jQuery-File-Upload/js/vendor/jquery.ui.widget.js"></script>
|
|
|
|
|
|
<script type="text/javascript" src="${base}/common/jQuery-File-Upload/js/jquery.iframe-transport.js"></script>
|
|
|
|
|
|
<script type="text/javascript" src="${base}/common/jQuery-File-Upload/js/jquery.fileupload.js"></script>
|
|
|
|
|
|
<script src="${base}/common/jQuery-File-Upload/js/jquery.fileupload-process.js"></script>
|
|
|
|
|
|
<script src="${base}/common/jQuery-File-Upload/js/jquery.fileupload-validate.js"></script>
|
|
|
|
|
|
<script>
|
|
|
|
|
|
var changeCheck = function () {
|
|
|
|
|
|
var underwrittenMode = $("#underwrittenMode").val();
|
|
|
|
|
|
if (underwrittenMode <= 2) {
|
|
|
|
|
|
$("#noUnder0").show();
|
|
|
|
|
|
$("#noUnder1").hide();
|
|
|
|
|
|
$("#noUnder2").hide();
|
|
|
|
|
|
$("#noUnder3").hide();
|
|
|
|
|
|
$("#noUnder4").hide();
|
|
|
|
|
|
} else {
|
|
|
|
|
|
$("#noUnder0").hide();
|
|
|
|
|
|
$("#noUnder1").show();
|
|
|
|
|
|
$("#noUnder2").show();
|
|
|
|
|
|
$("#noUnder3").show();
|
|
|
|
|
|
$("#noUnder4").show();
|
|
|
|
|
|
}
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
var changeCheck2 = function () {
|
|
|
|
|
|
var cooperateType = $("#cooperateType").val();
|
|
|
|
|
|
if (cooperateType == 1) {
|
|
|
|
|
|
$("#coop0").hide();
|
|
|
|
|
|
$("#coop1").show();
|
|
|
|
|
|
$("#coop2").show();
|
|
|
|
|
|
} else {
|
|
|
|
|
|
$("#coop0").show();
|
|
|
|
|
|
$("#coop1").hide();
|
|
|
|
|
|
$("#coop2").hide();
|
|
|
|
|
|
}
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
var changeCheckB = function () {
|
|
|
|
|
|
var underwrittenModeBudget = $("#underwrittenModeBudget").val();
|
|
|
|
|
|
if (underwrittenModeBudget <= 2) {
|
|
|
|
|
|
$("#noUnder0b").show();
|
|
|
|
|
|
$("#noUnder1b").hide();
|
|
|
|
|
|
$("#noUnder2b").hide();
|
|
|
|
|
|
$("#noUnder3b").hide();
|
|
|
|
|
|
$("#noUnder4b").hide();
|
|
|
|
|
|
} else {
|
|
|
|
|
|
$("#noUnder0b").hide();
|
|
|
|
|
|
$("#noUnder1b").show();
|
|
|
|
|
|
$("#noUnder2b").show();
|
|
|
|
|
|
$("#noUnder3b").show();
|
|
|
|
|
|
$("#noUnder4b").show();
|
|
|
|
|
|
}
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
var changeCheck2B = function () {
|
|
|
|
|
|
var cooperateTypeBudget = $("#cooperateTypeBudget").val();
|
|
|
|
|
|
if (cooperateTypeBudget == 1) {
|
|
|
|
|
|
$("#coop0b").hide();
|
|
|
|
|
|
$("#coop1b").show();
|
|
|
|
|
|
$("#coop2b").show();
|
|
|
|
|
|
} else {
|
|
|
|
|
|
$("#coop0b").show();
|
|
|
|
|
|
$("#coop1b").hide();
|
|
|
|
|
|
$("#coop2b").hide();
|
|
|
|
|
|
}
|
|
|
|
|
|
};
|
2024-10-18 09:01:41 +00:00
|
|
|
|
|
2024-10-30 03:11:27 +00:00
|
|
|
|
function saveContract(url) {
|
|
|
|
|
|
let contractBudget = $("#contractBudget").val();
|
|
|
|
|
|
let id = $("#id").val();
|
|
|
|
|
|
$.ajax({
|
|
|
|
|
|
url: url,
|
|
|
|
|
|
data: {contractBudget: contractBudget, id: id},
|
|
|
|
|
|
type: "post",
|
|
|
|
|
|
dataType: "json",
|
|
|
|
|
|
async: false,
|
|
|
|
|
|
success: function (data) {
|
|
|
|
|
|
result = data.status;
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
2024-10-18 09:01:41 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
2024-10-30 03:11:27 +00:00
|
|
|
|
function ajaxUploadFile(id, url) {
|
2024-10-18 09:01:41 +00:00
|
|
|
|
// if($('#modal')){
|
|
|
|
|
|
// $('#modal').modal('open');
|
|
|
|
|
|
// $('#span-'+id).html(" 数据正在导入,请等待");
|
|
|
|
|
|
// }
|
|
|
|
|
|
$.ajaxFileUpload({
|
|
|
|
|
|
url: url,
|
|
|
|
|
|
secureuri: false,
|
|
|
|
|
|
fileElementId: id,// file标签的id
|
|
|
|
|
|
dataType: 'json',// 返回数据的类型
|
|
|
|
|
|
success: function (data, status) {
|
|
|
|
|
|
console.log("--------success---------" + data)
|
|
|
|
|
|
// if($('#modal')){
|
|
|
|
|
|
// $('#modal').modal('close');
|
|
|
|
|
|
// $('#span-'+id).html("导入完成");
|
|
|
|
|
|
// }
|
2024-10-30 03:11:27 +00:00
|
|
|
|
if (data.status == 0) {
|
2024-10-18 09:01:41 +00:00
|
|
|
|
var list = data.data;
|
|
|
|
|
|
var content = '';
|
|
|
|
|
|
$.each(list, function (i, r) {
|
2024-10-30 03:11:27 +00:00
|
|
|
|
content += (i + 1) + '、' + r + '<br>';
|
2024-10-18 09:01:41 +00:00
|
|
|
|
});
|
|
|
|
|
|
console.log('---> ' + content);
|
|
|
|
|
|
parent.layer.open({
|
2024-10-30 03:11:27 +00:00
|
|
|
|
title: '导入结果:',
|
2024-10-18 09:01:41 +00:00
|
|
|
|
content: data.msg + '<br><br>' + content
|
|
|
|
|
|
});
|
2024-10-30 03:11:27 +00:00
|
|
|
|
} else {
|
2024-10-18 09:01:41 +00:00
|
|
|
|
parent.layer.msg(data.msg);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
window.location.reload();
|
|
|
|
|
|
$("#" + id).val("");
|
|
|
|
|
|
},
|
|
|
|
|
|
error: function (data, status, e) {
|
|
|
|
|
|
console.log("--------error---------" + data)
|
|
|
|
|
|
layer.alert("-----------------" + data);
|
|
|
|
|
|
// if ($('#modal')) {
|
|
|
|
|
|
// $('#modal').modal('close');
|
|
|
|
|
|
// }
|
|
|
|
|
|
layer.alert(e);
|
|
|
|
|
|
$("#" + id).val("");
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function ajaxUploadFile2(id, url) {
|
|
|
|
|
|
// if($('#modal')){
|
|
|
|
|
|
// $('#modal').modal('open');
|
|
|
|
|
|
// $('#span-'+id).html(" 数据正在导入,请等待");
|
|
|
|
|
|
// }
|
|
|
|
|
|
$.ajaxFileUpload({
|
|
|
|
|
|
url: url,
|
|
|
|
|
|
secureuri: false,
|
|
|
|
|
|
fileElementId: id,// file标签的id
|
|
|
|
|
|
dataType: 'json',// 返回数据的类型
|
|
|
|
|
|
success: function (data, status) {
|
|
|
|
|
|
console.log("--------success---------" + data)
|
|
|
|
|
|
// if($('#modal')){
|
|
|
|
|
|
// $('#modal').modal('close');
|
|
|
|
|
|
// $('#span-'+id).html("导入完成");
|
|
|
|
|
|
// }
|
2024-10-30 03:11:27 +00:00
|
|
|
|
if (data.status == 0) {
|
2024-10-18 09:01:41 +00:00
|
|
|
|
var list = data.data;
|
|
|
|
|
|
var content = '';
|
|
|
|
|
|
$.each(list, function (i, r) {
|
2024-10-30 03:11:27 +00:00
|
|
|
|
content += (i + 1) + '、' + r + '<br>';
|
2024-10-18 09:01:41 +00:00
|
|
|
|
});
|
|
|
|
|
|
console.log('---> ' + content);
|
|
|
|
|
|
parent.layer.open({
|
2024-10-30 03:11:27 +00:00
|
|
|
|
title: '导入结果:',
|
2024-10-18 09:01:41 +00:00
|
|
|
|
content: data.msg + '<br><br>' + content
|
|
|
|
|
|
});
|
2024-10-30 03:11:27 +00:00
|
|
|
|
} else {
|
2024-10-18 09:01:41 +00:00
|
|
|
|
parent.layer.msg(data.msg);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
window.location.reload();
|
|
|
|
|
|
$("#" + id).val("");
|
|
|
|
|
|
},
|
|
|
|
|
|
error: function (data, status, e) {
|
|
|
|
|
|
console.log("--------error---------" + data)
|
|
|
|
|
|
layer.alert("-----------------" + data);
|
|
|
|
|
|
// if ($('#modal')) {
|
|
|
|
|
|
// $('#modal').modal('close');
|
|
|
|
|
|
// }
|
|
|
|
|
|
layer.alert(e);
|
|
|
|
|
|
$("#" + id).val("");
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2024-10-30 03:11:27 +00:00
|
|
|
|
var generateFileupload2 = function (name) {
|
|
|
|
|
|
var progressArea = $("#progress-area-" + name);//div
|
|
|
|
|
|
var progressText = $("#progress-text-" + name);//进度条提示
|
|
|
|
|
|
var progressBar = $(".am-progress-bar");//进度条
|
|
|
|
|
|
|
|
|
|
|
|
$("#file_upload_icon").fileupload({
|
|
|
|
|
|
url: "${base}/file/upload",
|
|
|
|
|
|
dataType: 'json',
|
|
|
|
|
|
maxFileSize: 50 * 1024 * 1024,
|
|
|
|
|
|
maxNumberOfFiles: 1,
|
|
|
|
|
|
start: function (e) {
|
|
|
|
|
|
progressArea.removeClass("am-hide");
|
|
|
|
|
|
progressText.removeClass("am-text-danger");
|
|
|
|
|
|
progressText.html("");
|
|
|
|
|
|
progressBar.css("width", "0%");
|
|
|
|
|
|
},
|
|
|
|
|
|
done: function (e, data) {
|
|
|
|
|
|
console.log(data);
|
|
|
|
|
|
//设置服务器返回的url
|
|
|
|
|
|
$("#collaboratorUrlBudget").val(data.result.data.url);
|
2024-10-30 08:31:46 +00:00
|
|
|
|
$("#collaboratorUrl_check").text(data.result.data.newName);
|
2024-10-30 03:11:27 +00:00
|
|
|
|
// console.log("collboratorUrl: " + $("#collaboratorUrl").val());
|
|
|
|
|
|
setTimeout(function () {
|
|
|
|
|
|
progressArea.addClass("am-hide");
|
|
|
|
|
|
}, 1500);
|
|
|
|
|
|
},
|
|
|
|
|
|
progressall: function (e, data) {
|
|
|
|
|
|
var progress = parseInt(data.loaded / data.total * 100, 10);
|
|
|
|
|
|
console.log(progress);
|
|
|
|
|
|
progressBar.css("width", progress + "%");
|
|
|
|
|
|
progressText.html(progress + "%");
|
|
|
|
|
|
},
|
|
|
|
|
|
error: function (jqXHR2, textStatus, errorThrown) {
|
|
|
|
|
|
progressArea.removeClass("am-hide");
|
|
|
|
|
|
progressText.addClass("am-text-danger");
|
|
|
|
|
|
progressText.html("imageupload error!");
|
|
|
|
|
|
progressBar.css("width", "0%");
|
|
|
|
|
|
setTimeout(function () {
|
|
|
|
|
|
progressArea.addClass("am-hide");
|
|
|
|
|
|
}, 2000);
|
|
|
|
|
|
},
|
|
|
|
|
|
fail: function (jqXHR2, textStatus) {
|
|
|
|
|
|
progressArea.removeClass("am-hide");
|
|
|
|
|
|
progressText.addClass("am-text-danger");
|
|
|
|
|
|
progressText.html("imageupload fail!");
|
|
|
|
|
|
progressBar.css("width", "0%");
|
|
|
|
|
|
setTimeout(function () {
|
|
|
|
|
|
progressArea.addClass("am-hide");
|
|
|
|
|
|
}, 2000);
|
|
|
|
|
|
},
|
|
|
|
|
|
processfail: function (e, data) {
|
|
|
|
|
|
var currentFile = data.files[data.index];
|
|
|
|
|
|
if (data.files.error && currentFile.error) {
|
|
|
|
|
|
parent.layer.msg(currentFile.error);
|
|
|
|
|
|
}
|
2024-10-18 09:01:41 +00:00
|
|
|
|
}
|
2024-10-30 03:11:27 +00:00
|
|
|
|
});
|
|
|
|
|
|
};
|
2024-10-18 09:01:41 +00:00
|
|
|
|
|
|
|
|
|
|
var generateFileupload = function (name) {
|
|
|
|
|
|
var progressArea = $("#progress-area-" + name);//div
|
|
|
|
|
|
var progressText = $("#progress-text-" + name);//进度条提示
|
|
|
|
|
|
var progressBar = $(".am-progress-bar");//进度条
|
|
|
|
|
|
|
|
|
|
|
|
$("#file_upload_icon").fileupload({
|
|
|
|
|
|
url: "${base}/file/upload",
|
|
|
|
|
|
dataType: 'json',
|
|
|
|
|
|
maxFileSize: 50 * 1024 * 1024,
|
|
|
|
|
|
maxNumberOfFiles: 1,
|
|
|
|
|
|
start: function (e) {
|
|
|
|
|
|
progressArea.removeClass("am-hide");
|
|
|
|
|
|
progressText.removeClass("am-text-danger");
|
|
|
|
|
|
progressText.html("");
|
|
|
|
|
|
progressBar.css("width", "0%");
|
|
|
|
|
|
},
|
|
|
|
|
|
done: function (e, data) {
|
|
|
|
|
|
console.log(data);
|
|
|
|
|
|
//设置服务器返回的url
|
|
|
|
|
|
$("#collaboratorUrl").val(data.result.data.url);
|
2024-10-30 08:31:46 +00:00
|
|
|
|
$("#collaboratorUrl_check").text(data.result.newName);
|
2024-10-18 09:01:41 +00:00
|
|
|
|
// console.log("collboratorUrl: " + $("#collaboratorUrl").val());
|
|
|
|
|
|
setTimeout(function () {
|
|
|
|
|
|
progressArea.addClass("am-hide");
|
|
|
|
|
|
}, 1500);
|
|
|
|
|
|
},
|
|
|
|
|
|
progressall: function (e, data) {
|
|
|
|
|
|
var progress = parseInt(data.loaded / data.total * 100, 10);
|
|
|
|
|
|
console.log(progress);
|
|
|
|
|
|
progressBar.css("width", progress + "%");
|
|
|
|
|
|
progressText.html(progress + "%");
|
|
|
|
|
|
},
|
|
|
|
|
|
error: function (jqXHR2, textStatus, errorThrown) {
|
|
|
|
|
|
progressArea.removeClass("am-hide");
|
|
|
|
|
|
progressText.addClass("am-text-danger");
|
|
|
|
|
|
progressText.html("imageupload error!");
|
|
|
|
|
|
progressBar.css("width", "0%");
|
|
|
|
|
|
setTimeout(function () {
|
|
|
|
|
|
progressArea.addClass("am-hide");
|
|
|
|
|
|
}, 2000);
|
|
|
|
|
|
},
|
|
|
|
|
|
fail: function (jqXHR2, textStatus) {
|
|
|
|
|
|
progressArea.removeClass("am-hide");
|
|
|
|
|
|
progressText.addClass("am-text-danger");
|
|
|
|
|
|
progressText.html("imageupload fail!");
|
|
|
|
|
|
progressBar.css("width", "0%");
|
|
|
|
|
|
setTimeout(function () {
|
|
|
|
|
|
progressArea.addClass("am-hide");
|
|
|
|
|
|
}, 2000);
|
|
|
|
|
|
},
|
|
|
|
|
|
processfail: function (e, data) {
|
|
|
|
|
|
var currentFile = data.files[data.index];
|
|
|
|
|
|
if (data.files.error && currentFile.error) {
|
|
|
|
|
|
parent.layer.msg(currentFile.error);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
};
|
|
|
|
|
|
</script>
|
|
|
|
|
|
</@defaultLayout.layout>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|