MVC北京络捷斯特第三方物流系统技术解析(三)订单运输管理

本文深入解析了MVC北京络捷斯特第三方物流系统的订单运输管理模块,详细阐述了如何通过界面、控件、数据库设计实现入库订单的编辑与查询功能。包括业务流程、关键控件使用、数据表结构及查询功能的实现,为读者提供了一套完整的解决方案。


                                                  MVC北京络捷斯特第三方物流系统技术解析(三)订单运输管理

在“运输订单信息”页面用户可以编辑此订单的基本信息,如下图所示。在此页面用户选择【新增】按钮,此时系统会显示选择订单类型的界面,在此页面选择订单类型为“入库订单”,单击【确定】,进入入库订单的编辑界面。此页面包括“订单信息”、“订单入库信息”、“订单货品”三个标签页。其中若用户添“质押银行”信息,则表明此批货品已经质押给银行,其各种作业操作需要银行监控。银行用户可以选择2.6 仓库管理库存监控-质押查询来跟踪此批货品的状态。

界面效果图

                            25.13图(1

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

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

 

控件名称

说明

日期控件(easyui-datebox

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

单行文本控件(text

按钮(easyui-linkbutton

表格(easyui-datagrid

 

 

查询功能实现:

第一步:数据库

1、表和表关系

上面的datagrid

                                                                                       25.13图(2

 

 

1:运输订单表PWOrderForTransportationList

用于存放运输订单的信息

Primary Key(s):  OrderForTransportationID

列名

数据类型

主键/外键

说明

OrderForTransportationID

int

主键

订单运输信息ID

OrderForGoodsNumber

nchar (50)

 

订单号

VocationalTypeID

int

外键

业务类型ID

HeadstreamID

int

外键

始发地ID

DestinationID

int

外键

目的地ID

TakeDeliveryTime

datetime

 

取货时间

ArriveTime

datetime

 

到货时间

TakeDeliveryID

int

外键

取货ID

DeliverGoodsID

int

外键

签单ID

WrittenPermissionID

int

外键

返回ID

ClientContractsConsignID

int

外键

合同托运客户ID

ShipperName

nchar (50)

 

托运人姓名

ShipperPhoneNumber

nchar (50)

 

托运人电话

ShipperUnitsID

int

外键

托运人单位ID

ShipperLocation

nchar (50)

 

托运人地址

ShipperAccount

nchar (50)

 

托运帐号

ShipperPostcode

nchar (50)

 

托运人邮编

ClientManager

nchar (50)

 

客户经理

StorePickupPersonID

int

外键

取货人ID

StorePickupPersonName

nchar (50)

 

取货联系人

StorePickupPersonPhoneNumber

nchar (50)

 

取货联系人电话

StorePickupPersonAddress

nchar (50)

 

取货地址

ProjectID

int

外键

项目ID

ConsigneeName

nchar (10)

 

收货人姓名

ConsigneePhoneNumber

nchar (50)

 

收货人电话

ConsigneeUnit

nchar (50)

 

收货人单位

ConsigneeAddress

nchar (50)

 

收货人地址

ConsigneeAccount

nchar (50)

 

收货人帐号

ConsigneePostcode

nchar (50)

 

收货人邮编

ConsigneeID

int

外键

收货人ID

CarriageFare

decimal (18, 2)

 

运费

IncidentalExpenses

decimal (18, 2)

 

杂费

CostSumUp

decimal (18, 2)

 

费用小计

WhetherOrNotInsureDeclare

bit

 

保声明否

SettleAccountsWayID

int

外键

保险费

AdvanceReceipts

decimal (18, 2)

 

结算方式ID

InsureExpenses

decimal (18, 2)

 

预收款

PayNumber

nchar (50)

 

付费帐号

Remarks

nchar (100)

 

备注

FabricationOrderFormID

int

外键

制单人ID

AcceptanceTime

datetime

 

受理时间

AcceptanceUnitID

int

外键

受理单位ID

Receiver

nchar (10)

 

签收人

SignForTime

datetime

 

签收时间

WhetherOrNotSignFor

bit

 

签收否

RepeatOrderStateID

int

外键

返单状态ID

RepeatOrderPeopleID

int

外键

返单人ID

RepeatOrderTime

datetime

 

返单时间

RepeatOrderReceive

bit

 

返单时间

BeforeOneTime

nchar (100)

 

当前地点

CheckEmploy

bit

 

复核否

ClientID

int

外键

客户ID

ClientAgreementInformationID

int

外键

客户合同ID

TongZhiCiShu

int

外键

 

QuHuoFou

bit

 

 

ShengChenJiHuaDan

nchar (30)

 

生成计划单号

ShengChenFou

bit

 

生成否

DingDanZhuangTai

bit

 

订单状态

ZongTiJi

decimal (18, 3)

 

总体积

ZongShuLiang

decimal (18, 3)

 

总数量

ZongZhongLiang

decimal (18, 3)

 

总重量

RouteID

int

外键

路由ID

ZhanCunFou

bit

 

暂存否

HuoWeiID

int

外键

货位ID

HuoWeiHao

nchar (50)

 

货位号

YiQuHuo

bit

 

已取否

YiPaiHuo

bit

 

已派否

QuPaiLeiXingFou

bit

 

取派类型否

LunLiID

int

外键

运力ID

ShuaiHuoFou

bit

 

甩货否

YouYongFou

bit

 

有否否

ShengChengZhanDanFou

bit

 

生成账单否

 

2:属性明细表SYSAttributeDetailList

用于存放集合信息

列名

数据类型

主键/外键

说明

AttributeDetailID

int

主键

属性明细ID

AttributeGatherID

int

外键

属性集合ID

AttributeDetailName

nchar (10)

 

属性明细名称

YouYongFou

bit

 

有效否

3站点信息表SYSSiteInformationList

用于存放站点信息

列名

数据类型

主键/外键

说明

SiteInformationID

int

主键

站点信息ID

SiteTypeID

int

外键

站点类型ID

SiteNumber

nchar (50)

 

站点编号

SiteDesignation

nchar (50)

 

站点名称

SiteAddress

nchar (50)

 

站点详细地址

SiteTelephone

nchar (50)

 

站点电话

SitePortraiture

nchar (50)

 

站点传真

ZipCode

nchar (50)

 

邮编

FenJianQu

nchar (50)

 

分拣区

ChuCunQu

nchar (50)

 

储存区

Contacts

nchar (10)

 

Contacts

Remarks

nchar (100)

 

备注

PlaceArea

decimal (18)

 

场地面积

CarparkArea

decimal (18)

 

停车场面积

Quantity

decimal (18)

 

车位数量

YouYongFou

bit

 

有效否

4所属单位表SYSSubsidiaryUnitList

用于存放单位信息

 

列名

数据类型

主键/外键

说明

SubsidiaryUnitID

int

主键

所属单位ID

InstitutionID

int

外键

机构ID

SubsidiaryUnitDesignation

nchar (50)

 

所属单位名称

YouYongFou

bit

 

有效否

5项目SYSProjectList

用于存放项目信息

 

列名

数据类型

主键/外键

说明

ProjectID

int

主键

项目ID

WhetherProjectSpecialtype

bit

 

项目特殊类型否

ProjectNumber

nchar (100)

 

项目代码

ProjectDesignation

nchar (100)

 

项目名称

ProjectDescribe

nchar (100)

 

项目描述

YouYongFou

bit

 

有效否

6员工表(SYSPersonnelList

用于存放员工信息

 

列名

数据类型

主键/外键

说明

PersonnelID

int

主键

员工ID

DepartmentID

int

外键

部门ID

UseOrganization

int

外键

使用机构ID

OrganizationID

int

外键

所属机构ID

GenreID

int

外键

所属类型ID

SubsidiaryUnitID

int

外键

所属单位ID

SexID

int

外键

性别ID

CredentialsGenreID

int

外键

证件类型ID

StateID

int

外键

状态ID

Birthday

date

 

人员编码

WorkDate

date

 

区别码

PersonnelCode

nchar (50)

 

姓名

DifferenceCode

nchar (50)

 

出生日期

Name

nchar (10)

 

工作日期

Duties

nchar (50)

 

职务

CredentialsNumber

nchar (50)

 

证件号码

Address

nchar (50)

 

住址

PhoneNumber

nchar (50)

 

电话

MobilePhone

nchar (50)

 

手机

Email

nchar (50)

 

Email

Remarks

nchar (50)

 

备注

YouYongFou

bit

 

有效否

6客户表(SYSClientList

用于存放客户信息

 

列名

数据类型

主键/外键

说明

ClientID

int

主键

客户ID

ClientNumber

nchar (50)

 

客户帐号

ClientEncoded

nchar (50)

 

客户码

ClientUnitDesignation

nchar (50)

 

客户单位名称

ClientAbbreviation1

nchar (50)

 

客户简称1

ClientAbbreviation2

nchar (50)

 

客户简称2

ClientManager

nchar (50)

 

客户经理

ClientManagerBelephoneLdentification

nchar (50)

 

客户经理电话

Contacts

nchar (50)

 

联系人

ContactsTelephone

nchar (50)

 

联系人电话

ContactsEmail

nchar (50)

 

联系人Email

ContactsVIP

nchar (50)

 

联系人VIP

ContactsJAI

nchar (50)

 

联系人JAI

ContactsRankID

int

外键

客户级别ID

ContactsZipCode

nchar (50)

 

客户邮编

ProjectID

int

外键

项目ID

ContactsFacsimile

nchar (50)

 

客户传真

EnglishAbbreviation

nchar (50)

 

英文缩写

EnglishDesignation

nchar (50)

 

英文名称

ContactsAddress

nchar (50)

 

客户地址

ClientCompanyID

int

外键

客户公司ID

IndustryAttributeID

int

外键

行业属性ID

EnterpriseScaleID

int

外键

企业规模ID

MemberDeputy

nchar (50)

 

会员代表

AgreementGrandfatherAddress

nchar (50)

 

合同存档地

BankOfDeposit

nchar (30)

 

开户行

ClientAgreementID

int

外键

客户合同ID

BankofdepositAccountNumber

nchar (50)

 

开户行帐号

DutyParagraph

nchar (50)

 

税号

YouYongFou

bit

 

有效否

TongBuFou

bit

 

同步否

7客户合同表(SYSClientList

用于存放客户合同信息

列名

数据类型

主键/外键

说明

ClientAgreementInformationID

int

主键

客户合同信息ID

AgreementNumber

nchar (30)

 

合同编号

AgreementDesignation

nchar (30)

 

合同名称

Agreement数据类型ID

int

 

合同类型ID

ClientID

int

 

客户ID

ProjectID

int

 

项目ID

VocationalPersonDeputy

nchar (30)

 

业务代表人

VocationalPersonDeputyFashion

nchar (30)

 

业务代表联系方式

EndDate

datetime

 

截止日期

CarriageFareValue

decimal (18, 2)

 

运费单价

InsuranceCompanyID

int

 

保险公司ID

SettleAccountsWayID

int

 

结算方式ID

AgreementGrandfatherAddress

nchar (30)

 

合同存档地

Oursignatory

nchar (30)

 

我方签署人

TheguestsSigntory

nchar (30)

 

客方签署人

Remarks

nchar (100)

 

备注

WhetherCheck

bit

 

复核否

YouYongFou

bit

 

有用否

InsuranceRate

decimal (18, 3)

 

保险费率

8:保险公司表(SYSInsuranceCompanyList

用于存放保险公司信息

列名

数据类型

主键/外键

说明

InsuranceCompanyID

int

主键

保险公司ID

InsuranceCompanyDesignation

nchar (50)

 

保险公司名称

InsuranceDesignationNumber

nchar (50)

 

保险公司编号

InsuranceRate

nchar (50)

 

保险费率

AmountInsured

nchar (50)

 

投保金额

YouYongFou

bit

 

有用否

 

 

 

下面的datagrid

                                                                                                                                         25.13图(3

下面的datagrid

表和表的关系:

9订单运输明细表(PWOrderForGoodsDetailList

用于存放订单运输明细信息

 

 

列名

数据类型

主键/外键

说明

OrderForGoodsDetailID

int

主键

订单运输明细ID

OrderForGoodsTransportinformationID

int

外键

订单运输信息ID

GoodsID

int

外键

货品ID

Cubage

nchar (50)

 

体积

Quantity

nchar (50)

 

数量

Remarks

nchar (50)

 

备注

UnitsID

int

外键

单位ID

QualityID

int

外键

质量ID

ZhongLiang

nchar (50)

 

数量

TiChi

nchar (50)

 

体积

YouYongFou

bit

 

有用否

 

 

10:货品表(SYSGoodsList

用于存放货品信息

 

 

列名

数据类型

主键/外键

说明

GoodsID

int

主键

货品ID

GoodsNumber

nchar (30)

 

货品编码

GoodsDesignation

nchar (30)

 

货品名称

Specifications

nchar (30)

 

规格

Deadweight

decimal (18, 2)

 

重量

UnitID

int

外键

单位ID

ClientID

int

外键

客户ID

ClientGoodsNumber

nchar (30)

 

客户货品编码

Barcode

nchar (30)

 

条形码

Pinyincode

nchar (30)

 

拼音码

GoodsClassificationID

int

外键

货品类别ID

Modelnumber

nchar (30)

 

型号

Producer

nchar (30)

 

生产厂家

GoodstypeID

int

外键

货品类型ID

GoodsSubtypeID

int

外键

货品子类型ID

Length

decimal (18, 2)

 

长度

Width

decimal (18, 2)

 

宽度

Altitude

decimal (18, 2)

 

高度

SizeUnitID

int

外键

尺寸单位ID

SKUPackUnitID

int

主键

SKU包装单位ID

Qualityguaranteeperiod

nchar (30)

 

保质期

Codeofhigh

nchar (10)

 

码高

Loadbearing

decimal (18, 2)

 

承重

QualityID

int

外键

质量ID

DeadweightUnitID

int

外键

重量单位ID

Unitprice

decimal (18, 2)

 

单价

MemoryEnvironmentID

int

外键

存储环境ID

GoodsAttributeID

int

外键

货品属性ID

PolluteAttributeID

int

外键

污染属性ID

DepolluteAttributeID

int

外键

防止污染属性ID

StateID

int

外键

状态ID

Remarks

nchar (100)

 

备注

Monitoringornot

bit

 

监控否

Moisturnot

bit

 

防潮否

Throughweightno

bit

 

贯重否

Easytostealnpnot

bit

 

易盗否

Invertedornot

bit

 

倒置否

Singlproductmanagement

bit

 

单品管理否

Effectofstorageorbatch

bit

 

批次影响存放否

Giftsnot

bit

 

赠品否

Frozenornot

bit

 

冻结否

ScanningID

int

外键

扫描品ID

Scanningnot

bit

 

扫描否

Fragileor

bit

 

易碎否

YouYongFou

bit

 

有用否

 

 

 

 

 

控件使用方法:

 

 

1. 文本框(type=text

文本框截图:


创建文本框控件界面代码:
 <td>
       <input id="DingDanHaoChaXun" style="width: 180px; height: 25px;" />
   </td>

linq获取值
获取界面控件的值代码:
$("#DingDanHaoChaXun").val();//DingDanHaoChaXun对应的ID





创建按钮控件界面代码:
     <td>
           <button class="btn blue" data-toggle="modal" style="font-family: 楷体;" onclick="ChaXunCaiGouDingDan()">查询</button</td>
//class="btn blue"是css文件的一种类                        <td>
                            <button  class="btn blue" data-toggle="modal" style="font-family: 楷体;"
                                onclick="WinInsert()">
//点击打开新增                                新增</button>
                        </td>
创建按钮点击事件:
//模糊查询加载数据
        function ChaXunCaiGouDingDan() {
  DingDanGuanL/MoHuYunShuGuanLi对应controllers的路径   #DingDanHaoChaXun 对应的ID    
  $.getJSON("/DingDanGuanL/MoHuYunShuGuanLi?OrderForGoodsNumber=" + $("#DingDanHaoChaXun").val(),      function (data) { $("#tbOrderForTransportationList").datagrid('loadData', data);
        }); }
//点击新增打开窗体
$('#WinInsert').reveal($(this).data());
//关闭窗体
    function GuanBiKeHuHuoPinXinXi() {
            $(".reveal-modal-bg").css("visibility", "hidden");
            $("#IGoodsList").css("visibility", "hidden");
        }

3.datagrid中的按钮

 

                                                                                                                                       25.13图(6

//LuYouIDs是ID,row 是指定的行,rowIndex是那一行的索引

function myformatter1(LuYouIDS, row, rowIndex) {
           return "<a href='javascript:ShanChu(" + LuYouIDS + "," + rowIndex + ")'>" + '<img src="../../Content/图/icons/cancel.png" /></a>';
        }
        function myformatter2(LuYouIDS, row, rowIndex) {
            return "<a href='javascript:Updata(" + LuYouIDS + "," + rowIndex + ")'>" + '<img src="../../Content/图/icons/pencil.png" /></a>';
        }
        function myformatter3(LuYouIDS, row, rowIndex) {
            return "<a href='javascript:SelectMingXi(" + LuYouIDS + "," + rowIndex + ")'>" + '<img src="../../Content/图/icons/search.png" /></a>';
        }
        function myformatter5(LuYouIDS, row, rowIndex) {
            return "<a href='javascript:DeleteGoods(" + LuYouIDS + "," + rowIndex + ")'>" + '<img src="../../Content/图/icons/cancel.png" /></a>';
        }
        function myformatter6(LuYouIDS, row, rowIndex) {
            return "<a href='javascript:ShengChenJiHuaDan1(" + LuYouIDS + "," + rowIndex + ")'>" + '生成计划单</a>';
        }
        function myformatter7(LuYouIDS, row, rowIndex) {
            return "<a href='javascript:ZhuanYunFenDan(" + LuYouIDS + "," + rowIndex + ")'>" + '转运运输单</a>';
        }
 
第二步:控制器(Controllers)

                                                                       25.13图(7

    #region 运输管理
        public ActionResult YunShuGuanLi()
        {
            var OrderForGoodsTransportinformationList = from OrderForGoodsTransportinformation 
                                                            in RK.PWOrderForTransportationList//订单运输信息表
        join VocationalTypeList in RK.SYSAttributeDetailList on OrderForGoodsTransportinformation.VocationalTypeID 
          equals VocationalTypeList.AttributeDetailID//业务类型ID
        join HeadstreamList in RK.SYSSiteInformationList on OrderForGoodsTransportinformation.HeadstreamID 
                                                        equals HeadstreamList.SiteInformationID//始发地ID
        join DestinationList in RK.SYSSiteInformationList on OrderForGoodsTransportinformation.DestinationID 
                                                        equals DestinationList.SiteInformationID//目的地ID
        join ShipperUnitsIDList in RK.SYSSubsidiaryUnitList on OrderForGoodsTransportinformation.ShipperUnitsID 
                                                        equals ShipperUnitsIDList.SubsidiaryUnitID//托运人单位ID
        join ProjectList in RK.SYSProjectList on OrderForGoodsTransportinformation.ProjectID equals ProjectList.ProjectID//项目ID
        join SettleAccountsWayList in RK.SYSAttributeDetailList on OrderForGoodsTransportinformation.SettleAccountsWayID 
                                                        equals SettleAccountsWayList.AttributeDetailID//结算方式ID
        join FabricationOrderFormList in RK.SYSPersonnelList on OrderForGoodsTransportinformation.FabricationOrderFormID
                                                        equals FabricationOrderFormList.PersonnelID//制单人ID
        join AcceptanceUnitList in RK.SYSSubsidiaryUnitList on OrderForGoodsTransportinformation.AcceptanceUnitID 
                                                        equals AcceptanceUnitList.SubsidiaryUnitID//受理单位ID
        join ClientList in RK.SYSClientList on OrderForGoodsTransportinformation.ClientID equals ClientList.ClientID//受理单位ID 
        join ClientAgreementInformationList in RK.SYSClientAgreementInformationList on 
        OrderForGoodsTransportinformation.ClientAgreementInformationID 
                                                        equals ClientAgreementInformationList.ClientAgreementInformationID//受理单位ID 
        join InsuranceCompanyList in RK.SYSInsuranceCompanyList on ClientAgreementInformationList.InsuranceCompanyID 
                                                        equals InsuranceCompanyList.InsuranceCompanyID
        orderby OrderForGoodsTransportinformation.OrderForTransportationID descending
        //查询条件是还没有生成单号的数据
        where OrderForGoodsTransportinformation.ShengChenFou ==null
        select new
        {
            //
            OrderForTransportationID = OrderForGoodsTransportinformation.OrderForTransportationID,//运输订单ID
            OrderForGoodsNumber = OrderForGoodsTransportinformation.OrderForGoodsNumber,//运输单号
            //。。。。。。对应数据库的参数
            VocationalTypeID = OrderForGoodsTransportinformation.VocationalTypeID,
            VocationalTypeName = VocationalTypeList.AttributeDetailName,
            HeadstreamID = OrderForGoodsTransportinformation.HeadstreamID,
            HeadstreamName = HeadstreamList.SiteDesignation,
            DestinationID = OrderForGoodsTransportinformation.DestinationID,
            DestinationName = DestinationList.SiteDesignation,
            TakeDeliveryTime = OrderForGoodsTransportinformation.TakeDeliveryTime,
            ArriveTime = OrderForGoodsTransportinformation.ArriveTime,
            TakeDeliveryID = OrderForGoodsTransportinformation.TakeDeliveryID,
            DeliverGoodsID = OrderForGoodsTransportinformation.DeliverGoodsID,
            WrittenPermissionID = OrderForGoodsTransportinformation.WrittenPermissionID,
            PeturnID = OrderForGoodsTransportinformation.PeturnID,
            ClientContractsConsignID = OrderForGoodsTransportinformation.ClientContractsConsignID,
            ShipperName = OrderForGoodsTransportinformation.ShipperName,
            ShipperPhoneNumber = OrderForGoodsTransportinformation.ShipperPhoneNumber,
            ShipperUnitsID = OrderForGoodsTransportinformation.ShipperUnitsID,
            ShipperUnitsName = ShipperUnitsIDList.SubsidiaryUnitDesignation,
            ShipperLocation = OrderForGoodsTransportinformation.ShipperLocation,
            ShipperAccount = OrderForGoodsTransportinformation.ShipperAccount,
            ShipperPostcode = OrderForGoodsTransportinformation.ShipperPostcode,
            ClientManager = OrderForGoodsTransportinformation.ClientManager,
            StorePickupPersonID = OrderForGoodsTransportinformation.StorePickupPersonID,
            StorePickupPersonName = OrderForGoodsTransportinformation.StorePickupPersonName,
            StorePickupPersonPhoneNumber = OrderForGoodsTransportinformation.StorePickupPersonPhoneNumber,
            StorePickupPersonAddress = OrderForGoodsTransportinformation.StorePickupPersonAddress,
            ProjectID = OrderForGoodsTransportinformation.ProjectID,
            ProjectName = ProjectList.ProjectDesignation,
            ConsigneeName = OrderForGoodsTransportinformation.ConsigneeName,
            ConsigneePhoneNumber = OrderForGoodsTransportinformation.ConsigneePhoneNumber,
            ConsigneeUnit = OrderForGoodsTransportinformation.ConsigneeUnit,
            ConsigneeAddress = OrderForGoodsTransportinformation.ConsigneeAddress,
            ConsigneeAccount = OrderForGoodsTransportinformation.ConsigneeAccount,
            ConsigneePostcode = OrderForGoodsTransportinformation.ConsigneePostcode,
            ConsigneeID = OrderForGoodsTransportinformation.ConsigneeID,
            CarriageFare = OrderForGoodsTransportinformation.CarriageFare,
            IncidentalExpenses = OrderForGoodsTransportinformation.IncidentalExpenses,
            CostSumUp = OrderForGoodsTransportinformation.CostSumUp,
            WhetherOrNotInsureDeclare = OrderForGoodsTransportinformation.WhetherOrNotInsureDeclare,
            SettleAccountsWayID = OrderForGoodsTransportinformation.SettleAccountsWayID,
            SettleAccountsWayName = SettleAccountsWayList.AttributeDetailName,
            AdvanceReceipts = OrderForGoodsTransportinformation.AdvanceReceipts,
            InsureExpenses = OrderForGoodsTransportinformation.InsureExpenses,
            PayNumber = OrderForGoodsTransportinformation.PayNumber,
            Remarks = OrderForGoodsTransportinformation.Remarks,
            FabricationOrderFormID = OrderForGoodsTransportinformation.FabricationOrderFormID,
            FabricationOrderFormName = FabricationOrderFormList.Name,
            AcceptanceTime = OrderForGoodsTransportinformation.AcceptanceTime,
            AcceptanceUnitID = OrderForGoodsTransportinformation.AcceptanceUnitID,
            AcceptanceUnitName = AcceptanceUnitList.SubsidiaryUnitDesignation,
            InsuredAmount = OrderForGoodsTransportinformation.InsuredAmount,
            //全部费用=OrderForGoodsTransportinformation.InsuredAmount (运费)
            AllFeiCount = OrderForGoodsTransportinformation.InsuredAmount +
                //CarriageFare(费用小计)
            OrderForGoodsTransportinformation.CarriageFare +
                //IncidentalExpenses(保险费)
            OrderForGoodsTransportinformation.IncidentalExpenses
                //CostSumUp(其他费用)
            + OrderForGoodsTransportinformation.CostSumUp,
            ClientID = OrderForGoodsTransportinformation.ClientID,
            ClientAgreementInformationID = OrderForGoodsTransportinformation.ClientAgreementInformationID,
            CarriageFareValue = ClientAgreementInformationList.CarriageFareValue,
            InsuranceCompanyName = InsuranceCompanyList.InsuranceRate,
            CheckEmploy = OrderForGoodsTransportinformation.CheckEmploy,
            SignForTime = OrderForGoodsTransportinformation.SignForTime,
            WhetherOrnotSignFor = OrderForGoodsTransportinformation.WhetherOrNotSignFor,
            Receiver = OrderForGoodsTransportinformation.Receiver,
            ShengChenJiHuaDan = OrderForGoodsTransportinformation.ShengChenJiHuaDan,

            ZongTiJi = OrderForGoodsTransportinformation.ZongTiJi,
            ZongShuLiang = OrderForGoodsTransportinformation.ZongShuLiang,
            ZongZhongLiang = OrderForGoodsTransportinformation.ZongZhongLiang,
                                                        };
            List<Dictionary<string, object>> DDitem = new List<Dictionary<string, object>>();
            foreach (var item in OrderForGoodsTransportinformationList)
            {
                Dictionary<string, object> DingDanItem = new Dictionary<string, object>();
                //TakeDeliveryTime.ToString()将这些的时间转换成字符串
                //TakeDeliveryTime2就是将这些时间加入到数据字典中
                string TakeDeliveryTime1 = item.TakeDeliveryTime.ToString();
                DingDanItem.Add("TakeDeliveryTime2", TakeDeliveryTime1);
                string ArriveTime1 = item.ArriveTime.ToString();
                DingDanItem.Add("ArriveTime2", ArriveTime1);
                string AcceptanceTime1 = item.AcceptanceTime.ToString();
                DingDanItem.Add("AcceptanceTime2", AcceptanceTime1);
                string SignForTime1 = item.SignForTime.ToString();
                DingDanItem.Add("SignForTime2", SignForTime1);
                foreach (System.Reflection.PropertyInfo p in item.GetType().GetProperties())
                {
                    DingDanItem.Add(p.Name, p.GetValue(item, null));
                }
                string TakeDeliveryID1 = item.TakeDeliveryID.ToString();
                //TakeDeliveryID(取货)
                //如果TakeDeliveryID1==74就是不为零,代表他已经选择取货
                if (TakeDeliveryID1 == "74")
                {

                    DingDanItem.Add("TakeDeliveryID2", "取货");
                }
                else
                {
                    //如果TakeDeliveryID1不等74就是为零,代表他未选择取货
                    //TakeDeliveryTime2就是将这些时间加入到数据字典中,传给界面,显示后面的值(“取货”)
                    DingDanItem.Add("TakeDeliveryID2", "");
                }
                //TakeDeliveryID(派货)
                //如果TakeDeliveryID1==75就是不为零,代表他已经选择派货
                string DeliverGoodsID1 = item.DeliverGoodsID.ToString();
                if (DeliverGoodsID1 == "75")
                {
                    //如果TakeDeliveryID1不等75就是为零,代表他未选择派货
                    DingDanItem.Add("DeliverGoodsID2", "送货");
                }
                else
                {
                    DingDanItem.Add("DeliverGoodsID2", "");
                }
                //TakeDeliveryID(运单)
                //如果TakeDeliveryID1==77就是不为零,代表他已经选择运单
                string PeturnID1 = item.PeturnID.ToString();
                if (PeturnID1 == "77")
                {
                    //如果TakeDeliveryID1不等77就是为零,代表他未选择运单
                    DingDanItem.Add("PeturnID2", "运单");
                }
                else
                {
                    DingDanItem.Add("PeturnID2", "");
                }
                //TakeDeliveryID(客户单据)
                //如果TakeDeliveryID1==76就是不为零,代表他已经选择客户单据
                string WrittenPermissionID1 = item.WrittenPermissionID.ToString();
                if (WrittenPermissionID1 == "76")
                {

                    DingDanItem.Add("WrittenPermissionID2", "客户单据");
                }
                else
                {
                    DingDanItem.Add("WrittenPermissionID2", "");
                }
                string WhetherOrnotInsureDeclare1 = item.WhetherOrNotInsureDeclare.ToString();
                //WhetherOrNotInsureDeclare,是保险否。
                if (WhetherOrnotInsureDeclare1 == "True")
                {
                    //如果选择就是true,不选择就是未复核,把是和否显示到界面
                    DingDanItem.Add("WhetherOrnotInsureDeclare2", "是");
                }
                else
                {
                    DingDanItem.Add("WhetherOrnotInsureDeclare2", "否");
                }
                string CheckEmploy1 = item.CheckEmploy.ToString();
                if (CheckEmploy1 == "True")
                {
                    //WhetherOrNotInsureDeclare,是复核否。
                    DingDanItem.Add("CheckEmploy2", "已复核");
                }
                //如果选择就是true,不选择就是未复核,把是和否显示到界面
                else if (CheckEmploy1 == "False")
                {
                    DingDanItem.Add("CheckEmploy2", "复核中");
                }
                else
                {
                    DingDanItem.Add("CheckEmploy2", "未复核");
                }
                DDitem.Add(DingDanItem);
            }
            return Json(DDitem, JsonRequestBehavior.AllowGet);

        }


 


 

第三步、视图层(views

                                                                                                 25.13图(8

html代码:

                                                                                            25.13图(9

html代码

<table id="tbOrderForTransportationList" title="运输订单" class="easyui-datagrid" style="width: auto;

                    height: 280px;" data-
//rownumbers:true 行号
// singleSelect:true 单选
// rowStyler:function 设计datagrid行的风格或者单元格的风格
options="url:'/DingDanGuanL/YunShuGuanLi',rownumbers:true,singleSelect:true,rowStyler:function(index,row){
        		if (index%2==0){
         		    }
    		   }">
                    <thead>
                        <tr>
                            <th data-options="field:'ok',align:'center',checkbox:true">
                            </th>
                            <th data-options="field:'ShanChu',width:38,align:'center',formatter:myformatter1">
                                删除
                            </th>
                            <th data-options="field:'Updata',width:38,align:'center',formatter:myformatter2">
                                修改
                            </th>
                            <th data-options="field:'SelectMingXi',width:38,align:'center',formatter:myformatter3">
                                查看
                            </th>
                            <th data-options="field:'ZhuanYunFenDan',width:80,align:'center',formatter:myformatter7">
                                转运运输单
                            </th>
                            <th data-options="field:'ShengChenJiHuaDan1',width:80,align:'center',formatter:myformatter6">
                                生成计划单
                            </th>
                            <th data-options="field:'OrderForTransportationID',width:118,align:'center',hidden:true">
                                订单号ID
                            </th>
                            <th data-options="field:'OrderForGoodsNumber',width:118,align:'center'">
                                订单号
                            </th>
                            <th data-options="field:'VocationalTypeID',width:118,align:'center',hidden:true">
                                业务类型ID
                            </th>
                            <th data-options="field:'VocationalTypeName',width:118,align:'center',hidden:true">
                                业务类型
                            </th>
                            <th data-options="field:'HeadstreamID',width:118,align:'center',hidden:true">
                                始发站ID
                            </th>
                            <th data-options="field:'HeadstreamName',width:118,align:'center',hidden:true">
                                始发站
                            </th>
                            <th data-options="field:'DestinationID',width:118,align:'center',hidden:true">
                                目的站ID
                            </th>
                            <th data-options="field:'DestinationName',width:118,align:'center',hidden:true">
                                目的站
                            </th>
                            <th data-options="field:'TakeDeliveryTime2',width:118,align:'center',hidden:true">
                                取货时间
                            </th>
                            <th data-options="field:'ArriveTime2',width:118,align:'center',hidden:true">
                                到货时间
                            </th>
                            <th data-options="field:'TakeDeliveryID2',width:118,align:'center',hidden:true">
                                取货
                            </th>
                            <th data-options="field:'DeliverGoodsID2',width:118,align:'center',hidden:true">
                                送货
                            </th>
                            <th data-options="field:'PeturnID2',width:118,align:'center',hidden:true">
                                运单
                            </th>
                            <th data-options="field:'WrittenPermissionID2',width:118,align:'center',hidden:true">
                                客户单据
                            </th>
                            <th data-options="field:'ClientContractsConsignID',width:118,align:'center',hidden:true">
                                托运人姓名ID
                            </th>
                            <th data-options="field:'ShipperName',width:118,align:'center'">
                                托运人姓名
                            </th>
                            <th data-options="field:'ShipperPhoneNumber',width:118,align:'center',hidden:true">
                                托运人电话
                            </th>
                            <th data-options="field:'ShipperUnitsID',width:118,align:'center',hidden:true">
                                托运人单位ID
                            </th>
                            <th data-options="field:'ShipperUnitsName',width:118,align:'center',hidden:true">
                                托运人单位
                            </th>
                            <th data-options="field:'ShipperLocation',width:118,align:'center',hidden:true">
                                托运人地址
                            </th>
                            <th data-options="field:'ShipperAccount',width:118,align:'center',hidden:true">
                                托运人账号
                            </th>
                            <th data-options="field:'ShipperPostcode',width:118,align:'center',hidden:true">
                                托运人邮编
                            </th>
                            <th data-options="field:'ClientManager',width:118,align:'center',hidden:true">
                                客户经理
                            </th>
                            <th data-options="field:'StorePickupPersonID',width:118,align:'center',hidden:true">
                                取货联系人ID
                            </th>
                            <th data-options="field:'StorePickupPersonName',width:118,align:'center'">
                                取货联系人
                            </th>
                            <th data-options="field:'StorePickupPersonPhoneNumber',width:118,align:'center',hidden:true">
                                取货联系人电话
                            </th>
                            <th data-options="field:'StorePickupPersonAddress',width:118,align:'center',hidden:true">
                                取货地址
                            </th>
                            <th data-options="field:'ProjectID',width:118,align:'center',hidden:true">
                                项目ID
                            </th>
                            <th data-options="field:'ProjectName',width:118,align:'center',hidden:true">
                                项目名称
                            </th>
                            <th data-options="field:'ConsigneeName',width:118,align:'center'">
                                收货人姓名
                            </th>
                            <th data-options="field:'ConsigneePhoneNumber',width:118,align:'center'">
                                收货人电话
                            </th>
                            <th data-options="field:'ConsigneeUnit',width:118,align:'center',hidden:true">
                                收货人单位
                            </th>
                            <th data-options="field:'ConsigneeAddress',width:118,align:'center',hidden:true">
                                收货人地址
                            </th>
                            <th data-options="field:'ConsigneeAccount',width:118,align:'center',hidden:true">
                                收货人账号
                            </th>
                            <th data-options="field:'ConsigneePostcode',width:118,align:'center',hidden:true">
                                收货人邮编
                            </th>
                            <th data-options="field:'ConsigneeID',width:118,align:'center',hidden:true">
                                收货人ID
                            </th>
                            <th data-options="field:'CarriageFare',width:118,align:'center',hidden:true">
                                运费
                            </th>
                            <th data-options="field:'IncidentalExpenses',width:118,align:'center',hidden:true">
                                杂费
                            </th>
                            <th data-options="field:'CostSumUp',width:118,align:'center',hidden:true">
                                费用小计
                            </th>
                            <th data-options="field:'WhetherOrnotInsureDeclare2',width:118,align:'center',hidden:true">
                                投保声明
                            </th>
                            <th data-options="field:'InsuredAmount',width:118,align:'center',hidden:true">
                                投保金额
                            </th>
                            <th data-options="field:'InsureExpenses',width:118,align:'center',hidden:true">
                                保险费
                            </th>
                            <th data-options="field:'AllFeiCount',width:118,align:'center',hidden:true">
                                运杂费合计
                            </th>
                            <th data-options="field:'SettleAccountsWayID',width:118,align:'center',hidden:true">
                                结算方式ID
                            </th>
                            <th data-options="field:'SettleAccountsWayName',width:118,align:'center',hidden:true">
                                结算方式
                            </th>
                            <th data-options="field:'AdvanceReceipts',width:118,align:'center',hidden:true">
                                预收款
                            </th>
                            <th data-options="field:'PayNumber',width:118,align:'center',hidden:true">
                                付款账号
                            </th>
                            <th data-options="field:'Remarks',width:118,align:'center',hidden:true">
                                备注
                            </th>
                            <th data-options="field:'FabricationOrderFormID',width:118,align:'center',hidden:true">
                                制单人
                            </th>
                            <th data-options="field:'FabricationOrderFormName',width:118,align:'center',hidden:true">
                                制单人
                            </th>
                            <th data-options="field:'AcceptanceTime2',width:118,align:'center',hidden:true">
                                受理日期
                            </th>
                            <th data-options="field:'AcceptanceUnitID',width:118,align:'center',hidden:true">
                                受理单位ID
                            </th>
                            <th data-options="field:'AcceptanceUnitName',width:118,align:'center',hidden:true">
                                受理单位
                            </th>
                            <th data-options="field:'ClientAgreementInformationID',width:118,align:'center',hidden:true">
                                合同ID
                            </th>
                            <th data-options="field:'CarriageFareValue',width:118,align:'center',hidden:true">
                                单价
                            </th>
                            <th data-options="field:'InsuranceCompanyName',width:118,align:'center',hidden:true">
                                费率
                            </th>
                            <th data-options="field:'CheckEmploy2',width:118,align:'center',hidden:true">
                                复核状态
                            </th>
                            <th data-options="field:'ShengChenJiHuaDan',width:118,align:'center'">
                                计划单号
                            </th>
                            <th data-options="field:'ZongTiJi',width:118,align:'center',hidden:true">
                                总体积
                            </th>
                            <th data-options="field:'ZongShuLiang',width:118,align:'center',hidden:true">
                                总数量
                            </th>
                            <th data-options="field:'ZongZhongLiang',width:118,align:'center',hidden:true">
                                总重量
                            </th>
                        </tr>
                    </thead>
                </table>
                <table id="tbGoodsListMingXiS" title="运输订单货品明细" class="easyui-datagrid" style="width: auto;
                    height: 200px;" data-options="singleSelect:true,rownumbers:true,rowStyler:function(index,row){
        		if (index%2==0){
         		      
          		 }
    		   }">
                    <thead>
                        <tr>
                            <th data-options="field:'OrderForGoodsDetailID',width:118,align:'center',hidden:true">
                                货品ID
                            </th>
                            <th data-options="field:'GoodsID',width:118,align:'center',hidden:true">
                                货品ID
                            </th>
                            <th data-options="field:'GoodsDesignation',width:118,align:'center'">
                                货品名称
                            </th>
                            <th data-options="field:'PiCis',width:118,align:'center'">
                                批次
                            </th>
                            <th data-options="field:'Specifications',width:118,align:'center'">
                                规格
                            </th>
                            <th data-options="field:'UnitID',width:118,align:'center',hidden:true">
                                单位ID
                            </th>
                            <th data-options="field:'UnitName',width:118,align:'center'">
                                单位
                            </th>
                            <th data-options="field:'QualityID',width:118,align:'center',hidden:true">
                                质量ID
                            </th>
                            <th data-options="field:'QualityName',width:118,align:'center'">
                                质量
                            </th>
                            <th data-options="field:'Quantity',width:118,align:'center'">
                                重量
                            </th>
                            <th data-options="field:'ZhongLiang',width:118,align:'center'">
                                数量
                            </th>
                            <th data-options="field:'TiChi',width:118,align:'center'">
                                体积
                            </th>
                            <th data-options="field:'Remarks',width:118,align:'center'">
                                备注
                            </th>
                        </tr>
                    </thead>
                </table>

创建datagrid的加载数据事件



<table id="tbOrderForTransportationList" title=运输订单" class="easyui-datagrid" style="width: auto;
                    height: 280px;" data-
3-3、jQuery代码// 第一种使用url方法options="url:'/DingDanGuanL/YunShuGuanLi',rownumbers:true,singleSelect:true,rowStyler:function(index,row){        		if (index%2==0){         		    }    		   }">                 
   <thead>// 第二种使用getJSON方法function SelectMingXi() 
{// getSelected 是单机行是获取当前行的索引和获取当前行的数据(ROW.OrderForTransp)          
  var ROW = $("#tbOrderForTransportationList").datagrid('getSelected');           
 // OrderForGoodsTransportinformationID="是控制器传过来的参数$.getJSON("/DingDanGuanL/SelectSYSGoodsListTwo?OrderForGoodsTransportinformationID=" + ROW.OrderForTransportationID,                                    function (data) {                                     
   $("#tbGoodsListMingXiS").datagrid('loadData', data);                                    });





 

新增、修改、删除

在新增页面分为下面几个部分,分别为订单概况、托运人信息、收货人信息、费用信息、结算方式及其他信息。在订单概括部分客服人员如果钩选“是否取送”中的“取货”“送货”,在后面部分系统将会生成对应的“取/派”任务。客服人员如果选择了“签单返回”中的“运单”和“客户单据”,当完成运输任务后,客服人员必须在运单管理中完成“返单”操作,详见择【运单】-》【运单管理】-》【返单】。在托运人信息部分,如果合同客户,可以点击托运人帐号旁的“”选择客户账号,则该客户的相关信息会自动弹出。点击取货联系人旁的“ ”,系统会根据选择的客户帐号列出当前客户的取货联系人。

对于合同客户的收货人信息,可以点收货人帐号旁的“ ”,选择当前客户的收获人;如是

合同客户的新增的收货人信息,则录入收货人信息后点击“”,把该收货人信息维

护到系统中。客户和取货联系人、收货人之间的关系,在“系统维护”中的“客户信息维护”中维护。运费可以自行录入,对于合同客户,也可以点击“”,系统会根据货品信息部分中的货品信息算出运费。运费=货品总重量乘以运费单价,如果用户在投保声明中选择“是”,则保险费=运费×保险费率。其中运费单价和保险费率在“系统维护”中的“客户信息维护”中维护。

界面效果图:

                                                                                                         25.13图(10

                                                                                                         25.13图(11

                                                                                                         25.13图(12

 

控件使用方法:

1.单选框

                                                                                                         25.13图(13

 

<td style="font-size: 16px">
                                结算方式:
                            </td>
                            <td style="font-size: 16px">
                                <input type="radio" name="txtSettleAccountsWayID" id="PeiGongLuZhengChe" />公路整车
                            </td>
                            <td>
                            </td>
                            <td style="font-size: 16px">
                                <input type="radio" name="txtSettleAccountsWayID" id="PeiGongLuLingDan" />
                                公路零担
                            </td>
                            <td>
                            </td>
                            <td style="font-size: 16px">
                                <input type="radio" name="txtSettleAccountsWayID" id="PeiHuoWuPeiSong" />货物配送
                            </td>
                            <td>
                            </td>
                            <td style="font-size: 16px">
                                <input type="radio" name="txtSettleAccountsWayID" id="PeiTieLu" />铁路
                            </td>
                            <td>
                            </td>
                            <td style="font-size: 16px">
                                <input type="radio" name="txtSettleAccountsWayID" id="PeiGongYun" />空运
                            </td>
                        </tr>
                    </table>




2多选框

<td style="font-size: 16px">
                                    是否取送:
                                </td>
                                <td style="font-size: 16px">
                                    <input type="checkbox" name="txtShiFouQuSong" id="TakeDeliveryID" />取货
                                </td>
                                <td>
                                </td>
                                <td style="font-size: 16px">
                                    <input type="checkbox" name="txtShiFouQuSong" id="DeliverGoodsID" />
                                    送货
                                </td>
                            </td>
                            <td>
                            </td>
                            <td>
                                <td style="font-size: 16px">
                                    签单返还:
                                </td>
                                <td style="font-size: 16px">
//name:name是相同的,表示是属于同种多选框
                                    <input type="checkbox" name="txtqIanDanFanHuan" id="WrittenPermissionID" />运单
                                </td>
                                <td>
                                </td>
                                <td style="font-size: 16px">
                                    <input type="checkbox" name="txtqIanDanFanHuan" id="PeturnID" />
                                    客户单据
                                </td>

3、下拉框(easyui-combobox)

 
                                          2.5.1.3图(14)
<td style="font-size: 15px">
                                业务类型:
                            </td>
                            <td>
                                <input id="cboVocationalTypeID" class="easyui-combobox" style="width: 125px; height: 30px;"
                                    data-

//下拉款数据绑定
options="url:'/XiaLaKuang/ChaXunShuXingMingXiXinXi?ShuXingJiHeID=32',valueField:'id',textField:'text'"></input>
                            </td>
Linq:绑定方式
//一个方法绑定多个下拉框
function cboBanDingXiaLaKuang(YuanSuMing, ShuXingJiHeID) {
            $.getJSON("/XiaLaKuang/ChaXunShuXingMingXiXinXi?ShuXingJiHeID=" + ShuXingJiHeID,
                         function (data) {
                             $(YuanSuMing).combobox({ data: data, valueField: 'id', textField: 'text' });
                         }
            );
        }
//、要绑定下拉框的ID
  cboBanDingXiaLaKuang("#cboGongZhongLeiXing", 5);
            cboBanDingXiaLaKuang("#cboJingYan", 6);
            cboBanDingXiaLaKuang("#cboXingBie", 57);
            cboBanDingXiaLaKuang("#comSuoShuLeiXing", 1);
            cboBanDingXiaLaKuang("#cboZhengJianLeiXing", 3);
            cboBanDingXiaLaKuang("#cboZhuangTai", 4);
//加载时设置下拉框的默认值
$("#cboAcceptanceUnitID").combobox('select', 1);
            $("#cboFabricationOrderFormID").combobox('select', 26);

4. 时间(easyui-databox)
<td style="font-size: 16px">
                                取货时间:
                            </td>
                            <td>
                                <input style="width: 130px; height: 30px; color: #FF0000;" class="easyui-datebox"
                                    id="datTakeDeliveryTime" data-options="onSelect:BiJiaoDaXiao,formatter:ShiJians" />
                            </td>
                            <td style="font-size: 16px">
                                到货时间:
                            </td>
                            <td>
                                <input style="width: 130px; height: 30px; color: #FF0000;" class="easyui-datebox"
                                    id="datArriveTime" data-options="onSelect:BiJiaoDaXiao1,formatter:ShiJians" />
                            </td>

第二步:控制器(Controllers)

                                                                                                25.13图(17)

controllers新增订单:

1.新增订单

 #region 新增订单运输信息
        //InsertOrderForTransportationList 方法名    OrderForGoodsNumber、VocationalTypeID。。。。。。。。对应的参数
        public int InsertOrderForTransportationList(string OrderForGoodsNumber, int VocationalTypeID, int HeadstreamID, int DestinationID, DateTime TakeDeliveryTime, DateTime ArriveTime,
                                                      int TakeDeliveryID, int DeliverGoodsID, int WrittenPermissionID, int PeturnID,
            string ShipperName, string ShipperPhoneNumber, int ShipperUnitsID, string ShipperLocation, string ShipperAccount,
                                                        string ShipperPostcode, string ClientManager,
            string StorePickupPersonName, string StorePickupPersonPhoneNumber, string StorePickupPersonAddress,
                                                          int ProjectID, string ConsigneeName, string ConsigneePhoneNumber, string ConsigneeUnit, string ConsigneeAddress, string ConsigneeAccount,
                                                            string ConsigneePostcode, decimal CarriageFare, decimal IncidentalExpenses, decimal CostSumUp,
            Boolean WhetherOrNotInsureDeclare, decimal InsureExpenses, int SettleAccountsWayID, decimal AdvanceReceipts, string PayNumber, string Remarks, int FabricationOrderFormID, DateTime AcceptanceTime, int AcceptanceUnitID, decimal InsuredAmount)
        {
            Models.PWOrderForTransportationList Transportation = new Models.PWOrderForTransportationList();
            Transportation.OrderForGoodsNumber = OrderForGoodsNumber;
            Transportation.VocationalTypeID = VocationalTypeID;
            Transportation.HeadstreamID = HeadstreamID;
            Transportation.DestinationID = DestinationID;
            Transportation.TakeDeliveryTime = TakeDeliveryTime;
            Transportation.ArriveTime = ArriveTime;
            Transportation.TakeDeliveryID = TakeDeliveryID;
            Transportation.DeliverGoodsID = DeliverGoodsID;
            Transportation.WrittenPermissionID = WrittenPermissionID;
            Transportation.PeturnID = PeturnID;
            Transportation.ShipperName = ShipperName;
            Transportation.ShipperPhoneNumber = ShipperPhoneNumber;
            Transportation.ShipperUnitsID = ShipperUnitsID;
            Transportation.ShipperLocation = ShipperLocation;
            Transportation.ShipperAccount = ShipperAccount;
            Transportation.ShipperPostcode = ShipperPostcode;
            Transportation.ClientManager = ClientManager;
            Transportation.StorePickupPersonName = StorePickupPersonName;
            Transportation.StorePickupPersonPhoneNumber = StorePickupPersonPhoneNumber;
            Transportation.StorePickupPersonAddress = StorePickupPersonAddress;
            Transportation.ProjectID = ProjectID;
            Transportation.ConsigneeName = ConsigneeName;
            Transportation.ConsigneePhoneNumber = ConsigneePhoneNumber;
            Transportation.ConsigneeUnit = ConsigneeUnit;
            Transportation.ConsigneeAddress = ConsigneeAddress;
            Transportation.ConsigneeAccount = ConsigneeAccount;
            Transportation.ConsigneePostcode = ConsigneePostcode;
            Transportation.CarriageFare = CarriageFare;
            Transportation.IncidentalExpenses = IncidentalExpenses;
            Transportation.CostSumUp = CostSumUp;
            Transportation.WhetherOrNotInsureDeclare = WhetherOrNotInsureDeclare;
            Transportation.InsureExpenses = InsureExpenses;
            Transportation.SettleAccountsWayID = SettleAccountsWayID;
            Transportation.AdvanceReceipts = AdvanceReceipts;
            Transportation.PayNumber = PayNumber;
            Transportation.Remarks = Remarks;
            Transportation.FabricationOrderFormID = FabricationOrderFormID;
            Transportation.AcceptanceTime = AcceptanceTime;
            Transportation.AcceptanceUnitID = AcceptanceUnitID;
            Transportation.InsuredAmount = InsuredAmount;
            RK.PWOrderForTransportationList.AddObject(Transportation);
            int i = RK.SaveChanges();
            if (i > 0)
            {
                // BaoXianID对应新增产生的那个主键ID,返回他用于传值到新增明细
                var BaoXianID = (from bx in RK.PWOrderForTransportationList select bx.OrderForTransportationID).Max();
                return BaoXianID;
            }
            else
            {
                return 0;
            }
        }
        #endregion


 

 

 #region 新增订单运输信息
        //因为字符串过长(参数太多),要新增完后,再修改(再新增你需要的字段)
        public int InsertOrderForTransportationList1(int OrderForTransportation1ID, string ZongTiJi, string ZongShuLiang, 
            string ZongZhongLiang, string ClientID, string ClientAgreementInformationID
                    )
        {
            Models.PWOrderForTransportationList Transportation = (from tb in RK.PWOrderForTransportationList 
                                                                  where tb.OrderForTransportationID == OrderForTransportation1ID select
                                                                  tb).Single<Models.PWOrderForTransportationList>();

            Transportation.ZongTiJi = Convert.ToDecimal(ZongTiJi);
            Transportation.ZongShuLiang = Convert.ToDecimal(ZongShuLiang); ;
            Transportation.ZongZhongLiang = Convert.ToDecimal(ZongZhongLiang); ;
            Transportation.ClientID = Convert.ToInt32(ClientID);
            Transportation.ClientAgreementInformationID = Convert.ToInt32(ClientAgreementInformationID);
            int i = RK.SaveChanges();
            if (i > 0)
            {
                //返回id
                var BaoXianID = (from bx in RK.PWOrderForTransportationList select bx.OrderForTransportationID).Max();
                return BaoXianID;
            }
            else
            {
                return 0;
            }
        }
        #endregion


2,新增明细

    #region 新增订单运输明细信息
        public int InsertOrderForGoodsDetailList(int OrderForGoodsTransportinformationID, int GoodsID, string Cubage, 
            string Quantity, string Remarks, int UnitsID, int QualityID, string ZhongLiang, string TiChi)
        {

            Models.PWOrderForGoodsDetailList OrderForGoodsDetailList = new Models.PWOrderForGoodsDetailList();
            OrderForGoodsDetailList.OrderForGoodsTransportinformationID = OrderForGoodsTransportinformationID;
            OrderForGoodsDetailList.GoodsID = GoodsID;
            OrderForGoodsDetailList.Cubage = Cubage;
            OrderForGoodsDetailList.Quantity = Quantity;
            OrderForGoodsDetailList.Remarks = Remarks;
            OrderForGoodsDetailList.UnitsID = UnitsID;
            OrderForGoodsDetailList.QualityID = QualityID;
            OrderForGoodsDetailList.ZhongLiang = ZhongLiang;
            OrderForGoodsDetailList.TiChi = TiChi;
            //RK.PWOrderForGoodsDetailList.AddObject(OrderForGoodsDetailList);对应要新增的那张表
            RK.PWOrderForGoodsDetailList.AddObject(OrderForGoodsDetailList);
            int i = RK.SaveChanges();
            if (i > 0)
            {
                return i;
            }
            else
            {
                return 0;
            }
        }


        #endregion


 

JavaScript代码:

 function InsertShiBei() {
            //先结束编辑,否则不能新增明细
            endEditing(false);
            if (confirm("是否新增")) {
                var TakeDeliveryID = 0;
                //判断如果那个单选框如果打上钩就赋值给他
                if (document.getElementById("TakeDeliveryID").checked) {
                    TakeDeliveryID = 74;
                } else {
                }
                var DeliverGoodsID = 0;
                //判断如果那个单选框如果打上钩就赋值给他
                if (document.getElementById("DeliverGoodsID").checked) {
                    DeliverGoodsID = 75;
                } else {
                }
                var WrittenPermissionID = 0;

                if (document.getElementById("WrittenPermissionID").checked) {
                    WrittenPermissionID = 76;
                } else {
                }

                var PeturnID = 0;
                if (document.getElementById("PeturnID").checked) {
                    PeturnID = 77;
                } else {
                }

                var WhetherOrnotInsureDeclare = 0;
                if (document.getElementById('Yes').checked) {
                    WhetherOrnotInsureDeclare = true;
                } else {
                    WhetherOrnotInsureDeclare = false;
                }
                var txtSettleAccountsWayID = 0;
                //判断如果那个多选框如果打上钩就赋值给他
                if (document.getElementById("PeiGongLuZhengChe").checked) {
                    txtSettleAccountsWayID = 42;
                } else if (document.getElementById("PeiGongLuLingDan").checked) {
                    txtSettleAccountsWayID = 43;
                }
                else if (document.getElementById("PeiHuoWuPeiSong").checked) {
                    txtSettleAccountsWayID = 44;
                }
                else if (document.getElementById("PeiTieLu").checked) {
                    txtSettleAccountsWayID = 45;
                } else {
                    txtSettleAccountsWayID = 46;
                }
 $.getJSON("/DingDanGuanL/InsertOrderForTransportationList?OrderForGoodsNumber=" + $("#txtOrderForGoodsNumber").val() + "&"
    + "VocationalTypeID=" + $("#cboVocationalTypeID").combobox('getValue') + "&"
    + "HeadstreamID=" + id8 + "&"
    + "DestinationID=" + id9 + "&"
    + "TakeDeliveryTime=" + $("#datTakeDeliveryTime").datebox('getValue') + "&"
    + "ArriveTime=" + $("#datArriveTime").datebox('getValue') + "&"
    + "TakeDeliveryID=" + TakeDeliveryID + "&"
    + "DeliverGoodsID=" + DeliverGoodsID + "&"
    + "WrittenPermissionID=" + WrittenPermissionID + "&"
    + "PeturnID=" + PeturnID + "&"
    + "ShipperName=" + $("#txtShipperName").val() + "&"
    + "ShipperPhoneNumber=" + $("#txtShipperPhoneNumber").val() + "&"
    + "ShipperUnitsID=" + $("#txtShipperUnitsID").combobox('getValue') + "&"
    + "ShipperLocation=" + $("#txtShipperLocation").val() + "&"
    + "ShipperAccount=" + $("#txtShipperAccount").val() + "&"
    + "ShipperPostcode=" + $("#txtShipperPostcode").val() + "&"
    + "ClientManager=" + $("#txtClientManager").val() + "&"
    + "StorePickupPersonName=" + $("#txtClientGetingpersonNumber").val() + "&"
    + "StorePickupPersonPhoneNumber=" + $("#txtClientGetingpersonBelephone").val() + "&"
    + "StorePickupPersonAddress=" + $("#txtClientGetingpersonAddress").val() + "&"
    + "ProjectID=" + $("#cboProjectID").combobox('getValue') + "&"
    + "ConsigneeName=" + $("#txtClientReceivingpersonName").val() + "&"
    + "ConsigneePhoneNumber=" + $("#txtClientReceivingpersonBelephone").val() + "&"
    + "ConsigneeUnit=" + $("#txtClientReceivingpersonUnit").val() + "&"
    + "ConsigneeAddress=" + $("#txtClientReceivingpersonAddress").val() + "&"
    + "ConsigneeAccount=" + $("#txtClientReceivingpersonNumber").val() + "&"
    + "ConsigneePostcode=" + $("#txtClientReceivingpersonZipCode").val() + "&"
    + "CarriageFare=" + $("#txtTransportationExpenses").val() + "&"
    + "IncidentalExpenses=" + $("#txtIncidentalExpenses").val() + "&"
    + "CostSumUp=" + $("#txtCostSumUp").val() + "&"
    + "WhetherOrNotInsureDeclare=" + WhetherOrnotInsureDeclare + "&"
    + "InsureExpenses=" + $("#txtInsurancePremium").val() + "&"
    + "SettleAccountsWayID=" + txtSettleAccountsWayID + "&"
    + "AdvanceReceipts=" + $("#txtAdvanceReceipts").val() + "&"
    + "PayNumber=" + $("#txtPayNumber").val() + "&"
    + "Remarks=" + $("#txtRemarks").val() + "&"
    + "FabricationOrderFormID=" + $("#cboFabricationOrderFormID").combobox('getValue') + "&"
    + "AcceptanceTime=" + $("#datAcceptanceTime").datebox('getValue') + "&"
    + "AcceptanceUnitID=" + $("#cboAcceptanceUnitID").combobox('getValue') + "&"
    + "InsuredAmount=" + $("#txtAmountInsured").val(),
        function (data) {
            //data 是controllers 返回的 var BaoXianID = (from bx in RK.PWOrderForTransportationList select bx.OrderForTransportationID).Max();
            // 最大ID
            $.getJSON("/DingDanGuanL/InsertOrderForTransportationList1?OrderForTransportation1ID=" + data + "&"
    + "ZongTiJi=" + $("#txtZongShuLiang").val() + "&"
    + "ZongShuLiang=" + $("#txtZhongTiCi").val() + "&"
    + "ZongZhongLiang=" + $("#txtZongZhongLiang").val() + "&"
    + "ClientID=" + id1 + "&"
    + "ClientAgreementInformationID=" + id5, function (data2) {
        var CheLiangBaoXianTiaoMu = $("#tbGoodsListMingXi").datagrid('getData');
        //获取新增明细的行数,要便利所用行,用for循环执行所用字段
        for (var i = 0; i < CheLiangBaoXianTiaoMu.rows.length; i++) {
            // CheLiangBaoXianTiaoMu.rows.length是datagrid的行数
            //CheLiangBaoXianTiaoMu.rows[i].GoodsID 对应的几行的单元格ID
            $.getJSON("/DingDanGuanL/InsertOrderForGoodsDetailList?OrderForGoodsTransportinformationID=" + data + "&"
                            + "GoodsID=" + CheLiangBaoXianTiaoMu.rows[i].GoodsID + "&"
                            + "Cubage=" + CheLiangBaoXianTiaoMu.rows[i].PiCis + "&"
                            + "Quantity=" + CheLiangBaoXianTiaoMu.rows[i].Quantity + "&"
                            + "UnitsID=" + CheLiangBaoXianTiaoMu.rows[i].UnitID + "&"
                            + "QualityID=" + CheLiangBaoXianTiaoMu.rows[i].QualityID + "&"
                            + "Remarks=" + CheLiangBaoXianTiaoMu.rows[i].Remarks + "&"
                            + "ZhongLiang=" + CheLiangBaoXianTiaoMu.rows[i].ZhongLiang + "&"
                            + "TiChi=" + CheLiangBaoXianTiaoMu.rows[i].TiChi,
                            function (data1) {

                            });

        }
        if (data2 > 0) {
            alert("新增成功");
            //返回到开始的界面
            window.location.href = "/DingDanGuanL/YunShuDingDan";
        } else {
            alert("新增失败");
        }
    });
        });
            }
        }


2.修改

controllers代码

修改订单:

    #region 修改订单运输信息
        //因为字符串过长(参数太多),要修改完一次后,再修改(再修改你需要的字段)
        public int UpdateOrderForTransportationList(int OrderForTransportationID, string OrderForGoodsNumber, int VocationalTypeID, 
            int HeadstreamID, int DestinationID, DateTime TakeDeliveryTime, DateTime ArriveTime,
                                                      int TakeDeliveryID, int DeliverGoodsID, int WrittenPermissionID, int PeturnID,
            string ShipperName, string ShipperPhoneNumber, int ShipperUnitsID
            )
        {
            int OrderForTransportation1ID = OrderForTransportationID;
            //tb.OrderForTransportationID 对应这张表的主键ID
            //== OrderForTransportation1ID 界面传过来的ID
            Models.PWOrderForTransportationList Transportation = (from tb in RK.PWOrderForTransportationList where
                                                                      tb.OrderForTransportationID == OrderForTransportation1ID select
                                                                      tb).Single<Models.PWOrderForTransportationList>();
            Transportation.OrderForGoodsNumber = OrderForGoodsNumber;
            Transportation.VocationalTypeID = VocationalTypeID;
            Transportation.HeadstreamID = HeadstreamID;
            Transportation.DestinationID = DestinationID;
            Transportation.TakeDeliveryTime = TakeDeliveryTime;
            Transportation.ArriveTime = ArriveTime;
            Transportation.TakeDeliveryID = TakeDeliveryID;
            Transportation.DeliverGoodsID = DeliverGoodsID;
            Transportation.WrittenPermissionID = WrittenPermissionID;
            Transportation.PeturnID = PeturnID;
            Transportation.ShipperName = ShipperName;
            Transportation.ShipperPhoneNumber = ShipperPhoneNumber;
            Transportation.ShipperUnitsID = ShipperUnitsID;
            int i = RK.SaveChanges();
            if (i > 0)
            {
                //返回主键ID
                return OrderForTransportation1ID;
            }
            else
            {
                return 0;
            }
        }
        public int UpdateOrderForTransportationList1(int OrderForTransportationID, string ShipperLocation, string ShipperAccount,
                                                       string ShipperPostcode, string ClientManager,
           string StorePickupPersonName, string StorePickupPersonPhoneNumber, string StorePickupPersonAddress,
                                                         int ProjectID, string ConsigneeName, string ConsigneePhoneNumber,
            string ConsigneeUnit, string ConsigneeAddress, string ConsigneeAccount

           )
        {
            int OrderForTransportation1ID = OrderForTransportationID;
            Models.PWOrderForTransportationList Transportation = (from tb in RK.PWOrderForTransportationList where
                                                                      tb.OrderForTransportationID == OrderForTransportation1ID select 
                                                                      tb).Single<Models.PWOrderForTransportationList>();

            Transportation.ShipperLocation = ShipperLocation;
            Transportation.ShipperAccount = ShipperAccount;
            Transportation.ShipperPostcode = ShipperPostcode;
            Transportation.ClientManager = ClientManager;
            Transportation.StorePickupPersonName = StorePickupPersonName;
            Transportation.StorePickupPersonPhoneNumber = StorePickupPersonPhoneNumber;
            Transportation.StorePickupPersonAddress = StorePickupPersonAddress;
            Transportation.ProjectID = ProjectID;
            Transportation.ConsigneeName = ConsigneeName;
            Transportation.ConsigneePhoneNumber = ConsigneePhoneNumber;
            Transportation.ConsigneeUnit = ConsigneeUnit;
            Transportation.ConsigneeAddress = ConsigneeAddress;
            Transportation.ConsigneeAccount = ConsigneeAccount;
            int i = RK.SaveChanges();
            if (i > 0)
            {
                return OrderForTransportation1ID;
            }
            else
            {
                return 0;
            }
        }
        public int UpdateOrderForTransportationList2(int OrderForTransportationID,
                                                           string ConsigneePostcode, decimal CarriageFare, decimal IncidentalExpenses, decimal CostSumUp,
           Boolean WhetherOrNotInsureDeclare, decimal InsureExpenses, int SettleAccountsWayID, decimal AdvanceReceipts, string PayNumber, string Remarks,
            int FabricationOrderFormID,
            DateTime AcceptanceTime, int AcceptanceUnitID, decimal InsuredAmount,
                    int ClientID, decimal ZongTiJi, decimal ZongShuLiang, decimal ZongZhongLiang, int ClientAgreementInformationID
           )
        {
            int OrderForTransportation1ID = OrderForTransportationID;
            Models.PWOrderForTransportationList Transportation = (from tb in RK.PWOrderForTransportationList where 
                                                                      tb.OrderForTransportationID == OrderForTransportation1ID 
                                                                  select tb).Single<Models.PWOrderForTransportationList>();

            Transportation.ConsigneePostcode = ConsigneePostcode;
            Transportation.CarriageFare = CarriageFare;
            Transportation.IncidentalExpenses = IncidentalExpenses;
            Transportation.CostSumUp = CostSumUp;
            Transportation.WhetherOrNotInsureDeclare = WhetherOrNotInsureDeclare;
            Transportation.InsureExpenses = InsureExpenses;
            Transportation.SettleAccountsWayID = SettleAccountsWayID;
            Transportation.AdvanceReceipts = AdvanceReceipts;
            Transportation.PayNumber = PayNumber;
            Transportation.Remarks = Remarks;
            Transportation.FabricationOrderFormID = FabricationOrderFormID;
            Transportation.AcceptanceTime = AcceptanceTime;
            Transportation.AcceptanceUnitID = AcceptanceUnitID;
            Transportation.InsuredAmount = InsuredAmount;
            Transportation.ClientID = ClientID;
            Transportation.ZongTiJi = ZongTiJi;
            Transportation.ZongShuLiang = ZongShuLiang;
            Transportation.ZongZhongLiang = ZongZhongLiang;
            Transportation.ClientAgreementInformationID = ClientAgreementInformationID;
            int i = RK.SaveChanges();
            if (i > 0)
            {
                return OrderForTransportation1ID;
            }
            else
            {
                return 0;
            }
        }
        #endregion

修改明细:

 #region 修改订单运输明细信息
        //
        public int UpdateOrderForGoodsDetailList(int OrderForGoodsDetailID, int OrderForGoodsTransportinformationID, int GoodsID,
            string Cubage, string Quantity, string Remarks, int UnitsID, int QualityID, string ZhongLiang, string TiChi, string Update)
        {
            //update界面传过来的方法,
            //如果update的至等于1就修改
           
            
            if (Update.Equals("1"))
            {
                Models.PWOrderForGoodsDetailList OrderForGoodsDetailList = (from tb in RK.PWOrderForGoodsDetailList where 
                                                                                tb.OrderForGoodsDetailID == OrderForGoodsDetailID select 
                                                                                tb).Single<Models.PWOrderForGoodsDetailList>();
                OrderForGoodsDetailList.OrderForGoodsTransportinformationID = OrderForGoodsTransportinformationID;
                OrderForGoodsDetailList.GoodsID = GoodsID;
                OrderForGoodsDetailList.Cubage = Cubage;
                OrderForGoodsDetailList.Quantity = Quantity;
                OrderForGoodsDetailList.Remarks = Remarks;
                OrderForGoodsDetailList.UnitsID = UnitsID;
                OrderForGoodsDetailList.QualityID = QualityID;
                OrderForGoodsDetailList.ZhongLiang = ZhongLiang;
                OrderForGoodsDetailList.TiChi = TiChi;
            }
            //如果update的值等于2就新增
            if (Update.Equals("2"))
            {
                Models.PWOrderForGoodsDetailList OrderForGoodsDetailList = new Models.PWOrderForGoodsDetailList();
                OrderForGoodsDetailList.OrderForGoodsTransportinformationID = OrderForGoodsTransportinformationID;
                OrderForGoodsDetailList.GoodsID = GoodsID;
                OrderForGoodsDetailList.Cubage = Cubage;
                OrderForGoodsDetailList.Quantity = Quantity;
                OrderForGoodsDetailList.Remarks = Remarks;
                OrderForGoodsDetailList.UnitsID = UnitsID;
                OrderForGoodsDetailList.QualityID = QualityID;
                OrderForGoodsDetailList.ZhongLiang = ZhongLiang;
                OrderForGoodsDetailList.TiChi = TiChi;
                RK.PWOrderForGoodsDetailList.AddObject(OrderForGoodsDetailList);
            }
            //如歌update的值等于3就删除
            if (Update.Equals("3"))
            {
                var OrderForGoodsDetailList = (from tb in RK.PWOrderForGoodsDetailList where tb.OrderForGoodsDetailID == OrderForGoodsDetailID 
                                               select tb).Single<Models.PWOrderForGoodsDetailList>();
                RK.DeleteObject(OrderForGoodsDetailList);
            }
            int i = RK.SaveChanges();
            if (i > 0)
            {
                return i;
            }
            else
            {
                return 0;
            }
        }


JavaScript代码:

//绑定要修改的行

 var OrderForTransportationID = 0;
        function Updata() {
        //点击一条明细进行修改,如果已经审核就不能修改
            var ROW = $("#tbOrderForTransportationList").datagrid('getSelected');
            if (ROW.CheckEmploy2 != "未复核") {
                alert("单号" + $.trim(ROW.OrderForGoodsNumber) + "已提交复核或已复核,不能再修改!");
            } else {
            //打开修改的界面
                $('#WinInsert').reveal($(this).data());
                //隐藏新增按钮,显示修改按钮
                //通过用document.getElementById来找到那个ID,然后就对他进行操作
                document.getElementById("InsertButton").style.display = "none";
                document.getElementById("updateButton").style.display = "block";
                //获取主键id
                OrderForTransportationID = ROW.OrderForTransportationID;
                //对文本进行赋值
                $("#txtOrderForGoodsNumber").val(ROW.OrderForGoodsNumber);
                //对于下拉框用setValue的方法获取那个ID,不是文本值
                $("#cboVocationalTypeID").combobox('setValue', ROW.VocationalTypeID);
                id8 = ROW.HeadstreamID;
                $("#txtHeadstreamID").val(ROW.HeadstreamName);
                id9 = ROW.DestinationID;
                $("#txtDestinationID").val(ROW.DestinationName);
                $("#datTakeDeliveryTime").datebox('setValue', ROW.TakeDeliveryTime2);
                $("#datArriveTime").datebox('setValue', ROW.ArriveTime2);
                TakeDeliveryID;
                if (ROW.TakeDeliveryID2 == "取货") {
                    $("#TakeDeliveryID").attr('checked', true);
                }
                if (ROW.DeliverGoodsID2 == "送货") {
                    $("#DeliverGoodsID").attr('checked', true);
                }
                if (ROW.PeturnID2 == "运单") {
                    $("#PeturnID").attr('checked', true);
                }
                if (ROW.WrittenPermissionID2 == "客户单据") {
                    $("#WrittenPermissionID").attr('checked', true);
                }
                id1 = ROW.ClientID;
                $("#txtShipperName").val(ROW.ShipperName);
                $("#txtShipperPhoneNumber").val(ROW.ShipperPhoneNumber);
                $("#txtShipperUnitsID").combobox('setValue', ROW.ShipperUnitsID);
                $("#txtShipperLocation").val(ROW.ShipperLocation);
                $("#txtShipperAccount").val(ROW.ShipperAccount);
                $("#txtShipperPostcode").val(ROW.ShipperPostcode);
                $("#txtClientManager").val(ROW.ClientManager);
                $("#txtClientGetingpersonNumber").val(ROW.StorePickupPersonName);
                $("#txtClientGetingpersonBelephone").val(ROW.StorePickupPersonPhoneNumber);
                $("#txtClientGetingpersonAddress").val(ROW.StorePickupPersonAddress);
                $("#cboProjectID").combobox('setValue', ROW.ProjectID);
                $("#txtClientReceivingpersonName").val(ROW.ConsigneeName);
                $("#txtClientReceivingpersonBelephone").val(ROW.ConsigneePhoneNumber);
                $("#txtClientReceivingpersonUnit").val(ROW.ConsigneeUnit);
                $("#txtClientReceivingpersonAddress").val(ROW.ConsigneeAddress);
                $("#txtClientReceivingpersonNumber").val(ROW.ConsigneeAccount);
                $("#txtClientReceivingpersonZipCode").val(ROW.ConsigneePostcode);
                $("#txtTransportationExpenses").val(ROW.CarriageFare);
                $("#txtIncidentalExpenses").val(ROW.IncidentalExpenses);
                $("#txtCostSumUp").val(ROW.CostSumUp);
                if (ROW.WhetherOrnotInsureDeclare2 == "是") {
                    $("#Yes").attr('checked', true);
                } else {
                    $("#Fou").attr('checked', true);
                }
                $("#txtInsurancePremium").val(ROW.InsureExpenses);
                if (ROW.SettleAccountsWayID == "42") {
                    $("#PeiGongLuZhengChe").attr('checked', true);
                } else if (ROW.SettleAccountsWayID == "43") {
                    $("#PeiGongLuLingDan").attr('checked', true);
                }
                else if (ROW.SettleAccountsWayID == "44") {
                    $("#PeiHuoWuPeiSong").attr('checked', true);
                }
                else if (ROW.SettleAccountsWayID == "45") {
                    $("#PeiTieLu").attr('checked', true);
                }
                else {
                    $("#PeiGongYun").attr('checked', true);
                }
                $("#txtAdvanceReceipts").val(ROW.AdvanceReceipts);
                $("#txtPayNumber").val(ROW.PayNumber);
                $("#txtRemarks").val(ROW.Remarks);
                $("#cboFabricationOrderFormID").combobox('setValue', ROW.FabricationOrderFormID);
                $("#datAcceptanceTime").datebox('setValue', ROW.AcceptanceTime2);
                $("#cboAcceptanceUnitID").combobox('setValue', ROW.AcceptanceUnitID);
                $("#txtAmountInsured").val(ROW.InsuredAmount);
                id12 = ROW.InsuredAmount;
                $("#txtYunJiaFeiHeJi").val(ROW.AllFeiCount);
                id5 = ROW.ClientAgreementInformationID;
                id6 = ROW.CarriageFareValue;
                id7 = ROW.InsuranceCompanyName;
                $("#txtZongShuLiang").val(ROW.ZongTiJi);
                $("#txtZhongTiCi").val(ROW.ZongShuLiang);
                $("#txtZongZhongLiang").val(ROW.ZongZhongLiang);
                $.getJSON("/DingDanGuanL/SelectSYSGoodsListTwo?OrderForGoodsTransportinformationID=" + OrderForTransportationID,
                                    function (data) {
                                        $("#tbGoodsListMingXi").datagrid('loadData', data);
                                        var dt = $("#tbGoodsListMingXi").datagrid('getData');
                                        for (var i = 0; i < dt.rows.length; i++) {
                                            $("#tbGoodsListMingXi").datagrid('getRows')[i]["text"] = data[i]["UnitName"]; //单位
                                            $("#tbGoodsListMingXi").datagrid('getRows')[i]["text1"] = data[i]["QualityName"]; //质量
                                            $("#tbGoodsListMingXi").datagrid('beginEdit', i);
                                            $("#tbGoodsListMingXi").datagrid('endEdit', i);
                                        }
                                    });
                DeleteList();

            }
        }

数据相同时删除行

 function DeleteList() {
        //对应要查询的方法
            $.getJSON("/DingDanGuanL/SelectSYSGoodsList",
            function (data) {
                $("#tbGoodsList").datagrid('loadData', data);
                //对应的datagrid加载数据
                var ROW = $("#tbGoodsListMingXi").datagrid('getData');
                var ROW1 = $("#tbGoodsList").datagrid('getData');
                for (var i = 0; i < ROW.rows.length; i++) {
                //通过for循环来遍历所有的行
                    for (var j = 0; j < ROW1.rows.length; j++) {
                        if (ROW.rows[i].GoodsDesignation == ROW1.rows[j].GoodsDesignation) {
                        //如果存在相同就删除
                            $("#tbGoodsList").datagrid('deleteRow', j);
                        }
                    }
                }
            });
        }

确定修改:

  var OrderForTransportationID = 0;
        var rowsCount = 0;
        function UpdateShiBei() {
            if (confirm("是否修改")) {

                //endEditing(false);结束编辑

                endEditing(false);
                var TakeDeliveryID = 0;
                if (document.getElementById("TakeDeliveryID").checked) {
                    TakeDeliveryID = 74;
                } else {
                }
                var DeliverGoodsID = 0;
                if (document.getElementById("DeliverGoodsID").checked) {
                    DeliverGoodsID = 75;
                } else {
                }
                var WrittenPermissionID = 0;

                if (document.getElementById("WrittenPermissionID").checked) {
                    WrittenPermissionID = 76;
                } else {
                }

                var PeturnID = 0;
                if (document.getElementById("PeturnID").checked) {
                    PeturnID = 77;
                } else {
                }

                var WhetherOrnotInsureDeclare = 0;
                if (document.getElementById('Yes').checked) {
                    WhetherOrnotInsureDeclare = true;
                } else {
                    WhetherOrnotInsureDeclare = false;
                }
                var txtSettleAccountsWayID = 0;
                if (document.getElementById("PeiGongLuZhengChe").checked) {
                    txtSettleAccountsWayID = 42;
                } else if (document.getElementById("PeiGongLuLingDan").checked) {
                    txtSettleAccountsWayID = 43;
                }
                else if (document.getElementById("PeiHuoWuPeiSong").checked) {
                    txtSettleAccountsWayID = 44;
                }
                else if (document.getElementById("PeiTieLu").checked) {
                    txtSettleAccountsWayID = 45;
                } else {
                    txtSettleAccountsWayID = 46;
                }
                //第一次修改
                $.getJSON("/DingDanGuanL/UpdateOrderForTransportationList?OrderForTransportationID=" + OrderForTransportationID + "&"
                                        + "OrderForGoodsNumber=" + $("#txtOrderForGoodsNumber").val() + "&"
                //获取combobox的值
+ "VocationalTypeID=" + $("#cboVocationalTypeID").combobox('getValue') + "&"
+ "HeadstreamID=" + id8 + "&"
+ "DestinationID=" + id9 + "&"
+ "TakeDeliveryTime=" + $("#datTakeDeliveryTime").datebox('getValue') + "&"
+ "ArriveTime=" + $("#datArriveTime").datebox('getValue') + "&"
+ "TakeDeliveryID=" + TakeDeliveryID + "&"
+ "DeliverGoodsID=" + DeliverGoodsID + "&"
+ "WrittenPermissionID=" + WrittenPermissionID + "&"
+ "PeturnID=" + PeturnID + "&"
+ "ShipperName=" + $("#txtShipperName").val() + "&"
+ "ShipperPhoneNumber=" + $("#txtShipperPhoneNumber").val() + "&"
+ "ShipperUnitsID=" + $("#txtShipperUnitsID").combobox('getValue'),
function (data) {
    //第二次修改
    $.getJSON("/DingDanGuanL/UpdateOrderForTransportationList1?OrderForTransportationID=" + OrderForTransportationID + "&"
+ "ShipperLocation=" + $("#txtShipperLocation").val() + "&"
+ "ShipperAccount=" + $("#txtShipperAccount").val() + "&"
+ "ShipperPostcode=" + $("#txtShipperPostcode").val() + "&"
+ "ClientManager=" + $("#txtClientManager").val() + "&"
+ "StorePickupPersonName=" + $("#txtClientGetingpersonNumber").val() + "&"
+ "StorePickupPersonPhoneNumber=" + $("#txtClientGetingpersonBelephone").val() + "&"
+ "StorePickupPersonAddress=" + $("#txtClientGetingpersonAddress").val() + "&"
+ "ProjectID=" + $("#cboProjectID").combobox('getValue') + "&"
+ "ConsigneeName=" + $("#txtClientReceivingpersonName").val() + "&"
+ "ConsigneePhoneNumber=" + $("#txtClientReceivingpersonBelephone").val() + "&"
+ "ConsigneeUnit=" + $("#txtClientReceivingpersonUnit").val() + "&"
+ "ConsigneeAddress=" + $("#txtClientReceivingpersonAddress").val() + "&"
+ "ConsigneeAccount=" + $("#txtClientReceivingpersonNumber").val(),
function (data1) {
    //第三次修改
    $.getJSON("/DingDanGuanL/UpdateOrderForTransportationList2?OrderForTransportationID=" + OrderForTransportationID + "&"
+ "ConsigneePostcode=" + $("#txtClientReceivingpersonZipCode").val() + "&"
+ "CarriageFare=" + $("#txtTransportationExpenses").val() + "&"
+ "IncidentalExpenses=" + $("#txtIncidentalExpenses").val() + "&"
+ "CostSumUp=" + $("#txtCostSumUp").val() + "&"
+ "WhetherOrNotInsureDeclare=" + WhetherOrnotInsureDeclare + "&"
+ "InsureExpenses=" + $("#txtInsurancePremium").val() + "&"
+ "SettleAccountsWayID=" + txtSettleAccountsWayID + "&"
+ "AdvanceReceipts=" + $("#txtAdvanceReceipts").val() + "&"
+ "PayNumber=" + $("#txtPayNumber").val() + "&"
+ "Remarks=" + $("#txtRemarks").val() + "&"
+ "FabricationOrderFormID=" + $("#cboFabricationOrderFormID").combobox('getValue') + "&"
+ "AcceptanceTime=" + $("#datAcceptanceTime").datebox('getValue') + "&"
+ "AcceptanceUnitID=" + $("#cboAcceptanceUnitID").combobox('getValue') + "&"
+ "InsuredAmount=" + $("#txtAmountInsured").val() + "&"
+ "ClientID=" + id1 + "&"
+ "ZongTiJi=" + $("#txtZongShuLiang").val() + "&"
+ "ZongShuLiang=" + $("#txtZhongTiCi").val() + "&"
+ "ZongZhongLiang=" + $("#txtZongZhongLiang").val() + "&"
+ "ClientAgreementInformationID=" + id5,
function (data5) {
    //修改明细信息
    var CheLiangBaoXianTiaoMu = $("#tbGoodsListMingXi").datagrid('getData');
    intCheLiangBaoXianTiaoMu = data;
    var delRow = $("#tbGoodsListMingXi").datagrid('getChanges', 'deleted');

    //同个getchanges的方法获取删除的行数

    rowsCount = delRow.length;
    for (var i = 0; i < rowsCount; i++) {

        //for改变多少行就执行多少次方法

        $.getJSON("/DingDanGuanL/UpdateOrderForGoodsDetailList?OrderForGoodsDetailID=" + delRow[i].OrderForGoodsDetailID + "&"
+ "OrderForGoodsTransportinformationID=" + intCheLiangBaoXianTiaoMu + "&"
+ "GoodsID=" + delRow[i].GoodsID + "&"
+ "Cubage=" + delRow[i].PiCis + "&"
+ "Quantity=" + delRow[i].Quantity + "&"
+ "UnitsID=" + delRow[i].UnitID + "&"
+ "QualityID=" + delRow[i].QualityID + "&"
+ "Remarks=" + delRow[i].Remarks + "&"
+ "ZhongLiang=" + delRow[i].ZhongLiang + "&"
+ "TiChi=" + delRow[i].TiChi + "&"
+ "Update=" + 3,
function (data2) {
});

    }

    var insRow = $("#tbGoodsListMingXi").datagrid('getChanges', 'inserted');

    //同个getchanges的方法获取新增的行数

    rowsCount = insRow.length;
    for (var j = 0; j < rowsCount; j++) {
        $.getJSON("/DingDanGuanL/UpdateOrderForGoodsDetailList?OrderForGoodsDetailID=" + 0 + "&"
+ "OrderForGoodsTransportinformationID=" + intCheLiangBaoXianTiaoMu + "&"
+ "GoodsID=" + insRow[j].GoodsID + "&"
+ "Cubage=" + insRow[j].PiCis + "&"
+ "Quantity=" + insRow[j].Quantity + "&"
+ "UnitsID=" + insRow[j].UnitID + "&"
+ "QualityID=" + insRow[j].QualityID + "&"
+ "Remarks=" + insRow[j].Remarks + "&"
+ "ZhongLiang=" + insRow[j].ZhongLiang + "&"
+ "TiChi=" + insRow[j].TiChi + "&"
+ "Update=" + 2, function (data3) {
});
    }
    var UpdatRow = $("#tbGoodsListMingXi").datagrid('getChanges', 'updated');

    //同个getchanges的方法获取修改的行数

    rowsCount = UpdatRow.length;

    for (var k = 0; k < rowsCount; k++) {

        $.getJSON("/DingDanGuanL/UpdateOrderForGoodsDetailList?OrderForGoodsDetailID=" + UpdatRow[k].OrderForGoodsDetailID + "&"
+ "OrderForGoodsTransportinformationID=" + intCheLiangBaoXianTiaoMu + "&"
+ "GoodsID=" + UpdatRow[k].GoodsID + "&"
+ "Cubage=" + UpdatRow[k].PiCis + "&"
+ "Quantity=" + UpdatRow[k].Quantity + "&"
+ "UnitsID=" + UpdatRow[k].UnitID + "&"
+ "QualityID=" + UpdatRow[k].QualityID + "&"
+ "Remarks=" + UpdatRow[k].Remarks + "&"
+ "ZhongLiang=" + UpdatRow[k].ZhongLiang + "&"
+ "TiChi=" + UpdatRow[k].TiChi + "&"
+ "Update=" + 1, function (data4) {
});
    }
    if (data > 0) {
        alert("修改成功!");
        window.location.href = "/DingDanGuanL/YunShuDingDan";
    } else {
        alert("修改失败");
    }

}
);
});

});
            }

        }

 

 

第三步、视图(views)

 25.13图(18

 25.13图(19

对datagrid中有下拉款进行编辑

$(document).ready(function () {
            $.extend($.fn.datagrid.defaults.editors, {
                combogrid: {

                    //获取combogrid

                    //appendTo(container);将combogrid反倒容中

                    init: function (container, options) {
                        var input = $('<input type="text" class="datagrid-editable-input">').appendTo(container);
                        input.combogrid(options);
                        return input;
                    },
                    destroy: function (target) {

                        //破坏combogrid

                        $(target).combogrid('destroy');
                    },

                    //获取combogrid的文本值

                    getValue: function (target) {
                        return $(target).combogrid('getValue');
                    },

                    // 设置combogrid的值
<span style="font-size:18px;">
                    </span>setValue: function (target, value) {
                        $(target).combogrid('setValue', value);
                    },
                    getText: function (target) {
                        return $(target).combogrid('getText');
                    },
                    //调整combogrid的大小
                    resize: function (target, width) {
                        $(target).combogrid('resize', width);
                    }
                }
            });
            $("#cboAcceptanceUnitID").combobox('select', 1);

            //设置cboAcceptanceUnitID,这个下拉款的开始值

            $("#cboFabricationOrderFormID").combobox('select', 26);

            //cboFabricationOrderFormID,这个下拉款的开始值
        });



formatter:

 

 function myformatter1(LuYouIDS, row, rowIndex) {
            //对datagrid中的formatter进行编制
            //LuYouIDS对应的ID,row是他的行,rowindex是行索引

            //ShanChu是对应表头的ID值

            //<img src="../../Content/图/icons/cancel.png" />是要显示的值

            return "<a href='javascript:ShanChu(" + LuYouIDS + "," + rowIndex + ")'>" + '<img src="../../Content/图/icons/cancel.png" /></a>';
        }


编辑器:

var editIndex = undefined;
        //开始是多是undeerfined,用于下面的新增一行,和对下面进行编辑
        function endEditing(flag) {
            if (editIndex == undefined) { return true; }
            if ($('#tbGoodsListMingXi').datagrid('validateRow', editIndex)) {

                //validateRow确定是哪一行

                //通过getEditor来获取那个ID

                var edChanPin = $('#tbGoodsListMingXi').datagrid('getEditor', { index: editIndex, field: 'UnitID' });
                var chanPinBianMa = $(edChanPin.target).combobox('getText');
                if (chanPinBianMa != "" || flag) {
                //判断这个文本框有没有值
                    $('#tbGoodsListMingXi').datagrid('getRows')[editIndex]['text'] = chanPinBianMa;

                }
                else {

                    //没有值就提示他

                    alert("请选择单位!");
                    return false;
                }
                var edChanPin1 = $('#tbGoodsListMingXi').datagrid('getEditor', { index: editIndex, field: 'QualityID' });
                var chanPinBianMa1 = $(edChanPin1.target).combobox('getText');
                if (chanPinBianMa1 != "" || flag) {
                    $('#tbGoodsListMingXi').datagrid('getRows')[editIndex]['text1'] = chanPinBianMa1;
                }
                else {
                    alert("请选择险别名称!");
                    return false;
                }
                $('#tbGoodsListMingXi').datagrid('endEdit', editIndex);
                editIndex = undefined;
                return true;
            }
            else {
                return false;
            }
        }


onclickrow:

        //点击datagrid的任意一行是触发事件
        function onClickRowDingDan(index) {

        //判断行索引与编剧行的状态
            if (editIndex != index) {
               
               //先开始编辑,再结束编辑
                $("#tbGoodsListMingXi").datagrid('beginEdit', index);
                $("#tbGoodsListMingXi").datagrid('endEdit', editIndex);
                // setTimeout 停顿0.1秒后再触发事件
                setTimeout(function () { editIndex = index; }, 100);
            }
        }


append(新增行)

 function onKeHuHuoPinBiao() {
            var onKuHuHuoPinXinXi = $("#tbGoodsList").datagrid('getSelected');
            var onDingDanHuoPin = $("#tbGoodsListMingXi").datagrid('getSelected');
            //一次打开界面后,用一个方法绑定多个值
            //GoodsID: onKuHuHuoPinXinXi.GoodsID
            //GoodsID:是要给别人赋值
            //onKuHuHuoPinXinXi.GoodsID:给别人赋值
            $('#tbGoodsListMingXi').datagrid('appendRow', { GoodsID: onKuHuHuoPinXinXi.GoodsID, 
            GoodsDesignation: onKuHuHuoPinXinXi.GoodsDesignation,
                ClientName: onKuHuHuoPinXinXi.ClientName, GoodsNumber: onKuHuHuoPinXinXi.GoodsNumber,
                 Specifications: onKuHuHuoPinXinXi.Specifications,
                 UnitID: onKuHuHuoPinXinXi.UnitID, UnitName: onKuHuHuoPinXinXi.UnitName, QualityID: 
                onKuHuHuoPinXinXi.QualityID, QualityName: onKuHuHuoPinXinXi.QualityName
            });
            //删除列
            DeleteList();
        }


html代码:

     <table id="tbGoodsListMingXi" title="运输订单明细" class="easyui-datagrid" style="width: auto;
                        height: 180px;" data-options="onAfterEdit:onAfterEdit,singleSelect:true,onClickRow:onClickRowDingDan,rownumbers:true,rowStyler:function(index,row){
        		if (index%2==0){
          		 }
    		   }">
                        <thead>
                            <tr>
                                <th data-options="field:'DeleteGoods',width:100,align:'center',formatter:myformatter5">
                                    删除
                                </th>
                                <th data-options="field:'OrderForGoodsDetailID',width:100,align:'center',hidden:true">
                                    货品ID
                                </th>
                                <th data-options="field:'GoodsID',width:100,align:'center',hidden:true">
                                    货品ID
                                </th>
                                <th data-options="field:'GoodsNumber',width:100,align:'center',hidden:true">
                                    货品编码
                                </th>
                                <th data-options="field:'GoodsDesignation',width:100,align:'center'">
                                    货品名称
                                </th>
                                <th data-options="field:'Specifications',width:100,align:'center'">
                                    规格
                                </th>
                                <th data-options="field:'PiCis',width:100,align:'center',editor:'text'">
                                    批次
                                </th>
                                <th data-options="field:'UnitID',width:100,align:'center',formatter:function(value,row){
                              return row.text;
                              },
                              editor:{
                              type:'combobox',
                              options:{
                              valueField:'id',
                              textField:'text',
                             @* //绑定下拉款用URL的方法来绑定数据*@
                              url:'/XiaLaKuang/ChaXunShuXingMingXiXinXi?ShuXingJiHeID=68'
                              }
                              }
                              ">
                                    单位
                                </th>
                                <th data-options="field:'QualityID',width:100,align:'center',formatter:function(value,row){
                              return row.text1
                              },
                              editor:{
                              type:'combobox',
                              options:{
                              valueField:'id1',
                              textField:'text1',
                              url:'/XiaLaKuang/SelectQuality'
                              }
                              }
                              ">
                                    质量
                                </th>
                                <th data-options="field:'Quantity',width:100,align:'center',editor:'text'">
                                    重量
                                </th>
                                <th data-options="field:'ZhongLiang',width:100,align:'center',editor:'text'">
                                    数量
                                </th>
                                <th data-options="field:'TiChi',width:100,align:'center',editor:'text'">
                                    体积
                                </th>
                                <th data-options="field:'Remarks',width:100,align:'center',editor:'text'">
                                    备注
                                </th>
                            </tr>
                        </thead>
                    </table>
                    <center>
                        <table>
                            <tr>
                                <td>
                                    <button id="InsertButton" class="btn blue" data-toggle="modal" style="font-family: 楷体;"
                                        onclick="InsertShiBei()">
                                        保存</button>
                                </td>
                                <td>
                                    <button id="updateButton" class="btn blue" data-toggle="modal" style="font-family: 楷体;
                                        display: none" onclick="UpdateShiBei()">
                                        保存</button>
                                </td>
                                <td>
                                    <button id="InsertZhuanYun" class="btn blue" data-toggle="modal" style="font-family: 楷体;
                                        display: none" onclick="InsertZhuanYun()">
                                        保存</button>
                                </td>
                                <td>
                                    <button class="btn blue" data-toggle="modal" style="font-family: 楷体;" onclick="ClosePanel()">
                                        退出</button>
                                </td>
                            </tr>
                        </table>
                    </center>
                </div>
            </div>


 

 

 

 

仅供学习,禁止用于商业用途。

 


 


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值