- <template>
- <div class="project">
- <el-card class="box-card" shadow="never">
- <template #header>
- <div class="card-header">
- <span class="title">项目目标</span>
- <el-icon
- class="icon"
- v-show="props.step === 1"
- @click="visible = true"
- ><ChatLineSquare /></el-icon>
- </div>
- </template>
- <el-form class="formM5" ref="projectForm" :model="form">
- <el-row :gutter="20">
- <el-col :span="6">
- <el-form-item label="建设工程:" prop="projectNo">
- <el-select
- v-model="form.projectNo"
- placeholder="建设工程"
- v-if="opts.type === 'add'"
- :disabled="props.disabled"
- >
- <el-option
- v-for="item in list"
- :label="item.projectName"
- :value="item.projectNo"
- :key="item.projectNo"
- @click="selectChange(item)"
- />
- </el-select>
- <span v-else>{{ form.projectName }}</span>
- </el-form-item>
- </el-col>
- <el-col :span="6">
- <el-form-item label="工程类型:" prop="engineeringType">
- <span>{{ findText('sponge_engineering_type', form.engineeringType) }}</span>
- </el-form-item>
- </el-col>
- <el-col :span="6">
- <el-form-item label="建设分区:" prop="drainagePartition">
- <span>{{ findText('drainage_partition', form.drainagePartition) }}</span>
- </el-form-item>
- </el-col>
- <el-col :span="6">
- <el-form-item label="建设类型:" prop="buildCategory">
- <span>{{ findText('build_category', form.buildCategory) }}</span>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="20">
- <el-col :span="6">
- <el-form-item label="面积㎡:" prop="area">
- <span>{{ form.area }}</span>
- </el-form-item>
- </el-col>
- <el-col :span="6">
- <el-form-item label="年径流总量控制率%,≥:" prop="annualRunoffTotalControlRate">
- <span>{{ form.annualRunoffTotalControlRate }}</span>
- </el-form-item>
- </el-col>
- <el-col :span="6">
- <el-form-item label="年径流污染控制率%,≥:" prop="annualRunoffPollutionControlRate">
- <span>{{ form.annualRunoffPollutionControlRate }}</span>
- </el-form-item>
- </el-col>
- <el-col :span="6">
- <el-form-item label="硬质地面率%,<:" prop="hardGroundRate">
- <span>{{ form.hardGroundRate }}</span>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="20">
- <el-col :span="6">
- <el-form-item label="处置客水m³:" prop="disposalOfGuestWater">
- <span>{{ form.disposalOfGuestWater }}</span>
- </el-form-item>
- </el-col>
- <el-col :span="6">
- <el-form-item label="设计降雨mm:" prop="designRainfall">
- <template #label>
- <span>设计降雨mm</span>
- <popover :width="240">
- <span style="font-weight: 700">说明</span>
- <br />
- <span>根据目标年径流总量控制率跟设计降雨关系曲线,由年径流总量控制率推算设计降雨</span>
- </popover>
- <span>:</span>
- </template>
- <span>{{ form.designRainfall }}</span>
- </el-form-item>
- </el-col>
- <el-col :span="6">
- <el-form-item label="海绵设施投资/万元:" prop="spongeInvest">
- <span>{{ form.spongeInvest }}</span>
- </el-form-item>
- </el-col>
- <el-col :span="6">
- <el-form-item label="推荐投产比(万元/m3):" prop="recommendedProductionRatio">
- <span>{{ form.recommendedProductionRatio }}</span>
- </el-form-item>
- </el-col>
- </el-row>
- </el-form>
- </el-card>
- <el-dialog
- v-model="visible"
- title="建设工程审查"
- :close-on-click-modal="false"
- width="40%"
- class="dialog"
- >
- <card header="结论" shadow="never" v-if="props.investigateData?.conclusions?.length">
- <div class="conclusion">
- <div
- class="conclusion-item"
- v-for="(item, index) in props.investigateData.conclusions"
- >
- <span>{{ `${index + 1}: ${item}` }}</span>
- <br /><br v-if="index < props.investigateData.conclusions.length - 1" />
- </div>
- </div>
- </card>
- <card header="建议" class="suggestCard" shadow="never" v-if="props.investigateData?.suggests?.length">
- <div class="suggest">
- <div
- class="suggest-item"
- v-for="(item, index) in props.investigateData.suggests"
- >
- <span>{{ `${index + 1}: ${item}` }}</span>
- <br /><br v-if="index < props.investigateData.suggests.length - 1" />
- </div>
- </div>
- </card>
- </el-dialog>
- </div>
- </template>
-
- <script setup>
- import { computed, reactive } from 'vue'
- import { useDicts } from '@/hooks'
- import popover from '@/components/popover'
- import { ChatLineSquare } from '@element-plus/icons-vue'
- const { proxy } = getCurrentInstance();
- const emit = defineEmits(['select-change'])
- const props = defineProps({
- data: {
- type: Object,
- default: () => ({})
- },
- disabled: {
- type: Boolean,
- default: false
- },
- opts: {
- type: Object,
- default: () => ({})
- },
- list: {
- type: Array,
- default: () => []
- },
- step: {
- type: [Number, String],
- default: 0
- },
- investigateData: {
- type: Object,
- default: () => ({})
- }
- })
- const { findText } = useDicts(proxy)
-
- const form = computed(() => {
- return props.data
- })
- const visible = ref(false)
-
- const selectChange = (item) => {
- emit('select-change', item)
- }
- </script>
-
- <style lang="scss" scoped>
- .project {
- margin-bottom: 10px;
- .suggestCard {
- margin-top: 10px;
- }
- .card-header {
- display: flex;
- justify-content: space-between;
- align-items: center;
- .icon {
- font-size: 20px;
- cursor: pointer;
- }
-
- .title {
- font-size: 16px;
- font-weight: 700;
- }
- }
-
- .conclusion-item,
- .suggest-item {
- line-height: 1.5;
- }
- }
- </style>