Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
maintain_service
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
刘帅
maintain_service
Commits
c875a4b0
Commit
c875a4b0
authored
Sep 04, 2025
by
刘帅
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.物料新增生产厂家
2.出入库数量、单价可以输两位小数
parent
abf70a0c
Changes
11
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
123 additions
and
88 deletions
+123
-88
ErpMaterial.java
...c/main/java/com/maintain/business/domain/ErpMaterial.java
+4
-0
ErpMaterialBo.java
...n/java/com/maintain/business/domain/bo/ErpMaterialBo.java
+4
-0
ErpMaterialVo.java
...n/java/com/maintain/business/domain/vo/ErpMaterialVo.java
+5
-0
ErpMaterialImportListener.java
...maintain/business/listener/ErpMaterialImportListener.java
+54
-54
ErpMaterialInventoryRecordServiceImpl.java
...s/service/impl/ErpMaterialInventoryRecordServiceImpl.java
+1
-1
index.vue
maintain-ui/src/views/business/material/index.vue
+23
-17
add.vue
maintain-ui/src/views/business/materialPicking/add.vue
+7
-4
index.vue
maintain-ui/src/views/business/materialPicking/index.vue
+4
-4
index.vue
maintain-ui/src/views/business/materialPickingInfo/index.vue
+1
-1
index.vue
maintain-ui/src/views/business/materialPutaway/index.vue
+16
-3
index.vue
maintain-ui/src/views/business/materialReturns/index.vue
+4
-4
No files found.
maintain-business/src/main/java/com/maintain/business/domain/ErpMaterial.java
View file @
c875a4b0
...
...
@@ -92,6 +92,10 @@ public class ErpMaterial extends BaseEntity {
* 物资品牌
*/
private
String
materialBrand
;
/**
* 生产厂家
*/
private
String
manufacturer
;
/**
* 采购标的
*/
...
...
maintain-business/src/main/java/com/maintain/business/domain/bo/ErpMaterialBo.java
View file @
c875a4b0
...
...
@@ -114,6 +114,10 @@ public class ErpMaterialBo extends BaseEntity {
* 物资品牌
*/
private
String
materialBrand
;
/**
* 生产厂家
*/
private
String
manufacturer
;
/**
* 采购标的
*/
...
...
maintain-business/src/main/java/com/maintain/business/domain/vo/ErpMaterialVo.java
View file @
c875a4b0
...
...
@@ -122,6 +122,11 @@ public class ErpMaterialVo implements Serializable {
*/
@ExcelProperty
(
value
=
"物资品牌"
)
private
String
materialBrand
;
/**
* 生产厂家
*/
@ExcelProperty
(
value
=
"生产厂家"
)
private
String
manufacturer
;
/**
* 采购标的
*/
...
...
maintain-business/src/main/java/com/maintain/business/listener/ErpMaterialImportListener.java
View file @
c875a4b0
...
...
@@ -84,21 +84,21 @@ public class ErpMaterialImportListener extends AnalysisEventListener<ErpMaterial
}
}
/**
* 物资类型
* 物资类型
(弃用)
*/
if
(
StringUtils
.
isNotEmpty
(
material
.
getMaterialTypeName
()))
{
List
<
ErpMaterialType
>
materialTypes
=
materialTypeMapper
.
selectList
(
new
LambdaQueryWrapper
<
ErpMaterialType
>().
eq
(
ErpMaterialType:
:
getTypeName
,
material
.
getMaterialTypeName
()));
if
(
materialTypes
.
isEmpty
())
{
ErpMaterialType
materialType
=
new
ErpMaterialType
();
materialType
.
setTypeName
(
material
.
getMaterialTypeName
());
materialType
.
setParentId
(
1L
);
materialType
.
setAncestors
(
"0,1"
);
materialTypeMapper
.
insert
(
materialType
);
material
.
setMaterialTypeId
(
materialType
.
getTypeId
());
}
else
{
material
.
setMaterialTypeId
(
materialTypes
.
get
(
0
).
getTypeId
());
}
}
//
if (StringUtils.isNotEmpty(material.getMaterialTypeName())) {
//
List<ErpMaterialType> materialTypes = materialTypeMapper.selectList(new LambdaQueryWrapper<ErpMaterialType>().eq(ErpMaterialType::getTypeName, material.getMaterialTypeName()));
//
if (materialTypes.isEmpty()) {
//
ErpMaterialType materialType = new ErpMaterialType();
//
materialType.setTypeName(material.getMaterialTypeName());
//
materialType.setParentId(1L);
//
materialType.setAncestors("0,1");
//
materialTypeMapper.insert(materialType);
//
material.setMaterialTypeId(materialType.getTypeId());
//
}else {
//
material.setMaterialTypeId(materialTypes.get(0).getTypeId());
//
}
//
}
/**
* 供应商
*/
...
...
@@ -114,22 +114,22 @@ public class ErpMaterialImportListener extends AnalysisEventListener<ErpMaterial
}
}
/**
* 仓库货位
* 仓库货位
(弃用)
*/
if
(
StringUtils
.
isNotEmpty
(
material
.
getWarehouseLocationType
()))
{
ErpWarehouseLocation
warehouseLocation
=
warehouseLocationMapper
.
selectOne
(
new
LambdaQueryWrapper
<
ErpWarehouseLocation
>().
eq
(
ErpWarehouseLocation:
:
getLocationType
,
material
.
getWarehouseLocationType
()));
if
(
ObjectUtil
.
isNull
(
warehouseLocation
))
{
ErpWarehouseLocation
location
=
new
ErpWarehouseLocation
();
location
.
setLocationCode
(
material
.
getWarehouseLocationType
());
location
.
setLocationType
(
material
.
getWarehouseLocationType
());
warehouseLocationMapper
.
insert
(
location
);
material
.
setWarehouseLocationCode
(
location
.
getLocationCode
());
material
.
setWarehouseLocationId
(
location
.
getId
());
}
else
{
material
.
setWarehouseLocationCode
(
warehouseLocation
.
getLocationCode
());
material
.
setWarehouseLocationId
(
warehouseLocation
.
getId
());
}
}
//
if (StringUtils.isNotEmpty(material.getWarehouseLocationType())) {
//
ErpWarehouseLocation warehouseLocation = warehouseLocationMapper.selectOne(new LambdaQueryWrapper<ErpWarehouseLocation>().eq(ErpWarehouseLocation::getLocationType, material.getWarehouseLocationType()));
//
if (ObjectUtil.isNull(warehouseLocation)) {
//
ErpWarehouseLocation location = new ErpWarehouseLocation();
//
location.setLocationCode(material.getWarehouseLocationType());
//
location.setLocationType(material.getWarehouseLocationType());
//
warehouseLocationMapper.insert(location);
//
material.setWarehouseLocationCode(location.getLocationCode());
//
material.setWarehouseLocationId(location.getId());
//
} else {
//
material.setWarehouseLocationCode(warehouseLocation.getLocationCode());
//
material.setWarehouseLocationId(warehouseLocation.getId());
//
}
//
}
materialMapper
.
insert
(
material
);
successNum
++;
successMsg
.
append
(
"<br/>"
).
append
(
successNum
).
append
(
"、物料 【"
).
append
(
material
.
getMaterialName
()).
append
(
"】 导入成功"
);
...
...
@@ -141,19 +141,19 @@ public class ErpMaterialImportListener extends AnalysisEventListener<ErpMaterial
/**
* 物资类型
*/
if
(
StringUtils
.
isNotEmpty
(
material
.
getMaterialTypeName
()))
{
List
<
ErpMaterialType
>
materialTypes
=
materialTypeMapper
.
selectList
(
new
LambdaQueryWrapper
<
ErpMaterialType
>().
eq
(
ErpMaterialType:
:
getTypeName
,
material
.
getMaterialTypeName
()));
if
(
materialTypes
.
isEmpty
())
{
ErpMaterialType
materialType
=
new
ErpMaterialType
();
materialType
.
setTypeName
(
material
.
getMaterialTypeName
());
materialType
.
setParentId
(
1L
);
materialType
.
setAncestors
(
"0,1"
);
materialTypeMapper
.
insert
(
materialType
);
material
.
setMaterialTypeId
(
materialType
.
getTypeId
());
}
else
{
material
.
setMaterialTypeId
(
materialTypes
.
get
(
0
).
getTypeId
());
}
}
//
if (StringUtils.isNotEmpty(material.getMaterialTypeName())) {
//
List<ErpMaterialType> materialTypes = materialTypeMapper.selectList(new LambdaQueryWrapper<ErpMaterialType>().eq(ErpMaterialType::getTypeName, material.getMaterialTypeName()));
//
if (materialTypes.isEmpty()) {
//
ErpMaterialType materialType = new ErpMaterialType();
//
materialType.setTypeName(material.getMaterialTypeName());
//
materialType.setParentId(1L);
//
materialType.setAncestors("0,1");
//
materialTypeMapper.insert(materialType);
//
material.setMaterialTypeId(materialType.getTypeId());
//
}else {
//
material.setMaterialTypeId(materialTypes.get(0).getTypeId());
//
}
//
}
/**
* 物资仓库
*/
...
...
@@ -186,18 +186,18 @@ public class ErpMaterialImportListener extends AnalysisEventListener<ErpMaterial
/**
* 仓库货位
*/
if
(
StringUtils
.
isNotEmpty
(
material
.
getWarehouseLocationType
()))
{
ErpWarehouseLocation
warehouseLocation
=
warehouseLocationMapper
.
selectOne
(
new
LambdaQueryWrapper
<
ErpWarehouseLocation
>().
eq
(
ErpWarehouseLocation:
:
getLocationType
,
material
.
getWarehouseLocationType
()));
if
(
ObjectUtil
.
isNull
(
warehouseLocation
))
{
ErpWarehouseLocation
location
=
new
ErpWarehouseLocation
();
location
.
setLocationCode
(
material
.
getWarehouseLocationType
());
location
.
setLocationType
(
material
.
getWarehouseLocationType
());
warehouseLocationMapper
.
insert
(
location
);
material
.
setWarehouseLocationId
(
location
.
getId
());
}
else
{
material
.
setWarehouseLocationId
(
warehouseLocation
.
getId
());
}
}
//
if (StringUtils.isNotEmpty(material.getWarehouseLocationType())) {
//
ErpWarehouseLocation warehouseLocation = warehouseLocationMapper.selectOne(new LambdaQueryWrapper<ErpWarehouseLocation>().eq(ErpWarehouseLocation::getLocationType, material.getWarehouseLocationType()));
//
if (ObjectUtil.isNull(warehouseLocation)) {
//
ErpWarehouseLocation location = new ErpWarehouseLocation();
//
location.setLocationCode(material.getWarehouseLocationType());
//
location.setLocationType(material.getWarehouseLocationType());
//
warehouseLocationMapper.insert(location);
//
material.setWarehouseLocationId(location.getId());
//
} else {
//
material.setWarehouseLocationId(warehouseLocation.getId());
//
}
//
}
materialMapper
.
updateById
(
material
);
successNum
++;
successMsg
.
append
(
"<br/>"
).
append
(
successNum
).
append
(
"、物料 "
).
append
(
material
.
getMaterialName
()).
append
(
" 更新成功"
);
...
...
maintain-business/src/main/java/com/maintain/business/service/impl/ErpMaterialInventoryRecordServiceImpl.java
View file @
c875a4b0
...
...
@@ -89,7 +89,7 @@ public class ErpMaterialInventoryRecordServiceImpl implements IErpMaterialInvent
.
like
(
StringUtils
.
isNotBlank
(
bo
.
getMaterialCode
()),
"t.material_code"
,
bo
.
getMaterialCode
())
.
like
(
null
!=
bo
.
getVendorId
(),
"t.vendor_id"
,
bo
.
getVendorId
())
.
like
(
null
!=
bo
.
getWarehouseId
(),
"t.warehouse_id"
,
bo
.
getWarehouseId
())
.
in
(
!
bo
.
getWarehouseIdList
().
isEmpty
(),
"t.warehouse_id"
,
bo
.
getWarehouseIdList
())
.
in
(
null
!=
bo
.
getWarehouseIdList
(),
"t.warehouse_id"
,
bo
.
getWarehouseIdList
())
.
ge
(
null
!=
bo
.
getInventory
(),
"t.inventory"
,
bo
.
getInventory
())
.
orderByDesc
(
"t.create_time"
);
Page
<
ErpMaterialInventoryRecordVo
>
queryPageList
=
baseMapper
.
customQueryPageInventoryList
(
pageQuery
.
build
(),
query
);
...
...
maintain-ui/src/views/business/material/index.vue
View file @
c875a4b0
...
...
@@ -138,27 +138,28 @@
<el-table-column
label=
"物资编码"
align=
"center"
fixed=
"left"
prop=
"materialCode"
/>
<el-table-column
label=
"物资名称"
align=
"center"
fixed=
"left"
prop=
"materialName"
/>
<el-table-column
label=
"物资规格"
align=
"center"
fixed=
"left"
prop=
"materialSpecifications"
/>
<el-table-column
label=
"供应商"
align=
"center"
fixed=
"left"
prop=
"vendorName"
show-overflow-tooltip
/>
<el-table-column
label=
"物资品牌"
align=
"center"
fixed=
"left"
prop=
"materialBrand"
/>
<el-table-column
label=
"物资单位"
align=
"center"
fixed=
"left"
prop=
"materialUnit"
>
<el-table-column
label=
"生产厂家"
align=
"center"
fixed=
"left"
prop=
"manufacturer"
/>
<el-table-column
label=
"采购标的"
align=
"center"
prop=
"procurementSubject"
/>
<el-table-column
label=
"物资单位"
align=
"center"
prop=
"materialUnit"
width=
"50"
>
<template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.material_unit"
:value=
"scope.row.materialUnit"
/>
</
template
>
</el-table-column>
<!-- <el-table-column label="所在仓库" align="center" prop="warehouseName" />-->
<!-- <el-table-column label="分类名称" align="center" prop="materialTypeName" />-->
<el-table-column
label=
"供应商"
align=
"center"
prop=
"vendorName"
show-overflow-tooltip
/>
<el-table-column
label=
"采购标的"
align=
"center"
prop=
"procurementSubject"
/>
<el-table-column
label=
"适用车型"
align=
"center"
prop=
"compatibleWith"
/>
<el-table-column
label=
"物资图片"
align=
"center"
prop=
"materialUrl"
>
<
template
slot-scope=
"scope"
>
<image-preview
:src=
"scope.row.materialUrl"
style=
"width: 50px; height: 50px"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"质保期(月)"
align=
"center"
prop=
"materialWarrantyPeriod"
/>
<el-table-column
label=
"参考价"
align=
"center"
prop=
"referencePrice"
/>
<el-table-column
label=
"销售价"
align=
"center"
prop=
"sellingPrice"
/>
<el-table-column
label=
"质保期(月)"
align=
"center"
prop=
"materialWarrantyPeriod"
width=
"60"
/>
<el-table-column
label=
"参考价"
align=
"center"
prop=
"referencePrice"
width=
"80"
/>
<el-table-column
label=
"销售价"
align=
"center"
prop=
"sellingPrice"
width=
"80"
/>
<!-- <el-table-column label="库存" align="center" prop="inventory" />-->
<el-table-column
label=
"是否启用"
align=
"center"
prop=
"isEnable"
>
<el-table-column
label=
"是否启用"
align=
"center"
prop=
"isEnable"
width=
"50"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.sys_is_enable"
:value=
"scope.row.isEnable"
/>
</
template
>
...
...
@@ -168,7 +169,7 @@
<!-- <dict-tag :options="dict.type.sys_is_enable" :value="String(scope.row.isCheck)"/>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column
label=
"是否通用"
align=
"center"
prop=
"isUniversal"
>
<el-table-column
label=
"是否通用"
align=
"center"
prop=
"isUniversal"
width=
"50"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.sys_is_enable"
:value=
"scope.row.isUniversal"
/>
</
template
>
...
...
@@ -202,7 +203,7 @@
/>
<!-- 添加或修改物资对话框 -->
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"
900px
"
append-to-body
>
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"
60%
"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"100px"
>
<el-row>
<el-col
:span=
"8"
>
...
...
@@ -236,14 +237,14 @@
<!-- </el-col>-->
<el-col
:span=
"8"
>
<el-form-item
label=
"供应商"
prop=
"vendorId"
>
<el-select
v-model=
"form.vendorId"
placeHolder=
"请选择供应商"
>
<el-select
v-model=
"form.vendorId"
placeHolder=
"请选择供应商"
style=
"width: 100%"
>
<el-option
v-for=
"item in materialVendorList"
:key=
"item.id"
:value=
"item.id"
:label=
"item.vendorName"
/>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"物资单位"
prop=
"materialUnit"
>
<el-select
v-model=
"form.materialUnit"
placeHolder=
"请选择物资单位"
>
<el-select
v-model=
"form.materialUnit"
placeHolder=
"请选择物资单位"
style=
"width: 100%"
>
<el-option
v-for=
"dict in dict.type.material_unit"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
...
...
@@ -281,10 +282,8 @@
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col
:span=
"8"
>
<el-form-item
label=
"是否启用"
prop=
"isEnable"
>
<el-select
v-model=
"form.isEnable"
style=
"width: 100%"
placeholder=
"请选择是否启用"
>
<el-option
v-for=
"dict in dict.type.sys_is_enable"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
<el-form-item
label=
"生产厂家"
prop=
"manufacturer"
>
<el-input
v-model=
"form.manufacturer"
placeholder=
"请输入生产厂家"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
...
...
@@ -304,6 +303,13 @@
<!-- <el-input-number v-model="form.inventory" :min="0" style="width: 100%" :disabled="form.id != null" placeholder="请输入库存数量" />-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col
:span=
"8"
>
<el-form-item
label=
"是否启用"
prop=
"isEnable"
>
<el-select
v-model=
"form.isEnable"
style=
"width: 100%"
placeholder=
"请选择是否启用"
>
<el-option
v-for=
"dict in dict.type.sys_is_enable"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"是否通用"
prop=
"isUniversal"
>
<el-select
v-model=
"form.isUniversal"
style=
"width: 100%"
placeholder=
"请选择是否通用"
>
...
...
@@ -414,8 +420,7 @@ export default {
materialSpecifications
:
undefined
,
materialUnit
:
undefined
,
materialWarrantyPeriod
:
undefined
,
referencePrice
:
undefined
,
sellingPrice
:
undefined
,
manufacturer
:
undefined
,
inventory
:
undefined
,
isEnable
:
undefined
,
isUniversal
:
undefined
,
...
...
@@ -545,6 +550,7 @@ export default {
materialSpecifications
:
undefined
,
materialUnit
:
undefined
,
materialBrand
:
undefined
,
manufacturer
:
undefined
,
procurementSubject
:
undefined
,
compatibleWith
:
undefined
,
materialUrl
:
undefined
,
...
...
maintain-ui/src/views/business/materialPicking/add.vue
View file @
c875a4b0
...
...
@@ -86,7 +86,7 @@
<el-table-column
label=
"库存"
align=
"center"
prop=
"inventory"
/>
<el-table-column
label=
"领料数量"
align=
"center"
prop=
"collectNumber"
width=
"120px"
>
<
template
slot-scope=
"scope"
>
<el-input-number
v-model=
"scope.row.collectNumber"
@
change=
"collectNumberChange"
controls-position=
"right"
size=
"mini"
:min=
"
1"
:precision=
"0
"
style=
"width: 100%"
placeholder=
"数量"
/>
<el-input-number
v-model=
"scope.row.collectNumber"
@
change=
"collectNumberChange"
controls-position=
"right"
size=
"mini"
:min=
"
0.01"
:precision=
"2"
:max=
"parseFloat(scope.row.inventory)
"
style=
"width: 100%"
placeholder=
"数量"
/>
</
template
>
</el-table-column>
<!-- <el-table-column label="销售单价" align="center" prop="price" width="120px">-->
...
...
@@ -96,7 +96,7 @@
<!-- </el-table-column>-->
<el-table-column
label=
"领料金额"
align=
"center"
prop=
"money"
width=
"120px"
>
<
template
slot-scope=
"scope"
>
<el-input-number
v-model=
"scope.row.money"
disabled
controls-position=
"right"
size=
"mini"
:
min=
"0
"
style=
"width: 100%"
placeholder=
"金额"
/>
<el-input-number
v-model=
"scope.row.money"
disabled
controls-position=
"right"
size=
"mini"
:
precision=
"2
"
style=
"width: 100%"
placeholder=
"金额"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
...
...
@@ -260,7 +260,7 @@ export default {
};
},
created
()
{
this
.
form
=
{...
this
.
$route
.
query
}
this
.
form
=
{...
this
.
$route
.
query
,
outMoney
:
undefined
}
this
.
getWarehouseList
(
this
.
form
.
repairerDeptId
)
this
.
getVendorList
()
},
...
...
@@ -289,7 +289,9 @@ export default {
},
/** 供应商改变 */
vendorIdChange
(
vendorId
)
{
if
(
vendorId
)
{
this
.
queryMaterialParams
.
vendorId
=
vendorId
;
}
this
.
form
.
pickingInfoList
=
[]
},
/** 打开物料列表 */
...
...
@@ -348,6 +350,7 @@ export default {
item
.
money
=
item
.
collectNumber
*
item
.
sellingPrice
return
sum
+
(
item
.
collectNumber
*
item
.
sellingPrice
);
},
0
)
console
.
log
(
'
outMoney
'
,
this
.
form
.
outMoney
)
},
// 多选框选中数据
handleMaterialSelectionChange
(
selection
)
{
...
...
maintain-ui/src/views/business/materialPicking/index.vue
View file @
c875a4b0
...
...
@@ -274,7 +274,7 @@
<
el
-
table
-
column
label
=
"
库存
"
align
=
"
center
"
prop
=
"
inventory
"
/>
<
el
-
table
-
column
label
=
"
领料数量
"
align
=
"
center
"
prop
=
"
collectNumber
"
width
=
"
120px
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
el
-
input
-
number
v
-
model
=
"
scope.row.collectNumber
"
@
change
=
"
collectNumberChange
"
controls
-
position
=
"
right
"
size
=
"
mini
"
:
min
=
"
1
"
:
max
=
"
parseInt(scope.row.inventory)
"
:
precision
=
"
0
"
style
=
"
width: 100%
"
placeholder
=
"
数量
"
/>
<
el
-
input
-
number
v
-
model
=
"
scope.row.collectNumber
"
@
change
=
"
collectNumberChange
"
controls
-
position
=
"
right
"
size
=
"
mini
"
:
min
=
"
0.01
"
:
precision
=
"
2
"
:
max
=
"
parseFloat(scope.row.inventory)
"
style
=
"
width: 100%
"
placeholder
=
"
数量
"
/>
<
/template
>
<
/el-table-column
>
<!--
<
el
-
table
-
column
label
=
"
销售单价
"
align
=
"
center
"
prop
=
"
price
"
width
=
"
120px
"
>-->
...
...
@@ -284,7 +284,7 @@
<!--
<
/el-table-column>--
>
<
el
-
table
-
column
label
=
"
领料金额
"
align
=
"
center
"
prop
=
"
money
"
width
=
"
120px
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
el
-
input
-
number
v
-
model
=
"
scope.row.money
"
disabled
controls
-
position
=
"
right
"
size
=
"
mini
"
:
min
=
"
0
"
style
=
"
width: 100%
"
placeholder
=
"
金额
"
/>
<
el
-
input
-
number
v
-
model
=
"
scope.row.money
"
disabled
controls
-
position
=
"
right
"
size
=
"
mini
"
:
precision
=
"
2
"
style
=
"
width: 100%
"
placeholder
=
"
金额
"
/>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
操作
"
align
=
"
center
"
class
-
name
=
"
small-padding fixed-width
"
>
...
...
@@ -612,8 +612,8 @@ export default {
// 入库数量变动
collectNumberChange
()
{
this
.
form
.
outMoney
=
this
.
form
.
pickingInfoList
.
reduce
((
sum
,
item
)
=>
{
item
.
money
=
item
.
collectNumber
*
item
.
p
rice
return
sum
+
(
item
.
collectNumber
*
item
.
p
rice
);
item
.
money
=
item
.
collectNumber
*
item
.
sellingP
rice
return
sum
+
(
item
.
collectNumber
*
item
.
sellingP
rice
);
}
,
0
)
}
,
// 多选框选中数据
...
...
maintain-ui/src/views/business/materialPickingInfo/index.vue
View file @
c875a4b0
...
...
@@ -119,7 +119,7 @@
<
el
-
row
>
<
el
-
col
:
span
=
"
6
"
>
<
el
-
form
-
item
label
=
"
供应商
"
prop
=
"
vendorId
"
>
<
el
-
select
v
-
model
=
"
form.vendorId
"
placeHolder
=
"
请选择供应商
"
filterable
@
change
=
"
vendorIdChange
"
style
=
"
width: 100%
"
>
<
el
-
select
v
-
model
=
"
form.vendorId
"
placeHolder
=
"
请选择供应商
"
filterable
style
=
"
width: 100%
"
>
<
el
-
option
v
-
for
=
"
item in materialVendorOpt
"
:
key
=
"
item.id
"
:
value
=
"
item.id
"
:
label
=
"
item.vendorName
"
/>
<
/el-select
>
<
/el-form-item
>
...
...
maintain-ui/src/views/business/materialPutaway/index.vue
View file @
c875a4b0
...
...
@@ -266,17 +266,17 @@
<
el
-
table
-
column
label
=
"
销售价
"
align
=
"
center
"
prop
=
"
sellingPrice
"
width
=
"
80
"
/>
<
el
-
table
-
column
label
=
"
入库数量
"
align
=
"
center
"
prop
=
"
putawayNumber
"
width
=
"
120px
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
el
-
input
-
number
v
-
model
=
"
scope.row.putawayNumber
"
@
change
=
"
putawayChange
"
controls
-
position
=
"
right
"
size
=
"
mini
"
:
min
=
"
1
"
:
precision
=
"
0
"
style
=
"
width: 100%
"
placeholder
=
"
数量
"
/>
<
el
-
input
-
number
v
-
model
=
"
scope.row.putawayNumber
"
@
change
=
"
putawayChange
"
controls
-
position
=
"
right
"
size
=
"
mini
"
:
min
=
"
0.01
"
:
precision
=
"
2
"
style
=
"
width: 100%
"
placeholder
=
"
数量
"
/>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
入库单价
"
align
=
"
center
"
prop
=
"
putawayPrice
"
width
=
"
120px
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
el
-
input
-
number
v
-
model
=
"
scope.row.putawayPrice
"
@
change
=
"
putawayChange
"
controls
-
position
=
"
right
"
size
=
"
mini
"
:
min
=
"
1
"
:
precision
=
"
2
"
style
=
"
width: 100%
"
placeholder
=
"
单价
"
/>
<
el
-
input
-
number
v
-
model
=
"
scope.row.putawayPrice
"
@
change
=
"
putawayChange
"
controls
-
position
=
"
right
"
size
=
"
mini
"
:
min
=
"
0.0
1
"
:
precision
=
"
2
"
style
=
"
width: 100%
"
placeholder
=
"
单价
"
/>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
入库金额
"
align
=
"
center
"
prop
=
"
putawayMoney
"
width
=
"
120px
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
el
-
input
-
number
v
-
model
=
"
scope.row.putawayMoney
"
disabled
controls
-
position
=
"
right
"
size
=
"
mini
"
:
min
=
"
1
"
style
=
"
width: 100%
"
placeholder
=
"
金额
"
/>
<
el
-
input
-
number
v
-
model
=
"
scope.row.putawayMoney
"
disabled
controls
-
position
=
"
right
"
size
=
"
mini
"
:
precision
=
"
2
"
style
=
"
width: 100%
"
placeholder
=
"
金额
"
/>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
操作
"
align
=
"
center
"
class
-
name
=
"
small-padding fixed-width
"
width
=
"
50
"
>
...
...
@@ -712,6 +712,19 @@ export default {
this
.
buttonLoading
=
false
;
return
}
let
vendorIsNull
=
false
this
.
form
.
putawayInfoList
.
forEach
(
item
=>
{
if
(
!
item
.
vendorId
)
{
vendorIsNull
=
true
}
}
)
if
(
vendorIsNull
)
{
this
.
$modal
.
msgError
(
'
入库明细列表物料供应商不能为空
'
)
this
.
buttonLoading
=
false
;
return
}
this
.
form
.
putawayInfoList
.
forEach
(
item
=>
{
item
.
materialId
=
item
.
materialId
||
item
.
id
}
)
...
...
maintain-ui/src/views/business/materialReturns/index.vue
View file @
c875a4b0
...
...
@@ -242,7 +242,7 @@
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
退货数量
"
align
=
"
center
"
prop
=
"
returnsNumber
"
width
=
"
120px
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
el
-
input
-
number
v
-
model
=
"
scope.row.returnsNumber
"
@
change
=
"
returnsNumberChange
"
controls
-
position
=
"
right
"
size
=
"
mini
"
:
min
=
"
0
"
:
max
=
"
scope.row.putawayNumber - scope.row.returnedNumber - scope.row.issuedNumber
"
:
precision
=
"
0
"
style
=
"
width: 100%
"
placeholder
=
"
数量
"
/>
<
el
-
input
-
number
v
-
model
=
"
scope.row.returnsNumber
"
@
change
=
"
returnsNumberChange
"
controls
-
position
=
"
right
"
size
=
"
mini
"
:
min
=
"
0
"
:
precision
=
"
2
"
:
max
=
"
parseFloat(scope.row.putawayNumber) - parseFloat(scope.row.returnedNumber) - parseFloat(scope.row.issuedNumber)
"
style
=
"
width: 100%
"
placeholder
=
"
数量
"
/>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
退货单价
"
align
=
"
center
"
prop
=
"
returnsPrice
"
width
=
"
120px
"
>
...
...
@@ -400,15 +400,15 @@ export default {
// 退货数量更改
returnsNumberChange
()
{
this
.
form
.
returnsMoney
=
this
.
materialList
.
reduce
((
sum
,
item
)
=>
{
item
.
returnsMoney
=
item
.
returnsNumber
*
item
.
returnsPrice
return
sum
+
(
item
.
returnsNumber
*
item
.
returnsPrice
);
item
.
returnsMoney
=
parseFloat
(
item
.
returnsNumber
)
*
parseFloat
(
item
.
returnsPrice
)
return
sum
+
(
parseFloat
(
item
.
returnsNumber
)
*
parseFloat
(
item
.
returnsPrice
)
);
}
,
0
)
}
,
// 入库明细删除
handleRowDelete
(
row
)
{
this
.
materialList
=
this
.
materialList
.
filter
(
item
=>
item
.
id
!==
row
.
id
);
this
.
form
.
returnsMoney
=
this
.
materialList
.
reduce
((
sum
,
item
)
=>
{
return
sum
+
(
item
.
returnsNumber
*
item
.
returnsPrice
);
return
sum
+
(
parseFloat
(
item
.
returnsNumber
)
*
parseFloat
(
item
.
returnsPrice
)
);
}
,
0
)
}
,
// 取消按钮
...
...
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