Merge remote-tracking branch 'origin/master'
commit
abfc4d2c25
|
@ -187,6 +187,38 @@ public class CashFlowBean {
|
|||
.add(financingCapitalCashflow);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有现金流量决算总额
|
||||
* @return
|
||||
*/
|
||||
public BigDecimal getCashFluxTotal() {
|
||||
BigDecimal saleIncomeCash = getSaleIncomeCash();
|
||||
BigDecimal taxReturn = getTaxReturn();
|
||||
BigDecimal earnestMoneyIncome = getEarnestMoneyIncome();
|
||||
BigDecimal purchaseCost = getPurchaseCost();
|
||||
BigDecimal taxCost = getTaxCost();
|
||||
BigDecimal earnestMoneyCost = getEarnestMoneyCost();
|
||||
BigDecimal netCashFlow = getNetCashFlow();
|
||||
BigDecimal cashInflowFromInvestingActivities = getCashInflowFromInvestingActivities();
|
||||
BigDecimal cashOutflowFromInvestingActivities = getCashOutflowFromInvestingActivities();
|
||||
BigDecimal netCashFromInvestingActivities = getNetCashFromInvestingActivities();
|
||||
BigDecimal financingCapitalInflow = getFinancingCapitalInflow();
|
||||
BigDecimal financingCapitalOutflow = getFinancingCapitalOutflow();
|
||||
BigDecimal financingCapitalCashflow = getFinancingCapitalCashflow();
|
||||
BigDecimal netIncreaseMonetaryFunds = getNetIncreaseMonetaryFunds();
|
||||
|
||||
if (null == saleIncomeCash || null == taxReturn || null == earnestMoneyIncome || null == purchaseCost || null == taxCost
|
||||
|| null == earnestMoneyCost || null == netCashFlow || null == cashInflowFromInvestingActivities ||
|
||||
null == cashOutflowFromInvestingActivities || null == netCashFromInvestingActivities ||
|
||||
null == financingCapitalInflow || null == financingCapitalOutflow || null == financingCapitalCashflow || null == netIncreaseMonetaryFunds) {
|
||||
return new BigDecimal(0);
|
||||
}
|
||||
|
||||
return saleIncomeCash.add(taxReturn).add(earnestMoneyIncome).add(purchaseCost).add(taxCost).add(earnestMoneyCost)
|
||||
.add(netCashFlow).add(cashInflowFromInvestingActivities).add(cashOutflowFromInvestingActivities).add(netCashFromInvestingActivities)
|
||||
.add(financingCapitalInflow).add(financingCapitalOutflow).add(financingCapitalCashflow).add(netIncreaseMonetaryFunds);
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理特殊值
|
||||
* null就返回0
|
||||
|
|
|
@ -4,6 +4,7 @@ import java.math.BigDecimal;
|
|||
|
||||
/**
|
||||
* 预算概算页面的公共属性
|
||||
*
|
||||
* @author xiongshiyan at 2021/11/1 , contact me with email yanshixiong@126.com or phone 15208384257
|
||||
*/
|
||||
public abstract class IncomeCostBean {
|
||||
|
@ -33,7 +34,7 @@ public abstract class IncomeCostBean {
|
|||
*/
|
||||
private BigDecimal incomeServiceTaxExclude;
|
||||
/**
|
||||
*设备采购成本含税
|
||||
* 设备采购成本含税
|
||||
*/
|
||||
private BigDecimal costPurchaseDeviceTaxInclude;
|
||||
/**
|
||||
|
@ -54,7 +55,7 @@ public abstract class IncomeCostBean {
|
|||
*/
|
||||
private BigDecimal costOtherOtherTaxInclude;
|
||||
/**
|
||||
*设备采购成本不含税
|
||||
* 设备采购成本不含税
|
||||
*/
|
||||
private BigDecimal costPurchaseDeviceTaxExclude;
|
||||
/**
|
||||
|
@ -83,7 +84,7 @@ public abstract class IncomeCostBean {
|
|||
*/
|
||||
private BigDecimal costExpropriationTaxExclude;
|
||||
/**
|
||||
*公司管理成本不含税
|
||||
* 公司管理成本不含税
|
||||
*/
|
||||
private BigDecimal costCompanyManageTaxExclude;
|
||||
|
||||
|
@ -174,6 +175,7 @@ public abstract class IncomeCostBean {
|
|||
public BigDecimal getCostPurchaseOtherTaxInclude() {
|
||||
return handleSpecial(costPurchaseOtherTaxInclude);
|
||||
}
|
||||
|
||||
public void setCostPurchaseOtherTaxInclude(BigDecimal costPurchaseOtherTaxInclude) {
|
||||
this.costPurchaseOtherTaxInclude = costPurchaseOtherTaxInclude;
|
||||
}
|
||||
|
@ -251,6 +253,20 @@ public abstract class IncomeCostBean {
|
|||
this.costCompanyManageTaxExclude = costCompanyManageTaxExclude;
|
||||
}
|
||||
|
||||
/**
|
||||
* 计算管理成本不含税
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public BigDecimal getCostManageExclude() {
|
||||
BigDecimal costExpropriationTaxExclude = getCostExpropriationTaxExclude();
|
||||
BigDecimal costCompanyManageTaxExclude = getCostCompanyManageTaxExclude();
|
||||
if (null == costExpropriationTaxExclude || null == costCompanyManageTaxExclude) {
|
||||
return handleSpecial(null);
|
||||
}
|
||||
return costExpropriationTaxExclude.add(costCompanyManageTaxExclude);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 计算所有的含税收入
|
||||
|
@ -259,7 +275,7 @@ public abstract class IncomeCostBean {
|
|||
BigDecimal incomeDeviceTaxInclude = getIncomeDeviceTaxInclude();
|
||||
BigDecimal incomeEngineerTaxInclude = getIncomeEngineerTaxInclude();
|
||||
BigDecimal incomeServiceTaxInclude = getIncomeServiceTaxInclude();
|
||||
if(null == incomeDeviceTaxInclude || null == incomeEngineerTaxInclude || null == incomeServiceTaxInclude){
|
||||
if (null == incomeDeviceTaxInclude || null == incomeEngineerTaxInclude || null == incomeServiceTaxInclude) {
|
||||
return handleSpecial(null);
|
||||
}
|
||||
return incomeDeviceTaxInclude.add(incomeEngineerTaxInclude)
|
||||
|
@ -273,7 +289,7 @@ public abstract class IncomeCostBean {
|
|||
BigDecimal incomeDeviceTaxExclude = getIncomeDeviceTaxExclude();
|
||||
BigDecimal incomeEngineerTaxExclude = getIncomeEngineerTaxExclude();
|
||||
BigDecimal incomeServiceTaxExclude = getIncomeServiceTaxExclude();
|
||||
if(null == incomeDeviceTaxExclude || null == incomeEngineerTaxExclude || null == incomeServiceTaxExclude){
|
||||
if (null == incomeDeviceTaxExclude || null == incomeEngineerTaxExclude || null == incomeServiceTaxExclude) {
|
||||
return handleSpecial(null);
|
||||
}
|
||||
return incomeDeviceTaxExclude.add(incomeEngineerTaxExclude)
|
||||
|
@ -290,12 +306,12 @@ public abstract class IncomeCostBean {
|
|||
BigDecimal costPurchaseOtherTaxInclude = getCostPurchaseOtherTaxInclude();
|
||||
BigDecimal costProjectManageTaxInclude = getCostProjectManageTaxInclude();
|
||||
BigDecimal costOtherOtherTaxInclude = getCostOtherOtherTaxInclude();
|
||||
if(null == costPurchaseDeviceTaxInclude
|
||||
if (null == costPurchaseDeviceTaxInclude
|
||||
|| null == costPurchaseBuildTaxInclude
|
||||
|| null == costPurchaseServiceTaxInclude
|
||||
|| null == costPurchaseOtherTaxInclude
|
||||
|| null == costProjectManageTaxInclude
|
||||
|| null == costOtherOtherTaxInclude){
|
||||
|| null == costOtherOtherTaxInclude) {
|
||||
return handleSpecial(null);
|
||||
}
|
||||
return costPurchaseDeviceTaxInclude
|
||||
|
@ -316,12 +332,12 @@ public abstract class IncomeCostBean {
|
|||
BigDecimal costPurchaseOtherTaxExclude = getCostPurchaseOtherTaxExclude();
|
||||
BigDecimal costProjectManageTaxExclude = getCostProjectManageTaxExclude();
|
||||
BigDecimal costOtherOtherTaxExclude = getCostOtherOtherTaxExclude();
|
||||
if(null == costPurchaseDeviceTaxExclude
|
||||
if (null == costPurchaseDeviceTaxExclude
|
||||
|| null == costPurchaseBuildTaxExclude
|
||||
|| null == costPurchaseServiceTaxExclude
|
||||
|| null == costPurchaseOtherTaxExclude
|
||||
|| null == costProjectManageTaxExclude
|
||||
|| null == costOtherOtherTaxExclude){
|
||||
|| null == costOtherOtherTaxExclude) {
|
||||
return handleSpecial(null);
|
||||
}
|
||||
return costPurchaseDeviceTaxExclude
|
||||
|
@ -340,7 +356,7 @@ public abstract class IncomeCostBean {
|
|||
BigDecimal incomeTotalTaxExclude = getIncomeTotalTaxExclude();
|
||||
BigDecimal costTotalTaxExclude = getCostTotalTaxExclude();
|
||||
BigDecimal costExpropriationTaxExclude = getCostExpropriationTaxExclude();
|
||||
if(null == incomeTotalTaxExclude || null == costTotalTaxExclude || null == costExpropriationTaxExclude){
|
||||
if (null == incomeTotalTaxExclude || null == costTotalTaxExclude || null == costExpropriationTaxExclude) {
|
||||
return handleSpecial(null);
|
||||
}
|
||||
return incomeTotalTaxExclude
|
||||
|
@ -355,16 +371,16 @@ public abstract class IncomeCostBean {
|
|||
public BigDecimal getProjectGrossProfitRate() {
|
||||
BigDecimal projectGrossProfit = getProjectGrossProfit();
|
||||
BigDecimal incomeTotalTaxExclude = getIncomeTotalTaxExclude();
|
||||
if(null == projectGrossProfit || null == incomeTotalTaxExclude){
|
||||
if (null == projectGrossProfit || null == incomeTotalTaxExclude) {
|
||||
return handleSpecial(null);
|
||||
}
|
||||
BigDecimal zero = new BigDecimal(0);
|
||||
if(projectGrossProfit.compareTo(zero) == 0 || incomeTotalTaxExclude.compareTo(zero) == 0){
|
||||
if (projectGrossProfit.compareTo(zero) == 0 || incomeTotalTaxExclude.compareTo(zero) == 0) {
|
||||
return handleSpecial(null);
|
||||
}
|
||||
return projectGrossProfit
|
||||
.multiply(new BigDecimal(100))
|
||||
.divide(incomeTotalTaxExclude,2,BigDecimal.ROUND_HALF_UP);
|
||||
.divide(incomeTotalTaxExclude, 2, BigDecimal.ROUND_HALF_UP);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -374,11 +390,12 @@ public abstract class IncomeCostBean {
|
|||
public BigDecimal getProjectContributionProfit() {
|
||||
BigDecimal projectGrossProfit = getProjectGrossProfit();
|
||||
BigDecimal costCompanyManageTaxExclude = getCostCompanyManageTaxExclude();
|
||||
if(null == projectGrossProfit || null == costCompanyManageTaxExclude){
|
||||
if (null == projectGrossProfit || null == costCompanyManageTaxExclude) {
|
||||
return null;
|
||||
}
|
||||
return projectGrossProfit.subtract(costCompanyManageTaxExclude);
|
||||
}
|
||||
|
||||
/**
|
||||
* 计算项目贡献利润率
|
||||
* 贡献利润(不含税)/收入总计(不含税)
|
||||
|
@ -386,20 +403,21 @@ public abstract class IncomeCostBean {
|
|||
public BigDecimal getProjectContributionProfitRate() {
|
||||
BigDecimal projectContributionProfit = getProjectContributionProfit();
|
||||
BigDecimal incomeTotalTaxExclude = getIncomeTotalTaxExclude();
|
||||
if(null == projectContributionProfit || null == incomeTotalTaxExclude){
|
||||
if (null == projectContributionProfit || null == incomeTotalTaxExclude) {
|
||||
return handleSpecial(null);
|
||||
}
|
||||
BigDecimal zero = new BigDecimal(0);
|
||||
if(projectContributionProfit.compareTo(zero) == 0 || incomeTotalTaxExclude.compareTo(zero) == 0){
|
||||
if (projectContributionProfit.compareTo(zero) == 0 || incomeTotalTaxExclude.compareTo(zero) == 0) {
|
||||
return handleSpecial(null);
|
||||
}
|
||||
return projectContributionProfit
|
||||
.multiply(new BigDecimal(100))
|
||||
.divide(incomeTotalTaxExclude, 2,BigDecimal.ROUND_HALF_UP);
|
||||
.divide(incomeTotalTaxExclude, 2, BigDecimal.ROUND_HALF_UP);
|
||||
}
|
||||
|
||||
/**
|
||||
* 对null值如何处理
|
||||
*
|
||||
* @param src 原值
|
||||
* @return 特殊处理之后的值
|
||||
*/
|
||||
|
|
|
@ -3,7 +3,8 @@ package cn.palmte.work.controller.backend;
|
|||
import cn.palmte.work.bean.*;
|
||||
import cn.palmte.work.model.Project;
|
||||
import cn.palmte.work.model.ProjectBudgetPlanDetail;
|
||||
import cn.palmte.work.model.ProjectRepository;
|
||||
import cn.palmte.work.model.ProjectSettleIncome;
|
||||
import cn.palmte.work.model.ProjectSettleIncomeRepository;
|
||||
import cn.palmte.work.service.*;
|
||||
import cn.palmte.work.utils.FreeMarkerUtil;
|
||||
import cn.palmte.work.utils.InterfaceUtil;
|
||||
|
@ -12,7 +13,6 @@ import org.springframework.stereotype.Controller;
|
|||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
@ -33,17 +33,38 @@ public class ProjectFinalController extends BaseController{
|
|||
private ProjectBudgetService projectBudgetService;
|
||||
|
||||
@Autowired
|
||||
private ProjectInstanceService projectInstanceService;
|
||||
private ProjectSettleIncomeRepository projectSettleIncomeRepository;
|
||||
|
||||
@Autowired
|
||||
private ProjectSettleService projectSettleService;
|
||||
|
||||
@RequestMapping("/add")
|
||||
public String add(@RequestParam("id") int id, Map<String, Object> model) {
|
||||
Project project = projectService.getProject(id);
|
||||
ProjectSettleIncome projectSettleIncome = projectSettleIncomeRepository.findNewByProjectId(id);
|
||||
String time = projectSettleIncome.getTime();
|
||||
List<ProjectBudgetPlanDetail> projectBudgetPlanDetails = projectBudgetService.getProjectBudgetPlanDetails(project);
|
||||
model.put("project", project);
|
||||
model.put("estimateBean", projectEstimateService.getEstimate(project));
|
||||
model.put("budgetBean", projectBudgetService.getBudget(project));
|
||||
model.put("settleBean",projectSettleService.getCurrentSettle(project, time));
|
||||
model.put("finalBean",new FinalBean());
|
||||
//现金表
|
||||
model.put("cashFlowBean", projectBudgetService.getCashFlowBean(project, projectBudgetPlanDetails));
|
||||
//freemarker可以利用的静态方法
|
||||
model.put("Utils", FreeMarkerUtil.fromStaticPackage("cn.palmte.work.utils.Utils"));
|
||||
return "admin/project_final_add";
|
||||
}
|
||||
|
||||
@RequestMapping("/edit")
|
||||
public String budget(@RequestParam("id") int id, Map<String, Object> model) {
|
||||
public String edit(@RequestParam("id") int id, Map<String, Object> model) {
|
||||
Project project = projectService.getProject(id);
|
||||
List<ProjectBudgetPlanDetail> projectBudgetPlanDetails = projectBudgetService.getProjectBudgetPlanDetails(project);
|
||||
model.put("project", project);
|
||||
model.put("estimateBean", projectEstimateService.getEstimate(project));
|
||||
model.put("budgetBean", projectBudgetService.getBudget(project));
|
||||
model.put("settleBean",projectFinalSevice.getSettle(project));
|
||||
model.put("finalBean",new FinalBean());
|
||||
model.put("finalBean",projectFinalSevice.getFinal(project));
|
||||
//现金表
|
||||
model.put("cashFlowBean", projectBudgetService.getCashFlowBean(project, projectBudgetPlanDetails));
|
||||
//freemarker可以利用的静态方法
|
||||
|
@ -54,7 +75,6 @@ public class ProjectFinalController extends BaseController{
|
|||
@RequestMapping("/save")
|
||||
public String estimateAddSave(Project project, FinalBean finalBean, Map<String, Object> model) {
|
||||
projectFinalSevice.save(project,finalBean);
|
||||
projectService.updateStatusAndApproveStatus(project.getId(), StatusEnum.FINAL_ACCOUNTS, ApproveStatusEnum.APPROVAL_UNCOMMIT);
|
||||
return "redirect:/project/list";
|
||||
}
|
||||
|
||||
|
@ -69,12 +89,7 @@ public class ProjectFinalController extends BaseController{
|
|||
*/
|
||||
@RequestMapping("/saveAndApprove")
|
||||
public String saveAndApprove(Project project, FinalBean finalBean, Map<String, Object> model) throws Exception{
|
||||
//保存
|
||||
projectFinalSevice.save(project,finalBean);
|
||||
//更新项目和审批状态
|
||||
projectService.updateStatusAndApproveStatus(project.getId(), StatusEnum.FINAL_ACCOUNTS, ApproveStatusEnum.APPROVAL_PENDING);
|
||||
//发起流程
|
||||
projectInstanceService.startFinalProcessInstance(project.getId(), InterfaceUtil.getAdmin());
|
||||
projectFinalSevice.saveAndApprove(project,finalBean);
|
||||
return "redirect:/project/list";
|
||||
}
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@ package cn.palmte.work.service;
|
|||
|
||||
import cn.palmte.work.bean.*;
|
||||
import cn.palmte.work.model.*;
|
||||
import cn.palmte.work.utils.InterfaceUtil;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
@ -44,6 +45,12 @@ public class ProjectFinalSevice {
|
|||
@Autowired
|
||||
private ProjectSettleCashFlowRepository projectSettleCashFlowRepository;
|
||||
|
||||
@Autowired
|
||||
private ProjectService projectService;
|
||||
|
||||
@Autowired
|
||||
private ProjectInstanceService projectInstanceService;
|
||||
|
||||
@Transactional
|
||||
public void save(Project project, FinalBean finalBean) {
|
||||
//预算表数据
|
||||
|
@ -66,6 +73,37 @@ public class ProjectFinalSevice {
|
|||
//保存项目结算现金流量信息
|
||||
saveProjectFinalCashFlux(project,finalBean,cashFlowBean);
|
||||
|
||||
projectService.updateStatusAndApproveStatus(project.getId(), StatusEnum.FINAL_ACCOUNTS, ApproveStatusEnum.APPROVAL_UNCOMMIT);
|
||||
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public void saveAndApprove(Project project, FinalBean finalBean) throws Exception {
|
||||
//预算表数据
|
||||
EstimateBean estimate = projectEstimateService.getEstimate(project);
|
||||
//概算表数据
|
||||
BudgetBean budget = projectBudgetService.getBudget(project);
|
||||
//现金流量表数据
|
||||
List<ProjectBudgetPlanDetail> projectBudgetPlanDetails = projectBudgetService.getProjectBudgetPlanDetails(project);
|
||||
CashFlowBean cashFlowBean = projectBudgetService.getCashFlowBean(project, projectBudgetPlanDetails);
|
||||
|
||||
//保存项目决算收入信息
|
||||
saveProjectFinalIncome(project,finalBean,estimate,budget);
|
||||
|
||||
//保存项目决算成本信息
|
||||
saveProjectFinalCost(project,finalBean,estimate,budget);
|
||||
|
||||
//保存项目结算管理成本信息
|
||||
saveProjectFinalCostManage(project,finalBean,estimate,budget);
|
||||
|
||||
//保存项目结算现金流量信息
|
||||
saveProjectFinalCashFlux(project,finalBean,cashFlowBean);
|
||||
|
||||
//更新项目和审批状态
|
||||
projectService.updateStatusAndApproveStatus(project.getId(), StatusEnum.FINAL_ACCOUNTS, ApproveStatusEnum.APPROVAL_PENDING);
|
||||
//发起流程
|
||||
projectInstanceService.startFinalProcessInstance(project.getId(), InterfaceUtil.getAdmin());
|
||||
|
||||
}
|
||||
|
||||
public void saveProjectFinalCostManage(Project project, FinalBean finalBean,EstimateBean estimate,BudgetBean budget){
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
<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">
|
||||
<form method="post" class="am-form" id="pmsForm" action="${base}/project/budgetEditSave" data-am-validator>
|
||||
<!--选项卡(tabs)begin-->
|
||||
<div class="am-tabs am-margin" data-am-tabs>
|
||||
<ul class="am-tabs-nav am-nav am-nav-tabs">
|
||||
|
|
|
@ -8,327 +8,327 @@
|
|||
<div class="am-fl am-cf"><strong class="am-text-primary am-text-lg">项目概算表</strong></div>
|
||||
</div>
|
||||
|
||||
<form method="post" class="am-form" id="pmsForm" action="${base}/project/estimateAddSave">
|
||||
<!--选项卡(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>
|
||||
</ul>
|
||||
<div class="am-tabs-bd">
|
||||
<div class="am-tab-panel am-fade am-in am-active" id="tab1">
|
||||
<#--<input name="permissionID" id="permissionID" type="hidden" value="${permissionID!}" />-->
|
||||
<!--验证表单元素(validate) begin-->
|
||||
<form method="post" class="am-form" id="pmsForm" action="${base}/project/estimateAddSave" data-am-validator>
|
||||
<!--选项卡(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>
|
||||
</ul>
|
||||
<div class="am-tabs-bd">
|
||||
<div class="am-tab-panel am-fade am-in am-active" id="tab1">
|
||||
<#--<input name="permissionID" id="permissionID" type="hidden" value="${permissionID!}" />-->
|
||||
<!--验证表单元素(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>${dept.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-2 am-u-md-2">
|
||||
<div class="am-form-group am-form-icon">
|
||||
<i class="am-icon-calendar"></i>
|
||||
<input type="text" class="am-form-field am-input-sm" id="startDate"
|
||||
name="startDate" autocomplete="off"
|
||||
value="" placeholder="项目计划开始时间"
|
||||
data-am-datepicker>
|
||||
<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>${dept.name}</span>
|
||||
</div>
|
||||
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
|
||||
</div>
|
||||
</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-2 am-u-md-2">
|
||||
<div class="am-form-group am-form-icon">
|
||||
<i class="am-icon-calendar"></i>
|
||||
<input type="text" class="am-form-field am-input-sm" id="endDate"
|
||||
name="endDate" autocomplete="off"
|
||||
value="" placeholder="项目计划结束时间"
|
||||
data-am-datepicker>
|
||||
|
||||
<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-2 am-u-md-2">
|
||||
<div class="am-form-group am-form-icon">
|
||||
<i class="am-icon-calendar"></i>
|
||||
<input type="text" class="am-form-field am-input-sm" id="startDate"
|
||||
name="startDate" autocomplete="off"
|
||||
value="" placeholder="项目计划开始时间"
|
||||
data-am-datepicker>
|
||||
</div>
|
||||
</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-2 am-u-md-2">
|
||||
<div class="am-form-group am-form-icon">
|
||||
<i class="am-icon-calendar"></i>
|
||||
<input type="text" class="am-form-field am-input-sm" id="endDate"
|
||||
name="endDate" autocomplete="off"
|
||||
value="" placeholder="项目计划结束时间"
|
||||
data-am-datepicker>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
|
||||
</div>
|
||||
</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">
|
||||
<input type="text" class="am-input" data-validate-async data-validation-message="请输入项目名称(20字符以内)"
|
||||
name="name" placeholder="请输入项目名称(20字符以内)" maxlength="20"
|
||||
value="" required />
|
||||
</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">
|
||||
<input type="text" class="am-input" data-validate-async data-validation-message="请输入项目名称(20字符以内)"
|
||||
name="name" placeholder="请输入项目名称(20字符以内)" maxlength="20"
|
||||
value="" required />
|
||||
</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">
|
||||
<select data-am-selected id="type" name="type">
|
||||
<option value="1" >工程集成类</option>
|
||||
<option value="2" >设备集成类</option>
|
||||
<option value="3" >战略合作类</option>
|
||||
</select>
|
||||
</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">
|
||||
<select data-am-selected id="underwrittenMode" name="underwrittenMode">
|
||||
<option value="1" >A类-不垫资(战略合作)</option>
|
||||
<option value="2" >B类-不垫资(背靠背)</option>
|
||||
<option value="3" >C类-垫资(账期覆盖)</option>
|
||||
<option value="4" >D类-垫资(账期不覆盖)</option>
|
||||
</select>
|
||||
</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">
|
||||
<select data-am-selected id="type" name="type">
|
||||
<option value="1" >工程集成类</option>
|
||||
<option value="2" >设备集成类</option>
|
||||
<option value="3" >战略合作类</option>
|
||||
</select>
|
||||
</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">
|
||||
<select data-am-selected id="underwrittenMode" name="underwrittenMode">
|
||||
<option value="1" >A类-不垫资(战略合作)</option>
|
||||
<option value="2" >B类-不垫资(背靠背)</option>
|
||||
<option value="3" >C类-垫资(账期覆盖)</option>
|
||||
<option value="4" >D类-垫资(账期不覆盖)</option>
|
||||
</select>
|
||||
</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">
|
||||
<input type="text" class="am-input" data-validate-async data-validation-message="请输入客户名称(20字符以内)"
|
||||
name="customer" placeholder="请输入客户名称(20字符以内)" maxlength="20"
|
||||
value="" required />
|
||||
</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">
|
||||
<input type="text" class="am-input" data-validate-async data-validation-message="请输入终端客户名称(20字符以内)"
|
||||
name="terminalCustomer" placeholder="请输入终端客户名称(20字符以内)" maxlength="20"
|
||||
value="" required />
|
||||
</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">
|
||||
<input type="number" class="am-input" data-validate-async data-validation-message="请输入垫资利息"
|
||||
name="advanceInterestAmount" placeholder="单位(元)" maxlength="20"
|
||||
value="" required />
|
||||
</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">
|
||||
<input type="number" class="am-input" data-validate-async data-validation-message="请输入垫资峰值"
|
||||
name="advancePeakAmount" placeholder="单位(元)" maxlength="20"
|
||||
value="" required />
|
||||
</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">
|
||||
<input type="number" class="am-input" data-validate-async data-validation-message="请输入合同金额"
|
||||
name="contractAmount" placeholder="单位(元)" maxlength="20"
|
||||
value="" required />
|
||||
</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">
|
||||
<input type="text" class="am-input" data-validate-async data-validation-message="请输入行业场景应用"
|
||||
name="industryScenario" placeholder="请输入行业场景应用" maxlength="20"
|
||||
value="" required />
|
||||
</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">
|
||||
<input type="number" class="am-input" data-validate-async data-validation-message="华智产品金额"
|
||||
name="huazhiProductAmount" placeholder="单位(元)" maxlength="20"
|
||||
value="" required />
|
||||
</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">
|
||||
<input type="number" class="am-input" data-validate-async data-validation-message="请输入紫光其他产品金额"
|
||||
name="ziguangOtherAmount" placeholder="单位(元)" maxlength="20"
|
||||
value="" required />
|
||||
</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">
|
||||
<input type="text" class="am-input" data-validate-async data-validation-message="请输入收款条款"
|
||||
name="mainContractCollectionTerms" placeholder="请输入收款条款" maxlength="20"
|
||||
value="" required />
|
||||
</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">
|
||||
<input type="text" class="am-input" data-validate-async data-validation-message="请输入客户名称(20字符以内)"
|
||||
name="customer" placeholder="请输入客户名称(20字符以内)" maxlength="20"
|
||||
value="" required />
|
||||
</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">
|
||||
<input type="text" class="am-input" data-validate-async data-validation-message="请输入终端客户名称(20字符以内)"
|
||||
name="terminalCustomer" placeholder="请输入终端客户名称(20字符以内)" maxlength="20"
|
||||
value="" required />
|
||||
</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">
|
||||
<input type="number" class="am-input" data-validate-async data-validation-message="请输入垫资利息"
|
||||
name="advanceInterestAmount" placeholder="单位(元)" maxlength="20"
|
||||
value="" required />
|
||||
</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">
|
||||
<input type="number" class="am-input" data-validate-async data-validation-message="请输入垫资峰值"
|
||||
name="advancePeakAmount" placeholder="单位(元)" maxlength="20"
|
||||
value="" required />
|
||||
</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">
|
||||
<input type="number" class="am-input" data-validate-async data-validation-message="请输入合同金额"
|
||||
name="contractAmount" placeholder="单位(元)" maxlength="20"
|
||||
value="" required />
|
||||
</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">
|
||||
<input type="text" class="am-input" data-validate-async data-validation-message="请输入行业场景应用"
|
||||
name="industryScenario" placeholder="请输入行业场景应用" maxlength="20"
|
||||
value="" required />
|
||||
</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">
|
||||
<input type="number" class="am-input" data-validate-async data-validation-message="华智产品金额"
|
||||
name="huazhiProductAmount" placeholder="单位(元)" maxlength="20"
|
||||
value="" required />
|
||||
</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">
|
||||
<input type="number" class="am-input" data-validate-async data-validation-message="请输入紫光其他产品金额"
|
||||
name="ziguangOtherAmount" placeholder="单位(元)" maxlength="20"
|
||||
value="" required />
|
||||
</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">
|
||||
<input type="text" class="am-input" data-validate-async data-validation-message="请输入收款条款"
|
||||
name="mainContractCollectionTerms" placeholder="请输入收款条款" maxlength="20"
|
||||
value="" required />
|
||||
</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" required></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeDeviceTaxExclude" required></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>收入</td>
|
||||
<td>工程类</td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeEngineerTaxInclude" required></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeEngineerTaxExclude" required></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>收入</td>
|
||||
<td>服务类</td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeServiceTaxInclude" required></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeServiceTaxExclude" required></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>合计</td>
|
||||
<td></td>
|
||||
<td><input type="number" name="incomeTotalTaxInclude" readonly title="此列累计"></td>
|
||||
<td><input type="number" name="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" required></td>
|
||||
<td><input type="number" name="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" required></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="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" required></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="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" required></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costPurchaseOtherTaxExclude" required></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>成本</td>
|
||||
<td>项目管理成本</td>
|
||||
<td>项目管理成本</td>
|
||||
<td><input type="number" name="costProjectManageTaxInclude" required readonly></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="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" required></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costOtherOtherTaxExclude" required></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>合计</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><input type="number" name="costTotalTaxInclude" readonly title="此列累计"></td>
|
||||
<td><input type="number" name="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" required></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>公司管理费用</td>
|
||||
<td></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="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" readonly title="收入总计(不含税)-成本总计(不含税)-财务费用总计(不含税)"></td>
|
||||
<td><input type="number" name="projectGrossProfitRate" readonly title="毛利(不含税)/收入总计(不含税)"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>项目贡献利润率</td>
|
||||
<td><input type="number" name="projectContributionProfit" readonly title="项目毛利(不含税)-公司管理费用总计(不含税)"></td>
|
||||
<td><input type="number" name="projectContributionProfitRate" readonly title="贡献利润(不含税)/收入总计(不含税)"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!--验证表单元素(validate end-->
|
||||
</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" required></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeDeviceTaxExclude" required></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>收入</td>
|
||||
<td>工程类</td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeEngineerTaxInclude" required></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeEngineerTaxExclude" required></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>收入</td>
|
||||
<td>服务类</td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeServiceTaxInclude" required></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeServiceTaxExclude" required></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>合计</td>
|
||||
<td></td>
|
||||
<td><input type="number" name="incomeTotalTaxInclude" readonly title="此列累计"></td>
|
||||
<td><input type="number" name="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" required></td>
|
||||
<td><input type="number" name="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" required></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="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" required></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="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" required></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costPurchaseOtherTaxExclude" required></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>成本</td>
|
||||
<td>项目管理成本</td>
|
||||
<td>项目管理成本</td>
|
||||
<td><input type="number" name="costProjectManageTaxInclude" required readonly></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="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" required></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costOtherOtherTaxExclude" required></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>合计</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><input type="number" name="costTotalTaxInclude" readonly title="此列累计"></td>
|
||||
<td><input type="number" name="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" required></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>公司管理费用</td>
|
||||
<td></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="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" readonly title="收入总计(不含税)-成本总计(不含税)-财务费用总计(不含税)"></td>
|
||||
<td><input type="number" name="projectGrossProfitRate" readonly title="毛利(不含税)/收入总计(不含税)"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>项目贡献利润率</td>
|
||||
<td><input type="number" name="projectContributionProfit" readonly title="项目毛利(不含税)-公司管理费用总计(不含税)"></td>
|
||||
<td><input type="number" name="projectContributionProfitRate" readonly title="贡献利润(不含税)/收入总计(不含税)"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!--验证表单元素(validate end-->
|
||||
</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="saveDraft">保存草稿</button>
|
||||
<button type="submit" class="am-btn am-btn-primary am-btn-xs" id="saveApprove">提交审核</button>
|
||||
</div>
|
||||
</form>
|
||||
<!--选项卡(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="saveDraft">保存草稿</button>
|
||||
<button type="submit" class="am-btn am-btn-primary am-btn-xs" id="saveApprove">提交审核</button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="${base}/assets/js/project_common.js"></script>
|
||||
<script src="${base}/assets/js/project_estimate.js"></script>
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<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/estimateEditSave">
|
||||
<form method="post" class="am-form" id="pmsForm" action="${base}/project/estimateEditSave" data-am-validator>
|
||||
<!--选项卡(tabs)begin-->
|
||||
<div class="am-tabs am-margin" data-am-tabs>
|
||||
<ul class="am-tabs-nav am-nav am-nav-tabs">
|
||||
|
|
|
@ -0,0 +1,394 @@
|
|||
<#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>
|
||||
</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}" />
|
||||
<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" value="${Utils.format(settleBean.incomeDeviceTaxExclude,'0')}" required readonly title="设备类结算总额"></td>
|
||||
<td><input name="incomeDeviceFinalTotal" type="number" 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" value="${Utils.format(settleBean.incomeEngineerTaxExclude,'0')}" required readonly title="工程类结算总额"></td>
|
||||
<td><input name="incomeEngineerFinalTotal" type="number" 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" value="${Utils.format(settleBean.incomeServiceTaxExclude,'0')}" required readonly title="服务类结算总额"></td>
|
||||
<td><input name="incomeServiceFinalTotal" type="number" required title="服务类决算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>合计</td>
|
||||
<td></td>
|
||||
<td><input name="estimateIncomeTotalTaxExclude" type="number" value="${Utils.format(estimateBean.getIncomeTotalTaxExclude(),'0')}" readonly required title="此列累计"></td>
|
||||
<td><input name="budgetIncomeTotalTaxExclude" type="number" value="${Utils.format(budgetBean.getIncomeTotalTaxExclude(),'0')}" readonly required title="此列累计"></td>
|
||||
<td><input type="number" value="${Utils.format(settleBean.getIncomeTotalTaxExclude(),'0')}" 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="costPurchaseDeviceTaxExclude" 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 type="number" value="${Utils.format(settleBean.costPurchaseDeviceTaxExclude,'0')}" readonly required title="购买设备结算总额"></td>
|
||||
<td><input name="costPurchaseDeviceFinalTotal" type="number" required title="购买设备决算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>成本</td>
|
||||
<td>采购成本</td>
|
||||
<td>施工</td>
|
||||
<td><input name="costPurchaseBuildTaxExclude" type="number" value="${Utils.format(estimateBean.costPurchaseBuildTaxExclude,'0')}" readonly required title="施工采购成本概算总额"></td>
|
||||
<td><input name="costPurchaseBuildTaxExclude" type="number" value="${Utils.format(budgetBean.costPurchaseBuildTaxExclude,'0')}" readonly required title="施工采购成本预算总额"></td>
|
||||
<td><input type="number" value="${Utils.format(settleBean.costPurchaseBuildTaxExclude,'0')}" readonly required title="施工采购成本结算总额"></td>
|
||||
<td><input name="costPurchaseBuildFinalTotal" type="number" required title="施工采购成本决算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>成本</td>
|
||||
<td>采购成本</td>
|
||||
<td>服务</td>
|
||||
<td><input name="costPurchaseServiceTaxExclude" type="number" value="${Utils.format(estimateBean.costPurchaseServiceTaxExclude,'0')}" readonly required title="服务采购成本概算总额"></td>
|
||||
<td><input name="costPurchaseServiceTaxExclude" type="number" value="${Utils.format(budgetBean.costPurchaseServiceTaxExclude,'0')}" readonly required title="服务采购成本预算总额"></td>
|
||||
<td><input type="number" value="${Utils.format(settleBean.costPurchaseServiceTaxExclude,'0')}" readonly required title="服务采购成本结算总额"></td>
|
||||
<td><input name="costPurchaseServiceFinalTotal" type="number" required title="服务采购成本决算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>成本</td>
|
||||
<td>采购成本</td>
|
||||
<td>其他</td>
|
||||
<td><input name="costPurchaseOtherTaxInclude" type="number" value="${Utils.format(estimateBean.costPurchaseOtherTaxInclude,'0')}" readonly required title="其他采购成本概算总额"></td>
|
||||
<td><input name="costPurchaseOtherTaxInclude" type="number" value="${Utils.format(budgetBean.costPurchaseOtherTaxInclude,'0')}" readonly required title="其他采购成本预算总额"></td>
|
||||
<td><input name="costPurchaseOtherSettleTotal" value="${Utils.format(settleBean.costPurchaseOtherTaxExclude,'0')}" type="number" readonly required title="其他采购成本结算总额"></td>
|
||||
<td><input name="costPurchaseOtherFinalTotal" type="number" required title="其他采购成本决算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>成本</td>
|
||||
<td>项目管理成本</td>
|
||||
<td>项目管理成本</td>
|
||||
<td><input name="costProjectManageTaxExclude" type="number" value="${Utils.format(estimateBean.costProjectManageTaxExclude,'0')}" readonly required title="项目管理成本概算总额"></td>
|
||||
<td><input name="costProjectManageTaxExclude" type="number" value="${Utils.format(budgetBean.costProjectManageTaxExclude,'0')}" readonly required title="项目管理成本预算总额"></td>
|
||||
<td><input name="costProjectManageSettleTotal" value="${Utils.format(settleBean.costProjectManageTaxExclude,'0')}" type="number" readonly required title="项目管理成本结算总额"></td>
|
||||
<td><input name="costProjectManageFinalTotal" type="number" required title="项目管理成本决算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>成本</td>
|
||||
<td>其他</td>
|
||||
<td>其他</td>
|
||||
<td><input name="costOtherOtherTaxExclude" type="number" value="${Utils.format(estimateBean.costOtherOtherTaxExclude,'0')}" readonly required title="其他成本概算总额"></td>
|
||||
<td><input name="costOtherOtherTaxExclude" type="number" value="${Utils.format(budgetBean.costOtherOtherTaxExclude,'0')}" readonly required title="其他成本预算总额"></td>
|
||||
<td><input name="costOtherSettleTotal" value="${Utils.format(settleBean.costOtherOtherTaxExclude,'0')}" type="number" type="number"readonly required title="其他成本结算总额"></td>
|
||||
<td><input name="costOtherFinalTotal" type="number" required title="其他成本决算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>合计</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><input name="incomeTotalTaxExclude" value="${Utils.format(estimateBean.getIncomeTotalTaxExclude(),'0')}" type="number" readonly required title="此列累计"></td>
|
||||
<td><input name="costTotalTaxExclude" value="${Utils.format(budgetBean.getCostTotalTaxExclude(),'0')}" type="number" readonly required title="此列累计"></td>
|
||||
<td><input name="costSettleTotal" value="${Utils.format(settleBean.getCostTotalTaxExclude(),'0')}" 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="costExpropriationTaxExclude" type="number" value="${Utils.format(estimateBean.costExpropriationTaxExclude,'0')}" required readonly title="资金占用成本概算总额"></td>
|
||||
<td><input name="costExpropriationTaxExclude" type="number" value="${Utils.format(budgetBean.costExpropriationTaxExclude,'0')}" required readonly title="资金占用成本预算总额"></td>
|
||||
<td><input type="number" value="${Utils.format(settleBean.costExpropriationTaxExclude,'0')}" required readonly title="资金占用成本结算总额"></td>
|
||||
<td><input name="costExpropriationFinalTotal" type="number" required title="资金占用成本决算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>公司管理费用</td>
|
||||
<td></td>
|
||||
<td><input name="costCompanyManageTaxExclude" type="number" value="${Utils.format(estimateBean.costCompanyManageTaxExclude,'0')}" required readonly title="公司管理费用概算总额"></td>
|
||||
<td><input name="costCompanyManageTaxExclude" type="number" value="${Utils.format(budgetBean.costCompanyManageTaxExclude,'0')}" required readonly title="公司管理费用预算总额"></td>
|
||||
<td><input type="number" value="${Utils.format(settleBean.costCompanyManageTaxExclude,'0')}" required readonly title="公司管理费用结算总额"></td>
|
||||
<td><input name="costCompanyManageFinalTotal" type="number" required title="公司管理费用决算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>所得税费用</td>
|
||||
<td></td>
|
||||
<td>/</td>
|
||||
<td>/</td>
|
||||
<td><input name="costIncomeTaxSettleTotal" value="${Utils.format(settleBean.costIncomeTax,'0')}" type="number" required readonly title="所得税费用结算总额"></td>
|
||||
<td><input name="costIncomeTaxFinalTotal" type="number" required title="所得税费用决算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>合计</td>
|
||||
<td></td>
|
||||
<td><input name="manageEstimateTotal" value="${Utils.format(estimateBean.getCostManageExclude(),'0')}" type="number" readonly required title="此列累计"></td>
|
||||
<td><input name="manageBudgetTotal" value="${Utils.format(budgetBean.getCostManageExclude(),'0')}" type="number" readonly required title="此列累计"></td>
|
||||
<td><input name="manageSettleTotal" value="${Utils.format(settleBean.getCostManageTotal(),'0')}" 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="projectGrossProfit" type="number" value="${Utils.format(estimateBean.getProjectGrossProfit(),'0')}" readonly required title="项目毛利概算总额"></td>
|
||||
<td><input name="projectGrossProfit" type="number" value="${Utils.format(budgetBean.getProjectGrossProfit(),'0')}" readonly required title="项目毛利预算总额"></td>
|
||||
<td><input name="grossProfitSettleTotal" type="number" value="${Utils.format(settleBean.grossProfit,'0')}" readonly required title="项目毛利结算总额"></td>
|
||||
<td><input name="grossProfitFinalTotal" required type="number" title="项目毛利决算总额"></td>
|
||||
<td><input name="grossProfitProfitMargin" type="number" required readonly title="项目毛利利润率"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>项目贡献利润</td>
|
||||
<td><input name="projectContributionProfit" type="number" value="${Utils.format(estimateBean.getProjectContributionProfit(),'0')}" readonly required title="项目贡献利润概算总额"></td>
|
||||
<td><input name="projectContributionProfit" type="number" value="${Utils.format(budgetBean.getProjectContributionProfit(),'0')}" readonly required title="项目贡献利润预算总额"></td>
|
||||
<td><input name="contributionMarginSettleTotal" type="number" value="${Utils.format(settleBean.contributionProfit,'0')}" readonly required title="项目贡献利润结算总额"></td>
|
||||
<td><input name="contributionMarginFinalTotal" type="number" required title="项目贡献利润决算总额"></td>
|
||||
<td><input name="contributionMarginProfitMargin" type="number" required readonly title="项目贡献利润利润率"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>项目净利润</td>
|
||||
<td>/</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(settleBean.netProfit,'0')}" readonly required title="项目净利润结算总额"></td>
|
||||
<td><input name="netMarginFinalTotal" type="number" 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="budgetSaleIncomeCash" type="number" value="${Utils.format(cashFlowBean.saleIncomeCash,'0')}" readonly required title="预算总额"></td>
|
||||
<td><input type="number" value="${Utils.format(settleBean.saleIncomeCash,'0')}" readonly required title="结算总额"></td>
|
||||
<td><input name="saleIncomeCash" type="number" required title="决算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>收到的税费返还</td>
|
||||
<td>/</td>
|
||||
<td><input type="number" value="${Utils.format(settleBean.taxReturn,'0')}" readonly required title="结算总额"></td>
|
||||
<td><input name="taxReturn" type="number" required title="决算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>收到其他与经营活动有关的现金</td>
|
||||
<td><input name="budgetEarnestMoneyIncome" type="number" value="${Utils.format(cashFlowBean.earnestMoneyIncome,'0')}" readonly required title="预算总额"></td>
|
||||
<td><input type="number" value="${Utils.format(settleBean.earnestMoneyIncome,'0')}" readonly required title="结算总额"></td>
|
||||
<td><input name="earnestMoneyIncome" type="number" required title="决算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>购买商品、接受劳务支付的现金</td>
|
||||
<td><input name="budgetPurchaseCost" type="number" value="${Utils.format(cashFlowBean.purchaseCost,'0')}" readonly required title="预算总额"></td>
|
||||
<td><input type="number" value="${Utils.format(settleBean.purchaseCost,'0')}" readonly required title="结算总额"></td>
|
||||
<td><input name="purchaseCost" type="number" required title="决算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>支付的各项税费</td>
|
||||
<td>/</td>
|
||||
<td><input type="number" value="${Utils.format(settleBean.taxCost,'0')}" readonly required title="结算总额"></td>
|
||||
<td><input name="taxCost" type="number" required title="决算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>支付其他与经营活动有关的现金</td>
|
||||
<td><input name="budgetEarnestMoneyCost" type="number" value="${Utils.format(cashFlowBean.earnestMoneyCost,'0')}" readonly required title="预算总额"></td>
|
||||
<td><input type="number" value="${Utils.format(settleBean.earnestMoneyCost,'0')}" readonly required title="结算总额"></td>
|
||||
<td><input name="earnestMoneyCost" type="number" required title="决算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>经营活动产生的现金流量净额</td>
|
||||
<td><input name="budgetNetCashFlow" type="number" value="${Utils.format(cashFlowBean.getNetCashFlow(),'0')}" readonly required title="预算总额"></td>
|
||||
<td><input type="number" value="${Utils.format(settleBean.netCashFlow,'0')}" readonly required title="结算总额"></td>
|
||||
<td><input name="netCashFlow" type="number" required title="决算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>投资活动现金流入</td>
|
||||
<td>/</td>
|
||||
<td><input type="number" value="${Utils.format(settleBean.cashInflowFromInvestingActivities,'0')}" readonly required title="结算总额"></td>
|
||||
<td><input name="cashInflowFromInvestingActivities" type="number" required title="决算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>投资活动现金流出</td>
|
||||
<td>/</td>
|
||||
<td><input type="number" value="${Utils.format(settleBean.cashOutflowFromInvestingActivities,'0')}" readonly required title="结算总额"></td>
|
||||
<td><input name="cashOutflowFromInvestingActivities" type="number" required title="决算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>投资活动产生的现金流量净额</td>
|
||||
<td>/</td>
|
||||
<td><input type="number" value="${Utils.format(settleBean.netCashFromInvestingActivities,'0')}" readonly required title="结算总额"></td>
|
||||
<td><input name="netCashFromInvestingActivities" type="number" required title="决算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>融资资金流入</td>
|
||||
<td><input name="budgetFinancingCapitalInflow" type="number" value="${Utils.format(cashFlowBean.financingCapitalInflow,'0')}" readonly required title="预算总额"></td>
|
||||
<td><input type="number" value="${Utils.format(settleBean.financingCapitalInflow,'0')}" readonly required title="结算总额"></td>
|
||||
<td><input name="financingCapitalInflow" type="number" required title="决算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>还款资金流出</td>
|
||||
<td><input name="budgetFinancingCapitalOutflow" type="number" value="${Utils.format(cashFlowBean.financingCapitalOutflow,'0')}" readonly required title="预算总额"></td>
|
||||
<td><input type="number" value="${Utils.format(settleBean.financingCapitalOutflow,'0')}" readonly required title="结算总额"></td>
|
||||
<td><input name="financingCapitalOutflow" type="number" required title="决算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>筹资活动产生的现金流量净额</td>
|
||||
<td><input name="budgetFinancingCapitalCashflow" type="number" value="${Utils.format(cashFlowBean.getFinancingCapitalCashflow(),'0')}" readonly required title="预算总额"></td>
|
||||
<td><input type="number" value="${Utils.format(settleBean.financingCapitalCashflow,'0')}" readonly required title="结算总额"></td>
|
||||
<td><input name="financingCapitalCashflow" type="number" required title="决算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>货币资金净增加额</td>
|
||||
<td><input name="budgetNetIncreaseMonetaryFunds" type="number" value="${Utils.format(cashFlowBean.getNetIncreaseMonetaryFunds(),'0')}" readonly required title="预算总额"></td>
|
||||
<td><input name="type14SettleTotal" type="number" value="${Utils.format(settleBean.netIncreaseMonetaryFunds,'0')}" readonly required title="结算总额"></td>
|
||||
<td><input name="netIncreaseMonetaryFunds" type="number" required title="决算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>合计</td>
|
||||
<td><input name="cashFluxBudgetTotal" type="number" value="${Utils.format(cashFlowBean.getCashFluxTotal(),'0')}" readonly required title="此列累计"></td>
|
||||
<td><input name="cashFluxSettleTotal" type="number" value="${Utils.format(settleBean.getCashFlowTotal(),'0')}" readonly required title="此列累计"></td>
|
||||
<td><input name="cashFluxFinalTotal" type="number" readonly required title="此列累计"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!--验证表单元素(validate end-->
|
||||
</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>
|
||||
<button type="submit" class="am-btn am-btn-primary am-btn-xs" id="saveApprove">提交审核</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_final.js"></script>
|
||||
<script>
|
||||
$(function () {
|
||||
calculateFinal();
|
||||
$("#saveFinal").click(function () {
|
||||
$("#pmsForm").attr("action","${base}/project/final/save");
|
||||
$("#pmsForm").submit();
|
||||
});
|
||||
|
||||
$("#saveApprove").click(function () {
|
||||
$("#pmsForm").attr("action",base+"/project/final/saveAndApprove");
|
||||
$("#pmsForm").submit();
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
</@defaultLayout.layout>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -50,7 +50,7 @@
|
|||
<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" value="${Utils.format(settleBean.incomeDevice,'0')}" required readonly title="设备类结算总额"></td>
|
||||
<td><input type="number" value="${Utils.format(settleBean.incomeDeviceTaxExclude,'0')}" required readonly title="设备类结算总额"></td>
|
||||
<td><input name="incomeDeviceFinalTotal" type="number" value="${Utils.format(finalBean.incomeDeviceFinalTotal,'0')}" required title="设备类决算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
@ -58,7 +58,7 @@
|
|||
<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" value="${Utils.format(settleBean.incomeEngineer,'0')}" required readonly title="工程类结算总额"></td>
|
||||
<td><input type="number" value="${Utils.format(settleBean.incomeEngineerTaxExclude,'0')}" required readonly title="工程类结算总额"></td>
|
||||
<td><input name="incomeEngineerFinalTotal" type="number" value="${Utils.format(finalBean.incomeEngineerFinalTotal,'0')}" required title="工程类决算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
@ -66,7 +66,7 @@
|
|||
<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" value="${Utils.format(settleBean.incomeService,'0')}" required readonly title="服务类结算总额"></td>
|
||||
<td><input type="number" value="${Utils.format(settleBean.incomeServiceTaxExclude,'0')}" required readonly title="服务类结算总额"></td>
|
||||
<td><input name="incomeServiceFinalTotal" type="number" value="${Utils.format(finalBean.incomeServiceFinalTotal,'0')}" required title="服务类决算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
@ -74,8 +74,8 @@
|
|||
<td></td>
|
||||
<td><input name="estimateIncomeTotalTaxExclude" type="number" value="${Utils.format(estimateBean.getIncomeTotalTaxExclude(),'0')}" readonly required title="此列累计"></td>
|
||||
<td><input name="budgetIncomeTotalTaxExclude" type="number" value="${Utils.format(budgetBean.getIncomeTotalTaxExclude(),'0')}" readonly required title="此列累计"></td>
|
||||
<td><input type="number" value="${Utils.format(settleBean.incomeTotal,'0')}" readonly required title="此列累计"></td>
|
||||
<td><input name="incomeFinalTotal" type="number" readonly required title="此列累计"></td>
|
||||
<td><input type="number" value="${Utils.format(settleBean.getIncomeTotalTaxExclude(),'0')}" readonly required title="此列累计"></td>
|
||||
<td><input name="incomeFinalTotal" type="number" value="${Utils.format(finalBean.getIncomeTotal(),'0')}" readonly required title="此列累计"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -97,7 +97,7 @@
|
|||
<td>设备</td>
|
||||
<td><input name="costPurchaseDeviceTaxExclude" 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 type="number" value="${Utils.format(settleBean.costPurchaseDevice,'0')}" readonly required title="购买设备结算总额"></td>
|
||||
<td><input type="number" value="${Utils.format(settleBean.costPurchaseDeviceTaxExclude,'0')}" readonly required title="购买设备结算总额"></td>
|
||||
<td><input name="costPurchaseDeviceFinalTotal" type="number" value="${Utils.format(finalBean.costPurchaseDeviceFinalTotal,'0')}" required title="购买设备决算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
@ -106,7 +106,7 @@
|
|||
<td>施工</td>
|
||||
<td><input name="costPurchaseBuildTaxExclude" type="number" value="${Utils.format(estimateBean.costPurchaseBuildTaxExclude,'0')}" readonly required title="施工采购成本概算总额"></td>
|
||||
<td><input name="costPurchaseBuildTaxExclude" type="number" value="${Utils.format(budgetBean.costPurchaseBuildTaxExclude,'0')}" readonly required title="施工采购成本预算总额"></td>
|
||||
<td><input type="number" value="${Utils.format(settleBean.costPurchaseBuild,'0')}" readonly required title="施工采购成本结算总额"></td>
|
||||
<td><input type="number" value="${Utils.format(settleBean.costPurchaseBuildTaxExclude,'0')}" readonly required title="施工采购成本结算总额"></td>
|
||||
<td><input name="costPurchaseBuildFinalTotal" type="number" value="${Utils.format(finalBean.costPurchaseBuildFinalTotal,'0')}" required title="施工采购成本决算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
@ -115,7 +115,7 @@
|
|||
<td>服务</td>
|
||||
<td><input name="costPurchaseServiceTaxExclude" type="number" value="${Utils.format(estimateBean.costPurchaseServiceTaxExclude,'0')}" readonly required title="服务采购成本概算总额"></td>
|
||||
<td><input name="costPurchaseServiceTaxExclude" type="number" value="${Utils.format(budgetBean.costPurchaseServiceTaxExclude,'0')}" readonly required title="服务采购成本预算总额"></td>
|
||||
<td><input type="number" value="${Utils.format(settleBean.costPurchaseService,'0')}" readonly required title="服务采购成本结算总额"></td>
|
||||
<td><input type="number" value="${Utils.format(settleBean.costPurchaseServiceTaxExclude,'0')}" readonly required title="服务采购成本结算总额"></td>
|
||||
<td><input name="costPurchaseServiceFinalTotal" type="number" value="${Utils.format(finalBean.costPurchaseServiceFinalTotal,'0')}" required title="服务采购成本决算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
@ -124,7 +124,7 @@
|
|||
<td>其他</td>
|
||||
<td><input name="costPurchaseOtherTaxInclude" type="number" value="${Utils.format(estimateBean.costPurchaseOtherTaxInclude,'0')}" readonly required title="其他采购成本概算总额"></td>
|
||||
<td><input name="costPurchaseOtherTaxInclude" type="number" value="${Utils.format(budgetBean.costPurchaseOtherTaxInclude,'0')}" readonly required title="其他采购成本预算总额"></td>
|
||||
<td><input name="costPurchaseOtherSettleTotal" value="${Utils.format(settleBean.costPurchaseOther,'0')}" type="number" readonly required title="其他采购成本结算总额"></td>
|
||||
<td><input name="costPurchaseOtherSettleTotal" value="${Utils.format(settleBean.costPurchaseOtherTaxExclude,'0')}" type="number" readonly required title="其他采购成本结算总额"></td>
|
||||
<td><input name="costPurchaseOtherFinalTotal" type="number" value="${Utils.format(finalBean.costPurchaseOtherFinalTotal,'0')}" required title="其他采购成本决算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
@ -133,7 +133,7 @@
|
|||
<td>项目管理成本</td>
|
||||
<td><input name="costProjectManageTaxExclude" type="number" value="${Utils.format(estimateBean.costProjectManageTaxExclude,'0')}" readonly required title="项目管理成本概算总额"></td>
|
||||
<td><input name="costProjectManageTaxExclude" type="number" value="${Utils.format(budgetBean.costProjectManageTaxExclude,'0')}" readonly required title="项目管理成本预算总额"></td>
|
||||
<td><input name="costProjectManageSettleTotal" value="${Utils.format(settleBean.costProjectManage,'0')}" type="number" readonly required title="项目管理成本结算总额"></td>
|
||||
<td><input name="costProjectManageSettleTotal" value="${Utils.format(settleBean.costProjectManageTaxExclude,'0')}" type="number" readonly required title="项目管理成本结算总额"></td>
|
||||
<td><input name="costProjectManageFinalTotal" type="number" value="${Utils.format(finalBean.costProjectManageFinalTotal,'0')}" required title="项目管理成本决算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
@ -142,7 +142,7 @@
|
|||
<td>其他</td>
|
||||
<td><input name="costOtherOtherTaxExclude" type="number" value="${Utils.format(estimateBean.costOtherOtherTaxExclude,'0')}" readonly required title="其他成本概算总额"></td>
|
||||
<td><input name="costOtherOtherTaxExclude" type="number" value="${Utils.format(budgetBean.costOtherOtherTaxExclude,'0')}" readonly required title="其他成本预算总额"></td>
|
||||
<td><input name="costOtherSettleTotal" value="${Utils.format(settleBean.costOther,'0')}" type="number" type="number"readonly required title="其他成本结算总额"></td>
|
||||
<td><input name="costOtherSettleTotal" value="${Utils.format(settleBean.costOtherOtherTaxExclude,'0')}" 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>
|
||||
|
@ -151,8 +151,8 @@
|
|||
<td></td>
|
||||
<td><input name="incomeTotalTaxExclude" value="${Utils.format(estimateBean.getIncomeTotalTaxExclude(),'0')}" type="number" readonly required title="此列累计"></td>
|
||||
<td><input name="costTotalTaxExclude" value="${Utils.format(budgetBean.getCostTotalTaxExclude(),'0')}" type="number" readonly required title="此列累计"></td>
|
||||
<td><input name="costSettleTotal" value="${Utils.format(settleBean.costTotal,'0')}" type="number" readonly required title="此列累计"></td>
|
||||
<td><input name="costFinalTotal" type="number" readonly required title="此列累计"></td>
|
||||
<td><input name="costSettleTotal" value="${Utils.format(settleBean.getCostTotalTaxExclude(),'0')}" type="number" readonly required title="此列累计"></td>
|
||||
<td><input name="costFinalTotal" type="number" value="${Utils.format(finalBean.getCostTotal(),'0')}" readonly required title="此列累计"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -172,7 +172,7 @@
|
|||
<td>资金占用成本</td>
|
||||
<td><input name="costExpropriationTaxExclude" type="number" value="${Utils.format(estimateBean.costExpropriationTaxExclude,'0')}" required readonly title="资金占用成本概算总额"></td>
|
||||
<td><input name="costExpropriationTaxExclude" type="number" value="${Utils.format(budgetBean.costExpropriationTaxExclude,'0')}" required readonly title="资金占用成本预算总额"></td>
|
||||
<td><input type="number" value="${Utils.format(settleBean.costExpropriation,'0')}" required readonly title="资金占用成本结算总额"></td>
|
||||
<td><input type="number" value="${Utils.format(settleBean.costExpropriationTaxExclude,'0')}" required readonly title="资金占用成本结算总额"></td>
|
||||
<td><input name="costExpropriationFinalTotal" type="number" value="${Utils.format(finalBean.costExpropriationFinalTotal,'0')}" required title="资金占用成本决算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
@ -180,7 +180,7 @@
|
|||
<td></td>
|
||||
<td><input name="costCompanyManageTaxExclude" type="number" value="${Utils.format(estimateBean.costCompanyManageTaxExclude,'0')}" required readonly title="公司管理费用概算总额"></td>
|
||||
<td><input name="costCompanyManageTaxExclude" type="number" value="${Utils.format(budgetBean.costCompanyManageTaxExclude,'0')}" required readonly title="公司管理费用预算总额"></td>
|
||||
<td><input type="number" value="${Utils.format(settleBean.costCompanyManage,'0')}" required readonly title="公司管理费用结算总额"></td>
|
||||
<td><input type="number" value="${Utils.format(settleBean.costCompanyManageTaxExclude,'0')}" required readonly title="公司管理费用结算总额"></td>
|
||||
<td><input name="costCompanyManageFinalTotal" type="number" value="${Utils.format(finalBean.costCompanyManageFinalTotal,'0')}" required title="公司管理费用决算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
@ -194,10 +194,10 @@
|
|||
<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="manageEstimateTotal" value="${Utils.format(estimateBean.getCostManageExclude(),'0')}" type="number" readonly required title="此列累计"></td>
|
||||
<td><input name="manageBudgetTotal" value="${Utils.format(budgetBean.getCostManageExclude(),'0')}" type="number" readonly required title="此列累计"></td>
|
||||
<td><input name="manageSettleTotal" value="${Utils.format(settleBean.getCostManageTotal(),'0')}" type="number" readonly required title="此列累计"></td>
|
||||
<td><input name="manageFinalTotal" type="number" readonly required title="此列累计"></td>
|
||||
<td><input name="manageFinalTotal" type="number" value="${Utils.format(finalBean.getCostManageTotal(),'0')}" readonly required title="此列累计"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -225,7 +225,7 @@
|
|||
<td>项目贡献利润</td>
|
||||
<td><input name="projectContributionProfit" type="number" value="${Utils.format(estimateBean.getProjectContributionProfit(),'0')}" readonly required title="项目贡献利润概算总额"></td>
|
||||
<td><input name="projectContributionProfit" type="number" value="${Utils.format(budgetBean.getProjectContributionProfit(),'0')}" readonly required title="项目贡献利润预算总额"></td>
|
||||
<td><input name="contributionMarginSettleTotal" type="number" value="${Utils.format(finalBean.contributionMarginSettleTotal,'0')}" readonly required title="项目贡献利润结算总额"></td>
|
||||
<td><input name="contributionMarginSettleTotal" type="number" value="${Utils.format(settleBean.contributionProfit,'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>
|
||||
|
@ -233,7 +233,7 @@
|
|||
<td>项目净利润</td>
|
||||
<td>/</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="netMarginSettleTotal" type="number" value="${Utils.format(settleBean.netProfit,'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>
|
||||
|
@ -335,9 +335,9 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td>合计</td>
|
||||
<td><input name="cashFluxBudgetTotal" type="number" readonly required title="此列累计"></td>
|
||||
<td><input name="cashFluxBudgetTotal" type="number" value="${Utils.format(cashFlowBean.getCashFluxTotal(),'0')}" readonly required title="此列累计"></td>
|
||||
<td><input name="cashFluxSettleTotal" type="number" value="${Utils.format(settleBean.getCashFlowTotal(),'0')}" readonly required title="此列累计"></td>
|
||||
<td><input name="cashFluxFinalTotal" type="number" readonly required title="此列累计"></td>
|
||||
<td><input name="cashFluxFinalTotal" type="number" value="${Utils.format(finalBean.getCashFluxTotal(),'0')}" readonly required title="此列累计"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
|
@ -243,11 +243,17 @@
|
|||
<#if (list.status== 10 && list.approveStatusSettle== 2) || (list.status== 15 && list.approveStatusFinal== 0) || (list.status== 15 && list.approveStatusFinal== 3)>
|
||||
<button type="button"
|
||||
class="am-btn am-btn-default am-btn-xs am-text-secondary"
|
||||
onclick="location.href='${base}/project/final/edit?id=${list.id}'"><span
|
||||
onclick="location.href='${base}/project/final/add?id=${list.id}'"><span
|
||||
class="am-icon-pencil-square-o"></span>发起决算
|
||||
</button>
|
||||
</#if>
|
||||
|
||||
<button type="button"
|
||||
class="am-btn am-btn-default am-btn-xs am-text-secondary"
|
||||
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
|
||||
|
|
Loading…
Reference in New Issue