1、开发商销控

1.1主界面截图:

1.1图(1)

1.2主界面代码:

 <div id="w开发商销控" class="easyui-window" title="开发商销控" data-options="fit:true" style="width:1108px;height:585px"><div class="easyui-layout" data-options="fit:true" style="width:1108px;height:505px"><div data-options="region:'north'" style="width:1108px;height:30px"><table><tr><td>项目名称</td><td><input class="easyui-combobox" id="comXiangMuMC" data-options="onSelect:onXiangMuSelect"  style="width:150px" /></td><td style="width:20px"></td><td>项目分区</td><td><input class="easyui-combobox" id="comXiangMuFQ" data-options="onSelect:onXiangMuFenQuSelect"  style="width:150px" /></td><td style="width:20px"></td><td>楼栋</td><td><input class="easyui-combobox" id="comXiangLD" data-options="onSelect:onChangeHouse"   style="width:150px" /></td><td style="width:20px"></td><td><a id="LouPanSouShuo" href="../XiaoShouQianTai/KaiFaShangXiaoKong" class="easyui-linkbutton">刷新</a></td><td><a id="ShuaXin" οnclick="" class="easyui-linkbutton">顺序显示</a></td><td><a id="YiXiangChaXun" οnclick="OpenChuangTi('#w意向查询')" class="easyui-linkbutton">意向查询</a></td><td><a id="LouPanSouShuo" οnclick="" class="easyui-linkbutton">多楼栋</a></td><td><a id="ShuaXin" οnclick="" class="easyui-linkbutton">关闭</a></td></tr></table></div><div data-options="region:'center'" style="width:1108px;height:475px"><div class="easyui-layout" data-options="fit:true" style="width:1108px;height:585px"><div data-options="region:'west'" style="width:650px;height:432px"><table id="tbFangJianZiLiao" class="easyui-datagrid" data-options="singleSelect:true,onClickCell:onClickRoom"></table></div><div data-options="region:'east'" style="width:550px;height:432px"><fieldset style="padding:5px;border:1px solid #C0C0C0;width:480px;height:250px;margin-left:15px;" ><legend>房间资料</legend><table><tr><td>房间</td> <td colspan=2><input id="fangjian" style="width:130px" /></td></tr><tr><td>销售状态</td> <td colspan=2><input id="xiaoshouzhuangtai" style="width:80px" /></td></tr><tr><td>房间类型</td> <td colspan=2><input id="fangjianleixing" style="width:80px" /></td> <td>朝向</td> <td colspan=2><input id="chaoxiang" style="width:80px" /></td></tr><tr><td>建筑面积</td> <td><input id="jianzhumianji" style="width:80px" /></td> <td>平米</td><td>建筑实测</td> <td><input id="jianzhushice" style="width:80px" /></td> <td>平米</td></tr><tr><td>套内面积</td> <td><input id="taoneimianji" style="width:80px" /></td> <td>平米</td><td>套内实测</td> <td><input id="taoneishice" style="width:80px" /></td> <td>平米</td></tr><tr><td>标准单价</td> <td><input id="biaozhundanjia" style="width:80px" /></td> <td>元/平米</td><td>套内单价</td> <td><input id="taoneidanjia" style="width:80px" /></td> <td>元/平米</td></tr><tr><td>标准总价</td> <td><input id="biaozhunzongjia" style="width:80px" /></td> <td>元</td></tr></table></fieldset><div id="menu" class="easyui-menu" style="width: 30px; display: none;"><!--放置一个隐藏的菜单Div--><div id="btn_WeiShou" data-options="iconCls:'icon-remove'" οnclick="sahj()">1.未售状态</div><!--具体的菜单事件请自行添加,跟toolbar的方法是基本一样的--><div id="btn_BaoLiu" data-options="iconCls:'icon-edit'"οnclick="bl()">2.保留状态</div>@*菜单选项*@<div id="btn_YuLiu" data-options="iconCls:'icon-edit'"οnclick="yl()">3.预留状态</div><div id="btn_YuDing" data-options="iconCls:'icon-edit'"οnclick="yd()">4.预定状态</div><div id="btn_RenGou" data-options="iconCls:'icon-edit'"οnclick="yy()">5.认购状态</div><div id="btn_QianYue" data-options="iconCls:'icon-edit'"οnclick="qy()">6.签约状态</div></div><table id="tbFangJianSuoYouZiLiao" class="easyui-datagrid" data-options="singleSelect:true@*,onRowContextMenu:YouJian*@" style="width:1px;height:1px;"><thead><tr><th data-options="field:'RoomDataID',width:50,hidden:true, align:'center'">房间资料ID</th><th data-options="field:'FangHao',width:50,hidden:true, align:'center'">房号</th><th data-options="field:'SellStatusName',width:50,hidden:true, align:'center'">销售状态名称</th><th data-options="field:'RoomType',width:50,hidden:true, align:'center'">房间类型</th><th data-options="field:'RoomFaceDirection',width:50,hidden:true, align:'center'">朝向</th><th data-options="field:'CoveredArea',width:50,hidden:true, align:'center'">套内面积</th><th data-options="field:'BuildingMeasurement',width:50,hidden:true, align:'center'">建筑实测</th><th data-options="field:'BuilDingExceptArea',width:50,hidden:true, align:'center'">建筑面积</th><th data-options="field:'CoverInnerMeasurement',width:50,hidden:true, align:'center'">套内实测</th><th data-options="field:'CoverInnerUnivalent',width:50,hidden:true, align:'center'">套内面积单价</th><th data-options="field:'BuildingUnivalent',width:50,hidden:true, align:'center'">建筑面积单价</th><th data-options="field:'BiaoZhunZongJia',width:50,hidden:true, align:'center'">标准总价</th><th data-options="field:'XiaoShouJiaID',width:50,hidden:true, align:'center'">销售状态ID</th></tr></thead></table><fieldset style="padding:5px;border:1px solid #C0C0C0;width:480px;height:130px;margin-left:15px;" ><legend>付款情况</legend><table><tr><td>付款方式:</td> <td colspan=2><input id="" class="easyui-combobox" style="width:140px" /></td><td style="width:5px"></td><td>折扣:</td> <td><input id="" style="width:140px" /></td> <td>%</td></tr><tr><td>优惠:</td> <td><input id="" style="width:140px" /></td> <td>元</td><td style="width:5px"></td><td>房款总额:</td> <td><input id="" style="width:140px" /></td> <td>元</td></tr><tr><td>按揭总额:</td> <td><input id="" style="width:140px" /></td> <td>元</td><td style="width:5px"></td><td>公积金总额:</td> <td><input id="" style="width:140px" /></td> <td>元</td></tr></table><table><tr><td style="width:380px"></td><td><button id="FuKuanXiangQing" οnclick="OpenChuangTi('#w付款详情')" style="width:80px">付款详情</button></td></tr></table></fieldset></div><div data-options="region:'south'" style="width:550px;height:30px"><table><tr><td><div style="background-color: #FF0000;">签约:</div></td><td><input id="QianYue" readonly ="true" style="width:30px" /></td><td><div >占:</div></td><td><input id="Zan1" readonly ="true" style="width:30px" />%</td><td style="width:5px"></td><td><div style="background-color: #00FFFF;">认购:</div></td><td><input id="RenGou" readonly ="true" style="width:30px" /></td><td><div >占:</div></td><td><input id="Zan2" readonly ="true" style="width:30px" />%</td><td style="width:5px"></td><td><div style="background-color: #FFFF00;">预定:</div></td><td><input id="YuDing" readonly ="true" style="width:30px" /></td><td><div >占:</div></td><td><input id="Zan3" readonly ="true" style="width:30px" />%</td><td style="width:5px"></td><td><div style="background-color: #00FF00;">预留:</div></td><td><input id="YuLiu" readonly ="true" style="width:30px" /></td><td><div >占:</div></td><td><input id="Zan4" readonly ="true" style="width:30px" />%</td><td style="width:5px"></td><td> <div >未售:</div></td><td><input id="WeiShou" readonly ="true" style="width:30px" /></td><td><div >占:</div></td><td><input id="Zan5" readonly ="true" style="width:30px" />%</td><td style="width:5px"></td><td> <div >保留:</div></td><td><input id="BaoLiu" readonly ="true" style="width:30px" /></td><td><div >占:</div></td><td><input id="Zan6" readonly ="true" style="width:30px" />%</td></tr></table></div></div></div></div></div>

1.2.1数据库:

开发商销控模块所涉及到的表的关系:

涉及到的表有:

1.3动态列( 因为房间的个数不是固定的,因此要动态生成表格):

1.3.1动态列代码 (JQuery)

 var y;//动态列var options = {};var String1 = "[[{ field:'LouChen', title: '楼层', width: 40},";function onChangeHouse() {//下拉框触发事件TongJi();//调用统计房间数的方法$.getJSON("/XiaoShouQianTai/SelectAllRoomData?HouseID=" + $("#comXiangLD").combobox('getValue'),function (data) {$('#tbFangJianSuoYouZiLiao').datagrid('loadData', data);//加载所有房间资料}); //查询所有房间资料HouseID = $('#comXiangLD').combobox('getValue'); //赋值给HouseID$.getJSON("/XiaoShouQianTai/TiaoJianChaXunFangJianMiaoShu?LouDongID=" + $('#comXiangLD').combobox('getValue'),function (data) {if (data > 0) {for (var i = 0; i < data; i++) {//for循环,循环遍历每个房间y = i + 1;if (i < data - 1) {var s = "{ field:'F" + i + "', title: '0" + y + "', width:80,styler: cellStyler},"; //“styler: cellStyler”是变颜色的方法String1 = String1 + s;} else {var s = "{ field:'F" + i + "', title: '0" + y + "', width: 80,styler: cellStyler}"; //String1 = String1 + s + "]]";}}options.columns = eval(String1);$('#tbFangJianZiLiao').datagrid(options);$.getJSON("/XiaoShouQianTai/LouDongBiaoMoXing1?LouDongID=" + $('#comXiangLD').combobox('getValue') + "&" + "LouCengHao=1",function (data) {$('#tbFangJianZiLiao').datagrid("loadData", data);//加载房间资料String1 = "[[{ field:'LouChen', title: '楼层', width: 40},";//楼层});} else {Kong();}});}

动态列界面代码

<div data-options="region:'center'" style="width:1108px;height:475px"><div class="easyui-layout" data-options="fit:true" style="width:1108px;height:585px"><div data-options="region:'west'" style="width:650px;height:432px"><table id="tbFangJianZiLiao" class="easyui-datagrid" data-options="singleSelect:true,onClickCell:onClickRoom"></table></div>

1.3下拉框级联

下拉框级联是紧密联系的,当上一个下拉框选中时,下一个下拉框才能进行选择,否则,下一个下拉框将无东西可选。

截图如下

功能实现:

1.3.1数据库存储过程

 if @type='SelectProject'--查询项目beginSELECT     ProjectID, ProjectNameFROM         SYS_ProjectTableendif @type='SelectProjectPartition'--查询项目分区beginSELECT     ProjectSubregionID, ProjectSubregionName, ProjectIDFROM         SYS_ProjectSubregionTablewhere  ProjectID=@ProjectID--查询的条件IDendif @type='SelectHouseOfID'--查询楼栋beginSELECT     HouseID, HouseName, ProjectSubregionIDFROM         SYS_HouseTablewhere  ProjectSubregionID=@ProjectSubregionID--查询的条件IDend

1.3.2逻辑层代码:(逻辑层是连接数据库的)

       #endregion 项目名称public DataTable SelectProject()//查询项目{SqlParameter[] SQLCMpas = {new SqlParameter("@Type",SqlDbType.Char)};SQLCMpas[0].Value = "SelectProject";//对应数据库的存储过程中的方法名DataTable dt = myDALMethod.DAL_SelectDB_Par("KaiFaShangXiaoKong_Select", SQLCMpas);//对应存储过程名称return dt;}public DataTable SelectProjectPartition(int ProjectID)//查询项目分区{SqlParameter[] SQLCMpas = {new SqlParameter("@Type",SqlDbType.Char),//对应的参数new SqlParameter("@ProjectID",SqlDbType.Int)};SQLCMpas[0].Value = "SelectProjectPartition";//对应数据库的存储过程中的方法名SQLCMpas[1].Value = ProjectID;DataTable dt = myDALMethod.DAL_SelectDB_Par("KaiFaShangXiaoKong_Select", SQLCMpas);//对应存储过程名称return dt;}public DataTable SelectHouseOfID(int ProjectSubregionID)//查询楼栋{SqlParameter[] SQLCMpas = {new SqlParameter("@Type",SqlDbType.Char),new SqlParameter("@ProjectSubregionID",SqlDbType.Int)};SQLCMpas[0].Value = "SelectHouseOfID";//对应数据库的存储过程的方法名SQLCMpas[1].Value = ProjectSubregionID;DataTable dt = myDALMethod.DAL_SelectDB_Par("KaiFaShangXiaoKong_Select", SQLCMpas);//对应存储过程名称return dt;}

1.3.3控制器代码:(控制器是联系逻辑层的)

        public ActionResult SelectProject_XiangMu()//查询项目{DataTable dt = myfrmXiaoShouQianTai.SelectProject();//这里对应的是实例化逻辑层,调用逻辑层的查询项目方法List<Dictionary<string, object>> ListRetrun = ConvertHelper.DtToList(dt);return Json(ListRetrun, JsonRequestBehavior.AllowGet);}public ActionResult SelectProjectPartition_Selecte(int ProjectID)//查询项目分区{DataTable dt = myfrmXiaoShouQianTai.SelectProjectPartition(ProjectID);//这里对应的是实例化逻辑层,调用逻辑层的查询项目分区方法List<Dictionary<string, object>> ListRetrun = ConvertHelper.DtToList(dt);return Json(ListRetrun, JsonRequestBehavior.AllowGet);}public ActionResult SelectHouseOfID_Selecte(int ProjectSubregionID)//查询楼栋{DataTable dt = myfrmXiaoShouQianTai.SelectHouseOfID(ProjectSubregionID);//这里对应的是实例化逻辑层,调用逻辑层的查询楼栋方法List<Dictionary<string, object>> ListRetrun = ConvertHelper.DtToList(dt);return Json(ListRetrun, JsonRequestBehavior.AllowGet);}

1.3.4界面层(JQuery)代码

   function getXiangMuMC() {//绑定项目名称$.getJSON("/XiaoShouQianTai/SelectProject_XiangMu",//这里是调用控制器的方法名function (data) {$('#comXiangMuMC').combobox({ data: data, valueField: 'ProjectID', //“comXiangMuMC”是下拉框的IDtextField: 'ProjectName'});});}function onXiangMuSelect() {//获取项目名称$.getJSON("/XiaoShouQianTai/SelectProjectPartition_Selecte?ProjectID=" + $("#comXiangMuMC").combobox('getValue'), //这里是调用控制器的方法名function (data) {$('#comXiangMuFQ').combobox({ data: data, valueField: 'ProjectSubregionID', //“comXiangMuFQ”是下拉框的IDtextField: 'ProjectSubregionName'});});}function onXiangMuFenQuSelect() {//获取项目分区$.getJSON("/XiaoShouQianTai/SelectHouseOfID_Selecte?ProjectSubregionID=" + $("#comXiangMuFQ").combobox('getValue'), //这里是调用控制器的方法名function (data) {$('#comXiangLD').combobox({ data: data, valueField: 'HouseID', //“comXiangLD”是下拉框的IDtextField: 'HouseName'});});}

下拉框控件代码:

 <td>项目名称</td><td><input class="easyui-combobox" id="comXiangMuMC" data-options="onSelect:onXiangMuSelect"  style="width:150px" /></td><td style="width:20px"></td><td>项目分区</td><td><input class="easyui-combobox" id="comXiangMuFQ" data-options="onSelect:onXiangMuFenQuSelect"  style="width:150px" /></td><td style="width:20px"></td><td>楼栋</td><td><input class="easyui-combobox" id="comXiangLD" data-options="onSelect:onChangeHouse"   style="width:150px" /></td><td style="width:20px"></td>

1.4查询房间代码:

1.4.1存储过程

    if @type='SelectAllRoomData'--查询楼栋信息(KaiFaShangXiaoKong)begin
SELECT     SYS_RoomDataTable.RoomDataID, SYS_RoomDataTable.HouseID, SYS_RoomDataTable.RoomCode, SYS_RoomDataTable.RoomUnit, SYS_RoomDataTable.RoomNumber, SYS_RoomDataTable.natureNumber, SYS_RoomDataTable.Floor, SYS_RoomDataTable.ColumnNumber, SYS_RoomDataTable.CoveredArea, SYS_RoomDataTable.BuilDingExceptArea, SYS_RoomDataTable.AreaShare, SYS_RoomDataTable.BalconyArea, SYS_RoomDataTable.RoomFaceDirectionID, SYS_RoomDataTable.RoomTypeID, SYS_AttributeAssembleDetailTable_1.AttributeAssembleDetailName AS RoomType, SYS_UnivalentTable.UnivalentID, SYS_UnivalentTable.BuildingUnivalent, SYS_UnivalentTable.CoverInnerUnivalent, SYS_UnivalentTable.RoomUnivalent, SYS_AreaMeasurementTable.AreaMeasurementID, SYS_AreaMeasurementTable.BuildingMeasurement, SYS_AreaMeasurementTable.CoverInnerMeasurement, SYS_AreaMeasurementTable.ShareMeasurement, SYS_RoomDataTable.RoomRanking, SYS_RoomDataTable.OnbuildingExceptAreaCountNot, SYS_RoomDataTable.LockNot, SYS_StatusChangeTable.StatusChangeID, SYS_StatusChangeTable.SellStatusDetailID, SYS_SellStatusTable.SellStatusName, SYS_AttributeAssembleDetailTable.AttributeAssembleDetailName AS RoomFaceDirection, SYS_StatusChangeTable.DeleteNot, SYS_SellStatusDetailTable.SellStatusID, SYS_RoomDataTable.ZhuangTaiWeiZhenFou, SYS_StatusChangeTable.XiaoShouJiaID--查询房间时要查的字段
FROM         SYS_SellStatusDetailTable LEFT OUTER JOINSYS_StatusChangeTable ON SYS_SellStatusDetailTable.SellStatusDetailID = SYS_StatusChangeTable.SellStatusDetailID LEFT OUTER JOINSYS_SellStatusTable ON SYS_SellStatusDetailTable.SellStatusID = SYS_SellStatusTable.SellStatusID RIGHT OUTER JOINSYS_RoomDataTable LEFT OUTER JOINSYS_AreaMeasurementTable ON SYS_RoomDataTable.RoomDataID = SYS_AreaMeasurementTable.RoomDataID ON SYS_StatusChangeTable.RoomDatumID = SYS_RoomDataTable.RoomDataID LEFT OUTER JOIN--表与表之间的关系SYS_AttributeAssembleDetailTable ON SYS_RoomDataTable.RoomFaceDirectionID = SYS_AttributeAssembleDetailTable.AttributeAssembleDetailID LEFT OUTER JOINSYS_AttributeAssembleDetailTable AS SYS_AttributeAssembleDetailTable_1 ON SYS_RoomDataTable.RoomTypeID = SYS_AttributeAssembleDetailTable_1.AttributeAssembleDetailID LEFT OUTER JOINSYS_UnivalentTable ON SYS_RoomDataTable.RoomDataID = SYS_UnivalentTable.RoomDatumID where         SYS_StatusChangeTable.DeleteNot='false' and SYS_RoomDataTable.HouseID=@HouseID--查询的条件end

1.4.2逻辑层代码:(接收来自数据库的数据)

 public DataTable SelectAllRoomData(int HouseID)//查询房间的条件ID{SqlParameter[] SQLCMDpas = {new SqlParameter("@type",SqlDbType.Char),//数据库定义的变量new SqlParameter("@HouseID",SqlDbType.Int),};SQLCMDpas[0].Value = "SelectAllRoomData";//数据库的存储过程的方法SQLCMDpas[1].Value =HouseID;DataTable dt = myDALMethod.DAL_SelectDB_Par("KaiFaShangXiaoKong_Select", SQLCMDpas);//数据库存储过程名称return dt;}//查询所有房间资料

1.4.3控制器代码:(接收来自逻辑层的数据)

     public ActionResult SelectAllRoomData(int HouseID) //查询所有房间资料{DataTable dt = myfrmXiaoShouQianTai.SelectAllRoomData(HouseID);//调用逻辑层的方法,括号里的是条件IDdt.Columns.Add("FangHao",typeof(string));for (var i = 0; i < dt.Rows.Count; i++) {//for循环遍历所有房间if (Convert.ToBoolean(dt.Rows[i]["ZhuangTaiWeiZhenFou"]) == true)//判断ZhuangTaiWeiZhenFou是否为true,并执行以下操作{dt.Rows[i]["FangHao"] = dt.Rows[i]["RoomNumber"];}else {dt.Rows[i]["FangHao"] = dt.Rows[i]["RoomNumber"].ToString().Trim() + "假";//ZhuangTaiWeiZhenFou不为true,在其房号后加假字}}List<Dictionary<string, object>> listReturn = ConvertHelper.DtToList(dt);return Json(listReturn, JsonRequestBehavior.AllowGet);}

1.4.4界面层代码(JQuery):

 var y;//动态列var options = {};//自定义的变量var String1 = "[[{ field:'LouChen', title: '楼层', width: 40},";function onChangeHouse() {//下拉框触发事件TongJi();//调用统计房间数的方法$.getJSON("/XiaoShouQianTai/SelectAllRoomData?HouseID=" + $("#comXiangLD").combobox('getValue'),function (data) {$('#tbFangJianSuoYouZiLiao').datagrid('loadData', data);//加载所有房间资料}); //查询所有房间资料HouseID = $('#comXiangLD').combobox('getValue'); //赋值给HouseID$.getJSON("/XiaoShouQianTai/TiaoJianChaXunFangJianMiaoShu?LouDongID=" + $('#comXiangLD').combobox('getValue'),function (data) {if (data > 0) {for (var i = 0; i < data; i++) {//for循环,循环遍历每个房间y = i + 1;if (i < data - 1) {var s = "{ field:'F" + i + "', title: '0" + y + "', width:80,styler: cellStyler},"; //“styler: cellStyler”是变颜色的方法String1 = String1 + s;} else {var s = "{ field:'F" + i + "', title: '0" + y + "', width: 80,styler: cellStyler}"; //String1 = String1 + s + "]]";}}options.columns = eval(String1);$('#tbFangJianZiLiao').datagrid(options);$.getJSON("/XiaoShouQianTai/LouDongBiaoMoXing1?LouDongID=" + $('#comXiangLD').combobox('getValue') + "&" + "LouCengHao=1",function (data) {$('#tbFangJianZiLiao').datagrid("loadData", data);//加载房间资料String1 = "[[{ field:'LouChen', title: '楼层', width: 40},";//楼层});} else {Kong();}});}

1.5修改房间状态:

截图:

变更房间状态时,只需要右键点击对应的房间,且单击要改变的房间状态即可,但只是改变假的房间状态ID,并不影响真正的房间状态。查询时若是假销控状态,则房号后面标记为假。

1.5.1存储过程(修改房间状态):

 if  @type ='RoomData_Update'--修改(状态是否为真)beginUpdate  SYS_RoomDataTable--修改房间资料表set         ZhuangTaiWeiZhenFou=@ZhuangTaiWeiZhenFouwhere SYS_RoomDataTable.RoomDataID=@RoomDataID--条件IDend
 if @type ='Update_JiaID'--修改假状态IDbeginupdate   SYS_StatusChangeTable --修改状态更改表 set          XiaoShouJiaID=@XiaoShouJiaIDwhere SYS_StatusChangeTable.RoomDatumID=@RoomDatumID--条件IDend

1.5.2逻辑层:

 public int btnBaoCun_Click_UpdateRoomData(Boolean ZhuangTaiWeiZhenFou, int RoomDataID)//修改的条件ID{#region 在btnBaoCun_Click事件中修改房间资料表(是否为真)SqlParameter[] SQlCMDpas = {new SqlParameter("@Type", SqlDbType.Char), //数据库的变量new SqlParameter("@ZhuangTaiWeiZhenFou", SqlDbType.Bit ),new SqlParameter("@RoomDataID", SqlDbType.Int ),};SQlCMDpas[0].Value = "RoomData_Update";//存储过程中的方法SQlCMDpas[1].Value = ZhuangTaiWeiZhenFou;//要对应顺序SQlCMDpas[2].Value = RoomDataID;int mydt = myDALMethod.DAL_OPTableDB_Par("KaiFaShangXiaoKong_Select", SQlCMDpas);//数据库的存储过程名称return mydt;#endregion}public int btnBaoCun_Click_UpdateJiaID(int XiaoShouJiaID, int RoomDatumID)//修改的条件ID{#region 在btnBaoCun_Click事件中保存进程SqlParameter[] SQlCMDpas = {new SqlParameter("@Type", SqlDbType.Char),//数据库的变量new SqlParameter("@XiaoShouJiaID", SqlDbType.Int),new SqlParameter("@RoomDatumID", SqlDbType.Int ),};SQlCMDpas[0].Value = "Update_JiaID";//存储过程中的方法SQlCMDpas[1].Value = XiaoShouJiaID;//要对应顺序SQlCMDpas[2].Value = RoomDatumID;int mydt = myDALMethod.DAL_OPTableDB_Par("PW_PaymentType", SQlCMDpas);//数据库的存储过程名称return mydt;#endregion}

1.5.3控制器:

  #region 修改假IDpublic ContentResult XiuGaiJiaID(string XiaoShouJiaID, string RoomDatumID){int i = myfrmXiaoShouQianTai.btnBaoCun_Click_UpdateJiaID(Convert.ToInt32(XiaoShouJiaID), Convert.ToInt32(RoomDatumID));//调用逻辑层的方法int l = myfrmXiaoShouQianTai.btnBaoCun_Click_UpdateRoomData(false, Convert.ToInt32(RoomDatumID));//调用逻辑层的方法return Content("true");//跳转到资料主页面}#endregion
         function sahj() {//未售var row = $('#tbFangJianZiLiao').datagrid('getSelected');//单击单元格获取房间号if (confirm('是否修改?')) {$.getJSON("/XiaoShouQianTai/XiuGaiJiaID?XiaoShouJiaID=1" + "&"+ "RoomDatumID=" + RoomDatumID1 + "&", //把XiaoShouJiaID等于未售状态的IDfunction (data) {if (data != null) {alert("修改成功");onChangeHouse();//刷新datagrid}});}}function yy() {//认购var row = $('#tbFangJianZiLiao').datagrid('getSelected'); //单击单元格获取房间号if (confirm('是否修改?')) {$.getJSON("/XiaoShouQianTai/XiuGaiJiaID?XiaoShouJiaID=6" + "&"+ "RoomDatumID=" + RoomDatumID1 + "&", //把XiaoShouJiaID等于认购状态的IDfunction (data) {if (data != null) {alert("修改成功");onChangeHouse();//刷新datagrid}});}}function qy() {//签约var row = $('#tbFangJianZiLiao').datagrid('getSelected'); //单击单元格获取房间号                    if (confirm('是否修改?')) {$.getJSON("/XiaoShouQianTai/XiuGaiJiaID?XiaoShouJiaID=5" + "&"+ "RoomDatumID=" + RoomDatumID1 + "&", //把XiaoShouJiaID等于签约状态的IDfunction (data) {if (data != null) {alert("修改成功");onChangeHouse();//刷新datagrid}});}}function yd() {//预定var row = $('#tbFangJianZiLiao').datagrid('getSelected'); //单击单元格获取房间号if (confirm('是否修改?')) {$.getJSON("/XiaoShouQianTai/XiuGaiJiaID?XiaoShouJiaID=3" + "&"//把XiaoShouJiaID等于预定状态的ID+ "RoomDatumID=" + RoomDatumID1 + "&",function (data) {if (data != null) {alert("修改成功");onChangeHouse();//刷新datagrid}});}}function yl() {//预留var row = $('#tbFangJianZiLiao').datagrid('getSelected'); //单击单元格获取房间号if (confirm('是否修改?')) {$.getJSON("/XiaoShouQianTai/XiuGaiJiaID?XiaoShouJiaID=2" + "&"//把XiaoShouJiaID等于预定状态的ID+ "RoomDatumID=" + RoomDatumID1 + "&",function (data) {if (data != null) {alert("修改成功");onChangeHouse();//刷新datagrid}});}}function bl() {//保留var row = $('#tbFangJianZiLiao').datagrid('getSelected'); //单击单元格获取房间号if (confirm('是否修改?')) {$.getJSON("/XiaoShouQianTai/XiuGaiJiaID?XiaoShouJiaID=4" + "&"+ "RoomDatumID=" + RoomDatumID1 + "&", //把XiaoShouJiaID等于保留状态的IDfunction (data) {                   alert("修改成功");onChangeHouse(); //刷新datagrid                 });}}
  <div id="menu" class="easyui-menu" style="width: 30px; display: none;"><!--放置一个隐藏的菜单Div--><div id="btn_WeiShou" data-options="iconCls:'icon-remove'" οnclick="sahj()">1.未售状态</div><!--具体的菜单事件请自行添加,跟toolbar的方法是基本一样的--><div id="btn_BaoLiu" data-options="iconCls:'icon-edit'"οnclick="bl()">2.保留状态</div>@*菜单选项*@<div id="btn_YuLiu" data-options="iconCls:'icon-edit'"οnclick="yl()">3.预留状态</div><div id="btn_YuDing" data-options="iconCls:'icon-edit'"οnclick="yd()">4.预定状态</div><div id="btn_RenGou" data-options="iconCls:'icon-edit'"οnclick="yy()">5.认购状态</div><div id="btn_QianYue" data-options="iconCls:'icon-edit'"οnclick="qy()">6.签约状态</div>

变换颜色:

//    界面改变颜色方法var RoomNumber = '';var FangJianZhuangTaiID;function cellStyler(value, row, index) {//FangJianZhuangTaiID为房间状态ID,当状态ID为3(未售)时,默认为不变色    var row = $('#tbFangJianSuoYouZiLiao').datagrid("getData");//单击房间for (var i = 0; i < row.rows.length; i++) {//for循环,循环遍历所有房间FangJianZhuangTaiID = (row.rows[i].XiaoShouJiaID).toString().trim(); //赋值给FangJianZhuangTaiIDRoomNumber = (row.rows[i].FangHao).toString().trim(); //赋值给RoomNumberif (FangJianZhuangTaiID == 6) {//认购if (value == RoomNumber) {//根据房间ID来进行变颜色return 'background-color:#00FFFF;color:#000000;';}}if (FangJianZhuangTaiID == 5) {//签约if (value == RoomNumber) {//根据房间ID来进行变颜色return 'background-color:#FF0000;color:#000000;';}}if (FangJianZhuangTaiID == 3) {//预定if (value == RoomNumber) {//根据房间ID来进行变颜色return 'background-color:#FFFF00;color:#000000;';}}if (FangJianZhuangTaiID == 2) {//预留if (value == RoomNumber) {//根据房间ID来进行变颜色return 'background-color:#00FF00;color:#000000;';}}}}

1.6统计百分比:

本模块还可以通过计算,统计各种状态的房间的个数以及所占的比例:

截图如下:

1.6.1界面层(JQuery):

    var zt;var ld;var oo;var yd;var y;var kk;function TongJi() {//统计百分比$.getJSON("/XiaoShouQianTai/bangdingfnagjain1?HouseID=" + $('#comXiangLD').combobox('getValue'),function (data2) {ld = data2.length;$.getJSON("/XiaoShouQianTai/bangdingfnagjain2?SellStatusName=签约" + "&" + "HouseID=" + $('#comXiangLD').combobox('getValue'),function (data3) {//签约所占百分比zt = data3.length; //获取签约的房间$('#QianYue').attr('value', zt);var dsa = (zt / ld) * 100; //签约房间数除以总房间数等于所占百分比$('#Zan1').attr('value', dsa);});$.getJSON("/XiaoShouQianTai/bangdingfnagjain2?SellStatusName=认购" + "&" + "HouseID=" + $('#comXiangLD').combobox('getValue'),function (data4) {//认购所占百分比oo = data4.length;$('#RenGou').attr('value', oo);var yd = (oo / ld) * 100; //认购房间数除以总房间数等于所占百分比$('#Zan2').attr('value', yd);});$.getJSON("/XiaoShouQianTai/bangdingfnagjain2?SellStatusName=预订" + "&" + "HouseID=" + $('#comXiangLD').combobox('getValue'),function (data5) {//预定所占百分比y = data5.length;$('#YuDing').attr('value', y);var kk = (y / ld) * 100; //预定房间数除以总房间数等于所占百分比$('#Zan3').attr('value', kk);});$.getJSON("/XiaoShouQianTai/bangdingfnagjain2?SellStatusName=预留" + "&" + "HouseID=" + $('#comXiangLD').combobox('getValue'),function (data6) {//预留所占百分比zt = data6.length;$('#YuLiu').attr('value', zt);var dsa = (zt / ld) * 100; //预留房间数除以总房间数等于所占百分比$('#Zan4').attr('value', dsa);});$.getJSON("/XiaoShouQianTai/bangdingfnagjain2?SellStatusName=未售" + "&" + "HouseID=" + $('#comXiangLD').combobox('getValue'),function (data7) {//未售所占百分比zt = data7.length;$('#WeiShou').attr('value', zt);var dsa = (zt / ld) * 100; //未售房间数除以总房间数等于所占百分比$('#Zan5').attr('value', dsa);});$.getJSON("/XiaoShouQianTai/bangdingfnagjain2?SellStatusName=保留" + "&" + "HouseID=" + $('#comXiangLD').combobox('getValue'),function (data8) {//保留所占百分比zt = data8.length;$('#BaoLiu').attr('value', zt);var dsa = (zt / ld) * 100; //保留房间数除以总房间数等于所占百分比$('#Zan6').attr('value', dsa);});});}

2.客户自助查询

客户自助查询是给客户查询房间的,界面和开发商销控差不多,但客户自助查询看到的全部是“真的”不会带有假字。

仅供学习,不得用于商业用途,违者后果自负!!!

明源售楼系统技术解析(五)开发商销控、客户自助查询相关推荐

  1. 明源售楼系统技术解析 MVC架构与房源生成(一)

    第1章 使用Vs2010 版本搭建MVC3框架 1.1 新建项目 第一步:打开Vs界面,点击左上角文件,点击新建,选择项目                                       ...

  2. 明源售楼系统技术解析(二)付款方式定义——查询

    付款方式定义--查询篇   1.1主界面效果图如下                                   从界面上可以看到我们这里用到的控件有 查询功能实现: 第一步:数据库 1.表与关 ...

  3. 明源售楼系统技术解析 销售控制(更名查询与变更查询)

    在销售控制模块里 点击更名查询打开更名查询界面: 查询功能实现: 第一步:数据库 1.表与表的关系 表1.SYS_RenameTable(SYS_更名表) 用于存放更名信息 列名 数据类型 主键/外键 ...

  4. C# MVC售楼系统开发

    作者:ゞ瀟灑亾眚ゞ 前序:售楼前台就是客户可以来到这个网页进行查看楼栋房间信息,如果是初次来此网页可以进行注册,如果客户已经在卖楼人员的推荐下,而且已经在后台登记过了,可以直接选择登录再选择用手机验证 ...

  5. java计算机毕业设计售楼系统MyBatis+系统+LW文档+源码+调试部署

    java计算机毕业设计售楼系统MyBatis+系统+LW文档+源码+调试部署 java计算机毕业设计售楼系统MyBatis+系统+LW文档+源码+调试部署 本源码技术栈: 项目架构:B/S架构 开发语 ...

  6. [附源码]Nodejs计算机毕业设计基于售楼系统Express(程序+LW)

    该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程.欢迎交流 项目运行 环境配置: Node.js+ Vscode + Mysql5.7 + HBuilderX+Navicat11+Vue ...

  7. java售楼系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署

    java售楼系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署 java售楼系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署 本源码技术栈: 项目架构:B/S架构 开发语 ...

  8. (附源码)计算机毕业设计SSM基于售楼系统

    (附源码)计算机毕业设计SSM基于售楼系统 项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(Intelli ...

  9. (附源码)计算机毕业设计SSM综合售楼系统

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  10. 计算机毕业设计(附源码)python综合售楼系统

    项目运行 环境配置: Pychram社区版+ python3.7.7 + Mysql5.7 + HBuilderX+list pip+Navicat11+Django+nodejs. 项目技术: dj ...

最新文章

  1. 仅一台摄像机即可进行3D身体重建
  2. 抓包概念大比较:数据报、数据包、分组
  3. 每周学算法/读英文/知识点心得分享 2.25 - 3.1
  4. 卡在linuxctrld进系统_Linux系统卡死后紧急处理
  5. python3.6.5怎么下载_windows下如何下载并安装Python 3.6.4 ?
  6. 【JS 逆向百例】百度翻译接口参数逆向
  7. 内构函数java_Android JNI参数传递
  8. 特殊教育学校计算机教学计划,2021年特殊教育学校教学计划
  9. python基础入门(7)之元组
  10. CAD环境中求算接合表面积
  11. 【NOIP2015】运输计划
  12. 独立游戏大电影观后感
  13. 阿里云总监课第四期:阿里褚霸携专家团独家分享弹性计算最佳实践
  14. 计蒜客 联想专卖店大促销
  15. App Thinning研究
  16. Lesson 5 The facts 确切数字
  17. SqlServer数据库常用sql语句
  18. python浮点数整数、小数分离,整数取整
  19. Chapter 1 复杂度分析和递归分析
  20. mysql 安装启动服务器一直失败_mysql安装后服务器启动失败的几种解决办法

热门文章

  1. 预处理器 - 记号传递操作符##
  2. 笔记本显示器根据页面显示亮度自动调节亮度的问题
  3. 成功解决IPython.core.display.HTML object
  4. 父级fixed_父元素设置absolute,子元素设置fixed定位失效
  5. 华为HCIP-DATACOM391-420(821)
  6. 稽首文殊,寒山之士;南无普…
  7. 想让Button带个图片?安排!LVGL『Image button图片按键控件』介绍
  8. 英语二 - 常用词根二
  9. oracle语法基础
  10. Prisma(一)——基础