951 lines
44 KiB
Vue
951 lines
44 KiB
Vue
<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-field v-model="form.loadFactor" v-input.float label="负载系数" type="number" required :rules="[{ required: true }]" input-align="right" placeholder="请输入" />
|
|
<van-field v-model="form.runHours" v-input.maxDayHour label="每日运行时间(小时)" type="number" required :rules="[{ required: true }]" label-width="220" input-align="right" placeholder="请输入" />
|
|
<van-field v-model="form.runDays" v-input.maxYearDay label="年平均运行时间(天)" type="number" required :rules="[{ required: true }]" label-width="220" input-align="right" placeholder="请输入" />
|
|
<van-field v-model="form.coldPerArea" v-input.float label="单位面积冷量(kw/平方米)" type="number" required :rules="[{ required: true }]" label-width="220" input-align="right" placeholder="请输入" />
|
|
<van-field label="设备能效等级" v-model="form.equipEfficiencyName" required :rules="[{ required: true }]" placeholder="请选择设备能效等级" input-align="right" is-link readonly @click="handelClickOptionShow('equipEfficiency')" />
|
|
<van-field label="设备生产日期" v-model="form.produceDate" required :rules="[{ required: true }]" placeholder="请选择设备生产日期" input-align="right" is-link readonly @click="datePicker = true" />
|
|
<van-field v-input.num v-model="form.cumulativeRunHours" required :rules="[{ required: true }]" type="number" label="累计运行小时数" placeholder="请输入" label-width="200" input-align="right"/>
|
|
</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="设备铭牌" :required="$store.getters.cityType"/>
|
|
<Uploader type="tagImage1" :value="tagImage1" @afterRead="afterRead2" @delImg="delImg2" @onUpload="onUpload2" />
|
|
<div class="tips tipImage" v-if="$store.getters.cityType&&form.tagImage.length<1">请上传设备铭牌</div>
|
|
<van-cell class="img-box" title="设备能效标识" :required="$store.getters.cityType"/>
|
|
<Uploader type="markImage1" :value="markImage1" @afterRead="afterRead3" @delImg="delImg3" @onUpload="onUpload3" />
|
|
<div class="tips tipImage" v-if="$store.getters.cityType&&form.markImage.length<1">请上传设备能效标识</div>
|
|
</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-field v-model="form.loadFactor" v-input.float label="负载系数" type="number" required :rules="[{ required: true }]" input-align="right" placeholder="请输入" />
|
|
<van-field v-model="form.runHours" v-input.maxDayHour label="每日运行时间(小时)" type="number" required :rules="[{ required: true }]" label-width="220" input-align="right" placeholder="请输入" />
|
|
<van-field v-model="form.runDays" v-input.maxYearDay label="年平均运行时间(天)" type="number" required :rules="[{ required: true }]" label-width="220" input-align="right" placeholder="请输入" />
|
|
<van-field v-model="form.coldPerArea" v-input.float label="单位面积冷量(kw/平方米)" type="number" required :rules="[{ required: true }]" label-width="220" input-align="right" placeholder="请输入" />
|
|
<van-field label="设备能效等级" v-model="form.equipEfficiencyName" required :rules="[{ required: true }]" placeholder="请选择设备能效等级" input-align="right" is-link readonly @click="handelClickOptionShow('equipEfficiency')" />
|
|
<van-field label="设备生产日期" v-model="form.produceDate" required :rules="[{ required: true }]" placeholder="请选择设备生产日期" input-align="right" is-link readonly @click="datePicker = true" />
|
|
<van-field v-input.num v-model="form.cumulativeRunHours" required :rules="[{ required: true }]" type="number" label="累计运行小时数" placeholder="请输入" label-width="200" input-align="right"/>
|
|
</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="设备铭牌" :required="$store.getters.cityType"/>
|
|
<Uploader type="tagImage1" :value="tagImage1" @afterRead="afterRead2" @delImg="delImg2" @onUpload="onUpload2" />
|
|
<div class="tips tipImage" v-if="$store.getters.cityType&&form.tagImage.length<1">请上传设备铭牌</div>
|
|
<van-cell class="img-box" title="设备能效标识" :required="$store.getters.cityType"/>
|
|
<Uploader type="markImage1" :value="markImage1" @afterRead="afterRead3" @delImg="delImg3" @onUpload="onUpload3" />
|
|
<div class="tips tipImage" v-if="$store.getters.cityType&&form.markImage.length<1">请上传设备能效标识</div>
|
|
</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-field v-model="form1.loadFactor" v-input.float label="负载系数" type="number" required :rules="[{ required: true }]" input-align="right" placeholder="请输入" />
|
|
<van-field v-model="form1.runHours" v-input.maxDayHour label="每日运行时间(小时)" type="number" required :rules="[{ required: true }]" label-width="220" input-align="right" placeholder="请输入" />
|
|
<van-field v-model="form1.runDays" v-input.maxYearDay label="年平均运行时间(天)" type="number" required :rules="[{ required: true }]" label-width="220" input-align="right" placeholder="请输入" />
|
|
<van-field v-model="form1.heatPerArea" v-input.float label="单位面积热量(kw/平方米)" type="number" required :rules="[{ required: true }]" label-width="220" input-align="right" placeholder="请输入" />
|
|
<van-field label="设备能效等级" v-model="form1.equipEfficiencyName" required :rules="[{ required: true }]" placeholder="请选择设备能效等级" input-align="right" is-link readonly @click="handelClickOptionShow('equipEfficiency')" />
|
|
<van-field label="设备生产日期" v-model="form1.produceDate" required :rules="[{ required: true }]" placeholder="请选择设备生产日期" input-align="right" is-link readonly @click="datePicker = true" />
|
|
<van-field v-input.num v-model="form1.cumulativeRunHours" required :rules="[{ required: true }]" type="number" label="累计运行小时数" placeholder="请输入" label-width="200" input-align="right"/>
|
|
</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="设备铭牌" :required="$store.getters.cityType"/>
|
|
<Uploader type="tagImage1" :value="tagImage1" @afterRead="afterRead2" @delImg="delImg2" @onUpload="onUpload2" />
|
|
<div class="tips tipImage" v-if="$store.getters.cityType&&form1.tagImage.length<1">请上传设备铭牌</div>
|
|
<van-cell class="img-box" title="设备能效标识" :required="$store.getters.cityType"/>
|
|
<Uploader type="markImage1" :value="markImage1" @afterRead="afterRead3" @delImg="delImg3" @onUpload="onUpload3" />
|
|
<div class="tips tipImage" v-if="$store.getters.cityType&&form1.markImage.length<1">请上传设备能效标识</div>
|
|
</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>
|
|
|
|
|
|
<!-- 年份选择 -->
|
|
<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>
|
|
<VanPickerNew :show="showOption" :columns="columnsList" :loading="loading" @onConfirm="onConfirmOption" @onCancel="showOption=false" />
|
|
|
|
|
|
</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: "", //设备能效标识
|
|
loadFactor: '',
|
|
runHours:'',
|
|
runDays: '',
|
|
coldPerArea: '',
|
|
equipEfficiency: '',
|
|
produceDate:'',
|
|
cumulativeRunHours: ''
|
|
},
|
|
form1: {
|
|
equipId:'',
|
|
model: "",
|
|
heatId:'',
|
|
unitType: "",
|
|
unitTypeName: "",
|
|
heatNum: "",
|
|
ratedPower: "",
|
|
heatCapacity: "",
|
|
useExpl: "",
|
|
backupExpl: "",
|
|
useYear: "",
|
|
exteriorImage: "", //设备外观
|
|
tagImage: "", //设备铭牌
|
|
markImage: "", //设备能效标识
|
|
loadFactor: '',
|
|
runHours:'',
|
|
runDays: '',
|
|
heatPerArea: '',
|
|
equipEfficiency: '',
|
|
produceDate:'',
|
|
cumulativeRunHours: ''
|
|
},
|
|
formColumns: {
|
|
refrigeType: "",
|
|
refrigeTypeName: "",
|
|
},
|
|
edgl: "", //额定功率
|
|
hyl: "", //耗用量
|
|
|
|
arrKt: [], // 集中式空调机组
|
|
arrLq: [], // 输送泵组/冷却塔
|
|
arrCn: [], // 采暖机组
|
|
//机组阈值
|
|
refrigeTypeData: {},
|
|
refrigeTypeDataSmall:{
|
|
"1": ['3.80', '6.30'],
|
|
// "2": ['2.40', '3.40'], // 原来
|
|
"2": ['2.00', '5.00'], //电网让改
|
|
"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]
|
|
}
|
|
|
|
let Efficiency = data.equipEfficiency&&this.equipEfficiencyOption.find(item => item.value == data.equipEfficiency)
|
|
this.form.equipEfficiencyName = Efficiency&&Efficiency.text
|
|
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]
|
|
}
|
|
|
|
let Efficiency = data.equipEfficiency&&this.equipEfficiencyOption.find(item => item.value == data.equipEfficiency)
|
|
this.form.equipEfficiencyName = Efficiency&&Efficiency.text
|
|
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]
|
|
}
|
|
|
|
let Efficiency = data.equipEfficiency&&this.equipEfficiencyOption.find(item => item.value == data.equipEfficiency)
|
|
this.form1.equipEfficiencyName = Efficiency&&Efficiency.text
|
|
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||this.form.tagImage.length<1||this.form.markImage.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||this.form.tagImage.length<1||this.form.markImage.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||this.form1.tagImage.length<1||this.form1.markImage.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> |