投标成本核算

This commit is contained in:
ljx
2025-08-23 06:28:18 +08:00
parent f3f8ab0b87
commit 73772f036f
8 changed files with 773 additions and 32 deletions

View File

@ -20,17 +20,43 @@
</el-form>
</el-card>
<el-card shadow="never">
<el-table v-loading="loading" :data="tableData">
<el-table v-loading="loading" :data="tableData" v-if="activeTab == '1' || activeTab == '2'">
<el-table-column label="项目" align="center" prop="projectName" />
<el-table-column label="累计完工产值" align="center" prop="totalCompletionOutputValue" />
<el-table-column label="分包结算金额" align="center" prop="subTotalSettlementOutputValue" />
<el-table-column label="业主结算额" align="center" prop="ownerTotalSettlementOutputValue" />
<el-table-column label="业主结算-分包结算" align="center" prop="differenceValue" />
<el-table-column label="操作" align="center">
<el-table-column label="累计结算产值" align="center" prop="totalSettlementOutputValue" />
<el-table-column label="完工未结算额" align="center" prop="completionUnsettledAmount" />
<el-table-column label="完工未结算比例" align="center" prop="completionUnsettledRatio" />
<!-- <el-table-column label="操作" align="center">
<template #default="scope">
<el-button type="primary" @click="handleEdit(scope.row)" link icon="Position">联查分包结算</el-button>
</template>
</el-table-column>
</el-table-column> -->
</el-table>
<el-table v-loading="loading" :data="tableData" v-if="activeTab == '3'">
<el-table-column label="项目" align="center" prop="projectName" />
<el-table-column label="累计完工产值" align="center" prop="totalCompletionOutputValue" />
<el-table-column label="分包累计结算产值" align="center" prop="subTotalSettlementOutputValue" />
<el-table-column label="业主累计结算产值" align="center" prop="ownerTotalSettlementOutputValue" />
<el-table-column label="差额" align="center" prop="differenceValue" />
<!-- <el-table-column label="操作" align="center">
<template #default="scope">
<el-button type="primary" @click="handleEdit(scope.row)" link icon="Position">联查分包结算</el-button>
</template>
</el-table-column> -->
</el-table>
<el-table v-loading="loading" :data="tableData" v-if="activeTab == '4'">
<el-table-column label="项目" align="center" prop="projectName" />
<el-table-column label="对甲计划总产值" align="center" prop="ownerTotal" />
<el-table-column label="对乙计划总产值" align="center" prop="subTotal" />
<el-table-column label="对甲月计划产值" align="center" prop="ownerPlanTotal" />
<el-table-column label="对乙月计划产值" align="center" prop="subPlanTotal" />
<el-table-column label="对甲月实际产值" align="center" prop="ownerActualTotal" />
<el-table-column label="对乙月实际产值" align="center" prop="subActualTotal" />
<!-- <el-table-column label="操作" align="center">
<template #default="scope">
<el-button type="primary" @click="handleEdit(scope.row)" link icon="Position">联查分包结算</el-button>
</template>
</el-table-column> -->
</el-table>
<pagination
v-show="total > 0"
@ -47,13 +73,15 @@
<script setup lang="ts">
import { useUserStoreHook } from '@/store/modules/user';
import { listOutTable, comparisonOfOutputValue, comparisonOfSettlementValue } from '@/api/out/outDesignTableVS/index';
import { dayjs } from 'element-plus';
const userStore = useUserStoreHook();
const currentProject = computed(() => userStore.selectedProject);
const activeTab = ref('1');
const queryParams = ref({
month: '',
valueType: '1',
valueType: '2',
pageNum: 1,
pageSize: 10
});
@ -63,15 +91,15 @@ const loading = ref(false);
const tabList = [
{
value: '1',
value: '2',
label: '对乙产值和对乙结算'
},
{
value: '2',
label: '对甲产值和对乙结算'
value: '3',
label: '对甲结算和对乙结算'
},
{
value: '3',
value: '1',
label: '对甲产值和对甲结算'
},
{
@ -83,8 +111,6 @@ const tabList = [
//切换表单
const handleTabChange = (tab) => {
activeTab.value = tab;
queryParams.value.month = '';
queryParams.value.valueType = '';
handleQuery();
};
@ -99,7 +125,6 @@ const handleQuery = () => {
const resetQuery = () => {
queryParams.value.month = '';
queryParams.value.valueType = '';
handleQuery();
};
// 获取列表
@ -107,11 +132,36 @@ const getList = async () => {
const params = {
...queryParams.value,
projectId: currentProject.value?.id,
activeTab: activeTab.value
type: activeTab.value
};
console.log(params);
if (activeTab.value == '4') {
comparisonOfOutputValue(params).then((res) => {
if (res.code == 200) {
tableData.value = res.rows;
total.value = res.total;
}
});
} else if (activeTab.value == '3') {
comparisonOfSettlementValue(params).then((res) => {
if (res.code == 200) {
tableData.value = res.rows;
total.value = res.total;
}
});
} else {
const res = await listOutTable(params);
if (res.code == 200) {
tableData.value = res.rows;
total.value = res.total;
}
}
};
const handleEdit = (row: any) => {};
onMounted(() => {
const currentMonthString = ref(dayjs().format('YYYY-MM'));
queryParams.value.month = currentMonthString.value;
getList();
});
</script>
<style scoped lang="scss"></style>