(function (vc) {
|
var DEFAULT_PAGE = 1;
|
var DEFAULT_ROW = 10;
|
var TEMP_SEARCH = 'contractCreateFeeSearch';
|
|
vc.extends({
|
data: {
|
roomUnits: [],
|
contractCreateFeeInfo: {
|
contracts: [],
|
total: 0,
|
records: 1,
|
floorId: '',
|
unitId: '',
|
state: '',
|
roomNum: '',
|
moreCondition: false,
|
conditions: {
|
contractName: '',
|
contractNameLike: '',
|
contractCode: '',
|
contractType: ''
|
}
|
},
|
currentPage: 1,
|
},
|
_initMethod: function () {
|
console.log('=== 组件初始化开始 ===');
|
console.log('当前组件数据:', vc.component);
|
console.log('当前contractCreateFeeInfo:', vc.component.contractCreateFeeInfo);
|
|
let _tempData = vc.getData(TEMP_SEARCH);
|
console.log('临时搜索数据:', _tempData);
|
|
if (_tempData == null) {
|
console.log('首次加载,使用默认参数');
|
vc.component.contractCreateFeeInfo.conditions.floorId = vc.getParam("floorId");
|
vc.component.contractCreateFeeInfo.conditions.floorName = vc.getParam("floorName");
|
console.log('调用listContract:', DEFAULT_PAGE, DEFAULT_ROW);
|
vc.component.listContract(DEFAULT_PAGE, DEFAULT_ROW);
|
} else {
|
console.log('使用临时数据', _tempData.currentPage);
|
vc.component.contractCreateFeeInfo.conditions = _tempData.conditions;
|
vc.component.updateCurrentPage(_tempData.currentPage);
|
console.log('调用listContract:', _tempData.currentPage, DEFAULT_ROW);
|
vc.component.listContract(_tempData.currentPage, DEFAULT_ROW);
|
}
|
console.log('=== 组件初始化完成 ===');
|
},
|
_initEvent: function () {
|
vc.on('room', 'chooseFloor', function (_param) {
|
vc.component.contractCreateFeeInfo.conditions.floorId = _param.floorId;
|
vc.component.contractCreateFeeInfo.conditions.floorName = _param.floorName;
|
vc.component.loadUnits(_param.floorId);
|
});
|
vc.on('pagination', 'page_event', function (_currentPage) {
|
vc.component.updateCurrentPage(_currentPage);
|
vc.component.listContract(_currentPage, DEFAULT_ROW);
|
});
|
},
|
methods: {
|
listContract: function (_page, _row) {
|
try {
|
vc.component.contractCreateFeeInfo.conditions.page = _page;
|
vc.component.contractCreateFeeInfo.conditions.row = _row;
|
|
// 调试communityId获取
|
console.log('=== 获取communityId ===');
|
console.log('vc.getCurrentCommunity():', vc.getCurrentCommunity());
|
var currentCommunity = vc.getCurrentCommunity();
|
var communityId = currentCommunity ? currentCommunity.communityId : '';
|
console.log('获取到的communityId:', communityId);
|
|
vc.component.contractCreateFeeInfo.conditions.communityId = communityId;
|
vc.component.contractCreateFeeInfo.conditions.contractName = vc.component.contractCreateFeeInfo.conditions.contractName.trim();
|
vc.component.contractCreateFeeInfo.conditions.contractNameLike = vc.component.contractCreateFeeInfo.conditions.contractNameLike.trim();
|
vc.component.contractCreateFeeInfo.conditions.contractCode = vc.component.contractCreateFeeInfo.conditions.contractCode.trim();
|
vc.component.contractCreateFeeInfo.conditions.contractType = vc.component.contractCreateFeeInfo.conditions.contractType.trim();
|
let _conditions = JSON.parse(JSON.stringify(vc.component.contractCreateFeeInfo.conditions));
|
let param = {
|
params: _conditions
|
};
|
|
console.log('=== 开始查询合同数据 ===');
|
console.log('查询参数:', param);
|
console.log('当前contracts:', vc.component.contractCreateFeeInfo.contracts);
|
console.log('当前contractCreateFeeInfo:', vc.component.contractCreateFeeInfo);
|
|
vc.http.apiGet('/contract/queryContract',
|
param,
|
function (json, res) {
|
try {
|
console.log('=== 收到响应数据 ===');
|
console.log('原始响应:', json);
|
console.log('响应类型:', typeof json);
|
|
// 检查响应是否已经是对象
|
var listContractData = typeof json === 'string' ? JSON.parse(json) : json;
|
console.log('处理后的数据:', listContractData);
|
|
// 验证响应数据结构
|
if (!listContractData) {
|
console.error('响应数据为空');
|
vc.component.contractCreateFeeInfo.contracts = [];
|
vc.component.contractCreateFeeInfo.total = 0;
|
vc.component.contractCreateFeeInfo.records = 0;
|
return;
|
}
|
|
console.log('data字段:', listContractData.data);
|
console.log('data类型:', typeof listContractData.data);
|
console.log('data是否为数组:', Array.isArray(listContractData.data));
|
console.log('data长度:', listContractData.data ? listContractData.data.length : 0);
|
console.log('total:', listContractData.total);
|
console.log('records:', listContractData.records);
|
|
// 保存数据前的状态
|
console.log('保存前contracts:', vc.component.contractCreateFeeInfo.contracts);
|
|
vc.component.contractCreateFeeInfo.total = listContractData.total || 0;
|
vc.component.contractCreateFeeInfo.records = listContractData.records || 0;
|
|
// 强制Vue更新 - 解决响应式问题
|
console.log('=== 开始强制更新 ===');
|
vc.component.contractCreateFeeInfo.contracts = [];
|
console.log('清空后contracts:', vc.component.contractCreateFeeInfo.contracts);
|
|
setTimeout(() => {
|
try {
|
// 确保data是数组
|
var contractData = Array.isArray(listContractData.data) ? listContractData.data : [];
|
console.log('准备赋值的data:', contractData);
|
console.log('准备赋值的data长度:', contractData.length);
|
|
// 深拷贝数据,确保响应式
|
var deepCopiedData = JSON.parse(JSON.stringify(contractData));
|
console.log('深拷贝后的数据:', deepCopiedData);
|
|
vc.component.contractCreateFeeInfo.contracts = deepCopiedData;
|
console.log('保存后contracts:', vc.component.contractCreateFeeInfo.contracts);
|
console.log('保存后contracts长度:', vc.component.contractCreateFeeInfo.contracts.length);
|
console.log('保存后contractCreateFeeInfo:', vc.component.contractCreateFeeInfo);
|
|
// 手动触发Vue更新
|
if (vc.$forceUpdate) {
|
console.log('调用$forceUpdate');
|
vc.$forceUpdate();
|
}
|
|
// 确保分页组件初始化
|
var totalPages = Math.ceil(vc.component.contractCreateFeeInfo.total / _row) || 1;
|
vc.emit('pagination', 'init', {
|
total: totalPages,
|
dataCount: vc.component.contractCreateFeeInfo.total,
|
currentPage: _page
|
});
|
|
vc.component.saveTempSearchData();
|
console.log('=== 查询完成 ===');
|
} catch (innerError) {
|
console.error('处理响应数据时出错:', innerError);
|
vc.component.contractCreateFeeInfo.contracts = [];
|
}
|
}, 0);
|
} catch (error) {
|
console.error('解析响应数据时出错:', error);
|
vc.component.contractCreateFeeInfo.contracts = [];
|
}
|
},
|
function (errInfo, error) {
|
console.error('请求失败处理:', errInfo, error);
|
// 请求失败时显示空数组
|
vc.component.contractCreateFeeInfo.contracts = [];
|
vc.component.contractCreateFeeInfo.total = 0;
|
vc.component.contractCreateFeeInfo.records = 0;
|
// 确保分页组件初始化
|
vc.emit('pagination', 'init', {
|
total: 0,
|
dataCount: 0,
|
currentPage: _page
|
});
|
}
|
);
|
} catch (error) {
|
console.error('查询合同数据时出错:', error);
|
vc.component.contractCreateFeeInfo.contracts = [];
|
}
|
},
|
_openViewRoomCreateFee: function (_contract) {
|
vc.jumpToPage("/#/pages/contract/contractDetail?contractId=" + _contract.contractId + "&contractCode=" + _contract.contractCode);
|
},
|
_queryRoomMethod: function () {
|
vc.component.updateCurrentPage(DEFAULT_PAGE);
|
vc.component.listContract(DEFAULT_PAGE, DEFAULT_ROW);
|
},
|
_resetRoomMethod: function () {
|
vc.component.contractCreateFeeInfo.conditions.contractName = "";
|
vc.component.contractCreateFeeInfo.conditions.contractNameLike = "";
|
vc.component.contractCreateFeeInfo.conditions.contractCode = "";
|
vc.component.contractCreateFeeInfo.conditions.contractType = "";
|
vc.component.updateCurrentPage(DEFAULT_PAGE);
|
vc.component.listContract(DEFAULT_PAGE, DEFAULT_ROW);
|
},
|
_moreCondition: function () {
|
if (vc.component.contractCreateFeeInfo.moreCondition) {
|
vc.component.contractCreateFeeInfo.moreCondition = false;
|
} else {
|
vc.component.contractCreateFeeInfo.moreCondition = true;
|
}
|
},
|
_toOwnerPayFee: function (_ContractFeeInfo) {
|
vc.jumpToPage('/#/pages/property/owePayFeeOrder?payObjId=' + _ContractFeeInfo.contractId + '&payObjType=7777&contractName=' + _ContractFeeInfo.contractName);
|
},
|
_printOwnOrder: function (_room) {
|
vc.jumpToPage('print.html#/pages/property/printOweFee?roomId=' + _room.roomId);
|
},
|
_openTranslateFeeManualCollectionDetailModel: function (_room) {
|
let _data = {
|
roomId: _room.roomId,
|
communityId: vc.getCurrentCommunity().communityId
|
};
|
vc.http.apiPost(
|
'/feeManualCollection/saveFeeManualCollection',
|
JSON.stringify(_data), {
|
emulateJSON: true
|
},
|
function (json, res) {
|
let _json = JSON.parse(json);
|
if (_json.code == 0) {
|
vc.jumpToPage('/#/pages/property/feeManualCollectionManage');
|
vc.toast("保存成功");
|
return;
|
} else {
|
vc.toast(_json.msg);
|
}
|
},
|
function (errInfo, error) {
|
console.log('请求失败处理');
|
vc.message(errInfo);
|
}
|
);
|
},
|
updateCurrentPage: function (page) {
|
vc.component.currentPage = page;
|
},
|
saveTempSearchData: function () {
|
let conditions = vc.component.contractCreateFeeInfo.conditions;
|
vc.saveData(TEMP_SEARCH, {
|
conditions: conditions,
|
currentPage: vc.component.currentPage
|
});
|
},
|
_downloadCollectionLetterOrder: function () {
|
vc.jumpToPage('/callComponent/feeManualCollection/downloadCollectionLetterOrder?communityId=' + vc.getCurrentCommunity().communityId);
|
},
|
_downloadRoomCollectionLetterOrder: function (_room) {
|
vc.jumpToPage('/callComponent/feeManualCollection/downloadCollectionLetterOrder?communityId=' + vc.getCurrentCommunity().communityId + "&roomId=" + _room.roomId);
|
},
|
_viewContract: function (_contract) {
|
vc.jumpToPage("/#/pages/common/contractApplyDetail?contractId=" + _contract.contractId);
|
},
|
_openContractCreateFeeAddModal: function (_room, _isMore) {
|
console.log("look here");
|
console.log(_room);
|
console.log(_isMore);
|
vc.emit('contractCreateFeeAdd', 'openContractCreateFeeAddModal', {
|
isMore: _isMore,
|
contract: _room
|
});
|
},
|
// 打开导入弹窗
|
_importContract: function () {
|
vc.emit('importContract', 'openImportContractModal', {});
|
}
|
}
|
});
|
})(window.vc);
|