<template> <div class="inStockAdd"> <a-card style="height: 100vh"> <a-divider orientation="left"> <span style="font-size: 16px;">叶酸库存录入</span> </a-divider> <div style="width:90%;margin: 0 auto;margin-top: 20px"> <a-form-model ref="formRef" :model="formData" :rules="formRules" :labelCol="{span: 6}" :wrapperCol="{span: 16}" > <a-row :gutter="16"> <a-col :span="12"> <a-form-model-item label="供应商" prop="supplierId"> <a-select v-model="formData.supplierId" placeholder="请选择" :dropdownMatchSelectWidth="false" @click.native="getAllSupply" > <a-select-option v-for="item in allSupplyInfo" :key="item.id" :value="item.id">{{item.supplierName}} </a-select-option> </a-select> </a-form-model-item> </a-col> <a-col :span="12"> <a-form-model-item label="品牌" prop="brandId"> <a-select v-model="formData.brandId" placeholder="品牌名称" :dropdownMatchSelectWidth="false" > <a-select-option v-for="item in brandNameList" :key="item.enumValue" :value="item.enumValue">{{item.enumName}} </a-select-option> </a-select> </a-form-model-item> </a-col> <a-col :span="12"> <a-form-model-item label="批次号" prop="batchNumber"> <a-input v-model="formData.batchNumber" placeholder="请输入批次号"></a-input> </a-form-model-item> </a-col> <a-col :span="12"> <a-form-model-item label="生产日期" prop="produceDate"> <a-date-picker v-model="formData.produceDate" format="YYYY-MM-DD" style="width: 100%" /> </a-form-model-item> </a-col> <a-col :span="12"> <a-form-model-item label="有效期至" prop="expireDate"> <a-date-picker v-model="formData.expireDate" format="YYYY-MM-DD" style="width: 100%" /> </a-form-model-item> </a-col> <a-col :span="12"> <a-form-model-item label="单价" prop="unitPrice"> <a-input v-price v-model="formData.unitPrice" suffix="元" placeholder="请输入单价"></a-input> </a-form-model-item> </a-col> <a-col :span="12"> <a-form-model-item label="采购日期" prop="purchDate"> <a-date-picker v-model="formData.purchDate" format="YYYY-MM-DD" style="width: 100%" /> </a-form-model-item> </a-col> <a-col :span="12"> <a-form-model-item label="数量" prop="number"> <a-input v-toInt v-model="formData.number" placeholder="请输入数量"> <a-select slot="addonAfter" v-model="formData.specs" default-value="瓶" style="width: 60px"> <a-select-option value="瓶"> 瓶 </a-select-option> <a-select-option value="盒"> 盒 </a-select-option> </a-select> </a-input> </a-form-model-item> </a-col> <a-col :span="12"> <a-form-model-item label="入库时间" prop="enterDate"> <a-date-picker v-model="formData.enterDate" format="YYYY-MM-DD" style="width: 100%" /> </a-form-model-item> </a-col> <a-col :span="12"> <a-form-model-item label="入库经手人" prop="handler"> <a-input v-model="formData.handler" placeholder="请输入入库经手人"></a-input> </a-form-model-item> </a-col> <a-col :span="24"> <a-form-model-item label="备注" prop="remarks" :labelCol="{span: 3}" :wrapperCol="{span: 20}"> <a-textarea :rows="6" v-model="formData.remarks" placeholder="请输入备注"></a-textarea> </a-form-model-item> </a-col> </a-row> </a-form-model> </div> <div style="text-align: center"> <a-button class="search_btn btn_space" @click="goBack">取消</a-button> <a-button type="primary" class="search_btn btn_space" :loading="subLoad" style="margin-left: 10px" @click="submitForm">库存录入</a-button> </div> </a-card> </div> </template> <script> import moment from 'moment' import {closedDetail, getEnumByFlag} from "../../../utils/common"; export default { components: {}, data() { return { brandNameList: [], subLoad:false, // form表单 formData: { brandId: undefined, batchNumber: undefined, supplierId: undefined, unitPrice: undefined, produceDate: undefined, expireDate: undefined, purchDate: undefined, enterDate:undefined, handler: undefined, number: undefined, specs: '瓶', remarks: undefined }, formRules: { brandId: [ {required: true, message: '请选择品牌'} ], batchNumber:[ {required: true, message: '请输入批次号'} ], supplierId: [ {required: true, message: '请选择供应商'} ], number: [ {required: true, message: '请输入数量'} ], produceDate: [ {required: true, message: '请选择日期'} ], expireDate: [ {required: true, message: '请选择日期'} ], purchDate: [ {required: true, message: '请选择日期'} ], enterDate: [ {required: true, message: '请选择日期'} ], unitPrice: [ {required: true, message: '请输入单价'} ], remarks:[ {required: false, message: '请输入备注'} ], }, allSupplyInfo:[] } }, created() { this.brandNameList = getEnumByFlag('folacin_stock_record_brand_id') }, methods: { getAllSupply() { let par= {} this.$api.common.fetchAllSupply(par).then(({data = []}) => { this.allSupplyInfo = data }) }, // 弹窗确定按钮 submitForm() { let vm = this this.$refs.formRef.validate(valid => { if (valid) { this.subLoad = true let pars = {} Object.assign(pars, vm.formData) pars.produceDate = moment(vm.formData.produceDate).format('YYYY-MM-DD') pars.expireDate = moment(vm.formData.expireDate).format('YYYY-MM-DD') pars.purchDate = moment(vm.formData.purchDate).format('YYYY-MM-DD') pars.enterDate = moment(vm.formData.enterDate).format('YYYY-MM-DD') let par = { ...pars } vm.$api.stockManage.addHistoryStock(par).then(res => { if (res.code === 'SUCCESS') { vm.subLoad = false vm.$message.success('录入成功!') vm.goBack() } }).catch(() => { vm.subLoad = false }) } }); }, goBack() { closedDetail('/inStock/add','/Home/inStock') } }, } </script> <style lang="less" scoped> </style>