zhangjq
2026-03-05 3e0ce35727602634d9efce92b3a4c8be6f6b65ea
合同管理员查询日志不传入id广告合同汇总表调到最后
2个文件已修改
151 ■■■■ 已修改文件
public/components/frame/menu2/menu2.js 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/pages/property/assetImportLog/assetImportLog.js 137 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/components/frame/menu2/menu2.js
@@ -74,21 +74,23 @@
                            return _child.seq - _newChild.seq
                        });
                        
                        // 手动调整菜单顺序:把广告合同信息管理移到补打收据后边
                        let receiptIndex = -1;
                        // 手动调整菜单顺序:把广告合同汇表移到到期合同下面
                        let expirationContractIndex = -1;
                        let adContractIndex = -1;
                        for (let i = 0; i < _childs.length; i++) {
                            if (_childs[i].name.includes('补打收据') || _childs[i].href.includes('feeReceipt')) {
                                receiptIndex = i;
                            if (_childs[i].name.includes('到期合同') || _childs[i].href.includes('expirationContract')) {
                                expirationContractIndex = i;
                            }
                            if (_childs[i].name.includes('广告合同') || _childs[i].href.includes('advertisementSummary')) {
                                adContractIndex = i;
                            }
                        }
                        
                        if (receiptIndex !== -1 && adContractIndex !== -1 && adContractIndex < receiptIndex) {
                        if (expirationContractIndex !== -1 && adContractIndex !== -1) {
                            // 先从原位置移除广告合同汇表
                            let adContractMenu = _childs.splice(adContractIndex, 1)[0];
                            _childs.splice(receiptIndex, 0, adContractMenu);
                            // 然后将其插入到到期合同后面
                            _childs.splice(expirationContractIndex + 1, 0, adContractMenu);
                        }
                        
                        jsonArray[menuIndex].childs = _childs;
public/pages/property/assetImportLog/assetImportLog.js
@@ -35,26 +35,135 @@
                console.log('调用_listAssetImportLogs方法,页码:', _page, '行数:', _rows);
                
                try {
                    // 确保communityId正确获取
                    var currentCommunity = vc.getCurrentCommunity();
                    console.log('获取到的currentCommunity:', currentCommunity);
                    var communityId = currentCommunity ? currentCommunity.communityId : '';
                    console.log('获取到的communityId:', communityId);
                    if (!communityId) {
                        console.error('无法获取communityId');
                        return;
                    }
                    // 构建请求参数
                    var param = {
                        params: {
                            page: _page,
                            row: _rows,
                            communityId: communityId
                            row: _rows
                        }
                    };
                    
                    // 合同管理员账户查询导入日志时不应该传入communityId
                    // 检查用户信息
                    var userInfo = vc.getData() && vc.getData().userInfo ? vc.getData().userInfo : {};
                    console.log('获取到的userInfo:', userInfo);
                    // 检查当前URL哈希
                    var currentHash = window.location.hash;
                    console.log('当前哈希:', currentHash);
                    // 检查是否为合同管理员或在合同相关页面
                    var shouldNotPassCommunityId = false;
                    // 检查是否在合同菜单下
                    var isInContractMenu = false;
                    // 1. 检查当前页面是否是从合同菜单进入的
                    if (document.referrer && (document.referrer.includes('/contract') || document.referrer.includes('/合同'))) {
                        isInContractMenu = true;
                        console.log('从合同菜单进入,不传入communityId');
                    }
                    // 2. 检查当前页面的父菜单是否是合同
                    // 尝试从DOM中获取当前菜单信息
                    try {
                        // 检查左侧菜单是否有合同菜单且处于激活状态
                        var contractMenu = document.querySelector('#menu-nav .menu-item.active');
                        if (contractMenu) {
                            var menuText = contractMenu.textContent || contractMenu.innerText;
                            if (menuText.includes('合同')) {
                                isInContractMenu = true;
                                console.log('当前在合同菜单下,不传入communityId');
                            }
                        }
                        // 检查是否有合同相关的子菜单
                        var subMenus = document.querySelectorAll('#menu-nav .sub-menu .menu-item');
                        for (var i = 0; i < subMenus.length; i++) {
                            var subMenu = subMenus[i];
                            if (subMenu.classList.contains('active')) {
                                var subMenuText = subMenu.textContent || subMenu.innerText;
                                if (subMenuText.includes('合同') || subMenuText.includes('广告合同')) {
                                    isInContractMenu = true;
                                    console.log('当前在合同子菜单下,不传入communityId');
                                    break;
                                }
                            }
                        }
                    } catch (e) {
                        console.error('获取菜单信息失败:', e);
                    }
                    // 3. 检查用户是否为合同管理员
                    var isContractAdmin = false;
                    // 尝试从vc.getData()获取
                    if (userInfo) {
                        console.log('用户信息:', userInfo);
                        // 检查用户信息中的各种可能的角色字段
                        if (userInfo.userType === 'contractAdmin' || userInfo.role === 'contractAdmin' || userInfo.position === 'contractAdmin' || userInfo.type === 'contractAdmin') {
                            isContractAdmin = true;
                            console.log('用户类型为合同管理员,不传入communityId');
                        }
                        // 检查用户信息中是否包含合同管理员相关的标识
                        if (userInfo.permissions && userInfo.permissions.includes('contractAdmin')) {
                            isContractAdmin = true;
                            console.log('用户权限包含合同管理员,不传入communityId');
                        }
                    }
                    // 尝试从localStorage获取
                    try {
                        let localUserInfo = JSON.parse(window.localStorage.getItem('userInfo'));
                        if (localUserInfo) {
                            console.log('localStorage中的用户信息:', localUserInfo);
                            if (localUserInfo.userType === 'contractAdmin' || localUserInfo.role === 'contractAdmin' || localUserInfo.position === 'contractAdmin' || localUserInfo.type === 'contractAdmin') {
                                isContractAdmin = true;
                                console.log('localStorage中用户类型为合同管理员,不传入communityId');
                            }
                            if (localUserInfo.permissions && localUserInfo.permissions.includes('contractAdmin')) {
                                isContractAdmin = true;
                                console.log('localStorage中用户权限包含合同管理员,不传入communityId');
                            }
                        }
                    } catch (e) {
                        console.error('解析localStorage中的userInfo失败:', e);
                    }
                    // 4. 检查当前URL是否包含广告合同相关路径
                    if (currentHash.includes('advertisementSummary') || currentHash.includes('广告合同')) {
                        isInContractMenu = true;
                        console.log('当前在广告合同页面,不传入communityId');
                    }
                    console.log('是否为合同管理员:', isContractAdmin);
                    console.log('是否在合同菜单下:', isInContractMenu);
                    // 如果是合同管理员或在合同菜单下,不传入communityId
                    if (isContractAdmin || isInContractMenu) {
                        shouldNotPassCommunityId = true;
                        console.log('是合同管理员或在合同菜单下,不传入communityId');
                    }
                    console.log('是否应该传入communityId:', !shouldNotPassCommunityId);
                    // 只有非合同管理员且不在合同菜单下才需要传入communityId
                    if (!shouldNotPassCommunityId) {
                        var currentCommunity = vc.getCurrentCommunity();
                        console.log('获取到的currentCommunity:', currentCommunity);
                        if (currentCommunity && currentCommunity.communityId) {
                            param.params.communityId = currentCommunity.communityId;
                            console.log('传入的communityId:', currentCommunity.communityId);
                        }
                    } else {
                        // 确保不传入communityId
                        if (param.params.communityId) {
                            delete param.params.communityId;
                            console.log('删除了communityId参数');
                        }
                    }
                    console.log('发送请求的参数:', param);
                    
                    //发送get请求