[Y] 商户新增禁止显示子商户选项开关

master
taylor.dang 5 years ago
parent d12af68c4a
commit 68c4af820b

@ -9,10 +9,10 @@
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>manage</artifactId>
<version>1.3.30</version>
<version>1.3.31</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<jib-maven-plugin.version>1.4.0</jib-maven-plugin.version>
<jib-maven-plugin.version>1.8.0</jib-maven-plugin.version>
<docker-image.version>${project.version}</docker-image.version>
</properties>

@ -2,16 +2,14 @@ package au.com.royalpay.payment.manage.analysis.web;
import au.com.royalpay.payment.manage.analysis.beans.AnalysisBean;
import au.com.royalpay.payment.manage.analysis.core.DashboardService;
import au.com.royalpay.payment.manage.analysis.core.PartnerCardDashboardService;
import au.com.royalpay.payment.manage.logview.beans.ClientLoginLogQueryBean;
import au.com.royalpay.payment.manage.management.clearing.core.CleanService;
import au.com.royalpay.payment.manage.permission.manager.PartnerMapping;
import au.com.royalpay.payment.manage.pos.datasource.ReadOnlyConnection;
import au.com.royalpay.payment.manage.signin.core.ClientLoginLogRepository;
import au.com.royalpay.payment.manage.tradelog.beans.TradeLogQuery;
import au.com.royalpay.payment.tools.CommonConsts;
import com.alibaba.fastjson.JSONObject;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
@ -24,13 +22,6 @@ import java.util.List;
public class PartnerDashboardController {
@Resource
private DashboardService dashboardService;
@Resource
private PartnerCardDashboardService partnerCardDashboardService;
@Resource
private CleanService cleanService;
@PartnerMapping("/common_analysis")
@ReadOnlyConnection
public JSONObject commonAnalysis(@ModelAttribute(CommonConsts.PARTNER_STATUS) JSONObject partner, AnalysisBean partnerAnalysisBean) {

@ -428,6 +428,8 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid
}
}
List<JSONObject> children = clientMapper.listChildClients(client.getIntValue("client_id"));
JSONObject mchConfig = merchantInfoProvider.getMchExtParams(client.getIntValue("client_id"));
client.putAll(mchConfig);
client.put("has_children", !children.isEmpty());
if (client.getInteger("parent_client_id") != null) {
client.put("parent_client", clientMapper.findClient(client.getInteger("parent_client_id")));

@ -18,11 +18,11 @@ import au.com.royalpay.payment.manage.support.sms.SmsSender;
import au.com.royalpay.payment.manage.system.core.PermissionClientModulesService;
import au.com.royalpay.payment.tools.env.PlatformEnvironment;
import au.com.royalpay.payment.tools.env.RequestEnvironment;
import au.com.royalpay.payment.tools.env.SysConfigManager;
import au.com.royalpay.payment.tools.exceptions.BadRequestException;
import au.com.royalpay.payment.tools.exceptions.ForbiddenException;
import au.com.royalpay.payment.tools.exceptions.ServerErrorException;
import au.com.royalpay.payment.tools.locale.LocaleSupport;
import au.com.royalpay.payment.tools.merchants.core.MerchantInfoProvider;
import au.com.royalpay.payment.tools.permission.enums.ManagerRole;
import au.com.royalpay.payment.tools.threadpool.RoyalThreadPoolExecutor;
import au.com.royalpay.payment.tools.utils.PasswordUtils;
@ -91,7 +91,7 @@ public class SignInAccountServiceImpl implements SignInAccountService, Applicati
@Resource
private ClientComplianceCompanyMapper clientComplianceCompanyMapper;
@Resource
private SysConfigManager sysConfigManager;
private MerchantInfoProvider merchantInfoProvider;
@Resource
private SmsSender smsSender;
@Resource
@ -179,7 +179,7 @@ public class SignInAccountServiceImpl implements SignInAccountService, Applicati
client.putAll(clientConfigService.find(client_id));
client = clientInfoWithNoSecretInfo(client);
client.put("client_less_file", false);
if ((client.getIntValue("approve_result") == 2 || client.getIntValue("open_status") == 10 || client.getIntValue("approve_result") ==1 || client.getIntValue("open_status") == 5)) {
if ((client.getIntValue("approve_result") == 2 || client.getIntValue("open_status") == 10 || client.getIntValue("approve_result") == 1 || client.getIntValue("open_status") == 5)) {
List<JSONObject> clientFiles = clientFilesMapper.findAllClientFile(client.getIntValue("client_id"));
if (clientFiles != null && clientFiles.size() > 0) {
clientFiles = clientFiles.stream().filter(fileJson -> ((fileJson.getIntValue("status") == 1 || fileJson.getIntValue("status") == 2))).collect(Collectors.toList());
@ -189,7 +189,7 @@ public class SignInAccountServiceImpl implements SignInAccountService, Applicati
client.put("client_less_file", true);
}
}
}else {
} else {
client.put("client_less_file", true);
}
}
@ -199,6 +199,8 @@ public class SignInAccountServiceImpl implements SignInAccountService, Applicati
rootPartner = clientInfoWithNoSecretInfo(rootPartner);
account.put("parent_client", rootPartner);
}
JSONObject mchConfig = merchantInfoProvider.getMchExtParams(client.getIntValue("client_id"));
client.putAll(mchConfig);
account.put("client", client);
account.put("client_moniker", client.getString("client_moniker"));
if (client.getIntValue("approve_result") == 2) {
@ -370,7 +372,7 @@ public class SignInAccountServiceImpl implements SignInAccountService, Applicati
}
@Override
public JSONObject clientWechatOneSignIn(String unionId){
public JSONObject clientWechatOneSignIn(String unionId) {
JSONObject account = clientAccountMapper.findOneByUnionIdAndCreateTimeDesc(unionId);
if (account == null) {
return null;
@ -495,7 +497,7 @@ public class SignInAccountServiceImpl implements SignInAccountService, Applicati
"company_phone", "suburb", "postcode", "state", "contact_person", "contact_phone", "contact_email", "short_name", "logo_url", "enable_refund",
"enable_refund_auth", "retail_surcharge", "require_custinfo", "require_remark", "logo_thumbnail", "creator", "create_time", "approver",
"approve_result", "approve_time", "open_status", "timezone", "has_children", "source", "customer_surcharge_rate", "enable_alipay", "enable_wechat",
"enable_bestpay", "manual_settle", "skip_clearing", "mail_confirm", "surcharge_mode", "company_photo", "store_photo", "company_website", "contact_job" ,"sub_manage"};
"enable_bestpay", "manual_settle", "skip_clearing", "mail_confirm", "surcharge_mode", "company_photo", "store_photo", "company_website", "contact_job", "sub_manage"};
for (String col : columns) {
simpleClient.put(col, client.get(col));
}
@ -697,7 +699,7 @@ public class SignInAccountServiceImpl implements SignInAccountService, Applicati
fileJson.put("name", FILE_NAMES[i]);
fileJson.put("file_value", clientFileUrl);
fileJson.put("file_write", false);
result.put(fileKey,fileJson);
result.put(fileKey, fileJson);
} else {
List<JSONObject> clientBackToFileUrl = clientFiles.stream()
.filter(fileJson -> (fileKey.equals(fileJson.getString("file_name")) && (fileJson.getIntValue("status") == 0 || fileJson.getIntValue("status") == 3)))
@ -717,15 +719,15 @@ public class SignInAccountServiceImpl implements SignInAccountService, Applicati
List<JSONObject> agreeFile = new ArrayList<>();
agreeFile.add(clientBackToFileUrl.get(0));
fileJson.put("file_value", agreeFile);
}else {
} else {
fileJson.put("file_value", clientBackToFileUrl);
}
}
fileJson.put("file_write", true);
result.put(fileKey,fileJson);
result.put(fileKey, fileJson);
clientFilesIsLess = true;
}
}else {
} else {
clientFilesIsLess = true;
for (int c = 0; c < FILE_KEYS.length; c++) {
String key = FILE_KEYS[c];
@ -733,7 +735,7 @@ public class SignInAccountServiceImpl implements SignInAccountService, Applicati
fileJson.put("key", PUT_KEYS[c]);
fileJson.put("name", FILE_NAMES[c]);
fileJson.put("file_write", true);
result.put(key,fileJson);
result.put(key, fileJson);
}
}
}
@ -760,7 +762,7 @@ public class SignInAccountServiceImpl implements SignInAccountService, Applicati
List<JSONObject> kycFiles = new ArrayList<>();
if ("client".equals(sourceType.toLowerCase())) {
kycFiles = clientFilesMapper.findKycClientFileByClient(client.getIntValue("client_id"));
}else {
} else {
kycFiles = clientFilesMapper.findKycClientFileByAudit(client.getIntValue("client_id"));
}
for (JSONObject file : kycFiles) {
@ -789,7 +791,7 @@ public class SignInAccountServiceImpl implements SignInAccountService, Applicati
JSONObject result = new JSONObject();
boolean lessKycFiles = true;
JSONObject kycFilesAuth = clientComplianceCompanyMapper.findKycFileComplete(client.getIntValue("client_id"));
if(kycFilesAuth != null){
if (kycFilesAuth != null) {
lessKycFiles = false;
}
result.put("client_less_file", lessKycFiles);
@ -819,7 +821,7 @@ public class SignInAccountServiceImpl implements SignInAccountService, Applicati
return result;
}
private void whenClientLessFile(JSONObject client,JSONObject result) {
private void whenClientLessFile(JSONObject client, JSONObject result) {
JSONObject authFileCompliance = clientComplianceCompanyMapper.findFileByClientId(client.getIntValue("client_id"));
if (authFileCompliance != null && StringUtils.isNotBlank(authFileCompliance.getString("description"))) {
result.put("client_refuse_reason", "Refuse reason/打回原因:" + authFileCompliance.getString("description"));

@ -5,7 +5,6 @@ import au.com.royalpay.payment.core.beans.PayChannel;
import au.com.royalpay.payment.tools.defines.TradeType;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateUtils;
import org.joda.time.DateTime;
import org.joda.time.DateTimeZone;
import org.joda.time.format.DateTimeFormat;

@ -443,7 +443,7 @@
</foreach>
</if>
<if test="client_ids==null and client_id !=null">
and p.client_id=#{client_id}
and (p.client_id=#{client_id} or p.parent_client_id=#{client_id})
</if>
<if test="customer_id!=null">
and o.customer_id = #{customer_id}
@ -473,7 +473,7 @@
</foreach>
</if>
<if test="client_ids==null and client_id !=null">
and p.client_id=#{client_id}
and (p.client_id=#{client_id} or p.parent_client_id=#{client_id})
</if>
<if test="customer_id!=null">
and o.customer_id = #{customer_id}
@ -551,7 +551,7 @@
</foreach>
</if>
<if test="client_ids==null and client_id !=null">
and p.client_id=#{client_id}
and (p.client_id=#{client_id} or p.parent_client_id=#{client_id})
</if>
LEFT JOIN pmt_transactions t on t.order_id=o.order_id and t.refund_id is null and t.transaction_type='Credit'
LEFT JOIN pmt_incremental_detail i on i.transaction_id = t.transaction_id
@ -615,7 +615,7 @@
</foreach>
</if>
<if test="client_ids==null and client_id !=null">
and p.client_id=#{client_id}
and (p.client_id=#{client_id} or p.parent_client_id=#{client_id})
</if>
INNER JOIN pmt_transactions t on t.order_id=o.order_id and (t.transaction_type='Credit' or t.refund_id is not
null)
@ -800,7 +800,7 @@
</foreach>
</if>
<if test="client_ids==null and client_id !=null">
and p.client_id=#{client_id}
and (p.client_id=#{client_id} or p.parent_client_id=#{client_id})
</if>
<if test="customer_id!=null">
and o.customer_id = #{customer_id}

@ -163,7 +163,7 @@
</foreach>
</if>
<if test="client_ids==null">
and t.client_id=#{client_id}
and (c.client_id=#{client_id} or c.parent_client_id=#{client_id})
</if>
<if test="from!=null">and t.transaction_time &gt;= #{from}</if>
<if test="to!=null">and t.transaction_time &lt; #{to}</if>
@ -226,6 +226,7 @@
FROM pmt_transactions t
left JOIN pmt_orders o on o.order_id=t.order_id
LEFT JOIN sys_clients c on c.client_id = t.client_id
<where>
<if test="client_ids!=null">
AND t.client_id IN
@ -234,7 +235,7 @@
</foreach>
</if>
<if test="client_ids==null">
and t.client_id=#{client_id}
and (c.client_id=#{client_id} or c.parent_client_id=#{client_id})
</if>
<if test="from!=null">and t.transaction_time &gt;= #{from}</if>
<if test="to!=null">and t.transaction_time &lt; #{to}</if>
@ -390,6 +391,7 @@
t.clearing_order clear_detail_id
FROM pmt_transactions t
left join log_clearing_detail cd on cd.clear_detail_id=t.clearing_order
left join sys_clients sc on t.client_id = sc.client_id
WHERE t.channel='Settlement'
]]>
<if test="client_ids!=null">
@ -399,7 +401,7 @@
</foreach>
</if>
<if test="client_ids==null and client_id !=null">
and t.client_id=#{client_id}
and (sc.client_id=#{client_id} or sc.parent_client_id =#{client_id})
</if>
<if test="from!=null">and t.transaction_time &gt;= #{from}</if>
<if test="to!=null">and t.transaction_time &lt; #{to}</if>
@ -423,7 +425,7 @@
</foreach>
</if>
<if test="client_ids==null and client_id !=null">
and t.client_id=#{client_id}
and (c.client_id=#{client_id} or c.parent_client_id=#{client_id})
</if>
<if test="from!=null">and t.transaction_time &gt;= #{from}</if>
<if test="to!=null">and t.transaction_time &lt; #{to}</if>

@ -14,7 +14,7 @@ define(['angular', 'uiBootstrap', 'uiRouter', 'angularEcharts'], function (angul
$scope.params = {};
$scope.chooseShow = 'All';
$scope.clients = [$scope.currentUser.client];
if ($scope.currentUser.client.has_children) {
if ($scope.currentUser.client.has_children && !$scope.currentUser.client.hide_sub_mch) {
$scope.params.client_ids = [];
$http.get('/client/partner_info/sub_partners').then(function (resp) {
var clientList = resp.data;
@ -264,4 +264,4 @@ define(['angular', 'uiBootstrap', 'uiRouter', 'angularEcharts'], function (angul
}]);
return app;
});
});

@ -14,7 +14,7 @@ define(['angular', 'uiBootstrap', 'uiRouter', 'angularEcharts'], function (angul
$scope.params = {};
$scope.chooseShow = 'All';
$scope.clients = [$scope.currentUser.client];
if ($scope.currentUser.client.has_children) {
if ($scope.currentUser.client.has_children && !$scope.currentUser.client.hide_sub_mch) {
$scope.params.client_ids = [];
$http.get('/client/partner_info/sub_partners').then(function (resp) {
var clientList = resp.data;
@ -178,4 +178,4 @@ define(['angular', 'uiBootstrap', 'uiRouter', 'angularEcharts'], function (angul
}]);
return app;
});
});

@ -68,7 +68,7 @@
<a role="button" class="btn btn-default btn-sm"
ng-click="thisYear()">This Year</a>
</div>
<div class="btn-group" uib-dropdown ng-if="currentUser.client.has_children">
<div class="btn-group" uib-dropdown ng-if="currentUser.client.has_children && !currentUser.client.hide_sub_mch">
<button id="single-button" type="button" class="btn btn-primary"
uib-dropdown-toggle ng-disabled="disabled">
{{chooseShow}} <span class="caret"></span>

@ -68,7 +68,7 @@
<a role="button" class="btn btn-default btn-sm"
ng-click="thisYear()">This Year</a>
</div>
<div class="btn-group" uib-dropdown ng-if="currentUser.client.has_children">
<div class="btn-group" uib-dropdown ng-if="currentUser.client.has_children && !currentUser.client.hide_sub_mch">
<button id="single-button" type="button" class="btn btn-primary"
uib-dropdown-toggle ng-disabled="disabled">
{{chooseShow}} <span class="caret"></span>

@ -53,7 +53,7 @@ define(['angular'], function (angular) {
$scope.getLastDraw();
$scope.getCashbackRecords(1);
};
if ($scope.currentUser.client.has_children) {
if ($scope.currentUser.client.has_children && !$scope.currentUser.client.hide_sub_mch) {
$scope.params.client_ids = [];
$http.get('/client/partner_info/sub_partners').then(function (resp) {
var clientList = resp.data;
@ -171,4 +171,4 @@ define(['angular'], function (angular) {
}]);
return app;
});
});

@ -2,7 +2,7 @@
<section class="content-header">
<h1>
Cash Back Account
<div class="btn-group" uib-dropdown ng-if="currentUser.client.has_children">
<div class="btn-group" uib-dropdown ng-if="currentUser.client.has_children && !currentUser.client.hide_sub_mch">
<button id="single-button" type="button" class="btn btn-sm btn-default"
uib-dropdown-toggle ng-disabled="disabled">
{{chooseShow}} <span class="caret"></span>
@ -77,4 +77,4 @@
</div>
</div>
</div>
</section>
</section>

@ -619,7 +619,7 @@ define(['angular','decimal', 'uiRouter', 'uiBootstrap', 'angularEcharts'], funct
$scope.clientMoniker = $scope.currentUser.client_moniker;
$scope.chooseShow = 'All';
$scope.clients = [$scope.currentUser.client];
if ($scope.currentUser.client.has_children) {
if ($scope.currentUser.client.has_children && !$scope.currentUser.client.hide_sub_mch) {
$scope.params.client_ids = [];
$http.get('/client/partner_info/sub_partners',$scope.req).then(function (resp) {
var clientList = resp.data;

@ -212,7 +212,7 @@
<section class="content-header">
<h1>
Dashboard
<div class="btn-group" uib-dropdown ng-if="currentUser.client.has_children" style="padding-right: 15px">
<div class="btn-group" uib-dropdown ng-if="currentUser.client.has_children && !currentUser.client.hide_sub_mch" style="padding-right: 15px">
<button id="single-button" type="button" class="btn btn-sm btn-default"
uib-dropdown-toggle ng-disabled="disabled">
{{chooseShow}} <span class="caret"></span>

@ -256,7 +256,7 @@ define(['angular', 'uiBootstrap', 'uiRouter'], function (angular) {
};
$scope.listDevices();
if ($scope.currentUser.client.has_children) {
if ($scope.currentUser.client.has_children && !$scope.currentUser.client.hide_sub_mch) {
$http.get('/client/partner_info/sub_partners').then(function (resp) {
var clientList = resp.data;
clientList.forEach(function (client) {

@ -233,7 +233,7 @@
</div>
</div>
<div class="form-group col-xs-12" ng-if="currentUser.client.has_children">
<div class="form-group col-xs-12" ng-if="currentUser.client.has_children && !currentUser.client.hide_sub_mch">
<label class="control-label col-xs-4 col-sm-2">Sub Partner</label>
<div class="col-sm-10 col-xs-8">
<p class="form-control-static">

@ -17,7 +17,7 @@ define(['angular','decimal'], function (angular,decimal) {
$scope.pagination = {};
$scope.today = new Date();
$scope.clients = [$scope.currentUser.client];
if ($scope.currentUser.client.has_children) {
if ($scope.currentUser.client.has_children && !$scope.currentUser.client.hide_sub_mch) {
$http.get('/client/partner_info/sub_partners').then(function (resp) {
var clientList = resp.data;
clientList.forEach(function (client) {

@ -87,7 +87,7 @@
</div>
</div>
<div class="form-group col-xs-12" ng-if="currentUser.client.has_children">
<div class="form-group col-xs-12" ng-if="currentUser.client.has_children && !currentUser.client.hide_sub_mch">
<label class="control-label col-xs-4 col-sm-2">Sub Partner</label>
<div class="col-sm-10 col-xs-8">
<p class="form-control-static">

@ -3459,7 +3459,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter
}
$scope.loadTradeLogs();
};
if ($scope.partner.has_children) {
if ($scope.partner.has_children && !$scope.partner.hide_sub_mch) {
$http.get('/sys/partners/' + $scope.partner.client_moniker + '/sub_clients').then(function (resp) {
var clientList = resp.data;
clientList.forEach(function (client) {
@ -4296,9 +4296,9 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter
$scope.isAll = true;
$scope.initClientInfo = function(){
$http.get('/sys/partners/'+clientMoniker).then(function (resp) {
$scope.client = resp.data
$scope.client = resp.data;
$scope.clients = [$scope.client];
if ($scope.client.has_children) {
if ($scope.client.has_children && !$scope.client.hide_sub_mch) {
$scope.params.client_ids = [$scope.client.client_id];
$http.get('/sys/partners/'+clientMoniker+'/sub_clients').then(function (resp) {
var clientList = resp.data;

@ -14,6 +14,7 @@
<table class="table table-striped table-bordered table-hover" ng-if="accounts.length">
<thead>
<tr>
<th>Client Moniker</th>
<th>Username</th>
<th>Display Name</th>
<th>OpenId</th>
@ -24,6 +25,7 @@
</thead>
<tbody>
<tr ng-repeat="account in accounts">
<td ng-bind="account.client_moniker"></td>
<td ng-bind="account.username"></td>
<td ng-bind="account.display_name"></td>
<td>
@ -44,4 +46,4 @@
</table>
</div>
</div>
</div>
</div>

@ -161,7 +161,7 @@
</div>
</div>
<div class="form-group col-xs-12" ng-if="partner.has_children">
<div class="form-group col-xs-12" ng-if="partner.has_children && !partner.hide_sub_mch">
<label class="control-label col-xs-4 col-sm-2">Sub Partner</label>
<div class="col-sm-10 col-xs-8">
<p class="form-control-static">

@ -50,7 +50,7 @@
</div>
</div>
</div>
<div class="form-group col-xs-12" ng-if="client.has_children">
<div class="form-group col-xs-12" ng-if="client.has_children && !client.hide_sub_mch">
<label class="control-label col-xs-4 col-sm-2">Sub Partner</label>
<div class="col-sm-10 col-xs-8">
<p class="form-control-static">
@ -135,4 +135,4 @@
</div>
</div>
</div>
</div>
</div>

@ -26,7 +26,7 @@ define(['angular', 'uiBootstrap', 'uiRouter'], function (angular) {
$scope.showLevel3Clients = false;
$scope.isLevel3All = true;
if ($scope.currentUser.client.has_children) {
if ($scope.currentUser.client.has_children && !$scope.currentUser.client.hide_sub_mch) {
$scope.params.client_ids = [$scope.currentUser.client.client_id];
$http.get('/client/partner_info/sub_partners').then(function (resp) {
var clientList = resp.data;

@ -6,26 +6,32 @@
.tr_clearing {
color: green;
}
.box-icon_small{
.box-icon_small {
width: 70px;
height: 70px;
font-size: 30px;
line-height: 70px
}
.info_box_bottom{
min-height:70px;
margin-bottom:0px
.info_box_bottom {
min-height: 70px;
margin-bottom: 0px
}
.box-content_left{
margin-left:70px
.box-content_left {
margin-left: 70px
}
.box-number_font{
font-size:14px
.box-number_font {
font-size: 14px
}
.line_height{
.line_height {
line-height: 14px
}
.line_height_{
.line_height_ {
line-height: 22px;
}
</style>
@ -88,8 +94,10 @@
ng-click="params.channel='WECHAT';loadTradeLogs(1)">Wechat Pay</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='ALIPAY'}"
ng-click="params.channel='ALIPAY';loadTradeLogs(1)">Alipay</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='ALIPAYONLINE'}"
ng-click="params.channel='ALIPAYONLINE';loadTradeLogs(1)">AlipayOnline</a> |
<a role="button"
ng-class="{'bg-primary':params.channel=='ALIPAYONLINE'}"
ng-click="params.channel='ALIPAYONLINE';loadTradeLogs(1)">AlipayOnline</a>
|
<a role="button" ng-class="{'bg-primary':params.channel=='BESTPAY'}"
ng-click="params.channel='BESTPAY';loadTradeLogs(1)">BestPay</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='JD'}"
@ -109,20 +117,27 @@
<label class="control-label col-xs-4 col-sm-2">Devices</label>
<div class="col-sm-10 col-xs-8">
<p class="form-control-static">
<a role="button" ng-class="{'bg-primary':device_isAll}" ng-click="chooseDevices('all')">All</a>
<a role="button" ng-class="{'bg-primary':device_isAll}"
ng-click="chooseDevices('all')">All</a>
<label ng-repeat="device in devices">
|&nbsp;<a role="button" ng-class="{'bg-primary':device.dev_id==chooseDevice_id}" ng-click="chooseDevices(device.dev_id)">{{device.remark}}</a>&nbsp;
|&nbsp;<a role="button"
ng-class="{'bg-primary':device.dev_id==chooseDevice_id}"
ng-click="chooseDevices(device.dev_id)">{{device.remark}}</a>&nbsp;
</label>
</p>
</div>
</div>
<div class="form-group col-xs-12" ng-if="deviceIds.length">
<div class="form-group col-xs-12"
ng-if="deviceIds.length && !currentUser.client.hide_sub_mch">
<label class="control-label col-xs-4 col-sm-2">Third Device</label>
<div class="col-sm-10 col-xs-8">
<p class="form-control-static">
<a role="button" ng-class="{'bg-primary':order_device_isAll}" ng-click="chooseDeviceIds('all')">All</a>
<a role="button" ng-class="{'bg-primary':order_device_isAll}"
ng-click="chooseDeviceIds('all')">All</a>
<label ng-repeat="dev in deviceIds">
|&nbsp;<a role="button" ng-class="{'bg-primary':dev.dev_id==choose_order_device_id}" ng-click="chooseDeviceIds(dev.dev_id)">{{dev.dev_id}}</a>&nbsp;
|&nbsp;<a role="button"
ng-class="{'bg-primary':dev.dev_id==choose_order_device_id}"
ng-click="chooseDeviceIds(dev.dev_id)">{{dev.dev_id}}</a>&nbsp;
</label>
</p>
</div>
@ -172,7 +187,8 @@
</div>
</div>
<div class="form-group col-xs-12" ng-if="currentUser.client.has_children">
<div class="form-group col-xs-12"
ng-if="currentUser.client.has_children && !currentUser.client.hide_sub_mch">
<label class="control-label col-xs-4 col-sm-2">Sub Partner</label>
<div class="col-sm-10 col-xs-8">
<p class="form-control-static">
@ -186,14 +202,19 @@
</p>
</div>
</div>
<div class="form-group col-xs-12" ng-if="level3Clients && showLevel3Clients">
<label class="control-label col-xs-4 col-sm-2">Sub-Partner of sub-partners</label>
<div class="form-group col-xs-12"
ng-if="level3Clients && showLevel3Clients && !currentUser.client.hide_sub_mch">
<label class="control-label col-xs-4 col-sm-2">Sub-Partner of
sub-partners</label>
<div class="col-sm-10 col-xs-8">
<p class="form-control-static">
<a role="button" ng-class="{'bg-primary':isLevel3All}" ng-click="chooseLevel3Client('all')">All</a>
<a role="button" ng-class="{'bg-primary':isLevel3All}"
ng-click="chooseLevel3Client('all')">All</a>
<label ng-repeat="sub in level3Clients">
|&nbsp;
<a role="button" ng-class="{'bg-primary':sub.client_id==chooseLevel3ClientId}" ng-click="chooseLevel3Client(sub)">{{sub.short_name}}</a>
<a role="button"
ng-class="{'bg-primary':sub.client_id==chooseLevel3ClientId}"
ng-click="chooseLevel3Client(sub)">{{sub.short_name}}</a>
&nbsp;
</label>
</p>
@ -203,16 +224,21 @@
<i class="fa fa-search"></i> Search
</button>
<!--<a ng-if="pagination.totalCount>0" class="btn btn-success" style="float: right"-->
<!--target="_blank" ng-href="{{export()}}">Export</a>-->
<div class="btn-group" uib-dropdown ng-if="pagination.totalCount>0" style="float: right;right: 20px;">
<button id="single-button" type="button" class="btn btn-primary" uib-dropdown-toggle ng-disabled="disabled">
<!--target="_blank" ng-href="{{export()}}">Export</a>-->
<div class="btn-group" uib-dropdown ng-if="pagination.totalCount>0"
style="float: right;right: 20px;">
<button id="single-button" type="button" class="btn btn-primary"
uib-dropdown-toggle ng-disabled="disabled">
Export Statement <span class="caret"></span>
</button>
<ul class="dropdown-menu" uib-dropdown-menu aria-labelledby="single-button" style="min-width: 80px">
<ul class="dropdown-menu" uib-dropdown-menu aria-labelledby="single-button"
style="min-width: 80px">
<li><a target="_blank" ng-href="{{export('pdf')}}">PDF</a></li>
<li><a target="_blank" ng-href="{{export('excel')}}">EXCEL</a></li>
<li><a target="_blank" ng-href="{{export('excel_detail')}}">EXCEL(Detail)</a></li>
<li><a target="_blank" ng-href="{{export('excel_detail_all')}}">EXCEL(All Partner Detail)</a></li>
<li><a target="_blank"
ng-href="{{export('excel_detail')}}">EXCEL(Detail)</a></li>
<li><a target="_blank" ng-href="{{export('excel_detail_all')}}">EXCEL(All
Partner Detail)</a></li>
</ul>
</div>
@ -226,7 +252,8 @@
<div class="row">
<div class="col-md-3 col-sm-6 col-xs-12">
<div class="info-box info_box_bottom">
<span class="info-box-icon bg-aqua box-icon_small"><i class="ion ion-social-usd"></i></span>
<span class="info-box-icon bg-aqua box-icon_small"><i
class="ion ion-social-usd"></i></span>
<div class="info-box-content box-content_left">
<span class="info-box-text">Transaction Amount</span>
<span class="info-box-number box-number_font"
@ -238,7 +265,8 @@
<div class="col-md-3 col-sm-6 col-xs-12" ng-if="!analysis.cny_display_amount">
<div class="info-box info_box_bottom">
<span class="info-box-icon bg-aqua box-icon_small"><i class="ion ion-social-usd"></i></span>
<span class="info-box-icon bg-aqua box-icon_small"><i
class="ion ion-social-usd"></i></span>
<div class="info-box-content box-content_left">
<span class="info-box-text">Input Amount</span>
<span class="info-box-number box-number_font"
@ -248,19 +276,24 @@
</div>
</div>
<div class="col-md-3 col-sm-6 col-xs-12" ng-if="analysis.cny_display_amount">
<div class="info-box info_box_bottom" ng-class="{'line_height':analysis.pre_display_amount||analysis.pre_cny_display_amount}">
<span class="info-box-icon bg-aqua box-icon_small"><i class="ion ion-social-usd"></i></span>
<div class="info-box info_box_bottom"
ng-class="{'line_height':analysis.pre_display_amount||analysis.pre_cny_display_amount}">
<span class="info-box-icon bg-aqua box-icon_small"><i
class="ion ion-social-usd"></i></span>
<div class="info-box-content box-content_left">
<span class="info-box-text" >Input Amount</span>
<span class="info-box-number box-number_font" style="margin-bottom: -3px;" ng-class="{line_height_:!analysis.pre_display_amount}"
<span class="info-box-text">Input Amount</span>
<span class="info-box-number box-number_font" style="margin-bottom: -3px;"
ng-class="{line_height_:!analysis.pre_display_amount}"
ng-bind="analysis.display_amount|currency:'AUD '"></span>
<span style="font-size: 10px;line-height: 10px" ng-if="analysis.pre_display_amount">
<span style="font-size: 10px;line-height: 10px"
ng-if="analysis.pre_display_amount">
( {{analysis.pre_display_amount | currency:'pre authorization '}} )
</span>
<span class="info-box-number box-number_font" style="margin-bottom: -3px;"
ng-if="analysis.cny_display_amount"
ng-bind="analysis.cny_display_amount|currency:'CNY '"></span>
<span style="font-size: 10px;line-height: 10px" ng-if="analysis.pre_cny_display_amount">
<span style="font-size: 10px;line-height: 10px"
ng-if="analysis.pre_cny_display_amount">
( {{analysis.pre_cny_display_amount | currency:'pre authorization '}} )
</span>
</div>
@ -268,7 +301,8 @@
</div>
<div class="col-md-3 col-sm-6 col-xs-12">
<div class="info-box info_box_bottom">
<span class="info-box-icon bg-red box-icon_small"><i class="ion ion-android-warning"></i></span>
<span class="info-box-icon bg-red box-icon_small"><i
class="ion ion-android-warning"></i></span>
<div class="info-box-content box-content_left">
<span class="info-box-text">Refund Amount</span>
<span class="info-box-number box-number_font"
@ -282,7 +316,8 @@
<div class="col-md-3 col-sm-6 col-xs-12">
<div class="info-box info_box_bottom">
<span class="info-box-icon bg-yellow box-icon_small"><i class="ion ion-android-done"></i></span>
<span class="info-box-icon bg-yellow box-icon_small"><i
class="ion ion-android-done"></i></span>
<div class="info-box-content box-content_left">
<span class="info-box-text">Settlement Amount</span>
<span class="info-box-number box-number_font"
@ -319,7 +354,8 @@
</tr>
</thead>
<tbody>
<tr ng-repeat="trade in tradeLogs" ng-class="{'tr_refund':trade.trans_type=='refund','tr_clearing':trade.trans_type=='clearing',warning:trade.clearing_status==2}">
<tr ng-repeat="trade in tradeLogs"
ng-class="{'tr_refund':trade.trans_type=='refund','tr_clearing':trade.trans_type=='clearing',warning:trade.clearing_status==2}">
<td ng-bind="trade.transaction_time||'NOT PROVIDED'"></td>
<td>
<img src="/static/images/royalpay_sign_s.png"
@ -346,7 +382,9 @@
uib-tooltip="Yeepay" ng-if="trade.channel=='Yeepay'"/>
<img src="/static/images/lakalapay_sign.png"
uib-tooltip="LakalaPay" ng-if="trade.channel=='LakalaPay'"/>
{{trade.order_id2}}<span ng-if="trade.source!='system' && trade.source!=null && trade.incremental_surcharge != null"><i class="fa fa-question-circle-o" uib-tooltip-html="trade.htmlTooltip"></i></span>
{{trade.order_id2}}<span
ng-if="trade.source!='system' && trade.source!=null && trade.incremental_surcharge != null"><i
class="fa fa-question-circle-o" uib-tooltip-html="trade.htmlTooltip"></i></span>
</td>
<td ng-bind="trade.currency"></td>
<td ng-bind="trade.display_amount"></td>
@ -363,18 +401,18 @@
<!--<td ng-bind="trade.transaction_type"></td>-->
<!--<td ng-bind="trade.trans_type"></td>-->
<!--<td>-->
<!--<p ng-if="trade.clearing_status==0">-->
<!--ReadyToClear-->
<!--</p>-->
<!--<p ng-if="trade.clearing_status==1 && trade.trans_type!='clearing'">-->
<!--Cleared-->
<!--</p>-->
<!--<p ng-if="trade.clearing_status==2">-->
<!--Preauthorised-->
<!--</p>-->
<!--<p ng-if="trade.clearing_status==1 && trade.trans_type=='clearing'">-->
<!-- - -->
<!--</p>-->
<!--<p ng-if="trade.clearing_status==0">-->
<!--ReadyToClear-->
<!--</p>-->
<!--<p ng-if="trade.clearing_status==1 && trade.trans_type!='clearing'">-->
<!--Cleared-->
<!--</p>-->
<!--<p ng-if="trade.clearing_status==2">-->
<!--Preauthorised-->
<!--</p>-->
<!--<p ng-if="trade.clearing_status==1 && trade.trans_type=='clearing'">-->
<!-- - -->
<!--</p>-->
<!--</td>-->
<td>
@ -412,7 +450,9 @@
first-text="&laquo;"
last-text="&raquo;"></uib-pagination>
<div class="row">
<div class="col-xs-12">Total Records:{{pagination.totalCount}};Total Pages:{{pagination.totalPages}}</div>
<div class="col-xs-12">Total Records:{{pagination.totalCount}};Total
Pages:{{pagination.totalPages}}
</div>
</div>
</div>
</div>

@ -195,7 +195,7 @@
</div>
</div>
<div class="form-group col-xs-12" ng-if="currentUser.client.has_children">
<div class="form-group col-xs-12" ng-if="currentUser.client.has_children && !currentUser.client.hide_sub_mch">
<label class="control-label col-xs-4 col-sm-2">Sub Partner</label>
<div class="col-sm-10 col-xs-8">
<p class="form-control-static">

@ -71,7 +71,7 @@
</div>
</div>
</div>
<div class="form-group col-xs-12" ng-if="currentUser.client.has_children">
<div class="form-group col-xs-12" ng-if="currentUser.client.has_children && !currentUser.client.hide_sub_mch">
<label class="control-label col-xs-4 col-sm-2">Sub Partner</label>
<div class="col-sm-10 col-xs-8">
<p class="form-control-static">

@ -30,43 +30,52 @@
-webkit-transform: rotate(90deg);
}
}
.popover-color{
.popover-color {
background-color: #f7f7f7;
border-bottom: 1px solid #ebebeb;
color: black;
}
.popover-content button{
.popover-content button {
display: inline-block;
}
.position_re{
.position_re {
position: relative;
}
.position_re .position_ab{
.position_re .position_ab {
position: absolute;
top: 90%;
left: 90%;
}
.box-icon_small{
.box-icon_small {
width: 70px;
height: 70px;
font-size: 30px;
line-height: 70px
}
.info_box_bottom{
min-height:70px;
margin-bottom:0px
.info_box_bottom {
min-height: 70px;
margin-bottom: 0px
}
.box-content_left{
margin-left:70px
.box-content_left {
margin-left: 70px
}
.box-number_font{
font-size:14px;
.box-number_font {
font-size: 14px;
}
.line_height{
.line_height {
line-height: 14px
}
.line_height_{
.line_height_ {
line-height: 22px;
}
</style>
@ -105,7 +114,8 @@
</select>
</label>
<div class="col-sm-4 col-xs-8">
<input class="form-control" placeholder="Keyword" ng-enter="loadTradeLogs(1)"
<input class="form-control" placeholder="Keyword"
ng-enter="loadTradeLogs(1)"
ng-model="params.searchText">
</div>
</div>
@ -129,13 +139,19 @@
<a role="button" ng-class="{'bg-primary':params.status=='ALL'}"
ng-click="params.status='ALL';loadTradeLogs(1)">All</a> |
<a role="button" ng-class="{'bg-primary':params.status=='PAID'}"
ng-click="params.status='PAID';loadTradeLogs(1)">Payment Success</a> |
ng-click="params.status='PAID';loadTradeLogs(1)">Payment Success</a>
|
<a role="button" ng-class="{'bg-primary':params.status=='ALL_REFUNDED'}"
ng-click="params.status='ALL_REFUNDED';loadTradeLogs(1)">All Refund</a> |
<a role="button" ng-class="{'bg-primary':params.status=='PARTIAL_REFUNDED'}"
ng-click="params.status='PARTIAL_REFUNDED';loadTradeLogs(1)">Partial Refund</a> |
<a role="button" ng-class="{'bg-primary':params.status=='FULL_REFUNDED'}"
ng-click="params.status='FULL_REFUNDED';loadTradeLogs(1)">Full Refund</a>
ng-click="params.status='ALL_REFUNDED';loadTradeLogs(1)">All
Refund</a> |
<a role="button"
ng-class="{'bg-primary':params.status=='PARTIAL_REFUNDED'}"
ng-click="params.status='PARTIAL_REFUNDED';loadTradeLogs(1)">Partial
Refund</a> |
<a role="button"
ng-class="{'bg-primary':params.status=='FULL_REFUNDED'}"
ng-click="params.status='FULL_REFUNDED';loadTradeLogs(1)">Full
Refund</a>
</p>
</div>
</div>
@ -149,8 +165,10 @@
ng-click="params.channel='WECHAT';loadTradeLogs(1)">Wechat Pay</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='ALIPAY'}"
ng-click="params.channel='ALIPAY';loadTradeLogs(1)">Alipay</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='ALIPAYONLINE'}"
ng-click="params.channel='ALIPAYONLINE';loadTradeLogs(1)">AlipayOnline</a> |
<a role="button"
ng-class="{'bg-primary':params.channel=='ALIPAYONLINE'}"
ng-click="params.channel='ALIPAYONLINE';loadTradeLogs(1)">AlipayOnline</a>
|
<a role="button" ng-class="{'bg-primary':params.channel=='BESTPAY'}"
ng-click="params.channel='BESTPAY';loadTradeLogs(1)">BestPay</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='JD'}"
@ -173,7 +191,8 @@
<a role="button" ng-class="{'bg-primary':params.gateway==null}"
ng-click="params.gateway=null;loadTradeLogs(1)">All</a> |
<a role="button" ng-class="{'bg-primary':gatewaySelected([0,1])}"
ng-click="params.gateway=[0,1];initGatewayChild()">Retail In-Store</a> |
ng-click="params.gateway=[0,1];initGatewayChild()">Retail
In-Store</a> |
<a role="button" ng-class="{'bg-primary':gatewaySelected([5,6])}"
ng-click="params.gateway=[5,6];initGatewayChild()">Retail API</a> |
<a role="button" ng-class="{'bg-primary':gatewaySelected([2,7])}"
@ -185,11 +204,12 @@
<a role="button" ng-class="{'bg-primary':gatewaySelected([8])}"
ng-click="params.gateway=[8];loadTradeLogs(1)">Mobile H5</a> |
<a role="button" ng-class="{'bg-primary':gatewaySelected([9])}"
ng-click="params.gateway=[9];loadTradeLogs(1)">Third Party Gateway</a> |
ng-click="params.gateway=[9];loadTradeLogs(1)">Third Party
Gateway</a> |
<a role="button" ng-class="{'bg-primary':gatewaySelected([10])}"
ng-click="params.gateway=[10];loadTradeLogs(1)">APP</a> |
<a role="button" ng-class="{'bg-primary':gatewaySelected([11])}"
ng-click="params.gateway=[11];loadTradeLogs(1)">Share Code</a> |
ng-click="params.gateway=[11];loadTradeLogs(1)">Share Code</a> |
<a role="button" ng-class="{'bg-primary':gatewaySelected([12])}"
ng-click="params.gateway=[12];loadTradeLogs(1)">MiniProgram</a> |
<a role="button" ng-class="{'bg-primary':gatewaySelected([13])}"
@ -266,39 +286,52 @@
</div>
</div>
<div class="form-group col-xs-12" ng-if="currentUser.client.has_children">
<div class="form-group col-xs-12"
ng-if="currentUser.client.has_children && !currentUser.client.hide_sub_mch">
<label class="control-label col-xs-4 col-sm-2">Sub Partner</label>
<div class="col-sm-10 col-xs-8">
<p class="form-control-static">
<a role="button" ng-class="{'bg-primary':isAll}" ng-click="chooseClient('all')">All</a>
<label ng-repeat="sub in clients">
|&nbsp;
<a role="button" ng-class="{'bg-primary':sub.client_id==chooseClientId}" ng-click="chooseClient(sub)">{{sub.short_name}}</a>
&nbsp;
</label>
</p>
</div>
</div>
<div class="form-group col-xs-12" ng-if="level3Clients && showLevel3Clients">
<label class="control-label col-xs-4 col-sm-2">Sub-Partner of sub-partners</label>
<a role="button" ng-class="{'bg-primary':isAll}"
ng-click="chooseClient('all')">All</a>
<label ng-repeat="sub in clients">
|&nbsp;
<a role="button"
ng-class="{'bg-primary':sub.client_id==chooseClientId}"
ng-click="chooseClient(sub)">{{sub.short_name}}</a>
&nbsp;
</label>
</p>
</div>
</div>
<div class="form-group col-xs-12"
ng-if="level3Clients && showLevel3Clients && !currentUser.client.hide_sub_mch">
<label class="control-label col-xs-4 col-sm-2">Sub-Partner of
sub-partners</label>
<div class="col-sm-10 col-xs-8">
<p class="form-control-static">
<a role="button" ng-class="{'bg-primary':isLevel3All}" ng-click="chooseLevel3Client('all')">All</a>
<a role="button" ng-class="{'bg-primary':isLevel3All}"
ng-click="chooseLevel3Client('all')">All</a>
<label ng-repeat="sub in level3Clients">
|&nbsp;
<a role="button" ng-class="{'bg-primary':sub.client_id==chooseLevel3ClientId}" ng-click="chooseLevel3Client(sub)">{{sub.short_name}}</a>
<a role="button"
ng-class="{'bg-primary':sub.client_id==chooseLevel3ClientId}"
ng-click="chooseLevel3Client(sub)">{{sub.short_name}}</a>
&nbsp;
</label>
</p>
</div>
</div>
<div class="form-group col-xs-12" ng-if="deviceIds.length">
<div class="form-group col-xs-12"
ng-if="deviceIds.length && !currentUser.client.hide_sub_mch">
<label class="control-label col-xs-4 col-sm-2">Third Device</label>
<div class="col-sm-10 col-xs-8">
<p class="form-control-static">
<a role="button" ng-class="{'bg-primary':order_device_isAll}" ng-click="chooseDeviceIds('all')">All</a>
<a role="button" ng-class="{'bg-primary':order_device_isAll}"
ng-click="chooseDeviceIds('all')">All</a>
<label ng-repeat="dev in deviceIds">
|&nbsp;<a role="button" ng-class="{'bg-primary':dev.dev_id==choose_order_device_id}" ng-click="chooseDeviceIds(dev.dev_id)">{{dev.dev_id}}</a>&nbsp;
|&nbsp;<a role="button"
ng-class="{'bg-primary':dev.dev_id==choose_order_device_id}"
ng-click="chooseDeviceIds(dev.dev_id)">{{dev.dev_id}}</a>&nbsp;
</label>
</p>
</div>
@ -307,27 +340,31 @@
<label class="control-label col-xs-4 col-sm-2">Devices</label>
<div class="col-sm-10 col-xs-8">
<p class="form-control-static">
<a role="button" ng-class="{'bg-primary':device_isAll}" ng-click="chooseDevices('all')">All</a>
<a role="button" ng-class="{'bg-primary':device_isAll}"
ng-click="chooseDevices('all')">All</a>
<label ng-repeat="device in devices">
|&nbsp;<a role="button" ng-class="{'bg-primary':device.dev_id==chooseDevice_id}" ng-click="chooseDevices(device.dev_id)">{{device.remark}}</a>&nbsp;
|&nbsp;<a role="button"
ng-class="{'bg-primary':device.dev_id==chooseDevice_id}"
ng-click="chooseDevices(device.dev_id)">{{device.remark}}</a>&nbsp;
</label>
</p>
</div>
</div>
<button class="btn btn-success" type="button" ng-click="loadTradeLogs(1)">
<i class="fa fa-search"></i> Search
</button>
</div>
</div>
</div>
</div>
</div>
<button class="btn btn-success" type="button" ng-click="loadTradeLogs(1)">
<i class="fa fa-search"></i> Search
</button>
</div>
</div>
</div>
</div>
</div>
<div class="box">
<div class="box-header">
<div class="row">
<div class="col-md-3 col-sm-6 col-xs-12">
<div class="info-box info_box_bottom">
<span class="info-box-icon bg-aqua box-icon_small"><i class="ion ion-social-usd"></i></span>
<span class="info-box-icon bg-aqua box-icon_small"><i
class="ion ion-social-usd"></i></span>
<div class="info-box-content box-content_left">
<span class="info-box-text">Transaction Amount</span>
<span class="info-box-number box-number_font"
@ -339,7 +376,8 @@
<div class="col-md-3 col-sm-6 col-xs-12" ng-if="!analysis.cny_display_amount">
<div class="info-box info_box_bottom">
<span class="info-box-icon bg-aqua box-icon_small"><i class="ion ion-social-usd"></i></span>
<span class="info-box-icon bg-aqua box-icon_small"><i
class="ion ion-social-usd"></i></span>
<div class="info-box-content box-content_left">
<span class="info-box-text">Input Amount</span>
<span class="info-box-number box-number_font"
@ -349,19 +387,24 @@
</div>
</div>
<div class="col-md-3 col-sm-6 col-xs-12" ng-if="analysis.cny_display_amount">
<div class="info-box info_box_bottom" ng-class="{'line_height':analysis.pre_display_amount||analysis.pre_cny_display_amount}">
<span class="info-box-icon bg-aqua box-icon_small"><i class="ion ion-social-usd"></i></span>
<div class="info-box info_box_bottom"
ng-class="{'line_height':analysis.pre_display_amount||analysis.pre_cny_display_amount}">
<span class="info-box-icon bg-aqua box-icon_small"><i
class="ion ion-social-usd"></i></span>
<div class="info-box-content box-content_left">
<span class="info-box-text" >Input Amount</span>
<span class="info-box-number box-number_font" style="margin-bottom: -3px;" ng-class="{line_height_:!analysis.pre_display_amount}"
<span class="info-box-text">Input Amount</span>
<span class="info-box-number box-number_font" style="margin-bottom: -3px;"
ng-class="{line_height_:!analysis.pre_display_amount}"
ng-bind="analysis.display_amount|currency:'AUD '"></span>
<span style="font-size: 10px;line-height: 10px" ng-if="analysis.pre_display_amount">
<span style="font-size: 10px;line-height: 10px"
ng-if="analysis.pre_display_amount">
( {{analysis.pre_display_amount | currency:'pre authorization '}} )
</span>
<span class="info-box-number box-number_font" style="margin-bottom: -3px;"
ng-if="analysis.cny_display_amount"
ng-bind="analysis.cny_display_amount|currency:'CNY '"></span>
<span style="font-size: 10px;line-height: 10px" ng-if="analysis.pre_cny_display_amount">
<span style="font-size: 10px;line-height: 10px"
ng-if="analysis.pre_cny_display_amount">
( {{analysis.pre_cny_display_amount | currency:'pre authorization '}} )
</span>
</div>
@ -369,7 +412,8 @@
</div>
<div class="col-md-3 col-sm-6 col-xs-12">
<div class="info-box info_box_bottom">
<span class="info-box-icon bg-red box-icon_small"><i class="ion ion-android-warning"></i></span>
<span class="info-box-icon bg-red box-icon_small"><i
class="ion ion-android-warning"></i></span>
<div class="info-box-content box-content_left">
<span class="info-box-text">Refund Amount</span>
<span class="info-box-number box-number_font"
@ -382,7 +426,8 @@
</div>
<div class="col-md-3 col-sm-6 col-xs-12">
<div class="info-box info_box_bottom">
<span class="info-box-icon bg-yellow box-icon_small"><i class="ion ion-ios-people"></i></span>
<span class="info-box-icon bg-yellow box-icon_small"><i
class="ion ion-ios-people"></i></span>
<div class="info-box-content box-content_left">
<span class="info-box-text">CUSTOMERS</span>
<span class="info-box-number box-number_font"
@ -393,10 +438,10 @@
</div>
</div>
</div>
<div class="box">
<div class="box-header">
<h3 class="box-title" style="display: inherit">Orders
<span style="float: right;font-size: 14px;">
<div class="box">
<div class="box-header">
<h3 class="box-title" style="display: inherit">Orders
<span style="float: right;font-size: 14px;">
<span>Pre Authorization:<i class="fa fa-stop" aria-hidden="true"
style="color: #fff2a5"></i></span>
<span ng-if="currentUser.role == 2 || currentUser.role == 1">
@ -404,103 +449,125 @@
ng-click="fullReleasePreAuth()">Release All Pre-Auth</button>
</span>
</span>
</h3>
</div>
<div class="box-body table-responsive">
<table class="table table-bordered table-hover table-striped">
<thead>
<tr>
<th>Client Order ID</th>
<th>Order ID</th>
<th>Amount</th>
<th>Input Amount</th>
<th>AUD Amount</th>
<th style="min-width: 90px">Settle Amount</th>
<th>Exchange Rate</th>
<th>Status</th>
<th>Create Time</th>
<th>Gateway</th>
<th>Order Detail</th>
<th>Operation</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="trade in tradeLogs" ng-class="{warning:trade.clearing_status==2}">
<td ng-bind="trade.client_order_id||'NOT PROVIDED'"></td>
<td>
<img src="/static/images/clearing-icon.png" uib-tooltip="clearing" ng-if="trade.clearing_status=='1'"/>
<i class="fa fa-check-circle-o text-danger" uib-tooltip="Refund Audition Required" ng-if="trade.audition"></i>
<img src="/static/images/royalpay_sign_s.png" uib-tooltip="RoyalPay" ng-if="trade.source=='system'"/>
<img src="/static/images/yangmaimai_sign.png" uib-tooltip="RP跨境商城" ng-if="trade.source=='RP跨境商城'"/>
<img src="/static/images/wechatpay_sign.png" uib-tooltip="Znyoo" ng-if="trade.channel=='Znyoo'"/>
<img src="/static/images/wechatpay_sign.png" uib-tooltip="Wechat Pay" ng-if="trade.channel=='Wechat'"/>
<img src="/static/images/bestpay_sign.png" uib-tooltip="BestPay" alt="BestPay" ng-if="trade.channel=='Bestpay'"/>
<img src="/static/images/alipay_sign.png" uib-tooltip="Alipay" alt="Alipay" ng-if="trade.channel=='Alipay'"/>
<img src="/static/images/alipay_sign.png" uib-tooltip="AlipayOnline" alt="AlipayOnline" ng-if="trade.channel=='AlipayOnline'"/>
<img src="/static/images/jd_sign.png" uib-tooltip="JD Pay" ng-if="trade.channel=='jd'"/>
<img src="/static/images/hf_sign.png" uib-tooltip="HF Pay" ng-if="trade.channel=='hf'"/>
<img src="/static/images/rpayplus_sign.png" uib-tooltip="RPay+" ng-if="trade.channel=='Rpay'"/>
<img src="/static/images/yeepay_sign.png" uib-tooltip="Yeepay" ng-if="trade.channel=='Yeepay'"/>
<img src="/static/images/lakalapay_sign.png" uib-tooltip="LakalaPay" ng-if="trade.channel=='LakalaPay'"/>
{{trade.order_id}}<span ng-if="trade.source!='system' && trade.source!=null && trade.incremental_surcharge != null"><i class="fa fa-question-circle-o" uib-tooltip-html="trade.htmlTooltip"></i></span>
</td>
<td>
{{trade.total_amount|currency:trade.currency+' '}}
<a ng-if="trade.refund_fee" class="text-danger" role="button"
ng-click="showPRefundLog(trade.order_id)">(-{{trade.refund_fee}})</a>
</td>
<td ng-bind="trade.display_amount|currency:trade.currency"></td>
<td ng-bind="trade.clearing_amount|currency:'AUD '"></td>
<td ng-bind="trade.settle_amount|currency:'AUD '"></td>
<td>
<span ng-if="(trade.channel!='hf') && (trade.channel!='Rpay')" ng-bind="trade.exchange_rate"></span>
<span ng-if="(trade.channel=='hf') || (trade.channel=='Rpay')" > - </span>
</td>
<td ng-bind="trade.status|tradeStatus"></td>
<td ng-bind="trade.create_time"></td>
<td ng-bind="trade.gateway|tradeGateway"></td>
<td>
</h3>
</div>
<div class="box-body table-responsive">
<table class="table table-bordered table-hover table-striped">
<thead>
<tr>
<th>Client Order ID</th>
<th>Order ID</th>
<th>Amount</th>
<th>Input Amount</th>
<th>AUD Amount</th>
<th style="min-width: 90px">Settle Amount</th>
<th>Exchange Rate</th>
<th>Status</th>
<th>Create Time</th>
<th>Gateway</th>
<th>Order Detail</th>
<th>Operation</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="trade in tradeLogs" ng-class="{warning:trade.clearing_status==2}">
<td ng-bind="trade.client_order_id||'NOT PROVIDED'"></td>
<td>
<img src="/static/images/clearing-icon.png" uib-tooltip="clearing"
ng-if="trade.clearing_status=='1'"/>
<i class="fa fa-check-circle-o text-danger" uib-tooltip="Refund Audition Required"
ng-if="trade.audition"></i>
<img src="/static/images/royalpay_sign_s.png" uib-tooltip="RoyalPay"
ng-if="trade.source=='system'"/>
<img src="/static/images/yangmaimai_sign.png" uib-tooltip="RP跨境商城"
ng-if="trade.source=='RP跨境商城'"/>
<img src="/static/images/wechatpay_sign.png" uib-tooltip="Znyoo"
ng-if="trade.channel=='Znyoo'"/>
<img src="/static/images/wechatpay_sign.png" uib-tooltip="Wechat Pay"
ng-if="trade.channel=='Wechat'"/>
<img src="/static/images/bestpay_sign.png" uib-tooltip="BestPay" alt="BestPay"
ng-if="trade.channel=='Bestpay'"/>
<img src="/static/images/alipay_sign.png" uib-tooltip="Alipay" alt="Alipay"
ng-if="trade.channel=='Alipay'"/>
<img src="/static/images/alipay_sign.png" uib-tooltip="AlipayOnline"
alt="AlipayOnline" ng-if="trade.channel=='AlipayOnline'"/>
<img src="/static/images/jd_sign.png" uib-tooltip="JD Pay"
ng-if="trade.channel=='jd'"/>
<img src="/static/images/hf_sign.png" uib-tooltip="HF Pay"
ng-if="trade.channel=='hf'"/>
<img src="/static/images/rpayplus_sign.png" uib-tooltip="RPay+"
ng-if="trade.channel=='Rpay'"/>
<img src="/static/images/yeepay_sign.png" uib-tooltip="Yeepay"
ng-if="trade.channel=='Yeepay'"/>
<img src="/static/images/lakalapay_sign.png" uib-tooltip="LakalaPay"
ng-if="trade.channel=='LakalaPay'"/>
{{trade.order_id}}<span
ng-if="trade.source!='system' && trade.source!=null && trade.incremental_surcharge != null"><i
class="fa fa-question-circle-o" uib-tooltip-html="trade.htmlTooltip"></i></span>
</td>
<td>
{{trade.total_amount|currency:trade.currency+' '}}
<a ng-if="trade.refund_fee" class="text-danger" role="button"
ng-click="showPRefundLog(trade.order_id)">(-{{trade.refund_fee}})</a>
</td>
<td ng-bind="trade.display_amount|currency:trade.currency"></td>
<td ng-bind="trade.clearing_amount|currency:'AUD '"></td>
<td ng-bind="trade.settle_amount|currency:'AUD '"></td>
<td>
<span ng-if="(trade.channel!='hf') && (trade.channel!='Rpay')"
ng-bind="trade.exchange_rate"></span>
<span ng-if="(trade.channel=='hf') || (trade.channel=='Rpay')"> - </span>
</td>
<td ng-bind="trade.status|tradeStatus"></td>
<td ng-bind="trade.create_time"></td>
<td ng-bind="trade.gateway|tradeGateway"></td>
<td>
<span ng-bind="(trade.order_detail||'-')|limitToWithEllipsis"
uib-tooltip="{{trade.order_detail}}"
uib-tooltip-enable="{{trade.order_detail}}"></span>
</td>
<td>
<a role="button" class="text-bold" ng-click="showTradeDetail(trade)" title="Detail">
<i class="fa fa-list-alt"></i>
</a>
<a role="button" ng-if="trade.clearing_status==2 && trade.client_id==currentUser.client_id" class="text-bold text-primary"
ng-click="releasePreAuth(trade.order_id)" title="Release Pre-Authorization">
<i class="fa fa-unlock-alt"></i>
</a>
<a role="button" ng-if="trade.status>=5 && trade.confirm_time!=null && trade.clearing_status<2 && currentUser.client.enable_refund"
class="text-bold text-danger" ng-click="newPRefund(trade.order_id)"
title="Refund">
<i class="fa fa-undo"></i>
</a>
</td>
</tr>
</tbody>
</table>
</td>
<td>
<a role="button" class="text-bold" ng-click="showTradeDetail(trade)" title="Detail">
<i class="fa fa-list-alt"></i>
</a>
<a role="button"
ng-if="trade.clearing_status==2 && trade.client_id==currentUser.client_id"
class="text-bold text-primary"
ng-click="releasePreAuth(trade.order_id)" title="Release Pre-Authorization">
<i class="fa fa-unlock-alt"></i>
</a>
<a role="button"
ng-if="trade.status>=5 && trade.confirm_time!=null && trade.clearing_status<2 && currentUser.client.enable_refund"
class="text-bold text-danger" ng-click="newPRefund(trade.order_id)"
title="Refund">
<i class="fa fa-undo"></i>
</a>
</td>
</tr>
</tbody>
</table>
</div>
<div class="box-footer" ng-if="tradeLogs.length">
<uib-pagination class="pagination"
total-items="pagination.totalCount"
boundary-links="true"
ng-model="pagination.page"
items-per-page="pagination.limit"
max-size="10"
ng-change="loadTradeLogs()"
previous-text="&lsaquo;"
next-text="&rsaquo;"
first-text="&laquo;"
last-text="&raquo;"></uib-pagination>
<div class="row">
<div class="col-xs-12">Total Records:{{pagination.totalCount}};Total Pages:{{pagination.totalPages}}</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="box-footer" ng-if="tradeLogs.length">
<uib-pagination class="pagination"
total-items="pagination.totalCount"
boundary-links="true"
ng-model="pagination.page"
items-per-page="pagination.limit"
max-size="10"
ng-change="loadTradeLogs()"
previous-text="&lsaquo;"
next-text="&rsaquo;"
first-text="&laquo;"
last-text="&raquo;"></uib-pagination>
<div class="row">
<div class="col-xs-12">Total Records:{{pagination.totalCount}};Total
Pages:{{pagination.totalPages}}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>

@ -278,7 +278,7 @@ define(['angular', 'uiBootstrap', 'uiRouter'], function (angular) {
$scope.listDevices();
$scope.listDevicesIds();
if ($scope.currentUser.client.has_children) {
if ($scope.currentUser.client.has_children && !$scope.currentUser.client.hide_sub_mch) {
$http.get('/client/partner_info/sub_partners').then(function (resp) {
var clientList = resp.data;
clientList.forEach(function (client) {
@ -493,7 +493,7 @@ define(['angular', 'uiBootstrap', 'uiRouter'], function (angular) {
};
$scope.listDevices();
if ($scope.currentUser.client.has_children) {
if ($scope.currentUser.client.has_children && !$scope.currentUser.client.hide_sub_mch) {
$http.get('/client/partner_info/sub_partners').then(function (resp) {
var clientList = resp.data;
clientList.forEach(function (client) {

@ -223,7 +223,7 @@ define(['angular', 'uiBootstrap', 'uiRouter'], function (angular) {
return url;
}
if ($scope.currentUser.client.has_children) {
if ($scope.currentUser.client.has_children && !$scope.currentUser.client.hide_sub_mch) {
$http.get('/client/partner_info/sub_partners').then(function (resp) {
var clientList = resp.data;
clientList.forEach(function (client) {

Loading…
Cancel
Save