From ad78578ae893565ff723a22c3e2a165d5ccf534d Mon Sep 17 00:00:00 2001 From: “linengliang” <vanSuperEnergy@163.com> Date: 星期六, 18 十一月 2023 12:33:08 +0800 Subject: [PATCH] 维修工单 --- src/views/eam/modules/repairorder/repairOrderExcuteDrawer.vue | 471 +++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 398 insertions(+), 73 deletions(-) diff --git a/src/views/eam/modules/repairorder/repairOrderExcuteDrawer.vue b/src/views/eam/modules/repairorder/repairOrderExcuteDrawer.vue index 57968ef..443eaf4 100644 --- a/src/views/eam/modules/repairorder/repairOrderExcuteDrawer.vue +++ b/src/views/eam/modules/repairorder/repairOrderExcuteDrawer.vue @@ -4,29 +4,64 @@ :width="drawerWidth" :visible="visible" @close="handleCancel" - :confirmLoading="confirmLoading" + :loading="confirmLoading" :maskClosable="maskClosable" > <a-card :style="getBackground()"> - <template> - <a-card> <div :style="{width: '100%',border: '1px solid #e9e9e9',padding: '10px 16px',background: '#fff',}"> <a-row :style="{textAlign:'left'}"> <a-button :style="{marginRight: '8px'}" @click="handleStart" + :loading="confirmLoading" :disabled="repairOrder.status!='2'" type="primary" >寮�宸�</a-button> <a-button :style="{marginRight: '8px'}" - @click="handleReport" - :disabled="repairOrder.status!='3'" + @click="handleSpare" + :loading="confirmLoading" + :disabled="repairOrder.status!=='3' + ||repairOrder.repairOrderUda1==='needSpare'||repairOrder.repairOrderUda1==='needPart' + ||(repairOrder.repairOrderUda2!==null&&repairOrder.repairOrderUda3!==null)" + type="primary" + v-if="repairOrder.repairOrderUda1!=='needSpare'" + >绛夐噰璐欢</a-button> + <a-button + :style="{marginRight: '8px'}" + @click="handleSpareStop" + :loading="confirmLoading" + type="primary" + v-if="repairOrder.repairOrderUda1==='needSpare'" + >绛夐噰璐欢鍋滄</a-button> + <a-button + :style="{marginRight: '8px'}" + @click="handlePart" + :loading="confirmLoading" + :disabled="repairOrder.status!='3' + ||repairOrder.repairOrderUda1==='needPart'||repairOrder.repairOrderUda1==='needSpare' + ||(repairOrder.repairOrderUda4!==null&&repairOrder.repairOrderUda5!==null)" + type="primary" + v-if="repairOrder.repairOrderUda1!=='needPart'" + >绛夊姞宸ヤ欢</a-button> + <a-button + :style="{marginRight: '8px'}" + @click="handlePartStop" + :loading="confirmLoading" + type="primary" + v-if="repairOrder.repairOrderUda1==='needPart'" + >绛夊姞宸ヤ欢鍋滄</a-button> + <a-button + :style="{marginRight: '8px'}" + @click="handleReportPro" + :loading="confirmLoading" + :disabled="repairOrder.status!='3'||repairOrder.repairOrderUda1==='needPart'||repairOrder.repairOrderUda1==='needSpare'" type="primary" >鎶ュ伐</a-button> <a-button :style="{marginRight: '8px'}" @click="handleRevoke" + :loading="confirmLoading" :disabled="repairOrder.status!='4'" type="primary" >鎾ら攢</a-button> @@ -45,6 +80,23 @@ v-if="this.repairOrder != null" class="hightColor" >{{this.repairOrder.status_dictText}}</span> + <span + v-else + class="frozenRowClass" + >-</span> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="缁翠慨鐘舵��" + class="hightColor" + > + <span + v-if="this.repairOrder != null" + class="hightColor" + >{{this.repairOrder.repairOrderUda1_dictText}}</span> <span v-else class="frozenRowClass" @@ -85,6 +137,8 @@ >-</span> </a-form-item> </a-col> + </a-row> + <a-row :gutter="24"> <a-col :span="6"> <a-form-item :labelCol="labelCol" @@ -102,8 +156,6 @@ >-</span> </a-form-item> </a-col> - </a-row> - <a-row :gutter="24"> <a-col :span="6"> <a-form-item :labelCol="labelCol" @@ -139,13 +191,29 @@ <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" - label="宸ユ椂瀹氶" + label="鍏抽敭璁惧?" class="hightColor" > <span v-if="this.repairOrder != null" class="hightColor" - >{{ this.repairOrder.workingHourQuota }}</span> + >{{ this.repairOrder.specificEquipment_dictText}}</span> + <span + v-else + class="frozenRowClass" + >-</span> + </a-form-item> + </a-col> + </a-row> + <a-row :gutter="24"> + <a-col :span="6"> + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="鎶ヤ慨鏃堕棿" + class="hightColor" + > + <span v-if="this.repairOrder != null">{{ this.repairOrder.faultTime }}</span> <span v-else class="frozenRowClass" @@ -156,13 +224,38 @@ <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" - label="鎵ц浜�" + label="鎶ヤ慨浜�" class="hightColor" > + <span v-if="this.repairOrder != null">{{ this.repairOrder.errUda2 }}</span> <span - v-if="this.repairOrder != null" - class="hightColor" - >{{ this.repairOrder.recipientUserId_dictText}}</span> + v-else + class="frozenRowClass" + >-</span> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="棰嗗彇鏃堕棿" + class="hightColor" + > + <span v-if="this.repairOrder != null">{{ this.repairOrder.createTime }}</span> + <span + v-else + class="frozenRowClass" + >-</span> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="棰嗗彇浜�" + class="hightColor" + > + <span v-if="this.repairOrder != null">{{ this.repairOrder.responsibilityName }}</span> <span v-else class="frozenRowClass" @@ -171,17 +264,16 @@ </a-col> </a-row> <a-row - hidden :gutter="24" > - <a-col :span="6"> + <a-col :span="6"> <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" - label="寮�濮嬫椂闂�" + label="寮�宸ユ椂闂�" class="hightColor" > - <span v-if="this.repairOrder != null">{{ this.repairOrder.actualStartTime }}</span> + <span v-if="this.repairOrder != null">{{ this.repairOrder.actualStartTime}}</span> <span v-else class="frozenRowClass" @@ -192,13 +284,10 @@ <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" - label="鍒涘缓浜�" + label="瀹屽伐鏃堕棿" class="hightColor" > - <span - v-if="this.repairOrder != null" - class="hightColor" - >{{ this.repairOrder.createBy}}</span> + <span v-if="this.repairOrder != null">{{ this.repairOrder.actualEndTime }}</span> <span v-else class="frozenRowClass" @@ -209,13 +298,162 @@ <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" - label="鍒涘缓浜�" + label="缁翠慨鏃堕暱" class="hightColor" > + <span v-if="this.repairOrder != null">{{ this.repairOrder.actualHour }}</span> <span - v-if="this.repairOrder != null" - class="hightColor" - >{{ this.repairOrder.createTime}}</span> + v-else + class="frozenRowClass" + >-</span> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="瀹屾垚浜�" + class="hightColor" + > + <span v-if="this.repairOrder != null">{{ this.repairOrder.recipientUserId_dictText }}</span> + <span + v-else + class="frozenRowClass" + >-</span> + </a-form-item> + </a-col> + </a-row> + <a-row + :gutter="24" + > + <a-col :span="6"> + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="楠屾敹鏃堕棿" + class="hightColor" + > + <span v-if="this.repairOrder != null">{{ this.repairOrder.acceptTime }}</span> + <span + v-else + class="frozenRowClass" + >-</span> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="楠屾敹浜�" + class="hightColor" + > + <span v-if="this.repairOrder != null">{{ this.repairOrder.errUda3 }}</span> + <span + v-else + class="frozenRowClass" + >-</span> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="鏁呴殰鏃堕暱" + class="hightColor" + > + <span v-if="this.repairOrder != null">{{ this.repairOrder.faultHour }}</span> + <span + v-else + class="frozenRowClass" + >-</span> + </a-form-item> + </a-col> + </a-row> + <a-row + :gutter="24" + > + <a-col :span="6"> + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="绛夐噰璐欢寮�濮�" + class="hightColor" + > + <span v-if="this.repairOrder != null">{{ this.repairOrder.repairOrderUda2}}</span> + <span + v-else + class="frozenRowClass" + >-</span> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="绛夐噰璐欢缁撴潫" + class="hightColor" + > + <span v-if="this.repairOrder != null">{{ this.repairOrder.repairOrderUda3 }}</span> + <span + v-else + class="frozenRowClass" + >-</span> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="绱鏃堕棿" + class="hightColor" + > + <span v-if="this.repairOrder != null">{{ this.repairOrder.spareTime }}</span> + <span + v-else + class="frozenRowClass" + >-</span> + </a-form-item> + </a-col> + </a-row> + <a-row + :gutter="24" + > + <a-col :span="6"> + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="绛夊姞宸ヤ欢寮�濮�" + class="hightColor" + > + <span v-if="this.repairOrder != null">{{ this.repairOrder.repairOrderUda4 }}</span> + <span + v-else + class="frozenRowClass" + >-</span> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="绛夊姞宸ヤ欢缁撴潫" + class="hightColor" + > + <span v-if="this.repairOrder != null">{{ this.repairOrder.repairOrderUda5 }}</span> + <span + v-else + class="frozenRowClass" + >-</span> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="绱鏃堕棿" + class="hightColor" + > + <span v-if="this.repairOrder != null">{{ this.repairOrder.partTime }}</span> <span v-else class="frozenRowClass" @@ -224,6 +462,8 @@ </a-col> </a-row> </div> + </a-card> + <a-card :style="getBackground()"> <a-tabs type="card" defaultActiveKey="1" @@ -233,10 +473,6 @@ key="1" class="hightColor" > - <!-- <fault-analysis-edit-table - :repairOrderId="repairOrder.id" - :repairOrderStatus="repairOrder.status" - ></fault-analysis-edit-table> --> <RepairOrderFaultAnalysisList :repairOrderId="repairOrderId" :repairOrder="repairOrder"/> </a-tab-pane> <a-tab-pane @@ -255,16 +491,10 @@ key="2" class="hightColor" > - <!-- <actual-material-edit-table - :repairOrderId="repairOrder.id" - :repairOrderStatus="repairOrder.status" - ></actual-material-edit-table> --> <RepairOrderActualMaterialList :mainId="repairOrder" /> </a-tab-pane> </a-tabs> </a-card> - </template> - </a-card> <div :style="{width: '100%',border: '1px solid #e9e9e9',padding: '10px 16px',background: '#fff',}"> <a-row :style="{textAlign:'right'}"> <a-button @@ -288,6 +518,7 @@ import RepairOrderActualMaterialList from './moudles/RepairOrderActualMaterialReport' import RepairOrderActualWorkHoursList from './moudles/RepairOrderActualHoursReport' import RepairOrderFaultAnalysisList from './moudles/RepairOrderFaultAnalysisReport.vue' +import { getAction } from '../../../../api/manage' export default { name: 'RepairOrderExcuteDrawer', mixins: [JeecgListMixin], @@ -336,7 +567,13 @@ url: { orderStart: "eam/repairOrder/start", orderReport: "eam/repairOrder/report", - orderRevoke: "eam/repairOrder/revoke" + orderRevoke: "eam/repairOrder/revoke", + reload:"/eam/repairOrder/list", + handleSpare:"/eam/repairOrder/handleSpare", + handlePart:"/eam/repairOrder/handlePart", + handleSpareStop:"/eam/repairOrder/handleSpareStop", + handlePartStop:"/eam/repairOrder/handlePartStop", + getInfo:'/eam/repairOrderFaultAnalysis/list', }, } }, @@ -368,17 +605,6 @@ this.visible = false; //this.repairOrder.id = "-1" }, - // handleStart(record) { - // putAction(this.url.orderStart, this.repairOrder).then(res => { - // if (res.result) { - // this.$message.success('寮�宸ユ垚鍔�'); - // this.repairOrder.status = '3' - // this.$emit('loadData'); - // } else { - // this.$message.error('寮�宸ュ嚭鐜板紓甯�') - // } - // }) - // }, //寮�宸� handleStart() { const that = this; @@ -394,6 +620,7 @@ that.$message.success('寮�宸ユ垚鍔�'); that.repairOrder.status = '3' that.$emit('loadData'); + that.reload(); } else { that.$message.error('寮�宸ュ嚭鐜板紓甯�') } @@ -404,20 +631,27 @@ }, }) }, - - // handleReport() { - // putAction(this.url.orderReport, this.repairOrder).then(res => { - // if (res.result) { - // this.$message.success('鎶ュ伐鎴愬姛'); - // this.repairOrder.status = '4' - // this.$emit('loadData'); - // } else { - // this.$message.error('鎶ュ伐鍑虹幇寮傚父') - // } - // }) - // }, - //鎶ュ伐 + handleReportPro(){ + let that = this; + getAction(that.url.getInfo,{repairOrderId:this.repairOrder.id}).then(res=>{ + if(res.success){ + if(res.result.records.length===0){ + that.$message.warning("鏁呴殰鍒嗘瀽灏氭湭濉啓锛岃濉啓鍚庡啀鎶ュ伐") + }else if(res.result.records[0].faultPhenomenon===null||res.result.records[0].faultPhenomenon===undefined||res.result.records[0].faultPhenomenon===''){ + that.$message.warning("鏁呴殰鐜拌薄灏氭湭濉啓锛岃濉啓鍚庡啀鎶ュ伐") + }else if(res.result.records[0].faultCause===null||res.result.records[0].faultCause===undefined||res.result.records[0].faultCause===''){ + that.$message.warning("鏁呴殰妫�鏌ュ皻鏈~鍐欙紝璇峰~鍐欏悗鍐嶆姤宸�") + }else if(res.result.records[0].maintenanceMeasures===null||res.result.records[0].maintenanceMeasures===undefined||res.result.records[0].maintenanceMeasures===''){ + that.$message.warning("鏁呴殰缁翠慨灏氭湭濉啓锛岃濉啓鍚庡啀鎶ュ伐") + }else if(res.result.records[0].suggestion===null||res.result.records[0].suggestion===undefined||res.result.records[0].suggestion===''){ + that.$message.warning("鏁呴殰棰勯槻灏氭湭濉啓锛岃濉啓鍚庡啀鎶ュ伐") + }else{ + that.handleReport(); + } + } + }) + }, handleReport() { const that = this; that.confirmLoading = true; @@ -442,18 +676,6 @@ }, }) }, - // handleRevoke() { - // putAction(this.url.orderRevoke, this.repairOrder).then(res => { - // if (res.result) { - // this.$message.success('鎾ら攢鎴愬姛'); - // this.repairOrder.status = '3' - // this.$emit('loadData'); - // } else { - // this.$message.error('鎾ら攢鍑虹幇寮傚父') - // } - // }) - // }, - //鎾ら攢 handleRevoke() { const that = this; @@ -479,6 +701,109 @@ }, }) }, + handleSpare(){ + const that = this; + that.confirmLoading = true; + this.$confirm({ + title: '绛夐噰璐欢', + content: '鎻愮ず锛氳鎿嶄綔涓嶅彲鎾ら攢锛岀‘璁ゅ紑濮嬬瓑閲囪喘浠�?', + okText: '纭', + cancelText: '鍙栨秷', + onOk() { + putAction(that.url.handleSpare, that.repairOrder).then(res => { + if (res.result) { + that.$message.success('鎿嶄綔鎴愬姛'); + that.reload(); + that.$emit('loadData'); + } else { + that.$message.error('鎿嶄綔鍑虹幇寮傚父') + } + }).finally(() => { + that.confirmLoading = false; + // that.close(); + }) + }, + }) + }, + handleSpareStop(){ + const that = this; + that.confirmLoading = true; + this.$confirm({ + title: '鍋滄绛夐噰璐欢', + content: '鎻愮ず锛氳鎿嶄綔涓嶅彲鎾ら攢锛岀‘璁ゅ仠姝㈢瓑閲囪喘浠�?', + okText: '纭', + cancelText: '鍙栨秷', + onOk() { + putAction(that.url.handleSpareStop, that.repairOrder).then(res => { + if (res.result) { + that.$message.success('鎿嶄綔鎴愬姛'); + that.reload(); + that.$emit('loadData'); + } else { + that.$message.error('鎿嶄綔鍑虹幇寮傚父') + } + }).finally(() => { + that.confirmLoading = false; + // that.close(); + }) + }, + }) + }, + handlePart(){ + const that = this; + that.confirmLoading = true; + this.$confirm({ + title: '绛夐噰璐欢', + content: '鎻愮ず锛氳鎿嶄綔涓嶅彲鎾ら攢锛岀‘璁ょ瓑閲囪喘浠�?', + okText: '纭', + cancelText: '鍙栨秷', + onOk() { + putAction(that.url.handlePart, that.repairOrder).then(res => { + if (res.result) { + that.$message.success('鎿嶄綔鎴愬姛'); + that.reload(); + that.$emit('loadData'); + } else { + that.$message.error('鎿嶄綔鍑虹幇寮傚父') + } + }).finally(() => { + that.confirmLoading = false; + // that.close(); + }) + }, + }) + }, + handlePartStop(){ + const that = this; + that.confirmLoading = true; + this.$confirm({ + title: '鍋滄绛夐噰璐欢', + content: '鎻愮ず锛氳鎿嶄綔涓嶅彲鎾ら攢锛岀‘璁ゅ仠姝㈢瓑閲囪喘浠�?', + okText: '纭', + cancelText: '鍙栨秷', + onOk() { + putAction(that.url.handlePartStop, that.repairOrder).then(res => { + if (res.result) { + that.$message.success('鎿嶄綔鎴愬姛'); + that.reload(); + that.$emit('loadData'); + } else { + that.$message.error('鎿嶄綔鍑虹幇寮傚父') + } + }).finally(() => { + that.confirmLoading = false; + // that.close(); + }) + }, + }) + }, + reload(){ + getAction(this.url.reload,{id:this.repairOrder.id}).then(res=>{ + if( res.result.records.length!==0){ + this.repairOrder = res.result.records[0]; + } + }) + } }, } -- Gitblit v1.9.3