<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="inyNo">
|
<el-input
|
v-model="dataForm.inyNo"
|
placeholder="系统自动生成"
|
disabled
|
/>
|
</el-form-item>
|
<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="仓库" prop="warehouseIds">
|
<el-select
|
v-model="dataForm.warehouseIds"
|
placeholder="仓库"
|
filterable
|
multiple
|
@change="selectWarehouse($event)"
|
style="width:100%"
|
>
|
<el-option
|
v-for="item in warehouseOption"
|
:key="item.id"
|
:label="item.warehouseName"
|
:value="item.id"
|
/>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="库位号" prop="locationIds">
|
<el-select
|
v-model="dataForm.locationIds"
|
placeholder="库位号"
|
filterable
|
multiple
|
style="width:100%"
|
>
|
<el-option
|
v-for="x in locationOption"
|
:key="x.id"
|
:label="x.locno"
|
:value="x.id"
|
/>
|
</el-select>
|
</el-form-item>
|
|
<el-form-item label="盘点描述" prop="inyDesc">
|
<el-input
|
v-model="dataForm.inyDesc"
|
placeholder="盘点描述"
|
:rows="2"
|
type="textarea"
|
/>
|
</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 { addObj, putObj, 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: {
|
inyNo: '',
|
partId: '',
|
partNo: '',
|
partName: '',
|
warehouseIds: [],
|
locationIds: [],
|
inyDesc: ''
|
},
|
isSubmit: false,
|
partVisible: false,
|
status: {
|
partNo: false
|
},
|
warehouseOption: [],
|
locationOption: [],
|
dataRule: {
|
warehouseIds: [
|
{ required: true, message: '仓库不能为空', trigger: 'change' }
|
]
|
}
|
}
|
},
|
created() {
|
// 仓库列表
|
loadWarehouse().then((res) => {
|
this.warehouseOption = res.data
|
})
|
},
|
methods: {
|
init(id) {
|
this.visible = true
|
this.status = {
|
partNo: false
|
}
|
this.dataForm = {
|
inyNo: '',
|
partId: '',
|
partNo: '',
|
partName: '',
|
warehouseIds: [],
|
locationIds: [],
|
inyDesc: ''
|
}
|
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) {
|
putObj(this.dataForm).then((data) => {
|
this.$message.success('修改成功')
|
this.visible = false
|
this.isSubmit = false
|
this.$emit('refreshDataList')
|
})
|
} else {
|
addObj(this.dataForm)
|
.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
|
}
|
},
|
// 仓库选择完成-获取库位的数据
|
selectWarehouse(val) {
|
this.$forceUpdate()
|
this.dataForm.locationIds = []
|
this.locationOption = []
|
if (val.length) {
|
loadLocation(
|
Object.assign({
|
localGroups: val
|
})
|
).then((res) => {
|
this.locationOption = res.data.data
|
})
|
}
|
}
|
}
|
}
|
</script>
|
<style lang="scss" scoped>
|
.l-mes {
|
padding-right: 50px;
|
}
|
</style>
|