src/views/eam/maintenance/EamThirdMaintenanceChangeList.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/eam/maintenance/EamThirdMaintenanceFurnaceList.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/eam/maintenance/modules/EamThirdMaintenanceChangeBatchPrintModal.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/eam/maintenance/modules/EamThirdMaintenanceFurnaceBatchPrintModal.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/eam/repair/modules/EamProductHazardsBatchPrintModal.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/views/eam/maintenance/EamThirdMaintenanceChangeList.vue
@@ -36,9 +36,16 @@ </a-form> </div> <!-- æä½æé®åºå --> <div class="table-operator"> <a-button @click="handleBatchPrint" type="primary" icon="monitor" :disabled="selectedRowKeys.length===0">æ¹éé¢è§ </a-button> </div> <!-- tableåºå-begin --> <a-table ref="table" size="middle" bordered rowKey="id" :columns="columns" :dataSource="dataSource" :pagination="ipagination" :loading="loading" :scroll="{x:'max-content'}" :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" @change="handleTableChange"> <!--使ç¨é¨é¨--> @@ -46,7 +53,7 @@ {{[record.zxfactoryOrgCode_dictText].filter(item=>item).join('/')}} </template> <span slot="action" slot-scope="text, record"> <span slot="action" slot-scope="text, record"> <template v-if="record.changeStatus=='WAIT_SUBMIT'"> <a @click="handleEdit(record)">ç¼è¾</a> @@ -75,6 +82,9 @@ <!--审æ¹çªå£--> <third-maintenance-order-change-approval-modal ref="thirdMaintenanceOrderChangeApprovalModal" :selectShenpiData="selectedRowData"/> <!--æ¹éæå°çªå£--> <eam-third-maintenance-change-batch-print-modal ref="batchPrintModal"/> </a-card> </template> @@ -85,11 +95,13 @@ import EamThirdMaintenanceChangeModal from './modules/EamThirdMaintenanceChangeModal.vue' import ThirdMaintenanceOrderChangeApprovalModal from '../../flowable/workflow/thirdMaintenance/ThirdMaintenanceOrderChangeApprovalModal' import EamThirdMaintenanceChangeBatchPrintModal from './modules/EamThirdMaintenanceChangeBatchPrintModal' export default { name: 'EamThirdMaintenanceChangeList', mixins: [JeecgListMixin], components: { EamThirdMaintenanceChangeBatchPrintModal, ThirdMaintenanceOrderChangeApprovalModal, EamThirdMaintenanceChangeModal, LxSearchEquipmentSelect @@ -323,6 +335,11 @@ this.queryParam.dateEnd = dateStringArray[1] }, // æ¹éæå° handleBatchPrint() { this.$refs.batchPrintModal.handlePreview(this.selectedRowKeys.join()) }, handlePrint(record) { let href = `${window._CONFIG['domianURL']}/jmreport/view/1094880052100399104?id=` + record.id // + `&orderId=` + record.id; //ç½ç«é¾æ¥ src/views/eam/maintenance/EamThirdMaintenanceFurnaceList.vue
@@ -40,21 +40,12 @@ <!-- æä½æé®åºå --> <div class="table-operator"> <a-button @click="handleAdd" type="primary" icon="plus">æ°å¢</a-button> <a-dropdown v-if="selectedRowKeys.length > 0"> <a-menu slot="overlay"> <a-menu-item key="1" @click="handleBatchCollect"> <a-icon type="form"/> é¢å </a-menu-item> <a-menu-item key="1" @click="handleBatchAbolish"> <a-icon type="delete"/> ä½åº </a-menu-item> </a-menu> <a-button style="margin-left: 8px"> æ¹éæä½ <a-icon type="down"/> </a-button> </a-dropdown> <a-button @click="handleBatchCollect" type="primary" icon="form" :disabled="selectedRowKeys.length===0">æ¹éé¢å </a-button> <a-button @click="handleBatchPrint" type="primary" icon="monitor" :disabled="selectedRowKeys.length===0">æ¹éé¢è§ </a-button> <a-button @click="handleBatchAbolish" type="primary" icon="delete" :disabled="selectedRowKeys.length===0">æ¹éä½åº </a-button> </div> <!-- tableåºå-begin --> @@ -109,6 +100,9 @@ <!--审æ¹çªå£--> <third-maintenance-furnace-approval-modal ref="thirdMaintenanceFurnaceApprovalModal" :selectShenpiData="selectedRowData"/> <!--æ¹éæå°çªå£--> <eam-third-maintenance-furnace-batch-print-modal ref="batchPrintModal"/> </a-card> </template> @@ -119,11 +113,13 @@ import { getAction, deleteAction } from '@/api/manage' import ThirdMaintenanceFurnaceApprovalModal from '../../flowable/workflow/thirdMaintenance/ThirdMaintenanceFurnaceApprovalModal' import EamThirdMaintenanceFurnaceBatchPrintModal from './modules/EamThirdMaintenanceFurnaceBatchPrintModal' export default { name: 'EamThirdMaintenanceFurnaceList', mixins: [JeecgListMixin], components: { EamThirdMaintenanceFurnaceBatchPrintModal, ThirdMaintenanceFurnaceApprovalModal, LxSearchEquipmentSelect, EamThirdMaintenanceFurnaceModal @@ -333,6 +329,11 @@ }) }, // æ¹éæå° handleBatchPrint() { this.$refs.batchPrintModal.handlePreview(this.selectedRowKeys.join()) }, /** * ç¹å»ä½åºæ¶è§¦å * @param id è¡è®°å½id src/views/eam/maintenance/modules/EamThirdMaintenanceChangeBatchPrintModal.vue
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,215 @@ <template> <j-modal title="é¢è§ï¼ä» å¯é¢è§å·²å®æå·¥åï¼" :width="948" :visible="visible" switchFullscreen centered :mask-closable="false" @cancel="handleCancel" cancelText="å ³é"> <a-spin :spinning="spinning" style="height: 100%"> <div id="dataTable"> <div v-for="dataItem in dataSource" class="table-container"> <div style="page-break-before:always"></div> <table class="import-table" :id="dataItem.equipmentCode"> <thead> <tr> <td colspan="12" style="border: none"> <div style="text-align: right">{{dataItem.hfCode}}</div> </td> </tr> </thead> <tbody> <tr style="height: 48px;"> <th colspan="12" style="border: none;font-size: 20px">å 工设å¤ä¿å »è®¡ååæ´ç³è¯·å</th> </tr> <tr> <td colspan="6" style="border: none;padding-left: 20px"> <div style="text-align: left">ç³è¯·åä½ï¼{{dataItem.zxfactoryOrgCode_dictText}}</div> </td> <td colspan="6" style="border: none;padding-right: 20px"> <div style="text-align: right"> {{dataItem.applyDate.split('-')[0]}} å¹´ {{dataItem.applyDate.split('-')[1]}} æ {{dataItem.applyDate.split('-')[2]}} æ¥ </div> </td> </tr> <tr style="height: 40px;"> <td colspan="2">设å¤åç§°</td> <td colspan="2">{{dataItem.equipmentName}}</td> <td colspan="2">åå·</td> <td colspan="2">{{dataItem.equipmentModel}}</td> <td colspan="2">ç»ä¸ç¼å·</td> <td colspan="2">{{dataItem.equipmentCode}}</td> </tr> <tr style="height: 40px;"> <td colspan="2">åè®¡åæ¶é´</td> <td colspan="2">{{dataItem.oldPlanDate}}</td> <td colspan="2">ç³è¯·å»¶ä¿æ¶é´</td> <td colspan="2">{{dataItem.deferredMaintenanceDate}}</td> <td colspan="2">设å¤ç®¡ç主管</td> <td colspan="2">{{dataItem.applicant_dictText}}</td> </tr> <tr> <td colspan="2" style="padding: 5px">å»¶ä¿ï¼æåæ´ï¼åå </td> <td colspan="10" style="text-align: left;padding: 5px"> <div style="text-align: left" v-html="dataItem.equipmentManagerComment"></div> <br/><br/><br/><br/> <div style="text-align: right;padding-right: 20px"> 主管室级é¢å¯¼ç¾åï¼{{dataItem.equipmentManagerSignature_dictText}} </div> </td> </tr> <tr> <td colspan="2" style="padding: 5px">确认é¨é¨</td> <td colspan="10" style="padding: 5px"> <div style="text-align: left" v-html="dataItem.departManagerComment"></div> <br/><br/><br/><br/> <div style="text-align: right;padding-right: 20px"> 主管室级é¢å¯¼ç¾åï¼{{dataItem.departManagerSignature_dictText}} </div> </td> </tr> <tr> <td colspan="2" style="padding: 5px">ç产ä¿éé¨</td> <td colspan="10" style="padding: 5px"> <div style="text-align: left" v-html="dataItem.productionSupportComment"></div> <br/><br/><br/><br/> <div style="text-align: right;padding-right: 20px"> 主管室级é¢å¯¼ç¾åï¼{{dataItem.productionSupportSignature_dictText}} </div> </td> </tr> <tr> <td colspan="12" style="padding: 5px 40px;border: none;"> <div style="text-align: left"> 夿³¨ï¼ç¡®è®¤é¨é¨ä¸ºçäº§ææ¥é¨ã设å¤ç»´ä¿®é¨é¨ã项ç®å®æ½é¨é¨ãå ¶ä¸å ç产任å¡ç´§æ¥æ æ³åæºçæ åµé¡»ç»çäº§ææ¥é¨ç¾å </div> </td> </tr> </tbody> </table> </div> </div> </a-spin> <template slot="footer"> <a-button @click="handleCancel">å ³é</a-button> <a-button type="primary" @click="handleImport">导åº</a-button> <a-button type="primary" v-print="'#dataTable'">æå°</a-button> </template> </j-modal> </template> <script> import { getAction } from '@/api/manage' import $ from 'jquery' import '@/components/table2excel/table2excel' export default { name: 'EamThirdMaintenanceChangeBatchPrintModal', data() { return { visible: false, spinning: false, dataSource: [], url: { list: '/eam/eamThirdMaintenanceChange/batchExport' } } }, methods: { /** * æ¹éé¢è§ * @param ids String 主页é¢å表å¾éids */ handlePreview(ids) { this.visible = true this.spinning = true this.dataSource = [] const that = this getAction(this.url.list, { ids }) .then(res => { if (res.success) that.dataSource = res.result }) .finally(() => { that.spinning = false }) }, // 导åºå°Excel handleImport() { document.querySelectorAll('table.import-table').forEach(item => { $(item).table2excel({ exclude: '.noExl', name: 'Excel Document Name', filename: 'å 工设å¤ä¿å »è®¡ååæ´ç³è¯·å-' + item.id, exclude_img: true, fileext: '.xls', exclude_links: true, exclude_inputs: false }) }) }, handleCancel() { this.close() }, close() { this.$emit('close') this.visible = false if (this.$refs.form) this.$refs.form.clearValidate() } } } </script> <style scoped lang="less"> /deep/ .ant-modal { height: 90%; overflow: hidden; .ant-modal-content { height: 100%; display: flex; flex-direction: column; overflow: hidden; ::-webkit-scrollbar { width: 8px; height: 8px; } .ant-modal-body { flex: 1; overflow: auto; } } } .table-container:not(:last-child) { margin-bottom: 20px; } table { width: 100%; text-align: center; table-layout: fixed; td, th { border: 1px solid #000; } td.vertical-display { transform: rotate(360deg); writing-mode: vertical-lr; letter-spacing: 5px; padding: 10px 0; } } </style> src/views/eam/maintenance/modules/EamThirdMaintenanceFurnaceBatchPrintModal.vue
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,192 @@ <template> <j-modal title="é¢è§ï¼ä» å¯é¢è§å·²å®æå·¥åï¼" :width="948" :visible="visible" switchFullscreen centered :mask-closable="false" @cancel="handleCancel" cancelText="å ³é"> <a-spin :spinning="spinning" style="height: 100%"> <div id="dataTable"> <div v-for="dataItem in dataSource" class="table-container"> <div style="page-break-before:always"></div> <table class="import-table" :id="dataItem.equipmentCode"> <thead> <tr> <td colspan="14" style="border: none"> <div style="text-align: right">{{dataItem.hfCode}}</div> </td> </tr> </thead> <tbody> <tr style="height: 55px;"> <td colspan="14">ç空çå¤ççæ´ä½æ§è½æ£æµè¡¨</td> </tr> <tr style="height: 40px"> <td colspan="4" style="border-right:none"> <div style="text-align: left">ç产åä½ï¼{{dataItem.zxfactoryOrgCode_dictText}}</div> </td> <td colspan="4" style="border:none"> <div style="text-align: left">设å¤åç§°ï¼{{dataItem.equipmentName}}</div> </td> <td colspan="3" style="border:none"> <div style="text-align: left">设å¤åå·ï¼{{dataItem.equipmentModel}}</div> </td> <td colspan="3" style="border-left:none"> <div style="text-align: left">ç»ä¸ç¼ç ï¼{{dataItem.equipmentCode}}</div> </td> </tr> <tr style="height: 80px"> <td colspan="3">å缩空æ°ååï¼MPaï¼</td> <td colspan="2">æéç空ï¼Paï¼</td> <td colspan="2">æ³æ¼çï¼Pa/hï¼</td> <td colspan="2">ååå¤ç</td> <td colspan="3">çæ¸©ååæ§æ£æµ</td> <td colspan="2">å çåçæµè¯</td> </tr> <tr style="height: 100px"> <td colspan="3">{{dataItem.compressedAirPressureValue}}</td> <td colspan="2">{{dataItem.ultimateVacuumValue}}</td> <td colspan="2">{{dataItem.leakRate}}</td> <td colspan="2">{{dataItem.purificationTreatment}}</td> <td colspan="3">{{dataItem.furnaceTemperatureUniformityTesting}}</td> <td colspan="2">{{dataItem.heatingPowerTest}}</td> </tr> <tr> <td colspan="14" style="padding: 20px 100px;border: none"> <div style="text-align: right"> è½å¦æ»¡è¶³å 工鿱ï¼{{dataItem.processingRequirementsFlag==='1'?'è½ï¼âï¼å¦ï¼ï¼':'è½ï¼ï¼å¦ï¼âï¼'}} </div> <br/><br/> <div style="text-align: right">æ§è¡äººï¼<i>ç¬¬ä¸æ¹ç»´æ¤äººåç¾å</i> {{dataItem.operator_dictText}} </div> <br/><br/> <div style="text-align: right">确认人ï¼<i>ç¬¬ä¸æ¹ç»´æ¤ç»é¿ç¾å</i> {{dataItem.confirmUser_dictText}} </div> <br/><br/> <div style="text-align: right">确认æ¶é´ï¼{{dataItem.confirmTime}}</div> </td> </tr> </tbody> </table> </div> </div> </a-spin> <template slot="footer"> <a-button @click="handleCancel">å ³é</a-button> <a-button type="primary" @click="handleExportToExcel">导åº</a-button> <a-button type="primary" v-print="'#dataTable'">æå°</a-button> </template> </j-modal> </template> <script> import { getAction } from '@/api/manage' import $ from 'jquery' import '@/components/table2excel/table2excel' export default { name: 'EamThirdMaintenanceFurnaceBatchPrintModal', data() { return { visible: false, spinning: false, dataSource: [], url: { list: '/eam/eamThirdMaintenanceFurnace/batchExport' } } }, methods: { /** * æ¹éé¢è§ * @param ids String 主页é¢å表å¾éids */ handlePreview(ids) { this.visible = true this.spinning = true this.dataSource = [] const that = this getAction(this.url.list, { ids }) .then(res => { if (res.success) that.dataSource = res.result }) .finally(() => { that.spinning = false }) }, // 导åºå°Excel handleExportToExcel() { document.querySelectorAll('table.import-table').forEach(element => { console.log('element', element.id) $(element).table2excel({ exclude: '.noExl', name: 'Excel Document Name', filename: 'ç空çå¤ççæ´ä½æ§è½æ£æµè¡¨-' + element.id, exclude_img: true, fileext: '.xls', exclude_links: true, exclude_inputs: false }) }) }, handleCancel() { this.close() }, close() { this.$emit('close') this.visible = false if (this.$refs.form) this.$refs.form.clearValidate() } } } </script> <style scoped lang="less"> /deep/ .ant-modal { height: 90%; overflow: hidden; .ant-modal-content { height: 100%; display: flex; flex-direction: column; overflow: hidden; ::-webkit-scrollbar { width: 8px; height: 8px; } .ant-modal-body { flex: 1; overflow: auto; } } } .table-container:not(:last-child) { margin-bottom: 20px; } table { width: 100%; text-align: center; table-layout: fixed; td, th { border: 1px solid #000; } td.vertical-display { writing-mode: vertical-lr; letter-spacing: 5px; padding: 5px 0; } } </style> src/views/eam/repair/modules/EamProductHazardsBatchPrintModal.vue
@@ -108,17 +108,7 @@ return { visible: false, spinning: false, dataSource: [ { hfCode: 'HF-16548ASDSADA', equipmentName: 'ææåç¹å¤', equipmentModel: '6500P', equipmentCode: '2125400', factoryName: 'çæºå', maintenanceDateFormatted: '2025å¹´5æ20æ¥' } ], dataSource: [], url: { list: '/eam/eamReportProductHazards/batchExport' }