feat(inventory): 添加产品编码和型号搜索功能

- 在库存交付页面添加产品编码和型号搜索字段
- 在库存执行页面添加产品编码和型号搜索字段
- 在外部库存页面添加产品编码和型号搜索字段
- 在项目信息页面添加产品编码和型号搜索字段
- 更新库存交付数据映射器支持产品编码和型号查询
- 扩展项目信息实体类添加产品编码和型号属性
- 更新项目信息数据映射器支持产品编码和型号过滤查询
dev_1.0.1^2
chenhao 2026-02-09 10:09:37 +08:00
parent 7ff9552621
commit 830fde4bc0
7 changed files with 40 additions and 1 deletions

View File

@ -27,6 +27,12 @@
<el-option v-for="item in dict.type.delivery_type" :key="item.value" :label="item.label" :value="item.value"/> <el-option v-for="item in dict.type.delivery_type" :key="item.value" :label="item.label" :value="item.value"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="产品编码" prop="productCode">
<el-input v-model="queryParams.productCode" placeholder="请输入产品编码" clearable size="small" @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="产品型号" prop="model">
<el-input v-model="queryParams.model" placeholder="请输入产品型号" clearable size="small" @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button> <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-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
@ -169,6 +175,8 @@ export default {
orderCode: null, orderCode: null,
projectName: null, projectName: null,
deliveryType: null, deliveryType: null,
productCode: undefined,
model: undefined,
isAsc : 'desc', isAsc : 'desc',
orderByColumn : 'createTime', orderByColumn : 'createTime',
}, },

View File

@ -55,6 +55,12 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="产品编码" prop="productCode">
<el-input v-model="queryParams.productCode" placeholder="请输入产品编码" clearable size="small" @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="产品型号" prop="productModel">
<el-input v-model="queryParams.productModel" placeholder="请输入产品型号" clearable size="small" @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="时间选择"> <el-form-item label="时间选择">
<el-select v-model="queryParams.timeType" placeholder="请选择时间类型" clearable style="width: 150px"> <el-select v-model="queryParams.timeType" placeholder="请选择时间类型" clearable style="width: 150px">
<el-option label="要求到货时间" value="0" /> <el-option label="要求到货时间" value="0" />
@ -249,6 +255,8 @@ export default {
projectName: null, projectName: null,
outerStatus: null, outerStatus: null,
deliveryStatus: null, deliveryStatus: null,
productCode: null,
productModel: null,
signStatus: null, signStatus: null,
timeType: '0', // timeType: '0', //
orderByColumn: 'approveTime', orderByColumn: 'approveTime',

View File

@ -19,6 +19,12 @@
<el-option v-for="dict in dict.type.outer_delivery_status" :key="dict.value" :label="dict.label" :value="dict.value"/> <el-option v-for="dict in dict.type.outer_delivery_status" :key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="产品编码" prop="productCode">
<el-input v-model="queryParams.productCode" placeholder="请输入产品编码" clearable size="small" @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="产品型号" prop="model">
<el-input v-model="queryParams.model" placeholder="请输入产品型号" clearable size="small" @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button> <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-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
@ -102,6 +108,8 @@ export default {
orderCode: undefined, orderCode: undefined,
projectName: undefined, projectName: undefined,
deliveryStatus: undefined, deliveryStatus: undefined,
productCode: undefined,
model: undefined,
isAsc : 'desc', isAsc : 'desc',
orderByColumn : 'createTime', orderByColumn : 'createTime',
}, },

View File

@ -1,4 +1,4 @@
<template> <template xmlns="http://www.w3.org/1999/html">
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
<el-form-item label="项目编号" prop="projectCode"> <el-form-item label="项目编号" prop="projectCode">
@ -96,6 +96,13 @@
<el-option label="否" value="0" /> <el-option label="否" value="0" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="产品编码" prop="productCode">
<el-input v-model="queryParams.productCode" placeholder="请输入产品编码" clearable size="small" @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="产品型号" prop="productModel">
<el-input v-model="queryParams.productModel" placeholder="请输入产品型号" clearable size="small" @keyup.enter.native="handleQuery"/>
</el-form-item>
<br/>
<el-form-item label="时间选择" prop="timeType"> <el-form-item label="时间选择" prop="timeType">
<el-select v-model="queryParams.timeType" placeholder="请选择时间类型" @change="handleTimeTypeChange"> <el-select v-model="queryParams.timeType" placeholder="请选择时间类型" @change="handleTimeTypeChange">
<el-option label="预计下单时间" value="0" /> <el-option label="预计下单时间" value="0" />
@ -328,6 +335,8 @@ export default {
pageSize: 10, pageSize: 10,
projectCode: null, projectCode: null,
projectName: null, projectName: null,
productCode: null,
productModel: null,
customerName: null, customerName: null,
bgProperty: null, bgProperty: null,
industryType: null, industryType: null,

View File

@ -231,6 +231,8 @@ public class ProjectInfo extends BaseEntity
private List<OmsFileLog> projectFileList; private List<OmsFileLog> projectFileList;
private String fileId; private String fileId;
private String partnerSystemUserId; private String partnerSystemUserId;
private String productCode;
private String productModel;
private Integer quotationId; private Integer quotationId;
private List<Integer> quotationIdList; private List<Integer> quotationIdList;

View File

@ -54,6 +54,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="deliveryTime != null ">and t1.delivery_time = #{deliveryTime}</if> <if test="deliveryTime != null ">and t1.delivery_time = #{deliveryTime}</if>
<if test="deliveryType != null and deliveryType != ''">and t1.delivery_type = #{deliveryType}</if> <if test="deliveryType != null and deliveryType != ''">and t1.delivery_type = #{deliveryType}</if>
<if test="projectCode != null and projectCode != ''">and t5.project_code = #{projectCode}</if> <if test="projectCode != null and projectCode != ''">and t5.project_code = #{projectCode}</if>
<if test="model != null and model != ''">and t7.model like concat('%',#{model},'%')</if>
<if test="productCode != null and productCode != ''">and t7.product_code = #{productCode}</if>
<if test="productCodeList != null and productCodeList.size>0">and t3.product_code in <if test="productCodeList != null and productCodeList.size>0">and t3.product_code in
<foreach item="item" index="index" collection="productCodeList" separator="," open="(" close=")"> <foreach item="item" index="index" collection="productCodeList" separator="," open="(" close=")">
#{item} #{item}

View File

@ -148,6 +148,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="partnerCode != null and partnerCode != ''"> and t1.partner_code = #{partnerCode}</if> <if test="partnerCode != null and partnerCode != ''"> and t1.partner_code = #{partnerCode}</if>
<if test="partnerName != null and partnerName != ''"> and t1.partner_name = #{partnerName}</if> <if test="partnerName != null and partnerName != ''"> and t1.partner_name = #{partnerName}</if>
<if test="contactWay != null and contactWay != ''"> and t1.contact_way = #{contactWay}</if> <if test="contactWay != null and contactWay != ''"> and t1.contact_way = #{contactWay}</if>
<if test="productCode != null and productCode != ''"> and t1.id in (select project_id from project_product_info where product_bom_code = #{productCode})</if>
<if test="productModel != null and productModel != ''"> and t1.id in (select project_id from project_product_info where model like concat('%', #{productModel},'%'))</if>
<if test="estimatedAmount != null "> and t1.estimated_amount = #{estimatedAmount}</if> <if test="estimatedAmount != null "> and t1.estimated_amount = #{estimatedAmount}</if>
<if test="currencyType != null and currencyType != ''"> and t1.currency_type = #{currencyType}</if> <if test="currencyType != null and currencyType != ''"> and t1.currency_type = #{currencyType}</if>
<if test="estimatedOrderTime != null "> and t1.estimated_order_time = #{estimatedOrderTime}</if> <if test="estimatedOrderTime != null "> and t1.estimated_order_time = #{estimatedOrderTime}</if>