用能人数校验、分体式空调加字段

This commit is contained in:
jiangyinzhi
2026-04-18 17:08:19 +08:00
parent 987a49d769
commit 6ba8e2c812
2 changed files with 35 additions and 1 deletions
@@ -44,6 +44,7 @@
<!-- <van-field v-model="formData.operationYear" label="建筑投运年份(年)" label-width="140" input-align="right" is-link placeholder="请选择" readonly @click="handelClickYear('operationYear', 'SET_HEAT_YEAR')" /> -->
<van-field v-model="formData.peopleNum" v-input.numNo0 required @blur="checkArea" :rules="[{required: true, }]" :label="peopleShow" placeholder="只统计当前户号(区域)" type="number" input-align="right">
</van-field>
<div class="tips" v-if="tips10 == true">0.1≤单位面积人数≤200</div>
<div class="tips" v-if="checkAreaTip">同一社会信用代码下建筑面积和用能人数重复</div>
<van-cell title="建筑外观照片" :required="$store.getters.cityType" :rules="[{ required: $store.getters.cityType}] "/>
<van-uploader v-model="fileList" :max-count="3" :after-read="afterRead" :before-delete="delImg" @click-upload="onUpload" preview-size="100px" class="uploader" ref="file" />
@@ -339,6 +340,7 @@ export default {
tips6: false,
tips7: false,
// tips8: false,
tips10: false,
newAnswer: [], // 问答题存
loading:false,
result1: '无',
@@ -732,6 +734,7 @@ export default {
methods: {
async checkArea(){
this.showTips10()
if(this.formData.totalArea>50000&&this.formData.peopleNum){
let params = {
totalArea: this.formData.totalArea,
@@ -813,6 +816,14 @@ export default {
this.tips7 = false
}
},
showTips10() {
let rate = Number(this.formData.totalArea)/ Number(this.formData.peopleNum)
if( rate<0.1|| rate> 200) {
this.tips10 = true
}else {
this.tips10 = false
}
},
buildTypeChange(val) {
this.showPicker = false
switch (val[0]) {
@@ -1882,7 +1893,7 @@ export default {
// this.formData.enquireIds = this.aarr1.concat(this.aarr)
// }
// this.tips6 == true ||
if(this.checkAreaTip|| this.tips0 == true || this.tips1 == true || this.tips2 == true || this.tips3 == true || this.tips4 == true || this.tips6 == true || this.tips7){
if(this.checkAreaTip|| this.tips0 == true || this.tips1 == true || this.tips2 == true || this.tips3 == true || this.tips4 == true || this.tips6 == true || this.tips7 || this.tips10){
return;
}
if(this.gfShow == 1&&(this.tips8||this.tips9)){
@@ -3,6 +3,7 @@
<div class="fissionItem">
<van-cell-group>
<van-field v-model="form.refrigeNum" v-input.numNo0 label="空调数量" type="number" required :rules="[{ required: true }]" input-align="right" placeholder="请输入" />
<van-field @blur="checkEquipDieout('9', 'model', 'dieoutNum', 'form', 'refrigeNum')" v-model="form.model" label="设备型号" :rules="[{ required: false, validator:modelValidator, message:'2≤型号长度≤30'}]" input-align="right" maxlength="30"/>
<van-field v-model="form.dieoutNum" v-input.num label="淘汰设备数量" type="number" input-align="right" placeholder="请输入" />
<van-field v-model="form.loadFactor" v-input.float label="负载系数" type="number" input-align="right" placeholder="请输入" />
<van-field v-model="form.runHours" v-input.maxDayHour label="每日运行时间(小时)" type="number" label-width="220" input-align="right" placeholder="请输入" />
@@ -12,17 +13,32 @@
<van-field v-input.float v-model="form.carbonEmissionFactor" type="number" label="区域碳排放因子" placeholder="请输入" label-width="200" input-align="right"/>
<van-field v-input.float v-model="form.carbonReduction" type="number" label="预期减碳量(TCO₂)" placeholder="请输入" label-width="200" input-align="right"/>
<van-field v-model="form.totalConcatenatedCold" v-input.float label="总额定制冷功率(kW)" type="number" label-width="220" input-align="right" placeholder="请输入" />
<van-field label="设备生产日期" v-model="form.produceDate" placeholder="请选择设备生产日期" label-width="140" input-align="right" is-link readonly @click="datePicker = true" />
<van-field label="设备能效等级" v-model="form.equipEfficiencyName" placeholder="请选择设备能效等级" input-align="right" is-link readonly @click="handelClickOptionShow('equipEfficiency')" />
<van-field v-input.num v-model="form.cumulativeRunHours" type="number" label="累计运行小时数" placeholder="请输入" label-width="200" input-align="right"/>
<!-- <van-field v-input.num v-model="form.dieoutNum" type="number" label="淘汰设备数量" placeholder="请输入" label-width="200" input-align="right"/> -->
</van-cell-group>
</div>
<!-- <div class="bottom"><van-button type="primary" block>保存</van-button></div> -->
<!-- 年份选择 -->
<VanPickerNew :show="showOption" :columns="columnsList" :loading="loading" @onConfirm="onConfirmOption" @onCancel="showOption=false" />
<van-popup v-model="datePicker" position="bottom">
<van-datetime-picker v-model="currentDate" type="date" :min-date="minDate" :max-date="maxDate" @confirm="onConfirmDate" @cancel="datePicker = false" />
</van-popup>
</div>
</template>
<script>
import { pureDigital } from '../pattern'
import mixin from '@/mixins/mixin'
import VanPickerNew from '@/components/vanPickerNew'
import {dieoutMixin, modelValidatorMixin} from '@/mixins/dieoutMixin'
export default {
components: {
VanPickerNew,
},
mixins: [mixin, dieoutMixin, modelValidatorMixin],
data() {
return {
typeId: this.$route.query.typeId,
@@ -38,6 +54,11 @@ export default {
saveElectricity: '',
carbonEmissionFactor:'',
carbonReduction:'',
model: '',
produceDate: '',
equipEfficiency: '',
equipEfficiencyName: '',
cumulativeRunHours: '',
},
eqid: '',
@@ -84,6 +105,8 @@ export default {
}
}
}
let Efficiency = this.form.equipEfficiency&&this.equipEfficiencyOption.find(item => item.value == this.form.equipEfficiency)
this.form.equipEfficiencyName = Efficiency&&Efficiency.text
}
}
},