From a9f005e2af294c47d7cd1e4b6ed401bf65f5b080 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期二, 04 三月 2025 16:44:09 +0800 Subject: [PATCH] art: 所有设备 台账 二保工单 根据设备id查询二保工单,并过滤掉已完成和已取消的二保工单 --- src/views/eam/modules/repairorder/moudles/RepairOrderFaultAnalysisReport.vue | 461 +++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 280 insertions(+), 181 deletions(-) diff --git a/src/views/eam/modules/repairorder/moudles/RepairOrderFaultAnalysisReport.vue b/src/views/eam/modules/repairorder/moudles/RepairOrderFaultAnalysisReport.vue index 45604a6..f587050 100644 --- a/src/views/eam/modules/repairorder/moudles/RepairOrderFaultAnalysisReport.vue +++ b/src/views/eam/modules/repairorder/moudles/RepairOrderFaultAnalysisReport.vue @@ -1,217 +1,316 @@ <template> - <a-card - :bordered='false' - :class="'cust-erp-sub-tab'" - > - <!-- 鏌ヨ鍖哄煙 --> - <div class="table-page-search-wrapper"> - <a-form - layout="inline" - @keyup.enter.native="searchQuery" - > - <a-row :gutter="24"> + <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-form> - </div> - <!-- 鏌ヨ鍖哄煙-END --> + <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> - <!-- 鎿嶄綔鎸夐挳鍖哄煙 --> - <div - class='table-operator' - v-if='mainId.id' - > - <a-dropdown v-if='selectedRowKeys.length > 0'> - <a-menu slot='overlay'> - <a-menu-item - key='1' - @click='batchDel' + </a-row> + <a-row> + <a-col + v-if=" '99' == this.form.getFieldsValue(['repairOrderFaultAnalysisUda2']).repairOrderFaultAnalysisUda2" + :span='12' > - <a-icon type='delete' /> - 鍒犻櫎 - </a-menu-item> - </a-menu> - <a-button style='margin-left: 8px'> 鎵归噺鎿嶄綔 - <a-icon type='down' /> - </a-button> - </a-dropdown> - </div> - - <!-- table鍖哄煙-begin --> - <div> - <!-- <div class='ant-alert ant-alert-info' style='margin-bottom: 16px;'> - <i class='anticon anticon-info-circle ant-alert-icon'></i> 宸查�夋嫨 <a - style='font-weight: 600'>{{ selectedRowKeys.length }}</a>椤� - <a style='margin-left: 24px' @click='onClearSelected'>娓呯┖</a> - </div> --> - - <a-table - ref='table' - size='middle' - bordered - rowKey='id' - :scroll='{x:true}' - :columns='columns' - :dataSource='dataSource' - :pagination='ipagination' - :loading='loading' - @change='handleTableChange' - > - <!-- :rowSelection='{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}' --> - - <span - slot='action' - slot-scope='text, record' + <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 @click='handleEdit(record)'>缂栬緫</a> - <a-divider type='vertical' /> --> - <a-popconfirm - title='纭畾鍒犻櫎鍚�?' - @confirm='() => handleDelete(record.id)' - > - <a :disabled="mainId.status=='4'">鍒犻櫎</a> - </a-popconfirm> - </span> + 缂栬緫 + </a-button> - </a-table> - <a-button - style="width: 100%; margin-top: 16px; margin-bottom: 8px" - type="dashed" - icon="plus" - @click="handleAdd" - :disabled="mainId.status=='4' ||mainId.status=='2'" - >娣诲姞鏁呴殰鍒嗘瀽 - </a-button> - </div> - <repair-order-fault-analysis-report-model - ref='modalForm' - @ok='modalFormOk' - ></repair-order-fault-analysis-report-model> + <a-button + @click='handleOk()' + type='primary' + :loading='confirmLoading' + :disabled="disabledButton||disabledEdit" + >淇濆瓨 + </a-button> + </a-form> + </a-spin> </a-card> - </template> - <script> - -import { JeecgListMixin } from '@/mixins/JeecgListMixin' - - -import RepairOrderFaultAnalysisReportModel from './RepairOrderFaultAnalysisReportModel.vue' - +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', - mixins: [JeecgListMixin], - components: { RepairOrderFaultAnalysisReportModel }, + components: {}, props: { - mainId: { + repairOrder: { type: Object, + default: {}, } }, watch: { - mainId: { + 'repairOrder.id': { immediate: true, handler(val) { - console.log(val) - if (!this.mainId.id) { - - this.clearList() + 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.queryParam['repairOrderId'] = val.id - this.loadData(1) + this.disabledButton = true; + } + } + }, + 'repairOrder.status': { + immediate: true, + handler(val) { + if (val !== '3') { + this.disabledButton = true; + } else { + this.disabledButton = false; } } } }, - data() { return { description: '缁翠慨宸ュ崟绠$悊椤甸潰', - disableMixinCreated: true, - // 琛ㄥご - columns: [ - { - title: '#', - dataIndex: '', - key: 'rowIndex', - width: 60, - align: 'center', - customRender: function (t, r, index) { - return parseInt(index) + 1 - } - }, - { - title: '鏁呴殰鍘熷洜', - dataIndex: 'faultCauseName', - align: 'center', - width: 150, - ellipsis: true, - }, - { - title: '鏁呴殰绫诲瀷', - dataIndex: 'faultTypeName', - align: 'center', - width: 150, - ellipsis: true, - }, - { - title: '鏁呴殰鍒嗘瀽', - dataIndex: 'faultCause', - align: 'center', - width: 150, - ellipsis: true, - }, - { - title: '缁翠慨鎺柦', - dataIndex: 'maintenanceMeasures', - align: 'center', - width: 150, - ellipsis: true, - }, - { - title: '缁翠繚鏀硅繘鎰忚', - dataIndex: 'suggestion', - align: 'center', - width: 150, - ellipsis: true, - }, - { - title: '鎿嶄綔', - dataIndex: 'action', - align: 'center', - width: 147, - scopedSlots: { customRender: 'action' } - } - ], + confirmLoading: false, + model: {}, + form: this.$form.createForm(this), url: { - list: '/eam/repairOrder/listRepairOrderFaultAnalysisByMainId', - delete: '/eam/repairOrder/deleteRepairOrderFaultAnalysis', - deleteBatch: '/eam/repairOrder/deleteBatchRepairOrderFaultAnalysis', - exportXlsUrl: '/eam/repairOrder/exportRepairOrderFaultAnalysis', - importUrl: '/eam/repairOrder/importRepairOrderFaultAnalysis' + add: '/eam/repairOrderFaultAnalysis/add', + edit: '/eam/repairOrderFaultAnalysis/edit', + getInfo: '/eam/repairOrderFaultAnalysis/list', }, - dictOptions: {} - } - }, - created() { - }, - computed: { - importExcelUrl() { - return `${window._CONFIG['domianURL']}/${this.url.importUrl}/${this.mainId.id}` + 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: { - clearList() { - this.dataSource = [] - this.selectedRowKeys = [] - this.ipagination.current = 1 + 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; + }) + } + }) }, - handleAdd: function () { - this.$refs.modalForm.add(this.mainId) - this.$refs.modalForm.title = '鏂板' - this.$refs.modalForm.disableSubmit = 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> -- Gitblit v1.9.3