(function (vc) { vc.extends({ data: { payFeeOrderConfirmInfo: { totalDiscountMoney: 0.0, accountAmount: 0.0, payType: '', preCheck: true } }, _initMethod: function () { }, _initEvent: function () { vc.on('payFeeOrderConfirm', 'openConfirm', function (_data) { $that.payFeeOrderConfirmInfo = _data; $("#doPayFeeModal").modal('show'); $that.payFeeOrderConfirmInfo.payType = _data.payType; if ($that.payFeeOrderConfirmInfo.payType != 'common') { setTimeout('document.getElementById("authCode").focus()', 1000); } $that.$forceUpdate(); }) // 添加新的事件监听器,用于接收其他页面的调用请求 vc.on('payFeeOrderConfirm', 'callPayFee', function (_params) { // 可以在这里处理从其他页面传递过来的参数 if (_params) { // 如果需要,可以将外部参数合并到当前组件的数据中 Object.assign($that.payFeeOrderConfirmInfo, _params); } // 调用_payFee方法 $that._payFee(); }); // 添加新的事件监听器,用于接收其他页面的调用请求 vc.on('payFeeOrderConfirm', 'check', function (_params) { // 可以在这里处理从其他页面传递过来的参数 $that.payFeeOrderConfirmInfo.preCheck = true; // 调用_payFee方法 $that._payFee(); }); }, methods: { /** * 点击 “提交缴费” */ _closeDoPayFeeModal: function () { //关闭model $("#doPayFeeModal").modal('hide'); if (this.pollingTimerId) { clearInterval(this.pollingTimerId); console.log("离开页面,已清除 ABA 支付轮询定时器"); this.pollingTimerId = null; // 重置变量,避免内存泄漏 } }, _qrCodePayFee: function () { let _printFees = []; _printFees.push({ feeId: $that.payFeeOrderConfirmInfo.feeId, squarePrice: $that.payFeeOrderConfirmInfo.squarePrice, additionalAmount: $that.payFeeOrderConfirmInfo.additionalAmount, feeName: $that.payFeeOrderConfirmInfo.feeName, amount: $that.payFeeOrderConfirmInfo.receivedAmount, authCode: $that.payFeeOrderConfirmInfo.authCode }); $that.payFeeOrderConfirmInfo.subServiceCode = 'fee.payFee'; vc.http.apiPost( '/payment.qrCodePayment', JSON.stringify(vc.component.payFeeOrderConfirmInfo), { emulateJSON: true }, function (json, res) { let _data = JSON.parse(json); if (_data.code == 404) { vc.toast(_data.msg); if (_data.data && _data.data.orderId) { $that.payFeeOrderConfirmInfo.orderId = _data.data.orderId; $that.payFeeOrderConfirmInfo.paymentPoolId = _data.data.paymentPoolId; setTimeout('$that._qrCodeCheckPayFinish()', 5000); } return; } $that._closeDoPayFeeModal(); vc.emit('payFeeOrderResult', '_loadReceipt', _data) }, function (errInfo, error) { console.log('请求失败处理'); vc.toast(errInfo); } ); }, _qrCodeCheckPayFinish: function () { let _printFees = []; _printFees.push({ feeId: $that.payFeeOrderConfirmInfo.feeId, squarePrice: $that.payFeeOrderConfirmInfo.squarePrice, additionalAmount: $that.payFeeOrderConfirmInfo.additionalAmount, feeName: $that.payFeeOrderConfirmInfo.feeName, amount: $that.payFeeOrderConfirmInfo.receivedAmount, authCode: $that.payFeeOrderConfirmInfo.authCode, orderId: $that.payFeeOrderConfirmInfo.orderId }); $that.payFeeOrderConfirmInfo.subServiceCode = 'fee.payFee'; vc.http.apiPost( '/payment.checkPayFinish', JSON.stringify(vc.component.payFeeOrderConfirmInfo), { emulateJSON: true }, function (json, res) { let _data = JSON.parse(json); if (_data.code == 404) { vc.toast(_data.msg); return; } else if (_data.code == 41) { setTimeout('$that._qrCodeCheckPayFinish()', 5000); return; } $that._closeDoPayFeeModal(); _data = _data.data; vc.emit('payFeeOrderResult', '_loadReceipt', _data) }, function (errInfo, error) { console.log('请求失败处理'); vc.toast(errInfo); } ); }, /** * 点击模态框 “确定收费” */ _payFee: function (_page, _row) { let _printFees = []; _printFees.push({ feeId: $that.payFeeOrderConfirmInfo.feeId, squarePrice: $that.payFeeOrderConfirmInfo.squarePrice, additionalAmount: $that.payFeeOrderConfirmInfo.additionalAmount, feeName: $that.payFeeOrderConfirmInfo.feeName, amount: $that.payFeeOrderConfirmInfo.receivedAmount }); vc.http.apiPost( '/fee.payFee', JSON.stringify(vc.component.payFeeOrderConfirmInfo), { emulateJSON: true }, function (json, res) { let _json = JSON.parse(json) if (_json.code == 0) { //查询收据 let _data = _json.data; $that._closeDoPayFeeModal(); vc.emit('payFeeOrderResult', '_loadReceipt', _data) return; } else { if ($that.payFeeOrderConfirmInfo.preCheck==true){ if (_json.msg == "预检完成,可正常缴费") { $that.payFeeOrderConfirmInfo.preCheck = false; }else{ $that.payFeeOrderInfo.ABAQRCode = _json.msg; } } vc.toast(_json.msg); } }, function (errInfo, error) { console.log('请求失败处理'); vc.toast(errInfo); } ); }, //查询收据 } }); })(window.vc);