Initial commit
This commit is contained in:
145
api-wiaas/client/js/components/bids/add-bid.directive.js
Normal file
145
api-wiaas/client/js/components/bids/add-bid.directive.js
Normal file
@@ -0,0 +1,145 @@
|
||||
(function () {
|
||||
global.dashModule
|
||||
.controller('addBidCtrl', ['$scope', '$http', '$', '$translate', 'utilsService', addBidController])
|
||||
.directive('addBid', [addBidDirective]);
|
||||
|
||||
function addBidDirective() {
|
||||
return {
|
||||
restrict: 'E',
|
||||
templateUrl: 'bids/html/addBidTemplate'
|
||||
};
|
||||
}
|
||||
|
||||
function addBidController($scope, $http, $, $translate, utilsService) {
|
||||
$scope.initAddBid = initAddBid;
|
||||
$scope.bid = {};
|
||||
$scope.onCLSelect = onCLSelect;
|
||||
$scope.onCustomerSelect = onCustomerSelect;
|
||||
$scope.onPackageSelect = onPackageSelect;
|
||||
$scope.onPayTypeSelect = onPayTypeSelect;
|
||||
$scope.isAddSupBidDialogVisible = false;
|
||||
$scope.isLinkSupBidDialogVisible = false;
|
||||
$scope.showSupBidDialog = showSupBidDialog;
|
||||
$scope.showLinkBidDialog = showLinkBidDialog;
|
||||
$scope.linkSuppliers = linkSuppliers;
|
||||
$scope.saveBid = saveBid;
|
||||
$scope.supplierBids = [];
|
||||
|
||||
function initAddBid() {
|
||||
getClCustomers();
|
||||
}
|
||||
|
||||
function getClCustomers() {
|
||||
$http({
|
||||
method: 'GET',
|
||||
url: 'bids/api/getClCustomers'
|
||||
}).then(setClCustomers, utilsService.onHttpError);
|
||||
}
|
||||
|
||||
function setClCustomers(response) {
|
||||
if (response.data) {
|
||||
$scope.clCustomers = response.data;
|
||||
}
|
||||
}
|
||||
|
||||
function getPackages(idCommercialLead, idCustomer) {
|
||||
$http({
|
||||
method: 'POST',
|
||||
url: 'bids/api/getPackages',
|
||||
data: $.param({
|
||||
idCommercialLead,
|
||||
idCustomer
|
||||
})
|
||||
}).then(setPackages, utilsService.onHttpError);
|
||||
}
|
||||
|
||||
function setPackages(response) {
|
||||
if (response.data) {
|
||||
$scope.packages = response.data;
|
||||
}
|
||||
}
|
||||
|
||||
function getPaymentTypes(idCommercialLead, idCustomer, idPackage) {
|
||||
$http({
|
||||
method: 'POST',
|
||||
url: 'bids/api/getPayTypes',
|
||||
data: $.param({
|
||||
idCommercialLead,
|
||||
idCustomer,
|
||||
idPackage
|
||||
})
|
||||
}).then(setPayTypes, utilsService.onHttpError);
|
||||
}
|
||||
|
||||
function setPayTypes(response) {
|
||||
if (response.data) {
|
||||
$scope.payTypes = response.data;
|
||||
}
|
||||
}
|
||||
|
||||
function onCLSelect(){
|
||||
$scope.selectedCustomer = null;
|
||||
}
|
||||
|
||||
function onCustomerSelect() {
|
||||
$scope.selectedPackage = null;
|
||||
$scope.bid.idCustomerInstance = $scope.selectedCustomer ? $scope.selectedCustomer.idCustomerInstance : 0;
|
||||
|
||||
if ($scope.selectedCl.idCommercialLead && $scope.selectedCustomer.idCustomer) {
|
||||
getPackages($scope.selectedCl.idCommercialLead, $scope.selectedCustomer.idCustomer);
|
||||
}
|
||||
}
|
||||
|
||||
function onPackageSelect() {
|
||||
$scope.selectedPayType = null;
|
||||
$scope.bid.idPackage = $scope.selectedPackage ? $scope.selectedPackage.idPackage : 0;
|
||||
if($scope.selectedCl.idCommercialLead && $scope.selectedCustomer.idCustomer && $scope.selectedPackage){
|
||||
getPaymentTypes($scope.selectedCl.idCommercialLead, $scope.selectedCustomer.idCustomer, $scope.selectedPackage.idPackage);
|
||||
}
|
||||
}
|
||||
|
||||
function onPayTypeSelect() {
|
||||
$scope.bid.idPaymentType = $scope.selectedPayType ? $scope.selectedPayType.idPaymentType : 0;
|
||||
}
|
||||
|
||||
function showSupBidDialog() {
|
||||
$scope.$evalAsync(() => {
|
||||
$scope.isAddSupBidDialogVisible = !$scope.isAddSupBidDialogVisible;
|
||||
});
|
||||
}
|
||||
|
||||
function showLinkBidDialog() {
|
||||
$scope.$evalAsync(() => {
|
||||
$scope.isLinkSupBidDialogVisible = !$scope.isLinkSupBidDialogVisible;
|
||||
});
|
||||
}
|
||||
|
||||
function linkSuppliers(params){
|
||||
$scope.bid.supplierBids = params.selectedBids;
|
||||
}
|
||||
|
||||
function saveBid(){
|
||||
$http({
|
||||
method: 'POST',
|
||||
url: 'bids/api/addBid',
|
||||
data: $.param({
|
||||
bid: JSON.stringify($scope.bid)
|
||||
})
|
||||
}).then(displayMessage, utilsService.onHttpError);
|
||||
}
|
||||
|
||||
function displayMessage(response){
|
||||
if (typeof response.data.messages !== 'undefined') {
|
||||
response.data.messages.forEach((messageObj) => {
|
||||
const translatedMessage = $translate.instant('bids.messages.' + messageObj.message);
|
||||
utilsService.displayMessage(messageObj.code, translatedMessage);
|
||||
if(messageObj.code === 'success'){
|
||||
$scope.$evalAsync(() => {
|
||||
$scope.bid = {};
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
})();
|
||||
Reference in New Issue
Block a user