diff --git a/public/components/property/roomCreateFeeAdd/roomCreateFeeAdd.html b/public/components/property/roomCreateFeeAdd/roomCreateFeeAdd.html index 50a1f0b1a..849328ac4 100644 --- a/public/components/property/roomCreateFeeAdd/roomCreateFeeAdd.html +++ b/public/components/property/roomCreateFeeAdd/roomCreateFeeAdd.html @@ -7,7 +7,6 @@
-
-
diff --git a/public/pages/fee/roomCreatePayFee/roomCreatePayFee.html b/public/pages/fee/roomCreatePayFee/roomCreatePayFee.html new file mode 100644 index 000000000..2d70202ea --- /dev/null +++ b/public/pages/fee/roomCreatePayFee/roomCreatePayFee.html @@ -0,0 +1,151 @@ +
+
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+ +
+ +
+ +
+
+ +
+ +
+ +
+ +
+ +
+
+
+ +
+ +
+
+ +
+ +
+ +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ + 全选 +
+ + + {{item.roomName}} + {{item.floorNum}}-{{item.roomNum}} + ({{item.stateName}}) + +
+
+ + 没有房屋 + +
+
+
+
+
+ + +
+
+
+
\ No newline at end of file diff --git a/public/pages/fee/roomCreatePayFee/roomCreatePayFee.js b/public/pages/fee/roomCreatePayFee/roomCreatePayFee.js new file mode 100644 index 000000000..ddfec61db --- /dev/null +++ b/public/pages/fee/roomCreatePayFee/roomCreatePayFee.js @@ -0,0 +1,217 @@ +(function (vc) { + vc.extends({ + data: { + roomCreatePayFeeInfo: { + feeTypeCds: [], + feeConfigs: [], + remark: '', + floorId: '', + communityId: vc.getCurrentCommunity().communityId, + feeTypeCd: '', + configId: '', + roomIds: [], + rooms: [], + hasTime: 'OFF', + startTime: '', + endTime: '', + feeFlag: '', + computingFormula: '', + amount: '', + rateCycle: '', + rate: '', + rateStartTime: '', + floors: [] + } + }, + watch: { + 'roomCreatePayFeeInfo.roomIds': { + deep: true, + handler: function () { + let checkObj = document.querySelectorAll('.all-check'); // 获取所有checkbox项 + if ($that.roomCreatePayFeeInfo.roomIds.length < $that.roomCreatePayFeeInfo.rooms.length) { + checkObj[0].checked = false; + } else { + checkObj[0].checked = true; + } + } + } + }, + _initMethod: function () { + vc.getDict('pay_fee_config', "fee_type_cd", function (_data) { + let _datanew = []; + _data.forEach((item, index) => { + if (item.statusCd != "888800010015" && item.statusCd != "888800010016") { + _datanew.push(item); + } + }); + $that.roomCreatePayFeeInfo.feeTypeCds = _datanew; + }); + vc.initDate('roomCreateFeeStartTime', function (_value) { + $that.roomCreatePayFeeInfo.startTime = _value; + }); + vc.initDate('roomCreateFeeEndTime', function (_value) { + $that.roomCreatePayFeeInfo.endTime = _value; + }); + vc.initDate('addRoomRateStartTime', function (_value) { + $that.roomCreatePayFeeInfo.rateStartTime = _value; + }); + $that._loadFloors(); + }, + _initEvent: function () { + vc.on('roomCreatePayFee', 'notifySelectRooms', function (_selectRooms) { + let _roomIds = []; + _selectRooms.forEach(item => { + _roomIds.push(item.roomId); + }) + $that.roomCreatePayFeeInfo.roomIds = _roomIds; + }); + }, + methods: { + roomCreatePayFeeValidate() { + return vc.validate.validate({ + roomCreatePayFeeInfo: $that.roomCreatePayFeeInfo + }, { + 'roomCreatePayFeeInfo.configId': [{ + limit: "required", + param: "", + errInfo: "费用项不存在" + },], + }); + }, + _saveRoomCreatePayFee: function () { + if (!$that.roomCreatePayFeeValidate()) { + //侦听回传 + vc.toast(vc.validate.errInfo); + return; + } + let _roomIds = $that.roomCreatePayFeeInfo.roomIds; + if (!_roomIds || _roomIds.length < 1) { + vc.toast('未包含房屋'); + return; + } + vc.http.apiPost('/fee.roomCreatePayFee', + JSON.stringify($that.roomCreatePayFeeInfo), + { + emulateJSON: true + }, + function (json, res) { + //vm.menus = vm.refreshMenuActive(JSON.parse(json),0); + let _json = JSON.parse(json); + if (_json.code == 0) { + //关闭model + vc.goBack(); + return; + } else { + vc.toast(_json.msg); + } + }, + function (errInfo, error) { + console.log('请求失败处理'); + vc.toast(errInfo); + }); + }, + _changeFeeTypeCdX: function (_feeTypeCd) { + // 押金默认开始时间为当前时间,结束时间+1月 + if (_feeTypeCd == '888800010006' || _feeTypeCd == '888800010014') { + $that.roomCreatePayFeeInfo.startTime = vc.dateFormat(new Date()); + $that.roomCreatePayFeeInfo.endTime = vc.addMonthDate(new Date(), 1); + } + $that.roomCreatePayFeeInfo.configId = ''; + let param = { + params: { + page: 1, + row: 500, + communityId: vc.getCurrentCommunity().communityId, + feeTypeCd: _feeTypeCd, + isDefault: 'F', + valid: '1' + } + }; + //发送get请求 + vc.http.apiGet('/feeConfig.listFeeConfigs', param, + function (json, res) { + let _feeConfigManageInfo = JSON.parse(json); + $that.roomCreatePayFeeInfo.feeConfigs = _feeConfigManageInfo.feeConfigs; + }, + function (errInfo, error) { + console.log('请求失败处理'); + }); + }, + _loadFloors: function () { + let param = { + params: { + page: 1, + row: 100, + communityId: vc.getCurrentCommunity().communityId, + } + } + vc.http.apiGet( + '/floor.queryFloors', + param, + function (json, res) { + let _json = JSON.parse(json); + $that.roomCreatePayFeeInfo.floors = _json.apiFloorDataVoList; + }, + function (errInfo, error) { + console.log('请求失败处理'); + vc.toast(errInfo); + }); + }, + _loadFloorRooms: function () { + $that.roomCreatePayFeeInfo.rooms = []; + $that.roomCreatePayFeeInfo.roomIds = []; + if (!$that.roomCreatePayFeeInfo.floorId) { + return; + } + let param = { + params: { + page: 1, + row: 500, + communityId: vc.getCurrentCommunity().communityId, + floorId: $that.roomCreatePayFeeInfo.floorId + } + }; + //发送get请求 + vc.http.apiGet('/room.queryRooms', + param, + function (json) { + let _feeConfigInfo = JSON.parse(json); + $that.roomCreatePayFeeInfo.rooms = _feeConfigInfo.rooms; + if (_feeConfigInfo.rooms && _feeConfigInfo.rooms.length > 0) { + _feeConfigInfo.rooms.forEach(_room => { + $that.roomCreatePayFeeInfo.roomIds.push(_room.roomId); + }) + } + }, + function () { + console.log('请求失败处理'); + } + ); + }, + _roomCreatePayFeeIfOnceFee(_configId) { + // 当费用类型不是押金/其他类型,并且是周期性费用时, 将结束时间清空 + if ($that.roomCreatePayFeeInfo.feeTypeCd != '888800010006' + && $that.roomCreatePayFeeInfo.feeTypeCd != '888800010014' + && $that.roomCreatePayFeeInfo.feeFlag == '1003006') { + $that.roomCreatePayFeeInfo.endTime = ''; + } + $that.roomCreatePayFeeInfo.feeConfigs.forEach(item => { + if (_configId == item.configId) { + $that.roomCreatePayFeeInfo.feeFlag = item.feeFlag; + $that.roomCreatePayFeeInfo.computingFormula = item.computingFormula; + return; + } + }); + }, + checkAll: function (e) { + let checkObj = document.querySelectorAll('.checkItem'); // 获取所有checkbox项 + $that.roomCreatePayFeeInfo.roomIds = []; + if (e.target.checked) { // 判定全选checkbox的勾选状态 + for (var i = 0; i < checkObj.length; i++) { + $that.roomCreatePayFeeInfo.roomIds.push(checkObj[i].value); + } + } + } + } + }); +})(window.vc); \ No newline at end of file diff --git a/public/pages/property/roomCreateFee/roomCreateFee.js b/public/pages/property/roomCreateFee/roomCreateFee.js index 4484f36bf..148eddb4a 100644 --- a/public/pages/property/roomCreateFee/roomCreateFee.js +++ b/public/pages/property/roomCreateFee/roomCreateFee.js @@ -35,10 +35,6 @@ currentPage: 1, }, _initMethod: function () { - /*if (vc.isBack()) { - console.log('back and select'); - vc.component._loadListRoomCreateFeeInfo(DEFAULT_PAGE, DEFAULT_ROW); - }*/ vc.emit('roomTreeDiv', 'initRoomTreeDiv', { callName: 'roomCreateFee' }); @@ -107,10 +103,11 @@ }, methods: { _openRoomCreateFeeAddModal: function (_room, _isMore) { - vc.emit('roomCreateFeeAdd', 'openRoomCreateFeeAddModal', { - isMore: _isMore, - room: _room - }); + // vc.emit('roomCreateFeeAdd', 'openRoomCreateFeeAddModal', { + // isMore: _isMore, + // room: _room + // }); + vc.jumpToPage('/#/pages/fee/roomCreatePayFee') }, listRoomInRoomCreateFee: function (_page, _row) { let param = {