liyong
2026-05-14 cc0ed4513213c1210606deaef82de1587ee1c21d
仓库
已修改4个文件
64 ■■■■ 文件已修改
src/views/inventoryManagement/dispatchLog/Record.vue 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/inventoryManagement/receiptManagement/Record.vue 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/inventoryManagement/stockManagement/New.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/inventoryManagement/stockProfitLoss/index.vue 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/inventoryManagement/dispatchLog/Record.vue
@@ -150,7 +150,7 @@
          <el-input v-model="formState.unit" disabled />
        </el-form-item>
        <el-form-item label="仓库"
                      prop="warehouseId"
                      prop="warehouseInfoId"
                      :rules="[
                        {
                          required: true,
@@ -158,15 +158,14 @@
                          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>
@@ -182,7 +181,6 @@
          <el-select v-model="formState.batchNo"
                     placeholder="请选择批号"
                     clearable
                     :disabled="isEdit"
                     @change="handleBatchNoChange"
                     style="width: 100%">
            <el-option v-for="batch in batchNoList"
@@ -244,7 +242,7 @@
                      ]">
          <el-select v-model="formState.type"
                     placeholder="请选择库存类型"
                     :disabled="isEdit">
                     >
            <el-option label="合格库存"
                       value="qualified" />
            <el-option label="不合格库存"
@@ -293,6 +291,7 @@
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();
@@ -357,7 +356,7 @@
  productName: "",
  productModelName: "",
  unit: "",
  warehouseId: null, // 仓库ID
  warehouseInfoId: null, // 仓库ID
  type: undefined,
  qualitity: 0,
  batchNo: null,
@@ -477,9 +476,10 @@
    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) {
@@ -504,7 +504,7 @@
    productName: "",
    productModelName: "",
    unit: "",
    warehouseId: null,
    warehouseInfoId: null,
    type: undefined,
    qualitity: 0,
    batchNo: null,
@@ -551,7 +551,7 @@
    batchNoList.value = [];
    batchNoStockMap.value = {};
    rawBatchNoMaps.value = {};
    formState.value.warehouseId = null;
    formState.value.warehouseInfoId = null;
    formState.value.batchNo = null;
    formState.value.maxStock = 0;
@@ -564,9 +564,9 @@
        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;
@@ -576,15 +576,15 @@
};
// 仓库选择变化处理
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 = [];
src/views/inventoryManagement/receiptManagement/Record.vue
@@ -153,7 +153,7 @@
          <el-input v-model="formState.unit" disabled />
        </el-form-item>
        <el-form-item label="库位"
                      prop="warehouseId"
                      prop="warehouseInfoId"
                      :rules="[
                        {
                          required: true,
@@ -161,7 +161,7 @@
                          trigger: 'change',
                        }
                      ]">
          <el-select v-model="formState.warehouseId"
          <el-select v-model="formState.warehouseInfoId"
                     placeholder="请选择库位"
                     clearable
                     style="width: 100%">
@@ -325,7 +325,7 @@
  type: undefined,
  qualitity: 0,
  batchNo: null,
  warehouseId: undefined,
  warehouseInfoId: undefined,
  warnNum: 0,
  recordType: "",
  remark: "",
@@ -454,7 +454,7 @@
    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 || "",
@@ -474,7 +474,7 @@
    type: undefined,
    qualitity: 0,
    batchNo: null,
    warehouseId: undefined,
    warehouseInfoId: undefined,
    warnNum: 0,
    recordType: "",
    remark: "",
@@ -563,7 +563,7 @@
    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,
src/views/inventoryManagement/stockManagement/New.vue
@@ -33,7 +33,7 @@
                    disabled />
        </el-form-item>
        <el-form-item label="库位"
                      prop="warehouseId"
                      prop="warehouseInfoId"
                      :rules="[
                {
                required: true,
@@ -41,7 +41,7 @@
                trigger: 'change',
              }
            ]">
          <el-select v-model="formState.warehouseId"
          <el-select v-model="formState.warehouseInfoId"
                     placeholder="请选择库位"
                     clearable
                     style="width: 100%">
@@ -139,7 +139,7 @@
    productName: "",
    productModelName: "",
    unit: "",
    warehouseId: undefined,
    warehouseInfoId: undefined,
    type: undefined,
    qualitity: 0,
    batchNo: null,
@@ -190,7 +190,7 @@
      productName: "",
      productModelName: "",
      unit: "",
      warehouseId: undefined,
      warehouseInfoId: undefined,
      type: undefined,
      qualitity: 0,
      batchNo: null,
src/views/inventoryManagement/stockProfitLoss/index.vue
@@ -58,8 +58,8 @@
            </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>
@@ -336,7 +336,7 @@
const form = reactive({
  id: null,
  type: 'profit',
  warehouseId: null,
  warehouseInfoId: null,
  remark: '',
  source: 'manual',
  checkPlanNo: '',
@@ -358,7 +358,7 @@
const rules = {
  type: [{ required: true, message: '请选择盈亏类型', trigger: 'change' }],
  warehouseId: [{ required: true, message: '请选择仓库', trigger: 'change' }],
  warehouseInfoId: [{ required: true, message: '请选择仓库', trigger: 'change' }],
}
const totalDiffAmount = computed(() => {
@@ -396,7 +396,7 @@
  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: [],
    })
  }
@@ -409,7 +409,7 @@
    Object.assign(form, {
      id: data.id,
      type: data.type,
      warehouseId: data.warehouseId,
      warehouseInfoId: data.warehouseInfoId,
      remark: data.remark,
      source: data.source,
      checkPlanNo: data.checkPlanNo,