|
|
Ext.namespace('Shipping');
|
|
|
|
|
|
Shipping.PiliangSeaeDoc = function (config) {
|
|
|
Ext.applyIf(this, config);
|
|
|
this.initUIComponents();
|
|
|
window.Shipping.PiliangSeaeDoc.superclass.constructor.call(this);
|
|
|
};
|
|
|
|
|
|
Ext.extend(Shipping.PiliangSeaeDoc, Ext.Panel, {
|
|
|
ParentWin: null,
|
|
|
OpStatus: 'add',
|
|
|
StoreList: null,
|
|
|
EditRecord: null,
|
|
|
region: 'north',
|
|
|
BsNo: '',
|
|
|
feeType:null,
|
|
|
StoreFee: null,
|
|
|
StoreFeeUnit: null,
|
|
|
StoreFeeCust:null,
|
|
|
|
|
|
|
|
|
initUIComponents: function () {
|
|
|
|
|
|
this.strBSNO = '';
|
|
|
this.stroplb = 'op_Seae';
|
|
|
this.formname = "formPiliangSeaeDoc"; //页面名称
|
|
|
|
|
|
this.formHead = Ext.widget('form', {
|
|
|
frame: true,
|
|
|
region: 'center',
|
|
|
bodyPadding: 5,
|
|
|
fieldDefaults: {
|
|
|
margins: '2 2 2 2',
|
|
|
labelAlign: 'right',
|
|
|
flex: 1,
|
|
|
labelWidth: 90,
|
|
|
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付费方式',
|
|
|
readOnly: true,
|
|
|
name: 'MBLFRT'
|
|
|
}
|
|
|
]
|
|
|
},
|
|
|
{ xtype: 'container',
|
|
|
layout: 'hbox',
|
|
|
defaultType: 'textfield',
|
|
|
items: [{
|
|
|
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'
|
|
|
}
|
|
|
]
|
|
|
},
|
|
|
{ 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.panelTop = new Ext.Panel({
|
|
|
layout: "border",
|
|
|
region: "north",
|
|
|
height: 130,
|
|
|
id: "BillHeadSeae",
|
|
|
items: [this.panelBtn, this.formHead]
|
|
|
});
|
|
|
|
|
|
|
|
|
//#region 单据管理
|
|
|
|
|
|
this.ReceiptDrSerialNo = 0;
|
|
|
this.ReceiptDrBodyDel = [];
|
|
|
this.Loading = true;
|
|
|
this.StoreDrOpRange = Ext.create('DsExt.ux.RefTableStore', {
|
|
|
model: 'MsReceiptOP',
|
|
|
proxy: { url: '/MvcShipping/MsOpReceipt/GetReceiptOpRang' }
|
|
|
});
|
|
|
this.StoreDrOpRange.load({ params: { optype: "modOpReceiptManagement"} });
|
|
|
//明细表-数据集
|
|
|
this.storeDrOpReceipt = Ext.create('Ext.data.Store', {
|
|
|
model: 'MsOpReceiptEntity',
|
|
|
remoteSort: false,
|
|
|
proxy: {
|
|
|
type: 'ajax',
|
|
|
url: '/MvcShipping/MsOpReceipt/GetDataList',
|
|
|
reader: {
|
|
|
id: 'GID',
|
|
|
root: 'data',
|
|
|
totalProperty: 'totalCount'
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
|
|
|
this.cellEditingDrOpReceipt = Ext.create('Ext.grid.plugin.CellEditing', {
|
|
|
clicksToEdit: 1
|
|
|
});
|
|
|
|
|
|
this.ReceiptDrGridCheckBoxModel = Ext.create('Ext.selection.CheckboxModel');
|
|
|
_this = this;
|
|
|
|
|
|
//键值维护表_贸易方式
|
|
|
this.storeCrmKeyCodeCode = Ext.create('DsExt.ux.RefTableStore', {
|
|
|
model: 'DsShipping.ux.CrmKeyCodeModel',
|
|
|
proxy: { url: '/CommMng/BasicDataRef/GetCrmKeyCodeList' }
|
|
|
});
|
|
|
this.storeCrmKeyCodeCode.load({ params: { condition: " and KEYTYPE='单据类型'"} });
|
|
|
this.comboxRECEIPTTYPE = Ext.create('DsExt.ux.RefTableCombox', {
|
|
|
//fieldLabel: '单据类型',
|
|
|
store: this.storeCrmKeyCodeCode,
|
|
|
forceSelection: true,
|
|
|
name: 'RECEIPTTYPE',
|
|
|
valueField: 'KEYVALUE',
|
|
|
displayField: 'KEYVALUE'
|
|
|
});
|
|
|
//
|
|
|
this.columns = [{
|
|
|
sortable: true,
|
|
|
dataIndex: 'GID',
|
|
|
header: '惟一编号',
|
|
|
hidden: true,
|
|
|
width: 0
|
|
|
}, {
|
|
|
sortable: true,
|
|
|
dataIndex: 'BSNO',
|
|
|
header: '业务编号',
|
|
|
hidden: true,
|
|
|
width: 0
|
|
|
}, {
|
|
|
sortable: true,
|
|
|
dataIndex: 'RECEIPTNO',
|
|
|
header: '单据编号',
|
|
|
editor: {
|
|
|
xtype: 'textfield',
|
|
|
selectOnFocus: true,
|
|
|
enableKeyEvents: true,
|
|
|
listeners: {
|
|
|
keydown: function (textfield, e) {
|
|
|
if (e.getKey() == 40) {
|
|
|
_this.onNextKeyClick(17)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
width: 100
|
|
|
}, {
|
|
|
sortable: true,
|
|
|
dataIndex: 'RECEIPTTYPE',
|
|
|
header: '单据类型',
|
|
|
editor: this.comboxRECEIPTTYPE,
|
|
|
width: 80
|
|
|
}, {
|
|
|
sortable: true,
|
|
|
dataIndex: 'RECEIVE_MAN',
|
|
|
header: '接单人',
|
|
|
//editor: SHOWNAME,
|
|
|
editor: {
|
|
|
xtype: 'textfield',
|
|
|
selectOnFocus: true,
|
|
|
enableKeyEvents: true,
|
|
|
listeners: {
|
|
|
keydown: function (textfield, e) {
|
|
|
if (e.getKey() == 40) {
|
|
|
_this.onNextKeyClick(17)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
width: 80
|
|
|
}, {
|
|
|
sortable: true,
|
|
|
dataIndex: 'RECEIVE_DATE',
|
|
|
header: '接单日期',
|
|
|
renderer: Ext.util.Format.dateRenderer('Y-m-d'), //format是'm/d/Y',结果是”09/24/2008”
|
|
|
editor: {
|
|
|
//dateFormat: Ext.util.Format.dateRenderer('Y-m-d'),
|
|
|
format: 'Y-m-d',
|
|
|
xtype: 'datefield',
|
|
|
selectOnFocus: true
|
|
|
},
|
|
|
width: 80
|
|
|
}, {
|
|
|
sortable: true,
|
|
|
dataIndex: 'SEND_MAN',
|
|
|
header: '送单人',
|
|
|
//editor: SHOWNAME,
|
|
|
editor: {
|
|
|
xtype: 'textfield',
|
|
|
selectOnFocus: true,
|
|
|
enableKeyEvents: true,
|
|
|
listeners: {
|
|
|
keydown: function (textfield, e) {
|
|
|
if (e.getKey() == 40) {
|
|
|
_this.onNextKeyClick(17)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
width: 80
|
|
|
}, {
|
|
|
sortable: true,
|
|
|
dataIndex: 'SEND_DATE',
|
|
|
header: '送单日期',
|
|
|
renderer: Ext.util.Format.dateRenderer('Y-m-d'), //format是'm/d/Y',结果是”09/24/2008”
|
|
|
editor: {
|
|
|
//dateFormat: Ext.util.Format.dateRenderer('Y-m-d'),
|
|
|
format: 'Y-m-d',
|
|
|
xtype: 'datefield',
|
|
|
selectOnFocus: true
|
|
|
},
|
|
|
width: 80
|
|
|
}, {
|
|
|
sortable: true,
|
|
|
dataIndex: 'TRANCER',
|
|
|
header: '送单快递公司',
|
|
|
editor: {
|
|
|
xtype: 'textfield',
|
|
|
selectOnFocus: true,
|
|
|
enableKeyEvents: true,
|
|
|
listeners: {
|
|
|
keydown: function (textfield, e) {
|
|
|
if (e.getKey() == 40) {
|
|
|
_this.onNextKeyClick(17)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
width: 80
|
|
|
}, {
|
|
|
sortable: true,
|
|
|
dataIndex: 'TRANCNO',
|
|
|
header: '送单快递单号',
|
|
|
editor: {
|
|
|
xtype: 'textfield',
|
|
|
selectOnFocus: true,
|
|
|
enableKeyEvents: true,
|
|
|
listeners: {
|
|
|
keydown: function (textfield, e) {
|
|
|
if (e.getKey() == 40) {
|
|
|
_this.onNextKeyClick(17)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
width: 80
|
|
|
}, {
|
|
|
sortable: true,
|
|
|
dataIndex: 'ISREPEAT',
|
|
|
header: '是否回单',
|
|
|
//xtype: "checkboxfield",
|
|
|
//xtype:"booleancolumn",
|
|
|
//trueText: "是",
|
|
|
//falseText: " ",
|
|
|
editor: {
|
|
|
xtype: 'checkboxfield'
|
|
|
},
|
|
|
width: 60
|
|
|
}, {
|
|
|
sortable: true,
|
|
|
dataIndex: 'REPEAT_MAN',
|
|
|
header: '回单人',
|
|
|
//editor: SHOWNAME,
|
|
|
editor: {
|
|
|
xtype: 'textfield',
|
|
|
selectOnFocus: true,
|
|
|
enableKeyEvents: true,
|
|
|
listeners: {
|
|
|
keydown: function (textfield, e) {
|
|
|
if (e.getKey() == 40) {
|
|
|
_this.onNextKeyClick(17)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
width: 80
|
|
|
}, {
|
|
|
sortable: true,
|
|
|
dataIndex: 'REPEAT_DATE',
|
|
|
header: '回单日期',
|
|
|
renderer: Ext.util.Format.dateRenderer('Y-m-d'), //format是'm/d/Y',结果是”09/24/2008”
|
|
|
editor: {
|
|
|
//dateFormat: Ext.util.Format.dateRenderer('Y-m-d'),
|
|
|
format: 'Y-m-d',
|
|
|
xtype: 'datefield',
|
|
|
selectOnFocus: true
|
|
|
},
|
|
|
width: 80
|
|
|
}, {
|
|
|
sortable: true,
|
|
|
dataIndex: 'ISRECEIVE',
|
|
|
header: '是否还单',
|
|
|
editor: {
|
|
|
xtype: 'checkboxfield'
|
|
|
},
|
|
|
width: 60
|
|
|
}, {
|
|
|
sortable: true,
|
|
|
dataIndex: 'RETURN_MAN',
|
|
|
header: '还单人',
|
|
|
//editor: SHOWNAME,
|
|
|
editor: {
|
|
|
xtype: 'textfield',
|
|
|
selectOnFocus: true,
|
|
|
enableKeyEvents: true,
|
|
|
listeners: {
|
|
|
keydown: function (textfield, e) {
|
|
|
if (e.getKey() == 40) {
|
|
|
_this.onNextKeyClick(17)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
width: 80
|
|
|
}, {
|
|
|
sortable: true,
|
|
|
dataIndex: 'RETURN_DATE',
|
|
|
header: '还单日期',
|
|
|
renderer: Ext.util.Format.dateRenderer('Y-m-d'), //format是'm/d/Y',结果是”09/24/2008”
|
|
|
editor: {
|
|
|
//dateFormat: Ext.util.Format.dateRenderer('Y-m-d'),
|
|
|
format: 'Y-m-d',
|
|
|
xtype: 'datefield',
|
|
|
selectOnFocus: true
|
|
|
},
|
|
|
width: 80
|
|
|
}, {
|
|
|
sortable: true,
|
|
|
dataIndex: 'RETURN_TRANCER',
|
|
|
header: '还单的快递公司',
|
|
|
editor: {
|
|
|
xtype: 'textfield',
|
|
|
selectOnFocus: true,
|
|
|
enableKeyEvents: true,
|
|
|
listeners: {
|
|
|
keydown: function (textfield, e) {
|
|
|
if (e.getKey() == 40) {
|
|
|
_this.onNextKeyClick(17)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
width: 100
|
|
|
}, {
|
|
|
sortable: true,
|
|
|
dataIndex: 'RETURN_TRANCNO',
|
|
|
header: '还单的快递单号',
|
|
|
editor: {
|
|
|
xtype: 'textfield',
|
|
|
selectOnFocus: true,
|
|
|
enableKeyEvents: true,
|
|
|
listeners: {
|
|
|
keydown: function (textfield, e) {
|
|
|
if (e.getKey() == 40) {
|
|
|
_this.onNextKeyClick(17)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
width: 100
|
|
|
}, {
|
|
|
sortable: true,
|
|
|
dataIndex: 'REMARK',
|
|
|
header: '备注',
|
|
|
editor: {
|
|
|
xtype: 'textfield',
|
|
|
selectOnFocus: true,
|
|
|
enableKeyEvents: true,
|
|
|
listeners: {
|
|
|
keydown: function (textfield, e) {
|
|
|
if (e.getKey() == 40) {
|
|
|
_this.onNextKeyClick(17)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
width: 200
|
|
|
}, {
|
|
|
sortable: true,
|
|
|
dataIndex: 'CORPID',
|
|
|
header: '分公司代码',
|
|
|
hidden: true,
|
|
|
width: 0
|
|
|
}, {
|
|
|
sortable: true,
|
|
|
dataIndex: 'CREATEUSER',
|
|
|
header: '创建人',
|
|
|
width: 0
|
|
|
}, {
|
|
|
sortable: true,
|
|
|
dataIndex: 'CREATETIME',
|
|
|
header: '创建时间',
|
|
|
width: 0
|
|
|
}, {
|
|
|
sortable: true,
|
|
|
dataIndex: 'MODIFIEDUSER',
|
|
|
header: '最后更改人',
|
|
|
width: 0
|
|
|
}, {
|
|
|
sortable: true,
|
|
|
dataIndex: 'MODIFIEDTIME',
|
|
|
header: '最后更改时间',
|
|
|
width: 0
|
|
|
}];
|
|
|
|
|
|
this.gridDrOpReceipt = new Ext.grid.GridPanel({
|
|
|
store: this.storeDrOpReceipt,
|
|
|
enableHdMenu: false,
|
|
|
region: 'center',
|
|
|
id: 'gridDrOpReceipt',
|
|
|
|
|
|
loadMask: { msg: "数据加载中,请稍等..." },
|
|
|
trackMouseOver: true,
|
|
|
disableSelection: false,
|
|
|
plugins: [this.cellEditingDrOpReceipt],
|
|
|
selModel: this.ReceiptDrGridCheckBoxModel,
|
|
|
selType: 'cellmodel',
|
|
|
viewConfig: {
|
|
|
autoFill: true
|
|
|
},
|
|
|
|
|
|
tbar: [{
|
|
|
text: '',
|
|
|
tooltip: '添加',
|
|
|
iconCls: "btnadd",
|
|
|
handler: function (button, event) {
|
|
|
this.onAddDetailClick(button, event);
|
|
|
},
|
|
|
scope: this
|
|
|
}, '-', {
|
|
|
text: '',
|
|
|
tooltip: '保存',
|
|
|
iconCls: "btnsave",
|
|
|
handler: function (button, event) {
|
|
|
this.onPostDetailClick(button, event);
|
|
|
},
|
|
|
scope: this
|
|
|
},
|
|
|
'-', {
|
|
|
text: '',
|
|
|
tooltip: '删除',
|
|
|
iconCls: "btndelete",
|
|
|
handler: function (button, event) {
|
|
|
this.onDelDetailClick(button, event);
|
|
|
},
|
|
|
scope: this
|
|
|
}, '-', {
|
|
|
text: '',
|
|
|
tooltip: '取消修改',
|
|
|
iconCls: "btncancel",
|
|
|
handler: function (button, event) {
|
|
|
this.onCancelDetailClick(button, event);
|
|
|
},
|
|
|
scope: this
|
|
|
}, '-', {
|
|
|
text: '',
|
|
|
tooltip: '刷新',
|
|
|
iconCls: "btnrefresh",
|
|
|
handler: function (button, event) {
|
|
|
this.storeDrOpReceipt.load({ params: { billno: this.strBSNO, optype: this.stroplb} });
|
|
|
},
|
|
|
scope: this
|
|
|
}, '-', {
|
|
|
text: '',
|
|
|
tooltip: '打印',
|
|
|
iconCls: "btnprint",
|
|
|
menu:
|
|
|
[{ text: "打印账单",
|
|
|
menu: [{
|
|
|
text: "所选打印",
|
|
|
handler: function (menu, event) {
|
|
|
_this.onPrintSelectDetailClick(menu, event);
|
|
|
}
|
|
|
}, {
|
|
|
text: "所有打印",
|
|
|
handler: function (menu, event) {
|
|
|
_this.onPrintAllDetailClick(menu, event);
|
|
|
}
|
|
|
}]
|
|
|
}, '-', ],
|
|
|
scope: this
|
|
|
}, '-', {
|
|
|
text: "确认送单",
|
|
|
//iconCls: "btnreset",
|
|
|
handler: function (button, event) {
|
|
|
this.onSetRECEIPT("SEND");
|
|
|
},
|
|
|
scope: this
|
|
|
}, {
|
|
|
text: "确认回单",
|
|
|
//iconCls: "btnreset",
|
|
|
handler: function (button, event) {
|
|
|
this.onSetRECEIPT("REPEAT");
|
|
|
},
|
|
|
scope: this
|
|
|
}, {
|
|
|
text: "确认还单",
|
|
|
//iconCls: "btnreset",
|
|
|
handler: function (button, event) {
|
|
|
this.onSetRECEIPT("RETURN");
|
|
|
},
|
|
|
scope: this
|
|
|
}, '-', {
|
|
|
text: "保存列表样式",
|
|
|
id: "btntest",
|
|
|
handler: function (button, event) {
|
|
|
var formname = this.formname;
|
|
|
var tempcolumns = this.gridDrOpReceipt.columns;
|
|
|
DsTruck.SaveGridPanel(USERID, formname, tempcolumns, this.columns, 0, true);
|
|
|
},
|
|
|
scope: this
|
|
|
}],
|
|
|
|
|
|
columns: this.columns
|
|
|
});
|
|
|
|
|
|
_this = this;
|
|
|
|
|
|
/////////////以下部分为获取存储的gridpanel显示样式
|
|
|
this.columns = DsTruck.GetGridPanel(USERID, this.formname, this.columns);
|
|
|
//使用者id,表名 ,中间column数组,跳过一开始的几列
|
|
|
//this.girdcolums.unshift(new Ext.grid.RowNumberer());
|
|
|
this.gridDrOpReceipt.reconfigure(this.storeDrOpReceipt, this.columns);
|
|
|
////////////////////////////
|
|
|
|
|
|
this.cellEditingDrOpReceipt.on('beforeedit', function (editor, e) {
|
|
|
return this.cellEditingOpReceiptBeforeEdit(editor, e);
|
|
|
}, this);
|
|
|
|
|
|
this.gridDrOpReceipt.on('beforeload', function (store) {
|
|
|
|
|
|
Ext.apply(store.proxy.extraParams, { billno: _this.strBSNO, optype: _this.stroplb });
|
|
|
}, this);
|
|
|
|
|
|
this.panelReceipt = new Ext.Panel({
|
|
|
//layout: "anchor",
|
|
|
layout: "border",
|
|
|
anchor: '100% 50%',
|
|
|
height: 350,
|
|
|
region: 'north',
|
|
|
items: [
|
|
|
this.gridDrOpReceipt
|
|
|
]
|
|
|
});
|
|
|
|
|
|
//#endregion
|
|
|
|
|
|
|
|
|
//#region 明细表-单据图片档案管理
|
|
|
|
|
|
|
|
|
|
|
|
this.storeDocList = Ext.create('Ext.data.Store', {
|
|
|
model: 'ReceiptDocmb',
|
|
|
remoteSort: true,
|
|
|
proxy: {
|
|
|
type: 'ajax',
|
|
|
url: '/Import/ReceiptDoc/GetDocList',
|
|
|
reader: {
|
|
|
id: 'GID',
|
|
|
root: 'data',
|
|
|
totalProperty: 'totalCount'
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
|
|
|
//明细表表格
|
|
|
this.DocListCellEditing = Ext.create('Ext.grid.plugin.CellEditing', {
|
|
|
clicksToEdit: 1
|
|
|
});
|
|
|
|
|
|
this.DocCM = Ext.create('Ext.selection.CheckboxModel');
|
|
|
|
|
|
this.gridDocList = new Ext.grid.GridPanel({
|
|
|
store: this.storeDocList,
|
|
|
enableHdMenu: false,
|
|
|
region: 'center',
|
|
|
// width: 350,
|
|
|
loadMask: { msg: "数据加载中,请稍等..." },
|
|
|
trackMouseOver: true,
|
|
|
disableSelection: false,
|
|
|
plugins: [this.DocListCellEditing],
|
|
|
selModel: this.DocCM,
|
|
|
selType: 'cellmodel',
|
|
|
tbar: [{
|
|
|
text: '删除',
|
|
|
tooltip: '删除',
|
|
|
iconCls: "btndeletedetail",
|
|
|
handler: function (button, event) {
|
|
|
this.onDelFileClick(button, event);
|
|
|
},
|
|
|
scope: this
|
|
|
}, '-', {
|
|
|
text: '上传附件',
|
|
|
tooltip: '上传附件',
|
|
|
iconCls: "btnadddetail",
|
|
|
handler: function (button, event) {
|
|
|
this.onUpLoadFileClick(button, event);
|
|
|
},
|
|
|
scope: this
|
|
|
}],
|
|
|
columns: [{
|
|
|
sortable: true, hidden: true,
|
|
|
dataIndex: 'GID',
|
|
|
header: 'GID',
|
|
|
width: 80
|
|
|
},
|
|
|
{
|
|
|
sortable: true, hidden: true,
|
|
|
dataIndex: 'R_GID',
|
|
|
header: 'R_GID',
|
|
|
width: 80
|
|
|
},
|
|
|
{
|
|
|
sortable: true, hidden: true,
|
|
|
dataIndex: 'BSNO',
|
|
|
header: 'BSNO',
|
|
|
width: 80
|
|
|
},
|
|
|
{
|
|
|
sortable: true,
|
|
|
dataIndex: 'URL',
|
|
|
header: '文件名',
|
|
|
width: 200,
|
|
|
renderer: function (value, p, record) {
|
|
|
return '<a href="' + record.data.Driect_URL + '" style=' + '"text-decoration:none"' + ' >' + value + '</a>';
|
|
|
}
|
|
|
},
|
|
|
{
|
|
|
sortable: true, hidden: true,
|
|
|
dataIndex: 'Driect_URL',
|
|
|
header: 'Driect_URL',
|
|
|
width: 80
|
|
|
},
|
|
|
{
|
|
|
sortable: true, hidden: true,
|
|
|
dataIndex: 'MODIFIEDUSER',
|
|
|
header: 'MODIFIEDUSER',
|
|
|
width: 80
|
|
|
},
|
|
|
{
|
|
|
sortable: true,
|
|
|
dataIndex: 'MODIFIEDUSERRef',
|
|
|
header: '上传人',
|
|
|
width: 80
|
|
|
},
|
|
|
{
|
|
|
sortable: true,
|
|
|
dataIndex: 'MODIFIEDTIME',
|
|
|
header: '上传时间',
|
|
|
width: 135
|
|
|
}
|
|
|
]
|
|
|
});
|
|
|
|
|
|
this.storeDocList.on('beforeload', function (store) {
|
|
|
var strBSNO = this.EditRecord.get("BSNO");
|
|
|
var condition2 = " BSNO='" + strBSNO + "' ";
|
|
|
|
|
|
Ext.apply(store.proxy.extraParams, { condition: condition2 });
|
|
|
}, this);
|
|
|
|
|
|
|
|
|
this.panelDoc = new Ext.Panel({
|
|
|
id: "panelDoc",
|
|
|
layout: "border",
|
|
|
region: "center",
|
|
|
//autoScroll: true,
|
|
|
frame: false,
|
|
|
split: true,
|
|
|
items: [this.gridDocList]
|
|
|
});
|
|
|
|
|
|
//#endregion
|
|
|
|
|
|
|
|
|
Ext.apply(this, {
|
|
|
items: [this.panelTop,this.panelReceipt, this.panelDoc]
|
|
|
});
|
|
|
|
|
|
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);
|
|
|
var strBSNO = this.EditRecord.get("BSNO");
|
|
|
this.strBSNO = this.EditRecord.get("BSNO");
|
|
|
this.storeDrOpReceipt.load({ params: { billno: this.strBSNO, optype: "op_Seae"} });
|
|
|
var condition2 = " BSNO='" + strBSNO + "' ";
|
|
|
this.Loading = true;
|
|
|
this.storeDocList.load({
|
|
|
params: { condition: condition2 },
|
|
|
waitMsg: "正在查询数据...",
|
|
|
scope: this,
|
|
|
callback: function () {
|
|
|
this.Loading = false;
|
|
|
}
|
|
|
});
|
|
|
}, // end LoadDate
|
|
|
|
|
|
|
|
|
//#region 明细操作
|
|
|
onNextKeyClick: function (col) {
|
|
|
var rows = this.gridDrOpReceipt.getSelectionModel().getSelection();
|
|
|
var row = rows[rows.length - 1];
|
|
|
var s = this.gridDrOpReceipt.getStore();
|
|
|
var number = s.indexOf(row) + 1;
|
|
|
if (number == this.gridDrOpReceipt.getStore().getCount()) {
|
|
|
this.onAddDetailClick(s, event);
|
|
|
} else {
|
|
|
this.cellEditingDrOpReceipt.startEditByPosition({ row: number, column: col });
|
|
|
}
|
|
|
},
|
|
|
|
|
|
onAddDetailClick: function (button, event) {
|
|
|
var store = this.storeDrOpReceipt;
|
|
|
var newSerialno = this.GetHandleSerialNo(store);
|
|
|
var newsort = store.getCount() + 1;
|
|
|
var myDate = new Date();
|
|
|
//myDate = this.GetDateStr(0);
|
|
|
|
|
|
var record = null;
|
|
|
record = Ext.create('MsOpReceiptEntity', {
|
|
|
GID: NewGuid(), // 惟一编号
|
|
|
BSNO: '*', // 关联编号/业务编号BSNO
|
|
|
RECEIPTNO: '', // 单据编号
|
|
|
RECEIPTTYPE: '', // 单据类型
|
|
|
RECEIVE_MAN: SHOWNAME, // 接单人
|
|
|
RECEIVE_DATE: myDate, // 接单日期
|
|
|
SEND_MAN: '', // 送单人
|
|
|
SEND_DATE: null, // 送单日期
|
|
|
TRANCER: '', // 送单的快递公司
|
|
|
TRANCNO: '', // 送单的快递单号
|
|
|
ISREPEAT: 'false', // 是否回单
|
|
|
REPEAT_MAN: '', // 回单人
|
|
|
REPEAT_DATE: null, // 回单日期
|
|
|
ISRECEIVE: 'false', // 是否还单
|
|
|
RETURN_MAN: '', // 还单人
|
|
|
RETURN_DATE: null, // 还单日期
|
|
|
RETURN_TRANCER: '', // 还单的快递公司
|
|
|
RETURN_TRANCNO: '', // 还单的快递单号
|
|
|
REMARK: '', // 备注
|
|
|
CORPID: '', // 分公司代码
|
|
|
CREATEUSER: USERID, // 创建人GID
|
|
|
CREATETIME: null, // 创建时间
|
|
|
MODIFIEDUSER: USERID, // 更改操作人GID
|
|
|
MODIFIEDTIME: null // 更改操作时间
|
|
|
//Sort: newSerialno,
|
|
|
});
|
|
|
store.add(record);
|
|
|
|
|
|
var editColumnIndex = 1;
|
|
|
var cellediting = this.cellEditingDrOpReceipt;
|
|
|
var n = store.getCount();
|
|
|
cellediting.startEditByPosition({ row: n - 1, column: editColumnIndex });
|
|
|
},
|
|
|
|
|
|
onCancelDetailClick: function (menu, event) {
|
|
|
var store = this.storeDrOpReceipt;
|
|
|
for (var i = 0; i < store.getCount(); i += 1) {
|
|
|
var member = store.getAt(i);
|
|
|
member.reject();
|
|
|
}
|
|
|
},
|
|
|
|
|
|
GetHandleSerialNo: function (store) {
|
|
|
var result = 0;
|
|
|
if (result == 0) {
|
|
|
for (var i = 0; i < store.getCount(); i += 1) {
|
|
|
var member = store.getAt(i);
|
|
|
if (member.data.Sort > result) {
|
|
|
result = member.data.Sort;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
result = parseInt(result) + 1;
|
|
|
return result;
|
|
|
},
|
|
|
|
|
|
//获取日期
|
|
|
GetDateStr: function (AddDayCount) {
|
|
|
var dd = new Date();
|
|
|
dd.setDate(dd.getDate() + AddDayCount); //获取AddDayCount天后的日期
|
|
|
var y = dd.getFullYear();
|
|
|
var m = dd.getMonth() + 1; //获取当前月份的日期
|
|
|
var d = dd.getDate();
|
|
|
return y + "-" + m + "-" + d;
|
|
|
},
|
|
|
//#endregion
|
|
|
|
|
|
//#region 单据确认
|
|
|
onSetRECEIPT: function (onSetType) {
|
|
|
var ReceiptGIDSql = '';
|
|
|
var selectedRecords = this.ReceiptDrGridCheckBoxModel.selected.items;
|
|
|
var candelete = this.CheckOpReceiptDelete(selectedRecords);
|
|
|
if (candelete == false) {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
if (selectedRecords.length == 0) {
|
|
|
Ext.Msg.show({ title: '提示', msg: '请先选择要操作的数据!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
Ext.MessageBox.confirm('提示', '确定要操作选中的数据吗?', function (btn) {
|
|
|
if (btn == 'yes') {
|
|
|
if (selectedRecords.length > 0) {
|
|
|
for (var i = 0; i < selectedRecords.length; i++) {
|
|
|
var rec = selectedRecords[i];
|
|
|
if (rec.data.BSNO == "*") {//如果是新增但没有保存的数据,没有必要提交到后台
|
|
|
this.storeDrOpReceipt.remove(selectedRecords[i]);
|
|
|
} else {
|
|
|
var ReceiptGID = "'" + rec.data.GID + "'";
|
|
|
if (ReceiptGIDSql == '') {
|
|
|
ReceiptGIDSql = ReceiptGID;
|
|
|
} else {
|
|
|
ReceiptGIDSql = ReceiptGIDSql + "," + ReceiptGID;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
_this = this;
|
|
|
Ext.Msg.wait('正在操作数据...');
|
|
|
if (ReceiptGIDSql != '') {
|
|
|
Ext.Ajax.request({
|
|
|
waitMsg: '正在操作数据...',
|
|
|
url: '/MvcShipping/MsOpReceipt/onSetRECEIPT',
|
|
|
params: {
|
|
|
BSNO: _this.strBSNO,
|
|
|
gids: ReceiptGIDSql,
|
|
|
onSetType: onSetType
|
|
|
},
|
|
|
callback: function (options, success, response) {
|
|
|
if (success) {
|
|
|
//Ext.MessageBox.hide();
|
|
|
var jsonresult = Ext.JSON.decode(response.responseText);
|
|
|
if (jsonresult.Success) {
|
|
|
for (var i = 0; i < selectedRecords.length; i++) {
|
|
|
}
|
|
|
|
|
|
this.storeDrOpReceipt.reload();
|
|
|
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 });
|
|
|
},
|
|
|
scope: this
|
|
|
}); //end Ext.Ajax.request
|
|
|
} else {
|
|
|
Ext.Msg.show({ title: '提示', msg: "操作成功!", icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
|
|
|
}
|
|
|
}
|
|
|
}, this);
|
|
|
},
|
|
|
//#endregion
|
|
|
|
|
|
//#region 删除
|
|
|
onDelDetailClick: function (button, event) {
|
|
|
var ReceiptGIDSql = '';
|
|
|
var selectedRecords = this.ReceiptDrGridCheckBoxModel.selected.items;
|
|
|
var candelete = this.CheckOpReceiptDelete(selectedRecords);
|
|
|
if (candelete == false) {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
if (selectedRecords.length == 0) {
|
|
|
Ext.Msg.show({ title: '提示', msg: '请先选择要删除的数据!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
Ext.MessageBox.confirm('提示', '确定要删除选中的数据吗?', function (btn) {
|
|
|
if (btn == 'yes') {
|
|
|
if (selectedRecords.length > 0) {
|
|
|
for (var i = 0; i < selectedRecords.length; i++) {
|
|
|
var rec = selectedRecords[i];
|
|
|
if (rec.data.BSNO == "*") {//如果是新增但没有保存的数据,没有必要提交到后台
|
|
|
this.storeDrOpReceipt.remove(selectedRecords[i]);
|
|
|
} else {
|
|
|
var ReceiptGID = "'" + rec.data.GID + "'";
|
|
|
if (ReceiptGIDSql == '') {
|
|
|
ReceiptGIDSql = ReceiptGID;
|
|
|
} else {
|
|
|
ReceiptGIDSql = ReceiptGIDSql + "," + ReceiptGID;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
_this = this;
|
|
|
Ext.Msg.wait('正在删除数据...');
|
|
|
if (ReceiptGIDSql != '') {
|
|
|
Ext.Ajax.request({
|
|
|
waitMsg: '正在删除数据...',
|
|
|
url: '/MvcShipping/MsOpReceipt/Delete',
|
|
|
params: {
|
|
|
BSNO: _this.strBSNO,
|
|
|
data: ReceiptGIDSql
|
|
|
},
|
|
|
callback: function (options, success, response) {
|
|
|
if (success) {
|
|
|
var jsonresult = Ext.JSON.decode(response.responseText);
|
|
|
if (jsonresult.Success) {
|
|
|
for (var i = 0; i < selectedRecords.length; i++) {
|
|
|
this.storeDrOpReceipt.remove(selectedRecords[i]);
|
|
|
}
|
|
|
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
|
|
|
} else {
|
|
|
Ext.Msg.show({ title: '提示', msg: "删除成功!", icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
|
|
|
}
|
|
|
}
|
|
|
}, this);
|
|
|
},
|
|
|
//#endregion
|
|
|
|
|
|
//#region 操作权限判断
|
|
|
CheckOpReceiptDelete: function (records) {
|
|
|
for (var i = 0; i < records.length; i++) {
|
|
|
var rec = records[i];
|
|
|
var MODIFIEDUSER = rec.data.MODIFIEDUSER;
|
|
|
var recop = DsStoreQueryBy(this.StoreDrOpRange, 'OPID', MODIFIEDUSER);
|
|
|
if (recop.getCount() > 0) {
|
|
|
} else {
|
|
|
Ext.Msg.show({ title: '提示', msg: '你没有权限操作此信息!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
|
|
|
canDelete = false;
|
|
|
}
|
|
|
}
|
|
|
return true;
|
|
|
},
|
|
|
//#endregion
|
|
|
|
|
|
//#region 保存
|
|
|
onPostDetailClick: function (button, event) {
|
|
|
var bodyDrOpReceiptDatas = [];
|
|
|
for (var i = 0; i < this.storeDrOpReceipt.getCount(); i += 1) {
|
|
|
var memberyf = this.storeDrOpReceipt.getAt(i);
|
|
|
bodyDrOpReceiptDatas.push(memberyf);
|
|
|
};
|
|
|
var jsonOpReceiptBody = ConvertFeeRecordsToJson(bodyDrOpReceiptDatas);
|
|
|
//
|
|
|
_this = this;
|
|
|
Ext.Msg.wait('正在保存数据, 请稍侯..');
|
|
|
Ext.Ajax.request({
|
|
|
waitMsg: '正在保存数据...',
|
|
|
url: '/MvcShipping/MsOpReceipt/Save',
|
|
|
scope: this,
|
|
|
params: {
|
|
|
BSNO: _this.strBSNO,
|
|
|
OpReceiptbody: jsonOpReceiptBody
|
|
|
},
|
|
|
callback: function (options, success, response) {
|
|
|
if (success) {
|
|
|
Ext.MessageBox.hide();
|
|
|
var jsonresult = Ext.JSON.decode(response.responseText);
|
|
|
if (jsonresult.Success) {
|
|
|
for (var i = 0; i < this.storeDrOpReceipt.getCount(); i += 1) {
|
|
|
var member = this.storeDrOpReceipt.getAt(i);
|
|
|
member.set("BSNO", _this.strBSNO);
|
|
|
member.commit();
|
|
|
}
|
|
|
} else {
|
|
|
Ext.Msg.show({ title: '错误', msg: jsonresult.Message, icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK });
|
|
|
}
|
|
|
} else {
|
|
|
Ext.Msg.show({ title: '请重试',
|
|
|
msg: '服务器响应出错',
|
|
|
icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
}, //end save
|
|
|
//#endregion
|
|
|
|
|
|
//#region 表格的AfterEdit
|
|
|
setHeadFieldValue: function (fieldName, value) {
|
|
|
var field = this.formtotal.getForm().findField(fieldName);
|
|
|
field.setValue(value);
|
|
|
},
|
|
|
//#endregion
|
|
|
|
|
|
//#region 修改权限判断
|
|
|
cellEditingOpReceiptBeforeEdit: function (editor, e) {
|
|
|
var MODIFIEDUSER = e.record.get('MODIFIEDUSER');
|
|
|
var records = DsStoreQueryBy(this.StoreDrOpRange, 'OPID', MODIFIEDUSER);
|
|
|
if (records.getCount() > 0) {
|
|
|
} else {
|
|
|
Ext.Msg.show({ title: '提示', msg: '你没有权限修改此信息!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
|
|
|
canedit = false;
|
|
|
}
|
|
|
return true;
|
|
|
},
|
|
|
//#endregion
|
|
|
|
|
|
|
|
|
|
|
|
//#region 保存
|
|
|
setSaveBtnStatus: function (enable) {
|
|
|
var bsbtnSave = Ext.getCmp('pcbtnSave');
|
|
|
var bsbtnSaveAndClose = Ext.getCmp('pcbtnSaveAndClose');
|
|
|
var bsbtnSaveAndNew = Ext.getCmp('pcbtnSaveAndNew');
|
|
|
var pcbtnNew = Ext.getCmp('pcbtnNew');
|
|
|
|
|
|
if (enable) {
|
|
|
bsbtnSave.enable();
|
|
|
bsbtnSaveAndClose.enable();
|
|
|
bsbtnSaveAndNew.enable();
|
|
|
pcbtnNew.enable();
|
|
|
} else {
|
|
|
bsbtnSaveAndNew.disable();
|
|
|
pcbtnNew.disable();
|
|
|
}
|
|
|
|
|
|
},
|
|
|
//#endregion
|
|
|
|
|
|
|
|
|
//#region 上传图片
|
|
|
|
|
|
|
|
|
|
|
|
onDelFileClick: function (button, event) {
|
|
|
|
|
|
var feeGidSql = '';
|
|
|
var selectedRecords = [];
|
|
|
|
|
|
selectedRecords = this.DocCM.selected.items;
|
|
|
|
|
|
if (selectedRecords.length == 0) {
|
|
|
Ext.Msg.show({ title: '提示', msg: '请先选择要删除的附件!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
Ext.MessageBox.confirm('提示', '确定要删除选中的附件吗?', function (btn) {
|
|
|
if (btn == 'yes') {
|
|
|
|
|
|
if (selectedRecords.length > 0) {
|
|
|
for (var i = 0; i < selectedRecords.length; i++) {
|
|
|
var rec = selectedRecords[i];
|
|
|
if (rec.data.GID == "*") //如果是新增但没有保存的数据,没有必要提交到后台
|
|
|
{
|
|
|
this.storeDocList.remove(selectedRecords[i]);
|
|
|
} else {
|
|
|
var feeGId = "'" + rec.data.GID + "'";
|
|
|
if (feeGidSql == '') {
|
|
|
feeGidSql = feeGId;
|
|
|
} else {
|
|
|
feeGidSql = feeGidSql + "," + feeGId;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
_this = this;
|
|
|
|
|
|
Ext.Msg.wait('正在删除数据...');
|
|
|
if (feeGidSql != '') {
|
|
|
Ext.Ajax.request({
|
|
|
waitMsg: '正在删除数据...',
|
|
|
url: '/MvcShipping/MsOpReceipt/DeleteUploadFile',
|
|
|
params: {
|
|
|
data: feeGidSql
|
|
|
},
|
|
|
callback: function (options, success, response) {
|
|
|
if (success) {
|
|
|
var jsonresult = Ext.JSON.decode(response.responseText);
|
|
|
if (jsonresult.Success) {
|
|
|
for (var i = 0; i < selectedRecords.length; i++) {
|
|
|
this.storeDocList.remove(selectedRecords[i]);
|
|
|
|
|
|
}
|
|
|
|
|
|
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
|
|
|
} else {
|
|
|
|
|
|
Ext.Msg.show({ title: '提示', msg: "删除成功!", icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
|
|
|
}
|
|
|
|
|
|
}
|
|
|
}, this);
|
|
|
|
|
|
}
|
|
|
|
|
|
, onUpLoadFileClick: function (button, event) {
|
|
|
var billno = this.EditRecord.get("CUSTNO");
|
|
|
var strBSNO = this.EditRecord.get("BSNO");
|
|
|
|
|
|
|
|
|
me = this;
|
|
|
|
|
|
var imgform = new Ext.FormPanel({
|
|
|
region: 'center',
|
|
|
labelWidth: 40,
|
|
|
frame: true,
|
|
|
bodyStyle: 'padding:5px 5px 0',
|
|
|
autoScroll: true,
|
|
|
border: false,
|
|
|
fileUpload: true,
|
|
|
items: [{
|
|
|
xtype: 'fileuploadfield',
|
|
|
id: 'LoadFile',
|
|
|
name: 'LoadFile',
|
|
|
emptyText: '请选择文件',
|
|
|
fieldLabel: '文件',
|
|
|
buttonText: '选择文件',
|
|
|
allowBlank: false,
|
|
|
buttonCfg:
|
|
|
{
|
|
|
iconCls: 'uploaddialog'
|
|
|
},
|
|
|
anchor: '98%'
|
|
|
}],
|
|
|
buttons: [{
|
|
|
text: '上传',
|
|
|
type: 'submit',
|
|
|
handler: function () {
|
|
|
var UserFilePath = Ext.getCmp('LoadFile').getValue();
|
|
|
// if (!CheckFileExt(UserFilePath, /.jpg|.gif|.png|.bmp|.pdf/i)) {
|
|
|
// Ext.Msg.show({ title: '错误', msg: '请确认你上传的文件为图片文件!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
|
|
|
// return;
|
|
|
// }
|
|
|
if (!imgform.form.isValid()) { return; }
|
|
|
imgform.form.submit({
|
|
|
url: '/MvcShipping/MsOpReceipt/UploadFile',
|
|
|
waitMsg: '正在上传',
|
|
|
method: 'POST',
|
|
|
submitEmptyText: false,
|
|
|
async: false,
|
|
|
params: {
|
|
|
CUSTNO: billno,
|
|
|
BSNO: strBSNO
|
|
|
},
|
|
|
success: function (form, action) {
|
|
|
win.close(this);
|
|
|
|
|
|
Ext.Msg.show({ title: '提示', msg: '上传成功!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
|
|
|
|
|
|
var condition = strBSNO;
|
|
|
var condition2 = " BSNO='" + condition + "' ";
|
|
|
me.Loading = true;
|
|
|
me.storeDocList.load({
|
|
|
params: { condition: condition2 },
|
|
|
waitMsg: "正在查询数据...",
|
|
|
scope: this,
|
|
|
callback: function () {
|
|
|
me.Loading = false;
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
failure: function (form, action) {
|
|
|
form.reset();
|
|
|
if (action.failureType == Ext.form.Action.SERVER_INVALID)
|
|
|
Ext.MessageBox.alert('警告', action.result.errors.msg);
|
|
|
}
|
|
|
|
|
|
|
|
|
});
|
|
|
}
|
|
|
}, {
|
|
|
text: '关闭',
|
|
|
type: 'submit',
|
|
|
handler: function () {
|
|
|
win.close(this);
|
|
|
}
|
|
|
}]
|
|
|
});
|
|
|
|
|
|
var win = new Ext.Window({
|
|
|
title: "上传文件",
|
|
|
width: 360,
|
|
|
height: 120,
|
|
|
modal: true,
|
|
|
resizable: false,
|
|
|
border: false,
|
|
|
items: imgform
|
|
|
|
|
|
});
|
|
|
win.show();
|
|
|
}
|
|
|
,
|
|
|
//#endregion
|
|
|
|
|
|
|
|
|
//#region 打印
|
|
|
onPrintSelectDetailClick: function (button, event) {
|
|
|
var selectedRecords = this.ReceiptDrGridCheckBoxModel.selected.items;
|
|
|
if (selectedRecords.length == 0) {
|
|
|
Ext.Msg.show({ title: '提示', msg: '请先选择要打印的数据!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
if (this.stroplb == 'op_Seae') {
|
|
|
var printType = 'SEAEDRReceipt';
|
|
|
var sql1 = "SET LANGUAGE 'us_english' "
|
|
|
+ " select * from op_seae WHERE BSNO = '" + this.strBSNO + "'";
|
|
|
} else if (this.stroplb == 'op_Apply') {
|
|
|
var printType = 'APPLYDRReceipt';
|
|
|
var sql1 = "SET LANGUAGE 'us_english' "
|
|
|
+ " select * from op_apply WHERE BSNO = '" + this.strBSNO + "'";
|
|
|
} else if (this.stroplb == 'op_Seai') {
|
|
|
var printType = 'SEAIDRReceipt';
|
|
|
var sql1 = /*"SET LANGUAGE 'us_english' "
|
|
|
+ */" select * from op_seai WHERE BSNO = '" + this.strBSNO + "'";
|
|
|
} else if (this.stroplb == 'op_Bulk') {
|
|
|
var printType = 'BULKDRReceipt';
|
|
|
var sql1 = /*"SET LANGUAGE 'us_english' "
|
|
|
+ */" select * from op_bulk WHERE BSNO = '" + this.strBSNO + "'";
|
|
|
} else if (this.stroplb == 'op_other') {
|
|
|
var printType = 'OpOtherReceipt';
|
|
|
var sql1 = /*"SET LANGUAGE 'us_english' "
|
|
|
+ */" select * from op_other WHERE BSNO = '" + this.strBSNO + "'";
|
|
|
};
|
|
|
|
|
|
var ReceiptGIDSql = '';
|
|
|
for (var i = 0; i < selectedRecords.length; i++) {
|
|
|
var record = selectedRecords[i];
|
|
|
var ReceiptGID = "''" + record.get('GID') + "''";
|
|
|
if (ReceiptGIDSql == '') {
|
|
|
ReceiptGIDSql = ReceiptGID;
|
|
|
} else {
|
|
|
ReceiptGIDSql = ReceiptGIDSql + "," + ReceiptGID;
|
|
|
}
|
|
|
};
|
|
|
|
|
|
var sql2 = "";
|
|
|
if (ReceiptGIDSql != '') {
|
|
|
sql2 = sql2 + "select GID as 惟一编号,BSNO as 业务编号,RECEIPTNO as 单据编号,RECEIPTTYPE as 单据类型,RECEIVE_MAN as 接单人,convert(char(10),RECEIVE_DATE,20) as 接单日期,SEND_MAN as 送单人,convert(char(10),SEND_DATE,20) as 送单日期,TRANCER as 送单快递公司,TRANCNO as 送单快递单号,ISREPEAT as 是否回单,REPEAT_MAN as 回单人,convert(char(10),REPEAT_DATE,20) as 回单日期,ISRECEIVE as 是否还单,RETURN_MAN as 还单人,convert(char(10),RETURN_DATE,20) as 还单日期,RETURN_TRANCER as 还单快递公司,RETURN_TRANCNO as 还单快递单号,REMARK as 备注,(select top 1 [NAME] from [company] where gid=op_receipt.CORPID) as 分公司,(select top 1 SHOWNAME from [user] where gid=op_receipt.CREATEUSER) as 创建人,CREATETIME as 创建时间,(select top 1 SHOWNAME from [user] where gid=op_receipt.MODIFIEDUSER) as 最后更改人,MODIFIEDTIME as 最后更改时间 from op_receipt where GID in (" + ReceiptGIDSql + ") order by bsno,MODIFIEDTIME";
|
|
|
}
|
|
|
|
|
|
var sql3 = "";
|
|
|
var sql4 = "";
|
|
|
var sql5 = "";
|
|
|
var sql6 = "";
|
|
|
PrintComm(printType, sql1, sql2, sql3, sql4, sql5, sql6);
|
|
|
},
|
|
|
|
|
|
onPrintAllDetailClick: function (button, event) {
|
|
|
if (this.stroplb == 'op_Seae') {
|
|
|
var printType = 'SEAEDRReceiptALL';
|
|
|
var sql1 = "SET LANGUAGE 'us_english' "
|
|
|
+ " select * from op_seae WHERE BSNO = '" + this.strBSNO + "'";
|
|
|
} else if (this.stroplb == 'op_Apply') {
|
|
|
var printType = 'APPLYDRReceiptALL';
|
|
|
var sql1 = "SET LANGUAGE 'us_english' "
|
|
|
+ " select * from op_apply WHERE BSNO = '" + this.strBSNO + "'";
|
|
|
} else if (this.stroplb == 'op_Seai') {
|
|
|
var printType = 'SEAIDRReceiptALL';
|
|
|
var sql1 = "SET LANGUAGE 'us_english' "
|
|
|
+ " select * from op_seai WHERE BSNO = '" + this.strBSNO + "'";
|
|
|
} else if (this.stroplb == 'op_Bulk') {
|
|
|
var printType = 'BULKDRReceiptALL';
|
|
|
var sql1 = "SET LANGUAGE 'us_english' "
|
|
|
+ " select * from op_bulk WHERE BSNO = '" + this.strBSNO + "'";
|
|
|
} else if (this.stroplb == 'op_other') {
|
|
|
var printType = 'OpOtherReceipt';
|
|
|
var sql1 = "SET LANGUAGE 'us_english' "
|
|
|
+ "select * from op_other WHERE BSNO = '" + this.strBSNO + "'";
|
|
|
};
|
|
|
|
|
|
var sql2 = "SET LANGUAGE 'us_english' select GID as 惟一编号,BSNO as 业务编号,RECEIPTNO as 单据编号,RECEIPTTYPE as 单据类型,RECEIVE_MAN as 接单人,convert(char(10),RECEIVE_DATE,20) as 接单日期,SEND_MAN as 送单人,convert(char(10),SEND_DATE,20) as 送单日期,TRANCER as 送单快递公司,TRANCNO as 送单快递单号,ISREPEAT as 是否回单,REPEAT_MAN as 回单人,convert(char(10),REPEAT_DATE,20) as 回单日期,ISRECEIVE as 是否还单,RETURN_MAN as 还单人,convert(char(10),RETURN_DATE,20) as 还单日期,RETURN_TRANCER as 还单快递公司,RETURN_TRANCNO as 还单快递单号,REMARK as 备注,(select top 1 [NAME] from [company] where gid=op_receipt.CORPID) as 分公司,(select top 1 SHOWNAME from [user] where gid=op_receipt.CREATEUSER) as 创建人,CREATETIME as 创建时间,(select top 1 SHOWNAME from [user] where gid=op_receipt.MODIFIEDUSER) as 最后更改人,MODIFIEDTIME as 最后更改时间 from op_receipt where BSNO='" + this.strBSNO + "' order by bsno,MODIFIEDTIME";
|
|
|
|
|
|
var sql3 = "";
|
|
|
var sql4 = "";
|
|
|
var sql5 = "";
|
|
|
var sql6 = "";
|
|
|
PrintComm(printType, sql1, sql2, sql3, sql4, sql5, sql6);
|
|
|
},
|
|
|
//#endregion
|
|
|
|
|
|
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;
|
|
|
}
|
|
|
|
|
|
|
|
|
});
|
|
|
|