|
|
@@ -1,13 +1,220 @@
|
|
|
define([ 'app/app' ], function(app) {
|
|
|
'use strict';
|
|
|
- app.register.controller('NoInvoiceCtrl', ['$scope','$rootScope','$modal', function ($scope, $rootScope, $modal) {
|
|
|
+ app.register.controller('NoInvoiceCtrl', ['$scope','$rootScope','$modal', 'Order', 'toaster','ngTableParams','BaseService','Bill', function ($scope, $rootScope, $modal, Order, toaster, ngTableParams, BaseService, Bill) {
|
|
|
$scope.tab = 'buyer_no_invoice';
|
|
|
+
|
|
|
+ // $scope.applyItem = []
|
|
|
+
|
|
|
// 开票申请
|
|
|
$scope.applyInvoice = function () {
|
|
|
- $modal.open({
|
|
|
- templateUrl : $rootScope.rootPath + '/static/view/usercenter/modal/apply-invoice.html',
|
|
|
- size : 'lg'
|
|
|
+ var applyItem = []
|
|
|
+ angular.forEach($scope.orderData, function (item) {
|
|
|
+ if (item.checked) {
|
|
|
+ applyItem.push(item)
|
|
|
+ }
|
|
|
})
|
|
|
+ // console.log(applyItem)
|
|
|
+ if (applyItem.length > 0) {
|
|
|
+ if ($scope.invoices.length > 0) {
|
|
|
+ $modal.open({
|
|
|
+ templateUrl : $rootScope.rootPath + '/static/view/usercenter/modal/apply-invoice.html',
|
|
|
+ size : 'lg',
|
|
|
+ controller : 'NoInvoiceSubmitCtrl',
|
|
|
+ resolve : {
|
|
|
+ submitInvoice : function () {
|
|
|
+ return applyItem;
|
|
|
+ },
|
|
|
+ invoiceData: function () {
|
|
|
+ return $scope.invoices
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ toaster.pop('error','请前往开票信息页面新增发票')
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ toaster.pop('error','请勾选未开票订单')
|
|
|
+ }
|
|
|
};
|
|
|
+ var initDataRule = function () {
|
|
|
+ $scope.param = {};
|
|
|
+ $scope.pageparam = {};
|
|
|
+ $scope.keyword = '';
|
|
|
+ $scope.status = 520;
|
|
|
+ $scope.pageparam.page = 1;
|
|
|
+ $scope.pageparam.count = 10;
|
|
|
+ $scope.pageparam.sorting = {creattime : "DESC"};
|
|
|
+
|
|
|
+ $scope.param.pageParams = $scope.pageparam;
|
|
|
+ $scope.param.keyword = $scope.keyword;
|
|
|
+ $scope.param.status = $scope.status
|
|
|
+
|
|
|
+ Bill.getListPersonal(null, function(data) {
|
|
|
+ $scope.invoices = data;
|
|
|
+ }, function(error) {
|
|
|
+ toaster.pop('error', '获取发票信息失败');
|
|
|
+ });
|
|
|
+ }
|
|
|
+ initDataRule();
|
|
|
+
|
|
|
+ // var loadOrderData = function () {
|
|
|
+ // Order.getOrderOnBillByPersonal($scope.param, {}, function (data) {
|
|
|
+ // $scope.orderData = data
|
|
|
+ // }, function (error) {
|
|
|
+ // toaster.pop('error', '获取未开票订单信息失败')
|
|
|
+ // });
|
|
|
+ // };
|
|
|
+ // loadOrderData();
|
|
|
+ $scope.$$kdnData = {};
|
|
|
+
|
|
|
+ $scope.orderBillTableParam = new ngTableParams($scope.param,{
|
|
|
+ total : 0,
|
|
|
+ getData : function ($defer, params) {
|
|
|
+ var param = BaseService.parseParams(params.url());
|
|
|
+ param.pageParams.sorting = {creattime : "DESC"};
|
|
|
+ Order.getOrderOnBillByPersonal(param, function (page) {
|
|
|
+ $scope.$$kdnData.totalElements = page.totalElements;
|
|
|
+ if(Number(page.totalElements) > 0) {
|
|
|
+ $scope.$$kdnData.start = Number(page.size) * (Number(page.number) - 1) + 1;
|
|
|
+ }else {
|
|
|
+ $scope.$$kdnData.start = 0;
|
|
|
+ }
|
|
|
+ $scope.$$kdnData.end = Number(page.size) * (Number(page.number) - 1) + Number(page.numberOfElements);
|
|
|
+ params.total(page.totalElements);
|
|
|
+ $defer.resolve(page.content);
|
|
|
+ //划分数据
|
|
|
+ $scope.orderData = page.content;
|
|
|
+ //初始化选中状态
|
|
|
+ angular.forEach($scope.orderData, function (item) {
|
|
|
+ item.checked = false
|
|
|
+ })
|
|
|
+ }, function () {
|
|
|
+ toaster.pop('error', '获取未开票订单信息失败');
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ //全选状态
|
|
|
+ $scope.isAllCheck = false
|
|
|
+ //全选
|
|
|
+ $scope.onAllChecked = function () {
|
|
|
+ if (!$scope.isAllCheck) {
|
|
|
+ angular.forEach($scope.orderData, function (item, index) {
|
|
|
+ item.checked = true
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ angular.forEach($scope.orderData, function (item, index) {
|
|
|
+ item.checked = false
|
|
|
+ })
|
|
|
+ }
|
|
|
+ $scope.isAllCheck = !$scope.isAllCheck
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ //单选
|
|
|
+ $scope.checkInvoice = function (item) {
|
|
|
+ var temAllCheck = true
|
|
|
+ item.checked = !item.checked
|
|
|
+ angular.forEach($scope.orderData, function (itemss) {
|
|
|
+ if (!itemss.checked) {
|
|
|
+ temAllCheck = false
|
|
|
+ }
|
|
|
+ })
|
|
|
+ $scope.isAllCheck = temAllCheck
|
|
|
+ }
|
|
|
+
|
|
|
+ }]);
|
|
|
+ app.register.controller('NoInvoiceSubmitCtrl', ['$scope','$rootScope','$modal', 'Order', 'toaster', 'submitInvoice', '$modalInstance','invoiceData','BillSubmit', function ($scope, $rootScope, $modal, Order, toaster, submitInvoice, $modalInstance, invoiceData, BillSubmit) {
|
|
|
+ //公司列表
|
|
|
+ $scope.submitInvoice = []
|
|
|
+
|
|
|
+ //订单数
|
|
|
+ $scope.orderCount = submitInvoice.length || 0
|
|
|
+
|
|
|
+ //总金额
|
|
|
+ $scope.allPrice = 0
|
|
|
+
|
|
|
+ //发票信息
|
|
|
+ $scope.invoiceData = {}
|
|
|
+
|
|
|
+ // 数据处理
|
|
|
+ $scope.dealData = function () {
|
|
|
+ var submitItem = submitInvoice
|
|
|
+ var temStoreIdArr = []
|
|
|
+ var tmpPriceArr = []
|
|
|
+ angular.forEach(submitItem, function (item) {
|
|
|
+ var index = temStoreIdArr.indexOf(item.storeid)
|
|
|
+ if (index == -1) {
|
|
|
+ temStoreIdArr.push(item.storeid)
|
|
|
+ tmpPriceArr.push({price: item.price, storeName: item.storeName, orderid: item.orderid})
|
|
|
+ } else {
|
|
|
+ tmpPriceArr[index].price += item.price
|
|
|
+ }
|
|
|
+ })
|
|
|
+ angular.forEach(tmpPriceArr, function (item, index) {
|
|
|
+ $scope.submitInvoice.push(tmpPriceArr[index])
|
|
|
+ $scope.allPrice += tmpPriceArr[index].price
|
|
|
+ })
|
|
|
+ }
|
|
|
+ $scope.dealData()
|
|
|
+
|
|
|
+ $scope.hasSpecial = false
|
|
|
+ $scope.hasNormal = false
|
|
|
+
|
|
|
+ $scope.getInvoiceData = function (invoiceKind) {
|
|
|
+ var tmpInvoice = invoiceData
|
|
|
+ if (!invoiceKind) {
|
|
|
+ if (tmpInvoice.length == 1) {
|
|
|
+ $scope.invoiceData = tmpInvoice[0]
|
|
|
+ if (tmpInvoice[0].kind == 1205) {
|
|
|
+ $scope.hasSpecial = true
|
|
|
+ } else if (tmpInvoice[0].kind == 1206) {
|
|
|
+ $scope.hasNormal = true
|
|
|
+ }
|
|
|
+ } else if (tmpInvoice.length > 1) {
|
|
|
+ $scope.getInvoiceData(1206)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ angular.forEach(tmpInvoice, function (item) {
|
|
|
+ if (item.kind == 1205) {
|
|
|
+ $scope.hasSpecial = true
|
|
|
+ }
|
|
|
+
|
|
|
+ if (item.kind == 1206) {
|
|
|
+ $scope.hasNormal = true
|
|
|
+ }
|
|
|
+
|
|
|
+ if (item.kind == invoiceKind) {
|
|
|
+ $scope.invoiceData = item
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ // console.log($scope.invoiceData)
|
|
|
+ // return {}
|
|
|
+ }
|
|
|
+
|
|
|
+ $scope.getInvoiceData()
|
|
|
+
|
|
|
+ //关闭模态框
|
|
|
+ $scope.closeModal = function () {
|
|
|
+ $modalInstance.dismiss()
|
|
|
+ }
|
|
|
+
|
|
|
+ //提交申请
|
|
|
+ $scope.apply = function () {
|
|
|
+ var orderids = ''
|
|
|
+ angular.forEach($scope.submitInvoice, function (item) {
|
|
|
+ console.log(item)
|
|
|
+ orderids += item.orderid + ','
|
|
|
+ })
|
|
|
+ orderids = orderids.substring(0, orderids.length-1)
|
|
|
+ console.log(orderids)
|
|
|
+ BillSubmit.submitBillApply(null, {orderids: orderids, invoiceid: $scope.invoiceData.id}, function (data) {
|
|
|
+ toaster.pop('success', '申请发票成功')
|
|
|
+ },function (error) {
|
|
|
+ toaster.pop('error', '申请发票失败')
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
}]);
|
|
|
});
|