项目基础信息、合约规划、指导价法明细、项目成本测算字段调整、菜单名称调整、专业人员报表与导出内容修复
This commit is contained in:
@@ -105,7 +105,7 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="工程总面积(m²)" prop="planningArea">
|
||||
<el-form-item label="建筑面积(m²)" prop="planningArea">
|
||||
<el-input
|
||||
v-if="showGuideDetailSection"
|
||||
:model-value="formatAmountText(guideDetailSummary.designArea)"
|
||||
@@ -300,30 +300,36 @@
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="设计部位" min-width="120" fixed="left">
|
||||
<template #default="{ row }">
|
||||
<el-select v-model="row.designPart" class="!w-1/1" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in DESIGN_PART_OPTIONS"
|
||||
:key="String(item.value)"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
<el-tooltip
|
||||
:content="row.designPart"
|
||||
:disabled="!hasValue(row.designPart)"
|
||||
placement="top"
|
||||
>
|
||||
<el-select v-model="row.designPart" class="!w-1/1" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in DESIGN_PART_OPTIONS"
|
||||
:key="String(item.value)"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-tooltip>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="建筑类型" min-width="140" fixed="left">
|
||||
<el-table-column align="center" label="设计内容/设计类型" min-width="210" fixed="left">
|
||||
<template #default="{ row }">
|
||||
<el-tooltip
|
||||
:content="row.buildingType"
|
||||
:disabled="!hasValue(row.buildingType)"
|
||||
placement="top"
|
||||
>
|
||||
<el-input v-model="row.buildingType" maxlength="100" placeholder="建筑类型" />
|
||||
<el-input v-model="row.buildingType" maxlength="100" placeholder="请输入设计内容/设计类型" />
|
||||
</el-tooltip>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<!-- 2. 取消 controls 的核心数值列 -->
|
||||
<el-table-column align="center" label="指导单价(元)" min-width="110">
|
||||
<el-table-column align="center" label="内部指导单价(元/m²)" min-width="150">
|
||||
<template #default="{ row }">
|
||||
<el-tooltip
|
||||
:content="formatAmountText(row.internalGuidanceUnitPrice)"
|
||||
@@ -357,55 +363,60 @@
|
||||
</el-tooltip>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="楼栋/户型数" min-width="100">
|
||||
<template #default="{ row }">
|
||||
<el-input-number
|
||||
v-model="row.buildingOrUnitCount"
|
||||
:min="0"
|
||||
:precision="0"
|
||||
:controls="false"
|
||||
class="!w-1/1"
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<!-- 3. 多级表头折叠系数配置 -->
|
||||
<el-table-column label="调整系数配置" align="center">
|
||||
<el-table-column align="center" label="套图" min-width="85">
|
||||
<el-table-column align="center" label="楼栋/户型数" min-width="110">
|
||||
<template #default="{ row }">
|
||||
<el-input-number
|
||||
v-model="row.buildingOrUnitCount"
|
||||
:min="0"
|
||||
:precision="0"
|
||||
:controls="false"
|
||||
class="!w-1/1"
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="套图系数" min-width="100">
|
||||
<template #default="{ row }">
|
||||
<el-input-number v-model="row.drawingSetFactor" :min="0" :precision="2" :controls="false" class="!w-1/1" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="规模" min-width="85">
|
||||
<el-table-column align="center" label="规模系数" min-width="100">
|
||||
<template #default="{ row }">
|
||||
<el-input-number v-model="row.scaleFactor" :min="0" :precision="2" :controls="false" class="!w-1/1" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="修改" min-width="85">
|
||||
<el-table-column align="center" label="修改系数" min-width="100">
|
||||
<template #default="{ row }">
|
||||
<el-input-number v-model="row.modificationFactor" :min="0" :precision="2" :controls="false" class="!w-1/1" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="复杂(%)" min-width="90">
|
||||
<el-table-column align="center" label="复杂系数/复杂等级" min-width="150">
|
||||
<template #default="{ row }">
|
||||
<el-input-number
|
||||
:model-value="toPercentValue(row.complexityFactor)"
|
||||
v-model="row.complexityFactor"
|
||||
:min="0"
|
||||
:precision="2"
|
||||
:controls="false"
|
||||
class="!w-1/1"
|
||||
@update:model-value="setGuideDetailPercentValue(row, 'complexityFactor', $event)"
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="合计" min-width="80">
|
||||
<el-table-column align="center" label="小计" min-width="80">
|
||||
<template #default="{ row }">
|
||||
<span class="text-gray-500">{{ formatFactorText(getGuideDetailTotalAdjustmentFactor(row)) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column align="center" label="设计占比(%)" min-width="100">
|
||||
<!-- 4. 结果列靠右显示,用浅色背景区分 -->
|
||||
<el-table-column align="right" label="考核产值面积小计(m²)" min-width="150" class-name="bg-gray-50">
|
||||
<template #default="{ row }">
|
||||
<span class="font-bold">{{ formatAmountText(getGuideDetailAssessmentArea(row)) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column align="center" label="设计阶段占比(%)" min-width="120">
|
||||
<template #default="{ row }">
|
||||
<el-input-number
|
||||
:model-value="toPercentValue(row.designRatio)"
|
||||
@@ -418,13 +429,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<!-- 4. 结果列靠右显示,用浅色背景区分 -->
|
||||
<el-table-column align="right" label="考核面积(m²)" min-width="110" class-name="bg-gray-50">
|
||||
<template #default="{ row }">
|
||||
<span class="font-bold">{{ formatAmountText(getGuideDetailAssessmentArea(row)) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="right" label="考核产值(元)" min-width="120" class-name="bg-gray-50">
|
||||
<el-table-column align="right" label="考核产值小计(元)" min-width="130" class-name="bg-gray-50">
|
||||
<template #default="{ row }">
|
||||
<span class="font-bold text-primary">{{ formatAmountText(getGuideDetailAssessmentOutputValue(row)) }}</span>
|
||||
</template>
|
||||
@@ -469,17 +474,17 @@
|
||||
|
||||
<el-row :gutter="16" class="mt-16px">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="汇总设计面积(m²)">
|
||||
<el-form-item label="设计面积总计(m²)">
|
||||
<el-input :model-value="formatAmountText(guideDetailSummary.designArea)" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="汇总考核面积(m²)">
|
||||
<el-form-item label="考核产值面积总计(m²)">
|
||||
<el-input :model-value="formatAmountText(guideDetailSummary.assessmentArea)" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="汇总考核产值(元)">
|
||||
<el-form-item label="考核产值总计(元)">
|
||||
<el-input
|
||||
:model-value="formatAmountText(guideDetailSummary.assessmentOutputValue)"
|
||||
disabled
|
||||
@@ -578,7 +583,7 @@
|
||||
<el-descriptions-item label="设计部位">
|
||||
{{ activeRemarkRow.designPart || '-' }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="建筑类型">
|
||||
<el-descriptions-item label="设计内容/设计类型">
|
||||
{{ activeRemarkRow.buildingType || '-' }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="考核产值(元)">
|
||||
@@ -934,7 +939,7 @@ const formatQuantityText = (value?: number, digits = 4) => {
|
||||
|
||||
const setGuideDetailPercentValue = (
|
||||
row: GuideDetailRow,
|
||||
field: 'complexityFactor' | 'designRatio',
|
||||
field: 'designRatio',
|
||||
value?: number | string | null
|
||||
) => {
|
||||
row[field] = fromPercentValue(value, 4)
|
||||
@@ -953,7 +958,7 @@ const formRules = reactive<FormRules>({
|
||||
return
|
||||
}
|
||||
if (!hasValue(value)) {
|
||||
callback(new Error('工程总面积不能为空'))
|
||||
callback(new Error('建筑面积不能为空'))
|
||||
return
|
||||
}
|
||||
callback()
|
||||
@@ -1153,7 +1158,7 @@ const validateGuideDetails = () => {
|
||||
return false
|
||||
}
|
||||
if (!row.buildingType) {
|
||||
message.warning(`${rowText}建筑类型不能为空`)
|
||||
message.warning(`${rowText}设计内容/设计类型不能为空`)
|
||||
return false
|
||||
}
|
||||
if (!hasValue(row.designArea)) {
|
||||
@@ -1177,11 +1182,11 @@ const validateGuideDetails = () => {
|
||||
return false
|
||||
}
|
||||
if (!hasValue(row.complexityFactor)) {
|
||||
message.warning(`${rowText}复杂系数不能为空`)
|
||||
message.warning(`${rowText}复杂系数/复杂等级不能为空`)
|
||||
return false
|
||||
}
|
||||
if (!hasValue(row.designRatio)) {
|
||||
message.warning(`${rowText}设计占比不能为空`)
|
||||
message.warning(`${rowText}设计阶段占比不能为空`)
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user