Commit e3d006d9 authored by tianhongyang's avatar tianhongyang

现场经费对接完毕

parent 2c063b4c
......@@ -319,3 +319,49 @@ export const getProjectOtherList = (params = {}) => request({
method: "get",
params
});
// 现场经费
/**
* 获取现场经费左侧菜单
* @param {*} params
* @returns
*/
export const getFieldExpensesMenuTreeApi = (projectId) => request({
url: `/cbSceneExpenseChildren/getMenuList/${projectId}`,
method: "get",
params: {}
});
/**
* 获取现场经费统计月份
* @param {*} params
* @returns
*/
export const getFieldExpensesMonthListApi = (params = {}) => request({
url: ``,
method: "get",
params
});
/**
* 获取现场经费列表
* @param {*} params
* @returns
*/
export const getFieldExpensesListApi = (projectId) => request({
url: `/CbProjectExpenseSummary/getCbSceneExpenseSummaryData/${projectId}`,
method: "get",
params: {}
});
/**
* 获取现场经费 除开现场经费汇总之外的列表
* @param {*} params
* @returns
*/
export const getFieldExpensesOtherListApi = (params = {}) => request({
url: `/cbSceneExpenseChildren/getChildrenData`,
method: "get",
params
});
......@@ -37,13 +37,13 @@
<!-- 有自定义插槽 -->
<slot v-if="item.slot" :name="item.prop" :row="scope.row" :data="item" :row-index="scope.$index">
<!-- 默认取值 -->
{{ scope.row[item.prop] ? scope.row[item.prop] : '-' }}
{{ checkEmptyStr(scope.row[item.prop]) ? scope.row[item.prop] : '-' }}
</slot>
<!-- 操作栏 不需要设置slot-->
<slot v-else-if="item.prop == 'action-field-bar'" name="action-field-bar" :row="scope.row" :data="item" :row-index="scope.$index"></slot>
<!-- 没有插槽 -->
<span v-else>
{{ scope.row[item.prop] ? scope.row[item.prop] : '-' }}
{{ checkEmptyStr(scope.row[item.prop]) ? scope.row[item.prop] : '-' }}
</span>
</template>
</el-table-column>
......@@ -64,8 +64,8 @@ export default {
type: Array,
default: () => []
},
columIndex : {
type : Number,
columIndex: {
type: Number,
}
},
watch: {
......@@ -98,6 +98,12 @@ export default {
},
//方法集
methods: {
checkEmptyStr(prop) {
if (prop && prop.toString().trim() && prop.toString().trim() != "0") {
return true;
}
return false;
},
flexWidth(len = 0, width = 50, hasQueryParams) {
if (hasQueryParams) {
let currentMax = this.queryParams.pageNum * this.queryParams.pageSize - this.queryParams.pageSize + len;
......
......@@ -143,6 +143,7 @@ export default {
comMaxHeight: null,
hasQueryParams: false,
comMaxBodyHeight: 0,
headerLastBlockHeight: 40,
observer: null,
resizeTimer: null
};
......@@ -168,7 +169,8 @@ export default {
computed: {
maxBodyFixedStyle() {
return {
"--body-max-height": `${this.comMaxBodyHeight}px`
"--body-max-height": `${this.comMaxBodyHeight}px`,
"--header-last-block-height": `${this.headerLastBlockHeight}px`
};
}
},
......@@ -233,6 +235,12 @@ export default {
// console.log(bodyMaxHeight, "bodyMaxHeight");
this.comMaxBodyHeight = bodyMaxHeight;
}
// 正常情况下 计算默认header高度
const defaultHeader = this.$el.querySelector(".el-table__header-wrapper");
if (defaultHeader) {
const headerHeight = parseInt(window.getComputedStyle(defaultHeader).height);
this.headerLastBlockHeight = headerHeight;
}
}
} catch (error) {
console.log(error);
......@@ -357,8 +365,10 @@ export default {
display: table-cell !important;
}
/* header 表头最后一个方块 */
.el-table--border th.gutter:last-of-type {
display: block !important;
height: var(--header-last-block-height) !important;
padding-right: 16px;
}
......
......@@ -8,8 +8,8 @@
<template v-for="(index, name) in $slots" :slot="name">
<slot :name="name" />
</template>
<template v-for="(index, name) in $scopedSlots" :slot="name" slot-scope="{row,$index}">
<slot :name="name" :data="child" :row="row" :index="$index"></slot>
<template v-for="(index, name) in $scopedSlots" :slot="name" slot-scope="{row,index}">
<slot :name="name" :data="child" :row="row" :index="index"></slot>
</template>
</table-list-column>
</template>
......
......@@ -41,14 +41,19 @@
<template slot="action-field-bar" slot-scope="scope">
<div class="project-action-field-bar" v-if="scope.row.id != '0'">
<span class="push-project">推送工程量</span>
{{scope}}
</div>
<span v-else>-</span>
</template>
<!-- 本月工程量 -->
<template slot="quantities" slot-scope="scope">
<!-- 统计行 -->
<template v-if="scope.rowIndex == '0'">
</template>
<el-form-item v-else-if="addActualCostEditStatus">
</el-form-item>
</template>
</custom-table>
</el-form>
</div>
......@@ -143,7 +148,7 @@ export default {
total: 0,
// 列表表头
formColum: [
{ label: '序号', prop: "staticSerialNumber", type: "index", lock: true, width: "53", fixed: "left", uid: v4() },
{ label: '序号', prop: "staticSerialNumber", type: "index", lock: true, width: "53", fixed: false, uid: v4() },
{ label: '成本科目', prop: "cbSubjectName", width: "137", uid: v4(), slot: true },
{ label: '公司编码', prop: "companyNo", width: "137", uid: v4() },
{ label: '集团编码', prop: "orgNo", width: "137", uid: v4() },
......
......@@ -60,7 +60,7 @@ export default {
//计算集
computed: {
checkHasChidren() {
return !!(this.menuItem && this.menuItem?.children && this.menuItem.children.length);
return !!(this.menuItem && this.menuItem?.children?.length);
},
},
//方法集
......
......@@ -27,6 +27,8 @@
<!-- 盈亏分析对比 -->
<profit-Loss v-if="current == 'profitAndLoss'" :project-id="projectId" :project-detail-info="detailInfo"></profit-Loss>
<!-- 现场经费 -->
<field-expenses v-if="current == 'fieldExpenses'" :project-id="projectId" :project-detail-info="detailInfo"></field-expenses>
</div>
</div>
</div>
......@@ -46,6 +48,8 @@ import MeasureItems from "@/views/projectCostLedger/detail/components/MeasureIte
import OtherProjects from "@/views/projectCostLedger/detail/components/OtherProjects";
// 盈亏分析对比
import ProfitLoss from "@/views/projectCostLedger/detail/components/ProfitLoss";
// 现场经费
import FieldExpenses from "@/views/projectCostLedger/detail/components/FieldExpenses";
import { v4 } from "uuid";
import { cloneDeep } from "lodash-es";
import { getProjectDetailApi } from "@/api/projectCostLedger";
......@@ -59,7 +63,8 @@ export default {
DirectCost,
OtherProjects,
ProfitLoss,
MeasureItems
MeasureItems,
FieldExpenses
},
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