瀏覽代碼

修改配置云末端,启动计算

shaun-sheep 4 年之前
父節點
當前提交
151850591f

+ 2 - 2
src/components/ready/buildfloor/addBuild.vue

@@ -32,7 +32,7 @@
               v-if="item.InputMode == 'B1' || item.InputMode == 'B2'"
               v-model="form[item.Path]"/>
 
-            <el-input 
+            <el-input
               v-else-if="item.InputMode == 'A1'||item.InputMode == 'A2'"
               type="number"
               v-model="form[item.Path]">
@@ -108,7 +108,7 @@
               @change="changeItem"/>
 
             <el-input disabled title="暂不支持" v-else v-model="form[item.Path]"/>
-            
+
           </el-form-item>
         </div>
       </template>

+ 3 - 1
src/components/relation/overview/CardList.vue

@@ -221,7 +221,6 @@
       }
     },
     created() {
-      console.log(this.content)
     },
     computed: {},
 
@@ -242,6 +241,8 @@
             this.values.existComputed = `根据现有数据自动计算 <${relation.RelationTypeName}>`
             this.$refs.maintain.dialogTableVisibleMore = true
             this.$refs.maintain.showCascader(relation)
+            this.$refs.maintain.handleSourceQuery()
+
           } else {
             this.values.autoComputed = `根据现有数据自动计算 <${relation.RelationTypeName}>`
             this.$refs.maintain.dialogTableVisible = true
@@ -256,6 +257,7 @@
       equipment(relation) { //配置源端末端
         this.values.equipmentSetting = `${relation.RelationTypeName} 源末端关系设置`
         this.$refs.maintain.dialogEquipmentOpen(relation)
+        this.$refs.maintain.handleSourceQuery()
       },
       manual(relation) {
         let {Manual, Prompting, RelationTypeName, ComputingTime} = relation;

+ 141 - 30
src/components/relation/overview/Modal/RelationMaintain.vue

@@ -29,7 +29,8 @@
       >
         <p class="font-big">{{values.existComputed}}</p>
         <p class="exist-title">{{values.existTitle}}</p>
-        <getCascader :RelationTypeName="RelationTypeName" :number="number"/>
+
+        <!--        <getCascader :RelationTypeName="RelationTypeName" :number="number"/>-->
         <!--        <el-row :span="24" style="margin-top: 10px">-->
         <!--          <el-col :span="8">-->
         <!--            <p class="demonstration">{{values.originEquipment}}</p>-->
@@ -65,15 +66,51 @@
         <!--            />-->
         <!--          </el-col>-->
         <!--        </el-row>-->
+        <el-row :gutter="20" style="margin-bottom: 20px">
+          <el-col :span="12">
+            <p>源端设备类:</p>
+            <el-select
+              v-model="setValue"
+              placeholder="请选择"
+              :props="props"
+              multiple
+              disabled
+            >
+              <el-option
+                v-for="item in setOriginOption"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+                disabled
+              />
+            </el-select>
+          </el-col>
+          <el-col :span="12">
+            <p>末端设备类:</p>
+            <el-select
+              v-model="setEndValue"
+              placeholder="请选择"
+              :props="props"
+            >
+              <el-option
+                v-for="item in setEndOptions"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+                disabled
+              />
+            </el-select>
+          </el-col>
+        </el-row>
         <footer
-            slot="footer"
-            class="dialog-footer "
-            style="float: right"
+          slot="footer"
+          class="dialog-footer "
+          style="float: right"
         >
           <el-button @click="dialogTableVisibleMore = false">{{values.cancel}}</el-button>
           <el-button
-              type="primary"
-              @click="computedUpdate"
+            type="primary"
+            @click="computedUpdate"
           >{{values.promptly}}
           </el-button>
         </footer>
@@ -101,7 +138,40 @@
       :visible.sync="dialogEquipment"
     >
       <h4>{{values.equipmentSetting}}</h4>
-      <setCascader @change="changeCader" :RelationTypeName="RelationTypeName"/>
+      <el-row :gutter="20">
+        <el-col :span="12">
+          <p>源端设备类:</p>
+          <el-select
+            v-model="value"
+            placeholder="请选择"
+            multiple
+            @change="changeVal"
+          >
+            <el-option
+              v-for="item in oraginOption"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            />
+          </el-select>
+        </el-col>
+        <el-col :span="12">
+          <p>末端设备类:</p>
+          <el-select
+            v-model="endValue"
+            placeholder="请选择"
+          >
+            <el-option
+              v-for="item in endOption"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+              disabled
+            />
+          </el-select>
+        </el-col>
+      </el-row>
+      <!--      <setCascader @change="changeCader" :RelationTypeName="RelationTypeName"/>-->
       <!--      <el-row :span="24" style="margin-top: 15px">-->
       <!--        <el-col :span="8">-->
       <!--          <p class="">{{values.originEquipment}}</p>-->
@@ -121,6 +191,7 @@
         <el-button
           type="primary"
           @click="handleAddSource"
+          :disabled="disabled"
         >{{values.preservation}}
         </el-button>
       </footer>
@@ -234,21 +305,16 @@
 <script>
   import {mapGetters} from 'vuex'
   import storage from '@/framework/utils/storage'
-  import setCascader from "./setCascader";
-  import getCascader from "./getCascader";
-  import {addSource, calcSpecial} from "@/api/relation/api";
+  import {addSource, calcSpecial, sourceQuery} from "@/api/relation/api";
+  import deviceList from "@/data/deviceList.js"
 
   export default {
     name: "RelationMaintain",
     props: ['values', 'isComputed', 'source', 'TableVisibleMoreLoading', 'ManualMaintenance'],
-    components: {setCascader,getCascader},
     created() {
-      // this.showCascader()
     },
     mounted() {
-      this.$nextTick(() => {
-        console.log(this.$refs.child1, '===')
-      })
+
     },
     data() {
       return {
@@ -290,13 +356,16 @@
         ops: [],
         filterOps: [],//为清空第二个选择器
         isResouceShow: 0,
-        assetOptions: [],
-        assetValue: '',
-        assetValueLast: '',
         RelationTypeName: '',//卡片名称
-        deviceGroup: [],
-        deviceValue: '',
-        number: 0
+        value: [],
+        oraginOption: [],
+        endValue: [],
+        endOption: [],
+        setValue: [],
+        setOriginOption: [],
+        setEndValue: [],
+        setEndOptions: [],
+        disabled: false
       }
     },
 
@@ -334,12 +403,37 @@
       deepCopy(obj) {
         return JSON.parse(JSON.stringify(obj))
       },
-      dialogEquipmentOpen(relation) {
+      //查询原末端回显数据
+      handleSourceQuery() {
+        let param = {
+          Filters: `ProjectId='${this.projectId}';CalcName='${this.RelationTypeName}'`
+        }
+        sourceQuery(param, res => {
+          this.value = []
+          this.setValue = []
+          res.Content && res.Content.forEach(({SourceType}) => this.value.push(SourceType))
+          //启动计算
+          res.Content && res.Content.forEach(({SourceType}) => this.setValue.push(SourceType))
+          // this.setOriginOption = this.oraginOption.forEach(i => this.setValue.includes(i.value))
+          this.changeVal(this.value)
+          this.setValue && this.handleSetValue()
+        })
+      },
+      dialogEquipmentOpen(relation) { //设定源末端
         this.RelationTypeName = relation.RelationTypeName
+        this.oraginOption = deviceList[relation.RelationTypeName] && deviceList[relation.RelationTypeName].filter(i => i.select)
+        this.data = deviceList[relation.RelationTypeName]
+        this.disabled = this.data != undefined ? false : true
+        // console.log(this.data, relation.RelationTypeName)
         this.dialogEquipment = true
 
       },
-      changeCader(val) { //勾选的设备类
+      changeVal(val) {
+        //  末端展示数据
+        this.endOption = this.data && this.data.filter(i => !val.includes(i.value))
+        //  启动计算末端展示数据
+        // this.setEndOptions = this.data && this.data.filter(i => !val.includes(i.value))
+
         this.sourceList = []
         val.forEach(i => this.sourceList.push({
           SourceType: i,
@@ -347,14 +441,17 @@
           CalcName: this.RelationTypeName
         }))
       },
+
       handleAddSource() { //保存设备类
-        let params = {
-          Content: this.sourceList
+        if (this.sourceList.length) {
+          let params = {
+            Content: this.sourceList
+          }
+          addSource(params, res => {
+            this.$message.success('保存成功')
+          })
         }
-        addSource(params, res => {
-          ++this.number
-          this.$message.success('保存成功')
-        })
+
         this.dialogEquipment = false
       },
       // showCascader() {
@@ -374,10 +471,14 @@
       // },
       showCascader(relation) {
         this.RelationTypeName = relation.RelationTypeName
-        // this.$refs.getUpdate.getData()
 
 
       },
+      handleSetValue() {
+        let device = deviceList[this.RelationTypeName]
+        this.setOriginOption = device && device.filter(i => this.setValue.includes(i.value))
+        this.setEndOptions = device && device.filter(i => !this.setValue.includes(i.value))
+      },
       downloadProject(str) {
         let relType = this.ManualMaintenance.RelationType ? `?relType=${this.ManualMaintenance.RelationType}` : ''
         let zoneType = this.ManualMaintenance.ZoneType ? `&zoneType=${this.ManualMaintenance.ZoneType}` : null
@@ -534,3 +635,13 @@
     }
   }
 </style>
+
+
+
+
+
+
+
+
+
+

+ 43 - 0
src/data/deviceList.js

@@ -0,0 +1,43 @@
+const deviceListString = {
+  "空调冷冻水供水": "CCCC-离心式冷水机组-true,CCAC-吸收式冷水机组-true,CCSC-螺杆式冷水机组-true,CCGH-地源热泵-true,CCWH-水源热泵-true,CCAH-空气源热泵-true,CCCP-供冷冷冻水泵,ATFC-风机盘管,ATAH-空调机组,ATFU-新风机组,CCHE-供冷换热器,CHVD-真空脱气机,CCAD-供冷软化水装置,CCCL-供冷集水器,CCDB-供冷分水器",
+  "空调冷冻水回水": "CCCC-离心式冷水机组-true,CCAC-吸收式冷水机组,CCSC-螺杆式冷水机组,CCGH-地源热泵,CCWH-水源热泵,CCAH-空气源热泵,CCCP-供冷冷冻水泵,ATFC-风机盘管-true,ATAH-空调机组-true,ATFU-新风机组-true,CCHE-供冷换热器-true,CCAD-供冷软化水装置,CCCL-供冷集水器,CCDB-供冷分水器,CHVD-真空脱气机",
+  "采暖水供水": "CHCB-供热燃煤锅炉-true,CHHE-供热换热器-true,CHGB-供热燃气锅炉-true,CHEB-供热电锅炉-true,CCGH-地源热泵-true,CCWH-水源热泵-true,CCAH-空气源热泵-true,CHHP-供热水泵,CHDB-供热分水器,CHCL-供热集水器,CHCF-供热定压补水装置,ATFC-风机盘管,ATAH-空调机组,ATFU-新风机组,CHTU-供热全程水处理仪,CHHE-供热换热器,CHWT-供热水箱,ATRD-散热器",
+  "采暖水回水": "CHCB-供热燃煤锅炉,CHHE-供热换热器-true,CHGB-供热燃气锅炉,CHEB-供热电锅炉,CCGH-地源热泵,CCWH-水源热泵,CCAH-空气源热泵,CHHP-供热水泵,CHDB-供热分水器,CHCL-供热集水器,CHCF-供热定压补水装置,ATFC-风机盘管-true,ATAH-空调机组-true,ATFU-新风机组-true,CHTU-供热全程水处理仪,CHHE-供热换热器,CHWT-供热水箱,ATRD-散热器-true",
+  "空调冷却水供水": "CCCC-离心式冷水机组-true,CCAC-吸收式冷水机组-true,CCSC-螺杆式冷水机组-true,CCGH-地源热泵-true,CCWH-水源热泵-true,CCAH-空气源热泵,CCOT-冷却塔,CCOP-冷却水",
+  "空调冷却水回水": "CCCC-离心式冷水机组,CCAC-吸收式冷水机组,CCSC-螺杆式冷水机组,CCGH-地源热泵,CCWH-水源热泵,CCAH-空气源热泵,CCOT-冷却塔-true,CCOP-冷却水泵",
+  "空调冷凝水排水": "ATFC-风机盘管-true,ATAH-空调机组-true,ATVR-变频多联机-true,ATVI-室内机-true,ATVO-室外机",
+  "采暖水补水": "CHCB-供热燃煤锅炉,CHHE-供热换热器-true,CHGB-供热燃气锅炉,CHEB-供热电锅炉,CCGH-地源热泵,CCWH-水源热泵,CCAH-空气源热泵,CHHP-供热水泵,CHDB-供热分水器,CHCL-供热集水器,CHCF-供热定压补水装置,ATAH-空调机组,ATFU-新风机组,CHTU-供热全程水处理仪,CHHE-供热换热器,CHWT-供热水箱,ATFC-风机盘管,ATAH-空调机组,ATFU-新风机组,ATRD-散热器",
+  "多联机供回制冷剂": "ATVR-变频多联机-true,ATVI-室内机-true,ATVO-室外机-true",
+  "通风送风": "VTSF-送风风机,ATVA-VAVBOX ,ATIO-空调风口,VTIO-通风风口-true,SCEF-排烟风机,SCIO-排烟风口,SCEF-正压送风风机",
+  "空调送风": "ATVA-VAVBOX ,ATFC-风机盘管,ATIO-空调风口-true",
+  "空调排风": "ATAH-空调机组,ATIO-空调风口-true,VTSF-排风风机,SCEF-排烟风机,VTIO-通风风口,SCIO-排烟风口-true,KLSF-抽油烟机,KLIO-厨房风口-true",
+  "新风送风": "ATFU-新风机组,ATAH-空调机组,VTSF-新风机,ATIO-空调风口-true",
+  "消防排烟": "SCEF-排烟风机,SCIO-排烟风口-true",
+  "通风排风": "VTSF-排风风机,VTIO-通风风口-true",
+  "空调回风": "ATFC-风机盘管,ATAH-空调机组,ATIO-空调风口-true",
+  "生活给水供水": "DWHP-给水水泵,DWSU-生活给水供水机组-true,SEFL-水表,DWWT-水箱,DWPT-生活给水压力罐,CCOT-冷却塔",
+  "生活热水供水": "DHWT-生活热水储水箱,DHSC-生活热水太阳能集热器-true,SEFL-水表,DHHE-生活热水换热器-true",
+  "污水排水": "STSP-潜污泵-true,STOS-自动隔油装置-true",
+  "中水供水": "RWWT-中水储水箱,RWTU-中水处理机组-true,RWSU-中水供水机组,RWRC-雨水收集设备",
+  "直饮水供水": "DDTU-直饮水处理机组-true,DDIH-即时加热器",
+  "消防给水供水": "FSHP-消火栓供水加压水泵-true,FSPS-消防稳压装置-true,FSHB-消火栓箱-true,FSWM-消防水炮设备-true"
+
+}
+
+let deviceList = new Object;
+for (const key in deviceListString) {
+  if (deviceListString.hasOwnProperty(key)) {
+    const element = deviceListString[key]
+    deviceList[key] = new Array
+    const temp = element.split(/[,,]/)
+    temp.forEach(i => {
+      const [value, label, select] = i.split('-')
+      deviceList[key].push({
+        label,
+        value,
+        select
+      })
+    })
+  }
+}
+export default deviceList