|
|
|
|
//集运管理-路单查询
|
|
|
|
|
Ext.namespace('DsTruckRpt');
|
|
|
|
|
|
|
|
|
|
DsTruckRpt.MsRptPcHeadQryIndex = function (config) {
|
|
|
|
|
Ext.applyIf(this, config);
|
|
|
|
|
this.initUIComponents();
|
|
|
|
|
window.DsTruckRpt.MsRptPcHeadQryIndex.superclass.constructor.call(this);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
Ext.extend(DsTruckRpt.MsRptPcHeadQryIndex, Ext.Panel, {
|
|
|
|
|
PageSize: 30,
|
|
|
|
|
OprationStatus: null, //仅当弹出界面时使用
|
|
|
|
|
SelectedRecord: null,
|
|
|
|
|
|
|
|
|
|
initUIComponents: function () {
|
|
|
|
|
//定义数据集
|
|
|
|
|
this.storeList = Ext.create('Ext.data.Store', {
|
|
|
|
|
pageSize: this.PageSize,
|
|
|
|
|
fields: [
|
|
|
|
|
{ name: 'BILLNO', type: 'string' },
|
|
|
|
|
{ name: 'GID', type: 'string' },
|
|
|
|
|
{ name: 'DDCODE', type: 'string' },
|
|
|
|
|
{ name: 'DDCODE_REF', type: 'string' },
|
|
|
|
|
{ name: 'DDNAME', type: 'string' },
|
|
|
|
|
{ name: 'EXPDATE', type: 'string' },
|
|
|
|
|
{ name: 'CUSTCODE', type: 'string' },
|
|
|
|
|
{ name: 'CUSTNAME', type: 'string' },
|
|
|
|
|
{ name: 'TRUCKNO', type: 'string' },
|
|
|
|
|
{ name: 'MBLNO', type: 'string' },
|
|
|
|
|
{ name: 'DRVNAME', type: 'string' },
|
|
|
|
|
{ name: 'DRVNAME_REF', type: 'string' },
|
|
|
|
|
{ name: 'MOBILE', type: 'string' },
|
|
|
|
|
{ name: 'CONTAINERTYPE', type: 'string' },
|
|
|
|
|
{ name: 'CONTAINERTYPE_REF', type: 'string' },
|
|
|
|
|
{ name: 'CONTAINERQTY', type: 'number' },
|
|
|
|
|
{ name: 'YARDCODE_REF', type: 'string' },
|
|
|
|
|
{ name: 'VOYVEG_REF', type: 'string' },
|
|
|
|
|
{ name: 'DSTAREA', type: 'string' },
|
|
|
|
|
{ name: 'NOLOADMIL', type: 'number' },
|
|
|
|
|
{ name: 'OVERLOADMIL', type: 'number' },
|
|
|
|
|
{ name: 'RATEDFUEL', type: 'number' },
|
|
|
|
|
{ name: 'REALFUEL', type: 'number' },
|
|
|
|
|
{ name: 'LRDATE', type: 'string' },
|
|
|
|
|
{ name: 'USERCODE', type: 'string' },
|
|
|
|
|
{ name: 'USERNAME', type: 'string' },
|
|
|
|
|
{ name: 'REFBILLNO', type: 'string' },
|
|
|
|
|
{ name: 'DETINATION', type: 'string' },
|
|
|
|
|
{ name: 'CONTAINERNO', type: 'string' },
|
|
|
|
|
{ name: 'SEALNO', type: 'string' },
|
|
|
|
|
{ name: 'Ton', type: 'number' },
|
|
|
|
|
{ name: 'ActualWeight', type: 'number' },
|
|
|
|
|
{ name: 'IsDoubleREF', type: 'string' }
|
|
|
|
|
//#region 现在不显示了
|
|
|
|
|
|
|
|
|
|
// { name: 'JZDATE', type: 'string' },
|
|
|
|
|
//
|
|
|
|
|
// { name: 'ORGCODE', type: 'string' },
|
|
|
|
|
// { name: 'ORGNAME', type: 'string' },
|
|
|
|
|
//
|
|
|
|
|
// { name: 'TRUCKNO_REF', type: 'string' },
|
|
|
|
|
//
|
|
|
|
|
// { name: 'CONTAINERQTY', type: 'number' },
|
|
|
|
|
// { name: 'VOYVEG', type: 'string' },
|
|
|
|
|
// { name: 'VOYVEG_REF', type: 'string' },
|
|
|
|
|
// { name: 'ETDATE', type: 'string' },
|
|
|
|
|
// { name: 'ENDPORTDATE', type: 'string' },
|
|
|
|
|
//
|
|
|
|
|
// { name: 'YARDCODE', type: 'string' },
|
|
|
|
|
// { name: 'YARDCODE_REF', type: 'string' },
|
|
|
|
|
// { name: 'YARDNAME', type: 'string' },
|
|
|
|
|
// { name: 'RTNYARDCODE', type: 'string' },
|
|
|
|
|
// { name: 'RTNYARDCODE_REF', type: 'string' },
|
|
|
|
|
// { name: 'RTNYARDNAME', type: 'string' },
|
|
|
|
|
// { name: 'BSTYPE', type: 'string' },
|
|
|
|
|
// { name: 'BSTYPE_REF', type: 'string' },
|
|
|
|
|
//
|
|
|
|
|
//
|
|
|
|
|
// { name: 'FACTORYADDR', type: 'string' },
|
|
|
|
|
// { name: 'LINKTEL', type: 'string' },
|
|
|
|
|
// { name: 'LINKMAN', type: 'string' },
|
|
|
|
|
// { name: 'RATEDMIL', type: 'number' },
|
|
|
|
|
//
|
|
|
|
|
// { name: 'FUELQTY', type: 'number' },
|
|
|
|
|
// { name: 'REALMIL', type: 'number' },
|
|
|
|
|
//
|
|
|
|
|
//
|
|
|
|
|
// { name: 'TON', type: 'number' },
|
|
|
|
|
// { name: 'AROUNDTON', type: 'number' },
|
|
|
|
|
// { name: 'LOADCOUNT', type: 'number' },
|
|
|
|
|
// { name: 'ARRIVEDATE', type: 'string' },
|
|
|
|
|
//
|
|
|
|
|
// { name: 'RETURNDATE', type: 'string' },
|
|
|
|
|
// { name: 'REFBILLNO', type: 'string' },
|
|
|
|
|
// { name: 'REMARK', type: 'string' },
|
|
|
|
|
// { name: 'ISDOUBLE', type: 'string' },
|
|
|
|
|
// { name: 'REFBILLNOSE', type: 'string' },
|
|
|
|
|
// { name: 'CONTAINERTYPESE', type: 'string' },
|
|
|
|
|
// { name: 'CONTAINERTYPESE_Ref', type: 'string' },
|
|
|
|
|
// { name: 'CONTAINERQTYSE', type: 'number' },
|
|
|
|
|
// { name: 'MBLNOSE', type: 'string' },
|
|
|
|
|
// { name: 'VOYVEGSE', type: 'string' },
|
|
|
|
|
// { name: 'VOYVEGSE_REF', type: 'string' },
|
|
|
|
|
// { name: 'ETDATESE', type: 'string' },
|
|
|
|
|
// { name: 'ENDPORTDATESE', type: 'string' },
|
|
|
|
|
// { name: 'YARDCODESE', type: 'string' },
|
|
|
|
|
// { name: 'YARDCODESE_Ref', type: 'string' },
|
|
|
|
|
// { name: 'YARDNAMESE', type: 'string' },
|
|
|
|
|
// { name: 'DSTAREASE', type: 'string' },
|
|
|
|
|
// { name: 'FACTORYADDRSE', type: 'string' },
|
|
|
|
|
// { name: 'DETINATIONSE', type: 'string' },
|
|
|
|
|
// { name: 'LINKMANSE', type: 'string' },
|
|
|
|
|
// { name: 'LINKTELSE', type: 'string' },
|
|
|
|
|
// { name: 'RTNYARDCODESE', type: 'string' },
|
|
|
|
|
// { name: 'RTNYARDCODESE_REF', type: 'string' },
|
|
|
|
|
// { name: 'RTNYARDNAMESE', type: 'string' },
|
|
|
|
|
// { name: 'BILLSTATUS', type: 'string' },
|
|
|
|
|
// { name: 'BILLSTATUS_REF', type: 'string' },
|
|
|
|
|
// { name: 'FEESTATUS', type: 'string' },
|
|
|
|
|
// { name: 'FEESTATUS_REF', type: 'string' },
|
|
|
|
|
//
|
|
|
|
|
// { name: 'TOTALMIL', type: 'number' },
|
|
|
|
|
// { name: 'TIMEMARK', type: 'number' },
|
|
|
|
|
// { name: 'PCBILLTYPE', type: 'string' },
|
|
|
|
|
// { name: 'LOADPLACE', type: 'string' },
|
|
|
|
|
// { name: 'LOADFUEL', type: 'number' },
|
|
|
|
|
// { name: 'NOLOADFUEL', type: 'number' },
|
|
|
|
|
// { name: 'RPTDATE', type: 'string' },
|
|
|
|
|
//// { name: 'NEADLOADDATE', type: 'string' },
|
|
|
|
|
//// { name: 'NEEDARRIVEDATE', type: 'string' },
|
|
|
|
|
// { name: 'ARRIVETIME', type: 'string' },
|
|
|
|
|
// { name: 'RETURNTIME', type: 'string' },
|
|
|
|
|
// { name: 'CUSTLIKEMANCODE', type: 'string' },
|
|
|
|
|
// { name: 'CUSTLIKEMANNAME', type: 'string' },
|
|
|
|
|
// { name: 'CUSTTEL', type: 'string' },
|
|
|
|
|
// { name: 'DRVCODE', type: 'string' }
|
|
|
|
|
//#endregion
|
|
|
|
|
|
|
|
|
|
],
|
|
|
|
|
remoteSort: true,
|
|
|
|
|
proxy: {
|
|
|
|
|
type: 'ajax',
|
|
|
|
|
url: '/TruckMng/MsRptPcHeadQry/QryData',
|
|
|
|
|
reader: {
|
|
|
|
|
id: '',
|
|
|
|
|
root: 'data',
|
|
|
|
|
totalProperty: 'totalCount'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
this.PCCB = Ext.create('Ext.selection.CheckboxModel', { checkOnly: true });
|
|
|
|
|
Ext.grid.RowNumberer = Ext.extend(Ext.grid.RowNumberer, {
|
|
|
|
|
width: 45
|
|
|
|
|
});
|
|
|
|
|
//定义Grid
|
|
|
|
|
this.gridList = new Ext.grid.GridPanel({
|
|
|
|
|
store: this.storeList,
|
|
|
|
|
enableHdMenu: false,
|
|
|
|
|
region: 'center',
|
|
|
|
|
loadMask: { msg: "数据加载中,请稍等..." },
|
|
|
|
|
trackMouseOver: true,
|
|
|
|
|
disableSelection: false,
|
|
|
|
|
features: [{
|
|
|
|
|
ftype: 'summary'//Ext.grid.feature.Summary表格汇总特性
|
|
|
|
|
}],
|
|
|
|
|
selModel: this.PCCB,
|
|
|
|
|
columns: [new Ext.grid.RowNumberer(), {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'BILLNO',
|
|
|
|
|
header: '路单号',
|
|
|
|
|
width: 130
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'DDCODE_REF',
|
|
|
|
|
header: '调度',
|
|
|
|
|
width: 100
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'EXPDATE',
|
|
|
|
|
header: '派车日期',
|
|
|
|
|
width: 70
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true, hidden: true,
|
|
|
|
|
dataIndex: 'CUSTNAME',
|
|
|
|
|
header: '客户',
|
|
|
|
|
//summaryType: 'count',
|
|
|
|
|
width: 120
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'TRUCKNO',
|
|
|
|
|
header: '车号',
|
|
|
|
|
//summaryType: 'count',
|
|
|
|
|
width: 65
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'MBLNO',
|
|
|
|
|
header: '提单号',
|
|
|
|
|
//summaryType: 'count',
|
|
|
|
|
width: 120
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'DRVNAME',
|
|
|
|
|
header: '司机姓名',
|
|
|
|
|
width: 65
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'MOBILE',
|
|
|
|
|
header: '司机手机',
|
|
|
|
|
width: 76
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'CONTAINERTYPE_REF',
|
|
|
|
|
header: '箱型',
|
|
|
|
|
width: 50
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'CONTAINERQTY',
|
|
|
|
|
header: '箱量',
|
|
|
|
|
summaryType: 'sum',
|
|
|
|
|
width: 50
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'YARDCODE_REF',
|
|
|
|
|
header: '场站',
|
|
|
|
|
width: 150
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'VOYVEG_REF',
|
|
|
|
|
header: '船名航次',
|
|
|
|
|
width: 150
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'DSTAREA',
|
|
|
|
|
header: '目的地',
|
|
|
|
|
width: 80
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'DETINATION',
|
|
|
|
|
header: '工厂地址',
|
|
|
|
|
width: 200
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'OVERLOADMIL',
|
|
|
|
|
header: '重驶里程',
|
|
|
|
|
summaryType: 'sum',
|
|
|
|
|
width: 60
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'NOLOADMIL',
|
|
|
|
|
header: '空驶里程',
|
|
|
|
|
summaryType: 'sum',
|
|
|
|
|
width: 60
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'Ton',
|
|
|
|
|
header: '货重(吨)',
|
|
|
|
|
summaryType: 'average',
|
|
|
|
|
width: 60
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'ActualWeight',
|
|
|
|
|
header: '实际重量',
|
|
|
|
|
summaryType: 'average',
|
|
|
|
|
width: 60
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'RATEDFUEL',
|
|
|
|
|
header: '额定油耗',
|
|
|
|
|
summaryType: 'sum',
|
|
|
|
|
width: 60
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'REALFUEL',
|
|
|
|
|
header: '实际油耗',
|
|
|
|
|
summaryType: 'sum',
|
|
|
|
|
width: 60
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'IsDoubleREF',
|
|
|
|
|
header: '是否重回',
|
|
|
|
|
width: 60
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'USERNAME',
|
|
|
|
|
header: '录入人',
|
|
|
|
|
width: 60
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'LRDATE',
|
|
|
|
|
header: '录入日期',
|
|
|
|
|
width: 80
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'CONTAINERNO',
|
|
|
|
|
header: '箱号',
|
|
|
|
|
width: 80
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'SEALNO',
|
|
|
|
|
header: '封号',
|
|
|
|
|
width: 80
|
|
|
|
|
}
|
|
|
|
|
//#region 现在不显示了
|
|
|
|
|
// , {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'DDCODE',
|
|
|
|
|
// header: '调度',
|
|
|
|
|
// width: 60
|
|
|
|
|
// }
|
|
|
|
|
// , {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'USERCODE',
|
|
|
|
|
// header: '用户编码',
|
|
|
|
|
// width: 60
|
|
|
|
|
// }
|
|
|
|
|
// , {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'YARDCODE',
|
|
|
|
|
// header: '拖箱场站',
|
|
|
|
|
// renderer: function (value, p, record) { return value + '-' + record.data.YARDCODE_Ref; },
|
|
|
|
|
// width: 80
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'YARDNAME',
|
|
|
|
|
// header: '拖箱场站名称',
|
|
|
|
|
// width: 80
|
|
|
|
|
// }
|
|
|
|
|
// , {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'ORGCODE',
|
|
|
|
|
// header: '组织编码',
|
|
|
|
|
// width: 80
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'CONTAINERQTY',
|
|
|
|
|
// header: '箱量',
|
|
|
|
|
// width: 100
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'ETDATE',
|
|
|
|
|
// header: '开船日期',
|
|
|
|
|
// width: 80
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'ENDPORTDATE',
|
|
|
|
|
// header: '截港日期',
|
|
|
|
|
// width: 80
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'RTNYARDCODE',
|
|
|
|
|
// header: '返箱场站',
|
|
|
|
|
// renderer: function (value, p, record) { return value + '-' + record.data.RTNYARDCODE_Ref; },
|
|
|
|
|
// width: 80
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'RTNYARDNAME',
|
|
|
|
|
// header: '返箱场站名称',
|
|
|
|
|
// width: 80
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'BSTYPE',
|
|
|
|
|
// header: '托单类型',
|
|
|
|
|
// renderer: function (value, p, record) { return value + '-' + record.data.BSTYPE_Ref; },
|
|
|
|
|
// width: 20
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'FACTORYADDR',
|
|
|
|
|
// header: '拖货地址',
|
|
|
|
|
// width: 200
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'LINKTEL',
|
|
|
|
|
// header: '联系电话',
|
|
|
|
|
// width: 200
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'LINKMAN',
|
|
|
|
|
// header: '联系人',
|
|
|
|
|
// width: 200
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'RATEDMIL',
|
|
|
|
|
// header: '额定里程',
|
|
|
|
|
// width: 160
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'REALMIL',
|
|
|
|
|
// header: '实际里程',
|
|
|
|
|
// width: 160
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'ARRIVEDATE',
|
|
|
|
|
// header: '到厂日期',
|
|
|
|
|
// width: 80
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'RETURNDATE',
|
|
|
|
|
// header: '返回日期',
|
|
|
|
|
// width: 80
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'REFBILLNO',
|
|
|
|
|
// header: '相关单据号',
|
|
|
|
|
// width: 200
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'REMARK',
|
|
|
|
|
// header: '备注',
|
|
|
|
|
// width: 200
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'ISDOUBLE',
|
|
|
|
|
// header: '是否双背',
|
|
|
|
|
// width: 20
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'REFBILLNOSE',
|
|
|
|
|
// header: '相关单据号2',
|
|
|
|
|
// width: 200
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'CONTAINERTYPESE',
|
|
|
|
|
// header: '箱型2',
|
|
|
|
|
// renderer: function (value, p, record) { return value + '-' + record.data.CONTAINERTYPESE_Ref; },
|
|
|
|
|
// width: 200
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'CONTAINERQTYSE',
|
|
|
|
|
// header: '箱量2',
|
|
|
|
|
// width: 100
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'MBLNOSE',
|
|
|
|
|
// header: '提单号2',
|
|
|
|
|
// width: 120
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'VOYVEGSE',
|
|
|
|
|
// header: '船名航次2',
|
|
|
|
|
// renderer: function (value, p, record) { return value + '-' + record.data.VOYVEGSE_Ref; },
|
|
|
|
|
// width: 80
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'ETDATESE',
|
|
|
|
|
// header: '开船日期2',
|
|
|
|
|
// width: 80
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'ENDPORTDATESE',
|
|
|
|
|
// header: '截港日期2',
|
|
|
|
|
// width: 80
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'YARDCODESE',
|
|
|
|
|
// header: '场站编码2',
|
|
|
|
|
// renderer: function (value, p, record) { return value + '-' + record.data.YARDCODESE_Ref; },
|
|
|
|
|
// width: 80
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'YARDNAMESE',
|
|
|
|
|
// header: '场站名称2',
|
|
|
|
|
// width: 80
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'DSTAREASE',
|
|
|
|
|
// header: '目的地2',
|
|
|
|
|
// width: 80
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'FACTORYADDRSE',
|
|
|
|
|
// header: '拖货地址2',
|
|
|
|
|
// width: 200
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'DETINATIONSE',
|
|
|
|
|
// header: '工厂地址2',
|
|
|
|
|
// width: 200
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'LINKMANSE',
|
|
|
|
|
// header: '联系人2',
|
|
|
|
|
// width: 200
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'LINKTELSE',
|
|
|
|
|
// header: '联系电话2',
|
|
|
|
|
// width: 200
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'RTNYARDCODESE',
|
|
|
|
|
// header: '返箱场站2',
|
|
|
|
|
// renderer: function (value, p, record) { return value + '-' + record.data.RTNYARDCODESE_Ref; },
|
|
|
|
|
// width: 80
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'RTNYARDNAMESE',
|
|
|
|
|
// header: '返箱场站名称2',
|
|
|
|
|
// width: 80
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'BILLSTATUS',
|
|
|
|
|
// header: '业务锁定状态',
|
|
|
|
|
// renderer: function (value, p, record) { return value + '-' + record.data.BILLSTATUS_Ref; },
|
|
|
|
|
// width: 120
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'FEESTATUS',
|
|
|
|
|
// header: '费用锁定状态',
|
|
|
|
|
// renderer: function (value, p, record) { return value + '-' + record.data.FEESTATUS_Ref; },
|
|
|
|
|
// width: 120
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'GID',
|
|
|
|
|
// header: '惟一编号',
|
|
|
|
|
// width: 160
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'LOADPLACE',
|
|
|
|
|
// header: '始发地点',
|
|
|
|
|
// width: 80
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'LOADFUEL',
|
|
|
|
|
// header: '重驶油耗',
|
|
|
|
|
// width: 160
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'NOLOADFUEL',
|
|
|
|
|
// header: '空驶油耗',
|
|
|
|
|
// width: 160
|
|
|
|
|
// }
|
|
|
|
|
// , {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'RPTDATE',
|
|
|
|
|
// header: '报表日期',
|
|
|
|
|
// width: 80
|
|
|
|
|
// }
|
|
|
|
|
//// , {
|
|
|
|
|
//// sortable: true,
|
|
|
|
|
//// dataIndex: 'NEADLOADDATE',
|
|
|
|
|
//// header: '要求起运日期',
|
|
|
|
|
//// width: 80
|
|
|
|
|
//// }, {
|
|
|
|
|
//// sortable: true,
|
|
|
|
|
//// dataIndex: 'NEEDARRIVEDATE',
|
|
|
|
|
//// header: '要求到达日期',
|
|
|
|
|
//// width: 80
|
|
|
|
|
//// }
|
|
|
|
|
// , {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'ARRIVETIME',
|
|
|
|
|
// header: '到厂时间',
|
|
|
|
|
// width: 80
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'RETURNTIME',
|
|
|
|
|
// header: '返回时间',
|
|
|
|
|
// width: 80
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'CUSTLIKEMANCODE',
|
|
|
|
|
// header: '客户联系人',
|
|
|
|
|
// width: 120
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'CUSTLIKEMANNAME',
|
|
|
|
|
// header: '客户联系人姓名',
|
|
|
|
|
// width: 120
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'CUSTTEL',
|
|
|
|
|
// header: '客户联系电话',
|
|
|
|
|
// width: 160
|
|
|
|
|
// }, {
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// dataIndex: 'DRVCODE',
|
|
|
|
|
// header: '驾驶员编码',
|
|
|
|
|
// width: 60
|
|
|
|
|
// }
|
|
|
|
|
//#endregion
|
|
|
|
|
],
|
|
|
|
|
// paging bar on the bottom
|
|
|
|
|
bbar: Ext.create('Ext.PagingToolbar', {
|
|
|
|
|
store: this.storeList,
|
|
|
|
|
displayInfo: true,
|
|
|
|
|
displayMsg: '当前显示 {0} - {1}条记录 /共 {2}条记录',
|
|
|
|
|
emptyMsg: "没有数据"
|
|
|
|
|
})
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
this.gridList.addListener('itemdblclick', function (dataview, record, item, index, e, b) {
|
|
|
|
|
this.SelectedRecord = record;
|
|
|
|
|
this.OprationStatus = 'edit';
|
|
|
|
|
DsOpenEditWin("/TruckMng/MsWlPc/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: 'PS_MBLNO'
|
|
|
|
|
}, {
|
|
|
|
|
fieldLabel: '司机姓名',
|
|
|
|
|
name: 'PS_DRVNAME'
|
|
|
|
|
}, {
|
|
|
|
|
fieldLabel: '车牌号',
|
|
|
|
|
name: 'PS_TRUCKNO'
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}, {
|
|
|
|
|
xtype: 'container',
|
|
|
|
|
layout: 'hbox',
|
|
|
|
|
defaultType: 'textfield',
|
|
|
|
|
items: [{
|
|
|
|
|
fieldLabel: '托单号',
|
|
|
|
|
name: 'PS_REFBILLNO'
|
|
|
|
|
}, {
|
|
|
|
|
fieldLabel: '单据号',
|
|
|
|
|
name: 'PS_BILLNO'
|
|
|
|
|
}, {
|
|
|
|
|
fieldLabel: '组织编码',
|
|
|
|
|
name: 'OrgCode'
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}, {
|
|
|
|
|
xtype: 'container',
|
|
|
|
|
layout: 'hbox',
|
|
|
|
|
defaultType: 'textfield',
|
|
|
|
|
items: [{
|
|
|
|
|
fieldLabel: '从派车日期',
|
|
|
|
|
format: 'Y-m-d',
|
|
|
|
|
xtype: 'datefield',
|
|
|
|
|
name: 'PS_EXPDATEBGN'
|
|
|
|
|
}, {
|
|
|
|
|
fieldLabel: '到派车日期',
|
|
|
|
|
format: 'Y-m-d',
|
|
|
|
|
xtype: 'datefield',
|
|
|
|
|
name: 'PS_EXPDATEEND'
|
|
|
|
|
}, { xtype: 'hiddenfield' }
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
]//end items(fieldset 1)
|
|
|
|
|
}//end fieldset 1
|
|
|
|
|
]//end root items
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//#endregion formSearch
|
|
|
|
|
|
|
|
|
|
//设定费用菜单
|
|
|
|
|
var menu_SetFee = new Ext.menu.Menu({
|
|
|
|
|
id: 'PriceMenu',
|
|
|
|
|
items: [{
|
|
|
|
|
text: '设定超重费用',
|
|
|
|
|
handler: clickHandler_1
|
|
|
|
|
}, {
|
|
|
|
|
text: '超重费用取消',
|
|
|
|
|
handler: clickHandler_2
|
|
|
|
|
}, {
|
|
|
|
|
text: '设定重回额外费用',
|
|
|
|
|
handler: clickHandler_3
|
|
|
|
|
}, {
|
|
|
|
|
text: '重回额外费用取消',
|
|
|
|
|
handler: clickHandler_4
|
|
|
|
|
}]
|
|
|
|
|
});
|
|
|
|
|
me = this;
|
|
|
|
|
function clickHandler_1() {
|
|
|
|
|
me.SetFee("超重费", "150", "1");
|
|
|
|
|
};
|
|
|
|
|
function clickHandler_2() {
|
|
|
|
|
me.SetFee("超重费", "150", "0");
|
|
|
|
|
};
|
|
|
|
|
function clickHandler_3() {
|
|
|
|
|
me.SetFee("双背附加费", "600", "1");
|
|
|
|
|
};
|
|
|
|
|
function clickHandler_4() {
|
|
|
|
|
me.SetFee("双背附加费", "600", "0");
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//查询工具条
|
|
|
|
|
this.panelBtn = new Ext.Panel({
|
|
|
|
|
region: "north",
|
|
|
|
|
tbar: [
|
|
|
|
|
{
|
|
|
|
|
text: "执行查询",
|
|
|
|
|
iconCls: "btnrefresh",
|
|
|
|
|
handler: function (button, event) {
|
|
|
|
|
this.onRefreshClick(button, event);
|
|
|
|
|
},
|
|
|
|
|
scope: this
|
|
|
|
|
}, {
|
|
|
|
|
text: "导出Excel",
|
|
|
|
|
id: "btnExportExcel",
|
|
|
|
|
iconCls: 'btnexportexcel',
|
|
|
|
|
handler: function (button, event) {
|
|
|
|
|
this.onExportClick(button, event);
|
|
|
|
|
},
|
|
|
|
|
scope: this
|
|
|
|
|
}, '-', { text: "批量设置费用", menu: menu_SetFee, scope: this }
|
|
|
|
|
, '-', {
|
|
|
|
|
id: "btnFeeAuditReject",
|
|
|
|
|
text: '驳回提交费用业务',
|
|
|
|
|
tooltip: '驳回提交费用业务',
|
|
|
|
|
iconCls: "btnrefuse",
|
|
|
|
|
handler: function (button, event) {
|
|
|
|
|
this.onAuditRefuseClick(button, event);
|
|
|
|
|
},
|
|
|
|
|
scope: this
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//布局
|
|
|
|
|
|
|
|
|
|
this.panelTop = new Ext.Panel({
|
|
|
|
|
layout: "border",
|
|
|
|
|
region: "north",
|
|
|
|
|
height: 125,
|
|
|
|
|
items: [this.formSearch, this.panelBtn]
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
Ext.apply(this, {
|
|
|
|
|
items: [this.panelTop, this.gridList]
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
this.storeList.on('beforeload', function (store) {
|
|
|
|
|
if (!this.checkSearchCondition())
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
var sql = this.getCondition();
|
|
|
|
|
Ext.apply(store.proxy.extraParams, { condition: sql });
|
|
|
|
|
}, this);
|
|
|
|
|
|
|
|
|
|
}, //end initUIComponents
|
|
|
|
|
onAuditRefuseClick: function (button, event) {
|
|
|
|
|
|
|
|
|
|
var sql = " A.GID in (select bsno from ch_fee where FEESTATUS=6)";
|
|
|
|
|
|
|
|
|
|
this.storeList.load({
|
|
|
|
|
params: { start: 0, limit: this.PageSize, condition: sql },
|
|
|
|
|
waitMsg: "正在查询数据...",
|
|
|
|
|
scope: this
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
onRefreshClick: function (button, event) {
|
|
|
|
|
if (!this.checkSearchCondition())
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
var sql = this.getCondition();
|
|
|
|
|
|
|
|
|
|
this.storeList.load({
|
|
|
|
|
params: { start: 0, limit: this.PageSize, condition: sql },
|
|
|
|
|
waitMsg: "正在查询数据...",
|
|
|
|
|
scope: this
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
getCondition: function () {
|
|
|
|
|
var form = this.formSearch.getForm();
|
|
|
|
|
var sql = "B.CustName like '%华泰%'"; // a.PcBillType='6'
|
|
|
|
|
/*
|
|
|
|
|
var sqldata = form.getValues();
|
|
|
|
|
sql = Ext.JSON.encode(sqldata);
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
var mblNo = form.findField('PS_MBLNO').getValue();
|
|
|
|
|
sql = sql + getAndConSql(sql, mblNo, " A.MblNo like '%" + mblNo + "%' ");
|
|
|
|
|
|
|
|
|
|
var drvName = form.findField('PS_DRVNAME').getValue();
|
|
|
|
|
sql = sql + getAndConSql(sql, drvName, " A.DrvName='" + drvName + "'");
|
|
|
|
|
|
|
|
|
|
var truckNo = form.findField('PS_TRUCKNO').getValue();
|
|
|
|
|
sql = sql + getAndConSql(sql, truckNo, " A.TruckNo='" + truckNo + "'");
|
|
|
|
|
|
|
|
|
|
var pcBillNo = form.findField('PS_BILLNO').getValue();
|
|
|
|
|
sql = sql + getAndConSql(sql, pcBillNo, " A.BillNo like '%" + pcBillNo + "%'");
|
|
|
|
|
|
|
|
|
|
var billNo = form.findField('PS_REFBILLNO').getValue();
|
|
|
|
|
sql = sql + getAndConSql(sql, billNo, " (A.RefBillNo like '%" + billNo + "%' or A.RefBillNobs like '%" + billNo + "%')");
|
|
|
|
|
|
|
|
|
|
var expDate_Min = form.findField('PS_EXPDATEBGN').getRawValue();
|
|
|
|
|
sql = sql + getAndConSql(sql, expDate_Min, " A.ExpDate>='" + expDate_Min + "'");
|
|
|
|
|
|
|
|
|
|
var expDate_Max = form.findField('PS_EXPDATEEND').getRawValue();
|
|
|
|
|
sql = sql + getAndConSql(sql, expDate_Max, " A.ExpDate<='" + expDate_Max + " 23:59:59'");
|
|
|
|
|
|
|
|
|
|
var orgCode = form.findField('OrgCode').getValue();
|
|
|
|
|
sql = sql + getAndConSql(sql, orgCode, "OrgCode like '%" + orgCode + "%'");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return sql;
|
|
|
|
|
},
|
|
|
|
|
checkSearchCondition: function () {
|
|
|
|
|
var form = this.formSearch.getForm();
|
|
|
|
|
if (!form.isValid()) {
|
|
|
|
|
Ext.Msg.alert('提示', '查询条件赋值错误,请检查。');
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
},
|
|
|
|
|
OprationSwap: function () {
|
|
|
|
|
var ret = new Array();
|
|
|
|
|
ret[0] = this.OprationStatus;
|
|
|
|
|
ret[1] = this.storeList;
|
|
|
|
|
ret[2] = this.SelectedRecord;
|
|
|
|
|
ret[3] = this.SelectedRecord.data.REFBILLNO;
|
|
|
|
|
ret[4] = "MsRptPcHeadQryIndex";
|
|
|
|
|
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
,
|
|
|
|
|
onExportClick: function (button, event) {
|
|
|
|
|
GridExportExcelPage(this.gridList);
|
|
|
|
|
},
|
|
|
|
|
SetFee: function (FeeName, Amount, Type) {
|
|
|
|
|
var _condition = this.getCondition();
|
|
|
|
|
|
|
|
|
|
var GIDList = [];
|
|
|
|
|
var selectedRecords = this.gridList.selModel.getSelection();
|
|
|
|
|
for (var i = 0; i < selectedRecords.length; i++) {
|
|
|
|
|
var rec = selectedRecords[i];
|
|
|
|
|
GIDList.push(rec.get('GID'));
|
|
|
|
|
}
|
|
|
|
|
var _GIDList = ConvertStringListToJson(GIDList);
|
|
|
|
|
|
|
|
|
|
Ext.Ajax.request({//
|
|
|
|
|
waitMsg: '正在初始化库存数据...',
|
|
|
|
|
url: '/TruckMng/MsRptPcHeadQry/SetFee',
|
|
|
|
|
params: {
|
|
|
|
|
GIDList: _GIDList,
|
|
|
|
|
FeeName: FeeName,
|
|
|
|
|
Amount: Amount,
|
|
|
|
|
Type: Type
|
|
|
|
|
},
|
|
|
|
|
callback: function (_count) {
|
|
|
|
|
//alert('初始化完成');
|
|
|
|
|
//重新load库存表的store
|
|
|
|
|
this.storeList.load({ params: { condition: _condition} });
|
|
|
|
|
},
|
|
|
|
|
scope: this
|
|
|
|
|
}); //request over
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|