feat(KLPService选择组件): 新增默认查询参数支持并优化钢卷录入页面

1. 为ProductSelect和RawMaterialSelect组件新增defaultQueryParams属性,支持传入默认查询参数合并到请求参数中
2. 优化钢卷录入页面:默认选中成品类型,根据解析的钢卷数据自动设置物料选择器的查询参数
3. 移除页面冗余空行和注释代码
This commit is contained in:
2026-05-21 13:38:35 +08:00
parent 75954a3a9c
commit 96b49e71f4
4 changed files with 64 additions and 38 deletions

View File

@@ -163,6 +163,10 @@ export default {
filters: {
type: Object,
default: () => ({})
},
defaultQueryParams: {
type: Object,
default: () => ({})
}
},
data() {
@@ -235,6 +239,9 @@ export default {
this.getList();
this.listRecentlySelected();
}
},
defaultQueryParams(val) {
this.queryParams = { ...this.queryParams, ...val };
}
},
methods: {

View File

@@ -151,6 +151,10 @@ export default {
filters: {
type: Object,
default: () => ({})
},
defaultQueryParams: {
type: Object,
default: () => ({})
}
},
data() {
@@ -234,6 +238,9 @@ export default {
this.listRecentlySelected();
this.getList();
}
},
defaultQueryParams(val) {
this.queryParams = { ...this.queryParams, ...val };
}
},
methods: {

View File

@@ -1,13 +1,10 @@
<template>
<div class="app-container" v-loading="loading">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="90px">
<el-form-item label="开始时间" prop="startTime">
<el-date-picker v-model="queryParams.startTime" type="datetime" value-format="yyyy-MM-dd HH:mm:ss"
placeholder="选择开始时间" />
</el-form-item>
<el-form-item label="结束时间" prop="endTime">
<el-date-picker v-model="queryParams.endTime" type="datetime" value-format="yyyy-MM-dd HH:mm:ss"
placeholder="选择结束时间" />
<el-form-item label="时间">
<time-range-picker v-model="timeRangeParams" start-key="startTime" end-key="endTime"
:default-start-time="queryParams.startTime" :default-end-time="queryParams.endTime"
@quick-select="handleQuery" />
</el-form-item>
<el-form-item label="目标炉" prop="targetFurnaceId">
<el-select v-model="queryParams.targetFurnaceId" placeholder="请选择" clearable filterable>
@@ -74,21 +71,35 @@ import ProductInfo from "@/components/KLPService/Renderer/ProductInfo";
import RawMaterialInfo from "@/components/KLPService/Renderer/RawMaterialInfo";
import CoilNo from "@/components/KLPService/Renderer/CoilNo.vue";
import WarehouseSelect from "@/components/KLPService/WarehouseSelect/index.vue";
import TimeRangePicker from "@/views/wms/report/components/timeRangePicker.vue";
export default {
name: "AnnealPerformance",
components: {
ProductInfo,
RawMaterialInfo,
CoilNo,
WarehouseSelect,
TimeRangePicker,
},
data() {
const startTime = (() => {
const d = new Date(); d.setDate(d.getDate() - 1);
return `${d.getFullYear()}-${String(d.getMonth()+1).padStart(2,'0')}-${String(d.getDate()).padStart(2,'0')} 00:00:00`;
})()
const endTime = (() => {
const d = new Date();
return `${d.getFullYear()}-${String(d.getMonth()+1).padStart(2,'0')}-${String(d.getDate()).padStart(2,'0')} 00:00:00`;
})()
return {
loading: false,
timeRangeParams: {
startTime,
endTime,
},
queryParams: {
startTime: (() => {
const d = new Date(); d.setDate(d.getDate() - 1);
return `${d.getFullYear()}-${String(d.getMonth()+1).padStart(2,'0')}-${String(d.getDate()).padStart(2,'0')} 00:00:00`;
})(),
endTime: (() => {
const d = new Date();
return `${d.getFullYear()}-${String(d.getMonth()+1).padStart(2,'0')}-${String(d.getDate()).padStart(2,'0')} 00:00:00`;
})(),
startTime,
endTime,
targetFurnaceId: undefined,
planNo: undefined,
enterCoilNo: undefined,
@@ -98,11 +109,15 @@ export default {
furnaceOptions: [],
};
},
components: {
ProductInfo,
RawMaterialInfo,
CoilNo,
WarehouseSelect,
watch: {
timeRangeParams: {
handler(newVal) {
this.queryParams.startTime = newVal.startTime
this.queryParams.endTime = newVal.endTime
},
deep: true,
immediate: true
}
},
created() {
this.loadFurnaces();

View File

@@ -1,16 +1,5 @@
<template>
<div class="typing-coil-container">
<!-- 顶部操作栏 -->
<!-- <div class="header-bar">
<div class="header-title">
<i class="el-icon-edit"></i>
<span>钢卷信息更新</span>
</div>
<div class="header-actions">
</div>
</div> -->
<div>
<CoilInfoRender title="原料信息" :coilInfo="currentInfo" border>
<template slot="extra">
@@ -65,8 +54,6 @@
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="材料类型" prop="materialType">
@@ -80,9 +67,11 @@
<el-col :span="8">
<el-form-item :label="getItemLabel" prop="itemId" :rules="rules.itemId">
<RawMaterialSelect v-if="updateForm.materialType === '原料'" v-model="updateForm.itemId"
placeholder="请选择原料" style="width: 100%" clearable :disabled="!updateForm.materialType" />
placeholder="请选择原料" style="width: 100%" clearable :disabled="!updateForm.materialType"
:default-query-params="itemSelectorQueryParams" />
<ProductSelect v-else-if="updateForm.materialType === '成品'" v-model="updateForm.itemId"
placeholder="请选择成品" style="width: 100%" clearable :disabled="!updateForm.materialType" />
placeholder="请选择成品" style="width: 100%" clearable :disabled="!updateForm.materialType"
:default-query-params="itemSelectorQueryParams" />
<div v-else>请先选择物料类型</div>
</el-form-item>
</el-col>
@@ -371,8 +360,8 @@ export default {
updateForm: {
currentCoilNo: '',
team: '',
materialType: null,
itemType: null,
materialType: '成品',
itemType: 'product',
itemId: null,
grossWeight: undefined,
netWeight: undefined,
@@ -460,6 +449,7 @@ export default {
cacheDialogVisible: false,
currentCache: null,
parsedCacheData: null,
itemSelectorQueryParams: {},
};
},
computed: {
@@ -567,6 +557,14 @@ export default {
}
if (data.exit_thick != null) this.$set(this.updateForm, 'actualThickness', parseFloat(data.exit_thick))
if (data.exit_width != null) this.$set(this.updateForm, 'actualWidth', parseFloat(data.exit_width))
const query = {
specification: data.exit_thick ? `${data.exit_thick}*${data.exit_width}` : '',
material: data.grade,
}
this.itemSelectorQueryParams = query
// 包装要求
if (data.park_type != null && data.park_type !== '') {
this.$set(this.updateForm, 'packagingRequirement', data.park_type)
@@ -633,7 +631,6 @@ export default {
}
},
// 复制当前信息到更新表单
copyFromCurrent() {
// 复制除了指定字段之外的其他字段