Переглянути джерело

部件,设备模型,设备台账

hsshuxian 9 місяців тому
батько
коміт
b50f1ff120

+ 37 - 13
ems-ui/src/views/basecfg/device/index.vue

@@ -221,9 +221,13 @@
             </el-row>
             <el-table v-loading="loading" :data="ComponentList">
               <el-table-column type="selection" width="55" align="center" />
-              <el-table-column label="设备代码" align="center" prop="deviceCode" />
+<!--              <el-table-column label="设备代码" align="center" prop="deviceCode" />-->
               <el-table-column label="部件编码" align="center" prop="compoCode" />
-              <el-table-column label="部件标签" align="center" prop="compoTag" />
+              <el-table-column label="部件标签" align="center" prop="compoTag" >
+                <template slot-scope="scope">
+                  {{ objComTypeMapping[scope.row.compoTag] }}
+                </template>
+              </el-table-column>
               <el-table-column label="工艺标识代码" align="center" prop="psCode" />
               <el-table-column label="外系统部件编码" align="center" prop="extCompoCode" />
               <el-table-column label="部件模型" align="center" prop="compoModel" />
@@ -241,30 +245,39 @@
                 </template>
               </el-table-column>
             </el-table>
-
             <pagination v-show="total>0" :total="total" :page.sync="queryComponentParams.pageNum" :limit.sync="queryComponentParams.pageSize"
                         @pagination="getComponentList" />
 
             <!-- 添加或修改设备器件对话框 -->
             <el-dialog :title="title" :visible.sync="componentOpen" width="500px" append-to-body>
               <el-form ref="componentForm" :model="componentForm" :rules="componentRules" label-width="150px">
-                <el-form-item label="设备code" prop="deviceCode">
-                  <el-input v-model="componentForm.deviceCode" placeholder="请输入设备code" />
-                </el-form-item>
+<!--                <el-form-item label="设备code" prop="deviceCode">-->
+<!--                  <el-input v-model="componentForm.deviceCode" placeholder="请输入设备code" />-->
+<!--                </el-form-item>-->
                 <el-form-item label="部件编码" prop="compoCode">
                   <el-input v-model="componentForm.compoCode" placeholder="请输入部件编码" />
                 </el-form-item>
                 <el-form-item label="部件标签" prop="compoTag">
-                  <el-input v-model="componentForm.compoTag" placeholder="请输入部件标签" />
+                  <el-select v-model="componentForm.compoTag" placeholder="请输入部件标签">
+                    <el-option v-for="item in objComTypeOptions"
+                               :label="item.name"
+                               :value="item.code"
+                               :key="item.code" />
+
+                  </el-select>
                 </el-form-item>
                 <el-form-item label="工艺标签代码" prop="psCode">
-                  <el-input v-model="componentForm.psCode" placeholder="请输入工艺标签代码" />
+                  <el-select v-model="componentForm.psCode"  placeholder="请输入工艺标签代码">
+                    <el-option v-for="item in devOptions" :label="item.psCode" :value="item.psCode" :key="item.psCode" />
+                  </el-select>
                 </el-form-item>
                 <el-form-item label="外系统部件编码" prop="extCompoCode">
                   <el-input v-model="componentForm.extCompoCode" placeholder="请输入外系统部件编码" />
                 </el-form-item>
                 <el-form-item label="部件模型" prop="compoModel">
-                  <el-input v-model="componentForm.compoModel" placeholder="请输入部件模型" />
+                  <el-select v-model="componentForm.compoModel"  placeholder="请输入部件模型">
+                    <el-option v-for="item in this.modelList" :label="item.modelCode" :value="item.modelCode" :key="item.modelCode" />
+                  </el-select>
                 </el-form-item>
                 <el-form-item label="部件品牌" prop="compoBrand">
                 <el-input v-model="componentForm.compoBrand" placeholder="请输入部件品牌" />
@@ -289,7 +302,6 @@
         </el-drawer>
 
 
-
         <!-- 详情弹框 -->
         <el-dialog :visible.sync="showDrawer" title="设备详情">
           <div v-if="curRow">
@@ -372,7 +384,6 @@ import {
   delComponent,
   getComponent,
   listByDevice,
-  listComponent,
   updateComponent
 } from "@/api/basecfg/component";
 
@@ -428,6 +439,7 @@ export default {
       },
       // 查询参数
       queryParams: {
+        psCode:null,
         pageNum: 1,
         pageSize: 10,
         deviceCode: null,
@@ -442,6 +454,17 @@ export default {
         pageNum: 1,
         pageSize: 10,
       },
+      objComTypeMapping: {
+        1: '总开',
+        2: '照明',
+        3: '风机'
+      },
+      objComTypeOptions: [
+        { code: 1, name: '总开' },
+        { code: 2, name: '照明' },
+        { code: 3, name: '风机' },
+
+      ],
       curRow: {},
       attrData: [],
       abilityData: [],
@@ -511,6 +534,7 @@ export default {
       this.componentReset();
       this.componentOpen = true;
       this.title = "添加设备器件属性";
+      this.componentForm.deviceCode = this.ComponentRow.deviceCode; // 设置默认设备代码
 
     },
     handleComponentUpdate(row) {
@@ -520,6 +544,7 @@ export default {
         this.componentForm = response.data;
         this.componentOpen = true;
         this.title = "修改设备器件属性";
+        this.componentForm.deviceCode = this.ComponentRow.deviceCode; // 设置默认设备代码
       });
     },
     handleComponentDelete(row) {
@@ -597,7 +622,6 @@ export default {
         refFacs: null,
         subsystemCode: null,
         psCode:null,
-        // psName:null,
         createTime: null,
         updateTime: null,
 
@@ -607,7 +631,7 @@ export default {
     componentReset() {
       this.componentForm = {
         id: null,
-        deviceCode: null,
+        deviceCode: this.ComponentRow.deviceCode || '', // 使用ComponentRow的deviceCode,或者空字符串
         compoCode: null,
         compoTag:null,
         psCode: null,

+ 37 - 63
ems-ui/src/views/basecfg/device/model.vue

@@ -127,7 +127,6 @@
                        :key="item.code" />
           </el-select>
         </el-form-item>
-
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitForm">确 定</el-button>
@@ -144,8 +143,7 @@
             <el-row :gutter="10" class="mb8">
               <el-col :span="1.5">
                 <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAttrAdd"
-                           v-hasPermi="['ems:attr:add']"
-                >新增
+                           v-hasPermi="['ems:attr:add']">新增
                 </el-button>
               </el-col>
             </el-row>
@@ -157,29 +155,20 @@
               <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
                 <template slot-scope="scope">
                   <el-button size="mini" type="text" icon="el-icon-edit" @click="handleAttrUpdate(scope.row)"
-                             v-hasPermi="['ems:attr:edit']"
-                  >
-                    修改
+                             v-hasPermi="['ems:attr:edit']">修改
                   </el-button>
                   <el-button size="mini" type="text" icon="el-icon-delete" class="deleteBtn"
-                             @click="handleAttrDelete(scope.row)" v-hasPermi="['ems:attr:remove']"
-                  >
-                    删除
+                             @click="handleAttrDelete(scope.row)" v-hasPermi="['ems:attr:remove']">删除
                   </el-button>
                 </template>
               </el-table-column>
             </el-table>
-
             <pagination v-show="total>0" :total="total" :page.sync="queryAttrParams.pageNum"
                         :limit.sync="queryAttrParams.pageSize"
-                        @pagination="getAttrList"
-            />
+                        @pagination="getAttrList"/>
             <!-- 添加或修改服务区用电属性对话框 -->
             <el-dialog :title="title" :visible.sync="attrOpen" width="500px" append-to-body>
               <el-form ref="attrForm" :model="attrForm" :rules="attrRules" label-width="150px">
-                <el-form-item label="模型code" prop="modelCode">
-                  <el-input v-model="attrForm.modelCode" placeholder="请输入模型code"/>
-                </el-form-item>
                 <el-form-item label="属性名称" prop="attrName">
                   <el-input v-model="attrForm.attrName" placeholder="请输入属性名称"/>
                 </el-form-item>
@@ -192,9 +181,6 @@
                     <el-option label="动态" value="1"></el-option>
                   </el-select>
                 </el-form-item>
-                <!--                <el-form-item label="属性值" prop="attrValue">-->
-                <!--                  <el-input v-model="attrForm.attrValue" type="textarea" placeholder="请输入内容" />-->
-                <!--                </el-form-item>-->
                 <el-form-item label="属性单位" prop="attrUnit">
                   <el-input v-model="attrForm.attrUnit" placeholder="请输入属性单位"/>
                 </el-form-item>
@@ -206,68 +192,53 @@
             </el-dialog>
           </el-tab-pane>
 
+
           <el-tab-pane label="对象事件" name="second">
             <el-row :gutter="10" class="mb8">
               <el-col :span="1.5">
                 <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleEventAdd"
-                           v-hasPermi="['ems:event:add']"
-                >新增
+                           v-hasPermi="['ems:event:add']">新增
                 </el-button>
               </el-col>
             </el-row>
             <el-table v-loading="loading" :data="eventList">
               <el-table-column type="selection" width="55" align="center"/>
-              <!--       <el-table-column label="序号" align="center" prop="id" />-->
-              <!--       <el-table-column label="模型code" align="center" prop="modelCode" />-->
               <el-table-column label="事件名称" align="center" prop="eventKey"/>
               <el-table-column label="事件类型" align="center" prop="eventType">
                 <template slot-scope="scope">
                   <span>{{ scope.row.eventType === 1 ? '消息上报' : '异常告警' }}</span>
                 </template>
               </el-table-column>
-              <!-- <el-table-column label="事件名称" align="center" prop="eventDesc" />-->
-              <!-- <el-table-column label="事件名称" align="center" prop="eventName" />-->
               <el-table-column label="事件代码" align="center" prop="eventCode"/>
               <el-table-column label="外系统事件代码" align="center" prop="extEventCode"/>
               <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
                 <template slot-scope="scope">
                   <el-button size="mini" type="text" icon="el-icon-edit" @click="handleEventUpdate(scope.row)"
-                             v-hasPermi="['ems:event:edit']"
-                  >
-                    修改
+                             v-hasPermi="['ems:event:edit']">修改
                   </el-button>
                   <el-button size="mini" type="text" icon="el-icon-delete" class="deleteBtn"
-                             @click="handleEventDelete(scope.row)" v-hasPermi="['ems:event:remove']"
-                  >
-                    删除
+                             @click="handleEventDelete(scope.row)" v-hasPermi="['ems:event:remove']">删除
                   </el-button>
                 </template>
               </el-table-column>
             </el-table>
-
             <pagination v-show="total>0" :total="total" :page.sync="queryEventParams.pageNum"
                         :limit.sync="queryEventParams.pageSize"
-                        @pagination="getEventList"
-            />
-
+                        @pagination="getEventList"/>
             <!-- 添加或修改事件对话框 -->
             <el-dialog :title="title" :visible.sync="eventOpen" width="500px" append-to-body>
               <el-form ref="eventForm" :model="eventForm" :rules="eventRules" label-width="80px">
-                <el-form-item label="模型code" prop="modelCode">
-                  <el-input v-model="eventForm.modelCode" placeholder="请输入模型code"/>
-                </el-form-item>
                 <el-form-item label="事件名称" prop="eventKey">
                   <el-input v-model="eventForm.eventKey" placeholder="请输入事件名称"/>
                 </el-form-item>
                 <el-form-item label="事件类型" prop="eventType">
-                  <el-input v-model="eventForm.eventType" placeholder="请输入事件类型"/>
+                  <el-select v-model="eventForm.eventType" placeholder="请选择对象类型">
+                    <el-option v-for="item in objEventTypeOptions"
+                               :label="item.name"
+                               :value="item.code"
+                               :key="item.code" />
+                  </el-select>
                 </el-form-item>
-                <!--<el-form-item label="事件名称" prop="eventName">-->
-                <!--  <el-input v-model="eventForm.eventName" placeholder="请输入事件名称" />-->
-                <!--</el-form-item>-->
-                <!--<el-form-item label="事件名称" prop="eventDesc">-->
-                <!--  <el-input v-model="eventForm.eventDesc" type="textarea" placeholder="请输入内容" />-->
-                <!--</el-form-item>-->
                 <el-form-item label="事件代码" prop="eventCode">
                   <el-input v-model="eventForm.eventCode" placeholder="请输入事件代码"/>
                 </el-form-item>
@@ -286,15 +257,12 @@
             <el-row :gutter="10" class="mb8">
               <el-col :span="1.5">
                 <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAbilityAdd"
-                           v-hasPermi="['ems:ability:add']"
-                >新增
+                           v-hasPermi="['ems:ability:add']">新增
                 </el-button>
               </el-col>
             </el-row>
             <el-table v-loading="loading" :data="abilityList">
               <el-table-column type="selection" width="55" align="center"/>
-              <!--          <el-table-column label="序号" align="center" prop="id" />-->
-              <!--          <el-table-column label="模型code" align="center" prop="modelCode" />-->
               <el-table-column label="能力名称" align="center" prop="abilityName"/>
               <el-table-column label="能力键" align="center" prop="abilityKey"/>
               <el-table-column label="能力参数" align="center" prop="abilityParam"/>
@@ -302,14 +270,10 @@
               <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
                 <template slot-scope="scope">
                   <el-button size="mini" type="text" icon="el-icon-edit" @click="handleAbilityUpdate(scope.row)"
-                             v-hasPermi="['ems:ability:edit']"
-                  >
-                    修改
+                             v-hasPermi="['ems:ability:edit']">修改
                   </el-button>
                   <el-button size="mini" type="text" icon="el-icon-delete" class="deleteBtn"
-                             @click="handleAbilityDelete(scope.row)" v-hasPermi="['ems:ability:remove']"
-                  >
-                    删除
+                             @click="handleAbilityDelete(scope.row)" v-hasPermi="['ems:ability:remove']">删除
                   </el-button>
                 </template>
               </el-table-column>
@@ -318,9 +282,9 @@
             <!-- 添加或修改能力对话框 -->
             <el-dialog :title="title" :visible.sync="abilityOpen" width="500px" append-to-body>
               <el-form ref="abilityForm" :model="abilityForm" :rules="abilityRules" label-width="80px">
-                <el-form-item label="模型code" prop="modelCode">
-                  <el-input v-model="abilityForm.modelCode" placeholder="请输入模型code"/>
-                </el-form-item>
+<!--                <el-form-item label="模型code" prop="modelCode">-->
+<!--                  <el-input v-model="abilityForm.modelCode" placeholder="请输入模型code"/>-->
+<!--                </el-form-item>-->
                 <el-form-item label="能力键" prop="abilityKey">
                   <el-input v-model="abilityForm.abilityKey" placeholder="请输入能力键"/>
                 </el-form-item>
@@ -396,6 +360,10 @@ export default {
         { code: 2, name: '设备' },
         { code: 3, name: '设备部件' }
       ],
+      objEventTypeOptions: [
+        { code: 1, name: '信息上报' },
+        { code: 2, name: '异常警告' },
+      ],
       // 查询参数
       queryEventParams: {
         pageNum: 1,
@@ -485,9 +453,6 @@ export default {
     handleDetail(row) {
       this.showDrawer = true
       this.curRow = row
-      // this.subKey = this.$options.data().subKey
-      // console.log("this.subKey",this.subKey)
-      // this.modelCode = row.modelCode; // 更新当前模型代码
       console.log('模型代码', this.modelCode)
       getModel(this.curRow.id).then(response => {
         const data = response.data
@@ -502,16 +467,19 @@ export default {
       this.attrReset()
       this.attrOpen = true
       this.title = '添加能源对象属性'
+      this.attrForm.modelCode= this.curRow.modelCode
     },
     handleEventAdd() {
       this.eventReset()
       this.eventOpen = true
       this.title = '添加能源对象事件'
+      this.eventForm.modelCode= this.curRow.modelCode
     },
     handleAbilityAdd() {
       this.abilityReset()
       this.abilityOpen = true
       this.title = '添加能源对象事件'
+      this.abilityForm.modelCode= this.curRow.modelCode
     },
     /** 查询能源对象属性列表 */
     getList() {
@@ -569,7 +537,7 @@ export default {
     attrReset() {
       this.attrForm = {
         id: null,
-        modelCode: null,
+        modelCode:  this.curRow.modelCode || '',
         attrKey: null,
         attrType: null,
         attrName: null,
@@ -581,7 +549,7 @@ export default {
     eventReset() {
       this.eventForm = {
         id: null,
-        modelCode: null,
+        modelCode:  this.curRow.modelCode || '',
         eventKey: null,
         eventType: null,
         eventName: null,
@@ -594,7 +562,7 @@ export default {
     abilityReset() {
       this.abilityForm = {
         id: null,
-        modelCode: null,
+        modelCode:  this.curRow.modelCode || '',
         abilityKey: null,
         abilityName: null,
         abilityDesc: null,
@@ -611,6 +579,8 @@ export default {
         this.attrForm = response.data
         this.attrOpen = true
         this.title = '修改能源对象属性'
+        this.attrForm.modelCode= this.curRow.modelCode
+
       })
     },
     handleEventUpdate(row) {
@@ -620,6 +590,8 @@ export default {
         this.eventForm = response.data
         this.eventOpen = true
         this.title = '修改能源对象事件'
+        this.attrForm.modelCode= this.curRow.modelCode
+
       })
     },
     handleAbilityUpdate(row) {
@@ -629,6 +601,8 @@ export default {
         this.abilityForm = response.data
         this.abilityOpen = true
         this.title = '修改能源对象能力'
+        this.attrForm.modelCode= this.curRow.modelCode
+
       })
     },
 

+ 10 - 3
ems-ui/src/views/devmgr/el/index.vue

@@ -120,8 +120,11 @@
         </el-form-item>
         <el-form-item label="对象类型">
           <el-select v-model="form.objType" placeholder="请选择对象类型" @change="changeObjOptions"
-                     :disabled="isViewOnly"
-          >
+                     :disabled="isViewOnly">
+<!--            <el-option v-for = "item in objTypeOptions"-->
+<!--                       :label="item.name"-->
+<!--                       :value="item.code"-->
+<!--                       :key="item.code" />-->
             <el-option
               v-for="dict in dict.type.device_type"
               :key="dict.value"
@@ -299,6 +302,11 @@ export default {
       queryFacsParams: {
         areaCode: ''
       },
+      objTypeOptions: [
+      { code: 1, name: '设施' },
+      { code: 0, name: '设备' },
+    ],
+
       // 表单参数
       form: {},
       // 表单校验
@@ -316,7 +324,6 @@ export default {
           { required: true, message: '日期 yyyy-MM-dd 不能为空', trigger: 'blur' }
         ]
       }
-
     }
 
   },