Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
M
mini-wms
概览
Overview
Details
Activity
Cycle Analytics
版本库
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
Members
Collapse sidebar
Close sidebar
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
周海峰
mini-wms
Commits
bd8d2429
Commit
bd8d2429
authored
Dec 10, 2025
by
zhangtw
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
物料配置风险等级字典
新增统计api
parent
d19f3c18
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
90 行增加
和
15 行删除
+90
-15
ruoyi-admin-vue/src/api/inventory/inbound.js
+21
-0
ruoyi-admin-vue/src/api/inventory/inventory.js
+9
-2
ruoyi-admin-vue/src/views/inventory/materials/index.vue
+60
-13
没有找到文件。
ruoyi-admin-vue/src/api/inventory/inbound.js
View file @
bd8d2429
...
@@ -42,3 +42,24 @@ export function delInbound(id) {
...
@@ -42,3 +42,24 @@ export function delInbound(id) {
method
:
'delete'
method
:
'delete'
})
})
}
}
// 首页入库次数统计api
export
function
inboundCount
(){
return
request
({
url
:
'/inventory/inbound/inboundCount'
,
method
:
'get'
})
}
// 按数量统计本月入库物料Top前10
export
function
countQuantity
(){
return
request
({
url
:
'/inventory/inbound/countQuantity'
,
method
:
'get'
})
}
// 按金额统计本月入库物料Top前10
export
function
countMoney
(){
return
request
({
url
:
'/inventory/inbound/countMoney'
,
method
:
'get'
})
}
ruoyi-admin-vue/src/api/inventory/inventory.js
View file @
bd8d2429
...
@@ -95,4 +95,12 @@ export function listInventoryDetail(query) {
...
@@ -95,4 +95,12 @@ export function listInventoryDetail(query) {
method
:
'get'
,
method
:
'get'
,
params
:
query
params
:
query
})
})
}
}
\ No newline at end of file
// 统计库存物料超出预警值
export
function
exceedWarnValue
()
{
return
request
({
url
:
'/inventory/inventory/exceed'
,
method
:
'get'
})
}
ruoyi-admin-vue/src/views/inventory/materials/index.vue
View file @
bd8d2429
...
@@ -85,26 +85,26 @@
...
@@ -85,26 +85,26 @@
@
search=
"handleQuery"
@
search=
"handleQuery"
@
reset=
"resetQuery"
@
reset=
"resetQuery"
>
>
<el-form-item
label=
"物料编码"
prop=
"materialCode"
>
<
!-- <
el-form-item label="物料编码" prop="materialCode">
<el-input
<el-input
v-model="queryParams.materialCode"
v-model="queryParams.materialCode"
placeholder="请输入物料编码"
placeholder="请输入物料编码"
clearable
clearable
@keyup.enter.native="handleQuery"
@keyup.enter.native="handleQuery"
/>
/>
</el-form-item>
</el-form-item>
-->
<el-form-item
label=
"
物料名称"
prop=
"materialName
"
>
<el-form-item
label=
"
SAP物料号"
prop=
"sapNo
"
>
<el-input
<el-input
v-model=
"queryParams.
materialName
"
v-model=
"queryParams.
sapNo
"
placeholder=
"请输入
物料名称
"
placeholder=
"请输入
SAP物料号
"
clearable
clearable
@
keyup
.
enter
.
native=
"handleQuery"
@
keyup
.
enter
.
native=
"handleQuery"
/>
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"
SAP物料号"
prop=
"sapNo
"
>
<el-form-item
label=
"
物料名称"
prop=
"materialName
"
>
<el-input
<el-input
v-model=
"queryParams.
sapNo
"
v-model=
"queryParams.
materialName
"
placeholder=
"请输入
SAP物料号
"
placeholder=
"请输入
物料名称
"
clearable
clearable
@
keyup
.
enter
.
native=
"handleQuery"
@
keyup
.
enter
.
native=
"handleQuery"
/>
/>
...
@@ -150,7 +150,15 @@
...
@@ -150,7 +150,15 @@
{{
scope
.
row
.
displayCategory
||
categoryMap
[
scope
.
row
.
categoryCode
]
||
scope
.
row
.
categoryCode
}}
{{
scope
.
row
.
displayCategory
||
categoryMap
[
scope
.
row
.
categoryCode
]
||
scope
.
row
.
categoryCode
}}
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"危险类别ID"
align=
"center"
prop=
"hazardId"
width=
"150"
/>
<el-table-column
label=
"危险类别"
align=
"center"
prop=
"hazardId"
width=
"150"
>
<
template
slot-scope=
"scope"
>
<el-tag
:type=
"getDictListClass('danger_type',scope.row.hazardId)"
size=
"small"
>
{{
getDictLabel
(
'danger_type'
,
scope
.
row
.
hazardId
)
}}
</el-tag>
</
template
>
</el-table-column>
<el-table-column
label=
"规格型号"
align=
"center"
prop=
"specification"
/>
<el-table-column
label=
"规格型号"
align=
"center"
prop=
"specification"
/>
<el-table-column
label=
"计量单位"
align=
"center"
prop=
"materialUnit"
/>
<el-table-column
label=
"计量单位"
align=
"center"
prop=
"materialUnit"
/>
<el-table-column
label=
"单位重量"
align=
"center"
prop=
"unitWeight"
/>
<el-table-column
label=
"单位重量"
align=
"center"
prop=
"unitWeight"
/>
...
@@ -177,7 +185,15 @@
...
@@ -177,7 +185,15 @@
<el-tag
:type=
"scope.row.isActive === 1 ? 'success' : 'info'"
size=
"mini"
>
{{
scope
.
row
.
isActive
===
1
?
'是'
:
'否'
}}
</el-tag>
<el-tag
:type=
"scope.row.isActive === 1 ? 'success' : 'info'"
size=
"mini"
>
{{
scope
.
row
.
isActive
===
1
?
'是'
:
'否'
}}
</el-tag>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"风险等级"
align=
"center"
prop=
"riskLevel"
/>
<el-table-column
label=
"风险等级"
align=
"center"
prop=
"riskLevel"
>
<
template
slot-scope=
"scope"
>
<el-tag
:type=
"getDictListClass('risk_level',scope.row.riskLevel)"
size=
"small"
>
{{
getDictLabel
(
'risk_level'
,
scope
.
row
.
riskLevel
)
}}
</el-tag>
</
template
>
</el-table-column>
<el-table-column
label=
"排序"
align=
"center"
prop=
"sortNo"
/>
<el-table-column
label=
"排序"
align=
"center"
prop=
"sortNo"
/>
<el-table-column
label=
"创建时间"
align=
"center"
prop=
"createTime"
width=
"180"
>
<el-table-column
label=
"创建时间"
align=
"center"
prop=
"createTime"
width=
"180"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
...
@@ -255,7 +271,15 @@
...
@@ -255,7 +271,15 @@
<el-input
v-model=
"form.maxStockLevel"
placeholder=
"请输入最高库存"
/>
<el-input
v-model=
"form.maxStockLevel"
placeholder=
"请输入最高库存"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"风险等级"
prop=
"riskLevel"
>
<el-form-item
label=
"风险等级"
prop=
"riskLevel"
>
<el-input
v-model=
"form.riskLevel"
placeholder=
"请输入风险等级"
/>
<el-select
v-model=
"form.riskLevel"
placeholder=
"请选择风险等级"
clearable
>
<el-option
v-for=
"dict in dict.type.risk_level"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"是否序列号管理"
prop=
"isSerialManaged"
>
<el-form-item
label=
"是否序列号管理"
prop=
"isSerialManaged"
>
<el-radio-group
v-model=
"form.isSerialManaged"
>
<el-radio-group
v-model=
"form.isSerialManaged"
>
...
@@ -285,8 +309,16 @@
...
@@ -285,8 +309,16 @@
</el-option>
</el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"危险类别ID"
prop=
"hazardId"
>
<el-form-item
label=
"危险类别"
prop=
"hazardId"
>
<el-input
v-model=
"form.hazardId"
placeholder=
"请输入危险类别ID"
/>
<el-select
v-model=
"form.hazardId"
placeholder=
"请选择危险类别"
clearable
>
<el-option
v-for=
"dict in dict.type.danger_type"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"计量单位"
prop=
"materialUnit"
>
<el-form-item
label=
"计量单位"
prop=
"materialUnit"
>
<el-input
v-model=
"form.materialUnit"
placeholder=
"请输入计量单位"
/>
<el-input
v-model=
"form.materialUnit"
placeholder=
"请输入计量单位"
/>
...
@@ -346,6 +378,7 @@ import request from '@/utils/request'
...
@@ -346,6 +378,7 @@ import request from '@/utils/request'
export
default
{
export
default
{
name
:
"Materials"
,
name
:
"Materials"
,
dicts
:
[
'danger_type'
,
'risk_level'
],
components
:
{
components
:
{
TreeComponent
,
TreeComponent
,
Splitpanes
,
Splitpanes
,
...
@@ -455,6 +488,20 @@ export default {
...
@@ -455,6 +488,20 @@ export default {
this
.
getList
()
this
.
getList
()
},
},
methods
:
{
methods
:
{
getDictLabel
(
dictType
,
value
)
{
// 1. 空值/字典不存在时返回默认值
if
(
!
value
||
!
this
.
dict
?.
type
?.[
dictType
])
return
'-'
;
// 2. 从字典数组中匹配 value 对应的 label
const
dictItem
=
this
.
dict
.
type
[
dictType
].
find
(
item
=>
item
.
value
===
value
);
return
dictItem
?.
label
||
'-'
;
},
getDictListClass
(
dictType
,
value
){
// 1. 空值/字典不存在时返回默认值
if
(
!
value
||
!
this
.
dict
?.
type
?.[
dictType
])
return
'-'
;
// 2. 从字典数组中匹配 value 对应的 label
const
dictItem
=
this
.
dict
.
type
[
dictType
].
find
(
item
=>
item
.
value
===
value
);
return
dictItem
?.
raw
?.
listClass
||
''
;
},
async
getCategoryList
()
{
async
getCategoryList
()
{
try
{
try
{
const
response
=
await
listMaterials_category
({
const
response
=
await
listMaterials_category
({
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论