feat(退火模块): 新增退火报表页面并优化现有功能

新增退火报表页面,支持按时间、炉号等条件查询统计信息
优化退火计划和性能页面,增加当前钢卷号和逻辑库区筛选
改进KLPTable浮层组件,支持嵌套属性访问和更智能的定位
重构退火计划控制页面布局和交互,提升用户体验
This commit is contained in:
2026-04-27 14:38:20 +08:00
parent 3c5c71408b
commit b3d33f4368
5 changed files with 537 additions and 327 deletions

View File

@@ -21,6 +21,12 @@
<el-form-item label="入场钢卷号" prop="enterCoilNo">
<el-input v-model="queryParams.enterCoilNo" placeholder="请输入入场钢卷号" clearable />
</el-form-item>
<el-form-item label="当前钢卷号" prop="currentCoilNo">
<el-input v-model="queryParams.currentCoilNo" placeholder="请输入当前钢卷号" clearable />
</el-form-item>
<el-form-item label="逻辑库区" prop="warehouseId">
<WarehouseSelect v-model="queryParams.warehouseId" placeholder="请选择" clearable filterable />
</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>
@@ -57,16 +63,31 @@
<el-table-column label="入场钢卷号" prop="enterCoilNo" align="center" />
<el-table-column label="当前钢卷号" prop="currentCoilNo" align="center" />
<el-table-column label="重量(t)" prop="netWeight" align="center" />
<el-table-column label="操作" align="center" width="120">
<template slot-scope="scope">
<el-button type="danger" icon="el-icon-alarm-clock" :plain="scope.row.abnormalCount == 0" size="mini"
@click="handleAddAbnormal(scope.row)" :loading="buttonLoading">
缺陷明细
<span v-if="scope.row.abnormalCount > 0">({{ scope.row.abnormalCount }})</span>
</el-button>
</template>
</el-table-column>
</el-table>
<el-dialog title="异常管理" :visible.sync="exceptionDialogVisible" fullscreen>
<exception-manager :coilId="currentCoilId"></exception-manager>
</el-dialog>
</div>
</template>
<script>
import { getAnnealPerformance } from "@/api/wms/annealPerformance";
import { listAnnealFurnace } from "@/api/wms/annealFurnace";
import ProductInfo from "@/components/KLPService/Renderer/ProductInfo";
import RawMaterialInfo from "@/components/KLPService/Renderer/RawMaterialInfo";
import CoilNo from "@/components/KLPService/Renderer/CoilNo.vue";
import { getAnnealPerformance } from "@/api/wms/annealPerformance"
import { listAnnealFurnace } from "@/api/wms/annealFurnace"
import ProductInfo from "@/components/KLPService/Renderer/ProductInfo"
import RawMaterialInfo from "@/components/KLPService/Renderer/RawMaterialInfo"
import CoilNo from "@/components/KLPService/Renderer/CoilNo.vue"
import ExceptionManager from "@/views/wms/coil/components/ExceptionManager";
import WarehouseSelect from "@/components/KLPService/WarehouseSelect/index.vue"
export default {
name: "AnnealPerformance",
@@ -83,12 +104,17 @@ export default {
summary: {},
detailList: [],
furnaceOptions: [],
buttonLoading: false,
exceptionDialogVisible: false,
currentCoilId: null,
};
},
components: {
ProductInfo,
RawMaterialInfo,
CoilNo,
ExceptionManager,
WarehouseSelect,
},
created() {
this.loadFurnaces();
@@ -100,6 +126,15 @@ export default {
this.furnaceOptions = response.rows || [];
});
},
handleAddAbnormal(row) {
this.currentCoilId = row.coilId;
if (!row.coilId) {
this.$message.error('请先选择钢卷');
return;
}
// 显示弹窗
this.exceptionDialogVisible = true;
},
handleQuery() {
this.loading = true;
getAnnealPerformance(this.queryParams).then(response => {