add version controller

master
luoyang 6 years ago
parent b947cc63a0
commit 7c0bc3f019

@ -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 () {

@ -7,7 +7,7 @@
<div class="content-wrapper autoheight" style="margin-left: 0px">
<div class="content" style="background-color: #FFF">
<div class="list-group">
<div class="row">
<div class="row" ng-if="('partnerapply'|withModule) && (currentUser.org_id==null||currentUser.org_id==1)">
<div class="col-sm-2 col-lg-2 col-xs-6">
<div class="description-block">
<label>待处理事项</label>
@ -39,7 +39,7 @@
</div>
<div class="list-group">
<div class="row">
<div class="col-sm-2 col-lg-2 col-xs-6">
<div class="col-sm-2 col-lg-2 col-xs-6" id="partners">
<div class="description-block">
<label>商户管理</label>
</div>
@ -109,8 +109,8 @@
</div>
</div>
<div class="list-group">
<div class="row">
<div class="col-sm-2 col-lg-2 col-xs-6">
<div class="row" >
<div class="col-sm-2 col-lg-2 col-xs-6" id="transaction">
<div class="description-block">
<label>交易管理</label>
</div>
@ -173,8 +173,8 @@
</div>
</div>
<div class="list-group">
<div class="row">
<div class="col-sm-2 col-lg-2 col-xs-6">
<div class="row" ng-if="('clientrate'|withModule)||('monitor'|withModule) || ('customerRankingAnalysisApp'|withModule)">
<div class="col-sm-2 col-lg-2 col-xs-6" id="risk">
<div class="description-block">
<label>风控管理</label>
</div>
@ -271,8 +271,8 @@
</div>
</div>-->
<div class="list-group">
<div class="row">
<div class="col-sm-2 col-lg-2 col-xs-6">
<div class="row" ng-if="('citypartner'|withModule)||('org'|withModule)||(('org_sale'|withModule)&&(currentUser.org_id==null||currentUser.org_id==1 ||('1000000000000'|withRole)))||('orgcommission'|withModule)" >
<div class="col-sm-2 col-lg-2 col-xs-6" id="citypartners">
<div class="description-block">
<label>合伙人管理</label>
</div>
@ -334,8 +334,8 @@
</div>
</div>
<div class="list-group">
<div class="row">
<div class="col-sm-2 col-lg-2 col-xs-6">
<div class="row" ng-if="('1000'|withRole)|| ('bdsale'|withModule) || ('bdprize'|withModule)">
<div class="col-sm-2 col-lg-2 col-xs-6" id="bd">
<div class="description-block">
<label>BD绩效管理</label>
</div>
@ -385,9 +385,9 @@
</div>
</div>
<div class="list-group">
<div class="row">
<div class="row" ng-if="('1011110'|withRole) || currentUser.org_id==null">
<div class="col-sm-2 col-lg-2 col-xs-6">
<div class="description-block">
<div class="description-block" id="art">
<label>营销活动管理</label>
</div>
</div>
@ -517,9 +517,9 @@
</div>
</div>
<div class="list-group">
<div class="row">
<div class="row" ng-if="('0100001'|withRole)">
<div class="col-sm-2 col-lg-2 col-xs-6">
<div class="description-block">
<div class="description-block" id="cms">
<label>内容管理</label>
</div>
</div>
@ -558,8 +558,8 @@
</div>
</div>
<div class="list-group">
<div class="row">
<div class="col-sm-2 col-lg-2 col-xs-6">
<div class="row" ng-if="('settleReport'|withModule)||('platformRevenue'|withModule) ||('austrac'|withModule) ||('1000'|withRole)">
<div class="col-sm-2 col-lg-2 col-xs-6" id="staff">
<div class="description-block">
<label>财务管理</label>
</div>
@ -627,14 +627,15 @@
</div>
</div>
<div class="list-group">
<div class="row">
<div class="col-sm-2 col-lg-2 col-xs-6">
<div class="row" >
<div class="col-sm-2 col-lg-2 col-xs-6" id="clearing">
<div class="description-block">
<label>清算管理</label>
</div>
</div>
</div>
<div class="row">
<div class="row" ng-if="('ordervalid'|withModule)||(('clearing_org'|withModule) && currentUser.org_id>1)||('clearing'|withModule)||(
('estimateAnalysisApp'|withModule)&&(currentUser.org_id==null)) || ('settleReport'|withModule) ||('platformRevenue'|withModule)">
<div ng-if="'ordervalid'|withModule" class="col-sm-2 col-xs-6">
<a ui-sref="order_valid" ui-sref-opts="{reload:true}">
<div class="description-block">
@ -701,8 +702,8 @@
</div>
</div>
<div class="list-group">
<div class="row">
<div class="col-sm-2 col-lg-2 col-xs-6">
<div class="row" ng-if="('org'|withModule)||('manager_accounts'|withModule)||('sysconfig'|withModule)">
<div class="col-sm-2 col-lg-2 col-xs-6" id="org">
<div class="description-block">
<label>组织架构</label>
</div>
@ -739,8 +740,8 @@
</div>
</div>
<div class="list-group">
<div class="row">
<div class="col-sm-2 col-lg-2 col-xs-6">
<div class="row" ng-if="(('10'|withRole)&&('merchantIdManage'|withModule)) || (('device'|withModule)) ||('sysconfig'|withModule)">
<div class="col-sm-2 col-lg-2 col-xs-6" id="setting">
<div class="description-block">
<label>配置管理</label>
</div>
@ -778,8 +779,8 @@
</div>
</div>
<div class="list-group">
<div class="row">
<div class="col-sm-2 col-lg-2 col-xs-6">
<div class="row" ng-if="('log'|withModule) || ('dev'|withModule)">
<div class="col-sm-2 col-lg-2 col-xs-6" id="develop">
<div class="description-block">
<label>开发工具</label>
</div>

@ -41,66 +41,6 @@
<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">
.backgroud {
background-image: url("/static/images/manage_bg.png");
}
.total_logo {
padding-top: 4.62%;
text-align: center;
}
.box-items {
padding: 30px 15px 15px 15px;
cursor: pointer;
}
.box-items img {
width: 72px;
height: 72px;
}
.boxs {
display: flex;
justify-content: center;
align-items: center;
width: 180px;
height: 180px;
background: #434365;
border-radius: 5px;
}
.boxs:hover {
background: #FFFFFF;
}
.box-font {
font-family: PingFang-SC-Regular;
font-size: 20px;
color: #FFFFFF;
letter-spacing: 0px;
text-align: center;
padding-top: 25px;
}
footer {
font-family: PingFang-SC-Regular;
font-size: 12px;
color: #FFFFFF;
letter-spacing: 0px;
padding-bottom: 2.3%;
}
.easypay {
font-family: PingFang-SC-Regular;
font-size: 20px;
color: #FFFFFF;
letter-spacing: 0px;
padding-top: 1%;
padding-bottom: 1%;
}
.ng-cloak, [ng-cloak] {
display: none !important;
}
@ -130,17 +70,6 @@
.dh {
animation: myfirst 1s linear 0s infinite alternate;
}
.description-text {
margin-top: 5px;
/*width: 86px;*/
}
.list-group label {
border-bottom: 1px solid #333333;
font-size: 20px;
color: #333333;
}
.navbar-header a{
color: #FFF;
}
@ -162,7 +91,7 @@
position: absolute;
left: 0;
right: 0;
margin: 10px auto;
margin: 10px;
}
}
@ -170,7 +99,7 @@
.navbar-header {
list-style: none;
width: 245px;
margin: 10px auto;
margin: 10px;
}
}
</style>
@ -188,51 +117,46 @@ 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
<div class="wrapper" 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 href="#" onclick="location.reload()" class="logo logo-yedian shine" ng-if="!currentUser.org">
<!-- mini logo for sidebar mini 50x50 pixels -->
<span class="logo-mini"><img src="static/images/r_white_logo.svg"
style="max-height: 35px;margin-left: 15%;"></span>
<!-- logo for regular state and mobile devices -->
<span class="logo-lg"><img src="static/images/rp_white_logo.svg"
style="max-height: 35px;">
<b>RoyalPay</b>
<header class="main-header">
<!--Logo-->
<a href="#" class="logo logo-yedian shine" ng-if="!currentUser.org">
<!--mini logo for sidebar mini 50x50 pixels -->
<span class="logo-mini"><img src="static/images/r_white_logo.svg"
style="max-height: 35px;margin-left: 15%;"></span>
<!--logo for regular state and mobile devices -->
<span class="logo-lg"><img src="static/images/rp_white_logo.svg"
style="max-height: 35px;">
<!--<b>RoyalPay</b>-->
</span>
</a>
<a href="#" class="logo logo-yedian shine" ng-if="currentUser.org">
<!-- mini logo for sidebar mini 50x50 pixels -->
<span class="logo-mini"><img ng-src="{{currentUser.org.logo}}"
style="max-height: 35px;margin-bottom: 8px;margin-right: 5px;"></span>
<!-- logo for regular state and mobile devices -->
<span class="logo-lg"><img ng-src="{{currentUser.org.logo}}"
style="max-height: 35px;margin-bottom: 8px;margin-right: 5px;"><b
ng-bind="currentUser.org.name"></b></span>
</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>
<a href="#" onclick="location.reload()" class="logo logo-yedian shine" ng-if="currentUser.org">
<!-- mini logo for sidebar mini 50x50 pixels -->
<span class="logo-mini"><img ng-src="{{currentUser.org.logo}}"
style="max-height: 35px;margin-bottom: 8px;margin-right: 5px;"></span>
<!-- logo for regular state and mobile devices -->
<span class="logo-lg"><img ng-src="{{currentUser.org.logo}}"
style="max-height: 35px;margin-bottom: 8px;margin-right: 5px;"><b
ng-bind="currentUser.org.name"></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>
<ul class="navbar-header" style="left: 75%">
<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 ui-sref="listMenu({role:''})" role="button">Main Menu</a>
<a href="/managev2.html" role="button">v2</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="nav navbar-nav">
<li class="user-menu" ng-if="currentUser.onoff">
@ -246,8 +170,38 @@ margin-bottom: 10%;"/>
<i class="fa fa-wechat"></i> Bind WeChat
</a>
</li>
<li ng-if="('110'|withRole)" ng-class="{'dropdown notifications-menu open':openNotice,'dropdown notifications-menu':!openNotice}">
<a title="New Notice" ng-click="toggleOpenNotice()" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="true">
<i class="fa fa-bell-o"></i>
<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>
<!--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%;">
<li>
<a ng-if="partner_application_new" ui-sref="partner_apply">
<i class="fa fa-commenting"></i>
新的自主申请商户<span style="font-size:smaller;float:right;right: 0"></span>
</a>
</li>
<li>
<a ng-if="refundReviews && ('10000000000'|withRole)" ui-sref="refundReview">
<i class="fa fa-commenting"></i>
新的退款申请<span style="font-size:smaller;float:right;right: 0"></span>
</a>
</li>
</ul><div class="slimScrollBar" style="background: rgb(0, 0, 0); width: 3px; position: absolute; top: 0px; opacity: 0.4; display: none; border-radius: 7px; z-index: 99; right: 1px; height: 195.122px;"></div><div class="slimScrollRail" style="width: 3px; height: 100%; position: absolute; top: 0px; display: none; border-radius: 7px; background: rgb(51, 51, 51); opacity: 0.2; z-index: 90; right: 1px;"></div></div>
</li>
</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'}}"
@ -256,10 +210,9 @@ margin-bottom: 10%;"/>
<span class="hidden-xs" ng-bind="currentUser.display_name"></span>
</a>
<ul class="dropdown-menu user-dropdown-menu" ng-cloak>
<!-- User image -->
<!--User image-->
<li class="user-header user-header-yedian">
<img ng-src="{{currentUser.org.logo||'static/images/r_white_logo.svg'}}"
class="img-circle"
<img ng-src="{{currentUser.org.logo||'static/images/r_white_logo.svg'}}" class="img-circle"
alt="User Image">
<p>
@ -292,7 +245,9 @@ margin-bottom: 10%;"/>
</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>
@ -303,129 +258,274 @@ margin-bottom: 10%;"/>
</li>
</ul>
</li>
<!-- Control Sidebar Toggle Button -->
<!--Control Sidebar Toggle Button -->
</ul>
</div>
</nav>
</header>
<div class="content-wrapper autoheight" style="margin-left: 0" ui-view>
<div class="backgroud">
<div class="total_logo">
<a><img src="/static/images/manage_total_logo.png"> </a>
<div class="easypay">
<b>Easy BusinessEasy Payment!</b>
</div>
<!--end:顶部导航栏-->
<!-- Left side column. contains the logo and sidebar -->
<!--左边栏-->
<aside class="main-sidebar" style="height: 100%;max-height: 100%;overflow: auto;padding-bottom: 50px;">
<!--sidebar: style can be found in sidebar.less -->
<section class="sidebar">
<ul class="sidebar-menu">
<li ui-sref-active="active" ng-if="'dashboard'|withModule">
<a ui-sref="dashboard">
<i class="fa fa-dashboard"></i>
<span>控制台|Dashboard</span>
</a>
</li>
</div>
<li class="header nav-header" ng-if="'1011110'|withRole">支付结算|Payment</li>
<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>
</a>
</li>
<div style="margin: 0 auto;display: flex;padding-top: 40px;padding-bottom:0.5%;width: 60%;flex-wrap:wrap">
<div class="box-items" ng-if="'10'|withRole">
<a ng-click="headerShow()" ui-sref="listMenu({role:'Compliance'})" ui-sref-opts="{reload:true}">
<div class="boxs">
<img src="/static/images/manage/menu_1.png">
</div>
<p class="box-font">Compliance</p>
</a>
</div>
<div class="box-items" ng-if="'10000000000'|withRole">
<a ng-click="headerShow()" ui-sref="listMenu({role:'RiskManager'})" ui-sref-opts="{reload:true}">
<div class="boxs">
<img src="/static/images/manage/menu_2.png">
</div>
<p class="box-font">Risk Manager</p>
</a>
</div>
<div class="box-items" ng-if="'100000'|withRole">
<a ng-click="headerShow()" ui-sref="listMenu({role:'AccountManager'})" ui-sref-opts="{reload:true}">
<div class="boxs">
<img src="/static/images/manage/menu_3.png">
</div>
<p class="box-font">Account Manager</p>
</a>
</div>
<div class="box-items" ng-if="'1000'|withRole">
<a ng-click="headerShow()" ui-sref="listMenu({role:'Accountant'})" ui-sref-opts="{reload:true}">
<div class="boxs">
<img src="/static/images/manage/menu_4.png">
</div>
<p class="box-font">Accountant</p>
</a>
</div>
<div class="box-items" ng-if="'100'|withRole">
<a ng-click="headerShow()" ui-sref="listMenu({role:'BDUser'})" ui-sref-opts="{reload:true}">
<div class="boxs">
<img src="/static/images/manage/menu_5.png">
</div>
<p class="box-font">BD User</p>
</a>
</div>
<div class="box-items" ng-if="'10000'|withRole">
<a ng-click="headerShow()" ui-sref="listMenu({role:'Service'})" ui-sref-opts="{reload:true}">
<div class="boxs">
<img src="/static/images/manage/menu_6.png">
</div>
<p class="box-font">Service</p>
</a>
</div>
<div class="box-items" ng-if="'1'|withRole">
<a ng-click="headerShow()" ui-sref="listMenu({role:'Administrator'})" ui-sref-opts="{reload:true}">
<div class="boxs">
<img src="/static/images/manage/menu_7.png">
</div>
<p class="box-font">Administrator</p>
</a>
</div>
<div class="box-items" ng-if="'10000000'|withRole">
<a ng-click="headerShow()" ui-sref="listMenu({role:'SiteManager'})" ui-sref-opts="{reload:true}">
<div class="boxs">
<img src="/static/images/manage/menu_8.png">
</div>
<p class="box-font">Site Manager</p>
</a>
</div>
<div class="box-items" ng-if="'100000000'|withRole">
<a ng-click="headerShow()" ui-sref="listMenu({role:'Developer'})" ui-sref-opts="{reload:true}">
<div class="boxs">
<img src="/static/images/manage/menu_9.png">
</div>
<p class="box-font">Developer</p>
</a>
</div>
<div class="box-items" ng-if="'1000000'|withRole">
<a ng-click="headerShow()" ui-sref="listMenu({role:'Director'})" ui-sref-opts="{reload:true}">
<div class="boxs">
<img src="/static/images/manage/menu_10.png">
</div>
<p class="box-font">Director</p>
</a>
</div>
</div>
<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>
</a>
</li>
<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">
<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>
</a>
</li>
<div style="text-align: center">
<footer>
<strong>Copyright © 2015-2017 <a href="http://www.royalpay.com.au">RoyalPay</a>.</strong> All rights
reserved.
</footer>
</div>
</div>
<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">
<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>
<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>
</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}">
<i class="fa fa-compass"></i> <span>店长行动|Activities</span>
</a>
</li>
<li ui-sref-active="active" ng-if="('act_redpack'|withModule)">
<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="('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>
</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="('1'|withRole)">
<a ui-sref="contract">
<i class="fa fa-money"></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>
<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 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>
</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>
</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>
</a>
</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>
</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>
</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>
</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>
</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>
</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>
<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="'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="'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="('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>
</a>
</li>
<li ui-sref-active="active"
ng-if="('device'|withModule) && (currentUser.org_id==null||currentUser.org_id==1)">
<a ui-sref="device" ui-sref-opts="{reload:true}">
<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>
</section>
<!-- /.sidebar -->
</aside>
<!--END:左边栏-->
<!-- Content Wrapper. Contains page content -->
<div>
<div class="content-wrapper autoheight" ui-view></div>
</div>
<footer ng-if="copyright" class="main-footer" style="margin-left: 0px">
<!-- /.content-wrapper -->
<footer class="main-footer">
<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>
</div>
<!-- ./wrapper -->
</body>
</html>

@ -1,488 +0,0 @@
<!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">
.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;
}
</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>
<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 class="wrapper" ng-if="currentUser!=null" ng-cloak
ng-class="currentUser.org?(currentUser.org.banner_class||'fxplus'):'royalpay'">
<header class="main-header">
&lt;!&ndash; Logo &ndash;&gt;
<a href="#" class="logo logo-yedian shine" ng-if="!currentUser.org">
&lt;!&ndash; mini logo for sidebar mini 50x50 pixels &ndash;&gt;
<span class="logo-mini"><img src="static/images/r_white_logo.svg"
style="max-height: 35px;margin-left: 15%;"></span>
&lt;!&ndash; logo for regular state and mobile devices &ndash;&gt;
<span class="logo-lg"><img src="static/images/rp_white_logo.svg"
style="max-height: 35px;">
&lt;!&ndash;<b>RoyalPay</b>&ndash;&gt;
</span>
</a>
<a href="#" class="logo logo-yedian shine" ng-if="currentUser.org">
&lt;!&ndash; mini logo for sidebar mini 50x50 pixels &ndash;&gt;
<span class="logo-mini"><img ng-src="{{currentUser.org.logo}}"
style="max-height: 35px;margin-bottom: 8px;margin-right: 5px;"></span>
&lt;!&ndash; logo for regular state and mobile devices &ndash;&gt;
<span class="logo-lg"><img ng-src="{{currentUser.org.logo}}"
style="max-height: 35px;margin-bottom: 8px;margin-right: 5px;"><b
ng-bind="currentUser.org.name"></b></span>
</a>
&lt;!&ndash; Header Navbar: style can be found in header.less &ndash;&gt;
&lt;!&ndash;顶部导航栏&ndash;&gt;
<nav class="navbar navbar-static-top navbar-static-top-yedian" role="navigation">
&lt;!&ndash; Sidebar toggle button&ndash;&gt;
<a class="sidebar-toggle sidebar-tooggle-yedian" data-toggle="offcanvas" role="button"
ng-click="toggleHideSideBar()">
<span class="sr-only">Toggle navigation</span>
</a>
<div class="navbar-custom-menu">
<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>
<li ng-if="('110'|withRole)" ng-class="{'dropdown notifications-menu open':openNotice,'dropdown notifications-menu':!openNotice}">
<a title="New Notice" ng-click="toggleOpenNotice()" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="true">
<i class="fa fa-bell-o"></i>
<span class="label label-warning" ng-if="notifyCounts">{{notifyCounts}}</span>
</a>
<ul class="dropdown-menu">
&lt;!&ndash;<li class="header">System notifications,please resolve it!</li>&ndash;&gt;
<li>
&lt;!&ndash; inner menu: contains the actual data &ndash;&gt;
<div class="slimScrollDiv" style="position: relative; overflow: hidden; width: auto; max-height: 200px;"><ul class="menu" style="overflow: hidden; width: 100%;">
<li>
<a ng-if="partner_application_new" ui-sref="partner_apply">
<i class="fa fa-commenting"></i>
新的自主申请商户<span style="font-size:smaller;float:right;right: 0"></span>
</a>
</li>
<li>
<a ng-if="refundReviews && ('10000000000'|withRole)" ui-sref="refundReview">
<i class="fa fa-commenting"></i>
新的退款申请<span style="font-size:smaller;float:right;right: 0"></span>
</a>
</li>
</ul><div class="slimScrollBar" style="background: rgb(0, 0, 0); width: 3px; position: absolute; top: 0px; opacity: 0.4; display: none; border-radius: 7px; z-index: 99; right: 1px; height: 195.122px;"></div><div class="slimScrollRail" style="width: 3px; height: 100%; position: absolute; top: 0px; display: none; border-radius: 7px; background: rgb(51, 51, 51); opacity: 0.2; z-index: 90; right: 1px;"></div></div>
</li>
</ul>
</li>
&lt;!&ndash; User Account: style can be found in dropdown.less &ndash;&gt;
<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>
&lt;!&ndash; User image &ndash;&gt;
<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="Site Manager"
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>
</small>
</p>
</li>
&lt;!&ndash; Menu Footer&ndash;&gt;
<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>
&lt;!&ndash; Control Sidebar Toggle Button &ndash;&gt;
</ul>
</div>
</nav>
</header>
<!--end:顶部导航栏-->
<!-- Left side column. contains the logo and sidebar -->
<!--左边栏-->
<aside class="main-sidebar" style="height: 100%;max-height: 100%;overflow: auto;padding-bottom: 50px;">
&lt;!&ndash; sidebar: style can be found in sidebar.less &ndash;&gt;
<section class="sidebar">
<ul class="sidebar-menu">
<li ui-sref-active="active" ng-if="'dashboard'|withModule">
<a ui-sref="dashboard">
<i class="fa fa-dashboard"></i>
<span>控制台|Dashboard</span>
</a>
</li>
<li class="header nav-header" ng-if="'1011110'|withRole">支付结算|Payment</li>
<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>
</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>
</a>
</li>
<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">
<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>
</a>
</li>
<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>
&lt;!&ndash; <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>&ndash;&gt;
<li ui-sref-active="active" ng-if="'1000'|withRole">
<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>
<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>
</a>
</li>
&lt;!&ndash;
<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}">
<i class="fa fa-compass"></i> <span>店长行动|Activities</span>
</a>
</li>
<li ui-sref-active="active" ng-if="('act_redpack'|withModule)">
<a ui-sref="act_partners" ui-sref-opts="{reload:true}">
<i class="fa fa-compass"></i> <span>店长行动参与情况</span>
</a>
</li>&ndash;&gt;
&lt;!&ndash;<li ui-sref-active="active" ng-if="('act_redpack'|withModule) && (currentUser.org_id==1 || currentUser.org_id==null)">&ndash;&gt;
&lt;!&ndash;<a ui-sref="act_partners" ui-sref-opts="{reload:true}">&ndash;&gt;
&lt;!&ndash;<i class="fa fa-compass"></i> <span>新费率签约情况</span>&ndash;&gt;
&lt;!&ndash;</a>&ndash;&gt;
&lt;!&ndash;</li>&ndash;&gt;
<li ui-sref-active="active" ng-if="('encourage'|withModule)">
<a ui-sref="encourageAct">
<i class="fa fa-gift"></i> <span>鼓励金</span>
</a>
</li>
&lt;!&ndash;<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>&ndash;&gt;
<li ui-sref-active="active" ng-if="('cashbackAnalysis'|withModule)">
<a ui-sref="cashbackAnalysis">
<i class="fa fa-gift"></i> <span>商户营销账户</span>
</a>
</li>
&lt;!&ndash; <li ui-sref-active="active" ng-if="('funds'|withModule)">
<a ui-sref="funds">
<i class="fa fa-money"></i> <span>增值计划</span>
</a>
</li>&ndash;&gt;
<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="('1'|withRole)">
<a ui-sref="contract">
<i class="fa fa-money"></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>
<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 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>
</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>
</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>
</a>
</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>
</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>
</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>
</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>
</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>
</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>
<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="'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="'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="('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>
</a>
</li>
<li ui-sref-active="active"
ng-if="('device'|withModule) && (currentUser.org_id==null||currentUser.org_id==1)">
<a ui-sref="device" ui-sref-opts="{reload:true}">
<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>
</section>
&lt;!&ndash; /.sidebar &ndash;&gt;
</aside>
<!--END:左边栏-->
<!-- Content Wrapper. Contains page content -->
<div>
<div class="content-wrapper autoheight" ui-view></div>
</div>
<!-- /.content-wrapper -->
<footer class="main-footer">
<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>
<!-- ./wrapper -->
</body>
</html>

@ -0,0 +1,439 @@
<!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">
.backgroud {
background-image: url("/static/images/manage_bg.png");
}
.total_logo {
padding-top: 4.62%;
text-align: center;
}
.box-items {
padding: 30px 15px 15px 15px;
cursor: pointer;
}
.box-items img {
width: 72px;
height: 72px;
}
.boxs {
display: flex;
justify-content: center;
align-items: center;
width: 180px;
height: 180px;
background: #434365;
border-radius: 5px;
}
.boxs:hover {
background: #FFFFFF;
}
.box-font {
font-family: PingFang-SC-Regular;
font-size: 20px;
color: #FFFFFF;
letter-spacing: 0px;
text-align: center;
padding-top: 25px;
}
footer {
font-family: PingFang-SC-Regular;
font-size: 12px;
color: #FFFFFF;
letter-spacing: 0px;
padding-bottom: 2.3%;
}
.easypay {
font-family: PingFang-SC-Regular;
font-size: 20px;
color: #FFFFFF;
letter-spacing: 0px;
padding-top: 1%;
padding-bottom: 1%;
}
.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;*/
}
.list-group label {
border-bottom: 1px solid #333333;
font-size: 20px;
color: #333333;
}
.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 href="#" onclick="location.reload()" class="logo logo-yedian shine" ng-if="!currentUser.org">
<!-- mini logo for sidebar mini 50x50 pixels -->
<span class="logo-mini"><img src="static/images/r_white_logo.svg"
style="max-height: 35px;margin-left: 15%;"></span>
<!-- logo for regular state and mobile devices -->
<span class="logo-lg"><img src="static/images/rp_white_logo.svg"
style="max-height: 35px;">
<b>RoyalPay</b>
</span>
</a>
<a href="#" onclick="location.reload()" class="logo logo-yedian shine" ng-if="currentUser.org">
<!-- mini logo for sidebar mini 50x50 pixels -->
<span class="logo-mini"><img ng-src="{{currentUser.org.logo}}"
style="max-height: 35px;margin-bottom: 8px;margin-right: 5px;"></span>
<!-- logo for regular state and mobile devices -->
<span class="logo-lg"><img ng-src="{{currentUser.org.logo}}"
style="max-height: 35px;margin-bottom: 8px;margin-right: 5px;"><b
ng-bind="currentUser.org.name"></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 -->
<!--顶部导航栏-->
<ul class="navbar-header" style="margin: 10px;left: 80%" >
<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 href="/managev2.html" role="button" style="color: #f06101 !important;">v2</a>
</li>
</ul>
<div class="navbar-custom-menu">
<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="Site Manager"
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>
</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 style="margin-left: 0;min-height: 890px" ui-view autoscroll="false">
<div class="backgroud">
<div class="total_logo">
<a><img src="/static/images/manage_total_logo.png"> </a>
<div class="easypay">
<b>Easy BusinessEasy Payment!</b>
</div>
</div>
<div style="margin: 0 auto;display: flex;padding-top: 40px;padding-bottom:0.5%;width: 60%;min-height:626px;flex-wrap:wrap">
<div class="box-items" ng-if="'10'|withRole">
<a ng-click="headerShow()" ui-sref="listMenu({role:'Compliance'})" ui-sref-opts="{reload:true}">
<div class="boxs">
<img src="/static/images/manage/menu_1.png">
</div>
<p class="box-font">Compliance</p>
</a>
</div>
<div class="box-items" ng-if="'10000000000'|withRole">
<a ng-click="headerShow()" ui-sref="listMenu({role:'RiskManager'})" ui-sref-opts="{reload:true}">
<div class="boxs">
<img src="/static/images/manage/menu_2.png">
</div>
<p class="box-font">Risk Manager</p>
</a>
</div>
<div class="box-items" ng-if="'100000'|withRole">
<a ng-click="headerShow()" ui-sref="listMenu({role:'AccountManager'})" ui-sref-opts="{reload:true}">
<div class="boxs">
<img src="/static/images/manage/menu_3.png">
</div>
<p class="box-font">Account Manager</p>
</a>
</div>
<div class="box-items" ng-if="'1000'|withRole">
<a ng-click="headerShow()" ui-sref="listMenu({role:'Accountant'})" ui-sref-opts="{reload:true}">
<div class="boxs">
<img src="/static/images/manage/menu_4.png">
</div>
<p class="box-font">Accountant</p>
</a>
</div>
<div class="box-items" ng-if="'100'|withRole">
<a ng-click="headerShow()" ui-sref="listMenu({role:'BDUser'})" ui-sref-opts="{reload:true}">
<div class="boxs">
<img src="/static/images/manage/menu_5.png">
</div>
<p class="box-font">BD User</p>
</a>
</div>
<div class="box-items" ng-if="'10000'|withRole">
<a ng-click="headerShow()" ui-sref="listMenu({role:'Service'})" ui-sref-opts="{reload:true}">
<div class="boxs">
<img src="/static/images/manage/menu_6.png">
</div>
<p class="box-font">Service</p>
</a>
</div>
<div class="box-items" ng-if="'1'|withRole">
<a ng-click="headerShow()" ui-sref="listMenu({role:'Administrator'})" ui-sref-opts="{reload:true}">
<div class="boxs">
<img src="/static/images/manage/menu_7.png">
</div>
<p class="box-font">Administrator</p>
</a>
</div>
<div class="box-items" ng-if="'10000000'|withRole">
<a ng-click="headerShow()" ui-sref="listMenu({role:'SiteManager'})" ui-sref-opts="{reload:true}">
<div class="boxs">
<img src="/static/images/manage/menu_8.png">
</div>
<p class="box-font">Site Manager</p>
</a>
</div>
<div class="box-items" ng-if="'100000000'|withRole">
<a ng-click="headerShow()" ui-sref="listMenu({role:'Developer'})" ui-sref-opts="{reload:true}">
<div class="boxs">
<img src="/static/images/manage/menu_9.png">
</div>
<p class="box-font">Developer</p>
</a>
</div>
<div class="box-items" ng-if="'1000000'|withRole">
<a ng-click="headerShow()" ui-sref="listMenu({role:'Director'})" ui-sref-opts="{reload:true}">
<div class="boxs">
<img src="/static/images/manage/menu_10.png">
</div>
<p class="box-font">Director</p>
</a>
</div>
</div>
<div style="text-align: center">
<footer>
<strong>Copyright © 2015-2017 <a href="http://www.royalpay.com.au">RoyalPay</a>.</strong> All rights
reserved.
</footer>
</div>
</div>
</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>

@ -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'];
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)
})
}
});

@ -5,9 +5,7 @@ define(['angular', 'angularSanitize', 'angularAnimate', 'angularMessages', 'uiRo
'use strict';
var app = angular.module('managerMainApp', ['ngSanitize', 'ngAnimate', 'ngMessages', 'ui.router', 'ui.bootstrap', 'ngFileUpload']);
app.config(['$urlRouterProvider', '$httpProvider', function ($urlRouterProvider, $httpProvider) {
/*
$urlRouterProvider.otherwise(((window.currentUser.role & parseInt('100000', 2)) > 0) ? '/managers' : '/dashboard');
*/
if (!$httpProvider.defaults.headers.get) {
$httpProvider.defaults.headers.get = {};
}
@ -17,19 +15,6 @@ 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) {
if (window.location.hash == "" || window.location.hash == "#/") {
$scope.headerDisplay = false;
$scope.copyright = false;
}else{
$scope.headerDisplay = true;
$scope.copyright = true;
}
$scope.headerShow = function () {
$scope.headerDisplay = true;
$scope.copyright = true;
};
$http.get('/sysconfig/base').then(function (resp) {
$rootScope.sysParams = resp.data;
});
@ -79,7 +64,7 @@ define(['angular', 'angularSanitize', 'angularAnimate', 'angularMessages', 'uiRo
}
})
};
// $scope.getManagerTodoNotices();
$scope.getManagerTodoNotices();
var connected;

@ -0,0 +1,404 @@
/**
* 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) {
/*
$urlRouterProvider.otherwise(((window.currentUser.role & parseInt('100000', 2)) > 0) ? '/managers' : '/dashboard');
*/
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) {
if (window.location.hash == "" || window.location.hash == "#/") {
$scope.headerDisplay = false;
$scope.copyright = false;
}else{
$scope.headerDisplay = true;
$scope.copyright = true;
}
$scope.headerShow = function () {
$scope.headerDisplay = true;
$scope.copyright = true;
};
$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;
});

@ -8,24 +8,58 @@ define(['angular', 'uiRouter', 'uiBootstrap'], function (angular) {
templateUrl: 'main_menu.html'
});
}]);
app.controller('listMenuCtrl', ['$scope', '$http', '$filter','$uibModal', 'commonDialog','$stateParams', function ($scope, $http,$filter, $uibModal, commonDialog,$stateParams) {
$scope.display = function () {
var json = {};
$(".list-group").each(function () {
var child = ($(".list-group").find('a')).length;
var label = ($(".list-group").find("label:first-child")).val();
if (child >0) {
json[label] = true;
}else {
json[label] = false;
}
});
return json;
app.controller('listMenuCtrl', ['$scope', '$http', '$filter','$uibModal','$location', '$anchorScroll','$stateParams', function ($scope, $http,$filter, $uibModal,$location, $anchorScroll,$stateParams) {
var gotohash = function (role) {
switch (role) {
case "Compliance" :
$location.hash('partners');
$anchorScroll();
break;
case "RiskManager" :
$location.hash('risk');
$anchorScroll();
break;
case "AccountManager" :
$location.hash('org');
$anchorScroll();
break;
case "Accountant" :
$location.hash('clearing');
$anchorScroll();
break;
case "BDUser" :
$location.hash('bd');
$anchorScroll();
break;
case "Service" :
$location.hash('art');
$anchorScroll();
break;
case "Administrator" :
$location.hash('setting');
$anchorScroll();
break;
case "SiteManager" :
$location.hash('cms');
$anchorScroll();
break;
case "Developer" :
$location.hash('develop');
$anchorScroll();
break;
case "Director" :
$location.hash('staff');
$anchorScroll();
break;
default:
break;
}
};
function init() {
console.log("dadadadada + " + $stateParams.role);
/*console.log("json + " + $scope.display());*/
}
gotohash($stateParams["role"]);
$scope.editRateConfig = function () {
$uibModal.open({
templateUrl: '/static/config/bdprize/templates/rate_config_dialog.html',
@ -46,7 +80,7 @@ define(['angular', 'uiRouter', 'uiBootstrap'], function (angular) {
})
};
init();
}]);
app.controller('bdRateConfigCtrl', ['$scope', '$http', 'rates', function ($scope, $http, rates) {

Loading…
Cancel
Save