<template>
|
<a-card
|
title="预测性维护方案"
|
:bordered='false'
|
>
|
<div class='table-page-search-wrapper'>
|
<a-form
|
layout='inline'
|
@keyup.enter.native='searchQuery'
|
>
|
<a-row :gutter='24'>
|
<a-col
|
:xl='6'
|
:lg='7'
|
:md='8'
|
:sm='24'
|
>
|
<a-form-item label='方案编码'>
|
<a-input
|
placeholder='请输入方案编码'
|
v-model='queryParam.planNum'
|
></a-input>
|
</a-form-item>
|
</a-col>
|
<a-col
|
:xl='6'
|
:lg='7'
|
:md='8'
|
:sm='24'
|
>
|
<a-form-item label='设备名称'>
|
<a-input
|
placeholder='请输入设备名称'
|
v-model='queryParam.deviceName'
|
></a-input>
|
</a-form-item>
|
</a-col>
|
<a-col
|
:md="10"
|
:sm="8"
|
>
|
<a-form-item label="版本状态">
|
<a-radio-group
|
v-model="queryParam.status"
|
@change="onChange"
|
default-value="2"
|
>
|
<a-radio-button value="1">
|
未生效
|
</a-radio-button>
|
<a-radio-button value="2">
|
已生效
|
</a-radio-button>
|
<a-radio-button value="3">
|
已失效
|
</a-radio-button>
|
</a-radio-group>
|
</a-form-item>
|
</a-col>
|
</a-row>
|
</a-form>
|
</div>
|
|
<div class="table-operator">
|
<a-button
|
@click='handleAdd'
|
type='primary'
|
icon='plus'
|
v-has="'predictiveWorkPlan:add&edit&delete'"
|
>新增
|
</a-button>
|
<a-button
|
type='primary'
|
@click='searchQuery'
|
icon='search'
|
>查询
|
</a-button>
|
<a-button
|
type='primary'
|
@click='searchReset'
|
icon='reload'
|
style='margin-left: 8px'
|
>重置
|
</a-button>
|
</div>
|
|
<!-- table区域-begin -->
|
<div>
|
<div
|
class='ant-alert ant-alert-info'
|
style='margin-bottom: 16px;'
|
>
|
<i class='anticon anticon-info-circle ant-alert-icon'></i> 已选择 <a style='font-weight: 600'>{{
|
selectedRowKeys.length }}</a>项
|
<a
|
style='margin-left: 24px'
|
@click='onClearSelected'
|
>清空</a>
|
</div>
|
|
<a-table
|
ref='table'
|
size='middle'
|
bordered
|
rowKey='id'
|
:scroll="{ x: 'calc(1400px + 50%)', y: 900 }"
|
:columns='columns'
|
:dataSource='dataSource'
|
:pagination='ipagination'
|
:loading='loading'
|
:rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type:'radio' }"
|
:customRow='clickThenSelect'
|
@change='handleTableChange'
|
>
|
<span
|
slot="action"
|
slot-scope="text, record"
|
>
|
<a
|
v-if="record.status == '2'"
|
@click="handleRevise(record)"
|
v-has="'predictiveWorkplan:update&take'"
|
>升版</a>
|
<a
|
v-if="record.status == '1'"
|
@click="handleTakeEffect(record)"
|
v-has="'predictiveWorkplan:update&take'"
|
>生效</a>
|
<a-divider type="vertical"/>
|
<a
|
v-if="record.status == '1'"
|
@click="handleEdit(record)"
|
v-has="'predictiveWorkPlan:add&edit&delete'"
|
>编辑</a>
|
<a-divider type="vertical"/>
|
<a-popconfirm
|
v-if="record.status == '1'"
|
title="确定删除吗?"
|
@confirm="() => handleDelete(record.id)"
|
v-has="'predictiveWorkPlan:add&edit&delete'"
|
>
|
<a>删除</a>
|
</a-popconfirm>
|
</span>
|
|
</a-table>
|
<a-tabs
|
type="card"
|
defaultActiveKey="1"
|
>
|
<a-tab-pane
|
tab='触发条件'
|
key="1" forceRender
|
>
|
<div
|
class="table-operator"
|
style="margin:-16px"
|
>
|
<predictive-spare-parts :planId='planId' :isEdit="isEdit" :isAdd="isAdd" :isDel="isDel" v-show="selectionRows.length==1&&selectionRows[0].monitor_type == 'smkz'"/>
|
<!-- v-if="selectionRows[0].monitorType == 'smkz'"-->
|
<predictive-parameters :planId='planId' :equipmentId='equipmentId' :isEdit="isEdit" :isAdd="isAdd"
|
v-show="selectionRows.length==1&&selectionRows[0].monitor_type == 'cskz'"
|
:isDel="isDel"/>
|
<!-- v-if="selectionRows[0].monitorType == 'cskz'" -->
|
<predictive-warn :planId='planId' :equipmentId='equipmentId' :isEdit="isEdit" :isAdd="isAdd"
|
v-show="selectionRows.length==1&&selectionRows[0].monitor_type == 'bjkz'"
|
:isDel="isDel"/>
|
<!-- v-if="selectionRows[0].monitorType == 'bjkz'"-->
|
</div>
|
</a-tab-pane>
|
|
<a-tab-pane
|
tab='维护内容'
|
key="2" forceRender
|
>
|
<div
|
class="table-operator"
|
style="margin:-16px"
|
>
|
<repair-order-detail-list :mainId='planId' :isEdit="isEdit" :isAdd="isAdd" :isDel="isDel"/>
|
</div>
|
</a-tab-pane>
|
<a-tab-pane
|
tab='计划用料'
|
key="3" forceRender
|
>
|
<div
|
class="table-operator"
|
style="margin:-16px"
|
>
|
<maintenance-standard-planning-material :maintenanceStandardId='planId' :isEdit="isEdit" :isAdd="isAdd"
|
:isDel="isDel"/>
|
</div>
|
</a-tab-pane>
|
<a-tab-pane
|
tab='危险防控'
|
key="4" forceRender
|
>
|
<div
|
class="table-operator"
|
style="margin:-16px"
|
>
|
<maintenance-standard-safety-requirement :maintenanceStandardId='planId' :isEdit="isEdit" :isAdd="isAdd"
|
:isDel="isDel"/>
|
</div>
|
</a-tab-pane>
|
|
<a-tab-pane
|
tab='作业指导书'
|
key="5" forceRender
|
>
|
<div
|
class="table-operator"
|
style="margin:-16px"
|
>
|
<maintenance-standard-work-instruction :maintenanceStandardId='planId' :isEdit="isEdit" :isAdd="isAdd"
|
:isDel="isDel"/>
|
</div>
|
</a-tab-pane>
|
|
</a-tabs>
|
</div>
|
|
<predictive-work-plan-modal
|
ref='modalForm'
|
@ok='modalFormOk'
|
></predictive-work-plan-modal>
|
</a-card>
|
</template>
|
|
<script>
|
|
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
|
|
import { requestPut,deleteAction } from '@/api/manage'
|
|
import DailyMaintenanceStandardDetail from './modules/dailyMaintenanceStandard/DailyMaintenanceStandardDetail'
|
//计划用料
|
import MaintenanceStandardPlanningMaterial from '@/views/eam/common/MaintenanceStandardPlanningMaterial'
|
//危险防控
|
import MaintenanceStandardSafetyRequirement from '@/views/eam/common/MaintenanceStandardSafetyRequirement'
|
//新增编辑
|
import PredictiveWorkPlanModal from './modules/predictiveWorkPlan/PredictiveWorkPlanModal'
|
//参数
|
import PredictiveParameters from './modules/predictiveWorkPlan/PredictiveParameters'
|
//报警
|
import PredictiveWarn from './modules/predictiveWorkPlan/PredictiveWarn'
|
//备件
|
import PredictiveSpareParts from './modules/predictiveWorkPlan/PredictiveSpareParts'
|
//作业指导书
|
import MaintenanceStandardWorkInstruction from '@/views/eam/common/MaintenanceStandardWorkInstruction'
|
//维护内容
|
import RepairOrderDetailList from '@/views/eam/common/RepairOrderDetailList'
|
import '@/assets/less/TableExpand.less'
|
|
export default {
|
name: 'PredictiveWorkPlanList',
|
mixins: [JeecgListMixin],
|
components: {
|
DailyMaintenanceStandardDetail,
|
PredictiveWorkPlanModal,
|
MaintenanceStandardPlanningMaterial,
|
MaintenanceStandardSafetyRequirement,
|
MaintenanceStandardWorkInstruction,
|
PredictiveSpareParts,
|
PredictiveParameters,
|
PredictiveWarn,
|
RepairOrderDetailList
|
},
|
data() {
|
return {
|
equipmentId: '',
|
columns: [
|
{
|
title: '#',
|
dataIndex: '',
|
key: 'rowIndex',
|
width: 60,
|
align: 'center',
|
customRender: function(t, r, index) {
|
return parseInt(index) + 1
|
}
|
},
|
{
|
title: '版本状态',
|
align: 'center',
|
dataIndex: 'statusName'
|
},
|
// {
|
// title: '审批状态',
|
// align: 'center',
|
// dataIndex: 'versionStatusName'
|
// },
|
{
|
title: '版本',
|
align: 'center',
|
dataIndex: 'planVersion'
|
},
|
|
{
|
title: '方案编码',
|
align: 'center',
|
dataIndex: 'num'
|
},
|
{
|
title: '方案名称',
|
align: 'center',
|
dataIndex: 'name'
|
},
|
{
|
title: '监控类型',
|
align: 'center',
|
dataIndex: 'monitorTypeName'
|
},
|
{
|
title: '设备编码',
|
align: 'center',
|
dataIndex: 'deviceNum'
|
},
|
{
|
title: '设备名称',
|
align: 'center',
|
dataIndex: 'deviceName'
|
},
|
{
|
title: '设备型号',
|
align: 'center',
|
dataIndex: 'deviceModel'
|
},
|
{
|
title: '维保方式',
|
align: 'center',
|
dataIndex: 'maintenanceMethodName'
|
},
|
{
|
title: '派工方式',
|
align: 'center',
|
dataIndex: 'assignModeName'
|
},
|
{
|
title: '责任班组',
|
align: 'center',
|
dataIndex: 'teamName'
|
},
|
{
|
title: '创建人',
|
align: 'center',
|
dataIndex: 'createBy'
|
},
|
{
|
title: '创建日期',
|
align: 'center',
|
dataIndex: 'createTime'
|
},
|
// {
|
// title: '更新人',
|
// align: 'center',
|
// dataIndex: 'updateBy',
|
// },
|
// {
|
// title: '更新日期',
|
// align: 'center',
|
// dataIndex: 'updateTime',
|
// },
|
{
|
title: '操作',
|
dataIndex: 'action',
|
align: 'center',
|
fixed: 'right',
|
scopedSlots: { customRender: 'action' },
|
width: 200
|
}
|
],
|
monitorType: '',
|
planId: '',
|
isEdit: false,
|
isAdd: false,
|
isDel: false,
|
url: {
|
list: '/eam/predictiveworkplan/pagePredictiveWorkPlan',
|
delete: '/eam/predictiveworkplan/delete',
|
versionTakeEffect: '/eam/predictiveworkplan/versionTakeEffect'
|
}
|
}
|
},
|
methods: {
|
clickThenSelect(record) {
|
return {
|
on: {
|
click: () => {
|
this.onSelectChange(record.id.split(','), [record])
|
}
|
}
|
}
|
},
|
onClearSelected() {
|
this.selectedRowKeys = []
|
this.selectionRows = []
|
this.planId = ''
|
this.equipmentId = ''
|
this.isAdd = falses
|
|
},
|
handleDelete: function(id) {
|
if (!this.url.delete) {
|
this.$message.error('请设置url.delete属性!')
|
return
|
}
|
var that = this
|
deleteAction(that.url.delete, { id: id }).then((res) => {
|
if (res.success) {
|
//重新计算分页问题
|
that.reCalculatePage(1)
|
that.$message.success(res.message)
|
that.loadData()
|
that.onClearSelected()
|
} else {
|
that.$message.warning(res.message)
|
}
|
})
|
},
|
onSelectChange(selectedRowKeys, selectionRows) {
|
this.selectedRowKeys = selectedRowKeys
|
this.selectionRows = selectionRows
|
this.planId = this.selectedRowKeys[0]
|
this.equipmentId = selectionRows[0].equipment_id
|
this.isAdd = selectionRows[0].status=='1';
|
this.isDel = selectionRows[0].status=='1';
|
this.isEdit = selectionRows[0].status=='1';
|
|
},
|
|
onChange(e) {
|
this.queryParam.status = e.target.value
|
this.loadData()
|
},
|
|
handleEdit: function(record) {
|
this.$refs.modalForm.edit(record)
|
this.$refs.modalForm.title = '编辑'
|
this.$refs.modalForm.disableSubmit = false
|
this.$refs.modalForm.isRevise = false
|
},
|
// handleAdd: function() {
|
// this.$refs.modalForm.add()
|
// this.$refs.modalForm.title = '新增'
|
// this.$refs.modalForm.disableSubmit = false
|
// this.$refs.modalForm.isRevise = false
|
// },
|
|
//升版
|
handleRevise: function(record) {
|
this.$refs.modalForm.edit(record)
|
this.$refs.modalForm.title = '升级'
|
this.$refs.modalForm.disableSubmit = false
|
this.$refs.modalForm.isRevise = true
|
},
|
|
//生效
|
handleTakeEffect(record) {
|
const that = this
|
that.confirmLoading = true
|
this.$confirm({
|
title: '版本生效!',
|
content: '提示:版本生效后上一版本将自动失效,请谨慎操作!',
|
okText: '确认',
|
cancelText: '取消',
|
onOk() {
|
requestPut(that.url.versionTakeEffect, {
|
id: record.id,
|
num: record.num,
|
status: '2'
|
}).then((res) => {
|
if (res.success) {
|
that.$message.success('版本生效成功!')
|
that.loadData(1)
|
} else {
|
that.$message.warning('版本生效失败!')
|
}
|
}).finally(() => {
|
that.confirmLoading = false
|
})
|
}
|
})
|
},
|
}
|
}
|
</script>
|
<style scoped>
|
@import '~@assets/less/common.less';
|
|
.table-operator .ant-btn {
|
margin: 10px 8px 8px 10px;
|
}
|
</style>
|