Как передать отфильтрованные аргументы в метод get list () в angular js? - PullRequest
0 голосов
/ 24 марта 2020

Я хочу передать параметры getlist () из URL-адреса, предоставив пользователю выбор фильтров для применения, таких как состояние отложенных ордеров и Дата. Прежде всего пользователь будет выбирать из выпадающего списка на странице HTML, которая содержит отложенные ордера и отправленные ордера. Если он нажимает кнопку просмотра, он должен получить информацию об отложенных ордерах только с сервера. Как я могу изменить это? В этом коде, если я изменил значение параметров следующим образом:

var params = {"status": "PENDING"} Тогда я получаю точный результат, который я ищу, но как я могу получить это нажав кнопку просмотра? У меня также есть выбор даты в представлении, поэтому, когда я нажимаю на указанный диапазон дат c, мне нужно получить детали заказа в эти даты. Пожалуйста, помогите мне с этим

angular.module('Mart')
    .controller('PurchaseOrdersCtrl', function ($scope, PurchaseOrders, $http, BASE_URL,$filter) {
            $scope.selectedstatus ="selectedpending";
       var d=new Date();
    $scope.datePicker = { date: {startDate: d, endDate: null}};
    $scope.purchaseOrders = [];
    let params = {sort:['date']};
    PurchaseOrders.getList(params).then(function(response) {
        $scope.purchaseOrders = response.plain();
    });
    $scope.reset = function() {
        if($scope.selectedstatus){
            $scope.selectedstatus ="selectedpending";
            $scope.datePicker = { date: {startDate: d, endDate: null}};
            $scope.queryText="";
        }
    }
    $scope.view = function(){
        if(selectedstatus=="PENDING"){
        params={"status":"PENDING"}
        }
        else{
             params = {sort:['date']};
        }
        // Now make the call to get the new Purchase Order List
        PurchaseOrders.getList(params).then(function(response) {
            $scope.purchaseOrders = response.plain();
        });
    }
    $scope.retrySend = function (poId) {
        $http({
        url: BASE_URL + '/ops/purchaseOrders/' + poId + '/retrySend', 
        method: "GET"
        }); 
    };
$scope.resendNotification = function (poId) {
 $http({
        url: BASE_URL + '/ops/purchaseOrders/' + poId + '/resendNotification', 
        method: "GET"
        });
    };
$scope.getPOTotalNetAmount = function() {
        var total = 0;
        for(var i = 0; i < $scope.purchaseOrders.length; i++) {
            total += $scope.purchaseOrders[i].totalNetAmount;
        }
    return total;       
};
$scope.itemsPerPage = 20;
$scope.sortKey = 'date';
    $scope.sortReverse = false;
$scope.sort = function(key){
        $scope.sortReverse = ($scope.sortKey==key) ? !$scope.sortReverse:false;
        $scope.sortKey = key;
    }
  });
...