|
@@ -16,413 +16,430 @@
|
|
|
</el-col>
|
|
|
<el-col :span="20" :xs="24">
|
|
|
<div class="contents">
|
|
|
- <div class="other-content">
|
|
|
- <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
|
|
|
- label-width="68px"
|
|
|
- >
|
|
|
- <el-form-item label="设备分类" prop="deviceSubCategory">
|
|
|
- <el-select v-model="queryParams.deviceSubCategory">
|
|
|
- <el-option v-for="item in subCategoryOptions" placeholder="设备分类" :label="item.name" :value="item.code"
|
|
|
- :key="item.code"
|
|
|
- />
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="归属设施" prop="refFacs">
|
|
|
- <el-select v-model="queryParams.refFacs">
|
|
|
- <el-option v-for="item in facsOptions" :label="item.facsName" :value="item.facsCode"
|
|
|
- :key="item.facsCode"
|
|
|
- />
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="子系统" prop="subsystemCode">
|
|
|
- <el-select v-model="queryParams.subsystemCode">
|
|
|
- <el-option v-for="item in subsystemOptions" :label="item.systemName" :value="item.systemCode"
|
|
|
- :key="item.systemCode"
|
|
|
- />
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item>
|
|
|
- <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
|
|
- <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
-
|
|
|
- <el-row :gutter="10" class="mb8">
|
|
|
- <el-col :span="1.5">
|
|
|
- <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
|
|
|
- v-hasPermi="['ems:device:add']"
|
|
|
- >新增
|
|
|
- </el-button>
|
|
|
- </el-col>
|
|
|
- <el-col :span="1.5">
|
|
|
- <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
|
|
|
- v-hasPermi="['ems:device:edit']"
|
|
|
- >修改
|
|
|
- </el-button>
|
|
|
- </el-col>
|
|
|
- <el-col :span="1.5">
|
|
|
- <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
|
|
|
- v-hasPermi="['ems:device:remove']"
|
|
|
- >删除
|
|
|
- </el-button>
|
|
|
- </el-col>
|
|
|
- <el-col :span="1.5">
|
|
|
- <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
|
|
|
- v-hasPermi="['ems:device:export']"
|
|
|
- >导出
|
|
|
- </el-button>
|
|
|
- </el-col>
|
|
|
- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
|
|
- </el-row>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div class="table-content">
|
|
|
- <!--分页-->
|
|
|
- <div class="button-group-container">
|
|
|
- <el-button-group>
|
|
|
- <el-button :type="primary1" icon="el-icon-s-fold" @click="switchData(1)" />
|
|
|
- <el-button :type="primary2" icon="el-icon-menu" @click="switchData(2)" />
|
|
|
- </el-button-group>
|
|
|
- </div>
|
|
|
-
|
|
|
- <el-table v-loading="loading" :data="deviceList" @selection-change="handleSelectionChange" v-if="istable === 1">
|
|
|
- <el-table-column type="selection" width="55" align="center"/>
|
|
|
- <el-table-column label="设备名称" align="left" prop="deviceName"/>
|
|
|
- <el-table-column label="安装位置" align="left" prop="areaPath" width="220px"/>
|
|
|
- <el-table-column label="归属设施" align="center" prop="refFacsName"/>
|
|
|
- <el-table-column label="设备分类" align="center" prop="deviceCategoryName"/>
|
|
|
- <el-table-column label="子系统" align="center" prop="subsystemName"/>
|
|
|
- <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-info" @click="handleDevProcess(scope.row)"
|
|
|
- v-hasPermi="['basecfg:device:edit']" v-if="shouldShowDevProcessButton(scope.row)"
|
|
|
- >
|
|
|
- 器件
|
|
|
- </el-button>
|
|
|
- <el-button size="mini" type="text" icon="el-icon-info" @click="handleDetail(scope.row)"
|
|
|
- v-hasPermi="['basecfg:device:edit']"
|
|
|
- >
|
|
|
- 详情
|
|
|
- </el-button>
|
|
|
- <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
|
|
|
- v-hasPermi="['basecfg:device:edit']"
|
|
|
- >
|
|
|
- 修改
|
|
|
- </el-button>
|
|
|
- <el-button size="mini" type="text" icon="el-icon-delete" class="deleteBtn"
|
|
|
- @click="handleDelete(scope.row)" v-hasPermi="['basecfg:device:remove']"
|
|
|
- >
|
|
|
- 删除
|
|
|
- </el-button>
|
|
|
-
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
-
|
|
|
- <div v-else-if="istable === 2" >
|
|
|
- <el-row :gutter="20" class="device-list">
|
|
|
- <el-col v-for="device in deviceList" :key="device.id" :span="6">
|
|
|
- <div :class="`device-card ${backStyle(device.areaPath)}`">
|
|
|
- <div class="device-header">
|
|
|
- <i class="el-icon-s-operation" style="margin-right: 8px;"></i>
|
|
|
- {{ device.deviceName }}
|
|
|
- </div>
|
|
|
- <div class="device-body">
|
|
|
- <p>设备代码:<span class="device-code">{{ device.deviceCode }}</span></p>
|
|
|
- <p>安装位置:<span class="deviceOthers">{{ device.areaPath }}</span></p>
|
|
|
- <p>归属设施:<span class="deviceOthers">{{ device.refFacsName }}</span></p>
|
|
|
- <p>设备分类:<span class="deviceOthers">{{ device.deviceCategoryName }}</span></p>
|
|
|
- <p>子系统:<span class="deviceOthers">{{ device.subsystemName }}</span></p>
|
|
|
- </div>
|
|
|
- <div class="device-footer">
|
|
|
- <el-button size="mini" plain icon=" el-icon-document" @click="handleDetail(device)">详情</el-button>
|
|
|
- <el-button size="mini" plain icon="el-icon-edit" @click="handleUpdate(device)">修改</el-button>
|
|
|
- <el-button size="mini" plain icon="el-icon-delete" type="danger" @click="handleDelete(device)">删除</el-button>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </div>
|
|
|
-
|
|
|
-
|
|
|
- <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
|
|
|
- :limit.sync="queryParams.pageSize"
|
|
|
- @pagination="getList"
|
|
|
- />
|
|
|
-
|
|
|
- <!-- 添加或修改能源设备对话框 -->
|
|
|
- <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
|
|
- <el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
|
|
- <el-form-item label="归属设施" prop="refFacs">
|
|
|
- <el-select v-model="form.refFacs">
|
|
|
- <el-option v-for="item in facsOptions" :label="item.facsName" :value="item.facsCode"
|
|
|
- :key="item.facsCode"
|
|
|
- />
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
-
|
|
|
- <el-form-item label="设备代码" prop="deviceCode">
|
|
|
- <el-input v-model="form.deviceCode" placeholder="请输入设备代码"/>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="设备名称" prop="deviceName">
|
|
|
- <el-input v-model="form.deviceName" placeholder="请输入设备名称"/>
|
|
|
- </el-form-item>
|
|
|
-
|
|
|
-
|
|
|
- <el-form-item label="功能类型" prop="psCode" v-if="queryParams.deviceCategory === 'W'">
|
|
|
- <el-select v-model="form.psCode">
|
|
|
- <el-option v-for="item in devOptions" :label="item.psName" :value="item.psCode"
|
|
|
- :key="item.psCode"
|
|
|
- />
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
-
|
|
|
- <el-form-item label="设备类型" prop="deviceType">
|
|
|
- <el-select v-model="form.deviceCategory">
|
|
|
- <el-option v-for="item in subCategoryOptions" :label="item.name" :value="item.code"
|
|
|
- :key="item.code"
|
|
|
- />
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="设备模型" prop="deviceModel">
|
|
|
- <el-select v-model="form.deviceModel" style="width:100%" @change="handleModelChange">
|
|
|
- <el-option
|
|
|
- v-for="item in modelList"
|
|
|
- :label="item.modelName"
|
|
|
- :value="item.modelCode"
|
|
|
- :key="item.modelCode"
|
|
|
- />
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <!-- 这里可以展示属性名称和属性值 -->
|
|
|
- <div v-if="attrList.length > 0" class="attr-list-container">
|
|
|
- <h3>模型属性:</h3>
|
|
|
- <ul>
|
|
|
- <li v-for="attr in attrList" :key="attr.attrKey" class="attr-item">
|
|
|
- <span class="attr-name">{{ attr.attrName }} ({{ attr.attrUnit }}):</span>
|
|
|
- <!-- 使用 el-input 组件允许用户编辑属性值 -->
|
|
|
- <el-input
|
|
|
- v-model="attrValuesMap[attr.attrKey]"
|
|
|
- placeholder="点击编辑"
|
|
|
- size="small"
|
|
|
- @blur="updateAttrValue(attr.attrKey, attrValuesMap[attr.attrKey])"
|
|
|
- >
|
|
|
- </el-input>
|
|
|
- </li>
|
|
|
- </ul>
|
|
|
- </div>
|
|
|
- <h3 class="attr-list-container" v-if="attrList.length > 0">自定义属性
|
|
|
- <el-form-item label="" prop="attrList">
|
|
|
- <el-table class="attr-table" v-loading="loading" :data="form.customAttrs" max-height="280px"
|
|
|
- key="'customAttrs'"
|
|
|
- >
|
|
|
- <el-table-column label="标识" align="center" prop="attrKey">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-input size="mini" v-model="scope.row.attrKey" placeholder="请输入标识"/>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="属性名" align="center" prop="attrName">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-input size="mini" v-model="scope.row.attrName" placeholder="请输入属性名"/>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="属性值" align="center" prop="attrValue">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-input size="mini" v-model="scope.row.attrValue" placeholder="请输入属性值"/>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column align="center" label="操作">
|
|
|
- <template slot="header">
|
|
|
- <div class="operateBtns" @click="addCustomAttr">
|
|
|
- <span>添加</span><i class="el-icon-circle-plus-outline"></i>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- <template slot-scope="scope">
|
|
|
- <i class="el-icon-delete" @click="deleteCustomAttr(scope.$index)"></i>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
+ <div class="other-content">
|
|
|
+ <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
|
|
|
+ label-width="68px"
|
|
|
+ >
|
|
|
+ <el-form-item label="设备分类" prop="deviceSubCategory">
|
|
|
+ <el-select v-model="queryParams.deviceSubCategory">
|
|
|
+ <el-option v-for="item in subCategoryOptions" placeholder="设备分类" :label="item.name"
|
|
|
+ :value="item.code"
|
|
|
+ :key="item.code"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
|
- </h3>
|
|
|
- <el-form-item label="子系统" prop="subsystemCode">
|
|
|
- <el-select v-model="form.subsystemCode">
|
|
|
- <el-option v-for="item in subsystemOptions" :label="item.systemName" :value="item.systemCode"
|
|
|
- :key="item.systemCode"
|
|
|
- />
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
- <div slot="footer" class="dialog-footer">
|
|
|
- <el-button type="primary" @click="submitForm">确 定</el-button>
|
|
|
- <el-button @click="cancel">取 消</el-button>
|
|
|
- </div>
|
|
|
- </el-dialog>
|
|
|
+ <el-form-item label="归属设施" prop="refFacs">
|
|
|
+ <el-select v-model="queryParams.refFacs">
|
|
|
+ <el-option v-for="item in facsOptions" :label="item.facsName" :value="item.facsCode"
|
|
|
+ :key="item.facsCode"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="子系统" prop="subsystemCode">
|
|
|
+ <el-select v-model="queryParams.subsystemCode">
|
|
|
+ <el-option v-for="item in subsystemOptions" :label="item.systemName" :value="item.systemCode"
|
|
|
+ :key="item.systemCode"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
|
|
+ <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
|
|
|
- <!--设备器件-->
|
|
|
- <el-drawer :title=ComponentRow.deviceName size="80%" :visible.sync="showDevProcessDrawer" direction="rtl">
|
|
|
- <div class="drawer-content" style="padding-left:50px">
|
|
|
<el-row :gutter="10" class="mb8">
|
|
|
<el-col :span="1.5">
|
|
|
- <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleComponentAdd"
|
|
|
- v-hasPermi="['ems:component:add']"
|
|
|
+ <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
|
|
|
+ v-hasPermi="['ems:device:add']"
|
|
|
>新增
|
|
|
</el-button>
|
|
|
</el-col>
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
|
|
|
+ v-hasPermi="['ems:device:edit']"
|
|
|
+ >修改
|
|
|
+ </el-button>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple"
|
|
|
+ @click="handleDelete"
|
|
|
+ v-hasPermi="['ems:device:remove']"
|
|
|
+ >删除
|
|
|
+ </el-button>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
|
|
|
+ v-hasPermi="['ems:device:export']"
|
|
|
+ >导出
|
|
|
+ </el-button>
|
|
|
+ </el-col>
|
|
|
+ <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
|
|
</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="compoCode"/>
|
|
|
- <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"/>
|
|
|
- <el-table-column label="部件品牌" align="center" prop="compoBrand"/>
|
|
|
- <el-table-column label="部件型号" align="center" prop="compoSpec"/>
|
|
|
- <el-table-column label="祖籍列表" align="center" prop="ancestors"/>
|
|
|
- <el-table-column label="上级部件" align="center" prop="parentEqpt"/>
|
|
|
+ </div>
|
|
|
|
|
|
+ <div class="table-content">
|
|
|
+ <!--分页-->
|
|
|
+ <div class="button-group-container">
|
|
|
+ <el-button-group>
|
|
|
+ <el-button :type="primary1" icon="el-icon-s-fold" @click="switchData(1)"/>
|
|
|
+ <el-button :type="primary2" icon="el-icon-menu" @click="switchData(2)"/>
|
|
|
+ </el-button-group>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <el-table v-loading="loading" :data="deviceList" @selection-change="handleSelectionChange"
|
|
|
+ v-if="istable === 1">
|
|
|
+ <el-table-column type="selection" width="55" align="center"/>
|
|
|
+ <el-table-column label="设备名称" align="left" prop="deviceName"/>
|
|
|
+ <el-table-column label="安装位置" align="left" prop="areaPath" width="220px"/>
|
|
|
+ <el-table-column label="归属设施" align="center" prop="refFacsName"/>
|
|
|
+ <el-table-column label="设备分类" align="center" prop="deviceCategoryName"/>
|
|
|
+ <el-table-column label="子系统" align="center" prop="subsystemName"/>
|
|
|
<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="handleComponentUpdate(scope.row)"
|
|
|
- v-hasPermi="['ems:component:edit']"
|
|
|
+ <el-button size="mini" type="text" icon="el-icon-info" @click="handleDevProcess(scope.row)"
|
|
|
+ v-hasPermi="['basecfg:device:edit']" v-if="shouldShowDevProcessButton(scope.row)"
|
|
|
+ >
|
|
|
+ 器件
|
|
|
+ </el-button>
|
|
|
+ <el-button size="mini" type="text" icon="el-icon-info" @click="handleDetail(scope.row)"
|
|
|
+ v-hasPermi="['basecfg:device:edit']"
|
|
|
+ >
|
|
|
+ 详情
|
|
|
+ </el-button>
|
|
|
+ <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
|
|
|
+ v-hasPermi="['basecfg:device:edit']"
|
|
|
>
|
|
|
修改
|
|
|
</el-button>
|
|
|
<el-button size="mini" type="text" icon="el-icon-delete" class="deleteBtn"
|
|
|
- @click="handleComponentDelete(scope.row)" v-hasPermi="['ems:component:remove']"
|
|
|
+ @click="handleDelete(scope.row)" v-hasPermi="['basecfg:device:remove']"
|
|
|
>
|
|
|
删除
|
|
|
</el-button>
|
|
|
+
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
- <pagination v-show="total>0" :total="total" :page.sync="queryComponentParams.pageNum"
|
|
|
- :limit.sync="queryComponentParams.pageSize"
|
|
|
- @pagination="getComponentList"
|
|
|
+
|
|
|
+ <div v-else-if="istable === 2">
|
|
|
+ <el-row :gutter="20" class="device-list">
|
|
|
+ <el-col v-for="device in deviceList" :key="device.id" :span="6">
|
|
|
+ <div :class="`device-card ${backStyle(device.areaPath)}`">
|
|
|
+ <div class="device-header">
|
|
|
+ <i class="el-icon-s-operation" style="margin-right: 8px;"></i>
|
|
|
+ {{ device.deviceName }}
|
|
|
+ </div>
|
|
|
+ <div class="device-body">
|
|
|
+ <p>设备代码:<span class="device-code">{{ device.deviceCode }}</span></p>
|
|
|
+ <p>安装位置:<span class="deviceOthers">{{ device.areaPath }}</span></p>
|
|
|
+ <p>归属设施:<span class="deviceOthers">{{ device.refFacsName }}</span></p>
|
|
|
+ <p>设备分类:<span class="deviceOthers">{{ device.deviceCategoryName }}</span></p>
|
|
|
+ <p>子系统:<span class="deviceOthers">{{ device.subsystemName }}</span></p>
|
|
|
+ </div>
|
|
|
+ <div class="device-footer">
|
|
|
+ <el-button size="mini" plain icon=" el-icon-document" @click="handleDetail(device)">详情
|
|
|
+ </el-button>
|
|
|
+ <el-button size="mini" plain icon="el-icon-edit" @click="handleUpdate(device)">修改</el-button>
|
|
|
+ <el-button size="mini" plain icon="el-icon-delete" type="danger" @click="handleDelete(device)">
|
|
|
+ 删除
|
|
|
+ </el-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
+
|
|
|
+
|
|
|
+ <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
|
|
|
+ :limit.sync="queryParams.pageSize"
|
|
|
+ @pagination="getList"
|
|
|
/>
|
|
|
|
|
|
- <!-- 添加或修改设备器件对话框 -->
|
|
|
- <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="部件编码" prop="compoCode">
|
|
|
- <el-input v-model="componentForm.compoCode" placeholder="请输入部件编码"/>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="部件标签" prop="compoTag">
|
|
|
- <el-select v-model="componentForm.compoTag" placeholder="请输入部件标签">
|
|
|
- <el-option v-for="item in objComTypeOptions"
|
|
|
- :label="item.name"
|
|
|
- :value="item.code"
|
|
|
- :key="item.code"
|
|
|
+ <!-- 添加或修改能源设备对话框 -->
|
|
|
+ <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
|
|
+ <el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
|
|
+ <el-form-item label="归属设施" prop="refFacs">
|
|
|
+ <el-select v-model="form.refFacs">
|
|
|
+ <el-option v-for="item in facsOptions" :label="item.facsName" :value="item.facsCode"
|
|
|
+ :key="item.facsCode"
|
|
|
/>
|
|
|
-
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="工艺标签代码" prop="psCode">
|
|
|
- <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 label="设备代码" prop="deviceCode">
|
|
|
+ <el-input v-model="form.deviceCode" placeholder="请输入设备代码"/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="外系统部件编码" prop="extCompoCode">
|
|
|
- <el-input v-model="componentForm.extCompoCode" placeholder="请输入外系统部件编码"/>
|
|
|
+ <el-form-item label="设备名称" prop="deviceName">
|
|
|
+ <el-input v-model="form.deviceName" placeholder="请输入设备名称"/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="部件模型" prop="compoModel">
|
|
|
- <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-form-item label="功能类型" prop="psCode" v-if="queryParams.deviceCategory === 'W'">
|
|
|
+ <el-select v-model="form.psCode">
|
|
|
+ <el-option v-for="item in devOptions" :label="item.psName" :value="item.psCode"
|
|
|
+ :key="item.psCode"
|
|
|
/>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="部件品牌" prop="compoBrand">
|
|
|
- <el-input v-model="componentForm.compoBrand" placeholder="请输入部件品牌"/>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="部件型号" prop="compoSpec">
|
|
|
- <el-input v-model="componentForm.compoSpec" placeholder="请输入部件型号"/>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="祖籍列表" prop="ancestors">
|
|
|
- <el-input v-model="componentForm.ancestors" placeholder="请输入祖籍列表"/>
|
|
|
+
|
|
|
+ <el-form-item label="设备类型" prop="deviceType">
|
|
|
+ <el-select v-model="form.deviceCategory">
|
|
|
+ <el-option v-for="item in subCategoryOptions" :label="item.name" :value="item.code"
|
|
|
+ :key="item.code"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="上级列表" prop="parentCompo">
|
|
|
- <el-input v-model="componentForm.parentCompo" placeholder="请输入上级列表"/>
|
|
|
+ <el-form-item label="设备模型" prop="deviceModel">
|
|
|
+ <el-select v-model="form.deviceModel" style="width:100%" @change="handleModelChange">
|
|
|
+ <el-option
|
|
|
+ v-for="item in modelList"
|
|
|
+ :label="item.modelName"
|
|
|
+ :value="item.modelCode"
|
|
|
+ :key="item.modelCode"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
|
|
|
|
+ <!-- 这里可以展示属性名称和属性值 -->
|
|
|
+ <div v-if="attrList.length > 0" class="attr-list-container">
|
|
|
+ <h3>模型属性:</h3>
|
|
|
+ <ul>
|
|
|
+ <li v-for="attr in attrList" :key="attr.attrKey" class="attr-item">
|
|
|
+ <span class="attr-name">{{ attr.attrName }} ({{ attr.attrUnit }}):</span>
|
|
|
+ <!-- 使用 el-input 组件允许用户编辑属性值 -->
|
|
|
+ <el-input
|
|
|
+ v-model="attrValuesMap[attr.attrKey]"
|
|
|
+ placeholder="点击编辑"
|
|
|
+ size="small"
|
|
|
+ @blur="updateAttrValue(attr.attrKey, attrValuesMap[attr.attrKey])"
|
|
|
+ >
|
|
|
+ </el-input>
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
+ </div>
|
|
|
+ <h3 class="attr-list-container" v-if="attrList.length > 0">自定义属性
|
|
|
+ <el-form-item label="" prop="attrList">
|
|
|
+ <el-table class="attr-table" v-loading="loading" :data="form.customAttrs" max-height="280px"
|
|
|
+ key="'customAttrs'"
|
|
|
+ >
|
|
|
+ <el-table-column label="标识" align="center" prop="attrKey">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input size="mini" v-model="scope.row.attrKey" placeholder="请输入标识"/>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="属性名" align="center" prop="attrName">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input size="mini" v-model="scope.row.attrName" placeholder="请输入属性名"/>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="属性值" align="center" prop="attrValue">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input size="mini" v-model="scope.row.attrValue" placeholder="请输入属性值"/>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="center" label="操作">
|
|
|
+ <template slot="header">
|
|
|
+ <div class="operateBtns" @click="addCustomAttr">
|
|
|
+ <span>添加</span><i class="el-icon-circle-plus-outline"></i>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <i class="el-icon-delete" @click="deleteCustomAttr(scope.$index)"></i>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </el-form-item>
|
|
|
+ </h3>
|
|
|
+ <el-form-item label="子系统" prop="subsystemCode">
|
|
|
+ <el-select v-model="form.subsystemCode">
|
|
|
+ <el-option v-for="item in subsystemOptions" :label="item.systemName" :value="item.systemCode"
|
|
|
+ :key="item.systemCode"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
</el-form>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
- <el-button type="primary" @click="submitComponentForm">确 定</el-button>
|
|
|
- <el-button @click="ComponentCancel">取 消</el-button>
|
|
|
+ <el-button type="primary" @click="submitForm">确 定</el-button>
|
|
|
+ <el-button @click="cancel">取 消</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
- </div>
|
|
|
- </el-drawer>
|
|
|
-
|
|
|
- <!-- 详情弹框 -->
|
|
|
- <el-dialog :visible.sync="showDrawer" title="设备详情">
|
|
|
- <div v-if="curRow">
|
|
|
- <!-- 设备基本信息 -->
|
|
|
- <el-card class="box-card">
|
|
|
- <div slot="header" class="clearfix">
|
|
|
- <span class="section-title">设备基本信息</span>
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <p>设备代码:{{ curRow.deviceCode }}</p>
|
|
|
- <p>设备名称:{{ curRow.deviceName }}</p>
|
|
|
- <p>设备类型:{{ curRow.deviceCategoryName }}</p>
|
|
|
- <p>子系统:{{ curRow.subsystemName }}</p>
|
|
|
- <p>归属区域:{{ curRow.areaPath }}</p>
|
|
|
- <p>归属设施:{{ curRow.refFacsName }}</p>
|
|
|
- </div>
|
|
|
- </el-card>
|
|
|
|
|
|
- <!-- 属性信息 -->
|
|
|
- <el-card class="box-card" v-if="attrData.length > 0">
|
|
|
- <div slot="header" class="clearfix">
|
|
|
- <span class="section-title">属性定义</span>
|
|
|
- </div>
|
|
|
- <div v-for="(item, index) in attrData" :key="index">
|
|
|
- <p>属性名称:{{ item.attrName }}</p>
|
|
|
- <p>属性值:{{ item.attrValue }}</p>
|
|
|
- <p>属性单位:{{ item.attrUnit }}</p>
|
|
|
- <!-- 在每个条目之后添加横线,除了最后一个条目 -->
|
|
|
- <div v-if="index < attrData.length - 1" class="divider"></div>
|
|
|
- </div>
|
|
|
- </el-card>
|
|
|
- <!-- 能力信息 -->
|
|
|
- <el-card class="box-card" v-if="abilityData.length > 0">
|
|
|
- <div slot="header" class="clearfix">
|
|
|
- <span class="section-title">能力定义</span>
|
|
|
- </div>
|
|
|
- <div v-for="(item, index) in abilityData" :key="index">
|
|
|
- <p>能力名称:{{ item.abilityName }}</p>
|
|
|
- <p>能力键:{{ item.abilityKey }}</p>
|
|
|
- <p>能力参数:{{ item.abilityParam }}</p>
|
|
|
- <p>能力描述:{{ item.abilityDesc }}</p>
|
|
|
- <!-- 在每个条目之后添加横线,除了最后一个条目 -->
|
|
|
- <div v-if="index < abilityData.length - 1" class="divider"></div>
|
|
|
- </div>
|
|
|
- </el-card>
|
|
|
- <!-- 事件信息 -->
|
|
|
- <el-card class="box-card" v-if="eventData.length > 0">
|
|
|
- <div slot="header" class="clearfix">
|
|
|
- <span class="section-title">事件定义</span>
|
|
|
+ <!--设备器件-->
|
|
|
+ <el-drawer :title=ComponentRow.deviceName size="80%" :visible.sync="showDevProcessDrawer" direction="rtl">
|
|
|
+ <div class="drawer-content" style="padding-left:50px">
|
|
|
+ <el-row :gutter="10" class="mb8">
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleComponentAdd"
|
|
|
+ v-hasPermi="['ems:component:add']"
|
|
|
+ >新增
|
|
|
+ </el-button>
|
|
|
+ </el-col>
|
|
|
+ </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="compoCode"/>
|
|
|
+ <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"/>
|
|
|
+ <el-table-column label="部件品牌" align="center" prop="compoBrand"/>
|
|
|
+ <el-table-column label="部件型号" align="center" prop="compoSpec"/>
|
|
|
+ <el-table-column label="祖籍列表" align="center" prop="ancestors"/>
|
|
|
+ <el-table-column label="上级部件" align="center" prop="parentEqpt"/>
|
|
|
+
|
|
|
+ <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="handleComponentUpdate(scope.row)"
|
|
|
+ v-hasPermi="['ems:component:edit']"
|
|
|
+ >
|
|
|
+ 修改
|
|
|
+ </el-button>
|
|
|
+ <el-button size="mini" type="text" icon="el-icon-delete" class="deleteBtn"
|
|
|
+ @click="handleComponentDelete(scope.row)" v-hasPermi="['ems:component:remove']"
|
|
|
+ >
|
|
|
+ 删除
|
|
|
+ </el-button>
|
|
|
+ </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="部件编码" prop="compoCode">
|
|
|
+ <el-input v-model="componentForm.compoCode" placeholder="请输入部件编码"/>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="部件标签" prop="compoTag">
|
|
|
+ <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-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-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="请输入部件品牌"/>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="部件型号" prop="compoSpec">
|
|
|
+ <el-input v-model="componentForm.compoSpec" placeholder="请输入部件型号"/>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="祖籍列表" prop="ancestors">
|
|
|
+ <el-input v-model="componentForm.ancestors" placeholder="请输入祖籍列表"/>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="上级列表" prop="parentCompo">
|
|
|
+ <el-input v-model="componentForm.parentCompo" placeholder="请输入上级列表"/>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ </el-form>
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
+ <el-button type="primary" @click="submitComponentForm">确 定</el-button>
|
|
|
+ <el-button @click="ComponentCancel">取 消</el-button>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
- <div v-for="(item, index) in eventData" :key="index">
|
|
|
- <p>事件名称:{{ item.eventKey }}</p>
|
|
|
- <p>事件类型:{{ item.eventType === 1 ? '消息上报' : '异常告警' }}</p>
|
|
|
- <p>事件代码:{{ item.eventCode }}</p>
|
|
|
- <p>外部事件代码:{{ item.extEventCode }}</p>
|
|
|
- <!-- 在每个条目之后添加横线,除了最后一个条目 -->
|
|
|
- <div v-if="index < eventData.length - 1" class="divider"></div>
|
|
|
+ </el-drawer>
|
|
|
+
|
|
|
+ <!-- 详情弹框 -->
|
|
|
+ <el-dialog :visible.sync="showDrawer" title="设备详情">
|
|
|
+ <div v-if="curRow">
|
|
|
+ <!-- 设备基本信息 -->
|
|
|
+ <el-card class="box-card">
|
|
|
+ <div slot="header" class="clearfix">
|
|
|
+ <span class="section-title">设备基本信息</span>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <p>设备代码:{{ curRow.deviceCode }}</p>
|
|
|
+ <p>设备名称:{{ curRow.deviceName }}</p>
|
|
|
+ <p>设备类型:{{ curRow.deviceCategoryName }}</p>
|
|
|
+ <p>子系统:{{ curRow.subsystemName }}</p>
|
|
|
+ <p>归属区域:{{ curRow.areaPath }}</p>
|
|
|
+ <p>归属设施:{{ curRow.refFacsName }}</p>
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
+ <el-card class="box-card" style="margin-top: 10px">
|
|
|
+ <div slot="header" class="clearfix">
|
|
|
+ <span class="section-title">状态属性</span>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <p v-for="attr in statusAttr" :key="attr.attr">{{ attr.attr }}:{{ attr.attrValue }} {{
|
|
|
+ attr.attrUnit
|
|
|
+ }}</p>
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
+ <!-- 属性信息 -->
|
|
|
+ <el-card class="box-card" v-if="attrData.length > 0">
|
|
|
+ <div slot="header" class="clearfix">
|
|
|
+ <span class="section-title">属性定义</span>
|
|
|
+ </div>
|
|
|
+ <div v-for="(item, index) in attrData" :key="index">
|
|
|
+ <p>属性名称:{{ item.attrName }}</p>
|
|
|
+ <p>属性值:{{ item.attrValue }}</p>
|
|
|
+ <p>属性单位:{{ item.attrUnit }}</p>
|
|
|
+ <!-- 在每个条目之后添加横线,除了最后一个条目 -->
|
|
|
+ <div v-if="index < attrData.length - 1" class="divider"></div>
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
+ <!-- 能力信息 -->
|
|
|
+ <el-card class="box-card" v-if="abilityData.length > 0">
|
|
|
+ <div slot="header" class="clearfix">
|
|
|
+ <span class="section-title">能力定义</span>
|
|
|
+ </div>
|
|
|
+ <div v-for="(item, index) in abilityData" :key="index">
|
|
|
+ <p>能力名称:{{ item.abilityName }}</p>
|
|
|
+ <p>能力键:{{ item.abilityKey }}</p>
|
|
|
+ <p>能力参数:{{ item.abilityParam }}</p>
|
|
|
+ <p>能力描述:{{ item.abilityDesc }}</p>
|
|
|
+ <!-- 在每个条目之后添加横线,除了最后一个条目 -->
|
|
|
+ <div v-if="index < abilityData.length - 1" class="divider"></div>
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
+ <!-- 事件信息 -->
|
|
|
+ <el-card class="box-card" v-if="eventData.length > 0">
|
|
|
+ <div slot="header" class="clearfix">
|
|
|
+ <span class="section-title">事件定义</span>
|
|
|
+ </div>
|
|
|
+ <div v-for="(item, index) in eventData" :key="index">
|
|
|
+ <p>事件名称:{{ item.eventKey }}</p>
|
|
|
+ <p>事件类型:{{ item.eventType === 1 ? '消息上报' : '异常告警' }}</p>
|
|
|
+ <p>事件代码:{{ item.eventCode }}</p>
|
|
|
+ <p>外部事件代码:{{ item.extEventCode }}</p>
|
|
|
+ <!-- 在每个条目之后添加横线,除了最后一个条目 -->
|
|
|
+ <div v-if="index < eventData.length - 1" class="divider"></div>
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
</div>
|
|
|
- </el-card>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
- </el-dialog>
|
|
|
- </div>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
@@ -430,21 +447,20 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import { listDevRecursionByArea, getDevice, delDevice, addDevice, updateDevice } from '@/api/device/device'
|
|
|
-import { areaTreeSelect } from '@/api/basecfg/area'
|
|
|
-import { getFacsCategorygetByCode, listAllFacs } from '@/api/basecfg/emsfacs'
|
|
|
-import { listSubsystemAll } from '@/api/adapter/subsystem'
|
|
|
-import { getModelByCode, listAllModel } from '@/api/basecfg/objModel'
|
|
|
-import { getObjAttr } from '@/api/basecfg/objAttribute'
|
|
|
-import { addAttrValueBatch } from '@/api/basecfg/objAttributeValue'
|
|
|
-import { getDevProcess } from '@/api/commonApi'
|
|
|
-import { addComponent, delComponent, getComponent, listByDevice, updateComponent } from '@/api/basecfg/component'
|
|
|
+import {addDevice, delDevice, getDevice, listDevRecursionByArea, updateDevice} from '@/api/device/device'
|
|
|
+import {areaTreeSelect} from '@/api/basecfg/area'
|
|
|
+import {getFacsCategorygetByCode, listAllFacs} from '@/api/basecfg/emsfacs'
|
|
|
+import {listSubsystemAll} from '@/api/adapter/subsystem'
|
|
|
+import {getModelByCode, listAllModel} from '@/api/basecfg/objModel'
|
|
|
+import {getObjAttr} from '@/api/basecfg/objAttribute'
|
|
|
+import {addAttrValueBatch} from '@/api/basecfg/objAttributeValue'
|
|
|
+import {addComponent, delComponent, getComponent, listByDevice, updateComponent} from '@/api/basecfg/component'
|
|
|
import Treeselect from '@riophae/vue-treeselect'
|
|
|
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
|
|
|
|
|
export default {
|
|
|
name: 'Device',
|
|
|
- components: { Treeselect },
|
|
|
+ components: {Treeselect},
|
|
|
data() {
|
|
|
return {
|
|
|
primary1: 'primary',
|
|
@@ -461,6 +477,32 @@ export default {
|
|
|
showDevProcessDrawer: false,
|
|
|
componentOpen: false,
|
|
|
istable: 2,
|
|
|
+ statusAttr: [{
|
|
|
+ attr: '实施电量',
|
|
|
+ attrUnit: 'kW·h',
|
|
|
+ attrValue: '10.3'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ attr: '设备运行状态',
|
|
|
+ attrUnit: '',
|
|
|
+ attrValue: '工作中'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ attr: '设备电压',
|
|
|
+ attrUnit: 'V',
|
|
|
+ attrValue: '20'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ attr: '设备电流',
|
|
|
+ attrUnit: 'A',
|
|
|
+ attrValue: '5'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ attr: '设备功率',
|
|
|
+ attrUnit: 'W',
|
|
|
+ attrValue: '100'
|
|
|
+ },
|
|
|
+ ],
|
|
|
// 遮罩层
|
|
|
loading: true,
|
|
|
// 选中数组
|
|
@@ -518,9 +560,9 @@ export default {
|
|
|
3: '风机'
|
|
|
},
|
|
|
objComTypeOptions: [
|
|
|
- { code: 1, name: '总开' },
|
|
|
- { code: 2, name: '照明' },
|
|
|
- { code: 3, name: '风机' }
|
|
|
+ {code: 1, name: '总开'},
|
|
|
+ {code: 2, name: '照明'},
|
|
|
+ {code: 3, name: '风机'}
|
|
|
|
|
|
],
|
|
|
curRow: {},
|
|
@@ -535,27 +577,27 @@ export default {
|
|
|
// 表单校验
|
|
|
rules: {
|
|
|
refFacs: [
|
|
|
- { required: true, message: '归属设施', trigger: 'blur' }
|
|
|
+ {required: true, message: '归属设施', trigger: 'blur'}
|
|
|
],
|
|
|
refArea: [
|
|
|
- { required: true, message: '安装位置', trigger: 'blur' }
|
|
|
+ {required: true, message: '安装位置', trigger: 'blur'}
|
|
|
],
|
|
|
deviceCode: [
|
|
|
- { required: true, message: '设备代码不能为空', trigger: 'blur' }
|
|
|
+ {required: true, message: '设备代码不能为空', trigger: 'blur'}
|
|
|
],
|
|
|
deviceName: [
|
|
|
- { required: true, message: '设备名称不能为空', trigger: 'blur' }
|
|
|
+ {required: true, message: '设备名称不能为空', trigger: 'blur'}
|
|
|
]
|
|
|
},
|
|
|
componentRules: {
|
|
|
deviceCode: [
|
|
|
- { required: true, message: '设备code不能为空', trigger: 'blur' }
|
|
|
+ {required: true, message: '设备code不能为空', trigger: 'blur'}
|
|
|
],
|
|
|
compoCode: [
|
|
|
- { required: true, message: '部件编码不能为空', trigger: 'blur' }
|
|
|
+ {required: true, message: '部件编码不能为空', trigger: 'blur'}
|
|
|
],
|
|
|
psCode: [
|
|
|
- { required: true, message: '工艺标签代码不能为空', trigger: 'blur' }
|
|
|
+ {required: true, message: '工艺标签代码不能为空', trigger: 'blur'}
|
|
|
]
|
|
|
}
|
|
|
}
|
|
@@ -618,7 +660,7 @@ export default {
|
|
|
},
|
|
|
handleComponentDelete(row) {
|
|
|
const ids = row.id || this.ids
|
|
|
- this.$modal.confirm('是否确认删除能源对象属性编号为"' + ids + '"的数据项?').then(function() {
|
|
|
+ this.$modal.confirm('是否确认删除能源对象属性编号为"' + ids + '"的数据项?').then(function () {
|
|
|
return delComponent(ids)
|
|
|
}).then(() => {
|
|
|
console.log('删除row', row.deviceCode)
|
|
@@ -659,7 +701,7 @@ export default {
|
|
|
/** 查询区域树结构 */
|
|
|
getAreaTree(areaCode, layer) {
|
|
|
areaTreeSelect(areaCode, layer).then(response => {
|
|
|
- this.treeAreaOptions = [{
|
|
|
+ this.treeAreaOptions = [{
|
|
|
id: '-1',
|
|
|
label: '全部',
|
|
|
children: response.data
|
|
@@ -930,7 +972,7 @@ export default {
|
|
|
/** 删除按钮操作 */
|
|
|
handleDelete(row) {
|
|
|
const ids = row.id || this.ids
|
|
|
- this.$modal.confirm('是否确认删除能源设备编号为"' + ids + '"的数据项?').then(function() {
|
|
|
+ this.$modal.confirm('是否确认删除能源设备编号为"' + ids + '"的数据项?').then(function () {
|
|
|
return delDevice(ids)
|
|
|
}).then(() => {
|
|
|
this.getList()
|
|
@@ -1093,7 +1135,7 @@ export default {
|
|
|
}
|
|
|
|
|
|
|
|
|
-.contents{
|
|
|
+.contents {
|
|
|
border: 20px solid #f2f2f5;
|
|
|
background-color: #f2f2f5;
|
|
|
}
|
|
@@ -1130,7 +1172,7 @@ export default {
|
|
|
border: 1px solid #bfcbd9;
|
|
|
border-radius: 4px;
|
|
|
overflow: hidden;
|
|
|
- box-shadow: 0 2px 12px 0 rgba(0,0,0,0.1);
|
|
|
+ box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
|
|
|
transition: 0.3s;
|
|
|
padding: 10px;
|
|
|
font-size: 14px;
|
|
@@ -1147,10 +1189,12 @@ export default {
|
|
|
font-size: 20px;
|
|
|
font-weight: bold;
|
|
|
}
|
|
|
-.device-code{
|
|
|
- color:cornflowerblue;
|
|
|
+
|
|
|
+.device-code {
|
|
|
+ color: cornflowerblue;
|
|
|
}
|
|
|
-.deviceOthers{
|
|
|
+
|
|
|
+.deviceOthers {
|
|
|
color: black;
|
|
|
}
|
|
|
|
|
@@ -1165,7 +1209,7 @@ export default {
|
|
|
display: flex;
|
|
|
justify-content: space-between;
|
|
|
padding: 5px;
|
|
|
- // background-color: #f9f9f9;
|
|
|
+ // background-color: #f9f9f9;
|
|
|
}
|
|
|
|
|
|
.device-footer .el-button {
|