feat(ems): 新增能源记录管理功能并优化设备管理界面
- 添加能源记录API及相关功能 - 重构设备管理界面,简化表单字段 - 实现能源消耗表格视图,支持按月筛选和编辑 - 移除设备管理中的冗余字段和绑定库区显示 - 调整设备状态选择器为按钮样式
This commit is contained in:
@@ -35,8 +35,8 @@
|
||||
<el-collapse-transition>
|
||||
<div class="search-panel" v-show="showSearch">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="80px">
|
||||
<el-form-item label="设备编号">
|
||||
<el-input v-model="queryParams.meterCode" placeholder="请输入设备编号" clearable @keyup.enter.native="handleQuery" />
|
||||
<el-form-item label="设备名称">
|
||||
<el-input v-model="queryParams.meterCode" placeholder="请输入设备名称" clearable @keyup.enter.native="handleQuery" />
|
||||
</el-form-item>
|
||||
<el-form-item label="能源类型">
|
||||
<el-select v-model="queryParams.energyTypeId" placeholder="全部" clearable @change="handleQuery">
|
||||
@@ -98,7 +98,7 @@
|
||||
<span class="label">安装日期</span>
|
||||
<span class="value">{{ meter.installDate || '-' }}</span>
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<!-- <div class="info-item">
|
||||
<span class="label">绑定库区</span>
|
||||
<el-tag
|
||||
v-if="getBindingWarehouse(meter.meterId)"
|
||||
@@ -108,17 +108,16 @@
|
||||
{{ getBindingWarehouse(meter.meterId) }}
|
||||
</el-tag>
|
||||
<el-tag v-else type="info" size="small">未绑定</el-tag>
|
||||
</div>
|
||||
</div> -->
|
||||
<div class="info-item status-selector">
|
||||
<span class="label">状态</span>
|
||||
<el-radio-group
|
||||
v-model="meter.status"
|
||||
size="small"
|
||||
@input="handleStatusChange(meter)"
|
||||
>
|
||||
<el-radio :label="0">在用</el-radio>
|
||||
<el-radio :label="1">停用</el-radio>
|
||||
<el-radio :label="2">维护</el-radio>
|
||||
<el-radio-button :label="0">在用</el-radio-button>
|
||||
<el-radio-button :label="1">停用</el-radio-button>
|
||||
<el-radio-button :label="2">维护</el-radio-button>
|
||||
</el-radio-group>
|
||||
</div>
|
||||
</div>
|
||||
@@ -139,28 +138,19 @@
|
||||
<!-- 能源类型选择 -->
|
||||
<el-form-item label="能源类型" prop="energyTypeId">
|
||||
<div class="energy-type-selector">
|
||||
<div
|
||||
v-for="item in energyTypeList"
|
||||
:key="item.energyTypeId"
|
||||
class="energy-card"
|
||||
:class="{ active: meterForm.energyTypeId === item.energyTypeId }"
|
||||
@click="selectEnergyType(item)"
|
||||
>
|
||||
<svg-icon :icon-class="getEnergyIcon(item.name)" class="energy-icon"></svg-icon>
|
||||
<div class="energy-name">{{ item.name }}</div>
|
||||
</div>
|
||||
<el-select v-model="meterForm.energyTypeId" placeholder="请选择能源类型" filterable clearable>
|
||||
<el-option v-for="item in energyTypeList" :key="item.energyTypeId" :label="item.name" :value="item.energyTypeId" />
|
||||
</el-select>
|
||||
</div>
|
||||
</el-form-item>
|
||||
|
||||
<!-- 设备编号 -->
|
||||
<el-form-item label="设备编号" prop="meterCode">
|
||||
<el-form-item label="设备名称" prop="meterCode">
|
||||
<el-input
|
||||
v-model="meterForm.meterCode"
|
||||
placeholder="请输入设备编号(如 W-001)"
|
||||
:disabled="isEditMode"
|
||||
placeholder="请输入设备名称"
|
||||
maxlength="50"
|
||||
/>
|
||||
<div class="form-hint">选择能源类型后前缀会自动填入</div>
|
||||
</el-form-item>
|
||||
|
||||
<!-- 基本信息 -->
|
||||
@@ -184,7 +174,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listMeter, getMeter, addMeter, updateMeter, delMeter, downloadMeterTemplate, importMeters } from "@/api/ems/meter";
|
||||
import { listMeter, addMeter, updateMeter, delMeter, downloadMeterTemplate, importMeters } from "@/api/ems/meter";
|
||||
import { listEnergyType } from "@/api/ems/energyType";
|
||||
import { listWarehouse } from '@/api/wms/warehouse'
|
||||
import { fetchEnergyLinkMatrix, addEnergyLink } from '@/api/ems/energyLink'
|
||||
@@ -228,10 +218,8 @@ export default {
|
||||
isEditMode: false,
|
||||
meterForm: {},
|
||||
meterRules: {
|
||||
meterCode: [{ required: true, message: '设备编号不能为空', trigger: 'blur' }],
|
||||
meterCode: [{ required: true, message: '设备名称不能为空', trigger: 'blur' }],
|
||||
energyTypeId: [{ required: true, message: '能源类型不能为空', trigger: 'blur' }],
|
||||
model: [{ required: true, message: '型号不能为空', trigger: 'blur' }],
|
||||
manufacturer: [{ required: true, message: '制造商不能为空', trigger: 'blur' }],
|
||||
}
|
||||
};
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user