From adae7524c986a758dd61bc5d0c23f6b922e299c7 Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期四, 25 一月 2024 17:06:35 +0800
Subject: [PATCH] 加班管理添加字段
---
src/views/eam/modules/repairorder/repairOrderExcuteDrawer.vue | 1053 ++++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 769 insertions(+), 284 deletions(-)
diff --git a/src/views/eam/modules/repairorder/repairOrderExcuteDrawer.vue b/src/views/eam/modules/repairorder/repairOrderExcuteDrawer.vue
index 6dbccfe..c1a865f 100644
--- a/src/views/eam/modules/repairorder/repairOrderExcuteDrawer.vue
+++ b/src/views/eam/modules/repairorder/repairOrderExcuteDrawer.vue
@@ -4,263 +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 :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"
- >
- <!-- <actual-work-hours-edit-table
- :repairOrderId="repairOrder.id"
- :repairOrderStatus="repairOrder.status"
- ></actual-work-hours-edit-table> -->
- <RepairOrderActualWorkHoursList :mainId="repairOrder"/>
- </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'}">
@@ -278,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() {
@@ -316,24 +573,43 @@
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 // 鏍煎紡鍖栧悗鐨勫凡杩囧幓鏃堕棿
}
},
mounted() {
this.$bus.$on('closeDrawer', (data) => {
- this.visible = false;
+ this.handleCancel()
})
+ this.timer = setInterval(() => {
+ this.updateElapsedTime();
+ }, 1000);
+ },
+ beforeDestroy() {
+ // 鍦ㄧ粍浠堕攢姣佸墠娓呴櫎璁℃椂鍣�
+ clearInterval(this.timer);
},
methods: {
@@ -357,40 +633,250 @@
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;
+ 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('寮�宸ュ嚭鐜板紓甯�')
+ }
+ }).finally(() => {
+ that.confirmLoading = false;
+ // that.close();
+ })
+ },
+ })
+ },
+ //鎶ュ伐
+ 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() {
- 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('鎶ュ伐鍑虹幇寮傚父')
- }
+ const that = this;
+ 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.reload();
+ that.$emit('loadData');
+ } else {
+ that.$message.error(res.message)
+ }
+ }).finally(() => {
+ that.confirmLoading = false;
+ //
+ })
+ },
})
},
+ //鎾ら攢
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('鎾ら攢鍑虹幇寮傚父')
+ const that = this;
+ 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.$emit('loadData');
+ } else {
+ that.$message.error('鎾ら攢鍑虹幇寮傚父')
+ }
+ }).finally(() => {
+ that.confirmLoading = false;
+ // that.close();
+ })
+ },
+ })
+ },
+ 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}绉抈;
+ },
},
}
@@ -399,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