|
|
|
|
@ -80,6 +80,13 @@ v-model="row.productId" :options="productCascaderOptions" :props="productCascade
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column v-if="isPurchaseUnitStockOut" :label="t('ErpStock.Item.defaultSupplier')" min-width="130">
|
|
|
|
|
<template #default="{ row }">
|
|
|
|
|
<el-form-item class="mb-0px!">
|
|
|
|
|
<el-input disabled v-model="row.supplierName" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column v-if="isPurchaseUnitStockOut" min-width="120">
|
|
|
|
|
<template #header>
|
|
|
|
|
{{ t('ErpStock.Item.purchaseUnitConvertQuantity') }}
|
|
|
|
|
@ -193,6 +200,11 @@ v-loading="productDialogLoading" :data="productDialogList" row-key="id" :stripe=
|
|
|
|
|
<el-table-column :label="t('ErpStock.Item.category')" prop="subCategoryName" min-width="120" />
|
|
|
|
|
<el-table-column :label="t('ErpStock.Item.unit')" prop="unitName" min-width="80" />
|
|
|
|
|
<el-table-column v-if="isPurchaseUnitStockOut" :label="t('ErpStock.Item.purchaseUnit')" prop="purchaseUnitName" min-width="100" />
|
|
|
|
|
<el-table-column v-if="isPurchaseUnitStockOut" :label="t('ErpStock.Item.defaultSupplier')" min-width="130">
|
|
|
|
|
<template #default="{ row }">
|
|
|
|
|
{{ getDefaultSupplierName(row) || '-' }}
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column v-if="isPurchaseUnitStockOut" :label="t('ErpStock.Item.purchaseUnitConvertQuantity')" prop="purchaseUnitConvertQuantity" min-width="120" />
|
|
|
|
|
</el-table>
|
|
|
|
|
<div class="product-dialog-pagination">
|
|
|
|
|
@ -373,6 +385,7 @@ const handleAdd = () => {
|
|
|
|
|
productPrice: undefined,
|
|
|
|
|
purchaseUnitId: undefined,
|
|
|
|
|
purchaseUnitName: undefined,
|
|
|
|
|
supplierName: undefined,
|
|
|
|
|
purchaseUnitConvertQuantity: undefined,
|
|
|
|
|
inputUnitType: isProductStockOut.value ? '个' : undefined,
|
|
|
|
|
inputCount: isProductMaterialStockOut.value ? 1 : undefined,
|
|
|
|
|
@ -427,10 +440,18 @@ const fillRowByProduct = (row: any, product: any) => {
|
|
|
|
|
row.productName = product.name
|
|
|
|
|
row.purchaseUnitId = product.purchaseUnitId
|
|
|
|
|
row.purchaseUnitName = product.purchaseUnitName
|
|
|
|
|
row.supplierName = getDefaultSupplierName(product)
|
|
|
|
|
row.purchaseUnitConvertQuantity = product.purchaseUnitConvertQuantity
|
|
|
|
|
syncCountByInputCount(row)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const getDefaultSupplierName = (product: any) => {
|
|
|
|
|
if (!product) return undefined
|
|
|
|
|
if (product.supplierName) return product.supplierName
|
|
|
|
|
const suppliers = Array.isArray(product.suppliers) ? product.suppliers : []
|
|
|
|
|
return suppliers.find((item) => Number(item?.defaultStatus) === 1)?.supplierName
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const clearProduct = (row: any) => {
|
|
|
|
|
row.productUnitName = undefined
|
|
|
|
|
row.productBarCode = undefined
|
|
|
|
|
@ -439,6 +460,7 @@ const clearProduct = (row: any) => {
|
|
|
|
|
row.productName = undefined
|
|
|
|
|
row.purchaseUnitId = undefined
|
|
|
|
|
row.purchaseUnitName = undefined
|
|
|
|
|
row.supplierName = undefined
|
|
|
|
|
row.purchaseUnitConvertQuantity = undefined
|
|
|
|
|
row.inputCount = isProductMaterialStockOut.value ? undefined : row.inputCount
|
|
|
|
|
row.count = isProductMaterialStockOut.value ? undefined : row.count
|
|
|
|
|
@ -552,6 +574,7 @@ const fillProductNames = (rows: any[]) => {
|
|
|
|
|
row.productPrice = row.productPrice ?? product.minPrice
|
|
|
|
|
row.purchaseUnitId = row.purchaseUnitId ?? (product as any).purchaseUnitId
|
|
|
|
|
row.purchaseUnitName = row.purchaseUnitName ?? (product as any).purchaseUnitName
|
|
|
|
|
row.supplierName = row.supplierName ?? getDefaultSupplierName(product)
|
|
|
|
|
row.purchaseUnitConvertQuantity = row.purchaseUnitConvertQuantity ?? (product as any).purchaseUnitConvertQuantity
|
|
|
|
|
syncCountByInputCount(row)
|
|
|
|
|
})
|
|
|
|
|
|