Commit 14d0ab1d authored by wanghao's avatar wanghao

1 料架号和物料维护调整

2 货架位置点位显示调整。
parent cbea8fa7
......@@ -7,7 +7,7 @@ import com.zehong.common.core.domain.BaseEntity;
/**
* 料架和物料维护对象 t_rack_material_relation
*
*
* @author zehong
* @date 2025-09-24
*/
......@@ -41,21 +41,26 @@ public class TRackMaterialRelation extends BaseEntity
@Excel(name = "规格型号")
private String materialSpecifications;
/** 层数 */
private String layer;
/** 储位 */
private String location;
public void setRelationId(Long relationId)
{
this.relationId = relationId;
}
public Long getRelationId()
public Long getRelationId()
{
return relationId;
}
public void setRackCode(String rackCode)
public void setRackCode(String rackCode)
{
this.rackCode = rackCode;
}
public String getRackCode()
public String getRackCode()
{
return rackCode;
}
......@@ -73,25 +78,25 @@ public class TRackMaterialRelation extends BaseEntity
this.materialCode = materialCode;
}
public String getMaterialCode()
public String getMaterialCode()
{
return materialCode;
}
public void setMaterialName(String materialName)
public void setMaterialName(String materialName)
{
this.materialName = materialName;
}
public String getMaterialName()
public String getMaterialName()
{
return materialName;
}
public void setMaterialSpecifications(String materialSpecifications)
public void setMaterialSpecifications(String materialSpecifications)
{
this.materialSpecifications = materialSpecifications;
}
public String getMaterialSpecifications()
public String getMaterialSpecifications()
{
return materialSpecifications;
}
......@@ -103,6 +108,21 @@ public class TRackMaterialRelation extends BaseEntity
public void setShelf(String shelf) {
this.shelf = shelf;
}
public String getLayer() {
return layer;
}
public void setLayer(String layer) {
this.layer = layer;
}
public String getLocation() {
return location;
}
public void setLocation(String location) {
this.location = location;
}
@Override
public String toString() {
......
......@@ -16,6 +16,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="shelf" column="f_shelf" />
<result property="layer" column="layer" />
<result property="location" column="location" />
</resultMap>
<sql id="selectTRackMaterialRelationVo">
......@@ -29,11 +31,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
relation.create_time,
relation.update_by,
relation.update_time,
relation.f_shelf as shelf
relation.f_shelf,
CASE
WHEN location.f_location BETWEEN 1 AND 80 THEN '一层正面'
WHEN location.f_location BETWEEN 161 AND 240 THEN '一层反面'
WHEN location.f_location BETWEEN 81 AND 160 THEN '二层正面'
WHEN location.f_location BETWEEN 241 AND 320 THEN '二层反面'
WHEN location.f_location BETWEEN 321 AND 400 THEN '三层正面'
WHEN location.f_location BETWEEN 401 AND 480 THEN '三层反面'
WHEN location.f_location BETWEEN 481 AND 528 THEN '四层正面'
WHEN location.f_location BETWEEN 529 AND 576 THEN '五层正面'
ELSE '未知层'
END AS layer,
location.f_label as location
FROM
t_rack_material_relation relation
LEFT JOIN t_rack_material_info info ON info.material_id = relation.material_id
LEFT JOIN t_shelf_storage_location location ON location.f_rid = relation.rack_code
LEFT JOIN t_rack_material_info info ON info.material_id = relation.material_id
LEFT JOIN t_shelf_storage_location location ON location.f_rid = relation.rack_code
</sql>
<select id="selectTRackMaterialRelationList" parameterType="TRackMaterialRelation" resultMap="TRackMaterialRelationResult">
......
......@@ -81,9 +81,11 @@
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="料盘码" align="center" prop="rackCode" />
<el-table-column label="物料代码" align="center" prop="materialCode" />
<el-table-column label="料架号" align="center" prop="shelf" />
<el-table-column label="名称" align="center" prop="materialName" />
<el-table-column label="规格型号" align="center" prop="materialSpecifications" />
<el-table-column label="料架号" align="center" prop="shelf" />
<el-table-column label="层" align="center" prop="layer" />
<el-table-column label="位置" align="center" prop="location" />
<!--<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
......
......@@ -39,7 +39,7 @@
</div>
<div class="location-list">
<div :class="['grid-row', index < 6 ? 'top-rows' : 'bottom-rows']" v-for="(layout,index) in shelfLayoutList">
<div :class="['grid-row', index < 12 ? 'top-rows' : 'bottom-rows']" v-for="(layout,index) in shelfLayoutList">
<div class="row-title">{{ storey[index] }}</div>
<div
:id="'item-'+ location.index"
......@@ -115,13 +115,19 @@
shelfLayoutList: [],
storey:{
0: "一层正面",
1: "一层反面",
2: "二层正面",
3: "二层反面",
4: "三层正面",
5: "三层反面",
6: "四层正面",
7: "五层正面",
1: "",
2: "一层反面",
3: "",
4: "二层正面",
5: "",
6: "二层反面",
7: "",
8: "三层正面",
9: "",
10: "三层反面",
11: "",
12: "四层正面",
13: "五层正面",
},
lastSelectedItem: null,
lastCtrlSelectedItem: null,
......@@ -170,12 +176,18 @@
// 3 正 321-400 反 401-480
// 4 正 481-528
// 5 正 529-576
this.shelfLayoutList.push(this.shelfInfo.slice(0,80));
this.shelfLayoutList.push(this.shelfInfo.slice(80,160));
this.shelfLayoutList.push(this.shelfInfo.slice(160,240));
this.shelfLayoutList.push(this.shelfInfo.slice(240,320));
this.shelfLayoutList.push(this.shelfInfo.slice(320,400));
this.shelfLayoutList.push(this.shelfInfo.slice(400,480));
this.shelfLayoutList.push(this.shelfInfo.slice(0, 40));
this.shelfLayoutList.push(this.shelfInfo.slice(40, 80));
this.shelfLayoutList.push(this.shelfInfo.slice(80,120));
this.shelfLayoutList.push(this.shelfInfo.slice(120,160));
this.shelfLayoutList.push(this.shelfInfo.slice(160,200));
this.shelfLayoutList.push(this.shelfInfo.slice(200,240));
this.shelfLayoutList.push(this.shelfInfo.slice(240,280));
this.shelfLayoutList.push(this.shelfInfo.slice(280,320));
this.shelfLayoutList.push(this.shelfInfo.slice(320,360));
this.shelfLayoutList.push(this.shelfInfo.slice(360,400));
this.shelfLayoutList.push(this.shelfInfo.slice(400,440));
this.shelfLayoutList.push(this.shelfInfo.slice(440,480));
this.shelfLayoutList.push(this.shelfInfo.slice(480,528));
this.shelfLayoutList.push(this.shelfInfo.slice(528));
});
......@@ -425,9 +437,9 @@
}
.location-list{
display: grid;
grid-template-rows: repeat(5, 1fr);
gap: 12px;
display: flex;
flex-direction: column;
gap: 0; // 使用 flex 列布局,手动控制行间距
margin-top: 15px;
}
......@@ -462,9 +474,21 @@
.grid-row {
display: grid;
gap: 3px;
//height: 120px;
overflow-x: scroll;
overflow-x: auto;
white-space: nowrap;
margin-bottom: 6px; /* 组内行间距(小) */
/* 组间分隔:每组第一行(一层反面、二层正面、二层反面、三层正面、三层反面、四层、五层) */
&:nth-child(3), /* 一层反面第一行 */
&:nth-child(5), /* 二层正面第一行 */
&:nth-child(7), /* 二层反面第一行 */
&:nth-child(9), /* 三层正面第一行 */
&:nth-child(11), /* 三层反面第一行 */
&:nth-child(13), /* 四层正面 */
&:nth-child(14) { /* 五层正面 */
border-top: 2px solid #dcdfe6;
padding-top: 12px;
}
}
/* 简约风格滚动条 */
......@@ -486,7 +510,7 @@
}
.top-rows{
grid-template-columns: 110px repeat(80, minmax(30px, 1fr));
grid-template-columns: 110px repeat(40, minmax(30px, 1fr));
}
.bottom-rows {
......
......@@ -39,7 +39,7 @@
</div>
<div class="location-list">
<div :class="['grid-row', index < 6 ? 'top-rows' : 'bottom-rows']" v-for="(layout,index) in shelfLayoutList">
<div :class="['grid-row', index < 12 ? 'top-rows' : 'bottom-rows']" v-for="(layout,index) in shelfLayoutList">
<div class="row-title">{{ storey[index] }}</div>
<div
:id="'item-'+ location.index"
......@@ -116,13 +116,19 @@
shelfLayoutList: [],
storey:{
0: "一层正面",
1: "一层反面",
2: "二层正面",
3: "二层反面",
4: "三层正面",
5: "三层反面",
6: "四层正面",
7: "五层正面",
1: "",
2: "一层反面",
3: "",
4: "二层正面",
5: "",
6: "二层反面",
7: "",
8: "三层正面",
9: "",
10: "三层反面",
11: "",
12: "四层正面",
13: "五层正面",
},
lastSelectedItem: null,
lastCtrlSelectedItem: null,
......@@ -171,12 +177,18 @@
// 3 正 321-400 反 401-480
// 4 正 481-528
// 5 正 529-576
this.shelfLayoutList.push(this.shelfInfo.slice(0,80));
this.shelfLayoutList.push(this.shelfInfo.slice(80,160));
this.shelfLayoutList.push(this.shelfInfo.slice(160,240));
this.shelfLayoutList.push(this.shelfInfo.slice(240,320));
this.shelfLayoutList.push(this.shelfInfo.slice(320,400));
this.shelfLayoutList.push(this.shelfInfo.slice(400,480));
this.shelfLayoutList.push(this.shelfInfo.slice(0, 40));
this.shelfLayoutList.push(this.shelfInfo.slice(40, 80));
this.shelfLayoutList.push(this.shelfInfo.slice(80,120));
this.shelfLayoutList.push(this.shelfInfo.slice(120,160));
this.shelfLayoutList.push(this.shelfInfo.slice(160,200));
this.shelfLayoutList.push(this.shelfInfo.slice(200,240));
this.shelfLayoutList.push(this.shelfInfo.slice(240,280));
this.shelfLayoutList.push(this.shelfInfo.slice(280,320));
this.shelfLayoutList.push(this.shelfInfo.slice(320,360));
this.shelfLayoutList.push(this.shelfInfo.slice(360,400));
this.shelfLayoutList.push(this.shelfInfo.slice(400,440));
this.shelfLayoutList.push(this.shelfInfo.slice(440,480));
this.shelfLayoutList.push(this.shelfInfo.slice(480,528));
this.shelfLayoutList.push(this.shelfInfo.slice(528));
});
......@@ -425,9 +437,9 @@
}
.location-list{
display: grid;
grid-template-rows: repeat(5, 1fr);
gap: 12px;
display: flex;
flex-direction: column;
gap: 0; // 使用 flex 列布局,手动控制行间距
margin-top: 15px;
}
......@@ -460,11 +472,24 @@
}
.grid-row {
display: grid;
gap: 3px;
//height: 120px;
overflow-x: scroll;
overflow-x: auto;
white-space: nowrap;
margin-bottom: 6px; /* 组内行间距(小) */
/* 组间分隔:每组第一行(一层反面、二层正面、二层反面、三层正面、三层反面、四层、五层) */
&:nth-child(3), /* 一层反面第一行 */
&:nth-child(5), /* 二层正面第一行 */
&:nth-child(7), /* 二层反面第一行 */
&:nth-child(9), /* 三层正面第一行 */
&:nth-child(11), /* 三层反面第一行 */
&:nth-child(13), /* 四层正面 */
&:nth-child(14) { /* 五层正面 */
border-top: 2px solid #dcdfe6;
padding-top: 12px;
}
}
/* 简约风格滚动条 */
......@@ -486,7 +511,7 @@
}
.top-rows{
grid-template-columns: 110px repeat(80, minmax(30px, 1fr));
grid-template-columns: 110px repeat(40, minmax(30px, 1fr));
}
.bottom-rows {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment