<template>
|
<el-dialog
|
:title="!dataForm.id ? '新增' : '修改'"
|
:close-on-click-modal="false"
|
:visible.sync="visible"
|
append-to-body>
|
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px" class="l-mes">
|
<el-form-item label="零件编号" prop="partNo">
|
<el-input v-model="dataForm.partNo" placeholder="" readonly>
|
<el-button slot="append" icon="el-icon-search" @click="openStockDialog()"></el-button>
|
</el-input>
|
</el-form-item>
|
<el-form-item label="零件批号" prop="partBatchNo">
|
<el-input v-model="dataForm.partBatchNo" placeholder="零件批号" readonly></el-input>
|
</el-form-item>
|
<el-form-item label="库位" prop="locationName">
|
<el-input v-model="dataForm.locationName" placeholder="库位编号" readonly>
|
</el-input>
|
</el-form-item>
|
<el-form-item label="预留数量" prop="prepareQty">
|
<el-input v-model="dataForm.prepareQty" placeholder="备料数量"></el-input>
|
</el-form-item>
|
<el-form-item label="出库数量" prop="outQty">
|
<el-input v-model="dataForm.outQty" placeholder="出库数量" disabled></el-input>
|
</el-form-item>
|
</el-form>
|
<span slot="footer" class="dialog-footer">
|
<el-button @click="visible = false">取消</el-button>
|
<el-button type="primary" @click="dataFormSubmit()">确定</el-button>
|
</span>
|
<Stock :currshowlist.sync="showStock" :reserveDetailMainId="this.reserveDetailMainId" ref="Stock" @listenToPartEvent="selectStock"/>
|
</el-dialog>
|
</template>
|
|
<script>
|
import {addObj, getObj, putObj} from '@/api/warehouse/preparedetail'
|
import Stock from './stock'
|
import {fetchReserveDetail} from "../../../api/warehouse/reservemain";
|
import {validateSixDecimalNotNull} from "../../../util/validate";
|
export default {
|
components:{
|
Stock
|
},
|
data () {
|
return {
|
dataList:[],
|
reserveDetailMainId:'',
|
reserveOptions:[],
|
components:[],
|
showStock: false,
|
visible: false,
|
dataForm: {
|
id: 0,
|
statuses:'',
|
warehouseReserveDetailId:'',
|
partId: '',
|
partBatchNo: '',
|
locationId: '',
|
prepareQty: '',
|
outQty: ''
|
},
|
dataRule: {
|
partId: [
|
{ required: true, message: '零件编号不能为空', trigger: 'blur' }
|
],
|
locNo: [
|
{ required: true, message: '零件编号不能为空', trigger: 'blur' }
|
],
|
prepareQty: [
|
{ required: true, message: '备料数量不能为空', trigger: 'blur' },
|
{validator: validateSixDecimalNotNull, trigger: 'blur'}
|
],
|
}
|
}
|
},
|
watch:{
|
'dataForm.partId': {
|
handler(newValue, oldValue) {
|
fetchReserveDetail(Object.assign({
|
partId:newValue,
|
warehouseMainId:this.reserveDetailMainId
|
})).then(response => {
|
this.dataList = response.data.data.records
|
this.dataForm.warehouseReserveDetailId = this.dataList[0].id
|
})
|
},
|
deep:true
|
}
|
},
|
methods: {
|
init (id,reserveMainId) {
|
this.dataForm.id = id || 0
|
this.visible = true
|
this.reserveDetailMainId = reserveMainId
|
this.$nextTick(() => {
|
this.$refs['dataForm'].resetFields()
|
if (this.dataForm.id) {
|
getObj(this.dataForm.id).then(response => {
|
this.dataForm = response.data.data
|
})
|
}
|
})
|
},
|
//实时库存弹窗
|
openStockDialog(){
|
this.showStock=true;
|
},
|
selectStock(stock){
|
if (stock) {
|
this.dataForm.locationId = stock.locationId
|
this.dataForm.locationName = stock.locationName
|
this.dataForm.partId = stock.partId
|
this.dataForm.partNo = stock.partNo
|
this.dataForm.partBatchNo = stock.partBatchNo
|
this.$refs['dataForm'].validateField('partId', valid => {
|
})
|
}
|
},
|
// 表单提交
|
dataFormSubmit () {
|
this.$refs['dataForm'].validate((valid) => {
|
if (valid) {
|
if (this.dataForm.id) {
|
putObj(this.dataForm).then(response => {
|
this.dataForm = response.data.data
|
this.$message.success('修改成功')
|
this.visible = false
|
this.$emit('refreshDataList',this.reserveDetailMainId)
|
});
|
} else {
|
addObj(this.dataForm).then(response => {
|
this.dataForm = response.data.data
|
this.$message.success('添加成功')
|
this.visible = false
|
this.$emit('refreshDataList',this.reserveDetailMainId)
|
})
|
}
|
}
|
})
|
}
|
}
|
}
|
</script>
|