From 585fb0bbd4a7bc7f8f333ecba7c5fecd2ee5cbc2 Mon Sep 17 00:00:00 2001 From: qushaowei <qushaowei@163.com> Date: 星期四, 28 三月 2024 09:46:44 +0800 Subject: [PATCH] Merge branch 'master' of http://117.34.109.166:18448/r/vue_mdc_430 into develop --- src/views/eam/modules/repairorder/repairOrderExcuteDrawer.vue | 1013 +++++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 709 insertions(+), 304 deletions(-) diff --git a/src/views/eam/modules/repairorder/repairOrderExcuteDrawer.vue b/src/views/eam/modules/repairorder/repairOrderExcuteDrawer.vue index 9a89f7c..c1a865f 100644 --- a/src/views/eam/modules/repairorder/repairOrderExcuteDrawer.vue +++ b/src/views/eam/modules/repairorder/repairOrderExcuteDrawer.vue @@ -4,266 +4,515 @@ :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" - :disabled="repairOrder.status!='2'" - type="primary" - >寮�宸�</a-button> - <a-button - :style="{marginRight: '8px'}" - @click="handleReport" - :disabled="repairOrder.status!='3'" - type="primary" - >鎶ュ伐</a-button> - <a-button + <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="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> - </a-row> - </div> - <div :style="{width: '100%',border: '1px solid #e9e9e9',padding: '10px 16px',background: '#fff',}"> - <a-row :gutter="24"> - <a-col :span="6"> - <a-form-item - :labelCol="labelCol" - :wrapperCol="wrapperCol" - label="鐘舵��" + >鎾ら攢</a-button> --> + </a-row> + </div> + <div :style="{width: '100%',border: '1px solid #e9e9e9',padding: '10px 16px',background: '#fff',}"> + <a-form labelAlign="left"> + <a-divider + orientation="center" + style="font-size: large;font-style: italic;color: #66aeed;" + > 鍩虹淇℃伅 </a-divider> + <a-row :gutter="24"> + <a-col :span="6"> + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="鐘舵��" + class="hightColor" + > + <span + v-if="this.repairOrder != null" class="hightColor" - > - <span - 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="缁翠慨宸ュ崟鍙�" + >{{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" - > - <span - v-if="this.repairOrder != null" - class="hightColor" - >{{ this.repairOrder.num }}</span> - <span - v-else - class="frozenRowClass" - >-</span> - </a-form-item> - </a-col> - <a-col :span="6"> - <a-form-item - :labelCol="labelCol" - :wrapperCol="wrapperCol" - label="璐d换鐝粍" + >{{this.repairOrder.repairOrderUda1_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" - > - <span - v-if="this.repairOrder != null" - class="hightColor" - >{{ this.repairOrder.teamId_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="璁惧缂栫爜" + >{{ this.repairOrder.num }}</span> + <span + v-else + class="frozenRowClass" + >-</span> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="璐d换鐝粍" + class="hightColor" + > + <span + v-if="this.repairOrder != null" class="hightColor" - > - <span - v-if="this.repairOrder != null" - class="hightColor" - >{{ this.repairOrder.equipmentNum }}</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="璁惧鍚嶇О" + >{{ this.repairOrder.teamId_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" class="hightColor" - > - <span - v-if="this.repairOrder != null" - class="hightColor" - >{{ this.repairOrder.equipmentName}}</span> - <span - v-else - class="frozenRowClass" - >-</span> - </a-form-item> - </a-col> - <a-col :span="6"> - <a-form-item - :labelCol="labelCol" - :wrapperCol="wrapperCol" - label="璁惧鍨嬪彿" + >{{ this.repairOrder.equipmentNum }}</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" - > - <span v-if="this.repairOrder != null">{{ this.repairOrder.equipmentModel }}</span> - <span - v-else - class="frozenRowClass" - >-</span> - </a-form-item> - </a-col> - <a-col :span="6"> - <a-form-item - :labelCol="labelCol" - :wrapperCol="wrapperCol" - label="宸ユ椂瀹氶" + >{{ this.repairOrder.equipmentName}}</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.equipmentModel }}</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" - > - <span - v-if="this.repairOrder != null" - class="hightColor" - >{{ this.repairOrder.workingHourQuota }}</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.recipientUserId_dictText}}</span> - <span - v-else - class="frozenRowClass" - >-</span> - </a-form-item> - </a-col> - </a-row> - <a-row - hidden - :gutter="24" - > - <a-col :span="6"> - <a-form-item - :labelCol="labelCol" - :wrapperCol="wrapperCol" - label="寮�濮嬫椂闂�" - class="hightColor" - > - <span v-if="this.repairOrder != null">{{ this.repairOrder.actualStartTime }}</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.createBy}}</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.createTime}}</span> - <span - v-else - class="frozenRowClass" - >-</span> - </a-form-item> - </a-col> - </a-row> - </div> - <a-tabs - type="card" - defaultActiveKey="1" - > - <a-tab-pane - tab='瀹為檯鐢ㄦ枡' - key="1" - class="hightColor" - > - <!-- <actual-material-edit-table - :repairOrderId="repairOrder.id" - :repairOrderStatus="repairOrder.status" - ></actual-material-edit-table> --> - <RepairOrderActualMaterialList :mainId="repairOrder" /> - </a-tab-pane> - <a-tab-pane - tab='瀹為檯宸ユ椂' - key="2" - class="hightColor" - > - <RepairOrderActualWorkHoursList - :repairOrderId="repairOrder.id" - :repairOrderStatus="repairOrder.status" - :teamId="repairOrder.teamId" - /> - </a-tab-pane> - <a-tab-pane - tab='鏁呴殰鍒嗘瀽' - key="3" - class="hightColor" - > - <!-- <fault-analysis-edit-table - :repairOrderId="repairOrder.id" - :repairOrderStatus="repairOrder.status" - ></fault-analysis-edit-table> --> - <RepairOrderFaultAnalysisList :mainId="repairOrder" /> - </a-tab-pane> - </a-tabs> - </a-card> - </template> + >{{ this.repairOrder.specificEquipment_dictText}}</span> + <span + v-else + class="frozenRowClass" + >-</span> + </a-form-item> + </a-col> + </a-row> + <a-divider + orientation="center" + style="font-size: large;font-style: italic;color: #66aeed;" + > 鎶ヤ慨棰嗗彇淇℃伅 </a-divider> + <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" + >-</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.errUda2 }}</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.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" + >-</span> + </a-form-item> + </a-col> + </a-row> + <a-divider + orientation="center" + style="font-size: large;font-style: italic;color: #66aeed;" + > 缁翠慨淇℃伅 </a-divider> + <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.actualStartTime}}</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.actualEndTime }}</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.formattedElapsedTime}}</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.recipientUserId}}</span> + <span + v-else + class="frozenRowClass" + >-</span> + </a-form-item> + </a-col> + </a-row> + <a-divider + orientation="center" + style="font-size: large;font-style: italic;color: #66aeed;" + > 绛夐噰璐欢 </a-divider> + <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.time1 }}</span> + <span + v-else + class="frozenRowClass" + >-</span> + </a-form-item> + </a-col> + </a-row> + <a-divider + orientation="center" + style="font-size: large;font-style: italic;color: #66aeed;" + > 绛夊姞宸ヤ欢 </a-divider> + <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.time2 }}</span> + <span + v-else + class="frozenRowClass" + >-</span> + </a-form-item> + </a-col> + </a-row> + <a-divider + orientation="center" + style="font-size: large;font-style: italic;color: #66aeed;" + > 楠屾敹淇℃伅 </a-divider> + <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.time3 }}</span> + <span + v-else + class="frozenRowClass" + >-</span> + </a-form-item> + </a-col> + </a-row> + </a-form> + </div> + </a-card> + <a-card :style="getBackground()"> + <a-tabs + type="card" + defaultActiveKey="1" + > + <a-tab-pane + tab='鏁呴殰鍒嗘瀽' + key="1" + class="hightColor" + > + <RepairOrderFaultAnalysisList :repairOrder="repairOrder" /> + </a-tab-pane> + <a-tab-pane + tab='瀹為檯宸ユ椂' + key="3" + class="hightColor" + > + <RepairOrderActualWorkHoursList + :repairOrderId="repairOrder.id" + :repairOrderStatus="repairOrder.status" + :teamId="repairOrder.teamId" + /> + </a-tab-pane> + <a-tab-pane + tab='瀹為檯鐢ㄦ枡' + key="2" + class="hightColor" + > + <RepairOrderActualMaterialList :mainId="repairOrder" /> + </a-tab-pane> + </a-tabs> </a-card> <div :style="{width: '100%',border: '1px solid #e9e9e9',padding: '10px 16px',background: '#fff',}"> <a-row :style="{textAlign:'right'}"> @@ -281,30 +530,35 @@ <script> import { JeecgListMixin } from '@/mixins/JeecgListMixin' import { putAction } from '@/api/manage' +import dayjs from 'dayjs' import Tooltip from 'ant-design-vue/es/tooltip' -import ActualMaterialEditTable from './moudles/ActualMaterialEditTable.vue' -import ActualWorkHoursEditTable from './moudles/ActualWorkHoursEditTable.vue' -import FaultAnalysisEditTable from './moudles/FaultAnalysisEditTable.vue' -import RepairOrderActualMaterialList from './moudles/RepairOrderActualMaterialReport.vue' -import RepairOrderActualWorkHoursList from './moudles/RepairOrderActualHoursReport.vue' -import RepairOrderFaultAnalysisList from './moudles/RepairOrderFaultAnalysisReport.vue' +import RepairOrderActualMaterialList from './moudles/RepairOrderActualMaterialReport' +import RepairOrderActualWorkHoursList from './moudles/RepairOrderActualHoursReport' +import RepairOrderFaultAnalysisList from './moudles/RepairOrderFaultAnalysisReport' +import { getAction } from '../../../../api/manage' export default { name: 'RepairOrderExcuteDrawer', mixins: [JeecgListMixin], components: { Tooltip, - ActualMaterialEditTable, - ActualWorkHoursEditTable, - FaultAnalysisEditTable, RepairOrderActualMaterialList, RepairOrderActualWorkHoursList, - RepairOrderFaultAnalysisList + RepairOrderFaultAnalysisList, + dayjs }, props: { repairOrder: { type: Object, required: false, default: {} + }, + repairOrderId: { + type: String, + default: '', + }, + status: { + type: String, + default: '', } }, data() { @@ -319,17 +573,29 @@ dataSource: [], labelCol: { xs: { span: 24 }, - sm: { span: 6 }, + sm: { span: 7 }, }, wrapperCol: { xs: { span: 24 }, - sm: { span: 18 }, + sm: { span: 17 }, }, 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', }, + elapsedTime: 0, // 璁板綍宸茶繃鍘荤殑鏃堕棿锛堝崟浣嶏細姣锛� + formattedElapsedTime: '0绉�', + time1: '0绉�', + time2: '0绉�', + time3: '0绉�', + timer: null // 鏍煎紡鍖栧悗鐨勫凡杩囧幓鏃堕棿 } }, @@ -337,6 +603,13 @@ this.$bus.$on('closeDrawer', (data) => { this.handleCancel() }) + this.timer = setInterval(() => { + this.updateElapsedTime(); + }, 1000); + }, + beforeDestroy() { + // 鍦ㄧ粍浠堕攢姣佸墠娓呴櫎璁℃椂鍣� + clearInterval(this.timer); }, methods: { @@ -360,32 +633,22 @@ 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; - that.confirmLoading = true; this.$confirm({ title: '缁翠慨宸ュ崟寮�宸�', content: '鎻愮ず锛氬紑宸ュ悗鏃犳硶鎾ゅ洖锛岃璋ㄦ厧鎿嶄綔锛�', okText: '纭', cancelText: '鍙栨秷', onOk() { + that.confirmLoading = true; putAction(that.url.orderStart, that.repairOrder).then(res => { if (res.result) { that.$message.success('寮�宸ユ垚鍔�'); that.repairOrder.status = '3' that.$emit('loadData'); + that.reload(); } else { that.$message.error('寮�宸ュ嚭鐜板紓甯�') } @@ -396,36 +659,44 @@ }, }) }, - - // 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].repairOrderFaultAnalysisUda1 === null || res.result.records[0].repairOrderFaultAnalysisUda1 === undefined || res.result.records[0].repairOrderFaultAnalysisUda1 === '') { + 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; this.$confirm({ title: '缁翠慨宸ュ崟鎶ュ伐', content: '鎻愮ず锛氭姤宸ュ悗缁翠慨瀹屽伐锛岃璋ㄦ厧鎿嶄綔锛�', okText: '纭', cancelText: '鍙栨秷', onOk() { + that.confirmLoading = true; putAction(that.url.orderReport, that.repairOrder).then(res => { if (res.result) { that.$message.success('鎶ュ伐鎴愬姛'); - that.repairOrder.status = '4' + that.reload(); that.$emit('loadData'); } else { - that.$message.error('鎶ュ伐鍑虹幇寮傚父') + that.$message.error(res.message) } }).finally(() => { that.confirmLoading = false; @@ -434,32 +705,19 @@ }, }) }, - // 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; - that.confirmLoading = true; this.$confirm({ title: '瀹屽伐鎾ら攢', content: '鎻愮ず锛氬畬宸ユ挙閿�鍚庡彲缁х画鎶ュ伐鎿嶄綔锛�', okText: '纭', cancelText: '鍙栨秷', onOk() { + that.confirmLoading = true; putAction(that.url.orderRevoke, that.repairOrder).then(res => { if (res.result) { that.$message.success('鎾ら攢鎴愬姛'); - that.repairOrder.status = '3' that.$emit('loadData'); } else { that.$message.error('鎾ら攢鍑虹幇寮傚父') @@ -471,6 +729,154 @@ }, }) }, + handleSpare() { + const that = this; + this.$confirm({ + title: '绛夐噰璐欢', + content: '鎻愮ず锛氳鎿嶄綔涓嶅彲鎾ら攢锛岀‘璁ゅ紑濮嬬瓑閲囪喘浠�?', + okText: '纭', + cancelText: '鍙栨秷', + onOk() { + that.confirmLoading = true; + 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; + this.$confirm({ + title: '鍋滄绛夐噰璐欢', + content: '鎻愮ず锛氳鎿嶄綔涓嶅彲鎾ら攢锛岀‘璁ゅ仠姝㈢瓑閲囪喘浠�?', + okText: '纭', + cancelText: '鍙栨秷', + onOk() { + that.confirmLoading = true; + 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; + this.$confirm({ + title: '绛夐噰璐欢', + content: '鎻愮ず锛氳鎿嶄綔涓嶅彲鎾ら攢锛岀‘璁ょ瓑閲囪喘浠�?', + okText: '纭', + cancelText: '鍙栨秷', + onOk() { + that.confirmLoading = true; + 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; + this.$confirm({ + title: '鍋滄绛夐噰璐欢', + content: '鎻愮ず锛氳鎿嶄綔涓嶅彲鎾ら攢锛岀‘璁ゅ仠姝㈢瓑閲囪喘浠�?', + okText: '纭', + cancelText: '鍙栨秷', + onOk() { + that.confirmLoading = true; + 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]; + } + }) + }, + updateElapsedTime() { + const stardand = new Date(); + if (this.repairOrder.actualEndTime !== null && this.repairOrder.actualEndTime !== undefined && this.repairOrder.actualEndTime !== '') { + this.formattedElapsedTime = this.repairOrder.actualHour + '鏃�'; + } else if (this.repairOrder.actualStartTime !== null && this.repairOrder.actualStartTime !== undefined && this.repairOrder.actualStartTime !== '') { + const startDateTime = dayjs(this.repairOrder.actualStartTime, { format: 'YYYY-MM-DD HH:mm:ss' }); + this.elapsedTime = stardand - startDateTime; + this.formattedElapsedTime = this.formatTime(this.elapsedTime); + } else { + this.formattedElapsedTime = "寮�宸ュ悗璁$畻鏃堕暱"; + } + if (this.repairOrder.repairOrderUda3 !== null && this.repairOrder.repairOrderUda3 !== undefined && this.repairOrder.repairOrderUda3 !== '') { + this.time1 = this.repairOrder.spareTime + '鏃�'; + } else if (this.repairOrder.repairOrderUda2 !== null && this.repairOrder.repairOrderUda2 !== undefined && this.repairOrder.repairOrderUda2 !== '') { + const startDateTime1 = dayjs(this.repairOrder.repairOrderUda2, { format: 'YYYY-MM-DD HH:mm:ss' }); + this.time1 = this.formatTime(stardand - startDateTime1); + } else { + this.time1 = "绛夐噰璐欢鍚庤绠楁椂闀�" + } + if (this.repairOrder.repairOrderUda5 !== null && this.repairOrder.repairOrderUda5 !== undefined && this.repairOrder.repairOrderUda5 !== '') { + this.time2 = this.repairOrder.partTime + '鏃�'; + } else if (this.repairOrder.repairOrderUda4 !== null && this.repairOrder.repairOrderUda4 !== undefined && this.repairOrder.repairOrderUda4 !== '') { + const startDateTime2 = dayjs(this.repairOrder.repairOrderUda4, { format: 'YYYY-MM-DD HH:mm:ss' }); + this.time2 = this.formatTime(stardand - startDateTime2); + } else { + this.time2 = "绛夊姞宸ヤ欢鍚庤绠楁椂闀�" + } + if (this.repairOrder.acceptTime !== null && this.repairOrder.acceptTime !== undefined && this.repairOrder.acceptTime !== '') { + this.time3 = this.repairOrder.faultHour + '鏃�'; + } else if (this.repairOrder.faultTime !== null && this.repairOrder.faultTime !== undefined && this.repairOrder.faultTime !== '') { + const startDateTime3 = dayjs(this.repairOrder.faultTime, { format: 'YYYY-MM-DD HH:mm:ss' }); + this.time3 = this.formatTime(stardand - startDateTime3); + } else { + this.time3 = "楠屾敹鍚庤绠楁椂闀�" + } + }, + formatTime(timeInMilliseconds) { + // 灏嗘绉掕浆鎹负鏇村弸濂界殑鏍煎紡锛堜緥濡傦細x灏忔椂x鍒嗛挓x绉掞級 + // 杩欓噷鍙槸涓�涓畝鍗曠殑瀹炵幇锛屼綘鍙兘闇�瑕佹牴鎹渶姹傝繘琛屾洿鏀� + const seconds = Math.floor(timeInMilliseconds / 1000); + const minutes = Math.floor(seconds / 60); + const hours = Math.floor(minutes / 60); + + return `${hours}鏃� ${minutes % 60}鍒� ${seconds % 60}绉抈; + }, }, } @@ -479,9 +885,8 @@ <style scoped> @import '~@assets/less/common.less'; .hightColor { - height: 10%; - font-weight: bold; - font-size: 20px; + height: 2%; + font-size: 15px; color: #1b1e1e; } .frozenRowClass { -- Gitblit v1.9.3