MicroCommunityWeb/public/pages/property/room/room.js
2021-07-19 15:33:36 +08:00

257 lines
11 KiB
JavaScript
Executable File

/**
入驻小区
**/
(function (vc) {
var DEFAULT_PAGE = 1;
var DEFAULT_ROW = 10;
vc.extends({
data: {
roomUnits: [],
roomInfo: {
rooms: [],
total: 0,
records: 1,
floorId: '',
unitId: '',
states: [],
roomNum: '',
moreCondition: false,
conditions: {
floorId: '',
floorName: '',
unitId: '',
roomNum: '',
roomId: '',
state: '',
section: '',
roomType: '1010301',
roomSubType: ''
},
currentPage: DEFAULT_PAGE,
listColumns: []
}
},
_initMethod: function () {
vc.component.roomInfo.conditions.floorId = vc.getParam("floorId");
vc.component.roomInfo.conditions.floorName = vc.getParam("floorName");
vc.component.listRoom(DEFAULT_PAGE, DEFAULT_ROW);
//与字典表关联
vc.getDict('building_room', "state", function (_data) {
vc.component.roomInfo.states = _data;
});
//根据 参数查询相应数据
//vc.component._loadDataByParam();
},
_initEvent: function () {
vc.on('room', 'chooseFloor', function (_param) {
vc.component.roomInfo.conditions.floorId = _param.floorId;
vc.component.roomInfo.conditions.floorName = _param.floorName;
vc.component.loadUnits(_param.floorId);
});
vc.on('room', 'listRoom', function (_param) {
vc.component.listRoom($that.roomInfo.currentPage, DEFAULT_ROW);
});
vc.on('room', 'loadData', function (_param) {
vc.component.listRoom($that.roomInfo.currentPage, DEFAULT_ROW);
});
vc.on('pagination', 'page_event', function (_currentPage) {
$that.roomInfo.currentPage = _currentPage;
vc.component.listRoom(_currentPage, DEFAULT_ROW);
});
},
methods: {
listRoom: function (_page, _row) {
vc.component.roomInfo.conditions.page = _page;
vc.component.roomInfo.conditions.row = _row;
vc.component.roomInfo.conditions.communityId = vc.getCurrentCommunity().communityId;
var param = {
params: JSON.parse(JSON.stringify(vc.component.roomInfo.conditions))
};
let _allNum = $that.roomInfo.conditions.roomId;
if (_allNum.split('-').length == 3) {
let _allNums = _allNum.split('-')
param.params.floorNum = _allNums[0].trim();
param.params.unitNum = _allNums[1].trim();
param.params.roomNum = _allNums[2].trim();
param.params.roomId = '';
}
//发送get请求
vc.http.get('room',
'listRoom',
param,
function (json, res) {
var listRoomData = JSON.parse(json);
vc.component.roomInfo.total = listRoomData.total;
vc.component.roomInfo.records = listRoomData.records;
vc.component.roomInfo.rooms = listRoomData.rooms;
$that.dealRoomAttr(listRoomData.rooms);
vc.emit('pagination', 'init', {
total: vc.component.roomInfo.records,
dataCount: vc.component.roomInfo.total,
currentPage: _page
});
}, function (errInfo, error) {
console.log('请求失败处理');
}
);
},
_openAddRoom: function () {
vc.jumpToPage("/admin.html#/pages/property/addRoomBinding");
},
_openEditRoomModel: function (_room) {
//_room.floorId = vc.component.roomInfo.conditions.floorId;
vc.emit('editRoom', 'openEditRoomModal', _room);
},
_openDelRoomModel: function (_room) {
//_room.floorId = vc.component.roomInfo.conditions.floorId;
vc.emit('deleteRoom', 'openRoomModel', _room);
},
/**
根据楼ID加载房屋
**/
loadUnits: function (_floorId) {
vc.component.addRoomUnits = [];
var param = {
params: {
floorId: _floorId,
communityId: vc.getCurrentCommunity().communityId
}
}
vc.http.get(
'room',
'loadUnits',
param,
function (json, res) {
//vm.menus = vm.refreshMenuActive(JSON.parse(json),0);
if (res.status == 200) {
var tmpUnits = JSON.parse(json);
vc.component.roomUnits = tmpUnits;
return;
}
vc.toast(json);
},
function (errInfo, error) {
console.log('请求失败处理');
vc.toast(errInfo);
});
},
_queryRoomMethod: function () {
vc.component.listRoom(DEFAULT_PAGE, DEFAULT_ROW);
},
showState: function (_state) {
if (_state == '2001') {
return "已入住";
} else if (_state == '2002') {
return "未入住";
} else if (_state == '2003') {
return "已交定金";
} else if (_state == '2004') {
return "已出租";
} else {
return "未知";
}
},
_loadDataByParam: function () {
vc.component.roomInfo.conditions.floorId = vc.getParam("floorId");
vc.component.roomInfo.conditions.floorId = vc.getParam("floorName");
//如果 floodId 没有传 则,直接结束
/* if(!vc.notNull(vc.component.roomInfo.conditions.floorId)){
return ;
}*/
var param = {
params: {
communityId: vc.getCurrentCommunity().communityId,
floorId: vc.component.roomInfo.conditions.floorId
}
}
vc.http.get(
'room',
'loadFloor',
param,
function (json, res) {
if (res.status == 200) {
var _floorInfo = JSON.parse(json);
var _tmpFloor = _floorInfo.apiFloorDataVoList[0];
/*vc.emit('roomSelectFloor','chooseFloor', _tmpFloor);
*/
return;
}
vc.toast(json);
},
function (errInfo, error) {
console.log('请求失败处理');
vc.toast(errInfo);
});
},
_moreCondition: function () {
if (vc.component.roomInfo.moreCondition) {
vc.component.roomInfo.moreCondition = false;
} else {
vc.component.roomInfo.moreCondition = true;
}
},
_openChooseFloorMethod: function () {
vc.emit('searchFloor', 'openSearchFloorModel', {});
},
dealRoomAttr: function (rooms) {
$that._getColumns(rooms, function () {
rooms.forEach(item => {
$that._getColumnsValue(item);
});
});
},
_getColumnsValue: function (_room) {
_room.listValues = [];
if (!_room.hasOwnProperty('roomAttrDto') || _room.roomAttrDto.length < 1) {
$that.roomInfo.listColumns.forEach(_value => {
_room.listValues.push('');
})
return;
}
let _roomAttrDtos = _room.roomAttrDto;
$that.roomInfo.listColumns.forEach(_value => {
let _tmpValue = '';
_roomAttrDtos.forEach(_attrItem => {
if (_value == _attrItem.specName) {
_tmpValue = _attrItem.valueName;
}
})
_room.listValues.push(_tmpValue);
})
},
_getColumns: function (_rooms, _call) {
$that.roomInfo.listColumns = [];
vc.getAttrSpec('building_room_attr', function (data) {
$that.roomInfo.listColumns = [];
data.forEach(item => {
if (item.listShow == 'Y') {
$that.roomInfo.listColumns.push(item.specName);
}
});
_call();
});
// 循环所有房屋信息
// for (let _roomIndex = 0; _roomIndex < _rooms.length; _roomIndex++) {
// let _room = _rooms[_roomIndex];
// if (!_room.hasOwnProperty('roomAttrDto')) {
// break;
// }
// let _roomAttrDtos = _room.roomAttrDto;
// if (_roomAttrDtos.length < 1) {
// break;
// }
// //获取房屋信息中 任意属性作为 列
// for (let _roomAttrIndex = 0; _roomAttrIndex < _roomAttrDtos.length; _roomAttrIndex++) {
// let attrItem = _roomAttrDtos[_roomAttrIndex];
// if (attrItem.listShow == 'Y') {
// $that.roomInfo.listColumns.push(attrItem.specName);
// }
// }
// if ($that.roomInfo.listColumns.length > 0) {
// break;
// }
// }
}
}
});
})(window.vc);