| | |
| | | <el-input v-model="formState.unit" |
| | | disabled /> |
| | | </el-form-item> |
| | | <el-form-item label="库位" |
| | | prop="warehouseId" |
| | | :rules="[ |
| | | { |
| | | required: true, |
| | | message: '请选择库位', |
| | | trigger: 'change', |
| | | } |
| | | ]"> |
| | | <el-select v-model="formState.warehouseId" |
| | | placeholder="请选择库位" |
| | | clearable |
| | | style="width: 100%"> |
| | | <el-option v-for="warehouse in warehouseList" |
| | | :key="warehouse.id" |
| | | :label="warehouse.warehouseName + ' - ' + warehouse.location" |
| | | :value="warehouse.id" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="批号" |
| | | prop="batchNo"> |
| | | <el-input v-model="formState.batchNo" |
| | | placeholder="请输入批号" /> |
| | | </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 label="库存类型" |
| | | prop="type" |
| | | :rules="[ |
| | |
| | | <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 label="批号" |
| | | prop="batchNo"> |
| | | <el-input v-model="formState.batchNo" |
| | | placeholder="请输入批号" /> |
| | | </el-form-item> |
| | | <el-form-item v-if="formState.type === 'qualified'" |
| | | label="库存预警数量" |
| | |
| | | </template> |
| | | |
| | | <script setup> |
| | | import { ref, computed, watch, getCurrentInstance } from "vue"; |
| | | import { ref, computed, watch, getCurrentInstance, onMounted } from "vue"; |
| | | import ProductSelectDialog from "@/views/basicData/product/ProductSelectDialog.vue"; |
| | | import { addStockInRecordOnly } from "@/api/inventoryManagement/stockInventory.js"; |
| | | import { createStockUnInventory } from "@/api/inventoryManagement/stockUninventory.js"; |
| | | import { getWarehouseList } from "@/api/inventoryManagement/warehouse.js"; |
| | | |
| | | const props = defineProps({ |
| | | visible: { |
| | |
| | | productName: "", |
| | | productModelName: "", |
| | | unit: "", |
| | | warehouseId: undefined, |
| | | type: undefined, |
| | | qualitity: 0, |
| | | batchNo: null, |
| | | warnNum: 0, |
| | | remark: "", |
| | | }); |
| | | |
| | | // 仓库列表 |
| | | const warehouseList = ref([]); |
| | | |
| | | const isShow = computed({ |
| | | get() { |
| | |
| | | }); |
| | | |
| | | const showProductSelectDialog = ref(false); |
| | | |
| | | // 获取仓库列表 |
| | | const fetchWarehouseList = () => { |
| | | getWarehouseList({ status: true }).then(res => { |
| | | warehouseList.value = res.data || []; |
| | | }).catch(() => { |
| | | proxy.$modal.msgError("获取仓库列表失败"); |
| | | }); |
| | | }; |
| | | |
| | | // 批号为空时转为 null |
| | | watch( |
| | |
| | | productName: "", |
| | | productModelName: "", |
| | | unit: "", |
| | | warehouseId: undefined, |
| | | type: undefined, |
| | | qualitity: 0, |
| | | batchNo: null, |
| | |
| | | }); |
| | | }; |
| | | |
| | | // 组件挂载时加载仓库列表 |
| | | onMounted(() => { |
| | | fetchWarehouseList(); |
| | | }); |
| | | |
| | | defineExpose({ |
| | | closeModal, |
| | | handleSubmit, |