/* 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 (
); } } const PrintOeeLabelComponent = Form.create({ mapPropsToFields(props) { const { masterData, masterConfig } = props; const obj = commonFunc.mapPropsToFields(masterData, Form, masterConfig); return obj; }, })((props) => { const { form, onReturnForm, slaveConfig, slaveData, masterData: masterDataNew, } = props; /* 回带表单 */ onReturnForm(form); const tableProps = { ...commonBusiness.getTableTypes('slave', props), enabled: true, bRowClick: true, formRoute: props.formRoute, }; let bView = true;/* 单条数据 */ let configs = {}; let ableConfigs = {}; if (commonUtils.isNotEmptyArr(slaveData)) { if (slaveData.length > 1) { bView = false; /* 多条数据 */ } } configs = commonUtils.isNotEmptyObject(slaveConfig) ? slaveConfig.gdsconfigformslave.filter(item => item.sName !== '' && item.bVisible && item.sControlName.indexOf('Btn') === -1 && item.iTag === 2) : []; ableConfigs = commonUtils.isNotEmptyObject(slaveConfig) ? slaveConfig.gdsconfigformslave.filter(item => item.sName !== '' && item.bVisible && item.sControlName.indexOf('Btn') === -1 && item.iTag === 3) : []; return (
{ bView && commonUtils.isNotEmptyArr(slaveData) ?
{ commonUtils.isNotEmptyArr(configs) ? configs.map((item, index) => { return ( // eslint-disable-next-line react/no-array-index-key
{item.showName}
{commonUtils.isNotEmptyObject(masterDataNew) ? masterDataNew[item.sName] : ''}
); }) : '' }
{/* 右侧 */}
{/* 修改配置值 */}
{ commonUtils.isNotEmptyArr(ableConfigs) ? ableConfigs.map((child) => { const sMemo = child.sName.toLowerCase().endsWith('memo'); let enabledNew = !child.bReadonly; if (child.iTag === 1) { enabledNew = false; } else if (child.iTag === 3) { enabledNew = true; } const showTypeProps = { name: 'master', form: props.form, getSqlDropDownData: props.getSqlDropDownData, getSqlCondition: props.getSqlCondition, handleSqlDropDownNewRecord: props.handleSqlDropDownNewRecord, getFloatNum: props.getFloatNum, onChange: props.onChange, showConfig: child, formItemLayout: {}, textArea: sMemo, enabled: enabledNew, dataValue: commonUtils.isNotEmptyObject(masterDataNew) ? masterDataNew[child.sName] : '', bTable: false, formRoute: props.formRoute, }; return ; }) : '' }
:
}
{/* 底部按钮 */}
{/* eslint-disable-next-line jsx-a11y/anchor-is-valid */} 打印预览 { bShowPrint ? // eslint-disable-next-line jsx-a11y/anchor-is-valid 直接打印 : '' } {/* eslint-disable-next-line jsx-a11y/anchor-is-valid */} 关闭
); }); export default CommonBase(CommonSales(PrintOeeLabel));