Commit 9f81b37e authored by chenyuefang's avatar chenyuefang

Merge remote-tracking branch 'origin/V20231129-中建一局二公司' into V20231129-中建一局二公司

parents 959e9cf2 9f042eac
......@@ -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: 0,
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`
};
}
},
......@@ -232,6 +234,13 @@ export default {
const bodyMaxHeight = containerMaxHeight - headerHeight - 16;
// console.log(bodyMaxHeight, "bodyMaxHeight");
this.comMaxBodyHeight = bodyMaxHeight;
} else {
// 没有固定列 正常情况下 计算默认header高度
const defaultHeader = this.$el.querySelector(".el-table__header-wrapper");
if (defaultHeader) {
const headerHeight = parseInt(window.getComputedStyle(defaultHeader).height);
this.headerLastBlockHeight = headerHeight;
}
}
}
} catch (error) {
......@@ -357,8 +366,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>
......
......@@ -108,7 +108,7 @@ service.interceptors.response.use(res => {
isRelogin.show = false;
store.dispatch('LogOut').then(() => {
sessionStorage.removeItem('views')
location.href = '/index';
location.href = '/index/gys';
})
}).catch(() => {
isRelogin.show = false;
......
......@@ -158,7 +158,7 @@ export default {
menuDetails:{},
menuOptions: {
nodeName: "menuName",
nodeValue: "menuName",
nodeValue: "menuId",
children : "childrenList"
},
detailsId:'',
......@@ -206,7 +206,7 @@ export default {
this.menuTreeList.push(_tempArray);
const defaultCurrent = this.findMenuNode(this.menuTreeList, "土石方部分");
if (defaultCurrent) {
this.defaultActive = defaultCurrent.menuName;
this.defaultActive = defaultCurrent.menuId;
this.menuId = defaultCurrent.menuId;
}
this.getCbDirectExpenseList(defaultCurrent.menuId)
......@@ -233,8 +233,8 @@ export default {
},
handleSelect(menuPath, menuPathArray){
this.defaultActive=menuPath;
this.menuId=menuPathArray.originData.menuId
this.getCbDirectExpenseList(menuPathArray.originData.menuId)
this.menuId=menuPath
this.getCbDirectExpenseList(menuPath)
},
tableRowClassName({row, rowIndex}) {
if (row.expenseCategoryTag === '清') {
......@@ -286,7 +286,7 @@ export default {
});
},
findMenuNode(tree, nodeName) {
console.log(tree)
// console.log(tree)
for (const item of tree) {
if (item.menuName == nodeName) return item;
if (item.childrenList instanceof Array) {
......
......@@ -41,13 +41,18 @@
<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>
......@@ -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() },
......
......@@ -164,7 +164,7 @@ export default {
],
menuOptions: {
nodeName: "itemContent",
nodeValue: "itemContent",
nodeValue: "menuId",
},
dialogVisible:false,
currentList: "type1",
......
......@@ -7,7 +7,7 @@
:class="`project-sub-menu-item-level-${menuItem.level}`" :disabled="menuItem.originData && menuItem.originData.disabled">
<template slot="title">
<!-- 预留插槽 -->
<div class="project-sub-menu-title" :class="{'project-sub-menu-title-next' : menuItem.level !== 1}" :style="menuStyles(menuItem)">
<div class="project-sub-menu-title" :class="{'project-sub-menu-title-next' : menuItem.level !== 1}" :style="menuStyles(menuItem)" :title="menuItem.nodeName">
<slot :name="`${menuItem.nodeName}-${menuItem.level}`" :data="menuItem">
<img src="" alt="" v-if="menuItem.originData && menuItem.originData.icon">
<div class="project-sub-menu-title-text">{{menuItem.nodeName}}</div>
......@@ -25,7 +25,7 @@
<template slot="title">
<div class="project-only-menu-title-container">
<!-- 预留插槽 -->
<div class="project-only-menu-title" :class="{'project-only-menu-title-next' : menuItem.level !== 1}" :style="menuStyles(menuItem)">
<div class="project-only-menu-title" :class="{'project-only-menu-title-next' : menuItem.level !== 1}" :style="menuStyles(menuItem)" :title="menuItem.nodeName">
<slot :name="`${menuItem.nodeName}-${menuItem.level}`" :data="menuItem">
<img src="" alt="" v-if="menuItem.originData && menuItem.originData.icon">
<div class="project-only-menu-title-text">{{menuItem.nodeName}}</div>
......@@ -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