From 13e47b6317b3c0b7d8bd9fbfe89baebfa2233e31 Mon Sep 17 00:00:00 2001 From: hanbo <2608504783@qq.com> Date: Sat, 13 Nov 2021 16:21:52 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E6=9F=A5=E7=9C=8B=E5=AE=A1?= =?UTF-8?q?=E6=A0=B8=E9=A1=B5=E9=9D=A2=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/backend/ProjectController.java | 139 +- .../templates/admin/project_approve.ftl | 2095 +++++++++++++++++ .../templates/admin/project_detail.ftl | 1385 +++++++++++ .../templates/admin/project_list.ftl | 10 + 4 files changed, 3592 insertions(+), 37 deletions(-) create mode 100644 src/main/resources/templates/admin/project_approve.ftl create mode 100644 src/main/resources/templates/admin/project_detail.ftl diff --git a/src/main/java/cn/palmte/work/controller/backend/ProjectController.java b/src/main/java/cn/palmte/work/controller/backend/ProjectController.java index 3280232..cdae9a5 100644 --- a/src/main/java/cn/palmte/work/controller/backend/ProjectController.java +++ b/src/main/java/cn/palmte/work/controller/backend/ProjectController.java @@ -1,9 +1,6 @@ package cn.palmte.work.controller.backend; -import cn.palmte.work.bean.ApproveStatusEnum; -import cn.palmte.work.bean.BudgetBean; -import cn.palmte.work.bean.EstimateBean; -import cn.palmte.work.bean.ResponseMsg; +import cn.palmte.work.bean.*; import cn.palmte.work.model.*; import cn.palmte.work.service.ProjectBudgetService; import cn.palmte.work.service.ProjectEstimateService; @@ -35,11 +32,12 @@ import java.util.concurrent.ConcurrentHashMap; /** * 项目管理功能 + * * @author xiongshiyan at 2021/10/29 , contact me with email yanshixiong@126.com or phone 15208384257 */ @Controller @RequestMapping("/project") -public class ProjectController extends BaseController{ +public class ProjectController extends BaseController { private static final Logger logger = LoggerFactory.getLogger(ProjectController.class); @Autowired @@ -55,15 +53,15 @@ public class ProjectController extends BaseController{ * 项目列表 */ @RequestMapping("/list") - public String list(@RequestParam(value = "keywords",required = false) String keywords, + public String list(@RequestParam(value = "keywords", required = false) String keywords, @RequestParam(value = PAGE_NUMBER, defaultValue = DEFAULT_PAGE_NUMBER) int pageNumber, @RequestParam(value = PAGE_SIZE, defaultValue = DEFAULT_PAGE_SIZE) int pageSize, Map<String, Object> model) { //当前登录人的角色类型 - model.put("keywords",keywords); + model.put("keywords", keywords); model.put("deptList", deptRepository.findAll()); - ConcurrentHashMap<String, String> searchInfo = getSearchInfo(keywords,model); - model.put("pager",projectService.list(searchInfo,pageNumber,pageSize)); + ConcurrentHashMap<String, String> searchInfo = getSearchInfo(keywords, model); + model.put("pager", projectService.list(searchInfo, pageNumber, pageSize)); /*Page<Project> myApproveProjects = projectService.findMyApproveProjects(searchInfo, InterfaceUtil.getAdminId(), 1, Integer.MAX_VALUE); model.put("hasApproveProjects", CollectionUtil.isNotEmpty(myApproveProjects.getList()) ? "1" : "0");*/ return "admin/project_list"; @@ -73,11 +71,11 @@ public class ProjectController extends BaseController{ * 项目导出 */ @RequestMapping("/export") - public void export(@RequestParam(value = "keywords",required = false) String keywords, HttpServletResponse httpServletResponse) throws IOException { + public void export(@RequestParam(value = "keywords", required = false) String keywords, HttpServletResponse httpServletResponse) throws IOException { Map<String, String> searchInfo = getSearchInfo(keywords); - downloadHeader(httpServletResponse , Utils.generateExcelName("项目报表"), "application/octet-stream"); - String[] headers = {"项目名称","项目类型","项目状态","审核状态","当前审核人","项目创建者","部门名称","项目开始时间","项目结束时间","最后更新时间"}; - String[] exportColumns = {"name","typeDesc","statusDesc","approveStatusDesc","approveName","creatorName","deptName","startDate","endDate","lastUpdateTime"}; + downloadHeader(httpServletResponse, Utils.generateExcelName("项目报表"), "application/octet-stream"); + String[] headers = {"项目名称", "项目类型", "项目状态", "审核状态", "当前审核人", "项目创建者", "部门名称", "项目开始时间", "项目结束时间", "最后更新时间"}; + String[] exportColumns = {"name", "typeDesc", "statusDesc", "approveStatusDesc", "approveName", "creatorName", "deptName", "startDate", "endDate", "lastUpdateTime"}; ExportUtils.exportToExcel(headers, exportColumns, 1, 10000, httpServletResponse.getOutputStream(), (pN, pS) -> projectService.list(searchInfo, pN, pS).getList()); } @@ -91,7 +89,7 @@ public class ProjectController extends BaseController{ //TODO 根据登录人的部门 Dept one = deptRepository.findOne(1); - model.put("dept",one); + model.put("dept", one); return "admin/project_estimate_add"; } @@ -116,7 +114,7 @@ public class ProjectController extends BaseController{ @RequestMapping("/edit") - public String edit(@RequestParam("id") int id,Map<String, Object> model) { + public String edit(@RequestParam("id") int id, Map<String, Object> model) { Project project = projectService.getProject(id); model.put("project", project); EstimateBean estimateBean = projectEstimateService.getEstimate(project); @@ -125,6 +123,7 @@ public class ProjectController extends BaseController{ model.put("Utils", FreeMarkerUtil.fromStaticPackage("cn.palmte.work.utils.Utils")); return "admin/project_estimate_edit"; } + @RequestMapping("/estimateEditSave") public String estimateEditSave(Project project, EstimateBean estimateBean, Map<String, Object> model) { projectService.estimateEditSave(project, estimateBean, InterfaceUtil.getAdmin(), ApproveStatusEnum.APPROVAL_UNCOMMIT); @@ -141,7 +140,7 @@ public class ProjectController extends BaseController{ * 进项目预算页面 */ @RequestMapping("/budgetEdit") - public String budget(@RequestParam("id") int id,Map<String, Object> model) { + public String budget(@RequestParam("id") int id, Map<String, Object> model) { Project project = projectService.getProject(id); model.put("project", project); BudgetBean budgetBean = projectBudgetService.getBudget(project); @@ -175,6 +174,7 @@ public class ProjectController extends BaseController{ projectService.budgetEditSave(project, budgetBean, InterfaceUtil.getAdmin(), ApproveStatusEnum.APPROVAL_UNCOMMIT); return "redirect:/project/list"; } + /** * 进行项目预算保存并提交审核 */ @@ -204,6 +204,7 @@ public class ProjectController extends BaseController{ return ResponseMsg.buildSuccessMsg("成功"); } + /** * 保存成本明细 */ @@ -224,6 +225,7 @@ public class ProjectController extends BaseController{ return ResponseMsg.buildSuccessMsg("成功"); } + /** * 保存项目管理成本明细 */ @@ -244,6 +246,7 @@ public class ProjectController extends BaseController{ return ResponseMsg.buildSuccessMsg("成功"); } + /** * 保存项资金计划明细 */ @@ -266,21 +269,19 @@ public class ProjectController extends BaseController{ } - - /** * 待我审核项目列表 */ @RequestMapping("/listApprove") - public String listApprove(@RequestParam(value = "keywords",required = false) String keywords, - @RequestParam(value = PAGE_NUMBER, defaultValue = DEFAULT_PAGE_NUMBER) int pageNumber, - @RequestParam(value = PAGE_SIZE, defaultValue = DEFAULT_PAGE_SIZE) int pageSize, - Map<String, Object> model) { + public String listApprove(@RequestParam(value = "keywords", required = false) String keywords, + @RequestParam(value = PAGE_NUMBER, defaultValue = DEFAULT_PAGE_NUMBER) int pageNumber, + @RequestParam(value = PAGE_SIZE, defaultValue = DEFAULT_PAGE_SIZE) int pageSize, + Map<String, Object> model) { //当前登录人的角色类型 - model.put("keywords",keywords); + model.put("keywords", keywords); model.put("deptList", deptRepository.findAll()); - ConcurrentHashMap<String, String> searchInfo = getSearchInfo(keywords,model); - model.put("pager",projectService.findMyApproveProjects(searchInfo,InterfaceUtil.getAdminId(),pageNumber,pageSize)); + ConcurrentHashMap<String, String> searchInfo = getSearchInfo(keywords, model); + model.put("pager", projectService.findMyApproveProjects(searchInfo, InterfaceUtil.getAdminId(), pageNumber, pageSize)); return "admin/project_list_approve"; } @@ -288,28 +289,92 @@ public class ProjectController extends BaseController{ * 待我审核项目导出 */ @RequestMapping("/exportApprove") - public void exportApprove(@RequestParam(value = "keywords",required = false) String keywords, HttpServletResponse httpServletResponse) throws IOException { + public void exportApprove(@RequestParam(value = "keywords", required = false) String keywords, HttpServletResponse httpServletResponse) throws IOException { Map<String, String> searchInfo = getSearchInfo(keywords); - downloadHeader(httpServletResponse , Utils.generateExcelName("待我审核项目报表"), "application/octet-stream"); - String[] headers = {"项目名称","项目类型","项目状态","审核状态","当前审核人","项目创建者","部门名称","项目开始时间","项目结束时间","最后更新时间"}; - String[] exportColumns = {"name","typeDesc","statusDesc","approveStatusDesc","approveName","creatorName","deptName","startDate","endDate","lastUpdateTime"}; + downloadHeader(httpServletResponse, Utils.generateExcelName("待我审核项目报表"), "application/octet-stream"); + String[] headers = {"项目名称", "项目类型", "项目状态", "审核状态", "当前审核人", "项目创建者", "部门名称", "项目开始时间", "项目结束时间", "最后更新时间"}; + String[] exportColumns = {"name", "typeDesc", "statusDesc", "approveStatusDesc", "approveName", "creatorName", "deptName", "startDate", "endDate", "lastUpdateTime"}; ExportUtils.exportToExcel(headers, exportColumns, 1, 10000, httpServletResponse.getOutputStream(), (pN, pS) -> projectService.findMyApproveProjects(searchInfo, InterfaceUtil.getAdminId(), pN, pS).getList()); } + /** + * 项目查看页面 + * + * @param id + * @param model + * @return + */ + @RequestMapping("/detail") + public String detail(@RequestParam("id") int id, Map<String, Object> model) { + Project project = projectService.getProject(id); + EstimateBean estimateBean = projectEstimateService.getEstimate(project); + model.put("estimateBean", estimateBean); + model.put("project", project); + BudgetBean budgetBean = projectBudgetService.getBudget(project); + //预算主页面数据 + model.put("budgetBean", budgetBean); + //收入明细 + model.put("incomeDetails", projectBudgetService.getBudgetIncomeDetail(project)); + //成本明细 + model.put("costDetails", projectBudgetService.getBudgetCostDetail(project)); + //项目管理成本明细 + model.put("costProjectManageDetails", projectBudgetService.getBudgetCostProjectManageDetail(project)); + List<ProjectBudgetPlanDetail> projectBudgetPlanDetails = projectBudgetService.getProjectBudgetPlanDetails(project); + //资金计划明细 + model.put("projectBudgetPlanDetails", projectBudgetPlanDetails); + //资金计划总【上面汇总表】 + model.put("projectBudgetPlanDetailTotal", projectBudgetService.getProjectBudgetPlanDetailTotal(project, projectBudgetPlanDetails)); + //资金计划表中的统计信息【下面资金小表】 + model.put("underwrittenPlanStatistic", projectBudgetService.getProjectUnderwrittenPlanStatisticBean(projectBudgetPlanDetails)); + //现金表 + model.put("cashFlowBean", projectBudgetService.getCashFlowBean(project, projectBudgetPlanDetails)); + model.put("finalBean", new FinalBean()); + //freemarker可以利用的静态方法 + model.put("Utils", FreeMarkerUtil.fromStaticPackage("cn.palmte.work.utils.Utils")); + return "admin/project_detail"; + } - - - - - - - + /** + * 审核页面 + * @param id + * @param model + * @return + */ + @RequestMapping("/approve") + public String approve(@RequestParam("id") int id, Map<String, Object> model) { + Project project = projectService.getProject(id); + EstimateBean estimateBean = projectEstimateService.getEstimate(project); + model.put("estimateBean", estimateBean); + model.put("project", project); + BudgetBean budgetBean = projectBudgetService.getBudget(project); + //预算主页面数据 + model.put("budgetBean", budgetBean); + //收入明细 + model.put("incomeDetails", projectBudgetService.getBudgetIncomeDetail(project)); + //成本明细 + model.put("costDetails", projectBudgetService.getBudgetCostDetail(project)); + //项目管理成本明细 + model.put("costProjectManageDetails", projectBudgetService.getBudgetCostProjectManageDetail(project)); + List<ProjectBudgetPlanDetail> projectBudgetPlanDetails = projectBudgetService.getProjectBudgetPlanDetails(project); + //资金计划明细 + model.put("projectBudgetPlanDetails", projectBudgetPlanDetails); + //资金计划总【上面汇总表】 + model.put("projectBudgetPlanDetailTotal", projectBudgetService.getProjectBudgetPlanDetailTotal(project, projectBudgetPlanDetails)); + //资金计划表中的统计信息【下面资金小表】 + model.put("underwrittenPlanStatistic", projectBudgetService.getProjectUnderwrittenPlanStatisticBean(projectBudgetPlanDetails)); + //现金表 + model.put("cashFlowBean", projectBudgetService.getCashFlowBean(project, projectBudgetPlanDetails)); + model.put("finalBean", new FinalBean()); + //freemarker可以利用的静态方法 + model.put("Utils", FreeMarkerUtil.fromStaticPackage("cn.palmte.work.utils.Utils")); + return "admin/project_approve"; + } @InitBinder - public void initBinder(WebDataBinder webDataBinder){ + public void initBinder(WebDataBinder webDataBinder) { webDataBinder.addCustomFormatter(new DateFormatter("yyyy-MM-dd")); } } diff --git a/src/main/resources/templates/admin/project_approve.ftl b/src/main/resources/templates/admin/project_approve.ftl new file mode 100644 index 0000000..1db827c --- /dev/null +++ b/src/main/resources/templates/admin/project_approve.ftl @@ -0,0 +1,2095 @@ +<#assign base=request.contextPath /> + +<#import "../common/defaultLayout.ftl" as defaultLayout> +<@defaultLayout.layout> + + <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; + } + + select[readonly] option { + display: none; + } + </style> + + <div class="admin-content"> + <div class="admin-content-body"> + <div class="am-cf am-padding"> + <div class="am-fl am-cf"><strong class="am-text-primary am-text-lg">项目审核</strong> / + <small>${project.name}</small></div> + </div> + + <form method="post" class="am-form" id="pmsForm" action="${base}/project/budgetEditSave"> + <!--选项卡(tabs)begin--> + <div class="am-tabs am-margin" data-am-tabs> + <ul class="am-tabs-nav am-nav am-nav-tabs"> + <li class="am-active"><a href="#tab1">项目基本信息</a></li> + <li><a href="#tab2">项目概算信息</a></li> + <li><a href="#tab3">项目预算信息</a></li> + <li><a href="#tab4">项目结算信息</a></li> + <li><a href="#tab5">项目决算信息</a></li> + </ul> + <div class="am-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="${project.projectContributionProfitRateThreshold}"/> + <!--验证表单元素(validate) begin--> + + <div class="am-g am-form-group am-margin-top"> + <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>部门名称 + </div> + <div class="am-u-sm-6 am-u-md-6"> + <span>${project.deptName}</span> + </div> + <div class="am-u-sm-2 am-u-md-4 input-msg"></div> + </div> + + <div class="am-g am-form-group am-margin-top"> + <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>项目计划开始时间 + </div> + <div class="am-u-sm-6 am-u-md-6"> + <span>${project.startDate}</span> + </div> + <div class="am-u-sm-2 am-u-md-4 input-msg"></div> + </div> + <div class="am-g am-form-group am-margin-top"> + <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>项目计划结束时间 + </div> + <div class="am-u-sm-6 am-u-md-6"> + <span>${project.endDate}</span> + </div> + <div class="am-u-sm-2 am-u-md-4 input-msg"></div> + </div> + + <div class="am-g am-form-group am-margin-top"> + <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>项目名称 + </div> + <div class="am-u-sm-6 am-u-md-6"> + <span>${project.name}</span> + </div> + <div class="am-u-sm-2 am-u-md-4 input-msg"></div> + </div> + + <div class="am-g am-form-group am-margin-top"> + <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>项目类型 + </div> + <div class="am-u-sm-6 am-u-md-6"> + <span> + <#if (project.type) =1> + 工程集成类 + <#elseif (project.type) =2> + 设备集成类 + <#elseif (project.type) =3> + 战略合作类 + </#if> + </span> + </div> + <div class="am-u-sm-2 am-u-md-4 input-msg"></div> + </div> + <div class="am-g am-form-group am-margin-top"> + <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>垫资模式 + </div> + <div class="am-u-sm-6 am-u-md-6"> + <span> + <#if (project.underwrittenMode) =1> + A类-不垫资(战略合作) + <#elseif (project.underwrittenMode) =2> + B类-不垫资(背靠背) + <#elseif (project.underwrittenMode) =3> + C类-垫资(账期覆盖) + <#elseif (project.underwrittenMode) =4> + D类-垫资(账期不覆盖) + </#if> + </span> + </div> + <div class="am-u-sm-2 am-u-md-4 input-msg"></div> + </div> + + <div class="am-g am-form-group am-margin-top"> + <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>客户名称 + </div> + <div class="am-u-sm-6 am-u-md-6"> + <span>${project.customer}</span> + </div> + <div class="am-u-sm-2 am-u-md-4 input-msg"></div> + </div> + + <div class="am-g am-form-group am-margin-top"> + <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>终端客户名称 + </div> + <div class="am-u-sm-6 am-u-md-6"> + <span>${project.terminalCustomer}</span> + </div> + <div class="am-u-sm-2 am-u-md-4 input-msg"></div> + </div> + <div class="am-g am-form-group am-margin-top"> + <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>垫资利息 + </div> + <div class="am-u-sm-6 am-u-md-6"> + <span>${project.advanceInterestAmount}</span>元 + </div> + <div class="am-u-sm-2 am-u-md-4 input-msg"></div> + </div> + <div class="am-g am-form-group am-margin-top"> + <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>垫资峰值 + </div> + <div class="am-u-sm-6 am-u-md-6"> + <span>${project.advancePeakAmount}</span>元 + </div> + <div class="am-u-sm-2 am-u-md-4 input-msg"></div> + </div> + <div class="am-g am-form-group am-margin-top"> + <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>合同金额 + </div> + <div class="am-u-sm-6 am-u-md-6"> + <span>${project.contractAmount}</span>元 + </div> + <div class="am-u-sm-2 am-u-md-4 input-msg"></div> + </div> + <div class="am-g am-form-group am-margin-top"> + <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>行业场景应用 + </div> + <div class="am-u-sm-6 am-u-md-6"> + <span>${project.industryScenario}</span> + </div> + <div class="am-u-sm-2 am-u-md-4 input-msg"></div> + </div> + <div class="am-g am-form-group am-margin-top"> + <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>华智产品金额 + </div> + <div class="am-u-sm-6 am-u-md-6"> + <span>${project.huazhiProductAmount!}</span>元 + </div> + <div class="am-u-sm-2 am-u-md-4 input-msg"></div> + </div> + <div class="am-g am-form-group am-margin-top"> + <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>紫光其他产品金额 + </div> + <div class="am-u-sm-6 am-u-md-6"> + <span>${project.ziguangOtherAmount!}</span>元 + </div> + <div class="am-u-sm-2 am-u-md-4 input-msg"></div> + </div> + <div class="am-g am-form-group am-margin-top"> + <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>主合同收款条款 + </div> + <div class="am-u-sm-6 am-u-md-6"> + <span>${project.mainContractCollectionTerms}</span> + </div> + <div class="am-u-sm-2 am-u-md-4 input-msg"></div> + </div> + + </div> + <!--验证表单元素(validate end--> + </div> + + + <div class="am-tabs-bd"> + <div class="am-tab-panel am-fade am-in" id="tab2"> + <span class="am-text-lg">收入</span> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;"> + <tbody> + <tr class="am-text-lg"> + <td>类别</td> + <td>费用</td> + <td>含税金额(元)</td> + <td>不含税金额(元)</td> + </tr> + <tr> + <td>收入</td> + <td>设备类</td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" + name="incomeDeviceTaxInclude" + value="${Utils.format(estimateBean.incomeDeviceTaxInclude)}" required> + </td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" + name="incomeDeviceTaxExclude" + value="${Utils.format(estimateBean.incomeDeviceTaxExclude)}" required> + </td> + </tr> + <tr> + <td>收入</td> + <td>工程类</td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" + name="incomeEngineerTaxInclude" + value="${Utils.format(estimateBean.incomeEngineerTaxInclude)}" required> + </td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" + name="incomeEngineerTaxExclude" + value="${Utils.format(estimateBean.incomeEngineerTaxExclude)}" required> + </td> + </tr> + <tr> + <td>收入</td> + <td>服务类</td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" + name="incomeServiceTaxInclude" + value="${Utils.format(estimateBean.incomeServiceTaxInclude)}" required> + </td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" + name="incomeServiceTaxExclude" + value="${Utils.format(estimateBean.incomeServiceTaxExclude)}" required> + </td> + </tr> + <tr> + <td>合计</td> + <td></td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" + name="incomeTotalTaxInclude" + value="${Utils.format(estimateBean.incomeTotalTaxInclude)}" readonly + title="此列累计"></td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" + name="incomeTotalTaxExclude" + value="${Utils.format(estimateBean.incomeTotalTaxExclude)}" readonly + title="此列累计"></td> + </tr> + </tbody> + </table> + <span class="am-text-lg">成本</span> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;"> + <tbody> + <tr class="am-text-lg"> + <td>类别</td> + <td>费用</td> + <td>费用项目</td> + <td>含税金额(元)</td> + <td>不含税金额(元)</td> + </tr> + <tr> + <td>成本</td> + <td>采购成本</td> + <td>设备</td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" + name="costPurchaseDeviceTaxInclude" + value="${Utils.format(estimateBean.costPurchaseDeviceTaxInclude)}" + required></td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" + name="costPurchaseDeviceTaxExclude" + value="${Utils.format(estimateBean.costPurchaseDeviceTaxExclude)}" + required></td> + </tr> + <tr> + <td>成本</td> + <td>采购成本</td> + <td>施工</td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" + name="costPurchaseBuildTaxInclude" + value="${Utils.format(estimateBean.costPurchaseBuildTaxInclude)}" + required></td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" + name="costPurchaseBuildTaxExclude" + value="${Utils.format(estimateBean.costPurchaseBuildTaxExclude)}" + required></td> + </tr> + <tr> + <td>成本</td> + <td>采购成本</td> + <td>服务</td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" + name="costPurchaseServiceTaxInclude" + value="${Utils.format(estimateBean.costPurchaseServiceTaxInclude)}" + required></td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" + name="costPurchaseServiceTaxExclude" + value="${Utils.format(estimateBean.costPurchaseServiceTaxExclude)}" + required></td> + </tr> + <tr> + <td>成本</td> + <td>采购成本</td> + <td>其他</td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" + name="costPurchaseOtherTaxInclude" + value="${Utils.format(estimateBean.costPurchaseOtherTaxInclude)}" + required></td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" + name="costPurchaseOtherTaxExclude" + value="${Utils.format(estimateBean.costPurchaseOtherTaxExclude)}" + required></td> + </tr> + <tr> + <td>成本</td> + <td>项目管理成本</td> + <td>项目管理成本</td> + <td><#--<input name="costProjectManageTaxInclude" value="${estimateBean.costProjectManageTaxInclude}" required>--> + / + </td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" + name="costProjectManageTaxExclude" + value="${Utils.format(estimateBean.costProjectManageTaxExclude)}" + required></td> + </tr> + <tr> + <td>成本</td> + <td>其他</td> + <td>其他</td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" + name="costOtherOtherTaxInclude" + value="${Utils.format(estimateBean.costOtherOtherTaxInclude)}" required> + </td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" + name="costOtherOtherTaxExclude" + value="${Utils.format(estimateBean.costOtherOtherTaxExclude)}" required> + </td> + </tr> + <tr> + <td>合计</td> + <td></td> + <td></td> + <td><input type="number" name="costTotalTaxInclude" + value="${Utils.format(estimateBean.costTotalTaxInclude)}" readonly + title="此列累计"></td> + <td><input type="number" name="costTotalTaxExclude" + value="${Utils.format(estimateBean.costTotalTaxExclude)}" readonly + title="此列累计"></td> + </tr> + </tbody> + </table> + <span class="am-text-lg">管理</span> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;"> + <tbody> + <tr class="am-text-lg"> + <td>类别</td> + <td>费用项目</td> + <td>不含税金额(元)</td> + </tr> + <tr> + <td>财务费用</td> + <td>资金占用成本</td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" + name="costExpropriationTaxExclude" + value="${Utils.format(estimateBean.costExpropriationTaxExclude)}" + required></td> + </tr> + <tr> + <td>公司管理费用</td> + <td></td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" + name="costCompanyManageTaxExclude" + value="${Utils.format(estimateBean.costCompanyManageTaxExclude)}" + required></td> + </tr> + </tbody> + </table> + + <span class="am-text-lg">利润率计算</span> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;"> + <tbody> + <tr class="am-text-lg"> + <td>类别</td> + <td>不含税金额(元)</td> + <td>利润率(%)</td> + </tr> + <tr> + <td>项目毛利</td> + <td><input type="number" name="projectGrossProfit" + value="${Utils.format(estimateBean.projectGrossProfit)}" readonly + title="收入总计(不含税)-成本总计(不含税)-财务费用总计(不含税)"></td> + <td><input type="number" name="projectGrossProfitRate" + value="${Utils.format(estimateBean.projectGrossProfitRate)}" readonly + title="毛利(不含税)/收入总计(不含税)"></td> + </tr> + <tr> + <td>项目贡献利润率</td> + <td><input type="number" name="projectContributionProfit" + value="${Utils.format(estimateBean.projectContributionProfit)}" readonly + title="项目毛利(不含税)-公司管理费用总计(不含税)"></td> + <td><input type="number" name="projectContributionProfitRate" + value="${Utils.format(estimateBean.projectContributionProfitRate)}" + readonly title="贡献利润(不含税)/收入总计(不含税)"></td> + </tr> + </tbody> + </table> + </div> + <!--验证表单元素(validate end--> + </div> + + <div class="am-tabs-bd"> + <div class="am-tab-panel am-fade am-in" id="tab3"> + <span class="am-text-lg">收入</span> + <span class="am-text-primary"><a style="cursor: pointer" id="income-detail">收入明细表</a></span> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;"> + <tbody> + <tr class="am-text-lg"> + <td>类别</td> + <td>费用</td> + <td>含税金额(元)</td> + <td>不含税金额(元)</td> + </tr> + <tr> + <td>收入</td> + <td>设备类</td> + <td><input type="number" name="incomeDeviceTaxInclude" + value="${Utils.format(budgetBean.incomeDeviceTaxInclude,'0')}" required + readonly title="设备类含税总额"></td> + <td><input type="number" name="incomeDeviceTaxExclude" + value="${Utils.format(budgetBean.incomeDeviceTaxExclude,'0')}" required + readonly title="设备类不含税总额"></td> + </tr> + <tr> + <td>收入</td> + <td>工程类</td> + <td><input type="number" name="incomeEngineerTaxInclude" + value="${Utils.format(budgetBean.incomeEngineerTaxInclude,'0')}" required + readonly title="工程类含税总额"></td> + <td><input type="number" name="incomeEngineerTaxExclude" + value="${Utils.format(budgetBean.incomeEngineerTaxExclude,'0')}" required + readonly title="工程类不含税总额"></td> + </tr> + <tr> + <td>收入</td> + <td>服务类</td> + <td><input type="number" name="incomeServiceTaxInclude" + value="${Utils.format(budgetBean.incomeServiceTaxInclude,'0')}" required + readonly title="服务类含税总额"></td> + <td><input type="number" name="incomeServiceTaxExclude" + value="${Utils.format(budgetBean.incomeServiceTaxExclude,'0')}" required + readonly title="服务类不含税总额"></td> + </tr> + <tr> + <td>合计</td> + <td></td> + <td><input type="number" name="incomeTotalTaxInclude" + value="${Utils.format(budgetBean.incomeTotalTaxInclude,'0')}" readonly + required title="此列累计"></td> + <td><input type="number" name="incomeTotalTaxExclude" + value="${Utils.format(budgetBean.incomeTotalTaxExclude,'0')}" readonly + required title="此列累计"></td> + </tr> + </tbody> + </table> + <span class="am-text-lg">成本</span> + <span class="am-text-primary"><a style="cursor: pointer" id="cost-detail">采购成本明细表</a></span> + <span class="am-text-primary"><a style="cursor: pointer" id="cost-project-manage-detail">项目管理成本表</a></span> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;"> + <tbody> + <tr class="am-text-lg"> + <td>类别</td> + <td>费用</td> + <td>费用项目</td> + <td>含税金额(元)</td> + <td>不含税金额(元)</td> + </tr> + <tr> + <td>成本</td> + <td>采购成本</td> + <td>设备</td> + <td><input type="number" name="costPurchaseDeviceTaxInclude" + value="${Utils.format(budgetBean.costPurchaseDeviceTaxInclude,'0')}" + readonly required title="购买设备含税总额"></td> + <td><input type="number" name="costPurchaseDeviceTaxExclude" + value="${Utils.format(budgetBean.costPurchaseDeviceTaxExclude,'0')}" + readonly required title="购买设备不含税总额"></td> + </tr> + <tr> + <td>成本</td> + <td>采购成本</td> + <td>施工</td> + <td><input type="number" name="costPurchaseBuildTaxInclude" + value="${Utils.format(budgetBean.costPurchaseBuildTaxInclude,'0')}" + readonly required title="购买施工含税总额"></td> + <td><input type="number" name="costPurchaseBuildTaxExclude" + value="${Utils.format(budgetBean.costPurchaseBuildTaxExclude,'0')}" + readonly required title="购买施工不含税总额"></td> + </tr> + <tr> + <td>成本</td> + <td>采购成本</td> + <td>服务</td> + <td><input type="number" name="costPurchaseServiceTaxInclude" + value="${Utils.format(budgetBean.costPurchaseServiceTaxInclude,'0')}" + readonly required title="购买服务含税总额"></td> + <td><input type="number" name="costPurchaseServiceTaxExclude" + value="${Utils.format(budgetBean.costPurchaseServiceTaxExclude,'0')}" + readonly required title="购买服务不含税总额"></td> + </tr> + <tr> + <td>成本</td> + <td>采购成本</td> + <td>其他</td> + <td><input type="number" name="costPurchaseOtherTaxInclude" + value="${Utils.format(budgetBean.costPurchaseOtherTaxInclude,'0')}" + readonly required title="购买其他含税总额"></td> + <td><input type="number" name="costPurchaseOtherTaxExclude" + value="${Utils.format(budgetBean.costPurchaseOtherTaxExclude,'0')}" + readonly required title="购买其他不含税总额"></td> + </tr> + <tr> + <td>成本</td> + <td>项目管理成本</td> + <td>项目管理成本</td> + <td><#--<input name="costProjectManageTaxInclude" value="${budgetBean.costProjectManageTaxInclude!}" readonly required>--> + / + </td> + <td><input type="number" name="costProjectManageTaxExclude" + value="${Utils.format(budgetBean.costProjectManageTaxExclude,'0')}" + readonly required title="项目管理成本总额"></td> + </tr> + <tr> + <td>成本</td> + <td>其他</td> + <td>其他</td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" + name="costOtherOtherTaxInclude" + value="${Utils.format(budgetBean.costOtherOtherTaxInclude,'0')}" required + title="其他含税总额(填入)"></td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" + name="costOtherOtherTaxExclude" + value="${Utils.format(budgetBean.costOtherOtherTaxExclude,'0')}" required + title="其他不含税总额(填入)"></td> + </tr> + <tr> + <td>合计</td> + <td></td> + <td></td> + <td><input type="number" name="costTotalTaxInclude" + value="${Utils.format(budgetBean.costTotalTaxInclude,'0')}" readonly + required title="此列累计"></td> + <td><input type="number" name="costTotalTaxExclude" + value="${Utils.format(budgetBean.costTotalTaxExclude,'0')}" readonly + required title="此列累计"></td> + </tr> + </tbody> + </table> + <span class="am-text-lg">管理</span> + <span class="am-text-primary budget-plan-detail"><a style="cursor: pointer">资金计划表</a></span> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;"> + <tbody> + <tr class="am-text-lg"> + <td>类别</td> + <td>费用项目</td> + <td>不含税金额(元)</td> + </tr> + <tr> + <td>财务费用</td> + <td>资金占用成本</td> + <td><input type="number" name="costExpropriationTaxExclude" + value="${Utils.format(budgetBean.costExpropriationTaxExclude,'0')}" + required readonly title="资金占用成本不含税总额"></td> + </tr> + <tr> + <td>公司管理费用</td> + <td></td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" + name="costCompanyManageTaxExclude" + value="${Utils.format(budgetBean.costCompanyManageTaxExclude,'0')}" + required title="公司管理费用不含税总额"></td> + </tr> + </tbody> + </table> + + <span class="am-text-lg">利润率计算</span> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;"> + <tbody> + <tr class="am-text-lg"> + <td>类别</td> + <td>不含税金额(元)</td> + <td>利润率(%)</td> + </tr> + <tr> + <td>项目毛利</td> + <td><input type="number" name="projectGrossProfit" + value="${Utils.format(budgetBean.projectGrossProfit,'0')}" readonly + required title="收入总计(不含税)-成本总计(不含税)-财务费用总计(不含税)"></td> + <td><input type="number" name="projectGrossProfitRate" + value="${Utils.format(budgetBean.projectGrossProfitRate,'0')}" readonly + required title="毛利(不含税)/收入总计(不含税)"></td> + </tr> + <tr> + <td>项目贡献利润率</td> + <td><input type="number" name="projectContributionProfit" + value="${Utils.format(budgetBean.projectContributionProfit,'0')}" + readonly required title="项目毛利(不含税)-公司管理费用总计(不含税)"></td> + <td><input type="number" name="projectContributionProfitRate" + value="${Utils.format(budgetBean.projectContributionProfitRate,'0')}" + readonly required title="贡献利润(不含税)/收入总计(不含税)"></td> + </tr> + </tbody> + </table> + + <span class="am-text-lg">现金流量表</span> + <span class="am-text-primary budget-plan-detail"><a style="cursor: pointer">资金计划表</a></span> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;"> + <tbody> + <tr class="am-text-lg"> + <td>类别</td> + <td>金额(元)</td> + </tr> + <tr> + <td>销售商品、提供劳务收到的现金a</td> + <td><input type="number" name="saleIncomeCash" + value="${Utils.format(cashFlowBean.saleIncomeCash,'0')}" readonly + required title="取自资金计划表(销售收款)"></td> + </tr> + <tr> + <td>收到的税费返还b</td> + <td>/<input type="hidden" name="taxReturn" + value="${Utils.format(cashFlowBean.taxReturn,'0')}" readonly required> + </td> + </tr> + <tr> + <td>收到其他与经营活动有关的现金c</td> + <td><input type="number" name="earnestMoneyIncome" + value="${Utils.format(cashFlowBean.earnestMoneyIncome,'0')}" readonly + required title="取自资金计划表(保证金收款)"></td> + </tr> + <tr> + <td>购买商品、接受劳务支付的现d</td> + <td><input type="number" name="purchaseCost" + value="${Utils.format(cashFlowBean.purchaseCost,'0')}" readonly required + title="取自资金计划表(设备支出+工程支出)"></td> + </tr> + <tr> + <td>支付的各项税费e</td> + <td>/<input type="hidden" name="taxCost" + value="${Utils.format(cashFlowBean.taxCost,'0')}" readonly required> + </td> + </tr> + <tr> + <td>支付其他与经营活动有关的现金f</td> + <td><input type="number" name="earnestMoneyCost" + value="${Utils.format(cashFlowBean.earnestMoneyCost,'0')}" readonly + required title="取自资金计划表(经营性开支+保证金支出+资金利息)"></td> + </tr> + <tr> + <td>经营活动产生的现金流量净额g</td> + <td><input type="number" name="netCashFlow" + value="${Utils.format(cashFlowBean.netCashFlow,'0')}" readonly required + title="g=a+c+b-d-f-e"></td> + </tr> + <tr> + <td>投资活动现金流入h</td> + <td>/<input type="hidden" name="cashInflowFromInvestingActivities" + value="${Utils.format(cashFlowBean.cashInflowFromInvestingActivities,'0')}" + readonly required></td> + </tr> + <tr> + <td>投资活动现金流出i</td> + <td>/<input type="hidden" name="cashOutflowFromInvestingActivities" + value="${Utils.format(cashFlowBean.cashOutflowFromInvestingActivities,'0')}" + readonly required></td> + </tr> + <tr> + <td>投资活动产生的现金流量净额j</td> + <td>/<input type="hidden" name="netCashFromInvestingActivities" + value="${Utils.format(cashFlowBean.netCashFromInvestingActivities,'0')}" + readonly required></td> + </tr> + <tr> + <td>融资资金流入k</td> + <td><input type="number" name="financingCapitalInflow" + value="${Utils.format(cashFlowBean.financingCapitalInflow,'0')}" readonly + required title="从资金计划表查(垫资计划)"></td> + </tr> + <tr> + <td>还款资金流出l</td> + <td><input type="number" name="financingCapitalOutflow" + value="${Utils.format(cashFlowBean.financingCapitalOutflow,'0')}" + readonly required title="从资金计划表查(还款计划)"></td> + </tr> + <tr> + <td>筹资活动产生的现金流量净额m</td> + <td><input type="number" name="financingCapitalCashflow" + value="${Utils.format(cashFlowBean.financingCapitalCashflow,'0')}" + readonly required title="m=k-l"></td> + </tr> + <tr> + <td>货币资金净增加额n</td> + <td><input type="number" name="netIncreaseMonetaryFunds" + value="${Utils.format(cashFlowBean.netIncreaseMonetaryFunds,'0')}" + readonly required title="n=g+j+m"></td> + </tr> + </tbody> + </table> + </div> + <!--验证表单元素(validate end--> + </div> + + <div class="am-tabs-bd"> + <div class="am-tab-panel am-fade am-in" id="tab4"> + <span class="am-text-lg">收入</span> + <span class="am-text-primary"><a style="cursor: pointer" id="income-detail">收入明细表</a></span> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;"> + <tbody> + <tr class="am-text-lg"> + <td>类别</td> + <td>费用</td> + <td>含税金额(元)</td> + <td>不含税金额(元)</td> + </tr> + <tr> + <td>收入</td> + <td>设备类</td> + <td><input type="number" name="incomeDeviceTaxInclude" + value="${Utils.format(budgetBean.incomeDeviceTaxInclude,'0')}" required + readonly title="设备类含税总额"></td> + <td><input type="number" name="incomeDeviceTaxExclude" + value="${Utils.format(budgetBean.incomeDeviceTaxExclude,'0')}" required + readonly title="设备类不含税总额"></td> + </tr> + <tr> + <td>收入</td> + <td>工程类</td> + <td><input type="number" name="incomeEngineerTaxInclude" + value="${Utils.format(budgetBean.incomeEngineerTaxInclude,'0')}" required + readonly title="工程类含税总额"></td> + <td><input type="number" name="incomeEngineerTaxExclude" + value="${Utils.format(budgetBean.incomeEngineerTaxExclude,'0')}" required + readonly title="工程类不含税总额"></td> + </tr> + <tr> + <td>收入</td> + <td>服务类</td> + <td><input type="number" name="incomeServiceTaxInclude" + value="${Utils.format(budgetBean.incomeServiceTaxInclude,'0')}" required + readonly title="服务类含税总额"></td> + <td><input type="number" name="incomeServiceTaxExclude" + value="${Utils.format(budgetBean.incomeServiceTaxExclude,'0')}" required + readonly title="服务类不含税总额"></td> + </tr> + <tr> + <td>合计</td> + <td></td> + <td><input type="number" name="incomeTotalTaxInclude" + value="${Utils.format(budgetBean.incomeTotalTaxInclude,'0')}" readonly + required title="此列累计"></td> + <td><input type="number" name="incomeTotalTaxExclude" + value="${Utils.format(budgetBean.incomeTotalTaxExclude,'0')}" readonly + required title="此列累计"></td> + </tr> + </tbody> + </table> + <span class="am-text-lg">成本</span> + <span class="am-text-primary"><a style="cursor: pointer" id="cost-detail">采购成本明细表</a></span> + <span class="am-text-primary"><a style="cursor: pointer" id="cost-project-manage-detail">项目管理成本表</a></span> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;"> + <tbody> + <tr class="am-text-lg"> + <td>类别</td> + <td>费用</td> + <td>费用项目</td> + <td>含税金额(元)</td> + <td>不含税金额(元)</td> + </tr> + <tr> + <td>成本</td> + <td>采购成本</td> + <td>设备</td> + <td><input type="number" name="costPurchaseDeviceTaxInclude" + value="${Utils.format(budgetBean.costPurchaseDeviceTaxInclude,'0')}" + readonly required title="购买设备含税总额"></td> + <td><input type="number" name="costPurchaseDeviceTaxExclude" + value="${Utils.format(budgetBean.costPurchaseDeviceTaxExclude,'0')}" + readonly required title="购买设备不含税总额"></td> + </tr> + <tr> + <td>成本</td> + <td>采购成本</td> + <td>施工</td> + <td><input type="number" name="costPurchaseBuildTaxInclude" + value="${Utils.format(budgetBean.costPurchaseBuildTaxInclude,'0')}" + readonly required title="购买施工含税总额"></td> + <td><input type="number" name="costPurchaseBuildTaxExclude" + value="${Utils.format(budgetBean.costPurchaseBuildTaxExclude,'0')}" + readonly required title="购买施工不含税总额"></td> + </tr> + <tr> + <td>成本</td> + <td>采购成本</td> + <td>服务</td> + <td><input type="number" name="costPurchaseServiceTaxInclude" + value="${Utils.format(budgetBean.costPurchaseServiceTaxInclude,'0')}" + readonly required title="购买服务含税总额"></td> + <td><input type="number" name="costPurchaseServiceTaxExclude" + value="${Utils.format(budgetBean.costPurchaseServiceTaxExclude,'0')}" + readonly required title="购买服务不含税总额"></td> + </tr> + <tr> + <td>成本</td> + <td>采购成本</td> + <td>其他</td> + <td><input type="number" name="costPurchaseOtherTaxInclude" + value="${Utils.format(budgetBean.costPurchaseOtherTaxInclude,'0')}" + readonly required title="购买其他含税总额"></td> + <td><input type="number" name="costPurchaseOtherTaxExclude" + value="${Utils.format(budgetBean.costPurchaseOtherTaxExclude,'0')}" + readonly required title="购买其他不含税总额"></td> + </tr> + <tr> + <td>成本</td> + <td>项目管理成本</td> + <td>项目管理成本</td> + <td><#--<input name="costProjectManageTaxInclude" value="${budgetBean.costProjectManageTaxInclude!}" readonly required>--> + / + </td> + <td><input type="number" name="costProjectManageTaxExclude" + value="${Utils.format(budgetBean.costProjectManageTaxExclude,'0')}" + readonly required title="项目管理成本总额"></td> + </tr> + <tr> + <td>成本</td> + <td>其他</td> + <td>其他</td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" + name="costOtherOtherTaxInclude" + value="${Utils.format(budgetBean.costOtherOtherTaxInclude,'0')}" required + title="其他含税总额(填入)"></td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" + name="costOtherOtherTaxExclude" + value="${Utils.format(budgetBean.costOtherOtherTaxExclude,'0')}" required + title="其他不含税总额(填入)"></td> + </tr> + <tr> + <td>合计</td> + <td></td> + <td></td> + <td><input type="number" name="costTotalTaxInclude" + value="${Utils.format(budgetBean.costTotalTaxInclude,'0')}" readonly + required title="此列累计"></td> + <td><input type="number" name="costTotalTaxExclude" + value="${Utils.format(budgetBean.costTotalTaxExclude,'0')}" readonly + required title="此列累计"></td> + </tr> + </tbody> + </table> + <span class="am-text-lg">管理</span> + <span class="am-text-primary budget-plan-detail"><a style="cursor: pointer">资金计划表</a></span> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;"> + <tbody> + <tr class="am-text-lg"> + <td>类别</td> + <td>费用项目</td> + <td>不含税金额(元)</td> + </tr> + <tr> + <td>财务费用</td> + <td>资金占用成本</td> + <td><input type="number" name="costExpropriationTaxExclude" + value="${Utils.format(budgetBean.costExpropriationTaxExclude,'0')}" + required readonly title="资金占用成本不含税总额"></td> + </tr> + <tr> + <td>公司管理费用</td> + <td></td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" + name="costCompanyManageTaxExclude" + value="${Utils.format(budgetBean.costCompanyManageTaxExclude,'0')}" + required title="公司管理费用不含税总额"></td> + </tr> + </tbody> + </table> + + <span class="am-text-lg">利润率计算</span> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;"> + <tbody> + <tr class="am-text-lg"> + <td>类别</td> + <td>不含税金额(元)</td> + <td>利润率(%)</td> + </tr> + <tr> + <td>项目毛利</td> + <td><input type="number" name="projectGrossProfit" + value="${Utils.format(budgetBean.projectGrossProfit,'0')}" readonly + required title="收入总计(不含税)-成本总计(不含税)-财务费用总计(不含税)"></td> + <td><input type="number" name="projectGrossProfitRate" + value="${Utils.format(budgetBean.projectGrossProfitRate,'0')}" readonly + required title="毛利(不含税)/收入总计(不含税)"></td> + </tr> + <tr> + <td>项目贡献利润率</td> + <td><input type="number" name="projectContributionProfit" + value="${Utils.format(budgetBean.projectContributionProfit,'0')}" + readonly required title="项目毛利(不含税)-公司管理费用总计(不含税)"></td> + <td><input type="number" name="projectContributionProfitRate" + value="${Utils.format(budgetBean.projectContributionProfitRate,'0')}" + readonly required title="贡献利润(不含税)/收入总计(不含税)"></td> + </tr> + </tbody> + </table> + + <span class="am-text-lg">现金流量表</span> + <span class="am-text-primary budget-plan-detail"><a style="cursor: pointer">资金计划表</a></span> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;"> + <tbody> + <tr class="am-text-lg"> + <td>类别</td> + <td>金额(元)</td> + </tr> + <tr> + <td>销售商品、提供劳务收到的现金a</td> + <td><input type="number" name="saleIncomeCash" + value="${Utils.format(cashFlowBean.saleIncomeCash,'0')}" readonly + required title="取自资金计划表(销售收款)"></td> + </tr> + <tr> + <td>收到的税费返还b</td> + <td>/<input type="hidden" name="taxReturn" + value="${Utils.format(cashFlowBean.taxReturn,'0')}" readonly required> + </td> + </tr> + <tr> + <td>收到其他与经营活动有关的现金c</td> + <td><input type="number" name="earnestMoneyIncome" + value="${Utils.format(cashFlowBean.earnestMoneyIncome,'0')}" readonly + required title="取自资金计划表(保证金收款)"></td> + </tr> + <tr> + <td>购买商品、接受劳务支付的现d</td> + <td><input type="number" name="purchaseCost" + value="${Utils.format(cashFlowBean.purchaseCost,'0')}" readonly required + title="取自资金计划表(设备支出+工程支出)"></td> + </tr> + <tr> + <td>支付的各项税费e</td> + <td>/<input type="hidden" name="taxCost" + value="${Utils.format(cashFlowBean.taxCost,'0')}" readonly required> + </td> + </tr> + <tr> + <td>支付其他与经营活动有关的现金f</td> + <td><input type="number" name="earnestMoneyCost" + value="${Utils.format(cashFlowBean.earnestMoneyCost,'0')}" readonly + required title="取自资金计划表(经营性开支+保证金支出+资金利息)"></td> + </tr> + <tr> + <td>经营活动产生的现金流量净额g</td> + <td><input type="number" name="netCashFlow" + value="${Utils.format(cashFlowBean.netCashFlow,'0')}" readonly required + title="g=a+c+b-d-f-e"></td> + </tr> + <tr> + <td>投资活动现金流入h</td> + <td>/<input type="hidden" name="cashInflowFromInvestingActivities" + value="${Utils.format(cashFlowBean.cashInflowFromInvestingActivities,'0')}" + readonly required></td> + </tr> + <tr> + <td>投资活动现金流出i</td> + <td>/<input type="hidden" name="cashOutflowFromInvestingActivities" + value="${Utils.format(cashFlowBean.cashOutflowFromInvestingActivities,'0')}" + readonly required></td> + </tr> + <tr> + <td>投资活动产生的现金流量净额j</td> + <td>/<input type="hidden" name="netCashFromInvestingActivities" + value="${Utils.format(cashFlowBean.netCashFromInvestingActivities,'0')}" + readonly required></td> + </tr> + <tr> + <td>融资资金流入k</td> + <td><input type="number" name="financingCapitalInflow" + value="${Utils.format(cashFlowBean.financingCapitalInflow,'0')}" readonly + required title="从资金计划表查(垫资计划)"></td> + </tr> + <tr> + <td>还款资金流出l</td> + <td><input type="number" name="financingCapitalOutflow" + value="${Utils.format(cashFlowBean.financingCapitalOutflow,'0')}" + readonly required title="从资金计划表查(还款计划)"></td> + </tr> + <tr> + <td>筹资活动产生的现金流量净额m</td> + <td><input type="number" name="financingCapitalCashflow" + value="${Utils.format(cashFlowBean.financingCapitalCashflow,'0')}" + readonly required title="m=k-l"></td> + </tr> + <tr> + <td>货币资金净增加额n</td> + <td><input type="number" name="netIncreaseMonetaryFunds" + value="${Utils.format(cashFlowBean.netIncreaseMonetaryFunds,'0')}" + readonly required title="n=g+j+m"></td> + </tr> + </tbody> + </table> + </div> + <!--验证表单元素(validate end--> + </div> + + + <div class="am-tabs-bd"> + <div class="am-tab-panel am-fade am-in" id="tab5"> + <span class="am-text-lg">收入</span> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;"> + <tbody> + <tr class="am-text-xl"> + <td>类别</td> + <td>费用</td> + <td>概算总额(元)</td> + <td>预算总额(元)</td> + <td>结算总额(元)</td> + <td>决算总额(元)</td> + </tr> + <tr> + <td>收入</td> + <td>设备类</td> + <td><input name="incomeDeviceTaxExclude" type="number" + value="${Utils.format(estimateBean.incomeDeviceTaxExclude,'0')}" required + readonly title="设备类概算总额"></td> + <td><input name="incomeDeviceTaxExclude" type="number" + value="${Utils.format(budgetBean.incomeDeviceTaxExclude,'0')}" required + readonly title="设备类预算总额"></td> + <td><input type="number" required readonly title="设备类结算总额"></td> + <td><input name="incomeDeviceFinalTotal" type="number" + value="${Utils.format(finalBean.incomeDeviceFinalTotal,'0')}" required + title="设备类决算总额"></td> + </tr> + <tr> + <td>收入</td> + <td>工程类</td> + <td><input name="incomeEngineerTaxExclude" type="number" + value="${Utils.format(estimateBean.incomeEngineerTaxExclude,'0')}" + required readonly title="工程类概算总额"></td> + <td><input name="incomeEngineerTaxExclude" type="number" + value="${Utils.format(budgetBean.incomeEngineerTaxExclude,'0')}" required + readonly title="工程类预算总额"></td> + <td><input type="number" required readonly title="工程类结算总额"></td> + <td><input name="incomeEngineerFinalTotal" type="number" + value="${Utils.format(finalBean.incomeEngineerFinalTotal,'0')}" required + title="工程类决算总额"></td> + </tr> + <tr> + <td>收入</td> + <td>服务类</td> + <td><input name="incomeServiceTaxExclude" type="number" + value="${Utils.format(estimateBean.incomeServiceTaxExclude,'0')}" + required readonly title="服务类概算总额"></td> + <td><input name="incomeServiceTaxExclude" type="number" + value="${Utils.format(budgetBean.incomeServiceTaxExclude,'0')}" required + readonly title="服务类预算总额"></td> + <td><input type="number" required readonly title="服务类结算总额"></td> + <td><input name="incomeServiceFinalTotal" type="number" + value="${Utils.format(finalBean.incomeServiceFinalTotal,'0')}" required + title="服务类决算总额"></td> + </tr> + <tr> + <td>合计</td> + <td></td> + <td><input name="incomeEstimateTotal" type="number" + value="${Utils.format(estimateBean.getIncomeTotalTaxExclude(),'0')}" + readonly required title="此列累计"></td> + <td><input name="incomeBudgetTotal" type="number" + value="${Utils.format(budgetBean.getIncomeTotalTaxExclude(),'0')}" + readonly required title="此列累计"></td> + <td><input name="incomeSettleTotal" type="number" readonly required title="此列累计"> + </td> + <td><input name="incomeFinalTotal" type="number" readonly required title="此列累计"> + </td> + </tr> + </tbody> + </table> + <span class="am-text-lg">成本</span> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;"> + <tbody> + <tr class="am-text-xl"> + <td>类别</td> + <td>费用</td> + <td>费用项目</td> + <td>概算总额(元)</td> + <td>预算总额(元)</td> + <td>结算总额(元)</td> + <td>决算总额(元)</td> + </tr> + <tr> + <td>成本</td> + <td>采购成本</td> + <td>设备</td> + <td><input name="costPurchaseDeviceTaxInclude" type="number" + value="${Utils.format(estimateBean.costPurchaseDeviceTaxExclude,'0')}" + readonly required title="购买设备概算总额"></td> + <td><input name="costPurchaseDeviceTaxExclude" type="number" + value="${Utils.format(budgetBean.costPurchaseDeviceTaxExclude,'0')}" + readonly required title="购买设备预算总额"></td> + <td><input name="costPurchaseDeviceTaxInclude" type="number" readonly required + title="购买设备结算总额"></td> + <td><input name="costPurchaseDeviceFinalTotal" type="number" + value="${Utils.format(finalBean.costPurchaseDeviceFinalTotal,'0')}" + required title="购买设备决算总额"></td> + </tr> + <tr> + <td>成本</td> + <td>采购成本</td> + <td>施工</td> + <td><input name="costPurchaseBuildEstimateTotal" type="number" + value="${Utils.format(estimateBean.costPurchaseBuildTaxExclude,'0')}" + readonly required title="施工采购成本概算总额"></td> + <td><input name="costPurchaseBuildBudgetTotal" type="number" + value="${Utils.format(budgetBean.costPurchaseBuildTaxExclude,'0')}" + readonly required title="施工采购成本预算总额"></td> + <td><input name="costPurchaseBuildSettleTotal" type="number" readonly required + title="施工采购成本结算总额"></td> + <td><input name="costPurchaseBuildFinalTotal" type="number" + value="${Utils.format(finalBean.costPurchaseBuildFinalTotal,'0')}" + required title="施工采购成本决算总额"></td> + </tr> + <tr> + <td>成本</td> + <td>采购成本</td> + <td>服务</td> + <td><input name="costPurchaseServiceEstimateTotal" type="number" + value="${Utils.format(estimateBean.costPurchaseServiceTaxExclude,'0')}" + readonly required title="服务采购成本概算总额"></td> + <td><input name="costPurchaseServiceBudgetTotal" type="number" + value="${Utils.format(budgetBean.costPurchaseServiceTaxExclude,'0')}" + readonly required title="服务采购成本预算总额"></td> + <td><input name="costPurchaseServiceSettleTotal" type="number" readonly required + title="服务采购成本结算总额"></td> + <td><input name="costPurchaseServiceFinalTotal" type="number" + value="${Utils.format(finalBean.costPurchaseServiceFinalTotal,'0')}" + required title="服务采购成本决算总额"></td> + </tr> + <tr> + <td>成本</td> + <td>采购成本</td> + <td>其他</td> + <td><input name="costPurchaseOtherEstimateTotal" type="number" + value="${Utils.format(estimateBean.costPurchaseOtherTaxInclude,'0')}" + readonly required title="其他采购成本概算总额"></td> + <td><input name="costPurchaseOtherBudgetTotal" type="number" + value="${Utils.format(budgetBean.costPurchaseOtherTaxInclude,'0')}" + readonly required title="其他采购成本预算总额"></td> + <td><input name="costPurchaseOtherSettleTotal" type="number" readonly required + title="其他采购成本结算总额"></td> + <td><input name="costPurchaseOtherFinalTotal" type="number" + value="${Utils.format(finalBean.costPurchaseOtherFinalTotal,'0')}" + required title="其他采购成本决算总额"></td> + </tr> + <tr> + <td>成本</td> + <td>项目管理成本</td> + <td>项目管理成本</td> + <td><input name="costProjectManageEstimateTotal" type="number" + value="${Utils.format(estimateBean.costProjectManageTaxExclude,'0')}" + readonly required title="项目管理成本概算总额"></td> + <td><input name="costProjectManageBudgetTotal" type="number" + value="${Utils.format(budgetBean.costProjectManageTaxExclude,'0')}" + readonly required title="项目管理成本预算总额"></td> + <td><input name="costProjectManageSettleTotal" type="number" readonly required + title="项目管理成本结算总额"></td> + <td><input name="costProjectManageFinalTotal" type="number" + value="${Utils.format(finalBean.costProjectManageFinalTotal,'0')}" + required title="项目管理成本决算总额"></td> + </tr> + <tr> + <td>成本</td> + <td>其他</td> + <td>其他</td> + <td><input name="costOtherEstimateTotal" type="number" + value="${Utils.format(estimateBean.costOtherOtherTaxExclude,'0')}" + readonly required title="其他成本概算总额"></td> + <td><input name="costOtherBudgetTotal" type="number" + value="${Utils.format(budgetBean.costOtherOtherTaxExclude,'0')}" readonly + required title="其他成本预算总额"></td> + <td><input name="costOtherSettleTotal" type="number" type="number" readonly required + title="其他成本结算总额"></td> + <td><input name="costOtherFinalTotal" type="number" + value="${Utils.format(finalBean.costOtherFinalTotal,'0')}" required + title="其他成本决算总额"></td> + </tr> + <tr> + <td>合计</td> + <td></td> + <td></td> + <td><input name="costEstimateTotal" + value="${Utils.format(estimateBean.getIncomeTotalTaxExclude(),'0')}" + type="number" readonly required title="此列累计"></td> + <td><input name="costBudgetTotal" + value="${Utils.format(budgetBean.getCostTotalTaxExclude(),'0')}" + type="number" readonly required title="此列累计"></td> + <td><input name="costSettleTotal" type="number" readonly required title="此列累计"></td> + <td><input name="costFinalTotal" type="number" readonly required title="此列累计"></td> + </tr> + </tbody> + </table> + <span class="am-text-lg">管理</span> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;"> + <tbody> + <tr class="am-text-xl"> + <td>类别</td> + <td>费用项目</td> + <td>概算总额(元)</td> + <td>预算总额(元)</td> + <td>结算总额(元)</td> + <td>决算总额(元)</td> + </tr> + <tr> + <td>财务费用</td> + <td>资金占用成本</td> + <td><input name="costExpropriationEstimateTotal" type="number" + value="${Utils.format(estimateBean.costExpropriationTaxExclude,'0')}" + required readonly title="资金占用成本概算总额"></td> + <td><input name="costExpropriationBudgetTotal" type="number" + value="${Utils.format(budgetBean.costExpropriationTaxExclude,'0')}" + required readonly title="资金占用成本预算总额"></td> + <td><input name="costExpropriationSettleTotal" type="number" required readonly + title="资金占用成本结算总额"></td> + <td><input name="costExpropriationFinalTotal" type="number" + value="${Utils.format(finalBean.costExpropriationFinalTotal,'0')}" + required title="资金占用成本决算总额"></td> + </tr> + <tr> + <td>公司管理费用</td> + <td></td> + <td><input name="costCompanyManageEstimateTotal" type="number" + value="${Utils.format(estimateBean.costCompanyManageTaxExclude,'0')}" + required readonly title="公司管理费用概算总额"></td> + <td><input name="costCompanyManageBudgetTotal" type="number" + value="${Utils.format(budgetBean.costCompanyManageTaxExclude,'0')}" + required readonly title="公司管理费用预算总额"></td> + <td><input name="costCompanyManageSettleTotal" type="number" required readonly + title="公司管理费用结算总额"></td> + <td><input name="costCompanyManageFinalTotal" type="number" + value="${Utils.format(finalBean.costCompanyManageFinalTotal,'0')}" + required title="公司管理费用决算总额"></td> + </tr> + <tr> + <td>所得税费用</td> + <td></td> + <td>/</td> + <td>/</td> + <td><input name="costIncomeTaxSettleTotal" type="number" required readonly + title="所得税费用结算总额"></td> + <td><input name="costIncomeTaxFinalTotal" type="number" + value="${Utils.format(finalBean.costIncomeTaxFinalTotal,'0')}" required + title="所得税费用决算总额"></td> + </tr> + <tr> + <td>合计</td> + <td></td> + <td><input name="manageEstimateTotal" type="number" readonly required title="此列累计"> + </td> + <td><input name="manageBudgetTotal" type="number" readonly required title="此列累计"> + </td> + <td><input name="manageSettleTotal" type="number" readonly required title="此列累计"> + </td> + <td><input name="manageFinalTotal" type="number" readonly required title="此列累计"> + </td> + </tr> + </tbody> + </table> + + <span class="am-text-lg">利润率计算</span> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;"> + <tbody> + <tr class="am-text-xl"> + <td>类别</td> + <td>概算总额(元)</td> + <td>预算总额(元)</td> + <td>结算总额(元)</td> + <td>决算总额(元)</td> + <td>利润率(%)</td> + </tr> + <tr> + <td>项目毛利</td> + <td><input name="grossProfitEstimateTotal" type="number" + value="${Utils.format(finalBean.grossProfitEstimateTotal,'0')}" readonly + required title="项目毛利概算总额"></td> + <td><input name="grossProfitBudgetTotal" type="number" + value="${Utils.format(finalBean.grossProfitBudgetTotal,'0')}" readonly + required title="项目毛利预算总额"></td> + <td><input name="grossProfitSettleTotal" type="number" + value="${Utils.format(finalBean.grossProfitSettleTotal,'0')}" readonly + required title="项目毛利结算总额"></td> + <td><input name="grossProfitFinalTotal" type="number" + value="${Utils.format(finalBean.grossProfitFinalTotal,'0')}" required + title="项目毛利决算总额"></td> + <td><input name="grossProfitProfitMargin" type="number" + value="${Utils.format(finalBean.grossProfitProfitMargin,'0')}" required + readonly title="项目毛利利润率"></td> + </tr> + <tr> + <td>项目贡献利润</td> + <td><input name="contributionMarginEstimateTotal" type="number" + value="${Utils.format(finalBean.contributionMarginEstimateTotal,'0')}" + readonly required title="项目贡献利润概算总额"></td> + <td><input name="contributionMarginBudgetTotal" type="number" + value="${Utils.format(finalBean.contributionMarginBudgetTotal,'0')}" + readonly required title="项目贡献利润预算总额"></td> + <td><input name="contributionMarginSettleTotal" type="number" + value="${Utils.format(finalBean.contributionMarginSettleTotal,'0')}" + readonly required title="项目贡献利润结算总额"></td> + <td><input name="contributionMarginFinalTotal" type="number" + value="${Utils.format(finalBean.contributionMarginFinalTotal,'0')}" + required title="项目贡献利润决算总额"></td> + <td><input name="contributionMarginProfitMargin" type="number" + value="${Utils.format(finalBean.contributionMarginProfitMargin,'0')}" + required readonly title="项目贡献利润利润率"></td> + </tr> + <tr> + <td>项目净利润</td> + <td><input name="netMarginEstimateTotal" type="number" + value="${Utils.format(finalBean.netMarginEstimateTotal,'0')}" readonly + required title="项目净利润概算总额"></td> + <td><input name="netMarginBudgetTotal" type="number" + value="${Utils.format(finalBean.netMarginBudgetTotal,'0')}" readonly + required title="项目净利润预算总额"></td> + <td><input name="netMarginSettleTotal" type="number" + value="${Utils.format(finalBean.netMarginSettleTotal,'0')}" readonly + required title="项目净利润结算总额"></td> + <td><input name="netMarginFinalTotal" type="number" + value="${Utils.format(finalBean.netMarginFinalTotal,'0')}" required + title="项目净利润决算总额"></td> + <td><input name="netMarginProfitMargin" type="number" + value="${Utils.format(finalBean.netMarginProfitMargin,'0')}" required + readonly title="项目净利润利润率"></td> + </tr> + </tbody> + </table> + + <span class="am-text-lg">现金流量表</span> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;"> + <tbody> + <tr class="am-text-xl"> + <td>类别</td> + <td>预算总额(元)</td> + <td>结算总额(元)</td> + <td>决算总额(元)</td> + </tr> + <tr> + <td>销售商品、提供劳务收到的现金</td> + <td><input name="type1BudgetTotal" type="number" + value="${Utils.format(cashFlowBean.saleIncomeCash,'0')}" readonly + required title="预算总额"></td> + <td><input name="type1SettleTotal" type="number" readonly required title="结算总额"> + </td> + <td><input name="saleIncomeCash" type="number" + value="${Utils.format(finalBean.saleIncomeCash,'0')}" required + title="决算总额"></td> + </tr> + <tr> + <td>收到的税费返还</td> + <td>/</td> + <td><input name="type2SettleTotal" type="number" + value="${Utils.format(cashFlowBean.taxReturn,'0')}" readonly required + title="结算总额"></td> + <td><input name="taxReturn" type="number" + value="${Utils.format(finalBean.taxReturn,'0')}" required title="决算总额"> + </td> + </tr> + <tr> + <td>收到其他与经营活动有关的现金</td> + <td><input name="type3BudgetTotal" type="number" + value="${Utils.format(cashFlowBean.earnestMoneyIncome,'0')}" readonly + required title="预算总额"></td> + <td><input name="type3SettleTotal" type="number" readonly required title="结算总额"> + </td> + <td><input name="earnestMoneyIncome" type="number" + value="${Utils.format(finalBean.earnestMoneyIncome,'0')}" required + title="决算总额"></td> + </tr> + <tr> + <td>购买商品、接受劳务支付的现金</td> + <td><input name="type4BudgetTotal" type="number" + value="${Utils.format(cashFlowBean.purchaseCost,'0')}" readonly required + title="预算总额"></td> + <td><input name="type4SettleTotal" type="number" readonly required title="结算总额"> + </td> + <td><input name="purchaseCost" type="number" + value="${Utils.format(finalBean.purchaseCost,'0')}" required + title="决算总额"></td> + </tr> + <tr> + <td>支付的各项税费</td> + <td>/</td> + <td><input name="type5SettleTotal" type="number" + value="${Utils.format(finalBean.type5SettleTotal,'0')}" readonly required + title="结算总额"></td> + <td><input name="taxCost" type="number" + value="${Utils.format(finalBean.taxCost,'0')}" required title="决算总额"> + </td> + </tr> + <tr> + <td>支付其他与经营活动有关的现金</td> + <td><input name="type6BudgetTotal" type="number" + value="${Utils.format(cashFlowBean.earnestMoneyCost,'0')}" readonly + required title="预算总额"></td> + <td><input name="type6SettleTotal" type="number" readonly required title="结算总额"> + </td> + <td><input name="earnestMoneyCost" type="number" + value="${Utils.format(finalBean.earnestMoneyCost,'0')}" required + title="决算总额"></td> + </tr> + <tr> + <td>经营活动产生的现金流量净额</td> + <td><input name="type7BudgetTotal" type="number" + value="${Utils.format(cashFlowBean.getNetCashFlow(),'0')}" readonly + required title="预算总额"></td> + <td><input name="type7SettleTotal" type="number" readonly required title="结算总额"> + </td> + <td><input name="netCashFlow" type="number" + value="${Utils.format(finalBean.netCashFlow,'0')}" required title="决算总额"> + </td> + </tr> + <tr> + <td>投资活动现金流入</td> + <td>/</td> + <td><input name="type8SettleTotal" type="number" readonly required title="结算总额"> + </td> + <td><input name="cashInflowFromInvestingActivities" + value="${Utils.format(finalBean.cashInflowFromInvestingActivities,'0')}" + type="number" required title="决算总额"></td> + </tr> + <tr> + <td>投资活动现金流出</td> + <td>/</td> + <td><input name="type9SettleTotal" type="number" + value="${Utils.format(finalBean.type9SettleTotal,'0')}" readonly required + title="结算总额"></td> + <td><input name="cashOutflowFromInvestingActivities" type="number" + value="${Utils.format(finalBean.cashOutflowFromInvestingActivities,'0')}" + required title="决算总额"></td> + </tr> + <tr> + <td>投资活动产生的现金流量净额</td> + <td>/</td> + <td><input name="type10SettleTotal" type="number" + value="${Utils.format(finalBean.type10SettleTotal,'0')}" readonly + required title="结算总额"></td> + <td><input name="netCashFromInvestingActivities" type="number" + value="${Utils.format(finalBean.netCashFromInvestingActivities,'0')}" + required title="决算总额"></td> + </tr> + <tr> + <td>融资资金流入</td> + <td><input name="type11BudgetTotal" type="number" + value="${Utils.format(cashFlowBean.financingCapitalInflow,'0')}" readonly + required title="预算总额"></td> + <td><input name="type11SettleTotal" type="number" + value="${Utils.format(finalBean.type11SettleTotal,'0')}" readonly + required title="结算总额"></td> + <td><input name="financingCapitalInflow" type="number" + value="${Utils.format(finalBean.financingCapitalInflow,'0')}" required + title="决算总额"></td> + </tr> + <tr> + <td>还款资金流出</td> + <td><input name="type12BudgetTotal" type="number" + value="${Utils.format(cashFlowBean.financingCapitalOutflow,'0')}" + readonly required title="预算总额"></td> + <td><input name="type12SettleTotal" type="number" + value="${Utils.format(finalBean.type12SettleTotal,'0')}" readonly + required title="结算总额"></td> + <td><input name="financingCapitalOutflow" type="number" + value="${Utils.format(finalBean.financingCapitalOutflow,'0')}" required + title="决算总额"></td> + </tr> + <tr> + <td>筹资活动产生的现金流量净额</td> + <td><input name="type13BudgetTotal" type="number" + value="${Utils.format(cashFlowBean.getFinancingCapitalCashflow(),'0')}" + readonly required title="预算总额"></td> + <td><input name="type13SettleTotal" type="number" + value="${Utils.format(finalBean.type13SettleTotal,'0')}" readonly + required title="结算总额"></td> + <td><input name="financingCapitalCashflow" type="number" + value="${Utils.format(finalBean.financingCapitalCashflow,'0')}" required + title="决算总额"></td> + </tr> + <tr> + <td>货币资金净增加额</td> + <td><input name="type14BudgetTotal" type="number" + value="${Utils.format(cashFlowBean.getNetIncreaseMonetaryFunds(),'0')}" + readonly required title="预算总额"></td> + <td><input name="type14SettleTotal" type="number" + value="${Utils.format(finalBean.type14SettleTotal,'0')}" readonly + required title="结算总额"></td> + <td><input name="netIncreaseMonetaryFunds" type="number" + value="${Utils.format(finalBean.netIncreaseMonetaryFunds,'0')}" required + title="决算总额"></td> + </tr> + <tr> + <td>合计</td> + <td><input name="cashFluxBudgetTotal" type="number" readonly required title="此列累计"> + </td> + <td><input name="cashFluxSettleTotal" type="number" readonly required title="此列累计"> + </td> + <td><input name="cashFluxFinalTotal" type="number" readonly required title="此列累计"> + </td> + </tr> + </tbody> + </table> + </div> + <!--验证表单元素(validate end--> + </div> + + + </div> + + + <#--收入明细表弹窗--> + <div class="am-modal am-modal-prompt" style="width: 1200px;max-height:600px;overflow-y:auto;" + tabindex="-1" id="my-prompt-income-detail"> + <div class="am-modal-dialog"> + <div class="am-modal-hd">新增销售收入明细表——${project.name}</div> + <div class="am-modal-bd"> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;" + id="incomeTable"> + <tbody> + <tr> + <td>类别</td> + <td>名称</td> + <td>单位</td> + <td>数量</td> + <td>单价</td> + <td>税率(%)</td> + <td>含税总金额(元)</td> + <td>不含税金额(元)</td> + <td>操作</td> + </tr> + + <#if incomeDetails??> + <#list incomeDetails as incomeDetail> + <tr> + <td> + <select style="width: auto" + class="am-modal-prompt-input am-modal-prompt-input-income"> + <option value="1" <#if incomeDetail.type == 1>selected</#if>>设备类 + </option> + <option value="2" <#if incomeDetail.type == 2>selected</#if>>工程类 + </option> + <option value="3" <#if incomeDetail.type == 3>selected</#if>>服务类 + </option> + </select> + </td> + <td><input type="text" + class="am-modal-prompt-input am-modal-prompt-input-income" + value="${incomeDetail.name!}"></td> + <td><input type="text" + class="am-modal-prompt-input am-modal-prompt-input-income" + value="${incomeDetail.unit!}"></td> + <td><input type="number" min="0" max="99999999" step="1" + class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-amount" + value="${incomeDetail.amount!0}"></td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" + class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-price" + value="${Utils.format(incomeDetail.price,'0')}"></td> + <td><input type="number" min="0.00" max="99.99" step="0.01" + class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-tax-rate" + value="${Utils.format(incomeDetail.taxRate,'0')}"></td> + <td><input type="text" + class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-total-tax-include" + value="${Utils.format(incomeDetail.totalTaxInclude,'0')}" + readonly></td> + <td><input type="text" + class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-total-tax-exclude" + value="${Utils.format(incomeDetail.totalTaxExclude,'0')}" + readonly></td> + <td> + <button type="button" + class="am-btn am-btn-warning am-btn-xs am-round am-modal-line-delete"> + <span class="am-icon-minus"></span></button> + </td> + </tr> + </#list> + </#if> + + </tbody> + </table> + <button type="button" id="incomeAddBtn" class="am-btn am-btn-primary am-btn-xs am-round"> + <span class="am-icon-plus"></span></button> + </div> + <div class="am-modal-footer"> + <span class="am-modal-btn" data-am-modal-cancel>取消</span> + <span class="am-modal-btn" data-am-modal-confirm>保存</span> + </div> + </div> + </div> + <#--采购成本明细弹窗--> + <div class="am-modal am-modal-prompt" style="width: 1200px;max-height:600px;overflow-y:auto;" + tabindex="-1" id="my-prompt-cost-detail"> + <div class="am-modal-dialog"> + <div class="am-modal-hd">新增采购成本明细表——${project.name}</div> + <div class="am-modal-bd"> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;" + id="costTable"> + <tbody> + <tr> + <td>大类</td> + <td>类别</td> + <td>名称</td> + <td>单位</td> + <td>数量</td> + <td>单价</td> + <td>税率(%)</td> + <td>含税总金额(元)</td> + <td>不含税金额(元)</td> + <td>操作</td> + </tr> + + <#if costDetails??> + <#list costDetails as costDetail> + <tr> + <td> + <select style="width: auto" + class="am-modal-prompt-input am-modal-prompt-input-cost am-modal-prompt-input-cost-type"> + <option value="1" <#if costDetail.type == 1>selected</#if>>设备 + </option> + <option value="2" <#if costDetail.type == 2>selected</#if>>施工 + </option> + <option value="3" <#if costDetail.type == 3>selected</#if>>服务 + </option> + <option value="4" <#if costDetail.type == 4>selected</#if>>其他 + </option> + </select> + </td> + <td> + <select style="width: auto" + class="am-modal-prompt-input am-modal-prompt-input-cost am-modal-prompt-input-cost-category"> + <option value="1" <#if costDetail.category == 1>selected</#if>> + 华智产品 + </option> + <option value="2" <#if costDetail.category == 2>selected</#if>> + 紫光其他产品 + </option> + <option value="3" <#if costDetail.category == 3>selected</#if>> + 外购产品 + </option> + <option value="4" <#if costDetail.category == 4>selected</#if>> + 外购工程 + </option> + <option value="5" <#if costDetail.category == 5>selected</#if>> + 华智服务 + </option> + <option value="6" <#if costDetail.category == 6>selected</#if>> + 紫光其他服务 + </option> + <option value="7" <#if costDetail.category == 7>selected</#if>> + 外购服务 + </option> + <option value="8" <#if costDetail.category == 8>selected</#if>>其他 + </option> + </select> + </td> + <td><input type="text" + class="am-modal-prompt-input am-modal-prompt-input-cost" + value="${costDetail.name!}"></td> + <td><input type="text" + class="am-modal-prompt-input am-modal-prompt-input-cost" + value="${costDetail.unit!}"></td> + <td><input type="number" min="0" max="99999999" step="1" + class="am-modal-prompt-input am-modal-prompt-input-cost input-changeable-amount" + value="${costDetail.amount!0}"></td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" + class="am-modal-prompt-input am-modal-prompt-input-cost input-changeable-price" + value="${Utils.format(costDetail.price,'0')}"></td> + <td><input type="number" min="0.00" max="99.99" step="0.01" + class="am-modal-prompt-input am-modal-prompt-input-cost input-changeable-tax-rate" + value="${Utils.format(costDetail.taxRate,'0')}"></td> + <td><input type="text" + class="am-modal-prompt-input am-modal-prompt-input-cost input-changeable-total-tax-include" + value="${Utils.format(costDetail.totalTaxInclude,'0')}" readonly> + </td> + <td><input type="text" + class="am-modal-prompt-input am-modal-prompt-input-cost input-changeable-total-tax-exclude" + value="${Utils.format(costDetail.totalTaxExclude,'0')}" readonly> + </td> + <td> + <button type="button" + class="am-btn am-btn-warning am-btn-xs am-round am-modal-line-delete"> + <span class="am-icon-minus"></span></button> + </td> + </tr> + </#list> + </#if> + + </tbody> + </table> + <button type="button" id="costAddBtn" class="am-btn am-btn-primary am-btn-xs am-round"><span + class="am-icon-plus"></span></button> + </div> + <div class="am-modal-footer"> + <span class="am-modal-btn" data-am-modal-cancel>取消</span> + <span class="am-modal-btn" data-am-modal-confirm>保存</span> + </div> + </div> + </div> + <#--项目管理明细表弹窗--> + <div class="am-modal am-modal-prompt" style="width: 1200px;max-height:600px;overflow-y:auto;" + tabindex="-1" id="my-prompt-cost-project-manage-detail"> + <div class="am-modal-dialog"> + <div class="am-modal-hd">新增项目管理成本明细表——${project.name}</div> + <div class="am-modal-bd"> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;" + id="costProjectManageTable"> + <tbody> + <tr> + <td>财务费用类别</td> + <td>业务项目</td> + <td>项目明细</td> + <td>单位</td> + <td>数量</td> + <td>单价</td> + <td>总金额(元)</td> + <td>预估计算方法</td> + <td>预估依据</td> + <td>备注</td> + <td>操作</td> + </tr> + + <#if costProjectManageDetails??> + <#list costProjectManageDetails as costProjectManageDetail> + <tr> + <td> + <select style="width: auto" + class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage" + <#if costProjectManageDetail.deletable==0>readonly</#if>> + <option value="1" + <#if costProjectManageDetail.type == 1>selected</#if>>人工成本 + </option> + <option value="2" + <#if costProjectManageDetail.type == 2>selected</#if>>业务费用 + </option> + <option value="3" + <#if costProjectManageDetail.type == 3>selected</#if>>其他费用 + </option> + </select> + </td> + <td><input type="text" + class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage" + value="${costProjectManageDetail.name!}" + <#if costProjectManageDetail.deletable==0>readonly</#if>></td> + <td><input type="text" + class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage" + value="${costProjectManageDetail.detail!}"></td> + <td><input type="text" + class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage" + value="${costProjectManageDetail.unit!}"></td> + <td><input type="number" min="0" max="99999999" step="1" + class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage input-changeable-amount-project-manage" + value="${costProjectManageDetail.amount!0}"></td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" + class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage input-changeable-price-project-manage" + value="${Utils.format(costProjectManageDetail.price,'0')}"></td> + <td><input type="text" + class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage input-changeable-total-project-manage" + value="${Utils.format(costProjectManageDetail.total,'0')}" + readonly></td> + <td><input type="text" + class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage" + value="${costProjectManageDetail.predictMethod!}"></td> + <td><input type="text" + class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage" + value="${costProjectManageDetail.predictWhy!}"></td> + <td><input type="text" + class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage" + value="${costProjectManageDetail.remark!}"></td> + <td><#if costProjectManageDetail.deletable==1> + <button type="button" + class="am-btn am-btn-warning am-btn-xs am-round am-modal-line-delete"> + <span class="am-icon-minus"></span></button></#if> + <input type="hidden" + class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage" + value="${costProjectManageDetail.deletable!}"> + </td> + </tr> + </#list> + </#if> + + </tbody> + </table> + <button type="button" id="costProjectManageAddBtn" + class="am-btn am-btn-primary am-btn-xs am-round"><span class="am-icon-plus"></span> + </button> + </div> + <div class="am-modal-footer"> + <span class="am-modal-btn" data-am-modal-cancel>取消</span> + <span class="am-modal-btn" data-am-modal-confirm>保存</span> + </div> + </div> + </div> + <#--资金计划明细表弹窗--> + <div class="am-modal am-modal-prompt" style="width: 1200px;max-height:600px;overflow-y:auto;" + tabindex="-1" id="my-prompt-budget-plan-detail"> + <div class="am-modal-dialog"> + <div class="am-modal-hd">新增资金计划明细表——${project.name}</div> + <div class="am-modal-bd"> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;" + id="budgetPlanDetailTable"> + <tbody> + <tr> + <td>月份</td> + <td>设备支出</td> + <td>工程支出</td> + <td>经营性开支</td> + <td>保证金支出</td> + <td>支出合计</td> + <td>销售收款</td> + <td>保证金收款</td> + <td>收款合计</td> + <td>资金余额</td> + <td>资金利息</td> + <td>垫资计划</td> + <td>还款计划</td> + <td>操作</td> + </tr> + <tr> + <td><input type="text" class="am-modal-prompt-input input-total-month-budget-plan" + value="${projectBudgetPlanDetailTotal.month}" readonly/></td> + <td><input type="number" + class="am-modal-prompt-input input-total-device-cost-budget-plan" + value="${Utils.format(projectBudgetPlanDetailTotal.deviceCost)}" + readonly/></td> + <td><input type="number" + class="am-modal-prompt-input input-total-engineer-cost-budget-plan" + value="${Utils.format(projectBudgetPlanDetailTotal.engineerCost)}" + readonly/></td> + <td><input type="number" + class="am-modal-prompt-input input-total-project-manage-cost-budget-plan" + value="${Utils.format(projectBudgetPlanDetailTotal.projectManageCost)}" + readonly/></td> + <td><input type="number" + class="am-modal-prompt-input input-total-earnest-money-cost-budget-plan" + value="${Utils.format(projectBudgetPlanDetailTotal.earnestMoneyCost)}" + readonly/></td> + <td><input type="number" + class="am-modal-prompt-input input-total-total-cost-budget-plan" + value="${Utils.format(projectBudgetPlanDetailTotal.totalCost)}" + readonly/></td> + <td><input type="number" + class="am-modal-prompt-input input-total-sale-income-budget-plan" + value="${Utils.format(projectBudgetPlanDetailTotal.saleIncome)}" + readonly/></td> + <td><input type="number" + class="am-modal-prompt-input input-total-earnest-money-income-budget-plan" + value="${Utils.format(projectBudgetPlanDetailTotal.earnestMoneyIncome)}" + readonly/></td> + <td><input type="number" + class="am-modal-prompt-input input-total-total-income-budget-plan" + value="${Utils.format(projectBudgetPlanDetailTotal.totalIncome)}" + readonly/></td> + <td><input type="number" + class="am-modal-prompt-input input-total-fund-balance-budget-plan" + value="${Utils.format(projectBudgetPlanDetailTotal.fundBalance)}" + readonly/></td> + <td><input type="number" + class="am-modal-prompt-input input-total-capital-interest-budget-plan" + value="${Utils.format(projectBudgetPlanDetailTotal.capitalInterest)}" + readonly/></td> + <td><input type="number" + class="am-modal-prompt-input input-total-underwritten-plan-budget-plan" + value="${Utils.format(projectBudgetPlanDetailTotal.underwrittenPlan)}" + readonly/></td> + <td><input type="number" + class="am-modal-prompt-input input-total-repayment-plan-budget-plan" + value="${Utils.format(projectBudgetPlanDetailTotal.repaymentPlan)}" + readonly/></td> + <td></td> + </tr> + + <#if projectBudgetPlanDetails??> + <#list projectBudgetPlanDetails as projectBudgetPlanDetail> + <tr> + <td><input type="text" + class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-month-budget-plan" + value="${projectBudgetPlanDetail.month!}"></td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" + class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-device-cost-budget-plan" + value="${Utils.format(projectBudgetPlanDetail.deviceCost)}"></td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" + class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-engineer-cost-budget-plan" + value="${Utils.format(projectBudgetPlanDetail.engineerCost)}"> + </td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" + class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-project-manage-cost-budget-plan" + value="${Utils.format(projectBudgetPlanDetail.projectManageCost)}"> + </td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" + class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-earnest-money-cost-budget-plan" + value="${Utils.format(projectBudgetPlanDetail.earnestMoneyCost)}"> + </td> + <td><input type="number" + class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-total-cost-budget-plan" + value="${Utils.format(projectBudgetPlanDetail.totalCost)}" + readonly></td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" + class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-sale-income-budget-plan" + value="${Utils.format(projectBudgetPlanDetail.saleIncome)}"></td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" + class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-earnest-money-income-budget-plan" + value="${Utils.format(projectBudgetPlanDetail.earnestMoneyIncome)}"> + </td> + <td><input type="number" + class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-total-income-budget-plan" + value="${Utils.format(projectBudgetPlanDetail.totalIncome)}" + readonly></td> + <td><input type="number" + class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-fund-balance-budget-plan" + value="${Utils.format(projectBudgetPlanDetail.fundBalance)}" + readonly></td> + <td><input type="number" + class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-capital-interest-budget-plan" + value="${Utils.format(projectBudgetPlanDetail.capitalInterest)}" + readonly></td> + <td><input type="number" + class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-underwritten-plan-budget-plan" + value="${Utils.format(projectBudgetPlanDetail.underwrittenPlan)}" + readonly></td> + <td><input type="number" + class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-repayment-plan-budget-plan" + value="${Utils.format(projectBudgetPlanDetail.repaymentPlan)}" + readonly></td> + <td> + <button type="button" + class="am-btn am-btn-warning am-btn-xs am-round am-modal-line-delete-budget-plan"> + <span class="am-icon-minus"></span></button> + </td> + </tr> + </#list> + </#if> + + </tbody> + </table> + <button type="button" id="budgetPlanDetailAddBtn" + class="am-btn am-btn-primary am-btn-xs am-round"><span class="am-icon-plus"></span> + </button> + + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;"> + <tbody> + <tr> + <td>垫资峰值时间</td> + <td>垫资峰值金额</td> + <td>利率</td> + <td>资金利息</td> + </tr> + <tr> + <td><input type="text" + class="am-modal-prompt-input input-underwritten-plan-statistic-max-month-budget-plan" + value="${underwrittenPlanStatistic.maxMonth!}" readonly/></td> + <td><input type="text" + class="am-modal-prompt-input input-underwritten-plan-statistic-amount-budget-plan" + value="${Utils.format(underwrittenPlanStatistic.amount,'')}" readonly/> + </td> + <td><input type="text" + class="am-modal-prompt-input input-underwritten-plan-statistic-tax-rate-budget-plan" + value="${Utils.format(project.underwrittenTaxRate,'')}" readonly/></td> + <td><input type="text" + class="am-modal-prompt-input input-underwritten-plan-statistic-capital-interest-budget-plan" + value="${Utils.format(underwrittenPlanStatistic.capitalInterest,'')}" + readonly/></td> + </tr> + </tbody> + </table> + + + </div> + <div class="am-modal-footer"> + <span class="am-modal-btn" data-am-modal-cancel>取消</span> + <span class="am-modal-btn" data-am-modal-confirm>保存</span> + </div> + </div> + </div> + + <#--审核弹窗--> + <div class="am-modal am-modal-prompt" style="width: 1200px;max-height:600px;overflow-y:auto;" + tabindex="-1" id="my-approve"> + <div class="am-modal-dialog"> + <div class="am-modal-hd">审核——${project.name}</div> + <div class="am-modal-bd"> + <form method="post" class="am-form" id="tmpForm" action="${base}/procurement/type/save"> + <div class="am-tabs am-margin" data-am-tabs> + <div class="am-tabs-bd"> + <div class="am-tab-panel am-fade am-in am-active" id="tab1"> + + <div class="am-g am-form-group am-margin-top"> + <div class="am-u-sm-4 am-u-md-2 am-text-right">审核</div> + + <div class="am-u-sm-12 am-u-md-4 switch-button" style="height: 25px;"> + <label class="am-radio-inline"> + <input type="radio" value="" name="docVlGender" required> 审核通过 + </label> + <label class="am-radio-inline"> + <input type="radio" name="docVlGender"> 审核不通过 + </label> + </div> + + <div class="am-hide-sm-only am-u-md-1" style="color: red;"></div> + <div class="am-u-sm-2 am-u-md-5 input-msg"></div> + </div> + + <div class="am-g am-form-group am-margin-top" style="display: flex;"> + <div class="am-u-sm-4 am-u-md-2 am-text-right"> + <span style="color: red;">*</span>审核意见</div> + <div class="am-u-sm-6 am-u-md-6"> + <textarea id="doc-vld-ta-2" minlength="10" maxlength="100"></textarea> + </div> + <div class="am-u-sm-2 am-u-md-4 input-msg"></div> + </div> + + </div> + </div> + </div> + </form> + </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>保存</span> + </div> + </div> + </div> + + <!--选项卡(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="submit" class="am-btn am-btn-primary am-btn-xs" id="saveFinal">审核</button> + </div> + </form> + + </div> + </div> + <script> + var base = "${base}"; + </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_cost.js"></script> + <script src="${base}/assets/js/project_budget_cost_project_manage.js"></script> + <script src="${base}/assets/js/project_budget_plan.js"></script> +</@defaultLayout.layout> + +<script> + $(function () { + $("#saveFinal").click(function () { + $('#my-approve').modal({ + relatedTarget: this, + onConfirm: function (e) { + //不能使用e.data,因为无法获取动态添加的 + var data = collectData("am-modal-prompt-input-income"); + data = prepareAjaxData(data, INCOME_DETAIL_ARR, $("#id").val()); + postAjax(base + "/project/budgetEditSaveIncomeDetail", data, updateIncomeData); + }, + onCancel: function (e) { + } + }); + }); + $("#incomeAddBtn").click(function () { + appendTrIncome(); + }); + }); +</script> + + + + + + + + + + + + + + + diff --git a/src/main/resources/templates/admin/project_detail.ftl b/src/main/resources/templates/admin/project_detail.ftl new file mode 100644 index 0000000..1958af0 --- /dev/null +++ b/src/main/resources/templates/admin/project_detail.ftl @@ -0,0 +1,1385 @@ +<#assign base=request.contextPath /> + +<#import "../common/defaultLayout.ftl" as defaultLayout> +<@defaultLayout.layout> + +<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; + } + + select[readonly] option { + display: none; + } +</style> + +<div class="admin-content"> + <div class="admin-content-body"> + <div class="am-cf am-padding"> + <div class="am-fl am-cf"><strong class="am-text-primary am-text-lg">项目查看</strong> / <small>${project.name}</small></div> + </div> + +<form method="post" class="am-form" id="pmsForm" action="${base}/project/budgetEditSave"> + <!--选项卡(tabs)begin--> + <div class="am-tabs am-margin" data-am-tabs> + <ul class="am-tabs-nav am-nav am-nav-tabs"> + <li class="am-active"><a href="#tab1">项目基本信息</a></li> + <li><a href="#tab2">项目概算信息</a></li> + <li><a href="#tab3">项目预算信息</a></li> + <li><a href="#tab4">项目结算信息</a></li> + <li><a href="#tab5">项目决算信息</a></li> + </ul> + <div class="am-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="${project.projectContributionProfitRateThreshold}" /> + <!--验证表单元素(validate) begin--> + + <div class="am-g am-form-group am-margin-top"> + <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>部门名称</div> + <div class="am-u-sm-6 am-u-md-6"> + <span>${project.deptName}</span> + </div> + <div class="am-u-sm-2 am-u-md-4 input-msg"></div> + </div> + + <div class="am-g am-form-group am-margin-top"> + <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>项目计划开始时间</div> + <div class="am-u-sm-6 am-u-md-6"> + <span>${project.startDate}</span> + </div> + <div class="am-u-sm-2 am-u-md-4 input-msg"></div> + </div> + <div class="am-g am-form-group am-margin-top"> + <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>项目计划结束时间</div> + <div class="am-u-sm-6 am-u-md-6"> + <span>${project.endDate}</span> + </div> + <div class="am-u-sm-2 am-u-md-4 input-msg"></div> + </div> + + <div class="am-g am-form-group am-margin-top"> + <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>项目名称</div> + <div class="am-u-sm-6 am-u-md-6"> + <span>${project.name}</span> + </div> + <div class="am-u-sm-2 am-u-md-4 input-msg"></div> + </div> + + <div class="am-g am-form-group am-margin-top"> + <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>项目类型</div> + <div class="am-u-sm-6 am-u-md-6"> + <span> + <#if (project.type) =1> + 工程集成类 + <#elseif (project.type) =2> + 设备集成类 + <#elseif (project.type) =3> + 战略合作类 + </#if> + </span> + </div> + <div class="am-u-sm-2 am-u-md-4 input-msg"></div> + </div> + <div class="am-g am-form-group am-margin-top"> + <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>垫资模式</div> + <div class="am-u-sm-6 am-u-md-6"> + <span> + <#if (project.underwrittenMode) =1> + A类-不垫资(战略合作) + <#elseif (project.underwrittenMode) =2> + B类-不垫资(背靠背) + <#elseif (project.underwrittenMode) =3> + C类-垫资(账期覆盖) + <#elseif (project.underwrittenMode) =4> + D类-垫资(账期不覆盖) + </#if> + </span> + </div> + <div class="am-u-sm-2 am-u-md-4 input-msg"></div> + </div> + + <div class="am-g am-form-group am-margin-top"> + <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>客户名称</div> + <div class="am-u-sm-6 am-u-md-6"> + <span>${project.customer}</span> + </div> + <div class="am-u-sm-2 am-u-md-4 input-msg"></div> + </div> + + <div class="am-g am-form-group am-margin-top"> + <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>终端客户名称</div> + <div class="am-u-sm-6 am-u-md-6"> + <span>${project.terminalCustomer}</span> + </div> + <div class="am-u-sm-2 am-u-md-4 input-msg"></div> + </div> + <div class="am-g am-form-group am-margin-top"> + <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>垫资利息</div> + <div class="am-u-sm-6 am-u-md-6"> + <span>${project.advanceInterestAmount}</span>元 + </div> + <div class="am-u-sm-2 am-u-md-4 input-msg"></div> + </div> + <div class="am-g am-form-group am-margin-top"> + <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>垫资峰值</div> + <div class="am-u-sm-6 am-u-md-6"> + <span>${project.advancePeakAmount}</span>元 + </div> + <div class="am-u-sm-2 am-u-md-4 input-msg"></div> + </div> + <div class="am-g am-form-group am-margin-top"> + <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>合同金额</div> + <div class="am-u-sm-6 am-u-md-6"> + <span>${project.contractAmount}</span>元 + </div> + <div class="am-u-sm-2 am-u-md-4 input-msg"></div> + </div> + <div class="am-g am-form-group am-margin-top"> + <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>行业场景应用</div> + <div class="am-u-sm-6 am-u-md-6"> + <span>${project.industryScenario}</span> + </div> + <div class="am-u-sm-2 am-u-md-4 input-msg"></div> + </div> + <div class="am-g am-form-group am-margin-top"> + <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>华智产品金额</div> + <div class="am-u-sm-6 am-u-md-6"> + <span>${project.huazhiProductAmount!}</span>元 + </div> + <div class="am-u-sm-2 am-u-md-4 input-msg"></div> + </div> + <div class="am-g am-form-group am-margin-top"> + <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>紫光其他产品金额</div> + <div class="am-u-sm-6 am-u-md-6"> + <span>${project.ziguangOtherAmount!}</span>元 + </div> + <div class="am-u-sm-2 am-u-md-4 input-msg"></div> + </div> + <div class="am-g am-form-group am-margin-top"> + <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>主合同收款条款</div> + <div class="am-u-sm-6 am-u-md-6"> + <span>${project.mainContractCollectionTerms}</span> + </div> + <div class="am-u-sm-2 am-u-md-4 input-msg"></div> + </div> + + </div> + <!--验证表单元素(validate end--> + </div> + + + <div class="am-tabs-bd"> + <div class="am-tab-panel am-fade am-in" id="tab2"> + <span class="am-text-lg">收入</span> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;"> + <tbody> + <tr class="am-text-lg"> + <td>类别</td> + <td>费用</td> + <td>含税金额(元)</td> + <td>不含税金额(元)</td> + </tr> + <tr> + <td>收入</td> + <td>设备类</td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeDeviceTaxInclude" value="${Utils.format(estimateBean.incomeDeviceTaxInclude)}" required></td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeDeviceTaxExclude" value="${Utils.format(estimateBean.incomeDeviceTaxExclude)}" required></td> + </tr> + <tr> + <td>收入</td> + <td>工程类</td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeEngineerTaxInclude" value="${Utils.format(estimateBean.incomeEngineerTaxInclude)}" required></td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeEngineerTaxExclude" value="${Utils.format(estimateBean.incomeEngineerTaxExclude)}" required></td> + </tr> + <tr> + <td>收入</td> + <td>服务类</td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeServiceTaxInclude" value="${Utils.format(estimateBean.incomeServiceTaxInclude)}" required></td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeServiceTaxExclude" value="${Utils.format(estimateBean.incomeServiceTaxExclude)}" required></td> + </tr> + <tr> + <td>合计</td> + <td></td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeTotalTaxInclude" value="${Utils.format(estimateBean.incomeTotalTaxInclude)}" readonly title="此列累计"></td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeTotalTaxExclude" value="${Utils.format(estimateBean.incomeTotalTaxExclude)}" readonly title="此列累计"></td> + </tr> + </tbody> + </table> + <span class="am-text-lg">成本</span> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;"> + <tbody> + <tr class="am-text-lg"> + <td>类别</td> + <td>费用</td> + <td>费用项目</td> + <td>含税金额(元)</td> + <td>不含税金额(元)</td> + </tr> + <tr> + <td>成本</td> + <td>采购成本</td> + <td>设备</td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costPurchaseDeviceTaxInclude" value="${Utils.format(estimateBean.costPurchaseDeviceTaxInclude)}" required></td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costPurchaseDeviceTaxExclude" value="${Utils.format(estimateBean.costPurchaseDeviceTaxExclude)}" required></td> + </tr> + <tr> + <td>成本</td> + <td>采购成本</td> + <td>施工</td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costPurchaseBuildTaxInclude" value="${Utils.format(estimateBean.costPurchaseBuildTaxInclude)}" required></td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costPurchaseBuildTaxExclude" value="${Utils.format(estimateBean.costPurchaseBuildTaxExclude)}" required></td> + </tr> + <tr> + <td>成本</td> + <td>采购成本</td> + <td>服务</td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costPurchaseServiceTaxInclude" value="${Utils.format(estimateBean.costPurchaseServiceTaxInclude)}" required></td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costPurchaseServiceTaxExclude" value="${Utils.format(estimateBean.costPurchaseServiceTaxExclude)}" required></td> + </tr> + <tr> + <td>成本</td> + <td>采购成本</td> + <td>其他</td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costPurchaseOtherTaxInclude" value="${Utils.format(estimateBean.costPurchaseOtherTaxInclude)}" required></td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costPurchaseOtherTaxExclude" value="${Utils.format(estimateBean.costPurchaseOtherTaxExclude)}" required></td> + </tr> + <tr> + <td>成本</td> + <td>项目管理成本</td> + <td>项目管理成本</td> + <td><#--<input name="costProjectManageTaxInclude" value="${estimateBean.costProjectManageTaxInclude}" required>-->/</td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costProjectManageTaxExclude" value="${Utils.format(estimateBean.costProjectManageTaxExclude)}" required></td> + </tr> + <tr> + <td>成本</td> + <td>其他</td> + <td>其他</td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costOtherOtherTaxInclude" value="${Utils.format(estimateBean.costOtherOtherTaxInclude)}" required></td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costOtherOtherTaxExclude" value="${Utils.format(estimateBean.costOtherOtherTaxExclude)}" required></td> + </tr> + <tr> + <td>合计</td> + <td></td> + <td></td> + <td><input type="number" name="costTotalTaxInclude" value="${Utils.format(estimateBean.costTotalTaxInclude)}" readonly title="此列累计"></td> + <td><input type="number" name="costTotalTaxExclude" value="${Utils.format(estimateBean.costTotalTaxExclude)}" readonly title="此列累计"></td> + </tr> + </tbody> + </table> + <span class="am-text-lg">管理</span> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;"> + <tbody> + <tr class="am-text-lg"> + <td>类别</td> + <td>费用项目</td> + <td>不含税金额(元)</td> + </tr> + <tr> + <td>财务费用</td> + <td>资金占用成本</td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costExpropriationTaxExclude" value="${Utils.format(estimateBean.costExpropriationTaxExclude)}" required></td> + </tr> + <tr> + <td>公司管理费用</td> + <td></td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costCompanyManageTaxExclude" value="${Utils.format(estimateBean.costCompanyManageTaxExclude)}" required></td> + </tr> + </tbody> + </table> + + <span class="am-text-lg">利润率计算</span> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;"> + <tbody> + <tr class="am-text-lg"> + <td>类别</td> + <td>不含税金额(元)</td> + <td>利润率(%)</td> + </tr> + <tr> + <td>项目毛利</td> + <td><input type="number" name="projectGrossProfit" value="${Utils.format(estimateBean.projectGrossProfit)}" readonly title="收入总计(不含税)-成本总计(不含税)-财务费用总计(不含税)"></td> + <td><input type="number" name="projectGrossProfitRate" value="${Utils.format(estimateBean.projectGrossProfitRate)}" readonly title="毛利(不含税)/收入总计(不含税)"></td> + </tr> + <tr> + <td>项目贡献利润率</td> + <td><input type="number" name="projectContributionProfit" value="${Utils.format(estimateBean.projectContributionProfit)}" readonly title="项目毛利(不含税)-公司管理费用总计(不含税)"></td> + <td><input type="number" name="projectContributionProfitRate" value="${Utils.format(estimateBean.projectContributionProfitRate)}" readonly title="贡献利润(不含税)/收入总计(不含税)"></td> + </tr> + </tbody> + </table> + </div> + <!--验证表单元素(validate end--> + </div> + + <div class="am-tabs-bd"> + <div class="am-tab-panel am-fade am-in" id="tab3"> + <span class="am-text-lg">收入</span> + <span class="am-text-primary"><a style="cursor: pointer" id="income-detail">收入明细表</a></span> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;"> + <tbody> + <tr class="am-text-lg"> + <td>类别</td> + <td>费用</td> + <td>含税金额(元)</td> + <td>不含税金额(元)</td> + </tr> + <tr> + <td>收入</td> + <td>设备类</td> + <td><input type="number" name="incomeDeviceTaxInclude" value="${Utils.format(budgetBean.incomeDeviceTaxInclude,'0')}" required readonly title="设备类含税总额"></td> + <td><input type="number" name="incomeDeviceTaxExclude" value="${Utils.format(budgetBean.incomeDeviceTaxExclude,'0')}" required readonly title="设备类不含税总额"></td> + </tr> + <tr> + <td>收入</td> + <td>工程类</td> + <td><input type="number" name="incomeEngineerTaxInclude" value="${Utils.format(budgetBean.incomeEngineerTaxInclude,'0')}" required readonly title="工程类含税总额"></td> + <td><input type="number" name="incomeEngineerTaxExclude" value="${Utils.format(budgetBean.incomeEngineerTaxExclude,'0')}" required readonly title="工程类不含税总额"></td> + </tr> + <tr> + <td>收入</td> + <td>服务类</td> + <td><input type="number" name="incomeServiceTaxInclude" value="${Utils.format(budgetBean.incomeServiceTaxInclude,'0')}" required readonly title="服务类含税总额"></td> + <td><input type="number" name="incomeServiceTaxExclude" value="${Utils.format(budgetBean.incomeServiceTaxExclude,'0')}" required readonly title="服务类不含税总额"></td> + </tr> + <tr> + <td>合计</td> + <td></td> + <td><input type="number" name="incomeTotalTaxInclude" value="${Utils.format(budgetBean.incomeTotalTaxInclude,'0')}" readonly required title="此列累计"></td> + <td><input type="number" name="incomeTotalTaxExclude" value="${Utils.format(budgetBean.incomeTotalTaxExclude,'0')}" readonly required title="此列累计"></td> + </tr> + </tbody> + </table> + <span class="am-text-lg">成本</span> + <span class="am-text-primary"><a style="cursor: pointer" id="cost-detail">采购成本明细表</a></span> + <span class="am-text-primary"><a style="cursor: pointer" id="cost-project-manage-detail">项目管理成本表</a></span> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;"> + <tbody> + <tr class="am-text-lg"> + <td>类别</td> + <td>费用</td> + <td>费用项目</td> + <td>含税金额(元)</td> + <td>不含税金额(元)</td> + </tr> + <tr> + <td>成本</td> + <td>采购成本</td> + <td>设备</td> + <td><input type="number" name="costPurchaseDeviceTaxInclude" value="${Utils.format(budgetBean.costPurchaseDeviceTaxInclude,'0')}" readonly required title="购买设备含税总额"></td> + <td><input type="number" name="costPurchaseDeviceTaxExclude" value="${Utils.format(budgetBean.costPurchaseDeviceTaxExclude,'0')}" readonly required title="购买设备不含税总额"></td> + </tr> + <tr> + <td>成本</td> + <td>采购成本</td> + <td>施工</td> + <td><input type="number" name="costPurchaseBuildTaxInclude" value="${Utils.format(budgetBean.costPurchaseBuildTaxInclude,'0')}" readonly required title="购买施工含税总额"></td> + <td><input type="number" name="costPurchaseBuildTaxExclude" value="${Utils.format(budgetBean.costPurchaseBuildTaxExclude,'0')}" readonly required title="购买施工不含税总额"></td> + </tr> + <tr> + <td>成本</td> + <td>采购成本</td> + <td>服务</td> + <td><input type="number" name="costPurchaseServiceTaxInclude" value="${Utils.format(budgetBean.costPurchaseServiceTaxInclude,'0')}" readonly required title="购买服务含税总额"></td> + <td><input type="number" name="costPurchaseServiceTaxExclude" value="${Utils.format(budgetBean.costPurchaseServiceTaxExclude,'0')}" readonly required title="购买服务不含税总额"></td> + </tr> + <tr> + <td>成本</td> + <td>采购成本</td> + <td>其他</td> + <td><input type="number" name="costPurchaseOtherTaxInclude" value="${Utils.format(budgetBean.costPurchaseOtherTaxInclude,'0')}" readonly required title="购买其他含税总额"></td> + <td><input type="number" name="costPurchaseOtherTaxExclude" value="${Utils.format(budgetBean.costPurchaseOtherTaxExclude,'0')}" readonly required title="购买其他不含税总额"></td> + </tr> + <tr> + <td>成本</td> + <td>项目管理成本</td> + <td>项目管理成本</td> + <td><#--<input name="costProjectManageTaxInclude" value="${budgetBean.costProjectManageTaxInclude!}" readonly required>-->/</td> + <td><input type="number" name="costProjectManageTaxExclude" value="${Utils.format(budgetBean.costProjectManageTaxExclude,'0')}" readonly required title="项目管理成本总额"></td> + </tr> + <tr> + <td>成本</td> + <td>其他</td> + <td>其他</td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costOtherOtherTaxInclude" value="${Utils.format(budgetBean.costOtherOtherTaxInclude,'0')}" required title="其他含税总额(填入)"></td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costOtherOtherTaxExclude" value="${Utils.format(budgetBean.costOtherOtherTaxExclude,'0')}" required title="其他不含税总额(填入)"></td> + </tr> + <tr> + <td>合计</td> + <td></td> + <td></td> + <td><input type="number" name="costTotalTaxInclude" value="${Utils.format(budgetBean.costTotalTaxInclude,'0')}" readonly required title="此列累计"></td> + <td><input type="number" name="costTotalTaxExclude" value="${Utils.format(budgetBean.costTotalTaxExclude,'0')}" readonly required title="此列累计"></td> + </tr> + </tbody> + </table> + <span class="am-text-lg">管理</span> + <span class="am-text-primary budget-plan-detail"><a style="cursor: pointer">资金计划表</a></span> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;"> + <tbody> + <tr class="am-text-lg"> + <td>类别</td> + <td>费用项目</td> + <td>不含税金额(元)</td> + </tr> + <tr> + <td>财务费用</td> + <td>资金占用成本</td> + <td><input type="number" name="costExpropriationTaxExclude" value="${Utils.format(budgetBean.costExpropriationTaxExclude,'0')}" required readonly title="资金占用成本不含税总额"></td> + </tr> + <tr> + <td>公司管理费用</td> + <td></td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costCompanyManageTaxExclude" value="${Utils.format(budgetBean.costCompanyManageTaxExclude,'0')}" required title="公司管理费用不含税总额"></td> + </tr> + </tbody> + </table> + + <span class="am-text-lg">利润率计算</span> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;"> + <tbody> + <tr class="am-text-lg"> + <td>类别</td> + <td>不含税金额(元)</td> + <td>利润率(%)</td> + </tr> + <tr> + <td>项目毛利</td> + <td><input type="number" name="projectGrossProfit" value="${Utils.format(budgetBean.projectGrossProfit,'0')}" readonly required title="收入总计(不含税)-成本总计(不含税)-财务费用总计(不含税)"></td> + <td><input type="number" name="projectGrossProfitRate" value="${Utils.format(budgetBean.projectGrossProfitRate,'0')}" readonly required title="毛利(不含税)/收入总计(不含税)"></td> + </tr> + <tr> + <td>项目贡献利润率</td> + <td><input type="number" name="projectContributionProfit" value="${Utils.format(budgetBean.projectContributionProfit,'0')}" readonly required title="项目毛利(不含税)-公司管理费用总计(不含税)"></td> + <td><input type="number" name="projectContributionProfitRate" value="${Utils.format(budgetBean.projectContributionProfitRate,'0')}" readonly required title="贡献利润(不含税)/收入总计(不含税)"></td> + </tr> + </tbody> + </table> + + <span class="am-text-lg">现金流量表</span> + <span class="am-text-primary budget-plan-detail"><a style="cursor: pointer">资金计划表</a></span> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;"> + <tbody> + <tr class="am-text-lg"> + <td>类别</td> + <td>金额(元)</td> + </tr> + <tr> + <td>销售商品、提供劳务收到的现金a</td> + <td><input type="number" name="saleIncomeCash" value="${Utils.format(cashFlowBean.saleIncomeCash,'0')}" readonly required title="取自资金计划表(销售收款)"></td> + </tr> + <tr> + <td>收到的税费返还b</td> + <td>/<input type="hidden" name="taxReturn" value="${Utils.format(cashFlowBean.taxReturn,'0')}" readonly required></td> + </tr> + <tr> + <td>收到其他与经营活动有关的现金c</td> + <td><input type="number" name="earnestMoneyIncome" value="${Utils.format(cashFlowBean.earnestMoneyIncome,'0')}" readonly required title="取自资金计划表(保证金收款)"></td> + </tr> + <tr> + <td>购买商品、接受劳务支付的现d</td> + <td><input type="number" name="purchaseCost" value="${Utils.format(cashFlowBean.purchaseCost,'0')}" readonly required title="取自资金计划表(设备支出+工程支出)"></td> + </tr> + <tr> + <td>支付的各项税费e</td> + <td>/<input type="hidden" name="taxCost" value="${Utils.format(cashFlowBean.taxCost,'0')}" readonly required></td> + </tr> + <tr> + <td>支付其他与经营活动有关的现金f</td> + <td><input type="number" name="earnestMoneyCost" value="${Utils.format(cashFlowBean.earnestMoneyCost,'0')}" readonly required title="取自资金计划表(经营性开支+保证金支出+资金利息)"></td> + </tr> + <tr> + <td>经营活动产生的现金流量净额g</td> + <td><input type="number" name="netCashFlow" value="${Utils.format(cashFlowBean.netCashFlow,'0')}" readonly required title="g=a+c+b-d-f-e"></td> + </tr> + <tr> + <td>投资活动现金流入h</td> + <td>/<input type="hidden" name="cashInflowFromInvestingActivities" value="${Utils.format(cashFlowBean.cashInflowFromInvestingActivities,'0')}" readonly required></td> + </tr> + <tr> + <td>投资活动现金流出i</td> + <td>/<input type="hidden" name="cashOutflowFromInvestingActivities" value="${Utils.format(cashFlowBean.cashOutflowFromInvestingActivities,'0')}" readonly required></td> + </tr> + <tr> + <td>投资活动产生的现金流量净额j</td> + <td>/<input type="hidden" name="netCashFromInvestingActivities" value="${Utils.format(cashFlowBean.netCashFromInvestingActivities,'0')}" readonly required></td> + </tr> + <tr> + <td>融资资金流入k</td> + <td><input type="number" name="financingCapitalInflow" value="${Utils.format(cashFlowBean.financingCapitalInflow,'0')}" readonly required title="从资金计划表查(垫资计划)"></td> + </tr> + <tr> + <td>还款资金流出l</td> + <td><input type="number" name="financingCapitalOutflow" value="${Utils.format(cashFlowBean.financingCapitalOutflow,'0')}" readonly required title="从资金计划表查(还款计划)"></td> + </tr> + <tr> + <td>筹资活动产生的现金流量净额m</td> + <td><input type="number" name="financingCapitalCashflow" value="${Utils.format(cashFlowBean.financingCapitalCashflow,'0')}" readonly required title="m=k-l"></td> + </tr> + <tr> + <td>货币资金净增加额n</td> + <td><input type="number" name="netIncreaseMonetaryFunds" value="${Utils.format(cashFlowBean.netIncreaseMonetaryFunds,'0')}" readonly required title="n=g+j+m"></td> + </tr> + </tbody> + </table> + </div> + <!--验证表单元素(validate end--> + </div> + + <div class="am-tabs-bd"> + <div class="am-tab-panel am-fade am-in" id="tab4"> + <span class="am-text-lg">收入</span> + <span class="am-text-primary"><a style="cursor: pointer" id="income-detail">收入明细表</a></span> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;"> + <tbody> + <tr class="am-text-lg"> + <td>类别</td> + <td>费用</td> + <td>含税金额(元)</td> + <td>不含税金额(元)</td> + </tr> + <tr> + <td>收入</td> + <td>设备类</td> + <td><input type="number" name="incomeDeviceTaxInclude" value="${Utils.format(budgetBean.incomeDeviceTaxInclude,'0')}" required readonly title="设备类含税总额"></td> + <td><input type="number" name="incomeDeviceTaxExclude" value="${Utils.format(budgetBean.incomeDeviceTaxExclude,'0')}" required readonly title="设备类不含税总额"></td> + </tr> + <tr> + <td>收入</td> + <td>工程类</td> + <td><input type="number" name="incomeEngineerTaxInclude" value="${Utils.format(budgetBean.incomeEngineerTaxInclude,'0')}" required readonly title="工程类含税总额"></td> + <td><input type="number" name="incomeEngineerTaxExclude" value="${Utils.format(budgetBean.incomeEngineerTaxExclude,'0')}" required readonly title="工程类不含税总额"></td> + </tr> + <tr> + <td>收入</td> + <td>服务类</td> + <td><input type="number" name="incomeServiceTaxInclude" value="${Utils.format(budgetBean.incomeServiceTaxInclude,'0')}" required readonly title="服务类含税总额"></td> + <td><input type="number" name="incomeServiceTaxExclude" value="${Utils.format(budgetBean.incomeServiceTaxExclude,'0')}" required readonly title="服务类不含税总额"></td> + </tr> + <tr> + <td>合计</td> + <td></td> + <td><input type="number" name="incomeTotalTaxInclude" value="${Utils.format(budgetBean.incomeTotalTaxInclude,'0')}" readonly required title="此列累计"></td> + <td><input type="number" name="incomeTotalTaxExclude" value="${Utils.format(budgetBean.incomeTotalTaxExclude,'0')}" readonly required title="此列累计"></td> + </tr> + </tbody> + </table> + <span class="am-text-lg">成本</span> + <span class="am-text-primary"><a style="cursor: pointer" id="cost-detail">采购成本明细表</a></span> + <span class="am-text-primary"><a style="cursor: pointer" id="cost-project-manage-detail">项目管理成本表</a></span> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;"> + <tbody> + <tr class="am-text-lg"> + <td>类别</td> + <td>费用</td> + <td>费用项目</td> + <td>含税金额(元)</td> + <td>不含税金额(元)</td> + </tr> + <tr> + <td>成本</td> + <td>采购成本</td> + <td>设备</td> + <td><input type="number" name="costPurchaseDeviceTaxInclude" value="${Utils.format(budgetBean.costPurchaseDeviceTaxInclude,'0')}" readonly required title="购买设备含税总额"></td> + <td><input type="number" name="costPurchaseDeviceTaxExclude" value="${Utils.format(budgetBean.costPurchaseDeviceTaxExclude,'0')}" readonly required title="购买设备不含税总额"></td> + </tr> + <tr> + <td>成本</td> + <td>采购成本</td> + <td>施工</td> + <td><input type="number" name="costPurchaseBuildTaxInclude" value="${Utils.format(budgetBean.costPurchaseBuildTaxInclude,'0')}" readonly required title="购买施工含税总额"></td> + <td><input type="number" name="costPurchaseBuildTaxExclude" value="${Utils.format(budgetBean.costPurchaseBuildTaxExclude,'0')}" readonly required title="购买施工不含税总额"></td> + </tr> + <tr> + <td>成本</td> + <td>采购成本</td> + <td>服务</td> + <td><input type="number" name="costPurchaseServiceTaxInclude" value="${Utils.format(budgetBean.costPurchaseServiceTaxInclude,'0')}" readonly required title="购买服务含税总额"></td> + <td><input type="number" name="costPurchaseServiceTaxExclude" value="${Utils.format(budgetBean.costPurchaseServiceTaxExclude,'0')}" readonly required title="购买服务不含税总额"></td> + </tr> + <tr> + <td>成本</td> + <td>采购成本</td> + <td>其他</td> + <td><input type="number" name="costPurchaseOtherTaxInclude" value="${Utils.format(budgetBean.costPurchaseOtherTaxInclude,'0')}" readonly required title="购买其他含税总额"></td> + <td><input type="number" name="costPurchaseOtherTaxExclude" value="${Utils.format(budgetBean.costPurchaseOtherTaxExclude,'0')}" readonly required title="购买其他不含税总额"></td> + </tr> + <tr> + <td>成本</td> + <td>项目管理成本</td> + <td>项目管理成本</td> + <td><#--<input name="costProjectManageTaxInclude" value="${budgetBean.costProjectManageTaxInclude!}" readonly required>-->/</td> + <td><input type="number" name="costProjectManageTaxExclude" value="${Utils.format(budgetBean.costProjectManageTaxExclude,'0')}" readonly required title="项目管理成本总额"></td> + </tr> + <tr> + <td>成本</td> + <td>其他</td> + <td>其他</td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costOtherOtherTaxInclude" value="${Utils.format(budgetBean.costOtherOtherTaxInclude,'0')}" required title="其他含税总额(填入)"></td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costOtherOtherTaxExclude" value="${Utils.format(budgetBean.costOtherOtherTaxExclude,'0')}" required title="其他不含税总额(填入)"></td> + </tr> + <tr> + <td>合计</td> + <td></td> + <td></td> + <td><input type="number" name="costTotalTaxInclude" value="${Utils.format(budgetBean.costTotalTaxInclude,'0')}" readonly required title="此列累计"></td> + <td><input type="number" name="costTotalTaxExclude" value="${Utils.format(budgetBean.costTotalTaxExclude,'0')}" readonly required title="此列累计"></td> + </tr> + </tbody> + </table> + <span class="am-text-lg">管理</span> + <span class="am-text-primary budget-plan-detail"><a style="cursor: pointer">资金计划表</a></span> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;"> + <tbody> + <tr class="am-text-lg"> + <td>类别</td> + <td>费用项目</td> + <td>不含税金额(元)</td> + </tr> + <tr> + <td>财务费用</td> + <td>资金占用成本</td> + <td><input type="number" name="costExpropriationTaxExclude" value="${Utils.format(budgetBean.costExpropriationTaxExclude,'0')}" required readonly title="资金占用成本不含税总额"></td> + </tr> + <tr> + <td>公司管理费用</td> + <td></td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costCompanyManageTaxExclude" value="${Utils.format(budgetBean.costCompanyManageTaxExclude,'0')}" required title="公司管理费用不含税总额"></td> + </tr> + </tbody> + </table> + + <span class="am-text-lg">利润率计算</span> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;"> + <tbody> + <tr class="am-text-lg"> + <td>类别</td> + <td>不含税金额(元)</td> + <td>利润率(%)</td> + </tr> + <tr> + <td>项目毛利</td> + <td><input type="number" name="projectGrossProfit" value="${Utils.format(budgetBean.projectGrossProfit,'0')}" readonly required title="收入总计(不含税)-成本总计(不含税)-财务费用总计(不含税)"></td> + <td><input type="number" name="projectGrossProfitRate" value="${Utils.format(budgetBean.projectGrossProfitRate,'0')}" readonly required title="毛利(不含税)/收入总计(不含税)"></td> + </tr> + <tr> + <td>项目贡献利润率</td> + <td><input type="number" name="projectContributionProfit" value="${Utils.format(budgetBean.projectContributionProfit,'0')}" readonly required title="项目毛利(不含税)-公司管理费用总计(不含税)"></td> + <td><input type="number" name="projectContributionProfitRate" value="${Utils.format(budgetBean.projectContributionProfitRate,'0')}" readonly required title="贡献利润(不含税)/收入总计(不含税)"></td> + </tr> + </tbody> + </table> + + <span class="am-text-lg">现金流量表</span> + <span class="am-text-primary budget-plan-detail"><a style="cursor: pointer">资金计划表</a></span> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;"> + <tbody> + <tr class="am-text-lg"> + <td>类别</td> + <td>金额(元)</td> + </tr> + <tr> + <td>销售商品、提供劳务收到的现金a</td> + <td><input type="number" name="saleIncomeCash" value="${Utils.format(cashFlowBean.saleIncomeCash,'0')}" readonly required title="取自资金计划表(销售收款)"></td> + </tr> + <tr> + <td>收到的税费返还b</td> + <td>/<input type="hidden" name="taxReturn" value="${Utils.format(cashFlowBean.taxReturn,'0')}" readonly required></td> + </tr> + <tr> + <td>收到其他与经营活动有关的现金c</td> + <td><input type="number" name="earnestMoneyIncome" value="${Utils.format(cashFlowBean.earnestMoneyIncome,'0')}" readonly required title="取自资金计划表(保证金收款)"></td> + </tr> + <tr> + <td>购买商品、接受劳务支付的现d</td> + <td><input type="number" name="purchaseCost" value="${Utils.format(cashFlowBean.purchaseCost,'0')}" readonly required title="取自资金计划表(设备支出+工程支出)"></td> + </tr> + <tr> + <td>支付的各项税费e</td> + <td>/<input type="hidden" name="taxCost" value="${Utils.format(cashFlowBean.taxCost,'0')}" readonly required></td> + </tr> + <tr> + <td>支付其他与经营活动有关的现金f</td> + <td><input type="number" name="earnestMoneyCost" value="${Utils.format(cashFlowBean.earnestMoneyCost,'0')}" readonly required title="取自资金计划表(经营性开支+保证金支出+资金利息)"></td> + </tr> + <tr> + <td>经营活动产生的现金流量净额g</td> + <td><input type="number" name="netCashFlow" value="${Utils.format(cashFlowBean.netCashFlow,'0')}" readonly required title="g=a+c+b-d-f-e"></td> + </tr> + <tr> + <td>投资活动现金流入h</td> + <td>/<input type="hidden" name="cashInflowFromInvestingActivities" value="${Utils.format(cashFlowBean.cashInflowFromInvestingActivities,'0')}" readonly required></td> + </tr> + <tr> + <td>投资活动现金流出i</td> + <td>/<input type="hidden" name="cashOutflowFromInvestingActivities" value="${Utils.format(cashFlowBean.cashOutflowFromInvestingActivities,'0')}" readonly required></td> + </tr> + <tr> + <td>投资活动产生的现金流量净额j</td> + <td>/<input type="hidden" name="netCashFromInvestingActivities" value="${Utils.format(cashFlowBean.netCashFromInvestingActivities,'0')}" readonly required></td> + </tr> + <tr> + <td>融资资金流入k</td> + <td><input type="number" name="financingCapitalInflow" value="${Utils.format(cashFlowBean.financingCapitalInflow,'0')}" readonly required title="从资金计划表查(垫资计划)"></td> + </tr> + <tr> + <td>还款资金流出l</td> + <td><input type="number" name="financingCapitalOutflow" value="${Utils.format(cashFlowBean.financingCapitalOutflow,'0')}" readonly required title="从资金计划表查(还款计划)"></td> + </tr> + <tr> + <td>筹资活动产生的现金流量净额m</td> + <td><input type="number" name="financingCapitalCashflow" value="${Utils.format(cashFlowBean.financingCapitalCashflow,'0')}" readonly required title="m=k-l"></td> + </tr> + <tr> + <td>货币资金净增加额n</td> + <td><input type="number" name="netIncreaseMonetaryFunds" value="${Utils.format(cashFlowBean.netIncreaseMonetaryFunds,'0')}" readonly required title="n=g+j+m"></td> + </tr> + </tbody> + </table> + </div> + <!--验证表单元素(validate end--> + </div> + + + <div class="am-tabs-bd"> + <div class="am-tab-panel am-fade am-in" id="tab5"> + <span class="am-text-lg">收入</span> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;"> + <tbody> + <tr class="am-text-xl"> + <td>类别</td> + <td>费用</td> + <td>概算总额(元)</td> + <td>预算总额(元)</td> + <td>结算总额(元)</td> + <td>决算总额(元)</td> + </tr> + <tr> + <td>收入</td> + <td>设备类</td> + <td><input name="incomeDeviceTaxExclude" type="number" value="${Utils.format(estimateBean.incomeDeviceTaxExclude,'0')}" required readonly title="设备类概算总额"></td> + <td><input name="incomeDeviceTaxExclude" type="number" value="${Utils.format(budgetBean.incomeDeviceTaxExclude,'0')}" required readonly title="设备类预算总额"></td> + <td><input type="number" required readonly title="设备类结算总额"></td> + <td><input name="incomeDeviceFinalTotal" type="number" value="${Utils.format(finalBean.incomeDeviceFinalTotal,'0')}" required title="设备类决算总额"></td> + </tr> + <tr> + <td>收入</td> + <td>工程类</td> + <td><input name="incomeEngineerTaxExclude" type="number" value="${Utils.format(estimateBean.incomeEngineerTaxExclude,'0')}" required readonly title="工程类概算总额"></td> + <td><input name="incomeEngineerTaxExclude" type="number" value="${Utils.format(budgetBean.incomeEngineerTaxExclude,'0')}" required readonly title="工程类预算总额"></td> + <td><input type="number" required readonly title="工程类结算总额"></td> + <td><input name="incomeEngineerFinalTotal" type="number" value="${Utils.format(finalBean.incomeEngineerFinalTotal,'0')}" required title="工程类决算总额"></td> + </tr> + <tr> + <td>收入</td> + <td>服务类</td> + <td><input name="incomeServiceTaxExclude" type="number" value="${Utils.format(estimateBean.incomeServiceTaxExclude,'0')}" required readonly title="服务类概算总额"></td> + <td><input name="incomeServiceTaxExclude" type="number" value="${Utils.format(budgetBean.incomeServiceTaxExclude,'0')}" required readonly title="服务类预算总额"></td> + <td><input type="number" required readonly title="服务类结算总额"></td> + <td><input name="incomeServiceFinalTotal" type="number" value="${Utils.format(finalBean.incomeServiceFinalTotal,'0')}" required title="服务类决算总额"></td> + </tr> + <tr> + <td>合计</td> + <td></td> + <td><input name="incomeEstimateTotal" type="number" value="${Utils.format(estimateBean.getIncomeTotalTaxExclude(),'0')}" readonly required title="此列累计"></td> + <td><input name="incomeBudgetTotal" type="number" value="${Utils.format(budgetBean.getIncomeTotalTaxExclude(),'0')}" readonly required title="此列累计"></td> + <td><input name="incomeSettleTotal" type="number" readonly required title="此列累计"></td> + <td><input name="incomeFinalTotal" type="number" readonly required title="此列累计"></td> + </tr> + </tbody> + </table> + <span class="am-text-lg">成本</span> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;"> + <tbody> + <tr class="am-text-xl"> + <td>类别</td> + <td>费用</td> + <td>费用项目</td> + <td>概算总额(元)</td> + <td>预算总额(元)</td> + <td>结算总额(元)</td> + <td>决算总额(元)</td> + </tr> + <tr> + <td>成本</td> + <td>采购成本</td> + <td>设备</td> + <td><input name="costPurchaseDeviceTaxInclude" type="number" value="${Utils.format(estimateBean.costPurchaseDeviceTaxExclude,'0')}" readonly required title="购买设备概算总额"></td> + <td><input name="costPurchaseDeviceTaxExclude" type="number" value="${Utils.format(budgetBean.costPurchaseDeviceTaxExclude,'0')}" readonly required title="购买设备预算总额"></td> + <td><input name="costPurchaseDeviceTaxInclude" type="number"readonly required title="购买设备结算总额"></td> + <td><input name="costPurchaseDeviceFinalTotal" type="number" value="${Utils.format(finalBean.costPurchaseDeviceFinalTotal,'0')}" required title="购买设备决算总额"></td> + </tr> + <tr> + <td>成本</td> + <td>采购成本</td> + <td>施工</td> + <td><input name="costPurchaseBuildEstimateTotal" type="number" value="${Utils.format(estimateBean.costPurchaseBuildTaxExclude,'0')}" readonly required title="施工采购成本概算总额"></td> + <td><input name="costPurchaseBuildBudgetTotal" type="number" value="${Utils.format(budgetBean.costPurchaseBuildTaxExclude,'0')}" readonly required title="施工采购成本预算总额"></td> + <td><input name="costPurchaseBuildSettleTotal" type="number" readonly required title="施工采购成本结算总额"></td> + <td><input name="costPurchaseBuildFinalTotal" type="number" value="${Utils.format(finalBean.costPurchaseBuildFinalTotal,'0')}" required title="施工采购成本决算总额"></td> + </tr> + <tr> + <td>成本</td> + <td>采购成本</td> + <td>服务</td> + <td><input name="costPurchaseServiceEstimateTotal" type="number" value="${Utils.format(estimateBean.costPurchaseServiceTaxExclude,'0')}" readonly required title="服务采购成本概算总额"></td> + <td><input name="costPurchaseServiceBudgetTotal" type="number" value="${Utils.format(budgetBean.costPurchaseServiceTaxExclude,'0')}" readonly required title="服务采购成本预算总额"></td> + <td><input name="costPurchaseServiceSettleTotal" type="number" readonly required title="服务采购成本结算总额"></td> + <td><input name="costPurchaseServiceFinalTotal" type="number" value="${Utils.format(finalBean.costPurchaseServiceFinalTotal,'0')}" required title="服务采购成本决算总额"></td> + </tr> + <tr> + <td>成本</td> + <td>采购成本</td> + <td>其他</td> + <td><input name="costPurchaseOtherEstimateTotal" type="number" value="${Utils.format(estimateBean.costPurchaseOtherTaxInclude,'0')}" readonly required title="其他采购成本概算总额"></td> + <td><input name="costPurchaseOtherBudgetTotal" type="number" value="${Utils.format(budgetBean.costPurchaseOtherTaxInclude,'0')}" readonly required title="其他采购成本预算总额"></td> + <td><input name="costPurchaseOtherSettleTotal" type="number" readonly required title="其他采购成本结算总额"></td> + <td><input name="costPurchaseOtherFinalTotal" type="number" value="${Utils.format(finalBean.costPurchaseOtherFinalTotal,'0')}" required title="其他采购成本决算总额"></td> + </tr> + <tr> + <td>成本</td> + <td>项目管理成本</td> + <td>项目管理成本</td> + <td><input name="costProjectManageEstimateTotal" type="number" value="${Utils.format(estimateBean.costProjectManageTaxExclude,'0')}" readonly required title="项目管理成本概算总额"></td> + <td><input name="costProjectManageBudgetTotal" type="number" value="${Utils.format(budgetBean.costProjectManageTaxExclude,'0')}" readonly required title="项目管理成本预算总额"></td> + <td><input name="costProjectManageSettleTotal" type="number" readonly required title="项目管理成本结算总额"></td> + <td><input name="costProjectManageFinalTotal" type="number" value="${Utils.format(finalBean.costProjectManageFinalTotal,'0')}" required title="项目管理成本决算总额"></td> + </tr> + <tr> + <td>成本</td> + <td>其他</td> + <td>其他</td> + <td><input name="costOtherEstimateTotal" type="number" value="${Utils.format(estimateBean.costOtherOtherTaxExclude,'0')}" readonly required title="其他成本概算总额"></td> + <td><input name="costOtherBudgetTotal" type="number" value="${Utils.format(budgetBean.costOtherOtherTaxExclude,'0')}" readonly required title="其他成本预算总额"></td> + <td><input name="costOtherSettleTotal" type="number" type="number"readonly required title="其他成本结算总额"></td> + <td><input name="costOtherFinalTotal" type="number" value="${Utils.format(finalBean.costOtherFinalTotal,'0')}" required title="其他成本决算总额"></td> + </tr> + <tr> + <td>合计</td> + <td></td> + <td></td> + <td><input name="costEstimateTotal" value="${Utils.format(estimateBean.getIncomeTotalTaxExclude(),'0')}" type="number" readonly required title="此列累计"></td> + <td><input name="costBudgetTotal" value="${Utils.format(budgetBean.getCostTotalTaxExclude(),'0')}" type="number" readonly required title="此列累计"></td> + <td><input name="costSettleTotal" type="number" readonly required title="此列累计"></td> + <td><input name="costFinalTotal" type="number" readonly required title="此列累计"></td> + </tr> + </tbody> + </table> + <span class="am-text-lg">管理</span> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;"> + <tbody> + <tr class="am-text-xl"> + <td>类别</td> + <td>费用项目</td> + <td>概算总额(元)</td> + <td>预算总额(元)</td> + <td>结算总额(元)</td> + <td>决算总额(元)</td> + </tr> + <tr> + <td>财务费用</td> + <td>资金占用成本</td> + <td><input name="costExpropriationEstimateTotal" type="number" value="${Utils.format(estimateBean.costExpropriationTaxExclude,'0')}" required readonly title="资金占用成本概算总额"></td> + <td><input name="costExpropriationBudgetTotal" type="number" value="${Utils.format(budgetBean.costExpropriationTaxExclude,'0')}" required readonly title="资金占用成本预算总额"></td> + <td><input name="costExpropriationSettleTotal" type="number" required readonly title="资金占用成本结算总额"></td> + <td><input name="costExpropriationFinalTotal" type="number" value="${Utils.format(finalBean.costExpropriationFinalTotal,'0')}" required title="资金占用成本决算总额"></td> + </tr> + <tr> + <td>公司管理费用</td> + <td></td> + <td><input name="costCompanyManageEstimateTotal" type="number" value="${Utils.format(estimateBean.costCompanyManageTaxExclude,'0')}" required readonly title="公司管理费用概算总额"></td> + <td><input name="costCompanyManageBudgetTotal" type="number" value="${Utils.format(budgetBean.costCompanyManageTaxExclude,'0')}" required readonly title="公司管理费用预算总额"></td> + <td><input name="costCompanyManageSettleTotal" type="number" required readonly title="公司管理费用结算总额"></td> + <td><input name="costCompanyManageFinalTotal" type="number" value="${Utils.format(finalBean.costCompanyManageFinalTotal,'0')}" required title="公司管理费用决算总额"></td> + </tr> + <tr> + <td>所得税费用</td> + <td></td> + <td>/</td> + <td>/</td> + <td><input name="costIncomeTaxSettleTotal" type="number" required readonly title="所得税费用结算总额"></td> + <td><input name="costIncomeTaxFinalTotal" type="number" value="${Utils.format(finalBean.costIncomeTaxFinalTotal,'0')}" required title="所得税费用决算总额"></td> + </tr> + <tr> + <td>合计</td> + <td></td> + <td><input name="manageEstimateTotal" type="number" readonly required title="此列累计"></td> + <td><input name="manageBudgetTotal" type="number" readonly required title="此列累计"></td> + <td><input name="manageSettleTotal" type="number" readonly required title="此列累计"></td> + <td><input name="manageFinalTotal" type="number" readonly required title="此列累计"></td> + </tr> + </tbody> + </table> + + <span class="am-text-lg">利润率计算</span> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;"> + <tbody> + <tr class="am-text-xl"> + <td>类别</td> + <td>概算总额(元)</td> + <td>预算总额(元)</td> + <td>结算总额(元)</td> + <td>决算总额(元)</td> + <td>利润率(%)</td> + </tr> + <tr> + <td>项目毛利</td> + <td><input name="grossProfitEstimateTotal" type="number" value="${Utils.format(finalBean.grossProfitEstimateTotal,'0')}" readonly required title="项目毛利概算总额"></td> + <td><input name="grossProfitBudgetTotal" type="number" value="${Utils.format(finalBean.grossProfitBudgetTotal,'0')}" readonly required title="项目毛利预算总额"></td> + <td><input name="grossProfitSettleTotal" type="number" value="${Utils.format(finalBean.grossProfitSettleTotal,'0')}" readonly required title="项目毛利结算总额"></td> + <td><input name="grossProfitFinalTotal" type="number" value="${Utils.format(finalBean.grossProfitFinalTotal,'0')}" required title="项目毛利决算总额"></td> + <td><input name="grossProfitProfitMargin" type="number" value="${Utils.format(finalBean.grossProfitProfitMargin,'0')}" required readonly title="项目毛利利润率"></td> + </tr> + <tr> + <td>项目贡献利润</td> + <td><input name="contributionMarginEstimateTotal" type="number" value="${Utils.format(finalBean.contributionMarginEstimateTotal,'0')}" readonly required title="项目贡献利润概算总额"></td> + <td><input name="contributionMarginBudgetTotal" type="number" value="${Utils.format(finalBean.contributionMarginBudgetTotal,'0')}" readonly required title="项目贡献利润预算总额"></td> + <td><input name="contributionMarginSettleTotal" type="number" value="${Utils.format(finalBean.contributionMarginSettleTotal,'0')}" readonly required title="项目贡献利润结算总额"></td> + <td><input name="contributionMarginFinalTotal" type="number" value="${Utils.format(finalBean.contributionMarginFinalTotal,'0')}" required title="项目贡献利润决算总额"></td> + <td><input name="contributionMarginProfitMargin" type="number" value="${Utils.format(finalBean.contributionMarginProfitMargin,'0')}" required readonly title="项目贡献利润利润率"></td> + </tr> + <tr> + <td>项目净利润</td> + <td><input name="netMarginEstimateTotal" type="number" value="${Utils.format(finalBean.netMarginEstimateTotal,'0')}" readonly required title="项目净利润概算总额"></td> + <td><input name="netMarginBudgetTotal" type="number" value="${Utils.format(finalBean.netMarginBudgetTotal,'0')}" readonly required title="项目净利润预算总额"></td> + <td><input name="netMarginSettleTotal" type="number" value="${Utils.format(finalBean.netMarginSettleTotal,'0')}" readonly required title="项目净利润结算总额"></td> + <td><input name="netMarginFinalTotal" type="number" value="${Utils.format(finalBean.netMarginFinalTotal,'0')}" required title="项目净利润决算总额"></td> + <td><input name="netMarginProfitMargin" type="number" value="${Utils.format(finalBean.netMarginProfitMargin,'0')}" required readonly title="项目净利润利润率"></td> + </tr> + </tbody> + </table> + + <span class="am-text-lg">现金流量表</span> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;"> + <tbody> + <tr class="am-text-xl"> + <td>类别</td> + <td>预算总额(元)</td> + <td>结算总额(元)</td> + <td>决算总额(元)</td> + </tr> + <tr> + <td>销售商品、提供劳务收到的现金</td> + <td><input name="type1BudgetTotal" type="number" value="${Utils.format(cashFlowBean.saleIncomeCash,'0')}" readonly required title="预算总额"></td> + <td><input name="type1SettleTotal" type="number" readonly required title="结算总额"></td> + <td><input name="saleIncomeCash" type="number" value="${Utils.format(finalBean.saleIncomeCash,'0')}" required title="决算总额"></td> + </tr> + <tr> + <td>收到的税费返还</td> + <td>/</td> + <td><input name="type2SettleTotal" type="number" value="${Utils.format(cashFlowBean.taxReturn,'0')}" readonly required title="结算总额"></td> + <td><input name="taxReturn" type="number" value="${Utils.format(finalBean.taxReturn,'0')}" required title="决算总额"></td> + </tr> + <tr> + <td>收到其他与经营活动有关的现金</td> + <td><input name="type3BudgetTotal" type="number" value="${Utils.format(cashFlowBean.earnestMoneyIncome,'0')}" readonly required title="预算总额"></td> + <td><input name="type3SettleTotal" type="number" readonly required title="结算总额"></td> + <td><input name="earnestMoneyIncome" type="number" value="${Utils.format(finalBean.earnestMoneyIncome,'0')}" required title="决算总额"></td> + </tr> + <tr> + <td>购买商品、接受劳务支付的现金</td> + <td><input name="type4BudgetTotal" type="number" value="${Utils.format(cashFlowBean.purchaseCost,'0')}" readonly required title="预算总额"></td> + <td><input name="type4SettleTotal" type="number" readonly required title="结算总额"></td> + <td><input name="purchaseCost" type="number" value="${Utils.format(finalBean.purchaseCost,'0')}" required title="决算总额"></td> + </tr> + <tr> + <td>支付的各项税费</td> + <td>/</td> + <td><input name="type5SettleTotal" type="number" value="${Utils.format(finalBean.type5SettleTotal,'0')}" readonly required title="结算总额"></td> + <td><input name="taxCost" type="number" value="${Utils.format(finalBean.taxCost,'0')}" required title="决算总额"></td> + </tr> + <tr> + <td>支付其他与经营活动有关的现金</td> + <td><input name="type6BudgetTotal" type="number" value="${Utils.format(cashFlowBean.earnestMoneyCost,'0')}" readonly required title="预算总额"></td> + <td><input name="type6SettleTotal" type="number" readonly required title="结算总额"></td> + <td><input name="earnestMoneyCost" type="number" value="${Utils.format(finalBean.earnestMoneyCost,'0')}" required title="决算总额"></td> + </tr> + <tr> + <td>经营活动产生的现金流量净额</td> + <td><input name="type7BudgetTotal" type="number" value="${Utils.format(cashFlowBean.getNetCashFlow(),'0')}" readonly required title="预算总额"></td> + <td><input name="type7SettleTotal" type="number" readonly required title="结算总额"></td> + <td><input name="netCashFlow" type="number" value="${Utils.format(finalBean.netCashFlow,'0')}" required title="决算总额"></td> + </tr> + <tr> + <td>投资活动现金流入</td> + <td>/</td> + <td><input name="type8SettleTotal" type="number" readonly required title="结算总额"></td> + <td><input name="cashInflowFromInvestingActivities" value="${Utils.format(finalBean.cashInflowFromInvestingActivities,'0')}" type="number" required title="决算总额"></td> + </tr> + <tr> + <td>投资活动现金流出</td> + <td>/</td> + <td><input name="type9SettleTotal" type="number" value="${Utils.format(finalBean.type9SettleTotal,'0')}" readonly required title="结算总额"></td> + <td><input name="cashOutflowFromInvestingActivities" type="number" value="${Utils.format(finalBean.cashOutflowFromInvestingActivities,'0')}" required title="决算总额"></td> + </tr> + <tr> + <td>投资活动产生的现金流量净额</td> + <td>/</td> + <td><input name="type10SettleTotal" type="number" value="${Utils.format(finalBean.type10SettleTotal,'0')}" readonly required title="结算总额"></td> + <td><input name="netCashFromInvestingActivities" type="number" value="${Utils.format(finalBean.netCashFromInvestingActivities,'0')}" required title="决算总额"></td> + </tr> + <tr> + <td>融资资金流入</td> + <td><input name="type11BudgetTotal" type="number" value="${Utils.format(cashFlowBean.financingCapitalInflow,'0')}" readonly required title="预算总额"></td> + <td><input name="type11SettleTotal" type="number" value="${Utils.format(finalBean.type11SettleTotal,'0')}" readonly required title="结算总额"></td> + <td><input name="financingCapitalInflow" type="number" value="${Utils.format(finalBean.financingCapitalInflow,'0')}" required title="决算总额"></td> + </tr> + <tr> + <td>还款资金流出</td> + <td><input name="type12BudgetTotal" type="number" value="${Utils.format(cashFlowBean.financingCapitalOutflow,'0')}" readonly required title="预算总额"></td> + <td><input name="type12SettleTotal" type="number" value="${Utils.format(finalBean.type12SettleTotal,'0')}" readonly required title="结算总额"></td> + <td><input name="financingCapitalOutflow" type="number" value="${Utils.format(finalBean.financingCapitalOutflow,'0')}" required title="决算总额"></td> + </tr> + <tr> + <td>筹资活动产生的现金流量净额</td> + <td><input name="type13BudgetTotal" type="number" value="${Utils.format(cashFlowBean.getFinancingCapitalCashflow(),'0')}" readonly required title="预算总额"></td> + <td><input name="type13SettleTotal" type="number" value="${Utils.format(finalBean.type13SettleTotal,'0')}" readonly required title="结算总额"></td> + <td><input name="financingCapitalCashflow" type="number" value="${Utils.format(finalBean.financingCapitalCashflow,'0')}" required title="决算总额"></td> + </tr> + <tr> + <td>货币资金净增加额</td> + <td><input name="type14BudgetTotal" type="number" value="${Utils.format(cashFlowBean.getNetIncreaseMonetaryFunds(),'0')}" readonly required title="预算总额"></td> + <td><input name="type14SettleTotal" type="number" value="${Utils.format(finalBean.type14SettleTotal,'0')}" readonly required title="结算总额"></td> + <td><input name="netIncreaseMonetaryFunds" type="number" value="${Utils.format(finalBean.netIncreaseMonetaryFunds,'0')}" required title="决算总额"></td> + </tr> + <tr> + <td>合计</td> + <td><input name="cashFluxBudgetTotal" type="number" readonly required title="此列累计"></td> + <td><input name="cashFluxSettleTotal" type="number" readonly required title="此列累计"></td> + <td><input name="cashFluxFinalTotal" type="number" readonly required title="此列累计"></td> + </tr> + </tbody> + </table> + </div> + <!--验证表单元素(validate end--> + </div> + + + + + + </div> + + + + <#--收入明细表弹窗--> + <div class="am-modal am-modal-prompt" style="width: 1200px;max-height:600px;overflow-y:auto;" tabindex="-1" id="my-prompt-income-detail"> + <div class="am-modal-dialog"> + <div class="am-modal-hd">新增销售收入明细表——${project.name}</div> + <div class="am-modal-bd"> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;" id="incomeTable"> + <tbody> + <tr> + <td>类别</td> + <td>名称</td> + <td>单位</td> + <td>数量</td> + <td>单价</td> + <td>税率(%)</td> + <td>含税总金额(元)</td> + <td>不含税金额(元)</td> + <td>操作</td> + </tr> + + <#if incomeDetails??> + <#list incomeDetails as incomeDetail> + <tr> + <td> + <select style="width: auto" class="am-modal-prompt-input am-modal-prompt-input-income"> + <option value="1" <#if incomeDetail.type == 1>selected</#if>>设备类</option> + <option value="2" <#if incomeDetail.type == 2>selected</#if>>工程类</option> + <option value="3" <#if incomeDetail.type == 3>selected</#if>>服务类</option> + </select> + </td> + <td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-income" value="${incomeDetail.name!}"></td> + <td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-income" value="${incomeDetail.unit!}"></td> + <td><input type="number" min="0" max="99999999" step="1" class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-amount" value="${incomeDetail.amount!0}"></td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-price" value="${Utils.format(incomeDetail.price,'0')}"></td> + <td><input type="number" min="0.00" max="99.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-tax-rate" value="${Utils.format(incomeDetail.taxRate,'0')}"></td> + <td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-total-tax-include" value="${Utils.format(incomeDetail.totalTaxInclude,'0')}" readonly></td> + <td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-total-tax-exclude" value="${Utils.format(incomeDetail.totalTaxExclude,'0')}" readonly></td> + <td><button type="button" class="am-btn am-btn-warning am-btn-xs am-round am-modal-line-delete"><span class="am-icon-minus"></span></button></td> + </tr> + </#list> + </#if> + + </tbody> + </table> + <button type="button" id="incomeAddBtn" class="am-btn am-btn-primary am-btn-xs am-round"><span class="am-icon-plus"></span></button> + </div> + <div class="am-modal-footer"> + <span class="am-modal-btn" data-am-modal-cancel>取消</span> + <span class="am-modal-btn" data-am-modal-confirm>保存</span> + </div> + </div> + </div> + <#--采购成本明细弹窗--> + <div class="am-modal am-modal-prompt" style="width: 1200px;max-height:600px;overflow-y:auto;" tabindex="-1" id="my-prompt-cost-detail"> + <div class="am-modal-dialog"> + <div class="am-modal-hd">新增采购成本明细表——${project.name}</div> + <div class="am-modal-bd"> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;" id="costTable"> + <tbody> + <tr> + <td>大类</td> + <td>类别</td> + <td>名称</td> + <td>单位</td> + <td>数量</td> + <td>单价</td> + <td>税率(%)</td> + <td>含税总金额(元)</td> + <td>不含税金额(元)</td> + <td>操作</td> + </tr> + + <#if costDetails??> + <#list costDetails as costDetail> + <tr> + <td> + <select style="width: auto" class="am-modal-prompt-input am-modal-prompt-input-cost am-modal-prompt-input-cost-type"> + <option value="1" <#if costDetail.type == 1>selected</#if>>设备</option> + <option value="2" <#if costDetail.type == 2>selected</#if>>施工</option> + <option value="3" <#if costDetail.type == 3>selected</#if>>服务</option> + <option value="4" <#if costDetail.type == 4>selected</#if>>其他</option> + </select> + </td> + <td> + <select style="width: auto" class="am-modal-prompt-input am-modal-prompt-input-cost am-modal-prompt-input-cost-category"> + <option value="1" <#if costDetail.category == 1>selected</#if>>华智产品</option> + <option value="2" <#if costDetail.category == 2>selected</#if>>紫光其他产品</option> + <option value="3" <#if costDetail.category == 3>selected</#if>>外购产品</option> + <option value="4" <#if costDetail.category == 4>selected</#if>>外购工程</option> + <option value="5" <#if costDetail.category == 5>selected</#if>>华智服务</option> + <option value="6" <#if costDetail.category == 6>selected</#if>>紫光其他服务</option> + <option value="7" <#if costDetail.category == 7>selected</#if>>外购服务</option> + <option value="8" <#if costDetail.category == 8>selected</#if>>其他</option> + </select> + </td> + <td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost" value="${costDetail.name!}"></td> + <td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost" value="${costDetail.unit!}"></td> + <td><input type="number" min="0" max="99999999" step="1" class="am-modal-prompt-input am-modal-prompt-input-cost input-changeable-amount" value="${costDetail.amount!0}"></td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-cost input-changeable-price" value="${Utils.format(costDetail.price,'0')}"></td> + <td><input type="number" min="0.00" max="99.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-cost input-changeable-tax-rate" value="${Utils.format(costDetail.taxRate,'0')}"></td> + <td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost input-changeable-total-tax-include" value="${Utils.format(costDetail.totalTaxInclude,'0')}" readonly></td> + <td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost input-changeable-total-tax-exclude" value="${Utils.format(costDetail.totalTaxExclude,'0')}" readonly></td> + <td><button type="button" class="am-btn am-btn-warning am-btn-xs am-round am-modal-line-delete"><span class="am-icon-minus"></span></button></td> + </tr> + </#list> + </#if> + + </tbody> + </table> + <button type="button" id="costAddBtn" class="am-btn am-btn-primary am-btn-xs am-round"><span class="am-icon-plus"></span></button> + </div> + <div class="am-modal-footer"> + <span class="am-modal-btn" data-am-modal-cancel>取消</span> + <span class="am-modal-btn" data-am-modal-confirm>保存</span> + </div> + </div> + </div> + <#--项目管理明细表弹窗--> + <div class="am-modal am-modal-prompt" style="width: 1200px;max-height:600px;overflow-y:auto;" tabindex="-1" id="my-prompt-cost-project-manage-detail"> + <div class="am-modal-dialog"> + <div class="am-modal-hd">新增项目管理成本明细表——${project.name}</div> + <div class="am-modal-bd"> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;" id="costProjectManageTable"> + <tbody> + <tr> + <td>财务费用类别</td> + <td>业务项目</td> + <td>项目明细</td> + <td>单位</td> + <td>数量</td> + <td>单价</td> + <td>总金额(元)</td> + <td>预估计算方法</td> + <td>预估依据</td> + <td>备注</td> + <td>操作</td> + </tr> + + <#if costProjectManageDetails??> + <#list costProjectManageDetails as costProjectManageDetail> + <tr> + <td> + <select style="width: auto" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage" <#if costProjectManageDetail.deletable==0>readonly</#if>> + <option value="1" <#if costProjectManageDetail.type == 1>selected</#if>>人工成本</option> + <option value="2" <#if costProjectManageDetail.type == 2>selected</#if>>业务费用</option> + <option value="3" <#if costProjectManageDetail.type == 3>selected</#if>>其他费用</option> + </select> + </td> + <td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage" value="${costProjectManageDetail.name!}" <#if costProjectManageDetail.deletable==0>readonly</#if>></td> + <td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage" value="${costProjectManageDetail.detail!}"></td> + <td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage" value="${costProjectManageDetail.unit!}"></td> + <td><input type="number" min="0" max="99999999" step="1" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage input-changeable-amount-project-manage" value="${costProjectManageDetail.amount!0}"></td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage input-changeable-price-project-manage" value="${Utils.format(costProjectManageDetail.price,'0')}"></td> + <td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage input-changeable-total-project-manage" value="${Utils.format(costProjectManageDetail.total,'0')}" readonly></td> + <td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage" value="${costProjectManageDetail.predictMethod!}"></td> + <td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage" value="${costProjectManageDetail.predictWhy!}"></td> + <td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage" value="${costProjectManageDetail.remark!}"></td> + <td><#if costProjectManageDetail.deletable==1><button type="button" class="am-btn am-btn-warning am-btn-xs am-round am-modal-line-delete"><span class="am-icon-minus"></span></button></#if> + <input type="hidden" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage" value="${costProjectManageDetail.deletable!}"> + </td> + </tr> + </#list> + </#if> + + </tbody> + </table> + <button type="button" id="costProjectManageAddBtn" class="am-btn am-btn-primary am-btn-xs am-round"><span class="am-icon-plus"></span></button> + </div> + <div class="am-modal-footer"> + <span class="am-modal-btn" data-am-modal-cancel>取消</span> + <span class="am-modal-btn" data-am-modal-confirm>保存</span> + </div> + </div> + </div> + <#--资金计划明细表弹窗--> + <div class="am-modal am-modal-prompt" style="width: 1200px;max-height:600px;overflow-y:auto;" tabindex="-1" id="my-prompt-budget-plan-detail"> + <div class="am-modal-dialog"> + <div class="am-modal-hd">新增资金计划明细表——${project.name}</div> + <div class="am-modal-bd"> + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;" id="budgetPlanDetailTable"> + <tbody> + <tr> + <td>月份</td> + <td>设备支出</td> + <td>工程支出</td> + <td>经营性开支</td> + <td>保证金支出</td> + <td>支出合计</td> + <td>销售收款</td> + <td>保证金收款</td> + <td>收款合计</td> + <td>资金余额</td> + <td>资金利息</td> + <td>垫资计划</td> + <td>还款计划</td> + <td>操作</td> + </tr> + <tr> + <td><input type="text" class="am-modal-prompt-input input-total-month-budget-plan" value="${projectBudgetPlanDetailTotal.month}" readonly/></td> + <td><input type="number" class="am-modal-prompt-input input-total-device-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotal.deviceCost)}" readonly/></td> + <td><input type="number" class="am-modal-prompt-input input-total-engineer-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotal.engineerCost)}" readonly/></td> + <td><input type="number" class="am-modal-prompt-input input-total-project-manage-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotal.projectManageCost)}" readonly/></td> + <td><input type="number" class="am-modal-prompt-input input-total-earnest-money-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotal.earnestMoneyCost)}" readonly/></td> + <td><input type="number" class="am-modal-prompt-input input-total-total-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotal.totalCost)}" readonly/></td> + <td><input type="number" class="am-modal-prompt-input input-total-sale-income-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotal.saleIncome)}" readonly/></td> + <td><input type="number" class="am-modal-prompt-input input-total-earnest-money-income-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotal.earnestMoneyIncome)}" readonly/></td> + <td><input type="number" class="am-modal-prompt-input input-total-total-income-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotal.totalIncome)}" readonly/></td> + <td><input type="number" class="am-modal-prompt-input input-total-fund-balance-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotal.fundBalance)}" readonly/></td> + <td><input type="number" class="am-modal-prompt-input input-total-capital-interest-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotal.capitalInterest)}" readonly/></td> + <td><input type="number" class="am-modal-prompt-input input-total-underwritten-plan-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotal.underwrittenPlan)}" readonly/></td> + <td><input type="number" class="am-modal-prompt-input input-total-repayment-plan-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotal.repaymentPlan)}" readonly/></td> + <td></td> + </tr> + + <#if projectBudgetPlanDetails??> + <#list projectBudgetPlanDetails as projectBudgetPlanDetail> + <tr> + <td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-month-budget-plan" value="${projectBudgetPlanDetail.month!}"></td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-device-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetail.deviceCost)}"></td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-engineer-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetail.engineerCost)}"></td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-project-manage-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetail.projectManageCost)}"></td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-earnest-money-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetail.earnestMoneyCost)}"></td> + <td><input type="number" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-total-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetail.totalCost)}" readonly></td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-sale-income-budget-plan" value="${Utils.format(projectBudgetPlanDetail.saleIncome)}"></td> + <td><input type="number" min="0.00" max="99999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-earnest-money-income-budget-plan" value="${Utils.format(projectBudgetPlanDetail.earnestMoneyIncome)}"></td> + <td><input type="number" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-total-income-budget-plan" value="${Utils.format(projectBudgetPlanDetail.totalIncome)}" readonly></td> + <td><input type="number" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-fund-balance-budget-plan" value="${Utils.format(projectBudgetPlanDetail.fundBalance)}" readonly></td> + <td><input type="number" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-capital-interest-budget-plan" value="${Utils.format(projectBudgetPlanDetail.capitalInterest)}" readonly></td> + <td><input type="number" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-underwritten-plan-budget-plan" value="${Utils.format(projectBudgetPlanDetail.underwrittenPlan)}" readonly></td> + <td><input type="number" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-repayment-plan-budget-plan" value="${Utils.format(projectBudgetPlanDetail.repaymentPlan)}" readonly></td> + <td><button type="button" class="am-btn am-btn-warning am-btn-xs am-round am-modal-line-delete-budget-plan"><span class="am-icon-minus"></span></button></td> + </tr> + </#list> + </#if> + + </tbody> + </table> + <button type="button" id="budgetPlanDetailAddBtn" class="am-btn am-btn-primary am-btn-xs am-round"><span class="am-icon-plus"></span></button> + + <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;"> + <tbody> + <tr> + <td>垫资峰值时间</td> + <td>垫资峰值金额</td> + <td>利率</td> + <td>资金利息</td> + </tr> + <tr> + <td><input type="text" class="am-modal-prompt-input input-underwritten-plan-statistic-max-month-budget-plan" value="${underwrittenPlanStatistic.maxMonth!}" readonly/></td> + <td><input type="text" class="am-modal-prompt-input input-underwritten-plan-statistic-amount-budget-plan" value="${Utils.format(underwrittenPlanStatistic.amount,'')}" readonly/></td> + <td><input type="text" class="am-modal-prompt-input input-underwritten-plan-statistic-tax-rate-budget-plan" value="${Utils.format(project.underwrittenTaxRate,'')}" readonly/></td> + <td><input type="text" class="am-modal-prompt-input input-underwritten-plan-statistic-capital-interest-budget-plan" value="${Utils.format(underwrittenPlanStatistic.capitalInterest,'')}" readonly/></td> + </tr> + </tbody> + </table> + + + </div> + <div class="am-modal-footer"> + <span class="am-modal-btn" data-am-modal-cancel>取消</span> + <span class="am-modal-btn" data-am-modal-confirm>保存</span> + </div> + </div> + </div> + + + <div class="am-tabs am-margin" data-am-tabs> + <div class="am-tabs-bd"> + <div class="am-tab-panel am-fade am-in am-active" id="tab1"> + <div class="am-g am-form-group am-margin-top" style="display: flex;"> + <div class="am-u-sm-4 am-u-md-2 am-text-right"> + <span style="color: red;">*</span>审核意见:</div> + <div class="am-u-sm-4 am-u-md-2 am-text-right"> + <div class="am-u-sm-6 am-u-md-6"> + <span>${project.name}</span> + </div> + </div> + <div class="am-u-sm-2 am-u-md-4 input-msg"></div> + </div> + </div> + </div> + </div> + + <!--选项卡(tabs)end--> + <div class="am-margin"> + <button type="button" class="am-btn am-btn-warning am-btn-xs" onclick="javascript:history.go(-1);">返回上一级</button> + </div> +</form> + +</div> +</div> +<script> + var base = "${base}"; +</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_cost.js"></script> +<script src="${base}/assets/js/project_budget_cost_project_manage.js"></script> +<script src="${base}/assets/js/project_budget_plan.js"></script> +</@defaultLayout.layout> + + + + + + + + + + + + + + + diff --git a/src/main/resources/templates/admin/project_list.ftl b/src/main/resources/templates/admin/project_list.ftl index 298d1b6..caf00c9 100644 --- a/src/main/resources/templates/admin/project_list.ftl +++ b/src/main/resources/templates/admin/project_list.ftl @@ -219,6 +219,16 @@ onclick="location.href='${base}/project/final/edit?id=${list.id}'"><span class="am-icon-pencil-square-o"></span>发起决算 </button> + <button type="button" + class="am-btn am-btn-default am-btn-xs am-text-secondary" + onclick="location.href='${base}/project/detail?id=${list.id}'"><span + class="am-icon-pencil-square-o"></span>查看 + </button> + <button type="button" + class="am-btn am-btn-default am-btn-xs am-text-secondary" + onclick="location.href='${base}/project/approve?id=${list.id}'"><span + class="am-icon-pencil-square-o"></span>审核 + </button> </div> </div> </td>