/* eslint-disable array-callback-return,no-undef */ import React, { Component } from 'react'; import { routerRedux } from 'dva/router'; import { Layout, Spin, message } from 'antd';// Tabs, Form, import { Form } from '@ant-design/compatible'; import '@ant-design/compatible/assets/index.css'; import StaticEditTable from '../../components/Common/CommonTable'; import * as commonFunc from '../../components/Common/commonFunc'; import CommonBase from '../../components/Common/CommonBase'; import CommonSales from '../../components/Common/CommonBillEvent'; import oeeStyle from './oee.less'; import * as commonUtils from '../../utils/utils'; import ShowType from '../../components/Common/CommonComponent'; import * as commonConfig from '../../utils/config'; import * as commonBusiness from '../../components/Common/commonBusiness'; import * as commonServices from '../../services/services'; const bShowPrint = false; const { Content } = Layout; class PrintOeeLabel extends Component { constructor(props) { super(props); this.state = { }; this.form = {}; /* 表单对象 */ } componentWillReceiveProps(nextProps) { const { slaveData, masterData, formData, } = nextProps; if (commonUtils.isEmptyObject(masterData) && formData.length > 0) { if (commonUtils.isNotEmptyArr(slaveData)) { this.props.onSaveState({ masterData: slaveData[0] }); } } } handleBtnPrint = async (name) => { const { app, sModelsId, masterData, slaveData, slaveSelectedRowKeys, slaveConfig, formRoute, } = this.props; const { token } = app; let urlPrint = ''; let printReportName = ''; let printAssignField = ''; const BtnPrintConfig = commonUtils.isNotEmptyObject(slaveConfig) ? slaveConfig.gdsconfigformslave.filter(item => item.sControlName.indexOf('BtnPrint') > -1) : []; let masterDataJson = ''; if (commonUtils.isNotEmptyArr(BtnPrintConfig)) { printReportName = BtnPrintConfig[0].sRelation; printAssignField = BtnPrintConfig[0].sAssignField;/* 取赋值字段 */ } if (commonUtils.isEmpty(printReportName)) { message.warn('没有报表模板!'); return; } /* 单条数据打印 */ if (commonUtils.isNotEmptyArr(slaveData)) { if (slaveData.length > 1) { /* 多条数据 */ if (commonUtils.isEmpty(slaveSelectedRowKeys)) { message.warn('请选择要打印的数据!'); return; } const slaveSelectedData = slaveData.filter(item => slaveSelectedRowKeys.includes(item.sId)); let flag = false; slaveSelectedData.forEach((slaveItem) => { if (!slaveItem.dPackQty > 0 || !slaveItem.dTrunkQty > 0) { flag = true; } }); if (flag) { message.warn('包数或每包数量必填!'); return; } masterDataJson = JSON.stringify(slaveSelectedData); } else { if (!masterData.dPackQty > 0 || !masterData.dTrunkQty > 0) { message.warn('包数或每包数量必填!'); return; } const listData = []; listData.push(masterData); masterDataJson = JSON.stringify(listData); } } /* 多条数据打印 */ // printReportName = encodeURI(printReportName); const param = masterDataJson; const addState = {}; /* 打印按钮赋值配置 */ addState.pitproductbarcode = printAssignField; const sAssignFieldMap = commonUtils.isNotEmptyObject(addState) ? JSON.stringify(addState) : {}; if (name === 'view') { /* 打印预览 */ urlPrint = `${commonConfig.file_host}printReport/printPdfOee?${false ? 'fileType=.xlsx&' : ''}printType=noquery&sModelsId=${sModelsId}&token=${encodeURIComponent(token)}`; /* Get提交地址栏参数过多,更改Get提交为Post提交 */ this.handleOpenPost(urlPrint, param, sAssignFieldMap, printReportName); } else if (name === 'direct') { /* 直接打印 */ const condition = { masterData: param, sAssignFieldMap, sReportParam: printReportName }; const dataUrl = `${commonConfig.file_host_ebc}printReport/printPdfOeeOnline?sModelsId=${sModelsId}&sName=${formRoute}`; const dataReturn = (await commonServices.postValueService(token, condition, dataUrl)).data; if (dataReturn.code === 1) { message.success(dataReturn.msg); this.handleColse(); } else { this.props.getServiceError(dataReturn); } } }; handleOpenPost= (url, params, sAssignFieldMap, printReportName) => { const newWin = window.open(); let formStr = ''; formStr = `
'; newWin.document.body.innerHTML = formStr; newWin.document.forms[0].submit(); return newWin; } handleColse = () => { const { dispatch, onSaveCurrentState, } = this.props; dispatch(routerRedux.push('/indexOee/oeeCurrentState')); onSaveCurrentState(undefined);// 变为当前设备的未清页面 } render() { return (