Commit f36d8a60 authored by danfuman's avatar danfuman

Merge branch 'V20231129-中建一局二公司' of http://192.168.60.201/root/dsk-operate-sys...

Merge branch 'V20231129-中建一局二公司' of http://192.168.60.201/root/dsk-operate-sys into V20231129-中建一局二公司
parents 852c62a9 5d32dabf
......@@ -18,10 +18,10 @@ public class CbCostMeasureActualPushBo {
/**
* 本月实际工程量
*/
private BigDecimal costEffective;
private BigDecimal projectVolume;
/**
* 本月实际工程量
* 截止本月实际工程量
*/
private BigDecimal currentProjectVolume;
......
......@@ -31,8 +31,6 @@ public class CbCostMeasureActualSaveBo {
/**
* 本月发生成本比例
*/
@DecimalMin(value = "-1",message = "数据格式不正确")
@DecimalMax(value = "1",message = "数据格式不正确")
private BigDecimal monthCostRate;
/**
......
......@@ -23,7 +23,7 @@ public class CbCostMeasuresImportVo {
@ExcelProperty(value = "清单内容")
private String itemContent; // 清单内容
@ExcelProperty(value = "工作内容")
@ExcelProperty(value = "工作内容、做法/规格型号/施工现场配置说明")
private String workContent; // 工作内容、做法/规格型号/施工现场配置说明
@ExcelProperty(value = "单位")
......
......@@ -47,6 +47,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.math.BigDecimal;
import java.text.Collator;
import java.util.*;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
......@@ -165,6 +166,15 @@ public class CbCostMeasureServiceImpl extends ServiceImpl<CbCostMeasureMapper, C
tWrapper.orderByAsc("id");
List<Map<String, Object>> mapList = this.listMaps(tWrapper);
Collator collator = Collator.getInstance(Locale.CHINA);
Collections.sort(mapList, new Comparator<Map<String, Object>>() {
@Override
public int compare(Map<String, Object> m1, Map<String, Object> m2) {
String itemContent1 = (String) m1.get("itemContent");
String itemContent2 = (String) m2.get("itemContent");
return collator.compare(itemContent1, itemContent2);
}
});
return mapList;
}
......@@ -245,6 +255,7 @@ public class CbCostMeasureServiceImpl extends ServiceImpl<CbCostMeasureMapper, C
CbCostMeasureActual cbCostMeasureActual = new CbCostMeasureActual();
cbCostMeasureActual.setId(pushBo.getId());
cbCostMeasureActual.setPushTime(new Date());
cbCostMeasureActual.setSubmitProjectVolume(pushBo.getSubmitProjectVolume());
cbCostMeasureActual.setPushDataJson(JsonUtils.toJsonString(pushBo));
cbCostMeasureActualService.updateById(cbCostMeasureActual);
}
......
......@@ -377,3 +377,40 @@ export const getFieldExpensesOtherListApi = (params = {}) => request({
method: "get",
params
});
// 成本汇总
/**
* 成本汇总左侧一级菜单
* @param {*} params
* @returns
*/
export const getCostSummaryMenuTreeApi = (params = {}) => request({
url: "/cbSummary/cbNameList",
method: "get",
params
});
/**
* 成本汇总已添加成本月份
* @param {*} params
* @returns
*/
export const getCostSummaryMonthListApi = (params = {}) => request({
url: "/cbSummary/expenseDateList",
method: "get",
params
});
/**
* 获取成本汇总数据列表
* @param {*} params
* @returns
*/
export const getCostSummaryListApi = (params = {}) => request({
url: "/cbSummary/list",
method: "get",
params
});
......@@ -553,7 +553,6 @@ li {
background: #dcebff;
}
.el-table__fixed {
//bottom:0 !important;
.el-table__body {
padding-bottom: 16px;
}
......@@ -582,7 +581,7 @@ li {
background: rgba(0,0,0,.2);
border: 4px solid #f3f4f5;
&:hover {
background: #7d7d7d;
// background: #7d7d7d;
}
}
.el-scrollbar {
......
<template>
<div class="table-list-com-ins"
<div class="custom-table-list-com-ins"
:class="{'is-empty-table' : !tableDataTotal,'no-pagination' : !hasQueryParams,'auto-max-height' : maxHeight,'has-y-Scroll' : maxHeight && hasYScroll}"
:style="maxBodyFixedStyle">
<div class="table-item">
......@@ -300,7 +300,7 @@ export default {
</script>
<style lang="scss" scoped>
.table-list-com-ins {
.custom-table-list-com-ins {
/* 空数据样式 */
&.is-empty-table {
.table-item {
......@@ -428,6 +428,154 @@ export default {
}
.el-table {
width: 100%;
height: auto;
font-size: 14px;
color: #232323;
.cell {
padding-right: 12px;
padding-left: 12px;
line-height: 21px;
font-size: 12px;
font-weight: 400;
}
th {
height: 40px;
padding: 9px 0px;
.cell {
color: rgba(35, 35, 35, 0.8);
}
}
td {
padding: 9px 0px;
.cell {
color: #232323;
}
}
.sort-caret.ascending {
border-bottom-color: rgba(0, 129, 255, 0.5);
}
.ascending .sort-caret.ascending {
border-bottom-color: #0081ff;
}
.sort-caret.descending {
border-top-color: rgba(0, 129, 255, 0.5);
}
.descending .sort-caret.descending {
border-top-color: #0081ff;
}
.el-table__header-wrapper {
box-sizing: border-box;
th {
background: #f0f3fa;
}
}
.el-table__fixed-header-wrapper {
th {
background: #f0f3fa;
}
}
.el-table__body tr.current-row > td.el-table__cell {
background: none;
}
.caret-wrapper {
width: 10px;
}
.el-table__body-wrapper {
&::-webkit-scrollbar {
width: 16px; //竖轴宽度
height: 16px; //横轴宽度
}
&::-webkit-scrollbar-track {
background-color: #f3f4f5;
border-radius: 0;
}
&::-webkit-scrollbar-thumb {
background: rgba(0, 0, 0, 0.2);
border: 4px solid #f3f4f5;
border-radius: 10px;
}
&::-webkit-scrollbar-corner {
background: #f3f4f5;
}
tr {
&.current-row > td {
background-color: initial;
}
&:nth-child(2n) {
background: #f8fbff;
}
}
tr:hover > td.el-table__cell {
background: #dcebff;
}
}
.el-table__body tr.hover-row > td.el-table__cell {
background: #dcebff;
}
.el-table__fixed {
.el-table__body {
padding-bottom: 16px;
}
tr:nth-child(2n) {
background-color: #f8fbff;
}
}
::-webkit-scrollbar-track-piece {
//滚动条凹槽的颜色,还可以设置边框属性
background-color: #f3f4f5;
height: 16px;
padding: 0 4px;
}
//滚动条的宽度
::-webkit-scrollbar {
width: 8px;
height: 16px;
background-color: #f3f4f5;
border-radius: 6px;
}
//滚动条的滑块
::-webkit-scrollbar-thumb {
border-radius: 8px;
height: 8px;
margin: 0 4px;
background: rgba(0, 0, 0, 0.2);
border: 4px solid #f3f4f5;
&:hover {
background: #7d7d7d;
}
}
.el-scrollbar {
height: 16px;
.el-scrollbar__bar.is-horizontal {
height: 8px;
}
.el-scrollbar__thumb {
background: rgba(0, 0, 0, 0.2);
&:hover {
background: #566380;
}
}
}
&.custom-table {
.el-table__body-wrapper {
/* 滚动条在最左侧时 */
......
......@@ -850,7 +850,7 @@ export default {
height: 100%;
}
::v-deep .table-list-com-ins {
::v-deep .custom-table-list-com-ins {
.table-item {
.el-table {
th {
......
......@@ -466,7 +466,7 @@ export default {
height: 100%;
}
::v-deep .table-list-com-ins {
::v-deep .custom-table-list-com-ins {
.table-item {
.el-table {
th {
......
......@@ -423,6 +423,7 @@ export default {
tables.forEach(item=>{
item.id = item.actualId
item.month = this.expenseDate
item.monthCostRate = item.monthCostRate==''?'':parseInt(item.monthCostRate.replace('%',''))
})
saveBatch(JSON.stringify(tables)).then(res=>{
if(res.code == 200){
......
......@@ -29,6 +29,9 @@
<!-- 现场经费 -->
<field-expenses v-if="current == 'fieldExpenses'" :project-id="projectId" :project-detail-info="detailInfo"></field-expenses>
<!-- 成本汇总 -->
<cost-summary v-if="current == 'cost'" :project-id="projectId" :project-detail-info="detailInfo"></cost-summary>
</div>
</div>
</div>
......@@ -50,6 +53,8 @@ import OtherProjects from "@/views/projectCostLedger/detail/components/OtherProj
import ProfitLoss from "@/views/projectCostLedger/detail/components/ProfitLoss";
// 现场经费
import FieldExpenses from "@/views/projectCostLedger/detail/components/FieldExpenses";
// 成本汇总
import CostSummary from "@/views/projectCostLedger/detail/components/CostSummary";
import { v4 } from "uuid";
import { cloneDeep } from "lodash-es";
import { getProjectDetailApi } from "@/api/projectCostLedger";
......@@ -64,7 +69,8 @@ export default {
OtherProjects,
ProfitLoss,
MeasureItems,
FieldExpenses
FieldExpenses,
CostSummary
},
data() {
return {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment