diff --git a/src/components/IndexCenter/IndexCenter.js b/src/components/IndexCenter/IndexCenter.js index 203126a..5ebaf9b 100644 --- a/src/components/IndexCenter/IndexCenter.js +++ b/src/components/IndexCenter/IndexCenter.js @@ -139,8 +139,10 @@ class IndexCenter extends Component { const commonThirdApp = comParameterAll.filter(item => item.sDisplayType ? item.sDisplayType === 'LargeScreen' : item.sFormUrl?.includes('http')); const { modelCenter: modelCenterOld } = this.props; - const { sUserNo } = userinfo; - const xlybusinessActiveTree = localStorage.getItem(`xlybusinessActiveTree_${sUserNo}`); + const { sUserNo, sLanguage = 'sChinese', sBrandsId } = userinfo; + + const sUserKey = sUserNo + sLanguage + sBrandsId; + const xlybusinessActiveTree = localStorage.getItem(`xlybusinessActiveTree_${sUserKey}`); if (xlybusinessActiveTree) { [this.curActiveTree, this.tableTreeScrollTop, this.kpiTableScrollTop] = xlybusinessActiveTree.split(','); } @@ -247,19 +249,19 @@ class IndexCenter extends Component { // this.tableTree.scrollTop = 0; // } const addState = {}; - Object.keys(model).sort((a, b) => { - const targetKey = "所有部门"; - // 核心修改:优先让 targetKey 排在第一位 - if (a?.includes(targetKey) ) { - return -1; - } - if (b?.includes(targetKey)) { - return 1; - } - const firstA = model[a][0]?.iJsOrder || 0; - const firstB = model[b][0]?.iJsOrder || 0; - return firstA - firstB; - }).forEach((child, index) => { + const targetTexts = ['所有部门', 'All Departments']; + const isTopKey = str => targetTexts.some(text => str?.includes(text)); + + Object.keys(model) + .sort((a, b) => { + const aTop = isTopKey(a); + const bTop = isTopKey(b); + if (aTop !== bTop) return aTop ? -1 : 1; + + const orderA = model[a]?.[0]?.iJsOrder ?? 0; + const orderB = model[b]?.[0]?.iJsOrder ?? 0; + return orderA - orderB; + }).forEach((child, index) => { const name = child.split('_')[0]; // const num = child.split('_')[1]; let num = 0; @@ -567,7 +569,7 @@ class IndexCenter extends Component { addState.columns = columns; this.tableTreeScrollTop = 0; this.kpiTableScrollTop = 0; - localStorage.removeItem(`xlybusinessActiveTree_${sUserNo}`); + localStorage.removeItem(`xlybusinessActiveTree_${sUserKey}`); } } this.setState({ @@ -638,8 +640,9 @@ class IndexCenter extends Component { } recordTableTreeState = () => { - const { sUserNo } = this.props.app.userinfo; - localStorage.setItem(`xlybusinessActiveTree_${sUserNo}`, `${this.activeTree},${this.tableTreeScrollTop || 0},${this.kpiTableScrollTop || 0}`); + const { sUserNo, sLanguage = 'sChinese', sBrandsId } = this.props.app.userinfo; + const sUserKey = sUserNo + sLanguage + sBrandsId; + localStorage.setItem(`xlybusinessActiveTree_${sUserKey}`, `${this.activeTree},${this.tableTreeScrollTop || 0},${this.kpiTableScrollTop || 0}`); } handleSaveExpandState = () => {