| | |
| | | @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> |
| | |
| | | </el-form-item> |
| | | |
| | | <el-form-item |
| | | label="厚度(mm)" |
| | | prop="thickness" |
| | | label="库存类型" |
| | | prop="inventoryType" |
| | | :rules="[ |
| | | { |
| | | required: true, |
| | | message: '请选择库存类型', |
| | | trigger: 'change', |
| | | } |
| | | ]" |
| | | > |
| | | <el-input v-model="formState.thickness" disabled /> |
| | | <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-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" |
| | | > |
| | |
| | | </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"; |
| | |
| | | required: true, |
| | | default: 'qualified', |
| | | }, |
| | | parentId: { |
| | | type: [Number, String], |
| | | default: undefined, |
| | | }, |
| | | }); |
| | | |
| | | const emit = defineEmits(['update:visible', 'completed']); |
| | |
| | | const formState = ref({ |
| | | productId: undefined, |
| | | productModelId: undefined, |
| | | inventoryType: "qualified", |
| | | productName: "", |
| | | productModelName: "", |
| | | unit: "", |
| | | thickness: "", |
| | | qualitity: 0, |
| | | warnNum: 0, |
| | | remark: '', |
| | |
| | | formState.value = { |
| | | productId: undefined, |
| | | productModelId: undefined, |
| | | inventoryType: props.type || "qualified", |
| | | productName: "", |
| | | productModelName: "", |
| | | unit: "", |
| | | thickness: "", |
| | | qualitity: 0, |
| | | warnNum: 0, |
| | | remark: '', |
| | |
| | | formState.value.productModelName = product.model; |
| | | formState.value.productModelId = product.id; |
| | | formState.value.unit = product.unit; |
| | | formState.value.thickness = product.thickness ?? ""; |
| | | showProductSelectDialog.value = false; |
| | | // 触发表单验证更新 |
| | | proxy.$refs["formRef"]?.validateField('productModelId'); |
| | |
| | | proxy.$modal.msgError("请选择规格"); |
| | | return; |
| | | } |
| | | if (props.type === 'qualified') { |
| | | if (formState.value.inventoryType === 'qualified') { |
| | | createStockInventory(formState.value).then(res => { |
| | | // 关闭模态框 |
| | | isShow.value = false; |
| | |
| | | handleSubmit, |
| | | isShow, |
| | | }); |
| | | |
| | | watch( |
| | | () => props.visible, |
| | | (visible) => { |
| | | if (visible) { |
| | | formState.value.inventoryType = props.type || "qualified"; |
| | | } |
| | | }, |
| | | { immediate: true } |
| | | ); |
| | | </script> |