| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div> |
| | | <el-dialog v-model="isShow" |
| | | title="ç¼è¾åºå" |
| | | width="800" |
| | | @close="closeModal"> |
| | | <el-form label-width="140px" |
| | | :model="formState" |
| | | label-position="top" |
| | | ref="formRef"> |
| | | <el-form-item label="产ååç§°" |
| | | prop="productName"> |
| | | <el-input v-model="formState.productName" disabled /> |
| | | </el-form-item> |
| | | <el-form-item label="è§æ ¼" |
| | | prop="model"> |
| | | <el-input v-model="formState.model" disabled /> |
| | | </el-form-item> |
| | | <el-form-item label="åä½" |
| | | prop="unit"> |
| | | <el-input v-model="formState.unit" disabled /> |
| | | </el-form-item> |
| | | <el-form-item label="æ¹å·" |
| | | prop="batchNo"> |
| | | <el-input v-model="formState.batchNo" disabled /> |
| | | </el-form-item> |
| | | <el-form-item label="åæ ¼åºåæ°é" |
| | | prop="qualifiedQuantity"> |
| | | <el-input-number v-model="formState.qualifiedQuantity" |
| | | :step="1" |
| | | :min="0" |
| | | style="width: 100%" /> |
| | | </el-form-item> |
| | | <el-form-item label="ä¸åæ ¼åºåæ°é" |
| | | prop="unQualifiedQuantity"> |
| | | <el-input-number v-model="formState.unQualifiedQuantity" |
| | | :step="1" |
| | | :min="0" |
| | | style="width: 100%" /> |
| | | </el-form-item> |
| | | <el-form-item label="åºåé¢è¦æ°é" |
| | | prop="warnNum"> |
| | | <el-input-number v-model="formState.warnNum" |
| | | :step="1" |
| | | :min="0" |
| | | style="width: 100%" /> |
| | | </el-form-item> |
| | | <el-form-item label="夿³¨" |
| | | prop="remark"> |
| | | <el-input v-model="formState.remark" |
| | | type="textarea" /> |
| | | </el-form-item> |
| | | </el-form> |
| | | <template #footer> |
| | | <div class="dialog-footer"> |
| | | <el-button type="primary" |
| | | @click="handleSubmit">确认</el-button> |
| | | <el-button @click="closeModal">åæ¶</el-button> |
| | | </div> |
| | | </template> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script setup> |
| | | import { ref, computed, watch, getCurrentInstance } from "vue"; |
| | | import { ElMessage } from "element-plus"; |
| | | import { updateStockInventory } from "@/api/inventoryManagement/stockInventory.js"; |
| | | |
| | | const { proxy } = getCurrentInstance(); |
| | | |
| | | const props = defineProps({ |
| | | visible: { |
| | | type: Boolean, |
| | | default: false, |
| | | }, |
| | | record: { |
| | | type: Object, |
| | | default: () => ({}), |
| | | }, |
| | | }); |
| | | |
| | | const emits = defineEmits(["update:visible", "completed"]); |
| | | |
| | | const isShow = computed({ |
| | | get: () => props.visible, |
| | | set: (val) => emits("update:visible", val), |
| | | }); |
| | | |
| | | const formRef = ref(); |
| | | |
| | | const formState = ref({ |
| | | id: undefined, |
| | | productId: undefined, |
| | | productModelId: undefined, |
| | | productName: "", |
| | | model: "", |
| | | unit: "", |
| | | batchNo: "", |
| | | qualifiedQuantity: 0, |
| | | unQualifiedQuantity: 0, |
| | | warnNum: 0, |
| | | remark: "", |
| | | }); |
| | | |
| | | // çå¬å¼¹çªæ¾ç¤ºï¼åå¡«æ°æ® |
| | | watch( |
| | | () => props.visible, |
| | | (val) => { |
| | | if (val && props.record) { |
| | | const row = props.record; |
| | | console.log('ç¼è¾æ°æ®:', row); |
| | | formState.value.id = row.id; |
| | | formState.value.productId = row.productId; |
| | | formState.value.productModelId = row.productModelId; |
| | | formState.value.productName = row.productName || ''; |
| | | formState.value.model = row.model || ''; |
| | | formState.value.unit = row.unit || ''; |
| | | formState.value.batchNo = row.batchNo || ''; |
| | | formState.value.qualifiedQuantity = row.qualifiedQuantity || 0; |
| | | formState.value.unQualifiedQuantity = row.unQualifiedQuantity || 0; |
| | | formState.value.warnNum = row.warnNum || 0; |
| | | formState.value.remark = row.remark || ''; |
| | | } |
| | | }, |
| | | { immediate: true } |
| | | ); |
| | | |
| | | const closeModal = () => { |
| | | isShow.value = false; |
| | | resetForm(); |
| | | }; |
| | | |
| | | const resetForm = () => { |
| | | formState.value = { |
| | | id: undefined, |
| | | productId: undefined, |
| | | productModelId: undefined, |
| | | productName: "", |
| | | model: "", |
| | | unit: "", |
| | | batchNo: "", |
| | | qualifiedQuantity: 0, |
| | | unQualifiedQuantity: 0, |
| | | warnNum: 0, |
| | | remark: "", |
| | | }; |
| | | }; |
| | | |
| | | const handleSubmit = () => { |
| | | proxy.$refs["formRef"].validate((valid) => { |
| | | if (valid) { |
| | | const params = { ...formState.value }; |
| | | updateStockInventory(params) |
| | | .then(() => { |
| | | ElMessage.success("ç¼è¾æå"); |
| | | closeModal(); |
| | | emits("completed"); |
| | | }) |
| | | .catch(() => { |
| | | ElMessage.error("ç¼è¾å¤±è´¥"); |
| | | }); |
| | | } |
| | | }); |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped lang="scss"></style> |