From 8e4ea7611b31cce6be22761722e64f3597e5e152 Mon Sep 17 00:00:00 2001 From: hanbo <2608504783@qq.com> Date: Tue, 17 May 2022 15:41:45 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=98=93=E7=94=A8=E6=80=A7=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/static/assets/css/admin.css | 6 ++++++ src/main/resources/templates/admin/project_estimate_add.ftl | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/resources/static/assets/css/admin.css b/src/main/resources/static/assets/css/admin.css index 5e4d687..22e7884 100644 --- a/src/main/resources/static/assets/css/admin.css +++ b/src/main/resources/static/assets/css/admin.css @@ -404,4 +404,10 @@ textarea{ } select{ font-size: 1.48vh !important; +} +option{ + font-size: 1.48vh !important; +} +div{ + font-size: 1.48vh !important; } \ No newline at end of file diff --git a/src/main/resources/templates/admin/project_estimate_add.ftl b/src/main/resources/templates/admin/project_estimate_add.ftl index dcd8c79..cd66dfa 100644 --- a/src/main/resources/templates/admin/project_estimate_add.ftl +++ b/src/main/resources/templates/admin/project_estimate_add.ftl @@ -68,8 +68,8 @@ <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"> + <div class="am-u-sm-6 am-u-md-6" style="font-size: small"> + <select data-am-selected id="type" name="type" > <option value="1" >工程集成类</option> <option value="2" >设备集成类</option> <option value="3" >战略合作类</option> From 6370b3104cd16332119f2c9d68153810bab4380b Mon Sep 17 00:00:00 2001 From: pengqiang <1067496116@qq.com> Date: Wed, 18 May 2022 17:43:35 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E6=B5=81=E7=A8=8B=E9=A9=B3=E5=9B=9E?= =?UTF-8?q?=E5=90=8E=20=E9=87=8D=E6=96=B0=E5=8F=91=E8=B5=B7=E6=96=B0?= =?UTF-8?q?=E7=9A=84=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../work/service/ActTaskDefService.java | 6 +- .../work/service/ProjectBudgetService.java | 15 +---- .../work/service/ProjectEstimateService.java | 55 ++++++++----------- 3 files changed, 26 insertions(+), 50 deletions(-) diff --git a/src/main/java/cn/palmte/work/service/ActTaskDefService.java b/src/main/java/cn/palmte/work/service/ActTaskDefService.java index 375153b..cad28bb 100644 --- a/src/main/java/cn/palmte/work/service/ActTaskDefService.java +++ b/src/main/java/cn/palmte/work/service/ActTaskDefService.java @@ -94,11 +94,11 @@ public class ActTaskDefService { * @param comment */ public void completeTaskByProcInsId(String procInsId, int type, String comment) { - int adminId = InterfaceUtil.getAdminId(); + //int adminId = InterfaceUtil.getAdminId(); List<Task> taskList = taskService.createTaskQuery().processInstanceId(procInsId).list(); - List<String> assignUserList; + //List<String> assignUserList; for (Task task : taskList) { - assignUserList = actUtil.getAssignUserList(task.getId()); + //assignUserList = actUtil.getAssignUserList(task.getId()); //if (assignUserList.contains(String.valueOf(adminId))) { completeTask(task.getId(), procInsId, comment, type); //} diff --git a/src/main/java/cn/palmte/work/service/ProjectBudgetService.java b/src/main/java/cn/palmte/work/service/ProjectBudgetService.java index 1b424ad..1b682cf 100644 --- a/src/main/java/cn/palmte/work/service/ProjectBudgetService.java +++ b/src/main/java/cn/palmte/work/service/ProjectBudgetService.java @@ -779,20 +779,7 @@ public class ProjectBudgetService { } public void budgetApprove(Integer approveStatusBudget, Project projectInDb, Admin admin) throws Exception { - - if(null != approveStatusBudget && - ApproveStatusEnum.APPROVAL_UNPASS.getApproveStatus() == approveStatusBudget){ - //审核不通过的情况下重新编辑后就完成当前任务 - List<String> budgetProcessInsIds = projectInstanceService.getBudgetProcessInsIds(projectInDb); - if(CollectionUtil.isNotEmpty(budgetProcessInsIds)){ - actTaskDefService.completeTaskByProcInsId(budgetProcessInsIds.get(0), - ApproveStatusEnum.APPROVAL_PASSED.getApproveStatus(), - "重新修改了预算表,请审批"); - } - }else { - //第一次或者重新发起一个流程实例 - projectInstanceService.startBudgetProcessInstance(projectInDb, admin); - } + projectInstanceService.startBudgetProcessInstance(projectInDb, admin); } /** diff --git a/src/main/java/cn/palmte/work/service/ProjectEstimateService.java b/src/main/java/cn/palmte/work/service/ProjectEstimateService.java index 61f460c..0c24a1d 100644 --- a/src/main/java/cn/palmte/work/service/ProjectEstimateService.java +++ b/src/main/java/cn/palmte/work/service/ProjectEstimateService.java @@ -297,40 +297,29 @@ public class ProjectEstimateService { } public void estimateApprove(Integer approveStatusEstimate, Project projectInDb, Admin admin) throws Exception { - if(null != approveStatusEstimate && - ApproveStatusEnum.APPROVAL_UNPASS.getApproveStatus() == approveStatusEstimate){ - //审核不通过的情况下重新编辑后就完成当前任务【此时任务节点在第一个,也就是发起审批】 - List<String> estimateProcessInsIds = projectInstanceService.getEstimateProcessInsIds(projectInDb); - if(CollectionUtil.isNotEmpty(estimateProcessInsIds)){ - actTaskDefService.completeTaskByProcInsId(estimateProcessInsIds.get(0), - ApproveStatusEnum.APPROVAL_PASSED.getApproveStatus(), - "重新修改了概算表,请审批"); - } - }else { - //第一次或者重新发起一个流程实例【第一次或者以前的审批都已经过了】 - projectInstanceService.startEstimateProcessInstance(projectInDb, admin); - int type = projectInDb.getType(); - List<SysUserRole> userIds = new ArrayList<>(); - if (type == 1) { - String sql = "select sur.user_id from sys_role sr left join sys_user_role sur on sr.id = sur.role_id where sr.is_deleted = 0 and sur.is_deleted = 0 and sr.level in (1,2,3,4,5,6)"; - userIds = pagination.find(sql, SysUserRole.class); - } else if (type == 2) { - String sql = "select sur.user_id from sys_role sr left join sys_user_role sur on sr.id = sur.role_id where sr.is_deleted = 0 and sur.is_deleted = 0 and sr.level in (1,2,3,5,6)"; - userIds = pagination.find(sql, SysUserRole.class); - } else if (type == 3) { - String sql = "select sur.user_id from sys_role sr left join sys_user_role sur on sr.id = sur.role_id where sr.is_deleted = 0 and sur.is_deleted = 0 and sr.level in (1,2,3,6)"; - userIds = pagination.find(sql, SysUserRole.class); - } - List<ProjectVisible> pvs = new ArrayList<>(); - for (SysUserRole sysUserRole : userIds) { - ProjectVisible pv = new ProjectVisible(); - pv.setProjectId(projectInDb.getId()); - pv.setType(2); - pv.setTid(sysUserRole.getUserId()); - pvs.add(pv); - } - projectVisibleRepository.save(pvs); + projectInstanceService.startEstimateProcessInstance(projectInDb, admin); + int type = projectInDb.getType(); + List<SysUserRole> userIds = new ArrayList<>(); + if (type == 1) { + String sql = "select sur.user_id from sys_role sr left join sys_user_role sur on sr.id = sur.role_id where sr.is_deleted = 0 and sur.is_deleted = 0 and sr.level in (1,2,3,4,5,6)"; + userIds = pagination.find(sql, SysUserRole.class); + } else if (type == 2) { + String sql = "select sur.user_id from sys_role sr left join sys_user_role sur on sr.id = sur.role_id where sr.is_deleted = 0 and sur.is_deleted = 0 and sr.level in (1,2,3,5,6)"; + userIds = pagination.find(sql, SysUserRole.class); + } else if (type == 3) { + String sql = "select sur.user_id from sys_role sr left join sys_user_role sur on sr.id = sur.role_id where sr.is_deleted = 0 and sur.is_deleted = 0 and sr.level in (1,2,3,6)"; + userIds = pagination.find(sql, SysUserRole.class); } + List<ProjectVisible> pvs = new ArrayList<>(); + for (SysUserRole sysUserRole : userIds) { + ProjectVisible pv = new ProjectVisible(); + pv.setProjectId(projectInDb.getId()); + pv.setType(2); + pv.setTid(sysUserRole.getUserId()); + pvs.add(pv); + } + projectVisibleRepository.save(pvs); + } /** From 96493e8b32156ad253b62190b84a4e76df79f499 Mon Sep 17 00:00:00 2001 From: hanbo <2608504783@qq.com> Date: Thu, 9 Jun 2022 14:29:03 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E6=98=93=E7=94=A8=E6=80=A7=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../templates/admin/month_statistics.ftl | 307 +++++++++++++++++- 1 file changed, 296 insertions(+), 11 deletions(-) diff --git a/src/main/resources/templates/admin/month_statistics.ftl b/src/main/resources/templates/admin/month_statistics.ftl index d280d10..51f7c9b 100644 --- a/src/main/resources/templates/admin/month_statistics.ftl +++ b/src/main/resources/templates/admin/month_statistics.ftl @@ -9,9 +9,11 @@ border-bottom: 1px solid; border-right: 1px solid; } + .cal-table-left { display: inline-block; } + table { display: block; border-collapse: collapse; @@ -35,12 +37,219 @@ <li><a href="#tab3">现金流量表</a></li> </ul> <div class="am-tabs-bd"> - <div class="am-tab-panel am-fade am-in am-active" id="tab1"> - <div class="am-scrollable-horizontal"> - <table class="am-table table-main" > - <thead class="cal-table-left" style="overflow-x: scroll;"><tr class="cal-table-left"><th class="cal-table-column">类别</th><th style="border-top: 1px solid;" class="cal-table-column">收入--设备类</th><th style="border-top: 1px solid;" class="cal-table-column">收入--施工类</th><th style="border-top: 1px solid;" class="cal-table-column">收入--服务类</th><th style="border-top: 1px solid;" class="cal-table-column">采购成本--设备类</th><th style="border-top: 1px solid;" class="cal-table-column">采购成本--施工类</th><th style="border-top: 1px solid;" class="cal-table-column">采购成本--服务类</th><th style="border-top: 1px solid;" class="cal-table-column">采购成本--其他</th><th style="border-top: 1px solid;" class="cal-table-column">成本--其他</th><th style="border-top: 1px solid;" class="cal-table-column">成本--项目管理成本</th><th style="border-top: 1px solid;" class="cal-table-column">财务费用--资金占用成本</th><th style="border-bottom: 1px solid; border-top: 1px solid;" class="cal-table-column">公司管理费用</th></tr></thead><tbody class="cal-table-left" style="overflow-x: scroll;width: calc(100% - 180px);white-space: nowrap;"><#if (primaryIndicatorList)?exists && (primaryIndicatorList?size>0)><#list primaryIndicatorList as list><tr class="cal-table-left"><td class="cal-table-column">${list.title!}</td><td class="cal-table-column">${(list.incomeDevice!0)?string("#,##0.##")}</td><td class="cal-table-column">${(list.incomeEngineer!0)?string("#,##0.##")}</td><td class="cal-table-column">${(list.incomeService!0)?string("#,##0.##")}</td><td class="cal-table-column">${(list.costPurchaseDevice!0)?string("#,##0.##")}</td><td class="cal-table-column">${(list.costPurchaseBuild!0)?string("#,##0.##")}</td><td class="cal-table-column">${(list.costPurchaseService!0)?string("#,##0.##")}</td><td class="cal-table-column">${(list.costPurchaseOther!0)?string("#,##0.##")}</td><td class="cal-table-column">${(list.costOtherOther!0)?string("#,##0.##")}</td><td class="cal-table-column">${(list.costProjectManage!0)?string("#,##0.##")}</td><td class="cal-table-column">${(list.costExpropriation!0)?string("#,##0.##")}</td><td class="cal-table-column">${(list.costCompanyManage!0)?string("#,##0.##")}</td></tr></#list></#if></tbody> - </table> + <div class="am-tab-panel am-fade am-in am-active" id="tab1"><style type="text/css"> + .s-table { + position: relative; + width: 100%; + overflow: hidden; + display: flex; + flex-wrap: nowrap; + border: 1px solid #CCC; + } + .stable.fixed-top { + border-bottom: 0; + } + .s-table .table-left { + flex: 0 0 190px; + position: relative; + } + .table-left .table-left-top { + position: sticky; + top: 0; + z-index: 1000; + } + .table-left .table-left-bottom { + height: 100%; + overflow-y: auto; + } + .table-left-bottom::-webkit-scrollbar { + display: none; + } + .table-left .table-left-row { + width: 100%; + height: 40px; + border-bottom: 1px solid #CCC; + border-right: 1px solid #CCC; + padding: 0 6px; + display: flex; + align-items: center; + } + .s-table .table-right { + flex: 1; + } + .table-right-top { + display: flex; + width: 100%; + overflow-x: auto; + position: sticky; + top: 0; + z-index: 1000; + } + .table-right-top::-webkit-scrollbar { + display: none; + } + .table-right .table-right-row { + width: 100%; + height: 40px; + display: flex; + } + .table-right-column { + flex: 0 0 160px; + height: 100%; + overflow: hidden; + border-bottom: 1px solid #CCC; + border-right: 1px solid #CCC; + } + .table-right-column.td { + padding: 0 6px; + display: flex; + align-items: center; + } + .table-right .table-right-bottom { + overflow: auto; + display: flex; + } + .fixed-top .table-left-row, .fixed-top .table-right-column { + border-bottom: 0 + } + </style> + <div class="s-table fixed-top" style="position: sticky;z-index: 1;top:0;background: #FFF;"> + <div class="table-left"> + <div class="table-left-top table-left-row">类别</div> + </div> + <div class="table-right"> + <div id="table1RightTop" class="table-right-top"> + <#if (primaryIndicatorList)?exists && (primaryIndicatorList?size>0)><#list primaryIndicatorList as list> + <div class="table-right-column"> + <div class="table-right-row"> + <div class="table-right-column td"> + ${list.title!} + </div> + </div> + </div> + </#list></#if> + </div> + </div> + </div> + <div class="s-table"> + <div class="table-left"> +<#-- <div class="table-left-top table-left-row">类别</div>--> + <div id="table1LeftBottom" class="table-left-bottom"> + <div class="table-left-row">收入--设备类</div> + <div class="table-left-row">收入--施工类</div> + <div class="table-left-row">收入--服务类</div> + <div class="table-left-row">采购成本--设备类</div> + <div class="table-left-row">采购成本--施工类</div> + <div class="table-left-row">采购成本--服务类</div> + <div class="table-left-row">采购成本--其他</div> + <div class="table-left-row">成本--其他</div> + <div class="table-left-row">成本--项目管理成本</div> + <div class="table-left-row">财务费用--资金占用成本</div> + <div class="table-left-row">公司管理费用</div> + </div> + </div> + <div class="table-right"> +<#-- <div id="table1RightTop" class="table-right-top">--> +<#-- <#if (primaryIndicatorList)?exists && (primaryIndicatorList?size>0)><#list primaryIndicatorList as list>--> +<#-- <div class="table-right-column">--> +<#-- <div class="table-right-row">--> +<#-- <div class="table-right-column">--> +<#-- ${list.title!}--> +<#-- </div>--> +<#-- </div>--> +<#-- </div>--> +<#-- </#list></#if>--> +<#-- </div>--> + <div id="table1RightBottom" class="table-right-bottom"> + <#if (primaryIndicatorList)?exists && (primaryIndicatorList?size>0)><#list primaryIndicatorList as list> + <div class="table-right-column"> + <div class="table-right-row"> + <div class="table-right-column td">${(list.incomeDevice!0)?string("#,##0.##")}</div> + </div> + <div class="table-right-row"> + <div class="table-right-column td">${(list.incomeEngineer!0)?string("#,##0.##")}</div> + </div> + <div class="table-right-row"> + <div class="table-right-column td">${(list.incomeService!0)?string("#,##0.##")}</div> + </div> + <div class="table-right-row"> + <div class="table-right-column td">${(list.costPurchaseDevice!0)?string("#,##0.##")}</div> + </div> + <div class="table-right-row"> + <div class="table-right-column td">${(list.costPurchaseBuild!0)?string("#,##0.##")}</div> + </div> + <div class="table-right-row"> + <div class="table-right-column td">${(list.costPurchaseService!0)?string("#,##0.##")}</div> + </div> + <div class="table-right-row"> + <div class="table-right-column td">${(list.costPurchaseOther!0)?string("#,##0.##")}</div> + </div> + <div class="table-right-row"> + <div class="table-right-column td">${(list.costOtherOther!0)?string("#,##0.##")}</div> + </div> + <div class="table-right-row"> + <div class="table-right-column td">${(list.costProjectManage!0)?string("#,##0.##")}</div> + </div> + <div class="table-right-row"> + <div class="table-right-column td">${(list.costExpropriation!0)?string("#,##0.##")}</div> + </div> + <div class="table-right-row"> + <div class="table-right-column td">${(list.costCompanyManage!0)?string("#,##0.##")}</div> + </div> + </div> + </#list></#if> + </div> + </div> + + </div> + <script> + var table1LeftBottom = document.getElementById('table1LeftBottom') + var table1RightTop = document.getElementById('table1RightTop') + var table1RightBottom = document.getElementById('table1RightBottom') + table1RightBottom.onscroll = function() { + table1RightTop.scrollLeft = this.scrollLeft + table1LeftBottom.scrollTop = this.scrollTop + } + </script> +<#-- <div class="am-scrollable-horizontal">--> +<#-- <table class="am-table table-main">--> +<#-- <thead class="cal-table-left" style="overflow-x: scroll;">--> +<#-- <tr class="cal-table-left">--> +<#-- <th class="cal-table-column" style="position:sticky;top:0;z-index:1;">类别</th>--> +<#-- <th style="border-top: 1px solid;" class="cal-table-column">收入--设备类</th>--> +<#-- <th style="border-top: 1px solid;" class="cal-table-column">收入--施工类</th>--> +<#-- <th style="border-top: 1px solid;" class="cal-table-column">收入--服务类</th>--> +<#-- <th style="border-top: 1px solid;" class="cal-table-column">采购成本--设备类</th>--> +<#-- <th style="border-top: 1px solid;" class="cal-table-column">采购成本--施工类</th>--> +<#-- <th style="border-top: 1px solid;" class="cal-table-column">采购成本--服务类</th>--> +<#-- <th style="border-top: 1px solid;" class="cal-table-column">采购成本--其他</th>--> +<#-- <th style="border-top: 1px solid;" class="cal-table-column">成本--其他</th>--> +<#-- <th style="border-top: 1px solid;" class="cal-table-column">成本--项目管理成本</th>--> +<#-- <th style="border-top: 1px solid;" class="cal-table-column">财务费用--资金占用成本</th>--> +<#-- <th style="border-bottom: 1px solid; border-top: 1px solid;"--> +<#-- class="cal-table-column">公司管理费用--> +<#-- </th>--> +<#-- </tr>--> +<#-- </thead>--> +<#-- <tbody class="cal-table-left"--> +<#-- style="overflow-x: scroll;width: calc(100% - 180px);white-space: nowrap;"><#if (primaryIndicatorList)?exists && (primaryIndicatorList?size>0)><#list primaryIndicatorList as list>--> +<#-- <tr class="cal-table-left">--> +<#-- <td class="cal-table-column" style="position:sticky;top:0;z-index:1;">${list.title!}</td>--> +<#-- <td class="cal-table-column">${(list.incomeDevice!0)?string("#,##0.##")}</td>--> +<#-- <td class="cal-table-column">${(list.incomeEngineer!0)?string("#,##0.##")}</td>--> +<#-- <td class="cal-table-column">${(list.incomeService!0)?string("#,##0.##")}</td>--> +<#-- <td class="cal-table-column">${(list.costPurchaseDevice!0)?string("#,##0.##")}</td>--> +<#-- <td class="cal-table-column">${(list.costPurchaseBuild!0)?string("#,##0.##")}</td>--> +<#-- <td class="cal-table-column">${(list.costPurchaseService!0)?string("#,##0.##")}</td>--> +<#-- <td class="cal-table-column">${(list.costPurchaseOther!0)?string("#,##0.##")}</td>--> +<#-- <td class="cal-table-column">${(list.costOtherOther!0)?string("#,##0.##")}</td>--> +<#-- <td class="cal-table-column">${(list.costProjectManage!0)?string("#,##0.##")}</td>--> +<#-- <td class="cal-table-column">${(list.costExpropriation!0)?string("#,##0.##")}</td>--> +<#-- <td class="cal-table-column">${(list.costCompanyManage!0)?string("#,##0.##")}</td>--> +<#-- </tr></#list></#if></tbody>--> +<#-- </table>--> +<#-- </div>--> </div> </div> @@ -48,9 +257,46 @@ <div class="am-tabs-bd"> <div class="am-tab-panel am-fade am-in" id="tab2"> <div class="am-scrollable-horizontal"> - <table class="am-table table-main" > - <thead class="cal-table-left" style="overflow-x: scroll;"><tr class="cal-table-left"><th class="cal-table-column">/</th><th style="border-top: 1px solid;" class="cal-table-column">营业收入</th><th style="border-top: 1px solid;" class="cal-table-column">营业成本</th><th style="border-top: 1px solid;" class="cal-table-column">项目管理成本</th><th style="border-top: 1px solid;" class="cal-table-column">其他</th><th style="border-top: 1px solid;" class="cal-table-column">财务费用</th><th style="border-top: 1px solid;" class="cal-table-column">项目毛利</th><th style="border-top: 1px solid;" class="cal-table-column">项目毛利率</th><th style="border-top: 1px solid;" class="cal-table-column">公司管理费用</th><th style="border-top: 1px solid;" class="cal-table-column">项目贡献利润</th><th style="border-top: 1px solid;" class="cal-table-column">项目贡献利润率</th><th style="border-top: 1px solid;" class="cal-table-column">所得税费用</th><th style="border-top: 1px solid;" class="cal-table-column">项目净利润</th><th style="border-bottom: 1px solid; border-top: 1px solid;" class="cal-table-column">项目净利润率</th></tr></thead><tbody class="cal-table-left" style="overflow-x: scroll;width: calc(100% - 120px);white-space: nowrap;"><#if (profitAndLossList)?exists && (profitAndLossList?size>0)><#list profitAndLossList as list><tr class="cal-table-left"><td class="cal-table-column">${list.title!}</td><td class="cal-table-column">${(list.income!0)?string("#,##0.##")}</td><td class="cal-table-column">${(list.cost!0)?string("#,##0.##")}</td><td class="cal-table-column">${(list.manageCost!0)?string("#,##0.##")}</td><td class="cal-table-column">${(list.other!0)?string("#,##0.##")}</td><td class="cal-table-column">${(list.expropriation!0)?string("#,##0.##")}</td><td class="cal-table-column">${(list.grossProfit!0)?string("#,##0.##")}</td><td class="cal-table-column">${(list.grossProfitProfit!0)?string("#,##0.##")}</td><td class="cal-table-column">${(list.companyManage!0)?string("#,##0.##")}</td><td class="cal-table-column">${(list.contributionMargin!0)?string("#,##0.##")}</td><td class="cal-table-column">${(list.contributionMarginProfit!0)?string("#,##0.##")}</td><td class="cal-table-column">${(list.incomeTax!0)?string("#,##0.##")}</td><td class="cal-table-column">${(list.netMargin!0)?string("#,##0.##")}</td><td class="cal-table-column">${(list.netMarginProfit!0)?string("#,##0.##")}</td></tr></#list></#if></tbody> - </table> + <table class="am-table table-main"> + <thead class="cal-table-left" style="overflow-x: scroll;"> + <tr class="cal-table-left"> + <th class="cal-table-column">/</th> + <th style="border-top: 1px solid;" class="cal-table-column">营业收入</th> + <th style="border-top: 1px solid;" class="cal-table-column">营业成本</th> + <th style="border-top: 1px solid;" class="cal-table-column">项目管理成本</th> + <th style="border-top: 1px solid;" class="cal-table-column">其他</th> + <th style="border-top: 1px solid;" class="cal-table-column">财务费用</th> + <th style="border-top: 1px solid;" class="cal-table-column">项目毛利</th> + <th style="border-top: 1px solid;" class="cal-table-column">项目毛利率</th> + <th style="border-top: 1px solid;" class="cal-table-column">公司管理费用</th> + <th style="border-top: 1px solid;" class="cal-table-column">项目贡献利润</th> + <th style="border-top: 1px solid;" class="cal-table-column">项目贡献利润率</th> + <th style="border-top: 1px solid;" class="cal-table-column">所得税费用</th> + <th style="border-top: 1px solid;" class="cal-table-column">项目净利润</th> + <th style="border-bottom: 1px solid; border-top: 1px solid;" + class="cal-table-column">项目净利润率 + </th> + </tr> + </thead> + <tbody class="cal-table-left" + style="overflow-x: scroll;width: calc(100% - 120px);white-space: nowrap;"><#if (profitAndLossList)?exists && (profitAndLossList?size>0)><#list profitAndLossList as list> + <tr class="cal-table-left"> + <td class="cal-table-column">${list.title!}</td> + <td class="cal-table-column">${(list.income!0)?string("#,##0.##")}</td> + <td class="cal-table-column">${(list.cost!0)?string("#,##0.##")}</td> + <td class="cal-table-column">${(list.manageCost!0)?string("#,##0.##")}</td> + <td class="cal-table-column">${(list.other!0)?string("#,##0.##")}</td> + <td class="cal-table-column">${(list.expropriation!0)?string("#,##0.##")}</td> + <td class="cal-table-column">${(list.grossProfit!0)?string("#,##0.##")}</td> + <td class="cal-table-column">${(list.grossProfitProfit!0)?string("#,##0.##")}</td> + <td class="cal-table-column">${(list.companyManage!0)?string("#,##0.##")}</td> + <td class="cal-table-column">${(list.contributionMargin!0)?string("#,##0.##")}</td> + <td class="cal-table-column">${(list.contributionMarginProfit!0)?string("#,##0.##")}</td> + <td class="cal-table-column">${(list.incomeTax!0)?string("#,##0.##")}</td> + <td class="cal-table-column">${(list.netMargin!0)?string("#,##0.##")}</td> + <td class="cal-table-column">${(list.netMarginProfit!0)?string("#,##0.##")}</td> + </tr></#list></#if></tbody> + </table> </div> </div> </div> @@ -58,9 +304,48 @@ <div class="am-tabs-bd"> <div class="am-tab-panel am-fade am-in" id="tab3"> <div class="am-scrollable-horizontal"> - <table class="am-table table-main" > - <thead class="cal-table-left" style="overflow-x: scroll;"><tr class="cal-table-left"><th class="cal-table-column">/</th><th style="border-top: 1px solid;" class="cal-table-column">销售商品、提供劳务收到的现金</th><th style="border-top: 1px solid;" class="cal-table-column">收到的税费返还</th><th style="border-top: 1px solid;" class="cal-table-column">收到其他与经营活动有关的现金</th><th style="border-top: 1px solid;" class="cal-table-column">购买商品、接受劳务支付的现金</th><th style="border-top: 1px solid;" class="cal-table-column">支付的各项税费</th><th style="border-top: 1px solid;" class="cal-table-column">支付其他与经营活动有关的现金</th><th style="border-top: 1px solid;" class="cal-table-column">经营活动产生的现金流量净额</th><th style="border-top: 1px solid;" class="cal-table-column">投资活动现金流入</th><th style="border-top: 1px solid;" class="cal-table-column">投资活动现金流出</th><th style="border-top: 1px solid;" class="cal-table-column">投资活动产生的现金流量净额</th><th style="border-top: 1px solid;" class="cal-table-column">借款资金流入</th><th style="border-top: 1px solid;" class="cal-table-column">还款资金流出</th><th style="border-top: 1px solid;" class="cal-table-column">筹资活动产生的现金流量净额</th><th style="border-bottom: 1px solid; border-top: 1px solid;" class="cal-table-column">货币资金净增加额</th></tr></thead><tbody class="cal-table-left" style="overflow-x: scroll;width: calc(100% - 220px);white-space: nowrap;"><#if (cashFlowList)?exists && (cashFlowList?size>0)><#list cashFlowList as list><tr class="cal-table-left"><td class="cal-table-column">${list.title!}</td><td class="cal-table-column">${(list.saleIncomeCash!0)?string("#,##0.##")}</td><td class="cal-table-column">${(list.taxReturn!0)?string("#,##0.##")}</td><td class="cal-table-column">${(list.earnestMoneyIncome!0)?string("#,##0.##")}</td><td class="cal-table-column">${(list.purchaseCost!0)?string("#,##0.##")}</td><td class="cal-table-column">${(list.taxCost!0)?string("#,##0.##")}</td><td class="cal-table-column">${(list.earnestMoneyCost!0)?string("#,##0.##")}</td><td class="cal-table-column">${(list.netCashFlow!0)?string("#,##0.##")}</td><td class="cal-table-column">${(list.cashInflowFromInvestingActivities!0)?string("#,##0.##")}</td><td class="cal-table-column">${(list.cashOutflowFromInvestingActivities!0)?string("#,##0.##")}</td><td class="cal-table-column">${(list.netCashFromInvestingActivities!0)?string("#,##0.##")}</td><td class="cal-table-column">${(list.financingCapitalInflow!0)?string("#,##0.##")}</td><td class="cal-table-column">${(list.financingCapitalOutflow!0)?string("#,##0.##")}</td><td class="cal-table-column">${(list.financingCapitalCashflow!0)?string("#,##0.##")}</td><td class="cal-table-column">${(list.netIncreaseMonetaryFunds!0)?string("#,##0.##")}</td></tr></#list></#if></tbody> - </table> + <table class="am-table table-main"> + <thead class="cal-table-left" style="overflow-x: scroll;"> + <tr class="cal-table-left"> + <th class="cal-table-column">/</th> + <th style="border-top: 1px solid;" class="cal-table-column">销售商品、提供劳务收到的现金</th> + <th style="border-top: 1px solid;" class="cal-table-column">收到的税费返还</th> + <th style="border-top: 1px solid;" class="cal-table-column">收到其他与经营活动有关的现金</th> + <th style="border-top: 1px solid;" class="cal-table-column">购买商品、接受劳务支付的现金</th> + <th style="border-top: 1px solid;" class="cal-table-column">支付的各项税费</th> + <th style="border-top: 1px solid;" class="cal-table-column">支付其他与经营活动有关的现金</th> + <th style="border-top: 1px solid;" class="cal-table-column">经营活动产生的现金流量净额</th> + <th style="border-top: 1px solid;" class="cal-table-column">投资活动现金流入</th> + <th style="border-top: 1px solid;" class="cal-table-column">投资活动现金流出</th> + <th style="border-top: 1px solid;" class="cal-table-column">投资活动产生的现金流量净额</th> + <th style="border-top: 1px solid;" class="cal-table-column">借款资金流入</th> + <th style="border-top: 1px solid;" class="cal-table-column">还款资金流出</th> + <th style="border-top: 1px solid;" class="cal-table-column">筹资活动产生的现金流量净额</th> + <th style="border-bottom: 1px solid; border-top: 1px solid;" + class="cal-table-column">货币资金净增加额 + </th> + </tr> + </thead> + <tbody class="cal-table-left" + style="overflow-x: scroll;width: calc(100% - 220px);white-space: nowrap;"><#if (cashFlowList)?exists && (cashFlowList?size>0)><#list cashFlowList as list> + <tr class="cal-table-left"> + <td class="cal-table-column">${list.title!}</td> + <td class="cal-table-column">${(list.saleIncomeCash!0)?string("#,##0.##")}</td> + <td class="cal-table-column">${(list.taxReturn!0)?string("#,##0.##")}</td> + <td class="cal-table-column">${(list.earnestMoneyIncome!0)?string("#,##0.##")}</td> + <td class="cal-table-column">${(list.purchaseCost!0)?string("#,##0.##")}</td> + <td class="cal-table-column">${(list.taxCost!0)?string("#,##0.##")}</td> + <td class="cal-table-column">${(list.earnestMoneyCost!0)?string("#,##0.##")}</td> + <td class="cal-table-column">${(list.netCashFlow!0)?string("#,##0.##")}</td> + <td class="cal-table-column">${(list.cashInflowFromInvestingActivities!0)?string("#,##0.##")}</td> + <td class="cal-table-column">${(list.cashOutflowFromInvestingActivities!0)?string("#,##0.##")}</td> + <td class="cal-table-column">${(list.netCashFromInvestingActivities!0)?string("#,##0.##")}</td> + <td class="cal-table-column">${(list.financingCapitalInflow!0)?string("#,##0.##")}</td> + <td class="cal-table-column">${(list.financingCapitalOutflow!0)?string("#,##0.##")}</td> + <td class="cal-table-column">${(list.financingCapitalCashflow!0)?string("#,##0.##")}</td> + <td class="cal-table-column">${(list.netIncreaseMonetaryFunds!0)?string("#,##0.##")}</td> + </tr></#list></#if></tbody> + </table> </div> </div> </div>