feat(waybill): 添加车牌号搜索功能并修改查询条件为模糊匹配

refactor(CoilSelector): 增加已选钢卷统计信息显示并优化样式

fix(report): 将actionQueryParams中的updateBy改为createBy
This commit is contained in:
砂糖
2026-03-24 10:01:14 +08:00
parent 1fc85c990f
commit ccb0e2683a
6 changed files with 60 additions and 7 deletions

View File

@@ -105,6 +105,19 @@
<pagination v-if="!rangeMode" v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" <pagination v-if="!rangeMode" v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" @pagination="getList" /> :limit.sync="queryParams.pageSize" @pagination="getList" />
<div v-if="multiple && selectedCoils.length > 0" class="selected-stats">
<div class="stats-content">
<div class="stat-item">
<span class="stat-label">总卷数</span>
<span class="stat-value">{{ totalCoils }}</span>
</div>
<div class="stat-item">
<span class="stat-label">总净重</span>
<span class="stat-value">{{ totalNetWeight }}t</span>
</div>
</div>
</div>
<el-table v-if="multiple && selectedCoils.length > 0" :data="selectedCoils"> <el-table v-if="multiple && selectedCoils.length > 0" :data="selectedCoils">
<el-table-column v-for="column in renderColumns" :label="column.label" :align="column.align" :prop="column.prop" <el-table-column v-for="column in renderColumns" :label="column.label" :align="column.align" :prop="column.prop"
:width="column.width" :show-overflow-tooltip="column.showOverflowTooltip" /> :width="column.width" :show-overflow-tooltip="column.showOverflowTooltip" />
@@ -130,8 +143,8 @@
@node-click="handleNodeClick" :expand-on-click-node="false" highlight-current class="warehouse-tree"> @node-click="handleNodeClick" :expand-on-click-node="false" highlight-current class="warehouse-tree">
</el-tree> </el-tree>
</div> </div>
<warehouse-bird-mini ref="warehouseBirdMini" v-loading="warehouseLoading" :warehouseList="warehouseList" :id="selectedNodeId" <warehouse-bird-mini ref="warehouseBirdMini" v-loading="warehouseLoading" :warehouseList="warehouseList"
:canToggle="false" :canRelease="false" /> :id="selectedNodeId" :canToggle="false" :canRelease="false" />
</div> </div>
</DragResizeBox> </DragResizeBox>
</el-dialog> </el-dialog>
@@ -295,6 +308,17 @@ export default {
} else { } else {
return this.selectedCoil ? new Set([this.selectedCoil.coilId]) : new Set(); return this.selectedCoil ? new Set([this.selectedCoil.coilId]) : new Set();
} }
},
// 已选钢卷总数量
totalCoils() {
return this.selectedCoils.length;
},
// 已选钢卷总净重
totalNetWeight() {
return this.selectedCoils.reduce((total, item) => {
const weight = parseFloat(item.netWeight) || 0;
return total + weight;
}, 0).toFixed(2);
} }
}, },
watch: { watch: {
@@ -363,7 +387,7 @@ export default {
this.selectedNodeId = data.actualWarehouseId; this.selectedNodeId = data.actualWarehouseId;
this.getWarehouseList(data.actualWarehouseId); this.getWarehouseList(data.actualWarehouseId);
}, },
// 获取树形数据 // 获取树形数据
getWarehouseTree() { getWarehouseTree() {
this.treeLoading = true; this.treeLoading = true;
treeActualWarehouseTwoLevel() treeActualWarehouseTwoLevel()
@@ -692,6 +716,31 @@ export default {
text-align: right; text-align: right;
} }
// 已选钢卷统计信息样式
.selected-stats {
.stats-content {
display: flex;
gap: 24px;
.stat-item {
display: flex;
align-items: center;
gap: 8px;
.stat-label {
color: #666;
font-size: 14px;
}
.stat-value {
color: #333;
font-size: 16px;
font-weight: 600;
}
}
}
}
// 响应式调整 // 响应式调整
@media (max-width: 768px) { @media (max-width: 768px) {
.selected-coil-info { .selected-coil-info {

View File

@@ -20,6 +20,10 @@
<el-input v-model="queryParams.consigneeUnit" placeholder="请输入收货单位" clearable <el-input v-model="queryParams.consigneeUnit" placeholder="请输入收货单位" clearable
@keyup.enter.native="handleQuery" /> @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="车牌号" prop="licensePlate">
<el-input v-model="queryParams.licensePlate" placeholder="请输入车牌号" clearable
@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>

View File

@@ -19,7 +19,7 @@ export default {
return { return {
actionTypes: [11, 120], actionTypes: [11, 120],
actionQueryParams: { actionQueryParams: {
updateBy: 'suanzhakuguan' createBy: 'suanzhakuguan'
}, },
baseQueryParams: { baseQueryParams: {
createBy: 'suanzhakuguan', createBy: 'suanzhakuguan',

View File

@@ -19,7 +19,7 @@ export default {
return { return {
actionTypes: [11, 120], actionTypes: [11, 120],
actionQueryParams: { actionQueryParams: {
updateBy: 'suanzhakuguan' createBy: 'suanzhakuguan'
}, },
baseQueryParams: { baseQueryParams: {
createBy: 'suanzhakuguan', createBy: 'suanzhakuguan',

View File

@@ -19,7 +19,7 @@ export default {
return { return {
actionTypes: [11, 120], actionTypes: [11, 120],
actionQueryParams: { actionQueryParams: {
updateBy: 'suanzhakuguan' createBy: 'suanzhakuguan'
}, },
baseQueryParams: { baseQueryParams: {
createBy: 'suanzhakuguan', createBy: 'suanzhakuguan',

View File

@@ -71,7 +71,7 @@ public class WmsDeliveryWaybillServiceImpl implements IWmsDeliveryWaybillService
qw.like(StringUtils.isNotBlank(bo.getWaybillName()), "wd.waybill_name", bo.getWaybillName()); qw.like(StringUtils.isNotBlank(bo.getWaybillName()), "wd.waybill_name", bo.getWaybillName());
qw.eq(bo.getPlanId() != null, "wd.plan_id", bo.getPlanId()); qw.eq(bo.getPlanId() != null, "wd.plan_id", bo.getPlanId());
qw.eq(bo.getOrderId() != null, "wd.order_id", bo.getOrderId()); qw.eq(bo.getOrderId() != null, "wd.order_id", bo.getOrderId());
qw.eq(StringUtils.isNotBlank(bo.getLicensePlate()), "wd.license_plate", bo.getLicensePlate()); qw.like(StringUtils.isNotBlank(bo.getLicensePlate()), "wd.license_plate", bo.getLicensePlate());
qw.eq(StringUtils.isNotBlank(bo.getConsigneeUnit()), "wd.consignee_unit", bo.getConsigneeUnit()); qw.eq(StringUtils.isNotBlank(bo.getConsigneeUnit()), "wd.consignee_unit", bo.getConsigneeUnit());
qw.eq(StringUtils.isNotBlank(bo.getSenderUnit()), "wd.sender_unit", bo.getSenderUnit()); qw.eq(StringUtils.isNotBlank(bo.getSenderUnit()), "wd.sender_unit", bo.getSenderUnit());
qw.eq(bo.getDeliveryTime() != null, "wd.delivery_time", bo.getDeliveryTime()); qw.eq(bo.getDeliveryTime() != null, "wd.delivery_time", bo.getDeliveryTime());