| | |
| | | <template> |
| | | <j-modal |
| | | :title="title" |
| | | :width="800" |
| | | :visible="visible" |
| | | :confirmLoading="confirmLoading" |
| | | switchFullscreen |
| | | @ok="handleOk" |
| | | @cancel="handleCancel" |
| | | cancelText="关闭"> |
| | | |
| | | <a-spin :spinning="confirmLoading"> |
| | | <a-form-model ref="form" :model="model" :rules="validatorRules"> |
| | | |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="delFlag" label="删除标记"> |
| | | <a-input-number v-model="model.delFlag"/> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="orderNum" label="工单号"> |
| | | <a-input placeholder="请输入工单号" v-model="model.orderNum" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentId" label="设备ID"> |
| | | <a-input placeholder="请输入设备ID" v-model="model.equipmentId" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="standardId" label="规范ID"> |
| | | <a-input placeholder="请输入规范ID" v-model="model.standardId" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="evaluationDate" label="计划鉴定日期;提前70天生成工单"> |
| | | <a-input placeholder="请输入计划鉴定日期;提前70天生成工单" v-model="model.evaluationDate" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="freezeOrderDate" label="锁定工单日期;提前55天锁定工单"> |
| | | <a-input placeholder="请输入锁定工单日期;提前55天锁定工单" v-model="model.freezeOrderDate" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="orderExpirationDate" label="工单过期日期;到期未做直接过期,并修改设备技术状态为禁用"> |
| | | <a-input placeholder="请输入工单过期日期;到期未做直接过期,并修改设备技术状态为禁用" v-model="model.orderExpirationDate" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="actualStartTime" label="实际开始时间"> |
| | | <a-input placeholder="请输入实际开始时间" v-model="model.actualStartTime" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="actualEndTime" label="实际结束时间"> |
| | | <a-input placeholder="请输入实际结束时间" v-model="model.actualEndTime" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="evaluator" label="鉴定人"> |
| | | <a-input placeholder="请输入鉴定人" v-model="model.evaluator" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="evaluationStatus" label="鉴定状态;待鉴定、鉴定中、维修室主任签字、工艺人员签字、技术主管签字、设备检验员签字、已完成、已锁定、变更中、已过期"> |
| | | <a-input placeholder="请输入鉴定状态;待鉴定、鉴定中、维修室主任签字、工艺人员签字、技术主管签字、设备检验员签字、已完成、已锁定、变更中、已过期" v-model="model.evaluationStatus" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="creationMethod" label="创建方式"> |
| | | <a-input placeholder="请输入创建方式" v-model="model.creationMethod" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="safetyEquipmentCheckResult" label="安全装置检查结果;是、否"> |
| | | <a-input placeholder="请输入安全装置检查结果;是、否" v-model="model.safetyEquipmentCheckResult" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="precisionCheckResult" label="精度参数检查结果;是、否、无"> |
| | | <a-input placeholder="请输入精度参数检查结果;是、否、无" v-model="model.precisionCheckResult" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="functionalCheckResult" label="功能状态检查结果;是、否"> |
| | | <a-input placeholder="请输入功能状态检查结果;是、否" v-model="model.functionalCheckResult" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="otherCheckResult" label="其他检查结果;是、否、无"> |
| | | <a-input placeholder="请输入其他检查结果;是、否、无" v-model="model.otherCheckResult" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="repairManagerSignature" label="维修室主任签字"> |
| | | <a-input placeholder="请输入维修室主任签字" v-model="model.repairManagerSignature" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="repairManagerSignatureTime1" label="维修室主任签字时间"> |
| | | <a-input placeholder="请输入维修室主任签字时间" v-model="model.repairManagerSignatureTime1" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="sampleCheckResult" label="试件检查结果;合格、不合格"> |
| | | <a-input placeholder="请输入试件检查结果;合格、不合格" v-model="model.sampleCheckResult" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="processTechnicianSignature" label="工艺员签字"> |
| | | <a-input placeholder="请输入工艺员签字" v-model="model.processTechnicianSignature" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="processTechnicianSignatureTime" label="工艺员签字时间"> |
| | | <a-input placeholder="请输入工艺员签字时间" v-model="model.processTechnicianSignatureTime" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="evaluationResult" label="鉴定结果;合格、限用、禁用"> |
| | | <a-input placeholder="请输入鉴定结果;合格、限用、禁用" v-model="model.evaluationResult" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="evaluationReason" label="限\禁用原因(多选);安全装置、设备功能、精度、试件、其他"> |
| | | <a-input placeholder="请输入限\禁用原因(多选);安全装置、设备功能、精度、试件、其他" v-model="model.evaluationReason" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="inspectorSignature" label="设备检查人签字"> |
| | | <a-input placeholder="请输入设备检查人签字" v-model="model.inspectorSignature" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="inspectorSignatureTime" label="设备检查人签字时间"> |
| | | <a-input placeholder="请输入设备检查人签字时间" v-model="model.inspectorSignatureTime" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="hfCodeA" label="附录A HF编码"> |
| | | <a-input placeholder="请输入附录A HF编码" v-model="model.hfCodeA" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="hfCodeB" label="附录B HF编码"> |
| | | <a-input placeholder="请输入附录B HF编码" v-model="model.hfCodeB" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="hfCodeC" label="附录C HF编码"> |
| | | <a-input placeholder="请输入附录C HF编码" v-model="model.hfCodeC" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="hfCodeD" label="附录D HF编码"> |
| | | <a-input placeholder="请输入附录D HF编码" v-model="model.hfCodeD" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="remark" label="备注"> |
| | | <a-input placeholder="请输入备注" v-model="model.remark" /> |
| | | </a-form-model-item> |
| | | |
| | | <j-modal :title="title" :width="1300" :visible="visible" :confirmLoading="confirmLoading" switchFullscreen |
| | | @ok="handleOk" @cancel="handleCancel" cancelText="关闭"> |
| | | <a-spin :spinning="spinning"> |
| | | <a-form-model ref="form" :model="model" :rules="validatorRules" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-row> |
| | | <a-col :span="8"> |
| | | <a-form-model-item label="工单号"> |
| | | <a-input placeholder="工单号系统自动生成" v-model="model.orderNum" disabled/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | |
| | | <a-col :span="8"> |
| | | <a-form-model-item prop="equipmentId" label="统一编码"> |
| | | <technical-status-equipment-select placeholder="请输入统一编码或名称搜索" v-model="model.equipmentId" |
| | | @autocompleteForm="getDetailDataByOrderId" :allowClear="false"/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | |
| | | <a-col :span="8"> |
| | | <a-form-model-item prop="evaluationDate" label="计划鉴定日期"> |
| | | <a-date-picker v-model="model.evaluationDate" value-format="YYYY-MM-DD" :allowClear="false" |
| | | style="width: 100%"/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | |
| | | <a-row> |
| | | <a-col :span="24"> |
| | | <a-form-model-item :labelCol="{span:2}" :wrapperCol="{span:21}" label="备注"> |
| | | <a-textarea placeholder="请输入备注" v-model="model.remark"/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | </a-form-model> |
| | | |
| | | <a-tabs default-active-key="1" v-if="model.equipmentId"> |
| | | <a-tab-pane tab="安全装置检查" key="1" v-if="detail.safetyEquipmentCheckList.length>0"> |
| | | <j-vxe-table ref="editableDetailTable1" rowNumber bordered keep-source :height="300" |
| | | :dataSource="detail.safetyEquipmentCheckList" :columns="detail.columns"/> |
| | | </a-tab-pane> |
| | | |
| | | <a-tab-pane tab="设备精度检查" key="2" v-if="detail.precisionCheckList.length>0"> |
| | | <j-vxe-table ref="editableDetailTable2" rowNumber bordered keep-source :height="300" |
| | | :dataSource="detail.precisionCheckList" :columns="detail.precisionCheckColumns"/> |
| | | </a-tab-pane> |
| | | |
| | | <a-tab-pane tab="其他检查" key="3" v-if="detail.otherCheckList.length>0"> |
| | | <j-vxe-table ref="editableDetailTable3" rowNumber bordered keep-source :height="300" |
| | | :dataSource="detail.otherCheckList" :columns="detail.columns"/> |
| | | </a-tab-pane> |
| | | </a-tabs> |
| | | </a-spin> |
| | | </j-modal> |
| | | </template> |
| | | |
| | | <script> |
| | | import { httpAction } from '@/api/manage' |
| | | import moment from "moment" |
| | | import { httpAction, getAction } from '@/api/manage' |
| | | import TechnicalStatusEquipmentSelect from '../../equipment/modules/TechnicalStatusEquipmentSelect' |
| | | import { JVXETypes } from '@/components/jeecg/JVxeTable' |
| | | import { JVxeTableModelMixin } from '@/mixins/JVxeTableModelMixin.js' |
| | | |
| | | export default { |
| | | name: "EamTechnicalStatusEvaluationOrderModal", |
| | | data () { |
| | | name: 'EamTechnicalStatusEvaluationOrderModal', |
| | | components: { |
| | | TechnicalStatusEquipmentSelect |
| | | }, |
| | | mixins: [JVxeTableModelMixin], |
| | | data() { |
| | | return { |
| | | title:"操作", |
| | | title: '操作', |
| | | visible: false, |
| | | model: {}, |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 5 }, |
| | | sm: { span: 6 } |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 16 }, |
| | | sm: { span: 15 } |
| | | }, |
| | | |
| | | confirmLoading: false, |
| | | validatorRules:{ |
| | | spinning: false, |
| | | validatorRules: { |
| | | equipmentId: [{ required: true, message: '请输入统一编码或名称搜索', trigger: 'change' }], |
| | | evaluationDate: [{ required: true, message: '请选择日期', trigger: 'change' }] |
| | | }, |
| | | detail: { |
| | | safetyEquipmentCheckList: [], |
| | | precisionCheckList: [], |
| | | otherCheckList: [], |
| | | columns: [ |
| | | { |
| | | title: 'ID', |
| | | key: 'id', |
| | | type: JVXETypes.hidden |
| | | }, |
| | | { |
| | | title: 'standardId', |
| | | key: 'standardId', |
| | | type: JVXETypes.hidden |
| | | }, |
| | | { |
| | | title: '序号', |
| | | key: 'itemCode', |
| | | type: JVXETypes.normal, |
| | | align: 'center', |
| | | width: 60 |
| | | }, |
| | | { |
| | | title: '检查项目', |
| | | key: 'itemName', |
| | | type: JVXETypes.normal, |
| | | align: 'center' |
| | | } |
| | | ], |
| | | precisionCheckColumns: [ |
| | | { |
| | | title: 'ID', |
| | | key: 'id', |
| | | type: JVXETypes.hidden |
| | | }, |
| | | { |
| | | title: 'standardId', |
| | | key: 'standardId', |
| | | type: JVXETypes.hidden |
| | | }, |
| | | { |
| | | title: '序号', |
| | | key: 'itemCode', |
| | | type: JVXETypes.normal, |
| | | align: 'center', |
| | | width: 60 |
| | | }, |
| | | { |
| | | title: '检查项目', |
| | | key: 'itemName', |
| | | type: JVXETypes.normal, |
| | | align: 'center' |
| | | }, |
| | | { |
| | | title: '检查子项目', |
| | | key: 'subItemName', |
| | | type: JVXETypes.normal, |
| | | align: 'center' |
| | | }, |
| | | { |
| | | title: '允差值', |
| | | key: 'toleranceValue', |
| | | type: JVXETypes.normal, |
| | | align: 'center' |
| | | } |
| | | ] |
| | | }, |
| | | url: { |
| | | add: "/eam/eamTechnicalStatusEvaluationOrder/add", |
| | | edit: "/eam/eamTechnicalStatusEvaluationOrder/edit", |
| | | }, |
| | | add: '/eam/eamTechnicalStatusEvaluationOrder/add', |
| | | edit: '/eam/eamTechnicalStatusEvaluationOrder/edit', |
| | | detail: '/eam/eamTechnicalStatusEvaluationStandardDetail/queryList' |
| | | } |
| | | } |
| | | }, |
| | | created () { |
| | | }, |
| | | methods: { |
| | | add () { |
| | | add() { |
| | | //初始化默认值 |
| | | this.edit({}); |
| | | this.edit({}) |
| | | }, |
| | | edit (record) { |
| | | this.model = Object.assign({}, record); |
| | | this.visible = true; |
| | | |
| | | edit(record) { |
| | | this.model = Object.assign({}, record) |
| | | this.visible = true |
| | | }, |
| | | close () { |
| | | this.$emit('close'); |
| | | this.visible = false; |
| | | this.$refs.form.clearValidate(); |
| | | }, |
| | | handleOk () { |
| | | const that = this; |
| | | // 触发表单验证 |
| | | this.$refs.form.validate(valid => { |
| | | if (valid) { |
| | | that.confirmLoading = true; |
| | | let httpurl = ''; |
| | | let method = ''; |
| | | if(!this.model.id){ |
| | | httpurl+=this.url.add; |
| | | method = 'post'; |
| | | }else{ |
| | | httpurl+=this.url.edit; |
| | | method = 'put'; |
| | | |
| | | getDetailDataByOrderId({ id }) { |
| | | this.detail.safetyEquipmentCheckList = this.detail.precisionCheckList = this.detail.otherCheckList = [] |
| | | this.model.standardId = id |
| | | this.spinning = true |
| | | getAction(this.url.detail, { standardId: id }) |
| | | .then(res => { |
| | | if (res.success) { |
| | | this.detail.safetyEquipmentCheckList = res.result.filter(item => item.checkCategory == 'SAFETY_EQUIPMENT_CHECK') |
| | | this.detail.precisionCheckList = res.result.filter(item => item.checkCategory == 'PRECISION_CHECK') |
| | | this.detail.otherCheckList = res.result.filter(item => item.checkCategory == 'OTHER_CHECK') |
| | | } |
| | | httpAction(httpurl,this.model,method).then((res)=>{ |
| | | if(res.success){ |
| | | that.$message.success(res.message); |
| | | that.$emit('ok'); |
| | | }else{ |
| | | that.$message.warning(res.message); |
| | | } |
| | | }).finally(() => { |
| | | that.confirmLoading = false; |
| | | that.close(); |
| | | }) |
| | | .finally(() => { |
| | | this.spinning = false |
| | | }) |
| | | }, |
| | | |
| | | handleOk() { |
| | | const that = this |
| | | // 触发表单验证 |
| | | this.$refs.form.validate(valid => { |
| | | if (valid) { |
| | | that.confirmLoading = that.spinning = true |
| | | let httpUrl = '' |
| | | let method = '' |
| | | if (!this.model.id) { |
| | | httpUrl += this.url.add |
| | | method = 'post' |
| | | } else { |
| | | httpUrl += this.url.edit |
| | | method = 'put' |
| | | } |
| | | this.model.tableDetailList = [...this.detail.safetyEquipmentCheckList, ...this.detail.precisionCheckList, ...this.detail.otherCheckList] |
| | | httpAction(httpUrl, this.model, method) |
| | | .then((res) => { |
| | | if (res.success) { |
| | | that.$notification.success({ |
| | | message: '消息', |
| | | description: res.message |
| | | }) |
| | | that.$emit('ok') |
| | | that.close() |
| | | } else { |
| | | that.$notification.warning({ |
| | | message: '消息', |
| | | description: res.message |
| | | }) |
| | | } |
| | | }).finally(() => { |
| | | that.confirmLoading = that.spinning = false |
| | | }) |
| | | }else{ |
| | | return false; |
| | | } else { |
| | | return false |
| | | } |
| | | }) |
| | | }, |
| | | handleCancel () { |
| | | |
| | | handleCancel() { |
| | | this.close() |
| | | }, |
| | | |
| | | |
| | | close() { |
| | | this.$emit('close') |
| | | this.visible = false |
| | | this.$refs.form.clearValidate() |
| | | } |
| | | } |
| | | } |
| | | </script> |