<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Panel x="19.25" y="10" width="448.75" height="271" layout="absolute">
<mx:Label x="21" y="10" text="单价:" fontWeight="bold" fontSize="13"/>
<mx:Label x="21" y="47" text="面积:" fontSize="13" fontWeight="bold"/>
<mx:Label x="10" y="80" text="按揭成数:" fontSize="13" fontWeight="bold" id="lbajcs"/>
<mx:Label x="10" y="110" text="按揭年数:" fontSize="13" fontWeight="bold"/>
<mx:Button x="10" y="194" label="开始计算" fontSize="13" click="start()"/>
<mx:Button x="112" y="195" label="清空" fontSize="13" click="clear()"/>
<mx:Label x="220.75" y="10" text="房款总额:" fontSize="13" fontWeight="bold" id="fangkuanzonge"/>
<mx:Label x="220.75" y="36" text="贷款总额:" fontSize="13" fontWeight="bold" id="daikuanzonge"/>
<mx:Label x="220.75" y="62" text="首期付款:" fontSize="13" fontWeight="bold" id="shouqifukuan"/>
<mx:Label x="220.75" y="88" text="月均还款:" fontSize="13" fontWeight="bold" id="yuejunhuaikuan"/>
<mx:Label x="220.75" y="114" text="还额总款:" fontSize="13" fontWeight="bold" id="huaikuanzonge"/>
<mx:Label x="220.75" y="147" text="支付总额:" fontSize="13" fontWeight="bold" id="zhifuzonge"/>
<mx:TextInput x="90" y="11" width="97" id="Tdanjia"/>
<mx:TextInput x="90" y="48" width="97" id="Tmianji"/>
<mx:TextInput x="303.75" y="37" width="115" id="Tdaikuanzonge"/>
<mx:TextInput x="303.75" y="63" width="115" id="Tshouqifukuan"/>
<mx:TextInput x="303.75" y="89" width="115" id="Tyuejunhuankuan"/>
<mx:TextInput x="303.75" y="115" width="115" id="Thuankuanzonge"/>
<mx:TextInput x="303.75" y="148" width="115" id="Tzhifuzonge"/>
<mx:PopUpButton x="93" y="81" label="请选择" width="94" fontSize="13" id="popajcs" creationComplete="initApp()"/>
<mx:PopUpButton x="93" y="111" label="请选择" width="94" fontSize="13" id="popajns" creationComplete="initApp()"/>
<mx:TextInput x="303.75" y="11" width="109" id="Tfangkuanzonge"/>
</mx:Panel>
<mx:Script>
<![CDATA[
import mx.formatters.NumberBase;
import mx.events.MenuEvent;
import mx.controls.Menu;
import mx.events.ItemClickEvent;
import mx.controls.Alert; //引用函数库里的函数
private var ajnsMenu:Menu;
private var ajcsMenu:Menu;
private var labelajns:String=""; //定义弹出式按钮里的内容
private var labelajcs:String="";
/**
* 初始化数据,创建数据源
* */
private function initApp():void
{
//
ajnsMenu = new Menu();
ajcsMenu = new Menu();
// 定义一个数组对象,作为数据源
var dpajns:Object = [
{label:"2年(24期)"},
{label:"3年(36期)"},
{label:"4年(48期)"},
{label:"5年(60期)"},
{label:"6年(72期)"},
{label:"7年(84期)"},
{label:"8年(96期)"},
{label:"9年(108期)"},
{label:"10年(120期)"},
{label:"15年(180期)"},
{label:"20年(240期)"},
{label:"25年(300期)"},
{label:"30年(360期)"}
];
// 菜单对象与数据源绑定
ajnsMenu.dataProvider = dpajns;
ajnsMenu.addEventListener("itemClick", ajnsClickHandler); //侦听到点击,触发这个事件
// 设置弹出的菜单
popajns.popUp = ajnsMenu;
// 定义一个数组对象,作为数据源
var dpajcs:Object = [
{label:"8成"},
{label:"7成"},
{label:"6成"},
{label:"5成"},
{label:"4成"},
{label:"3成"},
{label:"2成"}
];
// 菜单对象与数据源绑定
ajcsMenu.dataProvider = dpajcs;
ajcsMenu.addEventListener("itemClick", ajcsClickHandler);
// 设置弹出的菜单
popajcs.popUp = ajcsMenu;
}
private function ajnsClickHandler(event:MenuEvent):void
{
// 获取菜单选项内容
labelajns= event.item.label;
// 设置按钮标签内容,并关闭菜单
popajns.label = labelajns;
popajns.close();
// 设置菜单的索引为选项的索引值
ajnsMenu.selectedIndex = event.index;
}
//定义按揭单击
private function ajcsClickHandler(event:MenuEvent):void
{
labelajcs = event.item.label;
popajcs.label = labelajcs;
popajcs.close();
ajcsMenu.selectedIndex = event.index;
}
private function start():void
{ //定义单价
var danjia:Number;
danjia=Number(Tdanjia.text);
var mianji:Number;
mianji=Number(Tmianji.text);
var nianlilv:Number;
var yuelilv:Number;
var yueshu:Number;
var chengshu:Number;
var daikuan:Number;
var yuejunhuankuan:Number;
var huankuanzonge:Number;
var zhifuzonge:Number;
if (labelajns==""||labelajcs==""||danjia<=0||mianji<=0)
{
Alert.show("请输入正确的单价和面积")
}
else
{
switch(labelajcs)
{
case "8成":
chengshu=0.8;
break;
case "7成":
chengshu=0.7;
break;
case "6成":
chengshu=0.6;
break;
case "5成":
chengshu=0.5;
break;
case "4成":
chengshu=0.4;
break;
case "3成":
chengshu=0.3;
break;
case "2成":
chengshu=0.2;
break;
default:
break;
}
switch(labelajns)
{
case "2年(24期)":
yueshu=24;
nianlilv=0.0540;
break;
case "3年(36期)":
yueshu=36;
nianlilv=0.0540;
break;
case "4年(48期)":
yueshu=48;
nianlilv=0.0576;
break;
case "5年(60期)":
yueshu=60;
nianlilv=0.0576;
break;
case "6年(72期)":
yueshu=72;
nianlilv=0.0594;
break;
case "7年(84期)":
yueshu=84;
nianlilv=0.0594;
break;
case "8年(96期)":
yueshu=96;
nianlilv=0.0594;
break;
case "9年(108期)":
yueshu=108;
break;
case "10年(120期)":
yueshu=120;
nianlilv=0.0594;
break;
case "15年(180期)":
yueshu=180;
nianlilv=0.0594;
break;
case "20年(240期)":
yueshu=240;
nianlilv=0.0594;
break;
case "25年(300期)":
yueshu=300;
nianlilv=0.0594;
break;
case "30年(360期)":
yueshu=360;
nianlilv=0.0594;
break;
default:
break;
}
daikuan=chengshu*danjia*mianji;
yuelilv=nianlilv/12;
yuejunhuankuan=daikuan*(yuelilv*Math.pow((1+yuelilv),yueshu))/(Math.pow
((1+yuelilv),yueshu)-1);
huankuanzonge=yuejunhuankuan*yueshu;
zhifuzonge=(danjia*mianji-daikuan)+huankuanzonge;
Tfangkuanzonge.text=(danjia*mianji).toString();
Tdaikuanzonge.text=daikuan.toFixed(2).toString();
Tshouqifukuan.text=(danjia*mianji-daikuan).toFixed(2).toString();
Tyuejunhuankuan.text=yuejunhuankuan.toFixed(2).toString();
Thuankuanzonge.text=huankuanzonge.toFixed(2).toString();
Tzhifuzonge.text=zhifuzonge.toFixed(2).toString();
}
}
private function clear():void
{
Tdanjia.text="";
Tmianji.text="";
popajcs.label="请选择";
popajns.label="请选择";
Tfangkuanzonge.text="";
Tdaikuanzonge.text="";
Tshouqifukuan.text="";
Tyuejunhuankuan.text="";
Thuankuanzonge.text="";
Tzhifuzonge.text="";
}
]]>
</mx:Script>
</mx:Application>