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.

979 lines
37 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.MsWlBsNewIndex = function (config) {
Ext.applyIf(this, config);
this.initUIComponents();
window.DsTruck.MsWlBsNewIndex.superclass.constructor.call(this);
};
Ext.extend(DsTruck.MsWlBsNewIndex, Ext.Panel, {
PageSize: 500,
ImportWin: null,
OprationStatus: null, //仅当弹出界面时使用
SelectedRecord: null,
initUIComponents: function () {
this.formname = 'MsWlBsNew';
//定义数据集
this.storeList = Ext.create('Ext.data.Store', {
pageSize: this.PageSize,
model: 'MsWlBsHead',
remoteSort: true,
proxy: {
type: 'ajax',
url: '/TruckMng/MsWlBs/GetDataList',
reader: {
id: 'BillNo',
root: 'data',
totalProperty: 'totalCount'
}
}
});
//定义Grid
this.Pagenum = Ext.create('Ext.form.field.Number', {
name: 'bottles',
fieldLabel: '每页记录数',
labelAlign: 'right',
value: this.PageSize,
maxValue: 100000,
width: 180,
minValue: 0,
listeners: {
specialkey: function (field, e) {
if (e.getKey() == e.ENTER) {
_this.onRefreshClick();
}
}
}
});
var _this = this;
this.columns = [{
sortable: true,
dataIndex: 'BillNo',
header: '物流号',
width: 150
}, {
sortable: true,
dataIndex: 'LrDate',
header: '录入日期',
width: 80
}, {
sortable: true,
dataIndex: 'JzDate',
header: '记账日期',
width: 80
}, {
sortable: true,
dataIndex: 'UserCode',
header: '用户编码',
width: 60
}, {
sortable: true,
dataIndex: 'UserName',
header: '用户姓名',
width: 80
}, {
sortable: true,
dataIndex: 'OrgCode',
header: '组织编码',
width: 80
}, {
sortable: true,
dataIndex: 'OrgName',
header: '组织名称',
hidden: true,
width: 200
}, {
sortable: true,
dataIndex: 'BsType',
header: '托单类型',
renderer: function (value, p, record) { return value + '-' + record.data.BsType_Ref; },
width: 60
}, {
sortable: true,
dataIndex: 'BsStatus',
header: '托单状态',
renderer: function (value, p, record) { return value + '-' + record.data.BsStatus_Ref; },
width: 60
}, {
sortable: true,
dataIndex: 'CustCode',
header: '委托单位代码',
width: 80
}, {
sortable: true,
dataIndex: 'CustName',
header: '委托单位',
//renderer: function (value, p, record) { return value + '-' + record.data.CustName_Ref; },
width: 80
}, {
sortable: true,
dataIndex: 'CustDate',
header: '委托日期',
width: 80
},
/* {
sortable: true,
dataIndex: 'FeeOpStatus',
header: '费用操作状态',
renderer: function (value, p, record) { return value + '-' + record.data.FeeOpStatus_Ref; },
width: 85
},
*/
{
sortable: true,
dataIndex: 'VoyVeg',
header: '船名航次',
renderer: function (value, p, record) { return value + '-' + record.data.VoyVeg_Ref; },
width: 80
}, {
sortable: true,
dataIndex: 'EtDate',
header: '开船(到港)日期',
width: 80
}, {
sortable: true,
dataIndex: 'EndPortDate',
header: '截港日期',
width: 80
}, {
sortable: true,
dataIndex: 'MblNo',
header: '提单号',
width: 120
}, {
sortable: true,
dataIndex: 'SalesCode',
header: '揽货人',
renderer: function (value, p, record) { return value + '-' + record.data.SalesCode_Ref; },
width: 80
}, {
sortable: true,
dataIndex: 'SalesName',
header: '揽货人姓名',
width: 80
}, {
sortable: true,
dataIndex: 'DispatchCode',
header: '调度员编码',
renderer: function (value, p, record) { return value + '-' + record.data.DispatchCode_Ref; },
width: 60
}, {
sortable: true,
dataIndex: 'DispatchName',
header: '调度员姓名',
width: 80
}, {
sortable: true,
dataIndex: 'SendYardCode',
header: '拖箱场站编码',
renderer: function (value, p, record) { return value + '-' + record.data.SendYardCode_Ref; },
width: 80
}, {
sortable: true,
dataIndex: 'SendYardName',
header: '拖箱场站',
width: 80
}, {
sortable: true,
dataIndex: 'LoadPlace',
header: '始发地',
width: 80
}, {
sortable: true,
dataIndex: 'DstArea',
header: '目的地',
width: 80
}, {
sortable: true,
dataIndex: 'DetiNation',
header: '工厂地址',
width: 200
}, {
sortable: true,
dataIndex: 'DetiLinkTel',
header: '工厂联系电话',
width: 200
}, {
sortable: true,
dataIndex: 'DetiLinkMan',
header: '工厂联系人',
width: 200
}, {
sortable: true,
dataIndex: 'Remark',
header: '备注',
width: 200
}, {
sortable: true,
hidden: true,
dataIndex: 'PcType',
header: 'PcType',
width: 20
}, {
sortable: true,
dataIndex: 'TruckNo',
header: '车牌号(派车单内)',
width: 180
}, {
sortable: true,
dataIndex: 'CtnInfo',
header: '集装箱信息',
width: 180
}, {
sortable: true,
dataIndex: 'PKGS',
header: '件数',
width: 80
},
{
sortable: true,
dataIndex: 'CBM',
header: '体积(CBM)',
width: 80
}, {
sortable: true,
dataIndex: 'KGS',
header: '货重(吨)',
width: 80
}, {
sortable: true,
dataIndex: 'NPKGS',
header: '未派车件数',
width: 80
},
{
sortable: true,
dataIndex: 'NCBM',
header: '未派车体积(CBM)',
width: 80
}, {
sortable: true,
dataIndex: 'NKGS',
header: '未派车货重(吨)',
width: 80
}];
this.girdcolums = this.columns;
this.girdcolums = DsTruck.GetGridPanel(USERID, this.formname, this.girdcolums, 0); //使用者id表名中间column数组跳过一开始的几列
this.gridList = new Ext.grid.GridPanel({
store: this.storeList,
enableHdMenu: false,
region: 'center',
loadMask: { msg: "数据加载中,请稍等..." },
trackMouseOver: true,
disableSelection: false,
viewConfig: {
autoFill: true,
enableTextSelection: true,
getRowClass: function (record, rowIndex, rowParams, store) {
var feeStatus = record.get('PcType');
return DsTruck.MsChFeeGetRowClass(feeStatus);
}
},
columns:this.girdcolums,
// paging bar on the bottom
bbar: [Ext.create('Ext.PagingToolbar', {
id: "bbar1",
store: this.storeList,
displayInfo: true,
displayMsg: '当前显示 {0} - {1}条记录 /共 {2}条记录',
emptyMsg: "没有数据"
}), this.Pagenum]
});
this.gridList.addListener('itemdblclick', function (dataview, record, item, index, e, b) {
this.SelectedRecord = record;
this.OprationStatus = 'edit';
DsOpenEditWin("/TruckMng/MsWlBs/NewEdit");
}, this);
//#region formSearch
//#region formSearch枚举参照相关
this.storeBillStatus = Ext.create('DsExt.ux.RefEnumStore', {});
this.storeBillStatus.load({ params: { enumTypeId: 99026} });
this.comboxBillStatus = Ext.create('DsExt.ux.RefEnumCombox', {
fieldLabel: '业务锁定状态',
store: this.storeBillStatus,
name: 'BillStatus'
});
this.storeFeeStatus = Ext.create('DsExt.ux.RefEnumStore', {});
this.storeFeeStatus.load({ params: { enumTypeId: 99027} });
this.comboxFeeStatus = Ext.create('DsExt.ux.RefEnumCombox', {
fieldLabel: '费用锁定状态',
store: this.storeFeeStatus,
name: 'FeeStatus'
});
this.storeBsType = Ext.create('DsExt.ux.RefEnumStore', {});
this.storeBsType.load({ params: { enumTypeId: 99025} });
this.comboxBsType = Ext.create('DsExt.ux.RefEnumCombox', {
fieldLabel: '托单类型',
store: this.storeBsType,
name: 'BsType'
});
this.storeFeeOpStatus = Ext.create('DsExt.ux.RefEnumStore', {});
this.storeFeeOpStatus.load({ params: { enumTypeId: 99035} });
this.comboxFeeOpStatus = Ext.create('DsExt.ux.RefEnumCombox', {
fieldLabel: '费用操作状态',
store: this.storeFeeOpStatus,
name: 'FeeOpStatus'
});
this.storePcType = Ext.create('DsExt.ux.RefEnumStore', {});
this.storePcType.load({ params: { enumTypeId: 99041} });
this.comboxPcType = Ext.create('DsExt.ux.RefEnumCombox', {
fieldLabel: '已派车/未派车',
store: this.storePcType,
name: 'PcType'
});
this.storeVessel2 = Ext.create('DsExt.ux.RefEnumStore', {});
this.storeVessel2.load({ params: { enumTypeId: 99042} });
this.comboxVessel2 = Ext.create('DsExt.ux.RefEnumCombox', {
fieldLabel: '二程船名航次',
store: this.storeVessel2,
name: 'Vessel2Type'
});
this.storeCustCode = Ext.create('DsExt.ux.RefTableStore', {
model: 'DsTruckMng.ux.CustomRefModel',
proxy: { url: '/CommMng/BasicDataRef/GetCustomRefList' }
});
this.storeCustCode.load({ params: { condition: "ISCONTROLLER='1'"} });
this.comboxCustCode = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '委托单位',
typeAhead: true,
store: this.storeCustCode,
name: 'CustCode',
valueField: 'CustCode',
displayField: 'CodeAndName'
});
this.storeContainerType = Ext.create('DsExt.ux.RefTableStore', {
model: 'DsTruckMng.ux.CtnRefModel',
proxy: { url: '/CommMng/BasicDataRef/GetCtnRefList' }
});
this.storeContainerType.load({ params: { condition: ""} });
this.comboxContainerType = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '箱型',
store: this.storeContainerType,
name: 'ContainerType',
valueField: 'CtnCode',
displayField: 'CodeAndName'
});
this.storeBsStatus = Ext.create('DsExt.ux.RefEnumStore', {});
this.storeBsStatus.load({ params: { enumTypeId: 99029} });
this.comboxBsStatus = Ext.create('DsExt.ux.RefEnumCombox', {
fieldLabel: '托单状态',
store: this.storeBsStatus,
name: 'BsStatus'
});
this.storeUserCode = Ext.create('DsExt.ux.RefTableStore', {
model: 'DsTruckMng.ux.UserRefModel',
proxy: { url: '/CommMng/BasicDataRef/GetUserRefList' }
});
this.storeUserCode.load({ params: { condition: ""} });
this.comboxUserCode = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '用户姓名',
store: this.storeUserCode,
name: 'UserCode',
valueField: 'UserCode',
displayField: 'CodeAndName'
});
//#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: '船名航次',
name: 'VoyVeg'
}, {
fieldLabel: '提单号',
name: 'MblNo'
}, this.comboxBsType, {
fieldLabel: '路单号',
name: 'PcBillNo'
}, this.comboxBsStatus
]
}, {
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [this.comboxPcType
, this.comboxVessel2
, {
fieldLabel: '组织编码',
name: 'OrgCode'
}, {
fieldLabel: '车牌号',
name: 'TruckNo'
}, {
fieldLabel: '司机姓名',
name: 'DrvName'
}, this.comboxUserCode
]
}, {
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [{
fieldLabel: '目的地',
name: 'DstArea'
}, {
fieldLabel: '工厂地址',
name: 'DetiNation'
}, {
fieldLabel: '调度员姓名',
name: 'DdName'
}, {
fieldLabel: '揽货人姓名',
name: 'SalesName'
}, this.comboxContainerType
, {
fieldLabel: '箱量',
name: 'ContainerQty',
xtype: 'numberfield'
}
]
}, {
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [{
fieldLabel: '从委托日期',
format: 'Y-m-d',
xtype: 'datefield',
name: 'CustDate_Min'
}, {
fieldLabel: '至委托日期',
format: 'Y-m-d',
xtype: 'datefield',
name: 'CustDate_Max'
}, {
fieldLabel: '从派车日期',
format: 'Y-m-d',
xtype: 'datefield',
name: 'ExpDate_Min'
}, {
fieldLabel: '到派车日期',
format: 'Y-m-d',
xtype: 'datefield',
name: 'ExpDate_Max'
}, {
fieldLabel: '从到达日期',
format: 'Y-m-d',
xtype: 'datefield',
name: 'NeedArriveDate_Min'
}, {
fieldLabel: '到到达日期',
format: 'Y-m-d',
xtype: 'datefield',
name: 'NeedArriveDate_Max'
}
]
}, {
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [
this.comboxBillStatus
, this.comboxFeeStatus
, this.comboxFeeOpStatus
, this.comboxCustCode
, {
fieldLabel: '委托单位名称',
name: 'CustName'
}, {
fieldLabel: '始发地',
name: 'LoadPlace'
}
]
}
]//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/MsWlBs/NewEdit");
},
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: "导入托单",
iconCls: "btnexportexcel",
handler: function (button, event) {
this.onImportBsClick(button, event);
},
scope: this
}
, {
text: "导出Excel",
id: "btnExportExcel",
iconCls: 'btnexportexcel',
handler: function (button, event) {
this.onExportClick(button, event);
},
scope: this
}, {
text: "保存列表样式",
menu: [{ text: "保存",
handler: function (button, event) {
_this.girdcolums = DsTruck.SaveGridPanel(USERID, _this.formname, _this.gridList.columns, _this.girdcolums, 0, true); //使用者id表名中间column数组跳过一开始的几列
}
}, { text: "初始化",
handler: function (menu, event) {
_this.gridList.reconfigure(_this.storeList, _this.columns);
_this.girdcolums = DsTruck.SaveGridPanel(USERID, _this.formname, _this.gridList.columns, _this.columns, 0, true); //使用者id表名中间column数组跳过一开始的几列
}
}],
scope: this
}
]
});
this.panelTop = new Ext.Panel({
layout: "border",
region: "north",
height: 180,
items: [this.formSearch, this.panelBtn]
});
//#region 合计列表
this.SumField = [
{ name: 'NCOUNT', type: 'string' },
{ name: 'PCOUNT', type: 'string' },
{ name: 'KGS', type: 'number' },
{ name: 'CBM', type: 'number' }
];
this.storeSumList = Ext.create('Ext.data.Store', {
pageSize: this.PageSize,
fields: this.SumField,
remoteSort: true,
proxy: {
type: 'ajax',
url: '/TruckMng/MsWlBs/GetListSum',
reader: {
id: '',
root: 'data',
totalProperty: 'totalCount'
}
}
});
this.girdcolumsSum = [{
sortable: true,
dataIndex: 'NCOUNT',
header: '未派车', //'TEU',
align: 'right',
width: 80
}, {
sortable: true,
dataIndex: 'PCOUNT',
header: '已派车', //'件数',
// renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { try { var lsValue = usMoney(value, 2, '', false); if (lsValue != "NaN") { value = lsValue; if (parseFloat(lsValue) < 0) { return '<SPAN style="COLOR: red">' + lsValue + '</SPAN>'; } } else { return value; } } catch (e) { return value; } return value; },
align: 'right',
width: 80
}, {
sortable: true,
dataIndex: 'KGS',
header:'货重', //'毛重',
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { try { var lsValue = usMoney(value, 2, '', false); if (lsValue != "NaN") { value = lsValue; if (parseFloat(lsValue) < 0) { return '<SPAN style="COLOR: red">' + lsValue + '</SPAN>'; } } else { return value; } } catch (e) { return value; } return value; },
align: 'right',
width: 80
}, {
sortable: true,
dataIndex: 'CBM',
header: '体积(CBM)', //'尺码',
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { try { var lsValue = usMoney(value, 2, '', false); if (lsValue != "NaN") { value = lsValue; if (parseFloat(lsValue) < 0) { return '<SPAN style="COLOR: red">' + lsValue + '</SPAN>'; } } else { return value; } } catch (e) { return value; } return value; },
align: 'right',
width: 80
}
];
this.gridListSum = new Ext.grid.GridPanel({
store: this.storeSumList,
enableHdMenu: false,
region: 'center',
loadMask: {
msg: "数据加载中,请稍等..." //"数据加载中,请稍等..."
},
trackMouseOver: true,
disableSelection: false,
columns: this.girdcolumsSum
});
this.panelSum = new Ext.Panel({
// title: '合 计',
layout: "border",
height: 70,
region: 'south',
margin: '0 0',
frame: true,
items: [this.gridListSum]
});
//#endregion
this.page_1 = new Ext.Panel({
id: "page_1",
title: "托单信息",
//autoScroll: true,
layout: "border",
items: [this.gridList, this.panelSum]
});
this.page_2 = new Ext.Panel({
id: "page_2",
title: "附件(证照图片)",
layout: "border",
items: []
});
this.MainTab = new Ext.tab.Panel({
layout: "border",
region: "center", split: true,
items: [this.page_1//, this.page_2
]
});
Ext.apply(this, {
items: [this.panelTop, this.MainTab]
});
this.PageSize = this.Pagenum.getValue();
this.storeList.load({
params: { start: 0, limit: this.PageSize, sort: '', condition: "(BsStatus is null or BsStatus<>'9')" },
waitMsg: "正在查询数据...",
scope: this
});
this.storeSumList.load({
params: { start: 0, limit: this.PageSize, sort: '', condition: "(BsStatus is null or BsStatus<>'9')" },
waitMsg: "正在查询数据...",
scope: this
});
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.PageSize = this.Pagenum.getValue();
this.storeList.load({
params: { start: 0, limit: this.PageSize, sort: '', condition: sql },
waitMsg: "正在查询数据...",
scope: this
});
this.storeSumList.load({
params: { start: 0, limit: this.PageSize, sort: '', condition: sql },
waitMsg: "正在查询数据...",
scope: this
});
},
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];
Ext.MessageBox.confirm('提示', '确定删除该记录吗?', function (btn) {
if (btn == 'yes') {
Ext.Msg.wait('正在删除数据...');
Ext.Ajax.request({
waitMsg: '正在删除数据...',
url: '/TruckMng/MsWlBs/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 = " BsType<>'7' ";
var billNo = form.findField('BillNo').getValue();
sql = sql + getAndConSql(sql, billNo, "BillNo like '%" + billNo + "%'");
var custDate_Min = form.findField('CustDate_Min').getRawValue();
sql = sql + getAndConSql(sql, custDate_Min, "CustDate >= '" + custDate_Min + "'");
var custDate_Max = form.findField('CustDate_Max').getRawValue();
sql = sql + getAndConSql(sql, custDate_Max, "CustDate <= '" + custDate_Max + " 23:59:59'");
var billStatus = form.findField('BillStatus').getValue();
sql = sql + getAndConSql(sql, billStatus, "BillStatus = '" + billStatus + "'");
var feeStatus = form.findField('FeeStatus').getValue();
sql = sql + getAndConSql(sql, feeStatus, "FeeStatus = '" + feeStatus + "'");
/*
var feeOpStatus = form.findField('FeeOpStatus').getValue();
if (feeOpStatus == 0) {
sql = sql + getAndConSql(sql, feeOpStatus, " BillNo in (select RefBillNo from tMsWlPcHead where GID in (select bsno from ch_fee where feestatus=1)) or ");
} else if (feeOpStatus == 1) {
sql = sql + getAndConSql(sql, feeOpStatus, " BillNo in (select RefBillNo from tMsWlPcHead where GID in (select bsno from ch_fee where feestatus=2))");
} else if (feeOpStatus == 2) {
sql = sql + getAndConSql(sql, feeOpStatus, " BillNo in (select RefBillNo from tMsWlPcHead where GID in (select bsno from ch_fee where feestatus=0))");
} else if (feeOpStatus == 3) {
sql = sql + getAndConSql(sql, feeOpStatus, " BillNo in (select RefBillNo from tMsWlPcHead where GID in (select bsno from ch_fee where feestatus=6))");
}*/
var feeOpStatus = form.findField('FeeOpStatus').getValue();
if (feeOpStatus == 0) {
sql = sql + getAndConSql(sql, feeOpStatus, " BillNo in (select BS_BILLNO from v_BSPCList where gid in (select bsno from ch_fee where feestatus=1)) ");
} else if (feeOpStatus == 1) {
sql = sql + getAndConSql(sql, feeOpStatus, " BillNo in (select BS_BILLNO from v_BSPCList where gid in (select bsno from ch_fee where feestatus=2))");
} else if (feeOpStatus == 2) {
sql = sql + getAndConSql(sql, feeOpStatus, " BillNo in (select BS_BILLNO from v_BSPCList where gid in (select bsno from ch_fee where feestatus=0))");
} else if (feeOpStatus == 3) {
sql = sql + getAndConSql(sql, feeOpStatus, " BillNo in (select BS_BILLNO from v_BSPCList where gid in (select bsno from ch_fee where feestatus=6))");
}
var truckNo = form.findField('TruckNo').getValue();
sql = sql + getAndConSql(sql, truckNo, " BillNo in (select BS_BILLNO from v_BSPCList where PC_BILLNO in (select BILLNO from tMsWlPcHead where TruckNo='" + truckNo + "'))");
var ddName = form.findField('DdName').getValue();
sql = sql + getAndConSql(sql, ddName, " BillNo in (select BS_BILLNO from v_BSPCList where PC_BILLNO in (select BILLNO from tMsWlPcHead where DdName='" + ddName + "'))");
var UserCode = form.findField('UserCode').getValue();
sql = sql + getAndConSql(sql, UserCode, "UserCode='" + UserCode + "'");
var BsStatus = form.findField('BsStatus').getValue();
sql = sql + getAndConSql(sql, BsStatus, "BsStatus='" + BsStatus + "'");
var salesName = form.findField('SalesName').getValue();
sql = sql + getAndConSql(sql, salesName, "SalesName like '%" + salesName + "%'");
var custName = form.findField('CustName').getValue();
sql = sql + getAndConSql(sql, custName, "CustName like '%" + custName + "%'");
var mblNo = form.findField('MblNo').getValue();
sql = sql + getAndConSql(sql, mblNo, "MblNo like '%" + mblNo + "%'");
var bsType = form.findField('BsType').getValue();
sql = sql + getAndConSql(sql, bsType, "BsType = '" + bsType + "'");
var orgCode = form.findField('OrgCode').getValue();
sql = sql + getAndConSql(sql, orgCode, "OrgCode like '%" + orgCode + "%'");
var pcBillNo = form.findField('PcBillNo').getValue();
sql = sql + getAndConSql(sql, pcBillNo, " BillNo in (select BS_BILLNO from v_BSPCList where PC_BILLNO in (select BILLNO from tMsWlPcHead where BillNo like '%" + pcBillNo + "%'))");
var expDate_Min = form.findField('ExpDate_Min').getRawValue();
sql = sql + getAndConSql(sql, expDate_Min, " BillNo in (select BS_BILLNO from v_BSPCList where PC_BILLNO in (select BILLNO from tMsWlPcHead where ExpDate>='" + expDate_Min + "'))");
var expDate_Max = form.findField('ExpDate_Max').getRawValue();
sql = sql + getAndConSql(sql, expDate_Max, " BillNo in (select BS_BILLNO from v_BSPCList where PC_BILLNO in (select BILLNO from tMsWlPcHead where ExpDate<='" + expDate_Min + " 23:59:59'))");
var drvName = form.findField('DrvName').getValue();
sql = sql + getAndConSql(sql, drvName, " BillNo in (select BS_BILLNO from v_BSPCList where PC_BILLNO in (select BILLNO from tMsWlPcHead where DrvName='" + drvName + "'))");
var voyVeg = form.findField('VoyVeg').getValue();
sql = sql + getAndConSql(sql, voyVeg, "VoyVeg like '%" + voyVeg + "%'");
sql = sql + getAndConSql(sql, voyVeg, "VoyVegSe like '%" + voyVeg + "%'");
var pctype = form.findField('PcType').getValue();
if (pctype == '0')
{ sql = sql + getAndConSql(sql, pctype, " not exists(select 1 from tMsWlPcHead p where p.refbillno=tMsWlBsHead.billno) "); }
if (pctype == '1')
{ sql = sql + getAndConSql(sql, pctype, " exists(select 1 from tMsWlPcHead p where p.refbillno=tMsWlBsHead.billno) "); }
var vessel2type = form.findField('Vessel2Type').getValue();
if (vessel2type == '0')
{ sql = sql + getAndConSql(sql, vessel2type, " (VoyVegSe is null or VoyVegSe='') "); }
var NeedArriveDate_Min = form.findField('NeedArriveDate_Min').getRawValue();
sql = sql + getAndConSql(sql, NeedArriveDate_Min, " NeedArriveDate>='" + NeedArriveDate_Min + "'");
var NeedArriveDate_Max = form.findField('NeedArriveDate_Max').getRawValue();
sql = sql + getAndConSql(sql, NeedArriveDate_Max, " NeedArriveDate<='" + expDate_Min + " 23:59:59'");
var DstArea = form.findField('DstArea').getValue();
sql = sql + getAndConSql(sql, DstArea, " DstArea like '%" + DstArea + "%' ");
var DetiNation = form.findField('DetiNation').getValue();
sql = sql + getAndConSql(sql, DetiNation, " DetiNation like '%" + DetiNation + "%' ");
var CustCode = form.findField('CustCode').getValue();
sql = sql + getAndConSql(sql, CustCode, " CustCode = '" + CustCode + "' ");
var LoadPlace = form.findField('LoadPlace').getValue();
sql = sql + getAndConSql(sql, LoadPlace, " LoadPlace = '" + LoadPlace + "' ");
var ContainerType = form.findField('ContainerType').getValue();
sql = sql + getAndConSql(sql, ContainerType, " BillNo in (select BS_BILLNO from v_BSPCList where PC_BILLNO in(select distinct isnull(BillNo,'') from tMsWlPcHead where ContainerType='" + ContainerType + "')) ");
if (ContainerType == "" || ContainerType == null) {
var ContainerQty = form.findField('ContainerQty').getValue();
sql = sql + getAndConSql(sql, ContainerQty, " (select sum(isnull(ContainerQty,0)) from tMsWlPcHead where billno in(select PC_BILLNO from v_BSPCList where BS_BILLNO=tmswlbshead.BillNo))=" + ContainerQty + " ");
} else {
var ContainerQty = form.findField('ContainerQty').getValue();
sql = sql + getAndConSql(sql, ContainerQty, " (select sum(isnull(ContainerQty,0)) from tMsWlPcHead where billno in(select PC_BILLNO from v_BSPCList where BS_BILLNO=tmswlbshead.BillNo and ContainerType='" + ContainerType + "')=" + ContainerQty + " ");
}
return sql;
},
OprationSwap: function () {
var ret = new Array();
ret[0] = this.OprationStatus;
ret[1] = this.storeList;
ret[2] = this.SelectedRecord;
ret[3] = "";
return ret;
},
AddNewRecord: function (record) {
var p = Ext.create('MsWlBsHead', record);
this.storeList.add(p);
},
onImportBsClick: function (button, event) {
var winAccess = new DsTruck.FileImport({
});
winAccess.StoreList = this.storeList;
winAccess.show();
return;
},
onExportClick: function (button, event) {
GridExportExcelPage(this.gridList);
}, onResetClick: function (button, event) {
this.formSearch.getForm().reset();
}
});