<template> <el-container class="form-container"> <el-header> <h1>危险品出库</h1> </el-header> <el-main> <el-card class="form-card"> <el-form :label-position="labelPosition" :model="form" ref="form" label-width="100px" :rules="rules"> <el-form-item label="运单号" prop="waybill"> <el-input class="form-input" v-model="form.waybill" placeholder="请输入运单号" clearable @blur="handleBlur"></el-input> </el-form-item> <el-form-item label="件数" prop="pcs"> <el-input class="form-input" type="number" v-model="form.pcs" placeholder="请输入件数" clearable></el-input> </el-form-item> <el-form-item label="重量 (kg)" prop="weight"> <el-input class="form-input" type="number" v-model="form.weight" placeholder="请输入重量" clearable></el-input> </el-form-item> <el-form-item label="危险品" prop="hazardous"> <el-select class="form-input" v-model="form.hazardous" placeholder="请选择"> <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> </el-form-item> <el-form-item> <el-button type="primary" @click="submitForm" class="submit-button">危险品出库</el-button> </el-form-item> </el-form> </el-card> </el-main> </el-container> </template> <script> import {selectNewInventroys} from '../../api/consigner/station' import {dangerousExt,} from '../../api/consigner/dangerous' export default { data() { return { options: [ { value: "3481", label: '一般危险品' }, { value: "3091", label: '锂电池' } ], labelPosition:'left', form: { waybill: '', pcs: null, weight: null, hazardous: '3481' }, queryInfo: { waybill:'', billfhl:'', locationno:'', // 当前页数 pageNum: 1, // 每页大小 pageSize: 10, starttime:'', endtime:'', remark2:'' }, rules: { waybill: [ { required: true, message: '运单号不能为空', trigger: 'blur' } ], pcs: [ { required: true, message: '件数不能为空', trigger: 'blur' } ], weight: [ { required: true, message: '重量不能为空', trigger: 'blur' } ], hazardous: [ { required: true, message: '请选择是否为危险品', trigger: 'change' } ] } }; }, methods: { submitForm() { this.$refs.form.validate((valid) => { if (valid) { dangerousExt(this.form).then((response) => { const res = response.data if (res.code !== '200') { return this.$message.error(res.msg) } this.$message.success(res.msg); this.$refs.form.resetFields(); }).catch(error => { // 关闭加载 this.$message.error(error.toString()) }) } else { return false; } }); }, handleBlur() { // 在这里处理失去焦点事件 if(this.form.waybill!==null && this.form.waybill!==''){ this.queryInfo.waybill=this.form.waybill; selectNewInventroys(this.queryInfo).then((response) => { const res = response.data if (res.code !== '200') { return this.$message.error('剩余库调取失败') } if(res.data.list!==null){ this.form.pcs=res.data.list[0].pcs; this.form.weight=res.data.list[0].weight; this.form.hazardous=res.data.list[0].remark3; } this.$message.success('库存调取成功') }).catch(error => { // 关闭加载 this.$message.error(error.toString()) }) } // 你可以在这里执行其他操作,比如验证输入或发送请求等 } } }; </script> <style scoped> .form-container { background-color: #f5f5f5; padding: 20px; min-height: 100vh; } .el-header { text-align: center; margin-bottom: 20px; color: #333; } .form-card { background-color: #ffffff; border-radius: 8px; padding: 20px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); } .form-input { width: 100%; /* 设置宽度为100% */ } .submit-button { width: 100%; } .el-form-item { margin-bottom: 15px; } @media (max-width: 600px) { .form-container { padding: 10px; } } </style>