<template>
|
<a-drawer
|
:title="title"
|
:width="drawerWidth"
|
:visible="visible"
|
@close="handleCancel"
|
:loading="confirmLoading"
|
:maskClosable="maskClosable"
|
>
|
<a-card :style="getBackground()">
|
<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-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"
|
>{{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"
|
>-</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.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="责任班组"
|
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-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"
|
>{{ 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"
|
>{{ 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"
|
>{{ 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'}">
|
<a-button
|
:style="{marginRight: '8px'}"
|
@click="handleCancel"
|
>
|
关闭
|
</a-button>
|
</a-row>
|
</div>
|
</a-drawer>
|
</template>
|
|
<script>
|
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
|
import { putAction } from '@/api/manage'
|
import dayjs from 'dayjs'
|
import Tooltip from 'ant-design-vue/es/tooltip'
|
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,
|
RepairOrderActualMaterialList,
|
RepairOrderActualWorkHoursList,
|
RepairOrderFaultAnalysisList,
|
dayjs
|
},
|
props: {
|
repairOrder: {
|
type: Object,
|
required: false,
|
default: {}
|
},
|
repairOrderId: {
|
type: String,
|
default:'',
|
},
|
status:{
|
type: String,
|
default:'',
|
}
|
},
|
data() {
|
return {
|
pageSize: 1,
|
total: 10,
|
title: "设备结构",
|
visible: false,
|
maskClosable: true,
|
confirmLoading: false,
|
drawerWidth: "100%",
|
dataSource: [],
|
labelCol: {
|
xs: { span: 24 },
|
sm: { span: 7 },
|
},
|
wrapperCol: {
|
xs: { span: 24 },
|
sm: { span: 17},
|
},
|
url: {
|
orderStart: "eam/repairOrder/start",
|
orderReport: "eam/repairOrder/report",
|
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.handleCancel()
|
// })
|
this.timer = setInterval(() => {
|
this.updateElapsedTime();
|
}, 1000);
|
},
|
beforeDestroy() {
|
// 在组件销毁前清除计时器
|
clearInterval(this.timer);
|
},
|
|
methods: {
|
modalFormOk() {
|
this.getEquipmentTotal()
|
//清空列表选中
|
this.onClearSelected()
|
},
|
loadData() {
|
|
},
|
getBackground() {
|
return "background-color:rgba(127, 127, 127,0.08)";
|
},
|
handleCancel() {
|
this.$emit('ok');
|
this.alterFlag = new Date();
|
this.close()
|
},
|
close() {
|
this.visible = false;
|
//this.repairOrder.id = "-1"
|
},
|
//开工
|
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() {
|
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() {
|
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}秒`;
|
},
|
},
|
|
}
|
</script>
|
|
<style scoped>
|
@import '~@assets/less/common.less';
|
.hightColor {
|
height: 2%;
|
font-size: 15px;
|
color: #1b1e1e;
|
}
|
.frozenRowClass {
|
color: #c9c9c9;
|
}
|
.fontweight {
|
font-weight: bold;
|
}
|
.hight {
|
color: #f5222d;
|
}
|
</style>
|