| | |
| | | <template v-if="isDisplayOperation"> |
| | | <!-- 查询区域 --> |
| | | <div class="table-page-search-wrapper"> |
| | | <a-form layout="inline" @keyup.enter.native="searchQuery"> |
| | | <a-form |
| | | layout="inline" |
| | | @keyup.enter.native="searchQuery" |
| | | > |
| | | <a-row :gutter="24"> |
| | | <a-col :xl="4" :lg="7" :md="8" :sm="24"> |
| | | <a-col |
| | | :xl="4" |
| | | :lg="7" |
| | | :md="8" |
| | | :sm="24" |
| | | > |
| | | <a-form-item label="标准编码"> |
| | | <a-input placeholder="请输入标准编码" v-model="queryParam.standardCode"></a-input> |
| | | <a-input |
| | | placeholder="请输入标准编码" |
| | | v-model="queryParam.standardCode" |
| | | ></a-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :xl="4" :lg="7" :md="8" :sm="24"> |
| | | <a-col |
| | | :xl="4" |
| | | :lg="7" |
| | | :md="8" |
| | | :sm="24" |
| | | > |
| | | <a-form-item label="标准名称"> |
| | | <a-input placeholder="请输入标准名称" v-model="queryParam.standardName"></a-input> |
| | | <a-input |
| | | placeholder="请输入标准名称" |
| | | v-model="queryParam.standardName" |
| | | ></a-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :xl="4" :lg="7" :md="8" :sm="24"> |
| | | <a-col |
| | | :xl="4" |
| | | :lg="7" |
| | | :md="8" |
| | | :sm="24" |
| | | > |
| | | <a-form-item label="设备编号"> |
| | | <lx-search-equipment-select placeholder="请输入设备编号或名称搜索" v-model="queryParam.equipmentId"></lx-search-equipment-select> |
| | | <lx-search-equipment-select |
| | | placeholder="请输入设备编号或名称搜索" |
| | | v-model="queryParam.equipmentId" |
| | | ></lx-search-equipment-select> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :xl="4" :lg="7" :md="8" :sm="24"> |
| | | <a-col |
| | | :xl="4" |
| | | :lg="7" |
| | | :md="8" |
| | | :sm="24" |
| | | > |
| | | <a-form-item label="保养分类"> |
| | | <j-dict-select-tag dict-code="maintenance_category" placeholder="请选择保养分类" v-model="queryParam.maintenanceCategory" /> |
| | | <j-dict-select-tag |
| | | dict-code="maintenance_category" |
| | | placeholder="请选择保养分类" |
| | | v-model="queryParam.maintenanceCategory" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :xl="4" :lg="7" :md="8" :sm="24"> |
| | | <a-col |
| | | :xl="4" |
| | | :lg="7" |
| | | :md="8" |
| | | :sm="24" |
| | | > |
| | | <a-form-item label="标准状态"> |
| | | <j-dict-select-tag dict-code="maintenance_standard_status" placeholder="请选择标准状态" v-model="queryParam.standardStatus" /> |
| | | <j-dict-select-tag |
| | | dict-code="maintenance_standard_status" |
| | | placeholder="请选择标准状态" |
| | | v-model="queryParam.standardStatus" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :xl="4" :lg="7" :md="8" :sm="24"> |
| | | <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> |
| | | <a-button type="primary" @click="searchQuery" icon="search">查询</a-button> |
| | | <a-button type="info" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button> |
| | | <a-col |
| | | :xl="4" |
| | | :lg="7" |
| | | :md="8" |
| | | :sm="24" |
| | | > |
| | | <span |
| | | style="float: left;overflow: hidden;" |
| | | class="table-page-search-submitButtons" |
| | | > |
| | | <a-button |
| | | type="primary" |
| | | @click="searchQuery" |
| | | icon="search" |
| | | >查询</a-button> |
| | | <a-button |
| | | type="info" |
| | | @click="searchReset" |
| | | icon="reload" |
| | | style="margin-left: 8px" |
| | | >重置</a-button> |
| | | </span> |
| | | </a-col> |
| | | </a-row> |
| | |
| | | |
| | | <!-- 操作按钮区域 --> |
| | | <div class="table-operator"> |
| | | <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button> |
| | | <a-upload name="file" :showUploadList="false" :multiple="true" :headers="tokenHeader" :action="inspectionImportExcel" |
| | | @change="handleImportExcel"> |
| | | <a-button type="primary" icon="import">点检标准导入</a-button> |
| | | <a-button |
| | | @click="handleAdd" |
| | | type="primary" |
| | | icon="plus" |
| | | >新增</a-button> |
| | | <a-upload |
| | | name="file" |
| | | :showUploadList="false" |
| | | :multiple="true" |
| | | :headers="tokenHeader" |
| | | :action="inspectionImportExcel" |
| | | @change="handleImportExcel" |
| | | > |
| | | <a-button |
| | | type="primary" |
| | | icon="import" |
| | | >点检标准导入</a-button> |
| | | </a-upload> |
| | | <a-button type="primary" icon="download" @click="handleTemplateXlsDownload(url.inspectionXlsDownloadUrl)">点检标准模板下载</a-button> |
| | | <a-upload name="file" :showUploadList="false" :multiple="true" :headers="tokenHeader" :action="secondMaintenanceImportExcel" |
| | | @change="handleImportExcel"> |
| | | <a-button type="primary" icon="import">二保标准导入</a-button> |
| | | <a-button |
| | | type="primary" |
| | | icon="download" |
| | | @click="handleTemplateXlsDownload(url.inspectionXlsDownloadUrl)" |
| | | >点检标准模板下载</a-button> |
| | | <a-upload |
| | | name="file" |
| | | :showUploadList="false" |
| | | :multiple="true" |
| | | :headers="tokenHeader" |
| | | :action="secondMaintenanceImportExcel" |
| | | @change="handleImportExcel" |
| | | > |
| | | <a-button |
| | | type="primary" |
| | | icon="import" |
| | | >二保标准导入</a-button> |
| | | </a-upload> |
| | | <a-button type="primary" icon="download" @click="handleTemplateXlsDownload(url.secondMaintenanceXlsDownloadUrl)">二保标准模板下载</a-button> |
| | | <a-upload name="file" :showUploadList="false" :multiple="true" :headers="tokenHeader" :action="thirdMaintenanceImportExcel" |
| | | @change="handleImportExcel"> |
| | | <a-button type="primary" icon="import">三保标准导入</a-button> |
| | | <a-button |
| | | type="primary" |
| | | icon="download" |
| | | @click="handleTemplateXlsDownload(url.secondMaintenanceXlsDownloadUrl)" |
| | | >二保标准模板下载</a-button> |
| | | <a-upload |
| | | name="file" |
| | | :showUploadList="false" |
| | | :multiple="true" |
| | | :headers="tokenHeader" |
| | | :action="thirdMaintenanceImportExcel" |
| | | @change="handleImportExcel" |
| | | > |
| | | <a-button |
| | | type="primary" |
| | | icon="import" |
| | | >三保标准导入</a-button> |
| | | </a-upload> |
| | | <a-button type="primary" icon="download" @click="handleTemplateXlsDownload(url.thirdMaintenanceXlsDownloadUrl)">三保标准模板下载</a-button> |
| | | <a-button |
| | | type="primary" |
| | | icon="download" |
| | | @click="handleTemplateXlsDownload(url.thirdMaintenanceXlsDownloadUrl)" |
| | | >三保标准模板下载</a-button> |
| | | <a-dropdown v-if="selectedRowKeys.length > 0"> |
| | | <a-menu slot="overlay"> |
| | | <a-menu-item key="1" @click="batchDel"> |
| | | <a-icon type="delete"/> |
| | | <a-menu-item |
| | | key="1" |
| | | @click="batchDel" |
| | | > |
| | | <a-icon type="delete" /> |
| | | 删除 |
| | | </a-menu-item> |
| | | </a-menu> |
| | | <a-button style="margin-left: 8px"> 批量操作 |
| | | <a-icon type="down"/> |
| | | <a-icon type="down" /> |
| | | </a-button> |
| | | </a-dropdown> |
| | | </div> |
| | | </template> |
| | | |
| | | |
| | | <!-- table区域-begin --> |
| | | <div> |
| | | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;" v-if="isDisplayOperation"> |
| | | <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 |
| | | class="ant-alert ant-alert-info" |
| | | style="margin-bottom: 16px;" |
| | | v-if="isDisplayOperation" |
| | | > |
| | | <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 |
| | |
| | | class="j-table-force-nowrap" |
| | | :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" |
| | | :customRow='clickThenSelect' |
| | | @change="handleTableChange"> |
| | | <template slot="referenceFile" slot-scope="text, record, index"> |
| | | <a v-if="text && text !== ''" @click.stop="handlePreview(record)">预览</a> |
| | | @change="handleTableChange" |
| | | > |
| | | <template |
| | | slot="referenceFile" |
| | | slot-scope="text, record, index" |
| | | > |
| | | <a |
| | | v-if="text && text !== ''" |
| | | @click.stop="handlePreview(record)" |
| | | >预览</a> |
| | | </template> |
| | | <span slot="action" slot-scope="text, record"> |
| | | <a v-if="record.standardStatus === 'NORMAL'" @click.stop="handleEdit(record)">编辑</a> |
| | | <span |
| | | slot="action" |
| | | slot-scope="text, record" |
| | | > |
| | | <a |
| | | v-if="record.standardStatus === 'NORMAL'" |
| | | @click.stop="handleEdit(record)" |
| | | >编辑</a> |
| | | |
| | | <a-divider type="vertical"/> |
| | | <a-divider type="vertical" /> |
| | | <a-dropdown> |
| | | <a class="ant-dropdown-link">更多 <a-icon type="down"/></a> |
| | | <a class="ant-dropdown-link">更多 <a-icon type="down" /></a> |
| | | <a-menu slot="overlay"> |
| | | <a-menu-item v-if="record.standardStatus === 'NORMAL'"> |
| | | <a @click.stop="handleUpgrade(record)">升版</a> |
| | | </a-menu-item> |
| | | <a-menu-item v-if="record.standardStatus === 'NORMAL'"> |
| | | <a-popconfirm title="确定作废吗?" @confirm="() => handleAbolish(record.id)"> |
| | | <a-popconfirm |
| | | title="确定作废吗?" |
| | | @confirm="() => handleAbolish(record.id)" |
| | | > |
| | | <a>作废</a> |
| | | </a-popconfirm> |
| | | </a-menu-item> |
| | | <a-menu-item v-if="record.referenceFile !== null"> |
| | | <a-popconfirm |
| | | title="确定下载文件吗?" |
| | | @confirm="() => handleDownload(record)" |
| | | > |
| | | <a>下载</a> |
| | | </a-popconfirm> |
| | | </a-menu-item> |
| | | <a-menu-item> |
| | | <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)"> |
| | | <a-popconfirm |
| | | title="确定删除吗?" |
| | | @confirm="() => handleDelete(record.id)" |
| | | > |
| | | <a>删除</a> |
| | | </a-popconfirm> |
| | | </a-menu-item> |
| | |
| | | </a-table> |
| | | |
| | | <a-tabs defaultActiveKey="1"> |
| | | <a-tab-pane tab='保养标准明细项' key="1"> |
| | | <div class="table-operator" style="margin:-16px"> |
| | | <eam-maintenance-standard-detail-list ref="standardDetailRef" :standardId="standardId"/> |
| | | <a-tab-pane |
| | | tab='保养标准明细项' |
| | | key="1" |
| | | > |
| | | <div |
| | | class="table-operator" |
| | | style="margin:-16px" |
| | | > |
| | | <eam-maintenance-standard-detail-list |
| | | ref="standardDetailRef" |
| | | :standardId="standardId" |
| | | /> |
| | | </div> |
| | | </a-tab-pane> |
| | | |
| | |
| | | <!-- table区域-end --> |
| | | |
| | | <!-- 表单区域 --> |
| | | <eamMaintenanceStandard-modal ref="modalForm" @ok="modalFormOk"></eamMaintenanceStandard-modal> |
| | | <lx-file-preview ref="lxFilePreview" :fileUrl="fileUrl"></lx-file-preview> |
| | | <eamMaintenanceStandard-modal |
| | | ref="modalForm" |
| | | @ok="modalFormOk" |
| | | ></eamMaintenanceStandard-modal> |
| | | <lx-file-preview |
| | | ref="lxFilePreview" |
| | | :fileUrl="fileUrl" |
| | | ></lx-file-preview> |
| | | </a-card> |
| | | </template> |
| | | |
| | |
| | | import EamMaintenanceStandardModal from './modules/EamMaintenanceStandardModal' |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import EamMaintenanceStandardDetailList from '@views/eam/base/modules/EamMaintenanceStandardDetailList' |
| | | import { deleteAction, templateXlsDownload } from '@api/manage' |
| | | import { deleteAction, templateXlsDownload, downFile } from '@api/manage' |
| | | import LxSearchEquipmentSelect from '@views/eam/equipment/modules/LxSearchEquipmentSelect.vue' |
| | | |
| | | |
| | |
| | | secondMaintenanceXlsDownloadUrl: '导入模板/二保标准导入模板_v1.0.xlsx', |
| | | thirdMaintenanceXlsDownloadUrl: '导入模板/三保标准导入模板_v1.0.xlsx', |
| | | abolish: '/eam/maintenanceStandard/abolish', |
| | | download: '/eam/maintenanceStandard/downloadFile', |
| | | }, |
| | | fileUrl: '', |
| | | standardId: '-1' |
| | | } |
| | | }, |
| | | computed: { |
| | | inspectionImportExcel: function() { |
| | | inspectionImportExcel: function () { |
| | | return `${window._CONFIG['domianURL']}/${this.url.inspectionImportExcel}` |
| | | }, |
| | | weekMaintenanceImportExcel: function() { |
| | | weekMaintenanceImportExcel: function () { |
| | | return `${window._CONFIG['domianURL']}/${this.url.weekMaintenanceImportExcel}` |
| | | }, |
| | | secondMaintenanceImportExcel: function() { |
| | | secondMaintenanceImportExcel: function () { |
| | | return `${window._CONFIG['domianURL']}/${this.url.secondMaintenanceImportExcel}` |
| | | }, |
| | | thirdMaintenanceImportExcel: function() { |
| | | thirdMaintenanceImportExcel: function () { |
| | | return `${window._CONFIG['domianURL']}/${this.url.thirdMaintenanceImportExcel}` |
| | | } |
| | | }, |
| | |
| | | this.loadData(1) |
| | | }, |
| | | methods: { |
| | | handlePreview: function(record) { |
| | | handlePreview: function (record) { |
| | | if (record.referenceFile) { |
| | | try { |
| | | let file = JSON.parse(record.referenceFile) |
| | |
| | | templateXlsDownload(url) |
| | | }, |
| | | handleAbolish: function (id) { |
| | | if(!this.url.abolish){ |
| | | if (!this.url.abolish) { |
| | | this.$message.error("请设置url.abolish属性!") |
| | | return |
| | | } |
| | | var that = this; |
| | | deleteAction(that.url.abolish, {id: id}).then((res) => { |
| | | deleteAction(that.url.abolish, { id: id }).then((res) => { |
| | | if (res.success) { |
| | | //重新计算分页问题 |
| | | that.reCalculatePage(1) |
| | | // that.$message.success(res.message); |
| | | that.$notification.success({ |
| | | message:'消息', |
| | | description:res.message |
| | | message: '消息', |
| | | description: res.message |
| | | }); |
| | | that.loadData(); |
| | | } else { |
| | | // that.$message.warning(res.message); |
| | | that.$notification.warning({ |
| | | message:'消息', |
| | | description:res.message |
| | | message: '消息', |
| | | description: res.message |
| | | }); |
| | | } |
| | | }); |
| | |
| | | this.$refs.modalForm.title = "升版"; |
| | | this.$refs.modalForm.disableSubmit = false; |
| | | }, |
| | | handleDownload(record) { |
| | | downFile(this.url.download, { id: record.id }).then((res) => { |
| | | if (!res) { |
| | | this.$message.warning('文件下载失败') |
| | | return |
| | | } else { |
| | | let fileName = record.fileName; |
| | | if (typeof window.navigator.msSaveBlob !== 'undefined') { |
| | | window.navigator.msSaveBlob(new Blob([res]), fileName); |
| | | } else { |
| | | let url = window.URL.createObjectURL(new Blob([res])); |
| | | let link = document.createElement('a'); |
| | | link.style.display = 'none'; |
| | | link.href = url; |
| | | link.setAttribute('download', fileName); |
| | | document.body.appendChild(link); |
| | | link.click() |
| | | document.body.removeChild(link) //下载完成移除元素 |
| | | window.URL.revokeObjectURL(url) //释放掉blob对象 |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | } |
| | | } |
| | | </script> |