Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
J
jilinzhongdianrenqun-web
概览
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
吴超
jilinzhongdianrenqun-web
Commits
7c091d5c
Commit
7c091d5c
authored
Dec 24, 2025
by
wangchunyang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
入库调用窗口及样式调整
parent
d16cddf4
显示空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
108 行增加
和
24 行删除
+108
-24
src/view/key-person/key_dm_inventory/inbound.vue
+108
-24
没有找到文件。
src/view/key-person/key_dm_inventory/inbound.vue
View file @
7c091d5c
...
@@ -82,14 +82,14 @@
...
@@ -82,14 +82,14 @@
<Input
type=
"textarea"
v-model=
"inboundModal.form.remark"
:rows=
"2"
/>
<Input
type=
"textarea"
v-model=
"inboundModal.form.remark"
:rows=
"2"
/>
</FormItem>
</FormItem>
<h4>
明细(从物料库选择)
</h4>
<h4>
明细(从物料库选择)
<Table
:data=
"inboundModal.details"
size=
"small"
border
>
<div
style=
"float: right;"
>
<TableColumn
prop=
"material_code"
title=
"物料编码"
/
>
<Button
size=
"small"
class=
"mr5"
type=
"primary"
@
click=
"showMaterialSelector = true"
>
添加
</Button
>
<TableColumn
prop=
"material_name"
title=
"物料名称"
/
>
<Button
size=
"small"
type=
"error"
@
click=
"deleteSelectedInboundDetails"
>
删除
</Button
>
<
TableColumn
prop=
"inbound_quantity"
title=
"入库数量"
/
>
<
/div
>
<TableColumn
prop=
"unit_price"
title=
"单价"
/
>
</h4
>
<TableColumn
prop=
"total_amount"
title=
"总金额
"
/>
<Table
:data=
"inboundModal.details"
:columns=
"inboundDetailColumns"
size=
"small"
border
@
on-selection-change=
"onInboundDetailSelectionChange"
style=
"width: 100%
"
/>
<
/Table
>
<
MaterialSelector
v-model=
"showMaterialSelector"
:selected=
"[]"
@
on-ok=
"handleInboundMaterialSelectorOk"
@
cancel=
"showMaterialSelector = false"
/
>
</Form>
</Form>
<div
slot=
"footer"
>
<div
slot=
"footer"
>
<Button
@
click=
"inboundModal.visible=false"
>
取消
</Button>
<Button
@
click=
"inboundModal.visible=false"
>
取消
</Button>
...
@@ -103,11 +103,7 @@
...
@@ -103,11 +103,7 @@
<FormItem
label=
"申请单号"
><span>
{{ returnModal.record.application_no }}
</span></FormItem>
<FormItem
label=
"申请单号"
><span>
{{ returnModal.record.application_no }}
</span></FormItem>
<FormItem
label=
"申请人"
><span>
{{ returnModal.record.applicant_name }}
</span></FormItem>
<FormItem
label=
"申请人"
><span>
{{ returnModal.record.applicant_name }}
</span></FormItem>
<FormItem
label=
"归还明细"
>
<FormItem
label=
"归还明细"
>
<Table
:data=
"returnModal.details"
size=
"small"
border
>
<Table
:data=
"returnModal.details"
:columns=
"returnDetailColumns"
size=
"small"
border
/>
<TableColumn
prop=
"material_name"
title=
"物料名称"
/>
<TableColumn
prop=
"apply_quantity"
title=
"申请数量"
/>
<TableColumn
prop=
"returned_quantity"
title=
"归还数量"
/>
</Table>
</FormItem>
</FormItem>
</Form>
</Form>
<div
slot=
"footer"
>
<div
slot=
"footer"
>
...
@@ -122,18 +118,9 @@
...
@@ -122,18 +118,9 @@
<div
v-else
>
<div
v-else
>
<Row
:gutter=
"16"
><Col
span=
"12"
><p><strong>
单号:
</strong>
{{ detailModal.data.inbound_no || detailModal.data.application_no }}
</p></Col></Row>
<Row
:gutter=
"16"
><Col
span=
"12"
><p><strong>
单号:
</strong>
{{ detailModal.data.inbound_no || detailModal.data.application_no }}
</p></Col></Row>
<Row
class=
"mt8"
><Col
span=
"24"
><h4>
明细
</h4></Col></Row>
<Row
class=
"mt8"
><Col
span=
"24"
><h4>
明细
</h4></Col></Row>
<Table
:data=
"detailModal.details"
size=
"small"
border
>
<Table
:data=
"detailModal.details"
:columns=
"detailDetailColumns"
size=
"small"
border
/>
<TableColumn
prop=
"material_code"
title=
"物料编码"
/>
<TableColumn
prop=
"material_name"
title=
"物料名称"
/>
<TableColumn
prop=
"inbound_quantity"
title=
"数量"
/>
<TableColumn
prop=
"unit_price"
title=
"单价"
/>
</Table>
<Row
class=
"mt8"
><Col
span=
"24"
><h4>
操作日志
</h4></Col></Row>
<Row
class=
"mt8"
><Col
span=
"24"
><h4>
操作日志
</h4></Col></Row>
<Table
:data=
"detailModal.logs"
size=
"small"
border
>
<Table
:data=
"detailModal.logs"
:columns=
"detailLogsColumns"
size=
"small"
border
/>
<TableColumn
prop=
"op_type"
title=
"操作类型"
/>
<TableColumn
prop=
"quantity"
title=
"数量"
/>
<TableColumn
prop=
"create_time"
title=
"时间"
/>
</Table>
</div>
</div>
<div
slot=
"footer"
><Button
type=
"primary"
@
click=
"detailModal.visible=false"
>
关闭
</Button></div>
<div
slot=
"footer"
><Button
type=
"primary"
@
click=
"detailModal.visible=false"
>
关闭
</Button></div>
</Modal>
</Modal>
...
@@ -151,9 +138,11 @@ import {
...
@@ -151,9 +138,11 @@ import {
getInventoryList
,
getInventoryList
,
getInboundById
getInboundById
}
from
'@/api/key-dm-inbound'
}
from
'@/api/key-dm-inbound'
import
MaterialSelector
from
'@/view/key-person/key_dm_conf/materialSelector.vue'
export
default
{
export
default
{
name
:
'key-dm-inbound-index'
,
name
:
'key-dm-inbound-index'
,
components
:
{
MaterialSelector
},
data
()
{
data
()
{
return
{
return
{
activeTab
:
'inbound'
,
activeTab
:
'inbound'
,
...
@@ -186,6 +175,67 @@ export default {
...
@@ -186,6 +175,67 @@ export default {
{
title
:
'可用'
,
key
:
'available_quantity'
,
align
:
'center'
},
{
title
:
'可用'
,
key
:
'available_quantity'
,
align
:
'center'
},
{
title
:
'借出'
,
key
:
'borrowed_quantity'
,
align
:
'center'
}
{
title
:
'借出'
,
key
:
'borrowed_quantity'
,
align
:
'center'
}
],
],
// 模态窗口内表格列定义
inboundDetailColumns
:
[
{
type
:
'selection'
,
width
:
60
},
{
title
:
'物料编码'
,
key
:
'material_code'
,
minWidth
:
120
},
{
title
:
'物料名称'
,
key
:
'material_name'
,
minWidth
:
150
},
{
title
:
'入库数量'
,
key
:
'inbound_quantity'
,
minWidth
:
120
,
render
:
(
h
,
params
)
=>
{
return
h
(
'InputNumber'
,
{
props
:
{
value
:
params
.
row
.
inbound_quantity
||
0
,
min
:
0
,
precision
:
0
},
style
:
{
width
:
'100px'
},
on
:
{
input
:
(
val
)
=>
{
params
.
row
.
inbound_quantity
=
val
||
0
params
.
row
.
total_amount
=
((
params
.
row
.
inbound_quantity
||
0
)
*
(
params
.
row
.
unit_price
||
0
)).
toFixed
(
2
)
}
}
})
}},
{
title
:
'单价'
,
key
:
'unit_price'
,
minWidth
:
120
,
render
:
(
h
,
params
)
=>
{
return
h
(
'InputNumber'
,
{
props
:
{
value
:
params
.
row
.
unit_price
||
0
,
min
:
0
,
precision
:
2
},
style
:
{
width
:
'100px'
},
on
:
{
input
:
(
val
)
=>
{
params
.
row
.
unit_price
=
val
||
0
params
.
row
.
total_amount
=
((
params
.
row
.
inbound_quantity
||
0
)
*
(
params
.
row
.
unit_price
||
0
)).
toFixed
(
2
)
}
}
})
}},
{
title
:
'总金额'
,
key
:
'total_amount'
,
minWidth
:
120
,
render
:
(
h
,
params
)
=>
{
const
amount
=
((
params
.
row
.
inbound_quantity
||
0
)
*
(
params
.
row
.
unit_price
||
0
)).
toFixed
(
2
)
return
h
(
'span'
,
amount
)
}}
],
returnDetailColumns
:
[
{
title
:
'物料名称'
,
key
:
'material_name'
},
{
title
:
'申请数量'
,
key
:
'apply_quantity'
},
{
title
:
'归还数量'
,
key
:
'returned_quantity'
}
],
detailDetailColumns
:
[
{
title
:
'物料编码'
,
key
:
'material_code'
},
{
title
:
'物料名称'
,
key
:
'material_name'
},
{
title
:
'数量'
,
key
:
'inbound_quantity'
},
{
title
:
'单价'
,
key
:
'unit_price'
}
],
detailLogsColumns
:
[
{
title
:
'操作类型'
,
key
:
'op_type'
},
{
title
:
'数量'
,
key
:
'quantity'
},
{
title
:
'时间'
,
key
:
'create_time'
}
],
// 选择器控制与已选明细
showMaterialSelector
:
false
,
inboundSelectedDetails
:
[],
inboundModal
:
{
visible
:
false
,
isEdit
:
false
,
saving
:
false
,
form
:
{},
details
:
[]
},
inboundModal
:
{
visible
:
false
,
isEdit
:
false
,
saving
:
false
,
form
:
{},
details
:
[]
},
returnModal
:
{
visible
:
false
,
record
:
{},
details
:
[],
saving
:
false
},
returnModal
:
{
visible
:
false
,
record
:
{},
details
:
[],
saving
:
false
},
detailModal
:
{
visible
:
false
,
loading
:
false
,
data
:
{},
details
:
[],
logs
:
[]
}
detailModal
:
{
visible
:
false
,
loading
:
false
,
data
:
{},
details
:
[],
logs
:
[]
}
...
@@ -222,6 +272,40 @@ export default {
...
@@ -222,6 +272,40 @@ export default {
this
.
inboundModal
.
details
=
[]
this
.
inboundModal
.
details
=
[]
this
.
inboundModal
.
visible
=
true
this
.
inboundModal
.
visible
=
true
},
},
onInboundDetailSelectionChange
(
list
)
{
this
.
inboundSelectedDetails
=
list
||
[]
},
handleInboundMaterialSelectorOk
(
selectedRows
)
{
if
(
!
Array
.
isArray
(
selectedRows
)
||
selectedRows
.
length
===
0
)
{
this
.
$Message
.
warning
(
'未选择物料'
)
return
}
selectedRows
.
forEach
(
sel
=>
{
const
code
=
sel
.
material_code
const
exist
=
this
.
inboundModal
.
details
.
find
(
d
=>
d
.
material_code
===
code
)
if
(
exist
)
{
exist
.
inbound_quantity
=
Number
(
exist
.
inbound_quantity
||
0
)
+
1
}
else
{
this
.
inboundModal
.
details
.
push
({
material_code
:
sel
.
material_code
,
material_name
:
sel
.
material_name
,
inbound_quantity
:
0
,
unit_price
:
0
,
total_amount
:
0
})
}
})
this
.
showMaterialSelector
=
false
},
deleteSelectedInboundDetails
()
{
if
(
!
this
.
inboundSelectedDetails
||
this
.
inboundSelectedDetails
.
length
===
0
)
{
this
.
$Message
.
warning
(
'请先选择要删除的明细行'
)
return
}
const
toRemoveCodes
=
this
.
inboundSelectedDetails
.
map
(
r
=>
r
.
material_code
)
this
.
inboundModal
.
details
=
this
.
inboundModal
.
details
.
filter
(
d
=>
!
toRemoveCodes
.
includes
(
d
.
material_code
))
this
.
inboundSelectedDetails
=
[]
},
openEdit
(
row
)
{
openEdit
(
row
)
{
this
.
inboundModal
.
isEdit
=
true
this
.
inboundModal
.
isEdit
=
true
getInboundById
({
id
:
row
.
id
}).
then
(
ret
=>
{
getInboundById
({
id
:
row
.
id
}).
then
(
ret
=>
{
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论