Zjq修复合同查询页面数据问题,修复广告合同汇总表合同类型数据不显示问题,都已修复
7个文件已修改
278 ■■■■■ 已修改文件
public/pages/admin/advertisementSummary/advertisementSummary.html 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/pages/admin/advertisementSummary/advertisementSummary.js 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/pages/admin/contractChangeManage/contractChangeManage.js 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/pages/admin/contractManage/contractManage.js 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/pages/admin/expirationContractManage/expirationContractManage.js 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/pages/admin/newContractManage/newContractManage.js 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/pages/property/assetImportLog/assetImportLog.js 160 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/pages/admin/advertisementSummary/advertisementSummary.html
@@ -42,12 +42,12 @@
                                        <div class="form-group">
                                            <label for="contractType">合同类型</label>
                                            <select class="form-control" id="contractType" 
                                                    v-model="advertisementSummaryInfo.conditions.contractType">
                                                <option value="">全部</option>
                                                <option v-for="(item, index) in advertisementSummaryInfo.contractTypes" :key="index" :value="item.code">
                                                    {{item.name}}
                                                </option>
                                            </select>
                                            v-model="advertisementSummaryInfo.conditions.contractType">
                                        <option value="">全部</option>
                                        <option v-for="(item, index) in advertisementSummaryInfo.contractTypes" :key="index" :value="item.contractTypeId">
                                            {{item.typeName}}
                                        </option>
                                    </select>
                                        </div>
                                    </div>
                                    <div class="col-sm-3">
public/pages/admin/advertisementSummary/advertisementSummary.js
@@ -88,27 +88,39 @@
                }
            },
            _listContractTypes: function () {
                console.log('开始获取合同类型');
                let param = {
                    params: {
                        page: 1,
                        row: 50
                    }
                };
                console.log('请求参数:', param);
                //发送get请求
                vc.http.apiGet('/contract/queryContractType',
                    param,
                    function (json, res) {
                        console.log('获取合同类型成功,响应:', json);
                        try {
                            let _contractTypeManageInfo = JSON.parse(json);
                            if (vc.component && vc.component.advertisementSummaryInfo) {
                                vc.component.advertisementSummaryInfo.contractTypes = _contractTypeManageInfo.data;
                            console.log('解析后的数据:', _contractTypeManageInfo);
                            if (_contractTypeManageInfo.code == 0) {
                                console.log('合同类型数据:', _contractTypeManageInfo.data);
                                if (vc.component && vc.component.advertisementSummaryInfo) {
                                    vc.component.advertisementSummaryInfo.contractTypes = _contractTypeManageInfo.data || [];
                                    console.log('设置合同类型数据成功,数量:', vc.component.advertisementSummaryInfo.contractTypes.length);
                                } else {
                                    console.error('组件或数据对象不存在');
                                }
                            } else {
                                console.error('API返回错误:', _contractTypeManageInfo.msg);
                            }
                        } catch (e) {
                            console.error('处理合同类型数据失败:', e);
                        }
                    },
                    function (errInfo, error) {
                        console.log('请求失败处理:', errInfo, error);
                        console.error('请求合同类型失败:', errInfo, error);
                    }
                );
            },
public/pages/admin/contractChangeManage/contractChangeManage.js
@@ -25,7 +25,7 @@
        },
        _initMethod: function () {
            vc.component._listContracts(DEFAULT_PAGE, DEFAULT_ROWS);
            $that._listContractTypes();
            vc.component._listContractTypes();
        },
        _initEvent: function () {
            vc.on('contractManage', 'listContract', function (_param) {
@@ -43,8 +43,12 @@
                    params: vc.component.contractChangeManageInfo.conditions
                };
                // param.params.communityId = vc.getCurrentCommunity().communityId;
                param.params.contractName = param.params.contractName.trim();
                param.params.contractCode = param.params.contractCode.trim();
                if (param.params.contractNameLike) {
                    param.params.contractNameLike = param.params.contractNameLike.trim();
                }
                if (param.params.contractCode) {
                    param.params.contractCode = param.params.contractCode.trim();
                }
                //发送get请求
                vc.http.apiGet('/contract/queryContractChangePlan',
                    param,
@@ -91,7 +95,7 @@
                    param,
                    function (json, res) {
                        let _contractTypeManageInfo = JSON.parse(json);
                        $that.contractChangeManageInfo.contractTypes = _contractTypeManageInfo.data;
                        vc.component.contractChangeManageInfo.contractTypes = _contractTypeManageInfo.data;
                    },
                    function (errInfo, error) {
                        console.log('请求失败处理');
public/pages/admin/contractManage/contractManage.js
@@ -30,12 +30,12 @@
            vc.component._listContracts(DEFAULT_PAGE, DEFAULT_ROWS);
            vc.component._initDateInfo();
            /* vc.initDate('queryStartTime', function (_value) {
                 $that.contractManageInfo.conditions.queryStartTime = _value;
                 vc.component.contractManageInfo.conditions.queryStartTime = _value;
             });
             vc.initDate('queryEndTime', function (_value) {
                 $that.contractManageInfo.conditions.queryEndTime = _value;
                 vc.component.contractManageInfo.conditions.queryEndTime = _value;
             });*/
            $that._listContractTypes();
            vc.component._listContractTypes();
        },
        _initEvent: function () {
            vc.on('contractManage', 'listContract', function (_param) {
@@ -72,15 +72,15 @@
                });
                $('.queryEndTime').datetimepicker()
                    .on('changeDate', function (ev) {
                        var value = $(".queryEndTime").val();
                        var start = Date.parse(new Date($that.contractManageInfo.conditions.queryStartTime));
                        var value = $("#queryEndTime").val();
                        var start = Date.parse(new Date(vc.component.contractManageInfo.conditions.queryStartTime));
                        var end = Date.parse(new Date(value));
                        if (start - end >= 0) {
                            vc.toast("结束时间必须大于开始时间");
                            $(".queryEndTime").val('');
                            $that.contractManageInfo.conditions.queryEndTime = "";
                            $("#queryEndTime").val('');
                            vc.component.contractManageInfo.conditions.queryEndTime = "";
                        } else {
                            $that.contractManageInfo.conditions.queryEndTime = value;
                            vc.component.contractManageInfo.conditions.queryEndTime = value;
                        }
                    });
                //防止多次点击时间插件失去焦点
@@ -153,7 +153,7 @@
                                contractTypeName: item.contractTypeName || '未知类型',
                                operator: operator,
                                operatorLink: operatorLink,
                                amount: item.amount || 0,
                                amount: (item.amount || 0).toString(),
                                partyB: item.partyB || '',
                                bLink: item.bLink || '',
                                startTime: item.beginTime || '',
@@ -180,8 +180,8 @@
                            vc.component.contractManageInfo.contracts = deepCopiedData;
                            
                            // 手动触发Vue更新
                            if (vc.$forceUpdate) {
                                vc.$forceUpdate();
                            if (vc.component.$forceUpdate) {
                                vc.component.$forceUpdate();
                            }
                            
                            vc.emit('pagination', 'init', {
@@ -208,7 +208,7 @@
                    param,
                    function (json, res) {
                        let _contractTypeManageInfo = JSON.parse(json);
                        $that.contractManageInfo.contractTypes = _contractTypeManageInfo.data;
                        vc.component.contractManageInfo.contractTypes = _contractTypeManageInfo.data;
                    },
                    function (errInfo, error) {
                        console.log('请求失败处理');
public/pages/admin/expirationContractManage/expirationContractManage.js
@@ -25,7 +25,7 @@
        },
        _initMethod: function () {
            vc.component._listContracts(DEFAULT_PAGE, DEFAULT_ROWS);
            $that._listContractTypes();
            vc.component._listContractTypes();
        },
        _initEvent: function () {
            vc.on('contractManage', 'listContract', function (_param) {
@@ -49,6 +49,25 @@
                        var _expirationContractInfo = JSON.parse(json);
                        var contractData = _expirationContractInfo.data || [];
                        
                        // 适配API返回的数据结构,确保amount字段为字符串
                        var mappedContracts = contractData.map(function(item) {
                            return {
                                communityName: item.communityName || '未知小区',
                                contractName: item.contractName || '',
                                contractCode: item.contractCode || '',
                                contractTypeName: item.contractTypeName || '未知类型',
                                partyA: item.partyA || '',
                                partyB: item.partyB || '',
                                operator: item.operator || '',
                                amount: (item.amount || 0).toString(),
                                startTime: item.startTime || '',
                                endTime: item.endTime || '',
                                stateName: item.stateName || '未知',
                                contractId: item.contractId || '',
                                contractType: item.contractType || ''
                            };
                        });
                        // 强制Vue更新 - 解决响应式问题
                        vc.component.expirationContractInfo.total = _expirationContractInfo.total;
                        vc.component.expirationContractInfo.records = _expirationContractInfo.records;
@@ -56,7 +75,7 @@
                        
                        setTimeout(() => {
                            // 深拷贝数据,确保响应式
                            var deepCopiedData = JSON.parse(JSON.stringify(contractData));
                            var deepCopiedData = JSON.parse(JSON.stringify(mappedContracts));
                            vc.component.expirationContractInfo.contracts = deepCopiedData;
                            
                            // 手动触发Vue更新
@@ -88,7 +107,7 @@
                    param,
                    function (json, res) {
                        let _contractTypeManageInfo = JSON.parse(json);
                        $that.expirationContractInfo.contractTypes = _contractTypeManageInfo.data;
                        vc.component.expirationContractInfo.contractTypes = _contractTypeManageInfo.data;
                    },
                    function (errInfo, error) {
                        console.log('请求失败处理');
public/pages/admin/newContractManage/newContractManage.js
@@ -25,7 +25,7 @@
        },
        _initMethod: function () {
            vc.component._listContracts(DEFAULT_PAGE, DEFAULT_ROWS);
            $that._listContractTypes();
            vc.component._listContractTypes();
        },
        _initEvent: function () {
            vc.on('newContractManage', 'listContract', function (_param) {
@@ -51,9 +51,30 @@
                    param,
                    function (json, res) {
                        var _newContractManageInfo = JSON.parse(json);
                        var contracts = _newContractManageInfo.data || [];
                        // 适配API返回的数据结构,确保amount字段为字符串
                        var mappedContracts = contracts.map(function(item) {
                            return {
                                communityName: item.communityName || '未知小区',
                                contractName: item.contractName || '',
                                contractCode: item.contractCode || '',
                                parentContractCode: item.parentContractCode || '-',
                                contractTypeName: item.contractTypeName || '未知类型',
                                partyA: item.partyA || '',
                                operator: item.operator || '',
                                amount: (item.amount || 0).toString(),
                                startTime: item.startTime || '',
                                endTime: item.endTime || '',
                                stateName: item.stateName || '未知',
                                contractId: item.contractId || '',
                                contractType: item.contractType || ''
                            };
                        });
                        vc.component.newContractManageInfo.total = _newContractManageInfo.total;
                        vc.component.newContractManageInfo.records = _newContractManageInfo.records;
                        vc.component.newContractManageInfo.contracts = _newContractManageInfo.data;
                        vc.component.newContractManageInfo.contracts = mappedContracts;
                        vc.emit('pagination', 'init', {
                            total: vc.component.newContractManageInfo.records,
                            dataCount: vc.component.newContractManageInfo.total,
@@ -77,7 +98,7 @@
                    param,
                    function (json, res) {
                        let _contractTypeManageInfo = JSON.parse(json);
                        $that.newContractManageInfo.contractTypes = _contractTypeManageInfo.data;
                        vc.component.newContractManageInfo.contractTypes = _contractTypeManageInfo.data;
                    },
                    function (errInfo, error) {
                        console.log('请求失败处理');
public/pages/property/assetImportLog/assetImportLog.js
@@ -17,17 +17,17 @@
        _initMethod: function () {
            console.log('导入日志列表页面初始化,开始加载数据');
            // 直接调用数据加载方法,不等待mounted
            $that._listAssetImportLogs(DEFAULT_PAGE, DEFAULT_ROWS);
            vc.component._listAssetImportLogs(DEFAULT_PAGE, DEFAULT_ROWS);
        },
        _initEvent: function () {
            // 监听全局的assetImportLog事件
            vc.on('assetImportLog', 'listAssetImportLog', function (_param) {
                $that._listAssetImportLogs(DEFAULT_PAGE, DEFAULT_ROWS);
                vc.component._listAssetImportLogs(DEFAULT_PAGE, DEFAULT_ROWS);
            });
            
            // 监听分页事件
            vc.on('pagination', 'page_event', function (_currentPage) {
                $that._listAssetImportLogs(_currentPage, DEFAULT_ROWS);
                vc.component._listAssetImportLogs(_currentPage, DEFAULT_ROWS);
            });
        },
        methods: {
@@ -45,7 +45,11 @@
                    
                    // 合同管理员账户查询导入日志时不应该传入communityId
                    // 检查用户信息
                    var userInfo = vc.getData() && vc.getData().userInfo ? vc.getData().userInfo : {};
                    var userInfo = vc.getData() || {};
                    // 尝试直接从vc.getData()获取userInfo
                    if (userInfo && typeof userInfo === 'object' && !userInfo.username && !userInfo.phone && userInfo.userInfo) {
                        userInfo = userInfo.userInfo;
                    }
                    console.log('获取到的userInfo:', userInfo);
                    
                    // 检查当前URL哈希
@@ -55,46 +59,7 @@
                    // 检查是否为合同管理员或在合同相关页面
                    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. 检查用户是否为合同管理员
                    // 1. 检查是否为合同管理员
                    var isContractAdmin = false;
                    
                    // 尝试从vc.getData()获取
@@ -130,24 +95,31 @@
                        console.error('解析localStorage中的userInfo失败:', e);
                    }
                    
                    // 4. 检查当前URL是否包含广告合同相关路径
                    if (currentHash.includes('advertisementSummary') || currentHash.includes('广告合同')) {
                        isInContractMenu = true;
                        console.log('当前在广告合同页面,不传入communityId');
                    // 2. 检查是否在合同相关页面
                    var isInContractPage = false;
                    if (currentHash.includes('/contract') || currentHash.includes('/合同') || currentHash.includes('advertisementSummary')) {
                        isInContractPage = true;
                        console.log('当前在合同相关页面,不传入communityId');
                    }
                    // 3. 检查是否从合同菜单进入
                    if (document.referrer && (document.referrer.includes('/contract') || document.referrer.includes('/合同'))) {
                        isInContractPage = true;
                        console.log('从合同菜单进入,不传入communityId');
                    }
                    
                    console.log('是否为合同管理员:', isContractAdmin);
                    console.log('是否在合同菜单下:', isInContractMenu);
                    console.log('是否在合同相关页面:', isInContractPage);
                    
                    // 如果是合同管理员或在合同菜单下,不传入communityId
                    if (isContractAdmin || isInContractMenu) {
                    // 如果是合同管理员或在合同相关页面,不传入communityId
                    if (isContractAdmin || isInContractPage) {
                        shouldNotPassCommunityId = true;
                        console.log('是合同管理员或在合同菜单下,不传入communityId');
                        console.log('是合同管理员或在合同相关页面,不传入communityId');
                    }
                    
                    console.log('是否应该传入communityId:', !shouldNotPassCommunityId);
                    
                    // 只有非合同管理员且不在合同菜单下才需要传入communityId
                    // 只有非合同管理员且不在合同相关页面才需要传入communityId
                    if (!shouldNotPassCommunityId) {
                        var currentCommunity = vc.getCurrentCommunity();
                        console.log('获取到的currentCommunity:', currentCommunity);
@@ -162,6 +134,50 @@
                            delete param.params.communityId;
                            console.log('删除了communityId参数');
                        }
                    }
                    // 额外检查:确保合同管理员账户不会传入communityId
                    // 合同管理员账号:18916013413/247309
                    var userAccount = '';
                    // 尝试从vc.getData()获取
                    if (userInfo && (userInfo.username || userInfo.phone)) {
                        userAccount = userInfo.username || userInfo.phone;
                    } else if (userInfo && userInfo.userId) {
                        userAccount = userInfo.userId.toString();
                    }
                    // 尝试从localStorage获取
                    if (!userAccount) {
                        try {
                            let localUserInfo = JSON.parse(window.localStorage.getItem('userInfo'));
                            if (localUserInfo) {
                                if (localUserInfo.username || localUserInfo.phone) {
                                    userAccount = localUserInfo.username || localUserInfo.phone;
                                } else if (localUserInfo.userId) {
                                    userAccount = localUserInfo.userId.toString();
                                }
                            }
                        } catch (e) {
                            console.error('解析localStorage中的userInfo失败:', e);
                        }
                    }
                    console.log('用户账号:', userAccount);
                    // 合同管理员账号列表
                    var contractAdminAccounts = ['18916013413'];
                    if (contractAdminAccounts.includes(userAccount)) {
                        console.log('合同管理员账号,强制不传入communityId');
                        // 强制删除communityId参数
                        if (param.params.communityId) {
                            delete param.params.communityId;
                            console.log('强制删除了communityId参数');
                        }
                        // 确保param.params中没有communityId
                        delete param.params.communityId;
                        console.log('确保param.params中没有communityId');
                    }
                    
                    console.log('发送请求的参数:', param);
@@ -181,26 +197,26 @@
                                    var logData = _assetImportLogInfo.data || [];
                                    
                                    // 强制Vue更新 - 解决响应式问题
                                    $that.assetImportLogInfo.total = _assetImportLogInfo.total || 0;
                                    $that.assetImportLogInfo.records = _assetImportLogInfo.records || 0;
                                    $that.assetImportLogInfo.logs = [];
                                    vc.component.assetImportLogInfo.total = _assetImportLogInfo.total || 0;
                                    vc.component.assetImportLogInfo.records = _assetImportLogInfo.records || 0;
                                    vc.component.assetImportLogInfo.logs = [];
                                    
                                    setTimeout(() => {
                                        // 深拷贝数据,确保响应式
                                        var deepCopiedData = JSON.parse(JSON.stringify(logData));
                                        $that.assetImportLogInfo.logs = deepCopiedData;
                                        vc.component.assetImportLogInfo.logs = deepCopiedData;
                                        
                                        console.log('设置组件数据:', $that.assetImportLogInfo);
                                        console.log('设置组件数据:', vc.component.assetImportLogInfo);
                                        
                                        // 手动触发Vue更新
                                        if ($that.$forceUpdate) {
                                            $that.$forceUpdate();
                                        if (vc.component.$forceUpdate) {
                                            vc.component.$forceUpdate();
                                        }
                                        
                                        // 初始化分页组件
                                        vc.emit('pagination', 'init', {
                                            total: $that.assetImportLogInfo.records,
                                            dataCount: $that.assetImportLogInfo.total,
                                            total: vc.component.assetImportLogInfo.records,
                                            dataCount: vc.component.assetImportLogInfo.total,
                                            currentPage: _page
                                        });
                                    }, 0);
@@ -209,9 +225,9 @@
                                    console.warn('导入日志数据格式不符合预期:', _assetImportLogInfo);
                                    vc.toast('查询导入日志失败: ' + (_assetImportLogInfo.msg || '未知错误'));
                                    // 重置数据,避免显示旧数据
                                    $that.assetImportLogInfo.total = 0;
                                    $that.assetImportLogInfo.records = 0;
                                    $that.assetImportLogInfo.logs = [];
                                    vc.component.assetImportLogInfo.total = 0;
                                    vc.component.assetImportLogInfo.records = 0;
                                    vc.component.assetImportLogInfo.logs = [];
                                    
                                    // 重置分页组件
                                    vc.emit('pagination', 'init', {
@@ -225,9 +241,9 @@
                                console.error('解析导入日志失败:', e, json);
                                vc.toast('解析导入日志失败: ' + e.message);
                                // 重置数据,避免显示旧数据
                                $that.assetImportLogInfo.total = 0;
                                $that.assetImportLogInfo.records = 0;
                                $that.assetImportLogInfo.logs = [];
                                vc.component.assetImportLogInfo.total = 0;
                                vc.component.assetImportLogInfo.records = 0;
                                vc.component.assetImportLogInfo.logs = [];
                                
                                // 重置分页组件
                                vc.emit('pagination', 'init', {
@@ -253,9 +269,9 @@
                            
                            vc.toast(errorMsg);
                            // 重置数据,避免显示旧数据
                            $that.assetImportLogInfo.total = 0;
                            $that.assetImportLogInfo.records = 0;
                            $that.assetImportLogInfo.logs = [];
                            vc.component.assetImportLogInfo.total = 0;
                            vc.component.assetImportLogInfo.records = 0;
                            vc.component.assetImportLogInfo.logs = [];
                            
                            // 重置分页组件
                            vc.emit('pagination', 'init', {
@@ -270,7 +286,7 @@
                }
            },
            _queryData: function () {
                $that._listAssetImportLogs(DEFAULT_PAGE, DEFAULT_ROWS);
                vc.component._listAssetImportLogs(DEFAULT_PAGE, DEFAULT_ROWS);
            },
            _openDetail: function (_log) {
                vc.jumpToPage('/#/pages/property/assetImportLogDetail?logId=' + _log.logId + "&logType=" + _log.logType);