src/views/inventoryManagement/stockManagement/New.vue
@@ -7,17 +7,7 @@
        @close="closeModal"
    >
      <el-form label-width="140px" :model="formState" label-position="top" ref="formRef">
        <el-form-item
            label="产品名称"
            prop="productModelId"
            :rules="[
                {
                required: true,
                message: '请选择产品',
                trigger: 'change',
              }
            ]"
        >
        <el-form-item label="产品名称" prop="productName">
          <el-button type="primary" @click="showProductSelectDialog = true">
            {{ formState.productName ? formState.productName : '选择产品' }}
          </el-button>
@@ -38,14 +28,40 @@
        </el-form-item>
        <el-form-item
            label="库存数量"
            prop="qualitity"
            label="库存类型"
            prop="inventoryType"
            :rules="[
              {
                required: true,
                message: '请选择库存类型',
                trigger: 'change',
              }
            ]"
        >
          <el-select
            v-model="formState.inventoryType"
            placeholder="请选择库存类型"
            clearable
            filterable
            style="width: 100%"
          >
            <el-option
              label="合格库存"
              value="qualified"
            />
            <el-option
              label="不合格库存"
              value="unqualified"
            />
          </el-select>
        </el-form-item>
        <el-form-item label="库存数量" prop="qualitity">
          <el-input-number v-model="formState.qualitity" :step="1" :min="1" style="width: 100%" />
        </el-form-item>
        <el-form-item
            v-if="type === 'qualified'"
            v-if="formState.inventoryType === 'qualified'"
            label="库存预警数量"
            prop="warnNum"
        >
@@ -74,7 +90,7 @@
</template>
<script setup>
import {ref, computed, getCurrentInstance} from "vue";
import { ref, computed, getCurrentInstance, watch } from "vue";
import ProductSelectDialog from "@/views/basicData/product/ProductSelectDialog.vue";
import {createStockInventory} from "@/api/inventoryManagement/stockInventory.js";
import {createStockUnInventory} from "@/api/inventoryManagement/stockUninventory.js";
@@ -90,6 +106,10 @@
    required: true,
    default: 'qualified',
  },
  parentId: {
    type: [Number, String],
    default: undefined,
  },
});
const emit = defineEmits(['update:visible', 'completed']);
@@ -98,6 +118,7 @@
const formState = ref({
  productId: undefined,
  productModelId: undefined,
  inventoryType: "qualified",
  productName: "",
  productModelName: "",
  unit: "",
@@ -124,9 +145,13 @@
  formState.value = {
    productId: undefined,
    productModelId: undefined,
    inventoryType: props.type || "qualified",
    productName: "",
    productModelName: "",
    description: '',
    unit: "",
    qualitity: 0,
    warnNum: 0,
    remark: '',
  };
  isShow.value = false;
};
@@ -158,7 +183,7 @@
        proxy.$modal.msgError("请选择规格");
        return;
      }
      if (props.type === 'qualified') {
      if (formState.value.inventoryType === 'qualified') {
        createStockInventory(formState.value).then(res => {
          // 关闭模态框
          isShow.value = false;
@@ -186,4 +211,14 @@
  handleSubmit,
  isShow,
});
watch(
  () => props.visible,
  (visible) => {
    if (visible) {
      formState.value.inventoryType = props.type || "qualified";
    }
  },
  { immediate: true }
);
</script>