<template>
|
<el-dialog
|
:title="!dataForm.id ? '新增' : '修改'"
|
:close-on-click-modal="false"
|
:visible.sync="visible"
|
>
|
<el-form
|
:model="dataForm"
|
:rules="dataRule"
|
ref="dataForm"
|
class="l-mes"
|
label-width="80px"
|
>
|
<el-form-item label="工作站" prop="workstationName">
|
<el-input
|
class="innerClass"
|
v-model="dataForm.workstationName"
|
placeholder="请选择工作站"
|
readonly
|
>
|
<el-button
|
slot="append"
|
icon="el-icon-search"
|
@click="openWorkstationDialog()"
|
></el-button>
|
</el-input>
|
</el-form-item>
|
<el-form-item label="产出" prop="productNo">
|
<el-input
|
class="innerClass"
|
v-model="dataForm.productNo"
|
placeholder="请选择产出"
|
readonly
|
>
|
<el-button
|
slot="append"
|
icon="el-icon-search"
|
@click="openProductoutDialog()"
|
></el-button>
|
</el-input>
|
</el-form-item>
|
<el-form-item label="异常类型" prop="exceptionType">
|
<el-input
|
v-model="dataForm.exceptionType"
|
placeholder="异常类型"
|
></el-input>
|
</el-form-item>
|
<el-form-item label="异常描述" prop="exceptionDescription">
|
<el-input
|
v-model="dataForm.exceptionDescription"
|
placeholder="异常描述"
|
></el-input>
|
</el-form-item>
|
<el-form-item label="处理方案" prop="handleWay">
|
<el-input
|
v-model="dataForm.handleWay"
|
placeholder="处理方案"
|
></el-input>
|
</el-form-item>
|
<el-form-item label="备注" prop="remark">
|
<el-input v-model="dataForm.remark" placeholder="备注"></el-input>
|
</el-form-item>
|
</el-form>
|
<span slot="footer" class="dialog-footer">
|
<el-button @click="visible = false">取消</el-button>
|
<el-button
|
type="primary"
|
:disabled="saveDisabled"
|
@click="dataFormSubmit()"
|
>确定</el-button
|
>
|
</span>
|
<workstation-dialog
|
:currshowlist.sync="workstationVisible"
|
@listenToWorkStationEvent="selectWorkstation"
|
/>
|
<productout-dialog
|
:currshowlist.sync="productoutVisible"
|
:paramObj="paramObj"
|
@listenToproductionEvent="selectProductout"
|
/>
|
</el-dialog>
|
</template>
|
|
<script>
|
import { getObj, addObj, putObj } from '@/api/quality/exception'
|
import workstationDialog from '@/views/common/workstation.vue'
|
import productoutDialog from '@/views/common/productout.vue'
|
import { loadWarehouse } from '../../../api/warehouse/location'
|
import { loadWorkstation } from '../../../api/basic/workstation'
|
import { loadProductMain } from '../../../api/product/personboard'
|
|
export default {
|
components: { workstationDialog, productoutDialog },
|
data() {
|
return {
|
paramObj: {},
|
productoutVisible: false,
|
workstationVisible: false,
|
visible: false,
|
dataForm: {
|
id: 0,
|
code: '',
|
workstationId: 0,
|
productoutId: 0,
|
exceptionType: '',
|
exceptionDescription: '',
|
handleWay: '',
|
handleUser: '',
|
createTime: '',
|
remark: '',
|
workstationName: '',
|
productNo: ''
|
},
|
dataRule: {
|
workstationName: [
|
{ required: true, message: '工作站不能为空', trigger: 'blur' }
|
],
|
productNo: [
|
{ required: true, message: '产出不能为空', trigger: 'blur' }
|
]
|
},
|
saveDisabled: false,
|
clickSaveArr: []
|
}
|
},
|
methods: {
|
init(id, id1, id2) {
|
this.dataForm.workstationId = id1
|
if (this.dataForm.workstationId) {
|
loadWorkstation(
|
Object.assign({
|
id: this.dataForm.workstationId
|
})
|
).then((res) => {
|
var data = res.data
|
if (data.code === 0) {
|
this.dataForm.workstationName = data.data[0].name
|
}
|
})
|
}
|
if (this.dataForm.workstationId && id2) {
|
this.paramObj = {
|
workstationId: this.dataForm.workstationId,
|
productMainId: id2
|
}
|
} else {
|
this.paramObj = {
|
workstationId: this.dataForm.workstationId
|
}
|
}
|
this.dataForm.productoutId = 0
|
this.dataForm.id = id || 0
|
this.visible = true
|
this.$nextTick(() => {
|
this.$refs.dataForm.resetFields()
|
if (this.dataForm.id) {
|
getObj(this.dataForm.id).then((response) => {
|
this.dataForm = response.data.data
|
})
|
}
|
})
|
},
|
getProductMain(productionMainId) {
|
console.info(productionMainId)
|
this.paramObj = { productMainId: productionMainId }
|
},
|
// 弹出工作站
|
openWorkstationDialog() {
|
this.workstationVisible = true
|
},
|
selectWorkstation(workstation) {
|
if (workstation) {
|
this.dataForm.workstationId = workstation.id
|
this.paramObj = { workstationId: workstation.id }
|
this.dataForm.workstationName = workstation.name
|
this.$refs.dataForm.validateField('workstationName', (valid) => {})
|
}
|
},
|
openProductoutDialog() {
|
if (this.dataForm.workstationId) {
|
this.productoutVisible = true
|
} else {
|
this.$message.error('请先选择工作站')
|
}
|
},
|
selectProductout(productout) {
|
if (productout) {
|
this.dataForm.productoutId = productout.id
|
this.dataForm.productNo = productout.productNo
|
this.$refs.dataForm.validateField('productNo', (valid) => {})
|
}
|
},
|
// 表单提交
|
dataFormSubmit() {
|
let canClickFlag = true
|
this.clickSaveArr.push(new Date().getTime())
|
if (this.clickSaveArr.length > 1) {
|
if (
|
this.clickSaveArr[this.clickSaveArr.length - 1] -
|
this.clickSaveArr[this.clickSaveArr.length - 2] <
|
2000
|
) {
|
// 小于2秒则认为重复提交
|
canClickFlag = false
|
}
|
}
|
|
if (canClickFlag) {
|
this.saveDisabled = true
|
this.$refs.dataForm.validate((valid) => {
|
if (valid) {
|
if (this.dataForm.id) {
|
putObj(this.dataForm)
|
.then((data) => {
|
this.$message.success('修改成功')
|
this.visible = false
|
this.saveDisabled = false
|
this.$emit('refreshDataList')
|
})
|
.catch((error) => {
|
this.saveDisabled = false
|
})
|
} else {
|
addObj(this.dataForm)
|
.then((data) => {
|
this.$message.success('添加成功')
|
this.visible = false
|
this.saveDisabled = false
|
this.$emit('refreshDataList')
|
})
|
.catch((error) => {
|
this.saveDisabled = false
|
})
|
}
|
} else {
|
this.saveDisabled = false
|
}
|
})
|
}
|
}
|
}
|
}
|
</script>
|