<template>
|
<el-dialog
|
title="新增盘点明细"
|
:close-on-click-modal="false"
|
:visible.sync="visible"
|
width="600px"
|
>
|
<el-form
|
:model="dataForm"
|
:rules="dataRule"
|
ref="dataForm"
|
label-width="100px"
|
class="l-mes"
|
>
|
<el-form-item label="零件号" prop="partNo">
|
<el-input
|
v-model="dataForm.partNo"
|
placeholder="零件号"
|
:disabled="status.partNo"
|
>
|
<el-button
|
slot="append"
|
icon="el-icon-search"
|
@click="openPartDialog()"
|
></el-button>
|
</el-input>
|
</el-form-item>
|
<el-form-item label="零件名称" prop="partName">
|
<el-input
|
v-model="dataForm.partName"
|
placeholder="零件名称"
|
:disabled="status.partNo"
|
>
|
<el-button
|
slot="append"
|
icon="el-icon-search"
|
@click="openPartDialog()"
|
></el-button>
|
</el-input>
|
</el-form-item>
|
<el-form-item label="SN号" prop="sn">
|
<el-input v-model="dataForm.sn" placeholder="SN号" />
|
</el-form-item>
|
<el-form-item label="IFS批次号" prop="ifsBatchNo">
|
<el-input v-model="dataForm.ifsBatchNo" placeholder="IFS批次号" />
|
</el-form-item>
|
<el-form-item label="盘点数量" prop="inyQty">
|
<el-input v-model="dataForm.inyQty" placeholder="盘点数量" />
|
</el-form-item>
|
<el-form-item label="单位" prop="unit">
|
<el-input v-model="dataForm.unit" placeholder="单位" />
|
</el-form-item>
|
<el-form-item label="库位号" prop="locNo">
|
<el-select
|
v-model="dataForm.locNo"
|
placeholder="库位号"
|
filterable
|
style="width:100%"
|
>
|
<el-option
|
v-for="x in locationOption"
|
:key="x.locno"
|
:label="x.locno"
|
:value="x.locno"
|
/>
|
</el-select>
|
</el-form-item>
|
</el-form>
|
<span slot="footer" class="dialog-footer">
|
<el-button @click="visible = false">取消</el-button>
|
<el-button
|
type="primary"
|
:disabled="isSubmit"
|
v-thinclick="`dataFormSubmit`"
|
>确定</el-button
|
>
|
</span>
|
<part-dialog
|
ref="partDialog"
|
:currshowlist.sync="partVisible"
|
@listenToPartEvent="selectPart"
|
/>
|
</el-dialog>
|
</template>
|
|
<script>
|
import { addObjDetail, putObjDetail, loadLocation } from '@/api/warehouse/check'
|
import PartDialog from './part-choose.vue'
|
|
import { loadWarehouse } from '@/api/warehouse/location'
|
export default {
|
components: {
|
PartDialog
|
},
|
data() {
|
return {
|
visible: false,
|
dataForm: {
|
partId: '',
|
partNo: '',
|
partName: '',
|
sn: '',
|
ifsBatchNo: '',
|
inyQty: '',
|
unit: '',
|
locNo: ''
|
},
|
isSubmit: false,
|
partVisible: false,
|
status: {
|
partNo: false
|
},
|
locationOption: [],
|
dataRule: {
|
partNo: [
|
{ required: true, message: '零件号不能为空', trigger: 'change' }
|
],
|
sn: [{ required: true, message: 'SN号不能为空', trigger: 'change' }],
|
ifsBatchNo: [
|
{ required: true, message: 'IFS批次号不能为空', trigger: 'change' }
|
],
|
inyQty: [
|
{ required: true, message: '盘点数量不能为空', trigger: 'change' }
|
],
|
locNo: [
|
{ required: true, message: '库位号不能为空', trigger: 'change' }
|
]
|
}
|
}
|
},
|
created() {
|
// 仓库列表
|
loadWarehouse().then((res) => {
|
loadLocation(
|
Object.assign({
|
localGroups: res.data.map((e) => e.id)
|
})
|
).then((res2) => {
|
this.locationOption = res2.data.data
|
})
|
})
|
},
|
methods: {
|
init(id) {
|
this.visible = true
|
this.status = {
|
partNo: false
|
}
|
this.dataForm = {
|
partId: '',
|
partNo: '',
|
partName: '',
|
sn: '',
|
ifsBatchNo: '',
|
inyQty: '',
|
unit: '',
|
locNo: ''
|
}
|
this.$nextTick(() => {
|
this.$refs.dataForm.resetFields()
|
if (this.dataForm.id) {
|
}
|
})
|
},
|
|
// 表单提交
|
dataFormSubmit() {
|
this.isSubmit = true
|
this.$refs.dataForm.validate((valid) => {
|
if (valid) {
|
if (this.dataForm.id) {
|
putObjDetail(this.dataForm).then((data) => {
|
this.$message.success('修改成功')
|
this.visible = false
|
this.isSubmit = false
|
this.$emit('refreshDataList')
|
})
|
} else {
|
addObjDetail({
|
...this.dataForm,
|
inyNo: this.$route.query.inyNo,
|
inventoryMainId: this.$route.query.id
|
})
|
.then((data) => {
|
this.$message.success('添加成功')
|
this.visible = false
|
this.isSubmit = false
|
this.$emit('refreshDataList')
|
})
|
.catch(() => {
|
this.isSubmit = false
|
})
|
}
|
} else {
|
this.isSubmit = false
|
}
|
})
|
},
|
// 零件号-零件名称
|
openPartDialog() {
|
this.partVisible = true
|
this.$nextTick(() => {
|
// this.$refs.partDialog.getData()
|
})
|
},
|
selectPart(param) {
|
if (param) {
|
this.status.partNo = true
|
this.dataForm.partId = param.id
|
this.dataForm.partNo = param.partNo
|
this.dataForm.partName = param.partName
|
}
|
}
|
}
|
}
|
</script>
|
<style lang="scss" scoped>
|
.l-mes {
|
padding-right: 50px;
|
}
|
</style>
|