<template>
|
<el-dialog
|
:title="!dataForm.id ? '新增' : '修改'"
|
:close-on-click-modal="false"
|
:visible.sync="visible"
|
>
|
<el-form
|
:model="dataForm"
|
:rules="dataRule"
|
ref="dataForm"
|
label-width="100px"
|
class="l-mes"
|
>
|
<el-form-item label="设备" prop="equipmentId">
|
<el-select
|
v-model="dataForm.equipmentId"
|
filterable
|
placeholder="请选择设备"
|
@change="getEquipmentId"
|
style="width: 100%"
|
>
|
<el-option
|
v-for="item in equipmentOption"
|
:label="`${item.number} - ${item.name}`"
|
:value="item.id"
|
:key="item.id"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="模具" prop="mouldCode">
|
<el-select
|
v-model="dataForm.mouldCode"
|
filterable
|
placeholder="请选择设备"
|
@change="getMouldCode"
|
style="width: 100%"
|
>
|
<el-option
|
v-for="item in mouldOption"
|
:label="`${item.MouldCode} - ${item.MouldName} - ${item.MouldSpe}`"
|
:value="item.MouldCode"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="工步/工序" prop="type">
|
<el-radio-group v-model="dataForm.type" @change="changeRadio">
|
<el-radio :label="1">工序</el-radio>
|
<el-radio :label="2">工步</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
<el-form-item label="工步" prop="stepId" v-if="dataForm.type == 2">
|
<el-select
|
v-model="dataForm.stepId"
|
filterable
|
placeholder="请选择工步"
|
@change="getStepId"
|
style="width: 100%"
|
>
|
<el-option
|
v-for="item in steps"
|
:key="item.id"
|
:label="item.name"
|
:value="item.id"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="寿命转换系数" prop="lifeConversionFactor">
|
<el-input
|
v-model="dataForm.lifeConversionFactor"
|
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" @click="dataFormSubmit()">确定</el-button>
|
</span>
|
</el-dialog>
|
</template>
|
|
<script>
|
import { getEquipmentPageByWorkstation } from '../../../api/equipment/equipment'
|
import { getSteps } from '../../../api/product/productstep'
|
import {
|
addObj,
|
putObj,
|
getObj,
|
getMould
|
} from '../../../api/product/mouldregister'
|
|
export default {
|
props: {
|
workstationId: {
|
type: Number
|
},
|
currOperateTask: {
|
type: Object,
|
default: function() {
|
return {}
|
}
|
},
|
shiftId: {
|
type: Number
|
},
|
crewId: {
|
type: Number
|
}
|
},
|
data() {
|
return {
|
mouldOption: [],
|
equipmentOption: [],
|
steps: [],
|
visible: false,
|
dataForm: {
|
id: 0,
|
equipmentName: '',
|
equipmentId: '',
|
mouldCode: '',
|
mouldName: '',
|
stepName: '',
|
stepId: '',
|
lifeConversionFactor: '',
|
workstationId: '',
|
type: 1, // 1:工序,2:工步
|
operationId: null,
|
shiftId: null,
|
crewId: null,
|
operationTaskId: null,
|
partNo: null
|
},
|
dataRule: {
|
equipmentName: [
|
{ required: true, message: '设备不能为空', trigger: 'blur' }
|
],
|
equipmentId: [
|
{ required: true, message: '设备id不能为空', trigger: 'blur' }
|
],
|
mouldCode: [
|
{ required: true, message: '模具不能为空', trigger: 'blur' }
|
],
|
stepName: [
|
{ required: true, message: '工步不能为空', trigger: 'blur' }
|
],
|
stepId: [
|
{ required: true, message: '工步id不能为空', trigger: 'blur' }
|
],
|
lifeConversionFactor: [
|
{ required: true, message: '寿命转换系数不能为空', trigger: 'blur' }
|
]
|
}
|
}
|
},
|
watch: {
|
workstationId: {
|
handler(newName, oldName) {
|
this.getEquipmentPage()
|
},
|
immediate: true
|
}
|
},
|
created() {
|
this.getSteps()
|
},
|
methods: {
|
init(id) {
|
this.dataForm.id = id || 0
|
this.dataForm.type = 1
|
this.visible = true
|
this.$nextTick(() => {
|
this.$refs.dataForm.resetFields()
|
if (this.dataForm.id) {
|
getObj(this.dataForm.id).then((response) => {
|
this.dataForm = response.data.data
|
})
|
} else {
|
this.mouldOption = []
|
}
|
})
|
},
|
getEquipmentId(val) {
|
var obj = {}
|
obj = this.equipmentOption.find(function(item) {
|
return item.id === val
|
})
|
this.dataForm.equipmentName = obj.name
|
this.dataForm.mouldCode = ''
|
this.dataForm.mouldName = ''
|
getMould(Object.assign({ equipmentId: val }))
|
.then((response) => {
|
if (response.data.code === 0) {
|
this.mouldOption = response.data.data
|
}
|
})
|
.catch((err) => {
|
console.log(err)
|
this.mouldOption = []
|
})
|
},
|
getStepId(val) {
|
var obj = {}
|
obj = this.steps.find(function(item) {
|
return item.id === val
|
})
|
this.dataForm.stepName = obj.name
|
},
|
// 查询工单下对应工序的工步
|
getSteps() {
|
getSteps(this.currOperateTask.id)
|
.then((response) => {
|
var data = response.data
|
if (data.code === 0) {
|
this.steps = data.data
|
} else {
|
this.steps = []
|
}
|
})
|
.catch((error) => {
|
console.log(error)
|
})
|
},
|
// 根据工作站id获取设备列表
|
getEquipmentPage() {
|
getEquipmentPageByWorkstation(this.workstationId).then((response) => {
|
if (response.data.code === 0) {
|
this.equipmentOption = response.data.data
|
}
|
})
|
},
|
// 表单提交
|
dataFormSubmit() {
|
this.$refs.dataForm.validate((valid) => {
|
if (valid) {
|
if (this.dataForm.id) {
|
putObj(this.dataForm).then((data) => {
|
this.$message.success('修改成功')
|
this.visible = false
|
this.$emit('refreshDataList')
|
})
|
} else {
|
this.dataForm.workstationId = this.workstationId
|
this.dataForm.shiftId = this.shiftId
|
this.dataForm.crewId = this.crewId
|
this.dataForm.operationId = this.currOperateTask.operationId
|
this.dataForm.operationTaskId = this.currOperateTask.id
|
this.dataForm.partNo = this.currOperateTask.partNo
|
addObj(this.dataForm).then((data) => {
|
this.$message.success('添加成功')
|
this.visible = false
|
this.$emit('refreshDataList')
|
})
|
}
|
}
|
})
|
},
|
changeRadio(val) {
|
if (val == 1) {
|
this.dataForm.stepId = null
|
this.dataForm.stepName = null
|
// this.$refs.dataForm.validateField('stepId', (valid) => {})
|
}
|
},
|
getMouldCode(val) {
|
var obj = {}
|
obj = this.mouldOption.find(function(item) {
|
return item.MouldCode === val
|
})
|
this.dataForm.mouldName = obj.MouldName
|
}
|
}
|
}
|
</script>
|