Merge remote-tracking branch 'origin2/master'

master
魔神煜修罗皇 1 year ago
commit 6efa929490
  1. 530
      psdc-ui/src/views/system/model/index.vue

@ -1,12 +1,11 @@
<template>
<div class="bod">
<div class="inp">
<div style="display:flex;"><div class="til">密钥</div><el-input v-model="addForm.key" style="width: 500px;height: 30px;margin-left: 20px"></el-input></div>
<div class="til">替代前项目信息</div>
<el-form :model="addForm" ref="ruleForm" :rules="rules" label-width="88px">
<el-form :model="addForm" ref="ruleForm1" :rules="rules" label-width="88px">
<el-row>
<el-col :span="5">
<el-form-item label="设备类型:" prop="sceneName1" label-width="140px">
<el-form-item label="设备类型:" prop="devType" label-width="140px">
<el-select v-model="addForm.devType">
<el-option v-for="item in options"
:key="item.value"
@ -17,7 +16,7 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="设备细类:" prop="sceneName2" label-width="190px">
<el-form-item label="设备细类:" prop="devSubType" label-width="190px">
<el-select v-model="addForm.devSubType">
<el-option v-for="item in options1"
:key="item.value"
@ -28,7 +27,7 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="技术类型:" prop="sceneName3" label-width="190px">
<el-form-item label="技术类型:" prop="devTechType" label-width="190px">
<el-select v-model="addForm.devTechType">
<el-option v-for="item in options2"
:key="item.value"
@ -39,54 +38,54 @@
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="设备功率(kW):" prop="sceneName4" label-width="290px">
<el-input v-model="addForm.devPower" type="number"/>
<el-form-item label="设备功率(kW):" prop="devPower" label-width="290px">
<el-input v-model="addForm.devPower" />
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="设备单价(万元):" prop="sceneName5" label-width="142px">
<el-form-item label="设备单价(万元):" prop="devPrice" label-width="142px">
<el-input v-model="addForm.devPrice"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="电替代设备年人工费用(万元):" prop="sceneName6" label-width="250px">
<el-form-item label="电替代设备年人工费用(万元):" prop="devSubstituteLaborCost" label-width="250px">
<el-input v-model="addForm.devSubstituteLaborCost"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="原设备的人工费用(万元):" prop="sceneName7" label-width="220px">
<el-form-item label="原设备的人工费用(万元):" prop="laborCost" label-width="220px">
<el-input v-model="addForm.laborCost"/>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="单台电设备参考的可供暖面积(万平方米):" prop="sceneName8" label-width="300px">
<el-form-item label="单台电设备参考的可供暖面积(万平方米):" prop="devReferenceArea" label-width="300px">
<el-input v-model="addForm.devReferenceArea"/>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="设备使用年限(年):" prop="sceneName9" label-width="160px">
<el-form-item label="设备使用年限(年):" prop="devServiceLife" label-width="160px">
<el-input v-model="addForm.devServiceLife"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="设备年运行时长(小时):" prop="sceneName10" label-width="190px">
<el-form-item label="设备年运行时长(小时):" label-width="190px">
<el-input v-model="addForm.devAnnualOperationTime"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="热效率:" prop="sceneName11" label-width="190px">
<el-form-item label="热效率:" prop="heatEfficiency" label-width="190px">
<el-input v-model="addForm.heatEfficiency"/>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="备注:" prop="sceneName12" label-width="290px">
<el-form-item label="备注:" label-width="290px">
<el-input v-model="addForm.remarkInfo"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div class="til">配电信息</div>
<el-form :model="ruleForm1" ref="ruleForm" :rules="rules1" label-width="88px">
<el-form :model="addForm" ref="ruleForm2" :rules="rules" label-width="88px">
<el-row>
<el-col :span="5">
<el-form-item label="电源形式:" prop="sceneName" label-width="140px">
@ -105,19 +104,19 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="变压器运行总容量(kVA):" prop="sceneName14" label-width="190px">
<el-form-item label="变压器运行总容量(kVA):" prop="runCapacity" label-width="190px">
<el-input v-model="addForm.runCapacity"/>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="上年最大需量(kW):" prop="sceneName15" label-width="290px">
<el-form-item label="上年最大需量(kW):" prop="lastYearNeed" label-width="290px">
<el-input v-model="addForm.lastYearNeed"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div class="til">产品库</div>
<el-form :model="ruleForm2" ref="ruleForm" :rules="rules2" label-width="88px">
<el-form :model="addForm" ref="ruleForm3" :rules="rules" label-width="88px">
<el-row>
<el-col :span="5">
<el-form-item label="建筑类型:" prop="sceneName" label-width="140px">
@ -131,14 +130,14 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="建筑面积(平方米):" prop="sceneName16" label-width="190px">
<el-form-item label="建筑面积(平方米):" prop="heatingArea" label-width="190px">
<el-input v-model="addForm.heatingArea" >
</el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="年采暖时间(天):" prop="sceneName17" label-width="190px">
<el-form-item label="年采暖时间(天):" prop="days" label-width="190px">
<el-input v-model="addForm.days">
</el-input>
</el-form-item>
@ -236,20 +235,25 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="上年运行费用(万元):" prop="sceneName18" label-width="190px">
<el-form-item label="上年运行费用(万元):" prop="lastYearFee" label-width="190px">
<el-input v-model="addForm.lastYearFee"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="模型编码:" prop="sceneName19" label-width="190px">
<el-form-item label="模型编码:" prop="hotMedium" label-width="190px">
<el-input v-model="addForm.hotMedium"/>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="场景编码:" prop="sceneName20" label-width="290px">
<el-form-item label="场景编码:" prop="type" label-width="290px">
<el-input v-model="addForm.type"/>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="密钥:" prop="key" label-width="140px">
<el-input v-model="addForm.key"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div class="bot">
@ -260,75 +264,15 @@
<div class="result" v-if="show1">
<div class="til">方案评分</div>
<div class="point">
<el-form ref="userRef" label-width="88px">
<el-form ref="userRef" label-width="300px">
<el-row>
<el-col :span="4">
<el-form-item label="方案1:">
<el-rate
v-model="point"
disabled
show-score
:score-template="point1"
text-color="#ffffff"
class="rate"
/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="方案2:">
<el-rate
v-model="point"
disabled
show-score
:score-template="point1"
text-color="#ffffff"
class="rate"
/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="方案3:">
<el-col :span="8" v-for="(item,index) in result.matchedDeviceList" :key="index" >
<el-form-item :label="item.planName">
<el-rate
v-model="point"
v-model="item.rat"
disabled
show-score
:score-template="point1"
text-color="#ffffff"
class="rate"
/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="方案4:">
<el-rate
v-model="point"
disabled
show-score
:score-template="point1"
text-color="#ffffff"
class="rate"
/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="方案5:">
<el-rate
v-model="point"
disabled
show-score
:score-template="point1"
text-color="#ffffff"
class="rate"
/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="方案6:">
<el-rate
v-model="point"
disabled
show-score
:score-template="point1"
:score-template="item.rating"
text-color="#ffffff"
class="rate"
/>
@ -347,31 +291,31 @@
整体情况
</div>
<div class="card">
<el-form :model="timingForm" ref="userRef" label-width="140px">
<el-form :model="result" label-width="140px">
<el-row>
<el-col :span="4">
<el-col :span="4" style="margin-left: 70px">
<el-form-item label="初次投资费用(万元):" prop="sceneName">
<el-input v-model="addForm.strategyName" placeholder=""/>
<el-input v-model="result.startCost" placeholder=""/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="年运行费用(万元):" prop="sceneName">
<el-input v-model="addForm.strategyName" placeholder=""/>
<el-input v-model="result.yearRunCost" placeholder=""/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="年总费用(万元):" prop="sceneName">
<el-input v-model="addForm.strategyName" placeholder=""/>
<el-input v-model="result.yearCost" placeholder=""/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="年减碳量(吨):" prop="sceneName">
<el-input v-model="addForm.strategyName" placeholder=""/>
<el-input v-model="result.calculate" placeholder=""/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="替代电量(千瓦时):" prop="sceneName">
<el-input v-model="addForm.strategyName" placeholder=""/>
<el-input v-model="result.electric" placeholder=""/>
</el-form-item>
</el-col>
</el-row>
@ -381,36 +325,36 @@
需配置设备情况
</div>
<div class="card">
<el-form :model="timingForm" ref="userRef" label-width="140px">
<el-form :model="result" label-width="140px">
<el-row>
<el-col :span="4">
<el-col :span="6">
<el-form-item label="方案详情:" prop="sceneName">
<el-input v-model="addForm.strategyName" placeholder=""/>
<el-input v-model="result.planInfos" placeholder=""/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-col :span="6">
<el-form-item label="设备类型:" prop="sceneName">
<el-input v-model="addForm.strategyName" placeholder=""/>
<el-input v-model="result.devSubType" placeholder=""/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-col :span="6">
<el-form-item label="设备规格:" prop="sceneName">
<el-input v-model="addForm.strategyName" placeholder=""/>
<el-input v-model="result.devTechType" placeholder=""/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-col :span="6">
<el-form-item label="数量(台/套):" prop="sceneName">
<el-input v-model="addForm.strategyName" placeholder=""/>
<el-input v-model="result.devCount" placeholder=""/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-col :span="6">
<el-form-item label="单位(元/台、元/套):" prop="sceneName">
<el-input v-model="addForm.strategyName" placeholder=""/>
<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="addForm.strategyName" placeholder=""/>
<el-input v-model="result.devCost" placeholder=""/>
</el-form-item>
</el-col>
</el-row>
@ -420,21 +364,21 @@
方案优势
</div>
<div class="card">
<el-form :model="timingForm" ref="userRef" label-width="140px">
<el-form :model="result" label-width="140px">
<el-row>
<el-col :span="4">
<el-form-item label="安全性:" prop="sceneName">
<el-input v-model="addForm.strategyName" placeholder=""/>
<el-col :span="6">
<el-form-item label="环保性:" prop="sceneName">
<el-input v-model="result.environment" placeholder=""/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-col :span="11">
<el-form-item label="经济性:" prop="sceneName">
<el-input v-model="addForm.strategyName" placeholder=""/>
<el-input v-model="result.economy" placeholder=""/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-col :span="7">
<el-form-item label="智能性:" prop="sceneName">
<el-input v-model="addForm.strategyName" placeholder=""/>
<el-input v-model="result.intelligence" placeholder=""/>
</el-form-item>
</el-col>
</el-row>
@ -467,6 +411,9 @@ const test10 = ref(null)
const test11 = ref(null)
const test12 = ref(null)
const test13 = ref(null)
const role1 = ref(false)
const role2 = ref(false)
const role3 = ref(false)
const options = ref([{
label: '电锅炉', value: 1
}, {label: '热泵', value: 2}])
@ -520,137 +467,92 @@ const options2 = ref([
{label: '低品位余热源(如电厂低温循环水)热泵', value: 10},
{label: '高温蒸汽热泵', value: 11},
])
const ruleForm = ref({
sceneName1: '',
sceneName2: '',
sceneName3: '',
sceneName4: '',
sceneName5: '',
sceneName6: '',
sceneName7: '',
sceneName8: '',
sceneName9: '',
sceneName10: '',
sceneName11: '',
sceneName12: '',
sceneName13: '',
})
const ruleForm1 = ref({
sceneName14: '',
sceneName15: '',
devType: '',
devSubType: '',
devTechType: '',
devPower: '',
devPrice: '',
devSubstituteLaborCost: '',
laborCost: '',
devReferenceArea: '',
devServiceLife: '',
devAnnualOperationTime: '',
heatEfficiency: '',
remarkInfo: '',
})
const ruleForm2 = ref({
sceneName16: '',
sceneName17: '',
sceneName18: '',
sceneName19: '',
sceneName20: '',
runCapacity: '',
lastYearNeed: '',
})
const ruleForm3 = ref({
heatingArea: '',
days: '',
lastYearFee: '',
hotMedium: '',
type: '',
key: '',
})
const rules = reactive({
sceneName1: [
{ required: true, message: '', trigger: 'blur' },
],
sceneName2: [
{ required: true, message: '', trigger: 'blur' },
],
sceneName3: [
{ required: true, message: '', trigger: 'blur' },
],
sceneName4: [
{ required: true, message: '', trigger: 'blur' },
],
sceneName5: [
{ required: true, message: '', trigger: 'blur' },
devType: [
{ required: true, message: '请选择设备类型', trigger: 'change' },
],
sceneName6: [
{ required: true, message: '', trigger: 'blur' },
devSubType: [
{ required: true, message: '请选择设备细类', trigger: 'change' },
],
sceneName7: [
{ required: true, message: '', trigger: 'blur' },
devTechType: [
{ required: true, message: '请选择技术类型', trigger: 'change' },
],
sceneName8: [
{ required: true, message: '', trigger: 'blur' },
devPower: [
{ required: true, message: '请输入设备功率', trigger: 'blur' },
],
sceneName9: [
{ required: true, message: '', trigger: 'blur' },
devPrice: [
{ required: true, message: '请输入设备单价', trigger: 'blur' },
],
sceneName10: [
{ required: true, message: '', trigger: 'blur' },
devSubstituteLaborCost: [
{ required: true, message: '请输入电替代设备年人工费用', trigger: 'blur' },
],
sceneName11: [
{ required: true, message: '', trigger: 'blur' },
], sceneName12: [
{ required: true, message: '', trigger: 'blur' },
laborCost: [
{ required: true, message: '请输入原设备的人工费用', trigger: 'blur' },
],
sceneName13: [
{ required: true, message: '', trigger: 'blur' },
devReferenceArea: [
{ required: true, message: '请输入单台电设备参考的可供暖面积', trigger: 'blur' },
],
sceneName14: [
{ required: true, message: '', trigger: 'blur' },
devServiceLife: [
{ required: true, message: '请输入设备使用年限', trigger: 'blur' },
],
sceneName15: [
{ required: true, message: '', trigger: 'blur' },
devAnnualOperationTime: [
{ required: true, message: '请输入设备年运行时长', trigger: 'blur' },
],
sceneName16: [
{ required: true, message: '', trigger: 'blur' },
heatEfficiency: [
{ required: true, message: '请输入热效率', trigger: 'blur' },
],
sceneName17: [
{ required: true, message: '', trigger: 'blur' },
remarkInfo: [
{ required: true, message: '请输入备注', trigger: 'blur' },
],
sceneName18: [
{ required: true, message: '', trigger: 'blur' },
runCapacity: [
{ required: true, message: '请输入变压器运行总容量', trigger: 'blur' },
],
sceneName19: [
{ required: true, message: '', trigger: 'blur' },
lastYearNeed: [
{ required: true, message: '请输入上年最大需量', trigger: 'blur' },
],
sceneName20: [
{ required: true, message: '', trigger: 'blur' },
heatingArea: [
{ required: true, message: '请输入建筑面积', trigger: 'blur' },
],
})
const rules1 = ref({
sceneName14: [
{ required: true, message: '', trigger: 'blur' },
],
sceneName15: [
{ required: true, message: '', trigger: 'blur' },
],
sceneName16: [
{ required: true, message: '', trigger: 'blur' },
days: [
{ required: true, message: '请输入年采暖时间', trigger: 'blur' },
],
sceneName17: [
{ required: true, message: '', trigger: 'blur' },
lastYearFee: [
{ required: true, message: '请输入上年运行费用', trigger: 'blur' },
],
sceneName18: [
{ required: true, message: '', trigger: 'blur' },
hotMedium: [
{ required: true, message: '请输入模型编码', trigger: 'blur' },
],
sceneName19: [
{ required: true, message: '', trigger: 'blur' },
type: [
{ required: true, message: '请输入场景编码', trigger: 'blur' },
],
sceneName20: [
{ required: true, message: '', trigger: 'blur' },
],
})
const rules2 = ref({
sceneName14: [
{ required: true, message: '', trigger: 'blur' },
],
sceneName15: [
{ required: true, message: '', trigger: 'blur' },
],
sceneName16: [
{ required: true, message: '', trigger: 'blur' },
],
sceneName17: [
{ required: true, message: '', trigger: 'blur' },
],
sceneName18: [
{ required: true, message: '', trigger: 'blur' },
],
sceneName19: [
{ required: true, message: '', trigger: 'blur' },
],
sceneName20: [
{ required: true, message: '', trigger: 'blur' },
key: [
{ required: true, message: '请输入密钥', trigger: 'blur' },
],
})
const addForm = reactive({
@ -676,6 +578,23 @@ const addForm = reactive({
lastYearNeed: null,
runCapacity: null,
})
const result = ref({
calculate:'',
devCost:'',
devCount:'',
devPrice:'',
devSubType:'',
devTechType:'',
economy:'',
electric:'',
environment:'',
intelligence:'',
matchedDeviceList:[],
planInfos:'',
startCost:'',
yearCost:'',
yearRunCost:'',
})
watch(() => addForm.devType, (newVale, oldValue) => {
if (addForm.devType === 1) {
options1.value = [
@ -706,87 +625,98 @@ watch(() => addForm.devType, (newVale, oldValue) => {
}
})
function submitForm() {
modelTest(
{
"devSpecList": [
{
"devType": "热泵",
"heatEfficiency": 3,
"devTechType": "高温蒸汽热泵",
"devSubstituteLaborCost": 6,
"devReferenceArea": 0.2,
"devPower": 120,
"devSubType": "供冷/暖",
"devPrice": 55,
"devServiceLife": 15,
"laborCost": 18,
"id": "50"
const submitForm = () => {
ruleForm1.value.validate((valid) => {
if (valid) {
//
role1.value=true
//
} else {
//
role1.value=false
return false;
}
});
ruleForm2.value.validate((valid) => {
if (valid) {
//
role2.value=true
//
} else {
//
role2.value=false
return false;
}
});
ruleForm3.value.validate((valid) => {
if (valid) {
//
role3.value=true
//
} else {
//
role3.value=false
return false;
}
});
setTimeout(()=>{
if (role1.value&&role2.value&&role3.value){
console.log('表单验证通过')
modelTest(
{
"devSpecList": [
{
"devType": addForm.devType,
"heatEfficiency":addForm.heatEfficiency,
"devTechType": addForm.devTechType,
"devSubstituteLaborCost":addForm.devSubstituteLaborCost,
"devReferenceArea":addForm.devReferenceArea,
"devPower":addForm.devPower ,
"devSubType": addForm.devSubType,
"devPrice":addForm.devPrice ,
"devServiceLife":addForm.devServiceLife,
"laborCost":addForm.laborCost ,
"id": "1"
}
],
"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
},
"exportTemperature": 28
},
"key": addForm.key
}
],
"param": {
"electricityPrice": "20.26",
"hotDevicePower": "20.26",
"buildInfo": {
"lastYearFee": 12000000.0,
"heatingArea": 4.4,
"days": 200
},
"hotMedium": "1",
"type": "0101",
"yearEnergy": "20.26",
"distInfo": {
"lastYearNeed": 1200.0,
"runCapacity": 2000.0
},
"exportTemperature": 28
},
"key": "GLFIphzZ2SnR6kVx0gz2JLfTkK/gj32mTT4s5yvkS/OrOG3WbttF2TiaH99GLeu8f6lYU1a2XkFjrDbpI7XZN/E/X4Md4+7oUx7snfSAi58qNb86KAllSUsAM78+JHLM"
}
// {
// "devSpecList": [
// {
// "devType": addForm.devType,
// "heatEfficiency": Number(addForm.heatEfficiency),
// "devTechType": addForm.devTechType,
// "devSubstituteLaborCost":Number(addForm.devSubstituteLaborCost) ,
// "devReferenceArea":Number(addForm.devReferenceArea) ,
// "devPower":Number(addForm.devPower) ,
// "devSubType": addForm.devSubType,
// "devPrice":Number(addForm.devPrice) ,
// "devServiceLife":Number(addForm.devServiceLife) ,
// "laborCost":Number(addForm.laborCost) ,
// "id": "1"
// }
// ],
// "param": {
// "electricityPrice": "20.26",
// "hotDevicePower": "20.26",
// "buildInfo": {
// "lastYearFee":Number(addForm.lastYearFee),
// "heatingArea":Number(addForm.heatingArea),
// "days":Number(addForm.days)
// },
// "hotMedium": "1",
// "type":"0101",
// "yearEnergy": "20.26",
// "distInfo": {
// "lastYearNeed": Number(addForm.lastYearNeed),
// "runCapacity": Number(addForm.runCapacity)
// },
// "exportTemperature": 28
// },
// "key": addForm.key
// }
).then((res)=>{
console.log(res)
show1.value = true
})
).then((res)=>{
console.log(res)
for(let i in res.report.matchedDeviceList)
{
res.report.matchedDeviceList[i].rat = res.report.matchedDeviceList[i].rating/20
}
result.value=res.report
show1.value = true
})
}else{
console.log('表表单验证失败')
}
},1000)
};
function cancel() {
ruleForm1.value.resetFields();
ruleForm2.value.resetFields();
ruleForm3.value.resetFields();
show1.value = false
addForm.devType = null
addForm.heatEfficiency = null

Loading…
Cancel
Save