能效诊断

This commit is contained in:
jiangyinzhi
2024-07-10 10:25:32 +08:00
parent b7aa6f87f1
commit 04f0606430
262 changed files with 58693 additions and 1 deletions
@@ -0,0 +1,895 @@
<template>
<div class="list">
<van-form ref="detailForm" @submit="handelClickSave">
<div class="list-upload" v-if="(type == 1||type == 2) && $store.getters.imageRecognition">
<btn-uploader type="filePic" :value="filePic" @afterRead="afterRead" @delImg="delImg" @onUpload="onUpload" />
</div>
<div class="container" v-if="type == 1">
<div class="inputStyle">
<van-cell-group>
<van-field v-model="formColumns.refrigeTypeName" label="机组类型" is-link readonly input-align="right" placeholder="请选择" required :rules="[{ required: true }]" @click="handelClickHeatingShow('jzlx', 80000001016,'refrigeTypeName','refrigeType','kt')"/>
<van-field v-model="form.model" label="设备型号" required :rules="[{ required: true },{pattern:/^.{2,30}$/, message:'2≤型号长度≤30'}]" input-align="right" maxlength="30" placeholder="请输入设备型号"/>
<van-field v-model="refrigeNum" v-input.numNo0 label="数量(台)" readonly type="number" required :rules="[{ required: true }]" input-align="right" placeholder="自动计算" />
<div class="tips" v-if="refrigeNum+''=='0'">数量>0</div>
<van-field v-model="edgl" v-input.floatNo0 label="额定功率(kW)" type="number" required :rules="[{ required: true }]" input-align="right" placeholder="请输入" />
<div class="tips" v-if="ratio">{{ refrigeTypeData[form.refrigeType][0]}} ≤额定制冷量/额定功率≤ {{refrigeTypeData[form.refrigeType][1]}}</div>
<van-field v-model="hyl" v-input.float label="耗用量(t或m3)" type="number" label-width="100" input-align="right" placeholder="请输入" />
<van-field v-model="form.coolCapacity" v-input.floatNo0 label="额定制冷量(kW)" required :rules="[{ required: true }]" type="number" input-align="right" placeholder="请输入" />
<div class="tips" v-if="ratio">{{ refrigeTypeData[form.refrigeType][0]}} ≤额定制冷量/额定功率≤ {{refrigeTypeData[form.refrigeType][1]}}</div>
<van-field v-model="form.useExpl" v-input.num label="在用台数(台)" type="number" required :rules="[{ required: true }]" input-align="right" placeholder="请输入"/>
<van-field v-model="form.backupExpl" v-input.num label="备用台数(台)" type="number" required :rules="[{ required: true }]" input-align="right" placeholder="请输入"/>
<van-field v-model="form.useYear" label="设备投用年份" label-width="140" required :rules="[{ required: true }]" input-align="right" is-link placeholder="请选择" readonly @click="handelClickYear('useYear')" />
</van-cell-group>
<van-cell class="img-box box1" title="设备外观" :required="$store.getters.cityType"/>
<Uploader type="exteriorImage1" :value="exteriorImage1" @afterRead="afterRead1" @delImg="delImg1" @onUpload="onUpload1" />
<div class="tips tipImage" v-if="$store.getters.cityType&&form.exteriorImage.length<1">请上传设备外观照片</div>
<van-cell class="img-box" title="设备铭牌" />
<Uploader type="tagImage1" :value="tagImage1" @afterRead="afterRead2" @delImg="delImg2" @onUpload="onUpload2" />
<van-cell class="img-box" title="设备能效标识" />
<Uploader type="markImage1" :value="markImage1" @afterRead="afterRead3" @delImg="delImg3" @onUpload="onUpload3" />
</div>
<VanPickerNew :show="show" :columns="list" :loading="loading" @onConfirm="onConfirm" @onCancel="onCancel" />
<Year :show="yearShow" :num="1" @onConfirmYear="onConfirmYear" @onCancelYear="onCancelYear" />
</div>
<div class="container" v-if="type == 2">
<!-- 设备类型选择 -->
<div class="inputStyle">
<van-cell-group>
<van-field v-model="formColumns.refrigeTypeName" label="设备类型" required :rules="[{ required: true }]" input-align="right" is-link placeholder="请选择" @click="handelClickHeatingShow('jzlx', 80000001016,'refrigeTypeName','refrigeType','lqt' )" readonly />
<!-- <van-cell title="设备类型" is-link :value="form.refrigeTypeName" @click="showPicker = true" readonly /> -->
<van-field v-model="form.model" label="设备型号" required :rules="[{ required: true },{pattern:/^.{2,30}$/, message:'2≤型号长度≤30'}]" input-align="right" maxlength="30" placeholder="请输入设备型号"/>
<van-field v-model="refrigeNum" v-input.numNo0 label="数量(台)" readonly type="number" required :rules="[{ required: true }]" input-align="right" placeholder="自动计算" />
<div class="tips" v-if="refrigeNum+''=='0'">数量>0</div>
<van-field v-model="form.ratedPower" v-input.floatNo0 label="额定功率(kW)" type="number" required :rules="[{ required: true }]" input-align="right" placeholder="请输入" />
<van-field v-model="form.useExpl" v-input.num label="在用台数(台)" required :rules="[{ required: true }]" input-align="right" placeholder="请输入" />
<van-field v-model="form.backupExpl" v-input.num label="备用台数(台)" required :rules="[{ required: true }]" input-align="right" placeholder="请输入" />
<van-field v-model="form.useYear" label="设备投用年份" label-width="140" required :rules="[{ required: true }]" input-align="right" is-link placeholder="请选择" readonly @click="handelClickYear('useYear')" />
</van-cell-group>
<van-cell class="img-box box1" title="设备外观" :required="$store.getters.cityType"/>
<Uploader type="exteriorImage1" :value="exteriorImage1" @afterRead="afterRead1" @delImg="delImg1" @onUpload="onUpload1" />
<div class="tips tipImage" v-if="$store.getters.cityType&&form.exteriorImage.length<1">请上传设备外观照片</div>
<van-cell class="img-box" title="设备铭牌" />
<Uploader type="tagImage1" :value="tagImage1" @afterRead="afterRead2" @delImg="delImg2" @onUpload="onUpload2" />
<van-cell class="img-box" title="设备能效标识" />
<Uploader type="markImage1" :value="markImage1" @afterRead="afterRead3" @delImg="delImg3" @onUpload="onUpload3" />
</div>
<VanPickerNew :show="show" :columns="list" :loading="loading" @onConfirm="onConfirm" @onCancel="onCancel" />
<Year :show="yearShow" :num="1" @onConfirmYear="onConfirmYear" @onCancelYear="onCancelYear" />
</div>
<div class="container" v-if="type == 3">
<div class="inputStyle">
<van-cell-group>
<van-field v-model="formColumns.refrigeTypeName" label="机组类型" required :rules="[{ required: true }]" input-align="right" is-link placeholder="请选择" @click="handelClickHeatingShow('jzlx',80000001020,'refrigeTypeName','refrigeType')" readonly />
<van-field v-model="form1.model" label="设备型号" required :rules="[{ required: true },{pattern:/^.{2,30}$/, message:'2≤型号长度≤30'}]" input-align="right" maxlength="30" placeholder="请输入设备型号"/>
<van-field v-model="heatNum" v-input.numNo0 label="数量(台)" readonly type="number" required :rules="[{ required: true }]" input-align="right" placeholder="自动计算" />
<div class="tips" v-if="heatNum+''=='0'">数量>0</div>
<van-field @input="changeTips" v-model="edgl" v-input.floatNo0 label="额定功率(kW)" type="number" required :rules="[{ required: true }]" input-align="right" placeholder="请输入" />
<van-field v-model="hyl" v-input.floatNo0 label="耗用量(t或m3)" type="number" label-width="100" input-align="right" placeholder="请输入" />
<van-field @input="changeTips" v-model="form1.heatCapacity" v-input.floatNo0 label="额定制热量(kW)" type="number" required :rules="[{ required: true }]" input-align="right" placeholder="请输入" />
<van-field v-model="form1.useExpl" v-input.num type="number" label="在用台数(台)" required :rules="[{ required: true }]" input-align="right" placeholder="请输入" />
<van-field v-model="form1.backupExpl" v-input.num type="number" label="备用台数(台)" required :rules="[{ required: true }]" input-align="right" placeholder="请输入" />
<van-field v-model="form1.useYear" label="设备投用年份" label-width="140" required :rules="[{ required: true }]" input-align="right" is-link placeholder="请选择" readonly @click="handelClickYear('useYear')" />
</van-cell-group>
<van-cell class="img-box box1" title="设备外观" :required="$store.getters.cityType"/>
<Uploader type="exteriorImage1" :value="exteriorImage1" @afterRead="afterRead1" @delImg="delImg1" @onUpload="onUpload1" />
<div class="tips tipImage" v-if="$store.getters.cityType&&form1.exteriorImage.length<1">请上传设备外观照片</div>
<van-cell class="img-box" title="设备铭牌" />
<Uploader type="tagImage1" :value="tagImage1" @afterRead="afterRead2" @delImg="delImg2" @onUpload="onUpload2" />
<van-cell class="img-box" title="设备能效标识" />
<Uploader type="markImage1" :value="markImage1" @afterRead="afterRead3" @delImg="delImg3" @onUpload="onUpload3" />
</div>
<VanPickerNew :show="show" :columns="list" :loading="loading" @onConfirm="onConfirm" @onCancel="onCancel" />
<Year :show="yearShow" :num="1" @onConfirmYear="onConfirmYear1" @onCancelYear="onCancelYear" />
</div>
<div class="bottom">
<van-button type="primary" block native-type="submit">
保存
</van-button>
</div>
</van-form>
</div>
</template>
<script>
// import Header from "@/components/headerNew";
// import { uploadFile } from "@/api/api.js";
// import { Toast } from "vant";
import { pureDigital } from '../pattern'
import VanPickerNew from "@/components/vanPickerNew";
import Year from "../common-vue/year.vue";
import mixin from "@/mixins/mixin";
import { downloadUrl } from "@/settings";
import Uploader from "../common-vue/uploader.vue";
import btnUploader from "../common-vue/btnUploader.vue";
export default {
name: "burstingDetail",
components: {
Uploader,
btnUploader,
Year,
// Header,
VanPickerNew,
},
mixins: [mixin],
computed: {
pureDigital() {
return pureDigital
},
refrigeNum: {
get(){
if( this.form.useExpl && this.form.backupExpl ){
this.form.refrigeNum = Number(this.form.useExpl) + Number(this.form.backupExpl)
}
return this.form.refrigeNum
},
set () {}
},
// 额定制冷量/额定功率
ratio(){
if(this.form.coolCapacity&&this.edgl&&this.edgl!=0&&this.form.refrigeType){
let ratioData = this.form.coolCapacity/this.edgl
let data = this.refrigeTypeData[this.form.refrigeType][0] <= ratioData && ratioData <= this.refrigeTypeData[this.form.refrigeType][1]
return !data
}
},
heatNum: {
get(){
if( this.form1.useExpl && this.form1.backupExpl ){
this.form1.heatNum = Number(this.form1.useExpl) + Number(this.form1.backupExpl)
}
return this.form1.heatNum
},
set () {}
},
},
data() {
return {
tips0: false,
exteriorImage1: [], //设备外观
tagImage1: [], //设备铭牌
markImage1: [], //设备能效标识
showPicker: false,
// 设备类型
option: [
{ value: 3, text: "地/水源热泵机组" },
{ value: 5, text: "冷冻泵(一、二次)" },
{ value: 6, text: "冷却泵" },
{ value: 7, text: "冷却塔" },
],
show: false,
parentPath: "",
list: [],
title: "",
type: "",
index: "",
form: {
equipId:'',
refrigeId:'',
refrigeType: "",
refrigeTypeName: "",
model: "",
refrigeNum: "",
ratedPower: "",
coolCapacity: "",
useExpl: "",
backupExpl: "",
useYear: "",
exteriorImage: "", //设备外观
tagImage: "", //设备铭牌
markImage: "", //设备能效标识
},
form1: {
equipId:'',
model: "",
heatId:'',
unitType: "",
unitTypeName: "",
heatNum: "",
ratedPower: "",
heatCapacity: "",
useExpl: "",
backupExpl: "",
useYear: "",
exteriorImage: "", //设备外观
tagImage: "", //设备铭牌
markImage: "", //设备能效标识
},
formColumns: {
refrigeType: "",
refrigeTypeName: "",
},
edgl: "", //额定功率
hyl: "", //耗用量
arrKt: [], // 集中式空调机组
arrLq: [], // 输送泵组/冷却塔
arrCn: [], // 采暖机组
//机组阈值
refrigeTypeData: {},
refrigeTypeDataSmall:{
"1": ['3.80', '6.30'],
"2": ['2.40', '3.40'],
"3": ['3.50', '5.90'],
"4": ['1.10', '1.40']
},
refrigeTypeDataBig:{
"1": ['1.90', '9.45'],
"2": ['1.20', '5.10'],
"3": ['1.75', '8.85'],
"4": ['0.55', '2.10']
},
filePic: []
};
},
created() {
this.getCome()
if(this.$store.getters.validate){
this.refrigeTypeData = this.refrigeTypeDataBig
}else{
this.refrigeTypeData = this.refrigeTypeDataSmall
}
},
beforeDestroy() {
this.clearPage();
},
methods: {
// 改变tips的状态
changeTips () {
},
//获取当前进入是新增还是修改
getCome() {
this.type = this.$route.params.type;
if (this.type == 1) {
this.getArrKt();
} else if (this.type == 2) {
this.getArrLq();
} else {
this.getArrCn();
}
},
onConfirmYear1(obj) {
this.form1.useYear = obj.value;
this.yearShow = false;
},
//判断删除的list中是否为对象格式
delIsObj(delList) {
const list = delList.map((ele) => {
if (ele instanceof Object) {
return ele.url
}
return ele
})
return list
},
// 上传图片调用原生的方法 获取到绝对路径调用getImageFileFromUrl
onUpload (data) {
if(this.type == 1){
this.form.coolCapacity = data.coolCapacity
this.edgl = parseFloat(data.ratedPower)
}else {
this.form.ratedPower = parseFloat(data.ratedPower)
}
this.form.model = data.model
},
delImg() {
this.filePic = []
const list = this.delIsObj(this.filePic)
this.filePic = list.join(',')
},
// 图片处理
afterRead(data) {
if(this.type == 1){
this.form.coolCapacity = data.coolCapacity
this.edgl = parseFloat(data.ratedPower)
}else {
this.form.ratedPower = parseFloat(data.ratedPower)
}
this.form.model = data.model
console.log(this.form);
// this.filePic.push(data.attach_id);
},
//安卓会调用的方法
onUpload1(data) {
this.exteriorImage1 = data
// const list = this.ifObj(this.exteriorImage1)
if (this.type != 3) {
this.form.exteriorImage = this.exteriorImage1
} else {
this.form1.exteriorImage = this.exteriorImage1
}
},
//安卓会调用的方法
onUpload2(data) {
this.tagImage1 = data
// const list = this.ifObj(this.tagImage1)
if (this.type != 3) {
this.form.tagImage = this.tagImage1
} else {
this.form1.tagImage = this.tagImage1
}
},
//安卓会调用的方法
onUpload3(data) {
this.markImage1 = data
// const list = this.ifObj(this.markImage1)
if (this.type != 3) {
this.form.markImage = this.markImage1
} else {
this.form1.markImage = this.markImage1
}
},
// 图片处理
afterRead1(data) {
this.exteriorImage1.push(data.attach_id);
if (this.type != 3) {
this.form.exteriorImage = this.exteriorImage1
} else {
this.form1.exteriorImage = this.exteriorImage1
}
},
delImg1() {
this.exteriorImage1 = []
const list = this.delIsObj(this.exteriorImage1)
if (this.type != 3) {
this.form.exteriorImage = list.join(',')
} else if (this.type == 3) {
this.form1.exteriorImage = list.join(',')
}
},
afterRead2(data) {
this.tagImage1.push(data.attach_id);
if (this.type != 3) {
this.form.tagImage = this.tagImage1
} else {
this.form1.tagImage = this.tagImage1
}
},
delImg2() {
this.tagImage1 = []
const list = this.delIsObj(this.tagImage1)
if (this.type != 3) {
this.form.tagImage = list.join(',')
} else if (this.type == 3) {
this.form1.tagImage = list.join(',')
}
},
afterRead3(data) {
this.markImage1.push(data.attach_id);
// const list = this.ifObj(this.markImage1)
if (this.type != 3) {
this.form.markImage = this.markImage1
} else {
this.form1.markImage = this.markImage1
}
},
delImg3() {
this.markImage1 = []
const list = this.delIsObj(this.markImage1)
if (this.type != 3) {
this.form.markImage = list.join(',')
} else if (this.type == 3) {
this.form1.markImage = list.join(',')
}
},
// 设备类型选择
select(val) {
this.form.refrigeType = val.value;
this.formColumns.refrigeTypeName = val.text;
this.showPicker = false;
},
getArrKt() {
const data = this.$route.params.item
if(data) {
for (const key in this.form) {
this.form[key] = data[key]
}
if(data.refrigeTypeName) {
this.formColumns.refrigeTypeName = data.refrigeTypeName
}
if(data.ratedPower) {
this.edgl = data.ratedPower.split(",")[0];
this.hyl = data.ratedPower.split(",")[1];
}
if(!data.exteriorImage || data.exteriorImage.length == 0) {
this.form.exteriorImage = []
} else {
this.form.exteriorImage = data.exteriorImage
if(data.exteriorImage instanceof Array) {
this.exteriorImage1 = data.exteriorImage
} else {
this.exteriorImage1 = data.exteriorImage.split(",")
}
this.picShow(this.exteriorImage1, "ktExter");
}
if(!data.markImage || data.markImage.length == 0) {
this.form.markImage = []
} else {
this.form.markImage = data.markImage
if(data.markImage instanceof Array) {
this.markImage1 = data.markImage
} else {
this.markImage1 = data.markImage.split(",")
}
this.picShow(this.markImage1, "ktMark");
}
if(!data.tagImage || data.tagImage.length == 0) {
this.form.tagImage = []
} else {
this.form.tagImage = data.tagImage
if(data.tagImage instanceof Array) {
this.tagImage1 = data.tagImage
} else {
this.tagImage1 = data.tagImage.split(",")
}
this.picShow(this.tagImage1, "KtTag");
}
} else {
for (const key in this.form) {
this.form[key] = ''
}
}
},
getArrLq() {
const data = this.$route.params.item
if(data) {
for (const key in this.form) {
this.form[key] = data[key]
}
if(data.refrigeTypeName) {
this.formColumns.refrigeTypeName = data.refrigeTypeName
}
if(data.ratedPower) {
this.edgl = data.ratedPower.split(",")[0];
this.hyl = data.ratedPower.split(",")[1];
}
if(!data.exteriorImage || data.exteriorImage.length == 0) {
this.form.exteriorImage = []
} else {
this.form.exteriorImage = data.exteriorImage
if(data.exteriorImage instanceof Array) {
this.exteriorImage1 = data.exteriorImage
} else {
this.exteriorImage1 = data.exteriorImage.split(",")
}
this.picShow(this.exteriorImage1, "LqExter");
}
if(!data.markImage || data.markImage.length == 0) {
this.form.markImage = []
} else {
this.form.markImage = data.markImage
if(data.markImage instanceof Array) {
this.markImage1 = data.markImage
} else {
this.markImage1 = data.markImage.split(",")
}
this.picShow(this.markImage1, "LqMark");
}
if(!data.tagImage || data.tagImage.length == 0) {
this.form.tagImage = []
} else {
this.form.tagImage = data.tagImage
if(data.tagImage instanceof Array) {
this.tagImage1 = data.tagImage
} else {
this.tagImage1 = data.tagImage.split(",")
}
this.picShow(this.tagImage1, "LqTag");
}
if (this.form.exteriorImage) {
if(this.form.exteriorImage instanceof Array) {
this.exteriorImage1 = this.form.exteriorImage
} else {
this.exteriorImage1 = this.form.exteriorImage.split(",")
}
this.picShow(this.exteriorImage1, "LqExter");
}
} else {
for (const key in this.form) {
this.form[key] = ''
}
}
},
getArrCn() {
const data = this.$route.params.item
const heatCnLx = JSON.parse(sessionStorage.getItem("heatCnLx"));
if(data) {
for (const key in this.form1) {
this.form1[key] = data[key]
}
if(heatCnLx && data) {
heatCnLx.forEach((v)=> {
if (data.unitType == v.code) {
this.formColumns.refrigeTypeName = v.name
}
})
}
this.formColumns.refrigeType = this.form1.unitType = data.unitType
if(data.ratedPower) {
this.edgl = data.ratedPower.split(",")[0];
this.hyl = data.ratedPower.split(",")[1];
}
if(!data.exteriorImage || data.exteriorImage.length == 0) {
this.form1.exteriorImage = []
} else {
this.form1.exteriorImage = data.exteriorImage
if(data.exteriorImage instanceof Array) {
this.exteriorImage1 = data.exteriorImage
} else {
this.exteriorImage1 = data.exteriorImage.split(",")
}
this.picShow(this.exteriorImage1, "CnExter");
}
if(!data.markImage || data.markImage.length == 0) {
this.form1.markImage = []
} else {
this.form1.markImage = data.markImage
if(data.markImage instanceof Array) {
this.markImage1 = data.markImage
} else {
this.markImage1 = data.markImage.split(",")
}
this.picShow(this.markImage1, "CnMark");
}
if(!data.tagImage || data.tagImage.length == 0) {
this.form1.tagImage = []
} else {
this.form1.tagImage = data.tagImage
if(data.tagImage instanceof Array) {
this.tagImage1 = data.tagImage
} else {
this.tagImage1 = data.tagImage.split(",")
}
this.picShow(this.tagImage1, "CnTag");
}
} else {
for (const key in this.form1) {
this.form1[key] = ''
}
}
},
//图片回显展示
picShow(formList, name) {
console.log(formList,name);
const picList = formList.map((ele) => {
if (ele.split(`${downloadUrl}`).length > 1) {
return {
url: ele,
};
}
ele = `${downloadUrl}${ele}`;
return {
url: ele,
};
});
switch (name) {
case "ktExter":
this.exteriorImage1 = picList;
break;
case "ktMark":
this.markImage1 = picList;
break;
case "KtTag":
this.tagImage1 = picList;
break;
case "LqExter":
console.log(picList, '1');
this.exteriorImage1 = picList;
console.log(this.exteriorImage1);
break;
case "LqMark":
console.log(picList, '3');
this.markImage1 = picList;
break;
case "LqTag":
console.log(picList, '2');
this.tagImage1 = picList;
// eslint-disable-next-line no-fallthrough
case "CnExter":
this.exteriorImage1 = picList;
break;
case "CnMark":
this.markImage1 = picList;
break;
case "CnTag":
this.tagImage1 = picList;
break;
default:
break;
}
},
// 集中式空调机组保存
handelClickSave() {
const item = this.$route.params.item
console.log(this.type, this.exteriorImage1.length);
if (this.type == 1) {
if(this.form.refrigeNum<1 || this.ratio){
return
}
if(this.$store.getters.cityType&&this.form.exteriorImage.length<1){
return
}
if(item) {
this.$store.getters.airConditioningUnitList.forEach((ele) => {
if(this.form.refrigeId == ele.refrigeId) {
this.form.ratedPower = this.edgl + "," + this.hyl
this.form.refrigeTypeName = this.formColumns.refrigeTypeName
for (const key in ele) {
ele[key] = this.form[key]
}
return ele
}
})
this.clearPage()
this.$router.push({
path: "/facilityManage",
query: {
id: 'focusAir',
typeId: '1'
}
})
} else {
this.form.ratedPower = this.edgl + "," + this.hyl
this.form.refrigeTypeName = this.formColumns.refrigeTypeName
this.$store.getters.airConditioningUnitList.push(this.form)
this.clearPage()
this.$router.push({
path: "/facilityManage",
query: {
id: 'focusAir',
typeId: '1'
}
})
}
} else if (this.type == 2) {
if(this.$store.getters.cityType&&this.form.exteriorImage.length<1){
return
}
if(item) {
this.$store.getters.coolingTowerUnitList.forEach((ele) => {
if(this.form.refrigeId == ele.refrigeId) {
this.form.refrigeTypeName = this.formColumns.refrigeTypeName
for (const key in ele) {
ele[key] = this.form[key]
}
return ele
}
})
this.clearPage()
this.$router.push({
path: "/facilityManage",
query: {
id: 'focusAir',
typeId: '1'
}
})
} else {
this.form.refrigeTypeName = this.formColumns.refrigeTypeName
this.$store.getters.coolingTowerUnitList.push(this.form)
this.clearPage()
this.$router.push({
path: "/facilityManage",
query: {
id: 'focusAir',
typeId: '1'
}
})
}
} else if (this.type == 3) {
if(this.$store.getters.cityType&&this.form1.exteriorImage.length<1){
return
}
if(item) {
this.$store.getters.heatingUnitList.forEach((ele) => {
if(this.form1.heatId == ele.heatId) {
for (const key in ele) {
ele[key] = this.form1[key]
}
ele.ratedPower = this.edgl + "," + this.hyl
// ele.unitType = this.form.refrigeType
ele.unitType = this.form1.unitType
ele.unitTypeName = this.formColumns.refrigeTypeName
return ele
}
})
this.heatPicArrtoStr()
this.clearPage()
this.$router.push({
path: "/facilityManage",
query: {
id: 'heating',
typeId: '2'
}
})
} else {
this.form1.ratedPower = this.edgl + "," + this.hyl
this.form1.unitType = this.formColumns.refrigeType
this.form1.unitTypeName = this.formColumns.refrigeTypeName
this.heatPicArrtoStr()
console.log(this.form1.unitType, 'this.form1.unitType');
this.$store.getters.heatingUnitList.push(this.form1)
this.clearPage()
this.$router.push({
path: "/facilityManage",
query: {
id: 'heating',
typeId: '2'
}
})
}
}
// this.clearPage();/
},
//将采暖机组图片数组转为字符串
heatPicArrtoStr() {
if (this.exteriorImage1.length > 0) {
this.form1.exteriorImage = this.exteriorImage1.map((ele) => {
if (ele.url) {
return ele = ele.url.split('download/')[1]
} else {
return ele
}
}).join(',')
}
if (this.tagImage1.length > 0) {
this.form1.tagImage = this.tagImage1.map((ele) => {
if (ele.url) {
return ele = ele.url.split('download/')[1]
} else {
return ele
}
}).join(',')
}
if (this.markImage1.length > 0) {
this.form1.markImage = this.markImage1.map((ele) => {
if (ele.url) {
return ele = ele.url.split('download/')[1]
} else {
return ele
}
}).join(',')
}
},
//清空页面
clearPage() {
this.form = {
equipId:'',
refrigeId:'',
refrigeType: "",
refrigeTypeName: "",
model: "",
refrigeNum: "",
ratedPower: "",
coolCapacity: "",
useExpl: "",
backupExpl: "",
useYear: "",
exteriorImage: "", //设备外观
tagImage: "", //设备铭牌
markImage: "", //设备能效标识
};
this.form1 = {
equipId:'',
unitType: "",
unitTypeName: "",
heatNum: "",
ratedPower: "",
heatCapacity: "",
useExpl: "",
backupExpl: "",
useYear: "",
exteriorImage: "", //设备外观
tagImage: "", //设备铭牌
markImage: "", //设备能效标识
};
this.formColumns = {
refrigeType: "",
refrigeTypeName: "",
};
this.edgl = ""; //额定功率
this.hyl = ""; //耗用量
this.exteriorImage1 = []; //设备外观
this.tagImage1 = []; //设备铭牌
this.markImage1 = []; //设备能效标识
},
},
};
</script>
<style lang="less" scoped>
.container {
height: calc(100vh - 2.7rem);
padding: 20px;
box-sizing: border-box;
overflow-y: auto;
.inputStyle {
border-radius: 8px;
overflow: auto;
background: #fff;
}
.picStyle {
padding: 10px 20px;
.title {
margin-bottom: 10px;
span {
color: red;
}
}
}
}
.bottom {
margin: 0.1rem 0.5333rem;
/deep/ .van-button {
background: #34baae;
border-radius: 10px;
}
}
/deep/ .van-cell__value {
color: #333;
}
.img-box {
padding-top: 0;
}
.box1 {
padding-top: 0.266667rem;
}
/deep/ .van-field__error-message {
text-align: right;
}
.tips {
padding: 0 16px;
display: flex;
justify-content: flex-end;
color: #ee0a24;
font-size: 12px;
}
.tipImage{
justify-content: flex-start
}
.list-upload{
/deep/.van-button {
background: #34baae;
border-radius: 0.266667rem;
}
/deep/.van-uploader{
width: 100%;
.van-uploader__input-wrapper{
width: 100%;
}
}
}
</style>
@@ -0,0 +1,220 @@
<template>
<div class="list">
<!-- <Header :title="title" @onClickLeft="onClickLeft" /> -->
<div class="container" v-if="type == 1">
<div class="listItem" v-for="(item, index) in arrKtList" @click="handleDetail(item)" :key="index">
<div class="navTile">
<div class="navLeft">
<img src="@/assets/imageNew/u600.png" alt="" />
<div class="nav-title">{{ item.refrigeTypeName }} ({{ item.useYear }})</div>
<span>x{{ item.refrigeNum }}</span>
</div>
<div class="navRight">
<span>使用</span><span>{{ item.useExpl }}</span> /
<span>备用</span><span>{{ item.backupExpl }}</span>
</div>
</div>
<van-cell :title="
'额定功率' + ' ' +
item.ratedPower[0] + ' ' +
'kW' + ' ' +
'耗用量' + ' ' +
item.ratedPower[1] + ' ' +
't' + ' ' +
'额定制冷' + ' ' +
(item.coolCapacity||'') + ' ' +
'kW'
" is-link />
</div>
</div>
<div class="container" v-if="type == 2">
<div class="listItem" v-for="(item, index) in arrLqList" @click="handleDetail(item)" :key="index">
<div class="navTile">
<div class="navLeft">
<img src="@/assets/imageNew/u600.png" alt="" />
<div class="nav-title">
{{ item.refrigeTypeName }} ({{ item.useYear }})
</div>
<span>x{{ item.refrigeNum }}</span>
</div>
<div class="navRight">
<span>使用</span><span>{{ item.useExpl }}</span> /
<span>备用</span><span>{{ item.backupExpl }}</span>
</div>
</div>
<van-cell :title="'额定功率' + ' ' + item.ratedPower + ' ' + 'kW'" is-link />
</div>
</div>
<div class="container" v-if="type == 3">
<div class="listItem" v-for="(item, index) in arrCnData" @click="handleDetail(item)" :key="index">
<div class="navTile">
<div class="navLeft">
<img src="@/assets/imageNew/u600.png" alt="" />
<div class="nav-title">
{{ item.unitTypeName }} ({{ item.useYear }})
</div>
<span>x{{ item.heatNum }}</span>
</div>
<div class="navRight">
<span>使用</span><span>{{ item.useExpl }}</span> /
<span>备用</span><span>{{ item.backupExpl }}</span>
</div>
</div>
<van-cell :title="
'额定功率' + ' ' +
item.ratedPower[0] + ' ' +
'kW' + ' ' +
'耗用量' + ' ' +
item.ratedPower[1] + ' ' +
't' + ' ' +
'额定制热' + ' ' +
item.heatCapacity + ' ' +
'kW'
" is-link />
</div>
</div>
<div class="btn-add">
<van-button @click="handelClickAdd">新增</van-button>
</div>
</div>
</template>
<script>
// import Header from "@/components/headerNew";
// import { getCustomerInfo } from "@/api/energyConsumption";
export default {
name: "burstingList",
components: {
// Header,
},
data() {
return {
title: "",
type: "",
arrKtList: [],
arrLqList: [],
arrCnList: [],
};
},
computed: {
arrCnData() {
const heatCnLx = JSON.parse(sessionStorage.getItem('heatCnLx'))
heatCnLx.forEach((v)=> {
this.arrCnList.forEach((ev)=> {
if(!ev.unitTypeName) {
if(ev.unitType == v.code ) {
ev.unitTypeName = v.name
}
} else {
ev.unitTypeName
}
})
})
return this.arrCnList
},
},
created() {
this.getArrKtList()
},
methods: {
getArrKtList() {
this.type = this.$route.params.type
if(this.type == 1) {
this.arrKtList = this.$store.getters.airConditioningUnitList
} else if(this.type == 2) {
this.arrLqList = this.$store.getters.coolingTowerUnitList
} else {
this.arrCnList = this.$store.getters.heatingUnitList
}
},
onClickLeft() {
this.$router.push("/facilityManage");
},
handelClickAdd() {
this.$router.replace({ name: "burstingDetail", params: { type: this.type } });
},
handleDetail(item) {
console.log(item);
this.$router.replace({ name: "burstingDetail", params: { item, type: this.type } });
},
},
};
</script>
<style lang="less" scoped>
.btn-add {
margin: 0.1rem 0.5333rem;
}
.van-button {
width: 100%;
background: #34baae;
color: #fff;
border-radius: 10px;
}
.container {
height: calc(100vh - 2.7rem);
padding: 20px;
overflow-y: auto;
box-sizing: border-box;
.listItem {
padding: 10px;
background: #fff;
border-radius: 8px;
margin-bottom: 10px;
.navTile {
display: flex;
align-items: center;
justify-content: space-between;
.navLeft {
display: flex;
align-items: center;
font-size: 16px;
color: #333; // font-weight: bold;
span {
// margin-left: 10px;
font-size: 14px;
margin-top: 3px;
color: #cbcbcb;
}
}
.navRight {
color: #333;
}
}
img {
width: 26px;
margin-right: 5px;
}
}
/deep/ .van-cell {
padding: 10px 0;
font-size: 15px;
}
}
.nav-title {
width: 140px;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
flex: 1;
}
::v-deep .van-cell__title,
.van-cell__value {
-webkit-box-flex: 1;
-webkit-flex: 1;
flex: 1;
font-size: 14px;
color: #999;
}
</style>