|
|
|
@ -37,11 +37,184 @@ define(['angular', 'static/commons/commons', 'uiBootstrap', 'uiRouter', 'ngBootS
|
|
|
|
|
|
|
|
|
|
}]);
|
|
|
|
|
|
|
|
|
|
app.controller('actCustomerRedpackOrdersCtrl',['$scope','$http',function ($scope, $http) {
|
|
|
|
|
app.controller('actCustomerRedpackOrdersCtrl',['$scope','$http','$filter',function ($scope, $http,$filter) {
|
|
|
|
|
$scope.analysis = {};
|
|
|
|
|
$scope.today = new Date();
|
|
|
|
|
$scope.chooseToday = function () {
|
|
|
|
|
$scope.analysis.begin = $scope.analysis.end = new Date();
|
|
|
|
|
$scope.doAnalysis();
|
|
|
|
|
};
|
|
|
|
|
$scope.chooseYesterday = function () {
|
|
|
|
|
var yesterday = new Date();
|
|
|
|
|
yesterday.setDate(yesterday.getDate() - 1);
|
|
|
|
|
$scope.analysis.begin = $scope.analysis.end = yesterday;
|
|
|
|
|
$scope.doAnalysis();
|
|
|
|
|
};
|
|
|
|
|
$scope.chooseLast7Days = function () {
|
|
|
|
|
$scope.analysis.end = new Date();
|
|
|
|
|
var day = new Date();
|
|
|
|
|
day.setDate(day.getDate() - 7);
|
|
|
|
|
$scope.analysis.begin = day;
|
|
|
|
|
$scope.doAnalysis();
|
|
|
|
|
};
|
|
|
|
|
$scope.thisMonth = function () {
|
|
|
|
|
$scope.analysis.end = new Date();
|
|
|
|
|
var monthBegin = new Date();
|
|
|
|
|
monthBegin.setDate(1);
|
|
|
|
|
$scope.analysis.begin = monthBegin;
|
|
|
|
|
$scope.doAnalysis();
|
|
|
|
|
};
|
|
|
|
|
$scope.doAnalysis = function () {
|
|
|
|
|
var params = angular.copy($scope.analysis);
|
|
|
|
|
if (params.begin) {
|
|
|
|
|
params.from = $filter('date')(params.begin, 'yyyyMMdd');
|
|
|
|
|
} else {
|
|
|
|
|
params.from = $filter('date')(new Date(), 'yyyyMMdd');
|
|
|
|
|
}
|
|
|
|
|
if (params.end) {
|
|
|
|
|
params.to = $filter('date')(params.end, 'yyyyMMdd');
|
|
|
|
|
} else {
|
|
|
|
|
params.to = $filter('date')(new Date(), 'yyyyMMdd');
|
|
|
|
|
}
|
|
|
|
|
$http.get('/sys/redpack/customer/'+$scope.act.act_id+'/sendLogs/analysis', {params: params}).then(function (resp) {
|
|
|
|
|
$scope.redPackCounts = angular.copy(resp.data);
|
|
|
|
|
var dates = [];
|
|
|
|
|
var send_counts = [];
|
|
|
|
|
var fail_counts = [];
|
|
|
|
|
var receive_counts = [];
|
|
|
|
|
var refund_counts = [];
|
|
|
|
|
var amounts = [];
|
|
|
|
|
var real_amounts = [];
|
|
|
|
|
resp.data.forEach(function (e) {
|
|
|
|
|
dates.push(e.date);
|
|
|
|
|
send_counts.push(e.send_counts);
|
|
|
|
|
fail_counts.push(e.fail_counts);
|
|
|
|
|
receive_counts.push(e.receive_counts);
|
|
|
|
|
refund_counts.push(e.refund_counts);
|
|
|
|
|
amounts.push(e.amount);
|
|
|
|
|
real_amounts.push(e.real_amount);
|
|
|
|
|
});
|
|
|
|
|
var customerRedPackSendLogsHistory = function (dates, send_counts, fail_counts, receive_counts, refund_counts, amounts, real_amounts) {
|
|
|
|
|
return {
|
|
|
|
|
color: colors,
|
|
|
|
|
tooltip: {
|
|
|
|
|
trigger: 'axis',
|
|
|
|
|
axisPointer: { // 坐标轴指示器,坐标轴触发有效
|
|
|
|
|
type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
legend: {
|
|
|
|
|
data: ['已领取', '发送未领取', '发送失败', '退回', '发送红包金额', '实际红包金额']
|
|
|
|
|
},
|
|
|
|
|
grid: {
|
|
|
|
|
left: '3%',
|
|
|
|
|
right: '4%',
|
|
|
|
|
bottom: '3%',
|
|
|
|
|
containLabel: true
|
|
|
|
|
},
|
|
|
|
|
xAxis: [
|
|
|
|
|
{
|
|
|
|
|
type: 'category',
|
|
|
|
|
data: dates
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
yAxis: [
|
|
|
|
|
{
|
|
|
|
|
type: 'value',
|
|
|
|
|
name: 'RedPackets'
|
|
|
|
|
}, {
|
|
|
|
|
type: 'value',
|
|
|
|
|
name: 'Amount(¥)'
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
series: [{
|
|
|
|
|
name: '已领取',
|
|
|
|
|
type: 'bar',
|
|
|
|
|
stack: 'repackets',
|
|
|
|
|
data: receive_counts
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: '发送未领取',
|
|
|
|
|
type: 'bar',
|
|
|
|
|
stack: 'repackets',
|
|
|
|
|
data: send_counts
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: '发送失败',
|
|
|
|
|
type: 'bar',
|
|
|
|
|
stack: 'repackets',
|
|
|
|
|
data: fail_counts
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
name: '退回',
|
|
|
|
|
type: 'bar',
|
|
|
|
|
stack: 'repackets',
|
|
|
|
|
data: refund_counts
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: '发送红包金额',
|
|
|
|
|
type: 'line',
|
|
|
|
|
yAxisIndex: 1,
|
|
|
|
|
data: amounts
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: '实际红包金额',
|
|
|
|
|
type: 'line',
|
|
|
|
|
yAxisIndex: 1,
|
|
|
|
|
data: real_amounts
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
$scope.customerRedPackSendLogsHistory = customerRedPackSendLogsHistory(dates, send_counts, fail_counts, receive_counts, refund_counts, amounts, real_amounts);
|
|
|
|
|
|
|
|
|
|
})
|
|
|
|
|
};
|
|
|
|
|
$scope.chooseLast7Days();
|
|
|
|
|
|
|
|
|
|
/* 《==========================================OrderList========================================================>*/
|
|
|
|
|
$scope.params = {};
|
|
|
|
|
$scope.redpack_order_pagination = {};
|
|
|
|
|
$scope.chooseTodayForLogs = function () {
|
|
|
|
|
$scope.params.begin = $scope.params.end = new Date();
|
|
|
|
|
$scope.listOrders(1);
|
|
|
|
|
};
|
|
|
|
|
$scope.chooseYesterdayForLogs = function () {
|
|
|
|
|
var yesterday = new Date();
|
|
|
|
|
yesterday.setDate(yesterday.getDate() - 1);
|
|
|
|
|
$scope.params.begin = $scope.params.end = yesterday;
|
|
|
|
|
$scope.listOrders(1);
|
|
|
|
|
};
|
|
|
|
|
$scope.chooseLast7DaysForLogs = function () {
|
|
|
|
|
$scope.params.end = new Date();
|
|
|
|
|
var day = new Date();
|
|
|
|
|
day.setDate(day.getDate() - 7);
|
|
|
|
|
$scope.params.begin = day;
|
|
|
|
|
$scope.listOrders(1);
|
|
|
|
|
};
|
|
|
|
|
$scope.thisMonthForLogs = function () {
|
|
|
|
|
$scope.params.end = new Date();
|
|
|
|
|
var monthBegin = new Date();
|
|
|
|
|
monthBegin.setDate(1);
|
|
|
|
|
$scope.params.begin = monthBegin;
|
|
|
|
|
$scope.listOrders(1);
|
|
|
|
|
};
|
|
|
|
|
$scope.customerLuckyMoneyAnalysis = function (params) {
|
|
|
|
|
$http.get('/sys/redpack/customer/act/' + $scope.act.act_id + '/analysis', {params: params}).then(function (resp) {
|
|
|
|
|
$scope.luckyMoneyAnalysis = resp.data;
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
$scope.customerLuckyMoneyAnalysis({});
|
|
|
|
|
$scope.listOrders = function (page) {
|
|
|
|
|
var params = angular.copy($scope.redpack_order_pagination);
|
|
|
|
|
params.page = page || params.page || 1;
|
|
|
|
|
var params = angular.copy($scope.params);
|
|
|
|
|
if (params.begin) {
|
|
|
|
|
params.from = $filter('date')(params.begin, 'yyyyMMdd');
|
|
|
|
|
}
|
|
|
|
|
if (params.end) {
|
|
|
|
|
params.to = $filter('date')(params.end, 'yyyyMMdd');
|
|
|
|
|
}
|
|
|
|
|
params.page = page || $scope.redpack_order_pagination.page || 1;
|
|
|
|
|
$http.get('/sys/redpack/customer/act/'+$scope.act.act_id, {params: params}).then(function (resp) {
|
|
|
|
|
$scope.redpack_order_pagination = resp.data.pagination;
|
|
|
|
|
$scope.orders = resp.data.data;
|
|
|
|
@ -94,6 +267,17 @@ define(['angular', 'static/commons/commons', 'uiBootstrap', 'uiRouter', 'ngBootS
|
|
|
|
|
};
|
|
|
|
|
$scope.listClients();
|
|
|
|
|
|
|
|
|
|
$scope.addAttendClient = function () {
|
|
|
|
|
$uibModal.open({
|
|
|
|
|
templateUrl: '/static/config/redpackets/templates/add_act_client.html',
|
|
|
|
|
controller: 'addClientInfoCtrl',
|
|
|
|
|
resolve: {
|
|
|
|
|
act: $scope.act
|
|
|
|
|
}
|
|
|
|
|
}).result.then(function () {
|
|
|
|
|
$scope.listClients();
|
|
|
|
|
})
|
|
|
|
|
};
|
|
|
|
|
$scope.editClientInfo = function (client) {
|
|
|
|
|
var client = angular.copy(client);
|
|
|
|
|
$uibModal.open({
|
|
|
|
@ -129,6 +313,18 @@ define(['angular', 'static/commons/commons', 'uiBootstrap', 'uiRouter', 'ngBootS
|
|
|
|
|
$scope.$close();
|
|
|
|
|
}
|
|
|
|
|
}]);
|
|
|
|
|
app.controller('addClientInfoCtrl',['$scope', '$http','act','commonDialog', function ($scope, $http,act,commonDialog) {
|
|
|
|
|
$scope.client = {act_name:act.act_name};
|
|
|
|
|
$scope.doAddClientInfo = function(){
|
|
|
|
|
var params= {'send_name':$scope.client.send_name,'act_name':$scope.client.act_name,'wishing':$scope.client.wishing};
|
|
|
|
|
$http.post('/sys/lucky_money/customer/acts/'+act.act_id+'/partners/'+$scope.client.client_moniker,params).then(function () {
|
|
|
|
|
commonDialog.alert({title: 'Success', content: '新增成功!', type: 'success'});
|
|
|
|
|
$scope.$close();
|
|
|
|
|
}, function (resp) {
|
|
|
|
|
commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'})
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}]);
|
|
|
|
|
|
|
|
|
|
app.filter('send_status', function () {
|
|
|
|
|
return function (stateValue) {
|
|
|
|
|