You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

431 lines
14 KiB
JavaScript

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

Ext.namespace('DsTruck');
DsTruck.MsWlBulkPcIndex = function (config) {
Ext.applyIf(this, config);
this.initUIComponents();
window.DsTruck.MsWlBulkPcIndex.superclass.constructor.call(this);
};
Ext.extend(DsTruck.MsWlBulkPcIndex, Ext.Panel, {
PageSize: 30,
OprationStatus: null, //仅当弹出界面时使用
SelectedRecord: null,
initUIComponents: function () {
this.formname = "MsWlBulkPc";
//定义数据集
this.storeList = Ext.create('Ext.data.Store', {
pageSize: this.PageSize,
model: 'MsWlPcHead',
remoteSort: true,
proxy: {
type: 'ajax',
url: '/TruckMng/MsWlBulkPc/GetDataList',
reader: {
id: 'BillNo',
root: 'data',
totalProperty: 'totalCount'
}
}
});
//定义Grid
this.column = [
{
sortable: true,
dataIndex: 'BillNo',
header: '单据号',
width: 150
}, {
sortable: true,
dataIndex: 'UserCode',
header: '用户编码',
width: 60
}, {
sortable: true,
dataIndex: 'UserName',
header: '用户姓名',
width: 80
}, {
sortable: true,
dataIndex: 'TruckNo',
header: '车牌号',
width: 160
}, {
sortable: true,
dataIndex: 'DrvName',
header: '司机姓名',
width: 160
}, {
sortable: true,
dataIndex: 'ExpDate',
header: '派车日期',
width: 80
}, {
sortable: true,
dataIndex: 'RatedFuel',
header: '额定油耗',
width: 160
}, {
sortable: true,
dataIndex: 'FuelQty',
header: '本次加油量',
width: 160,
summaryType: 'sum',
summaryRenderer: function (value, summaryData, dataIndex) {
return value;
}
}, {
sortable: true,
dataIndex: 'RealFuel',
header: '实际油耗',
width: 160,
summaryType: 'sum',
summaryRenderer: function (value, summaryData, dataIndex) {
return value;
}
}, {
sortable: true,
dataIndex: 'NoLoadMil',
header: '空驶里程',
width: 160,
summaryType: 'sum',
summaryRenderer: function (value, summaryData, dataIndex) {
return value;
}
}, {
sortable: true,
dataIndex: 'OverLoadMil',
header: '重驶里程',
width: 160,
summaryType: 'sum',
summaryRenderer: function (value, summaryData, dataIndex) {
return value;
}
}, {
sortable: true,
dataIndex: 'TotalMil',
header: '总里程',
width: 160,
summaryType: 'sum',
summaryRenderer: function (value, summaryData, dataIndex) {
return value;
}
}, {
sortable: true,
dataIndex: 'Ton',
header: '运量',
width: 160,
summaryType: 'sum',
summaryRenderer: function (value, summaryData, dataIndex) {
return value;
}
}, {
sortable: true,
dataIndex: 'TransTotal',
header: '运费',
width: 160,
summaryType: 'sum',
summaryRenderer: function (value, summaryData, dataIndex) {
return value;
}
}
],
Ext.grid.RowNumberer = Ext.extend(Ext.grid.RowNumberer, {
width: 50
});
this.gridList = new Ext.grid.GridPanel({
store: this.storeList,
enableHdMenu: false,
region: 'center',
loadMask: { msg: "数据加载中,请稍等..." },
trackMouseOver: true,
disableSelection: false,
columns: this.column,
features: [{
ftype: 'summary'
}],
// paging bar on the bottom
bbar: [Ext.create('Ext.PagingToolbar', {
id: "bbar1",
store: this.storeList,
displayInfo: true,
displayMsg: '当前显示 {0} - {1}条记录 /共 {2}条记录',
emptyMsg: "没有数据"
}), this.Pagenum]
});
/////////////以下部分为获取存储的gridpanel显示样式
this.column = DsTruck.GetGridPanel(USERID, this.formname, this.column);
//使用者id表名 中间column数组
this.column.unshift(new Ext.grid.RowNumberer());
this.gridList.reconfigure(this.storeList, this.column);
this.gridList.addListener('itemdblclick', function (dataview, record, item, index, e, b) {
this.SelectedRecord = record;
this.OprationStatus = 'edit';
DsOpenEditWin('/TruckMng/MsWlBulkPc/Edit');
}, this);
//#region formSearch
//#region formSearch枚举参照相关
//#endregion
this.formSearch = Ext.widget('form', {
frame: true,
region: 'center',
bodyPadding: 5,
fieldDefaults: {
margins: '2 2 2 2',
labelAlign: 'right',
flex: 1,
labelWidth: 90,
msgTarget: 'qtip'
},
items: [
{//fieldset 1
xtype: 'container',
defaultType: 'textfield',
layout: 'anchor',
defaults: {
anchor: '100%'
},
items: [{
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [{
fieldLabel: '单据号',
name: 'BillNo'
}, {
fieldLabel: '从派车日期',
format: 'Y-m-d',
xtype: 'datefield',
name: 'ExpDateBgn'
}, {
fieldLabel: '到派车日期',
format: 'Y-m-d',
xtype: 'datefield',
name: 'ExpDateEnd'
}
]
}, {
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [{
fieldLabel: '车牌号',
name: 'TruckNo'
}, {
fieldLabel: '委托单位代码',
name: 'CustCode'
},
{
fieldLabel: '委托单位',
name: 'CustName'
}
]
}, {
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
anchor: '33.3%',
items: [{
fieldLabel: '组织编码',
name: 'OrgCode'
}
]
}
]//end items(fieldset 1)
}//end fieldset 1
]//end root items
});
//#endregion formSearch
//查询工具条
this.panelBtn = new Ext.Panel({
region: "north",
tbar: [
{
text: "新建",
iconCls: "btnadd",
handler: function (button, event) {
this.OprationStatus = 'add';
DsOpenEditWin('/TruckMng/MsWlBulkPc/Edit');
},
scope: this
},
{
text: "删除",
iconCls: "btndelete",
handler: function (button, event) {
this.onDeleteClick(button, event);
},
scope: this
},
'-',
{
text: "执行查询",
iconCls: "btnrefresh",
handler: function (button, event) {
this.onRefreshClick(button, event);
},
scope: this
},
{
text: "重置条件",
iconCls: "btnreset",
handler: function (button, event) {
this.onResetClick(button, event);
},
scope: this
}, '-', {
text: "导出Excel",
id: "btnExportExcel",
iconCls: 'btnexportexcel',
handler: function (button, event) {
this.onExportClick(button, event);
},
scope: this
}
]
});
this.panelTop = new Ext.Panel({
layout: "border",
region: "north",
height: 135,
items: [this.formSearch, this.panelBtn]
});
Ext.apply(this, {
items: [this.panelTop, this.gridList]
});
this.storeList.on('beforeload', function (store) {
var sql = this.getCondition();
Ext.apply(store.proxy.extraParams, { condition: sql });
}, this);
}, //end initUIComponents
onRefreshClick: function (button, event) {
var sql = this.getCondition();
this.storeList.load({
params: { start: 0, limit: this.PageSize, sort: '', condition: sql },
waitMsg: "正在查询数据...",
scope: this
});
},
onExportClick: function (button, event) {
GridExportExcelPage(this.gridList);
},
onDeleteClick: function (button, event) {
var selections = this.gridList.getSelectionModel().getSelection();
if (selections.length == 0) {
Ext.Msg.show({ title: '提示', msg: '请先选择单据!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
return;
}
var record = selections[0];
if (record.data.JzDate != '') {
Ext.Msg.show({ title: '警告', msg: '单据已记账,不允许删除!', icon: Ext.Msg.WARNING, buttons: Ext.Msg.OK });
return;
}
Ext.MessageBox.confirm('提示', '确定删除该记录吗?', function (btn) {
if (btn == 'yes') {
Ext.Msg.wait('正在删除数据...');
Ext.Ajax.request({
waitMsg: '正在删除数据...',
url: '/TruckMng/MsWlBulkPc/Delete',
params: {
data: Ext.JSON.encode(record.data)
},
callback: function (options, success, response) {
if (success) {
var jsonresult = Ext.JSON.decode(response.responseText);
if (jsonresult.Success) {
this.storeList.remove(record);
Ext.Msg.show({ title: '提示', msg: jsonresult.Message, icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
}
else {
Ext.Msg.show({ title: '错误', msg: jsonresult.Message, icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK });
}
}
},
failure: function (response, options) {
Ext.Msg.show({ title: '警告', msg: '服务器响应出错,请重试', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
},
success: function (response, options) {
},
scope: this
}); //end Ext.Ajax.request
}
}, this);
}, //onDeleteClick
getCondition: function () {
var form = this.formSearch.getForm();
if (!form.isValid()) {
Ext.Msg.alert('提示', '查询条件赋值错误,请检查。');
return '';
}
var sql = '';
var billNo = form.findField('BillNo').getValue();
sql = sql + getAndConSql(sql, billNo, "BillNo = '" + billNo + "'");
var expDateBgn = form.findField('ExpDateBgn').getRawValue();
sql = sql + getAndConSql(sql, expDateBgn, "ExpDate >='" + expDateBgn + "'");
var expDateEnd = form.findField('ExpDateEnd').getRawValue();
sql = sql + getAndConSql(sql, expDateEnd, "ExpDate <='" + expDateEnd + "'");
var truckNo = form.findField('TruckNo').getValue();
sql = sql + getAndConSql(sql, truckNo, "TruckNo = '" + truckNo + "'");
var custCode = form.findField('CustCode').getValue();
sql = sql + getAndConSql(sql, custCode, " BillNo in (select BillNo from tMsWlBulkPound where CustCode = '" + custCode + "')");
var custName = form.findField('CustName').getValue();
sql = sql + getAndConSql(sql, custName, " BillNo in (select BillNo from tMsWlBulkPound where CustName = '" + custName + "')");
var OrgCode = form.findField('OrgCode').getValue();
sql = sql + getAndConSql(sql, OrgCode, "OrgCode like '%" + OrgCode + "%'");
return sql;
},
OprationSwap: function () {
var ret = new Array();
ret[0] = this.OprationStatus;
ret[1] = this.storeList;
ret[2] = this.SelectedRecord;
return ret;
},
onResetClick: function (button, event) {
this.formSearch.getForm().reset();
}
});