diff --git a/src/main/ui/static/payment/partner/templates/partner_detail.html b/src/main/ui/static/payment/partner/templates/partner_detail.html
index 4bb2c5c3c..ca13b7bad 100644
--- a/src/main/ui/static/payment/partner/templates/partner_detail.html
+++ b/src/main/ui/static/payment/partner/templates/partner_detail.html
@@ -256,6 +256,11 @@
Settlement
+
+
+ Surcharge Account
+
+
Product
diff --git a/src/main/ui/static/payment/partner/templates/partner_surcharge_account.html b/src/main/ui/static/payment/partner/templates/partner_surcharge_account.html
new file mode 100644
index 000000000..fad3f72fc
--- /dev/null
+++ b/src/main/ui/static/payment/partner/templates/partner_surcharge_account.html
@@ -0,0 +1,111 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Client Moniker |
+ Settle Date |
+ Credit Amount |
+ Debit Amount |
+ Create_time |
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/ui/static/payment/surchargeaccount/partner-surcharge-account.js b/src/main/ui/static/payment/surchargeaccount/partner-surcharge-account.js
new file mode 100644
index 000000000..161f419fc
--- /dev/null
+++ b/src/main/ui/static/payment/surchargeaccount/partner-surcharge-account.js
@@ -0,0 +1,149 @@
+/**
+ * Created by yishuqian on 01/06/2017.
+ */
+define(['angular', 'decimal', 'uiBootstrap', 'uiRouter', 'angularEcharts'], function (angular) {
+ 'use strict';
+ var colors = ['#00c0ef', '#00a65a', '#ff851b', '#f39c12', '#d81b60', '#605ca8', '#dd4b39', '#008080', '#8B008B', '#D2691E', '#708090'];
+ var app = angular.module('surchargeAccountApp', ['ui.bootstrap', 'ui.router', 'ngEcharts']);
+ app.config(['$stateProvider', function ($stateProvider) {
+ $stateProvider.state('surcharge_account', {
+ url: '/surcharge_account',
+ templateUrl: '/static/payment/surchargeaccount/templates/client_surcharge_account.html',
+ resolve: {
+ partner: ['$http', function ($http) {
+ return $http.get('/client/partner_info');
+ }]
+ },
+ controller: 'clientSurchargeAccountCtrl'
+ }).state('surcharge_account_month', {
+ url: '/surcharge_account_month',
+ templateUrl: '/static/payment/surchargeaccount/templates/account_month_logs.html',
+ controller: 'surchargeAccountMonthCtrl'
+ })
+ }]);
+ app.controller('clientSurchargeAccountCtrl', ['$scope', '$http','$state','$filter', 'commonDialog','partner', function ($scope, $http,$state,$filter, commonDialog, partner) {
+
+ $scope.partner = angular.copy(partner.data);
+
+ $scope.getBalance = function () {
+ $scope.surcharge = {};
+
+ if ($scope.partner.surcharge_mode != undefined && $scope.partner.surcharge_mode == "distributed") {
+ $http.get('/client/partner_info/' + $scope.partner.client_moniker + '/surcharge_account').then(function (resp) {
+ $scope.surcharge = resp.data;
+ })
+
+ }
+ };
+
+ $scope.getTransactions = function () {
+ $http.get('/client/partner_info/' + $scope.partner.client_moniker + '/account/transactions').then(function (resp) {
+ $scope.transactions = resp.data;
+ })
+ }
+
+ $scope.getBalance();
+ $scope.getTransactions();
+
+
+ }]);
+ app.controller('surchargeAccountMonthCtrl', ['$scope', '$http', '$filter', '$timeout', '$uibModal', 'commonDialog', 'chartParser',
+ function ($scope, $http, $filter, $timeout, $uibModal, commonDialog, chartParser) {
+ $scope.params = {year: new Date().getFullYear()};
+ $scope.availableYears = [new Date().getFullYear() - 1, new Date().getFullYear()];
+ $scope.initMonth = function (year) {
+ $scope.params.year = year;
+ $scope.months = [];
+ for (var i = 1; i < 13; i++) {
+ var mon = '00' + i;
+ mon = mon.substr(mon.length - 2, 2);
+ $scope.months.push(year + '-' + mon);
+ }
+ };
+ $scope.initMonth(new Date().getFullYear());
+ $scope.hasReport = function (mon) {
+ var start = '2017-02';//todo modify in different country
+ var end = $filter('date')(new Date().setMonth(new Date().getMonth()-1), 'yyyy-MM');
+ return start <= mon && end >= mon
+ };
+ $scope.loadReport = function (mon) {
+
+ $http.get('/sys/surcharge_account/month/' + mon + '/settled_dates').then(function (resp) {
+ $scope.report = {
+ month: mon,
+ details: resp.data
+ };
+ })
+ };
+ $scope.surchargeAccountDetail = function (client_moniker,mon) {
+ $uibModal.open({
+ templateUrl: '/static/payment/surchargeaccount/templates/partner_surcharge_account_dialog.html',
+ controller: 'accountDetailCtrl',
+ size: 'lg',
+ resolve: {
+ client_moniker: function () {
+ return client_moniker;
+ },
+ month: function () {
+ return mon;
+ },
+ transactions: ['$http', function ($http) {
+ return $http.get('/sys/partners/' + client_moniker + '/account/transactions/date?date='+mon);
+ }]
+ }
+ }).result.then(function () {
+ $scope.loadReport($scope.report.month);
+ }, function () {
+ $scope.loadReport($scope.report.month);
+ });
+ };
+
+
+
+ }]);
+ app.controller('accountDetailCtrl', ['$scope','$http','transactions','client_moniker','commonDialog','month', function ($scope, $http, transactions,client_moniker,commonDialog,month) {
+ $scope.transactions = angular.copy(transactions.data);
+ $scope.canAddDetail = false;
+ $scope.params = {};
+ $scope.month = angular.copy(month);
+
+
+ $scope.getBalance = function () {
+ $http.get('/sys/partners/' + client_moniker + '/surcharge_account').then(function (resp) {
+ $scope.surcharge = resp.data;
+ })
+ };
+ $scope.getBalance();
+
+
+ $scope.getTransactions = function () {
+ $http.get('/sys/partners/' + client_moniker + '/account/transactions/date?date=' + $scope.month).then(function (resp) {
+ $scope.transactions = resp.data;
+ });
+ }
+
+ $scope.addDetail = function () {
+ $scope.canAddDetail = true;
+ };
+
+ $scope.cancel = function () {
+ $scope.canAddDetail = false;
+ $scope.params = {};
+ }
+ $scope.save = function () {
+ $http.post('/sys/partners/' + client_moniker + '/account/save', {amount:$scope.params.amount,remark:$scope.params.remark}).then(function (resp) {
+ $scope.getTransactions();
+ $scope.getBalance();
+ $scope.canAddDetail = false;
+ $scope.params = {};
+ }, function (resp) {
+ commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'});
+ });
+ }
+
+
+ }]);
+
+
+ return app;
+});
\ No newline at end of file
diff --git a/src/main/ui/static/payment/surchargeaccount/templates/account_month_logs.html b/src/main/ui/static/payment/surchargeaccount/templates/account_month_logs.html
new file mode 100644
index 000000000..2b2a39c8b
--- /dev/null
+++ b/src/main/ui/static/payment/surchargeaccount/templates/account_month_logs.html
@@ -0,0 +1,76 @@
+
+
+
+
+
+
+
+
+
+ 商户编号 |
+ Short Name |
+ 充值总额 |
+ 支出总额 |
+ 余额 |
+ 操作 |
+
+
+
+
+ |
+ |
+ |
+ |
+
+ {{details.balance|currency:'$'}}
+ {{details.balance|currency:'$'}}
+ |
+
+
+
+
+
+ |
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/ui/static/payment/surchargeaccount/templates/client_surcharge_account.html b/src/main/ui/static/payment/surchargeaccount/templates/client_surcharge_account.html
new file mode 100644
index 000000000..efb9f99f2
--- /dev/null
+++ b/src/main/ui/static/payment/surchargeaccount/templates/client_surcharge_account.html
@@ -0,0 +1,114 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Num |
+ Create Time |
+ Amount |
+ Remark |
+ Operator |
+
+
+
+
+ {{$index+1}} |
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Num |
+ Settle Date |
+ Amount |
+ Total Surcharge |
+ Tax Amount |
+ Remark |
+
+
+
+
+ {{$index+1}} |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/ui/static/payment/surchargeaccount/templates/partner_surcharge_account_dialog.html b/src/main/ui/static/payment/surchargeaccount/templates/partner_surcharge_account_dialog.html
new file mode 100644
index 000000000..43d081316
--- /dev/null
+++ b/src/main/ui/static/payment/surchargeaccount/templates/partner_surcharge_account_dialog.html
@@ -0,0 +1,88 @@
+
+
+
+
+ {{surcharge.balance|currency:'AUD'}}
+
+
+
+
+
+
+
+
+
+
+ Num |
+ Create Time |
+ Amount |
+ Remark |
+ Operator |
+
+
+
+
+ {{$index+1}} |
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Num |
+ Settle Date |
+ Amount |
+ Total Surcharge |
+ Tax Amount |
+ Remark |
+
+
+
+
+ {{$index+1}} |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+