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.
639 lines
23 KiB
JavaScript
639 lines
23 KiB
JavaScript
Ext.namespace('Shipping');
|
|
|
|
Shipping.PiliangSeaeFee = function (config) {
|
|
Ext.applyIf(this, config);
|
|
this.initUIComponents();
|
|
window.Shipping.PiliangSeaeFee.superclass.constructor.call(this);
|
|
};
|
|
|
|
Ext.extend(Shipping.PiliangSeaeFee, Ext.Panel, {
|
|
ParentWin: null,
|
|
OpStatus: 'add',
|
|
StoreList: null,
|
|
EditRecord: null,
|
|
region: 'north',
|
|
BsNo: '',
|
|
feeType:null,
|
|
StoreFee: null,
|
|
StoreFeeUnit: null,
|
|
StoreFeeCust:null,
|
|
|
|
|
|
initUIComponents: function () {
|
|
|
|
|
|
|
|
this.formHead = Ext.widget('form', {
|
|
frame: true,
|
|
region: 'center',
|
|
bodyPadding: 1,
|
|
fieldDefaults: {
|
|
margins: '2 2 2 2',
|
|
labelAlign: 'right',
|
|
flex: 1,
|
|
labelWidth: 70,
|
|
msgTarget: 'qtip'
|
|
},
|
|
items: [
|
|
{
|
|
xtype: 'fieldset',
|
|
defaultType: 'textfield',
|
|
layout: 'anchor',
|
|
defaults: {
|
|
anchor: '100%'
|
|
},
|
|
items: [
|
|
{ xtype: 'container',
|
|
layout: 'hbox',
|
|
defaultType: 'textfield',
|
|
items: [{
|
|
fieldLabel: '件数',
|
|
name: 'PKGS', flex: 0, hidden: true, margins: '0'
|
|
}, {
|
|
fieldLabel: '重量',
|
|
name: 'KGS', flex: 0, hidden: true, margins: '0'
|
|
}, {
|
|
fieldLabel: '尺码',
|
|
name: 'CBM', flex: 0, hidden: true, margins: '0'
|
|
}, {
|
|
fieldLabel: '委托编号',
|
|
readOnly: true,
|
|
name: 'CUSTNO'
|
|
}, {
|
|
fieldLabel: '主提单号',
|
|
readOnly: true,
|
|
name: 'MBLNO'
|
|
},
|
|
{
|
|
fieldLabel: '箱型箱量',
|
|
readOnly: true,
|
|
name: 'CNTRTOTAL'
|
|
}, {
|
|
fieldLabel: '付费方式',
|
|
readOnly: true,
|
|
name: 'BLFRT'
|
|
}, {
|
|
fieldLabel: 'MBL付费方式',
|
|
labelWidth: 80,
|
|
readOnly: true,
|
|
name: 'MBLFRT'
|
|
}, {
|
|
fieldLabel: '船公司',
|
|
readOnly: true,
|
|
name: 'CARRIER'
|
|
}, {
|
|
fieldLabel: '订舱代理',
|
|
readOnly: true,
|
|
name: 'FORWARDER'
|
|
}
|
|
]
|
|
},
|
|
{ xtype: 'container',
|
|
layout: 'hbox',
|
|
defaultType: 'textfield',
|
|
items: [{
|
|
fieldLabel: Zi.LAN.INVNO,
|
|
readOnly: true,
|
|
name: 'INVNO'
|
|
},{
|
|
fieldLabel: '揽货人',
|
|
readOnly: true,
|
|
name: 'SALE'
|
|
}, {
|
|
fieldLabel: '委托单位',
|
|
readOnly: true,
|
|
name: 'CUSTOMERNAME'
|
|
},
|
|
{
|
|
fieldLabel: '卸货港',
|
|
readOnly: true,
|
|
name: 'PORTDISCHARGE'
|
|
},
|
|
{
|
|
fieldLabel: '船名',
|
|
readOnly: true,
|
|
name: 'VESSEL'
|
|
}, {
|
|
fieldLabel: '航次',
|
|
readOnly: true,
|
|
name: 'VOYNO'
|
|
}, {
|
|
fieldLabel: '尺码',
|
|
readOnly: true,
|
|
name: 'CBM'
|
|
}
|
|
]
|
|
},
|
|
{ xtype: 'container',
|
|
layout: 'hbox',
|
|
defaultType: 'textfield',
|
|
items: [{
|
|
fieldLabel: '分提单号', //'分提单号',
|
|
readOnly: true,
|
|
name: 'HBLNO'
|
|
}, {
|
|
fieldLabel: '目的地', //'目的地',
|
|
readOnly: true,
|
|
name: 'DESTINATION'
|
|
}, {
|
|
fieldLabel: Zi.LAN.CUSTOMNO, //'报关单号',
|
|
name: 'CUSTOMNO'
|
|
}, {
|
|
fieldLabel: Zi.LAN.OP, //'报关单号',
|
|
name: 'OP'
|
|
}, {
|
|
fieldLabel: Zi.LAN.LANE, //'报关单号',
|
|
name: 'LANE'
|
|
}, {
|
|
fieldLabel: Zi.LAN.ISSUETYPE, //'报关单号',
|
|
name: 'ISSUETYPE'
|
|
}, {
|
|
fieldLabel:'发货人', //'报关单号',
|
|
name: 'SHIPPER'
|
|
}
|
|
]
|
|
}, {
|
|
xtype: 'container',
|
|
layout: 'hbox',
|
|
defaultType: 'textfield',
|
|
items: [{
|
|
fieldLabel: Zi.LAN.ETD2, //'目的地',
|
|
readOnly: true,
|
|
name: 'ETD'
|
|
}, {
|
|
fieldLabel: Zi.LAN.PORTLOAD, //'目的地',
|
|
readOnly: true,
|
|
name: 'PORTLOAD'
|
|
},{
|
|
fieldLabel: '备注', //'备注',
|
|
readOnly: true,
|
|
flex: 4, name: 'REMARK'
|
|
}
|
|
]
|
|
},
|
|
{ xtype: 'container',
|
|
layout: 'hbox',
|
|
defaultType: 'textfield',
|
|
items: [{
|
|
xtype: 'label',
|
|
text: '服务项目'
|
|
},
|
|
{
|
|
xtype: 'checkboxfield',
|
|
fieldLabel: '熏蒸',
|
|
flex: 1,
|
|
labelAlign: 'right',
|
|
readOnly: true,
|
|
frame: true,
|
|
name: 'ISFUMIGATION'
|
|
},
|
|
{
|
|
xtype: 'checkboxfield',
|
|
fieldLabel: '仓储',
|
|
flex: 1,
|
|
labelAlign: 'right',
|
|
readOnly: true,
|
|
name: 'ISSTORAGE'
|
|
},
|
|
{
|
|
xtype: 'checkboxfield',
|
|
fieldLabel: '陆运',
|
|
flex: 1,
|
|
labelAlign: 'right',
|
|
readOnly: true,
|
|
name: 'ISLAND'
|
|
},
|
|
{
|
|
xtype: 'checkboxfield',
|
|
fieldLabel: '报关',
|
|
flex: 1,
|
|
labelAlign: 'right',
|
|
readOnly: true,
|
|
name: 'ISCUSTOMES'
|
|
},
|
|
{
|
|
xtype: 'checkboxfield',
|
|
fieldLabel: '报检',
|
|
flex: 1,
|
|
labelAlign: 'right',
|
|
readOnly: true,
|
|
name: 'ISINSPECTION'
|
|
},
|
|
{
|
|
xtype: 'checkboxfield',
|
|
fieldLabel: '订舱',
|
|
flex: 1,
|
|
labelAlign: 'right',
|
|
readOnly: true,
|
|
name: 'ISBOOKING'
|
|
},
|
|
{
|
|
xtype: 'checkboxfield',
|
|
fieldLabel: '使用代理',
|
|
flex: 1,
|
|
labelAlign: 'right',
|
|
readOnly: true,
|
|
name: 'ISAGENT'
|
|
},
|
|
{
|
|
xtype: 'checkboxfield',
|
|
fieldLabel: '分单签单',
|
|
flex: 1,
|
|
labelAlign: 'right',
|
|
readOnly: true,
|
|
name: 'ISHBLNO'
|
|
}
|
|
]
|
|
}
|
|
|
|
|
|
]
|
|
|
|
}]
|
|
|
|
|
|
}); //end this.formEdit
|
|
|
|
//#region 按钮Toolbar
|
|
this.panelBtn = new Ext.Panel({
|
|
region: "north",
|
|
tbar: [{
|
|
id: 'btnEPrev',
|
|
text: "上一票",
|
|
// iconCls: "btnsave",
|
|
handler: function (button, event) {
|
|
this.PrevRecord();
|
|
},
|
|
scope: this
|
|
}, {
|
|
id: 'btnENext',
|
|
text: "下一票",
|
|
// iconCls: "btnsave",
|
|
handler: function (button, event) {
|
|
this.NextRecord();
|
|
},
|
|
scope: this
|
|
}]
|
|
}); //end 按钮Toolbar
|
|
//#endregion
|
|
//客户加载_委托单位
|
|
this.storeCustCode = Ext.create('DsExt.ux.RefTableStore', {
|
|
model: 'DsShipping.ux.CustomRefModel',
|
|
proxy: { url: '/CommMng/BasicDataRef/GetCustomRefListController' }
|
|
});
|
|
// this.storeCustCode.load({ params: { condition: "ISCONTROLLER='1'"} });
|
|
// this.storeCustCode.loadData(mainWin.GetPubStore("OPSEAE_CUST_ISCONTROLLER").data.items);
|
|
|
|
//委托单位
|
|
_this = this;
|
|
this.comboxCustCode = Ext.create('DsExt.ux.RefTableCombox', {
|
|
fieldLabel: '委托单位', //'委托单位',
|
|
store: this.storeCustCode,
|
|
queryMode: 'remote',
|
|
matchFieldWidth: false,
|
|
minChars: 1,
|
|
queryParam: 'CODENAME',
|
|
name: 'CUSTOMERNAME',
|
|
valueField: 'CustName',
|
|
displayField: 'CodeAndName',
|
|
enableKeyEvents: true,
|
|
listeners: {
|
|
keyup: function (field, e) {
|
|
if (e.getKey() == e.ENTER) {
|
|
_this.onRefreshClick();
|
|
}
|
|
}
|
|
//,
|
|
//'beforequery': function (e) {
|
|
// return FilterCombox(e,2);//在beforequery使用此方法
|
|
//}
|
|
, specialkey: function (field, e) {
|
|
//if (e.getKey() == e.ENTER) {
|
|
// e.keyCode = 9;
|
|
//}
|
|
if (e.keyCode == 9) {
|
|
|
|
if (field.value == null) {
|
|
_rec = _this.storeCustCode.getAt(0);
|
|
|
|
_this.formSearch.getForm().findField('CUSTOMERNAME').setValue(_rec.data.CustName);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
});
|
|
|
|
this.formSearch = Ext.widget('form', {
|
|
frame: true,
|
|
region: 'north',
|
|
height: 40,
|
|
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: 'MblNo',
|
|
enableKeyEvents: true,
|
|
listeners: {
|
|
specialkey: function (field, e) {
|
|
if (e.getKey() == e.ENTER) {
|
|
_this.onRefreshClick();
|
|
}
|
|
}
|
|
}
|
|
}, this.comboxCustCode, {
|
|
fieldLabel: '开船日期',
|
|
format: 'Y-m-d',
|
|
xtype: 'datefield',
|
|
name: 'ETDbgn',
|
|
enableKeyEvents: true,
|
|
listeners: {
|
|
specialkey: function (field, e) {
|
|
if (e.getKey() == e.ENTER) {
|
|
_this.onRefreshClick();
|
|
}
|
|
}
|
|
}
|
|
}, {
|
|
fieldLabel: '至',
|
|
format: 'Y-m-d',
|
|
xtype: 'datefield',
|
|
name: 'ETDend',
|
|
enableKeyEvents: true,
|
|
listeners: {
|
|
specialkey: function (field, e) {
|
|
if (e.getKey() == e.ENTER) {
|
|
_this.onRefreshClick();
|
|
}
|
|
}
|
|
}
|
|
}, {
|
|
xtype: 'button',
|
|
width: 90,
|
|
text: "执行查询",
|
|
iconCls: "btnrefresh",
|
|
handler: function (button, event) {
|
|
this.onRefreshClick(button, event);
|
|
},
|
|
scope: this
|
|
}
|
|
]
|
|
|
|
}]
|
|
|
|
}]
|
|
|
|
});
|
|
this.storeList = Ext.create('Ext.data.Store', {
|
|
pageSize: this.PageSize,
|
|
model: 'MsOpSeaeModel',
|
|
remoteSort: true,
|
|
proxy: {
|
|
type: 'ajax',
|
|
url: '/MvcShipping/MsOpSeae/GetDataList',
|
|
reader: {
|
|
id: 'GId',
|
|
root: 'data',
|
|
totalProperty: 'totalCount'
|
|
}
|
|
}
|
|
});
|
|
|
|
this.panelTop = new Ext.Panel({
|
|
layout: "border",
|
|
region: "north",
|
|
collapsed: false,
|
|
collapsible: true,
|
|
height: 220,
|
|
id: "BillHeadSeae",
|
|
items: [this.panelBtn, this.formSearch, this.formHead]
|
|
});
|
|
|
|
this.panelFee = new Shipping.FeeEditGrid({
|
|
region: 'center',
|
|
layout: 'border'
|
|
});
|
|
|
|
|
|
|
|
this.panelFee.stroplb = 'op_Seae';
|
|
|
|
this.panelFee.StoreCustType.add({ "SCUSTTYPE": "WTDW-委托单位", "CUSTTYPE": "委托单位", "CUSTNAME": "CUSTOMERNAME" });
|
|
this.panelFee.StoreCustType.add({ "SCUSTTYPE": "CGS-船公司", "CUSTTYPE": "船公司", "CUSTNAME": "CARRIER" });
|
|
this.panelFee.StoreCustType.add({ "SCUSTTYPE": "DCDL-订舱代理", "CUSTTYPE": "订舱代理", "CUSTNAME": "FORWARDER" });
|
|
this.panelFee.StoreCustType.add({ "SCUSTTYPE": "BGH-报关行", "CUSTTYPE": "报关行", "CUSTNAME": "CUSTOMSER" });
|
|
this.panelFee.StoreCustType.add({ "SCUSTTYPE": "CD-车队", "CUSTTYPE": "车队", "CUSTNAME": "TRUCKER" });
|
|
this.panelFee.StoreCustType.add({ "SCUSTTYPE": "FHR-发货人", "CUSTTYPE": "发货人", "CUSTNAME": "SHIPPERID" });
|
|
this.panelFee.StoreCustType.add({ "SCUSTTYPE": "SHR-收货人", "CUSTTYPE": "收货人", "CUSTNAME": "CONSIGNEEID" });
|
|
this.panelFee.StoreCustType.add({ "SCUSTTYPE": "TZR-通知人", "CUSTTYPE": "通知人", "CUSTNAME": "NOTIFYPARTYID" });
|
|
this.panelFee.StoreCustType.add({ "SCUSTTYPE": "DL-代理", "CUSTTYPE": "代理", "CUSTNAME": "AGENTID" });
|
|
this.panelFee.StoreCustType.add({ "SCUSTTYPE": "CZ-场站", "CUSTTYPE": "场站", "CUSTNAME": "YARD" });
|
|
this.panelFee.StoreCustType.add({ "SCUSTTYPE": "CDD-船代", "CUSTTYPE": "船代", "CUSTNAME": "SHIPAGENCY" });
|
|
this.panelFee.StoreCustType.add({ "SCUSTTYPE": "BXGS-保险公司", "CUSTTYPE": "保险公司", "CUSTNAME": "" });
|
|
this.panelFee.StoreCustType.add({ "SCUSTTYPE": "QT-其他", "CUSTTYPE": "其他", "CUSTNAME": "" });
|
|
this.panelFee.StoreDrOpRange.load({ params: { optype: "modRecvFeeManagement"} });
|
|
this.panelFee.StoreCrOpRange.load({ params: { optype: "modPayFeeManagement"} });
|
|
this.panelFee.storeFeeNameRef.load({ params: { condition: "ISSEA='1' "} });
|
|
|
|
|
|
Ext.apply(this, {
|
|
items: [this.panelTop, this.panelFee]
|
|
});
|
|
|
|
parentWin = window.parent.opener;
|
|
this.InitData();
|
|
},
|
|
|
|
|
|
//#region 加载事件
|
|
InitData: function () {
|
|
this.opStatus = 'add';
|
|
var condition = '';
|
|
_this = this;
|
|
if (parentWin) {
|
|
var ret = parentWin.OprationSwap();
|
|
this.opStatus = ret[0];
|
|
this.StoreList = ret[1];
|
|
this.EditRecord = ret[2];
|
|
}
|
|
|
|
this.BsNo = this.EditRecord.get('BSNO');
|
|
|
|
|
|
this.LoadData();
|
|
|
|
|
|
}, //end InitData
|
|
|
|
LoadData: function () {
|
|
this.formHead.getForm().loadRecord(this.EditRecord);
|
|
this.panelFee.EditRecord = this.EditRecord;
|
|
this.panelFee.strBSNO = this.BsNo;
|
|
this.panelFee.strPBSNO = this.BsNo;
|
|
this.panelFee.strMBLNO = this.EditRecord.get('MBLNO');
|
|
this.panelFee.StoreDateCurr.load({ params: { optype: "op_Seae", bsno: this.BsNo} });
|
|
this.panelFee.StoreUnit.load({ params: { bsno: this.BsNo, bstype: "op_Seae"} });
|
|
|
|
this.panelFee.storeDrChFee.load({ params: { billno: this.BsNo, type: 1, optype: "op_Seae"} });
|
|
this.panelFee.storeCrChFee.load({ params: { billno: this.BsNo, type: 2, optype: "op_Seae"} });
|
|
this.panelFee.storeBodyList_GuDingFeeWeiHu.load({ params: { condition: "CUSTOMERNAME='" + this.EditRecord.get('CUSTOMERNAME') + "'" } });
|
|
|
|
|
|
|
|
this.panelFee.storeBodySum.load({ params: { bsno: this.BsNo, optype: "op_Seae" },
|
|
callback: function (r, options, success) {
|
|
if (success) {
|
|
_thisfee.setTotalHead();
|
|
}
|
|
}
|
|
});
|
|
this.panelFee.storeChFeeGain.load({ params: { bsno: this.BsNo, optype: "op_Seae"} });
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}, // end LoadDate
|
|
//#region 打印
|
|
Print: function () {
|
|
|
|
var basicForm = this.formHead.getForm();
|
|
var billNo = basicForm.findField('BSNO').value;
|
|
if (billNo == '*' || billNo == '') {
|
|
Ext.Msg.show({ title: '错误', msg: '单据还没有保存,请保存后再打印', icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK });
|
|
return;
|
|
}
|
|
|
|
var printType = 'MSOPSEAE';
|
|
var sql1 = "SET LANGUAGE 'us_english' SELECT * FROM op_seae WHERE BSNO = '" + billNo + "'";
|
|
var sql2 = "";
|
|
var sql3 = "";
|
|
var sql4 = "";
|
|
var sql5 = "";
|
|
var sql6 = "";
|
|
|
|
PrintComm(printType, sql1, sql2, sql3, sql4, sql5, sql6);
|
|
|
|
},
|
|
//#endregion
|
|
|
|
onRefreshClick: function (button, event) {
|
|
var sql = this.getCondition();
|
|
this.storeList.load({
|
|
params: { start: 0, limit: this.PageSize, sort: '', condition: sql },
|
|
callback: function (r, options, success) {
|
|
if (success) {
|
|
if (this.storeList.getCount() > 0) {
|
|
this.EditRecord = this.storeList.getAt(0);
|
|
this.BsNo = this.EditRecord.get('BSNO');
|
|
this.LoadData();
|
|
} else {
|
|
|
|
}
|
|
}
|
|
},
|
|
waitMsg: "正在查询数据...",
|
|
scope: this
|
|
});
|
|
},
|
|
getCondition: function () {
|
|
var form = this.formSearch.getForm();
|
|
if (!form.isValid()) {
|
|
Ext.Msg.alert('提示', '查询条件赋值错误,请检查。');
|
|
return '';
|
|
}
|
|
|
|
var sql = '';
|
|
|
|
//#region formSearch 查询面板
|
|
//编号包括(主提单号)
|
|
var MblNo = form.findField('MblNo').getValue();
|
|
sql = sql + getAndConSql(sql, MblNo, "(B.MblNo like '%" + MblNo + "%' or B.CONTRACTNO like '%" + MblNo + "%' or B.CUSTNO like '%" + MblNo + "%' or B.HBLNO like '%" + MblNo + "%' or B.ORDERNO like '%" + MblNo + "%' or B.APPLYNO like '%" + MblNo + "%')");
|
|
|
|
//客户名称
|
|
var CUSTOMERNAME = form.findField('CUSTOMERNAME').getValue();
|
|
sql = sql + getAndConSql(sql, CUSTOMERNAME, "B.CUSTOMERNAME='" + CUSTOMERNAME + "'"); //到港日期
|
|
|
|
var ETDbgn = form.findField('ETDbgn').getRawValue();
|
|
sql = sql + getAndConSql(sql, ETDbgn, "B.ETD >='" + ETDbgn + "'");
|
|
var ETDend = form.findField('ETDend').getRawValue();
|
|
sql = sql + getAndConSql(sql, ETDend, "B.ETD <='" + ETDend + "'");
|
|
|
|
|
|
return sql;
|
|
},
|
|
|
|
PrevRecord: function () {
|
|
var j = this.StoreList.indexOf(this.EditRecord);
|
|
if (j == 0) {
|
|
Ext.Msg.show({ title: '警告', msg: '已是最前一票', icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK });
|
|
|
|
return;
|
|
}
|
|
if (j == this.StoreList.count) {
|
|
Ext.Msg.show({ title: '警告', msg: '已是最后一票', icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK });
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
j = j - 1;
|
|
this.EditRecord = this.StoreList.getAt(j);
|
|
this.BsNo = this.EditRecord.get('BSNO');
|
|
this.LoadData();
|
|
},
|
|
NextRecord: function () {
|
|
var j = this.StoreList.indexOf(this.EditRecord);
|
|
|
|
if (j == (this.StoreList.data.length - 1)) {
|
|
Ext.Msg.show({ title: '警告', msg: '已是最后一票', icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK });
|
|
|
|
return;
|
|
|
|
}
|
|
j = j + 1;
|
|
this.EditRecord = this.StoreList.getAt(j);
|
|
this.BsNo = this.EditRecord.get('BSNO');
|
|
this.LoadData();
|
|
|
|
},
|
|
getModifyStatus: function () {
|
|
return this.panelFee.getModifyStatus();
|
|
},
|
|
feeType: function () {
|
|
return this.panelFee.feeType;
|
|
},
|
|
StoreFee: function () {
|
|
return this.panelFee.StoreFee;
|
|
},
|
|
StoreFeeUnit: function () {
|
|
return this.panelFee.StoreFeeUnit;
|
|
},
|
|
StoreFeeCust: function () {
|
|
return this.panelFee.StoreFeeCust;
|
|
}
|
|
|
|
|
|
});
|
|
|