//汽车使用分队车辆修理年度申请计划上报
MyGridView = Ext.extend(Ext.grid.GridView, {
renderHeaders : function() {
var cm = this.cm, ts = this.templates;
var ct = ts.hcell, ct2 = ts.mhcell,ctm=ts.mhcellm;
var cb = [], sb = [], p = {}, mcb = [],mcbm=[];
for (var i = 0, len = cm.getColumnCount(); i < len; i++) {
p.id = cm.getColumnId(i);
p.value = cm.getColumnHeader(i) || "";
p.style = this.getColumnStyle(i, true);
if (cm.config[i].align == 'right') {
p.istyle = 'padding-right:16px';
}
cb[cb.length] = ct.apply(p);
if (cm.config[i].mtext)
mcb[mcb.length] = ct2.apply({
value : cm.config[i].mtext,
mcols : cm.config[i].mcol,
mwidth : cm.config[i].mwidth
});
if (cm.config[i].mtext)
mcbm[mcbm.length] = ctm.apply({
valuem : cm.config[i].mtextm,
mcolsm : cm.config[i].mcolm,
mwidthm : cm.config[i].mwidthm
});
}
var s = ts.header.apply({
cells : cb.join(""),//显示字段
tstyle : 'width:' + this.getTotalWidth() + ';',
mergecells : mcb.join(""),
mergecellsm : mcbm.join("")
});
return s;
}
});
viewConfig = {
templates : {
header : new Ext.Template(
' <table border="0" cellspacing="0" cellpadding="0" style="{tstyle}">',
' <thead> <tr class="x-grid3-hd-row">{mergecellsm} </tr><tr class="x-grid3-hd-row">{mergecells} </tr>'
+ ' <tr class="x-grid3-hd-row">{cells} </tr> </thead>',
" </table>"),
mhcellm : new Ext.Template(
' <td class="x-grid3-header" colspan="{mcolsm}" style="width:{mwidthm}px;"> <div align="center">{valuem}</div>',
" </td>"),
mhcell : new Ext.Template(
' <td class="x-grid3-header" colspan="{mcols}" style="width:{mwidth}px;"> <div align="center">{value}</div>',
" </td>")
}
};
Ext.onReady(function(){
var record=new Ext.data.Record.create([
{name:'tasksid'},//任务编号
{name:'deptname'},//车属单位
{name:'deptcoding'},//部门编号
{name:'plantime'},//计划时间
{name:'carkindsname'},//车种名
{name:'carkindsid'},//车种id
{name:'motorcyclename'},//车型名
{name:'motorcycleid'},//车型id
{name:'vin'},//车牌号
{name:'vehiclecode'},//车辆编号
{name:'engine'},//发动机号
{name:'framenumber'},//车架号
{name:'hasmileage'},//已行驶里程
{name:'repairmiles'},//大中修里程
{name:'equipmentdate'},//装备日期
{name:'shiyongnianxian'},//使用年限---
{name:'checktime'},//检测时间----
{name:'jiancexingshilicheng'},//检测时行驶里程----
{name:'xiajiangzhi'},//下降值---
{name:'sa1'},//sa1
{name:'l'},//L
{name:'sa2'},//sa2
{name:'daxiu'},//车辆大修
{name:'zhongxiu'},//车辆中修
{name:'fadongji'},//发动机
{name:'biansuqi'},//变速器
{name:'qianqiao'},//前桥
{name:'houqiao'},//后桥
{name:'chejia'},//车架
{name:'chesheng'},//车身
{name:'zxxt'},//转向系统
{name:'zdxt'},//制动系统
{name:'dqxt'},//电气系统
{name:'xiaoxiu'}//车辆小修
]);
var myPageSize=10;
var store = new Ext.data.Store({
proxy : new Ext.data.HttpProxy({
url : "carservice/Repairyear!RepairyearsubmitSelect.action"// 路径
}),
reader : new Ext.data.JsonReader({
totalProperty : 'totalProperty',// 一共有totalPrpperty条数据
root : 'root'// 存储后台数据
}, record),
baseParams : {
start : 0,
limit : myPageSize
},
listeners:{
beforeload: function(store,options ) {
// 分页面查询条件,需自己组织
Ext.apply(store.baseParams,{
'deptcoding':deptcoding_s,
'vin':vin_s,
'plantime':plantime_s,
'motorcycleid':motorcycleid_s,
'carkindsid':carkindsid_s
});
}
}
});
var cm=new Ext.grid.ColumnModel([
{
mtextm: " ",
mtext : " ",
mcol : 1,
mcolm : 1,
mwidth : 60,
mwidthm : 60,
width : 60,
header : "<div align='center'>车属单位</div>" ,
dataIndex : "deptname"
}, {
mtextm : " ",
mtext : " ",
mcolm : 1,
mcol : 1,
mwidthm : 50,
mwidth : 50,
width : 50,
header : "<div align='center'>车种名</div>",
dataIndex : "carkindsname"
}, {
mtextm :" ",
mtext : " ",
mcolm : 1,
mcol : 1,
mwidthm : 50,
mwidth : 50,
width : 50,
header : "<div align='center'>车型名</div>",
dataIndex : "motorcyclename"
},{
mtextm :" ",
mtext : " ",
mcolm : 1,
mcol : 1,
mwidthm : 50,
mwidth : 50,
width : 50,
header : "<div align='center'>车牌号</div>",
dataIndex : "vin"
}, {
mtextm : " ",
mtext : " ",
mcolm : 1,
mcol : 1,
mwidthm : 60,
mwidth : 60,
width : 60,
header : "<div align='center'>发动机号</div>",
dataIndex : "engine"
},{
mtextm : " ",
mtext : " ",
mcolm : 1,
mcol : 1,
mwidthm : 50,
mwidth : 50,
width : 50,
header : "<div align='center'>车架号</div>",
dataIndex : "framenumber"
}, {
mtextm : " ",
mtext : " ",
mcolm : 1,
mcol : 1,
mwidthm : 70,
mwidth : 70,
width : 70,
header : "<div align='center'>已行驶里程</div>",
dataIndex : "hasmileage"
},{
mtextm : " ",
mtext : " ",
mcolm : 1,
mcol : 1,
mwidthm : 80,
mwidth : 80,
width : 80,
header : "<div align='center'>大中修里程</div>",
dataIndex : "repairmiles"
},{
mtextm : " ",
mtext : " ",
mcolm : 1,
mcol : 1,
mwidthm : 60,
mwidth : 60,
width : 60,
header : "<div align='center'>装备时间</div>",
dataIndex : "equipmentdate"
},{
mtextm : " ",
mtext : " ",
mcolm : 1,
mcol : 1,
mwidthm : 60,
mwidth : 60,
width : 60,
header : "<div align='center'>使用年限</div>",
dataIndex : "shiyongnianxian"
},{
mtextm :" " ,
mtext : "<div align='center'>轮边输出功率下降值检测记录</div>",
mcolm : 3,
mcol : 3,
mwidthm : 300,
mwidth : 300,
width : 100,
header : "<div align='center'>检测时间</div>",
dataIndex : "jianceshijian"
},{
width : 100,
header : "<div align='center'>检测时行驶里程</div>",
dataIndex : "jiancexingshilicheng"
},{
width : 100,
header : "<div align='center'>下降值</div>",
dataIndex : "xiajiangzhi"
},{
mtextm : " ",
mtext : " ",
mcolm : 1,
mcol : 1,
mwidthm : 150,
mwidth : 150,
width : 150,
header : "<div align='center'>车辆总行驶里程<br />sa1(公里)</div>",
dataIndex : "sa1"
},{
mtextm : " ",
mtext : " ",
mcolm : 1,
mcol : 1,
mwidthm : 100,
mwidth : 100,
width : 100,
header : "<div align='center'>下年度车公里<br />保障预算L</div>",
dataIndex : "l"
},{
mtextm : " ",
mtext : " ",
mcolm : 1,
mcol : 1,
mwidthm : 130,
mwidth : 130,
width : 130,
header : "<div align='center'>下年度车辆总行驶里程<br />预算SA2(公里)</div>",
dataIndex : "sa2"
},{
mtextm : "下年度车辆修理需求预算(台次)",
mtext : " ",
mcolm : 12,
mcol : 1,
mwidthm : 960,
mwidth : 80,
width : 80,
header : "<div align='center'>车辆大修</div>",
dataIndex : "daxiu"
},{
mtext : " ",
mcol : 1,
mwidth : 80,
width : 80,
header : "<div align='center'>车辆中修</div>",
dataIndex : "zhongxiu"
}, {
mtext : "总成",
mcol : 9,
mwidth : 720,
width : 80,
header : "<div align='center'>发动机</div>",
dataIndex : "fadongji"
},{
width : 80,
header : "<div align='center'>变速器</div>",
dataIndex : "biansuqi"
},{
width : 80,
header : "<div align='center'>前桥</div>",
dataIndex : "qianqiao"
},{
width : 80,
header : "<div align='center'>后桥</div>",
dataIndex : "houqiao"
},{
width : 80,
header : "<div align='center'>车架</div>",
dataIndex : "chejia"
},{
width : 80,
header : "<div align='center'>车身</div>",
dataIndex : "chesheng"
},{
width : 80,
header : "<div align='center'>转向系统</div>",
dataIndex : "zxxt"
},{
width : 80,
header : "<div align='center'>制动系统</div>",
dataIndex : "zdxt"
},{
width : 80,
header : "<div align='center'>电气系统</div>",
dataIndex : "dqxt"
},{
mtext : " ",
mcol : 1,
mwidth : 80,
width : 80,
header : "<div align='center'>车辆小修</div>",
dataIndex : "xiaoxiu"
}
]);
var grid = new Ext.grid.GridPanel({
region:'center',
frame:true,
title:"车辆维修年度任务",
loadMask:true,
autoWidth:true,
viewConfig:{
forceFit:true
},
height:500,
cm:cm,
store:store,
view:new MyGridView(viewConfig),
bbar:new Ext.PagingToolbar({
pageSize:myPageSize,
store:store,
displayInfo:true,
displayMsg:'显示第{0}条到{1}条记录,一共{2}条',
emptyMsg:"没有记录"
}),
buttonAlign:'left',
buttons:[{text:'上报',handler:onReport}]
});
function onReport()
{
var record=grid.getStore().getAt(0);
var jsonArray = [];
if(record==null)
{
Ext.Msg.alert('提示','无信息上报!');
return;
}
jsonArray.push(record.data);
data=Ext.encode(jsonArray);
// alert(data);
Ext.Ajax.request({
url:'carservice/Repairyear!UpReport.action',
params:'json='+data,
customer:'字定义属性',
method:'post',
callback:function(options,success,response)
{
var bo=response.responseText;
if(success)
{
Ext.Msg.alert('提示',bo);
}else
{
Ext.Msg.alert('错误',"请联系管理员!");
}
}
});
}
//查询
var unitedstore = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({url: "carservice/Dept!DeptAll.action"}),
reader: new Ext.data.JsonReader({
root: 'root'
},[
{name: 'deptcoding',type:'string'},
{name: 'deptname',type:'string'}
])
});
unitedstore.load();
var united=new Ext.form.ComboBox({
// id:'',
// name:'',
hiddenName:'deptcodings',
fieldLabel:'单位',
triggerAction:'all', // 单击触发按钮显示全部数据
store:unitedstore, //设置数据源
displayField:'deptname', //定义要显示的字段
valueField:'deptcoding', //定义值字段
mode:'local', //本地模式
width:100,
allowBlank:false,
blankText:'单位必选!',
forceSelection:true, //要求输入值必须在列表中存在
resizable:false, //允许改变下拉列表的大小
typeAhead:true,// 允许自动选择匹配的剩余部分文本
emptyText:'请选择', //默认选择
handleHeight:10//下拉列表中拖动手柄的高度
});
var ptstore = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({url: "carservice/Plan!Yeararray.action"}),
reader: new Ext.data.JsonReader({
root: 'root'
},[
{name: 'timedisplay'},
{name: 'timevalue'}
])
});
ptstore.load();
var plantime=new Ext.form.ComboBox({//下拉框
fieldLabel:'计划时间',
triggerAction:'all', // 单击触发按钮显示全部数据
store:ptstore, //设置数据源
displayField:'timedisplay', //定义要显示的字段
valueField:'timevalue', //定义值字段
mode:'local', //本地模式
width:100,
allowBlank:false,
blankText:'计划时间必选!',
forceSelection:true, //要求输入值必须在列表中存在
resizable:false, //允许改变下拉列表的大小
typeAhead:true,// 允许自动选择匹配的剩余部分文本
emptyText:'请选择',
handleHeight:10//下拉列表中拖动手柄的高度
});
var platenumber=new Ext.form.TextField({
id:'',
name:'vin',
width:100,
fieldLabel:'车牌号'
});
var cxstore = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({url: "carservice/Motorcycle!MotorcycleAll.action"}),
reader: new Ext.data.JsonReader({
root: 'root'
},[
{name: 'motorcyclename',type:'string'},
{name: 'motorcycleid',type:'string'}
])
});
cxstore.load();
var cxing=new Ext.form.ComboBox({//下拉框
fieldLabel:'车型',
triggerAction:'all', // 单击触发按钮显示全部数据
store:cxstore, //设置数据源
displayField:'motorcyclename', //定义要显示的字段
valueField:'motorcycleid', //定义值字段
mode:'local', //本地模式
width:100,
forceSelection:true, //要求输入值必须在列表中存在
resizable:false, //允许改变下拉列表的大小
typeAhead:true,// 允许自动选择匹配的剩余部分文本
emptyText:'请选择',
handleHeight:10//下拉列表中拖动手柄的高度
});
var czstore = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({url: "carservice/Caikinds!CarkindsAll.action"}),
reader: new Ext.data.JsonReader({
root: 'root'
},[
{name: 'carkindsname',type:'string'},
{name: 'carkindsid'}
])
});
czstore.load();
var czhong=new Ext.form.ComboBox({//下拉框
name:'carkindsidcz',
fieldLabel:'车种',
triggerAction:'all', // 单击触发按钮显示全部数据
store:czstore, //设置数据源
displayField:'carkindsname', //定义要显示的字段
valueField:'carkindsid', //定义值字段
mode:'local', //本地模式local 远程模式 remote
width:100,
forceSelection:true, //要求输入值必须在列表中存在
resizable:false, //允许改变下拉列表的大小
typeAhead:true,// 允许自动选择匹配的剩余部分文本
emptyText:'请选择',
handleHeight:10//下拉列表中拖动手柄的高度
});
var form=new Ext.form.FormPanel({
region:'north',
height:145,
frame:true,
items:[{
xtype: 'fieldset',
layout:'column',
title: '选择条件',
items:[
{
layout:'column',
items:[{
layout: 'form',
columnWidth: .33,
labelWidth: 35,
items: [united]
},{
layout: 'form',
columnWidth: .33,
labelWidth: 80,
items: [plantime]
},{
layout: 'form',
columnWidth: .33,
labelWidth: 50,
items: [platenumber]
}]
}, {
layout:'column',
items:[{
layout: 'form',
columnWidth: .33,
labelWidth: 35,
items: [cxing]
},{
layout: 'form',
columnWidth: .33,
labelWidth: 80,
items: [czhong]
}]
}]
}],
buttonAlign:'left',
buttons:[{text:'查 询',width:70,handler:onSelectClick}]
});
var deptcoding_s,vin_s,plantime_s,motorcycleid_s,carkindsid_s;
function onSelectClick()
{
if(!form.getForm().isValid())
{
return;
}
deptcoding_s=''+united.getValue();
vin_s= ''+platenumber.getValue();
plantime_s=''+plantime.getValue();
motorcycleid_s=''+cxing.getValue();
carkindsid_s=''+czhong.getValue();
store.load();
}
var viewport=new Ext.Viewport({
layout:'border',
items:[form,grid]
});
});