<template>
|
<div class="page-container">
|
<!-- 查询区域 -->
|
<div>
|
<div class="table-page-search-wrapper">
|
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
<a-row :gutter="24">
|
<a-col :md="4" :sm="4">
|
<a-form-item label="停机日期">
|
<a-date-picker placeholder="请选择停机日期" value-format="YYYY-MM-DD" style="width: 100%"
|
v-model="queryParam.theDate" :allow-clear="false"/>
|
</a-form-item>
|
</a-col>
|
|
<a-col :md="4" :sm="4" :xs="4">
|
<a-space>
|
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
|
<a-button @click="searchReset" icon="reload">重置</a-button>
|
</a-space>
|
</a-col>
|
</a-row>
|
</a-form>
|
</div>
|
</div>
|
|
<!-- 操作按钮区域 -->
|
<div class="table-operator">
|
<a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
|
</div>
|
|
<div style="overflow: hidden;width: 100%;flex: 1" id="DeviceList">
|
<a-table ref="table" bordered :scroll="{x:'max-content',y:scrollY}"
|
size="middle" rowKey="id" :columns="columns"
|
@change="handleTableChange"
|
:dataSource="dataSource" :pagination="ipagination"
|
:loading="loading">
|
<template slot="downtimeType" slot-scope="text">
|
{{ text !== null ? text === 0 ? '计划停机' : '非计划停机' : '' }}
|
</template>
|
|
<template slot="action" slot-scope="text, record">
|
<a @click="handleEdit(record)">编辑</a>
|
|
<a-divider type="vertical"/>
|
|
<a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
|
<a>删除</a>
|
</a-popconfirm>
|
</template>
|
</a-table>
|
</div>
|
|
<EquipmentStandbyShutdownModal ref="modalForm" @ok="modalFormOk"/>
|
</div>
|
</template>
|
|
<script>
|
import moment from 'moment'
|
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
|
import EquipmentStandbyShutdownModal
|
from '@views/mdc/base/modules/EquipmentStandbyShutDown/EquipmentStandbyShutdownModal.vue'
|
|
export default {
|
name: 'EquipmentStandbyShutdownList',
|
components: { EquipmentStandbyShutdownModal },
|
mixins: [JeecgListMixin],
|
data() {
|
return {
|
disableMixinCreated: true,
|
scrollY: 465,
|
queryParam: {
|
theDate: moment().subtract('days', 1).format('YYYY-MM-DD')
|
},
|
columns: [
|
{
|
title: '#',
|
dataIndex: '',
|
key: 'rowIndex',
|
width: 60,
|
align: 'center',
|
customRender: function(t, r, index) {
|
return parseInt(index) + 1
|
}
|
},
|
{
|
title: '设备编号',
|
align: 'center',
|
dataIndex: 'equipmentId',
|
width: 200
|
},
|
{
|
title: '安装位置',
|
align: 'center',
|
dataIndex: 'equipmentName',
|
width: 200
|
},
|
{
|
title: '停机类型',
|
align: 'center',
|
dataIndex: 'downtimeType',
|
scopedSlots: { customRender: 'downtimeType' },
|
width: 150
|
},
|
{
|
title: '停机原因',
|
align: 'center',
|
dataIndex: 'downtimeDescription',
|
width: 200
|
},
|
{
|
title: '停机日期',
|
align: 'center',
|
dataIndex: 'theDate',
|
width: 150
|
},
|
{
|
title: '停机时长(min)',
|
align: 'center',
|
dataIndex: 'downLong',
|
width: 150
|
},
|
{
|
title: '备注',
|
align: 'center',
|
dataIndex: 'remark'
|
},
|
{
|
title: '操作',
|
dataIndex: 'action',
|
align: 'center',
|
width: 150,
|
scopedSlots: { customRender: 'action' },
|
fixed: 'right'
|
}
|
],
|
url: {
|
list: '/mdc/mdcDowntime/list',
|
delete: '/mdc/mdcDowntime/delete'
|
}
|
}
|
},
|
props: { node: {}, Type: '' },
|
created() {
|
this.queryParam.typeTree = '1'
|
this.loadData()
|
},
|
mounted() {
|
window.addEventListener('resize', this.handleWindowResize)
|
this.handleWindowResize()
|
},
|
beforeDestroy() {
|
window.removeEventListener('resize', this.handleWindowResize)
|
},
|
watch: {
|
Type(valmath) {
|
this.queryParam.typeTree = valmath
|
},
|
node(val) { //监听currSelected 变化,将变化后的数值传递给 getCurrSelected 事件
|
if (JSON.stringify(val) != '{}') {
|
if (val.equipmentId != null) {
|
this.queryParam.equipmentId = val.equipmentId
|
this.queryParam.parentId = ''
|
} else {
|
this.queryParam.parentId = val.key
|
this.queryParam.equipmentId = ''
|
}
|
this.loadData(1)
|
}
|
}
|
},
|
methods: {
|
searchReset() {
|
this.queryParam = { theDate: moment().subtract('days', 1).format('YYYY-MM-DD') }
|
this.loadData(1)
|
},
|
|
handleWindowResize() {
|
const boxHeight = +window.getComputedStyle(document.getElementById('DeviceList')).height.slice(0, -2)
|
const tableHeadHeight = +window.getComputedStyle(document.querySelector('.ant-table-thead th')).height.slice(0, -2)
|
this.scrollY = boxHeight - tableHeadHeight - 50
|
}
|
}
|
}
|
</script>
|
<style scoped>
|
.page-container {
|
overflow: hidden;
|
display: flex;
|
flex-direction: column;
|
}
|
|
@media screen and (min-width: 1920px) {
|
.page-container {
|
height: 812px !important;
|
}
|
}
|
|
@media screen and (min-width: 1680px) and (max-width: 1920px) {
|
.page-container {
|
height: 812px !important;
|
}
|
}
|
|
@media screen and (min-width: 1400px) and (max-width: 1680px) {
|
.page-container {
|
height: 664px !important;
|
}
|
}
|
|
@media screen and (min-width: 1280px) and (max-width: 1400px) {
|
.page-container {
|
height: 565px !important;
|
}
|
}
|
|
@media screen and (max-width: 1280px) {
|
.page-container {
|
height: 565px !important;
|
}
|
}
|
</style>
|