// /// /// /// // var rightContent = $("#rightContent"); var cPG = rGet(curl, 'pg'); if (cPG == '') cPG = '20'; var cPGS=('24,29,2,20,19,23,5,25,3,4,47,64,48,62,63').split(","); var cPGS_str=""; var cPGS_g=new Array("华中联通100G","阿里云线路上海","香港CN2","日本CN2","新加坡BGP","阿里云线路深圳","阿里云香港linux主机","美国CN2双向直连","韩国BGP","阿里云线路青岛","新加坡高防120G","华为云线路贵阳","阿里云线路成都","阿里云线路呼和浩特","阿里云线路张家口"); for (ci = 0; ci < cPGS.length; ci++) { cspg = cPGS[ci]; if(cspg!="") { if(cPG==cspg){cPGS_str+='"; gv=false;} else cPGS_str+='"; } } rightContent.find("#xianluText").html(cPGS_str).find('label').click(function(){$(this).parent().find("label").attr("class",'');$(this).attr("class",'local');setcPg($(this).attr('data'));}); setcPg(cPG); var pList = rightContent.find("#taocanText"); var cloudData; var plist = ''; function setcPg(cPg) { $.getJSON("process.aspx?c=jsapi&action=product&groupid=" + cPg + "&" + new Date(), function (rdata) { if (rdata == null) return false; pList.html(''); cloudData = rdata; plist = ''; sevi=0; si=1; $(rdata).each(function (i) { if(rdata[i].phidden==0){ plist += ''; if(si) {sevi=i;si=0;} } }); if(plist==""){alert('该线路暂时缺货,请选择其它线路,谢谢。');rightContent.find("#xianluText label").attr("class",'');rightContent.find("#xianluText label[data='"+cPG+"']").attr("class",'local');setcPg(cPG);return false;} pList.find("span").remove(); pList.append(plist); customCloucd(sevi); }); } var cData; var oslist = '16,Windows 2003 R2|1,Windows 2003 R2 64bit|4,Windows 7 32bit|2,Windows 2008 R2|25,Windows 2012 R2|28,Windows 2008 R2N|31,Windows 2012 R2G|32,Windows 2016 R2G|34,Windows 2003 R2G|5,CentOS 5 32bit|6,CentOS 5 64bit|7,CentOS 6 32bit|8,CentOS 6 64bit|24,CentOS 7 64bit|29,CentOS 7.6 64bitG|30,CentOS 6 64bitG|35,CentOS 64bitG|13,Debian 6 32bit|14,Debian 6 64bit|87,Debian 7 32bit|23,Debian 7 64bit|9,Ubuntu 10 32bit|10,Ubuntu 10 64bit|11,Ubuntu 12 32bit|12,Ubuntu 12 64bit|92,Ubuntu 14 64bit'.split('|'); function customCloucd(num) { //alert(num + " " + cloudData[num].pname); cData = cloudData[num]; showCloudInfo(cData); cData.cltitle=rightContent.find("#xianluText .local").text(); //cData.cltitle=rightContent.find("#p_"+num+"").attr('title'); pList.find("label").removeClass("local"); pList.find("#p_" + num).addClass("local"); rightContent.find(".sys_select select option").remove(); var allowOS = cData.pconfig.allowos, tempStr = ''; var os; var i; for (i = 0; i < oslist.length; i++) { os = oslist[i].split(','); if (allowOS != '0' && (',' + allowOS + ',').indexOf(',' + os[0] + ',') < 0) continue; tempStr += ''; } rightContent.find("#oslist select").append(tempStr); var ipMin = cData.pconfig.ipc == undefined ? 1 : parseInt(cData.pconfig.ipc); var ipMax = cData.pupgrade.ip_max == undefined ? 1 : parseInt(cData.pupgrade.ip_max); if (ipMax < ipMin) ipMax = ipMin; var snapshotMin = cData.pconfig.snapshot == undefined ? 0 : parseInt(cData.pconfig.snapshot); var snapshotMax = cData.pupgrade.snapshot_max == undefined ? 0 : parseInt(cData.pupgrade.snapshot_max); if (snapshotMax < snapshotMin) snapshotMax = snapshotMin; var fullBackupMin = cData.pconfig.full_backup == undefined ? 0 : parseInt(cData.pconfig.full_backup); var fullBackupMax = cData.pupgrade.full_backup_max == undefined ? 0 : parseInt(cData.pupgrade.full_backup_max); if (fullBackupMax < fullBackupMin) fullBackupMax = fullBackupMin; tempStr = ''; for (i = ipMin; i <= ipMax; i++) tempStr += ''; rightContent.find("#ipcount select").append(tempStr); tempStr = ''; for (i = snapshotMin; i <= snapshotMax; i++) tempStr += ''; rightContent.find("#backup select[name='snapshot']").append(tempStr); tempStr = ''; for (i = fullBackupMin; i <= fullBackupMax; i++) tempStr += ''; rightContent.find("#backup select[name='full_backup']").append(tempStr); var mincpu = parseFloat(cData.pconfig.cpu); var maxcpu = parseFloat(cData.pupgrade.cpu_max); var cpu_step = parseFloat(cData.pupgrade.cpu_step); var cpu_price = parseFloat(cData.pupgrade.cpu_price); tempStr = ''; var my_cpu=new Array("","单核","双核","","四核","","六核","","八核"); var vi=mincpu; for (i = mincpu; i <= maxcpu; i++) { vi=i; if(my_cpu[vi]!=""){ if(vi<= maxcpu){ if(vi==mincpu)tempStr += ''+my_cpu[vi]+''; else tempStr += ''+my_cpu[vi]+'';} } } rightContent.find("#cpuText").html(tempStr); var minram = parseFloat(cData.pconfig.ram_max); var maxram = parseFloat(cData.pupgrade.ram_max); var ram_step = parseFloat(cData.pupgrade.ram_step); var ram_price = parseFloat(cData.pupgrade.ram_price); var mindisk = parseFloat(cData.pconfig.disk); var maxdisk = parseFloat(cData.pupgrade.disk_max); var disk_step = parseFloat(cData.pupgrade.disk_step); var disk_price = parseFloat(cData.pupgrade.disk_price); var minbw = parseFloat(cData.pconfig.bw); var maxbw = parseFloat(cData.pupgrade.bw_max); var bw_step = parseFloat(cData.pupgrade.bw_step); var bw_price = parseFloat(cData.pupgrade.bw_price); if (cData.pconfig.bw == '0') { minbw = 0; maxbw = 0; } var minport = parseFloat(cData.pconfig.port); var maxport = parseFloat(cData.pupgrade.port_max); var port_step = parseFloat(cData.pupgrade.port_step); var port_price = parseFloat(cData.pupgrade.port_price); rightContent.find("#cpuText span:eq(1) b").text(maxcpu + "核"); rightContent.find("#ramText span:eq(1) b").text(maxram + "M"); rightContent.find("#diskText span:eq(1) b").text(maxdisk+ "G"); rightContent.find("#portText span:eq(1) b").text(maxport + "M"); rightContent.find("#bwText span:eq(1) b").text((maxbw == 0 ? "不限流量" : maxbw + "G")); cloudSlider(mincpu, maxcpu, cpu_step, cpu_price, minram, maxram, ram_step, ram_price, mindisk, maxdisk, disk_step, disk_price, minbw, maxbw, bw_step, bw_price, minport, maxport, port_step, port_price); updatePrice(mincpu, cpu_price, cpu_step, minram, ram_price, ram_step, mindisk, disk_price, disk_step, minbw, bw_price, bw_step, minport, port_price, port_step); rightContent.find(".price_select").change(function () { updatePrice(mincpu, cpu_price, cpu_step, minram, ram_price, ram_step, mindisk, disk_price, disk_step, minbw, bw_price, bw_step, minport, port_price, port_step); }); } var vcpu = rightContent.find("#vcpu"); var vram = rightContent.find("#vram"); var vdisk = rightContent.find("#vdisk"); var vbw = rightContent.find("#vbw"); var vport = rightContent.find("#vport"); var sl_cpu = rightContent.find("#sl_cpu"); var sl_ram = rightContent.find("#sl_ram"); var sl_disk = rightContent.find("#sl_disk"); var sl_port = rightContent.find("#sl_port"); var sl_bw = rightContent.find("#sl_bw"); function cloudSlider(mincpu, maxcpu, cpu_step, cpu_price, minram, maxram, ram_step, ram_price, mindisk, maxdisk, disk_step, disk_price, minbw, maxbw, bw_step, bw_price, minport, maxport, port_step, port_price) { sl_cpu.slider({ range: "min", value: mincpu, min: 0, max: maxcpu, step: cpu_step, slide: function (event, ui) { vcpu.val(ui.value); updatePrice(mincpu, cpu_price, cpu_step, minram, ram_price, ram_step, mindisk, disk_price, disk_step, minbw, bw_price, bw_step, minport, port_price, port_step); }, stop: function (event, ui) { if (parseInt(ui.value) < mincpu) { sl_cpu.slider("value", mincpu); vcpu.val(mincpu); } else sl_cpu.attr("title", ui.value + "核"); updatePrice(mincpu, cpu_price, cpu_step, minram, ram_price, ram_step, mindisk, disk_price, disk_step, minbw, bw_price, bw_step, minport, port_price, port_step); } }); vcpu.val(mincpu); sl_cpu.slider("value", mincpu); sl_cpu.attr("title", mincpu + "核"); sl_ram.slider({ range: "min", value: minram, min: 0, max: maxram, step: ram_step, slide: function (event, ui) { vram.val(ui.value); updatePrice(mincpu, cpu_price, cpu_step, minram, ram_price, ram_step, mindisk, disk_price, disk_step, minbw, bw_price, bw_step, minport, port_price, port_step); }, stop: function (event, ui) { if (parseInt(ui.value) < minram) { sl_ram.slider("value", minram); vram.val(minram); } else sl_ram.attr("title", ui.value + "M"); updatePrice(mincpu, cpu_price, cpu_step, minram, ram_price, ram_step, mindisk, disk_price, disk_step, minbw, bw_price, bw_step, minport, port_price, port_step); } }); vram.val(minram); sl_ram.slider("value", minram); sl_ram.attr("title", minram + "M"); sl_disk.slider({ range: "min", value: mindisk, min: 0, max: maxdisk, step: disk_step, slide: function (event, ui) { vdisk.val(ui.value); updatePrice(mincpu, cpu_price, cpu_step, minram, ram_price, ram_step, mindisk, disk_price, disk_step, minbw, bw_price, bw_step, minport, port_price, port_step); }, stop: function (event, ui) { if (parseInt(ui.value) < mindisk) { sl_disk.slider("value", mindisk); vdisk.val(mindisk); } else sl_disk.attr("title", ui.value + "G"); updatePrice(mincpu, cpu_price, cpu_step, minram, ram_price, ram_step, mindisk, disk_price, disk_step, minbw, bw_price, bw_step, minport, port_price, port_step); } }); vdisk.val(mindisk); sl_disk.slider("value", mindisk); sl_disk.attr("title", mindisk + "G"); if (minport == 0) minport = maxport; sl_port.slider({ range: "min", value: minport, min: 0, max: maxport, step: port_step, slide: function (event, ui) { vport.val(ui.value); updatePrice(mincpu, cpu_price, cpu_step, minram, ram_price, ram_step, mindisk, disk_price, disk_step, minbw, bw_price, bw_step, minport, port_price, port_step); }, stop: function (event, ui) { if (parseInt(ui.value) < minport) { sl_port.slider("value", minport); vport.val(minport); } else sl_port.attr("title", ui.value + "M"); updatePrice(mincpu, cpu_price, cpu_step, minram, ram_price, ram_step, mindisk, disk_price, disk_step, minbw, bw_price, bw_step, minport, port_price, port_step); } }); vport.val(minport); sl_port.slider("value", minport); sl_port.attr("title", minport + "M"); var minVal = 0; if (maxbw == 0) { minVal = -1; vbw.css("display","none"); } else vbw.css("display", ""); sl_bw.slider({ range: "min", value: minbw, min: minVal, max: maxbw, step: bw_step, slide: function (event, ui) { vbw.val(ui.value); updatePrice(mincpu, cpu_price, cpu_step, minram, ram_price, ram_step, mindisk, disk_price, disk_step, minbw, bw_price, bw_step, minport, port_price, port_step); }, stop: function (event, ui) { if (parseInt(ui.value) < minbw) { sl_bw.slider("value", minbw); vbw.val(minbw); } else { if (maxbw == 0) sl_bw.attr("title", "不限流量"); else sl_bw.attr("title", ui.value + "G"); } updatePrice(mincpu, cpu_price, cpu_step, minram, ram_price, ram_step, mindisk, disk_price, disk_step, minbw, bw_price, bw_step, minport, port_price, port_step); } }); vbw.val(minbw); sl_bw.slider("value", minbw); if (maxbw == 0) sl_bw.attr("title", "不限流量"); else sl_bw.attr("title", minbw + "G"); } function updatePrice(mincpu, cpu_price, cpu_step, minram, ram_price, ram_step, mindisk, disk_price, disk_step, minbw, bw_price, bw_step, minport, port_price, port_step) { var addPrice = (parseFloat(vcpu.val()) - mincpu) * cpu_price / cpu_step; addPrice += (parseFloat(vram.val()) - minram) * ram_price / ram_step; addPrice += (parseFloat(vdisk.val()) - mindisk) * disk_price / disk_step; if (minbw > 0) addPrice += (parseFloat(vbw.val()) - minbw) * bw_price / bw_step; if (minport > 0) addPrice += (parseFloat(vport.val()) - minport) * port_price / port_step; var ipMin = cData.pconfig.ipc == undefined ? 1 : parseInt(cData.pconfig.ipc); var snapshotMin = cData.pconfig.snapshot == undefined ? 0 : parseInt(cData.pconfig.snapshot); var fullBackupMin = cData.pconfig.full_backup == undefined ? 0 : parseInt(cData.pconfig.full_backup); var addIPC = rightContent.find("select[name='ipcount']").val() == undefined ? ipMin : parseInt(rightContent.find("select[name='ipcount']").val()); var addSnapshot = rightContent.find("select[name='snapshot']").val() == undefined ? snapshotMin : parseInt(rightContent.find("select[name='snapshot']").val()); var addFullBackup = rightContent.find("select[name='full_backup']").val() == undefined ? fullBackupMin : parseInt(rightContent.find("select[name='full_backup']").val()); addIPC = addIPC - ipMin; addSnapshot = addSnapshot - snapshotMin; addFullBackup = addFullBackup - fullBackupMin; if (addIPC > 0) addPrice += addIPC * parseFloat(cData.pupgrade.ip); if (addSnapshot > 0) addPrice += addSnapshot * parseFloat(cData.pupgrade.snapshot_price); if (addFullBackup > 0) addPrice += addFullBackup * parseFloat(cData.pupgrade.full_backup_price); var priceList = ''; var pps = cData.pprice.cprice.split(','); var pcs = cData.pprice.cycle.split(','); var p; for (p = 0; p < pps.length; p++) { if (pps[p] != '0') { priceList += ''; } } rightContent.find(".price_confi").html(priceList); rightContent.find(".price_confi input:radio:first").attr("checked", "checked").parent().parent().addClass('local'); rightContent.find(".price_confi label").bind('click',function(){ $(this).addClass('local').siblings().removeClass('local'); $(this).find("input:radio").attr("checked", "checked"); }); } function showCloudInfo(info) { var thePrice = getPrice(info.pprice, info.psconfig, -1); $("#jgyl").find(".cloudParam li").remove(); var str = '
  • CPU:' + info.pconfig['cpu'] + '核
  • ' + '
  • 内存: ' + parseFloat(typeof (info.pconfig['ram']) == 'undefined' ? info.pconfig['ram_max'] : info.pconfig['ram']) + 'MB
  • ' + '
  • 硬盘: ' + info.pconfig['disk'] + 'GB
  • ' + '
  • 端口:' + (info.pconfig['port'] == '0' || cData.pconfig.port == cData.pupgrade.port_max ? '不限端口' : '' + info.pconfig['port'] + ' MB') + '
  • ' + '
  • 流量: ' + (info.pconfig['bw'] == '0' ? '不限流量' : '' + info.pconfig['bw'] + ' GB ') + '
  • ' + '
  • IP: ' + info.pconfig['ipc'] + '个IP地址
  • ' + //'
  • 系统:-
  • ' + '
  • 价格: ' + thePrice + '
  • '; $("#jgyl").find(".cloudParam").append(str); $("#jgyl").find(".ParamPrice").html(''); } function cloudOrder(action) { if (action == 0) { if (userID == '') userLogin(0, 'cmd:cloudOrder(1);'); else cloudOrder(1); } else if (action == 1) { var cPrice = rightContent.find(".price_confi input:radio:checked").parent(); var billingCycle = cPrice.find("input:radio:checked").val(); var amount = parseFloat(cPrice.find("span").text()); var ipMin = cData.pconfig.ipc == undefined ? 1 : parseInt(cData.pconfig.ipc); var snapshotMin = cData.pconfig.snapshot == undefined ? 0 : parseInt(cData.pconfig.snapshot); var fullBackupMin = cData.pconfig.full_backup == undefined ? 0 : parseInt(cData.pconfig.full_backup); var ipcount = rightContent.find("select[name='ipcount']").val() == undefined ? ipMin : parseInt(rightContent.find("select[name='ipcount']").val()); var snapshot = rightContent.find("select[name='snapshot']").val() == undefined ? snapshotMin : parseInt(rightContent.find("select[name='snapshot']").val()); var full_backup = rightContent.find("select[name='full_backup']").val() == undefined ? fullBackupMin : parseInt(rightContent.find("select[name='full_backup']").val()); var str = '
      ' + '
    • CPU核数:' + vcpu.val() + ' 核
    • ' + '
    • 内存大小:' + vram.val() + ' MB
    • ' + '
    • 存储容量:' + vdisk.val() + ' GB
    • ' + '
    • 端口速度:' + vport.val() + ' M
    • ' + '
    • 流量带宽:' + (vbw.val() == '0' ? '不限流量' : vbw.val() + ' GB') + '
    • ' + '
    • IP地址:' + ipcount + ' 个
    • ' + (snapshot > 0 ? '
    • 快照备份:' + snapshot + ' 个
    • ' : '') + (full_backup > 0 ? '
    • 完整备份:' + full_backup + ' 个
    • ' : '') + '
    • 最终价格:' + cPrice.text() + '
    • ' + '
    • ' + '
    • ' + '
    ' + '' + '' + '' + '' + '' + '' + '' + '' + '
    '; swin.html(str); swin.dialog({ title: "配置清单", autoOpen: false,dialogClass:'unmntip-buy', resizable: false, width: 388, modal: true}).dialog("open"); } }