| | |
| | | <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 = []; |
| | | |
| | |
| | | <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 |
| | | style="width: 100%"> |
| | |
| | | type: undefined, |
| | | qualitity: 0, |
| | | batchNo: null, |
| | | warehouseId: undefined, |
| | | warehouseInfoId: undefined, |
| | | warnNum: 0, |
| | | recordType: "", |
| | | remark: "", |
| | |
| | | type: props.type === '0' ? 'qualified' : 'unqualified', |
| | | qualitity: row.stockInNum, |
| | | batchNo: row.batchNo, |
| | | warehouseId: row.warehouseId, |
| | | warehouseInfoId: row.warehouseInfoId, |
| | | warnNum: row.warnNum || 0, |
| | | recordType: row.recordType, |
| | | remark: row.remark || "", |
| | |
| | | type: undefined, |
| | | qualitity: 0, |
| | | batchNo: null, |
| | | warehouseId: undefined, |
| | | warehouseInfoId: undefined, |
| | | warnNum: 0, |
| | | recordType: "", |
| | | remark: "", |
| | |
| | | model: formState.value.productModelName, |
| | | unit: formState.value.unit, |
| | | batchNo: formState.value.batchNo, |
| | | warehouseId: formState.value.warehouseId, |
| | | warehouseInfoId: formState.value.warehouseInfoId, |
| | | stockInNum: formState.value.qualitity, |
| | | recordType: formState.value.recordType, |
| | | remark: formState.value.remark, |
| | |
| | | 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 |
| | | style="width: 100%"> |
| | |
| | | productName: "", |
| | | productModelName: "", |
| | | unit: "", |
| | | warehouseId: undefined, |
| | | warehouseInfoId: undefined, |
| | | type: undefined, |
| | | qualitity: 0, |
| | | batchNo: null, |
| | |
| | | productName: "", |
| | | productModelName: "", |
| | | unit: "", |
| | | warehouseId: undefined, |
| | | warehouseInfoId: undefined, |
| | | type: undefined, |
| | | qualitity: 0, |
| | | batchNo: null, |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="仓库" prop="warehouseId"> |
| | | <el-select v-model="form.warehouseId" placeholder="请选择仓库" style="width: 100%" filterable :disabled="form.source === 'check'"> |
| | | <el-form-item label="仓库" prop="warehouseInfoId"> |
| | | <el-select v-model="form.warehouseInfoId" placeholder="请选择仓库" style="width: 100%" filterable :disabled="form.source === 'check'"> |
| | | <el-option v-for="item in warehouseList" :key="item.id" :label="item.name" :value="item.id" /> |
| | | </el-select> |
| | | </el-form-item> |
| | |
| | | const form = reactive({ |
| | | id: null, |
| | | type: 'profit', |
| | | warehouseId: null, |
| | | warehouseInfoId: null, |
| | | remark: '', |
| | | source: 'manual', |
| | | checkPlanNo: '', |
| | |
| | | |
| | | const rules = { |
| | | type: [{ required: true, message: '请选择盈亏类型', trigger: 'change' }], |
| | | warehouseId: [{ required: true, message: '请选择仓库', trigger: 'change' }], |
| | | warehouseInfoId: [{ required: true, message: '请选择仓库', trigger: 'change' }], |
| | | } |
| | | |
| | | const totalDiffAmount = computed(() => { |
| | |
| | | dialogTitle.value = mode === 'add' ? '新建盈亏单' : '编辑盈亏单' |
| | | if (mode === 'add') { |
| | | Object.assign(form, { |
| | | id: null, type: 'profit', warehouseId: null, remark: '', |
| | | id: null, type: 'profit', warehouseInfoId: null, remark: '', |
| | | source: 'manual', checkPlanNo: '', items: [], |
| | | }) |
| | | } |
| | |
| | | Object.assign(form, { |
| | | id: data.id, |
| | | type: data.type, |
| | | warehouseId: data.warehouseId, |
| | | warehouseInfoId: data.warehouseInfoId, |
| | | remark: data.remark, |
| | | source: data.source, |
| | | checkPlanNo: data.checkPlanNo, |