(function (vc) { vc.extends({ data: { batchAddPhoneBillFlowInfo: { communityId: vc.getCurrentCommunity().communityId, meterType: '', year: '', month: '', phoneBillFlowList: [] }, meterTypes: [] }, _initMethod: function () { if (typeof this._listMeterTypes === 'function') { this._listMeterTypes(); } if (typeof this._addPhoneBillFlowItem === 'function') { this._addPhoneBillFlowItem(); } }, _initEvent: function () { vc.on('batchAddPhoneBillFlow', 'openBatchAddPhoneBillFlowModal', function () { $that._clearBatchAddPhoneBillFlowForm(); $('#batchAddPhoneBillFlowModal').modal('show'); }); }, methods: { _listMeterTypes: function () { let param = { params: { page: 1, row: 100, communityId: vc.getCurrentCommunity().communityId } }; vc.http.apiGet('/meterType.listMeterType', param, function (json, res) { let _json = JSON.parse(json); $that.meterTypes = _json.data; }, function (errInfo, error) { console.log('请求失败处理'); } ); }, _addPhoneBillFlowItem: function () { this.batchAddPhoneBillFlowInfo.phoneBillFlowList.push({ deviceNumber: '', payableAmount: '', lateFee: '' }); }, _removePhoneBillFlowItem: function (index) { this.batchAddPhoneBillFlowInfo.phoneBillFlowList.splice(index, 1); if (this.batchAddPhoneBillFlowInfo.phoneBillFlowList.length === 0) { this._addPhoneBillFlowItem(); } }, _batchAddPhoneBillFlowMethod: function () { if (!this.batchAddPhoneBillFlowInfo.meterType) { vc.toast("请选择抄表类型"); return; } if (!this.batchAddPhoneBillFlowInfo.year) { vc.toast("请输入年份"); return; } if (!this.batchAddPhoneBillFlowInfo.month) { vc.toast("请输入月份"); return; } if (this.batchAddPhoneBillFlowInfo.phoneBillFlowList.length === 0) { vc.toast("请至少添加一条数据"); return; } let valid = true; let phoneBillFlowList = []; for (let i = 0; i < this.batchAddPhoneBillFlowInfo.phoneBillFlowList.length; i++) { let item = this.batchAddPhoneBillFlowInfo.phoneBillFlowList[i]; if (!item.deviceNumber) { vc.toast("第" + (i + 1) + "行请输入设备编号"); valid = false; break; } if (!item.payableAmount) { vc.toast("第" + (i + 1) + "行请输入应付金额"); valid = false; break; } phoneBillFlowList.push({ communityId: this.batchAddPhoneBillFlowInfo.communityId, deviceNumber: item.deviceNumber, year: this.batchAddPhoneBillFlowInfo.year, month: this.batchAddPhoneBillFlowInfo.month, payableAmount: item.payableAmount, lateFee: item.lateFee || "0.00", meterType: this.batchAddPhoneBillFlowInfo.meterType }); } if (!valid) { return; } let _data = { phoneBillFlowList: phoneBillFlowList }; vc.http.post( 'phoneBillFlowInfo', 'insertPhoneBillFlows', _data, { emulateJSON: true, headers: { "Content-Type": "application/json" } }, function (json, res) { let _json = JSON.parse(json); if (_json.code == 0) { vc.toast("批量添加成功,共添加" + _json.count + "条记录"); $('#batchAddPhoneBillFlowModal').modal('hide'); $that._clearBatchAddPhoneBillFlowForm(); vc.emit('phoneMeterManage', 'listPhoneBillFlow', {}); return; } vc.toast(_json.msg); }, function (errInfo, error) { console.log('请求失败处理'); vc.toast(errInfo); } ); }, _clearBatchAddPhoneBillFlowForm: function () { this.batchAddPhoneBillFlowInfo = { communityId: vc.getCurrentCommunity().communityId, meterType: '', year: '', month: '', phoneBillFlowList: [] }; this._addPhoneBillFlowItem(); } } }); })(window.vc);