feat(RoyalPay): 添加AlipayPlus费率配置

master
xiao.tang 4 years ago
parent ba1597789a
commit 236d2c6a14

@ -3404,6 +3404,97 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter
} }
} }
$scope.complianceChangeCheck() $scope.complianceChangeCheck()
// 是否为alipayplus
$scope.isAlipayCN = true
// 修改渠道
$scope.changeAlipayPlusRateState = function (flag) {
$scope.isAlipayCN = flag
}
// 过滤渠道
$scope.isAlipayPlus = function (item) {
if ($scope.isAlipayCN) {
return item.rate_name === 'AlipayPlus' && (item.pay_type === 'alipay_cn_retail' || item.pay_type === 'alipay_cn_online')
} else {
return item.rate_name === 'AlipayPlus' && item.pay_type === 'alipay_other'
}
}
// 新增alipay+费率
$scope.newAlipayPlusRate = function () {
$uibModal
.open({
templateUrl: '/static/payment/partner/templates/partner_new_alipayplus_rate.html',
resolve: {
rate: function () {
return {
rate_name: 'AlipayPlus',
clean_days: '3',
}
},
sys_common_rate: function () {
return $http.get('/sys/partners/sys_rates')
},
clientMoniker: function () {
return $scope.partner.client_moniker
},
},
controller: [
'$scope',
'$http',
'rate',
'sys_common_rate',
'clientMoniker',
function ($scope, $http, rate, sys_common_rate, clientMoniker) {
$scope.rate = angular.copy(rate)
$scope.sysRateConfig = angular.copy(sys_common_rate.data)
$scope.ctrl = { sending: false }
$scope.saveRate = function (form) {
if (form.$invalid) {
angular.forEach(form, function (item, key) {
if (key.indexOf('$') < 0) {
item.$dirty = true
}
})
return
}
$scope.errmsg = null
$scope.ctrl.sending = true
$http.post('/sys/partners/' + clientMoniker + '/rates', $scope.rate).then(
function () {
$scope.ctrl.sending = false
$scope.$close()
},
function (resp) {
$scope.ctrl.sending = false
$scope.errmsg = resp.data.message
}
)
}
$scope.changeDays = function () {
// if ($scope.rate.clean_days) {
// switch ($scope.rate.clean_days) {
// case '1': {
// $scope.rate.alipayplus = parseFloat($scope.sysRateConfig.t1.AlipayPlus)
// break
// }
// case '2': {
// $scope.rate.alipayplus = parseFloat($scope.sysRateConfig.t2.AlipayPlus)
// break
// }
// case '3': {
// $scope.rate.alipayplus = parseFloat($scope.sysRateConfig.t3.AlipayPlus)
// break
// }
// }
// }
}
},
],
})
.result.then(function () {
$scope.getRates()
})
}
}, },
]) ])
app.controller('surchargeAccountDetailCtrl', [ app.controller('surchargeAccountDetailCtrl', [

@ -8,7 +8,7 @@
<div class="col-sm-12"> <div class="col-sm-12">
<h3>Bank Account <h3>Bank Account
<a class="small" role="button" ng-click="bankCtrl.edit=true" <a class="small" role="button" ng-click="bankCtrl.edit=true"
ng-if="!bankCtrl.edit && (('11'|withRole)||((!partner.approve_result||partner.approve_result>4) && ('111'|withRole)))"> ng-if="!bankCtrl.edit && (('11'|withRole)||((!partner.approve_result||partner.approve_result>4) && ('111'|withRole)))">
<i class="fa fa-edit"></i> <i class="fa fa-edit"></i>
</a> </a>
</h3> </h3>
@ -18,15 +18,15 @@
<label class="col-sm-4">手续费账户余额</label> <label class="col-sm-4">手续费账户余额</label>
<div class="col-sm-6" style="font-size: 25px"> <div class="col-sm-6" style="font-size: 25px">
<p>{{surcharge.balance|currency:'AUD'}}<i class="fa fa-bars" <p>{{surcharge.balance|currency:'AUD'}}<i class="fa fa-bars"
style="font-size: 15px;color: #3c8dbc;cursor: pointer;padding-left: 15px" style="font-size: 15px;color: #3c8dbc;cursor: pointer;padding-left: 15px"
ng-click="surchargeAccountDetail()"></i></p> ng-click="surchargeAccountDetail()"></i></p>
</div> </div>
</div> </div>
<div class="form-group" ng-if="partner.surcharge_mode=='distributed'"> <div class="form-group" ng-if="partner.surcharge_mode=='distributed'">
<label class="col-sm-4">允许手续费账户欠款</label> <label class="col-sm-4">允许手续费账户欠款</label>
<div class="col-sm-6"> <div class="col-sm-6">
<input type="checkbox" ng-model="partner.allow_surcharge_credit" bs-switch <input type="checkbox" ng-model="partner.allow_surcharge_credit" bs-switch
switch-change="allowSurchargeCredit(partner.allow_surcharge_credit)"> switch-change="allowSurchargeCredit(partner.allow_surcharge_credit)">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
@ -34,12 +34,12 @@
<div class="col-sm-6"> <div class="col-sm-6">
<p> <p>
<span ng-if="partner.surcharge_mode=='balance'">balance <span ng-if="partner.surcharge_mode=='balance'">balance
<i class="fa fa-sort" style="color: #3c8dbc;cursor: pointer" <i class="fa fa-sort" style="color: #3c8dbc;cursor: pointer"
ng-click="switchSurchargeMode()"></i> ng-click="switchSurchargeMode()"></i>
</span> </span>
<span ng-if="partner.surcharge_mode=='distributed'">distributed <span ng-if="partner.surcharge_mode=='distributed'">distributed
<i class="fa fa-sort" style="color: #3c8dbc;cursor: pointer" <i class="fa fa-sort" style="color: #3c8dbc;cursor: pointer"
ng-click="switchSurchargeMode()"></i> ng-click="switchSurchargeMode()"></i>
</span> </span>
<p class="text-info"> <p class="text-info">
<i class="fa fa-info"></i>启用到收支分离(distributed)模式,将使消费者支付手续费模式失效<br> <i class="fa fa-info"></i>启用到收支分离(distributed)模式,将使消费者支付手续费模式失效<br>
@ -52,28 +52,28 @@
<label class="col-sm-4">RoyalPay Pay GST</label> <label class="col-sm-4">RoyalPay Pay GST</label>
<div class="col-sm-6"> <div class="col-sm-6">
<input type="checkbox" ng-model="partner.tax_in_surcharge" bs-switch <input type="checkbox" ng-model="partner.tax_in_surcharge" bs-switch
switch-change="taxInSurcharge(partner.tax_in_surcharge)"> switch-change="taxInSurcharge(partner.tax_in_surcharge)">
</div> </div>
</div> </div>
<div class="form-group" ng-if="('10'|withRole)"> <div class="form-group" ng-if="('10'|withRole)">
<label class="col-sm-4">Merchant Pay GST &ensp;<small><em>(消费者承担手续费时生效)</em></small></label> <label class="col-sm-4">Merchant Pay GST &ensp;<small><em>(消费者承担手续费时生效)</em></small></label>
<div class="col-sm-6"> <div class="col-sm-6">
<input type="checkbox" ng-model="partner.customer_tax_free" bs-switch <input type="checkbox" ng-model="partner.customer_tax_free" bs-switch
switch-change="customerTaxFree(partner.customer_tax_free)"> switch-change="customerTaxFree(partner.customer_tax_free)">
</div> </div>
</div> </div>
<div class="form-group" ng-if="'modify_skip_clear'|withFunc"> <div class="form-group" ng-if="'modify_skip_clear'|withFunc">
<label class="col-sm-4">Skip Clearing</label> <label class="col-sm-4">Skip Clearing</label>
<div class="col-sm-6"> <div class="col-sm-6">
<input type="checkbox" ng-model="partner.skip_clearing" bs-switch <input type="checkbox" ng-model="partner.skip_clearing" bs-switch
switch-change="skipClearing(partner.skip_clearing)"> switch-change="skipClearing(partner.skip_clearing)">
</div> </div>
</div> </div>
<div class="form-group" ng-if="'modify_skip_clear'|withFunc"> <div class="form-group" ng-if="'modify_skip_clear'|withFunc">
<label class="col-sm-4">Pre Settle</label> <label class="col-sm-4">Pre Settle</label>
<div class="col-sm-6"> <div class="col-sm-6">
<input type="checkbox" ng-model="partner.enable_presettle" bs-switch <input type="checkbox" ng-model="partner.enable_presettle" bs-switch
switch-change="switchPreSettle(partner.enable_presettle)"> switch-change="switchPreSettle(partner.enable_presettle)">
</div> </div>
</div> </div>
<div class="form-group" ng-if="'modify_min_settle'|withFunc"> <div class="form-group" ng-if="'modify_min_settle'|withFunc">
@ -86,7 +86,7 @@
<div class="input-group" ng-if="bankCtrl.modify_min_settle"> <div class="input-group" ng-if="bankCtrl.modify_min_settle">
<div class="input-group-addon">AU$</div> <div class="input-group-addon">AU$</div>
<input class="form-control" ng-model="partner.min_settle" type="number" id="minSettleEdit" <input class="form-control" ng-model="partner.min_settle" type="number" id="minSettleEdit"
min="0"> min="0">
<div class="input-group-btn"> <div class="input-group-btn">
<button class="btn btn-danger" ng-click="bankCtrl.modify_min_settle=false"><i <button class="btn btn-danger" ng-click="bankCtrl.modify_min_settle=false"><i
class="fa fa-close"></i> class="fa fa-close"></i>
@ -114,27 +114,26 @@
<label class="col-sm-4">Settle Hour</label> <label class="col-sm-4">Settle Hour</label>
<div class="col-sm-6"> <div class="col-sm-6">
<select ng-model="partner.settle_hour" class="form-control" <select ng-model="partner.settle_hour" class="form-control"
ng-options="hour.value as hour.label for hour in settleHours" ng-options="hour.value as hour.label for hour in settleHours"
ng-change="settleHourConfig()"></select> ng-change="settleHourConfig()"></select>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-4" for="swiftcode_input">Swift Code</label> <label class="col-sm-4" for="swiftcode_input">Swift Code</label>
<div class="col-sm-6"> <div class="col-sm-6">
<i class="fa fa-check-square-o check-i" aria-hidden="true" <i class="fa fa-check-square-o check-i" aria-hidden="true"
ng-if="$root.complianceCheck.bankAccount"></i> ng-if="$root.complianceCheck.bankAccount"></i>
<input class="form-control bank-input" ng-model="bankaccount.swift_code" id="swiftcode_input" <input class="form-control bank-input" ng-model="bankaccount.swift_code" id="swiftcode_input"
required required ng-readonly="!bankCtrl.edit">
ng-readonly="!bankCtrl.edit">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-4" for="bsb_no_input">BSB No</label> <label class="col-sm-4" for="bsb_no_input">BSB No</label>
<div class="col-sm-6"> <div class="col-sm-6">
<i class="fa fa-check-square-o check-i" aria-hidden="true" <i class="fa fa-check-square-o check-i" aria-hidden="true"
ng-if="$root.complianceCheck.bankAccount"></i> ng-if="$root.complianceCheck.bankAccount"></i>
<input class="form-control bank-input" ng-model="bankaccount.bsb_no" id="bsb_no_input" required <input class="form-control bank-input" ng-model="bankaccount.bsb_no" id="bsb_no_input" required
ng-readonly="!bankCtrl.edit"> ng-readonly="!bankCtrl.edit">
</div> </div>
<div class="col-sm-2" ng-if="bankCtrl.edit"> <div class="col-sm-2" ng-if="bankCtrl.edit">
<a class="btn btn-success" role="button" ng-click="getBankInfo(bankaccount.bsb_no)"><i <a class="btn btn-success" role="button" ng-click="getBankInfo(bankaccount.bsb_no)"><i
@ -145,82 +144,81 @@
<label class="col-sm-4" for="bank_input">Bank</label> <label class="col-sm-4" for="bank_input">Bank</label>
<div class="col-sm-6"> <div class="col-sm-6">
<i class="fa fa-check-square-o check-i" aria-hidden="true" <i class="fa fa-check-square-o check-i" aria-hidden="true"
ng-if="$root.complianceCheck.bankAccount"></i> ng-if="$root.complianceCheck.bankAccount"></i>
<input class="form-control bank-input" ng-model="bankaccount.bank" id="bank_input" required <input class="form-control bank-input" ng-model="bankaccount.bank" id="bank_input" required
ng-readonly="!bankCtrl.edit"> ng-readonly="!bankCtrl.edit">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-4" for="city_input">City</label> <label class="col-sm-4" for="city_input">City</label>
<div class="col-sm-6"> <div class="col-sm-6">
<i class="fa fa-check-square-o check-i" aria-hidden="true" <i class="fa fa-check-square-o check-i" aria-hidden="true"
ng-if="$root.complianceCheck.bankAccount"></i> ng-if="$root.complianceCheck.bankAccount"></i>
<input class="form-control bank-input" ng-model="bankaccount.city" id="city_input" required <input class="form-control bank-input" ng-model="bankaccount.city" id="city_input" required
ng-readonly="!bankCtrl.edit"> ng-readonly="!bankCtrl.edit">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-4" for="address_input">Address</label> <label class="col-sm-4" for="address_input">Address</label>
<div class="col-sm-6"> <div class="col-sm-6">
<i class="fa fa-check-square-o check-i" aria-hidden="true" <i class="fa fa-check-square-o check-i" aria-hidden="true"
ng-if="$root.complianceCheck.bankAccount"></i> ng-if="$root.complianceCheck.bankAccount"></i>
<input class="form-control bank-input" ng-model="bankaccount.address" id="address_input" required <input class="form-control bank-input" ng-model="bankaccount.address" id="address_input" required
ng-readonly="!bankCtrl.edit"> ng-readonly="!bankCtrl.edit">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-4" for="system_input">System</label> <label class="col-sm-4" for="system_input">System</label>
<div class="col-sm-6"> <div class="col-sm-6">
<i class="fa fa-check-square-o check-i" aria-hidden="true" <i class="fa fa-check-square-o check-i" aria-hidden="true"
ng-if="$root.complianceCheck.bankAccount"></i> ng-if="$root.complianceCheck.bankAccount"></i>
<input class="form-control bank-input" ng-model="bankaccount.system" id="system_input" required <input class="form-control bank-input" ng-model="bankaccount.system" id="system_input" required
ng-readonly="!bankCtrl.edit"> ng-readonly="!bankCtrl.edit">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-4" for="postcode_input">Postcode</label> <label class="col-sm-4" for="postcode_input">Postcode</label>
<div class="col-sm-6"> <div class="col-sm-6">
<i class="fa fa-check-square-o check-i" aria-hidden="true" <i class="fa fa-check-square-o check-i" aria-hidden="true"
ng-if="$root.complianceCheck.bankAccount"></i> ng-if="$root.complianceCheck.bankAccount"></i>
<input class="form-control bank-input" ng-model="bankaccount.postcode" id="postcode_input" required <input class="form-control bank-input" ng-model="bankaccount.postcode" id="postcode_input" required
ng-readonly="!bankCtrl.edit"> ng-readonly="!bankCtrl.edit">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-4" for="state_input">State</label> <label class="col-sm-4" for="state_input">State</label>
<div class="col-sm-6"> <div class="col-sm-6">
<i class="fa fa-check-square-o check-i" aria-hidden="true" <i class="fa fa-check-square-o check-i" aria-hidden="true"
ng-if="$root.complianceCheck.bankAccount"></i> ng-if="$root.complianceCheck.bankAccount"></i>
<input class="form-control bank-input" ng-model="bankaccount.state" id="state_input" required <input class="form-control bank-input" ng-model="bankaccount.state" id="state_input" required
ng-readonly="!bankCtrl.edit"> ng-readonly="!bankCtrl.edit">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-4" for="branch_input">Branch</label> <label class="col-sm-4" for="branch_input">Branch</label>
<div class="col-sm-6"> <div class="col-sm-6">
<i class="fa fa-check-square-o check-i" aria-hidden="true" <i class="fa fa-check-square-o check-i" aria-hidden="true"
ng-if="$root.complianceCheck.bankAccount"></i> ng-if="$root.complianceCheck.bankAccount"></i>
<input class="form-control bank-input" ng-model="bankaccount.branch" id="branch_input" required <input class="form-control bank-input" ng-model="bankaccount.branch" id="branch_input" required
ng-readonly="!bankCtrl.edit"> ng-readonly="!bankCtrl.edit">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-4" for="account_no_input">Account No</label> <label class="col-sm-4" for="account_no_input">Account No</label>
<div class="col-sm-6"> <div class="col-sm-6">
<i class="fa fa-check-square-o check-i" aria-hidden="true" <i class="fa fa-check-square-o check-i" aria-hidden="true"
ng-if="$root.complianceCheck.bankAccount"></i> ng-if="$root.complianceCheck.bankAccount"></i>
<input class="form-control bank-input" ng-model="bankaccount.account_no" id="account_no_input" <input class="form-control bank-input" ng-model="bankaccount.account_no" id="account_no_input"
required required ng-readonly="!bankCtrl.edit">
ng-readonly="!bankCtrl.edit">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-4" for="account_name_input">Account Name</label> <label class="col-sm-4" for="account_name_input">Account Name</label>
<div class="col-sm-6"> <div class="col-sm-6">
<i class="fa fa-check-square-o check-i" aria-hidden="true" <i class="fa fa-check-square-o check-i" aria-hidden="true"
ng-if="$root.complianceCheck.bankAccount"></i> ng-if="$root.complianceCheck.bankAccount"></i>
<input class="form-control bank-input" maxlength="50" ng-model="bankaccount.account_name" <input class="form-control bank-input" maxlength="50" ng-model="bankaccount.account_name"
id="account_name_input" required ng-readonly="!bankCtrl.edit"> id="account_name_input" required ng-readonly="!bankCtrl.edit">
</div> </div>
</div> </div>
<div class="btn-group"> <div class="btn-group">
@ -236,105 +234,170 @@
</div> </div>
</div> </div>
</div> </div>
<div class="row"> <div class="panel panel-info">
<div class="col-sm-12"> <div class="panel-heading">
<h3>Rates <a class="text-success" role="button" <h3>Rates <a class="text-success" role="button"
ng-if="partner.rate_editable && (('11'|withRole)||((!partner.approve_result||partner.approve_result>4) && ('111'|withRole)))" ng-if="partner.rate_editable && (('11'|withRole)||((!partner.approve_result||partner.approve_result>4) && ('111'|withRole)))"
ng-click="newRate()"> ng-click="newRate()">
<i class="fa fa-plus"></i></a> <i class="fa fa-plus"></i></a>
</h3> </h3>
<ul class="nav nav-pills margin-bottom"> </div>
<li role="presentation" ng-class="{active:bankCtrl.rate_name=='Wechat'}"><a role="button" <div class="panel-body">
ng-click="bankCtrl.rate_name='Wechat'">Wechat</a> <div class="row">
</li> <div class="col-sm-12">
<li role="presentation" ng-class="{active:bankCtrl.rate_name=='Alipay'}"><a role="button" <ul class="nav nav-pills margin-bottom">
ng-click="bankCtrl.rate_name='Alipay'">Alipay(Retail)</a> <li role="presentation" ng-class="{active:bankCtrl.rate_name=='Wechat'}"><a role="button"
</li> ng-click="bankCtrl.rate_name='Wechat'">Wechat</a>
<li role="presentation" ng-class="{active:bankCtrl.rate_name=='AlipayOnline'}"><a role="button" </li>
ng-click="bankCtrl.rate_name='AlipayOnline'">Alipay(Online)</a> <li role="presentation" ng-class="{active:bankCtrl.rate_name=='Alipay'}"><a role="button"
</li> ng-click="bankCtrl.rate_name='Alipay'">Alipay(Retail)</a>
<!-- <li role="presentation" ng-class="{active:bankCtrl.rate_name=='Bestpay'}"><a role="button" </li>
ng-click="bankCtrl.rate_name='Bestpay'">Bestpay</a> <li role="presentation" ng-class="{active:bankCtrl.rate_name=='AlipayOnline'}"><a role="button"
</li> ng-click="bankCtrl.rate_name='AlipayOnline'">Alipay(Online)</a>
<li role="presentation" ng-class="{active:bankCtrl.rate_name=='jd'}"><a role="button" </li>
ng-click="bankCtrl.rate_name='jd'">JDpay</a> <!-- <li role="presentation" ng-class="{active:bankCtrl.rate_name=='Bestpay'}"><a role="button"
</li>--> ng-click="bankCtrl.rate_name='Bestpay'">Bestpay</a>
<!--<li role="presentation" ng-class="{active:bankCtrl.rate_name=='hf'}"><a role="button" ng-click="bankCtrl.rate_name='hf'">HFpay</a></li>--> </li>
<li role="presentation" ng-class="{active:bankCtrl.rate_name=='Rpay'}"><a role="button" <li role="presentation" ng-class="{active:bankCtrl.rate_name=='jd'}"><a role="button"
ng-click="bankCtrl.rate_name='Rpay'">Rpay+</a> ng-click="bankCtrl.rate_name='jd'">JDpay</a>
</li> </li>-->
<!--<li role="presentation" ng-class="{active:bankCtrl.rate_name=='Yeepay'}"><a role="button" ng-click="bankCtrl.rate_name='Yeepay'">Yeepay</a></li>--> <!--<li role="presentation" ng-class="{active:bankCtrl.rate_name=='hf'}"><a role="button" ng-click="bankCtrl.rate_name='hf'">HFpay</a></li>-->
<li role="presentation" ng-class="{active:bankCtrl.rate_name=='CB_BankPay'}"><a role="button" <li role="presentation" ng-class="{active:bankCtrl.rate_name=='Rpay'}"><a role="button"
ng-click="bankCtrl.rate_name='CB_BankPay'" ng-click="bankCtrl.rate_name='Rpay'">Rpay+</a>
ng-if="sysconfig.active_channels.indexOf('CB_BankPay')!=-1">CB_BankPay</a> </li>
</li> <!--<li role="presentation" ng-class="{active:bankCtrl.rate_name=='Yeepay'}"><a role="button" ng-click="bankCtrl.rate_name='Yeepay'">Yeepay</a></li>-->
<li role="presentation" ng-class="{active:bankCtrl.rate_name=='rpaypmt_card'}"><a role="button" <li role="presentation" ng-class="{active:bankCtrl.rate_name=='CB_BankPay'}"><a role="button"
ng-click="bankCtrl.rate_name='rpaypmt_card'">Card ng-click="bankCtrl.rate_name='CB_BankPay'"
Payment</a></li> ng-if="sysconfig.active_channels.indexOf('CB_BankPay')!=-1">CB_BankPay</a>
<li role="presentation" ng-class="{active:bankCtrl.rate_name=='rpaypmt_dd'}"><a role="button" </li>
ng-click="bankCtrl.rate_name='rpaypmt_dd'">Direct <li role="presentation" ng-class="{active:bankCtrl.rate_name=='rpaypmt_card'}"><a role="button"
Debit</a></li> ng-click="bankCtrl.rate_name='rpaypmt_card'">Card
<a id="addCardPaymentRate" class="btn btn-warning" style="float: right" type="button" Payment</a></li>
ng-click="newCardPaymentRates()" <li role="presentation" ng-class="{active:bankCtrl.rate_name=='rpaypmt_dd'}"><a role="button"
ng-if="(partner.card_rate_editable && ('100'|withRole)) || ('11'|withRole)"> ng-click="bankCtrl.rate_name='rpaypmt_dd'">Direct
Add Card Payment Rates Debit</a></li>
</a> <a id="addCardPaymentRate" class="btn btn-warning" style="float: right" type="button"
</ul> ng-click="newCardPaymentRates()"
<div class="table-responsive"> ng-if="(partner.card_rate_editable && ('100'|withRole)) || ('11'|withRole)">
<table class="table table-bordered"> Add Card Payment Rates
<thead> </a>
<tr> </ul>
<th>Rate Name</th> <div class="table-responsive">
<th ng-if="bankCtrl.rate_name!='rpaypmt_card'">Rate Value</th> <table class="table table-bordered">
<th ng-if="bankCtrl.rate_name=='rpaypmt_card'">Domestic Rate Value</th> <thead>
<th ng-if="bankCtrl.rate_name=='rpaypmt_card'">International Rate Value</th> <tr>
<th>Transaction Fee</th> <th>Rate Name</th>
<th>Active Time</th> <th ng-if="bankCtrl.rate_name!='rpaypmt_card'">Rate Value</th>
<th>Expire Time</th> <th ng-if="bankCtrl.rate_name=='rpaypmt_card'">Domestic Rate Value</th>
<th ng-if="bankCtrl.rate_name=='Wechat' || bankCtrl.rate_name=='rpaypmt_card' ||bankCtrl.rate_name=='rpaypmt_dd'"> <th ng-if="bankCtrl.rate_name=='rpaypmt_card'">International Rate Value</th>
Clean Days <th>Transaction Fee</th>
</th> <th>Active Time</th>
<th>Update Time</th> <th>Expire Time</th>
<th>Operator</th> <th
<th>Remark</th> ng-if="bankCtrl.rate_name=='Wechat' || bankCtrl.rate_name=='rpaypmt_card' ||bankCtrl.rate_name=='rpaypmt_dd'">
<th style="text-align: center">Operation</th> Clean Days
</tr> </th>
</thead> <th>Update Time</th>
<tbody> <th>Operator</th>
<tr ng-repeat="rate in rates|filter:{rate_name:bankCtrl.rate_name}:true" <th>Remark</th>
ng-class="{'text-bold':rate.current,'success':rate.active}"> <th style="text-align: center">Operation</th>
<td ng-bind="rate.rate_name"></td> </tr>
<td ng-if="bankCtrl.rate_name!='rpaypmt_card'" ng-bind="rate.rate_value + ' %'"></td> </thead>
<td ng-if="bankCtrl.rate_name=='rpaypmt_card'" ng-bind="rate.rate_value + ' %'"></td> <tbody>
<td ng-if="bankCtrl.rate_name=='rpaypmt_card'" <tr ng-repeat="rate in rates|filter:{rate_name:bankCtrl.rate_name}:true"
ng-bind="rate.ext_rates.overseas_rate_value.rate + ' %/T+'+rate.ext_rates.overseas_rate_value.clean_days"></td> ng-class="{'text-bold':rate.current,'success':rate.active}">
<td ng-bind="'$ '+rate.transaction_fee"></td> <td ng-bind="rate.rate_name"></td>
<td ng-bind="rate.active_time|date:'yyyy-MM-dd'"></td> <td ng-if="bankCtrl.rate_name!='rpaypmt_card'" ng-bind="rate.rate_value + ' %'"></td>
<td ng-bind="rate.expiry_time|date:'yyyy-MM-dd'"></td> <td ng-if="bankCtrl.rate_name=='rpaypmt_card'" ng-bind="rate.rate_value + ' %'"></td>
<td ng-if="rate.rate_name=='Wechat' || bankCtrl.rate_name=='rpaypmt_card' ||bankCtrl.rate_name=='rpaypmt_dd'"> <td ng-if="bankCtrl.rate_name=='rpaypmt_card'"
T+{{rate.clean_days}} ng-bind="rate.ext_rates.overseas_rate_value.rate + ' %/T+'+rate.ext_rates.overseas_rate_value.clean_days">
</td> </td>
<td ng-bind="rate.update_time|date:'yyyy-MM-dd'"></td> <td ng-bind="'$ '+rate.transaction_fee"></td>
<td ng-bind="rate.operator_name||'系统生成'"></td> <td ng-bind="rate.active_time|date:'yyyy-MM-dd'"></td>
<td ng-bind="rate.remark|limitTo:20" title="{{rate.remark}}"></td> <td ng-bind="rate.expiry_time|date:'yyyy-MM-dd'"></td>
<td style="text-align: center"> <td
<a role="button" ng-click="editRate(rate)" style="padding-right: 10px;" ng-if="rate.rate_name=='Wechat' || bankCtrl.rate_name=='rpaypmt_card' ||bankCtrl.rate_name=='rpaypmt_dd'">
ng-if="'011'|withRole"><i class="fa fa-edit"></i></a> T+{{rate.clean_days}}
<span ng-if="(bankCtrl.rate_name=='rpaypmt_card' ||bankCtrl.rate_name=='rpaypmt_dd') </td>
&& partner.upay_approve_result"> <td ng-bind="rate.update_time|date:'yyyy-MM-dd'"></td>
<span style="color: orange">(Promotional Offer)</span> <td ng-bind="rate.operator_name||'系统生成'"></td>
<a class="fa fa-cloud-download" target="_blank" <td ng-bind="rate.remark|limitTo:20" title="{{rate.remark}}"></td>
ng-href="/sys/partners/{{partner.client_moniker}}/export/aggregate/card_promotion_agree_pdf?rateid={{rate.client_rate_id}}"></a> <td style="text-align: center">
</span> <a role="button" ng-click="editRate(rate)" style="padding-right: 10px;"
</td> ng-if="'011'|withRole"><i class="fa fa-edit"></i></a>
</tr> <span ng-if="(bankCtrl.rate_name=='rpaypmt_card' ||bankCtrl.rate_name=='rpaypmt_dd')
</tbody> && partner.upay_approve_result">
</table> <span style="color: orange">(Promotional Offer)</span>
<div style="text-align: center"> <a class="fa fa-cloud-download" target="_blank"
<a role="button" style="margin-bottom: 25px;" class="btn btn-success btn-sm ng-scope" ng-href="/sys/partners/{{partner.client_moniker}}/export/aggregate/card_promotion_agree_pdf?rateid={{rate.client_rate_id}}"></a>
ng-if="('10'|withRole)" ng-click="complianceCheck()">check</a> </span>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<!-- AlipayPlus费率设置 -->
<div class="row">
<div class="col-sm-12">
<h4>AlipayPlus Rates <a class="text-success" role="button"
ng-if="partner.rate_editable && (('11'|withRole)||((!partner.approve_result||partner.approve_result>4||(partner.approve_result==4&&partner.open_status==3)) && ('111'|withRole)))"
ng-click="newAlipayPlusRate()">
<i class="fa fa-plus"></i></a>
</h4>
<ul class="nav nav-pills margin-bottom">
<li role="presentation" ng-class="{active:isAlipayCN}"><a role="button"
ng-click="changeAlipayPlusRateState(true)"
ng-if="sysconfig.active_channels.indexOf('AlipayPlus')!=-1">AlipayCN</a>
</li>
<li role="presentation" ng-class="{active:!isAlipayCN}"><a role="button"
ng-click="changeAlipayPlusRateState(false)">Other Wallets</a>
</li>
</ul>
<div class="table-responsive">
<table class="table table-bordered">
<thead>
<tr>
<th>Rate Name</th>
<th>Rate Value</th>
<th>Transaction Fee</th>
<th>Active Time</th>
<th>Expire Time</th>
<th>Clean Days</th>
<th>Update Time</th>
<th>Operator</th>
<th>Remark</th>
<th style="text-align: center">Operation</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="rate in rates|filter:isAlipayPlus"
ng-class="{'text-bold':rate.current,'success':rate.active}">
<td ng-bind="rate.rate_name"></td>
<td ng-bind="rate.rate_value + ' %'"></td>
<td ng-bind="'$ '+rate.transaction_fee"></td>
<td ng-bind="rate.active_time|date:'yyyy-MM-dd'"></td>
<td ng-bind="rate.expiry_time|date:'yyyy-MM-dd'"></td>
<td>T+{{rate.clean_days}}</td>
<td ng-bind="rate.update_time|date:'yyyy-MM-dd'"></td>
<td ng-bind="rate.operator_name||'系统生成'"></td>
<td ng-bind="rate.remark|limitTo:20" title="{{rate.remark}}"></td>
<td style="text-align: center">
<a role="button" ng-click="editRate(rate)" style="padding-right: 10px;"
ng-if="'011'|withRole"><i class="fa fa-edit"></i></a>
<span ng-if="(bankCtrl.rate_name=='rpaypmt_card' ||bankCtrl.rate_name=='rpaypmt_dd')
&& partner.upay_approve_result">
<span style="color: orange">(Promotional Offer)</span>
<a class="fa fa-cloud-download" target="_blank"
ng-href="/sys/partners/{{partner.client_moniker}}/export/aggregate/card_promotion_agree_pdf?rateid={{rate.client_rate_id}}"></a>
</span>
</td>
</tr>
</tbody>
</table>
</div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>

@ -0,0 +1,150 @@
<div class="modal-header">
<h4>New AlipayPlus Rate</h4>
</div>
<div class="modal-body">
<div class="alert alert-danger" ng-if="errmsg" ng-bind="errmsg"></div>
<div class="row">
<div class="col-sm-12">
<form class="form-horizontal" novalidate name="rate_form">
<div class="form-group">
<label class="control-label col-sm-4">Clear Days</label>
<div class="col-sm-6">
<div class="input-group">
<select class="form-control" ng-model="rate.clean_days" id="citySelect"
ng-change="changeDays()">
<option value="1">T+1</option>
<option value="2">T+2</option>
<option value="3">T+3</option>
</select>
<div>{{rateConfig}}</div>
</div>
</div>
</div>
<!-- <div class="form-group"
ng-class="{'has-error':rate_form.alipay_cn_retail.$invalid && rate_form.alipay_cn_retail.$dirty}">
<label class="control-label col-sm-4" for="alipay_cn_retail_input">Alipay CN Retail
Rate</label>
<div class="col-sm-6">
<div class="input-group">
<input type="number" name="alipay_cn_retail" stringToNumber2 class="form-control"
ng-model="rate.alipay_cn_retail" min="0.7" max="3" step="0.1"
id="alipay_cn_retail_input" required>
<div class="input-group-addon">%</div>
</div>
<div ng-messages="rate_form.alipay_cn_retail.$error" ng-if="rate_form.alipay_cn_retail.$dirty">
<div class="small text-danger" ng-message="max">
<i class="glyphicon glyphicon-alert"></i> No More Than 3%
</div>
<div class="small text-danger" ng-message="min">
<i class="glyphicon glyphicon-alert"></i> No Less Than
0.7%
</div>
<div class="small text-danger" ng-message="required">
<i class="glyphicon glyphicon-alert"></i> Required Field
</div>
</div>
</div>
</div> -->
<div class="form-group"
ng-class="{'has-error':rate_form.alipay_cn_online.$invalid && rate_form.alipay_cn_online.$dirty}">
<label class="control-label col-sm-4" for="alipay_cn_online_input">Alipay CN Online
Rate</label>
<div class="col-sm-6">
<div class="input-group">
<input type="number" name="alipay_cn_online" stringToNumber2 class="form-control"
ng-model="rate.alipay_cn_online" min="0.7" max="3" step="0.1"
id="alipay_cn_online_input" required>
<div class="input-group-addon">%</div>
</div>
<div ng-messages="rate_form.alipay_cn_online.$error" ng-if="rate_form.alipay_cn_online.$dirty">
<div class="small text-danger" ng-message="max">
<i class="glyphicon glyphicon-alert"></i> No More Than 3%
</div>
<div class="small text-danger" ng-message="min">
<i class="glyphicon glyphicon-alert"></i> No Less Than
0.7%
</div>
<div class="small text-danger" ng-message="required">
<i class="glyphicon glyphicon-alert"></i> Required Field
</div>
</div>
</div>
</div>
<div class="form-group"
ng-class="{'has-error':rate_form.alipay_other.$invalid && rate_form.alipay_other.$dirty}">
<label class="control-label col-sm-4" for="alipay_other_input">Other Wallets
Rate</label>
<div class="col-sm-6">
<div class="input-group">
<input type="number" name="alipay_other" stringToNumber2 class="form-control"
ng-model="rate.alipay_other" min="1.9" max="3" step="0.1" id="alipay_other_input"
required>
<div class="input-group-addon">%</div>
</div>
<div ng-messages="rate_form.alipay_other.$error" ng-if="rate_form.alipay_other.$dirty">
<div class="small text-danger" ng-message="max">
<i class="glyphicon glyphicon-alert"></i> No More Than 3%
</div>
<div class="small text-danger" ng-message="min">
<i class="glyphicon glyphicon-alert"></i> No Less Than
1.9%
</div>
<div class="small text-danger" ng-message="required">
<i class="glyphicon glyphicon-alert"></i> Required Field
</div>
</div>
</div>
</div>
<div class="form-group"
ng-class="{'has-error':rate_form.transaction_fee.$invalid && rate_form.transaction_fee.$dirty}">
<label class="control-label col-sm-4" for="transaction_fee_input">Transaction Fee</label>
<div class="col-sm-6">
<div class="input-group">
<input type="number" name="Transaction_fee_value" stringToNumber2 class="form-control"
ng-model="rate.transaction_fee" min="0" step="0.1" max="1" id="transaction_fee_input"
required>
<div class="input-group-addon">$</div>
</div>
<div ng-messages="rate_form.transaction_fee.$error" ng-if="rate_form.transaction_fee.$dirty">
<div class="small text-danger" ng-message="min">
<i class="glyphicon glyphicon-alert"></i> No less than 0
</div>
<div class="small text-danger" ng-message="required">
<i class="glyphicon glyphicon-alert"></i> Required Field
</div>
</div>
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-4" for="active_time_input">Active Date</label>
<div class="col-sm-6">
<input class="form-control" ng-model="rate.active_time" id="active_time_input"
uib-datepicker-popup size="10" placeholder="Active Date" is-open="activeDate.open"
ng-click="activeDate.open=true" datepicker-options="{maxDate:rate.expiry_time}" required>
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-4" for="expire_time_input">Expire Date</label>
<div class="col-sm-6">
<input class="form-control" ng-model="rate.expiry_time" id="expire_time_input"
uib-datepicker-popup size="10" placeholder="Expire Date" is-open="expireDate.open"
ng-click="expireDate.open=true" datepicker-options="{minDate:rate.active_time}" required>
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-4" for="remark_text">Remark</label>
<div class="col-sm-6">
<input class="form-control" ng-model="rate.remark" id="remark_text" type="text">
</div>
</div>
</form>
</div>
</div>
</div>
<div class="modal-footer">
<button class="btn btn-success" type="button" ng-click="saveRate(rate_form)"
ng-disabled="ctrl.sending">Submit</button>
<button class="btn btn-danger" type="button" ng-click="$dismiss()">Cancel</button>
</div>
Loading…
Cancel
Save