feat(wms/coil/materialWarning): 完善物料超期预警查询条件
新增物料类型筛选、产品规格/材质/厂家等多维度查询字段,调整表单布局与默认参数,适配成品/原料两类物料的查询需求
This commit is contained in:
@@ -1,18 +1,78 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<el-form ref="queryForm" :model="queryParams" size="small" :inline="true" label-width="100px">
|
<el-form ref="queryForm" :model="queryParams" size="small" :inline="true" label-width="60px">
|
||||||
<el-form-item label="超期天数">
|
<el-form-item label="物料类型" prop="materialType">
|
||||||
<el-input-number v-model="overdueDays" :min="1" :max="3650" size="small" @change="handleQuery" />
|
<el-select v-model="queryParams.materialType" placeholder="请选择物料类型" clearable @change="handleMaterialTypeChange">
|
||||||
<span style="margin-left: 6px; color: #909399; font-size: 12px;">创建超过此天数的钢卷</span>
|
<el-option label="成品" value="成品"></el-option>
|
||||||
|
<el-option label="原料" value="原料"></el-option>
|
||||||
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
|
<template v-if="queryParams.itemType">
|
||||||
|
<el-form-item label="产品名称" prop="itemName">
|
||||||
|
<muti-select v-model="queryParams.itemName" :options="dict.type.coil_itemname" placeholder="请选择物料" clearable />
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="规格" prop="itemSpecification">
|
||||||
|
<memo-input v-model="queryParams.itemSpecification" storageKey="coilSpec" placeholder="请选择规格" clearable
|
||||||
|
@keyup.enter.native="handleQuery" />
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="材质" prop="itemMaterial">
|
||||||
|
<muti-select v-model="queryParams.itemMaterial" :options="dict.type.coil_material" placeholder="请选择材质" clearable />
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="表面处理">
|
||||||
|
<el-input v-model="queryParams.itemSurfaceTreatmentDesc" placeholder="请输入表面处理" clearable size="small" />
|
||||||
|
</el-form-item>
|
||||||
|
</template>
|
||||||
|
|
||||||
<el-form-item label="逻辑库位" prop="warehouseId">
|
<el-form-item label="逻辑库位" prop="warehouseId">
|
||||||
<warehouse-select v-model="queryParams.warehouseId" placeholder="请选择逻辑库位"
|
<warehouse-select v-model="queryParams.warehouseId" placeholder="请选择逻辑库位"
|
||||||
style="width: 200px; display: inline-block;" clearable />
|
style="display: inline-block;" clearable />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="产品名称" prop="itemName">
|
<el-form-item label="入场卷号" prop="enterCoilNo">
|
||||||
<muti-select v-model="queryParams.itemName" :options="dict.type.coil_itemname" placeholder="请选择物料" clearable />
|
<el-input v-model="queryParams.enterCoilNo" placeholder="请输入入场钢卷号" clearable
|
||||||
|
@keyup.enter.native="handleQuery" />
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="当前卷号" prop="currentCoilNo">
|
||||||
|
<el-input v-model="queryParams.currentCoilNo" placeholder="请输入当前钢卷号" clearable
|
||||||
|
@keyup.enter.native="handleQuery" />
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="厂家" prop="itemManufacturer">
|
||||||
|
<muti-select v-model="queryParams.itemManufacturer" :options="dict.type.coil_manufacturer" placeholder="请选择厂家" clearable />
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="包装" prop="packagingRequirement">
|
||||||
|
<el-select v-model="queryParams.packagingRequirement" placeholder="请选择包装" clearable style="width: 100%">
|
||||||
|
<el-option label="裸包" value="裸包" />
|
||||||
|
<el-option label="普包" value="普包" />
|
||||||
|
<el-option label="简包" value="简包" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="品质">
|
||||||
|
<muti-select v-model="queryParams.qualityStatusCsv" :options="dict.type.coil_quality_status" placeholder="请选择品质" clearable />
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="业务员" prop="saleName">
|
||||||
|
<el-input v-model="queryParams.saleName" placeholder="请输入业务员" clearable size="small" />
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="合同号" prop="contractNo">
|
||||||
|
<el-input v-model="queryParams.contractNo" placeholder="请输入合同号" clearable size="small" />
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="备注">
|
||||||
|
<el-input v-model="queryParams.remark" placeholder="请输入备注" clearable @keyup.enter.native="handleQuery" />
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="超期天数">
|
||||||
|
<el-input-number v-model="overdueDays" :min="1" :max="3650" size="small" @change="handleQuery" />
|
||||||
|
<span style="margin-left: 6px; color: #909399; font-size: 12px;">创建超过此天数的钢卷</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
@@ -25,7 +85,7 @@
|
|||||||
<el-row :gutter="10" class="mb8">
|
<el-row :gutter="10" class="mb8">
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<span style="color: #909399; font-size: 13px;">
|
<span style="color: #909399; font-size: 13px;">
|
||||||
查询条件:创建时间早于 <b>{{ queryParams.byCreateTimeEnd }}</b>,且当前仍在库(status=0, dataType=1)
|
查询条件:创建时间早于 <b>{{ queryParams.byCreateTimeEnd }}</b>,且当前仍在库。
|
||||||
</span>
|
</span>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -103,6 +163,8 @@ import ProductInfo from "@/components/KLPService/Renderer/ProductInfo";
|
|||||||
import RawMaterialInfo from "@/components/KLPService/Renderer/RawMaterialInfo";
|
import RawMaterialInfo from "@/components/KLPService/Renderer/RawMaterialInfo";
|
||||||
import CoilNo from "@/components/KLPService/Renderer/CoilNo.vue";
|
import CoilNo from "@/components/KLPService/Renderer/CoilNo.vue";
|
||||||
import MutiSelect from "@/components/MutiSelect";
|
import MutiSelect from "@/components/MutiSelect";
|
||||||
|
import MemoInput from "@/components/MemoInput";
|
||||||
|
import ActualWarehouseSelect from "@/components/KLPService/ActualWarehouseSelect";
|
||||||
import LabelRender from '../panels/LabelRender/index.vue'
|
import LabelRender from '../panels/LabelRender/index.vue'
|
||||||
import { getCoilTagPrintType } from '@/views/wms/coil/js/coilPrint';
|
import { getCoilTagPrintType } from '@/views/wms/coil/js/coilPrint';
|
||||||
|
|
||||||
@@ -121,6 +183,8 @@ export default {
|
|||||||
RawMaterialInfo,
|
RawMaterialInfo,
|
||||||
CoilNo,
|
CoilNo,
|
||||||
MutiSelect,
|
MutiSelect,
|
||||||
|
MemoInput,
|
||||||
|
ActualWarehouseSelect,
|
||||||
LabelRender,
|
LabelRender,
|
||||||
},
|
},
|
||||||
dicts: ['coil_itemname', 'coil_material', 'coil_manufacturer', 'coil_quality_status'],
|
dicts: ['coil_itemname', 'coil_material', 'coil_manufacturer', 'coil_quality_status'],
|
||||||
@@ -139,10 +203,26 @@ export default {
|
|||||||
pageSize: 50,
|
pageSize: 50,
|
||||||
dataType: 1,
|
dataType: 1,
|
||||||
status: 0,
|
status: 0,
|
||||||
|
materialType: '成品',
|
||||||
|
itemType: 'product',
|
||||||
|
selectType: 'product',
|
||||||
byCreateTimeStart: '1970-01-01 00:00:00',
|
byCreateTimeStart: '1970-01-01 00:00:00',
|
||||||
byCreateTimeEnd: formatDateTime(twentyDaysAgo),
|
byCreateTimeEnd: formatDateTime(twentyDaysAgo),
|
||||||
warehouseId: undefined,
|
warehouseId: undefined,
|
||||||
itemName: undefined,
|
itemName: undefined,
|
||||||
|
enterCoilNo: undefined,
|
||||||
|
currentCoilNo: undefined,
|
||||||
|
itemSpecification: undefined,
|
||||||
|
itemMaterial: undefined,
|
||||||
|
itemManufacturer: undefined,
|
||||||
|
itemSurfaceTreatmentDesc: undefined,
|
||||||
|
trimmingRequirement: undefined,
|
||||||
|
packagingRequirement: undefined,
|
||||||
|
qualityStatusCsv: undefined,
|
||||||
|
actualWarehouseId: undefined,
|
||||||
|
saleName: undefined,
|
||||||
|
contractNo: undefined,
|
||||||
|
remark: undefined,
|
||||||
},
|
},
|
||||||
labelRender: {
|
labelRender: {
|
||||||
visible: false,
|
visible: false,
|
||||||
@@ -162,7 +242,9 @@ export default {
|
|||||||
endDate.setDate(endDate.getDate() - this.overdueDays);
|
endDate.setDate(endDate.getDate() - this.overdueDays);
|
||||||
this.queryParams.byCreateTimeEnd = formatDateTime(endDate);
|
this.queryParams.byCreateTimeEnd = formatDateTime(endDate);
|
||||||
|
|
||||||
const { orderBy, ...statisticQuery } = this.queryParams;
|
this.queryParams.selectType = this.queryParams.itemType;
|
||||||
|
|
||||||
|
const { orderBy, materialType, itemType, ...statisticQuery } = this.queryParams;
|
||||||
|
|
||||||
listMaterialCoil(this.queryParams).then(response => {
|
listMaterialCoil(this.queryParams).then(response => {
|
||||||
this.coilList = response.rows;
|
this.coilList = response.rows;
|
||||||
@@ -182,16 +264,46 @@ export default {
|
|||||||
this.getList();
|
this.getList();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
handleMaterialTypeChange(value) {
|
||||||
|
if (value === '原料') {
|
||||||
|
this.queryParams.itemType = 'raw_material';
|
||||||
|
this.queryParams.selectType = 'raw_material';
|
||||||
|
} else if (value === '成品') {
|
||||||
|
this.queryParams.itemType = 'product';
|
||||||
|
this.queryParams.selectType = 'product';
|
||||||
|
} else {
|
||||||
|
this.queryParams.itemType = undefined;
|
||||||
|
this.queryParams.selectType = undefined;
|
||||||
|
}
|
||||||
|
this.handleQuery();
|
||||||
|
},
|
||||||
|
|
||||||
resetQuery() {
|
resetQuery() {
|
||||||
this.queryParams = {
|
this.queryParams = {
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
pageSize: 50,
|
pageSize: 50,
|
||||||
dataType: 1,
|
dataType: 1,
|
||||||
status: 0,
|
status: 0,
|
||||||
|
materialType: '成品',
|
||||||
|
itemType: 'product',
|
||||||
|
selectType: 'product',
|
||||||
byCreateTimeStart: '1970-01-01 00:00:00',
|
byCreateTimeStart: '1970-01-01 00:00:00',
|
||||||
byCreateTimeEnd: '',
|
byCreateTimeEnd: '',
|
||||||
warehouseId: undefined,
|
warehouseId: undefined,
|
||||||
itemName: undefined,
|
itemName: undefined,
|
||||||
|
enterCoilNo: undefined,
|
||||||
|
currentCoilNo: undefined,
|
||||||
|
itemSpecification: undefined,
|
||||||
|
itemMaterial: undefined,
|
||||||
|
itemManufacturer: undefined,
|
||||||
|
itemSurfaceTreatmentDesc: undefined,
|
||||||
|
trimmingRequirement: undefined,
|
||||||
|
packagingRequirement: undefined,
|
||||||
|
qualityStatusCsv: undefined,
|
||||||
|
actualWarehouseId: undefined,
|
||||||
|
saleName: undefined,
|
||||||
|
contractNo: undefined,
|
||||||
|
remark: undefined,
|
||||||
orderBy: true,
|
orderBy: true,
|
||||||
};
|
};
|
||||||
this.overdueDays = 20;
|
this.overdueDays = 20;
|
||||||
|
|||||||
Reference in New Issue
Block a user