Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
S
smart-rack-base
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
耿迪迪
smart-rack-base
Commits
14d0ab1d
Commit
14d0ab1d
authored
Apr 21, 2026
by
wanghao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1 料架号和物料维护调整
2 货架位置点位显示调整。
parent
cbea8fa7
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
138 additions
and
53 deletions
+138
-53
TRackMaterialRelation.java
.../zehong/system/domain/material/TRackMaterialRelation.java
+29
-9
TRackMaterialRelationMapper.xml
...resources/mapper/material/TRackMaterialRelationMapper.xml
+17
-3
index.vue
...rack-base-web/src/views/materialmanage/relation/index.vue
+3
-1
index.vue
...base-web/src/views/pcbamanage/pcbashelflocation/index.vue
+44
-20
index.vue
...web/src/views/producemange/produceshelflocation/index.vue
+45
-20
No files found.
smart-rack-base-system/src/main/java/com/zehong/system/domain/material/TRackMaterialRelation.java
View file @
14d0ab1d
...
@@ -7,7 +7,7 @@ import com.zehong.common.core.domain.BaseEntity;
...
@@ -7,7 +7,7 @@ import com.zehong.common.core.domain.BaseEntity;
/**
/**
* 料架和物料维护对象 t_rack_material_relation
* 料架和物料维护对象 t_rack_material_relation
*
*
* @author zehong
* @author zehong
* @date 2025-09-24
* @date 2025-09-24
*/
*/
...
@@ -41,21 +41,26 @@ public class TRackMaterialRelation extends BaseEntity
...
@@ -41,21 +41,26 @@ public class TRackMaterialRelation extends BaseEntity
@Excel
(
name
=
"规格型号"
)
@Excel
(
name
=
"规格型号"
)
private
String
materialSpecifications
;
private
String
materialSpecifications
;
/** 层数 */
private
String
layer
;
/** 储位 */
private
String
location
;
public
void
setRelationId
(
Long
relationId
)
public
void
setRelationId
(
Long
relationId
)
{
{
this
.
relationId
=
relationId
;
this
.
relationId
=
relationId
;
}
}
public
Long
getRelationId
()
public
Long
getRelationId
()
{
{
return
relationId
;
return
relationId
;
}
}
public
void
setRackCode
(
String
rackCode
)
public
void
setRackCode
(
String
rackCode
)
{
{
this
.
rackCode
=
rackCode
;
this
.
rackCode
=
rackCode
;
}
}
public
String
getRackCode
()
public
String
getRackCode
()
{
{
return
rackCode
;
return
rackCode
;
}
}
...
@@ -73,25 +78,25 @@ public class TRackMaterialRelation extends BaseEntity
...
@@ -73,25 +78,25 @@ public class TRackMaterialRelation extends BaseEntity
this
.
materialCode
=
materialCode
;
this
.
materialCode
=
materialCode
;
}
}
public
String
getMaterialCode
()
public
String
getMaterialCode
()
{
{
return
materialCode
;
return
materialCode
;
}
}
public
void
setMaterialName
(
String
materialName
)
public
void
setMaterialName
(
String
materialName
)
{
{
this
.
materialName
=
materialName
;
this
.
materialName
=
materialName
;
}
}
public
String
getMaterialName
()
public
String
getMaterialName
()
{
{
return
materialName
;
return
materialName
;
}
}
public
void
setMaterialSpecifications
(
String
materialSpecifications
)
public
void
setMaterialSpecifications
(
String
materialSpecifications
)
{
{
this
.
materialSpecifications
=
materialSpecifications
;
this
.
materialSpecifications
=
materialSpecifications
;
}
}
public
String
getMaterialSpecifications
()
public
String
getMaterialSpecifications
()
{
{
return
materialSpecifications
;
return
materialSpecifications
;
}
}
...
@@ -103,6 +108,21 @@ public class TRackMaterialRelation extends BaseEntity
...
@@ -103,6 +108,21 @@ public class TRackMaterialRelation extends BaseEntity
public
void
setShelf
(
String
shelf
)
{
public
void
setShelf
(
String
shelf
)
{
this
.
shelf
=
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
@Override
public
String
toString
()
{
public
String
toString
()
{
...
...
smart-rack-base-system/src/main/resources/mapper/material/TRackMaterialRelationMapper.xml
View file @
14d0ab1d
...
@@ -16,6 +16,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
...
@@ -16,6 +16,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result
property=
"updateBy"
column=
"update_by"
/>
<result
property=
"updateBy"
column=
"update_by"
/>
<result
property=
"updateTime"
column=
"update_time"
/>
<result
property=
"updateTime"
column=
"update_time"
/>
<result
property=
"shelf"
column=
"f_shelf"
/>
<result
property=
"shelf"
column=
"f_shelf"
/>
<result
property=
"layer"
column=
"layer"
/>
<result
property=
"location"
column=
"location"
/>
</resultMap>
</resultMap>
<sql
id=
"selectTRackMaterialRelationVo"
>
<sql
id=
"selectTRackMaterialRelationVo"
>
...
@@ -29,11 +31,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
...
@@ -29,11 +31,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
relation.create_time,
relation.create_time,
relation.update_by,
relation.update_by,
relation.update_time,
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
FROM
t_rack_material_relation relation
t_rack_material_relation relation
LEFT JOIN t_rack_material_info info ON info.material_id = relation.material_id
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_shelf_storage_location location ON location.f_rid = relation.rack_code
</sql>
</sql>
<select
id=
"selectTRackMaterialRelationList"
parameterType=
"TRackMaterialRelation"
resultMap=
"TRackMaterialRelationResult"
>
<select
id=
"selectTRackMaterialRelationList"
parameterType=
"TRackMaterialRelation"
resultMap=
"TRackMaterialRelationResult"
>
...
...
smart-rack-base-web/src/views/materialmanage/relation/index.vue
View file @
14d0ab1d
...
@@ -81,9 +81,11 @@
...
@@ -81,9 +81,11 @@
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"料盘码"
align=
"center"
prop=
"rackCode"
/>
<el-table-column
label=
"料盘码"
align=
"center"
prop=
"rackCode"
/>
<el-table-column
label=
"物料代码"
align=
"center"
prop=
"materialCode"
/>
<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=
"materialName"
/>
<el-table-column
label=
"规格型号"
align=
"center"
prop=
"materialSpecifications"
/>
<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"
>
<!--
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
<el-button
<el-button
...
...
smart-rack-base-web/src/views/pcbamanage/pcbashelflocation/index.vue
View file @
14d0ab1d
...
@@ -39,7 +39,7 @@
...
@@ -39,7 +39,7 @@
</div>
</div>
<div
class=
"location-list"
>
<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
class=
"row-title"
>
{{
storey
[
index
]
}}
</div>
<div
<div
:id=
"'item-'+ location.index"
:id=
"'item-'+ location.index"
...
@@ -115,13 +115,19 @@
...
@@ -115,13 +115,19 @@
shelfLayoutList
:
[],
shelfLayoutList
:
[],
storey
:{
storey
:{
0
:
"一层正面"
,
0
:
"一层正面"
,
1
:
"一层反面"
,
1
:
""
,
2
:
"二层正面"
,
2
:
"一层反面"
,
3
:
"二层反面"
,
3
:
""
,
4
:
"三层正面"
,
4
:
"二层正面"
,
5
:
"三层反面"
,
5
:
""
,
6
:
"四层正面"
,
6
:
"二层反面"
,
7
:
"五层正面"
,
7
:
""
,
8
:
"三层正面"
,
9
:
""
,
10
:
"三层反面"
,
11
:
""
,
12
:
"四层正面"
,
13
:
"五层正面"
,
},
},
lastSelectedItem
:
null
,
lastSelectedItem
:
null
,
lastCtrlSelectedItem
:
null
,
lastCtrlSelectedItem
:
null
,
...
@@ -170,12 +176,18 @@
...
@@ -170,12 +176,18 @@
// 3 正 321-400 反 401-480
// 3 正 321-400 反 401-480
// 4 正 481-528
// 4 正 481-528
// 5 正 529-576
// 5 正 529-576
this
.
shelfLayoutList
.
push
(
this
.
shelfInfo
.
slice
(
0
,
80
));
this
.
shelfLayoutList
.
push
(
this
.
shelfInfo
.
slice
(
0
,
40
));
this
.
shelfLayoutList
.
push
(
this
.
shelfInfo
.
slice
(
80
,
160
));
this
.
shelfLayoutList
.
push
(
this
.
shelfInfo
.
slice
(
40
,
80
));
this
.
shelfLayoutList
.
push
(
this
.
shelfInfo
.
slice
(
160
,
240
));
this
.
shelfLayoutList
.
push
(
this
.
shelfInfo
.
slice
(
80
,
120
));
this
.
shelfLayoutList
.
push
(
this
.
shelfInfo
.
slice
(
240
,
320
));
this
.
shelfLayoutList
.
push
(
this
.
shelfInfo
.
slice
(
120
,
160
));
this
.
shelfLayoutList
.
push
(
this
.
shelfInfo
.
slice
(
320
,
400
));
this
.
shelfLayoutList
.
push
(
this
.
shelfInfo
.
slice
(
160
,
200
));
this
.
shelfLayoutList
.
push
(
this
.
shelfInfo
.
slice
(
400
,
480
));
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
(
480
,
528
));
this
.
shelfLayoutList
.
push
(
this
.
shelfInfo
.
slice
(
528
));
this
.
shelfLayoutList
.
push
(
this
.
shelfInfo
.
slice
(
528
));
});
});
...
@@ -425,9 +437,9 @@
...
@@ -425,9 +437,9 @@
}
}
.location-list
{
.location-list
{
display
:
grid
;
display
:
flex
;
grid-template-rows
:
repeat
(
5
,
1fr
)
;
flex-direction
:
column
;
gap
:
12px
;
gap
:
0
;
// 使用 flex 列布局,手动控制行间距
margin-top
:
15px
;
margin-top
:
15px
;
}
}
...
@@ -462,9 +474,21 @@
...
@@ -462,9 +474,21 @@
.grid-row
{
.grid-row
{
display
:
grid
;
display
:
grid
;
gap
:
3px
;
gap
:
3px
;
//height: 120px;
overflow-x
:
auto
;
overflow-x
:
scroll
;
white-space
:
nowrap
;
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 @@
...
@@ -486,7 +510,7 @@
}
}
.top-rows
{
.top-rows
{
grid-template-columns
:
110px
repeat
(
8
0
,
minmax
(
30px
,
1fr
));
grid-template-columns
:
110px
repeat
(
4
0
,
minmax
(
30px
,
1fr
));
}
}
.bottom-rows
{
.bottom-rows
{
...
...
smart-rack-base-web/src/views/producemange/produceshelflocation/index.vue
View file @
14d0ab1d
...
@@ -39,7 +39,7 @@
...
@@ -39,7 +39,7 @@
</div>
</div>
<div
class=
"location-list"
>
<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
class=
"row-title"
>
{{
storey
[
index
]
}}
</div>
<div
<div
:id=
"'item-'+ location.index"
:id=
"'item-'+ location.index"
...
@@ -116,13 +116,19 @@
...
@@ -116,13 +116,19 @@
shelfLayoutList
:
[],
shelfLayoutList
:
[],
storey
:{
storey
:{
0
:
"一层正面"
,
0
:
"一层正面"
,
1
:
"一层反面"
,
1
:
""
,
2
:
"二层正面"
,
2
:
"一层反面"
,
3
:
"二层反面"
,
3
:
""
,
4
:
"三层正面"
,
4
:
"二层正面"
,
5
:
"三层反面"
,
5
:
""
,
6
:
"四层正面"
,
6
:
"二层反面"
,
7
:
"五层正面"
,
7
:
""
,
8
:
"三层正面"
,
9
:
""
,
10
:
"三层反面"
,
11
:
""
,
12
:
"四层正面"
,
13
:
"五层正面"
,
},
},
lastSelectedItem
:
null
,
lastSelectedItem
:
null
,
lastCtrlSelectedItem
:
null
,
lastCtrlSelectedItem
:
null
,
...
@@ -171,12 +177,18 @@
...
@@ -171,12 +177,18 @@
// 3 正 321-400 反 401-480
// 3 正 321-400 反 401-480
// 4 正 481-528
// 4 正 481-528
// 5 正 529-576
// 5 正 529-576
this
.
shelfLayoutList
.
push
(
this
.
shelfInfo
.
slice
(
0
,
80
));
this
.
shelfLayoutList
.
push
(
this
.
shelfInfo
.
slice
(
0
,
40
));
this
.
shelfLayoutList
.
push
(
this
.
shelfInfo
.
slice
(
80
,
160
));
this
.
shelfLayoutList
.
push
(
this
.
shelfInfo
.
slice
(
40
,
80
));
this
.
shelfLayoutList
.
push
(
this
.
shelfInfo
.
slice
(
160
,
240
));
this
.
shelfLayoutList
.
push
(
this
.
shelfInfo
.
slice
(
80
,
120
));
this
.
shelfLayoutList
.
push
(
this
.
shelfInfo
.
slice
(
240
,
320
));
this
.
shelfLayoutList
.
push
(
this
.
shelfInfo
.
slice
(
120
,
160
));
this
.
shelfLayoutList
.
push
(
this
.
shelfInfo
.
slice
(
320
,
400
));
this
.
shelfLayoutList
.
push
(
this
.
shelfInfo
.
slice
(
160
,
200
));
this
.
shelfLayoutList
.
push
(
this
.
shelfInfo
.
slice
(
400
,
480
));
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
(
480
,
528
));
this
.
shelfLayoutList
.
push
(
this
.
shelfInfo
.
slice
(
528
));
this
.
shelfLayoutList
.
push
(
this
.
shelfInfo
.
slice
(
528
));
});
});
...
@@ -425,9 +437,9 @@
...
@@ -425,9 +437,9 @@
}
}
.location-list
{
.location-list
{
display
:
grid
;
display
:
flex
;
grid-template-rows
:
repeat
(
5
,
1fr
)
;
flex-direction
:
column
;
gap
:
12px
;
gap
:
0
;
// 使用 flex 列布局,手动控制行间距
margin-top
:
15px
;
margin-top
:
15px
;
}
}
...
@@ -460,11 +472,24 @@
...
@@ -460,11 +472,24 @@
}
}
.grid-row
{
.grid-row
{
display
:
grid
;
display
:
grid
;
gap
:
3px
;
gap
:
3px
;
//height: 120px;
overflow-x
:
auto
;
overflow-x
:
scroll
;
white-space
:
nowrap
;
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 @@
...
@@ -486,7 +511,7 @@
}
}
.top-rows
{
.top-rows
{
grid-template-columns
:
110px
repeat
(
8
0
,
minmax
(
30px
,
1fr
));
grid-template-columns
:
110px
repeat
(
4
0
,
minmax
(
30px
,
1fr
));
}
}
.bottom-rows
{
.bottom-rows
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment