|
|
|
@ -1,6 +1,21 @@ |
|
|
|
|
<template> |
|
|
|
|
<div class="bod"> |
|
|
|
|
<div class="inp"> |
|
|
|
|
<div class="til">占比</div> |
|
|
|
|
<el-form :model="addForm" ref="ruleForm1" :rules="rules" label-width="88px"> |
|
|
|
|
<el-row> |
|
|
|
|
<el-col :span="4.5" > |
|
|
|
|
<el-form-item label="效率占比" prop="devPower" label-width="210px"> |
|
|
|
|
<el-input v-model="addForm.devPower" placeholder="效率占比,默认值为0.8"/> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="4.5" > |
|
|
|
|
<el-form-item label="成本占比" prop="devPrice" label-width="280px"> |
|
|
|
|
<el-input v-model="addForm.devPrice" placeholder="成本占比,默认值为0.2"/> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
</el-row> |
|
|
|
|
</el-form> |
|
|
|
|
<div class="til">配电信息</div> |
|
|
|
|
<el-form :model="addForm" ref="ruleForm2" :rules="rules" label-width="88px"> |
|
|
|
|
<el-row> |
|
|
|
@ -240,70 +255,73 @@ |
|
|
|
|
</el-form> |
|
|
|
|
</div> |
|
|
|
|
<div class="card"> |
|
|
|
|
二、需配置设备情况 |
|
|
|
|
二、方案优势 |
|
|
|
|
</div> |
|
|
|
|
<div class="card"> |
|
|
|
|
<el-form :model="result" label-width="140px"> |
|
|
|
|
<el-row> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-form-item label="方案详情:" prop="sceneName"> |
|
|
|
|
<el-input v-model="result.planInfos" placeholder=""/> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-form-item label="设备类型:" prop="sceneName"> |
|
|
|
|
<el-input v-model="result.devSubType" placeholder=""/> |
|
|
|
|
<el-col :span="5"> |
|
|
|
|
<el-form-item label="安全性:" prop="sceneName"> |
|
|
|
|
<el-input v-model="result.safety" placeholder=""/> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-form-item label="设备规格:" prop="sceneName"> |
|
|
|
|
<el-input v-model="result.devTechType" placeholder=""/> |
|
|
|
|
<el-col :span="5"> |
|
|
|
|
<el-form-item label="环保性:" prop="sceneName"> |
|
|
|
|
<el-input v-model="result.environment" placeholder=""/> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-form-item label="数量(台/套):" prop="sceneName"> |
|
|
|
|
<el-input v-model="result.devCount" placeholder=""/> |
|
|
|
|
<el-col :span="8"> |
|
|
|
|
<el-form-item label="经济性:" prop="sceneName"> |
|
|
|
|
<el-input v-model="result.economy" placeholder=""/> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-form-item label="单位(元/台、元/套):" prop="sceneName"> |
|
|
|
|
<el-input v-model="result.devPrice" placeholder=""/> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="4"> |
|
|
|
|
<el-form-item label="总价(元):" prop="sceneName"> |
|
|
|
|
<el-input v-model="result.devCost" placeholder=""/> |
|
|
|
|
<el-form-item label="智能性:" prop="sceneName"> |
|
|
|
|
<el-input v-model="result.intelligence" placeholder=""/> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
</el-row> |
|
|
|
|
</el-form> |
|
|
|
|
</div> |
|
|
|
|
<div class="card"> |
|
|
|
|
三、方案优势 |
|
|
|
|
三、需配置设备情况 |
|
|
|
|
</div> |
|
|
|
|
<div class="card"> |
|
|
|
|
<el-form :model="result" label-width="140px"> |
|
|
|
|
<el-row> |
|
|
|
|
<el-row v-for="(item,index) in result.deviceList" :key="index"> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-form-item label="环保性:" prop="sceneName"> |
|
|
|
|
<el-input v-model="result.environment" placeholder=""/> |
|
|
|
|
<el-form-item label="设备细类:" prop="sceneName"> |
|
|
|
|
<el-input v-model="item.devSubType" placeholder=""/> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="11"> |
|
|
|
|
<el-form-item label="经济性:" prop="sceneName"> |
|
|
|
|
<el-input v-model="result.economy" placeholder=""/> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-form-item label="技术类型:" prop="sceneName"> |
|
|
|
|
<el-input v-model="item.devTechType" placeholder=""/> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="7"> |
|
|
|
|
<el-form-item label="智能性:" prop="sceneName"> |
|
|
|
|
<el-input v-model="result.intelligence" placeholder=""/> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-form-item label="数量(台/套):" prop="sceneName"> |
|
|
|
|
<el-input v-model="item.devCount" placeholder=""/> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-form-item label="设备单价(元):" prop="sceneName"> |
|
|
|
|
<el-input v-model="item.devPrice" placeholder=""/> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
</el-row> |
|
|
|
|
</el-form> |
|
|
|
|
</div> |
|
|
|
|
<div class="card"> |
|
|
|
|
四、Json |
|
|
|
|
</div> |
|
|
|
|
<div> |
|
|
|
|
<json-viewer :value="textarea"></json-viewer> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
<div class="inp"> |
|
|
|
|
<div class="til">产品库</div> |
|
|
|
|
<el-form :model="addForm" ref="ruleForm1" :rules="rules" label-width="88px"> |
|
|
|
@ -315,7 +333,6 @@ |
|
|
|
|
</el-row> |
|
|
|
|
</el-form> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
|
</template> |
|
|
|
|
|
|
|
|
@ -323,11 +340,12 @@ |
|
|
|
|
import {ElMessage, ElMessageBox} from 'element-plus' |
|
|
|
|
import {ref, reactive, watch, onMounted} from "vue"; |
|
|
|
|
import {modelTest,getDevList} from '../../../api/emonitor/api' |
|
|
|
|
const textarea = ref('') |
|
|
|
|
const open = ref(true) |
|
|
|
|
const arr = ref([1]) |
|
|
|
|
const point = ref(3.7) |
|
|
|
|
const point1 = ref('78') |
|
|
|
|
const show1 = ref(false) |
|
|
|
|
const show1 = ref(true) |
|
|
|
|
const test1 = ref(null) |
|
|
|
|
const test2= ref(null) |
|
|
|
|
const test3 = ref(null) |
|
|
|
@ -474,10 +492,10 @@ const rules = reactive({ |
|
|
|
|
{ required: true, message: '请选择技术类型', trigger: 'change' }, |
|
|
|
|
], |
|
|
|
|
devPower: [ |
|
|
|
|
{ required: true, message: '请输入设备功率', trigger: 'blur' }, |
|
|
|
|
{ required: true, message: '请输入效率占比', trigger: 'blur' }, |
|
|
|
|
], |
|
|
|
|
devPrice: [ |
|
|
|
|
{ required: true, message: '请输入设备单价', trigger: 'blur' }, |
|
|
|
|
{ required: true, message: '请输入成本占比', trigger: 'blur' }, |
|
|
|
|
], |
|
|
|
|
devSubstituteLaborCost: [ |
|
|
|
|
{ required: true, message: '请输入电替代设备年人工费用', trigger: 'blur' }, |
|
|
|
@ -527,13 +545,13 @@ const rules = reactive({ |
|
|
|
|
}) |
|
|
|
|
const addForm = reactive({ |
|
|
|
|
id: null, |
|
|
|
|
key:null, |
|
|
|
|
key:"0lE4R+SpaJ/eoTXTZWDmSxYF22DKuKHLrIQKLwSQgRaiMSwBEJTC89V1mly7DR3FgpyutYamHKEa11/7GWHRPfE/X4Md4+7oUx7snfSAi58qNb86KAllSUsAM78+JHLM", |
|
|
|
|
devType: null,//电锅炉or热泵 |
|
|
|
|
devSubType: null, |
|
|
|
|
devTechType: null, |
|
|
|
|
heatEfficiency: null, |
|
|
|
|
devPower: null, |
|
|
|
|
devPrice: null, |
|
|
|
|
devPower: 0.8, |
|
|
|
|
devPrice: 0.2, |
|
|
|
|
devSubstituteLaborCost: null, |
|
|
|
|
laborCost: null, |
|
|
|
|
devReferenceArea: null, |
|
|
|
@ -564,6 +582,8 @@ const result = ref({ |
|
|
|
|
startCost:'', |
|
|
|
|
yearCost:'', |
|
|
|
|
yearRunCost:'', |
|
|
|
|
safety:'', |
|
|
|
|
deviceList:'', |
|
|
|
|
}) |
|
|
|
|
watch(() => addForm.devType, (newVale, oldValue) => { |
|
|
|
|
if (addForm.devType === 1) { |
|
|
|
@ -630,54 +650,73 @@ const submitForm = () => { |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
setTimeout(()=>{ |
|
|
|
|
if (role1.value&&role2.value&&role3.value){ |
|
|
|
|
console.log('表单验证通过') |
|
|
|
|
modelTest( |
|
|
|
|
{ |
|
|
|
|
"param": { |
|
|
|
|
"electricityPrice": "20.26", |
|
|
|
|
"hotDevicePower": "20.26", |
|
|
|
|
"buildInfo": { |
|
|
|
|
"lastYearFee":addForm.lastYearFee, |
|
|
|
|
"heatingArea":addForm.heatingArea, |
|
|
|
|
"days":addForm.days |
|
|
|
|
}, |
|
|
|
|
"hotMedium": "1", |
|
|
|
|
"type":"0101", |
|
|
|
|
"yearEnergy": "20.26", |
|
|
|
|
"distInfo": { |
|
|
|
|
"lastYearNeed": addForm.lastYearNeed, |
|
|
|
|
"runCapacity": addForm.runCapacity |
|
|
|
|
addForm.devPower= +addForm.devPower |
|
|
|
|
addForm.devPrice= +addForm.devPrice |
|
|
|
|
console.log(addForm.devPower,addForm.devPrice,addForm.devPower+addForm.devPrice) |
|
|
|
|
if(addForm.devPower+addForm.devPrice==1){ |
|
|
|
|
if (role1.value&&role2.value&&role3.value){ |
|
|
|
|
console.log('表单验证通过') |
|
|
|
|
modelTest( |
|
|
|
|
{ |
|
|
|
|
"param": { |
|
|
|
|
"electricityPrice": "20.26", |
|
|
|
|
"hotDevicePower": "20.26", |
|
|
|
|
"buildInfo": { |
|
|
|
|
"lastYearFee":addForm.lastYearFee, |
|
|
|
|
"heatingArea":addForm.heatingArea, |
|
|
|
|
"days":addForm.days |
|
|
|
|
}, |
|
|
|
|
"type": "0101", |
|
|
|
|
"costRatio":addForm.devPrice, |
|
|
|
|
"effRatio":addForm.devPower, |
|
|
|
|
"distInfo": { |
|
|
|
|
"lastYearNeed": addForm.lastYearNeed, |
|
|
|
|
"runCapacity": addForm.runCapacity |
|
|
|
|
}, |
|
|
|
|
"exportTemperature": 28 |
|
|
|
|
}, |
|
|
|
|
"exportTemperature": 28 |
|
|
|
|
}, |
|
|
|
|
"key": addForm.key |
|
|
|
|
} |
|
|
|
|
).then((res)=>{ |
|
|
|
|
console.log(res) |
|
|
|
|
if(res.report==null){ |
|
|
|
|
ElMessage({ |
|
|
|
|
message: '产品库至少需要两种不同类型的设备!', |
|
|
|
|
type: 'error', |
|
|
|
|
}) |
|
|
|
|
}else{ |
|
|
|
|
for(let i in res.report.matchedDeviceList) |
|
|
|
|
{ |
|
|
|
|
res.report.matchedDeviceList[i].rat = res.report.matchedDeviceList[i].rating/20 |
|
|
|
|
"key": addForm.key |
|
|
|
|
} |
|
|
|
|
).then((res)=>{ |
|
|
|
|
console.log(res) |
|
|
|
|
if(res.report.message){ |
|
|
|
|
ElMessage({ |
|
|
|
|
message: res.report.message, |
|
|
|
|
type: 'error', |
|
|
|
|
}) |
|
|
|
|
}else{ |
|
|
|
|
if(res.report===null || res.report==={}){ |
|
|
|
|
ElMessage({ |
|
|
|
|
message: '计算失败,请检查密钥是否准确', |
|
|
|
|
type: 'error', |
|
|
|
|
}) |
|
|
|
|
}else{ |
|
|
|
|
for(let i in res.report.matchedDeviceList) |
|
|
|
|
{ |
|
|
|
|
res.report.matchedDeviceList[i].rat = res.report.matchedDeviceList[i].rating/20 |
|
|
|
|
} |
|
|
|
|
let num = res.report.matchedDeviceList.reduce((prev, curr) => { |
|
|
|
|
return curr.rat > prev.rat ? curr : prev; |
|
|
|
|
}); |
|
|
|
|
res.report.planName = num.planName |
|
|
|
|
res.report.environment = "本次改造方案减排"+res.report.calculate+"吨" |
|
|
|
|
result.value=res.report |
|
|
|
|
textarea.value=res.report |
|
|
|
|
show1.value = true |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
let num = res.report.matchedDeviceList.reduce((prev, curr) => { |
|
|
|
|
return curr.rat > prev.rat ? curr : prev; |
|
|
|
|
}); |
|
|
|
|
res.report.planName = num.planName |
|
|
|
|
res.report.environment = "本次改造方案减排"+res.report.calculate+"吨" |
|
|
|
|
result.value=res.report |
|
|
|
|
show1.value = true |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
}else{ |
|
|
|
|
console.log('表表单验证失败') |
|
|
|
|
} |
|
|
|
|
}else{ |
|
|
|
|
console.log('表表单验证失败') |
|
|
|
|
ElMessage({ |
|
|
|
|
message: '效率占比和成本占比相加必须为1', |
|
|
|
|
type: 'error', |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
},1000) |
|
|
|
|
}; |
|
|
|
@ -692,9 +731,9 @@ function cancel() { |
|
|
|
|
addForm.devTechType = null |
|
|
|
|
addForm.devSubstituteLaborCost = null |
|
|
|
|
addForm.devReferenceArea = null |
|
|
|
|
addForm.devPower = null |
|
|
|
|
addForm.devPower = 0.8 |
|
|
|
|
addForm.devSubType = null |
|
|
|
|
addForm.devPrice = null |
|
|
|
|
addForm.devPrice = 0.2 |
|
|
|
|
addForm.devServiceLife = null |
|
|
|
|
addForm.laborCost = null |
|
|
|
|
addForm.lastYearFee = null |
|
|
|
@ -761,8 +800,6 @@ function cancel() { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.info { |
|
|
|
|
height: 400px; |
|
|
|
|
|
|
|
|
|
.card { |
|
|
|
|
margin-top: 20px; |
|
|
|
|
} |
|
|
|
|