<template>
|
<a-card :bordered=true>
|
<a-spin :spinning='confirmLoading'>
|
<a-form :form="form">
|
<a-row>
|
<a-col :span='12'>
|
<a-form-item
|
label='故障现象'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
>
|
<a-textarea
|
allow-clear
|
placeholder='请输入故障现象'
|
v-decorator="['repairOrderFaultAnalysisUda1', validatorRules.repairOrderFaultAnalysisUda1]"
|
:disabled="disabledEdit"
|
></a-textarea>
|
</a-form-item>
|
</a-col>
|
<a-col :span='12'>
|
<a-form-item
|
label='故障检查'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
>
|
<a-textarea
|
placeholder='请输入故障检查'
|
v-decorator="['faultCause', validatorRules.faultCause]"
|
:disabled="disabledEdit"
|
></a-textarea>
|
</a-form-item>
|
</a-col>
|
</a-row>
|
<a-row>
|
<a-col :span='12'>
|
<a-form-item
|
label='故障维修'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
>
|
<a-textarea
|
placeholder='请输入故障维修'
|
v-decorator="['maintenanceMeasures', validatorRules.maintenanceMeasures]"
|
:disabled="disabledEdit"
|
></a-textarea>
|
</a-form-item>
|
</a-col>
|
<a-col :span='12'>
|
<a-form-item
|
label='故障预防'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
>
|
<a-textarea
|
v-decorator="['suggestion', validatorRules.suggestion]"
|
placeholder='请输入故障预防'
|
:disabled="disabledEdit"
|
></a-textarea>
|
</a-form-item>
|
</a-col>
|
</a-row>
|
<a-row>
|
<a-col :span='12'>
|
<a-form-item
|
label='故障原因'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
>
|
<!-- <a-textarea
|
placeholder='请输入故障原因'
|
v-decorator="['repairOrderFaultAnalysisUda2', validatorRules.repairOrderFaultAnalysisUda2]"
|
:disabled="disabledEdit"
|
></a-textarea> -->
|
<j-dict-select-tag
|
allow-clear
|
:disabled="disabledEdit"
|
:placeholder="'请选择故障原因'"
|
:triggerChange="true"
|
dictCode="repair_order_fault_cause"
|
v-decorator="['repairOrderFaultAnalysisUda2',validatorRules.repairOrderFaultAnalysisUda2]"
|
/>
|
</a-form-item>
|
</a-col>
|
<a-col :span='12'>
|
<a-form-item
|
label='安全措施'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
>
|
<a-textarea
|
allow-clear
|
placeholder='请输入安全措施'
|
v-decorator="['repairOrderFaultAnalysisUda3', validatorRules.repairOrderFaultAnalysisUda3]"
|
:disabled="disabledEdit"
|
></a-textarea>
|
</a-form-item>
|
</a-col>
|
|
</a-row>
|
<a-row>
|
<a-col
|
v-if=" '99' == this.form.getFieldsValue(['repairOrderFaultAnalysisUda2']).repairOrderFaultAnalysisUda2"
|
:span='12'
|
>
|
<a-form-item
|
label='故障原因描述'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
>
|
<a-textarea
|
allow-clear
|
placeholder='请输入故障原因描述'
|
v-decorator="['repairOrderFaultAnalysisUda4', validatorRules.repairOrderFaultAnalysisUda4]"
|
:disabled="disabledEdit"
|
></a-textarea>
|
</a-form-item>
|
</a-col>
|
<a-col :span='12'>
|
<a-form-item
|
label='维修标准'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
>
|
<j-dict-select-tag
|
allow-clear
|
:disabled="disabledEdit"
|
:placeholder="'请选择维修标准内容'"
|
:triggerChange="true"
|
dictCode="mom_eam_repair_standard,name,id, del_flag!='1'"
|
v-decorator="['repairOrderFaultAnalysisUda5',validatorRules.repairOrderFaultAnalysisUda5]"
|
/>
|
</a-form-item>
|
</a-col>
|
</a-row>
|
<a-button
|
:style="{marginRight: '8px'}"
|
@click='handleEdit2()'
|
:disabled="disabledButton||!disabledEdit"
|
:loading='confirmLoading'
|
>
|
编辑
|
</a-button>
|
|
<a-button
|
@click='handleOk()'
|
type='primary'
|
:loading='confirmLoading'
|
:disabled="disabledButton||disabledEdit"
|
>保存
|
</a-button>
|
</a-form>
|
</a-spin>
|
</a-card>
|
</template>
|
<script>
|
import pick from 'lodash.pick'
|
import { postAction, requestPut } from '@/api/manage'
|
import { duplicateCheck } from '@/api/api'
|
import { getAction } from '../../../../../api/manage'
|
export default {
|
name: 'RepairOrderFaultAnalysisList',
|
components: {},
|
props: {
|
repairOrder: {
|
type: Object,
|
default: {},
|
}
|
},
|
watch: {
|
'repairOrder.id': {
|
immediate: true,
|
handler(val) {
|
this.loadData(val);
|
if (this.repairOrder.id !== undefined && this.repairOrder.id !== null && this.repairOrder.id !== '') {
|
if (this.repairOrder.status !== '3') {
|
this.disabledButton = true;
|
} else {
|
this.disabledButton = false;
|
}
|
} else {
|
this.disabledButton = true;
|
}
|
}
|
},
|
'repairOrder.status': {
|
immediate: true,
|
handler(val) {
|
if (val !== '3') {
|
this.disabledButton = true;
|
} else {
|
this.disabledButton = false;
|
}
|
}
|
}
|
},
|
data() {
|
return {
|
description: '维修工单管理页面',
|
confirmLoading: false,
|
model: {},
|
form: this.$form.createForm(this),
|
url: {
|
add: '/eam/repairOrderFaultAnalysis/add',
|
edit: '/eam/repairOrderFaultAnalysis/edit',
|
getInfo: '/eam/repairOrderFaultAnalysis/list',
|
},
|
dictOptions: {},
|
disabledEdit: false,
|
validatorRules: {
|
faultCause: {
|
rules: [
|
{ required: true, message: '请输入故障检查!' },
|
{ min: 2, max: 1000, message: '长度在 2 到 1000 个字符', trigger: 'blur' },
|
]
|
},
|
repairOrderFaultAnalysisUda1: {
|
rules: [
|
{ required: true, message: '请输入故障现象!' },
|
]
|
},
|
repairOrderFaultAnalysisUda2: {
|
rules: [
|
{ required: true, message: '请选择故障原因!' },
|
]
|
},
|
repairOrderFaultAnalysisUda3: {
|
rules: [
|
{ required: true, message: '请输入安全措施!' },
|
]
|
},
|
repairOrderFaultAnalysisUda4: {
|
rules: [
|
{ required: true, message: '请输入故障原因描述!' },
|
]
|
},
|
suggestion: {
|
rules: [
|
{ required: true, message: '请输入故障预防!' },
|
{ min: 2, max: 1000, message: '长度在 2 到 1000 个字符', trigger: 'blur' },
|
]
|
},
|
maintenanceMeasures: {
|
rules: [
|
{ required: true, message: '请输入故障维修!' },
|
{ min: 2, max: 1000, message: '长度在 2 到 1000 个字符', trigger: 'blur' },
|
]
|
},
|
},
|
labelCol: {
|
xs: { span: 24 },
|
sm: { span: 5 }
|
},
|
wrapperCol: {
|
xs: { span: 24 },
|
sm: { span: 16 }
|
},
|
disabledButton: false
|
}
|
},
|
methods: {
|
handleOk() {
|
const that = this;
|
// 触发表单验证
|
this.form.validateFields((err, values) => {
|
if (!err) {
|
that.confirmLoading = true;
|
let formData = Object.assign(this.model, values);
|
let obj;
|
formData.repairOrderId = this.repairOrder.id;
|
if (!this.model.id) {
|
obj = postAction(this.url.add, formData);
|
} else {
|
obj = requestPut(this.url.edit, formData, { id: this.model.id });
|
}
|
obj.then((res) => {
|
if (res.success) {
|
that.$message.success(res.message);
|
} else {
|
that.$message.warning(res.message);
|
}
|
}).finally(() => {
|
that.loadData(that.repairOrder.id);
|
that.confirmLoading = false;
|
})
|
}
|
})
|
},
|
loadData(repairOrderId) {
|
let that = this;
|
getAction(that.url.getInfo, { repairOrderId: repairOrderId }).then(res => {
|
if (res.success && res.result.records.length !== 0) {
|
that.disabledEdit = true;
|
that.form.setFieldsValue(pick(res.result.records[0], 'faultCause', 'repairOrderFaultAnalysisUda1', 'repairOrderFaultAnalysisUda2', 'repairOrderFaultAnalysisUda3', 'repairOrderFaultAnalysisUda5', 'faultTypeId', 'suggestion', 'maintenanceMeasures', 'id'))
|
that.$nextTick(() => {
|
that.form.setFieldsValue({ "repairOrderFaultAnalysisUda4": res.result.records[0].repairOrderFaultAnalysisUda4 });
|
}, 300);
|
|
that.model = Object.assign({}, res.result.records[0]);
|
} else {
|
if (that.repairOrder.status === '3') {
|
that.disabledEdit = false;
|
} else {
|
that.disabledEdit = true;
|
}
|
that.form.resetFields();
|
}
|
})
|
},
|
handleEdit2() {
|
this.disabledEdit = false;
|
}
|
},
|
|
}
|
</script>
|
<style scoped>
|
@import '~@assets/less/common.less';
|
</style>
|