liding
2026-05-20 feaeb3e3ac6d9e7606fce5e3ae80de3cca9c846f
src/views/inventoryManagement/stockManagement/New.vue
@@ -31,10 +31,75 @@
        </el-form-item>
        <el-form-item
            label="料号"
            prop="materialCode"
        >
          <el-input v-model="formState.materialCode"  disabled />
        </el-form-item>
        <el-form-item
            label="单位"
            prop="unit"
        >
          <el-input v-model="formState.unit"  disabled />
        </el-form-item>
        <el-form-item
            v-if="props.isFinishedProduct"
            label="工序类别"
            prop="processCategory"
            :rules="[
                {
                required: true,
                message: '请选择工序类别',
                trigger: 'change',
              }
            ]"
        >
          <el-select v-model="formState.processCategory" placeholder="请选择工序类别" clearable>
            <el-option label="铜极" value="铜极" />
            <el-option label="银极" value="银极" />
          </el-select>
        </el-form-item>
        <el-form-item
            v-if="props.isFinishedProduct"
            label="电压"
            prop="voltage"
            :rules="[
                {
                required: true,
                message: '请输入电压',
                trigger: 'blur',
              }
            ]"
        >
          <el-input v-model="formState.voltage" clearable placeholder="请输入电压" />
        </el-form-item>
        <el-form-item
            label="库存类型"
            prop="type"
            :rules="[
                {
                required: true,
                message: '请选择库存类型',
                trigger: 'change',
              }
            ]"
        >
          <el-select v-model="formState.type" placeholder="请选择库存类型">
            <el-option label="合格库存" value="qualified" />
            <el-option label="不合格库存" value="unqualified" />
          </el-select>
        </el-form-item>
        <el-form-item label="批号" prop="batchNo">
          <el-input
            v-model="formState.batchNo"
            clearable
            placeholder="可输入批号,留空将自动生成"
          />
        </el-form-item>
        <el-form-item
@@ -45,7 +110,7 @@
        </el-form-item>
        <el-form-item
            v-if="type === 'qualified'"
            v-if="formState.type === 'qualified'"
            label="库存预警数量"
            prop="warnNum"
        >
@@ -84,12 +149,14 @@
    type: Boolean,
    required: true,
  },
  type: {
    type: String,
    required: true,
    default: 'qualified',
  topProductParentId: {
    type: Number,
    default: 0,
  },
  isFinishedProduct: {
    type: Boolean,
    default: false,
  }
});
const emit = defineEmits(['update:visible', 'completed']);
@@ -100,7 +167,12 @@
  productModelId: undefined,
  productName: "",
  productModelName: "",
  materialCode: "",
  unit: "",
  processCategory: "",
  voltage: "",
  batchNo: "",
  type: undefined,
  qualitity: 0,
  warnNum: 0,
  remark: '',
@@ -126,7 +198,15 @@
    productModelId: undefined,
    productName: "",
    productModelName: "",
    description: '',
    materialCode: "",
    unit: "",
    processCategory: "",
    voltage: "",
    batchNo: "",
    type: undefined,
    qualitity: 0,
    warnNum: 0,
    remark: "",
  };
  isShow.value = false;
};
@@ -140,6 +220,7 @@
    formState.value.productModelName = product.model;
    formState.value.productModelId = product.id;
    formState.value.unit = product.unit;
    formState.value.materialCode = product.materialCode;
    showProductSelectDialog.value = false;
    // 触发表单验证更新
    proxy.$refs["formRef"]?.validateField('productModelId');
@@ -158,8 +239,16 @@
        proxy.$modal.msgError("请选择规格");
        return;
      }
      if (props.type === 'qualified') {
        createStockInventory(formState.value).then(res => {
      const payload = { ...formState.value };
      const bn = (payload.batchNo || "").trim();
      payload.batchNo = bn;
      payload.voltage = (payload.voltage || "").trim();
      if (!props.isFinishedProduct) {
        delete payload.processCategory;
        delete payload.voltage;
      }
      if (payload.type === 'qualified') {
        createStockInventory(payload).then(res => {
          // 关闭模态框
          isShow.value = false;
          // 告知父组件已完成
@@ -167,7 +256,7 @@
          proxy.$modal.msgSuccess("提交成功");
        })
      } else {
        createStockUnInventory(formState.value).then(res => {
        createStockUnInventory(payload).then(res => {
          // 关闭模态框
          isShow.value = false;
          // 告知父组件已完成