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.
DS7/DSWeb/Areas/MvcShipping/Viewsjs/MsOpSubSeaOrder/MsOpSubSeaArrivalEdit.js

1226 lines
44 KiB
JavaScript

2 years ago
Ext.namespace('Shipping');
Shipping.MsOpSubSeaeArrivalEdit = function (config) {
Ext.applyIf(this, config);
this.initUIComponents();
window.Shipping.MsOpSubSeaeArrivalEdit.superclass.constructor.call(this);
};
Ext.extend(Shipping.MsOpSubSeaeArrivalEdit, Ext.Panel, {
ParentWin: null,
OpStatus: 'add',
StoreList: null,
EditRecord: null,
Editdata: null,
isAudit: null,
accdate: null,
seaeop: "",
seaecustservice: "",
reason: "",
BillType: null,
OrType: null,
initUIComponents: function () {
this.serialNo = 0;
//this.bodyDel = [];
this.itemindex = 1;
//键值维护表_装运方式
//#endregion
//#region 编辑formHead 基本信息
this.formHead = Ext.widget('form', {
region: 'north',
frame: true,
bodyPadding: 5,
collapsed: false,
collapsible: true,
trackResetOnLoad: true,
fieldDefaults: {
margins: '2 2 2 2',
labelAlign: 'right',
flex: 1,
labelWidth: 90,
msgTarget: 'qtip'
},
items: [{
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [{
fieldLabel: 'BSNO',
name: 'BSNO', hidden: true
}, {
fieldLabel: 'ORSTATUS',
name: 'ORSTATUS', hidden: true
}, {
fieldLabel: 'BILLTYPE',
name: 'BILLTYPE', hidden: true, value: 2
}, {
fieldLabel: 'MBLNO',
name: 'MBLNO'
}, {
fieldLabel: 'ORDNO',
readOnly: true,
name: 'ORDNO'
}, {
fieldLabel: 'STATUS',
readOnly: true,
name: 'ORSTATUSREF'
}, {
fieldLabel: 'INPUTBY',
readOnly: true,
name: 'INPUTBY'
}, this.comboxAgent, {
xtype: 'checkboxfield',
boxLabel: 'SPECIAL CHARGE',
name: 'SPCHARGE',
inputValue: true,
checked: true
}]
}
]//end items(fieldset 1)
}); //end this.formEdit
//#endregion
this.StoreUnit = Ext.create('Ext.data.Store', {
fields: ['UNIT']
});
this.StoreUnit.add({ "UNIT": "20FT" });
this.StoreUnit.add({ "UNIT": "40FT" });
this.StoreUnit.add({ "UNIT": "D/O" });
this.StoreUnit.add({ "UNIT": "B/L" });
this.comboxUnit = Ext.create('DsExt.ux.RefTableCombox', {
store: this.StoreUnit,
name: 'Unit',
valueField: 'UNIT',
displayField: 'UNIT'
});
this.StoreFee = Ext.create('Ext.data.Store', {
fields: ['UNIT']
});
this.StoreFee.add({ "UNIT": "CY CHARGE" });
this.StoreFee.add({ "UNIT": "YAS/FAF" });
this.StoreFee.add({ "UNIT": "EBS" });
this.StoreFee.add({ "UNIT": "D/O FEE" });
this.StoreFee.add({ "UNIT": "M.DOC FEE" });
this.StoreFee.add({ "UNIT": "O/F & PSS" });
this.StoreFee.add({ "UNIT": "AFR" });
this.comboxFee = Ext.create('DsExt.ux.RefTableCombox', {
store: this.StoreFee,
name: 'FeeName',
valueField: 'UNIT',
displayField: 'UNIT'
});
this.StoreCurr = Ext.create('DsExt.ux.RefTableStore', {
model: 'MsFeeCurr',
proxy: { url: '/MvcShipping/MsChFee/GetFeeCurrList' }
});
this.StoreCurr.load({ params: { condition: ""} });
this.comboxCurr = Ext.create('DsExt.ux.RefTableCombox', {
store: this.StoreCurr,
forceSelection: true,
name: 'Currency',
valueField: 'CURR',
displayField: 'CURR'
});
2 years ago
//this.storeDrChFee = Ext.create('Ext.data.Store', {
// model: 'MsArrivalFee',
// remoteSort: false,
// proxy: {
// type: 'ajax',
// url: '/MvcShipping/MsOpSubSeaOrder/GetArrivalFeeList',
// reader: {
// id: 'GId',
// root: 'data',
// totalProperty: 'totalCount'
// }
// }
//});
//this.cellEditingDrChFee = Ext.create('Ext.grid.plugin.CellEditing', {
// clicksToEdit: 1
//});
//_this = this;
//this.gridDrChFee = new Ext.grid.GridPanel({
// store: this.storeDrChFee,
// enableHdMenu: false,
// region: "center",
// loadMask: { msg: "Data is LoadingWaiting..." },
// trackMouseOver: true,
// disableSelection: false,
// plugins: [this.cellEditingDrChFee],
// selType: 'cellmodel',
// tbar: [{
// text: 'ADD',
// id: "btnaddfeedetail",
// iconCls: "btnadddetail",
// handler: function (button, event) {
// this.onAddFeeDetailClick(button, event);
// },
// scope: this
// }, '-', {
// text: 'DELETE',
// id: "btndelfeedetail",
// iconCls: "btndeletedetail",
// handler: function (button, event) {
// this.deleteFeeDetail(button, event);
// },
// scope: this
// }],
// columns: [{
// sortable: true,
// dataIndex: 'FEEID',
// header: 'FEEID',
// hidden: true,
// width: 160
// }, {
// sortable: true,
// dataIndex: 'ORDNO',
// header: 'ORDNO',
// hidden: true,
// width: 200
// }, {
// sortable: true,
// dataIndex: 'FeeName',
// header: 'Freight and Charges',
// editor: this.comboxFee,
// width: 250
// }, {
// sortable: true,
// dataIndex: 'Quantity',
// header: 'Volume',
// editor: {
// xtype: 'numberfield',
// keyNavEnabled: false,
// allowDecimals: true,
// decimalPrecision: 3,
// selectOnFocus: true,
// hideTrigger: true,
// mouseWheelEnabled: false,
// enableKeyEvents: true,
// listeners: {
// keydown: function (textfield, e) {
// if (e.getKey() == 40) {
// _this.onNextKeyClick(1, 4)
// }
// }
// }
// },
// width: 120
// }, {
// sortable: true,
// dataIndex: 'Currency',
// header: 'Currency',
// editor: this.comboxCurr,
// width: 140
// }, {
// sortable: true,
// dataIndex: 'EXCHANGERATE',
// header: 'Ex.Rate',
// editor: {
// xtype: 'numberfield',
// keyNavEnabled: false,
// selectOnFocus: true,
// hideTrigger: true,
// mouseWheelEnabled: false,
// enableKeyEvents: true,
// listeners: {
// keydown: function (textfield, e) {
// if (e.getKey() == 40) {
// _this.onNextKeyClick(1, 3)
// }
// }
// }
// },
// 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: 'UnitPrice',
// header: 'UnitPrice',
// editor: {
// xtype: 'numberfield',
// keyNavEnabled: false,
// selectOnFocus: true,
// hideTrigger: true,
// mouseWheelEnabled: false,
// enableKeyEvents: true,
// listeners: {
// keydown: function (textfield, e) {
// if (e.getKey() == 40) {
// _this.onNextKeyClick(1, 3)
// }
// }
// }
// },
// 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: 160
// }, {
// sortable: true,
// dataIndex: 'Unit',
// header: 'Unit',
// editor: this.comboxUnit,
// width: 140
// }, {
// sortable: true,
// dataIndex: 'AmountUsd',
// header: 'Amount($)',
// editor: {
// xtype: 'numberfield',
// keyNavEnabled: false,
// selectOnFocus: true,
// hideTrigger: true,
// mouseWheelEnabled: false,
// enableKeyEvents: true
// },
// 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: 180
// }, {
// sortable: true,
// dataIndex: 'AmountJpy',
// header: 'Amount(¥)',
// editor: {
// xtype: 'numberfield',
// keyNavEnabled: false,
// selectOnFocus: true,
// hideTrigger: true,
// mouseWheelEnabled: false,
// enableKeyEvents: true,
// listeners: {
// keydown: function (textfield, e) {
// if (e.getKey() == 40) {
// _this.onNextKeyClick(1, 5)
// }
// }
// }
// },
// 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: 180
// }
// ]
//});
//this.gridDrChFee.on('edit', function (editor, e, eOpts) {
// this.gridListChFeeAfterEdit(editor, e, eOpts);
//}, this);
2 years ago
this.StoreOfficeAddr = Ext.create('DsExt.ux.RefTableStore', {
model: 'MsSubSeaOrderYard',
proxy: { url: '/MvcShipping/MsOpSubSeaOrder/GetArrivalYardList' }
});
this.StoreOfficeAddr.load({ params: { condition: ""} });
// this.StoreOfficeAddr = Ext.create('Ext.data.Store', {
// fields: ['UNIT', 'VALUES']
// });
// this.StoreOfficeAddr.add({ "UNIT": "本牧BC-1山九", "VALUES": "本牧BC-1山九\nTEL:045-623-1924" });
// this.StoreOfficeAddr.add({ "UNIT": "青海 A-1 山九", "VALUES": "青海 A-1 山九\nTEL:03-3529-3915" });
// this.StoreOfficeAddr.add({ "UNIT": "夢洲C10-12 住友倉庫(4ED71)", "VALUES": "夢洲C10-12 住友倉庫(4ED71)\nTEL:06-6612-1324" });
// this.StoreOfficeAddr.add({ "UNIT": "本牧 D-4 APL", "VALUES": "本牧 D-4 APL\nTEL:045-625-4321" });
// this.StoreOfficeAddr.add({ "UNIT": "青海 A-2 住友倉庫", "VALUES": "青海 A-2 住友倉庫\nTEL:03-3528-0850" });
// this.StoreOfficeAddr.add({ "UNIT": "苫小牧国際コンテナターミナル", "VALUES": "苫小牧国際コンテナターミナル\nTEL:0145-26-8333" });
this.comboxOfficeAddr = Ext.create('DsExt.ux.RefTableCombox', {
store: this.StoreOfficeAddr,
name: 'OFFICEADDRID',
fieldLabel: '搬入場所',
valueField: 'YARDCODE',
displayField: 'YARDCODE',
listeners: {
scope: this,
'select': function (combo, records, eOpts) {
if (records.length > 0) {
var selectrecords = DsStoreQueryBy(this.StoreOfficeAddr, 'YARDCODE', combo.value);
if (selectrecords.getCount() > 0) {
var selectdata = selectrecords.getAt(0).data;
this.formEdit.getForm().findField('OFFICEADDR').setValue(selectdata.DESCRIP);
} else {
this.formEdit.getForm().findField('OFFICEADDR').setValue('');
}
}
}
}
});
this.StoreDOAddr = Ext.create('Ext.data.Store', {
fields: ['UNIT', 'VALUES']
});
this.StoreDOAddr.add({ "UNIT": "D/O LESS", "VALUES": "D/O LESS\n返信用書類はございません。NACCSにて御確認下さい。" });
this.StoreDOAddr.add({ "UNIT": "D/O ID NO.", "VALUES": "D/O ID NO.をお伝えします。" });
this.comboxDOAddr = Ext.create('DsExt.ux.RefTableCombox', {
store: this.StoreDOAddr,
name: 'DOADDRID',
fieldLabel: 'D/O発行場所',
region: 'west',
width: 260,
valueField: 'UNIT',
displayField: 'UNIT',
listeners: {
scope: this,
'select': function (combo, records, eOpts) {
if (records.length > 0) {
var selectrecords = DsStoreQueryBy(this.StoreDOAddr, 'UNIT', combo.value);
if (selectrecords.getCount() > 0) {
var selectdata = selectrecords.getAt(0).data;
this.formEdit.getForm().findField('DOADDR').setValue(selectdata.VALUES);
} else {
this.formEdit.getForm().findField('DOADDR').setValue('');
}
}
}
}
});
this.StoreISSUETYPE = Ext.create('Ext.data.Store', {
fields: ['UNIT', 'VALUES']
});
this.StoreISSUETYPE.add({ "UNIT": "SURRENDER", "VALUES": "电放" });
this.StoreISSUETYPE.add({ "UNIT": "ORIGINAL", "VALUES": "正本" });
this.comboxISSUETYPE = Ext.create('DsExt.ux.RefTableCombox', {
store: this.StoreISSUETYPE,
name: 'ISSUETYPE',
fieldLabel: 'ISSUE TYPE',
valueField: 'VALUES',
displayField: 'UNIT'
});
this.panelfee = new Ext.Panel({
title: 'Charge Information',
layout: "border",
region: 'center',
height: 280,
animate: true,
// autoScroll: true,
// containerScroll: true,
frame: false,
items: [this.gridDrChFee]
});
//#region 编辑formEdit 基本信息
this.formEdit = Ext.widget('form', {
region: 'north',
frame: true,
bodyPadding: 5,
layout: 'anchor',
trackResetOnLoad: true,
fieldDefaults: {
margins: '2 2 2 2',
labelAlign: 'right',
flex: 1,
labelWidth: 90,
msgTarget: 'qtip'
},
items: [{
xtype: 'fieldset',
defaultType: 'textfield',
layout: 'hbox',
defaults: {
anchor: '96%'
},
items: [{
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [{
fieldLabel: 'GID',
name: 'GID', hidden: true
}, {
fieldLabel: 'ORDNO',
readOnly: true,
hidden: true,
name: 'ORDNO'
}, {
fieldLabel: 'INPUTBY',
readOnly: true,
hidden: true,
name: 'INPUTBY'
}]
}, {
xtype: 'container',
layout: 'anchor',
flex: 1,
defaultType: 'textfield',
items: [{
xtype: 'label',
html: '<html>Messrs </html>'
}, {
xtype: 'textareafield',
grow: true,
labelWidth: 0,
height: 90,
name: 'MESSRS',
anchor: '100%'
}, {
fieldLabel: 'Ref No.',
readOnly: true,
flex: 1,
name: 'REFNO'
}
]
}, {
xtype: 'container',
layout: 'anchor',
flex: 1,
defaultType: 'textfield',
items: [{
xtype: 'label',
html: "<html><a><font size='8' color='blue'>&nbsp&nbspARRIVAL NOTICE </font></a></html>"
}
]
}
]
}, {
xtype: 'container',
layout: 'anchor',
flex: 1,
defaultType: 'textfield',
defaults: {
anchor: '99%'
},
items: [{
xtype: 'container',
defaultType: 'textfield',
layout: 'hbox',
items: [{
fieldLabel: 'Place of Receipt',
name: 'PLACERECEIPT'
}, {
fieldLabel: 'Vessel',
flex: 1,
name: 'VESSEL'
}, {
fieldLabel: 'VoyNo',
flex: 1,
name: 'VOYNO'
}, {
fieldLabel: 'HB/L No.',
flex: 1,
name: 'HBLNO'
}]
}, {
xtype: 'container',
defaultType: 'textfield',
layout: 'hbox',
items: [{
fieldLabel: 'Via',
name: 'VIA'
}, {
fieldLabel: '2nd Vessel',
flex: 1,
name: 'N2VESSEL'
}, {
fieldLabel: 'VoyNo',
flex: 1,
name: 'N2VOYNO'
}, {
fieldLabel: 'MB/L No.',
flex: 1,
name: 'MBLNO'
}]
}, {
xtype: 'container',
defaultType: 'textfield',
layout: 'hbox',
items: [{
fieldLabel: 'Port of Loading',
name: 'PORTLOAD'
}, {
fieldLabel: 'Port of Discharge',
name: 'PORTDISCHARGE'
}, {
fieldLabel: 'ETA',
format: 'Y-m-d',
flex: 1,
xtype: 'datefield',
name: 'ETA'
}, {
fieldLabel: 'Free Time',
format: 'Y-m-d',
flex: 1,
xtype: 'datefield',
name: 'FREETIME'
}]
}, {
xtype: 'container',
defaultType: 'textfield',
layout: 'hbox',
items: [{
xtype: 'container',
layout: 'anchor',
flex: 1,
defaultType: 'textfield',
items: [{
xtype: 'textareafield',
fieldLabel: 'Place of Delivery',
grow: true,
height: 70,
name: 'PLACEDELIVERY',
anchor: '100%'
}
]
}, {
xtype: 'container',
layout: 'anchor',
flex: 1,
defaultType: 'textfield',
items: [
this.comboxOfficeAddr,
{
xtype: 'textareafield',
fieldLabel: '&nbsp&nbsp',
grow: true,
height: 50,
name: 'OFFICEADDR',
anchor: '100%'
}
]
}, {
xtype: 'container',
layout: 'anchor',
flex: 2,
defaultType: 'textfield',
items: [{
xtype: 'label',
html: "<html><a><font size='2' color='blue'>&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp※入港日は荒天・港閉鎖等による船の遅れの影響で変更になる場合がございますので予めご了承下さい。</font></a></html>"
},
{
xtype: 'label',
html: "<html><a><font size='2' color='blue'><br>&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp※Free Timeは直接ヤードにお問合せ下さい</font></a></html>"
}
]
}]
}, {
xtype: 'container',
defaultType: 'textfield',
layout: 'hbox',
items: [{
xtype: 'container',
layout: 'anchor',
flex: 1,
defaultType: 'textfield',
items: [this.comboxDOAddr, {
xtype: 'textareafield',
fieldLabel: ' ',
region: 'center',
grow: true,
height: 60,
name: 'DOADDR',
anchor: '100%'
}
]
}, {
xtype: 'container',
layout: 'anchor',
flex: 1,
defaultType: 'textfield',
items: [{
xtype: 'label',
html: "<html><a><font size='3' color='blue'>&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspリリース先を明記の上、振込明細とアライバルを</font></a></html>"
},
{
xtype: 'label',
html: "<html><a><font size='3' color='blue'><br>&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspFAX願います。FAX No.078-367-8329</font></a></html>"
}, this.comboxISSUETYPE
]
}]
}, {
xtype: 'container',
defaultType: 'textfield',
layout: 'hbox',
items: [{
xtype: 'container',
layout: 'anchor',
flex: 2,
defaultType: 'textfield',
items: [{
xtype: 'label',
html: '<html>Container No.Marks & Numbers </html>'
}, {
xtype: 'textareafield',
grow: true,
height: 180,
name: 'MARKS',
anchor: '100%'
}
]
}, {
xtype: 'container',
layout: 'anchor',
flex: 3,
defaultType: 'textfield',
items: [{
xtype: 'label',
html: '<html>&nbsp&nbsp&nbsp&nbsp&nbspQuantity&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspDescription of Goods</html>'
}, {
xtype: 'textareafield',
grow: true,
fieldLabel: '&nbsp&nbsp',
labelSeparator: '',
labelWidth: 20,
height: 180,
name: 'DESCRIPTION',
anchor: '100%'
}]
}, {
xtype: 'container',
layout: 'anchor',
flex: 1,
defaultType: 'textfield',
items: [{
xtype: 'label',
html: '<html>&nbsp&nbsp&nbsp&nbsp&nbspGross Weight</html>'
}, {
labelWidth: 50,
name: 'KGS'
}
]
}, {
xtype: 'container',
layout: 'anchor',
flex: 1,
defaultType: 'textfield',
items: [{
xtype: 'label',
html: '<html>&nbsp&nbsp&nbsp&nbsp&nbspMeasurement</html>'
}, {
labelWidth: 50,
name: 'CBM'
}
]
}
]
}]
2 years ago
}
2 years ago
]
}); //end this.formEdit
//#endregion
//#region 按钮Toolbar
this.panelBtn = new Ext.Panel({
region: "north",
tbar: [{
text: "Print",
iconCls: 'btnprint',
handler: function (button, event) {
this.Print();
},
scope: this
}, '-', {
id: 'btnESave',
text: "Save",
iconCls: "btnsave",
handler: function (button, event) {
this.Save('0');
},
scope: this
}, '-', {
text: "Close",
iconCls: "btnlogout",
handler: function (button, event) {
window.close();
},
scope: this
}]
}); //end 按钮Toolbar
//#endregion
//#region 框架结构
this.panelpage = new Ext.Panel({
title: 'information',
layout: "border",
region: 'center',
animate: true,
autoScroll: true,
// containerScroll: true,
frame: false,
items: [this.formEdit]
});
2 years ago
this.panelFee = new Shipping.FeeEditGrid({
region: 'center',
layout: 'border'
});
2 years ago
2 years ago
this.panelFee.stroplb = 'op_other';
this.panelFee.StoreCustType.add({ "SCUSTTYPE": "WTDW-委托单位", "CUSTTYPE": "委托单位", "CUSTNAME": "" });
this.panelFee.StoreCustType.add({ "SCUSTTYPE": "BGH-报关行", "CUSTTYPE": "报关行", "CUSTNAME": "" });
this.panelFee.StoreCustType.add({ "SCUSTTYPE": "HG-海关", "CUSTTYPE": "海关", "CUSTNAME": "" });
this.panelFee.StoreCustType.add({ "SCUSTTYPE": "DCDL-订舱代理", "CUSTTYPE": "订舱代理", "CUSTNAME": "" });
this.panelFee.StoreDrOpRange.load({ params: { optype: "modOtherRecvFeeManagement" } });
this.panelFee.StoreCrOpRange.load({ params: { optype: "modOtherPayFeeManagement" } });
this.panelFee.storeFeeNameRef.load({ params: { condition: "" } });
this.panelFee.storeBodyList_GuDingFeeWeiHu.load();
this.panelfee = new Ext.Panel({
title: 'Charge Information',
layout: "border",
region: 'center',
animate: true,
autoScroll: true,
// containerScroll: true,
frame: false,
items: [this.panelFee]
});
2 years ago
this.tabSeaepanel = new Ext.TabPanel({
activeTab: 0,
autoWidth: true,
border: true,
frame: false,
region: 'center',
id: "TabSeaePanel",
enableTabScroll: true,
items:
[
2 years ago
this.panelpage,
this.panelfee
2 years ago
]
});
this.panelSeae = new Ext.Panel({
id: 'pnlmodSeaeOrderArrivalInfo',
layout: "border",
region: 'center',
animate: true,
autoScroll: true,
frame: false,
//closable:true,
items: [this.panelBtn, this.tabSeaepanel]
});
Ext.apply(this, {
items: [this.panelSeae]
});
//#endregion
//#region 其他
parentWin = window.parent.opener;
this.InitData();
//#endregion
}, //end initUIComponents
//#region 加载事件
InitData: function () {
this.opStatus = 'edit';
var condition = '';
_this = this;
if (parentWin) {
var ret = parentWin.OprationSwap();
this.StoreList = ret[1];
this.editRecord = ret[2];
this.isAudit = ret[3];
this.BillType = ret[4];
this.OrType = ret[5];
}
if (this.opStatus == 'edit') {
condition = "ORDNO='" + this.editRecord.get('ORDNO') + "'";
}
this.LoadData(this.opStatus, condition, this.editRecord.get('ORDNO'));
}, //end InitData
LoadData: function (opstatus, condition, ordno) {
this.serialNo = 0;
//this.bodyDel = [];
this.opStatus = opstatus;
Ext.Ajax.request({
waitMsg: 'Is Loading...',
url: '/MvcShipping/MsOpSubSeaOrder/GetArrivalData',
params: {
handle: opstatus,
condition: condition,
ordno: ordno
},
callback: function (options, success, response) {
if (success) {
var result = Ext.JSON.decode(response.responseText);
if (!result.Success) {
Ext.Msg.show({
title: 'Prompt',
msg: result.Message,
icon: Ext.MessageBox.ERROR,
buttons: Ext.Msg.OK
});
return;
}
data = result.data;
this.formEdit.getForm().reset();
this.formEdit.getForm().setValues(data);
this.GetEditStatus();
} else {
Ext.MessageBox.alert('The Server Response Error, Please Try Again', response.responseText);
}
},
scope: this
});
2 years ago
this.panelFee.EditRecord = this.editRecord;
this.panelFee.strBSNO = this.editRecord.get("ORDNO");
this.panelFee.storeDrChFee.load({ params: { billno: this.panelFee.strBSNO, type: 1, optype: "op_other" } });
this.panelFee.storeCrChFee.load({ params: { billno: this.panelFee.strBSNO, type: 2, optype: "op_other" } });
2 years ago
}, // end LoadDate
//#endregion
//#region 保存
Save: function (type) {
var basicForm = this.formEdit.getForm();
if (!basicForm.isValid()) {
return;
}
var eta = this.formEdit.getForm().findField('ETA').getValue();
if (eta == "" || eta == NaN || eta == null) {
Ext.Msg.show({ title: 'Warning', msg: "ETA Can't Empty", icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK });
return;
}
var feedatas = [];
2 years ago
//for (var i = 0; i < this.storeDrChFee.getCount(); i += 1) {
// var member = this.storeDrChFee.getAt(i);
2 years ago
2 years ago
// feedatas.push(member);
//}
2 years ago
//
var jsonfee = ConvertRecordsToJsonAll(feedatas);
this.formEdit.getForm().findField('ORDNO').setDisabled(false);
var data = this.formEdit.getForm().getValues(false, false, false);
this.formEdit.getForm().findField('ORDNO').setDisabled(true);
//
Ext.Msg.wait('Saveing, Please Wait..');
Ext.Ajax.request({
waitMsg: 'Saveing...',
url: '/MvcShipping/MsOpSubSeaOrder/SaveArrival',
scope: this,
params: {
opstatus: this.opStatus,
data: Ext.JSON.encode(data),
fee: jsonfee
},
callback: function (options, success, response) {
if (success) {
Ext.MessageBox.hide();
var jsonresult = Ext.JSON.decode(response.responseText);
if (jsonresult.Success) {
var returnData = jsonresult.Data;
this.formEdit.getForm().reset();
this.formEdit.getForm().setValues(returnData);
//
if (this.opStatus == 'add') {
2 years ago
var arrNewRecords = this.StoreList.add(returnData);
this.editRecord = arrNewRecords[0];
2 years ago
}
else if (this.opStatus == 'edit') {
2 years ago
var editp = Ext.create('MsSubSeaArrivalModel', returnData);
this.editRecord.fields.each(function (field) {
if (field.persist) {
name = field.name;
if (name != 'id')
this.editRecord.set(name, editp.get(name));
}
}, this);
this.editRecord.commit();
2 years ago
}
if (type == '0') {
this.opStatus = 'edit';
2 years ago
//for (var j = 0; j < this.storeDrChFee.getCount(); j += 1) {
// var memberbody = this.storeDrChFee.getAt(j);
// memberbody.set("ORDNO", this.editRecord.get('ORDNO'));
// memberbody.commit();
//};
2 years ago
} else if (type == '1') {
window.close();
}
2 years ago
this.panelFee.EditRecord = this.editRecord;
this.panelFee.strBSNO = this.editRecord.get("ORDNO");
this.panelFee.storeDrChFee.load({ params: { billno: this.panelFee.strBSNO, type: 1, optype: "op_other" } });
this.panelFee.storeCrChFee.load({ params: { billno: this.panelFee.strBSNO, type: 2, optype: "op_other" } });
2 years ago
} else {
Ext.Msg.show({ title: 'Error', msg: jsonresult.Message, icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK });
}
} else {
Ext.Msg.show({ title: 'Please Try Again',
msg: 'The Server Response Error',
icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK
});
}
}
});
}, //end save
//#endregion
//#region 集装箱按钮事件
gridListChFeeAfterEdit: function (editor, e, eOpts) {
if (e.value == e.originalValue) return;
if (e.field == 'UnitPrice' || e.field == 'Quantity' || e.field == 'Currency') {
var unitPrice = e.record.data['UnitPrice'];
var quantity = e.record.data['Quantity'];
var amount = (parseFloat(unitPrice).mul(quantity)).toFixed(2);
var curr = e.record.data['Currency'];
if (curr == 'USD') {
e.record.set('AmountUsd', amount)
e.record.set('AmountJpy', 0)
}
else {
e.record.set('AmountUsd', 0)
e.record.set('AmountJpy', amount)
}
}
},
onNextKeyClick: function (type, col) {
var rows = this.gridDrChFee.getSelectionModel().getSelection();
var row = rows[rows.length - 1];
var s = this.gridDrChFee.getStore();
var number = s.indexOf(row) + 1;
if (number == this.gridDrChFee.getStore().getCount()) {
} else {
this.cellEditingDrChFee.startEditByPosition({ row: number, column: col });
}
},
//#endregion
onAddFeeDetailClick: function (button, event) {
var newSerialno = this.DsGetFeeNewNo(this.storeDrChFee);
var record = Ext.create('MsArrivalFee', {
FEEID: NewGuid(),
ORDNO: '*',
SORT: newSerialno,
FeeName: '',
Currency: '',
Reason: '',
UnitPrice: 0,
EXCHANGERATE: 1,
Quantity: 1,
AmountJpy: 0,
AmountUsd: 0,
Unit: ''
});
this.storeDrChFee.add(record);
var n = this.storeDrChFee.getCount();
this.cellEditingDrChFee.startEditByPosition({ row: n - 1, column: 2 });
}, //end onAddDetailClick
deleteFeeDetail: function (button, event) {
var selectedRecords = this.gridDrChFee.selModel.getSelection();
for (var i = 0; i < selectedRecords.length; i++) {
var rec = selectedRecords[i];
if (rec.data.ORDNO == "" || rec.data.ORDNO == "*")//如果是新增但没有保存的数据,没有必要提交到后台
{
this.storeDrChFee.remove(selectedRecords[i]);
}
else {
Ext.MessageBox.confirm('Prompt', 'Sure To Delete This Record', function (btn) {
if (btn == 'yes') {
Ext.Msg.wait('is Deleting...');
Ext.Ajax.request({
waitMsg: 'is Deleting...',
url: '/MvcShipping/MsOpSubSeaOrder/DeleteArrivalFeeDetail',
params: {
data: Ext.JSON.encode(rec.data)
},
callback: function (options, success, response) {
if (success) {
var jsonresult = Ext.JSON.decode(response.responseText);
if (jsonresult.Success) {
this.storeDrChFee.remove(rec);
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: 'Warning', msg: 'The Server Response Error, Please Try Again', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
},
scope: this
}); //end Ext.Ajax.request
}
}, this);
}
//this.storeBodyList.remove(selectedRecords[i]);
}
},
DsGetFeeNewNo: function (store) {
var result = store.getCount();
if (result == 0) {
return 1;
}
var record = store.getAt(result - 1).data.SORT;
result = parseInt(record) + 1;
return result;
},
getToMonth: function () {
var now = new Date();
var year = now.getFullYear(); //年
var month = now.getMonth() + 1; //月
var clock = year + "-";
if (month < 10)
clock = clock + "0" + month;
else
clock = clock + month;
return (clock);
},
//#region 编辑时按钮等的状态
GetEditStatus: function () {
this.setSaveBtnStatus(true);
},
GetStringNum: function (str) {
var num = 0;
if (str == null || str == '') return num;
if (str.length == 0) return num;
var if_find = false;
var str_num = '';
for (var i = 0; i < str.length; i += 1) {
var member = str.substr(i, 1);
if ((member == '0') || (member == '1') || (member == '2') || (member == '3')
|| (member == '4') || (member == '5') || (member == '6') || (member == '7')
|| (member == '8') || (member == '9') || (member == '.') || (member == '-')) {
if (!if_find) {
str_num = str_num + member;
}
} else {
if_find = true;
}
}
return str_num;
},
setBtnStatus: function (enable) {
},
setSaveBtnStatus: function (enable) {
},
//#endregion
//#region 打印
Print: function () {
var basicForm = this.formEdit.getForm();
2 years ago
var billNo = this.editRecord.get('ORDNO');
2 years ago
if (billNo == '*' || billNo == '') {
Ext.Msg.show({ title: '错误', msg: '单据还没有保存,请保存后再打印', icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK });
return;
}
var printType = 'MSOPSUBSEAARRIVAL';
var sql1 = "SELECT * FROM op_sub_seaorder_arrival WHERE ORDNO='" + billNo + "'";
var sql2 = "SELECT * from op_sub_seaorder_arrivalfee WHERE ORDNO='" + billNo + "' ORDER BY SORT";
var sql3 = "";
var sql4 = "";
var sql5 = "";
var sql6 = "";
PrintComm(printType, sql1, sql2, sql3, sql4, sql5, sql6);
}
//#endregion
});