<!-- * @Author: zwq * @Date: 2023-08-01 13:52:10 * @LastEditors: zwq * @LastEditTime: 2023-11-23 15:53:35 * @Description: --> <template> <el-form :model="dataForm" :rules="dataRule" ref="dataForm" v-if="visible" @keyup.enter.native="dataFormSubmit()" label-width="100px"> <el-row :gutter="20"> <el-col :span="12"> <el-form-item label="仓库名称" prop="warehouseName"> <el-input v-model="dataForm.warehouseName" readonly placeholder="请输入仓库名称" /> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="物品名称" prop="goodsId"> <el-select v-model="dataForm.goodsId" filterable clearable :disabled="dataForm.id ? true : false" :style="{ width: '100%' }" @change="setGoodInfo" placeholder="请选择物品名称"> <el-option v-for="item in goodsArr" :key="item.id" :label="item.name" :value="item.id"></el-option> </el-select> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="物品编码" prop="code"> <el-input v-model="dataForm.code" readonly placeholder="请输入物品编码" /> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="物品规格" prop="spec"> <el-input v-model="dataForm.spec" readonly placeholder="请输入物品规格" /> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="物品批次" prop="goodsBatch"> <el-input v-if="!dataForm.id ? true : false" v-model="dataForm.goodsBatch" clearable placeholder="请输入物品批次" /> <el-select v-else v-model="dataForm.goodsBatch" filterable clearable style="width:100%" placeholder="请选择物品名称"> <el-option v-for="(item, index) in Batch" :key="index" :label="item.goodsBatch" :value="item.goodsBatch"></el-option> </el-select> </el-form-item> </el-col> <el-col :span="12"> <el-form-item :label="dataForm.id?'出库数量':'入库数量'" prop="numDet"> <el-input-number v-model="dataForm.numDet" clearable :min="0" style="width:100%" placeholder="请输入数量" /> </el-form-item> </el-col> </el-row> </el-form> </template> <script> import basicAdd from '../../mixins/basic-add'; import { createWarehouseRealtime, outWarehouseRealtime, getWarehouseRealtime, getWarehouseRealtimeDet, } from '@/api/warehouse/warehouseRealtime'; import { getListByType } from '@/api/warehouse/warehouseGoods'; import { getWarehouseList } from '@/api/warehouse/warehouse-info'; import { mapGetters } from 'vuex'; export default { mixins: [basicAdd], computed: { ...mapGetters(['nickname']), }, data() { return { urlOptions: { getOption: true, createURL: createWarehouseRealtime, updateURL: outWarehouseRealtime, infoURL: getWarehouseRealtime, }, dataForm: { id: undefined, warehouseName: '', warehouseId: '', goodsId: '', code: '', spec: '', goodsBatch: '', numDet: '', operator: '', }, goodsArr: [], Batch: [], dataRule: { goodsId: [ { required: true, message: '物品名称不能为空', trigger: 'change' }, ], goodsBatch: [ { required: true, message: '物品批次不能为空,若无请填写无', trigger: 'blur', }, ], numDet: [ { required: true, message: '数量不能为空', trigger: 'blur' }, ], }, }; }, created() {}, methods: { getArr() { this.dataForm.operator = this.nickname getListByType(4).then((response) => { this.goodsArr = response.data; }); getWarehouseList().then((response) => { response.data.forEach((item) => { if (item.storageType === 4) { this.dataForm.warehouseName = item.name; this.dataForm.warehouseId = item.id; } }); }); }, setGoodInfo() { this.goodsArr.forEach((item) => { if (item.id === this.dataForm.goodsId) { this.dataForm.code = item.code; this.dataForm.spec = item.spec; } }); }, outWare(data) { this.getArr(); this.visible = true; this.$nextTick(() => { this.$refs['dataForm'].resetFields(); this.dataForm.realTimeId = data.id; this.dataForm.id = data.id; this.dataForm.goodsId = data.goodsId; this.dataForm.code = data.code; this.dataForm.spec = data.spec; getWarehouseRealtimeDet(data.id).then((res) => { this.Batch = res.data; }); // this.urlOptions.infoURL(data.id).then((response) => { // this.dataForm = response.data; // }); }); }, }, }; </script>