入库优化

pull/1/head
liutao 1 month ago
parent 250c873c11
commit a4af8de233

@ -380,6 +380,7 @@ export default {
action: 'Action', action: 'Action',
placeholderWarehouse: 'Please select warehouse', placeholderWarehouse: 'Please select warehouse',
placeholderProduct: 'Please select product', placeholderProduct: 'Please select product',
placeholderBarcode: 'Please select barcode',
validatorWarehouseRequired: 'Warehouse is required', validatorWarehouseRequired: 'Warehouse is required',
validatorProductRequired: 'Product is required', validatorProductRequired: 'Product is required',
validatorCountRequired: 'Quantity is required' validatorCountRequired: 'Quantity is required'

@ -369,9 +369,9 @@ export default {
Item: { Item: {
index: '序号', index: '序号',
warehouse: '仓库名称', warehouse: '仓库名称',
product: '产品名称', product: '名称',
stock: '库存', stock: '库存',
barcode: '码', barcode: '码',
unit: '单位', unit: '单位',
count: '数量', count: '数量',
price: '产品单价', price: '产品单价',
@ -380,6 +380,7 @@ export default {
action: '操作', action: '操作',
placeholderWarehouse: '请选择仓库', placeholderWarehouse: '请选择仓库',
placeholderProduct: '请选择产品', placeholderProduct: '请选择产品',
placeholderBarcode: '请选择编码',
validatorWarehouseRequired: '仓库不能为空', validatorWarehouseRequired: '仓库不能为空',
validatorProductRequired: '产品不能为空', validatorProductRequired: '产品不能为空',
validatorCountRequired: '产品数量不能为空' validatorCountRequired: '产品数量不能为空'
@ -1554,11 +1555,10 @@ export default {
// 备件管理 // 备件管理
SparePartsManagement: { SparePartsManagement: {
SpareInfo: { SpareInfo: {
name: '备件名称', name: '名称',
code: '备件编码', code: '编码',
deviceSpec:'规格型号',
qrcode: '二维码/条形码', qrcode: '二维码/条形码',
standard: '规格', standard: '规格型号',
expiryDay: '保质期天数', expiryDay: '保质期天数',
category: '分类', category: '分类',
unit: '单位', unit: '单位',
@ -1570,11 +1570,10 @@ export default {
exportFilename: '备件信息.xls', exportFilename: '备件信息.xls',
placeholderName: '请输入名称', placeholderName: '请输入名称',
placeholderCode: '请输入编码', placeholderCode: '请输入编码',
placeholderDeviceSpec: '请输入规格型号',
placeholderUnit: '请选择单位', placeholderUnit: '请选择单位',
placeholderSafetyNumber: '请输入预警库存数量', placeholderSafetyNumber: '请输入预警库存数量',
placeholderRemark: '请输入备注', placeholderRemark: '请输入备注',
placeholderStandard: '请输入规格', placeholderStandard: '请输入规格型号',
placeholderExpiryDay: '请输入保质期天数', placeholderExpiryDay: '请输入保质期天数',
qrcodeLoadError: '二维码加载失败', qrcodeLoadError: '二维码加载失败',
qrcodeEmpty: '暂无二维码', qrcodeEmpty: '暂无二维码',

@ -20,3 +20,7 @@
.icon-user-o:before { .icon-user-o:before {
content: '\f2c0'; content: '\f2c0';
} }
.el-table--small .cell {
padding: 0 2px;
}

@ -37,8 +37,8 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item :label="t('SparePartsManagement.SpareInfo.deviceSpec')" prop="deviceSpec"> <el-form-item :label="t('SparePartsManagement.SpareInfo.standard')" prop="standard">
<el-input v-model="formData.deviceSpec" :placeholder="t('SparePartsManagement.SpareInfo.placeholderDeviceSpec')" /> <el-input v-model="formData.standard" :placeholder="t('SparePartsManagement.SpareInfo.placeholderStandard')" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@ -53,11 +53,11 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <!-- <el-col :span="12">
<el-form-item :label="t('SparePartsManagement.SpareInfo.standard')" prop="standard"> <el-form-item :label="t('SparePartsManagement.SpareInfo.standard')" prop="standard">
<el-input v-model="formData.standard" :placeholder="t('SparePartsManagement.SpareInfo.placeholderStandard')" /> <el-input v-model="formData.standard" :placeholder="t('SparePartsManagement.SpareInfo.placeholderStandard')" />
</el-form-item> </el-form-item>
</el-col> </el-col>-->
<!-- <el-col :span="12"> <!-- <el-col :span="12">
<el-form-item :label="t('SparePartsManagement.SpareInfo.expiryDay')" prop="expiryDay"> <el-form-item :label="t('SparePartsManagement.SpareInfo.expiryDay')" prop="expiryDay">
<el-input-number <el-input-number

@ -67,8 +67,8 @@
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true"> <el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
<el-table-column :label="t('SparePartsManagement.SpareInfo.code')" align="center" prop="barCode" width="240px" sortable /> <el-table-column :label="t('SparePartsManagement.SpareInfo.code')" align="center" prop="barCode" width="240px" sortable />
<el-table-column :label="t('SparePartsManagement.SpareInfo.name')" align="left" prop="name" width="220px" sortable /> <el-table-column :label="t('SparePartsManagement.SpareInfo.name')" align="left" prop="name" width="220px" sortable />
<el-table-column v-if="checkPermi(['erp:component:standard'])" :label="t('SparePartsManagement.SpareInfo.standard')" align="center" prop="standard" /> <el-table-column :label="t('SparePartsManagement.SpareInfo.standard')" align="center" prop="standard" />
<el-table-column :label="t('SparePartsManagement.SpareInfo.deviceSpec')" align="center" prop="deviceSpec" sortable /> <!-- <el-table-column v-if="checkPermi(['erp:component:standard'])" :label="t('SparePartsManagement.SpareInfo.deviceSpec')" align="center" prop="deviceSpec" sortable />-->
<el-table-column :label="t('SparePartsManagement.SpareInfo.category')" align="center" prop="categoryName" sortable /> <el-table-column :label="t('SparePartsManagement.SpareInfo.category')" align="center" prop="categoryName" sortable />
<el-table-column :label="t('SparePartsManagement.SpareInfo.unit')" align="center" prop="unitName" sortable /> <el-table-column :label="t('SparePartsManagement.SpareInfo.unit')" align="center" prop="unitName" sortable />
<el-table-column :label="t('SparePartsManagement.SpareInfo.safetyNumber')" align="center" prop="safetyNumber" /> <el-table-column :label="t('SparePartsManagement.SpareInfo.safetyNumber')" align="center" prop="safetyNumber" />

@ -8,7 +8,7 @@
:inline-message="true" :inline-message="true"
:disabled="disabled" :disabled="disabled"
> >
<el-table :data="formData" show-summary :summary-method="getSummaries" class="-mt-10px"> <el-table :data="formData" size="small" show-summary :summary-method="getSummaries" class="-mt-10px" >
<el-table-column :label="t('common.index')" type="index" align="center" width="60" /> <el-table-column :label="t('common.index')" type="index" align="center" width="60" />
<el-table-column :label="t('ErpStock.Item.warehouse')" min-width="125"> <el-table-column :label="t('ErpStock.Item.warehouse')" min-width="125">
<template #default="{ row, $index }"> <template #default="{ row, $index }">
@ -34,6 +34,31 @@
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="t('ErpStock.Item.barcode')" min-width="160">
<!-- <template #default="{ row }">
<el-form-item class="mb-0px!">
<el-input disabled v-model="row.productBarCode" />
</el-form-item>
</template>-->
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.productBarCode`" class="mb-0px!">
<el-select
v-model="row.productBarCode"
clearable
filterable
@change="onChangeProductCode($event, row)"
:placeholder="t('ErpStock.Item.placeholderBarcode')"
>
<el-option
v-for="item in productList"
:key="item.barCode"
:label="item.barCode"
:value="item.barCode"
/>
</el-select>
</el-form-item>
</template>
</el-table-column>
<el-table-column :label="t('ErpStock.Item.product')" min-width="180"> <el-table-column :label="t('ErpStock.Item.product')" min-width="180">
<template #default="{ row, $index }"> <template #default="{ row, $index }">
<el-form-item :prop="`${$index}.productId`" :rules="formRules.productId" class="mb-0px!"> <el-form-item :prop="`${$index}.productId`" :rules="formRules.productId" class="mb-0px!">
@ -58,13 +83,7 @@
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="t('ErpStock.Item.barcode')" min-width="150">
<template #default="{ row }">
<el-form-item class="mb-0px!">
<el-input disabled v-model="row.productBarCode" />
</el-form-item>
</template>
</el-table-column>
<el-table-column :label="t('ErpStock.Item.unit')" min-width="80"> <el-table-column :label="t('ErpStock.Item.unit')" min-width="80">
<template #default="{ row }"> <template #default="{ row }">
<el-form-item class="mb-0px!"> <el-form-item class="mb-0px!">
@ -85,7 +104,7 @@
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="t('ErpStock.Item.price')" fixed="right" min-width="120"> <!-- <el-table-column :label="t('ErpStock.Item.price')" fixed="right" min-width="120">
<template #default="{ row, $index }"> <template #default="{ row, $index }">
<el-form-item :prop="`${$index}.productPrice`" class="mb-0px!"> <el-form-item :prop="`${$index}.productPrice`" class="mb-0px!">
<el-input-number <el-input-number
@ -104,7 +123,7 @@
<el-input disabled v-model="row.totalPrice" :formatter="erpPriceInputFormatter" /> <el-input disabled v-model="row.totalPrice" :formatter="erpPriceInputFormatter" />
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>-->
<el-table-column :label="t('ErpStock.Item.remark')" fixed="right" min-width="150"> <el-table-column :label="t('ErpStock.Item.remark')" fixed="right" min-width="150">
<template #default="{ row, $index }"> <template #default="{ row, $index }">
<el-form-item :prop="`${$index}.remark`" class="mb-0px!"> <el-form-item :prop="`${$index}.remark`" class="mb-0px!">
@ -250,6 +269,19 @@ const handleDelete = (index) => {
formData.value.splice(index, 1) formData.value.splice(index, 1)
} }
/** 处理产品变更 */
const onChangeProductCode = (productBarCode, row) => {
const product = productList.value.find((item) => item.barCode === productBarCode)
if (product) {
row.productUnitName = product.unitName
row.productBarCode = product.barCode
row.productPrice = product.minPrice
row.productId = product.id
}
//
setStockCount(row)
}
/** 处理仓库变更 */ /** 处理仓库变更 */
const onChangeWarehouse = (warehouseId, row) => { const onChangeWarehouse = (warehouseId, row) => {
// //

@ -8,7 +8,7 @@
:inline-message="true" :inline-message="true"
:disabled="disabled" :disabled="disabled"
> >
<el-table :data="formData" show-summary :summary-method="getSummaries" class="-mt-10px"> <el-table :data="formData" size="small" show-summary :summary-method="getSummaries" class="-mt-10px">
<el-table-column :label="t('common.index')" type="index" align="center" width="60" /> <el-table-column :label="t('common.index')" type="index" align="center" width="60" />
<el-table-column :label="t('ErpStock.Item.warehouse')" min-width="125"> <el-table-column :label="t('ErpStock.Item.warehouse')" min-width="125">
<template #default="{ row, $index }"> <template #default="{ row, $index }">
@ -34,6 +34,26 @@
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="t('ErpStock.Item.barcode')" min-width="160">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.productBarCode`" class="mb-0px!">
<el-select
v-model="row.productBarCode"
clearable
filterable
@change="onChangeProductCode($event, row)"
:placeholder="t('ErpStock.Item.placeholderBarcode')"
>
<el-option
v-for="item in productList"
:key="item.barCode"
:label="item.barCode"
:value="item.barCode"
/>
</el-select>
</el-form-item>
</template>
</el-table-column>
<el-table-column :label="t('ErpStock.Item.product')" min-width="180"> <el-table-column :label="t('ErpStock.Item.product')" min-width="180">
<template #default="{ row, $index }"> <template #default="{ row, $index }">
<el-form-item :prop="`${$index}.productId`" :rules="formRules.productId" class="mb-0px!"> <el-form-item :prop="`${$index}.productId`" :rules="formRules.productId" class="mb-0px!">
@ -58,13 +78,13 @@
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="t('ErpStock.Item.barcode')" min-width="150"> <!-- <el-table-column :label="t('ErpStock.Item.barcode')" min-width="150">
<template #default="{ row }"> <template #default="{ row }">
<el-form-item class="mb-0px!"> <el-form-item class="mb-0px!">
<el-input disabled v-model="row.productBarCode" /> <el-input disabled v-model="row.productBarCode" />
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>-->
<el-table-column :label="t('ErpStock.Item.unit')" min-width="80"> <el-table-column :label="t('ErpStock.Item.unit')" min-width="80">
<template #default="{ row }"> <template #default="{ row }">
<el-form-item class="mb-0px!"> <el-form-item class="mb-0px!">
@ -85,7 +105,7 @@
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="t('ErpStock.Item.price')" fixed="right" min-width="120"> <!-- <el-table-column :label="t('ErpStock.Item.price')" fixed="right" min-width="120">
<template #default="{ row, $index }"> <template #default="{ row, $index }">
<el-form-item :prop="`${$index}.productPrice`" class="mb-0px!"> <el-form-item :prop="`${$index}.productPrice`" class="mb-0px!">
<el-input-number <el-input-number
@ -104,7 +124,7 @@
<el-input disabled v-model="row.totalPrice" :formatter="erpPriceInputFormatter" /> <el-input disabled v-model="row.totalPrice" :formatter="erpPriceInputFormatter" />
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>-->
<el-table-column :label="t('ErpStock.Item.remark')" fixed="right" min-width="150"> <el-table-column :label="t('ErpStock.Item.remark')" fixed="right" min-width="150">
<template #default="{ row, $index }"> <template #default="{ row, $index }">
<el-form-item :prop="`${$index}.remark`" class="mb-0px!"> <el-form-item :prop="`${$index}.remark`" class="mb-0px!">
@ -250,6 +270,19 @@ const handleDelete = (index) => {
formData.value.splice(index, 1) formData.value.splice(index, 1)
} }
/** 处理产品变更 */
const onChangeProductCode = (productBarCode, row) => {
const product = productList.value.find((item) => item.barCode === productBarCode)
if (product) {
row.productUnitName = product.unitName
row.productBarCode = product.barCode
row.productPrice = product.minPrice
row.productId = product.id
}
//
setStockCount(row)
}
/** 处理仓库变更 */ /** 处理仓库变更 */
const onChangeWarehouse = (warehouseId, row) => { const onChangeWarehouse = (warehouseId, row) => {
// //

Loading…
Cancel
Save