invoice-confirm.ctrl.js 4.76 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
invoiceModule.controller('invoiceConfirmController', ['$log', '$scope', '$translate', '$document', '$uibModal', '$timeout',
    'vatOutputInvoiceManageService', 'SweetAlert', 'enums', '$state', 'loginContext', 'orgService',
    function($log, $scope, $translate, $document, $uibModal, $timeout, vatOutputInvoiceManageService, SweetAlert, enums, $state, loginContext, orgService) {
        'use strict';


        var mainModule = {


            main: function() {
                $scope.editModel = {};

                mainModule.watchCollection();
            },

            getBdInvoiceInventory: function() {
                if (!$scope.model.taxControlDiskID) {
                    return;
                }



                var dataParse = function(data) {
                    var obj = {};

                    if ($scope.model.type === 1) {
                        obj.title = $translate.instant('ManualIssuingConfirm');
                        obj.text = $translate.instant('BDInvoiceConfirmText');
                        obj.secondTitle = $translate.instant('BDInvoiceConfirmSecondText');
                        obj.invoiceType = $translate.instant('TslCarInvoiceVehicle');

                    } else {
                        obj.title = $translate.instant('GDIssuingConfirm');
                        obj.text = $translate.instant('GDInvoiceConfirmText');
                        obj.secondTitle = $translate.instant('GDInvoiceConfirmSecondText');
                        obj.invoiceType = $translate.instant('TslOutInvoiceSpecial');
                    }

                    obj.list = [];
                    obj.list.push({ name: $translate.instant('InvoiceTypeColon'), value: obj.invoiceType });
                    obj.list.push({ name: $translate.instant('InvoiceInventoryColon'), value: data.inventory });
                    obj.list.push({ name: $translate.instant('NextInvoiceCodeColon'), value: data.nextInvoiceCode });
                    obj.list.push({ name: $translate.instant('NextInvoiceNoColon'), value: data.nextInvoiceNo });


                    if (data.inventory === 0) {

                        obj.inventoryType = 1;

                    } else if (data.inventory < data.thresholdValue) {

                        obj.inventoryType = 2;
                    } else {

                        obj.inventoryType = 3;
                    }

                    return obj;
                };

                vatOutputInvoiceManageService.getBdInvoiceInventory($scope.model.taxControlDiskID).then(function(data) {
                    if (data && data.data && data.data.data) {
                        $scope.preIssueEntity = data.data.data;
                    } else {
                        $scope.preIssueEntity.inventory = 0;
                        $scope.preIssueEntity.thresholdValue = 20;
                    }

                    var editModel = dataParse($scope.preIssueEntity);

                    mainModule.open(editModel);
                });
            },

            open: function(editModel) {

                $scope.editModel = editModel;

                var modalInstance = $uibModal.open({
                    animation: false,
                    backdrop: false,
                    ariaLabelledBy: 'modal-title',
                    ariaDescribedBy: 'modal-body',
                    templateUrl: 'invoiceConfirmTemplate.html',
                    //windowClass: 'printInvoiceListModal',
                    size: 'invoice-confirm-size',
                    scope: $scope,
                    resolve: {
                        editModel: editModel
                    }
                });

                modalInstance.result.then(function(data) {
                    $scope.operateType = null;
                }, function() {
                    $scope.operateType = null;
                });


                $scope.confirm = function() {
                    if ($scope.onConfirm && $scope.editModel.inventoryType > 1) {
                        var obj = {

                            param: {},
                        };

                        $scope.onConfirm(obj);
                    }

                    modalInstance.close({});
                };

                // 取消
                $scope.cancel = function() {

                    modalInstance.dismiss('cancel');
                };
            },
            watchCollection: function() {
                $scope.$watch('operateType', function(newValue, oldValue) {
                    if (newValue) {

                        if (newValue === constant.Operation.Open) {
                            mainModule.getBdInvoiceInventory();
                        }
                    }
                });
            },

        };

        (function initialize() {
            mainModule.main();

        })();
    }
])