盘点管理 基础点位管理 绑定物料 解除物料

This commit is contained in:
liuhanqing
2025-05-30 16:32:24 +08:00
parent a393347bab
commit 37d45aa395
63 changed files with 6368 additions and 190 deletions

View File

@@ -59,23 +59,25 @@
</el-row>
</div>
<el-table :data="productList" border>
<el-table :data="productList" border style="width: 100%">
<el-table-column type="index" :label="$t('receiveStockinAdd.serialNumber')" width="50" align="center"/>
<el-table-column :label="$t('receiveStockinAdd.guid')" align="center" prop="productGuid"/>
<el-table-column :label="$t('receiveStockinAdd.parentId')" align="center" prop="parentId"/>
<el-table-column :label="$t('receiveStockinAdd.productCode')" align="center" prop="productId"/>
<el-table-column :label="$t('receiveStockinAdd.productName')" align="center" prop="productName"/>
<el-table-column :label="$t('receiveStockinAdd.price')" align="center" prop="price"/>
<el-table-column :label="$t('receiveStockinAdd.brand')" align="center" prop="cargoNo"/>
<el-table-column :label="$t('receiveStockinAdd.unit')" align="center" prop="unit"/>
<el-table-column :label="$t('receiveStockinAdd.spec')" align="center" prop="spec"/>
<el-table-column :label="$t('receiveStockinAdd.description')" align="center" prop="remark"/>
<!-- <el-table-column label="备用字段1" align="center" prop="spare1" v-if="false"/> -->
<!-- <el-table-column label="备用字段2" align="center" prop="spare2" />-->
<!-- <el-table-column label="备用字段3" align="center" prop="spare3" />-->
<!-- <el-table-column label="备用字段4" align="center" prop="spare4" />-->
<!-- <el-table-column label="备用字段5" align="center" prop="spare5" />-->
<!-- <el-table-column label="备用字段6" align="center" prop="spare6" />-->
<!-- <el-table-column label="主键" align="center" prop="productGuid" />-->
<el-table-column fixed label="物料编码" align="center" prop="productId" />
<el-table-column fixed label="物料名称" align="center" prop="productName" />
<el-table-column fixed label="英文描述" align="center" prop="spare1"/>
<el-table-column label="单位" align="center" prop="unit" />
<el-table-column label="单件净重KG" align="center" prop="spare2" />
<el-table-column label="总净重" align="center" prop="totalNetWeight" />
<el-table-column label="箱号" align="center" prop="spare3" />
<el-table-column label="包装方式" align="center" prop="spare4" />
<el-table-column label="长MM" align="center" prop="spare5" />
<el-table-column label="宽MM" align="center" prop="spare6" />
<el-table-column label="高MM" align="center" prop="spare7" />
<el-table-column label="体积m³" align="center" prop="spare8" />
<el-table-column label="净重KG" align="center" prop="netWeight" />
<el-table-column label="毛重KG" align="center" prop="grossWeight" />
<el-table-column label="价格" align="center" prop="price" />
<el-table-column label="描述" align="center" prop="remark" />
<el-table-column :label="$t('receiveStockinAdd.batchNumber')" width="120" align="center">
<template slot-scope="scope">
<el-input
@@ -126,7 +128,7 @@
</el-table>
<div class="total-info" style="margin-top: 15px; text-align: right">
<span>{{ $t('receiveStockinAdd.totalQuantity') }}:{{ totalQuantity }}</span>
<!-- <span>{{ $t('receiveStockinAdd.totalQuantity') }}:{{ totalQuantity }}</span>-->
<span style="margin-left: 20px">{{ $t('receiveStockinAdd.totalAmount') }}:{{ totalAmount }}</span>
</div>
</div>
@@ -137,24 +139,25 @@
</div>
<!-- 选择物料对话框 -->
<el-dialog :title="$t('receiveStockinAdd.selectProduct')" :visible.sync="productSelectVisible" width="800px" append-to-body>
<el-dialog :title="$t('receiveStockinAdd.selectProduct')" :visible.sync="productSelectVisible" width="1300px" append-to-body>
<el-table :data="productOptions" border @selection-change="handleProductSelectionChange">
<el-table-column type="selection" width="55"/>
<el-table-column :label="$t('receiveStockinAdd.guid')" align="center" prop="productGuid"/>
<el-table-column :label="$t('receiveStockinAdd.parentId')" align="center" prop="parentId"/>
<el-table-column :label="$t('receiveStockinAdd.productCode')" align="center" prop="productId"/>
<el-table-column :label="$t('receiveStockinAdd.productName')" align="center" prop="productName"/>
<el-table-column :label="$t('receiveStockinAdd.price')" align="center" prop="price"/>
<el-table-column :label="$t('receiveStockinAdd.brand')" align="center" prop="cargoNo"/>
<el-table-column :label="$t('receiveStockinAdd.unit')" align="center" prop="unit"/>
<el-table-column :label="$t('receiveStockinAdd.spec')" align="center" prop="spec"/>
<el-table-column :label="$t('receiveStockinAdd.description')" align="center" prop="remark"/>
<!-- <el-table-column label="备用字段1" align="center" prop="spare1" v-if="false"/> -->
<!-- <el-table-column label="备用字段2" align="center" prop="spare2" />-->
<!-- <el-table-column label="备用字段3" align="center" prop="spare3" />-->
<!-- <el-table-column label="备用字段4" align="center" prop="spare4" />-->
<!-- <el-table-column label="备用字段5" align="center" prop="spare5" />-->
<!-- <el-table-column label="备用字段6" align="center" prop="spare6" />-->
<!-- <el-table-column label="主键" align="center" prop="productGuid" />-->
<el-table-column label="物料编码" align="center" prop="productId" />
<el-table-column label="物料名称" align="center" prop="productName" />
<el-table-column label="英文描述" align="center" prop="spare1"/>
<el-table-column label="单位" align="center" prop="unit" />
<el-table-column label="单件净重KG" align="center" prop="spare2" />
<el-table-column label="箱号" align="center" prop="spare3" />
<el-table-column label="包装方式" align="center" prop="spare4" />
<el-table-column label="长MM" align="center" prop="spare5" />
<el-table-column label="宽MM" align="center" prop="spare6" />
<el-table-column label="高MM" align="center" prop="spare7" />
<el-table-column label="体积m³" align="center" prop="spare8" />
<!-- <el-table-column label="净重KG" align="center" prop="spare8" />
<el-table-column label="毛重KG" align="center" prop="spare9" />-->
<el-table-column label="价格" align="center" prop="price" />
<el-table-column label="描述" align="center" prop="remark" />
</el-table>
<pagination
v-show="productTotal>0"
@@ -208,6 +211,9 @@ export default {
remark: undefined,
totalQuantity: 0,
totalAmount: 0,
totalNetWeight:0,
netWeight:0,
grossWeight:0,
file: undefined,
},
// 表单校验
@@ -237,6 +243,9 @@ export default {
totalQuantity: 0,
// 总金额
totalAmount: 0,
totalNetWeight:0,
netWeight:0,
grossWeight:0,
//物料总数
productTotal: 0,
//物料查询参数
@@ -314,6 +323,17 @@ export default {
remark: item.remark,
productName: item.productName,
quantity: 1,
spare1: item.spare1,
spare2: item.spare2,
spare3: item.spare3,
spare4: item.spare4,
spare5: item.spare5,
spare6: item.spare6,
spare7: item.spare7,
spare8: item.spare8,
totalNetWeight: 0,
netWeight: 0,
grossWeight: 0
}));
this.productList.push(...newProducts);
this.productSelectVisible = false;
@@ -328,8 +348,27 @@ export default {
calculateTotal() {
this.totalQuantity = this.productList.reduce((sum, item) => sum + (item.quantity || 0), 0);
this.totalAmount = this.productList.reduce((sum, item) => sum + ((item.quantity || 0) * (item.price || 0)), 0);
// 遍历产品列表,计算每个产品的重量
this.productList.forEach(item => {
// 计算总净重(单件净重×数量)
item.totalNetWeight = (item.quantity || 0) * (item.spare2 || 0);
// 净重等于总净重
item.netWeight = item.totalNetWeight;
// 毛重等于总净重
item.grossWeight = item.totalNetWeight;
});
// 计算表单总计
this.totalNetWeight = this.productList.reduce((sum, item) => sum + (item.totalNetWeight || 0), 0);
this.netWeight = this.totalNetWeight;
this.grossWeight = this.totalNetWeight;
this.form.totalQuantity = this.totalQuantity;
this.form.totalAmount = this.totalAmount;
this.form.totalNetWeight = this.totalNetWeight;
this.form.netWeight = this.netWeight;
this.form.grossWeight = this.grossWeight;
},
/** 表单提交 */
submitForm() {
@@ -351,9 +390,24 @@ export default {
supplierId: this.form.supplierId,
//batchId: this.form.batchNo,
productVoList: this.productList.map(item => ({
productGuid: item.productGuid,
productId: item.productId,
quantity: item.quantity,
lotNo: item.lotNo
lotNo: item.lotNo,
productGuid: item.productGuid,
englishDesc: item.spare1,
cartonNo: item.spare3,
packingMethod: item.spare4,
length: item.spare5,
width: item.spare6,
height: item.spare7,
volume: item.spare8,
totalNetWeight: item.totalNetWeight,
netWeight: item.netWeight,
grossWeight: item.grossWeight,
materialDesc: item.productName,
unit: item.unit,
unitNetWeight:item.spare2
}))
};

View File

@@ -229,11 +229,11 @@
<!-- <el-table-column label=" 完成日期" align="center" prop="finishDate"/>-->
<!-- <el-table-column label="备用字段2" align="center" prop="spare2" />
<el-table-column label="备用字段1" align="center" prop="spare1" />-->
<el-table-column label="erp单号" align="center" prop="erpBill"/>
<!-- <el-table-column label="erp单号" align="center" prop="erpBill"/>-->
<el-table-column label="单据来源" align="center" prop="stockSource"/>
<el-table-column label="部门" align="center" prop="departmentName"/>
<!-- <el-table-column label="客户编码" align="center" prop="customerNo"/>-->
<el-table-column label="班组编码" align="center" prop="classNo"/>
<!-- <el-table-column label="班组编码" align="center" prop="classNo"/>-->
<el-table-column label="供应商" align="center" prop="supplierName"/>
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
@@ -294,11 +294,16 @@
<!-- <el-table-column label="主单GUID" align="center" prop="stockinGuid" /> -->
<el-table-column label="主单ID" align="center" prop="stockinId"/>
<el-table-column label="批次号" align="center" prop="lotNo"/>
<el-table-column label="物料ID" align="center" prop="productGuid"/>
<!-- <el-table-column label="物料ID" align="center" prop="productGuid"/>-->
<el-table-column label="物料编码" align="center" prop="productId"/>
<el-table-column label="物料描述" align="center" prop="extraField.materialDesc"/>
<el-table-column label="英文描述" align="center" prop="extraField.englishDesc"/>
<el-table-column label="箱号" align="center" prop="extraField.cartonNo"/>
<el-table-column label="包装方式" align="center" prop="extraField.packingMethod"/>
<el-table-column label="计划数量" width="120" align="center">
<template slot-scope="scope">
<el-input-number
v-dialog-drag-width="100"
v-model="scope.row.quantity"
:min="1"
controls-position="right"
@@ -308,9 +313,9 @@
</el-table-column>
<!-- <el-table-column label="计划数量(箱)" align="center" prop="quantityX" />
<el-table-column label="计划数量(件)" align="center" prop="quantityJ" />-->
<el-table-column label="参考单价" align="center" prop="price"/>
<el-table-column label="品牌" align="center" prop="cargoNo"/>
<el-table-column label="描述" align="center" prop="remark"/>
<!-- <el-table-column label="参考单价" align="center" prop="price"/>-->
<!-- <el-table-column label="品牌" align="center" prop="cargoNo"/>-->
<!-- <el-table-column label="描述" align="center" prop="remark"/>-->
<!-- <el-table-column label="实际数量" align="center" prop="assignNum" />
<el-table-column label="实际数量(箱)" align="center" prop="assignNumX" />
<el-table-column label="实际数量(件)" align="center" prop="assignNumJ" />-->
@@ -322,8 +327,8 @@
</el-table-column>
<!-- <el-table-column label="供应商编码" align="center" prop="supplierId"/>-->
<!-- <el-table-column label="客户编码" align="center" prop="customerId"/>-->
<el-table-column label="单位" align="center" prop="unit"/>
<el-table-column label="规格" align="center" prop="spec"/>
<!-- <el-table-column label="单位" align="center" prop="unit"/>-->
<!-- <el-table-column label="规格" align="center" prop="spec"/>-->
<!-- <el-table-column label="备用字段1" align="center" prop="spare1" />
<el-table-column label="备用字段2" align="center" prop="spare2" />
<el-table-column label="备用字段3" align="center" prop="spare3" />

View File

@@ -250,8 +250,8 @@
</template>
</el-table-column>
<el-table-column label="仓库" align="center" prop="warehouseName"/>
<el-table-column label=" 完成日期" align="center" prop="finishDate"/>
<el-table-column label="erp单号" align="center" prop="erpBill"/>
<el-table-column label="完成日期" align="center" prop="finishDate"/>
<!-- <el-table-column label="erp单号" align="center" prop="erpBill"/>-->
<el-table-column label="单据来源" align="center" prop="stockSource">
<template slot-scope="scope">
<dict-tag :options="dict.type.bill_resource" :value="scope.row.stockSource"/>
@@ -259,7 +259,7 @@
</el-table-column>
<el-table-column label="部门" align="center" prop="departmentName"/>
<!-- <el-table-column label="客户编码" align="center" prop="customerNo" />-->
<el-table-column label="班组编码" align="center" prop="classNo"/>
<!-- <el-table-column label="班组编码" align="center" prop="classNo"/>-->
<el-table-column label="供应商" align="center" prop="supplierName"/>
<!-- <el-table-column label="备用字段1" align="center" prop="spare1" />
<el-table-column label="备用字段2" align="center" prop="spare2" />
@@ -302,21 +302,10 @@
<el-table-column label="批次号" align="center" prop="lotNo"/>
<el-table-column label="物料ID" align="center" prop="productGuid"/>
<el-table-column label="物料编码" align="center" prop="productId"/>
<!-- <el-table-column label="计划数量(箱)" align="center" prop="quantityX" />
<el-table-column label="计划数量(件)" align="center" prop="quantityJ" />-->
<el-table-column label="参考单价" align="center" prop="price"/>
<el-table-column label="品牌" align="center" prop="cargoNo"/>
<el-table-column label="描述" align="center" prop="remark"/>
<!-- <el-table-column label="实际数量(箱)" align="center" prop="assignNumX" />
<el-table-column label="实际数量(件)" align="center" prop="assignNumJ" />-->
<el-table-column label="入库日期" align="center" prop="printDate"/>
<!-- <el-table-column label="单据状态" align="center" prop="stockStatus" />-->
<!-- <el-table-column label="供应商编码" align="center" prop="supplierId" />
<el-table-column label="客户编码" align="center" prop="customerId" />-->
<el-table-column label="单位" align="center" prop="unit"/>
<el-table-column label="规格" align="center" prop="spec"/>
<el-table-column label="物料描述" align="center" prop="extraField.materialDesc"/>
<el-table-column label="英文描述" align="center" prop="extraField.englishDesc"/>
<el-table-column label="箱号" align="center" prop="extraField.cartonNo"/>
<el-table-column label="包装方式" align="center" prop="extraField.packingMethod"/>
<el-table-column label="计划数量" align="center" prop="quantity"/>
<el-table-column label="扫码数量" align="center" prop="scanNum"/>
<el-table-column label="实际数量" align="center" prop="assignNum"/>