明源售楼系统技术解析—诚意认购(一)

诚意认购主要包括房间的诚意认购、诚意认购退订与诚意认购转号,以及修改和删除。在开盘前客户往往可交一定的诚意金,对项目或者房间进行预先排队,待开盘时再正式对房间进行认购,如有不满还可以进行退订与转好操作,且该操作记录可以在该窗体的分页面中查询出来。本次分析的是添加诚意认购前逻辑处理。

从界面上可以看到我们这里用到的控件有

控件名称

说明

窗体控件(easyui-window)

第一要设置每个控件的id,第二设置大小不设置也有默认,第三(data-options)是数据操作:可以设置控件的一些属性和事件

下拉树(easyui-tree)

选项卡(easyui-tabs)

单行文本控件(easyui-textbox)

按钮(easyui-linkbutton)

表格(easyui-datagrid)

在打开窗体之前绑定诚意单数据到Dgv的功能实现:

控件使用方法

1、窗体控件(easyui-window)

控件效果截图:

html代码

<div class="easyui-window" id="w输入客户资料" title="输入客户资料" style="width:450px;height:210px">
</div>

jQuery代码

$('#w输入客户资料').window('close');//根据窗体的ID控制窗体关闭
$('#w输入客户资料').window('open'); //根据窗体的ID控制窗体打开

2、选择卡(easyui-tabs)

作用:用于在同一个窗体内,多个界面之间进行跳转。

控件效果截图:

html代码

        <div class="easyui-window" title="诚意认购" data-options="fit:true" style="width:1108px;height:585px"><div id="tt" class="easyui-tabs" data-options="maxminzed:true">//选项卡控件<div title="诚意认购管理">//设置选项卡一的名称<div class="easyui-panel">//容器@*控件内容*@</div></div><div title="诚意认购退订查询">//设置选项卡二的名称<div class="easyui-panel">//容器@*控件内容*@</div></div><div title="诚意认购转号查询">//设置选项卡三的名称<div class="easyui-panel">//容器@*控件内容*@</div></div></div></div>

3、表格(easyui-datagrid)

作用:用于同一类的数据批量的绑定

控件效果截图:

html代码

                                <table class="easyui-datagrid" id="dg_诚意认购" style="width:935px;height:475px" data-options="singleSelect:true "><thead><tr><th data-options="field:'SinceritySubscribeID',width:120,hidden:true,align:'center'">诚意认购ID</th>//【hidden】是指在界面隐藏属于这一列的数据<th data-options="field:'XuHao',width:80,align:'center'">序号</th>//【field】是指从数据库传递过来的数据的列名<th data-options="field:'BusinessCode',width:140,align:'center'">业务编码</th><th data-options="field:'RoomCode',width:120,align:'center'">房间代码</th><th data-options="field:'ClientName',width:120,align:'center'">客户名称</th><th data-options="field:'YeWuZhuangTai',width:120,align:'center'">状态</th><th data-options="field:'XiangMuPaiHao',width:120,align:'center'">项目排号</th><th data-options="field:'ShiJiPaiHao',width:120,align:'center'">实际排号</th><th data-options="field:'DengJiRiQi',width:120,align:'center'">登记日期</th><th data-options="field:'YouXiaoRiQi',width:120,align:'center'">有效日期</th><th data-options="field:'SincerityMoney',width:120,align:'center'">诚意金额</th><th data-options="field:'BieZhong',width:120,align:'center'">币种</th><th data-options="field:'UserName',width:120,align:'center'">经办人</th><th data-options="field:'SinceritySubscribeRemarks',width:120,align:'center'">详情备注</th></tr></thead></table>

jQuery代码

1.表格数据的绑定

        $.getJSON("/XiaoShouQianTai/SelectSinceritySubscribeTable",function (data) {$('#dg_诚意认购').datagrid('loadData', data);});

2.获取表格的所有数据赋值给变量data

var data = $('#dg_诚意认购').datagrid('getData');

3.获取表格当前选中的行的数据赋值给变量data

var data = $('#dg_诚意认购').datagrid('getSelected');

第一步:数据库

1、表与表之间的关系

表1:SYS_ProjectTable(SYS_项目表)

用于存放项目录入的消息

列名

类型

主键/外键

说明

ProjectID

int - Identity

主键

项目ID

PremisesName

nchar (100)

楼盘名称

ProjectCode

nchar (100)

项目代码

ProjectName

nchar (100)

项目名称

BuildingPropertyID

int

外键

建筑性质ID

StructureID

int

外键

结构ID

PlotRatio

decimal (18, 3)

容积率

RealEstateNumber

nchar (100)

项目房地产证号

DomesticLicence

nchar (100)

内销许可证

ExportLicence

nchar (100)

外销许可证

SupervisionInstitutionID

int

外键

监理机构ID

ProjectRowNumber

int

项目排号

MassifNumber

nchar (100)

项目地块编号

LandArea

nchar (100)

项目土地面积

LandSellContractNumber

nchar (100)

项目土地出让合同号

LandUserBeginTime

nchar (100)

项目土地使用开始时间

LandUserEndTime

nchar (100)

项目土地使用结束时间

LandPurpose

nchar (100)

项目土地用途

AreaTypeID

int

外键

项目面积类型ID

表2:SYS_AttributeAssembleDetailTable(SYS属性集合明细表)

用于记录简单的数据

列名

类型

主键/外键

说明

AttributeAssembleDetailID

int - Identity

主键

属性集合明细ID

AttributeAssembleDetailName

nchar (100)

属性集合ID

AttributeAssembleID

int

外键

属性集合明细名称

AttributeAssembleDetailFar_ID

int

属性集合明细Far_ID

表3:SYS_HouseTable(SYS 楼栋表)

列名

类型

主键/外键

说明

HouseID

int - Identity

主键

楼栋ID

HouseCode

nchar (40)

楼栋代码

HouseName

nchar (40)

楼栋名称

RoomNumberModelTypeID

int

外键

房间编号模式类型ID

ContractHouseName

nchar (40)

合同栋号名称

GiveHouseStandardID

int

外键

交屋标准ID

ShouldGiveHouseDate

date

应交房日期

BriefRemarks

nchar (80)

简要备注

NumberOfPlies

int

层数

BuildingPropertyID

int

外键

建筑性质ID

SupervisionInstitutionID

int

外键

监理机构ID

EstateNumber

nchar (80)

楼栋房地产证号

MassifNumber

nchar (80)

楼栋地块编号

LandArea

decimal (18, 3)

楼栋土地面积

LandSellAgreementNumber

nchar (80)

楼栋土地出让合同号

LandUserBeginDate

date

楼栋土地使用开始时间

LandUserEndDate

date

楼栋土地使用结束时间

HouseLandUse

nchar (80)

楼栋土地用途

HouseAreaTypeID

int

外键

楼栋面积类型ID

ProjectSubregionID

int

外键

项目所属ID

StructureID

int

外键

架构ID

表4:SYS_RoomDataTable (SYS_房间资料表)

列名

类别

主键/外键

说明

RoomDataID

int - Identity

主键

房间资料ID

HouseID

int

外键

楼栋ID

RoomCode

nchar (50)

房间代码

RoomUnit

nchar (10)

房间单元

RoomNumber

nchar (20)

房号

natureNumber

nchar (20)

自然层号

Floor

nchar (20)

楼层号

ColumnNumber

nchar (20)

列号

CoveredArea

decimal (18, 3)

建筑面积

BuilDingExceptArea

decimal (18, 3)

套内面积

AreaShare

decimal (18, 3)

分摊面积

BalconyArea

decimal (18, 3)

阳台面积

RoomFaceDirectionID

int

外键

朝     向

LandscapeID

int

外键

景观ID

HouseTypeID

int

外键

户型ID

RoomTypeID

int

外键

房间类型ID

RoomRanking

nchar (20)

房间排号

OnbuildingExceptAreaCountNot

bit

按套内面积计算否

LockNot

bit

是否锁定

CountWayID

int

外键

计算方式ID

RoomDescribeID

int

外键

SellStatusID

int

外键

销售状态ID

AffiliatedHousePropertyNot

bit

BuildingPropertiesID

int

BuildingNot

bit

ZhuangTaiWeiZhenFou

bit

状态为真否

表5:PW_SinceritySubscribeTable(诚意认购表)

Field

Type

主键/外键

说明

SinceritySubscribeID

int - Identity

主键

诚意认购表,诚意认购ID

DecorateStandardID

int

外键

业务状态表,业务状态ID

BusinessCode

nchar (100)

业务代码

RoomDataID

int

外键

房间资料表,房间资料ID

ClientDatumID

int

外键

客户资料表,客户资料ID

SinceritySubscribeStatusID

int

外键

属性明细表,诚意认购状态ID

ItemNumber

nchar (100)

项目排号

RealityNumber

nchar (100)

实际排号

SinceritySubscribeRegisterDate

date

诚意认购登记日期

SinceritySubscribeValidDate

date

诚意认购有效期

SincerityMoney

money

诚意金额

CurrencyID

int

外键

属性明细表,币种ID

SinceritySubscribeRemarks

nchar (100)

诚意认购详情备注

CountermandNot

bit

退订否

CountermandDate

date

退订日期

CountermandMoney

money

退订金额

CountermandReason

nchar (100)

退订原因

DeleteNot

bit

报废否

ChangeNot

bit

变更否

ChangeNumBerDate

date

变更日期

ChangeNumberIltemID

int

外键

转号后项目ID

AfterChangeNumberRoomID

int

外键

转号后房间ID

FirstChangeRoomID

int

外键

转号前房间ID

ChangeReason

nchar (100)

转号原因

UpdateNot

bit

修改否

FirstUpadteSubscribeIID

int

外键

修改前认购ID

AfterUpdateSubscribeIID

int

外键

修改后认购ID

DiscardNot

bit

报废否

ProfessionalWorkStatusID

int

外键

业务状态表,业务状态ID

UserID

int

外键

用户表,用户ID

表6:SYS_ProjectSubregionTable(项目分区)

Field

Type

主键/外键

说明

ProjectSubregionID

int - Identity

主键

项目分区ID

ProjectSubregionName

nchar (100)

外键

项目分区名称

ProjectID

int

外键

项目ID

表7:SYS_ClientDatumTable(客户资料表)

Field

Type

主键/外键

说明

ClientDatumID

int - Identity

主键

客户资料ID

ClientCode

nchar (30)

客户代码

ClientTypeID

int

外键

客户类型ID

SalesmanID

int

外键

业务员ID

ClientName

nchar (20)

客户名称

Nationality

nchar (20)

国籍

Sex

nchar (10)

性别

ClientContactNumber

int

客户联系电话

ClientMobilePhone

int

客户手机

ClientPortraiture

nchar (30)

客户传真

ClientAddress

nchar (80)

客户地址

ClientZipCode

nchar (50)

客户邮编

ClientcredentialsNumber

nchar (70)

客户证件号码

ClientcredentialsName

nchar (30)

客户证件名称

ClientVisitDate

date

客户到访日期

ClientBirthday

date

客户出生日期

ClientEmail

nchar (40)

客户电子邮件

ClientJobUnit

nchar (40)

客户工作单位

ClientDuties

nchar (40)

客户职务

ClientDatumRemarks

nchar (80)

客户资料备注

LiveArea

nchar (50)

居住区域

JobArea

nchar (50)

工作区域

Education

nchar (40)

教育程度

AgeGroup

nchar (40)

年龄段

FamilyStructure

nchar (40)

家庭结构

MaritalStatus

nchar (10)

婚姻状况

FamilyIncome

nchar (80)

家庭收入

Occupation

nchar (50)

职业

KnowRoad

nchar (50)

认识途径

ManagerSuggestion

nchar (80)

经理意见

DuplicateMarkingNot

bit

重复标识否

CorporationName

nchar (50)

公司名称

CorporationJuridicalPerson

nchar (40)

公司法人

JuridicalPersonCD

nchar (80)

法人证件

CorporationPhone

int

公司电话

CorporationAddress

nchar (80)

公司地址

ClientDatumDiscardNot

bit

2、储存过程

下面是查询诚意认购单的具体储存过程的代码:

    if @Type='SelectSinceritySubscribeTable'begin
SELECT     PW_SinceritySubscribeTable.SinceritySubscribeID, PW_SinceritySubscribeTable.BusinessCode, SYS_RoomDataTable.RoomCode, SYS_ClientDatumTable.ClientName, LTRIM(RTRIM(SYS_AttributeAssembleDetailTable.AttributeAssembleDetailName)) AS YeWuZhuangTai, PW_SinceritySubscribeTable.ItemNumber, PW_SinceritySubscribeTable.RealityNumber, PW_SinceritySubscribeTable.SinceritySubscribeRegisterDate, PW_SinceritySubscribeTable.SinceritySubscribeValidDate, PW_SinceritySubscribeTable.SincerityMoney, SYS_AttributeAssembleDetailTable_1.AttributeAssembleDetailName AS BieZhong, PW_SinceritySubscribeTable.SinceritySubscribeRemarks, SYS_UserTable.UserName, PW_SinceritySubscribeTable.ProfessionalWorkStatusID, SYS_ProjectTable.ProjectName, PW_SinceritySubscribeTable.CurrencyID, SYS_ClientDatumTable.ClientDatumID
FROM         SYS_HouseTable INNER JOINSYS_RoomDataTable ON SYS_HouseTable.HouseID = SYS_RoomDataTable.HouseID INNER JOINSYS_ProjectSubregionTable ON SYS_HouseTable.ProjectSubregionID = SYS_ProjectSubregionTable.ProjectSubregionID INNER JOINSYS_ProjectTable ON SYS_ProjectSubregionTable.ProjectID = SYS_ProjectTable.ProjectID RIGHT OUTER JOINPW_SinceritySubscribeTable INNER JOINSYS_UserTable ON PW_SinceritySubscribeTable.UserID = SYS_UserTable.UserID ON SYS_RoomDataTable.RoomDataID = PW_SinceritySubscribeTable.RoomDataID LEFT OUTER JOINSYS_ClientDatumTable ON PW_SinceritySubscribeTable.ClientDatumID = SYS_ClientDatumTable.ClientDatumID LEFT OUTER JOINSYS_AttributeAssembleDetailTable ON PW_SinceritySubscribeTable.ProfessionalWorkStatusID = SYS_AttributeAssembleDetailTable.AttributeAssembleDetailID LEFT OUTER JOINSYS_AttributeAssembleDetailTable AS SYS_AttributeAssembleDetailTable_1 ON PW_SinceritySubscribeTable.CurrencyID = SYS_AttributeAssembleDetailTable_1.AttributeAssembleDetailIDwhere PW_SinceritySubscribeTable.DeleteNot='False'end

3、逻辑层(BLL层)

BLL代码解析如下图

具体代码如下:

<pre name="code" class="csharp">        public DataTable SelectSinceritySubscribeTable(){SqlParameter[] SQLCMDpas = {new SqlParameter("@Type",SqlDbType.Char),};SQLCMDpas[0].Value = "SelectSinceritySubscribeTable";DataTable dt = myDALMethod.DAL_SelectDB_Par("PW_SinceritySubscribe", SQLCMDpas);return dt;}
</pre><pre>

4、控制器代码

首先我们新建一个控制器,写一个转换list格式的数据的方法(是一个被其他控制器调用的封装的方法)如下图:

然后再新建一个新的控制器:

查询诚意认购单的控制器具体代码如下:

        BLL销售前台.frmChengYiRenGou myfrmChengYiRenGou = new BLL销售前台.frmChengYiRenGou();//实例化逻辑层public ActionResult SelectSinceritySubscribeTable(){DataTable dt = myfrmChengYiRenGou.SelectSinceritySubscribeTable();dt.Columns.Add("DengJiRiQi", typeof(string));//在表格dt中新增一列,用于登记日期格式转换dt.Columns.Add("YouXiaoRiQi", typeof(string));//在表格dt中新增一列,用于有效日期格式转换dt.Columns.Add("XuHao", typeof(string));dt.Columns.Add("XiangMuPaiHao", typeof(string));dt.Columns.Add("ShiJiPaiHao", typeof(string));int PaiHaoShu = 0;//用于储存当前排号数for (int i = 0; i < dt.Rows.Count; i++){DateTime DengJiRiQi = Convert.ToDateTime(dt.Rows[i]["SinceritySubscribeRegisterDate"].ToString());//获取表格中第i行的登记日期DateTime YouXiaoRiQi = Convert.ToDateTime(dt.Rows[i]["SinceritySubscribeValidDate"].ToString());//获取表格中第i行的有效日期dt.Rows[i]["DengJiRiQi"] = DengJiRiQi.Year + "-" + DengJiRiQi.Month + "-" + DengJiRiQi.Day;//获取表格中第i行的登记日期的年月日加上格式在拼接起来dt.Rows[i]["YouXiaoRiQi"] = YouXiaoRiQi.Year + "-" + YouXiaoRiQi.Month + "-" + YouXiaoRiQi.Day;//获取表格中第i行的有效日期的年月日加上格式在拼接起来dt.Rows[i]["XiangMuPaiHao"] = dt.Rows[i]["SinceritySubscribeID"].ToString();dt.Rows[i]["XuHao"] = i + 1;if (dt.Rows[i]["YeWuZhuangTai"].ToString() == "排号"){dt.Rows[i]["ShiJiPaiHao"] = PaiHaoShu + 1;PaiHaoShu++;}else{dt.Rows[i]["ShiJiPaiHao"] = 0;}}List<Dictionary<string, object>> ListReturn = ConvertHelper.DtToList(dt);//通过附加的类的方法ConvertHelper.DtToList()转换dt的格式return Json(ListReturn, JsonRequestBehavior.AllowGet);//用Json的方法将数据传递到视图层}

5、视图层代码

html代码

                            <div data-options="region:'center'" style="width:958px;height:475px"><table class="easyui-datagrid" id="dg_诚意认购" style="width:935px;height:475px" data-options="singleSelect:true,onClickRow:onClickRowGetRenGouID"><thead><tr><th data-options="field:'SinceritySubscribeID',width:120,hidden:true,align:'center'">诚意认购ID</th><th data-options="field:'XuHao',width:80,align:'center'">序号</th><th data-options="field:'BusinessCode',width:140,align:'center'">业务编码</th><th data-options="field:'RoomCode',width:120,align:'center'">房间代码</th><th data-options="field:'ClientName',width:120,align:'center'">客户名称</th><th data-options="field:'YeWuZhuangTai',width:120,align:'center'">状态</th><th data-options="field:'XiangMuPaiHao',width:120,align:'center'">项目排号</th><th data-options="field:'ShiJiPaiHao',width:120,align:'center'">实际排号</th><th data-options="field:'DengJiRiQi',width:120,align:'center'">登记日期</th><th data-options="field:'YouXiaoRiQi',width:120,align:'center'">有效日期</th><th data-options="field:'SincerityMoney',width:120,align:'center'">诚意金额</th><th data-options="field:'BieZhong',width:120,align:'center'">币种</th><th data-options="field:'UserName',width:120,align:'center'">经办人</th><th data-options="field:'SinceritySubscribeRemarks',width:120,align:'center'">详情备注</th></tr></thead></table></div>

jquer代码

具体代码如下:

<script type="text/javascript">function SelectSinceritySubscribeTable() {$.getJSON("/XiaoShouQianTai/SelectSinceritySubscribeTable",function (data) {$('#dg_诚意认购').datagrid('loadData', data);});}
</script>

当点击添加按钮时弹出一个输入客户资料的窗体

功能实现代码如下

Html代码:

<td><a id="btnTianJia" οnclick="OpenChuangTi('#w输入客户资料'),QingKongKeHuZhi()" class="easyui-linkbutton">添加</a></td>

Jquer代码:

    function OpenChuangTi(KongJianID) {// 参数KongJianID为Html代码传递过来的目标窗体的ID$(KongJianID).window('open');}

若属于新客户时,则点击〖新增〗按钮,进行第三步:填写客户详细资料。打开的窗口如下

录入客户信息后,点击〖下一步〗按钮添加客户并进入“诚意认购资料”窗体

第一步:数据库

表与表之间的关系

储存过程

    if @Type='AddClient'//添加客户资料beginInsert into SYS_ClientDatumTable(ClientTypeID, SalesmanID, ClientcredentialsNumber, ClientcredentialsName, ClientAddress, ClientZipCode,ClientContactNumber, ClientMobilePhone, ClientPortraiture, Nationality, ClientBirthday, Sex, ClientDuties, ClientEmail, ClientJobUnit, CorporationName, CorporationJuridicalPerson, JuridicalPersonCD, CorporationPhone,CorporationAddress,ClientName,ClientCode)values     (@ClientTypeID, @SalesmanID, @ClientcredentialsNumber, @ClientcredentialsName, @ClientAddress, @ClientZipCode, @ClientContactNumber,@ClientMobilePhone, @ClientPortraiture, @Nationality, @ClientBirthday, @Sex, @ClientDuties, @ClientEmail,@ClientJobUnit,@CorporationName, @CorporationJuridicalPerson,@JuridicalPersonCD, @CorporationPhone, @CorporationAddress,@ClientName,@ClientCode)    select @@IDENTITYend
if @Type='SelectRoomSubordinate'//根据业务员ID跟客户业务ID查询客户所属  业务状态beginSELECT     ClientBusinessStatusSubordinateID, UserID, ClientBusinessStatusIDFROM         SYS_ClientBusinessStatusSubordinateTablewhere    SYS_ClientBusinessStatusSubordinateTable.UserID=@YongHuID and SYS_ClientBusinessStatusSubordinateTable.ClientBusinessStatusID=@KeHuYeWuZhuangTaiIDend
if @Type='AddClientSubordinate'//添加客户所属的项目beginInsert into SYS_ClientSubordinateTable(ClientDatumID, ProjectID, ClientBusinessStatusSubordinateID, StatusFollowUpDate, ClientSubordinateDiscardNot)values(@KeHuZiLiaoID, @XiangMuID, @KeHuYeWuZhuangTaiSuoShuID, @ZhuangTaiGengJinRiQi, @KeHuSuoShuBaoFeiFou)end

第二步:BLL层

//添加客户基本资料public DataTable AddClient(int ClientTypeID,int SalesmanID, int ClientcredentialsNumber, string ClientcredentialsName, string ClientAddress, string ClientZipCode, int ClientContactNumber, string ClientMobilePhone, string ClientPortraiture, string Nationality, string ClientBirthday, string Sex, string ClientDuties,string ClientEmail, string ClientJobUnit, string CorporationName,string CorporationJuridicalPerson, string JuridicalPersonCD, string CorporationPhone, string CorporationAddress, string ClientName, int ClientCode){SqlParameter[] SQLCMDpas = {new SqlParameter("@Type",SqlDbType.Char),new SqlParameter("@ClientTypeID",SqlDbType.Int),new SqlParameter("@SalesmanID",SqlDbType.Int),new SqlParameter("@ClientcredentialsNumber",SqlDbType.Int),new SqlParameter("@ClientcredentialsName",SqlDbType.Char),new SqlParameter("@ClientAddress",SqlDbType.Char),new SqlParameter("@ClientZipCode",SqlDbType.Char),new SqlParameter("@ClientContactNumber",SqlDbType.Int),new SqlParameter("@ClientMobilePhone",SqlDbType.Char),new SqlParameter("@ClientPortraiture",SqlDbType.Char),new SqlParameter("@Nationality",SqlDbType.Char),new SqlParameter("@ClientBirthday",SqlDbType.Char),new SqlParameter("@Sex",SqlDbType.Char),new SqlParameter("@ClientDuties",SqlDbType.Char),new SqlParameter("@ClientEmail",SqlDbType.Char),new SqlParameter("@ClientJobUnit",SqlDbType.Char),new SqlParameter("@CorporationName",SqlDbType.Char),new SqlParameter("@CorporationJuridicalPerson",SqlDbType.Char),new SqlParameter("@JuridicalPersonCD",SqlDbType.Char),new SqlParameter("@CorporationPhone",SqlDbType.Char),new SqlParameter("@CorporationAddress",SqlDbType.Char),new SqlParameter("@ClientName",SqlDbType.Char),new SqlParameter("@ClientCode",SqlDbType.Int),};SQLCMDpas[0].Value="AddClient";SQLCMDpas[1].Value=ClientTypeID;SQLCMDpas[2].Value=SalesmanID;SQLCMDpas[3].Value=ClientcredentialsNumber;SQLCMDpas[4].Value=ClientcredentialsName;SQLCMDpas[5].Value=ClientAddress;SQLCMDpas[6].Value=ClientZipCode;SQLCMDpas[7].Value=ClientContactNumber;SQLCMDpas[8].Value=ClientMobilePhone;SQLCMDpas[9].Value=ClientPortraiture;SQLCMDpas[10].Value=Nationality;SQLCMDpas[11].Value=ClientBirthday;SQLCMDpas[12].Value=Sex;SQLCMDpas[13].Value=ClientDuties;SQLCMDpas[14].Value=ClientEmail;SQLCMDpas[15].Value=ClientJobUnit;SQLCMDpas[16].Value=CorporationName;SQLCMDpas[17].Value=CorporationJuridicalPerson;SQLCMDpas[18].Value=JuridicalPersonCD;SQLCMDpas[19].Value=CorporationPhone;SQLCMDpas[20].Value=CorporationAddress;SQLCMDpas[21].Value = ClientName;SQLCMDpas[22].Value = ClientCode;DataTable dt = myDALMethod.DAL_SelectDB_Par("PW_SinceritySubscribe", SQLCMDpas);return dt;}
//根据业务员ID跟客户业务ID查询客户所属业务状态public DataTable ChaXunFangJianSuoShu(int YongHuID, int KeHuYeWuZhuangTaiID){SqlParameter[] SQLCMDpas = {new SqlParameter("@Type",SqlDbType.Char),new SqlParameter("@YongHuID",SqlDbType.Char),new SqlParameter("@KeHuYeWuZhuangTaiID",SqlDbType.Char),};SQLCMDpas[0].Value = "SelectRoomSubordinate";SQLCMDpas[1].Value = YongHuID;SQLCMDpas[2].Value = KeHuYeWuZhuangTaiID;DataTable dt = myDALMethod.DAL_SelectDB_Par("SYS_ForegroundClientManage", SQLCMDpas);return dt;}
//添加客户所属的项目public int TianJianKeHuSuoShu(string KeHuZiLiaoID, string XiangMuID, string KeHuYeWuZhuangTaiSuoShuID,string ZhuangTaiGengJinRiQi){SqlParameter[] SQLCMDpas = {new SqlParameter("@Type",SqlDbType.Char),new SqlParameter("@KeHuZiLiaoID",SqlDbType.Char),new SqlParameter("@XiangMuID",SqlDbType.Char),new SqlParameter("@KeHuYeWuZhuangTaiSuoShuID",SqlDbType.Char),new SqlParameter("@ZhuangTaiGengJinRiQi",SqlDbType.Char),new SqlParameter("@KeHuSuoShuBaoFeiFou",SqlDbType.Char),};SQLCMDpas[0].Value = "AddClientSubordinate";SQLCMDpas[1].Value = KeHuZiLiaoID;SQLCMDpas[2].Value = XiangMuID;SQLCMDpas[3].Value = KeHuYeWuZhuangTaiSuoShuID;SQLCMDpas[4].Value = ZhuangTaiGengJinRiQi;SQLCMDpas[5].Value = "False";int i = myDALMethod.DAL_OPTableDB_Par("SYS_ForegroundClientManage", SQLCMDpas);return i;}

第三步:控制器代码

//添加客户基本资料public ActionResult AddClient(int ClientTypeID, int SalesmanID, int ClientcredentialsNumber, string ClientcredentialsName,string ClientAddress, string ClientZipCode, int ClientContactNumber, string ClientMobilePhone, string ClientPortraiture,string Nationality, string ClientBirthday, string Sex, string ClientDuties, string ClientEmail, string ClientJobUnit, string CorporationName,string CorporationJuridicalPerson, string JuridicalPersonCD, string CorporationPhone, string CorporationAddress, string ClientName){DataTable dt2 = myfrmKeHuGuanLi.SelectBianHaoBiao();int KeHuDaiMa2 = Convert.ToInt32(dt2.Rows[0]["ClientCode"]);DataTable dt = myfrmChengYiRenGou.AddClient(ClientTypeID, SalesmanID, ClientcredentialsNumber, ClientcredentialsName,ClientAddress, ClientZipCode, ClientContactNumber, ClientMobilePhone, ClientPortraiture,Nationality, ClientBirthday, Sex, ClientDuties, ClientEmail, ClientJobUnit, CorporationName,CorporationJuridicalPerson, JuridicalPersonCD, CorporationPhone, CorporationAddress, ClientName, KeHuDaiMa2);string ID = dt.Rows[0][0].ToString();return Content(ID);}
//根据业务员ID跟客户业务ID查询客户所属业务状态public ActionResult ChaXunFangJianSuoShu(int YongHuID, int KeHuYeWuZhuangTaiID){DataTable dt = myfrmKeHuGuanLi.ChaXunFangJianSuoShu(YongHuID, KeHuYeWuZhuangTaiID);string KeHuYeWuZhuangTaiSuoShuID = dt.Rows[0]["ClientBusinessStatusSubordinateID"].ToString();return Content(KeHuYeWuZhuangTaiSuoShuID);}
//添加客户所属的项目public ActionResult TianJianKeHuSuoShu(string KeHuZiLiaoID, string XiangMuID, string KeHuYeWuZhuangTaiSuoShuID){string strMon = DateTime.Now.Month.ToString();//时间格式转换if (Convert.ToInt32(strMon) < 10){ strMon = "0" + strMon; }string strDay = DateTime.Now.Day.ToString();if (Convert.ToInt32(strDay) < 10){ strDay = "0" + strDay; }string ZhuangTaiGengJinRiQi = DateTime.Now.Year.ToString() + "-" + strMon + "-" + strDay;int i = myfrmKeHuGuanLi.TianJianKeHuSuoShu(KeHuZiLiaoID, XiangMuID, KeHuYeWuZhuangTaiSuoShuID, ZhuangTaiGengJinRiQi);return Content(i.ToString());}

第四步:View代码

html代码

        <div class="easyui-window" id="w客户资料" title="输入客户资料" style="width:580px;height:380px"><table><tr><td style="color: #FF0000; font-family: 华文行楷; font-size: large;">第三步:填写客户详细资料</td></tr></table><table><tr><td>客户名称</td> <td><input id="txtClientName" type="text" style="width:100px" /></td> <td style="width:5px"></td><td>类型</td> <td><input id="cboClientTypeID" class="easyui-combobox" style="width:100px" /></td> <td style="width:5px"></td><td>业务员</td> <td><input id="cboSalesmanID" class="easyui-combobox" style="width:100px" /></td></tr><tr><td>证件号码</td> <td colspan=4><input id="txtClientcredentialsNumber" type="text" style="width:270px" /></td> <td style="width:5px"></td><td>证件名称</td> <td><input id="txtClientcredentialsName" type="text" style="width:100px" /></td> <td style="width:5px"></td></tr><tr><td>地址</td> <td colspan=4><input id="txtClientAddress" type="text" style="width:270px" /></td> <td style="width:5px"></td><td>邮编</td> <td><input id="txtClientZipCode" type="text" style="width:100px" /></td> <td style="width:5px"></td></tr><tr><td>联系电话</td> <td><input id="txtClientContactNumber" type="text" style="width:100px" /></td> <td style="width:5px"></td><td>手机</td> <td><input id="txtClientMobilePhone" type="text" style="width:100px" /></td> <td style="width:5px"></td><td>传真</td> <td><input id="txtClientPortraiture" type="text" style="width:100px" /></td></tr><tr><td>国籍</td> <td><input id="txtNationality" type="text" style="width:100px" /></td> <td style="width:5px"></td><td>出生日期</td> <td><input id="dtClientBirthday" class="easyui-datebox" style="width:100px" data-options="formatter:myformatter"/></td> <td style="width:5px"></td><td>性别</td> <td><input id="cboSex" class="easyui-combobox" style="width:100px" /></td></tr><tr><td>所属项目</td> <td><input id="cboClientDSProjectID" class="easyui-combobox" style="width:100px" /></td> <td style="width:5px"></td><td>职务</td> <td><input id="txtClientDuties" type="text" style="width:100px" /></td> <td style="width:5px"></td><td>电子邮件</td> <td><input id="txtClientEmail" type="text" style="width:100px" /></td></tr><tr><td>工作单位</td><td colspan=7><input id="txtClientJobUnit" type="text" style="width:445px" /></td></tr><tr><td style="height:15px"></td></tr><tr><td>公司名称</td> <td colspan=4><input id="txtCorporationName" type="text" style="width:270px" /></td> <td style="width:5px"></td><td>公司法人</td> <td><input id="txtCorporationJuridicalPerson" type="text" style="width:100px" /></td> <td style="width:5px"></td></tr><tr><td>法人证件</td> <td colspan=4><input id="txtJuridicalPersonCD" type="text" style="width:270px" /></td> <td style="width:5px"></td><td>法人电话</td> <td><input id="txtCorporationPhone" type="text" style="width:100px" /></td> <td style="width:5px"></td></tr><tr><td>公司地址</td><td colspan=7><input id="txtCorporationAddress" type="text" style="width:445px" /></td></tr><tr><td><a class="easyui-linkbutton" id="" οnclick="AddClient()">下一步</a></td><td><a class="easyui-linkbutton" id="" οnclick="CloseChuangTi('#w客户资料')">取消</a></td></tr></table></div>

jQuery代码

        function AddClient() {var strKeHuID = "";$.getJSON("/XiaoShouQianTai/AddClient?ClientTypeID=" + $('#cboClientTypeID').combobox("getValue") + "&"+ "SalesmanID=" + $('#cboSalesmanID').combobox("getValue") + "&"+ "ClientcredentialsNumber=" + $('#txtClientcredentialsNumber').val() + "&"+ "ClientcredentialsName=" + $('#txtClientcredentialsName').val() + "&"+ "ClientAddress=" + $('#txtClientAddress').val() + "&"+ "ClientZipCode=" + $('#txtClientZipCode').val() + "&"+ "ClientContactNumber=" + $('#txtClientContactNumber').val() + "&"+ "ClientMobilePhone=" + $('#txtClientMobilePhone').val() + "&"+ "ClientPortraiture=" + $('#txtClientPortraiture').val() + "&"+ "Nationality=" + $('#txtNationality').val() + "&"+ "ClientBirthday=" + $('#dtClientBirthday').datebox("getValue") + "&"+ "Sex=" + $('#cboSex').combobox("getValue") + "&"+ "ClientDuties=" + $('#txtClientDuties').val() + "&"+ "ClientEmail=" + $('#txtClientEmail').val() + "&"+ "ClientJobUnit=" + $('#txtClientJobUnit').val() + "&"+ "CorporationName=" + $('#txtCorporationName').val() + "&"+ "CorporationJuridicalPerson=" + $('#txtCorporationJuridicalPerson').val() + "&"+ "JuridicalPersonCD=" + $('#txtJuridicalPersonCD').val() + "&"+ "CorporationPhone=" + $('#txtCorporationPhone').val() + "&"+ "CorporationAddress=" + $('#txtCorporationAddress').val() + "&"+ "ClientName=" + $('#txtClientName').val() + "&",function (data) {strKeHuID = data;alert(strKeHuID);$.getJSON("/XiaoShouQianTai/GengXinClientCode", function (data) {});$.getJSON("/XiaoShouQianTai/ChaXunFangJianSuoShu?YongHuID=" + $('#cboSalesmanID').combobox("getValue") + "&"+ "KeHuYeWuZhuangTaiID=59" + "&",function (data2) {$.getJSON("/XiaoShouQianTai/TianJianKeHuSuoShu?KeHuZiLiaoID=" + strKeHuID + "&"+ "XiangMuID=" + $('#cboClientDSProjectID').combobox("getValue") + "&"+ "KeHuYeWuZhuangTaiSuoShuID=" + data2 + "&",function (data4) {if (data4 != null) {alert("添加成功!");$('#w客户资料').window('close');var KeHuMC = $('#txtClientName').val();BangDingChengYiRenGou(KeHuMC);$('#hiddenID').val(strKeHuID);$('#w添加诚意认购').window('open');}});});});}

若输入的客户名称已经登记在本系统中时,点击〖下一步〗按钮,打开“第二步:请选择匹配客户”窗口如下图,系统将所有与输入的名称相匹配的客户全部列出供用户选择。

第一步:数据库

表与表之间的关系

储存过程

  if @Type='SelectClientData'beginSELECT     SYS_ClientDatumTable.ClientDatumID, SYS_ClientDatumTable.ClientName, SYS_ClientDatumTable.ClientContactNumber, SYS_ClientDatumTable.ClientcredentialsNumber, SYS_ProjectTable.ProjectName, SYS_UserTable.UserNameFROM         SYS_ClientSubordinateTable INNER JOINSYS_ClientDatumTable ON SYS_ClientSubordinateTable.ClientDatumID = SYS_ClientDatumTable.ClientDatumID INNER JOINSYS_ProjectTable ON SYS_ClientSubordinateTable.ProjectID = SYS_ProjectTable.ProjectID INNER JOINSYS_UserTable ON SYS_ClientDatumTable.SalesmanID = SYS_UserTable.UserIDwhere SYS_ClientDatumTable.ClientName = @ClientNameend

第二步:BLL层

        public DataTable SelectClientData(string ClientName){SqlParameter[] SQLCMDpas = {new SqlParameter("@Type",SqlDbType.Char),new SqlParameter("@ClientName",SqlDbType.Char),};SQLCMDpas[0].Value = "SelectClientData";SQLCMDpas[1].Value = ClientName;DataTable dt = myDALMethod.DAL_SelectDB_Par("PW_SinceritySubscribe", SQLCMDpas);return dt;}

第三步:控制器代码

        public ActionResult SelectClientData(string ClientName){DataTable dt = myfrmChengYiRenGou.SelectClientData(ClientName);List<Dictionary<string, object>> ListReturn = ConvertHelper.DtToList(dt);return Json(ListReturn, JsonRequestBehavior.AllowGet);}

第四部:View代码

html代码

<td><a class="easyui-linkbutton" id="" οnclick="OpenChuangTi('#w选择客户'),CloseChuangTi('#w输入客户资料'),SelectClient()">下一步</a></td>

JQuery代码

    function CloseChuangTi(KongJianID) {//关闭目标窗体$(KongJianID).window('close');}function OpenChuangTi(KongJianID) {//打开目标窗体$(KongJianID).window('open');}function SelectClient() {条件查询客户$.getJSON("/XiaoShouQianTai/SelectClientData?ClientName=" + $('#ChaXunKeHuMc').val(),//获取第一步输入客户资料窗体的文本框控件的值(客户名称)作为参数function (data) {$('#w客户基本资料').datagrid('loadData', data);});}
仅供于学习,禁止用于商业用途

明源售楼系统技术解析—诚意认购(一)相关推荐

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

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

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

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

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

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

  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. 从云计算到AI:NetApp的数据网络转型之道
  2. [转]分布式文件系统 MogileFS 安装手册
  3. 热点快讯:广东省能源局发布《广东省能源局关于明确全省数据中心能耗保障相关要求的通知》
  4. CMS GC:CMS 废弃了,该怎么办呢?
  5. svr公式推导_ML-支持向量:SVM、SVC、SVR、SMO原理推导及实现
  6. 续--Flask, Django - 区别
  7. java实现手机开关机_Android 系统重启与关机:Java 代码实现
  8. MFC无标题栏对话框移动的处理方法
  9. python字符串转64位数字_python-将String转换为64位整数映射字符以自定义两位值映射...
  10. 邢台职业技术学院计算机专业分数线,邢台职业技术学院录取分数线2021是多少分(附历年录取分数线)...
  11. Python风格总结:if语句
  12. 能大大提升工作效率和时间效率的9个重要习惯
  13. Mybatis学习之接口编程
  14. markdown下载破解地址 和 常用语法
  15. 宿舍的呼噜神,快看过来,我这里有药!!!
  16. swoole:mac下的测试工具
  17. 卡券、直充下单接口文档
  18. 国外计算机科学的 lab,真滴牛逼!
  19. UE4中的玩家类UPlayer、ULocalPlayer 和 UNetConnection
  20. 我是怎么利用微信月收入三万以上的!(绝对的干货来袭!)

热门文章

  1. Moneybookers的优点
  2. 最新国家行政区划数据下载(截止2017年10月31日)目前2019.1.21仍为最新数据
  3. python pyd_python pyd 加密相关
  4. 从《三体》中的“降维打击”看网络世界,论维度升级的方法与实践
  5. 透过全球首个知识增强千亿大模型,看到中国AI差异化发展之路
  6. 【二分答案】JZOJ_3337 wyl8899的TLE
  7. 自建 CA 中心并签发 CA 证书
  8. P4118 [Ynoi2016]炸脖龙I
  9. mysql容灾方案_mysql 容灾 灾备 备份
  10. win10计算机管理中没有本地用户和组怎么办