feat(purchaseorder): 添加产品编码和型号查询功能
- 在采购订单列表页面添加产品编码和产品型号查询条件输入框 - 在表格中新增产品编码、产品型号和数量列显示相关信息 - 实现多条目时通过popover弹窗展示所有产品的详细信息 - 后端增加按产品编码和型号过滤采购订单的功能 - 优化采购订单详情查询逻辑以支持新的筛选条件 - 调整产品描述列宽度以改善显示效果dev_1.0.1^2
parent
e04b80ff25
commit
e298748d45
|
|
@ -130,7 +130,7 @@
|
|||
<span>{{ scope.row.productModel }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="产品描述" show-overflow-tooltip>
|
||||
<el-table-column label="产品描述" width="300" >
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.productDescription }}</span>
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -25,6 +25,22 @@
|
|||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="产品编码" prop="productCode">
|
||||
<el-input
|
||||
v-model="queryParams.productCode"
|
||||
placeholder="请输入产品编码"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="产品型号" prop="productModel">
|
||||
<el-input
|
||||
v-model="queryParams.productModel"
|
||||
placeholder="请输入产品型号"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="汇智负责人" prop="ownerName">
|
||||
<el-input
|
||||
v-model="queryParams.ownerName"
|
||||
|
|
@ -103,6 +119,44 @@
|
|||
<el-table-column label="制造商名称" align="center" prop="vendorName" width="120"/>
|
||||
<el-table-column label="联系人" align="center" prop="vendorUser" width="100"/>
|
||||
<el-table-column label="联系电话" align="center" prop="vendorPhone" width="120"/>
|
||||
<el-table-column label="产品编码" align="center" width="150">
|
||||
<template slot-scope="scope">
|
||||
<div v-if="scope.row.omsPurchaseOrderItemList && scope.row.omsPurchaseOrderItemList.length > 0">
|
||||
<span v-if="scope.row.omsPurchaseOrderItemList.length === 1">
|
||||
{{ scope.row.omsPurchaseOrderItemList[0].productCode }}
|
||||
</span>
|
||||
<el-popover v-else placement="bottom" width="500" trigger="click">
|
||||
<el-table :data="scope.row.omsPurchaseOrderItemList" size="mini">
|
||||
<el-table-column property="productCode" label="产品编码" width="180"></el-table-column>
|
||||
<el-table-column property="productModel" label="产品型号" width="180"></el-table-column>
|
||||
<el-table-column property="quantity" label="数量" width="80"></el-table-column>
|
||||
</el-table>
|
||||
<div slot="reference" style="cursor: pointer; color: #409EFF">
|
||||
{{ scope.row.omsPurchaseOrderItemList[0].productCode }} <i class="el-icon-arrow-down"></i>
|
||||
</div>
|
||||
</el-popover>
|
||||
</div>
|
||||
<span v-else>-</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="产品型号" align="center" width="150">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.omsPurchaseOrderItemList && scope.row.omsPurchaseOrderItemList.length > 0">
|
||||
{{ scope.row.omsPurchaseOrderItemList[0].productModel }}
|
||||
<span v-if="scope.row.omsPurchaseOrderItemList.length > 1">...</span>
|
||||
</span>
|
||||
<span v-else>-</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="数量" align="center" width="80">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.omsPurchaseOrderItemList && scope.row.omsPurchaseOrderItemList.length > 0">
|
||||
{{ scope.row.omsPurchaseOrderItemList[0].quantity }}
|
||||
<span v-if="scope.row.omsPurchaseOrderItemList.length > 1">...</span>
|
||||
</span>
|
||||
<span v-else>-</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="含税总计金额" align="center" prop="totalAmount" width="120"/>
|
||||
<el-table-column label="发起日期" align="center" prop="createTime" width="180" sortable>
|
||||
<template slot-scope="scope">
|
||||
|
|
@ -345,6 +399,8 @@ export default {
|
|||
ownerName: null,
|
||||
approveStatus: null,
|
||||
confirmStatus: null,
|
||||
productModel: null,
|
||||
productCode: null,
|
||||
status: null,
|
||||
orderByColumn: 'createTime',
|
||||
isAsc: 'desc'
|
||||
|
|
|
|||
|
|
@ -101,7 +101,13 @@ public class OmsPurchaseOrderServiceImpl implements IOmsPurchaseOrderService, To
|
|||
@Override
|
||||
public List<OmsPurchaseOrder> selectOmsPurchaseOrderList(OmsPurchaseOrder omsPurchaseOrder)
|
||||
{
|
||||
return omsPurchaseOrderMapper.selectOmsPurchaseOrderList(omsPurchaseOrder);
|
||||
List<OmsPurchaseOrder> omsPurchaseOrders = omsPurchaseOrderMapper.selectOmsPurchaseOrderList(omsPurchaseOrder);
|
||||
if (CollUtil.isNotEmpty(omsPurchaseOrders)) {
|
||||
List<OmsPurchaseOrderItem> omsPurchaseOrderItems = omsPurchaseOrderMapper.listItemByCodeList(omsPurchaseOrders.stream().map(OmsPurchaseOrder::getPurchaseNo).collect(Collectors.toList()));
|
||||
Map<String, List<OmsPurchaseOrderItem>> collect = omsPurchaseOrderItems.stream().collect(Collectors.groupingBy(OmsPurchaseOrderItem::getPurchaseNo));
|
||||
omsPurchaseOrders.forEach(item -> item.setOmsPurchaseOrderItemList(collect.get(item.getPurchaseNo())));
|
||||
}
|
||||
return omsPurchaseOrders;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -90,6 +90,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<if test="flowType != null "> and t1.flow_type = #{flowType}</if>
|
||||
<if test="vendorName != null "> and t2.vendor_name = #{vendorName}</if>
|
||||
<if test="ownerName != null "> and t1.owner_name = #{ownerName}</if>
|
||||
<if test="productCode != null and productCode!='' "> and t1.id in (select purchase_id from oms_purchase_order_item where product_code =#{productCode})</if>
|
||||
<if test="productModel != null and productModel!=''"> and t1.id in
|
||||
(select purchase_id from oms_purchase_order_item t1 left join product_info t2 on t1.product_code=t2.product_code where t2.model like concat('%',#{productModel},'%'))</if>
|
||||
<if test="authVendorCodeList != null and authVendorCodeList.size>0 "> and t2.vendor_code in
|
||||
<foreach item="item" collection="authVendorCodeList" separator="," open="(" close=")">#{item}</foreach>
|
||||
</if>
|
||||
|
|
@ -260,10 +263,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
t1.amount_total,
|
||||
t1.delivery_date,
|
||||
t1.inner_quantity,
|
||||
opo.purchase_no
|
||||
opo.purchase_no,
|
||||
t3.model as product_model
|
||||
FROM
|
||||
oms_purchase_order_item t1
|
||||
inner join oms_purchase_order opo on t1.purchase_id = opo.id
|
||||
left join product_info t3 on t1.product_code=t3.product_code
|
||||
where opo.purchase_no in
|
||||
<foreach item="item" collection="list" separator="," open="(" close=")">
|
||||
#{item}
|
||||
|
|
|
|||
Loading…
Reference in New Issue