tax-control-disk.ctrl.js 12.6 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 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319
vatModule.controller('taxControlDiskController', ['$log', '$scope', '$q', '$timeout',
    '$translate', 'SweetAlert', 'outputCommonService', 'messagebox', '$state', 'vatOutputInvoiceManageService', '$uibModal',
    function($log, $scope, $q, $timeout, $translate, SweetAlert, outputCommonService, messagebox, $state, vatOutputInvoiceManageService, $uibModal) {

        var thisConstant = {
            DiskType: {
                1: $translate.instant('BaiWang'),
                2: $translate.instant('HangXing'),
            }
        };

        var replaceService = {
            nameReplace:function(value){

                if (value){
                    value=value.replace(/[^\(\)()\w\u4e00-\u9fa5]/g,'')
                }

                return value;
            },
            codeReplace:function(value){
             
                if (value){
                    value=value.replace(/[^\w]/g,'')
                }

                return value;
            }
        };

        var editAlertService = {
            open: function() {
                var editModel = {};

                if ($scope.selectedRows && $scope.selectedRows.length === 1) {
                    $scope.editModel = angular.copy($scope.selectedRows[0]);
                } else {
                    return;
                }

                var modalInstance = $uibModal.open({
                    animation: false,
                    backdrop: false,
                    ariaLabelledBy: 'modal-title',
                    ariaDescribedBy: 'modal-body',
                    templateUrl: 'EditTaxControlDiskConfirmModal.html',
                    windowClass: 'EditTaxControlDiskConfirmModal',
                    size: 'edit-taxcontrol',
                    scope: $scope,
                    resolve: {
                        editModel: editModel
                    }
                });

                $scope.dxOptions={
                    mainTaxAuthoritiesName: {
                        valueChangeEvent: "keyup",
                        maxLength: 50,
                        onValueChanged: function (e) {
                            $scope.editModel.mainTaxAuthoritiesName=replaceService.nameReplace(e.value);
                        }
                    },
                    mainTaxAuthoritiesCode: {
                        valueChangeEvent: "keyup",
                        maxLength: 50,
                        onValueChanged: function (e) {
                            $scope.editModel.mainTaxAuthoritiesCode=replaceService.codeReplace(e.value);
                        }
                    },

                }

                modalInstance.result.then(function(data) {

                }, function() {

                });


                $scope.saveDisk = function() {

                    var model = $scope.editModel;
                    vatOutputInvoiceManageService.updateTaxControlDisk(model).success(function(data) {

                        if (data && data.result) {
                            messagebox.info($translate.instant("SaveSuccess"));
                            modalInstance.close($scope.editModel);

                            $scope.eventService.refreshTable();
                        } else {
                            messagebox.warning(data.resultMsg, true);
                        }
                    });

                };

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

                    modalInstance.dismiss('cancel');
                };
            }
        };

        var mainModule = {
            main: function() {
                mainModule.initControl();

                mainModule.bindEvent();

                mainModule.loadData();

                $scope.showEditBtn = false;

                //设置表格高度
                $timeout(function() {
                    $scope.setInvoiceGridHeight();
                }, 500);
            },
            initControl: function() {

                $scope.taxControlDiskData = [];
                $scope.taxControlDiskGrid = {
                    bindingOptions: {
                        height: 'gridTable',
                        dataSource: 'taxControlDiskData'
                    },
                    // dataSource: new DevExpress.data.CustomStore({
                    //     key: "id",
                    //     load: function(loadOptions) {

                    //         var model = {};
                    //         return vatOutputInvoiceManageService.getTaxControlDiskList(model, false)
                    //             .then(function(res) {

                    //                 var list = res.data.list;

                    //                 if (list && list.length > 0) {

                    //                     list.forEach(function(r) {
                    //                         r.taxControlStatusBool = r.taxControlStatus === 1;
                    //                     });
                    //                 }

                    //                 $scope.taxControlDiskData = list;

                    //                 return { data: list, totalCount: res.data.list.length };
                    //             }, function(response) {
                    //                 return $q.reject($translate.instant("DataLoadingError"));
                    //             });
                    //     }
                    // }),
                    onToolbarPreparing: function(e) {
                        var toolbarItems = e.toolbarOptions.items;
                        toolbarItems.unshift({
                            location: "before",
                            template: "checkStatusTempl"
                        });
                    },
                    noDataText: $translate.instant('NoDataText'),
                    columnAutoWidth: true,
                    showRowLines: true,
                    showBorders: true,
                    columnFixing: {
                        enabled: true
                    },
                    columnChooser: {
                        enabled: true
                    },
                    searchPanel: {
                        placeholder: $translate.instant("SearchHintText"),
                        visible: true,
                    },
                    loadPanel: {
                        enabled: false
                    },
                    selection: {
                        mode: "single"
                    },
                    onSelectionChanged: function(e) {
                        $scope.selectedRows = e.selectedRowsData;

                        if ($scope.selectedRows && $scope.selectedRows.length > 0) {
                            $scope.showEditBtn = true;
                        }
                    },
                    columns: [
                        { dataField: 'kpjh', caption: $translate.instant('KPJH'), visible: false },
                        { dataField: 'qymc', caption: $translate.instant('qymc'), visible: false },
                        { dataField: 'qysh', caption: $translate.instant('qysh'), visible: false },
                        { dataField: 'jmbbh', caption: $translate.instant('jmbbh'), visible: false },
                        { dataField: 'dzfpFlag', caption: $translate.instant('dzfpFlag'), visible: false },
                        { dataField: 'sfjyzs', caption: $translate.instant('sfjyzs'), visible: false },
                        { dataField: 'swjgdm', caption: $translate.instant('swjgdm'), visible: false },
                        { dataField: 'jssz', caption: $translate.instant('jssz'), visible: false },
                        { dataField: 'jspbh', caption: $translate.instant('jspbh'), visible: false },
                        { dataField: 'equipmentSupplier', caption: $translate.instant('equipmentSupplier'), visible: false },
                        { dataField: 'organizationName', caption: $translate.instant('Entity') },
                        { dataField: 'organizationCode', caption: $translate.instant('EntityCode') },
                        { dataField: 'taxControlDiskSerialNumber', caption: $translate.instant('TaxControlDiskSerialNumber') },
                        { cellTemplate: 'statusTempl', caption: $translate.instant('TaxControlStatus'), alignment: 'center', width: '120' },
                        { dataField: 'diskTyeText', caption: $translate.instant('Type') },
                        { dataField: 'mainTaxAuthoritiesName', caption: $translate.instant('MainTaxAuthoritiesName') },
                        { dataField: 'mainTaxAuthoritiesCode', caption: $translate.instant('MainTaxAuthoritiesCode') },
                        { dataField: 'topMargin', caption: $translate.instant('Top') },
                        { dataField: 'leftMargin', caption: $translate.instant('Left') },
                        { dataField: 'taxControlDiskNo', caption: $translate.instant('TaxControlDiskNo') },
                        { dataField: 'taxControlDiskDescribe', caption: $translate.instant('TaxControlDiskDescribe') },
                        { dataField: 'taxControlDiskUser', caption: $translate.instant('TaxControlDiskUser') },
                        { dataField: 'department', caption: $translate.instant('Department') },
                        { dataField: 'mobile', caption: $translate.instant('Mobile') },
                        { dataField: 'email', caption: $translate.instant('Email') },
                        { dataField: 'taxControlUrl', caption: $translate.instant('TaxControlUrl') },

                    ]
                };

            },

            loadData: function() {
                // body...
                var model = {};

                var parseViewData = function(r) {
                    if (r) {
                        r.taxControlStatusBool = r.taxControlStatus === 1;
                        r.diskTyeText = thisConstant.DiskType[r.diskType];
                    }

                    return r;
                };

                vatOutputInvoiceManageService.getTaxControlDiskList(model, false)
                    .then(function(res) {

                        var list = res.data.list;

                        if (list && list.length > 0) {

                            list.forEach(function(r) {
                                r = parseViewData(r);
                            });
                        }

                        $scope.taxControlDiskData = list;

                    }, function(response) {
                        // return $q.reject($translate.instant("DataLoadingError"));
                    });
            },
            bindEvent: function() {
                $scope.eventService = {
                    checkStatus: function() {

                        // 正在查询
                        if ($scope.Checking) {
                            return;
                        }

                        var dataList = $scope.taxControlDiskData;

                        var dataLength = dataList.length;

                        $scope.Checking = true;
                        var testStatusFunction = function(i) {

                            if (i < dataLength) {
                                var row = dataList[i];
                                row.isTest = true;
                                // row.failMsg="Testing";
                                $scope.taxControlDiskData = dataList;
                                vatOutputInvoiceManageService.testIsActive(row, false).then(function(res) {
                                    row.isTest = false;
                                    var data = res.data;
                                    if (data && data.result) {
                                        $scope.eventService.refreshTable();
                                    }

                                    if (i === dataLength - 1) {
                                        // 最后一个
                                        $scope.Checking = false;
                                    } else {
                                        i++;
                                        testStatusFunction(i);
                                    }


                                });

                            }
                        }

                        testStatusFunction(0);
                    },
                    refreshTable: function() {
                        // $('#taxControlDiskGridID').dxDataGrid('instance').refresh();

                        mainModule.loadData();
                    },
                    updateAlert: function() {
                        editAlertService.open();
                    },



                };
            }
        };




        (function() {

            mainModule.main();

        })();
    }
]);