<template>
|
<a-drawer
|
:title="title"
|
:width="drawerWidth"
|
:visible="visible"
|
@close="handleCancel"
|
:confirmLoading="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
|
:style="{marginRight: '8px'}"
|
@click="handleRevoke"
|
: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="状态"
|
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.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-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-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.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.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"
|
>
|
<!-- <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
|
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"
|
>
|
<!-- <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
|
: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 Tooltip from 'ant-design-vue/es/tooltip'
|
import ActualMaterialEditTable from './moudles/ActualMaterialEditTable.vue'
|
import ActualWorkHoursEditTable from './moudles/ActualWorkHoursEditTable.vue'
|
import FaultAnalysisEditTable from './moudles/FaultAnalysisEditTable'
|
import RepairOrderActualMaterialList from './moudles/RepairOrderActualMaterialReport'
|
import RepairOrderActualWorkHoursList from './moudles/RepairOrderActualHoursReport'
|
import RepairOrderFaultAnalysisList from './moudles/RepairOrderFaultAnalysisReport.vue'
|
export default {
|
name: 'RepairOrderExcuteDrawer',
|
mixins: [JeecgListMixin],
|
components: {
|
Tooltip,
|
ActualMaterialEditTable,
|
ActualWorkHoursEditTable,
|
FaultAnalysisEditTable,
|
RepairOrderActualMaterialList,
|
RepairOrderActualWorkHoursList,
|
RepairOrderFaultAnalysisList
|
},
|
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: 6 },
|
},
|
wrapperCol: {
|
xs: { span: 24 },
|
sm: { span: 18 },
|
},
|
url: {
|
orderStart: "eam/repairOrder/start",
|
orderReport: "eam/repairOrder/report",
|
orderRevoke: "eam/repairOrder/revoke"
|
},
|
}
|
},
|
|
mounted() {
|
this.$bus.$on('closeDrawer', (data) => {
|
this.handleCancel()
|
})
|
},
|
|
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(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() {
|
putAction(that.url.orderStart, that.repairOrder).then(res => {
|
if (res.result) {
|
that.$message.success('开工成功');
|
that.repairOrder.status = '3'
|
that.$emit('loadData');
|
} else {
|
that.$message.error('开工出现异常')
|
}
|
}).finally(() => {
|
that.confirmLoading = false;
|
// that.close();
|
})
|
},
|
})
|
},
|
|
// 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('报工出现异常')
|
// }
|
// })
|
// },
|
|
//报工
|
handleReport() {
|
const that = this;
|
that.confirmLoading = true;
|
this.$confirm({
|
title: '维修工单报工',
|
content: '提示:报工后维修完工,请谨慎操作!',
|
okText: '确认',
|
cancelText: '取消',
|
onOk() {
|
putAction(that.url.orderReport, that.repairOrder).then(res => {
|
if (res.result) {
|
that.$message.success('报工成功');
|
that.repairOrder.status = '4'
|
that.$emit('loadData');
|
} else {
|
that.$message.error('报工出现异常')
|
}
|
}).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('撤销出现异常')
|
// }
|
// })
|
// },
|
|
//撤销
|
handleRevoke() {
|
const that = this;
|
that.confirmLoading = true;
|
this.$confirm({
|
title: '完工撤销',
|
content: '提示:完工撤销后可继续报工操作!',
|
okText: '确认',
|
cancelText: '取消',
|
onOk() {
|
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('撤销出现异常')
|
}
|
}).finally(() => {
|
that.confirmLoading = false;
|
// that.close();
|
})
|
},
|
})
|
},
|
},
|
|
}
|
</script>
|
|
<style scoped>
|
@import '~@assets/less/common.less';
|
.hightColor {
|
height: 10%;
|
font-weight: bold;
|
font-size: 20px;
|
color: #1b1e1e;
|
}
|
.frozenRowClass {
|
color: #c9c9c9;
|
}
|
.fontweight {
|
font-weight: bold;
|
}
|
.hight {
|
color: #f5222d;
|
}
|
</style>
|