领域台车号维护
领域台车号维护。主要是对一个或多个领域进行分组并在出货区进行区本地部分可以按照:自车一个领域一个台车号,委外一个货运公司一个台车号,大单一个台车号,可以按照一个配送方式一个台车号,也可以按照几个领域一个台车号;如果外地量大,可以用(配送方式+领域)的方式编台车号,在出货分区标示出台车号方便理货人员理货和装车
领域台车好号维护界面:
从界面上可以看到我们这里用到的控件有
控件名称 | 说明 |
单行文本控件(easyui-textbox) | 第一要设置每个控件的id,第二设置大小不设置也有默认 |
按钮(easyui-linkbutton) | |
数据列表(easyui-datagrid) |
|
下拉框(easyui-combobox) |
|
Datagrid中嵌套Checbox:
Html中的代码:
<th data-options="field:'123',width:90,align:'center',formatter:myformatter">删除</th>
脚本中的代码:
function myformatter(data, row, Index) {
if(row.LogisticsPlaceID==@Session["物流地点ID"]){
return '<input style="width:20px;height:20px" id="' + Index + '" type="checkbox" />';
}else{return '<input disabled style="width:20px;height:20px" id="' + Index + '" type="checkbox" />';}
}
领域台车号维护涉及的表和表的关系:
台车号维护用到的表有:领域台车号维护表(FieldCarServiceList)、物流地点表(LogisticsPlaceList)、属性明细表(MX_AttributeDetailedList)、配送领域维护表(DeliveryFieldServiceList)
领域台车维护表的字段:领域台车维护ID、服务等级ID、领域属性维护ID、维护人、台车号、删除否
列名 | 数据类型 | 主键/外键 | 说明 |
FieldCarServiceID | Int | 主键 | 领域台车维护ID |
ServeGradeID | Int | 外键 | 服务等级ID |
ServiceManID | Int | 外键 | 维护人 |
CarNumber | Char |
| 台车号 |
DeleteNo | Bit | 外键 | 删除否 |
DeliveryFieldServiceID | Int | 外键 | 领域属性维护ID |
配送领域维护表的字段:配送领域维护ID、物流地点ID、领域代码、配送属性ID、配送等级ID、配送方式ID、默认否、预计送达天数、删除否
列名 | 数据类型 | 主键/外键 | 说明 |
DeliveryFieldServiceID | Int | 主键 | 配送领域维护ID |
LogisticsPlaceID | Int | 外键 | 物流地点ID |
FieldWord | Char |
| 领域代码 |
SXMX_AttributeID | Int | 外键 | 配送属性ID |
DeliveryGradeID | Int | 外键 | 配送等级ID |
DeliveryWayID | Int | 外键 | 配送方式ID |
AdmitNO
| Bit | 外键 | 默认否 |
PredictServiceDay | Char |
| 预计送达天数 |
DeleteNo | Bit |
| 删除否 |
关系图:
模块功能的具体实现:
界面层功能的实现:
//下面是整个界面中html代码:
<body>
<div id="DispatchingClientField" class="easyui-window" title="台车号维护" data-options="maximized:true" style="width:1355px;height:523px; background-color: #CCCCFF; ">
<fieldset style="width:1160px;padding:5px;border:1px solid #C0C0C0;">
<legend>查询条件</legend>
<table>
<tr>
<td align="right"style="color: #0000; font-size: 13px;">物流地点:</td><td><input class="easyui-combobox" id="cbo_LogisticsPlace1" style="width:130px"data-options="url:'/DeliveryFieldAddress/LogisticsPlace',valueField: 'LogisticsPlaceID', textField: 'LogisticsPlaceName'"/></td>
<td align="right"style="color: #0000; font-size: 13px;">配送方式:</td><td><input class="easyui-combobox" id="cbo_DeliveryWay1" style="width:130px"data-options="url:'/DeliveryFieldAddress/SelectAttributeGather?AttributeGatherID=1',valueField: 'MX_AttributeDetailedID', textField: 'AttributeDetailedName'"/></td>
<td align="right"style="color: #0000; font-size: 13px;">运交领域:</td><td><input id="txt_FieldWord1" style="width:120px;"></input></td>
<td align="right"style="color: #0000; font-size: 13px;">服务等级:</td><td><input class="easyui-combobox" id="cbo_ServeGrade1" style="width:120px;"data-options="url:'/DeliveryFieldAddress/SelectAttributeGather?AttributeGatherID=4',valueField: 'MX_AttributeDetailedID', textField: 'AttributeDetailedName'"/></td>
<td align="right"style="color: #0000; font-size: 13px;">台车号:</td><td><input id="txt_CarNumber1" style="width:120px;"></input></td>
<td> <input type="button" οnclick="Select()" value="查询"style="width:70px; font-family: 宋体, Arial, Helvetica, sans-serif; font-size: 17px; color: #FF3300;" /></td>
<td> <input οnclick="Delete()" type="button"value="删除"style="width:70px; font-family: 宋体, Arial, Helvetica, sans-serif; font-size: 17px; color: #FF3300;" /></td>
</tr>
</table>
</fieldset>
<table id="dgrd_Setting" class="easyui-datagrid" title="台车号维护" style="width:1160px;height:350px" data-options="singleSelect:true,rownumbers:true,onClickRow:myonClickRow">
<thead>
<tr>
<th data-options="field:'FieldCarServiceID',width:130,hidden:true,align:'center'">ID</th>
<th data-options="field:'LogisticsPlaceName',width:130,align:'center'">物流地点</th>
<th data-options="field:'DeliveryNature',width:130,align:'center'">配送属性</th>
<th data-options="field:'DeliveryWay',width:130,align:'center'">配送方式</th>
<th data-options="field:'ServeGrade',width:130,align:'center'">服务等级</th>
<th data-options="field:'FieldWord',width:130,align:'center'">运交领域</th>
<th data-options="field:'CarNumber',width:130,align:'center',editor:'text'@*,formatter:yourformatter*@">台车号</th>
<th data-options="field:'ServiceMan',width:130,align:'center'">维护人</th>
<th data-options="field:'ServiceDate',width:130,align:'center',formatter:yourformatter">修改</th>
<th data-options="field:'123',width:90,align:'center',formatter:myformatter">删除</th>
</tr>
</thead>
</table>
<table>
<tr>
<td style="width:150px;height:20px; background-color: #659A94; color: #FFFFFF; font-size: 18px;"> 物流地点</td>
<td style="width:150px;height:20px; background-color: #659A94; color: #FFFFFF; font-size: 18px;"> 配送方式</td>
<td style="width:150px;height:20px; background-color: #659A94; color: #FFFFFF; font-size: 18px;"> 服务等级</td>
<td style="width:200px;height:20px; background-color: #659A94; color: #FFFFFF; font-size: 18px;" > 运交领域</td>
<td style="width:100px;height:20px; background-color: #659A94; color: #FFFFFF; font-size: 18px;"> 台车号</td>
<td style="width:150px;height:20px; background-color: #659A94; color: #FFFFFF; font-size: 18px;"> 维护人</td>
<td> <button οnclick="ChongTian()" type="button" style="width:70px; height:25px; font-family: 宋体, Arial, Helvetica, sans-serif; font-size: 17px; color: #FF3300;">重填</button></td>
</tr>
<tr style="top: 1px">
<td><input readonly id="cbo_LogisticsPlace"class="easyui-combobox" style="width:150px; font-size: 30px;"data-options="url:'/DeliveryFieldAddress/LogisticsPlace',valueField: 'LogisticsPlaceID', textField: 'LogisticsPlaceName'"/></td>
<td><input id="cbo_DeliveryWay"class="easyui-combobox" style="width:150px; font-size: 30px;"data-options="url:'/DeliveryFieldAddress/SelectAttributeGather?AttributeGatherID=1',valueField: 'MX_AttributeDetailedID', textField: 'AttributeDetailedName'"/></td>
<td><input id="cbo_ServeGrade"class="easyui-combobox" style="width:150px; font-size: 30px;"data-options="url:'/DeliveryFieldAddress/SelectAttributeGather?AttributeGatherID=4',valueField: 'MX_AttributeDetailedID', textField: 'AttributeDetailedName'"/></td>
<td><table><tr><td><input id="txt_FieldWord"οnclick="txt_updateFieldAddress()" style="width:200px; "data-options=""/></td></tr></table></td>
<td><input id="txt_CarNumber" style="width:100px; "data-options=""/></td>
<td><input id="cbo_ServiceMan"class="easyui-combobox" style="width:150px; font-size: 30px;"/></td>
<td> <input οnclick="Insert()"type="button" value="新增"style="width:70px; font-family: 宋体, Arial, Helvetica, sans-serif; font-size: 17px; color: #FF3300;" /></td>
</tr>
</table>
</div>
<div class="easyui-window" id="Wnd_ClientAddress" style="width:500px; height:300px; top:150px; left:250px; background-color: #9999FF;" title="领域属性">
<table title="双击选定领域代码"class="easyui-datagrid" id="dgrd_ClientAddress" style="width:500px; height:300px"data-options="
singleSelect: true,onDblClickRow:myonDblClick
">
<thead>
<tr>
<th data-options="field:'DeliveryFieldServiceID',width:130,hidden:true,align:'center'">ID</th>
<th data-options="field:'LogisticsPlaceName',width:120,align:'center'">物流地点</th>
<th data-options="field:'FieldWord',width:120,align:'center'">领域代码</th>
<th data-options="field:'Attribut',width:120,align:'center'">配送属性</th>
<th data-options="field:'DeliveryWay',width:120,align:'center'">配送方式</th>
</tr>
</thead>
</table>
</div>
</body>
//脚本中的代码:
<script type="text/javascript">
$(document).ready(function (){//加载完html代码再执行此方法
SelectFieldCarService();
$("#Wnd_ClientAddress").window("close");//关闭窗体
$("#cbo_LogisticsPlace").combobox("setValue",@Session["物流地点ID"]); //Session["物流地点ID"]是登陆时控制器传过来的全局变量
});
//查询领域台车号
function SelectFieldCarService() {
$.getJSON("/BaseInformation/SelectFieldCarService?strFieldWord=" + "" + "&strCarNumber=" + "" + "&intDeliveryWayID=0" + "&intLogisticsPlaceID=0" + "&intServeGradeID=0",
function (data) { $("#dgrd_Setting").datagrid('loadData', data); });
//获取datagrid所有的数据
$.getJSON("/BaseInformation/SelectStaffInformation?LogisticsAddressID="+@Session["物流地点ID"],
function (data) {
$("#cbo_ServiceMan").combobox({ data: data, valueField: 'StaffID', textField: 'StaffName' });//维护人下拉框的加载
}
);
}
//返回Checkbox
function myformatter(data, row, Index) {
if(row.LogisticsPlaceID==@Session["物流地点ID"]){
//如果领域台车号属于本物流地点返回一个允许选择选择的选择框
return '<input style="width:20px;height:20px" id="' + Index + '" type="checkbox" />';
}else{//如果领域台车号不属于本物流地点返回一个不允许选择选择的选择框
return '<input disabled style="width:20px;height:20px" id="' + Index + '" type="checkbox" />';}
}
//新增台车号
function Insert() {
$.getJSON("/BaseInformation/SelectDeliveryFieldService?intDeliveryWayID=" + $("#cbo_DeliveryWay").combobox("getValue") + "&intLogisticsPlaceID=" + $("#cbo_LogisticsPlace").combobox("getValue")
+ "&strFieldWord=" + $("#txt_FieldWord").val(),
function (data) {
if (data.length > 0){
$.getJSON("/BaseInformation/InsertFieldCarService?intLogisticsPlaceID=" + DeliveryFieldServiceID2
+ "&intServeGradeID=" + $("#cbo_ServeGrade").combobox("getValue") + "&intServiceManID=" + $("#cbo_ServiceMan").combobox("getValue") +
"&strCarNumber=" + $("#txt_CarNumber").val(), function (dt) {
if (dt == 1) { alert("新增成功!");
SelectFieldCarService();
}
});
}
});
}
var DeliveryWay1 = 0;var LogisticsPlace1 = 0;var ServeGrade1 = 0;
//多条件查询台车号信息
function Select(){
if ($("#cbo_DeliveryWay1").combobox("getValue").trim().length > 0) { DeliveryWay1 = $("#cbo_DeliveryWay1").combobox("getValue"); }
if ($("#cbo_LogisticsPlace1").combobox("getValue").trim().length > 0) { LogisticsPlace1 = $("#cbo_LogisticsPlace1").combobox("getValue"); }
if ($("#cbo_ServeGrade1").combobox("getValue").trim().length > 0) { ServeGrade1 = $("#cbo_ServeGrade1").combobox("getValue"); }
$.getJSON("/BaseInformation/SelectFieldCarService?strFieldWord=" + $("#txt_FieldWord1").val() + "&strCarNumber=" + $("#txt_CarNumber1").val()
+ "&intDeliveryWayID="+DeliveryWay1 + "&intLogisticsPlaceID="+LogisticsPlace1 + "&intServeGradeID="+ServeGrade1, function (data) {
$("#dgrd_Setting").datagrid('loadData', data);
//将从控制器获取的参数加载到datagrid中
});
}
//删除台车号
function Delete() {
var Data = $("#dgrd_Setting").datagrid('getData');
for (i = 0; i < Data.rows.length; i++) {
if (document.getElementById(i).checked == true) {
//判断选择框是否选中,如果选中就删除选中的那一行
if (confirm("是否确定删除!")) {
$.getJSON("/BaseInformation/DeleteFieldCarService?intFieldCarServiceID=" + Data.rows[i].FieldCarServiceID, function (data) {
if (data == 1) { alert("删除成功!"); SelectFieldCarService(); }
else { alert("删除失败!"); }
}
);
}
}
}
}
//重填
function ChongTian() {//清空文本框的数据
$("#cbo_DeliveryWay").combobox("setValue", "");
$("#cbo_ServeGrade").combobox("setValue", "");
$("#cbo_ServiceMan").combobox("setValue", "");
$("#txt_CarNumber").val("");
$("#txt_FieldWord").val("");
}
//修改
function yourformatter(data, row, Index){
return '<a href="javascript:Update1()" style="font-size: 20px;">修改</a>';
//点击修改时触发Update1()方法
}
var panduan = 0;
//判断该领域是否是本物流地点的维护领域
function Update1() {
if($('#dgrd_Setting').datagrid('getRows')[MyIndex].LogisticsPlaceID==@Session["物流地点ID"]){
panduan = 1;
$('#dgrd_Setting').datagrid('beginEdit', MyIndex);
}
else{alert("该领域不属于本物流地点的已维护属性,无法进行修改!");}
}
var MyIndex = -1;
var EdIndex = -1;
//点击datagrid中的行触发事件
function myonClickRow(index, row) {
MyIndex = index;
$('#dgrd_Setting').datagrid('endEdit', EdIndex);//结束编辑
if(panduan==1){
$.getJSON("/BaseInformation/UpdateFieldCarService?strCarNumber=" + $('#dgrd_Setting').datagrid("getRows")[EdIndex].CarNumber.trim() + "&intFieldCarServiceID=" + $('#dgrd_Setting').datagrid("getRows")[EdIndex].FieldCarServiceID,
function (dt) {
panduan = 0;
if (dt == 1) { alert("修改成功!");
}
}); }
EdIndex = index;
}
//领域地址的加载
function txt_updateFieldAddress() {
$("#Wnd_ClientAddress").window("open");
$.getJSON("/BaseInformation/selectAttrubut?intLogisticsPlaceID=" + $("#cbo_LogisticsPlace").combobox("getValue") + "&intDeliveryWayID=" + $("#cbo_DeliveryWay").combobox("getValue"), function(data) {
$("#dgrd_ClientAddress").datagrid('loadData', data);//将数据绑定到datagrid中
}
);
}
var DeliveryFieldServiceID2 = 0;
//双击领域地址datagrid中的行时触发的事件
function myonDblClick(index, Row) {
DeliveryFieldServiceID2 = Row.DeliveryFieldServiceID;
$("#txt_FieldWord").val(Row.FieldWord);
$("#Wnd_ClientAddress").window("close");
}
</script>
//下面是传值给界面的控制器的代码:
//新增领域台车维护
public ActionResult InsertFieldCarService(int intLogisticsPlaceID, int intServeGradeID, int intServiceManID, string strCarNumber)
{
int i = myMaintaining_for_car.InsertFieldCarService(intLogisticsPlaceID, intServeGradeID,intServiceManID, strCarNumber);
return Json(i, JsonRequestBehavior.AllowGet);
}
//--查询领域台车维护
public ActionResult SelectFieldCarService(string strFieldWord, string strCarNumber, int intDeliveryWayID, int intLogisticsPlaceID, int intServeGradeID)
{
DataTable dt = myMaintaining_for_car.SelectFieldCarService(strFieldWord, strCarNumber,intDeliveryWayID,intLogisticsPlaceID,intServeGradeID);
List<Dictionary<string, object>> listReturn = ConvertHelper.DtToList(dt);
return Json(listReturn, JsonRequestBehavior.AllowGet);
}
// --删除领域台车维护
public ActionResult DeleteFieldCarService(int intFieldCarServiceID) {
int i = myMaintaining_for_car.DeleteFieldCarService(intFieldCarServiceID);
return Json(i, JsonRequestBehavior.AllowGet);
}
// --修改领域台车维护
public ActionResult UpdateFieldCarService(string strCarNumber, int intFieldCarServiceID)
{
int i = myMaintaining_for_car.UpdateFieldCarService(strCarNumber,intFieldCarServiceID);
return Json(i, JsonRequestBehavior.AllowGet);
}
//下面是传值给控制器的逻辑层的代码:
//新增领域台车维护
public ActionResult InsertFieldCarService(int intLogisticsPlaceID, int intServeGradeID, int intServiceManID, string strCarNumber)
{
int i = myMaintaining_for_car.InsertFieldCarService(intLogisticsPlaceID, intServeGradeID,intServiceManID, strCarNumber);
return Json(i, JsonRequestBehavior.AllowGet);
}
//--查询领域台车维护
public ActionResult SelectFieldCarService(string strFieldWord, string strCarNumber, int intDeliveryWayID, int intLogisticsPlaceID, int intServeGradeID)
{
DataTable dt = myMaintaining_for_car.SelectFieldCarService(strFieldWord, strCarNumber,intDeliveryWayID,intLogisticsPlaceID,intServeGradeID);
List<Dictionary<string, object>> listReturn = ConvertHelper.DtToList(dt);
return Json(listReturn, JsonRequestBehavior.AllowGet);
}
// --删除领域台车维护
public ActionResult DeleteFieldCarService(int intFieldCarServiceID) {
int i = myMaintaining_for_car.DeleteFieldCarService(intFieldCarServiceID);
return Json(i,JsonRequestBehavior.AllowGet);
}
// --修改领域台车维护
public ActionResult UpdateFieldCarService(string strCarNumber, int intFieldCarServiceID)
{
int i = myMaintaining_for_car.UpdateFieldCarService(strCarNumber,intFieldCarServiceID);
return Json(i, JsonRequestBehavior.AllowGet);
}
//下面是传值给逻辑层的存储过程的代码:
--多条件模糊查询领域台车维护
if @type='SelectFieldCarService'
begin
declare @sql varchar(1000)=''
if @FieldWord!=''
begin
set @sql=' where DeliveryFieldServiceList.FieldWord ='''+LTRIM(RTRIM(@FieldWord))+''''
end
if @CarNumber !=''
begin
if @sql !=''
set @sql=@sql+' and FieldCarServiceList.CarNumber= '''+LTRIM(RTRIM(@CarNumber))+''''
else set @sql=' where FieldCarServiceList.CarNumber= '''+LTRIM(RTRIM(@CarNumber))+''''
end
if @DeliveryWayID !=0
begin
if @sql !=''
set @sql=@sql+' and DeliveryFieldServiceList.DeliveryWayID='''+LTRIM(RTRIM(@DeliveryWayID))+''''
else set @sql=' where DeliveryFieldServiceList.DeliveryWayID='''+LTRIM(RTRIM(@DeliveryWayID))+''''
end
if @LogisticsPlaceID !=0
begin
if @sql !=''
set @sql=@sql+' and DeliveryFieldServiceList.LogisticsPlaceID= '''+LTRIM(RTRIM(@LogisticsPlaceID))+''''
else set @sql=' where DeliveryFieldServiceList.LogisticsPlaceID= '''+LTRIM(RTRIM(@LogisticsPlaceID))+''''
end
if @ServeGradeID !=0
begin
if @sql !=''
set @sql=@sql+' and FieldCarServiceList.ServeGradeID= '''+LTRIM(RTRIM(@ServeGradeID))+''''
else set @sql=' where FieldCarServiceList.ServeGradeID= '''+LTRIM(RTRIM(@ServeGradeID))+''''
end
if @DeleteNO !=0
begin
if @sql !=''
set @sql=@sql+' and FieldCarServiceList.DeleteNO=0 '
else set @sql=' where FieldCarServiceList.DeleteNO=0 '
end
exec(' SELECT FieldCarServiceList.DeliveryFieldServiceID, FieldCarServiceList.ServeGradeID, MX_AttributeDetailedList_2.AttributeDetailedName AS ServeGrade, FieldCarServiceList.ServiceManID,
StaffList.StaffName AS ServiceMan, FieldCarServiceList.CarNumber, DeliveryFieldServiceList.LogisticsPlaceID, LogisticsPlaceList.LogisticsPlaceName, DeliveryFieldServiceList.SXMX_AttributeID,
MX_AttributeDetailedList.AttributeDetailedName AS DeliveryNature, DeliveryFieldServiceList.DeliveryWayID, MX_AttributeDetailedList_1.AttributeDetailedName AS DeliveryWay,
FieldCarServiceList.FieldCarServiceID, DeliveryFieldServiceList.FieldWord, DeliveryFieldServiceList.DeliveryFieldServiceID AS DeliveryFieldServiceID2
FROM FieldCarServiceList INNER JOIN
DeliveryFieldServiceList ON FieldCarServiceList.DeliveryFieldServiceID = DeliveryFieldServiceList.DeliveryFieldServiceID INNER JOIN
MX_AttributeDetailedList AS MX_AttributeDetailedList_2 ON FieldCarServiceList.ServeGradeID = MX_AttributeDetailedList_2.MX_AttributeDetailedID INNER JOIN
StaffList ON FieldCarServiceList.ServiceManID = StaffList.StaffID INNER JOIN
LogisticsPlaceList ON DeliveryFieldServiceList.LogisticsPlaceID = LogisticsPlaceList.LogisticsPlaceID INNER JOIN
MX_AttributeDetailedList ON DeliveryFieldServiceList.SXMX_AttributeID = MX_AttributeDetailedList.MX_AttributeDetailedID INNER JOIN
MX_AttributeDetailedList AS MX_AttributeDetailedList_1 ON DeliveryFieldServiceList.DeliveryWayID = MX_AttributeDetailedList_1.MX_AttributeDetailedID
'+@sql)
end
--新增领域台车维护
if @type='InsertFieldCarService'
begin
insert into FieldCarServiceList(DeliveryFieldServiceID,ServeGradeID, ServiceManID, CarNumber,DeleteNo)
values(@LogisticsPlaceID,@ServeGradeID, @ServiceManID, @CarNumber,0)
end
--删除领域台车维护
if @type='DeleteFieldCarService'
begin
update FieldCarServiceList set DeleteNo=1
where FieldCarServiceID=@FieldCarServiceID
end
--修改领域台车维护
if @type='UpdateFieldCarService'
begin
update FieldCarServiceList set CarNumber=@CarNumber
where FieldCarServiceID=@FieldCarServiceID
end
仅供学习,禁止用于商业用途