能效诊断

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,270 @@
<template>
<div>
<!-- <Header :title="title" @onClickLeft="onClickLeft" /> -->
<van-form ref="form" @submit="handelClickSave">
<div class="yearenergy">
<div class="year-main">
<div class="nengyuan">
<van-cell-group>
<van-field v-model="form.systemModel" required :rules="[{ required: true },{pattern:/^.{2,20}$/, message:'2≤型号长度≤20'}]" label="风机型号" placeholder="请输入风机型号" maxlength="20" />
<van-field v-model="form.motorModel" required :rules="[{ required: true },{pattern:/^.{2,20}$/, message:'2≤型号长度≤20'}]" label="电机型号" placeholder="请输入电机型号" maxlength="20"/>
<van-field v-input.numNo0 v-model="form.systemNum" required :rules="[{ required: true }]" type="number" label="台数(台)" placeholder="请输入台数" />
<van-field v-input.floatNo0 v-model="form.ratedPowerValue" required :rules="[{ required: true }]" type="number" label="单台额定功率(kW)" placeholder="请输入" @blur="handelChange('ratedPowerValue',20,'单台额定功率')"/>
<van-field v-input.float v-model="form.frequencyPerValue" required :rules="[{ required: true }]" type="number" label="变频占比(%)" placeholder="请输入" @input="handelChangeNumber('frequencyPerValue','变频占比')" />
<van-field v-input.num v-model="form.absoleteElecNum" type="number" label="淘汰电机数量" placeholder="请输入" />
<van-field v-input.num v-model="form.absoleteNum" type="number" label="淘汰风机数量" placeholder="请输入" />
<van-field v-input.floatNo0 v-model="form.efficiency" type="number" label="风机效率(%)" placeholder="请输入" @input="handelChangeNumber('efficiency','风机效率')" />
<van-field v-input.num v-model="form.userYear" type="number" label="投入年份" placeholder="请选择投入年份" is-link readonly @click="handelClickYear('userYear', 'SET_CON_YEAR')" />
</van-cell-group>
</div>
</div>
<div class="btn">
<van-button size="large" class="faqi" native-type="submit">
保存
</van-button>
</div>
</div>
</van-form>
<van-overlay :show="show">
<div class="wrapper" @click.stop>
<div class="block">
<van-loading size="24px" color="#34baae" vertical>加载中...</van-loading>
</div>
</div>
</van-overlay>
<Year :show="yearShow" :num="1" @onConfirmYear="onConfirmYear" @onCancelYear="onCancelYear" />
</div>
</template>
<script>
import { fanAdd, fanGetInfo, fanEdit } from "@/api/universalEnergy.js"
import { Notify } from "vant";
// import Header from "@/components/headerNew";
import mixin from '@/mixins/mixin'
import Year from '../facilityManage/common-vue/year.vue'
export default {
components: {
// Header,
Year
},
mixins: [mixin],
data() {
return {
title: '新增/修改',
id: '', // 查详情时取的id
userMsg: {}, // 任务列表单条数据
form: {
systemModel: '',
motorModel: '',
systemNum: '',
ratedPowerValue: '',
frequencyPerValue: '',
absoleteElecNum: '',
absoleteNum: '',
efficiency: '',
userYear: '',
},
show: false
};
},
activated() {
this.id = '',
this.form = {
systemModel: '',
motorModel: '',
systemNum: '',
ratedPowerValue: '',
frequencyPerValue: '',
absoleteElecNum: '',
absoleteNum: '',
efficiency: '',
userYear: '',
};
let msg = JSON.parse(sessionStorage.getItem('tidCid'));
this.userMsg = msg
// let msg2 = localStorage.getItem('customerItem');
// let objMsg2 = JSON.parse(msg2);
// if(msg) {
// this.userMsg = JSON.parse(msg);
// this.addeditId = this.userMsg.id
// }else {
// this.userMsg = objMsg2;
// this.addeditId = localStorage.getItem('taskId')
// }
const id = this.$route.query.id;
if(id.isTrusted == undefined) {
this.id = this.$route.query.id;
this.getGetInfo()
}
},
mounted() {
},
methods: {
handelChange (params,num,name) {
if(Number(this.form[params]) < Number(num)) {
Notify({ type: "danger", message: `${name}≥${num}` });
this.form[params] = ''
}
},
handelChangeNumber (params,name) {
if(params === 'efficiency'){
if(!(Number(this.form[params]) < 100)) {
Notify({ type: "danger", message: `${name}不可超过100%` });
this.form[params] = 0
}
}else{
if(Number(this.form[params]) > 100) {
Notify({ type: "danger", message: `${name}不可超过100%` });
this.form[params] = 0
}
}
},
// 返回
onClickLeft() {
this.$router.go(-1)
},
async handelClickSave() {
if(this.id == '') {
this.form.id = sessionStorage.getItem('enterpriseSystemId') ? this.form.systemId = sessionStorage.getItem('enterpriseSystemId') : this.userMsg.taskId;
this.form.customerId = this.userMsg.customerId;
this.form.systemId = sessionStorage.getItem('enterpriseSystemId') ? this.form.systemId = sessionStorage.getItem('enterpriseSystemId') : this.userMsg.taskId;
this.form.systemTypes = '03';
const res = await fanAdd(this.form);
if(res.code == 0) {
this.$router.go(-1);
Notify({ type: "success", background: '#34baae', message: "保存成功" });
return
}
Notify({ type: "error", background: 'red', message: res.msg })
}else {
this.form.id = this.id;
this.form.customerId = this.userMsg.customerId;
this.form.systemId = sessionStorage.getItem('enterpriseSystemId') ? this.form.systemId = sessionStorage.getItem('enterpriseSystemId') : this.userMsg.taskId;
this.form.systemTypes = '03';
const res = await fanEdit(this.form);
if(res.code == 0) {
this.$router.go(-1);
Notify({ type: "success", background: '#34baae', message: "保存成功" });
return
}
Notify({ type: "error", background: 'red', message: res.msg })
}
},
async getGetInfo() {
this.show = true
const res = await fanGetInfo(this.id);
if(res.code == 0) {
this.form = res.data
this.show = false
}else {
this.show = false
}
}
},
};
</script>
<style lang="less" scoped>
::v-deep .van-field__error-message{
text-align: right;
}
.yearenergy {
padding: 15px 10px;
.year-main {
height: calc(100vh - 5rem);
overflow: auto;
}
.year {
// padding: 20px 20px;
border-radius: 10px;
}
.title {
margin: 10px;
display: flex;
.title-img {
width: 20px;
img {
width: 100%;
}
}
p {
font-size: 14px;
color: #009999;
line-height: 20px;
}
}
.nengyuan {
width: 100%;
border-radius: 10px;
background: #fff;
box-sizing: border-box;
overflow: hidden;
}
.faqi {
background-color: #63cbb6;
color: #fff;
border-radius: 8px;
}
}
/deep/ .van-cell {
width: 100%;
display: flex;
}
.van-cell__title,
.van-cell__value {
-webkit-box-flex: 1;
-webkit-flex: 1;
flex: 1;
span {
font-size: 14px;
color: #333;
}
}
::v-deep .van-field__label {
-webkit-box-flex: 0;
-webkit-flex: none;
flex: none;
box-sizing: border-box;
flex: 1;
text-align: left;
word-wrap: break-word;
span {
font-size: 14px;
color: #333;
}
}
::v-deep .van-cell__value {
position: relative;
overflow: hidden;
color: #969799;
text-align: right;
vertical-align: middle;
word-wrap: break-word;
}
::v-deep .van-field__body {
display: -webkit-box;
display: -webkit-flex;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
align-items: center;
}
::v-deep .van-field__control {
text-align: right;
font-size: 14px;
}
.wrapper {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
}
</style>