| | |
| | | <el-input v-model="formState.unit" disabled /> |
| | | </el-form-item> |
| | | <el-form-item label="仓库" |
| | | prop="warehouseId" |
| | | prop="warehouseInfoId" |
| | | :rules="[ |
| | | { |
| | | required: true, |
| | |
| | | trigger: 'change', |
| | | } |
| | | ]"> |
| | | <el-select v-model="formState.warehouseId" |
| | | <el-select v-model="formState.warehouseInfoId" |
| | | placeholder="请选择仓库" |
| | | clearable |
| | | :disabled="isEdit || !formState.productId" |
| | | @change="handleWarehouseChange" |
| | | style="width: 100%"> |
| | | <el-option v-for="warehouse in warehouseList" |
| | | :key="warehouse.id" |
| | | :label="warehouse.name" |
| | | :label="warehouse.warehouseName" |
| | | :value="warehouse.id" /> |
| | | </el-select> |
| | | </el-form-item> |
| | |
| | | <el-select v-model="formState.batchNo" |
| | | placeholder="请选择批号" |
| | | clearable |
| | | :disabled="isEdit" |
| | | @change="handleBatchNoChange" |
| | | style="width: 100%"> |
| | | <el-option v-for="batch in batchNoList" |
| | |
| | | ]"> |
| | | <el-select v-model="formState.type" |
| | | placeholder="请选择库存类型" |
| | | :disabled="isEdit"> |
| | | > |
| | | <el-option label="合格库存" |
| | | value="qualified" /> |
| | | <el-option label="不合格库存" |
| | |
| | | import { addStockOutRecordOnly } from "@/api/inventoryManagement/stockInventory.js"; |
| | | import { addUnqualifiedStockOutRecordOnly } from "@/api/inventoryManagement/stockUninventory.js"; |
| | | import { getWarehouseList } from "@/api/inventoryManagement/warehouse.js"; |
| | | import { productModelListByUrl } from "@/api/basicData/productModel.js"; |
| | | |
| | | const userStore = useUserStore(); |
| | | const { proxy } = getCurrentInstance(); |
| | |
| | | productName: "", |
| | | productModelName: "", |
| | | unit: "", |
| | | warehouseId: null, // 仓库ID |
| | | warehouseInfoId: null, // 仓库ID |
| | | type: undefined, |
| | | qualitity: 0, |
| | | batchNo: null, |
| | |
| | | type: props.type === '0' ? 'qualified' : 'unqualified', |
| | | qualitity: row.stockOutNum, |
| | | batchNo: row.batchNo, |
| | | warehouseInfoId: row.warehouseInfoId, |
| | | recordType: row.recordType, |
| | | remark: row.remark || "", |
| | | maxStock: row.stockOutNum || 0, // 编辑时使用当前出库数量作为最大库存(因为是修改已有记录) |
| | | maxStock: row.stockOutNum || 0, |
| | | }; |
| | | // 编辑时从batchNoMaps获取批号列表 |
| | | if (row.batchNoMaps && Object.keys(row.batchNoMaps).length > 0) { |
| | |
| | | productName: "", |
| | | productModelName: "", |
| | | unit: "", |
| | | warehouseId: null, |
| | | warehouseInfoId: null, |
| | | type: undefined, |
| | | qualitity: 0, |
| | | batchNo: null, |
| | |
| | | batchNoList.value = []; |
| | | batchNoStockMap.value = {}; |
| | | rawBatchNoMaps.value = {}; |
| | | formState.value.warehouseId = null; |
| | | formState.value.warehouseInfoId = null; |
| | | formState.value.batchNo = null; |
| | | formState.value.maxStock = 0; |
| | | |
| | |
| | | warehouseMap[w.id] = w.warehouseName || w.name || w.warehouseCode || `仓库${w.id}`; |
| | | }); |
| | | // 构建仓库列表 |
| | | warehouseList.value = Object.keys(product.batchNoMaps).map(warehouseId => ({ |
| | | id: warehouseId, |
| | | name: warehouseMap[warehouseId] || `仓库${warehouseId}` |
| | | warehouseList.value = Object.keys(product.batchNoMaps).map(warehouseInfoId => ({ |
| | | id: warehouseInfoId, |
| | | warehouseName: warehouseMap[warehouseInfoId] || `仓库${warehouseInfoId}` |
| | | })); |
| | | } |
| | | showProductSelect.value = false; |
| | |
| | | }; |
| | | |
| | | // 仓库选择变化处理 |
| | | const handleWarehouseChange = (warehouseId) => { |
| | | const handleWarehouseChange = (warehouseInfoId) => { |
| | | batchNoList.value = []; |
| | | batchNoStockMap.value = {}; |
| | | formState.value.batchNo = null; |
| | | formState.value.maxStock = 0; |
| | | |
| | | if (warehouseId && rawBatchNoMaps.value[warehouseId]) { |
| | | if (warehouseInfoId && rawBatchNoMaps.value[warehouseInfoId]) { |
| | | // 解析该仓库下的批号数据,格式为:[{批号: 库存}, {批号: 库存}] |
| | | const batchArray = rawBatchNoMaps.value[warehouseId]; |
| | | const batchArray = rawBatchNoMaps.value[warehouseInfoId]; |
| | | const batchMap = {}; |
| | | const batches = []; |
| | | |