/* eslint-disable */ 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.server_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.server_host }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 (