parent
113d2bcc84
commit
9df05a5ee1
@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||
<mapper namespace="au.com.royalpay.payment.manage.mappers.financial.FinancialAgentCommissionDetailMapper">
|
||||
|
||||
<select id="listDetailsByRecordIds" resultType="com.alibaba.fastjson.JSONObject">
|
||||
SELECT
|
||||
d.*,
|
||||
c.client_moniker
|
||||
FROM financial_agent_commission_detail d
|
||||
INNER JOIN sys_clients c ON c.client_id = d.client_id
|
||||
WHERE d.record_id in
|
||||
<foreach collection="list" item="item" open="(" close=")" separator=",">
|
||||
#{item}
|
||||
</foreach>
|
||||
ORDER BY c.client_moniker ASC
|
||||
</select>
|
||||
</mapper>
|
@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||
<mapper namespace="au.com.royalpay.payment.manage.mappers.financial.FinancialAgentCommissionMapper">
|
||||
<select id="listAvailableMonths" resultType="java.lang.Integer">
|
||||
SELECT DISTINCT `month`
|
||||
FROM financial_agent_commission
|
||||
WHERE `year` = #{year}
|
||||
ORDER BY `month` ASC
|
||||
</select>
|
||||
<select id="find" resultType="com.alibaba.fastjson.JSONObject">
|
||||
SELECT
|
||||
c.*,
|
||||
o.name `name`
|
||||
FROM financial_agent_commission c
|
||||
INNER JOIN sys_org o ON o.org_id = c.org_id and o.type=1
|
||||
WHERE c.year = #{year} AND c.month = #{month} and c.org_id=#{org_id}
|
||||
</select>
|
||||
<select id="list" resultType="com.alibaba.fastjson.JSONObject">
|
||||
SELECT
|
||||
c.*,
|
||||
o.name
|
||||
FROM financial_agent_commission c
|
||||
INNER JOIN sys_org o ON o.org_id = c.org_id and o.type=1
|
||||
WHERE c.year = #{year} AND c.month = #{month}
|
||||
</select>
|
||||
</mapper>
|
@ -0,0 +1,104 @@
|
||||
/**
|
||||
* Created by yixian on 2017-03-08.
|
||||
*/
|
||||
define(['angular','../../agent/commission/commission'], function (angular) {
|
||||
'use strict';
|
||||
var app = angular.module('agentCommission', ['ui.router']);
|
||||
app.config(['$stateProvider', function ($stateProvider) {
|
||||
$stateProvider.state('analysis_agent', {
|
||||
url: '/analysis_agent/agentcommission',
|
||||
templateUrl: '/static/agent/commission/templates/agent_commission_root.html',
|
||||
controller: 'agentCommissionRootCtrl'
|
||||
}).state('analysis_agent.agentcommission.month', {
|
||||
url: '/analysis_agent/agentcommission/months/{monthStr}',
|
||||
templateUrl: '/static/agent/commission/templates/agent_commission_month.html',
|
||||
controller: 'agentCommissionMonthViewCtrl',
|
||||
resolve: {
|
||||
monthData: ['$http', '$stateParams', function ($http, $stateParams) {
|
||||
return $http.get('/sys/citypartner_prizes/agent/months/' + $stateParams.monthStr);
|
||||
}]
|
||||
}
|
||||
}).state('analysis_agent.agentcommission.month.agentdetail', {
|
||||
url: '/analysis_agent/agentcommission/{orgId}',
|
||||
templateUrl: '/static/agent/commission/templates/agent_commission_detail.html',
|
||||
controller: 'agentCommissionagentDetailCtrl',
|
||||
resolve: {
|
||||
detail: ['$http', '$stateParams', function ($http, $stateParams) {
|
||||
return $http.get('/sys/citypartner_prizes/agent/months/' + $stateParams.monthStr + '/orgs/' + $stateParams.orgId);
|
||||
}]
|
||||
}
|
||||
})
|
||||
}]);
|
||||
|
||||
app.controller('agentCommissionRootCtrl', ['$scope', '$http', '$filter', '$state', 'commonDialog',
|
||||
function ($scope, $http, $filter, $state, commonDialog) {
|
||||
$scope.generate = {};
|
||||
|
||||
$scope.generateagentCommission = function () {
|
||||
$scope.generate.status = {};
|
||||
if (!$scope.generate.month) {
|
||||
commonDialog.alert({
|
||||
type: 'error', title: 'Error', content: 'Select a month first!'
|
||||
});
|
||||
return;
|
||||
}
|
||||
commonDialog.confirm({
|
||||
title: 'Confirm',
|
||||
content: 'This operation will clear the data generated before, Are you sure?'
|
||||
}).then(function () {
|
||||
var params = {month: $filter('date')($scope.generate.month, 'yyyy-MM')};
|
||||
$http.post('/sys/citypartner_prizes/agent/generate', params).then(function () {
|
||||
$state.go('analysis_agent.agentcommission.month', {monthStr: params.month})
|
||||
$scope.generate.status = null;
|
||||
}, function (resp) {
|
||||
commonDialog.alert({type: 'error', title: 'Error', content: resp.data.message});
|
||||
})
|
||||
})
|
||||
};
|
||||
$scope.params = {year: new Date()};
|
||||
$scope.months = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
|
||||
$scope.loadAvailableMonths = function () {
|
||||
$http.get('/sys/citypartner_prizes/agent/months', {params: {year: $scope.params.year.getFullYear()}}).then(function (resp) {
|
||||
$scope.availableMonths = resp.data;
|
||||
});
|
||||
};
|
||||
|
||||
$scope.loadAvailableMonths();
|
||||
$scope.hasReport = function (mon) {
|
||||
var has = false;
|
||||
angular.forEach($scope.availableMonths, function (m) {
|
||||
if (mon == m.month) {
|
||||
has = true;
|
||||
}
|
||||
});
|
||||
return has;
|
||||
};
|
||||
$scope.gotoMonth = function (mon) {
|
||||
var monthStr = $scope.params.year.getFullYear() + '-' + (('0' + mon).substr(-2));
|
||||
$state.go('analysis_agent.agentcommission.month', {monthStr: monthStr})
|
||||
};
|
||||
}]);
|
||||
app.controller('agentCommissionMonthViewCtrl', ['$scope', 'monthData', function ($scope, monthData) {
|
||||
$scope.monthData = monthData.data;
|
||||
$scope.ctrl = {};
|
||||
$scope.active = function (log) {
|
||||
if($scope.ctrl.activeLog && $scope.ctrl.activeLog.org_id==log.org_id){
|
||||
$scope.ctrl.activeLog=null;
|
||||
return;
|
||||
}
|
||||
$scope.ctrl.activeLog=log;
|
||||
}
|
||||
}]);
|
||||
app.controller('agentCommissionagentDetailCtrl', ['$scope', 'detail', function ($scope, detail) {
|
||||
$scope.detail = detail.data;
|
||||
$scope.ctrl = {};
|
||||
$scope.active = function (log) {
|
||||
if($scope.ctrl.activeLog && $scope.ctrl.activeLog.client_moniker==log.client_moniker){
|
||||
$scope.ctrl.activeLog=null;
|
||||
return;
|
||||
}
|
||||
$scope.ctrl.activeLog=log;
|
||||
}
|
||||
}]);
|
||||
return app;
|
||||
});
|
@ -0,0 +1,185 @@
|
||||
<style type="text/css">
|
||||
|
||||
.nowrap > div {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<div class="box box-warning" ng-if="detail">
|
||||
<div class="box-header">Analysis</div>
|
||||
<div class="box-body nowrap">
|
||||
<div class="row">
|
||||
<div class="col-xs-3 col-sm-3">
|
||||
City Partner:<span ng-bind="detail.name"></span>
|
||||
</div>
|
||||
<div class="col-xs-3 col-sm-3">
|
||||
Month:<span ng-bind="detail.monthstr"></span>
|
||||
</div>
|
||||
<div class="col-xs-3 col-sm-3 nowrap">
|
||||
Total Transaction:{{detail.total_transaction}}
|
||||
</div>
|
||||
<div class="col-xs-3 col-sm-3 nowrap">
|
||||
Total Charge:{{detail.total_charge}}
|
||||
</div>
|
||||
<div class="col-xs-3 col-sm-3 nowrap">
|
||||
RoyalPay Charge:{{detail.royalPay_charge}}
|
||||
</div>
|
||||
<div class="col-xs-3 col-sm-3 nowrap">
|
||||
Net Charge:{{detail.net_charge}}
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-6 nowrap">
|
||||
City Partner Charge:{{detail.city_partner_charge}}
|
||||
</div>
|
||||
|
||||
<div class="col-xs-3 ng-scope"
|
||||
ng-if="detail.Alipay_gross_amount|| detail.Alipay_total_charge || detail.Alipay_royalpay_charge|| detail.Alipay_org_charge">
|
||||
<div class="info-box" style="background: lightcyan">
|
||||
<div class="info-box-icon" style=" background: bottom;">
|
||||
<img uib-tooltip="Alipay" src="/static/images/alipay_sign_lg.png">
|
||||
</div>
|
||||
<div class="info-box-content">
|
||||
<h5 class="ng-binding">Total Transaction:<span
|
||||
ng-bind="detail.Alipay_gross_amount|currency:'AUD'"></span></h5>
|
||||
<h5 class="ng-binding">Total Charge:<span
|
||||
ng-bind="detail.Alipay_total_charge|currency:'AUD'"></span></h5>
|
||||
<h5 class="ng-binding">RoyalPay Charge:<span
|
||||
ng-bind="detail.Alipay_royalpay_charge|currency:'AUD'"></span></h5>
|
||||
<h5 class="ng-binding">Net Charge:<span
|
||||
ng-bind="detail.Alipay_net_charge|currency:'AUD'"></span></h5>
|
||||
<h5 class="ng-binding">City Partner Charge:<span
|
||||
ng-bind="detail.Alipay_org_charge|currency:'AUD'"></span></h5>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-3 ng-scope"
|
||||
ng-if="detail.Bestpay_gross_amount|| detail.Bestpay_total_charge || detail.Bestpay_royalpay_charge|| detail.Bestpay_org_charge">
|
||||
<div class="info-box" style="background: lightcyan">
|
||||
<div class="info-box-icon" style=" background: bottom;">
|
||||
<img uib-tooltip="Bestpay" src="/static/images/bestpay_sign_lg.png">
|
||||
</div>
|
||||
<div class="info-box-content">
|
||||
<h5 class="ng-binding">Total Transaction:<span
|
||||
ng-bind="detail.Bestpay_gross_amount|currency:'AUD'"></span></h5>
|
||||
<h5 class="ng-binding">Total Charge:<span
|
||||
ng-bind="detail.Bestpay_total_charge|currency:'AUD'"></span></h5>
|
||||
<h5 class="ng-binding">RoyalPay Charge:<span
|
||||
ng-bind="detail.Bestpay_royalpay_charge|currency:'AUD'"></span></h5>
|
||||
<h5 class="ng-binding">Net Charge:<span
|
||||
ng-bind="detail.Bestpay_net_charge|currency:'AUD'"></span></h5>
|
||||
<h5 class="ng-binding">City Partner Charge:<span
|
||||
ng-bind="detail.Bestpay_org_charge|currency:'AUD'"></span></h5>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-3 ng-scope"
|
||||
ng-if="detail.Wechat_gross_amount|| detail.Wechat_total_charge || detail.Wechat_royalpay_charge|| detail.Wechat_org_charge">
|
||||
<div class="info-box" style="background: lightcyan">
|
||||
<div class="info-box-icon" style=" background: bottom;">
|
||||
<img uib-tooltip="Wechat" src="/static/images/wechatpay_sign_lg.png">
|
||||
</div>
|
||||
<div class="info-box-content">
|
||||
<h5 class="ng-binding"> Total Transaction:<span
|
||||
ng-bind="detail.Wechat_gross_amount|currency:'AUD'"></span></h5>
|
||||
<h5 class="ng-binding"> Total Charge:<span
|
||||
ng-bind="detail.Wechat_total_charge|currency:'AUD'"></span></h5>
|
||||
<h5 class="ng-binding"> RoyalPay Charge:<span
|
||||
ng-bind="detail.Wechat_royalpay_charge|currency:'AUD'"></span></h5>
|
||||
<h5 class="ng-binding">Net Charge:<span
|
||||
ng-bind="detail.Wechat_net_charge|currency:'AUD'"></span></h5>
|
||||
<h5 class="ng-binding">City Partner Charge:<span
|
||||
ng-bind="detail.Wechat_org_charge|currency:'AUD'"></span></h5>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-3 ng-scope"
|
||||
ng-if="detail.jd_gross_amount|| detail.jd_total_charge || detail.jd_royalpay_charge|| detail.jd_org_charge">
|
||||
<div class="info-box" style="background: lightcyan">
|
||||
<div class="info-box-icon" style=" background: bottom;">
|
||||
<img uib-tooltip="jd" src="/static/images/jd_sign_lg.png">
|
||||
</div>
|
||||
<div class="info-box-content">
|
||||
<h5 class="ng-binding"> Total Transaction:<span
|
||||
ng-bind="detail.jd_gross_amount|currency:'AUD'"></span></h5>
|
||||
<h5 class="ng-binding"> Total Charge:<span
|
||||
ng-bind="detail.jd_total_charge|currency:'AUD'"></span></h5>
|
||||
<h5 class="ng-binding"> RoyalPay Charge:<span
|
||||
ng-bind="detail.jd_royalpay_charge|currency:'AUD'"></span></h5>
|
||||
<h5 class="ng-binding">Net Charge:<span
|
||||
ng-bind="detail.jd_net_charge|currency:'AUD'"></span></h5>
|
||||
<h5 class="ng-binding">City Partner Charge:<span
|
||||
ng-bind="detail.jd_org_charge|currency:'AUD'"></span></h5>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box box-default" ng-if="detail">
|
||||
<div class="box-body table-responsive">
|
||||
<table class="table table-bordered table-hover table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Client Moniker</th>
|
||||
<th>Transaction</th>
|
||||
<th>Total Charge</th>
|
||||
<th>RoyalPay Charge</th>
|
||||
<th>Net Charge</th>
|
||||
<th>City Partner Charge</th>
|
||||
<th>Details</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat-start="log in detail.partner_client_infos">
|
||||
<td ng-bind="log.client_moniker"></td>
|
||||
<td ng-bind="log.gross_amount|currency:'AUD'"></td>
|
||||
<td ng-bind="log.total_charge|currency:'AUD'"></td>
|
||||
<td ng-bind="log.royalpay_charge|currency:'AUD'"></td>
|
||||
<td ng-bind="log.net_charge|currency:'AUD'"></td>
|
||||
<td ng-bind="log.org_charge|currency:'AUD'"></td>
|
||||
|
||||
<td>
|
||||
<a role="button" ng-click="active(log)">
|
||||
<i class="fa fa-list-ul"></i>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr ng-repeat-end ng-if="log.client_moniker==ctrl.activeLog.client_moniker">
|
||||
<td colspan="6">
|
||||
<table class="table table-bordered table-hover table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Order Date Range</th>
|
||||
<th>Client Rate</th>
|
||||
<th>Transaction Amount</th>
|
||||
<th>Total Charge</th>
|
||||
<th>RoyalPay Charge</th>
|
||||
<th>Net Charge</th>
|
||||
<th>City Partner Charge</th>
|
||||
<th>channel</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="detail in log.channel_detail">
|
||||
<td>
|
||||
{{detail.date_from|date:'dd/MMM/yyyy'}}~{{detail.date_to|date:'dd/MMM/yyyy'}}
|
||||
</td>
|
||||
<td ng-bind="detail.client_rate"></td>
|
||||
<td ng-bind="detail.gross_amount"></td>
|
||||
<td ng-bind="detail.total_charge"></td>
|
||||
<td ng-bind="detail.royalpay_charge"></td>
|
||||
<td ng-bind="detail.net_charge"></td>
|
||||
<td ng-bind="detail.org_charge"></td>
|
||||
<td ng-bind="detail.channel"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
@ -0,0 +1,88 @@
|
||||
<div ui-view>
|
||||
<div class="box box-warning">
|
||||
<div class="box-header">Analysis</div>
|
||||
<div class="box-body">
|
||||
<div class="row">
|
||||
<div class="col-xs-6 col-sm-3">
|
||||
Month:<span ng-bind="monthData.monthstr"></span>
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-3">
|
||||
Total Charge:<span ng-bind="monthData.total_charge|currency:'AUD'"></span>
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-3">
|
||||
RoyalPay Charge:<span ng-bind="monthData.royalpay_charge|currency:'AUD'"></span>
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-3">
|
||||
Net Charge:<span ng-bind="monthData.net_charge|currency:'AUD'"></span>
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-3">
|
||||
City Partner Charge:<span ng-bind="monthData.org_charge|currency:'AUD'"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box box-default">
|
||||
<div class="box-header">Details</div>
|
||||
<div class="box-body table-responsive">
|
||||
<table class="table table-bordered table-hover table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>City Partner Name</th>
|
||||
<th>Transaction Amount</th>
|
||||
<th>Total Charge</th>
|
||||
<th>RoyalPay Charge</th>
|
||||
<th>Net Charge</th>
|
||||
<th>City Partner Charge</th>
|
||||
<th>Details</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat-start="log in monthData.partner_info_list">
|
||||
<td ng-bind="log.org_name"></td>
|
||||
<td ng-bind="log.gross_amount|currency:'AUD'"></td>
|
||||
<td ng-bind="log.total_charge|currency:'AUD'"></td>
|
||||
<td ng-bind="log.royalpay_charge|currency:'AUD'"></td>
|
||||
<td ng-bind="log.net_charge|currency:'AUD'"></td>
|
||||
<td ng-bind="log.org_charge|currency:'AUD'"></td>
|
||||
<td>
|
||||
<a ui-sref=".orgdetail({orgId:log.org_id})">
|
||||
<i class="fa fa-search"></i>
|
||||
</a>
|
||||
<a role="button" ng-click="active(log)">
|
||||
<i class="fa fa-list-ul"></i>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr ng-repeat-end ng-if="log.org_id==ctrl.activeLog.org_id">
|
||||
<td colspan="6">
|
||||
<table class="table table-bordered table-hover table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Keep Rate</th>
|
||||
<th>Transaction Amount</th>
|
||||
<th>Total Charge</th>
|
||||
<th>RoyalPay Charge</th>
|
||||
<th>Net Charge</th>
|
||||
<th>City Partner Charge</th>
|
||||
<th>channel</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat = "detail in log.channel_detail" >
|
||||
<td ng-bind="detail.org_rate"></td>
|
||||
<td ng-bind="detail.gross_amount"></td>
|
||||
<td ng-bind="detail.total_charge"></td>
|
||||
<td ng-bind="detail.royalpay_charge"></td>
|
||||
<td ng-bind="detail.net_charge"></td>
|
||||
<td ng-bind="detail.org_charge"></td>
|
||||
<td ng-bind="detail.channel"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
@ -0,0 +1,60 @@
|
||||
<!--<section class="content-header">-->
|
||||
<!--<h1>City Partner Commissions</h1>-->
|
||||
<!--<ol class="breadcrumb">-->
|
||||
<!--<li><i class="fa fa-users"></i> Analysis</li>-->
|
||||
<!--<li class="active">City Partner Commissions</li>-->
|
||||
<!--</ol>-->
|
||||
<!--</section>-->
|
||||
<section class="content">
|
||||
<div class="box box-default">
|
||||
<div class="box-body">
|
||||
<div class="form-inline">
|
||||
<div class="form-group">
|
||||
<input type="text" class="form-control" uib-datepicker-popup="yyyy-MM" ng-model="generate.month"
|
||||
is-open="ctrl.genmonth" datepicker-options="{minMode: 'month'}"
|
||||
ng-click="ctrl.genmonth=true" placeholder="Select Month"/>
|
||||
|
||||
</div>
|
||||
<button class="btn btn-primary" ng-click="generateOrgCommission()" ng-disabled="!generate.month">
|
||||
Generate
|
||||
</button>
|
||||
<loadingbar ng-if="generate.status"></loadingbar>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box box-warning">
|
||||
<div class="box-header">
|
||||
<input type="text" class="hidden" uib-datepicker-popup="yyyy" ng-model="params.year" is-open="ctrl.viewyear"
|
||||
datepicker-options="{minMode: 'year'}" ng-change="loadAvailableMonths()"
|
||||
placeholder="Select Year">
|
||||
<span ng-bind="params.year.getFullYear()" ng-click="ctrl.viewyear=true"></span>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-3 col-sm-6 col-xs-12" ng-repeat="mon in availableMonths">
|
||||
<div class="info-box">
|
||||
<div class="info-box-icon bg-aqua" ng-bind="mon.month" ng-click="gotoMonth(mon.monthstr)" role="button">
|
||||
</div>
|
||||
<div class="info-box-content">
|
||||
<!--<div class="info-box-text text-bold text-red" ng-bind="r.charge_date"></div>-->
|
||||
<div>
|
||||
<div class="info-box-number-right">
|
||||
<span class="text-bold">Total Charge:</span>
|
||||
<span class="text-green" ng-bind="mon.total_charge|currency:'AUD'"></span>
|
||||
</div>
|
||||
<div class="info-box-number-right">
|
||||
<span class="text-bold">RoyalPay Charge:</span>
|
||||
<span class="text-green" ng-bind="mon.royalpay_charge|currency:'AUD'"></span>
|
||||
</div>
|
||||
<div class="info-box-number-right">
|
||||
<span class="text-bold">City Partner Charge:</span>
|
||||
<span class="text-green" ng-bind="mon.org_charge|currency:'AUD'"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div ui-view></div>
|
||||
</section>
|
Loading…
Reference in new issue