javascript - Cliquez sur l'option de la boîte de sélection pour faire apparaître ngDialog. Lorsque vous cliquez pour annuler, fermez la boîte de dialogue et espérez que la valeur de la boîte de sélection reste inchangée.
怪我咯
怪我咯 2017-05-16 13:19:18
0
1
980

Texte du titre ##Ce qui suit est mon code. Après avoir cliqué sur Annuler, la valeur de la zone de sélection changera toujours

.
//views
< select class="mei-select mei-select-md" ng-model="nextparam.emscaapportionh.imp_erp_type" ng-options="m.itemValue as m.itemName for m in impErpTypes" ng-disabled="!isErpTypeEdit" ng-change="impErpTypeChange()" > </select >
//ngDialogCtrl

(function () {
    'use strict';
    angular.module('app')
        .controller("ngDialogCtrl", ['$scope',
            function ($scope) {
                $scope.msg = $scope.dialog ? $scope.dialog.msg : '确认要执行吗?';
            }
        ]);
})();
//业务逻辑
$scope.openConfirmDialog = function (callback, msg) {
$scope.dialog = {
        msg: msg
    };
    ngDialog.openConfirm({
        template: 'app/app_common/views/ngdialog.confirm.html',
        plain: false,
        showClose: true,
        closeByDocument: true,
        closeByEscape: true,
        scope: $scope,
        width: '20%',
        controller: 'ngDialogCtrl'
    }).then(callback);
};

 //修改导ERP类型
$scope.impErpTypeChange = function () {
    var impErpTypeChangeFun = function () {
        $scope.budgetGridOptions.data = [];
    };
    $scope.openConfirmDialog(impErpTypeChangeFun, '更改导类型将会清空明细,是否继续?');
}
怪我咯
怪我咯

走同样的路,发现不同的人生

répondre à tous(1)
伊谢尔伦

Après avoir regardé l'API ngDialog, ajoutez simplement un attribut preCloseCallback

       $scope.openConfirmDialog = function (callback, closeCallback ,msg) {
                    $scope.dialog = {
                        msg: msg
                    };
                    ngDialog.openConfirm({
                        template: 'app/app_common/views/ngdialog.confirm.html',
                        plain: false,
                        showClose: true,
                        closeByDocument: true,
                        closeByEscape: true,
                        scope: $scope,
                        width: '20%',
                        controller: 'ngDialogCtrl',
                        preCloseCallback:closeCallback,
                    }).then(callback);
                }

                //修改导ERP类型
                $scope.oldImpErpType = $scope.nextparam.emscaapportionh.imp_erp_type;
                $scope.impErpTypeChange = function(){
                    var impErpTypeChangeFun = function () {
                         $scope.$emit("changeImpErpType");
                    };
                    var closeFun = function(){
                        $scope.nextparam.emscaapportionh.imp_erp_type = $scope.oldImpErpType;
                    }
                    $scope.openConfirmDialog(impErpTypeChangeFun, closeFun,'更改导ERP类型将会清空预提明细,是否继续?');
                }

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal