| | |
| | | <div class="table-page-search-wrapper"> |
| | | <a-form layout="inline"> |
| | | <a-row :gutter="24"> |
| | | <a-col :span="4"> |
| | | <a-col :span="5"> |
| | | <a-form-item label="设备"> |
| | | <a-select placeholder="请选择设备" v-model="queryParam.equipmentId"></a-select> |
| | | <a-select placeholder="请选择设备" v-model="queryParam.equipmentId" allow-clear> |
| | | <a-select-option v-for="item in equipmentList" :key="item.equipmentId"> |
| | | {{item.equipmentId+`[${item.equipmentName}]`}} |
| | | </a-select-option> |
| | | </a-select> |
| | | </a-form-item> |
| | | </a-col> |
| | | |
| | | <a-col :span="4"> |
| | | <a-col :span="5"> |
| | | <a-form-item label="开始时间"> |
| | | <a-date-picker style="width: 100%" show-time placeholder="请选择开始时间" v-model="queryParam.startTime"/> |
| | | <a-date-picker style="width: 100%" show-time placeholder="请选择开始时间" value-format="YYYY-MM-DD HH:mm:ss" |
| | | v-model="queryParam.startDate"/> |
| | | </a-form-item> |
| | | </a-col> |
| | | |
| | | <a-col :span="4"> |
| | | <a-col :span="5"> |
| | | <a-form-item label="结束时间"> |
| | | <a-date-picker style="width: 100%" show-time placeholder="请选择结束时间" v-model="queryParam.endTime"/> |
| | | <a-date-picker style="width: 100%" show-time placeholder="请选择结束时间" value-format="YYYY-MM-DD HH:mm:ss" |
| | | v-model="queryParam.endDate"/> |
| | | </a-form-item> |
| | | </a-col> |
| | | |
| | | <a-col :span="4"> |
| | | <a-col :span="5"> |
| | | <a-form-item label="停机原因"> |
| | | <a-select placeholder="请选择停机原因" v-model="queryParam.closeReason"></a-select> |
| | | </a-form-item> |
| | | </a-col> |
| | | |
| | | <a-col :span="4"> |
| | | <a-form-item label="停机时间"> |
| | | <a-date-picker style="width: 100%" placeholder="请选择停机时间" v-model="queryParam.closeTime"/> |
| | | <a-select placeholder="请选择停机原因" v-model="queryParam.downtimeDescription" allow-clear> |
| | | <a-select-option v-for="item in downtimeDescriptionList" :key="item.value">{{item.label}} |
| | | </a-select-option> |
| | | </a-select> |
| | | </a-form-item> |
| | | </a-col> |
| | | |
| | |
| | | |
| | | <!-- 操作按钮区域 --> |
| | | <div class="table-operator"> |
| | | <a-button type="primary" @click="handleMaintainShutdown">维护停机</a-button> |
| | | <a-button type="primary" @click="handleSplitShutdownInfo">拆分停机信息</a-button> |
| | | <a-button type="primary" @click="handleMaintainShutdown" :disabled="selectedRowKeys.length===0">维护停机</a-button> |
| | | <a-button type="primary" @click="handleSplitShutdownInfo" :disabled="selectionRows.length!==1">拆分停机信息</a-button> |
| | | </div> |
| | | |
| | | <a-table :dataSource="dataSource" :columns="columns" rowKey="id" bordered :pagination="false" |
| | | :rowSelection="{selectedRowKeys, onChange: onSelectChange}"/> |
| | | <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 :dataSource="dataSource" :columns="columns" rowKey="id" bordered :pagination="ipagination" |
| | | :loading="loading" @change="handleTableChange" :customRow="customRow" |
| | | :rowSelection="{selectedRowKeys, onChange: onSelectChange}"> |
| | | <template slot="downtimeType" slot-scope="text"> |
| | | {{ text!=null?text === 0 ? '计划停机' : '非计划停机':'' }} |
| | | </template> |
| | | </a-table> |
| | | </a-card> |
| | | |
| | | <maintain-shutdown-modal ref="maintainShutdownModal"/> |
| | | <maintain-shutdown-modal :downtimeDescriptionList="downtimeDescriptionList" ref="maintainShutdownModal" |
| | | @submitSuccess="loadData"/> |
| | | |
| | | <split-shutdown-info-modal ref="splitShutdownInfoModal"/> |
| | | <split-shutdown-info-modal ref="splitShutdownInfoModal" :downtimeDescriptionList="downtimeDescriptionList" |
| | | @submitSuccess="modalFormOk"/> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import MaintainShutdownModal from './ReportEquipmentClose/MaintainShutdownModal' |
| | | import SplitShutdownInfoModal from './ReportEquipmentClose/SplitShutdownInfoModal' |
| | | import { getAction } from '@/api/manage' |
| | | |
| | | export default { |
| | | name: 'ReportEquipmentClose', |
| | |
| | | mixins: [JeecgListMixin], |
| | | data() { |
| | | return { |
| | | equipmentList: [], |
| | | downtimeDescriptionList: [], |
| | | columns: [ |
| | | { |
| | | title: '设备编号', |
| | |
| | | dataIndex: 'equipmentName' |
| | | }, |
| | | { |
| | | title: '停机编号', |
| | | title: '停机原因', |
| | | align: 'center', |
| | | dataIndex: 'shutdownId' |
| | | dataIndex: 'downtimeDescription' |
| | | }, |
| | | { |
| | | title: '停机类型', |
| | | align: 'center', |
| | | dataIndex: 'shutdownType' |
| | | scopedSlots: { customRender: 'downtimeType' }, |
| | | dataIndex: 'downtimeType', |
| | | width: 150 |
| | | }, |
| | | { |
| | | title: '停机时间', |
| | | title: '停机时间(MIN)', |
| | | align: 'center', |
| | | width: 150, |
| | | dataIndex: 'shutdownDuration' |
| | |
| | | title: '开始时间', |
| | | align: 'center', |
| | | width: 200, |
| | | dataIndex: 'startTime' |
| | | dataIndex: 'startDate' |
| | | }, |
| | | { |
| | | title: '结束时间', |
| | | align: 'center', |
| | | width: 200, |
| | | dataIndex: 'endTime' |
| | | dataIndex: 'endDate' |
| | | }, |
| | | { |
| | | title: '录入类型', |
| | | align: 'center', |
| | | width: 100, |
| | | dataIndex: 'recordType' |
| | | } |
| | | ], |
| | | dataSource: [ |
| | | { |
| | | id: 1, |
| | | equipmentId: '3140221', |
| | | equipmentName: '数控机床', |
| | | shutdownDuration: 360, |
| | | startTime: '2025-05-20 02:21:49', |
| | | endTime: '2525-05-20 08:21:59', |
| | | recordType: '自动上报' |
| | | }, |
| | | { |
| | | id: 2, |
| | | equipmentId: '3140221', |
| | | equipmentName: '数控机床', |
| | | shutdownDuration: 360, |
| | | startTime: '2025-05-20 02:21:49', |
| | | endTime: '2525-05-20 08:21:59', |
| | | recordType: '自动上报' |
| | | }, |
| | | { |
| | | id: 3, |
| | | equipmentId: '3140221', |
| | | equipmentName: '数控机床', |
| | | shutdownDuration: 360, |
| | | startTime: '2025-05-20 02:21:49', |
| | | endTime: '2525-05-20 08:21:59', |
| | | recordType: '自动上报' |
| | | dataIndex: 'enterType_dictText' |
| | | } |
| | | ], |
| | | url: { |
| | | list: '' |
| | | equipmentList: '/mdc/mdcEquipment/getEquipmentList', |
| | | downtimeDescriptionList: '/mdc/mdcDowntimeReason/reasonList', |
| | | list: '/mdc/operator/mdcDowntime/list' |
| | | } |
| | | } |
| | | }, |
| | | created() { |
| | | this.getEquipmentListByApi() |
| | | this.getDowntimeDescriptionListByApi() |
| | | }, |
| | | methods: { |
| | | handleMaintainShutdown() { |
| | | this.$refs.maintainShutdownModal.visible = true |
| | | this.$refs.maintainShutdownModal.model = {} |
| | | // 获取设备列表 |
| | | getEquipmentListByApi() { |
| | | const that = this |
| | | getAction(this.url.equipmentList) |
| | | .then(res => { |
| | | if (res.success) that.equipmentList = res.result |
| | | }) |
| | | }, |
| | | |
| | | // 获取停机原因列表 |
| | | getDowntimeDescriptionListByApi() { |
| | | const that = this |
| | | getAction(this.url.downtimeDescriptionList) |
| | | .then(res => { |
| | | if (res.success) that.downtimeDescriptionList = res.result |
| | | }) |
| | | |
| | | }, |
| | | |
| | | loadData(arg) { |
| | | //加载数据 若传入参数1则加载第一页的内容 |
| | | if (arg === 1) { |
| | | this.ipagination.current = 1 |
| | | } |
| | | const params = this.getQueryParams()//查询条件 |
| | | if (!params) return false |
| | | this.loading = true |
| | | getAction(this.url.list, params) |
| | | .then((res) => { |
| | | if (res.success) { |
| | | this.dataSource = res.result.records || res.result |
| | | this.selectionRows = this.dataSource.filter(item => this.selectedRowKeys.includes(item.id)) |
| | | if (res.result.total) { |
| | | this.ipagination.total = res.result.total |
| | | } else { |
| | | this.ipagination.total = 0 |
| | | } |
| | | } else { |
| | | this.$message.warning(res.message) |
| | | } |
| | | }) |
| | | .finally(() => { |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | |
| | | customRow(record) { |
| | | return { |
| | | style: { |
| | | cursor: 'pointer' |
| | | }, |
| | | on: { |
| | | click: () => { |
| | | let selectedRowKeys = [...this.selectedRowKeys] |
| | | let selectionRows = [...this.selectionRows] |
| | | if (selectedRowKeys.includes(record.id)) { |
| | | selectedRowKeys = selectedRowKeys.filter(item => item !== record.id) |
| | | selectionRows = selectionRows.filter(item => item.id !== record.id) |
| | | } |
| | | else { |
| | | selectedRowKeys.push(record.id) |
| | | selectionRows.push(record) |
| | | } |
| | | this.onSelectChange(selectedRowKeys, selectionRows) |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | |
| | | // 打开维护停机窗口 |
| | | handleMaintainShutdown() { |
| | | this.$refs.maintainShutdownModal.visible = true |
| | | this.$refs.maintainShutdownModal.model = { downTimeIds: this.selectedRowKeys.join() } |
| | | }, |
| | | |
| | | // 打开拆分停机信息窗口 |
| | | handleSplitShutdownInfo() { |
| | | this.$refs.splitShutdownInfoModal.visible = true |
| | | this.$refs.splitShutdownInfoModal.setDateTime(this.selectionRows[0]) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped lang="less"> |
| | | |
| | | </style> |
| | | </script> |