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
Hide 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 {
...
@@ -92,6 +92,10 @@ public class ErpMaterial extends BaseEntity {
* 物资品牌
* 物资品牌
*/
*/
private
String
materialBrand
;
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 {
...
@@ -114,6 +114,10 @@ public class ErpMaterialBo extends BaseEntity {
* 物资品牌
* 物资品牌
*/
*/
private
String
materialBrand
;
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 {
...
@@ -122,6 +122,11 @@ public class ErpMaterialVo implements Serializable {
*/
*/
@ExcelProperty
(
value
=
"物资品牌"
)
@ExcelProperty
(
value
=
"物资品牌"
)
private
String
materialBrand
;
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
...
@@ -84,21 +84,21 @@ public class ErpMaterialImportListener extends AnalysisEventListener<ErpMaterial
}
}
}
}
/**
/**
* 物资类型
* 物资类型
(弃用)
*/
*/
if
(
StringUtils
.
isNotEmpty
(
material
.
getMaterialTypeName
()))
{
//
if (StringUtils.isNotEmpty(material.getMaterialTypeName())) {
List
<
ErpMaterialType
>
materialTypes
=
materialTypeMapper
.
selectList
(
new
LambdaQueryWrapper
<
ErpMaterialType
>().
eq
(
ErpMaterialType:
:
getTypeName
,
material
.
getMaterialTypeName
()));
//
List<ErpMaterialType> materialTypes = materialTypeMapper.selectList(new LambdaQueryWrapper<ErpMaterialType>().eq(ErpMaterialType::getTypeName, material.getMaterialTypeName()));
if
(
materialTypes
.
isEmpty
())
{
//
if (materialTypes.isEmpty()) {
ErpMaterialType
materialType
=
new
ErpMaterialType
();
//
ErpMaterialType materialType = new ErpMaterialType();
materialType
.
setTypeName
(
material
.
getMaterialTypeName
());
//
materialType.setTypeName(material.getMaterialTypeName());
materialType
.
setParentId
(
1L
);
//
materialType.setParentId(1L);
materialType
.
setAncestors
(
"0,1"
);
//
materialType.setAncestors("0,1");
materialTypeMapper
.
insert
(
materialType
);
//
materialTypeMapper.insert(materialType);
material
.
setMaterialTypeId
(
materialType
.
getTypeId
());
//
material.setMaterialTypeId(materialType.getTypeId());
}
else
{
//
}else {
material
.
setMaterialTypeId
(
materialTypes
.
get
(
0
).
getTypeId
());
//
material.setMaterialTypeId(materialTypes.get(0).getTypeId());
}
//
}
}
//
}
/**
/**
* 供应商
* 供应商
*/
*/
...
@@ -114,22 +114,22 @@ public class ErpMaterialImportListener extends AnalysisEventListener<ErpMaterial
...
@@ -114,22 +114,22 @@ public class ErpMaterialImportListener extends AnalysisEventListener<ErpMaterial
}
}
}
}
/**
/**
* 仓库货位
* 仓库货位
(弃用)
*/
*/
if
(
StringUtils
.
isNotEmpty
(
material
.
getWarehouseLocationType
()))
{
//
if (StringUtils.isNotEmpty(material.getWarehouseLocationType())) {
ErpWarehouseLocation
warehouseLocation
=
warehouseLocationMapper
.
selectOne
(
new
LambdaQueryWrapper
<
ErpWarehouseLocation
>().
eq
(
ErpWarehouseLocation:
:
getLocationType
,
material
.
getWarehouseLocationType
()));
//
ErpWarehouseLocation warehouseLocation = warehouseLocationMapper.selectOne(new LambdaQueryWrapper<ErpWarehouseLocation>().eq(ErpWarehouseLocation::getLocationType, material.getWarehouseLocationType()));
if
(
ObjectUtil
.
isNull
(
warehouseLocation
))
{
//
if (ObjectUtil.isNull(warehouseLocation)) {
ErpWarehouseLocation
location
=
new
ErpWarehouseLocation
();
//
ErpWarehouseLocation location = new ErpWarehouseLocation();
location
.
setLocationCode
(
material
.
getWarehouseLocationType
());
//
location.setLocationCode(material.getWarehouseLocationType());
location
.
setLocationType
(
material
.
getWarehouseLocationType
());
//
location.setLocationType(material.getWarehouseLocationType());
warehouseLocationMapper
.
insert
(
location
);
//
warehouseLocationMapper.insert(location);
material
.
setWarehouseLocationCode
(
location
.
getLocationCode
());
//
material.setWarehouseLocationCode(location.getLocationCode());
material
.
setWarehouseLocationId
(
location
.
getId
());
//
material.setWarehouseLocationId(location.getId());
}
else
{
//
} else {
material
.
setWarehouseLocationCode
(
warehouseLocation
.
getLocationCode
());
//
material.setWarehouseLocationCode(warehouseLocation.getLocationCode());
material
.
setWarehouseLocationId
(
warehouseLocation
.
getId
());
//
material.setWarehouseLocationId(warehouseLocation.getId());
}
//
}
}
//
}
materialMapper
.
insert
(
material
);
materialMapper
.
insert
(
material
);
successNum
++;
successNum
++;
successMsg
.
append
(
"<br/>"
).
append
(
successNum
).
append
(
"、物料 【"
).
append
(
material
.
getMaterialName
()).
append
(
"】 导入成功"
);
successMsg
.
append
(
"<br/>"
).
append
(
successNum
).
append
(
"、物料 【"
).
append
(
material
.
getMaterialName
()).
append
(
"】 导入成功"
);
...
@@ -141,19 +141,19 @@ public class ErpMaterialImportListener extends AnalysisEventListener<ErpMaterial
...
@@ -141,19 +141,19 @@ public class ErpMaterialImportListener extends AnalysisEventListener<ErpMaterial
/**
/**
* 物资类型
* 物资类型
*/
*/
if
(
StringUtils
.
isNotEmpty
(
material
.
getMaterialTypeName
()))
{
//
if (StringUtils.isNotEmpty(material.getMaterialTypeName())) {
List
<
ErpMaterialType
>
materialTypes
=
materialTypeMapper
.
selectList
(
new
LambdaQueryWrapper
<
ErpMaterialType
>().
eq
(
ErpMaterialType:
:
getTypeName
,
material
.
getMaterialTypeName
()));
//
List<ErpMaterialType> materialTypes = materialTypeMapper.selectList(new LambdaQueryWrapper<ErpMaterialType>().eq(ErpMaterialType::getTypeName, material.getMaterialTypeName()));
if
(
materialTypes
.
isEmpty
())
{
//
if (materialTypes.isEmpty()) {
ErpMaterialType
materialType
=
new
ErpMaterialType
();
//
ErpMaterialType materialType = new ErpMaterialType();
materialType
.
setTypeName
(
material
.
getMaterialTypeName
());
//
materialType.setTypeName(material.getMaterialTypeName());
materialType
.
setParentId
(
1L
);
//
materialType.setParentId(1L);
materialType
.
setAncestors
(
"0,1"
);
//
materialType.setAncestors("0,1");
materialTypeMapper
.
insert
(
materialType
);
//
materialTypeMapper.insert(materialType);
material
.
setMaterialTypeId
(
materialType
.
getTypeId
());
//
material.setMaterialTypeId(materialType.getTypeId());
}
else
{
//
}else {
material
.
setMaterialTypeId
(
materialTypes
.
get
(
0
).
getTypeId
());
//
material.setMaterialTypeId(materialTypes.get(0).getTypeId());
}
//
}
}
//
}
/**
/**
* 物资仓库
* 物资仓库
*/
*/
...
@@ -186,18 +186,18 @@ public class ErpMaterialImportListener extends AnalysisEventListener<ErpMaterial
...
@@ -186,18 +186,18 @@ public class ErpMaterialImportListener extends AnalysisEventListener<ErpMaterial
/**
/**
* 仓库货位
* 仓库货位
*/
*/
if
(
StringUtils
.
isNotEmpty
(
material
.
getWarehouseLocationType
()))
{
//
if (StringUtils.isNotEmpty(material.getWarehouseLocationType())) {
ErpWarehouseLocation
warehouseLocation
=
warehouseLocationMapper
.
selectOne
(
new
LambdaQueryWrapper
<
ErpWarehouseLocation
>().
eq
(
ErpWarehouseLocation:
:
getLocationType
,
material
.
getWarehouseLocationType
()));
//
ErpWarehouseLocation warehouseLocation = warehouseLocationMapper.selectOne(new LambdaQueryWrapper<ErpWarehouseLocation>().eq(ErpWarehouseLocation::getLocationType, material.getWarehouseLocationType()));
if
(
ObjectUtil
.
isNull
(
warehouseLocation
))
{
//
if (ObjectUtil.isNull(warehouseLocation)) {
ErpWarehouseLocation
location
=
new
ErpWarehouseLocation
();
//
ErpWarehouseLocation location = new ErpWarehouseLocation();
location
.
setLocationCode
(
material
.
getWarehouseLocationType
());
//
location.setLocationCode(material.getWarehouseLocationType());
location
.
setLocationType
(
material
.
getWarehouseLocationType
());
//
location.setLocationType(material.getWarehouseLocationType());
warehouseLocationMapper
.
insert
(
location
);
//
warehouseLocationMapper.insert(location);
material
.
setWarehouseLocationId
(
location
.
getId
());
//
material.setWarehouseLocationId(location.getId());
}
else
{
//
} else {
material
.
setWarehouseLocationId
(
warehouseLocation
.
getId
());
//
material.setWarehouseLocationId(warehouseLocation.getId());
}
//
}
}
//
}
materialMapper
.
updateById
(
material
);
materialMapper
.
updateById
(
material
);
successNum
++;
successNum
++;
successMsg
.
append
(
"<br/>"
).
append
(
successNum
).
append
(
"、物料 "
).
append
(
material
.
getMaterialName
()).
append
(
" 更新成功"
);
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
...
@@ -89,7 +89,7 @@ public class ErpMaterialInventoryRecordServiceImpl implements IErpMaterialInvent
.
like
(
StringUtils
.
isNotBlank
(
bo
.
getMaterialCode
()),
"t.material_code"
,
bo
.
getMaterialCode
())
.
like
(
StringUtils
.
isNotBlank
(
bo
.
getMaterialCode
()),
"t.material_code"
,
bo
.
getMaterialCode
())
.
like
(
null
!=
bo
.
getVendorId
(),
"t.vendor_id"
,
bo
.
getVendorId
())
.
like
(
null
!=
bo
.
getVendorId
(),
"t.vendor_id"
,
bo
.
getVendorId
())
.
like
(
null
!=
bo
.
getWarehouseId
(),
"t.warehouse_id"
,
bo
.
getWarehouseId
())
.
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
())
.
ge
(
null
!=
bo
.
getInventory
(),
"t.inventory"
,
bo
.
getInventory
())
.
orderByDesc
(
"t.create_time"
);
.
orderByDesc
(
"t.create_time"
);
Page
<
ErpMaterialInventoryRecordVo
>
queryPageList
=
baseMapper
.
customQueryPageInventoryList
(
pageQuery
.
build
(),
query
);
Page
<
ErpMaterialInventoryRecordVo
>
queryPageList
=
baseMapper
.
customQueryPageInventoryList
(
pageQuery
.
build
(),
query
);
...
...
maintain-ui/src/views/business/material/index.vue
View file @
c875a4b0
...
@@ -138,27 +138,28 @@
...
@@ -138,27 +138,28 @@
<el-table-column
label=
"物资编码"
align=
"center"
fixed=
"left"
prop=
"materialCode"
/>
<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=
"materialName"
/>
<el-table-column
label=
"物资规格"
align=
"center"
fixed=
"left"
prop=
"materialSpecifications"
/>
<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=
"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"
>
<template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.material_unit"
:value=
"scope.row.materialUnit"
/>
<dict-tag
:options=
"dict.type.material_unit"
:value=
"scope.row.materialUnit"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<!-- <el-table-column label="所在仓库" align="center" prop="warehouseName" />-->
<!-- <el-table-column label="所在仓库" align="center" prop="warehouseName" />-->
<!-- <el-table-column label="分类名称" align="center" prop="materialTypeName" />-->
<!-- <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=
"compatibleWith"
/>
<el-table-column
label=
"物资图片"
align=
"center"
prop=
"materialUrl"
>
<el-table-column
label=
"物资图片"
align=
"center"
prop=
"materialUrl"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<image-preview
:src=
"scope.row.materialUrl"
style=
"width: 50px; height: 50px"
/>
<image-preview
:src=
"scope.row.materialUrl"
style=
"width: 50px; height: 50px"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"质保期(月)"
align=
"center"
prop=
"materialWarrantyPeriod"
/>
<el-table-column
label=
"质保期(月)"
align=
"center"
prop=
"materialWarrantyPeriod"
width=
"60"
/>
<el-table-column
label=
"参考价"
align=
"center"
prop=
"referencePrice"
/>
<el-table-column
label=
"参考价"
align=
"center"
prop=
"referencePrice"
width=
"80"
/>
<el-table-column
label=
"销售价"
align=
"center"
prop=
"sellingPrice"
/>
<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="inventory" />-->
<el-table-column
label=
"是否启用"
align=
"center"
prop=
"isEnable"
>
<el-table-column
label=
"是否启用"
align=
"center"
prop=
"isEnable"
width=
"50"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.sys_is_enable"
:value=
"scope.row.isEnable"
/>
<dict-tag
:options=
"dict.type.sys_is_enable"
:value=
"scope.row.isEnable"
/>
</
template
>
</
template
>
...
@@ -168,7 +169,7 @@
...
@@ -168,7 +169,7 @@
<!-- <dict-tag :options="dict.type.sys_is_enable" :value="String(scope.row.isCheck)"/>-->
<!-- <dict-tag :options="dict.type.sys_is_enable" :value="String(scope.row.isCheck)"/>-->
<!-- </template>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- </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"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.sys_is_enable"
:value=
"scope.row.isUniversal"
/>
<dict-tag
:options=
"dict.type.sys_is_enable"
:value=
"scope.row.isUniversal"
/>
</
template
>
</
template
>
...
@@ -202,7 +203,7 @@
...
@@ -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-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"100px"
>
<el-row>
<el-row>
<el-col
:span=
"8"
>
<el-col
:span=
"8"
>
...
@@ -236,14 +237,14 @@
...
@@ -236,14 +237,14 @@
<!-- </el-col>-->
<!-- </el-col>-->
<el-col
:span=
"8"
>
<el-col
:span=
"8"
>
<el-form-item
label=
"供应商"
prop=
"vendorId"
>
<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-option
v-for=
"item in materialVendorList"
:key=
"item.id"
:value=
"item.id"
:label=
"item.vendorName"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"8"
>
<el-col
:span=
"8"
>
<el-form-item
label=
"物资单位"
prop=
"materialUnit"
>
<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-option
v-for=
"dict in dict.type.material_unit"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
...
@@ -281,10 +282,8 @@
...
@@ -281,10 +282,8 @@
<!-- </el-form-item>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-col>-->
<el-col
:span=
"8"
>
<el-col
:span=
"8"
>
<el-form-item
label=
"是否启用"
prop=
"isEnable"
>
<el-form-item
label=
"生产厂家"
prop=
"manufacturer"
>
<el-select
v-model=
"form.isEnable"
style=
"width: 100%"
placeholder=
"请选择是否启用"
>
<el-input
v-model=
"form.manufacturer"
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-form-item>
</el-col>
</el-col>
<el-col
:span=
"8"
>
<el-col
:span=
"8"
>
...
@@ -304,6 +303,13 @@
...
@@ -304,6 +303,13 @@
<!-- <el-input-number v-model="form.inventory" :min="0" style="width: 100%" :disabled="form.id != null" placeholder="请输入库存数量" />-->
<!-- <el-input-number v-model="form.inventory" :min="0" style="width: 100%" :disabled="form.id != null" placeholder="请输入库存数量" />-->
<!-- </el-form-item>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </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-col
:span=
"8"
>
<el-form-item
label=
"是否通用"
prop=
"isUniversal"
>
<el-form-item
label=
"是否通用"
prop=
"isUniversal"
>
<el-select
v-model=
"form.isUniversal"
style=
"width: 100%"
placeholder=
"请选择是否通用"
>
<el-select
v-model=
"form.isUniversal"
style=
"width: 100%"
placeholder=
"请选择是否通用"
>
...
@@ -414,8 +420,7 @@ export default {
...
@@ -414,8 +420,7 @@ export default {
materialSpecifications
:
undefined
,
materialSpecifications
:
undefined
,
materialUnit
:
undefined
,
materialUnit
:
undefined
,
materialWarrantyPeriod
:
undefined
,
materialWarrantyPeriod
:
undefined
,
referencePrice
:
undefined
,
manufacturer
:
undefined
,
sellingPrice
:
undefined
,
inventory
:
undefined
,
inventory
:
undefined
,
isEnable
:
undefined
,
isEnable
:
undefined
,
isUniversal
:
undefined
,
isUniversal
:
undefined
,
...
@@ -545,6 +550,7 @@ export default {
...
@@ -545,6 +550,7 @@ export default {
materialSpecifications
:
undefined
,
materialSpecifications
:
undefined
,
materialUnit
:
undefined
,
materialUnit
:
undefined
,
materialBrand
:
undefined
,
materialBrand
:
undefined
,
manufacturer
:
undefined
,
procurementSubject
:
undefined
,
procurementSubject
:
undefined
,
compatibleWith
:
undefined
,
compatibleWith
:
undefined
,
materialUrl
:
undefined
,
materialUrl
:
undefined
,
...
...
maintain-ui/src/views/business/materialPicking/add.vue
View file @
c875a4b0
...
@@ -86,7 +86,7 @@
...
@@ -86,7 +86,7 @@
<el-table-column
label=
"库存"
align=
"center"
prop=
"inventory"
/>
<el-table-column
label=
"库存"
align=
"center"
prop=
"inventory"
/>
<el-table-column
label=
"领料数量"
align=
"center"
prop=
"collectNumber"
width=
"120px"
>
<el-table-column
label=
"领料数量"
align=
"center"
prop=
"collectNumber"
width=
"120px"
>
<
template
slot-scope=
"scope"
>
<
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
>
</
template
>
</el-table-column>
</el-table-column>
<!-- <el-table-column label="销售单价" align="center" prop="price" width="120px">-->
<!-- <el-table-column label="销售单价" align="center" prop="price" width="120px">-->
...
@@ -96,7 +96,7 @@
...
@@ -96,7 +96,7 @@
<!-- </el-table-column>-->
<!-- </el-table-column>-->
<el-table-column
label=
"领料金额"
align=
"center"
prop=
"money"
width=
"120px"
>
<el-table-column
label=
"领料金额"
align=
"center"
prop=
"money"
width=
"120px"
>
<
template
slot-scope=
"scope"
>
<
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
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
...
@@ -260,7 +260,7 @@ export default {
...
@@ -260,7 +260,7 @@ export default {
};
};
},
},
created
()
{
created
()
{
this
.
form
=
{...
this
.
$route
.
query
}
this
.
form
=
{...
this
.
$route
.
query
,
outMoney
:
undefined
}
this
.
getWarehouseList
(
this
.
form
.
repairerDeptId
)
this
.
getWarehouseList
(
this
.
form
.
repairerDeptId
)
this
.
getVendorList
()
this
.
getVendorList
()
},
},
...
@@ -289,7 +289,9 @@ export default {
...
@@ -289,7 +289,9 @@ export default {
},
},
/** 供应商改变 */
/** 供应商改变 */
vendorIdChange
(
vendorId
)
{
vendorIdChange
(
vendorId
)
{
this
.
queryMaterialParams
.
vendorId
=
vendorId
;
if
(
vendorId
)
{
this
.
queryMaterialParams
.
vendorId
=
vendorId
;
}
this
.
form
.
pickingInfoList
=
[]
this
.
form
.
pickingInfoList
=
[]
},
},
/** 打开物料列表 */
/** 打开物料列表 */
...
@@ -348,6 +350,7 @@ export default {
...
@@ -348,6 +350,7 @@ export default {
item
.
money
=
item
.
collectNumber
*
item
.
sellingPrice
item
.
money
=
item
.
collectNumber
*
item
.
sellingPrice
return
sum
+
(
item
.
collectNumber
*
item
.
sellingPrice
);
return
sum
+
(
item
.
collectNumber
*
item
.
sellingPrice
);
},
0
)
},
0
)
console
.
log
(
'
outMoney
'
,
this
.
form
.
outMoney
)
},
},
// 多选框选中数据
// 多选框选中数据
handleMaterialSelectionChange
(
selection
)
{
handleMaterialSelectionChange
(
selection
)
{
...
...
maintain-ui/src/views/business/materialPicking/index.vue
View file @
c875a4b0
...
@@ -274,7 +274,7 @@
...
@@ -274,7 +274,7 @@
<
el
-
table
-
column
label
=
"
库存
"
align
=
"
center
"
prop
=
"
inventory
"
/>
<
el
-
table
-
column
label
=
"
库存
"
align
=
"
center
"
prop
=
"
inventory
"
/>
<
el
-
table
-
column
label
=
"
领料数量
"
align
=
"
center
"
prop
=
"
collectNumber
"
width
=
"
120px
"
>
<
el
-
table
-
column
label
=
"
领料数量
"
align
=
"
center
"
prop
=
"
collectNumber
"
width
=
"
120px
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
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
>
<
/template
>
<
/el-table-column
>
<
/el-table-column
>
<!--
<
el
-
table
-
column
label
=
"
销售单价
"
align
=
"
center
"
prop
=
"
price
"
width
=
"
120px
"
>-->
<!--
<
el
-
table
-
column
label
=
"
销售单价
"
align
=
"
center
"
prop
=
"
price
"
width
=
"
120px
"
>-->
...
@@ -284,7 +284,7 @@
...
@@ -284,7 +284,7 @@
<!--
<
/el-table-column>--
>
<!--
<
/el-table-column>--
>
<
el
-
table
-
column
label
=
"
领料金额
"
align
=
"
center
"
prop
=
"
money
"
width
=
"
120px
"
>
<
el
-
table
-
column
label
=
"
领料金额
"
align
=
"
center
"
prop
=
"
money
"
width
=
"
120px
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
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
>
<
/template
>
<
/el-table-column
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
操作
"
align
=
"
center
"
class
-
name
=
"
small-padding fixed-width
"
>
<
el
-
table
-
column
label
=
"
操作
"
align
=
"
center
"
class
-
name
=
"
small-padding fixed-width
"
>
...
@@ -612,8 +612,8 @@ export default {
...
@@ -612,8 +612,8 @@ export default {
// 入库数量变动
// 入库数量变动
collectNumberChange
()
{
collectNumberChange
()
{
this
.
form
.
outMoney
=
this
.
form
.
pickingInfoList
.
reduce
((
sum
,
item
)
=>
{
this
.
form
.
outMoney
=
this
.
form
.
pickingInfoList
.
reduce
((
sum
,
item
)
=>
{
item
.
money
=
item
.
collectNumber
*
item
.
p
rice
item
.
money
=
item
.
collectNumber
*
item
.
sellingP
rice
return
sum
+
(
item
.
collectNumber
*
item
.
p
rice
);
return
sum
+
(
item
.
collectNumber
*
item
.
sellingP
rice
);
}
,
0
)
}
,
0
)
}
,
}
,
// 多选框选中数据
// 多选框选中数据
...
...
maintain-ui/src/views/business/materialPickingInfo/index.vue
View file @
c875a4b0
...
@@ -119,7 +119,7 @@
...
@@ -119,7 +119,7 @@
<
el
-
row
>
<
el
-
row
>
<
el
-
col
:
span
=
"
6
"
>
<
el
-
col
:
span
=
"
6
"
>
<
el
-
form
-
item
label
=
"
供应商
"
prop
=
"
vendorId
"
>
<
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
-
option
v
-
for
=
"
item in materialVendorOpt
"
:
key
=
"
item.id
"
:
value
=
"
item.id
"
:
label
=
"
item.vendorName
"
/>
<
/el-select
>
<
/el-select
>
<
/el-form-item
>
<
/el-form-item
>
...
...
maintain-ui/src/views/business/materialPutaway/index.vue
View file @
c875a4b0
...
@@ -266,17 +266,17 @@
...
@@ -266,17 +266,17 @@
<
el
-
table
-
column
label
=
"
销售价
"
align
=
"
center
"
prop
=
"
sellingPrice
"
width
=
"
80
"
/>
<
el
-
table
-
column
label
=
"
销售价
"
align
=
"
center
"
prop
=
"
sellingPrice
"
width
=
"
80
"
/>
<
el
-
table
-
column
label
=
"
入库数量
"
align
=
"
center
"
prop
=
"
putawayNumber
"
width
=
"
120px
"
>
<
el
-
table
-
column
label
=
"
入库数量
"
align
=
"
center
"
prop
=
"
putawayNumber
"
width
=
"
120px
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
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
>
<
/template
>
<
/el-table-column
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
入库单价
"
align
=
"
center
"
prop
=
"
putawayPrice
"
width
=
"
120px
"
>
<
el
-
table
-
column
label
=
"
入库单价
"
align
=
"
center
"
prop
=
"
putawayPrice
"
width
=
"
120px
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
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
>
<
/template
>
<
/el-table-column
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
入库金额
"
align
=
"
center
"
prop
=
"
putawayMoney
"
width
=
"
120px
"
>
<
el
-
table
-
column
label
=
"
入库金额
"
align
=
"
center
"
prop
=
"
putawayMoney
"
width
=
"
120px
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
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
>
<
/template
>
<
/el-table-column
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
操作
"
align
=
"
center
"
class
-
name
=
"
small-padding fixed-width
"
width
=
"
50
"
>
<
el
-
table
-
column
label
=
"
操作
"
align
=
"
center
"
class
-
name
=
"
small-padding fixed-width
"
width
=
"
50
"
>
...
@@ -712,6 +712,19 @@ export default {
...
@@ -712,6 +712,19 @@ export default {
this
.
buttonLoading
=
false
;
this
.
buttonLoading
=
false
;
return
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
=>
{
this
.
form
.
putawayInfoList
.
forEach
(
item
=>
{
item
.
materialId
=
item
.
materialId
||
item
.
id
item
.
materialId
=
item
.
materialId
||
item
.
id
}
)
}
)
...
...
maintain-ui/src/views/business/materialReturns/index.vue
View file @
c875a4b0
...
@@ -242,7 +242,7 @@
...
@@ -242,7 +242,7 @@
<
/el-table-column
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
退货数量
"
align
=
"
center
"
prop
=
"
returnsNumber
"
width
=
"
120px
"
>
<
el
-
table
-
column
label
=
"
退货数量
"
align
=
"
center
"
prop
=
"
returnsNumber
"
width
=
"
120px
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
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
>
<
/template
>
<
/el-table-column
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
退货单价
"
align
=
"
center
"
prop
=
"
returnsPrice
"
width
=
"
120px
"
>
<
el
-
table
-
column
label
=
"
退货单价
"
align
=
"
center
"
prop
=
"
returnsPrice
"
width
=
"
120px
"
>
...
@@ -400,15 +400,15 @@ export default {
...
@@ -400,15 +400,15 @@ export default {
// 退货数量更改
// 退货数量更改
returnsNumberChange
()
{
returnsNumberChange
()
{
this
.
form
.
returnsMoney
=
this
.
materialList
.
reduce
((
sum
,
item
)
=>
{
this
.
form
.
returnsMoney
=
this
.
materialList
.
reduce
((
sum
,
item
)
=>
{
item
.
returnsMoney
=
item
.
returnsNumber
*
item
.
returnsPrice
item
.
returnsMoney
=
parseFloat
(
item
.
returnsNumber
)
*
parseFloat
(
item
.
returnsPrice
)
return
sum
+
(
item
.
returnsNumber
*
item
.
returnsPrice
);
return
sum
+
(
parseFloat
(
item
.
returnsNumber
)
*
parseFloat
(
item
.
returnsPrice
)
);
}
,
0
)
}
,
0
)
}
,
}
,
// 入库明细删除
// 入库明细删除
handleRowDelete
(
row
)
{
handleRowDelete
(
row
)
{
this
.
materialList
=
this
.
materialList
.
filter
(
item
=>
item
.
id
!==
row
.
id
);
this
.
materialList
=
this
.
materialList
.
filter
(
item
=>
item
.
id
!==
row
.
id
);
this
.
form
.
returnsMoney
=
this
.
materialList
.
reduce
((
sum
,
item
)
=>
{
this
.
form
.
returnsMoney
=
this
.
materialList
.
reduce
((
sum
,
item
)
=>
{
return
sum
+
(
item
.
returnsNumber
*
item
.
returnsPrice
);
return
sum
+
(
parseFloat
(
item
.
returnsNumber
)
*
parseFloat
(
item
.
returnsPrice
)
);
}
,
0
)
}
,
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