Files
2025-12-09 20:22:03 +08:00

152 lines
6.9 KiB
JavaScript

(function(vc) {
var DEFAULT_PAGE = 1;
var DEFAULT_ROWS = 10;
vc.extends({
data: {
createFeeByComboInfo: {
feeConfigs: [],
selectConfigIds: [],
communityId: vc.getCurrentCommunity().communityId,
payerObjId: '',
payerObjName: '',
payerObjType: '',
comboId: ''
}
},
_initMethod: function() {
let _payerObjId = vc.getParam('payerObjId');
let _payerObjType = vc.getParam('payerObjType');
let _payerObjName = vc.getParam('payerObjName');
$that.createFeeByComboInfo.payerObjId = _payerObjId;
$that.createFeeByComboInfo.payerObjType = _payerObjType;
$that.createFeeByComboInfo.payerObjName = _payerObjName;
},
_initEvent: function() {
vc.on('createFeeByCombo', 'chooseFeeCombo', function(_feeCombo) {
$that.createFeeByComboInfo.comboId = _feeCombo.comboId;
$that._listFeeComboMembers(_feeCombo);
})
},
methods: {
_chooseFeeCombo: function() {
vc.emit('chooseFeeCombo', 'openChooseFeeComboModel', {});
},
_listFeeComboMembers: function(_feeCombo) {
let param = {
params: {
page: 1,
row: 100,
comboId: _feeCombo.comboId
}
};
//发送get请求
vc.http.apiGet('/feeComboMember.listFeeComboMember',
param,
function(json, res) {
let _feeComboMemberManageInfo = JSON.parse(json);
$that.createFeeByComboInfo.selectConfigIds = [];
_feeComboMemberManageInfo.data.forEach(config => {
config.startTime = '';
config.endTime = '';
$that.createFeeByComboInfo.selectConfigIds.push(config.configId);
})
vc.component.createFeeByComboInfo.feeConfigs = _feeComboMemberManageInfo.data;
$that.$forceUpdate();
setTimeout(() => {
_feeComboMemberManageInfo.data.forEach(config => {
vc.initDate('startTime' + config.configId, function(_value) {
config.startTime = _value;
})
vc.initDate('endTime' + config.configId, function(_value) {
config.endTime = _value;
let start = Date.parse(new Date(config.startTime));
let end = Date.parse(new Date(config.endTime));
if (start - end >= 0) {
vc.toast("结束时间必须大于开始时间");
config.endTime = '';
}
})
})
}, 1000)
},
function(errInfo, error) {
console.log('请求失败处理');
}
);
},
_createFee: function() {
let _fees = [];
$that.createFeeByComboInfo.selectConfigIds.forEach(function(_item) {
$that.createFeeByComboInfo.feeConfigs.forEach(function(_batchFeeItem) {
if (_item == _batchFeeItem.configId) {
_fees.push(_batchFeeItem);
}
})
})
if (_fees.length < 1) {
vc.toast('未选中要创建的费用套餐');
return;
}
for (let i = 0; i < _fees.length; i++) {
let fee = _fees[i];
if (fee != null && fee != "" && fee != undefined) {
if (fee.startTime == null || fee.startTime == "" || fee.startTime == undefined) {
vc.toast(_fees[i].feeName + "开始时间不能为空!");
return;
}
if (fee.feeFlag != "1003006" && (fee.endTime == null || fee.endTime == "" || fee.endTime == undefined)) { //1003006 为周期性费用 2006012 为一次性费用
vc.toast(_fees[i].feeName + "结束时间不能为空!");
return;
}
}
}
console.log("到这了")
let _data = {
communityId: vc.getCurrentCommunity().communityId,
configs: _fees,
payerObjId: $that.createFeeByComboInfo.payerObjId,
payerObjName: $that.createFeeByComboInfo.payerObjName,
payerObjType: $that.createFeeByComboInfo.payerObjType,
comboId: $that.createFeeByComboInfo.comboId
}
vc.http.apiPost(
'/fee.createFeeByCombo',
JSON.stringify(_data), {
emulateJSON: true
},
function(json, res) {
//vm.menus = vm.refreshMenuActive(JSON.parse(json),0);
let _json = JSON.parse(json);
vc.toast(_json.msg);
if (_json.code == 0) {
vc.goBack();
return;
}
},
function(errInfo, error) {
console.log('请求失败处理');
vc.toast(errInfo);
});
},
_back: function() {
$('#payFeeResult').modal("hide");
vc.getBack();
},
checkAll: function(e) {
var checkObj = document.querySelectorAll('.checkItem'); // 获取所有checkbox项
if (e.target.checked) { // 判定全选checkbox的勾选状态
for (var i = 0; i < checkObj.length; i++) {
if (!checkObj[i].checked) { // 将未勾选的checkbox选项push到绑定数组中
vc.component.createFeeByComboInfo.selectConfigIds.push(checkObj[i].value);
}
}
} else { // 如果是去掉全选则清空checkbox选项绑定数组
vc.component.createFeeByComboInfo.selectConfigIds = [];
}
},
_goBack: function() {
vc.goBack();
}
}
});
})(window.vc);