diff --git a/src/components/Common/CommonNewBill.js b/src/components/Common/CommonNewBill.js index 0486a7f..b2f4156 100644 --- a/src/components/Common/CommonNewBill.js +++ b/src/components/Common/CommonNewBill.js @@ -1557,6 +1557,7 @@ const BillComponent = Form.create({ } = props; const masterConfig = props.onMergeMasterConfig(); const masterConfigOld = { ...masterConfig }; + const sLanguage = app?.userinfo?.sLanguage; /* 回带表单 */ onReturnForm(form); const autoHeight = `calc( ${AutoTableHeight} - 96px)`; @@ -2046,7 +2047,7 @@ const BillComponent = Form.create({ onChange: props.onTitleChange.bind(this, "slave0"), }, }; - + if (sModelsId === '16411004790004762980820285096000') { slaveTableProps.tableProps.AutoTableHeight = 344 slaveTableProps.isDragAndDrop = true @@ -2347,6 +2348,57 @@ const BillComponent = Form.create({ } } + /* 悬浮Tip */ + const mainContentChinese = commonUtils.isNotEmptyArr(masterConfig?.gdsconfigformslave?.filter(item => item.sControlName === "MainContent")) + ? masterConfig.gdsconfigformslave.filter(item => item.sControlName === "MainContent")[0].sChinese + : commonFunc.showChineseMessage(app.commonConst, "MainContent"); /* 从表信息 */ + const materialsInfoChinese = commonUtils.isNotEmptyArr(masterConfig?.gdsconfigformslave?.filter(item => item.sControlName === "zMaterials")) + ? masterConfig.gdsconfigformslave.filter(item => item.sControlName === "zMaterials")[0].sChinese + : commonFunc.showChineseMessage(app.commonConst, "zMaterials"); /* 表一 */ + const checkInfoChinese = commonUtils.isNotEmptyArr(masterConfig?.gdsconfigformslave?.filter(item => item.sControlName === "zCheck")) + ? masterConfig.gdsconfigformslave.filter(item => item.sControlName === "zCheck")[0].sChinese + : commonFunc.showChineseMessage(app.commonConst, "zCheck"); /* 表二 */ + const slaveInfo0Chinese = commonUtils.isNotEmptyArr(masterConfig?.gdsconfigformslave?.filter(item => item.sControlName === "zSlaveInfo0")) + ? masterConfig.gdsconfigformslave.filter(item => item.sControlName === "zSlaveInfo0")[0].sChinese + : commonFunc.showChineseMessage(app.commonConst, "zSlaveInfo0"); /* 表三 */ + const slaveInfo1Chinese = commonUtils.isNotEmptyArr(masterConfig?.gdsconfigformslave?.filter(item => item.sControlName === "zSlaveInfo1")) + ? masterConfig.gdsconfigformslave.filter(item => item.sControlName === "zSlaveInfo1")[0].sChinese + : commonFunc.showChineseMessage(app.commonConst, "zSlaveInfo1"); /* 表四 */ + const slaveInfo2Chinese = commonUtils.isNotEmptyArr(masterConfig?.gdsconfigformslave?.filter(item => item.sControlName === "zSlaveInfo2")) + ? masterConfig.gdsconfigformslave.filter(item => item.sControlName === "zSlaveInfo2")[0].sChinese + : commonFunc.showChineseMessage(app.commonConst, "zSlaveInfo2"); /* 表五 */ + const slaveInfo3Chinese = commonUtils.isNotEmptyArr(masterConfig?.gdsconfigformslave?.filter(item => item.sControlName === "zSlaveInfo3")) + ? masterConfig.gdsconfigformslave.filter(item => item.sControlName === "zSlaveInfo3")[0].sChinese + : commonFunc.showChineseMessage(app.commonConst, "zSlaveInfo3"); /* 表六 */ + const slaveInfo4Chinese = commonUtils.isNotEmptyArr(masterConfig?.gdsconfigformslave?.filter(item => item.sControlName === "zSlaveInfo4")) + ? masterConfig.gdsconfigformslave.filter(item => item.sControlName === "zSlaveInfo4")[0].sChinese + : commonFunc.showChineseMessage(app.commonConst, "zSlaveInfo4"); /* 表七 */ + const slaveInfo5Chinese = commonUtils.isNotEmptyArr(masterConfig?.gdsconfigformslave?.filter(item => item.sControlName === "zSlaveInfo5")) + ? masterConfig.gdsconfigformslave.filter(item => item.sControlName === "zSlaveInfo5")[0].sChinese + : commonFunc.showChineseMessage(app.commonConst, "zSlaveInfo5"); /* 表八 */ + const slaveInfo6Chinese = commonUtils.isNotEmptyArr(masterConfig?.gdsconfigformslave?.filter(item => item.sControlName === "zSlaveInfo6")) + ? masterConfig.gdsconfigformslave.filter(item => item.sControlName === "zSlaveInfo6")[0].sChinese + : commonFunc.showChineseMessage(app.commonConst, "zSlaveInfo6"); /* 表九 */ + const slaveInfo7Chinese = commonUtils.isNotEmptyArr(masterConfig?.gdsconfigformslave?.filter(item => item.sControlName === "zSlaveInfo7")) + ? masterConfig.gdsconfigformslave.filter(item => item.sControlName === "zSlaveInfo7")[0].sChinese + : commonFunc.showChineseMessage(app.commonConst, "zSlaveInfo7"); /* 表十 */ + const slaveInfo8Chinese = commonUtils.isNotEmptyArr(masterConfig?.gdsconfigformslave?.filter(item => item.sControlName === "zSlaveInfo8")) + ? masterConfig.gdsconfigformslave.filter(item => item.sControlName === "zSlaveInfo8")[0].sChinese + : commonFunc.showChineseMessage(app.commonConst, "zSlaveInfo8"); /* 表十一 */ + + const mainContentTip = sLanguage === "sEnglish" ? slaveInfo + "-" + mainContentChinese : slaveInfo; + const materialsInfoTip = sLanguage === "sEnglish" ? materialsInfo + "-" + materialsInfoChinese : materialsInfo; + const checkInfoTip = sLanguage === "sEnglish" ? checkInfo + "-" + checkInfoChinese : checkInfo; + const slaveInfo0Tip = sLanguage === "sEnglish" ? slaveInfo0 + "-" + slaveInfo0Chinese : slaveInfo0; + const slaveInfo1Tip = sLanguage === "sEnglish" ? slaveInfo1 + "-" + slaveInfo1Chinese : slaveInfo1; + const slaveInfo2Tip = sLanguage === "sEnglish" ? slaveInfo2 + "-" + slaveInfo2Chinese : checkInfo; + const slaveInfo3Tip = sLanguage === "sEnglish" ? slaveInfo3 + "-" + slaveInfo3Chinese : checkInfo; + const slaveInfo4Tip = sLanguage === "sEnglish" ? slaveInfo4 + "-" + slaveInfo4Chinese : checkInfo; + const slaveInfo5Tip = sLanguage === "sEnglish" ? slaveInfo5 + "-" + slaveInfo5Chinese : checkInfo; + const slaveInfo6Tip = sLanguage === "sEnglish" ? slaveInfo6 + "-" + slaveInfo6Chinese : checkInfo; + const slaveInfo7Tip = sLanguage === "sEnglish" ? slaveInfo7 + "-" + slaveInfo7Chinese : checkInfo; + const slaveInfo8Tip = sLanguage === "sEnglish" ? slaveInfo8 + "-" + slaveInfo8Chinese : slaveInfo8; + let productProcessInfoType = {}; let productProcessInfoConfig = {}; let processCardSearchResult = commonFunc.showMessage(app.commonConst, "processCardSearchResult"); /* 复制从工艺卡查询结果 */ @@ -2820,13 +2872,15 @@ const BillComponent = Form.create({ // eslint-disable-next-line no-unused-vars let num = item.replace(/[^\d]/g, "").trim(); let tabName = item.replace(/\d+/g, ""); + let tipName = ""; /* 从主表配置 找到控件名=tabName,否则取他的showName */ const tableConfigArr = masterConfig?.gdsconfigformslave.filter(row => row.sControlName === item.trim()); if (commonUtils.isNotEmptyArr(tableConfigArr)) { tabName = tableConfigArr[0].showName; + tipName = sLanguage === "sEnglish" ? tabName + "-" + tableConfigArr[0].sChinese : tabName; } return ( - + {tabName}} key={num} className="xly-bill-list">
- + {slaveInfo}} className="xly-bill-list" key={10}>
{app.currentPane.title !== "功能模块界面设置单据" ? ( @@ -2907,13 +2961,15 @@ const BillComponent = Form.create({ // eslint-disable-next-line no-unused-vars let num = item.replace(/[^\d]/g, "").trim(); let tabName = item.replace(/\d+/g, ""); + let tipName = ""; /* 从主表配置 找到控件名=tabName,否则取他的showName */ const tableConfigArr = masterConfig?.gdsconfigformslave.filter(row => row.sControlName === item.trim()); if (commonUtils.isNotEmptyArr(tableConfigArr)) { tabName = tableConfigArr[0].showName; + tipName = sLanguage === "sEnglish" ? tabName + "-" + tableConfigArr[0].sChinese : tabName; } return ( - + {tabName}} key={num} className="xly-bill-list">
- + {materialsInfo}} className="xly-bill-list" key={20}>
{app.currentPane.title !== "功能模块界面设置单据" ? ( @@ -2995,13 +3051,15 @@ const BillComponent = Form.create({ // eslint-disable-next-line no-unused-vars let num = item.replace(/[^\d]/g, "").trim(); let tabName = item.replace(/\d+/g, ""); + let tipName = ""; /* 从主表配置 找到控件名=tabName,否则取他的showName */ const tableConfigArr = masterConfig?.gdsconfigformslave.filter(row => row.sControlName === item.trim()); if (commonUtils.isNotEmptyArr(tableConfigArr)) { tabName = tableConfigArr[0].showName; + tipName = sLanguage === "sEnglish" ? tabName + tableConfigArr[0].sChinese : tabName; } return ( - + {tabName}} key={num} className="xly-bill-list">
- + {checkInfo}} className="xly-bill-list" key={30}>
{props.app.currentPane.title !== "功能模块界面设置单据" ? (
@@ -3088,13 +3146,15 @@ const BillComponent = Form.create({ // eslint-disable-next-line no-unused-vars let num = item.replace(/[^\d]/g, "").trim(); let tabName = item.replace(/\d+/g, ""); + let tipName = ""; /* 从主表配置 找到控件名=tabName,否则取他的showName */ const tableConfigArr = masterConfig?.gdsconfigformslave.filter(row => row.sControlName === item.trim()); if (commonUtils.isNotEmptyArr(tableConfigArr)) { tabName = tableConfigArr[0].showName; + tipName = sLanguage === "sEnglish" ? tabName + tableConfigArr[0].sChinese : tabName; } return ( - + {tabName}} key={num} className="xly-bill-list">
- + {slaveInfo0}} className="xly-bill-list" key={40}>
@@ -3136,13 +3196,15 @@ const BillComponent = Form.create({ // eslint-disable-next-line no-unused-vars let num = item.replace(/[^\d]/g, "").trim(); let tabName = item.replace(/\d+/g, ""); + let tipName = ""; /* 从主表配置 找到控件名=tabName,否则取他的showName */ const tableConfigArr = masterConfig?.gdsconfigformslave.filter(row => row.sControlName === item.trim()); if (commonUtils.isNotEmptyArr(tableConfigArr)) { tabName = tableConfigArr[0].showName; + tipName = sLanguage === "sEnglish" ? tabName + tableConfigArr[0].sChinese : tabName; } return ( - + {tabName}} key={num} className="xly-bill-list">
- + {slaveInfo1}} className="xly-bill-list" key={50}>
@@ -3184,13 +3246,15 @@ const BillComponent = Form.create({ // eslint-disable-next-line no-unused-vars let num = item.replace(/[^\d]/g, "").trim(); let tabName = item.replace(/\d+/g, ""); + let tipName = ""; /* 从主表配置 找到控件名=tabName,否则取他的showName */ const tableConfigArr = masterConfig?.gdsconfigformslave.filter(row => row.sControlName === item.trim()); if (commonUtils.isNotEmptyArr(tableConfigArr)) { tabName = tableConfigArr[0].showName; + tipName = sLanguage === "sEnglish" ? tabName + tableConfigArr[0].sChinese : tabName; } return ( - + {tabName}} title={tipName} key={num} className="xly-bill-list">
- + {slaveInfo2}} className="xly-bill-list" key={60}>
@@ -3228,7 +3292,7 @@ const BillComponent = Form.create({ )} {onlyslave5 ? ( <> - + {slaveInfo3}} className="xly-bill-list" key={70}>
@@ -3244,7 +3308,7 @@ const BillComponent = Form.create({ )} {onlyslave6 ? ( <> - + {slaveInfo4}} className="xly-bill-list" key={80}>
@@ -3260,7 +3324,7 @@ const BillComponent = Form.create({ )} {onlyslave7 ? ( <> - + {slaveInfo5}} className="xly-bill-list" key={90}>
@@ -3276,7 +3340,7 @@ const BillComponent = Form.create({ )} {onlyslave8 ? ( <> - + {slaveInfo6}} className="xly-bill-list" key={100}>
@@ -3292,7 +3356,7 @@ const BillComponent = Form.create({ )} {onlyslave9 ? ( <> - + {slaveInfo7}} className="xly-bill-list" key={110}>
@@ -3308,7 +3372,7 @@ const BillComponent = Form.create({ )} {onlyslave10 ? ( <> - + {slaveInfo8} } className="xly-bill-list" key={150}>
@@ -3454,30 +3518,34 @@ const CommonEffectEvent = props => { preValue.current = newValue; const sBmRuleObj = commonUtils.convertStrToObj(sBmRule); - const addState = Object.keys(sBmRuleObj).filter(key => key !== "showName").reduce((result, key) => { - const list = sBmRuleObj[key]?.split("+") || []; - result[key] = list.map(item => item.trim().replace(/\'/g, '')).map(item => { - if (item !== '.' && item?.includes('.')) { - const [tableName, sFieldName] = item.split('.'); - return props[`${tableName}Data`]?.[sFieldName] || ""; - } - return item; - }).join(''); - return result; - }, {}); + const addState = Object.keys(sBmRuleObj) + .filter(key => key !== "showName") + .reduce((result, key) => { + const list = sBmRuleObj[key]?.split("+") || []; + result[key] = list + .map(item => item.trim().replace(/\'/g, "")) + .map(item => { + if (item !== "." && item?.includes(".")) { + const [tableName, sFieldName] = item.split("."); + return props[`${tableName}Data`]?.[sFieldName] || ""; + } + return item; + }) + .join(""); + return result; + }, {}); props.onSaveState({ masterData: { ...masterData, ...addState, - handleType: masterData.handleType || 'update', - } + handleType: masterData.handleType || "update", + }, }); - }, [watchFields, masterData]); return null; -} +}; // 工艺参数弹窗 const ModalComponent = props => { diff --git a/src/components/Common/CommonTable/index.js b/src/components/Common/CommonTable/index.js index 96c4eaf..29557c8 100644 --- a/src/components/Common/CommonTable/index.js +++ b/src/components/Common/CommonTable/index.js @@ -2843,9 +2843,9 @@ class CommonTableRc extends React.Component { let res = column.title; if (bNotEmpty) { - res =
{expandedAllIcon}* {column.title}
; + res =
{expandedAllIcon}* {column.title}
; } else { - res =
{expandedAllIcon}{column.title}
; + res =
{expandedAllIcon}{column.title}
; } if (column.dataIndex === 'bSelfCbx') { res =
this.onParamChange(e)}>
; @@ -6656,9 +6656,9 @@ class CommonTableRc extends React.Component { let childTitle = '' if (bNotEmpty) { - childTitle =
* {childTitleContent}
; + childTitle =
* {childTitleContent}
; } else { - childTitle =
{childTitleContent}
; + childTitle =
{childTitleContent}
; } return childTitle; } diff --git a/src/components/Common/PersonCenter/PersonCenter.js b/src/components/Common/PersonCenter/PersonCenter.js index 05f6b9d..6f84ad2 100644 --- a/src/components/Common/PersonCenter/PersonCenter.js +++ b/src/components/Common/PersonCenter/PersonCenter.js @@ -74,6 +74,10 @@ class PersonCenter extends Component { } // 检查是否有公告数据需要显示 this.checkNoticeData(); + const { userinfo } = this.props.app; + const { sLanguage } = userinfo; + document.querySelector('html').setAttribute('lang', sLanguage); + document.addEventListener('mouseover', this.handleShowTooltip); } componentWillReceiveProps(nextProps) { @@ -87,6 +91,110 @@ class PersonCenter extends Component { // 检查是否有新的公告数据 this.checkNoticeData(nextProps); } + + componentWillUnmount() { + document.removeEventListener('mouseover', this.handleShowTooltip); + } + + handleShowTooltip = (e) => { + clearTimeout(this.tooltipTimer); + this.tooltipTimer = setTimeout(() => { + try { + let target; + if (e.target.nodeName === 'DIV' && e.target.classList.contains('ant-tabs-tab-btn')) { + // eslint-disable-next-line prefer-destructuring + target = e.target; + } else if (e.target.nodeName === 'SPAN' && e.target.parentNode.classList.contains('ant-tabs-tab-btn')) { + target = e.target.parentNode; + } else if (e.target.nodeName === 'DIV' && e.target.classList.contains('th-div')) { + // eslint-disable-next-line prefer-destructuring + target = e.target; + } + + console.log('target', target); + + if (!target) return null; + if (target.title) { + return; + } + + const content = target.children.length ? target.children[0].innerText : target.innerText; + const tip = target.children.length ? target.children[0].getAttribute('data-tip') : target.getAttribute('data-tip'); + console.log(2222, tip); + this.showTooltipAtMouse(e, content, tip); + } catch (error) { + // eslint-disable-next-line no-empty + } + }, 500); + + clearTimeout(this.mouseTimer); + this.mouseTimer = setTimeout(() => { + if (e.target.id !== 'global-mouse-tooltip') { + const tooltip = document.getElementById('global-mouse-tooltip'); + if (tooltip) { + document.body.removeChild(tooltip); + } + } + }, 200); + } + + showTooltipAtMouse = (e, content, tip) => { + let tooltip = document.getElementById('global-mouse-tooltip'); + if (!tooltip) { + tooltip = document.createElement('div'); + tooltip.id = 'global-mouse-tooltip'; + Object.assign(tooltip.style, { + position: 'fixed', // 必须固定定位,否则left/top失效 + padding: '5px 10px', + background: '#1f2937', + color: '#ffffff', + fontSize: '12px', + borderRadius: '4px', + zIndex: '999999', // 超高层级,不会被其他组件盖住 + pointerEvents: 'none', // 不阻挡鼠标事件 + whiteSpace: 'nowrap', // 文字不换行 + opacity: '0', + transition: 'opacity 0.2s ease', + boxShadow: '0 4px 16px rgba(0,0,0,0.35)', + }); + document.body.appendChild(tooltip); + } + + // 设置内容,获取自身宽高 + tooltip.innerText = tip || content; + const tooltipRect = tooltip.getBoundingClientRect(); + + // 获取视口尺寸 + const { innerWidth, innerHeight } = window; + + // 默认偏移量 + const offsetX = 10; + const offsetY = 10; + + // 默认位置:鼠标右下方 + let left = e.clientX + offsetX; + let top = e.clientY + offsetY; + + // ✅ 智能避让:右侧空间不足 → 改到左侧 + if (left + tooltipRect.width > innerWidth) { + left = e.clientX - tooltipRect.width - offsetX; + } + + // ✅ 智能避让:下方空间不足 → 改到上方 + if (top + tooltipRect.height > innerHeight) { + top = e.clientY - tooltipRect.height - offsetY; + } + + // ✅ 极端情况:左上角也不够?那就贴边 + left = Math.max(5, Math.min(left, innerWidth - tooltipRect.width - 5)); + top = Math.max(5, Math.min(top, innerHeight - tooltipRect.height - 5)); + + // 应用位置 + tooltip.style.left = `${left}px`; + tooltip.style.top = `${top}px`; + tooltip.style.opacity = '1'; + }; + shouldComponentUpdate(nextProps) { const { pwdVisible } = this.state; const { app: appNew } = nextProps; diff --git a/src/components/Common/commonFunc.js b/src/components/Common/commonFunc.js index 76c9019..8d0dd9d 100644 --- a/src/components/Common/commonFunc.js +++ b/src/components/Common/commonFunc.js @@ -93,9 +93,12 @@ export function getHeaderConfig(config) { const tableConfig = config.gdsconfigformslave; const column = []; for (const child of tableConfig) { - if (child.sName !== '' && child.bVisible && child.showName !== '') { + if (child.sName !== '' && child.bVisible && (child.showName !== '' || child.sChinese !== '')) { + const tipTitle = commonUtils.isNotEmptyObject(child.showName) ? child.showName !== child.sChinese ? + `${child.showName}-${child.sChinese}` : child.showName : child.sChinese; column.push({ - title: child.showName, + title: commonUtils.isNotEmptyObject(child.showName) ? child.showName : child.sChinese, + tipTitle, dataIndex: child.sName.trim(), width: child.iFitWidth, bFind: child.bFind, @@ -274,23 +277,23 @@ export function clearJsonStringFields(obj, excludeFields = []) { if (!commonUtils.isNotEmptyObject(obj)) { return obj; } - + const processedObj = lodash.cloneDeep(obj); - + Object.keys(processedObj).forEach(key => { // 跳过排除字段 if (excludeFields.includes(key)) { return; } - + const value = processedObj[key]; - + // 智能检测JSON字符串 if (typeof value === 'string' && commonUtils.isJSON(value)) { processedObj[key] = ''; } }); - + return processedObj; } @@ -632,6 +635,15 @@ export function showMessage(gdsformconst, sName) { return ''; } +/* 根据英文名字 返回对应的中文 */ +export function showChineseMessage(gdsformconst, sEnglishName) { + const iIndex = gdsformconst.findIndex(item => item.sEnglish === sEnglishName); + if (iIndex > -1) { + return gdsformconst[iIndex].sChinese; + } + return ''; +} + export function getReturnMsg(str) { const msgArr = commonUtils.isNotEmptyObject(str) ? str.split('xpm') : ''; const divStr = []; diff --git a/src/components/IndexCenter/IndexCenter.js b/src/components/IndexCenter/IndexCenter.js index b6c88ac..203126a 100644 --- a/src/components/IndexCenter/IndexCenter.js +++ b/src/components/IndexCenter/IndexCenter.js @@ -275,7 +275,7 @@ class IndexCenter extends Component { title: columnDepartment, dataIndex: 'sDepart', width: '14%', - render: text => ( + render: (text, record) => (
{text}
), @@ -296,6 +296,7 @@ class IndexCenter extends Component { dataIndex: 'sMenuUnMemo', width: '30%', render: (text, record) =>
{ this.handleDoubleClick(record); }} @@ -416,6 +417,7 @@ class IndexCenter extends Component { dataIndex: 'sMenuUnMemo', width: '30%', render: (text, record) =>
{ this.handleDoubleClick(record); }} @@ -426,9 +428,10 @@ class IndexCenter extends Component { dataIndex: 'sMenuWorkFruit', width: '30%', render: (text, record) => { - const { sResultModelId } = record; + const { sResultModelId, sChineseWorkFruit } = record; if (commonUtils.isNotEmptyArr(sResultModelId)) { return
{ this.handleJumpToResultModel(record); }} @@ -480,6 +483,11 @@ class IndexCenter extends Component { data: [item], count: count === count ? count : 0, columns: columnsNew, + sChineseK1: item.sChineseK1, + sChineseK2: item.sChineseK2, + sChineseUnMemo: item.sChineseUnMemo, + sChineseWorkFruit: item.sChineseWorkFruit, + sResultModelMenuChineseName: item.sResultModelMenuChineseName }; } else if (!flowJson[sChildFlow].data.some(data => data.sId === item.sId)) { flowJson[sChildFlow].data.push(item); @@ -491,7 +499,7 @@ class IndexCenter extends Component { for (const key in flowJson) { if (Object.hasOwnProperty.call(flowJson, key)) { const item = flowJson[key]; - const { data, sId, columns } = item; + const { data, sId, columns, sSecondIcon, sChineseK1, sChineseK2, sChineseUnMemo, sChineseWorkFruit, sResultModelMenuChineseName } = item; const sChildDetailFlowData = data.filter(child => child.sChildDetailFlow); if (sChildDetailFlowData.length) { const groupArr = sChildDetailFlowData.reduce((result, current) => { @@ -500,6 +508,7 @@ class IndexCenter extends Component { data: [], count: 0, showName: current.sChildDetailFlow, + sChineseK2: current.sChineseK2, }); } @@ -527,6 +536,11 @@ class IndexCenter extends Component { data, count: count === count ? count : 0, columns, + sChineseK1, + sChineseK2, + sChineseUnMemo, + sChineseWorkFruit, + sResultModelMenuChineseName } }); } @@ -650,25 +664,34 @@ class IndexCenter extends Component { } handleDoubleClick = (record) => { + const { app } = this.state; + const sLanguage = app.userinfo?.sLanguage; const newsId = record.sId; /* 表格行的sId */ const newKey = new Date().getTime().toString(); const route = record.sName; const title = record.sMenuName; + const sChinesesMenuName = record.sMenuChineseName || ''; + const sMenuNameTip = sLanguage !== 'sChinese' && sChinesesMenuName ? `${title}-${sChinesesMenuName}` : title; const pane = { title, route, formId: newsId, key: newKey, sModelsType: record.sModelType, fromKey: "1", sSrcModelsId: '1', - currentIndex: 0, + currentIndex: 0, sMenuNameTip, }; + console.log('sMenuNameTip', sMenuNameTip); this.props.onAddPane(pane); }; handleJumpToResultModel = (record) => { + const { app } = this.state; + const sLanguage = app.userinfo?.sLanguage; const newsId = record.sResultModelId; /* 表格行的sId */ const newKey = new Date().getTime().toString(); const route = record.sResultModelName; const title = record.sResultModelMenuName; + const sChinesesMenuName = record.sResultModelMenuChineseName || ''; + const sMenuNameTip = sLanguage !== 'sChinese' && sChinesesMenuName ? `${title}-${sChinesesMenuName}` : title; const pane = { title, route, formId: newsId, key: newKey, sModelsType: record.sResultModelType, fromKey: "1", - currentIndex: 0, + currentIndex: 0, sMenuNameTip, }; this.props.onAddPane(pane); }; @@ -762,7 +785,10 @@ class IndexCenter extends Component { }; handleTabClick = (e) => { - /* 点击有sName的菜单,增加标签页 */ + // if (!e.bHasRole) return; + const { app } = this.state; + const { userinfo = {} } = app; + const { sLanguage } = userinfo; const paneKey = new Date().getTime().toString(); /* Tab标签Id */ const formId = e.key; @@ -771,8 +797,18 @@ class IndexCenter extends Component { const sModelsType = e.item.props['data-smodelstype']; const title = e.item.props['data-sformname']; const sProcName = e.item.props['data-sprocname']; + const sChinesesMenuName = e.sChinese; + const sMenuNameTip = sLanguage !== 'sChinese' ? `${e.sMenuName}-${e.sChinese}` : e.sMenuName; + console.log('aaa', sMenuNameTip); const pane = { - title, route, formId, key: paneKey, sModelsType, sProcName, + title, + route, + formId, + key: paneKey, + sModelsType, + sProcName, + sChinesesMenuName, + sMenuNameTip, }; let routeNew = route; if (route && route.includes('http')) { @@ -853,13 +889,15 @@ class IndexCenter extends Component { } renderTreeNodes = data => { return data.map(item => { + const sTip = item.sChineseK1 ? item.showName + '-' + item.sChineseK1 : item.sChineseK1; + const sTip2 = item.sChineseK2 ? item.showName + '-' + item.sChineseK2 : item.showName; if (item.children && item.children.length > 0) { return ( } title={ <> - {item.showName} + {item.showName} {!item.disabled ? {'('} @@ -884,7 +922,7 @@ class IndexCenter extends Component { switcherIcon={svg} title={ <> - {item.showName} + {item.showName} {'('} {item.count || 0} @@ -899,7 +937,7 @@ class IndexCenter extends Component { /> ); }); - }; + } render() { const { comParameterList, comThirdAppList, dToDayNumSum, dTobeDoneSum, tabsPanes, loadings, tableTreeData, columns, tableData, logoImageInfo = [], diff --git a/src/components/MenuPanel/MenuPanel.js b/src/components/MenuPanel/MenuPanel.js index 2edcc4f..f65a75a 100644 --- a/src/components/MenuPanel/MenuPanel.js +++ b/src/components/MenuPanel/MenuPanel.js @@ -120,13 +120,23 @@ class MenuPanelComponent extends Component { const formId = e.sId; const route = e.sName; const title = e[sLanguage] || e.sMenuName; + const sChinesesMenuName = e.sChinese; + const sMenuNameTip = sLanguage === 'sEnglish' ? `${e.sMenuName}-${e.sChinese}` : e.sMenuName; const sModelsType = e.sModelType; const { sProcName } = e; for (const each of this.props.app.panes) { /* 解决导航栏打开页签,Modal不消失问题 */ each.notCurrentPane = true; } const pane = { - title, route, formId, key: paneKey, sModelsType, sProcName, notCurrentPane: false, + title, + route, + formId, + key: paneKey, + sModelsType, + sProcName, + notCurrentPane: false, + sChinesesMenuName, + sMenuNameTip, }; let routeNew = route; if (route && route.includes('http')) { @@ -170,9 +180,11 @@ class MenuPanelComponent extends Component {
{ item.children !== undefined && item.children.length > 0 && item.children.map((item2) => { + const tipName2 = userinfo?.sLanguage !== 'sChinese' ? `${item2.sMenuName}-${item2.sChinese}` : + item2.sMenuName; /* 悬浮时 展示中英文提示 */ return (
- this.handleTabClick(item2)}> + this.handleTabClick(item2)}> {/* {item2.sMenuName} */} {item2[sLanguage]} @@ -207,6 +219,8 @@ class MenuPanelComponent extends Component { } else { dataUrl = navdefault; } + const tip = userinfo?.sLanguage === 'sEnglish' ? `${item.sMenuName}-${item.sChinese}` : + item.sMenuName; const dom = (
- {item[sLanguage]} + {item[sLanguage]} {/* {item.sMenuName} */}
{ diff --git a/src/models/content.js b/src/models/content.js index d0eea7c..4b33ebe 100644 --- a/src/models/content.js +++ b/src/models/content.js @@ -64,6 +64,7 @@ export default { route: currentData.sName, /* 路由名称 */ formId: currentData.sId, /* 窗体编号 */ sModelsType: currentData.sModelType, /* 窗体类型 */ + sMenuNameTip: currentData.sMenuName !== currentData.sChinese ? `${currentData.sMenuName}-${currentData.sChinese}` : currentData.sMenuName, /* 窗体类型 */ sProcName: currentData.sProcName, bFastOrderView: currentData.bFastOrderView, key: paneKey, /* 页签标识 */ diff --git a/src/routes/tab/tab.js b/src/routes/tab/tab.js index 3f8a528..027e7ad 100644 --- a/src/routes/tab/tab.js +++ b/src/routes/tab/tab.js @@ -161,13 +161,13 @@ function Tab({ dispatch, app }) { if (pane.paneType) { paneType = ( - + {pane.title} ); } else { - paneType = {pane.title}; + paneType = {pane.title}; } return ( diff --git a/src/utils/config.js b/src/utils/config.js index 4672b1e..7932696 100644 --- a/src/utils/config.js +++ b/src/utils/config.js @@ -10,11 +10,11 @@ const bHttps = localStorage.ipAddress ? false : location.protocol === 'https:'; export const webSite = { faceAddress: isDev ? '//km5cjx.gnway.cc:36867/xlyFace' : '//' + location.host + '/xlyFace', // ipAddress: localStorage.ipAddress ? localStorage.ipAddress : isDev ? '//km5cjx.gnway.cc:36867/xlyEntry/' : '//' + location.host + '/xlyEntry/', - ipAddress: localStorage.ipAddress ? localStorage.ipAddress : isDev ? '//km5cjx.gnway.cc:36867/xlyEntry/' : '//' + location.host + '/xlyEntry/', + ipAddress: isDev ? '//8.210.130.8:8888/xlyEntry_wucai/' : '//' + location.host + '/xlyEntry/', // ipAddress: localStorage.ipAddress ? localStorage.ipAddress : isDev ? '//118.178.19.35:8088/xlyEntry/' : '//' + location.host + '/xlyEntry/', // ipAddress: localStorage.ipAddress ? localStorage.ipAddress : isDev ? '//km5cjx.gnway.cc:37845/xlyEntry/' : '//' + location.host + '/xlyEntry/', - // ipAddress: localStorage.ipAddress ? localStorage.ipAddress : isDev ? '//8.130.144.93:8088/xlyEntry/' : '//' + location.host + '/xlyEntry/', + // ipAddress: localStorage.ipAddress ? localStorage.ipAddress : isDev ? '//8.130.144.93:8088/xlyEntry22/' : '//' + location.host + '/xlyEntry/', interfaceAddress: localStorage.apiAddress ? localStorage.apiAddress : isDev ? '//km5cjx.gnway.cc:36867/xlyApi/' : '//' + location.host + '/xlyApi/', // 接口地址 fileAddress: isDev ? '//km5cjx.gnway.cc:36867/xlyEntry/' : '//' + location.host + '/xlyEntry/', // 接口地址 fileAddressEbc: isDev ? '//km5cjx.gnway.cc:36867/xlyEntry/' : '//' + location.host + '/xlyEntry/',