Merge branch 'develop_newUI' into develop

master
luoyang 6 years ago
commit 648cba58ce

@ -387,7 +387,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid
client.put("contact_email", "******");
}
} else {
client.put("rate_editable", ManagerRole.ADMIN.hasRole(role) || ManagerRole.OPERATOR.hasRole(role));
client.put("rate_editable",ManagerRole.OPERATOR.hasRole(role));
}
}
List<JSONObject> children = clientMapper.listChildClients(client.getIntValue("client_id"));

@ -38,6 +38,8 @@ public class ManagerInfo {
private boolean riskmanager;
private boolean guest;
private boolean orgmanager;
private boolean salesmanager;
private boolean datacontent;
@JSONField(name = "org_id")
private Integer orgId;
@ -105,6 +107,12 @@ public class ManagerInfo {
if (orgmanager){
role |= ManagerRole.ORG_MANAGER.getMask();
}
if (salesmanager) {
role |= ManagerRole.SALES_MANAGER.getMask();
}
if (datacontent) {
role |= ManagerRole.DATA_CONTENT.getMask();
}
account.put("role", role);
if (insert) {
account.put("username", getUsername());
@ -273,4 +281,19 @@ public class ManagerInfo {
this.orgmanager = orgmanager;
}
public boolean isDatacontent() {
return datacontent;
}
public boolean isSalesmanager() {
return salesmanager;
}
public void setDatacontent(boolean datacontent) {
this.datacontent = datacontent;
}
public void setSalesmanager(boolean salesmanager) {
this.salesmanager = salesmanager;
}
}

@ -41,9 +41,9 @@ public class QueryManagerBean {
if(role.equals("10000")){
mask = ManagerRole.SERVANT.getMask();
}
if(role.equals("100000")){
mask = ManagerRole.ACCOUNT_MANAGER.getMask();
}
// if(role.equals("100000")){
// mask = ManagerRole.ACCOUNT_MANAGER.getMask();
// }
if(role.equals("1000000")){
mask = ManagerRole.DIRECTOR.getMask();
}
@ -62,9 +62,15 @@ public class QueryManagerBean {
if(role.equals("100000000000")){
mask = ManagerRole.GUEST.getMask();
}
if(role.equals("1000000000000")){
mask = ManagerRole.ORG_MANAGER.getMask();
// if(role.equals("1000000000000")){
// mask = ManagerRole.ORG_MANAGER.getMask();
// }
if(role.equals("10000000000000")){
mask = ManagerRole.SALES_MANAGER.getMask();
}
// if(role.equals("100000000000000")){
// mask = ManagerRole.DATA_CONTENT.getMask();
// }
if(mask != 0){
params.put("mask",mask);
}

@ -52,14 +52,17 @@ public class ManagerAccountServiceImpl implements ManagerAccountsService {
manager.put("bd", ManagerRole.BD_USER.hasRole(role));
manager.put("finacial", ManagerRole.FINANCIAL_STAFF.hasRole(role));
manager.put("servant", ManagerRole.SERVANT.hasRole(role));
manager.put("accountmanager", ManagerRole.ACCOUNT_MANAGER.hasRole(role));
// manager.put("accountmanager", ManagerRole.ACCOUNT_MANAGER.hasRole(role));
manager.put("director", ManagerRole.DIRECTOR.hasRole(role));
manager.put("sitemanager", ManagerRole.SITE_MANAGER.hasRole(role));
manager.put("developer", ManagerRole.DEVELOPER.hasRole(role));
manager.put("bdleader", ManagerRole.BD_LEADER.hasRole(role));
manager.put("riskmanager", ManagerRole.RISK_MANAGER.hasRole(role));
manager.put("guest", ManagerRole.GUEST.hasRole(role));
manager.put("orgmanager", ManagerRole.ORG_MANAGER.hasRole(role));
// manager.put("orgmanager", ManagerRole.ORG_MANAGER.hasRole(role));
manager.put("salesmanager", ManagerRole.SALES_MANAGER.hasRole(role));
// manager.put("datacontent", ManagerRole.DATA_CONTENT.hasRole(role));
}
return managers;
}

@ -142,7 +142,7 @@
dataType: 'text',
success: function () {
var from = getUrlParam("f");
location.href = from ? decodeURIComponent(from) : 'manage.html'
location.href = from ? decodeURIComponent(from) : 'managev2.html'
},
error: function (jqXHR) {
alert(JSON.parse(jqXHR.responseText).message);
@ -185,7 +185,7 @@
url: '/global/userstatus/manager_signin_wechat_qrcode/' + codeId + '/check',
method: 'get',
success: function () {
location.href = '/manage.html'
location.href = '/managev2.html'
},
error: function () {
setTimeout(function () {

@ -70,6 +70,38 @@
.dh {
animation: myfirst 1s linear 0s infinite alternate;
}
.navbar-header a{
color: #FFF;
}
.navbar-header .active{
background-color: #FFF !important;
}
.navbar-header .active a{
color: #f06101 !important;
}
.navbar-header li {
float: left;
border: 1px solid #FFF;
padding: 3px 15px;
}
@media (min-width: 768px) {
.navbar-header {
list-style: none;
width: 245px;
/*position: absolute;*/
left: 0;
right: 0;
margin: 10px;
}
}
@media (max-width: 768px) {
.navbar-header {
list-style: none;
width: 245px;
margin: 10px;
}
}
</style>
<script type="text/javascript" src="static/lib/require.js" data-main="static/boot/manager-boot"></script>
<script type="text/javascript" src="/static/lib/jquery/jquery-2.1.4.min.js"></script>
@ -111,14 +143,25 @@ margin-bottom: 10%;"/>
</a>
<!--Header Navbar: style can be found in header.less -->
<!--顶部导航栏-->
<nav class="navbar navbar-static-top navbar-static-top-yedian" role="navigation">
<!--Sidebar toggle button-->
<a class="sidebar-toggle sidebar-tooggle-yedian" data-toggle="offcanvas" role="button"
ng-click="toggleHideSideBar()">
<span class="sr-only">Toggle navigation</span>
</a>
<select class="navbar-header" style="height: 30px;border: 0;text-align: center;text-align-last:center;" ng-model="roleNow" ng-change="changeRole(roleNow)">
<option ng-repeat="x in role" value="{{x.value}}">{{x.module}}</option>
</select>
<div class="navbar-custom-menu">
<ul class="navbar-header" style="position: relative;left: 10%">
<li ui-sref-active="active" style="border-bottom-left-radius: 5px;border-top-left-radius: 5px;background-color: #FFF; ">
<a href="/manage.html" role="button" style="color:#f06101 !important;">v1</a>
</li>
<li ui-sref-active="active" style="border-bottom-right-radius: 5px;border-top-right-radius: 5px;">
<a href="/managev2.html" role="button">v2</a>
</li>
</ul>
<ul class="nav navbar-nav">
<li class="user-menu" ng-if="currentUser.onoff">
<a role="button" ng-click="customerService()">
@ -137,7 +180,9 @@ margin-bottom: 10%;"/>
<span class="label label-warning" ng-if="notifyCounts">{{notifyCounts}}</span>
</a>
<ul class="dropdown-menu">
<!--<li class="header">System notifications,please resolve it!</li>-->
<!--
<li class="header">System notifications,please resolve it!</li>
-->
<li>
<!--inner menu: contains the actual data-->
<div class="slimScrollDiv" style="position: relative; overflow: hidden; width: auto; max-height: 200px;"><ul class="menu" style="overflow: hidden; width: 100%;">
@ -158,7 +203,9 @@ margin-bottom: 10%;"/>
</ul>
</li>
<!-- User Account: style can be found in dropdown.less -->
<!--
User Account: style can be found in dropdown.less
-->
<li class="dropdown user user-menu" uib-dropdown>
<a href class="dropdown-toggle" uib-dropdown-toggle>
<img ng-src="{{currentUser.org.logo||'static/images/r_white_logo.svg'}}"
@ -185,11 +232,11 @@ margin-bottom: 10%;"/>
ng-class="{'text-orange':!('1000'|withRole),'text-gray':('1000'|withRole)}"></i>
<i class="fa fa-tty" title="Service"
ng-class="{'text-orange':!('10000'|withRole),'text-gray':('10000'|withRole)}"></i>
<i class="fa fa-university" title="Account Manager"
ng-class="{'text-orange':!('100000'|withRole),'text-gray':('100000'|withRole)}"></i>
<!--<i class="fa fa-university" title="Account Manager"-->
<!--ng-class="{'text-orange':!('100000'|withRole),'text-gray':('100000'|withRole)}"></i>-->
<i class="fa fa-line-chart" title="Director"
ng-class="{'text-orange':!('1000000'|withRole),'text-gray':('1000000'|withRole)}"></i>
<i class="fa fa-map-o" title="Site Manager"
<i class="fa fa-map-o" title="Markting"
ng-class="{'text-orange':!('10000000'|withRole),'text-gray':('10000000'|withRole)}"></i>
<i class="fa fa-code" title="Developer"
ng-class="{'text-orange':!('100000000'|withRole),'text-gray':('100000000'|withRole)}"></i>
@ -197,12 +244,19 @@ margin-bottom: 10%;"/>
ng-class="{'text-orange':!('10000000000'|withRole),'text-gray':('10000000000'|withRole)}"></i>
<i class="fa fa-tripadvisor" title="GUEST"
ng-class="{'text-orange':!('100000000000'|withRole),'text-gray':('100000000000'|withRole)}"></i>
<i class="fa fa-user-plus" title="Org Manager"
ng-class="{'text-orange':!('1000000000000'|withRole),'text-gray':('1000000000000'|withRole)}"></i>
<!--<i class="fa fa-user-plus" title="Org Manager"-->
<!--ng-class="{'text-orange':!('1000000000000'|withRole),'text-gray':('1000000000000'|withRole)}"></i>-->
<i class="fa fa-ticket" title="Sales Manager"
ng-class="{'text-orange':!('10000000000000'|withRole),'text-gray':('1000000000000'|withRole)}"></i>
<!--<i class="fa fa-save" title="Data content"-->
<!--ng-class="{'text-orange':!('100000000000000'|withRole),'text-gray':('1000000000000'|withRole)}"></i>-->
</small>
</p>
</li>
<!-- Menu Footer-->
<!--
Menu Footer
-->
<li class="user-footer">
<div class="pull-left">
<a href class="btn btn-default btn-flat" ng-click="changePwd()">Change Password</a>
@ -225,7 +279,7 @@ margin-bottom: 10%;"/>
<!--sidebar: style can be found in sidebar.less -->
<section class="sidebar">
<ul class="sidebar-menu">
<ul class="sidebar-menu" data-widget="tree">
<li ui-sref-active="active" ng-if="'dashboard'|withModule">
<a ui-sref="dashboard">
@ -234,67 +288,280 @@ margin-bottom: 10%;"/>
</a>
</li>
<li class="header nav-header" ng-if="'1011110'|withRole">支付结算|Payment</li>
<li class="treeview" ng-if="roleNow!='administrator' && roleNow!='developer' && roleNow!='sitemanager'">
<a href="javascript:;">
<i class="fa fa-sitemap"></i>
<span>商户管理|Partner Manage</span>
</a>
<ul class="treeview-menu">
<li ui-sref-active="active" ng-if="'partners'|withModule">
<a ui-sref="partners" ui-sref-opts="{reload:true}">
<i class="fa fa-sitemap"></i> <span>商户管理|Partner Manage</span>
<i class="fa fa-sitemap"></i> <span>商户名录|Partner Directories</span>
</a>
</li>
<li ui-sref-active="active" ng-if="'110'|withRole">
<a ui-sref="newPartners" ui-sref-opts="{reload:true}">
<i class="fa fa-plus"></i> <span>商户进件|New Partner</span>
</a>
</li>
<li ui-sref-active="active" ng-if="'partner_analysis'|withModule">
<a ui-sref="partners_analysis" ui-sref-opts="{reload:true}">
<i class="fa fa-list-alt"></i> <span>商户统计|Merchants Data</span>
</a>
</li>
<li ui-sref-active="active" ng-if="'clientrate'|withModule">
<a ui-sref="analysis_monitoring.client_rates" ui-sref-opts="{reload:true}">
<i class="fa fa-shopping-cart"></i> <span>商户活跃度(原统计)</span>
</a>
</li>
<li ui-sref-active="active" ng-if="('merchantAmount'|withModule)">
<a ui-sref="merchantAmountAnalysis" ui-sref-opts="{reload:true}">
<i class="fa fa-area-chart"></i> <span>商户交易额统计(原统计)</span>
</a>
</li>
</ul>
</li>
<li class="treeview" ng-if="roleNow!='administrator' && roleNow!='developer' && roleNow!='sitemanager'">
<a href="javascript:;">
<i class="fa fa-list-alt"></i>
<span>交易管理|Transaction</span>
</a>
<ul class="treeview-menu">
<li ui-sref-active="active" ng-if="'tradelog'|withModule">
<a ui-sref="trade" ui-sref-opts="{reload:true}">
<i class="fa fa-list-alt"></i> <span>交易流水|Trades Logs</span>
</a>
</li>
<li ui-sref-active="active" ng-if="('1010'|withRole)">
<a ui-sref="refundReview" ui-sref-opts="{reload:true}">
<i class="fa fa-wrench"></i> <span>退款审核|Audit Refund</span>
</a>
</li>
<li ui-sref-active="active" ng-if="('100000000'|withRole)">
<a ui-sref="analysis_monitoring.pre_refund" ui-sref-opts="{reload:true}">
<i class="fa fa-tv"></i> <span>欠款|Pre Refund</span>
</a>
</li>
<li ui-sref-active="active" ng-if="('transAnalysis'|withModule)">
<a ui-sref="analysis_transaction" ui-sref-opts="{reload:true}">
<i class="fa fa-area-chart"></i> <span>原统计</span>
</a>
</li>
<li ui-sref-active="active" ng-if="'log'|withModule">
<a ui-sref="logview.notify_logs" ui-sref-opts="{reload:true}">
<i class="fa fa-server"></i> <span>支付回调消息|Notify History</span>
</a>
</li>
</ul>
</li>
<li class="treeview" ng-if="roleNow=='riskmanager'">
<a href="javascript:;">
<i class="fa fa-tv"></i>
<span>风控管理|Risk Management</span>
</a>
<ul class="treeview-menu">
<li ui-sref-active="active">
<a ui-sref="analysis_monitoring.monitor" ui-sref-opts="{reload:true}">
<i class="fa fa-tv"></i> <span>交易成功率监控</span>
</a>
</li>
<li ui-sref-active="active">
<a ui-sref="analysis_monitoring.cheat" ui-sref-opts="{reload:true}">
<i class="fa fa-bell"></i> <span>风控点预警统计</span>
</a>
</li>
<li ui-sref-active="active">
<a ui-sref="analysis_monitoring.cheat_monitor" ui-sref-opts="{reload:true}">
<i class="fa fa-building"></i> <span>风控点配置|Cheat Monitor</span>
</a>
</li>
<li ui-sref-active="active">
<a ui-sref="analysis_monitoring.risk_manager" ui-sref-opts="{reload:true}">
<i class="fa fa-list-alt"></i> <span>风控记录|Risk Records</span>
</a>
</li>
<li ui-sref-active="active">
<a ui-sref="analysis_monitoring.attention" ui-sref-opts="{reload:true}">
<i class="fa fa-exclamation-triangle"></i> <span>黑名单|Risky Merchants</span>
</a>
</li>
<li ui-sref-active="active">
<a ui-sref="customerRankingAnalysis" ui-sref-opts="{reload:true}">
<i class="fa fa fa-male"></i> <span>消费排名|Risky Merchants</span>
</a>
</li>
</ul>
</li>
<li class="treeview" ng-if="roleNow=='compliance'">
<a href="javascript:;">
<i class="fa fa fa-eye"></i>
<span>合规管理|Compliance Management</span>
</a>
<ul class="treeview-menu">
<li ui-sref-active="active">
<a ui-sref="businessCompliance" ui-sref-opts="{reload:true}">
<i class="fa fa fa-eye"></i> <span>商户合规</span>
</a>
</li>
<li ui-sref-active="active">
<a ui-sref="contract">
<i class="fa fa-money"></i> <span>合同签约情况</span>
</a>
</li>
<li ui-sref-active="active">
<a ui-sref="rate_warnings">
<i class="fa fa-bell"></i> <span>签约到期预警</span>
</a>
</li>
<li ui-sref-active="active"
ng-if="('partnerapply'|withModule) && (currentUser.org_id==null||currentUser.org_id==1)">
<a ui-sref="partner_apply" ui-sref-opts="{reload:true}">
<i class="fa fa-envelope-o"></i> <span>自主申请|Partner Applies</span>
</a>
</li>
<li ui-sref-active="active" ng-if="'tradelog'|withModule">
<a ui-sref="trade" ui-sref-opts="{reload:true}">
<i class="fa fa-list-alt"></i> <span>交易流水|Trades Logs</span>
<li ui-sref-active="active"
ng-if="('partnerapply'|withModule) && (currentUser.org_id==null||currentUser.org_id==1)">
<a ui-sref="config_operation" ui-sref-opts="{reload:true}">
<i class="fa fa-edit"></i> <span>商户信息修改日志</span>
</a>
</li>
<li ui-sref-active="active"
ng-if="(currentUser.org_id==null||currentUser.org_id==1)">
<a ui-sref="devtools.aliforexcel" ui-sref-opts="{reload:true}">
<i class="fa fa-envelope"></i> <span>Alipay进件表格导出</span>
</a>
</li>
</ul>
</li>
<li class="treeview" ng-if="roleNow=='accountant' || roleNow=='director'">
<a href="javascript:;">
<i class="fa fa-balance-scale"></i>
<span>清算管理|Settlement Management</span>
</a>
<ul class="treeview-menu">
<li ui-sref-active="active" ng-if="'ordervalid'|withModule">
<a ui-sref="order_valid">
<i class="fa fa-balance-scale"></i> <span>交易对账|Order Validation</span>
</a>
</li>
<li ui-sref-active="active" ng-if="('clearing'|withModule) && (role!='director')">
<a ui-sref="clearingLogs.date_setting">
<i class="fa fa-balance-scale"></i> <span>清算日管理</span>
</a>
</li>
<li ui-sref-active="active" ng-if="'clearing'|withModule">
<a ui-sref="clearingLogs" ui-sref-opts="{reload:true}">
<i class="fa fa-line-chart"></i> <span>清算统计|Settlement Logs</span>
</a>
</li>
<li ui-sref-active="active" ng-if="('clearing_org'|withModule) && currentUser.org_id>1">
<a ui-sref="clearingLogsForOrg" ui-sref-opts="{reload:true}">
<i class="fa fa-line-chart"></i> <span>清算记录|Settlement Logs</span>
<li ui-sref-active="active" ng-if="('estimateAnalysisApp'|withModule)&&(currentUser.org_id==null)">
<a ui-sref="estimateAnalysis" ui-sref-opts="{reload:true}">
<i class="fa fa fa-money"></i> <span>清算预估|Estimate</span>
</a>
</li>
<li ui-sref-active="active" ng-if="'settleReport'|withModule">
<a ui-sref="analysis_report.settle_report" ui-sref-opts="{reload:true}">
<i class="fa fa fa-tv"></i> <span>清算月报</span>
</a>
</li>
<li ui-sref-active="active" ng-if="('platformRevenue'|withModule) && (role!='director')">
<a ui-sref="analysis_report.platformsettle" ui-sref-opts="{reload:true}">
<i class="fa fa fa-money"></i> <span>清算验证|Validation</span>
</a>
</li>
</ul>
</li>
<li class="treeview" ng-if="roleNow=='accountant' || roleNow=='director'">
<a href="javascript:;">
<i class="fa fa-file-excel-o"></i>
<span>财务管理|Financial Management</span>
</a>
<ul class="treeview-menu">
<li ui-sref-active="active" ng-if="'austrac'|withModule">
<a ui-sref="transreport" ui-sref-opts="{reload:true}">
<i class="fa fa-file-excel-o"></i> <span>Austrac Report</span>
</a>
</li>
<!-- <li ui-sref-active="active" ng-if="'citypartner'|withModule">
<a ui-sref="citypartner_reg" ui-sref-opts="{reload:true}">
<i class="fa fa-users"></i> <span>City Partners</span>
</a>
</li>-->
<li ui-sref-active="active" ng-if="'1000'|withRole">
<li ui-sref-active="active" ng-if="'invoice'|withModule">
<a ui-sref="invoice" ui-sref-opts="{reload:true}">
<i class="fa fa-users"></i> <span>Partner Invoice</span>
</a>
</li>
<li class="header nav-header"
ng-if="('1011110'|withRole) || currentUser.org_id==null">营销服务|Promotion
<li ui-sref-active="active" ng-if="'platformRevenue'|withModule">
<a ui-sref="analysis_report.platformrevenue" ui-sref-opts="{reload:true}">
<i class="fa fa-money"></i> <span>平台收支统计|Platform Revenue</span>
</a>
</li>
<li ui-sref-active="active" ng-if="'wxSettlementsApp'|withModule">
<a ui-sref="analysis_report.wx_settlements" ui-sref-opts="{reload:true}">
<i class="fa fa-money"></i> <span>腾讯打款记录|Tencent Settlement</span>
</a>
</li>
<li ui-sref-active="active" ng-if="('bdprize'|withModule)&&(currentUser.org_id==null||currentUser.org_id==1)">
<a ui-sref="analysis_bd.bd_prizes" ui-sref-opts="{reload:true}">
<i class="fa fa-usd"></i> <span>BD提成|BD Commissions</span>
</a>
</li>
<li ui-sref-active="active">
<a ui-sref="analysis_org.commission" ui-sref-opts="{reload:true}">
<i class="fa fa-users"></i> <span>合伙人提成</span>
</a>
</li>
</ul>
</li>
<li class="treeview" ng-if="roleNow=='sitemanager'">
<a href="javascript:;">
<i class="fa fa-file-text-o"></i>
<span>营销活动管理|Promotion</span>
</a>
<ul class="treeview-menu">
<li ui-sref-active="active" ng-if="'appAct'|withModule">
<a ui-sref="appAct">
<i class="fa fa-file-text-o"></i> <span>活动管理|Activity Manage</span>
<i class="fa fa-file-text-o"></i> <span>APP弹屏管理</span>
</a>
</li>
<li ui-sref-active="active" ng-if="('encourage'|withModule)">
<a ui-sref="encourageAct">
<i class="fa fa-gift"></i> <span>鼓励金</span>
</a>
</li>
<li ui-sref-active="active" ng-if="('cashbackAnalysis'|withModule)">
<a ui-sref="cashbackAnalysis">
<i class="fa fa-gift"></i> <span>商户营销账户</span>
</a>
</li>
<li ui-sref-active="active" ng-if="'settleDelay'|withModule">
<a ui-sref="settle_delay" ui-sref-opts="{reload:true}">
<i class="fa fa-users"></i> <span>周末费率减半活动</span>
</a>
</li>
<li ui-sref-active="active" ng-if="'monDelay'|withModule">
<a ui-sref="mon_delay" ui-sref-opts="{reload:true}">
<i class="fa fa-users"></i> <span>余额增值活动</span>
</a>
</li>
<li ui-sref-active="active" ng-if="'actChairty'|withModule">
<a ui-sref="act_chairty" ui-sref-opts="{reload:true}">
<i class="fa fa-users"></i> <span>半边天公益活动</span>
</a>
</li>
</ul>
</li>
<!-- <li ui-sref-active="active" ng-if="'citypartner'|withModule">
<a ui-sref="citypartner_reg" ui-sref-opts="{reload:true}">
<i class="fa fa-users"></i> <span>City Partners</span>
</a>
</li>-->
<!--
<li ui-sref-active="active" ng-if="('activities'|withModule) && (currentUser.org_id==1 || currentUser.org_id==null)">
<a ui-sref="activity.detail({act_id:'3'})" ui-sref-opts="{reload:true}">
@ -306,146 +573,163 @@ margin-bottom: 10%;"/>
<i class="fa fa-compass"></i> <span>店长行动参与情况</span>
</a>
</li>-->
<!--<li ui-sref-active="active" ng-if="('act_redpack'|withModule) && (currentUser.org_id==1 || currentUser.org_id==null)">-->
<!--<a ui-sref="act_partners" ui-sref-opts="{reload:true}">-->
<!--<i class="fa fa-compass"></i> <span>新费率签约情况</span>-->
<!--</a>-->
<!--</li>-->
<li ui-sref-active="active" ng-if="('encourage'|withModule)">
<a ui-sref="encourageAct">
<i class="fa fa-gift"></i> <span>鼓励金</span>
</a>
</li>
<!--<li ui-sref-active="active" ng-if="('act_customer_redpack'|withModule)">
<a ui-sref="customer_redpack">
<i class="fa fa-gift"></i> <span>红包返现</span>
</a>
</li>-->
<li ui-sref-active="active" ng-if="('cashbackAnalysis'|withModule)">
<a ui-sref="cashbackAnalysis">
<i class="fa fa-gift"></i> <span>商户营销账户</span>
</a>
</li>
<!-- <li ui-sref-active="active" ng-if="('funds'|withModule)">
<a ui-sref="funds">
<i class="fa fa-money"></i> <span>增值计划</span>
</a>
</li>-->
<li ui-sref-active="active" ng-if="'settleDelay'|withModule">
<a ui-sref="settle_delay" ui-sref-opts="{reload:true}">
<i class="fa fa-users"></i> <span>周末费率减半活动</span>
<!--<li class="header nav-header" ng-if="('1000000000000'|withRole)">机构|Agent</li>-->
<!--<li ui-sref-active="active" ng-if="('1000000000000'|withRole)">-->
<!--<a ui-sref="analysis_agent" ui-sref-opts="{reload:true}">-->
<!--<i class="fa fa-hand-peace-o"></i> <span>机构数据分析|Agent Analysis</span>-->
<!--</a>-->
<!--</li>-->
<!--<li ui-sref-active="active" ng-if="('clearing_org'|withModule) && currentUser.org_id>1">-->
<!--<a ui-sref="clearingLogsForOrg" ui-sref-opts="{reload:true}">-->
<!--<i class="fa fa-line-chart"></i> <span>清算记录|Settlement Logs</span>-->
<!--</a>-->
<!--</li>-->
<li class="treeview" ng-if="roleNow=='sitemanager'">
<a href="javascript:;">
<i class="fa fa-bell"></i>
<span>内容管理|Content Management</span>
</a>
</li>
<li ui-sref-active="active" ng-if="'monDelay'|withModule">
<a ui-sref="mon_delay" ui-sref-opts="{reload:true}">
<i class="fa fa-users"></i> <span>余额增值活动</span>
<ul class="treeview-menu">
<li ui-sref-active="active" ng-if="'notice'|withModule">
<a ui-sref="notice">
<i class="fa fa-bell"></i> <span>通知群发|Notifications</span>
</a>
</li>
<li ui-sref-active="active" ng-if="('1'|withRole)">
<a ui-sref="contract">
<i class="fa fa-money"></i> <span>合同签约情况</span>
<li ui-sref-active="active" ng-if="'cms'|withModule">
<a ui-sref="cms">
<i class="fa fa-file-text-o"></i> <span>网站管理|Site Manage</span>
</a>
</li>
<li ui-sref-active="active" ng-if="'actChairty'|withModule">
<a ui-sref="act_chairty" ui-sref-opts="{reload:true}">
<i class="fa fa-users"></i> <span>半边天公益活动</span>
<li ui-sref-active="active" ng-if="('10000000'|withRole)">
<a href="https://customer.royalpay.com.au/manage/sign_in" target="_blank">
<i class="fa fa-file-text-o"></i> <span>积分商城|Integral Mall</span>
</a>
</li>
</ul>
</li>
<li class="header nav-header" ng-if="('1000000000000'|withRole)">机构|Agent</li>
<li ui-sref-active="active" ng-if="('1000000000000'|withRole)">
<a ui-sref="analysis_agent" ui-sref-opts="{reload:true}">
<i class="fa fa-hand-peace-o"></i> <span>机构数据分析|Agent Analysis</span>
<li class="treeview" ng-if="roleNow=='administrator'">
<a href="javascript:;">
<i class="fa fa-users"></i>
<span>组织架构|Organization Framework</span>
</a>
<ul class="treeview-menu">
<li ui-sref-active="active" ng-if="'org'|withModule">
<a ui-sref="organizations" ui-sref-opts="{reload:true}">
<i class="fa fa-users"></i> <span>组织管理|Organizations</span>
</a>
</li>
<li class="header nav-header" ng-if="('1011110'|withRole)|| currentUser.org_id==null">数据分析|Analysis</li>
<li ui-sref-active="active" ng-if="('transAnalysis'|withModule)||('dashboard'|withModule)||
('customer_analysis'|withModule)||
('customerRankingAnalysisApp'|withModule)||
('partner_analysis'|withModule)">
<a ui-sref="analysis_transaction" ui-sref-opts="{reload:true}">
<i class="fa fa-area-chart"></i> <span>交易|Transaction Analysis</span>
<li ui-sref-active="active" ng-if="'manager_accounts'|withModule">
<a ui-sref="product" ui-sref-opts="{reload:true}">
<i class="fa fa-shopping-cart"></i> <span>商品库管理</span>
</a>
</li>
<li ui-sref-active="active"
ng-if="('bdsale'|withModule)||('bdprize'|withModule)&&(currentUser.org_id==null||currentUser.org_id==1)">
<a ui-sref="analysis_bd" ui-sref-opts="{reload:true}">
<i class="fa fa-hand-peace-o"></i> <span>BD|BD Analysis</span>
<li ui-sref-active="active" ng-if="'manager_accounts'|withModule">
<a ui-sref="managers" ui-sref-opts="{reload:true}">
<i class="fa fa-key"></i> <span>账号管理|Accounts</span>
</a>
</li>
<li ui-sref-active="active"
ng-if="('org_sale'|withModule)&&(currentUser.org_id==null||currentUser.org_id==1 ||('1000000000000'|withRole))||('orgcommission'|withModule)">
<a ui-sref="analysis_org" ui-sref-opts="{reload:true}">
<i class="fa fa-hand-peace-o"></i> <span>合伙人|Partners Analysis</span>
<li ui-sref-active="active" ng-if="'manager_accounts'|withModule">
<a ui-sref="servantsConfig" ui-sref-opts="{reload:true}">
<i class="fa fa-tty"></i> <span>客服管理|Service Accounts</span>
</a>
</li>
<li ui-sref-active="active" ng-if="'sysconfig'|withModule">
<a ui-sref="permission" ui-sref-opts="{reload:true}">
<i class="fa fa-key"></i> <span>角色权限管理</span>
</a>
</li>
</ul>
</li>
<li ui-sref-active="active" ng-if="('clientrate'|withModule)||('monitor'|withModule)">
<a ui-sref="analysis_monitoring" ui-sref-opts="{reload:true}">
<i class="fa fa-shopping-cart"></i> <span>监控|Monitoring</span>
<li class="treeview" ng-if="roleNow=='bduser' || roleNow=='salesmanager' || roleNow=='director'">
<a href="javascript:;">
<i class="fa fa-hand-peace-o"></i>
<span>绩效管理</span>
</a>
<ul class="treeview-menu">
<li ui-sref-active="active" ng-if="'bdsale'|withModule">
<a ui-sref="analysis_bd.bdanalysis" ui-sref-opts="{reload:true}">
<i class="fa fa-hand-peace-o"></i> <span>BD销售量|BD Sale</span>
</a>
</li>
<li ui-sref-active="active" ng-if="('settleReport'|withModule)||('platformRevenue'|withModule)">
<a ui-sref="analysis_report" ui-sref-opts="{reload:true}">
<i class="fa fa-tv"></i> <span>报表|Report</span>
<li ui-sref-active="active" ng-if="('bdprize'|withModule)&&(currentUser.org_id==null||currentUser.org_id==1)">
<a ui-sref="analysis_bd.bd_prizes" ui-sref-opts="{reload:true}">
<i class="fa fa-usd"></i> <span>BD提成|BD Commissions</span>
</a>
</li>
<li class="header nav-header" ng-if="'0100001'|withRole">基础设置|Basic Settings</li>
<li ui-sref-active="active" ng-if="('10'|withRole)&&('merchantIdManage'|withModule)">
<a ui-sref="merchant_id_manage" ui-sref-opts="{reload:true}">
<i class="fa fa-sitemap"></i> <span>商户号管理</span>
<li ui-sref-active="active" ng-if="'10000000001000'|withRole">
<a ng-click="editRateConfig()" style="cursor: pointer">
<i class="fa fa-cog"></i> <span>BD绩效设置</span>
</a>
</li>
<li ui-sref-active="active" ng-if="'org'|withModule">
<a ui-sref="organizations" ui-sref-opts="{reload:true}">
<i class="fa fa-users"></i> <span>组织管理|Organizations</span>
<li ui-sref-active="active" ng-if="'10000000001000'|withRole">
<a ng-click="editBDLevels()" style="cursor: pointer">
<i class="fa fa-user"></i> <span>BD级别设置</span>
</a>
</li>
<li ui-sref-active="active" ng-if="'manager_accounts'|withModule">
<a ui-sref="managers" ui-sref-opts="{reload:true}">
<i class="fa fa-key"></i> <span>账号管理|Accounts</span>
<li ui-sref-active="active" ng-if="'clientrate'|withModule">
<a ui-sref="analysis_monitoring.client_rates" ui-sref-opts="{reload:true}">
<i class="fa fa-shopping-cart"></i> <span>商户活跃度</span>
</a>
</li>
<li ui-sref-active="active" ng-if="'dev'|withModule">
<a ui-sref="devtools">
<i class="fa fa-cog"></i> <span>开发工具|DevTools</span>
</ul>
</li>
<li class="treeview" ng-if="roleNow=='salesmanager'">
<a href="javascript:;">
<i class="fa fa-tv"></i>
<span>合伙人管理</span>
</a>
<ul class="treeview-menu">
<li ui-sref-active="active"
ng-if="'citypartner'|withModule">
<a ui-sref="newOrganizations" ui-sref-opts="{reload:true}">
<i class="fa fa-tv"></i> <span>合伙人申请</span>
</a>
</li>
<li ui-sref-active="active" ng-if="'notice'|withModule">
<a ui-sref="notice">
<i class="fa fa-bell"></i> <span>通知群发|Notifications</span>
<li ui-sref-active="active" ng-if="'org'|withModule">
<a ui-sref="organizations" ui-sref-opts="{reload:true}">
<i class="fa fa-users"></i> <span>合伙人管理</span>
</a>
</li>
<li ui-sref-active="active" ng-if="'log'|withModule">
<a ui-sref="logview">
<i class="fa fa-file-text-o"></i> <span>系统日志|System Logs</span>
<li ui-sref-active="active" ng-if="('org_sale'|withModule)&&(currentUser.org_id==null||currentUser.org_id==1 ||('1000000000000'|withRole))">
<a ui-sref="analysis_org.organlasis" ui-sref-opts="{reload:true}">
<i class="fa fa-hand-peace-o"></i> <span>合伙人销售量|City Partner Sale</span>
</a>
</li>
<li ui-sref-active="active" ng-if="'cms'|withModule">
<a ui-sref="cms">
<i class="fa fa-file-text-o"></i> <span>网站管理|Site Manage</span>
<li ui-sref-active="active" ng-if="('orgcommission'|withModule)">
<a ui-sref="analysis_org.commission" ui-sref-opts="{reload:true}">
<i class="fa fa-hand-peace-o"></i> <span>合伙人提成</span>
</a>
</li>
<li ui-sref-active="active" ng-if="('10'|withRole)||('1000000'|withRole)||('10000000'|withRole)">
<a href="https://customer.royalpay.com.au/manage/sign_in" target="_blank">
<i class="fa fa-file-text-o"></i> <span>积分商城|Integral Mall</span>
</ul>
</li>
<li class="treeview" ng-if="roleNow=='administrator'">
<a href="javascript:;">
<i class="fa fa-sitemap"></i>
<span>配置管理|Basic Settings</span>
</a>
<ul class="treeview-menu">
<li ui-sref-active="active" ng-if="('merchantIdManage'|withModule)">
<a ui-sref="merchant_id_manage" ui-sref-opts="{reload:true}">
<i class="fa fa-sitemap"></i> <span>商户号管理</span>
</a>
</li>
<li ui-sref-active="active"
@ -454,12 +738,39 @@ margin-bottom: 10%;"/>
<i class="fa fa-users"></i> <span>设备管理|Devices</span>
</a>
</li>
<li ui-sref-active="active" ng-if="'sysconfig'|withModule">
<a ui-sref="sysconfig">
<i class="fa fa-cog"></i> <span>系统参数设定|Settings</span>
</a>
</li>
</ul>
</li>
<li class="treeview" ng-if="roleNow=='developer'">
<a href="javascript:;">
<i class="fa fa-users"></i>
<span>开发工具|Developer</span>
</a>
<ul class="treeview-menu">
<li ui-sref-active="active" ng-if="('log'|withModule) || ('dev'|withModule)">
<a ui-sref="login_history">
<i class="fa fa-users"></i> <span>登录日志|Sign In History</span>
</a>
</li>
<li ui-sref-active="active" ng-if="'log'|withModule">
<a ui-sref="logview">
<i class="fa fa-file-text-o"></i> <span>系统日志|System Logs</span>
</a>
</li>
<li ui-sref-active="active" ng-if="'dev'|withModule">
<a ui-sref="devtools">
<i class="fa fa-cog"></i> <span>开发工具|DevTools</span>
</a>
</li>
</ul>
</li>
</ul>
</section>
<!-- /.sidebar -->
@ -481,6 +792,7 @@ margin-bottom: 10%;"/>
</footer>
</div>
<script type="text/javascript" src="static/lib/dist/js/adminlte.min.js"></script>
<!-- ./wrapper -->
</body>
</html>

@ -0,0 +1,277 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link rel="apple-touch-icon" sizes="57x57" href="ico/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="ico/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="ico/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="ico/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="ico/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="ico/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="ico/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="ico/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="ico/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="ico/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="ico/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="ico/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="ico/favicon-16x16.png">
<link rel="manifest" href="ico/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="/ms-icon-144x144.png">
<meta name="theme-color" content="#ffffff">
<meta name="format-detection" content="telephone=no">
<meta charset="UTF-8">
<title>RoyalPay</title>
<!-- Tell the browser to be responsive to screen width -->
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
<!-- Bootstrap 3.3.5 -->
<link rel="stylesheet" href="static/lib/bootstrap/css/bootstrap.min.css">
<!-- Font Awesome -->
<!--<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">-->
<link href="static/lib/font-awesome-4.6.3/css/font-awesome.min.css" rel="stylesheet">
<!-- Ionicons -->
<link rel="stylesheet" href="static/lib/ioicons-2.0.1/css/ionicons.min.css">
<!-- Theme style -->
<link rel="stylesheet" href="static/lib/dist/css/AdminLTE.min.css">
<!-- AdminLTE Skins. Choose a skin from the css/skins
folder instead of downloading all of them to reduce the load. -->
<link rel="stylesheet" href="static/lib/dist/css/skins/_all-skins.min.css">
<link rel="stylesheet" href="static/css/common.css">
<style type="text/css">
footer {
font-family: PingFang-SC-Regular;
font-size: 12px;
color: #FFFFFF;
letter-spacing: 0px;
padding-bottom: 2.3%;
}
.ng-cloak, [ng-cloak] {
display: none !important;
}
@keyframes myfirst {
0% {
transform: rotateY(1deg);
}
100% {
transform: rotateY(90deg);
}
}
div.polaroid {
text-align: center;
}
div.rotate_left {
position: fixed;
width: 200px;
margin: 0 -100px;
top: 40%;
left: 50%;
z-index: 9999999;
}
.dh {
animation: myfirst 1s linear 0s infinite alternate;
}
.description-text {
margin-top: 5px;
/*width: 86px;*/
}
.navbar-header a{
color: #FFF;
}
.navbar-header .active{
background-color: #FFF !important;
}
.navbar-header .active a{
color: #f06101 !important;
}
.navbar-header li {
float: left;
border: 1px solid #FFF;
padding: 3px 15px;
}
@media (min-width: 768px) {
.navbar-header {
list-style: none;
width: 245px;
position: absolute;
left: 0;
right: 0;
margin: 10px auto;
}
}
@media (max-width: 768px) {
.navbar-header {
list-style: none;
width: 245px;
margin: 10px auto;
}
}
</style>
<script type="text/javascript" src="static/lib/require.js" data-main="static/boot/manager-bootv2"></script>
<script type="text/javascript" src="/static/lib/jquery/jquery-2.1.4.min.js"></script>
<script type="text/javascript" src="/static/lib/bootstrap/js/bootstrap.min.js"></script>
</head>
<body ng-controller="managerIndexCtrl" class="skin-blue sidebar-mini"
ng-class="{'sidebar-collapse':hideSideBar,'sidebar-open':hideSideBar}">
<div class="polaroid" ng-if="currentUser==null">
<div class="rotate_left">
<img class="dh" src="static/images/r_logo.svg" alt="RoyalPay" style="width:150px;height:150px;margin-top: 10%;
margin-bottom: 10%;"/>
<p style="color: #666">To Be The Best QRCode Payment Service Provider!</p>
</div>
</div>
<div ng-if="currentUser!=null" ng-cloak
ng-class="currentUser.org?(currentUser.org.banner_class||'fxplus'):'royalpay'">
<header ng-if="headerDisplay" class="main-header">
<nav style="margin-left: 0px" class="navbar navbar-static-top navbar-static-top-yedian" role="navigation">
<!-- Logo -->
<a ui-sref="home" ng-click="headerCopyDisplay()" class="logo logo-yedian shine" ng-if="!currentUser.org">
<!-- mini logo for sidebar mini 50x50 pixels -->
<span class="logo-mini"></span>
<!-- logo for regular state and mobile devices -->
<b>RoyalPay</b>
<b>|</b>
<b>{{roleNow}}</b>
</span>
</a>
<a ui-sref="home" ng-click="headerCopyDisplay()" class="logo logo-yedian shine" ng-if="currentUser.org">
<!-- mini logo for sidebar mini 50x50 pixels -->
<span class="logo-mini"></span>
<!-- logo for regular state and mobile devices -->
<span class="logo-lg"><b
ng-bind="currentUser.org.name"></b><b>|</b>
<b>{{roleNow}}</b></span>
</a>
<ul class="navbar-header">
<li ui-sref-active="active" style="border-bottom-left-radius: 5px;border-top-left-radius: 5px;">
<a ui-sref="dashboard" role="button">Dashboard</a>
</li>
<li ui-sref-active="active" style="border-bottom-right-radius: 5px;border-top-right-radius: 5px;">
<a ui-sref="listMenu" role="button">Main Menu</a>
</li>
</ul>
<!--<div class="navbar-header">-->
<!--<a ui-sref="dashboard" role="button"-->
<!--style="border: 1px solid #FFF; color: #FFF;padding: 3px">Dashboard</a>-->
<!--<a ui-sref="listMenu({role:''})" ui-sref-opts="{reload:true}" role="button"-->
<!--style="border: 1px solid #FFF; color: #FFF;padding: 3px">Main Menu</a>-->
<!--</div>-->
<!-- Header Navbar: style can be found in header.less -->
<!--顶部导航栏-->
<div class="navbar-custom-menu">
<ul class="navbar-header" style="position: relative;left: 10%">
<li ui-sref-active="active" style="border-bottom-left-radius: 5px;border-top-left-radius: 5px;">
<a href="/manage.html" role="button">v1</a>
</li>
<li ui-sref-active="active" style="border-bottom-right-radius: 5px;border-top-right-radius: 5px;background-color: #FFF">
<a style="color: #f06101 !important;">v2</a>
</li>
</ul>
<ul class="nav navbar-nav">
<li class="user-menu" ng-if="currentUser.onoff">
<a role="button" ng-click="customerService()">
<i class="fa fa-wechat"></i> contact service
</a>
</li>
<li class="user-menu">
<a role="button" ng-click="managerBindWechat(true)">
<i class="fa fa-wechat"></i> Bind WeChat
</a>
</li>
<!-- User Account: style can be found in dropdown.less -->
<li class="dropdown user user-menu" uib-dropdown>
<a href class="dropdown-toggle" uib-dropdown-toggle>
<img ng-src="{{currentUser.org.logo||'static/images/r_white_logo.svg'}}"
class="user-image user-img-yedian"
alt="User Image">
<span class="hidden-xs" ng-bind="currentUser.display_name"></span>
</a>
<ul class="dropdown-menu user-dropdown-menu" ng-cloak>
<!-- User image -->
<li class="user-header user-header-yedian">
<img ng-src="{{currentUser.org.logo||'static/images/r_white_logo.svg'}}"
class="img-circle"
alt="User Image">
<p>
{{currentUser.display_name}}
<small>
<i class="fa fa-user-secret" title="Administrator"
ng-class="{'text-orange':!('1'|withRole),'text-gray':('1'|withRole)}"></i>
<i class="fa fa-eye" title="Compliance"
ng-class="{'text-orange':!('10'|withRole),'text-gray':('10'|withRole)}"></i>
<i class="fa fa-crosshairs" title="BD User"
ng-class="{'text-orange':!('100'|withRole),'text-gray':('100'|withRole)}"></i>
<i class="fa fa-balance-scale" title="Accountant"
ng-class="{'text-orange':!('1000'|withRole),'text-gray':('1000'|withRole)}"></i>
<i class="fa fa-tty" title="Service"
ng-class="{'text-orange':!('10000'|withRole),'text-gray':('10000'|withRole)}"></i>
<!--<i class="fa fa-university" title="Account Manager"-->
<!--ng-class="{'text-orange':!('100000'|withRole),'text-gray':('100000'|withRole)}"></i>-->
<i class="fa fa-line-chart" title="Director"
ng-class="{'text-orange':!('1000000'|withRole),'text-gray':('1000000'|withRole)}"></i>
<i class="fa fa-map-o" title="Markting"
ng-class="{'text-orange':!('10000000'|withRole),'text-gray':('10000000'|withRole)}"></i>
<i class="fa fa-code" title="Developer"
ng-class="{'text-orange':!('100000000'|withRole),'text-gray':('100000000'|withRole)}"></i>
<i class="fa fa-user" title="Risk Manager"
ng-class="{'text-orange':!('10000000000'|withRole),'text-gray':('10000000000'|withRole)}"></i>
<i class="fa fa-tripadvisor" title="GUEST"
ng-class="{'text-orange':!('100000000000'|withRole),'text-gray':('100000000000'|withRole)}"></i>
<!--<i class="fa fa-user-plus" title="Org Manager"-->
<!--ng-class="{'text-orange':!('1000000000000'|withRole),'text-gray':('1000000000000'|withRole)}"></i>-->
<i class="fa fa-ticket" title="Sales Manager"
ng-class="{'text-orange':!('10000000000000'|withRole),'text-gray':('1000000000000'|withRole)}"></i>
<!--<i class="fa fa-save" title="Data content"-->
<!--ng-class="{'text-orange':!('100000000000000'|withRole),'text-gray':('1000000000000'|withRole)}"></i>-->
</small>
</p>
</li>
<!-- Menu Footer-->
<li class="user-footer">
<div class="pull-left">
<a href class="btn btn-default btn-flat" ng-click="changePwd()">Change Password</a>
</div>
<div class="pull-right">
<a href class="btn btn-default btn-flat" ng-click="logout()">Sign Out</a>
</div>
</li>
</ul>
</li>
<!-- Control Sidebar Toggle Button -->
</ul>
</div>
</nav>
</header>
<div class="content-wrapper" style="margin-left: 0;min-height: 890px" ui-view autoscroll="false" >
</div>
<footer ng-if="copyright" class="main-footer" style="margin-left: 0px">
<div class="pull-right hidden-xs">
<b>Easy BusinessEasy Pay</b>
</div>
<strong>Copyright © 2015-2017 <a href="http://www.royalpay.com.au">RoyalPay</a>.</strong> All rights
reserved.
</footer>
</div>
</body>
</html>

@ -2,9 +2,7 @@
<section class="content-header">
<h1>APP_ACTIVITY</h1>
<ol class="breadcrumb">
<li>
<i class="fa fa-sitemap">活动管理</i>
</li>
<li><i class="fa fa-dollar"></i>Promotion</li>
<li class="active">APP_ACTIVITY</li>
</ol>
</section>

@ -2,7 +2,7 @@
<h4>半边天公益活动</h4>
<ol class="breadcrumb">
<li>
<i class="fa fa-users"></i> Activity
<i class="fa fa-users"></i> Promotion
</li>
<li class="active">
Act Chairty

@ -2,7 +2,7 @@
<section class="content-header">
<h1>Encourage Money</h1>
<ol class="breadcrumb">
<li><i class="fa fa-gift"></i> Activities</li>
<li><i class="fa fa-gift"></i> Promotion</li>
<li class="active">Encourage Money</li>
</ol>
</section>

@ -1,15 +1,15 @@
<div class="content">
<div class="row">
<div class="col-sm-12 analysis-nav">
<ul class="nav nav-pills">
<li ui-sref-active-eq="active" ng-if="'bdsale'|withModule">
<a ui-sref="analysis_bd.bdanalysis"><i class="fa fa-hand-peace-o"></i>BD销售量|BD Sale</a>
</li>
<li ui-sref-active-eq="active"
ng-if="('bdprize'|withModule)&&(currentUser.org_id==null||currentUser.org_id==1)">
<a ui-sref="analysis_bd.bd_prizes"><i class="fa fa-usd"></i></i>BD提成|BD Commissions</a>
</li>
</ul>
<!--<ul class="nav nav-pills">-->
<!--<li ui-sref-active-eq="active" ng-if="'bdsale'|withModule">-->
<!--<a ui-sref="analysis_bd.bdanalysis"><i class="fa fa-hand-peace-o"></i>BD销售量|BD Sale</a>-->
<!--</li>-->
<!--<li ui-sref-active-eq="active"-->
<!--ng-if="('bdprize'|withModule)&&(currentUser.org_id==null||currentUser.org_id==1)">-->
<!--<a ui-sref="analysis_bd.bd_prizes"><i class="fa fa-usd"></i></i>BD提成|BD Commissions</a>-->
<!--</li>-->
<!--</ul>-->
</div>
</div>
<div class="row">

@ -20,19 +20,17 @@ define(['angular', 'decimal', 'uiBootstrap', 'uiRouter', 'angularEcharts'], func
controller: ['$state', function ($state) {
$state.go('^')
}]
}).state('clearingLogs.date_setting', {
}).state('date_setting', {
url: '/date_setting',
template: '<div></div>',
onEnter: ['$uibModal', function ($uibModal) {
templateUrl: '/static/analysis/templates/settle_date_config.html',
/* onEnter: ['$uibModal', function ($uibModal) {
$uibModal.open({
templateUrl: '/static/analysis/templates/settle_date_config.html',
controller: 'settleDateConfigCtrl',
size: 'lg'
})
}],
controller: ['$state', function ($state) {
$state.go('^')
}]
}],*/
controller: 'settleDateConfigCtrl',
}).state('clearingLogs.settlementDetail', {
url: '/settles/{date}',
templateUrl: '/static/analysis/templates/settlement_detail.html',

@ -5,8 +5,8 @@ define(['angular', 'static/commons/commons', 'static/commons/angular-ueditor', '
'use strict';
var app = angular.module('customerRankingAnalysisApp', ['ui.bootstrap', 'ui.router', 'frapontillo.bootstrap-switch']);
app.config(['$stateProvider', function ($stateProvider) {
$stateProvider.state('analysis_transaction.customerRankingAnalysis', {
url: '/customers',
$stateProvider.state('customerRankingAnalysis', {
url: '/analysis/transaction/customers',
templateUrl: '/static/analysis/templates/customer_analysis.html',
controller: 'customersListCtrl',
data: {label: 'Customers'}

@ -3,8 +3,8 @@ define(['angular', 'static/commons/commons', 'static/commons/angular-ueditor', '
'use strict';
var app = angular.module('merchantAmount', ['ui.bootstrap', 'ui.router', 'frapontillo.bootstrap-switch']);
app.config(['$stateProvider', function ($stateProvider) {
$stateProvider.state('analysis_transaction.merchantAmountAnalysis', {
url: '/amount',
$stateProvider.state('merchantAmountAnalysis', {
url: '/analysis/transaction/amount',
templateUrl: '/static/analysis/templates/merchant_amount_analysis.html',
controller: 'clientAmountListCtrl'
})

@ -2,7 +2,7 @@
<h4>余额增值活动</h4>
<ol class="breadcrumb">
<li>
<i class="fa fa-users"></i> Payment
<i class="fa fa-users"></i> Promotion
</li>
<li class="active">
MonDelay

@ -1,10 +1,10 @@
<!--<section class="content-header">-->
<!--<h1>交易监控</h1>-->
<!--<ol class="breadcrumb">-->
<!--<li><i class="fa fa-tv"></i> 数据分析</li>-->
<!--<li class="active">交易监控</li>-->
<!--</ol>-->
<!--</section>-->
<section class="content-header">
<h1>Trade Monitor</h1>
<ol class="breadcrumb">
<li><i class="fa fa-tv"></i> Risk Management</li>
<li class="active">Trade Monitor</li>
</ol>
</section>
<section class="content">
<div class="nav-tabs-custom">
<ul class="nav nav-tabs">

@ -1,5 +1,6 @@
<div class="content">
<div class="row">
<!--
<div class="col-sm-12 analysis-nav">
<ul class="nav nav-pills">
<li ui-sref-active-eq="active" ng-if="'clientrate'|withModule">
@ -25,6 +26,7 @@
</ul>
</div>
-->
</div>
<div class="row">
<div class="col-sm-12">

@ -1,14 +1,14 @@
<div class="content">
<div class="row">
<div class="col-sm-12 analysis-nav">
<ul class="nav nav-pills">
<li ui-sref-active-eq="active" ng-if="('org_sale'|withModule)&&(currentUser.org_id==null||currentUser.org_id==1 ||('1000000000000'|withRole))">
<a ui-sref="analysis_org.organlasis"><i class="fa fa-hand-peace-o"></i>合伙人销售量|City Partner Sale</a>
</li>
<li ui-sref-active-eq="active" ng-if="('orgcommission'|withModule)">
<a ui-sref="analysis_org.commission"><i class="fa fa-users"></i></i>合伙人提成|City Partner Commissions</a>
</li>
</ul>
<!--<ul class="nav nav-pills">-->
<!--<li ui-sref-active-eq="active" ng-if="('org_sale'|withModule)&&(currentUser.org_id==null||currentUser.org_id==1 ||('1000000000000'|withRole))">-->
<!--<a ui-sref="analysis_org.organlasis"><i class="fa fa-hand-peace-o"></i>合伙人销售量|City Partner Sale</a>-->
<!--</li>-->
<!--<li ui-sref-active-eq="active" ng-if="('orgcommission'|withModule)">-->
<!--<a ui-sref="analysis_org.commission"><i class="fa fa-users"></i></i>合伙人提成|City Partner Commissions</a>-->
<!--</li>-->
<!--</ul>-->
</div>
</div>
<div class="row">

@ -3,8 +3,8 @@ define(['angular', 'uiBootstrap', 'uiRouter', 'angularEcharts','./transaction/an
var colors = ['#00c0ef', '#00a65a', '#ff851b', '#f39c12', '#d81b60', '#605ca8', '#dd4b39', '#008080', '#8B008B', '#D2691E', '#708090'];
var app = angular.module('partnersAnalysis', ['ui.bootstrap', 'ui.router', 'ngEcharts']);
app.config(['$stateProvider', function ($stateProvider) {
$stateProvider.state('analysis_transaction.partners_analysis', {
url: '/analysis/partners',
$stateProvider.state('partners_analysis', {
url: '/analysis/transaction/analysis/partners',
templateUrl: '/static/analysis/templates/partners_analysis.html',
controller: 'partnersAnalysisCtrl'
})
@ -404,7 +404,23 @@ define(['angular', 'uiBootstrap', 'uiRouter', 'angularEcharts','./transaction/an
}
]
};
$scope.analysisClients = function () {
$http.get('/sys/partners/analysis').then(function (resp) {
$scope.analysis = resp.data;
})
};
if ($scope.currentUser.org_id == 1 || $scope.currentUser.org_id == null) {
$scope.analysisClients();
}
$scope.mapFrame = 'all_locations.html';
$scope.loadLocations = function () {
var params = angular.copy($scope.params);
$http.get('/sys/partners/merchant/list_locations', {params: params}).then(function (resp) {
$scope.locations = resp.data;
window.merchant_maps.initMap($scope.locations);
});
};
$scope.loadLocations();
}]);

@ -1,20 +1,20 @@
<div class="content">
<div class="row">
<div class="col-sm-12 analysis-nav">
<ul class="nav nav-pills">
<li ui-sref-active-eq="active" ng-if="'settleReport'|withModule">
<a ui-sref="analysis_report.settle_report"><i class="fa fa-tv"></i>清算月报|Settlement Month Report</a>
</li>
<li ui-sref-active-eq="active" ng-if="'platformRevenue'|withModule">
<a ui-sref="analysis_report.platformrevenue"><i class="fa fa-money"></i>平台收支统计|Platform Revenue</a>
</li>
<li ui-sref-active-eq="active" ng-if="'wxSettlementsApp'|withModule">
<a ui-sref="analysis_report.wx_settlements"><i class="fa fa-money"></i>腾讯打款记录|Tencent Settlement</a>
</li>
<li ui-sref-active-eq="active" ng-if="'platformRevenue'|withModule">
<a ui-sref="analysis_report.platformsettle"><i class="fa fa-money"></i>清算验证|Settlement Validation</a>
</li>
</ul>
<!--<ul class="nav nav-pills">-->
<!--<li ui-sref-active-eq="active" ng-if="'settleReport'|withModule">-->
<!--<a ui-sref="analysis_report.settle_report"><i class="fa fa-tv"></i>清算月报|Settlement Month Report</a>-->
<!--</li>-->
<!--<li ui-sref-active-eq="active" ng-if="'platformRevenue'|withModule">-->
<!--<a ui-sref="analysis_report.platformrevenue"><i class="fa fa-money"></i>平台收支统计|Platform Revenue</a>-->
<!--</li>-->
<!--<li ui-sref-active-eq="active" ng-if="'wxSettlementsApp'|withModule">-->
<!--<a ui-sref="analysis_report.wx_settlements"><i class="fa fa-money"></i>腾讯打款记录|Tencent Settlement</a>-->
<!--</li>-->
<!--<li ui-sref-active-eq="active" ng-if="'platformRevenue'|withModule">-->
<!--<a ui-sref="analysis_report.platformsettle"><i class="fa fa-money"></i>清算验证|Settlement Validation</a>-->
<!--</li>-->
<!--</ul>-->
</div>
</div>
<div class="row">

@ -6,8 +6,8 @@ define(['angular', 'static/commons/commons', 'static/commons/angular-ueditor', '
var app = angular.module('estimateAnalysisApp', ['ui.bootstrap', 'ui.router', 'frapontillo.bootstrap-switch']);
var colors = ['#00c0ef', '#00a65a', '#ff851b', '#f39c12', '#d81b60', '#605ca8', '#dd4b39', '#008080', '#8B008B', '#D2691E', '#708090'];
app.config(['$stateProvider', function ($stateProvider) {
$stateProvider.state('analysis_transaction.estimateAnalysis', {
url: '/estimate',
$stateProvider.state('estimateAnalysis', {
url: '/analysis/transaction/estimate',
templateUrl: '/static/analysis/templates/settle_estimate_analysis.html',
controller: 'estimateCtrl'
})

@ -7,15 +7,15 @@
text-align: center;
}
</style>
<!--<section class="content-header">
<section class="content-header">
<h1>BD Sale</h1>
<ol class="breadcrumb">
<li>
<i class="fa fa-list-alt"></i> Analysis
<i class="fa fa-list-alt"></i> Performance
</li>
<li class="active">BD Sales</li>
</ol>
</section>-->
</section>
<div class="content">
<div class="row">
<div class="col-sm-12">

@ -7,6 +7,15 @@
text-align: center;
}
</style>
<!--<section class="content-header">
<h1>Channels Analysis</h1>
<ol class="breadcrumb">
<li>
<i class="fa fa-list-alt"></i> Analysis
</li>
<li class="active">Channels</li>
</ol>
</section>-->
<section class="content">
<div class="row">
<div class="col-sm-12">

@ -142,6 +142,13 @@
</div>
</div>
</section>-->
<section class="content-header">
<h1>Risk Records</h1>
<ol class="breadcrumb">
<li><i class="fa fa-tv"></i> Risk Management</li>
<li class="active">Risk Records</li>
</ol>
</section>
<section class="content">
<div class="box">
<div class="box-body">

@ -1,12 +1,10 @@
<!--<section class="content-header">-->
<!--<h1>商户活跃度统计</h1>-->
<!--<ol class="breadcrumb">-->
<!--<li>-->
<!--<i class="fa fa-shopping-cart"></i> Analysis-->
<!--</li>-->
<!--<li class="active">商户活跃度统计</li>-->
<!--</ol>-->
<!--</section>-->
<section class="content-header">
<h1>Risk Monitor</h1>
<ol class="breadcrumb">
<li><i class="fa fa-tv"></i> Risk Management</li>
<li class="active">Risk Monitor</li>
</ol>
</section>
<section class="content">
<div class="panel panel-success">
<div class="panel-body">

@ -12,13 +12,13 @@
<h1>Settlement logs</h1>
<ol class="breadcrumb">
<li>
<i class="fa fa-list-alt"></i> Analysis
<i class="fa fa-list-alt"></i> Settlement
</li>
<li class="active">Settlement logs</li>
</ol>
</section>
<div class="content">
<div class="row margin-bottom">
<!--<div class="row margin-bottom">
<div class="col-sm-12">
<button class="btn btn-danger" type="button" ui-sref=".rate_warnings">
<i class="fa fa-bell"></i> Rate Expire Warnings
@ -27,7 +27,7 @@
<i class="fa fa-cog"></i> Settlement Date Config
</button>
</div>
</div>
</div>-->
<div class="box box-warning">
<div class="box-header">Settlement Dates</div>
<div class="box-body">

@ -1,17 +1,17 @@
<!--<section class="content-header">-->
<!--<h1>商户活跃度统计</h1>-->
<!--<ol class="breadcrumb">-->
<!--<li>-->
<!--<i class="fa fa-shopping-cart"></i> Analysis-->
<!--</li>-->
<!--<li class="active">商户活跃度统计</li>-->
<!--</ol>-->
<!--</section>-->
<section class="content-header">
<h1>Partner Active Rate</h1>
<ol class="breadcrumb">
<li>
<i class="fa fa-sitemap"></i> Partner Manage
</li>
<li class="active">Partner Active Rate</li>
</ol>
</section>
<section class="content">
<div class="panel panel-success">
<div class="panel-body">
<div class="form-inline">
<div class="btn-group" ng-if="!('analysis_monitoring.client_rates'|isState) && (!('100'|withRole) || ('1000000000000'|withRole))">
<div class="btn-group" ng-if="!('client_rates'|isState) && (!('100'|withRole) || ('1000000000000'|withRole))">
<a class="btn btn-default" ui-sref="analysis_monitoring.client_rates"><i class="fa fa-chevron-left"></i></a>
</div>
<div class="input-group" ng-if="('analysis_monitoring.client_rates'|isState) && !currentUser.org_id">

@ -1,12 +1,12 @@
<!--<section class="content-header">
<section class="content-header">
<h1>Customer Transaction Analysis</h1>
<ol class="breadcrumb">
<li>
<i class="fa fa-sitemap"></i> Analysis
<i class="fa fa-sitemap"></i> Risk Management
</li>
<li class="active">Customer</li>
<li class="active">Customer Transaction</li>
</ol>
</section>-->
</section>
<div class="content">
<div class="row">

@ -42,6 +42,15 @@
}
</style>
<section class="content-header">
<h1>Transaction Amount Analysis</h1>
<ol class="breadcrumb">
<li>
<i class="fa fa-list-alt"></i> Partner Manage
</li>
<li class="active">Transaction Amount Analysis</li>
</ol>
</section>
<div class="content">
<div class="row">
<div class="col-sm-12">

@ -7,15 +7,15 @@
text-align: center;
}
</style>
<!--<section class="content-header">-->
<!--<h1>-->
<!--City Partner Sale-->
<!--</h1>-->
<!--<ol class="breadcrumb">-->
<!--<li class="active"><i class="fa fa-dashboard"></i> Analysis</li>-->
<!--<li class="active">City Partner Sale</li>-->
<!--</ol>-->
<!--</section>-->
<section class="content-header">
<h1>
City Partner Sale
</h1>
<ol class="breadcrumb">
<li class="active"><i class="fa fa-dashboard"></i> Analysis</li>
<li class="active">City Partner Sale</li>
</ol>
</section>
<section class="content">
<div class="row">
<div class="col-sm-12">

@ -7,16 +7,58 @@
text-align: center;
}
</style>
<!--<section class="content-header">-->
<!--<h1>Partners Analysis</h1>-->
<!--<ol class="breadcrumb">-->
<!--<li>-->
<!--<i class="fa fa-list-alt"></i> Analysis-->
<!--</li>-->
<!--<li class="active">Partners</li>-->
<!--</ol>-->
<!--</section>-->
<div ui-view>
<section class="content-header">
<h1>Merchant statistics</h1>
<ol class="breadcrumb">
<li>
<i class="fa fa-sitemap"></i> Partner Manage
</li>
<li class="active">Merchant statistics</li>
</ol>
</section>
<div class="content">
<div class="row" ng-if="currentUser.org_id==1 || currentUser.org_id==null">
<div class="col-md-3 col-sm-6 col-xs-12">
<div class="info-box">
<span class="info-box-icon bg-aqua"><i class="ion ion-ios-people"></i></span>
<div class="info-box-content">
<span class="info-box-text">Waiting Compliance</span>
<a role="button"><span class="info-box-number">{{analysis.wp}}</span></a>
<small>其中自助开通:{{analysis.a_wp}}</small>
</div>
</div>
</div>
<div class="col-md-3 col-sm-6 col-xs-12">
<div class="info-box">
<span class="info-box-icon bg-green"><i class="ion ion-ios-people"></i></span>
<div class="info-box-content">
<span class="info-box-text">Pass</span>
<span class="info-box-number">{{analysis.pass}}</span>
<small>其中自助开通:{{analysis.z_pass+analysis.a_pass}}</small>
</div>
</div>
</div>
<div class="col-md-3 col-sm-6 col-xs-12">
<div class="info-box">
<span class="info-box-icon bg-red"><i class="ion ion-ios-people"></i></span>
<div class="info-box-content">
<span class="info-box-text">Temp SubMerchantID</span>
<a role="button"><span class="info-box-number" ng-bind="analysis.temp_submchid||0"></span></a>
</div>
</div>
</div>
<div class="col-md-3 col-sm-6 col-xs-12">
<div class="info-box">
<span class="info-box-icon bg-yellow"><i class="ion ion-ios-people"></i></span>
<div class="info-box-content">
<span class="info-box-text">自助开通</span>
<a role="button"><span class="info-box-number">{{analysis.quick_pass}}</span></a>
<small>waiting compliance:{{analysis.a_wp}}</small>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="box-solid">
@ -209,6 +251,18 @@
ng-class="{nodata:tradePartnersHistory.nodata}"></div>
</div>
</div>
<div class="box box-warning">
<div class="box-header with-border">商户分布
<span style="float: right;font-size: 14px;">商户数量:{{locations.length}}</span>
</div>
<div class="box-body">
<div class="embed-responsive" style="height: 300px;">
<iframe class="embed-responsive-item" id="merchant_maps" name="merchant_maps" src="{{mapFrame}}"></iframe>
</div>
</div>
</div>
</div>
</div>
</div>
</div>

@ -1,12 +1,12 @@
<!--<section class="content-header">-->
<!--<h1>商户活跃度统计</h1>-->
<!--<ol class="breadcrumb">-->
<!--<li>-->
<!--<i class="fa fa-shopping-cart"></i> Analysis-->
<!--</li>-->
<!--<li class="active">商户活跃度统计</li>-->
<!--</ol>-->
<!--</section>-->
<section class="content-header">
<h1>Pre Refund</h1>
<ol class="breadcrumb">
<li>
<i class="fa fa-list-alt"></i> Transaction
</li>
<li class="active">Pre Refund</li>
</ol>
</section>
<section class="content">
<div class="row">
<div class="box">

@ -7,6 +7,15 @@
text-align: center;
}
</style>
<!--<section class="content-header">
<h1>Refund Analysis</h1>
<ol class="breadcrumb">
<li>
<i class="fa fa-list-alt"></i> Analysis
</li>
<li class="active">Refund</li>
</ol>
</section>-->
<div class="content">
<div class="content">
<div class="box-solid">

@ -1,4 +1,12 @@
<div class="modal-header"><h4>Clearing Plans</h4></div>
<section class="content-header">
<h1>Clearing Plans</h1>
<ol class="breadcrumb">
<li><i class="fa fa-tv"></i> Settlement</li>
<li class="active">Clearing Plans</li>
</ol>
</section>
<section class="content">
<div class="panel panel-success">
<div class="modal-body">
<div class="row">
<div class="col-xs-12">
@ -13,5 +21,7 @@
</div>
<div class="modal-footer">
<button class="btn btn-success" type="button" ng-click="submitMonthPlan()">Submit Month Plan</button>
<button class="btn btn-danger" type="button" ng-click="$dismiss()">Close</button>
<!--<button class="btn btn-danger" type="button" ng-click="$dismiss()">Close</button>-->
</div>
</div>
</section>

@ -2,7 +2,7 @@
<h4>周末费率减半活动</h4>
<ol class="breadcrumb">
<li>
<i class="fa fa-users"></i> Payment
<i class="fa fa-users"></i> Promotion
</li>
<li class="active">
City Partners

@ -7,20 +7,30 @@
text-align: center;
}
</style>
<section class="content-header">
<h1>Settlement Estimate</h1>
<ol class="breadcrumb">
<li>
<i class="fa fa-list-alt"></i> Settlement
</li>
<li class="active">Settlement Estimate</li>
</ol>
</section>
<div class="content">
<div class="content">
<div class="box-solid">
<!--<div class="content">-->
<div class="row">
<div class="col-sm-12">
<div class="col-sm-12">
<!--<div class="col-sm-12">-->
<!--<div class="box-header">Settlement Estimate</div>-->
<!--<h5></h5>-->
<loadingbar ng-if="future_loading"></loadingbar>
<div class="box-solid">
<div class="row">
<div class="col-md-3 col-sm-6 col-xs-12" ng-repeat="fut in future track by $index">
<div class="info-box" ng-if="fut.estimate_date">
<div>
<div class="info-box-icon bg-aqua" style="height: 100px" ng-bind="fut.estimate_date.substr(8,10)">
<div class="info-box-icon bg-aqua" style="height: 100px"
ng-bind="fut.estimate_date.substr(8,10)">
</div>
<div class="info-box-content">
<div>
@ -43,17 +53,51 @@
</div>
</div>
</div>
<div class="box-header" style="border-top: solid #f06010 1px;" ng-if="fut.settlementFee_1307485301||fut.settlementFee_1431999902||fut.settlementFee_1487387142||fut.settlementFee_0||fut.aliSettleFee_0">
<div class="box-header" style="border-top: solid #f06010 1px;"
ng-if="fut.settlementFee_1307485301||fut.settlementFee_1431999902||fut.settlementFee_1487387142||fut.settlementFee_0||fut.aliSettleFee_0">
<span class="text-bold">到账金额详情:</span>
</div>
<div class="box-body" ng-if="fut.settlementFee_1307485301||fut.settlementFee_1431999902||fut.settlementFee_1487387142||fut.settlementFee_0||fut.aliSettleFee_0">
<p class="text-bold col-sm-12" align="left" ng-if="fut.settlementFee_1307485301"> <img src="/static/images/wechatpay_sign.png" uib-tooltip="Wechat Merchant ID: 1307485301" />(1307485301)到账金额:<a class="text-green" ng-bind="fut.settlementFee_1307485301|currency:'AUD'"></a></p>
<p class="text-bold col-sm-12" align="left" ng-if="fut.settlementFee_1431999902"> <img src="/static/images/wechatpay_sign.png" uib-tooltip="Wechat Merchant ID: 1431999902"/>(1431999902)到账金额:<a class="text-green" ng-bind="fut.settlementFee_1431999902|currency:'AUD'"></a></p>
<p class="text-bold col-sm-12" align="left" ng-if="fut.settlementFee_1487387142"> <img src="/static/images/wechatpay_sign.png" uib-tooltip="Wechat Merchant ID: 1487387142"/>(1487387142)到账金额:<a class="text-green" ng-bind="fut.settlementFee_1487387142|currency:'AUD'"></a></p>
<p class="text-bold col-sm-12" align="left" ng-if="fut.aliSettleFee_All"> <img src="/static/images/alipay_sign.png" uib-tooltip="AliPay" alt="Alipay"/> 到账金额:<a class="text-green" ng-bind="fut.aliSettleFee_All|currency:'AUD'"></a></p>
<p class="text-bold col-sm-12" align="left" ng-if="fut.aliOnlineSettleFee_All"> <img src="/static/images/alipay_sign.png" uib-tooltip="AliPayOnline" alt="AliPayOnline"/> 到账金额(AlipayOnline):<a class="text-green" ng-bind="fut.aliOnlineSettleFee_All|currency:'AUD'"></a></p>
<p class="text-bold col-sm-12" align="left" ng-if="fut.hfSettleFee_All"> <img src="/static/images/hf_sign.png" uib-tooltip="Hf" alt="Hf"/> 到账金额:<a class="text-green" ng-bind="fut.hfSettleFee_All|currency:'AUD'"></a></p>
<p class="text-bold col-sm-12" align="left" ng-if="fut.platformGetSettleFee" style="color: #f06010"> <img src="/static/images/r_logo.svg" style="width: 20px;height: 20px;" uib-tooltip="RoyalPay" alt="RoyalPay"/> 总到账金额:<a class="text-green" ng-bind="fut.platformGetSettleFee|currency:'AUD'"></a></p>
<div class="box-body"
ng-if="fut.settlementFee_1307485301||fut.settlementFee_1431999902||fut.settlementFee_1487387142||fut.settlementFee_0||fut.aliSettleFee_0">
<p class="text-bold col-sm-12" align="left"
ng-if="fut.settlementFee_1307485301"><img
src="/static/images/wechatpay_sign.png"
uib-tooltip="Wechat Merchant ID: 1307485301"/>(1307485301)到账金额:<a
class="text-green"
ng-bind="fut.settlementFee_1307485301|currency:'AUD'"></a></p>
<p class="text-bold col-sm-12" align="left"
ng-if="fut.settlementFee_1431999902"><img
src="/static/images/wechatpay_sign.png"
uib-tooltip="Wechat Merchant ID: 1431999902"/>(1431999902)到账金额:<a
class="text-green"
ng-bind="fut.settlementFee_1431999902|currency:'AUD'"></a></p>
<p class="text-bold col-sm-12" align="left"
ng-if="fut.settlementFee_1487387142"><img
src="/static/images/wechatpay_sign.png"
uib-tooltip="Wechat Merchant ID: 1487387142"/>(1487387142)到账金额:<a
class="text-green"
ng-bind="fut.settlementFee_1487387142|currency:'AUD'"></a></p>
<p class="text-bold col-sm-12" align="left" ng-if="fut.aliSettleFee_All">
<img src="/static/images/alipay_sign.png" uib-tooltip="AliPay"
alt="Alipay"/> 到账金额:<a class="text-green"
ng-bind="fut.aliSettleFee_All|currency:'AUD'"></a>
</p>
<p class="text-bold col-sm-12" align="left"
ng-if="fut.aliOnlineSettleFee_All"><img
src="/static/images/alipay_sign.png" uib-tooltip="AliPayOnline"
alt="AliPayOnline"/> 到账金额(AlipayOnline):<a class="text-green"
ng-bind="fut.aliOnlineSettleFee_All|currency:'AUD'"></a>
</p>
<p class="text-bold col-sm-12" align="left" ng-if="fut.hfSettleFee_All"><img
src="/static/images/hf_sign.png" uib-tooltip="Hf" alt="Hf"/> 到账金额:<a
class="text-green" ng-bind="fut.hfSettleFee_All|currency:'AUD'"></a>
</p>
<p class="text-bold col-sm-12" align="left" ng-if="fut.platformGetSettleFee"
style="color: #f06010"><img src="/static/images/r_logo.svg"
style="width: 20px;height: 20px;"
uib-tooltip="RoyalPay" alt="RoyalPay"/>
总到账金额:<a class="text-green"
ng-bind="fut.platformGetSettleFee|currency:'AUD'"></a></p>
</div>
<!-- /.box-body -->
</div>
@ -61,8 +105,11 @@
</div>
</div>
</div>
</div>
<div ng-if="future.length > 0">
</br>
</br>
</div>
<div class="box-solid">
<div class="box box-warning">
<div class="box-header">
@ -77,12 +124,14 @@
<input class="form-control" id="date-from-input"
ng-model="params.start_date"
uib-datepicker-popup size="10" placeholder="From"
is-open="dateBegin.open" ng-click="dateBegin.open=true"
is-open="dateBegin.open"
ng-click="dateBegin.open=true"
datepicker-options="{maxDate:params.end_date||today}">
</div>
~
<div style="display: inline-block">
<input class="form-control" id="date-to-input" ng-model="params.end_date"
<input class="form-control" id="date-to-input"
ng-model="params.end_date"
uib-datepicker-popup size="10" placeholder="To"
is-open="dateTo.open" ng-click="dateTo.open=true"
datepicker-options="{minDate:params.start_date,maxDate:today}">
@ -137,20 +186,22 @@
<div royal-calendar month-change="loadMonthLog($month)">
<div ng-if="logArray[(day|date:'yyyy-MM-dd')]">
<span class="text-bold">总清算额:</span>
<span style="color: #f60;" ng-bind="logArray[(day|date:'yyyy-MM-dd')].total_amount|currency:'$'"></span>
<span style="color: #f60;"
ng-bind="logArray[(day|date:'yyyy-MM-dd')].total_amount|currency:'$'"></span>
<div>
<span class="text-bold">T+1 :</span>
<span style="color: #f60;" ng-bind="logArray[(day|date:'yyyy-MM-dd')].one_clean_amount|currency:'$'"></span>
<span style="color: #f60;"
ng-bind="logArray[(day|date:'yyyy-MM-dd')].one_clean_amount|currency:'$'"></span>
</div>
<div>
<span class="text-bold">T+2 :</span>
<span style="color: #f60;" ng-bind="logArray[(day|date:'yyyy-MM-dd')].two_clean_amount|currency:'$'"></span>
<span style="color: #f60;"
ng-bind="logArray[(day|date:'yyyy-MM-dd')].two_clean_amount|currency:'$'"></span>
</div>
<div>
<span class="text-bold">T+3 :</span>
<span style="color: #f60;" ng-bind="logArray[(day|date:'yyyy-MM-dd')].three_clean_amount|currency:'$'"></span>
</div>
</div>
<span style="color: #f60;"
ng-bind="logArray[(day|date:'yyyy-MM-dd')].three_clean_amount|currency:'$'"></span>
</div>
</div>
</div>
@ -160,3 +211,6 @@
</div>
</div>
</div>
<!--</div>-->
<!--</div>-->
<!--</div>-->

@ -1,4 +1,12 @@
<section class="content-header">
<h1>Monthly report of liquidation</h1>
<ol class="breadcrumb">
<li>
<i class="fa fa-sitemap"></i> Settlement
</li>
<li class="active">Monthly report of liquidation</li>
</ol>
</section>
<section class="content">
<div class="box box-default">
<div class="box-header">

@ -1,4 +1,12 @@
<div class="modal-header">Rate Expire Warnings</div>
<section class="content-header">
<h1>Rate Expire Warnings</h1>
<ol class="breadcrumb">
<li>
<i class="fa fa-sitemap"></i> Compliance Management
</li>
<li class="active">Rate Expire Warnings</li>
</ol>
</section>
<div class="modal-body">
<div class="box box-danger">
<div class="box-header">费率已过期商户({{warning.no_rate.length}}家)</div>
@ -71,6 +79,3 @@
</div>
</div>
</div>
<div class="modal-footer">
<button class="btn btn-danger" ng-click="$dismiss()">Close</button>
</div>

@ -7,15 +7,15 @@
text-align: center;
}
</style>
<!--<section class="content-header">-->
<!--<h1>Transaction Data</h1>-->
<!--<ol class="breadcrumb">-->
<!--<li>-->
<!--<i class="fa fa-list-alt"></i> Analysis-->
<!--</li>-->
<!--<li class="active">Transaction Data</li>-->
<!--</ol>-->
<!--</section>-->
<!--<section class="content-header">
<h1>Transaction Data</h1>
<ol class="breadcrumb">
<li>
<i class="fa fa-list-alt"></i> Analysis
</li>
<li class="active">Transaction Data</li>
</ol>
</section>-->
<div class="content">
<div class="row">
<div style="text-align: right" class="col-sm-12">

@ -7,6 +7,15 @@
text-align: center;
}
</style>
<!--<section class="content-header">
<h1>Transaction Data</h1>
<ol class="breadcrumb">
<li>
<i class="fa fa-list-alt"></i> Analysis
</li>
<li class="active">Transaction Data</li>
</ol>
</section>-->
<div class="content">
<div class="row">
<div style="text-align: right" class="col-sm-12">

@ -1,3 +1,12 @@
<!--<section class="content-header">
<h1>Transaction Amount Analysis</h1>
<ol class="breadcrumb">
<li>
<i class="fa fa-list-alt"></i> Analysis
</li>
<li class="active">Transaction Amount</li>
</ol>
</section>-->
<div class="content">
<div class="row">
<div class="col-sm-12">

@ -1,29 +1,30 @@
<div class="content">
<div class="row">
<div class="col-sm-12 analysis-nav">
<ul class="nav nav-pills">
<li ui-sref-active-eq="active" ng-if="'transAnalysis'|withModule">
<a ui-sref="analysis_transaction.transanalysis"><i class="fa fa-area-chart"></i>交易数据|Transaction Data</a>
</li>
<li ui-sref-active-eq="active" ng-if="'partner_analysis'|withModule">
<a ui-sref="analysis_transaction.partners_analysis"><i class="fa fa-line-chart"></i></i>商户数|Merchants Data</a>
</li>
<!--<li ui-sref-active-eq="active" ng-if="'partner_analysis'|withModule">-->
<!--<a ui-sref="analysis_transaction.partners_analysis"><i class="fa fa-line-chart"></i></i>商户数|Merchants Data</a>-->
<!--</li>-->
<li ui-sref-active="active" ng-if="'dashboard'|withModule">
<a ui-sref="analysis_transaction.gateway"><i class="fa fa-area-chart"></i>Gateway统计|Gateway Analysis</a>
</li>
<li ui-sref-active="active" ng-if="'customer_analysis'|withModule">
<a ui-sref="analysis_transaction.customers_analysis_manage"><i class="fa fa-bar-chart"></i>消费者统计|Customer Analysis</a>
</li>
<li ui-sref-active="active" ng-if="'customerRankingAnalysisApp'|withModule">
<a ui-sref="analysis_transaction.customerRankingAnalysis"><i class="fa fa-male"></i>消费排名|Customers Ranking</a>
</li>
<!--<li ui-sref-active="active" ng-if="'customerRankingAnalysisApp'|withModule">-->
<!--<a ui-sref="analysis_transaction.customerRankingAnalysis"><i class="fa fa-male"></i>消费排名|Customers Ranking</a>-->
<!--</li>-->
<li ui-sref-active="active" ng-if="'refundAnalysisApp'|withModule">
<a ui-sref="analysis_transaction.refundAnalysis"><i class="fa fa-money"></i>退款统计|Refund Analysis</a>
</li>
<li ui-sref-active="active" ng-if="('estimateAnalysisApp'|withModule)&&(currentUser.org_id==null)">
<a ui-sref="analysis_transaction.estimateAnalysis"><i class="fa fa-money"></i>清算预估|Settlement Estimate</a>
</li>
<!--<li ui-sref-active="active" ng-if="('estimateAnalysisApp'|withModule)&&(currentUser.org_id==null)">-->
<!--<a ui-sref="analysis_transaction.estimateAnalysis"><i class="fa fa-money"></i>清算预估|Settlement Estimate</a>-->
<!--</li>-->
<li ui-sref-active="active" ng-if="'channels_Analysis'|withModule">
<a ui-sref="analysis_transaction.channelsAnalysis"><i class="fa fa-area-chart"></i>支付通道|Channels Analysis</a>
</li>
@ -32,11 +33,12 @@
<a ui-sref="analysis_transaction.amountlsAnalysis"><i class="fa fa-area-chart"></i>交易金额分析|Transaction Amount Analysis</a>
</li>
<li ui-sref-active="active" ng-if="('merchantAmount'|withModule) &&('1'|withRole) ">
<a ui-sref="analysis_transaction.merchantAmountAnalysis"><i class="fa fa-area-chart"></i>商户交易额</a>
</li>
<!--<li ui-sref-active="active" ng-if="('merchantAmount'|withModule) &&('1'|withRole) ">-->
<!--<a ui-sref="analysis_transaction.merchantAmountAnalysis"><i class="fa fa-area-chart"></i>商户交易额</a>-->
<!--</li>-->
</ul>
</div>
</div>
<div class="row">
<div class="col-sm-12">

@ -76,8 +76,8 @@ require(['angular', 'jquery'], function (angular, $) {
});
function boot(user) {
var paths = ['static/boot/managerMainApp', 'static/analysis/org/analysis-org', 'static/analysis/report/analysis-report', 'static/analysis/monitoring/analysis-monitoring', 'static/analysis/bd/analysis-bd'];
var moduleNames = ['managerMainApp', 'analysisTransaction', 'analysisBD', 'analysisOrg', 'analysisMonitoring', 'analysisReport'];
var paths = ['static/boot/managerMainApp', 'static/menu/managerMenu','static/analysis/org/analysis-org', 'static/analysis/report/analysis-report', 'static/analysis/monitoring/analysis-monitoring', 'static/analysis/bd/analysis-bd','static/analysis/trans-analysis'];
var moduleNames = ['managerMainApp', 'listMenuApp','analysisTransaction', 'analysisBD', 'analysisOrg', 'analysisMonitoring', 'analysisReport'];
window.currentUser = user;
angular.forEach(user.modules, function (mod) {
paths.push(mod.js_path);

@ -0,0 +1,90 @@
/**
* Created by yixian on 2016-06-29.
*/
require.config({
baseUrl: './',
waitSeconds: 30,
urlArgs: 'bust=' + new Date().getTime(),
paths: {
jquery: 'static/lib/jquery/jquery-2.1.4.min',
uiBootstrap: 'static/lib/angular-plugins/ui-bootstrap-tpls-1.2.4.min',
uiRouter: 'static/lib/angular-plugins/angular-ui-router.min',
angularChecklist: 'static/lib/angular-plugins/checklist-model',
angular: 'static/lib/angularjs/angular.min',
angularAnimate: 'static/lib/angularjs/angular-animate.min',
angularMessages: 'static/lib/angularjs/angular-messages.min',
angularSanitize: 'static/lib/angularjs/angular-sanitize.min',
angularLocale: 'static/lib/angularjs/angular-locale_zh-cn',
bootSwitch: 'static/lib/bootswitch/bootstrap-switch.min',
ngBootSwitch: 'static/lib/angular-plugins/angular-bootstrap-switch.min',
ngFileUpload: 'static/lib/ngfileupload/ng-file-upload.min',
holder: 'static/lib/holder/holder.min',
datetimePicker: 'static/lib/datetime-picker/datetime-picker.min',
colorpicker: 'static/lib/colorpicker/js/bootstrap-colorpicker-module.min',
qrcode: 'static/lib/jquery/jquery.qrcode.min',
sockjs: 'static/lib/websocket/sockjs.min',
stomp: 'static/lib/websocket/stomp.min',
uiSelect: 'static/lib/angular-plugins/select.min',
dragdrop: 'static/lib/angular-plugins/angular-drag-and-drop-lists.min',
echarts: 'static/lib/echarts/echarts.min',
ueditor: 'static/lib/ueditor/ueditor.all.min',
ueditorConfig: 'static/lib/ueditor/ueditor.config',
angularEcharts: 'static/commons/angular-echarts',
decimal: 'static/lib/decimal/decimal.min',
jstz: 'static/lib/timezone/jstz-1.0.4.min'
},
shim: {
'angular': {deps: ['jquery', 'decimal'], exports: 'angular'},
'angularLocale': ['angular'],
'uiBootstrap': ['angular', 'angularLocale'],
'uiRouter': ['angular'],
'uiSelect': ['angular', 'css!static/lib/angular-plugins/select.min'],
'angularAnimate': ['angular'],
'angularMessages': ['angular'],
'angularSanitize': ['angular'],
'ngFileUpload': ['angular'],
'angularChecklist': ['angular'],
'datetimePicker': ['angular'],
'ngBootSwitch': ['bootSwitch', 'angular'],
'bootSwitch': ['jquery', 'css!static/lib/bootswitch/bootstrap-switch.min'],
'qrcode': ['jquery'],
'colorpicker': ['angular', 'css!static/lib/colorpicker/css/colorpicker.min'],
'holder': ['jquery'],
'dragdrop': ['angular'],
'ueditor': ['ueditorConfig']
},
map: {
'*': {
'css': 'static/lib/css.min'
}
}
});
require(['angular', 'jquery'], function (angular, $) {
$.ajax({
url: '/global/userstatus/current_manager',
method: 'get',
dataType: 'json',
success: function (user) {
boot(user);
},
error: function (jqXHR) {
if (jqXHR.status == 403) {
location.href = 'm_login.html?f=' + encodeURIComponent(location.href);
}
}
});
function boot(user) {
var paths = ['static/boot/managerMainAppv2', 'static/menu/managerMenu','static/analysis/org/analysis-org', 'static/analysis/report/analysis-report', 'static/analysis/monitoring/analysis-monitoring', 'static/analysis/bd/analysis-bd','static/analysis/trans-analysis'];
var moduleNames = ['managerMainAppv2', 'listMenuApp','analysisTransaction', 'analysisBD', 'analysisOrg', 'analysisMonitoring', 'analysisReport'];
window.currentUser = user;
angular.forEach(user.modules, function (mod) {
paths.push(mod.js_path);
moduleNames.push(mod.js_module);
});
require(paths, function () {
angular.bootstrap(document.body, moduleNames)
})
}
});

@ -15,6 +15,7 @@ define(['angular', 'angularSanitize', 'angularAnimate', 'angularMessages', 'uiRo
}]);
app.controller('managerIndexCtrl', ['$scope', '$rootScope', '$http', '$log', '$timeout', '$interval', '$uibModal', '$filter', 'myLoginLogView', 'commonDialog',
function ($scope, $rootScope, $http, $log, $timeout, $interval, $uibModal, $filter, myLoginLogView, commonDialog) {
$http.get('/sysconfig/base').then(function (resp) {
$rootScope.sysParams = resp.data;
});
@ -66,6 +67,25 @@ define(['angular', 'angularSanitize', 'angularAnimate', 'angularMessages', 'uiRo
};
$scope.getManagerTodoNotices();
$scope.editRateConfig = function () {
$uibModal.open({
templateUrl: '/static/config/bdprize/templates/rate_config_dialog.html',
controller: 'bdRateConfigCtrl',
resolve: {
rates: function () {
return angular.copy($scope.bd_rate_configs);
}
}
}).result.then(function () {
$scope.loadRateConfigs();
})
};
$scope.editBDLevels = function () {
$uibModal.open({
templateUrl: '/static/config/bdprize/templates/bd_level_config_dialog.html',
controller: 'bdLevelConfigCtrl'
})
};
var connected;
$interval($scope.loadCurrentUser, 300000);
@ -182,6 +202,50 @@ define(['angular', 'angularSanitize', 'angularAnimate', 'angularMessages', 'uiRo
});
}
var getRoleMenulist = function (role) {
var roleMenu = [];
if ((role & 1) >0){
roleMenu.push({'value':'administrator','module':'系统配置'});
}
if ((role & 2) >0){
roleMenu.push({'value':'compliance','module':'合规中心'});
}
if ((role & 4) >0){
roleMenu.push({'value':'bduser','module':"销售中心"});
}
if ((role & 8) >0){
roleMenu.push({'value':'accountant','module':"财务中心"});
}
if ((role & 64) >0){
roleMenu.push({'value':'director','module':"领导决策"});
}
if ((role & 128) >0){
roleMenu.push({'value':'sitemanager','module':"营销中心"});
}
if ((role & 256) >0){
roleMenu.push({'value':'developer','module':"开发中心"});
}
if ((role & 1024) >0){
roleMenu.push({'value':'riskmanager','module':"风控中心"});
}
if ((role & 2048) >0){
roleMenu.push({'value':'guest','module':"guest"});
}
if ((role & 8192) >0){
roleMenu.push({'value':'salesmanager','module':"销管中心"});
}
return roleMenu;
};
$scope.role = getRoleMenulist(window.currentUser.role);
sessionStorage.setItem('role',$scope.role[0].value);
$scope.roleNow = sessionStorage.getItem('role');
$scope.changeRole = function (index) {
sessionStorage.setItem('role',index);
};
}]);
app.controller('changePwdCtrl', ['$scope', '$http', function ($scope, $http) {
$scope.formData = {};
@ -385,5 +449,67 @@ define(['angular', 'angularSanitize', 'angularAnimate', 'angularMessages', 'uiRo
altInputFormats: [],
ngModelOptions: {}
});
app.controller('bdRateConfigCtrl', ['$scope', '$http', 'rates', function ($scope, $http, rates) {
$scope.bdLevels = [{value: 1, label: 'Junior'}, {value: 2, label: 'Intermediate'}, {value: 3, label: 'Senior'}];
$scope.months = [{value: 1, label: '1-3 Months'}, {value: 2, label: '4-6 Months'}, {
value: 3,
label: '>=7 Months'
}];
$scope.kpiRanges = [{value: 1, label: '0-50%'}, {value: 2, label: '50%~80%'}, {value: 3, label: '80%~100%'},
{value: 4, label: '100%-120%'}, {value: 5, label: '>=120%'}];
$scope.clientRate = [{value: 0.6, label: '0.6-0.79'}, {value: 0.8, label: '0.8-2.0'}];
$scope.filter = {bd_level: 1,rate_from:0.6};
$scope.rates = rates;
$scope.submitRates = function () {
var validation = null;
$scope.errmsg = null;
angular.forEach($scope.rates, function (rate) {
if (isNaN(rate.prize_rate)) {
validation = {months: rate.time_range, bd_level: rate.bd_level};
$scope.errmsg = 'Rate Value is NaN';
}
if (rate.prize_rate > 1) {
validation = {months: rate.time_range, bd_level: rate.bd_level};
$scope.errmsg = 'Rate value shall no more than 1%';
}
if (rate.prize_rate < 0) {
validation = {months: rate.time_range, bd_level: rate.bd_level};
$scope.errmsg = 'Rate value shall be a positive value';
}
});
if (!validation) {
$http.put('/sys/bd_prize/config/rates', $scope.rates).then(function () {
$scope.$close();
}, function (resp) {
$scope.errmsg = resp.data.message;
})
}
}
}]);
app.controller('bdLevelConfigCtrl', ['$scope', '$http', function ($scope, $http) {
$scope.getBDGroups = function () {
$http.get('/sys/manager_accounts/roles/bd_leader').then(function (resp) {
$scope.bdgroups = resp.data;
$scope.getBDLevels();
})
};
$scope.getBDGroups();
$scope.getBDLevels = function () {
$http.get('/sys/bd_prize/config/bd_levels').then(function (resp) {
$scope.bds = resp.data;
})
};
$scope.bdLevels = [{value: 1, label: 'Junior'}, {value: 2, label: 'Intermediate'}, {value: 3, label: 'Senior'}];
$scope.updateBDLevel = function (bdInfo) {
$http.put('/sys/bd_prize/config/bd_levels/' + bdInfo.manager_id, bdInfo).then(function () {
$scope.getBDGroups();
}, function (resp) {
$scope.errmsg = resp.data.message;
})
};
}]);
return app;
});

@ -0,0 +1,500 @@
/**
* Created by yixian on 2016-06-29.
*/
define(['angular', 'angularSanitize', 'angularAnimate', 'angularMessages', 'uiRouter', 'uiBootstrap', 'ngFileUpload', 'sockjs', 'stomp'], function (angular) {
'use strict';
var app = angular.module('managerMainAppv2', ['ngSanitize', 'ngAnimate', 'ngMessages', 'ui.router', 'ui.bootstrap', 'ngFileUpload']);
app.config(['$urlRouterProvider', '$httpProvider', function ($urlRouterProvider, $httpProvider) {
var getRoleMenulist = function () {
var roleMenu = [];
if ((window.currentUser.role.toString(2) & 1) >0){
roleMenu.push("administrator");
}
if ((window.currentUser.role.toString(2) & 10) >0){
roleMenu.push("compliance");
}
if ((window.currentUser.role.toString(2) & 100) >0){
roleMenu.push("bduser");
}
if ((window.currentUser.role.toString(2) & 1000) >0){
roleMenu.push("accountant");
}
if ((window.currentUser.role.toString(2) & 1000000) >0){
roleMenu.push("director");
}
if ((window.currentUser.role.toString(2) & 10000000) >0){
roleMenu.push("sitemanager");
}
if ((window.currentUser.role.toString(2) & 100000000) >0){
roleMenu.push("developer");
}
if ((window.currentUser.role.toString(2) & 1000000000) >0){
roleMenu.push("riskmanager");
}
if ((window.currentUser.role.toString(2) & 100000000000) >0){
roleMenu.push("guest");
}
if ((window.currentUser.role.toString(2) & 10000000000000) >0){
roleMenu.push("salesmanager");
}
return roleMenu;
};
if (getRoleMenulist().length>1) {
sessionStorage.setItem('roleNum','N');
$urlRouterProvider.otherwise(((window.currentUser.role & parseInt('100000', 2)) > 0) ? '/managers' : '/home');
}else {
sessionStorage.setItem('roleNum','1');
sessionStorage.setItem('role',getRoleMenulist().valueOf());
$urlRouterProvider.otherwise(((window.currentUser.role & parseInt('100000', 2)) > 0) ? '/managers' : '/menu?role=' + getRoleMenulist().valueOf());
}
if (!$httpProvider.defaults.headers.get) {
$httpProvider.defaults.headers.get = {};
}
$httpProvider.defaults.headers.get['If-Modified-Since'] = 'Mon, 26 Jul 1997 05:00:00 GMT';
$httpProvider.defaults.headers.get['Cache-Control'] = 'no-cache';
$httpProvider.defaults.headers.get['Pragma'] = 'no-cache';
}]);
app.controller('managerIndexCtrl', ['$scope', '$rootScope', '$http', '$log', '$timeout', '$interval', '$uibModal', '$filter', 'myLoginLogView', 'commonDialog',
function ($scope, $rootScope, $http, $log, $timeout, $interval, $uibModal, $filter, myLoginLogView, commonDialog) {
$scope.roleNow = getroleNow();
if (sessionStorage.getItem('roleNum') =='N'){
if (window.location.hash == "" || window.location.hash == "#/home") {
$scope.headerDisplay = false;
$scope.copyright = false;
}else {
$scope.headerDisplay = true;
$scope.copyright = true;
}
}else {
$scope.headerDisplay = true;
$scope.copyright = true;
}
$scope.headerCopyDisplay = function () {
$scope.headerDisplay = false;
$scope.copyright = false;
};
$scope.headerShow = function (role) {
$scope.headerDisplay = true;
$scope.copyright = true;
sessionStorage.setItem('role',role);
$scope.roleNow = getroleNow();
};
function getroleNow() {
var roleNow = "";
switch (sessionStorage.getItem('role')) {
case "administrator":
roleNow = "系统配置";
break;
case "bduser":
roleNow = "销售中心";
break;
case "salesmanager":
roleNow = "销管中心";
break;
case "accountant":
roleNow = "财务中心";
break;
case "sitemanager":
roleNow = "营销中心";
break;
case "director":
roleNow = "领导决策";
break;
case "developer":
roleNow = "开发中心";
break;
case "compliance":
roleNow = "合规中心";
break;
case "riskmanager":
roleNow = "风控中心";
break;
default:
break;
}
return roleNow;
}
$http.get('/sysconfig/base').then(function (resp) {
$rootScope.sysParams = resp.data;
});
var stompClient = null;
$scope.loadCurrentUser = function () {
$http.get('/global/userstatus/current_manager').then(function (resp) {
$rootScope.currentUser = resp.data;
// connectWebSocket();
$scope.notifyCounts = 0;
if ($rootScope.currentUser.role & parseInt('110', 2)) {
$scope.loadPartnerApplyNotice();
if (window.currentUser.role & 10000000000) {
$scope.loadRefundNotice();
}
}
// if ($rootScope.currentUser.role ==2 || $rootScope.currentUser.role == 4){
// $scope.loadPartnerApplyNotice();
// }
if ($rootScope.currentUser.wx_openid == null) {
if ($filter('withRole')('100')) {
$scope.managerBindWechat('static');
} else {
$scope.managerBindWechat(true);
}
}
}, function (resp) {
if (resp.status == 403) {
location.href = 'm_login.html?f=' + encodeURIComponent(location.href);
}
})
};
$scope.loadCurrentUser();
$scope.getManagerTodoNotices = function () {
$http.get('/global/userstatus/manager_todo_notices').then(function (resp) {
if (resp.data.length) {
$uibModal.open({
controller: 'managerTodoNoticeCtrl',
templateUrl: '/static/boot/templates/manager_todo.html',
resolve: {
notices: function () {
return resp.data;
}
}
})
}
})
};
// $scope.getManagerTodoNotices();
var connected;
$interval($scope.loadCurrentUser, 300000);
function connectWebSocket() {
if (connected && stompClient) {
return;
}
var sock = new SockJS('/register');
stompClient = window.Stomp.over(sock);
stompClient.connect({}, function (frame) {
$log.debug('websocket connected:' + frame);
connected = true;
stompClient.subscribe('/app/common/page_events/' + $rootScope.currentUser.manager_id, function (msg) {
$log.debug('new event notice:' + msg.body);
var msgBody = JSON.parse(msg.body);
$scope.$broadcast(msgBody.event, msgBody.data);
});
}, function () {
$log.error('连接失败3秒后尝试重连');
connected = false;
$timeout(connectWebSocket, 3000);
})
};
connectWebSocket();
$scope.$on('manager_bind_success', function (evt, msg) {
if (msg.key == $scope.checkCode) {
$scope.checkModal != null && $scope.checkModal.close();
}
});
$scope.showMyLoginLogs = function () {
myLoginLogView.show();
};
$scope.toggleHideSideBar = function () {
$scope.hideSideBar = !$scope.hideSideBar;
};
$scope.showQrCode = function (data, backdrop) {
return $uibModal.open({
template: '<div style="width: 100%;padding: 10px;">请使用微信扫描<br><div style="width:100%" qrcode="url"></div><p class="text-center"><img class="img-circle img-bordered" style="width: 45px" ng-show="{{wx_headimg}}" ng-src="{{wx_headimg}}">{{wx_nickname}}</p></div>',
controller: ['$scope', 'data', function ($scope, data) {
$scope.url = data.url;
$scope.wx_headimg = data.wx_headimg;
$scope.wx_nickname = data.wx_nickname;
}],
size: 'sm',
resolve: {
data: function () {
return data;
}
},
keyboard: false,
backdrop: backdrop
})
};
$scope.logout = function () {
$http.put('/global/userstatus/manager_signout').then(function () {
location.href = '/m_login.html';
});
};
$scope.changePwd = function () {
$uibModal.open({
templateUrl: '/static/boot/templates/change_pwd_dialog.html',
controller: 'changePwdCtrl',
size: 'sm'
}).result.then(function () {
commonDialog.alert({title: '操作成功', content: '您成功修改了密码', type: 'success'})
})
};
$scope.currentUserHasRole = function (role) {
return ($scope.currentUser.role & role) > 0
};
$scope.loadPartnerApplyNotice = function () {
var params = {};
$http.get('/partners/application/notice', {params: params}).then(function (resp) {
$scope.partner_application_new = resp.data.counts;
if ($scope.partner_application_new) {
$scope.notifyCounts = $scope.notifyCounts + 1;
}
})
};
$scope.loadRefundNotice = function () {
$http.get('/api/payment/v1.0/refund/orders/notifyReview').then(function (resp) {
$scope.refundReviews = resp.data;
if ($scope.refundReviews) {
$scope.notifyCounts = $scope.notifyCounts + 1;
}
});
}
$scope.openNotice = false;
$scope.toggleOpenNotice = function () {
var openNotice = angular.copy($scope.openNotice);
$scope.openNotice = !openNotice;
};
$scope.managerBindWechat = function (backdrop) {
$http.post('/system/manager_wechat_binds').then(function (resp) {
$scope.checkCode = resp.data.bind_id;
if (resp.data.wx_nickname) {
backdrop = true;
}
$scope.checkModal = $scope.showQrCode(resp.data, backdrop);
// $scope.showQrCode(resp.data.url);
})
}
$scope.customerService = function () {
$http.put('/sys/openim/check').then(function (resp) {
window.open('/service_client.html?key='+resp.data.appkey+'&p='+resp.data.password+'&uid='+resp.data.user_id,'_blank');
});
}
}]);
app.controller('changePwdCtrl', ['$scope', '$http', function ($scope, $http) {
$scope.formData = {};
$scope.submit = function (form) {
if (form.$invalid) {
angular.forEach(form, function (item, key) {
if (key.indexOf('$') <= 0) {
item.$dirty = true;
$scope.errmsg = '请输入密码';
}
});
return;
}
// $scope.errmsg = null;
// if($scope.formData.pwd && $scope.formData.pwd.length < 8){
// $scope.errmsg = '密码必须大于8位';
// return;
// }
// var regex = /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$/;
// if($scope.formData.pwd &&!regex.test($scope.formData.pwd)){
// $scope.errmsg = '密码需要由8-16位数字以及字母组成';
// return;
// }
if ($scope.formData.pwd != $scope.formData.repeatpwd) {
$scope.errmsg = '两次输入密码不一致';
return;
}
$scope.errmsg = null;
$http.put('/global/userstatus/manager_password', $scope.formData).then(function () {
$scope.$close();
}, function (resp) {
$scope.errmsg = resp.data.message;
})
}
}]);
app.controller('managerTodoNoticeCtrl', ['$scope', 'notices', function ($scope, notices) {
$scope.notices = notices;
}]);
app.controller('blankCtrl', ['$scope', function ($scope) {
}]);
app.factory('myLoginLogView', ['$uibModal', function ($uibModal) {
return {
show: function () {
$uibModal.open({
templateUrl: '/static/boot/templates/user_login_logs.html',
controller: ['$scope', '$http', function ($scope, $http) {
$scope.pagination = {};
$scope.getMyLoginLogs = function (page) {
var params = {page: page || $scope.pagination.page || 1};
$http.get('/global/userstatus/current_manager/login_logs', {params: params}).then(function (resp) {
$scope.pagination = resp.data.pagination;
$scope.loginLogs = resp.data.data;
})
};
$scope.getMyLoginLogs();
}]
})
}
}
}]);
app.filter('withRole', ['$rootScope', function ($rootScope) {
return function (roleCode) {
if (angular.isNumber(roleCode)) {
var code = roleCode;
} else {
code = parseInt(roleCode, 2);
}
return ($rootScope.currentUser.role & code) > 0
}
}]);
app.filter('withModule', ['$rootScope', function ($rootScope) {
return function (moduleName) {
return $rootScope.currentUser.module_names.indexOf(moduleName) >= 0;
}
}]);
app.filter('withFunc', ['$rootScope', function ($rootScope) {
return function (funcName) {
return $rootScope.currentUser.available_func_names.indexOf(funcName) >= 0;
}
}]);
app.filter('tradeStatus', function () {
return function (status) {
switch (status + '') {
case '0':
return 'Creating';
case '1':
return 'Failed Create Order';
case '2':
return 'Wait For Payment';
case '3':
return 'Closed';
case '4':
return 'Payment Failed';
case '5':
return 'Payment Successful';
case '6':
return 'Partial Refund';
case '7':
return 'Full Refund';
}
}
});
app.filter('refundStatus', function () {
return function (status) {
switch (status + '') {
case '0':
case'1':
return 'Submit Failed';
case '2':
return 'Submit Success';
case '3':
return 'Failed';
case '4':
return 'Success';
case '5':
return 'Change'
}
}
});
app.filter('tradeGateway', function () {
return function (gateway) {
switch (gateway + '') {
case '0':
return '线下扫码';
case '1':
return '线下扫码';
case '2':
return '商户静态码';
case '3':
return '线上网关';
case '4':
return 'JSAPI网关';
case '5':
return '线下网关';
case '6':
return '线下网关';
case '7':
return '商户静态码';
case '8':
return 'Mobile H5';
case '9':
return '第三方网关';
case '10':
return 'APP网关';
case '11':
return '账单码';
case '12':
return '小程序';
case '13':
return '原生二维码';
case '14':
return '账单链接'
}
}
});
app.constant('uiDatetimePickerConfig', {
dateFormat: 'yyyy-MM-dd HH:mm',
defaultTime: '00:00:00',
html5Types: {
date: 'yyyy-MM-dd',
'datetime-local': 'yyyy-MM-ddTHH:mm:ss.sss',
'month': 'yyyy-MM'
},
initialPicker: 'date',
reOpenDefault: false,
enableDate: true,
enableTime: true,
buttonBar: {
show: true,
now: {
show: true,
text: '现在'
},
today: {
show: true,
text: '今天'
},
clear: {
show: true,
text: '清空'
},
date: {
show: true,
text: '日期'
},
time: {
show: true,
text: '时间'
},
close: {
show: true,
text: '关闭'
}
},
closeOnDateSelection: true,
appendToBody: false,
altInputFormats: [],
ngModelOptions: {}
});
return app;
});

@ -3,7 +3,7 @@
<h1><span>营销返现数据分析</span></h1>
<ol class="breadcrumb">
<li>
<i class="fa fa-sitemap"></i> Marketing
<i class="fa fa-sitemap"></i> Promotion
</li>
<li><a ui-sref="^">Promotion Account</a></li>
</ol>

@ -2,7 +2,10 @@
<section class="content-header">
<h1>网站管理</h1>
<ol class="breadcrumb">
<li>网站管理</li>
<li>
<i class="fa fa-sitemap"></i> Content Management
</li>
<li class="active">网站管理</li>
</ol>
</section>
<section class="content">

@ -2,7 +2,7 @@
<section class="content-header">
<h1>BD Commissions</h1>
<ol class="breadcrumb">
<li><i class="fa fa-usd"></i> Analysis</li>
<li><i class="fa fa-usd"></i> Performance</li>
<li class="active">BD Commissions</li>
</ol>
</section>

@ -2,9 +2,8 @@
<h1>支付宝进件表格导出</h1>
<ol class="breadcrumb">
<li>
<i class="fa fa-cog"></i> Basic Config
<i class="fa fa-cog"></i> Compliance Management
</li>
<li><a ui-sref="^">Dev Tools</a></li>
<li class="active">aliforexcel</li>
</ol>
</section>

@ -2,7 +2,7 @@
<h1>Wechat Settlements</h1>
<ol class="breadcrumb">
<li>
<i class="fa fa-flag"></i>Report
<i class="fa fa-dollar"></i>Financial
</li>
<li class="active">Wechat Settlements</li>
</ol>

@ -9,15 +9,15 @@ define(['angular', 'uiRouter'], function (angular) {
url: '/logs',
templateUrl: '/static/config/logview/templates/root.html',
controller: 'logviewRootCtrl'
}).state('logview.login_history', {
url: '/login',
}).state('login_history', {
url: '/logs/login',
templateUrl: '/static/config/logview/templates/login_log_root.html',
controller: 'loginLogRootCtrl'
}).state('logview.login_history.managers', {
}).state('login_history.managers', {
url: '/managers',
templateUrl: '/static/config/logview/templates/login_log_manager.html',
controller: 'managerLoginLogCtrl'
}).state('logview.login_history.client', {
}).state('login_history.client', {
url: '/clients',
templateUrl: '/static/config/logview/templates/login_log_clients.html',
controller: 'clientLoginLogCtrl'
@ -29,8 +29,8 @@ define(['angular', 'uiRouter'], function (angular) {
url: '/wechatMsg',
templateUrl: '/static/config/logview/templates/wechat_msg_log.html',
controller: 'wechatMsgLogCtrl'
}).state('logview.config_operation', {
url: '/config_operation',
}).state('config_operation', {
url: '/logs/config_operation',
templateUrl: '/static/config/logview/templates/config_opertaion_log.html',
controller: 'configOperationLogCtrl'
})
@ -38,7 +38,7 @@ define(['angular', 'uiRouter'], function (angular) {
app.controller('logviewRootCtrl', ['$scope', function ($scope) {
}]);
app.controller('loginLogRootCtrl', ['$scope', '$state', function ($scope, $state) {
if ($state.is('logview.login_history')) {
if ($state.is('login_history')) {
$state.go('.managers')
}
}]);

@ -1,11 +1,8 @@
<section class="content-header">
<h1>Config Operation Logs</h1>
<h1>Compliance Management</h1>
<ol class="breadcrumb">
<li>
<i class="fa fa-file-text-o"></i> Basic Config
</li>
<li>
<a ui-sref="^">Log Views</a>
<i class="fa fa-file-text-o"></i> Compliance Management
</li>
<li class="active">Config Operation Logs</li>
</ol>

@ -2,10 +2,7 @@
<h1>Notify Logs</h1>
<ol class="breadcrumb">
<li>
<i class="fa fa-file-text-o"></i> Basic Config
</li>
<li>
<a ui-sref="^">Log Views</a>
<i class="fa fa-file-text-o"></i> Transaction
</li>
<li class="active">Notify Logs</li>
</ol>

@ -11,10 +11,10 @@
<section class="content">
<div class="box">
<div class="box-body">
<a class="btn btn-app" role="button" ui-sref=".login_history">
<!-- <a class="btn btn-app" role="button" ui-sref=".login_history">
<i class="fa fa-users"></i>
Sign In History
</a>
</a>-->
<a class="btn btn-app" role="button" ui-sref=".notify_logs">
<i class="fa fa-server"></i>
Notify History
@ -23,10 +23,10 @@
<i class="fa fa-weixin"></i>
WeChat Messages
</a>
<a class="btn btn-app" role="button" ui-sref=".config_operation">
<i class="fa fa-edit"></i>
Config Operation
</a>
<!--<a class="btn btn-app" role="button" ui-sref=".config_operation">-->
<!--<i class="fa fa-edit"></i>-->
<!--Config Operation-->
<!--</a>-->
</div>
</div>
</section>

@ -12,7 +12,7 @@ define(['angular', 'uiRouter', 'uiBootstrap'], function (angular) {
})
}]);
app.controller('managerListCtrl', ['$scope', '$http', '$filter','$uibModal', 'commonDialog', function ($scope, $http,$filter, $uibModal, commonDialog) {
$scope.params = {role:"111111111111"};
$scope.params = {role:"11111111111111"};
$scope.pagination = {};
$scope.listManagers = function (page) {
var params = angular.copy($scope.params);

@ -2,7 +2,7 @@
<h1>Manager Accounts</h1>
<ol class="breadcrumb">
<li>
<i class="fa fa-key"></i> Basic Config
<i class="fa fa-key"></i> Framework
</li>
<li class="active">Manager Accounts</li>
</ol>
@ -29,14 +29,16 @@
<option value="100">BD User</option>
<option value="1000">Accountant</option>
<option value="10000">Service</option>
<option value="100000">Account Manager</option>
<!--<option value="100000">Account Manager</option>-->
<option value="1000000">Director</option>
<option value="10000000">Site Manager</option>
<option value="10000000">Markting</option>
<option value="100000000">Developer</option>
<option value="1000000000">BD Leader</option>
<option value="10000000000">Risk Manager</option>
<option value="100000000000">Guest</option>
<option value="1000000000000">Org Manager</option>
<!--<option value="1000000000000">Org Manager</option>-->
<option value="10000000000000">Sales Manager</option>
<!--<option value="100000000000000">Data Ccontent</option>-->
</select>
</div>
@ -104,14 +106,16 @@
<i class="fa fa-crosshairs" title="BD User" ng-class="{'text-green':manager.bd,'text-gray':!manager.bd}"></i>
<i class="fa fa-balance-scale" title="Accountant" ng-class="{'text-green':manager.finacial,'text-gray':!manager.finacial}"></i>
<i class="fa fa-tty" title="Service" ng-class="{'text-green':manager.sevant,'text-gray':!manager.servant}"></i>
<i class="fa fa-university" title="Account Manager" ng-class="{'text-green':manager.accountmanager,'text-gray':!manager.accountmanager}"></i>
<!--<i class="fa fa-university" title="Account Manager" ng-class="{'text-green':manager.accountmanager,'text-gray':!manager.accountmanager}"></i>-->
<i class="fa fa-line-chart" title="Director" ng-class="{'text-green':manager.director,'text-gray':!manager.director}"></i>
<i class="fa fa-map-o" title="Site Manager" ng-class="{'text-green':manager.sitemanager,'text-gray':!manager.sitemanager}"></i>
<i class="fa fa-map-o" title="Markting" ng-class="{'text-green':manager.sitemanager,'text-gray':!manager.sitemanager}"></i>
<i class="fa fa-code" title="Developer" ng-class="{'text-green':manager.developer,'text-gray':!manager.developer}"></i>
<i class="fa fa-male" title="BD Leader" ng-class="{'text-green':manager.bdleader,'text-gray':!manager.bdleader}"></i>
<i class="fa fa-user" title="Risk Manager" ng-class="{'text-green':manager.riskmanager,'text-gray':!manager.riskmanager}"></i>
<i class="fa fa-tripadvisor" title="GUEST" ng-class="{'text-green':manager.guest,'text-gray':!manager.guest}"></i>
<i class="fa fa-user-plus" title="Org Manager" ng-class="{'text-green':manager.orgmanager,'text-gray':!manager.orgmanager}"></i>
<!--<i class="fa fa-user-plus" title="Org Manager" ng-class="{'text-green':manager.orgmanager,'text-gray':!manager.orgmanager}"></i>-->
<i class="fa fa-ticket" title="Sales Manager" ng-class="{'text-green':manager.salesmanager,'text-gray':!manager.salesmanager}"></i>
<!--<i class="fa fa-save" title="Data Content" ng-class="{'text-green':manager.datacontent,'text-gray':!manager.datacontent}"></i>-->
</td>
<td>
<a role="button" class="text-bold text-primary" ng-click="modifyManager(manager)">Modify</a>

@ -63,14 +63,14 @@
<label ng-if="('00001'|withRole)">
<input type="checkbox" ng-model="manager.servant" name="servant">Service
</label>
<label ng-if="!manager.admin && !manager.operator">
<input type="checkbox" ng-model="manager.accountmanager" name="accountmanager">Account Manager
</label>
<!--<label ng-if="!manager.admin && !manager.operator">-->
<!--<input type="checkbox" ng-model="manager.accountmanager" name="accountmanager">Account Manager-->
<!--</label>-->
<label>
<input type="checkbox" ng-model="manager.director" name="director">Director
</label>
<label ng-if="('00001'|withRole)">
<input type="checkbox" ng-model="manager.sitemanager" name="sitemanager">Site Manager
<input type="checkbox" ng-model="manager.sitemanager" name="sitemanager">Markting
</label>
<label ng-if="('00001'|withRole)">
<input type="checkbox" ng-model="manager.developer" name="developer">Developer
@ -81,9 +81,15 @@
<label ng-if="('00001'|withRole)">
<input type="checkbox" ng-model="manager.riskmanager" name="riskmanager">Risk Manager
</label>
<label ng-if="('00001'|withRole)">
<!-- <label ng-if="('00001'|withRole)">
<input type="checkbox" ng-model="manager.orgmanager" name="orgmanager">Org Manager
</label>-->
<label ng-if="('00001'|withRole)">
<input type="checkbox" ng-model="manager.salesmanager" name="salesmanager">Sales Manager
</label>
<!-- <label ng-if="('00001'|withRole)">
<input type="checkbox" ng-model="manager.datacontent" name="datacontent">Data Content
</label>-->
</p>
</div>
<div class="form-group" ng-if="isOrgModify&&!isModifyOrgManage">

@ -69,14 +69,14 @@
<label ng-if="('00001'|withRole) && !manager.admin && !manager.operator">
<input type="checkbox" ng-model="manager.servant" name="servant">Service
</label>
<label ng-if="!manager.admin && !manager.operator">
<input type="checkbox" ng-model="manager.accountmanager" name="accountmanager">Account Manager
</label>
<!--<label ng-if="!manager.admin && !manager.operator">-->
<!--<input type="checkbox" ng-model="manager.accountmanager" name="accountmanager">Account Manager-->
<!--</label>-->
<label>
<input type="checkbox" ng-model="manager.director" name="director">Director
</label>
<label ng-if="('00001'|withRole)">
<input type="checkbox" ng-model="manager.sitemanager" name="sitemanager">Site Manager
<input type="checkbox" ng-model="manager.sitemanager" name="sitemanager">Markting
</label>
<label ng-if="('00001'|withRole)">
<input type="checkbox" ng-model="manager.developer" name="developer">Developer
@ -90,9 +90,15 @@
<label ng-if="('00001'|withRole)">
<input type="checkbox" ng-model="manager.guest" name="guest">Guest
</label>
<!--<label ng-if="('00001'|withRole)">-->
<!--<input type="checkbox" ng-model="manager.orgmanager" name="guest">Org Manager-->
<!--</label>-->
<label ng-if="('00001'|withRole)">
<input type="checkbox" ng-model="manager.orgmanager" name="guest">Org Manager
<input type="checkbox" ng-model="manager.salesmanager" name="salesmanager">Sales Manager
</label>
<!--<label ng-if="('00001'|withRole)">-->
<!--<input type="checkbox" ng-model="manager.datacontent" name="datacontent">Data Content-->
<!--</label>-->
</p>
</div>
<div class="form-group" ng-if="!currentUser.org_id &&isOrg">

@ -3,7 +3,7 @@
<h1>Notice Manage</h1>
<ol class="breadcrumb">
<li>
<i class="fa fa-sitemap"></i> Basic Config
<i class="fa fa-sitemap"></i> Content Management
</li>
<li class="active">Notice Manage</li>
</ol>

@ -42,8 +42,8 @@ define(['angular', 'uiRouter', 'uiBootstrap'], function (angular) {
return $http.get('/sys/orgs/' + $stateParams.orgId);
}]
}
}).state('organizations.new', {
url: '/new_org',
}).state('newOrganizations', {
url: '/organizations/new_org',
templateUrl: '/static/config/organizations/templates/new_org.html',
controller: 'newOrgCtrl'
})

@ -27,7 +27,7 @@
<h1>Organizations</h1>
<ol class="breadcrumb">
<li>
<i class="fa fa-users"></i> Basic Config
<i class="fa fa-users"></i> Framework
</li>
<li class="active">Organizations</li>
</ol>
@ -114,7 +114,7 @@
</div>
</div>
<div class="col-xs-4 col-sm-6" style="text-align: right">
<a role="button" class="btn btn-success" type="button" ui-sref=".new"><i
<a role="button" class="btn btn-success" type="button" ui-sref="newOrganizations"><i
class="fa fa-plus"></i>
Add Organization</a>
</div>

@ -1,3 +1,10 @@
<section class="content-header">
<h1>City Partner Commissions</h1>
<ol class="breadcrumb">
<li><i class="fa fa-dollar"></i>Financial</li>
<li class="active">City Partner Commissions</li>
</ol>
</section>
<div class="content">
<div class="box box-default">
<div class="box-body">

@ -1,10 +1,10 @@
<!--<section class="content-header">-->
<!--<h1>Platform Revenue Report</h1>-->
<!--<ol class="breadcrumb">-->
<!--<li><i class="fa fa-dollar"></i>Analysis</li>-->
<!--<li class="active">Platform Revenue Report</li>-->
<!--</ol>-->
<!--</section>-->
<section class="content-header">
<h1>Platform Revenue Report</h1>
<ol class="breadcrumb">
<li><i class="fa fa-dollar"></i>Financial</li>
<li class="active">Platform Revenue Report</li>
</ol>
</section>
</br>
<div class="form-group col-sm-12">

@ -3,7 +3,7 @@
<h1>Settlement Validation</h1>
<ol class="breadcrumb">
<li>
<i class="fa fa-sitemap"></i> Payment
<i class="fa fa-sitemap"></i> Settlement
</li>
<li class="active">Settlement Validation</li>
</ol>

@ -13,15 +13,15 @@ define(['angular', 'uiRouter'], function (angular) {
url: '/basic',
templateUrl: '/static/config/sysconfigs/templates/basic.html',
controller: 'basicConfigCtrl'
}).state('sysconfig.permission', {
}).state('permission', {
url: '/permission',
templateUrl: '/static/config/sysconfigs/templates/permission_config.html',
controller: 'permissionConfigRootCtrl'
}).state('sysconfig.permission.functions', {
}).state('permission.functions', {
url: '/functions',
templateUrl: '/static/config/sysconfigs/templates/permission_functions.html',
controller: 'permissionFuncCtrl'
}).state('sysconfig.permission.modules', {
}).state('permission.modules', {
url: '/modules',
templateUrl: '/static/config/sysconfigs/templates/permission_modules.html',
controller: 'permissionModuleCtrl',
@ -34,7 +34,7 @@ define(['angular', 'uiRouter'], function (angular) {
url: '/mail',
templateUrl: '/static/config/sysconfigs/templates/mail_subscribe.html',
controller: 'mailSubscribeCtrl'
}).state('sysconfig.servantsConfig', {
}).state('servantsConfig', {
url: '/servantsConfig',
templateUrl: '/static/config/sysconfigs/templates/servants_config.html',
controller: 'servantsConfigCtrl'

@ -2,7 +2,7 @@
<h1>Permission Config</h1>
<ol class="breadcrumb">
<li>
<a ui-sref="^"><i class="fa fa-cog"></i> System Config</a>
<a ui-sref="^"><i class="fa fa-cog"></i> Framework</a>
</li>
<li>Permission Config</li>
</ol>
@ -13,7 +13,7 @@
<div class="nav-tabs-custom">
<ul class="nav nav-tabs">
<li ui-sref-active-eq="active">
<a ui-sref="sysconfig.permission">Permissions</a>
<a ui-sref="permission">Permissions</a>
</li>
<li ui-sref-active="active">
<a ui-sref=".functions">Functions</a>
@ -43,23 +43,23 @@
<i class="fa fa-tty"></i>
Service
</a>
<a class="btn btn-app" role="button" ng-click="authorizeRole('100000')">
<i class="fa fa-university"></i>
Account Manager
</a>
<!--<a class="btn btn-app" role="button" ng-click="authorizeRole('100000')">-->
<!--<i class="fa fa-university"></i>-->
<!--Account Manager-->
<!--</a>-->
<a class="btn btn-app" role="button" ng-click="authorizeRole('1000000')">
<i class="fa fa-line-chart"></i>
Director
</a>
<a class="btn btn-app" role="button" ng-click="authorizeRole('10000000')">
<i class="fa fa-map-o"></i>
Site Manager
Markting
</a>
<a class="btn btn-app" role="button" ng-click="authorizeRole('100000000')">
<i class="fa fa-code"></i>
Developer
</a>
<a class="btn btn-app" role="button" ng-click="authorizeRole('1000000000')">
<a class="btn btn-app" role="button" ng-click="authorizeRole('10000000000')">
<i class="fa fa-user"></i>
Risk Manager
</a>
@ -67,10 +67,18 @@
<i class="fa fa-tripadvisor"></i>
GUEST
</a>
<a class="btn btn-app" role="button" ng-click="authorizeRole('1000000000000')">
<i class="fa fa-user-plus"></i>
Org Manager
<!--<a class="btn btn-app" role="button" ng-click="authorizeRole('1000000000000')">-->
<!--<i class="fa fa-user-plus"></i>-->
<!--Org Manager-->
<!--</a>-->
<a class="btn btn-app" role="button" ng-click="authorizeRole('10000000000000')">
<i class="fa fa-ticket"></i>
Sales Manager
</a>
<!--<a class="btn btn-app" role="button" ng-click="authorizeRole('100000000000000')">-->
<!--<i class="fa fa-save"></i>-->
<!--Data Content-->
<!--</a>-->
</div>
</div>
</div>

@ -2,7 +2,7 @@
<h1>Servants Config</h1>
<ol class="breadcrumb">
<li>
<a ui-sref="^"><i class="fa fa-cog"></i> System Config</a>
<a ui-sref="^"><i class="fa fa-cog"></i> Framework</a>
</li>
<li>Servants Config</li>
</ol>

@ -15,10 +15,10 @@
Basic Config
</a>
<a class="btn btn-app" role="button" ui-sref=".permission">
<!-- <a class="btn btn-app" role="button" ui-sref=".permission">
<i class="fa fa-key"></i>
Permission Config
</a>
</a>-->
<a class="btn btn-app" role="button" ui-sref=".mail_subscribe">
<i class="fa fa-edit"></i>
@ -30,10 +30,10 @@
Partner Permission Config
</a>
<a class="btn btn-app" role="button" ui-sref=".servantsConfig" ng-if="('1'|withRole)">
<i class="fa fa-key"></i>
Servants Config
</a>
<!--<a class="btn btn-app" role="button" ui-sref=".servantsConfig" ng-if="('1'|withRole)">-->
<!--<i class="fa fa-key"></i>-->
<!--Servants Config-->
<!--</a>-->
<!--<a class="btn btn-app" role="button" ui-sref=".payment_config">
<i class="fa fa-edit"></i>

@ -68,13 +68,19 @@
/*Tab切换样式重写*/
/*左侧菜单选中样式*/
.skin-blue .sidebar-menu li:hover a,
.skin-blue .sidebar-menu li.active a {
/*.skin-blue .sidebar-menu li:hover a,*/
/*.skin-blue .sidebar-menu li.active a {*/
/*color: #f06101;*/
/*!*background: #1e282c;*!*/
/*border-left-color: #f06101;*/
/*}*/
.skin-blue .sidebar-menu>li:hover>a, .skin-blue .sidebar-menu>li.active>a {
color: #fff;
background: #1e282c;
border-left-color: #f06101;
border-left-color: #f06101
}
/*左侧菜单选中样式*/
/*从运营平台引入*/
@ -216,15 +222,15 @@
}
/*首页左侧下拉菜单动画*/
.sidebar-menu .treeview-menu {
display: block;
max-height: 0;
overflow: hidden;
transition: 0.3s max-height linear;
}
/*.sidebar-menu .treeview-menu {*/
/*!*display: block;*!*/
/*!*max-height: 0;*!*/
/*overflow: hidden;*/
/*transition: 0.3s max-height linear;*/
/*}*/
.sidebar-menu li.active .treeview-menu {
max-height: 100px;
/*max-height: 100px;*/
}
/*基本信息*/

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save