⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 upsale.js

📁 能够实现宾馆管理的基本功能。 例如删除
💻 JS
📖 第 1 页 / 共 2 页
字号:
  },  refreshSums: function()  {  	$("iframe-upsale").contentWindow.document.getElementById("total-price").innerHTML =  		(Number($("iframe-upsale").contentWindow.document.getElementById("total-only-price").innerHTML)   		+ Number($("iframe-upsale").contentWindow.document.getElementById("total-options-price").innerHTML)).toFixed(2);  		  	$('prix_total').down('.techPrice').innerHTML = $("iframe-upsale").contentWindow.document.getElementById("total-only-price").innerHTML ;  },  /**   * Récupère les options cochées par le visiteur et met à jour les différents champs de prix en conséquence   */  refreshTotal: function()  {        var roomPrice = Number(document.getElementById("room-price").innerHTML);    var upsalesPrice = 0;    var breakfastPrice = 0 ;    var packCodes = [];    var tariffCodes = [];    var mealCodes = [];    var mealQuantities = [];    var ups = this.getUpsaleViewBean() ;    var mot = this.getBookingEngineViewBean();		var rooms = mot.roomsNb ;				if (this.getUpsaleCurrency() == Currencies.CrtCurrency) {				Currencies.purgeTarifs(); // vide le tableau de tarifs  			Currencies.registerEverythingFromPage(Currencies.CrtCurrency); // on enregistre les données 		} // sinon on est dnas une autre devise, on ne touche pas à ce qu'on a !		    if ($("iframe-upsale").contentWindow.document.getElementById("roomUpsale")) {	    	   // var inputs = $("iframe-upsale").contentWindow.document.getElementById("roomUpsale").getElementsByTagName("input") ;	   // var inputs = $("iframe-upsale").contentWindow.document.getElementById("roomUpsale").select('input');	    var inputs = $A($("iframe-upsale").contentWindow.document.getElementById("roomUpsale").getElementsByTagName("input")).map(Element.extend);	    for (var i = inputs.length - 1; i >= 0; i--)	    {	      if(inputs[i].type == "checkbox")	      {	        var li = inputs[i];	        if(li.checked === true) 	        {		        var optionsVars = li.value.split("_");		        while(li.nodeName != "LI")		        {		          li = li.parentNode;		        }		        li.className = "";	          	          $("must-choose-upsale").style.display = "none";	          packCodes.push(optionsVars[0]);	          tariffCodes.push(optionsVars[1]);	          li.className = "selected";	          var spans = li.getElementsByTagName("span");	          for (var j = spans.length - 1; j >= 0; j--)	          {	            if(spans[j].className.indexOf ( "mtarif_by_day") != -1)	            {	              upsalesPrice += Number(spans[j].innerHTML) * Number(mot.nightsNumber);	            }	          };	        } else {	           while(li.nodeName != "LI")		        {		          li = li.parentNode;		        }		        li.className = "";					}	      }	    }	  }	 	var recapLeft  = $('prix_total').down('.techPrice') ;		if (recapLeft && recapLeft.className.indexOf('doNotRegister') == -1 ) recapLeft.className += " doNotRegister" ; 						 //   if ($("iframe-upsale").contentWindow.document.getElementById("mealUpsale")) { // un seul petit dej, plusieurs chambres    	var breakfasts = 0;    	if (packCodes.length > 0)   crtRoom = packCodes[0];    	else                        crtRoom = ups.currentRoom ;    		    	if (ups.mealsLowestUpsale == null || ups.mealsUpsale == null || ups.mealsLowestUpsale[crtRoom] == null || ups.mealsUpsale[crtRoom] == null) {    		$("iframe-upsale").contentWindow.document.getElementById("mealUpsale").style.display ="none";    		HTprice = 0 ;    		TTCpriceTotal = 0 ;    	}    	else {    		var meals = $("iframe-upsale").contentWindow.document.getElementById("mealUpsale") ;				meals.style.display ="block";	    		    	thisBF = ups.mealsLowestUpsale[crtRoom] ;				thisBFtotal = ups.mealsUpsale[crtRoom]; 								showFrom = thisBF.lowestPrice ;				HTprice = (thisBF.priceWithoutTaxes) ;				TTCpriceTotal = (thisBFtotal.priceWithTaxes) ;					    	// puis convertir si necessaire				if (this.getUpsaleCurrency() != Currencies.CrtCurrency ) {					HTprice = Currencies.convert(HTprice, thisBF.currencyCode, Currencies.CrtCurrency);					TTCpriceTotal = Currencies.convert(TTCpriceTotal, thisBF.currencyCode, Currencies.CrtCurrency);				}	  	    	var selects = 				$A(meals.getElementsByTagName( "select" )).map(Element.extend); // pour IE				var nb = selects.length;		    for (var i = 0 ; i < nb ; i++)		    {		      var li = selects[i];		 			var nbbf = li.value;		 			///mealCode=MBREAK|MBREAK|MBREAK&mealQuantity=2|0|1		 			///only if not 0|0|0		 			mealQuantities.push(nbbf);		      breakfasts +=Number(nbbf);				}    						if ($("iframe-upsale").contentWindow.document.getElementById("fromPrice"))					if (showFrom ) 						$("iframe-upsale").contentWindow.document.getElementById("fromPrice").style.visibility = "visible" ;					else						$("iframe-upsale").contentWindow.document.getElementById("fromPrice").style.visibility = "hidden" ;									if (breakfasts>0) {					breakfastPrice = breakfasts * Number(TTCpriceTotal); 					for(i=0 ; i<mealQuantities.length ; i++)							mealCodes.push('MBREAK');				}						var spans = 				$A(meals.getElementsByTagName( "span" )).map(Element.extend); // pour IE				for (var j =  0 ; j < spans.length; j++) {					if (spans[j].hasClassName ("mtarif_by_day")) { 						//if (!spans[j].hasClassName ("doNotRegister")) spans[j].className += " doNotRegister" ; 						if (spans[j].className.indexOf('doNotRegister') == -1 )  spans[j].className += " doNotRegister" ; 						spans[j].innerHTML = Number (HTprice).toFixed(2) ; 					}				}							}		//	  }	  if($("iframe-upsale").contentWindow.document.getElementById("taxes")) {	  	var taxElement = $("iframe-upsale").contentWindow.document.getElementById("taxes") ;	  	  	var bftx = 0 ;		  if (breakfasts > 0) {			  // Les taxes			  thisBFtotal = null ;		  	if (ups.mealsUpsale[crtRoom] != null) 		  		thisBFtotal = ups.mealsUpsale[crtRoom]; 			  if (thisBFtotal != null)			  	bftx = breakfasts * Number (thisBFtotal.priceWithTaxes - thisBFtotal.priceWithoutTaxes) ;			}			thisUpsTotal = ups.roomUpsale[crtRoom];  		  taxes	= bftx	+  rooms * Number(thisUpsTotal.priceWithTaxes  - thisUpsTotal.priceWithoutTaxes)			if (this.getUpsaleCurrency()  != Currencies.CrtCurrency ) {				taxes = Currencies.convert(taxes, this.getUpsaleCurrency() , Currencies.CrtCurrency);				taxElement.innerHTML = taxes;			} else				taxElement.innerHTML = taxes.toFixed(2);			 			if (taxElement.className.indexOf ("doNotRegister") == -1) 				taxElement.className += " doNotRegister" ; 			  }	  	  if ($("iframe-upsale").contentWindow.document.getElementById("total-only-price")) {		elt = $("iframe-upsale").contentWindow.document.getElementById("total-only-price") ;			//	if (elt.className.indexOf ("doNotRegister") == -1) elt.className += " doNotRegister" ; 				elt.innerHTML = roomPrice.toFixed(2) ; 			}				if ($("iframe-upsale").contentWindow.document.getElementById("total-options-price")) {					elt = $("iframe-upsale").contentWindow.document.getElementById("total-options-price") ;				if (elt.className.indexOf ("doNotRegister") == -1) elt.className += " doNotRegister" ; 				elt.innerHTML = (upsalesPrice  * rooms + breakfastPrice).toFixed(2); 		}      var totalPrice = (roomPrice  + upsalesPrice * rooms + breakfastPrice);      if ($("iframe-upsale").contentWindow.document.getElementById("total-price")) {				elt = $("iframe-upsale").contentWindow.document.getElementById("total-price") ; 				if (elt.className.indexOf ("doNotRegister") == -1) elt.className += " doNotRegister" ; 				elt.innerHTML =  totalPrice.toFixed(2);		}			// modification lien    var validateHref = top.document.getElementById("validate-link").getAttribute("href").split("?");    var optionHref = '';    if (packCodes.length >0 ) {    	optionHref += "packCodes=" + packCodes.join(";") + "&tariffCodes=" + tariffCodes.join(";") + "&" ;    } else {    	optionHref += "packCode=" + ups.currentRoom + "&tariffCode=" + ups.currentRate + "&" ;    }    if (mealCodes.length >0 ) {    	optionHref += "mealCode=" + mealCodes.join(";") + "&mealQuantity=" + mealQuantities.join(";") + "&" ;    }       top.document.getElementById("validate-link").setAttribute("href", validateHref[0]+"?"+optionHref + "action=display");      },  /**   * Remet à zéro tous les champs de l'iframe (lien "supprimer ma sélection")   */  deleteUpsales: function(e)  {     	if($("iframe-upsale").contentWindow.document.getElementById("mealUpsale")) {	   	var meal = $("iframe-upsale").contentWindow.document.getElementById("mealUpsale");	      var selects = $A(meal.getElementsByTagName( "select" )).map(Element.extend); // pour IE			  for (i= 0 ; i < selects.length ; i++) {			   	selects[i].value= 0;			  }			}    				if($("iframe-upsale").contentWindow.document.getElementById("roomUpsale")) {				var room = $("iframe-upsale").contentWindow.document.getElementById("roomUpsale") ;				var uls = $A(room.getElementsByTagName( "ul" )).map(Element.extend); // pour IE				var inputs = $A(uls[0].getElementsByTagName( "input" )).map(Element.extend); // pour IE				for (i= 0 ; i < inputs.length ; i++) {			   	inputs[i].checked = false;			  }		  }/*    for (var i = $("iframe-upsale").contentWindow.document.getElementsByTagName("li").length - 1; i >= 0; i--)    {      $("iframe-upsale").contentWindow.document.getElementsByTagName("li")[i].className.replace("selected", "");    };    for (var i = $("iframe-upsale").contentWindow.document.getElementsByTagName("input").length - 1; i >= 0; i--)    {      if(        $("iframe-upsale").contentWindow.document.getElementsByTagName("input")[i].name == "room"        || $("iframe-upsale").contentWindow.document.getElementsByTagName("input")[i].name == "restauration"      )      {        $("iframe-upsale").contentWindow.document.getElementsByTagName("input")[i].checked = false;      }    }*/    UpsaleBloc.refreshTotal();  },  /**   * Vérifie si le clic sur une option de tri nécessite un rechargement de l'iframe   *    * @param  input  Element input cliqué par le visiteur    */  dealSorter : function(input)  {    if(input.value == UpsaleBloc.getIframeParam('sort'))    {      return;    }    else    {      UpsaleBloc.loadIframe({sort: input.value});    }  },  /**   * Permet de récupérer la valeur d'un paramètre passé à l'iframe par son param   *    * @param  paramName Chaine, nom du paramètre de l'url à récupérer   * @return Chaine, valeur du paramètre demandé (null si non trouvé)    */  getIframeParam: function(paramName)  {    var base_document = $("iframe-upsale").contentWindow;    var portions = base_document.location.href.split("?");    var params = portions[1].split("&");    for (var i = params.length - 1; i >= 0; i--)    {      var paramData = params[i].split("=");      if(paramData[0] == paramName)      {        return paramData[1];      }    }    return null;  },  /**   * Charge l'iframe "tarifs" avec les paramètres passés   *    * @param   unamaned Objet facultatif contenant des paires de paramètres / valeurs à ajouter à l'url   * &example UpsaleBloc.loadTarifsIframe({param1: "value1", param2: "value2"... });   */  loadIframe: function()  {    var iframeParams = {};    if(UpsaleBloc.getIframeParam("sort") != null)    {      iframeParams.sort = UpsaleBloc.getIframeParam("sort");    }    else    {      iframeParams.sort = "service";    }    if(arguments.length > 0 && typeof(arguments[0]) === "object")    {      for(var i in arguments[0])      {        iframeParams[i] = arguments[0][i];      }    }    var href_iframe = document.location.protocol;    href_iframe += "//";    href_iframe += document.location.hostname+"/";    href_iframe += "reservation/iframe-upsale.jsp?";    var tabParams = [];    for(var i in iframeParams)    {      tabParams.push(i+"="+iframeParams[i]);    }    href_iframe += tabParams.join("&");    $("iframe-upsale").contentWindow.location.href = href_iframe;  },  /**   * Accroche la popup internet-sales-conditions.html   */  setInfoRatesLinks: function()   {    var link = $("infos-rates-popup-link");    Event.observe(      link,      'click',      function(e)      {        Event.stop(e);        DivPopup.openPopup('rates_sales_policies', 500, 400, null, "internet-sales-conditions.html",  cgv_title(), 17);      }    );  }}core.push(UpsaleBloc);/** * Mettez ci-dessous les méthodes utilisées par la page, utilisant le JSON. * Toute méthode n'ayant pas de rapport avec le JSON ne sera pas acceptée. */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -