/* eslint-disable */ import React, { Component } from "react"; import moment from "moment"; import { Icon as LegacyIcon } from "@ant-design/compatible"; import { DownloadOutlined, DownOutlined, UploadOutlined } from "@ant-design/icons"; import { Menu, Spin, message, Input, Checkbox, Upload } from "antd"; import * as commonConfig from "@/utils/config"; import * as commonUtils from "@/utils/utils"; import styles from "@/index.less"; import * as commonFunc from "@/components/Common/commonFunc"; import * as commonServices from "@/services/services"; import oeeStyle from "./oee.less"; import { routerRedux } from "dva/router"; const { SubMenu } = Menu; const MenuItemGroup = Menu.ItemGroup; class ToolBarComponent extends Component { /** 构造函数 */ constructor(props) { super(props); this.state = { menuData: [] /* 导航工具栏 */, enabled: false, bCheck: false, bInvalid: false, reportData: [] /* 报表数据 */, reportSelectedRowKeys: [], inputChange: "", checked: false, checkedId: "" }; } componentWillMount() { this.componentWillReceiveProps(this.props); } componentWillReceiveProps(nextProps) { const { masterConfig, gdsjurisdiction, report, masterData, app, menuChildData } = nextProps; let { searchUpDownData, enabled, bCheck, bInvalid, visibleStatement, visibleBatchPriceUpdate, visibleBatchNPriceUpdate, reportData, reportSelectedRowKeys } = this.state; const btnShowData = []; commonConfig.btnData.forEach(item => { btnShowData.push({ ...item }); }); let menuData = []; if ( commonUtils.isNotEmptyObject(masterConfig) && commonUtils.isEmptyArr(menuData) ) { const buttonConfig = masterConfig.gdsconfigformslave.filter( item => item.sName === "" && item.showName !== "" && item.sControlName !== "" ); /** 筛选出显示的按钮 */ buttonConfig.forEach(child => { const index = btnShowData.findIndex( item => item.sControlName === child.sControlName ); if ( child.bVisible && child.sControlName.substring(0, 3) === "Btn" && btnShowData.findIndex( item => item.sControlName === child.sControlName ) === -1 ) { child.iconName = "menu-unfold"; btnShowData.push(child); } else if (!child.bVisible && index > -1) { btnShowData.splice(index, 1); } else if (index > -1) { btnShowData[index].showName = child.showName; } }); /** 根据权限,筛选出显示的按钮 */ gdsjurisdiction.forEach(child => { const index = btnShowData.findIndex( item => item.sControlName === child.sAction ); if (index > -1) { btnShowData.splice(index, 1); } }); /* 管理员有重置按钮,非管理员无重置按钮 */ const { sType } = app.userinfo; if (sType !== "sysadmin") { const index = btnShowData.findIndex( item => item.sControlName === "BtnResetpwd" ); if (index > -1) { btnShowData.splice(index, 1); } } /* 筛选出一级菜单 */ menuData = btnShowData.filter(item => !item.sControlName.includes(".")); /* 初始值的二级菜单 */ // const secondMenu = btnShowData.filter(item => item.sControlName.includes('.')); /** 配置后匹配二级菜单 */ menuData.forEach(menu => { menu.child = []; /** 匹配相应的子菜单 */ const childData = btnShowData.filter( item => item.sControlName.startsWith(`${menu.sControlName}.`) && item.sControlName.split(".").length <= 2 ); if (menu.sControlName === "BtnPrint") { /* 打印的二级菜单集合 */ const reportChild = []; if (commonUtils.isNotEmptyArr(report)) { for (const each of report) { reportChild.push({ sControlName: `BtnPrint.${each.sId}`, showName: each.sReportName, disabled: false, sActiveId: each.sId, sId: each.sId }); } } menu.child.push(...reportChild); } else if ( menu.sControlName === "BtnPrintCustomer" && commonUtils.isNotEmptyObject(menuChildData) ) { const reportChild = []; if (commonUtils.isNotEmptyArr(menuChildData)) { for (const each of menuChildData) { reportChild.push({ sControlName: `BtnPrintCus.${each.sId}`, showName: each.sReportName, disabled: false, sActiveId: each.sId, sId: each.sId }); } } menu.child.push(...reportChild); } else if (commonUtils.isNotEmptyArr(childData)) { childData.forEach(childTwo => { if ( childTwo.sControlName === "BtnBsOperation.BtnUpCheck" || childTwo.sControlName === "BtnBsOperation.BtnDownCheck" ) { const childDataThree = btnShowData.filter( item => item.sControlName.startsWith(`${childTwo.sControlName}.`) && item.sControlName.split(".").length === 3 ); childTwo.child = childDataThree; } }); menu.child.push(...childData); } }); } if (enabled !== nextProps.enabled) { enabled = nextProps.enabled; } if (visibleStatement !== nextProps.visibleStatement) { visibleStatement = nextProps.visibleStatement; } if (visibleBatchPriceUpdate !== nextProps.visibleBatchPriceUpdate) { visibleBatchPriceUpdate = nextProps.visibleBatchPriceUpdate; } if (visibleBatchNPriceUpdate !== nextProps.visibleBatchNPriceUpdate) { visibleBatchNPriceUpdate = nextProps.visibleBatchNPriceUpdate; } if (reportData !== nextProps.reportData) { reportData = nextProps.reportData; } if (reportSelectedRowKeys !== nextProps.reportSelectedRowKeys) { reportSelectedRowKeys = nextProps.reportSelectedRowKeys; } if ( commonUtils.isNotEmptyObject(masterData) && bCheck !== masterData.bCheck ) { bCheck = masterData.bCheck; } if ( commonUtils.isNotEmptyObject(masterData) && bInvalid !== masterData.bInvalid ) { bInvalid = masterData.bInvalid; } if ( JSON.stringify(searchUpDownData) !== JSON.stringify(nextProps.searchUpDownData) ) { searchUpDownData = nextProps.searchUpDownData; } this.setState({ menuData, searchUpDownData, enabled, bCheck, bInvalid, visibleStatement, visibleBatchPriceUpdate, visibleBatchNPriceUpdate, reportData, reportSelectedRowKeys }); } shouldComponentUpdate(nextProps, nextState) { const { masterConfig } = nextProps; const { menuData, searchUpDownData, enabled, bCheck, bInvalid, visibleStatement, visibleBatchPriceUpdate, visibleBatchNPriceUpdate, visibleBatchWorkListPriceUpdate, reportData, reportSelectedRowKeys } = this.state; const { adDisabled } = this.props; return ( masterConfig !== undefined && Object.keys(masterConfig).length > 0 && (JSON.stringify(menuData) !== JSON.stringify(nextState.menuData) || JSON.stringify(masterConfig) !== JSON.stringify(nextState.masterConfig) || JSON.stringify(searchUpDownData) !== JSON.stringify(nextState.searchUpDownData) || JSON.stringify(reportData) !== JSON.stringify(nextState.initialReportData) || JSON.stringify(reportSelectedRowKeys) !== JSON.stringify(nextState.reportSelectedRowKeys) || enabled !== nextState.enabled || bCheck !== nextState.bCheck || visibleStatement !== nextState.visibleStatement || visibleBatchPriceUpdate !== nextState.visibleBatchPriceUpdate || visibleBatchNPriceUpdate !== nextState.visibleBatchNPriceUpdate || visibleBatchWorkListPriceUpdate !== nextState.visibleBatchWorkListPriceUpdate || bInvalid !== nextState.bInvalid || adDisabled !== nextProps.adDisabled) ); } componentDidUpdate(prevProps) { const { slaveSelectedRowKeys, slaveInfoSelectedRowKeys, slaveData, slaveInfoData } = prevProps; if ( JSON.stringify(slaveData) !== JSON.stringify(this.props.slaveData) || JSON.stringify(slaveInfoData) !== JSON.stringify(this.props.slaveInfoData) || JSON.stringify(slaveSelectedRowKeys) !== JSON.stringify(this.props.slaveSelectedRowKeys) || JSON.stringify(slaveInfoSelectedRowKeys) !== JSON.stringify(this.props.slaveInfoSelectedRowKeys) ) { this.handleBtnEnabled(this.props, false); } } /** 获取有三级菜单的父级菜单属性 */ getMenuProps = (menu, type) => { const obj = {}; obj.key = menu.sControlName; obj.disabled = this.getMenuStatus(menu); const { iconName, showName } = menu; obj.className = this.getMenuStatus(menu) && this.props.billList === "billList" ? styles.toolBarSubDisabled : styles.toolBarSub; if ( menu.sControlName !== undefined && (menu.sControlName === "BtnBsOperation.BtnUpCheck" || menu.sControlName === "BtnBsOperation.BtnDownCheck") ) { obj.onMouseEnter = this.handleMouseEnter; /* 根据二级菜单获取三级数据 */ } // if (menu.sControlName !== undefined && (menu.sControlName.indexOf('BtnBsOperation.BtnUpCheck') > -1 || menu.sControlName.indexOf('BtnBsOperation.BtnDownCheck') > -1) && menu.sControlName.split('.').length === 3) { // obj.onMouseEnter = this.handleMouseEnter; /* 根据二级菜单获取三级数据 */ // } obj["data-sactiveid"] = menu.sActiveId; if (type === "icon") { obj.title = ( {showName} ); } else if (type === "title") { obj.title = showName; } else if (type === "key" && commonUtils.isEmpty(menu.sControlName)) { obj.key = menu.sId; } return obj; }; /** 获取父级菜单属性 */ getMenuStatus = menu => { let { masterData } = this.props; const { sortEnabled } = this.props; const { enabled, adDisabled, sModelsType, masterConfig } = this.props; if (commonUtils.isEmptyObject(masterData)) { masterData = {}; } const { bCheck, bInvalid } = masterData; let disabledData = []; /* 置灰按钮集合 */ if (adDisabled) { disabledData = [ "BtnAdd", "BtnAddChild", "BtnUpd", "BtnDel", "BtnSave", "BtnCancel", "BtnSetPeriod" ]; } else if (!adDisabled) { if (!enabled) { if (bInvalid) { // 已作废 disabledData = [ "BtnUpd", "BtnDel", "BtnSave", "BtnCancel", "BtnExamine", "BtnCancelExamine", "BtnCopyTo", "BtnCopyFrom", "BtnBsOperation.BtnInvalid", "BtnInvalid" ]; } else if (bCheck) { // 已审核 if ( !commonUtils.isEmpty(sModelsType) && sModelsType.includes("element/") ) { if (sModelsType === "element/customerInfo") { const iIndex = masterConfig.gdsconfigformslave.findIndex( item => item.sControlName === "BtnCheck" ); if (iIndex > -1) { disabledData = [ "BtnDel", "BtnSave", "BtnCancel", "BtnExamine", "BtnCopyFrom", "BtnCancelInvalid", "BtnImport" ]; //'BtnUpd', } else { disabledData = [ "BtnSave", "BtnCancel", "BtnCancelExamine", "BtnCopyFrom", "BtnCancelInvalid" ]; } } else { disabledData = [ "BtnSave", "BtnCancel", "BtnCancelExamine", "BtnCopyFrom", "BtnCancelInvalid" ]; } } else { /* 已审核查看状态 修改 删除 保存 取消 审核 复制从 取消作废置灰 */ disabledData = [ "BtnUpd", "BtnDel", "BtnSave", "BtnCancel", "BtnExamine", "BtnCopyFrom", "BtnCancelInvalid", "BtnImport" ]; } } else { /** 查看状态 修改 删除 保存 取消 审核 复制从置灰 */ disabledData = [ "BtnSave", "BtnCancel", "BtnCancelExamine", "BtnCopyTo", "BtnCopyFrom", "BtnCancelInvalid" ]; if ( !commonUtils.isEmpty(sModelsType) && sModelsType.includes("element/") ) { /* 除了客户信息,其他基础信息在查看状态状态下 复制到常亮 */ disabledData = [ "BtnSave", "BtnCancel", "BtnCancelExamine", "BtnCopyFrom", "BtnCancelInvalid" ]; if (sModelsType === "element/customerInfo") { const iIndex = masterConfig.gdsconfigformslave.findIndex( item => item.sControlName === "BtnCheck" ); if (iIndex > -1) { disabledData = [ "BtnSave", "BtnCancel", "BtnCancelExamine", "BtnCopyTo", "BtnCopyFrom", "BtnCancelInvalid" ]; } } } } } else { /* 修改状态 */ if ( sModelsType === "production/productionPlanInfo" || sModelsType === "productionMainPlan/productionMainPlan" ) { disabledData = [ "BtnAdd", "BtnAddChild", "BtnUpd", "BtnDel", "BtnFirst", "BtnPrior", "BtnNext", "BtnLast", "BtnUpCheck", "BtnDownCheck", "BtnExamine", "BtnCancelExamine", "BtnCopyTo", "BtnBsOperation.BtnInvalid", "BtnBsOperation.BtnCancelInvalid", "BtnCancelInvalid", "BtnInvalid" ]; } else { disabledData = [ "BtnRefresh", "BtnAdd", "BtnAddChild", "BtnUpd", "BtnDel", "BtnFirst", "BtnPrior", "BtnNext", "BtnLast", "BtnUpCheck", "BtnDownCheck", "BtnExamine", "BtnCancelExamine", "BtnCopyTo", "BtnBsOperation.BtnInvalid", "BtnBsOperation.BtnCancelInvalid", "BtnPrint", "BtnCancelInvalid", "BtnInvalid" ]; } } } // 生产排程搜索时不可以上下移动 if (sortEnabled === false) { disabledData.push("BtnSave"); disabledData.push("BtnRepairstartdate"); } /* 通用上传按钮 除了新增,其他状态下都是亮的*/ if (menu.sControlName === "BtnUpload") { const { handleType } = masterData; if (handleType === "add") { disabledData.push("BtnUpload"); } } // 其它自定义按钮不在以上 不能操作数据里 if (menu.disabled) { disabledData.push(menu.sControlName); } // 订单已审核 价格批量更新亮 */ if ( commonUtils.isNotEmptyObject(menu.sControlName) && menu.sControlName.includes("PriceUpdate") ) { const { bCheck } = masterData; if (!bCheck) { disabledData.push(menu.sControlName); } } /* 导入未清按钮 只有编辑亮的*/ if (menu.sControlName === "BtnImportFormData") { if (!enabled) { disabledData.push("BtnImportFormData"); } } /* 盘点导出模板数据 只有非编辑 按钮亮*/ if (menu.sControlName === "BtnOutTemplateData") { if (enabled) { disabledData.push("BtnOutTemplateData"); } } if (sModelsType === "productionMainPlan/productionMainPlan") { // 主计划中保存,取消保存按钮默认不可点击 if (disabledData.indexOf("BtnSave") === -1) { disabledData.push("BtnSave"); } if (disabledData.indexOf("BtnRefresh") === -1) { disabledData.push("BtnRefresh"); } // 生产主计划数据集有改动的时候才会高亮保存按钮 // 生产主计划保存按钮和确认计划的按钮互斥,存一 if (this.props.dataChanged === true) { // 列表有所改动 // 显示保存,禁用确认计划 if (disabledData.indexOf("BtnSave") !== -1) { disabledData.splice(disabledData.indexOf("BtnSave"), 1); } if (disabledData.indexOf("BtnRefresh") !== -1) { disabledData.splice(disabledData.indexOf("BtnRefresh"), 1); } if (disabledData.indexOf("BtnUnifiedPlanning") === -1) { disabledData.push("BtnUnifiedPlanning"); } } // if (this.props.dataChanged === false) { // if (disabledData.indexOf('BtnUnifiedPlanning') !== -1) { // disabledData.splice(disabledData.indexOf('BtnUnifiedPlanning'), 1); // } // if (disabledData.indexOf('BtnSave') === -1) { // disabledData.push('BtnSave'); // disabledData.push('BtnRefresh'); /* 生产主计划刷新按钮的亮与灰与保存按钮同步 */ // } // } } let bReturn = true; if ( menu.sControlName !== undefined && menu.sControlName.indexOf(".") > -1 ) { bReturn = disabledData.findIndex( item => item === menu.sControlName.substring(0, menu.sControlName.indexOf(".")) ) > -1; if (!bReturn) { bReturn = disabledData.findIndex(item => item === menu.sControlName) > -1; } } else { bReturn = disabledData.findIndex(item => item === menu.sControlName) > -1; } bReturn = bReturn || (this.props.getMenuStatus !== undefined && this.props.getMenuStatus(menu)); return bReturn; }; getDisabledProps = name => { if (commonUtils.isNotEmptyObject(name)) { const { enabled } = this.props; const obj = {}; obj.disabled = enabled; return obj; } }; /* */ handleBtnEnabled = (props, isReturn) => { const { masterConfig: masterConfigOld } = props; if (commonUtils.isNotEmptyObject(masterConfigOld)) { const masterConfig = JSON.parse(JSON.stringify(masterConfigOld)); const buttonConfig = masterConfig.gdsconfigformslave.filter( item => item.sName === "" && item.showName !== "" && item.sControlName !== "" ); if (commonUtils.isNotEmptyArr(buttonConfig)) { for (const btnItem of buttonConfig) { const iIndex = masterConfig.gdsconfigformslave.findIndex( item => btnItem.sId === item.sId ); let btndisabled = false; if (commonUtils.isNotEmptyStr(btnItem.sButtonEnabled)) { btndisabled = this.handleAnalysisBtnEnabled( props, btnItem, masterConfig.gdsconfigformslave ); } masterConfig.gdsconfigformslave[iIndex].disabled = btndisabled; // = { ...masterConfig.gdsconfigformslave[iIndex], disabled: btndisabled }; } } if (isReturn) { return { ...masterConfig }; } else { const addState = {}; addState.masterConfig = { ...masterConfig }; this.props.onSaveState({ ...addState }); } } }; handleAnalysisBtnEnabled = (props, currConfig, gdsconfigformslave) => { const { sButtonEnabled } = currConfig; let btndisabled = false; if (commonUtils.isNotEmptyObject(sButtonEnabled)) { const enabled = JSON.parse(sButtonEnabled); const solution = enabled.solution; const rowSelected = enabled.rowSelected; const buttonFilter = enabled.button; // const dataFilter = enabled.data; // 解析配置中 solution:["新工单"] if ( !( commonUtils.isNotEmptyArr(solution) && solution.includes(props.masterData.sSolutionName) ) ) { btndisabled = true; return btndisabled; } let disabledRowSelected; // 解析配置中 rowSelected: [{name:'master',rule:'&&'},{name:'slave',rule:'&&'}], if (commonUtils.isNotEmptyArr(rowSelected)) { let rule; let selectRt; let i = 0; for (const item of rowSelected) { const name = item.name; i += 1; if (commonUtils.isNotEmptyArr(props[`${name}SelectedRowKeys`])) { selectRt = true; // 表示 满足当前条件, } else { selectRt = false; } /* 只有1个配置: selectRt = true 当满足当前条件,按钮应该为亮,即当前btndisabled =false,不返回继续往下进行判断 selectRt = false 不当满足当前条件,按钮应该为灰色,即当前btndisabled =true,已经有条件不满足,按钮可直接定为灰色的,即直接返回true */ if (i === 1) { disabledRowSelected = selectRt; } else if (i > 1 && rule === "&&") { disabledRowSelected = selectRt && disabledRowSelected; } else if (i > 1 && rule === "||") { disabledRowSelected = selectRt || disabledRowSelected; } rule = item.rule; } if (!disabledRowSelected) { btndisabled = true; return btndisabled; } } // gdsconfigformslave[iIndex].disabled 为true 表示按钮至灰, false 表示按钮亮,可使用 let disabledButtonFilter; if (commonUtils.isNotEmptyArr(buttonFilter)) { let rule; let buttonRt; let i = 0; for (const item of buttonFilter) { i += 1; const name = item.name; const currDisabled = !item.enabled; const iIndex = gdsconfigformslave.findIndex( config => config.sControlName === name ); const tempDisabled = gdsconfigformslave[iIndex].disabled; if (tempDisabled === currDisabled) { buttonRt = true; } else { buttonRt = false; } if (i === 1) { disabledButtonFilter = buttonRt; } else if (i > 1 && rule === "&&") { disabledButtonFilter = buttonRt && disabledRowSelected; } else if (i > 1 && rule === "||") { disabledButtonFilter = buttonRt || disabledRowSelected; } rule = item.rule; } if (!disabledButtonFilter) { btndisabled = true; return btndisabled; } } } return btndisabled; }; /** 根据二级菜单获取三级数据 */ handleMouseEnter = e => { if ( commonUtils.isNotEmptyStr(e.key) && this.props.onSearchUpDownThird !== undefined ) { this.props.onSearchUpDownThird(e.key); } }; handleImport = async (proName, proInParam) => { this.props.onSaveState({ loading: true }); const { sModelsId, masterData, slaveData, slaveDelData: slaveDelDataOld, app } = this.props; const btnConfig = this.props.masterConfig.gdsconfigformslave.filter( item => item.sControlName === "BtnCommonImport" )[0]; // sButtonEnabled sButtonParam if ( !commonUtils.isNotEmptyObject(btnConfig) || !commonUtils.isNotEmptyStr(btnConfig.sButtonParam) ) { message.error("请配置按钮的存储过程"); this.props.onSaveState({ loading: false }); } const sButtonParam = btnConfig.sButtonParam; const btn = JSON.parse(sButtonParam); const sProName = btn.sproName; const inParams = []; const inMap = btn.inMap; const inlist = inMap.split(","); const masterArr = []; const slaveArr = []; const slaveInfoArr = []; const controlArr = []; const materialsArr = []; const processArr = []; if (inlist.length > 0) { inlist.forEach(item => { const itemArr = item.split("."); if (itemArr.length > 0) { const sname = itemArr[0]; const stype = itemArr[1]; if (commonUtils.isNotEmptyStr(sname) && sname === "master") { masterArr.push(stype); } if (commonUtils.isNotEmptyStr(sname) && sname === "slave") { slaveArr.push(stype); } if (commonUtils.isNotEmptyStr(sname) && sname === "slaveInfo") { slaveInfoArr.push(stype); } if (commonUtils.isNotEmptyStr(sname) && sname === "control") { controlArr.push(stype); } if (commonUtils.isNotEmptyStr(sname) && sname === "materials") { materialsArr.push(stype); } if (commonUtils.isNotEmptyStr(sname) && sname === "process") { processArr.push(stype); } } }); if ( commonUtils.isNotEmptyArr(masterArr) && commonUtils.isNotEmptyObject(masterData) ) { const addState = {}; addState.key = "master"; const val = []; const currVal = {}; masterArr.forEach(filed => { currVal[`${filed}`] = masterData[`${filed}`]; }); val.push(currVal); addState.value = val; inParams.push({ ...addState }); } if (commonUtils.isNotEmptyArr(slaveArr)) { const addState = this.handleProParams("slave", slaveArr); if (commonUtils.isNotEmptyObject(addState)) { inParams.push({ ...addState }); } } if (commonUtils.isNotEmptyArr(slaveInfoArr)) { const addState = this.handleProParams("slaveInfo", slaveInfoArr); if (commonUtils.isNotEmptyObject(addState)) { inParams.push({ ...addState }); } } if (commonUtils.isNotEmptyArr(controlArr)) { const addState = this.handleProParams("control", controlArr); if (commonUtils.isNotEmptyObject(addState)) { inParams.push({ ...addState }); } } if (commonUtils.isNotEmptyArr(materialsArr)) { const addState = this.handleProParams("materials", materialsArr); if (commonUtils.isNotEmptyObject(addState)) { inParams.push({ ...addState }); } } if (commonUtils.isNotEmptyArr(processArr)) { const addState = this.handleProParams("process", processArr); if (commonUtils.isNotEmptyObject(addState)) { inParams.push({ ...addState }); } } } const value = { sProName, sProInParam: JSON.stringify({ params: inParams }) }; const url = `${ commonConfig.server_host }procedureCall/doGenericProcedureCall?sModelsId=${sModelsId}`; const dataReturn = (await commonServices.postValueService( app.token, value, url )).data; // const url = `${commonConfig.server_host}eleMaterialsStock/getEleMaterialsStock?sModelsId=${sModelsId}&sWareHouseId=${masterData.sWareHouseId}&num=${num}`; // const dataReturn = (await commonServices.getService(this.props.app.token, url)).data; if (dataReturn.code === 1) { const returnData = dataReturn.dataset.rows; const slaveDelData = commonUtils.isEmptyArr(slaveDelDataOld) ? [] : slaveDelDataOld; slaveData.forEach(item => { item.handleType = "del"; slaveDelData.push({ ...item }); }); returnData.forEach((item, index) => { item.handleType = "add"; item.sParentId = masterData.sId; item.iOrder = index + 1; returnData[index] = { ...item }; }); this.props.onSaveState({ slaveData: returnData, slaveDelData }); } else { this.props.getServiceError(dataReturn); } this.props.onSaveState({ loading: false }); }; /** 菜单的点击事件 */ handleClick = e => { let checkedBoolean = false; let obj = { enabled: false }; const { checked, checkedId } = this.state; const { key, keyPath } = e; if (checked && checkedId === key) { checkedBoolean = true; } /* 新增 */ if (key === "BtnAdd") { /* 增加 */ this.handleAdd(obj); } else if (key === "BtnClose") { const { dispatch, onSaveCurrentState, slaveData } = this.props; const { app } = this.props; let copyToSlaveData = []; if ( commonUtils.isNotEmptyObject(app) && app.currentPane && app.currentPane.copyTo ) { copyToSlaveData = app.currentPane.copyTo.slaveData; } const { userinfo } = app; /* 关闭界面时 清除操作锁定 */ if (commonUtils.isNotEmptyArr(slaveData)) { const sIdArray = []; slaveData.forEach(item => { const redisKey = commonUtils.isNotEmptyObject(item.sOriginalId) ? item.sOriginalId : commonUtils.isNotEmptyObject(item.sSlaveId) ? item.sSlaveId : item.sSrcSlaveId; sIdArray.push(redisKey); }); if (commonUtils.isNotEmptyArr(copyToSlaveData)) { copyToSlaveData.forEach(item => { const redisKey = item.sSlaveId; sIdArray.push(redisKey); }); } const sId = sIdArray.toString(); console.log("关闭解锁:", sId); this.props.handleSendSocketMessage( "copyfinish", "noAction", sId, userinfo.sId, null, null ); } dispatch(routerRedux.push("/indexOee/processReport")); onSaveCurrentState( undefined, undefined, undefined, undefined, undefined, true ); // 变为当前设备的未清页面 } else if (key === "BtnAddChild") { /* 分类增加子级 */ this.handleAddChild(obj); } else if (key === "BtnUpd") { /* 修改 */ this.props.onEdit(obj); } else if (key === "BtnSave") { /* 保存 */ this.props.onSaveState({ loading: true }); /* 生产主计划重置数据变化状态 */ this.props.onSaveState({ dataChanged: false }); setTimeout(() => { this.props.onSubmit(); }, 500); } else if (key === "BtnExamine") { /* 审核 */ this.props.onSaveState({ loading: true }); this.props.onBtnExamine(); } else if (key === "BtnCancelExamine") { /* 消审 */ this.props.onSaveState({ loading: true }); this.props.onBtnCancelExamine(); } else if (key.indexOf("BtnBsOperation") > -1) { /* 作废、取消作废 */ if (key === "BtnBsOperation.BtnInvalid") { obj = { title: "确定要作废", handleType: "toVoid" }; this.props.onChangeInvalid(obj); } else { const name = key.split("."); this.props.onButtonClick(name[1]); } } else if (key === "BtnInvalid") { obj = { title: "确定要作废", handleType: "toVoid" }; this.props.onChangeInvalid(obj); } else if (key === "BtnCancelInvalid") { obj = { title: "确定取消作废", handleType: "cancel" }; this.props.onChangeInvalid(obj); } else if (key === "BtnGetWeight") { // 获取重量 this.props.onGetWeight(); } else if (key.indexOf("BtnCopyTo") > -1) { /* 复制到 */ // && commonUtils.isNotEmptyStr(e.item.props.sActiveId) this.props.onCopyTo(e.key, e.item.props["data-sactiveid"]); } else if ( key.indexOf("BtnCopyFrom") > -1 && commonUtils.isNotEmptyStr(e.item.props["data-sactiveid"]) ) { /* 复制从 */ obj = { copyFromKey: key, copyFromSActiveId: e.item.props["data-sactiveid"] }; this.props.onCopyFrom(obj); } else if (key.indexOf("BtnEject") > -1) { /* 自定义接口弹出 */ const { masterConfig, masterData } = this.props; const buttonConfig = masterConfig.gdsconfigformslave.filter( item => item.sName === "" && item.showName !== "" && item.sControlName === key ); if (commonUtils.isNotEmptyStr(buttonConfig)) { const sActiveKey = buttonConfig[0].sActiveKey; /* 拿到表名 */ if (commonUtils.isNotEmptyObject(sActiveKey)) { let tbName = "slave"; /* 表名 */ const btnName = key; /* 按钮名 */ let record = {}; /* 选中行 */ let iIndex = -1; const splitData = sActiveKey.split("."); if (commonUtils.isNotEmptyStr(splitData) && splitData.length > 1) { tbName = splitData[0]; /* 表名 */ if (tbName === "master") { record = masterData; } else { const { [`${tbName}SelectedRowKeys`]: tableSelectedRowKeys, [`${tbName}Data`]: tableData } = this.props; if (commonUtils.isNotEmptyStr(tableData)) { iIndex = tableData.findIndex(item => tableSelectedRowKeys.includes(item.sSlaveId) ); if (iIndex > -1) { record = tableData[iIndex]; } } } } this.props.onViewClick(tbName, btnName, record, iIndex); } } } else if ( keyPath.indexOf("BtnBsOperation.BtnUpCheck") > -1 && commonUtils.isNotEmptyStr(e.item.props["data-sactiveid"]) && key.indexOf("BtnBsOperation.BtnUpCheck") < 0 ) { /* 上查 */ /* key.indexOf('BtnUpCheck') < 0 用于防止用户点击二级菜单时的跳转 */ this.props.onSearchUpDown(key, e.item.props["data-sactiveid"]); } else if ( keyPath.indexOf("BtnBsOperation.BtnDownCheck") > -1 && commonUtils.isNotEmptyStr(e.item.props["data-sactiveid"]) && key.indexOf("BtnBsOperation.BtnDownCheck") < 0 ) { /* 下查 */ /* key.indexOf('BtnDownCheck') < 0 用于防止用户点击二级菜单时的跳转 */ this.props.onSearchUpDown(key, e.item.props["data-sactiveid"]); } else if (key === "BtnNext") { /* 下一条 */ this.props.onNext(); } else if (key === "BtnPrior") { /* 上一条 */ this.props.onBtnPrior(); } else if (key === "BtnFirst") { /* 首条 */ this.props.onBtnFirst(); } else if (key === "BtnLast") { /* 末条 */ this.props.onBtnLast(); } else if (key === "BtnCancel") { /* 取消 */ obj = { title: "确定要取消" }; this.props.onCancel(obj); } else if ( key.indexOf("BtnPrint") > -1 && commonUtils.isNotEmptyStr(e.item.props["data-sactiveid"]) ) { /* 打印 */ this.props.onBtnPrint( e.item.props["data-sactiveid"], checkedBoolean, e.key ); } else if (key === "BtnDel") { /* 删除 */ obj = { title: "确定要删除" }; this.props.onDel(obj); } else if (key === "BtnGetGoods") { this.props.onGetGoods(); } else if (key.indexOf("BtnUpload") > -1) { /* 上传 */ this.props.onSaveState({ visibleFilfile: true }); } else if (key.startsWith("BtnEvent")) { this.props.onSaveState({ loading: true }); const btnConfig = this.props.masterConfig.gdsconfigformslave.filter( item => item.sControlName === key )[0]; // sButtonEnabled sButtonParam if ( commonUtils.isNotEmptyObject(btnConfig) && commonUtils.isNotEmptyStr(btnConfig.sButtonParam) ) { this.handleBtnEent(btnConfig); } else { message.error("请配置按钮的存储过程"); this.props.onSaveState({ loading: false }); } } else if (key.indexOf("BtnRepair") > -1) { if (key.toLowerCase().endsWith("choosedate")) { this.handleForceComplete(key, "chooseDate"); } else { this.handleForceComplete(key); } } else if ( key === "BtnForceComplete" || key === "BtnNoPurchase" || key === "BtnForceComplete2" || key === "BtnForceComplete3" ) { this.handleForceComplete(key); } else if (key === "BtnUpPbOrder") { this.props.onSaveState({ upPbOrderVisible: true }); } else if (key === "BtnDlPbOrder") { this.props.onSaveState({ dlPbOrderVisible: true }); } else if (key === "BtnCommonImport") { this.handleImport(); } else if (this.props.onButtonClick !== undefined) { this.props.onButtonClick(key); } }; /* 新增 */ handleAdd = () => { this.props.onAdd(); }; /* 新增子级 */ handleAddChild = obj => { this.props.onAddChild(obj); }; handleFilfileManageCancel = modelVisible => { this.props.onSaveState({ [modelVisible]: false }); }; handleFilfileManageOk = ( modelVisible, selectConfig, filfileSelectedData, sSrcSlaveId, filfileDelData ) => { if (commonUtils.isNotEmptyObject(sSrcSlaveId)) { /* 工单、工艺卡、报价单控制表数据带回 */ let controlFilfileData = []; let controlFilfileDelData = []; if (commonUtils.isNotEmptyArr(filfileSelectedData)) { controlFilfileData = filfileSelectedData.filter( item => item.sSrcSlaveId === sSrcSlaveId ); /* 控制表选中行上传的图片数组 */ } if (commonUtils.isNotEmptyArr(filfileDelData)) { controlFilfileDelData = filfileDelData.filter( item => item.sSrcSlaveId === sSrcSlaveId ); } this.props.onFilfileManageOk( controlFilfileData, controlFilfileDelData, sSrcSlaveId ); } this.props.onSaveState({ [modelVisible]: false }); }; // 获取订单中的取消 handleCancel = () => { this.setState({ inputChange: "" }); this.props.onGetGoodsCancle(); }; // 获取订单中的确定 handleOk = () => { this.props.onGetGoodsValue(this.state.inputChange); }; // 获取订单中的值变化 handleInputChange = e => { this.setState({ inputChange: e.target.value }); }; radioClick = (Child, e) => { e.stopPropagation(); this.setState({ // eslint-disable-next-line react/no-unused-state checked: e.target.checked, checkedId: Child.sControlName }); }; // 进行存储过程按钮存储过程参数解析拼接 根据存储过程按钮参数配置进行解析,配置是json格式 {"sproName":"cal_sss","inMap":"master.sSlaveId,slave.sId"} handleBtnEent = (btnConfig, name, sValue) => { if ( commonUtils.isNotEmptyObject(btnConfig) && (btnConfig.sControlName === "BtnEventReceiveReturn" || btnConfig.sControlName === "BtnEventReceive") ) { // 刀模归还, 刀模领用判断是否选择数据 const { slaveSelectedRowKeys, app } = this.props; if ( slaveSelectedRowKeys && commonUtils.isEmptyArr(slaveSelectedRowKeys) ) { message.warn( commonFunc.showMessage(app.commonConst, "pleaseChooseData") ); // 请选择记录 this.props.onSaveState({ loading: false }); return; } } const { masterData, sCurrMemoProps } = this.props; if ( commonUtils.isNotEmptyObject(name) && name.indexOf("BtnRepair") > -1 && commonUtils.isNotEmptyObject(sCurrMemoProps) ) { sCurrMemoProps.bVisibleMemo = false; this.props.onSaveState({ sCurrMemoProps }); } const sButtonParam = btnConfig.sButtonParam; const btn = JSON.parse(sButtonParam); const sProName = btn.sproName; const inParams = []; const inMap = btn.inMap; const inlist = inMap.split(","); const masterArr = []; const slaveArr = []; const slaveInfoArr = []; const controlArr = []; const materialsArr = []; const processArr = []; if (inlist.length > 0) { inlist.forEach(item => { const itemArr = item.split("."); if (itemArr.length > 0) { const sname = itemArr[0]; const stype = itemArr[1]; if (commonUtils.isNotEmptyStr(sname) && sname === "master") { masterArr.push(stype); } if (commonUtils.isNotEmptyStr(sname) && sname === "slave") { slaveArr.push(stype); } if (commonUtils.isNotEmptyStr(sname) && sname === "slaveInfo") { slaveInfoArr.push(stype); } if (commonUtils.isNotEmptyStr(sname) && sname === "control") { controlArr.push(stype); } if (commonUtils.isNotEmptyStr(sname) && sname === "materials") { materialsArr.push(stype); } if (commonUtils.isNotEmptyStr(sname) && sname === "process") { processArr.push(stype); } } }); if ( commonUtils.isNotEmptyArr(masterArr) && commonUtils.isNotEmptyObject(masterData) ) { const addState = {}; addState.key = "master"; const val = []; const currVal = {}; masterArr.forEach(filed => { currVal[`${filed}`] = masterData[`${filed}`]; }); val.push(currVal); addState.value = val; inParams.push({ ...addState }); } if (commonUtils.isNotEmptyArr(slaveArr)) { const addState = this.handleProParams("slave", slaveArr); if (commonUtils.isNotEmptyObject(addState)) { inParams.push({ ...addState }); } } if (commonUtils.isNotEmptyArr(slaveInfoArr)) { const addState = this.handleProParams("slaveInfo", slaveInfoArr); if (commonUtils.isNotEmptyObject(addState)) { inParams.push({ ...addState }); } } if (commonUtils.isNotEmptyArr(controlArr)) { const addState = this.handleProParams("control", controlArr); if (commonUtils.isNotEmptyObject(addState)) { inParams.push({ ...addState }); } } if (commonUtils.isNotEmptyArr(materialsArr)) { const addState = this.handleProParams("materials", materialsArr); if (commonUtils.isNotEmptyObject(addState)) { inParams.push({ ...addState }); } } if (commonUtils.isNotEmptyArr(processArr)) { const addState = this.handleProParams("process", processArr); if (commonUtils.isNotEmptyObject(addState)) { inParams.push({ ...addState }); } } } this.handleProcedureCall( btnConfig, sProName, JSON.stringify({ params: inParams, changeValue: sValue }) ); }; // 存储过程按钮调用存储过程 handleProcedureCall = async (btnConfig, proName, proInParam) => { const { app, sModelsId } = this.props; const value = { sProName: proName, sProInParam: proInParam }; const url = `${ commonConfig.server_host }procedureCall/doGenericProcedureCall?sModelsId=${sModelsId}`; const returnData = (await commonServices.postValueService( app.token, value, url )).data; if (returnData.code === 1) { message.success(returnData.msg); this.props.onButtonClick("BtnRefresh"); } else { this.props.getServiceError(returnData); } this.props.onSaveState({ loading: false }); // 点击返回重排的时候刷新树 if (btnConfig.sControlName === "BtnEventReturn") { if (this.props.refreshTreeData) { this.props.refreshTreeData(); } } }; // 根据配置解析拼接具体参数 handleProParams = (sKey, arr) => { const { [`${sKey}Data`]: tableData, [`${sKey}SelectedRowKeys`]: selectedRowKeys } = this.props; const keyData = commonUtils.isNotEmptyArr(tableData) && commonUtils.isNotEmptyArr(selectedRowKeys) ? tableData.filter( item => selectedRowKeys.includes(item.sId) || selectedRowKeys.includes(item.sSlaveId) ) : []; if (commonUtils.isNotEmptyArr(keyData)) { const addState = {}; addState.key = sKey; const val = []; keyData.forEach(currData => { const currVal = {}; arr.forEach(filed => { currVal[`${filed}`] = currData[`${filed}`]; }); val.push(currVal); }); addState.value = val; return addState; } else { return undefined; } }; /* 双击弹出Memo */ handleGetMemo = ( name, sValue, sMemoFiled, sRecord, bVisibleMemo, btnConfig ) => { const { sCurrMemoProps } = this.props; sCurrMemoProps.bVisibleMemo = false; if (btnConfig.length > 0) { sRecord[sMemoFiled] = sValue; this.props.onSaveState({ sCurrMemoProps }); this.handleToForceComplete(sValue); } else { let { [`${name}Data`]: tableData } = this.props; const addStata = { [`${sMemoFiled}`]: sValue }; if (name !== "master") { const iIndex = tableData.findIndex(item => item.sId === sRecord.sId); let handleType = tableData[iIndex].handleType; /* 获取操作类型 */ handleType = commonUtils.isEmpty(handleType) ? "update" : handleType; addStata.handleType = handleType; tableData[iIndex] = { ...tableData[iIndex], ...addStata }; } else { let handleType = tableData.handleType; /* 获取操作类型 */ handleType = commonUtils.isEmpty(handleType) ? "update" : handleType; addStata.handleType = handleType; tableData = { ...tableData, ...addStata }; } this.props.onSaveState({ ...sCurrMemoProps, [`${name}Data`]: tableData }); } }; /* 点击隐藏Memo 弹窗 */ handleGetMemoCancel = () => { const { sCurrMemoProps } = this.props; sCurrMemoProps.bVisibleMemo = false; this.props.onSaveState({ sCurrMemoProps }); }; handleForceComplete = (name, createDate) => { let sysLogData = {}; const slaveMemoConfigOld = []; if (createDate !== "chooseDate") { const { slaveSelectedRowKeys, slaveInfoSelectedRowKeys, app, masterConfig, slaveInfoData, masterData } = this.props; const btnConfig = masterConfig.gdsconfigformslave.filter( item => item.sControlName === name )[0]; // sButtonEnabled sButtonParam let target = ""; if (btnConfig.sActiveKey) { target = btnConfig.sActiveKey.split(",")[0].split(".")[0]; } if ( target !== "slaveInfo" && commonUtils.isEmptyArrNew(slaveSelectedRowKeys) ) { message.warn( commonFunc.showMessage(app.commonConst, "pleaseChooseData") ); // 请选择记录 } else if ( target === "slaveInfo" && commonUtils.isEmptyArrNew(slaveInfoSelectedRowKeys) ) { message.warn( commonFunc.showMessage(app.commonConst, "pleaseChooseData") ); // 请选择记录 } else if (target === "slaveInfo" && !Array.isArray(slaveInfoData)) { message.warn("请展开详情并选择数据。"); // 请选择记录 } else { let btnConfigNameArr = []; let singleConfig = {}; if (name.indexOf("BtnRepair") > -1) { if (!commonUtils.isEmpty(btnConfig.sActiveKey)) { btnConfigNameArr = btnConfig.sActiveKey.split(","); } if (commonUtils.isNotEmptyArr(btnConfigNameArr)) { // eslint-disable-next-line array-callback-return btnConfigNameArr.map(i => { let sIndex = -1; if (target === "slaveInfo") { sIndex = this.props.slaveInfoConfig.gdsconfigformslave.findIndex( item => item.sName === i.split(".")[1] ); } else { sIndex = this.props.slaveConfig.gdsconfigformslave.findIndex( item => item.sName === i ); } if (sIndex > -1) { if (target === "slaveInfo") { singleConfig = this.props.slaveInfoConfig.gdsconfigformslave[ sIndex ]; } else { singleConfig = this.props.slaveConfig.gdsconfigformslave[ sIndex ]; } if (masterData) { masterData[singleConfig.sName] = undefined; } slaveMemoConfigOld.push(singleConfig); } }); } } /* 时间格式的字段 若默认值为空 则取当前时间 */ const activeKeyData = commonUtils.isNotEmptyObject(btnConfig.sActiveKey) ? btnConfig.sActiveKey.split(",") : []; if (activeKeyData.length > 1) { /* 当多字段时候 若时间格式的字段 若默认值为空 则取当前时间 */ const filterData = activeKeyData.filter( item => item.substring(0, 1) === "t" ); if (commonUtils.isNotEmptyArr(filterData)) { filterData.forEach(item => { if ( commonUtils.isNotEmptyObject(masterData) && commonUtils.isEmpty(masterData[item]) ) { masterData[item] = moment().format("YYYY-MM-DD HH:mm:ss"); } }); } } else { if ( commonUtils.isNotEmptyObject(btnConfig.sActiveKey) && btnConfig.sActiveKey.substring(0, 1) === "t" ) { if ( commonUtils.isNotEmptyObject(masterData) && commonUtils.isEmpty(masterData[btnConfig.sActiveKey]) ) { masterData[btnConfig.sActiveKey] = moment().format( "YYYY-MM-DD HH:mm:ss" ); } } } sysLogData = { sId: slaveSelectedRowKeys.toString() }; this.props.onSaveState({ slaveMemoConfig: slaveMemoConfigOld, masterData, sCurrMemoProps: { bVisibleMemo: true, sMemoField: "sReason", sRecord: sysLogData, dataSource: sysLogData, btnName: name } }); } } else { const chooseDateConfig = { sId: commonUtils.createSid(), sName: "pChooseDate", sDropDownType: "sql", bNotEmpty: false, iVisCount: 1, dropDownData: [], showName: "生成凭证" }; slaveMemoConfigOld.push(chooseDateConfig); this.props.onSaveState({ slaveMemoConfig: slaveMemoConfigOld, sCurrMemoProps: { bVisibleMemo: true, sMemoField: "sReason", sRecord: sysLogData, dataSource: sysLogData, btnName: name } }); } }; handleToForceComplete = async sValue => { const { app, slaveSelectedRowKeys, slaveConfig, sModelsId, slaveInfoSelectedRowKeys, formRoute, masterConfig } = this.props; const { token } = app; let iIndex = -1; if (masterConfig && Array.isArray(masterConfig.gdsconfigformslave)) { iIndex = masterConfig.gdsconfigformslave.findIndex( item => item.sControlName === "BtnForceComplete" || item.sControlName === "BtnNoPurchase" ); } if ( iIndex < 0 && slaveConfig && Array.isArray(slaveConfig.gdsconfigformslave) ) { iIndex = slaveConfig.gdsconfigformslave.findIndex( item => item.sControlName === "BtnForceComplete" || item.sControlName === "BtnNoPurchase" ); } if (iIndex < 0) return; const btnConfig = slaveConfig.gdsconfigformslave[iIndex]; // const sRelation = btnConfig.sRelation; let selectedRowKeys = ""; if (formRoute === "/indexPage/materialRequirementsPlanning") { selectedRowKeys = slaveInfoSelectedRowKeys.toString(); } else { selectedRowKeys = slaveSelectedRowKeys.toString(); } const url = `${ commonConfig.server_host }bill/billForceComplete?sModelsId=${sModelsId}&sName=${formRoute}`; const values = { sqlParam: sRelation, sId: selectedRowKeys, sReason: sValue }; const masterReturn = (await commonServices.postValueService( token, values, url )).data; if (masterReturn.code === 1) { message.success(masterReturn.msg); this.props.onButtonClick("BtnRefresh"); } else { this.props.getServiceError(masterReturn); } }; /** 上传文件改变时的状态 */ handleUploadChange = async info => { const { slaveSelectedRowKeys, app, slaveSelectedData, sModelsId, token } = this.props; if ( slaveSelectedRowKeys === undefined || slaveSelectedRowKeys.length !== 1 ) { message.warn( commonFunc.showMessage(app.commonConst, "selectedRowKeysNo") ); /* 请先选择一条数据! */ return; } const { file } = info; if (file.response) { if (file.response.code === 1) { /* 成功 */ message.success(file.response.msg); const savePathStr = file.response.dataset.rows[0].savePathStr; const sId = commonUtils.isNotEmptyArr(slaveSelectedData) ? slaveSelectedData[0].sId : ""; const bFile = commonUtils.isNotEmptyArr(slaveSelectedData) ? slaveSelectedData[0].bCorrespondFile : ""; if (commonUtils.isNotEmptyObject(sId) && !bFile) { const url = `${ commonConfig.server_host }salesorder/updateOrderCorrespondFile?sModelsId=${sModelsId}`; const values = { sOrderId: sId, savePathStr }; const sReturn = (await commonServices.postValueService( token, values, url )).data; if (sReturn.code === 1) { this.props.onButtonClick("BtnRefresh"); } else { this.props.getServiceError(sReturn); } } } else { /* 失败 */ this.props.getServiceError({ msg: commonFunc.showMessage(app.commonConst, "reportDesign") + file.response }); /* 报表设计 */ } } }; /* 订单文件下载 */ handleBtnDownload = () => { const { slaveSelectedRowKeys, slaveData, app } = this.props; if (commonUtils.isEmptyArr(slaveSelectedRowKeys)) { message.warn( commonFunc.showMessage(app.commonConst, "selectedRowKeysNo") ); /* 请先选择一条数据 */ return; } const dataSelect = slaveData.filter(item => slaveSelectedRowKeys.includes(item.sSlaveId) ); const sBillNoArr = []; let sBillNoStr = ""; if (commonUtils.isNotEmptyArr(dataSelect)) { dataSelect.forEach(item => { sBillNoArr.push(item.sBillNo); }); sBillNoStr = JSON.stringify(sBillNoArr); } if (commonUtils.isNotEmptyArr(sBillNoArr)) { const urlPrint = `${commonConfig.file_host}file/downloadPbOrder`; this.handleOpenPost(urlPrint, sBillNoStr); } }; handleOpenPost = (url, params) => { const newWin = window.open(); let formStr = ""; formStr = `
` + `` + "
"; newWin.document.body.innerHTML = formStr; newWin.document.forms[0].submit(); return newWin; }; /** 渲染 */ render() { const { menuData, searchUpDownData } = this.state; const { loading, sModelsId, masterConfig, visibleFilfile, copyFromChooseVisible, app, sTabId, controlSelectedRowKeys, sModelsType, slaveSelectedData, slaveSelectedRowKeys, formRoute, slaveData } = this.props; const pane = app.panes.filter(paneTmp => paneTmp.key === sTabId)[0]; const filfileManageTitle = commonFunc.showMessage( app.commonConst, "filfileManageTitle" ); /* 通用文件上传 */ const getGoodsTitle = commonFunc.showMessage( app.commonConst, "getGoodsTitle" ); /* 获取订单表头 */ const getGoodsPlaceholder = commonFunc.showMessage( app.commonConst, "handleNoWebOrderIds" ); /* 获取订单输入框字样 */ let btnUploadConfig = {}; if (commonUtils.isNotEmptyObject(masterConfig)) { const iIndex = masterConfig.gdsconfigformslave.findIndex( item => item.sControlName === "BtnUpload" ); if (iIndex > -1) { btnUploadConfig = this.props.masterConfig.gdsconfigformslave[iIndex]; } } let sSlaveId = ""; let selectedsId = ""; /* 列表选中行或窗体sFormId */ const bList = formRoute === "/indexPage/commonList"; if ( (sModelsType === "manufacture/workOrder" || sModelsType === "manufacture/workOrder3" || sModelsType === "quotation/quotation") && commonUtils.isNotEmptyArr(controlSelectedRowKeys) ) { sSlaveId = controlSelectedRowKeys[0]; /* 控制表选中行ID */ } else if (bList) { /* HM订单准印资质列表 sSrcId为列表选中行sId */ if (sModelsType === "HMOrderList") { if (commonUtils.isNotEmptyArr(slaveSelectedRowKeys)) { selectedsId = slaveSelectedRowKeys[0]; } } else { selectedsId = commonUtils.isNotEmptyArr(slaveData) && commonUtils.isNotEmptyObject(slaveData[0].sFormId) ? slaveData[0].sFormId : ""; /* 列表从表的sFormId */ } } const { masterData, visibleGetGoods } = this.props; const filfilemanageType = { app: { ...this.props.app, currentPane: { name: "elefilfilemanage", config: btnUploadConfig, conditonValues: { sSrcId: commonUtils.isNotEmptyObject(selectedsId) ? selectedsId : commonUtils.isNotEmptyObject(masterData) ? masterData.sId : "" }, title: filfileManageTitle, route: "/elefilfilemanage", formId: "15864832090002447752315825731600", key: `${sModelsId}15864832090002447752315825731600`, sModelsType: "element/filfilemanage", sSrcNo: bList ? commonUtils.isNotEmptyArr(slaveData) ? slaveData[0].sBillNo : "" : commonUtils.isNotEmptyObject(masterData) ? masterData.sBillNo : "" /* 源单号 */, sSrcFormId: bList ? commonUtils.isNotEmptyArr(slaveData) ? slaveData[0].sFormId : "" : commonUtils.isNotEmptyObject(masterData) ? masterData.sFormId : "" /* 源单窗体Id */, sSrcId: commonUtils.isNotEmptyObject(selectedsId) ? selectedsId : commonUtils.isNotEmptyObject(masterData) ? masterData.sId : "" /* 源单Id */, sSrcSlaveId: commonUtils.isNotEmptyObject(sSlaveId) ? sSlaveId : "" /* 工单控制表选中行 */, onFilfileOk: this.handleFilfileManageOk, onFilfileCancel: this.handleFilfileManageCancel } }, config: btnUploadConfig, enabled: true /*this.props.enabled */, dispatch: this.props.dispatch, content: this.props.content, id: new Date().getTime().toString() }; /* 通用复制从调用 */ let copyFromType = {}; let copyFromConfig = {}; let copyFromTitle = "自定义复制从窗体"; /* 复制从工艺卡查询结果 */ if (commonUtils.isNotEmptyObject(this.props.copyFromChooseData)) { const copyFromKey = this.props.copyFromKey; const iIndex = this.props.masterConfig.gdsconfigformslave.findIndex( item => item.sControlName === copyFromKey ); if (iIndex > -1) { copyFromConfig = this.props.masterConfig.gdsconfigformslave[iIndex]; copyFromTitle = commonUtils.isNotEmptyObject(copyFromConfig) ? copyFromConfig.sActiveName : copyFromTitle; } copyFromType = { app: { ...this.props.app, currentPane: { name: "commonCopyFrom", config: copyFromConfig, conditonValues: this.props.getSqlCondition(copyFromConfig), title: this.props.copyFromChooseData.sMenuName, route: this.props.copyFromChooseData.sName, formId: this.props.copyFromChooseData.sId, key: sModelsId + this.props.copyFromChooseData.sId, sModelsType: this.props.copyFromChooseData.sModelType, select: this.props.onCopyFromSelect /* 自定义复制从窗体时间 */, selectCancel: this.handleFilfileManageCancel.bind( this, "copyFromChooseVisible" ) } }, dispatch: this.props.dispatch, content: this.props.content, id: new Date().getTime().toString() }; } let upPbOrderProps = {}; let sBillNo = ""; if (commonUtils.isNotEmptyArr(slaveSelectedData)) { sBillNo = slaveSelectedData[0].sBillNo; } upPbOrderProps = { action: `${ commonConfig.file_host }file/uploadPbOrder?sModelsId=${sModelsId}&&sOrderNo=${sBillNo}`, onChange: this.handleUploadChange, accept: ".pdf", showUploadList: false, beforeUpload: () => { if (commonUtils.isEmptyObject(sBillNo)) { const noUpload = commonFunc.showMessage( app.commonConst, "NoUpload" ); /* 禁止上传 */ message.error(noUpload); return false; } } }; return (
{menuData.map(item => { const { child, iconName, showName, sColorTerms } = item; const sColor = commonUtils.isNotEmptyObject(sColorTerms) ? sColorTerms : "#006fc8"; return child.length > 1 ? ( {child.map(eachChild => { if ( eachChild.sControlName === "BtnBsOperation.BtnUpCheck" || eachChild.sControlName === "BtnBsOperation.BtnDownCheck" ) { return ( {eachChild.child.map(threeChild => { if ( commonUtils.isNotEmptyObject(searchUpDownData) && commonUtils.isNotEmptyArr( searchUpDownData[threeChild.sControlName] ) ) { return ( {searchUpDownData[ threeChild.sControlName ].map(fourMenuItem => { return ( {fourMenuItem.showName} ); })} ); } else { return ""; } })} ); } else { return ( {eachChild.showName} {eachChild.sControlName.indexOf("BtnPrint") > -1 ? ( ) : ( "" )} ); } })} ) : child.length === 1 ? ( {item.sName === "BtnPrint" ? showName : child[0].showName} ) : ( {commonUtils.isNotEmptyObject(item.sControlName) && item.sControlName.indexOf("BtnUpPbOrder") > -1 ? (
{showName}
) : commonUtils.isNotEmptyObject(item.sControlName) && item.sControlName.indexOf("BtnDlPbOrder") > -1 ? (
this.handleBtnDownload()} > {" "} {showName}
) : (
{showName}
)}
); })}
); } } export default ToolBarComponent;