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/MsOpExpress/MsOpExpressEdit.js

3007 lines
109 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('Shipping');
Shipping.MsOpExpressEdit = function (config) {
Ext.applyIf(this, config);
this.initUIComponents();
window.Shipping.MsOpExpressEdit.superclass.constructor.call(this);
};
Ext.extend(Shipping.MsOpExpressEdit, Ext.Panel, {
ParentWin: null,
OpStatus: 'add',
StoreList: null,
editRecord: null,
initUIComponents: function () {
this.formname = 'MsOpExpressEdit';
this.serialNo = 0;
this.workSerialNo = 0;
this.bodyDel = [];
this.BillSql = '';
_this = this;
//#region 编辑form
//枚举参照相关(编辑form)
//表参照相关(编辑form)
this.storeExpress = Ext.create('DsExt.ux.RefTableStore', {
model: 'DsShipping.ux.CustomRefModel',
proxy: { url: '/CommMng/BasicDataRef/GetCustomRefList' }
});
this.storeExpress.load({ params: { condition: "ISEXPRESS='1'"} });
//船公司
this.comboxEXPRESS = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '快递公司',
store: this.storeExpress,
forceSelection: true,
name: 'EXPRESSCORP',
valueField: 'CustName',
displayField: 'CodeAndName'
});
this.storeReceive = Ext.create('DsExt.ux.RefTableStore', {
model: 'MsInfoClientModel',
proxy: { url: '/MvcShipping/MsInfoClient/GetDataListAll' }
});
this.storeReceive.load({ params: { condition: ""} });
this.comboxReceive = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '收件公司',
store: this.storeReceive,
width:200,
forceSelection: true,
name: 'RECEIVECUST',
valueField: 'SHORTNAME',
displayField: 'SHORTNAME',
listeners: {
scope: this,
'select': function (combo, records, eOpts) {
if (records.length > 0) {
this.storeReceiveAttn.removeAll();
var curCorpName = records[0].data.SHORTNAME;
this.storeReceiveAttn.load({ params: {CorpName: curCorpName}});
var RECEIVE = this.formEdit.getForm().findField('RECEIVE');
RECEIVE.setValue(records[0].data.DESCRIPTION);
var RECEIVEADDR = this.formEdit.getForm().findField('RECEIVEADDR');
RECEIVEADDR.setValue(records[0].data.ADDR)
var RECEIVETEL = this.formEdit.getForm().findField('RECEIVETEL');
RECEIVETEL.setValue(records[0].data.TEL);
var RECEIVECITY = this.formEdit.getForm().findField('RECEIVECITY');
RECEIVECITY.setValue(records[0].data.CITY);
var RECEIVEATTN = this.formEdit.getForm().findField('RECEIVEATTN');
RECEIVEATTN.setValue(records[0].data.CHIEF);
var CUSTOMERNAME = this.formEdit.getForm().findField('RECEIVECUST').getValue();
if (CUSTOMERNAME == '') return;
//var CUSTNAME = this.formSearch.getForm().findField('CUSTNAME');
//var tmpcust = CUSTNAME.getValue();
//if (tmpcust == '' || tmpcust == null || tmpcust == undefined) {
// CUSTNAME.setValue(CUSTOMERNAME);
//}
}
}
}
});
this.storeReceiveAttn = Ext.create('Ext.data.Store', {
fields: [
{ name: 'GID', type: 'string' },
{ name: 'NAME', type: 'string' },
{ name: 'CORPNAME', type: 'string' },
{ name: 'CORPNAMERV', type: 'string' },
{ name: 'ADDRESS', type: 'string' },
{ name: 'PROVINCE', type: 'string' },
{ name: 'DESTI', type: 'string' },
{ name: 'TEL', type: 'string' },
{ name: 'POSTCODE', type: 'string' }],
remoteSort:true,
proxy: {
type: 'ajax',
url: '/MsOpExpress/GetAddressAttn',
reader: {
id: 'NAME',
root: 'data',
totalProperty: 'totalCount'
}
}
});
this.comboxReceiveAttn = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '收件人',
store: this.storeReceiveAttn,
forceSelection: false,
name: 'RECEIVEATTN',
valueField: 'NAME',
displayField: 'NAME',
listeners: {
scope: this,
'select': function (combo, records, eOpts) {
if (records.length > 0) {
this.formEdit.getForm().findField('RECEIVEPROVINCE').setValue(records[0].data.PROVINCE);
this.formEdit.getForm().findField('RECEIVECITY').setValue(records[0].data.DESTI);
this.formEdit.getForm().findField('RECEIVEADDR').setValue(records[0].data.ADDRESS);
this.formEdit.getForm().findField('RECEIVEPOST').setValue(records[0].data.POSTCODE);
this.formEdit.getForm().findField('RECEIVETEL').setValue(records[0].data.TEL);
this.formEdit.getForm().findField('RECEIVE').setValue(records[0].data.CORPNAMERV);
}
}
}
});
this.storeSender = Ext.create('DsExt.ux.RefTableStore', {
model: 'MsCompanysEntity',
proxy: { url: '/MvcShipping/MsCompanys/GetDataList' }
});
this.storeSender.load({ params: { condition: ""} });
this.comboxSender = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '寄件公司',
store: this.storeSender,
forceSelection: true,
name: 'SENDERCUST',
valueField: 'NAME',
displayField: 'NAME',
width: 200,
listeners: {
scope: this,
'select': function (combo, records, eOpts) {
if (records.length > 0) {
var SENDER = this.formEdit.getForm().findField('SENDER');
SENDER.setValue(records[0].data.FULLNAME);
var SENDERADDR = this.formEdit.getForm().findField('SENDERADDR');
SENDERADDR.setValue(records[0].data.ADDRESS);
var SENDERTEL = this.formEdit.getForm().findField('SENDERTEL');
SENDERTEL.setValue(records[0].data.OFFICEPHONE);
var SENDERCITY = this.formEdit.getForm().findField('SENDERCITY');
//SENDERCITY.setValue(records[0].data.CITY);
}
}
}
});
//收件人省份
//定义数据集
this.storeListRProvince = Ext.create('Ext.data.Store', {
fields: [
{ name: 'ProvinceName', type: 'string' }],
remoteSort: true,
proxy: {
type: 'ajax',
url: '/MsOpExpress/GetProvinceList',
reader: {
id: 'ProvinceName',
root: 'data',
totalProperty: 'totalCount'
}
}
});
this.comboxRProvince = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '收件省份',
store: this.storeListRProvince,
forceSelection: false,
name: 'RECEIVEPROVINCE',
valueField: 'ProvinceName',
displayField: 'ProvinceName',
listeners: {
scope: this,
'select': function (combo, records, eOpts) {
if (records.length > 0) {
var curProv = records[0].data.ProvinceName;
this.storeListRCity.load({
params: { Province: curProv },
callback: function (options, success, response) {
if (_this.storeListRCity.getCount() > 0) {
var RECEIVECITY = _this.formReceive.getForm().findField('RECEIVECITY');
RECEIVECITY.setValue(_this.storeListRCity.getAt(0).data.CityName);
}
}
});
//var city = this.formReceive.getForm().findField("RECEIVECITY");
//city.setValue("");
//var RECEIVECITY = this.formReceive.getForm().findField('RECEIVECITY');
//RECEIVECITY.setValue('');
}
}
}
});
this.storeListRProvince.load();
//收件人城市
//定义数据集
this.storeListRCity = Ext.create('Ext.data.Store', {
fields: [
{ name: 'CityName', type: 'string' }, { name: 'ProvinceName', type: 'string' }],
remoteSort: true,
proxy: {
type: 'ajax',
url: '/MsOpExpress/GetCityList',
reader: {
id: 'CityName',
root: 'data',
totalProperty: 'totalCount'
}
}
});
this.comboxRCity = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '收件城市',
store: this.storeListRCity,
forceSelection: false,
name: 'RECEIVECITY',
valueField: 'CityName',
displayField: 'CityName',
listeners: {
scope: this,
'select': function (combo, records, eOpts) {
if (records.length > 0) {
var curProv = records[0].data.ProvinceName;
var RECEIVEPROVINCE = this.formReceive.getForm().findField('RECEIVEPROVINCE');
RECEIVEPROVINCE.setValue(curProv);
}
}
}
});
this.storeListRCity.load({ params: { Province: '' } });
this.formReceive = Ext.widget('form', {
// region: 'north',
title: '收件人资料',
flex: 1,
frame: true,
bodyPadding: 0,
collapsed: false,
collapsible: true,
trackResetOnLoad: true,
fieldDefaults: {
margins: '2 2 2 2',
labelAlign: 'right',
flex: 1,
labelWidth: 110,
msgTarget: 'qtip'
},
items: [
{//fieldset 1
xtype: 'fieldset',
defaultType: 'textfield',
layout: 'anchor',
defaults: {
anchor: '100%'
},
items: [{
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [this.comboxReceive, {
xtype: 'button',
iconCls: "btnedit",
handler: function (button, event) {
var curCorpName = this.formEdit.getForm().findField('RECEIVECUST').getValue();
var sql = '';
sql = sql + getAndConSql(sql, curCorpName, "CORPNAME='" + curCorpName + "'");
this.storeListAddress.load({ params: { start: 0, limit: this.PageSize, sort: '', condition: sql } });
this.formAddressDetail.getForm().reset();
this.formAddressDetail.getForm().findField('CORPNAME').setValue(curCorpName);
this.winAddress.show();
},
scope: this
}, this.comboxReceiveAttn]
}, {
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [this.comboxRProvince, this.comboxRCity]
}, {
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [{
fieldLabel: '收件公司',
name: 'RECEIVE'
}]
}, {
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [{
xtype: 'textareafield',
grow: true,
fieldLabel: '收件详细地址',
height: 40,
name: 'RECEIVEADDR',
anchor: '100%'
}]
}, {
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [{
fieldLabel: '收件人邮编',
name: 'RECEIVEPOST'
},
{
fieldLabel: '收件人电话',
name: 'RECEIVETEL'
}]
}
]//end root items
}]
}); //
//寄件人省份
//定义数据集
this.storeListSProvince = Ext.create('Ext.data.Store', {
fields: [
{ name: 'ProvinceName', type: 'string' }],
remoteSort: true,
proxy: {
type: 'ajax',
url: '/MsOpExpress/GetProvinceList',
reader: {
id: 'ProvinceName',
root: 'data',
totalProperty: 'totalCount'
}
}
});
this.comboxSProvince = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '寄件省份',
store: this.storeListSProvince,
forceSelection: false,
name: 'SENDERPROVINCE',
valueField: 'ProvinceName',
displayField: 'ProvinceName',
listeners: {
scope: this,
'select': function (combo, records, eOpts) {
if (records.length > 0) {
var curProv = records[0].data.ProvinceName;
this.storeListSCity.load({
params: { Province: curProv },
callback: function (options, success, response) {
if (_this.storeListSCity.getCount() > 0) {
var SENDERCITY = _this.formSender.getForm().findField('SENDERCITY');
SENDERCITY.setValue(_this.storeListSCity.getAt(0).data.CityName);
}
}
});
//var city = this.formSender.getForm().findField("SENDERCITY");
//city.setValue("");
}
}
}
});
this.storeListSProvince.load();
//寄件人城市
//定义数据集
this.storeListSCity = Ext.create('Ext.data.Store', {
fields: [
{ name: 'CityName', type: 'string' }, { name: 'ProvinceName', type: 'string' }],
remoteSort: true,
proxy: {
type: 'ajax',
url: '/MsOpExpress/GetCityList',
reader: {
id: 'CityName',
root: 'data',
totalProperty: 'totalCount'
}
}
});
this.comboxSCity = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '寄件城市',
store: this.storeListSCity,
forceSelection: false,
name: 'SENDERCITY',
valueField: 'CityName',
displayField: 'CityName',
listeners: {
scope: this,
'select': function (combo, records, eOpts) {
if (records.length > 0) {
var curProv = records[0].data.ProvinceName;
var SENDERPROVINCE = this.formSender.getForm().findField('SENDERPROVINCE');
SENDERPROVINCE.setValue(curProv);
}
}
}
});
this.storeListSCity.load({ params: { Province: '' } });
//人员信息加载
this.storeOpCode = Ext.create('DsExt.ux.RefTableStore', {
model: 'DsShipping.ux.UserLinkRefModel',
proxy: { url: '/CommMng/BasicDataRef/GetUserLinkRefList' }
});
this.storeOpCode.load();
//寄件人
this.comboxSenderAttn = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '寄件人',
store: this.storeOpCode,
forceSelection: false,
multiSelect: true,
name: 'SENDERATTN',
valueField: 'UserName',
displayField: 'UserName',
listeners: {
scope: this,
'select': function (combo, records, eOpts) {
if (records.length > 0) {
var SENDERTEL = this.formEdit.getForm().findField('SENDERTEL');
SENDERTEL.setValue(records[0].data.Tel);
}
}
}
});
this.formSender = Ext.widget('form', {
// region: 'north',
title: '寄件人资料',
frame: true,
flex: 1,
bodyPadding: 0,
collapsed: false,
collapsible: true,
trackResetOnLoad: true,
fieldDefaults: {
margins: '2 2 2 2',
labelAlign: 'right',
flex: 1,
labelWidth: 110,
msgTarget: 'qtip'
},
items: [
{//fieldset 1
xtype: 'fieldset',
defaultType: 'textfield',
layout: 'anchor',
defaults: {
anchor: '100%'
},
items: [{
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [this.comboxSender, this.comboxSenderAttn]
}, {
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [this.comboxSProvince, this.comboxSCity]
},{
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [{
fieldLabel: '寄件公司',
name: 'SENDER'
}]
}, {
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [{
xtype: 'textareafield',
grow: true,
fieldLabel: '寄件详细地址',
height: 40,
name: 'SENDERADDR',
anchor: '100%'
}]
}, {
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [{
fieldLabel: '寄件人邮编',
name: 'SENDERPOST'
},
{
fieldLabel: '寄件人电话',
name: 'SENDERTEL'
}]
}
]//end root items
}]
}); //
this.formRemarks = Ext.widget('form', {
region: 'north',
title: '其他',
frame: true,
bodyPadding: 0,
collapsed: false,
collapsible: true,
trackResetOnLoad: true,
fieldDefaults: {
margins: '2 2 2 2',
labelAlign: 'right',
flex: 1,
labelWidth: 110,
msgTarget: 'qtip'
},
items: [
{//fieldset 1
xtype: 'fieldset',
defaultType: 'textfield',
layout: 'anchor',
defaults: {
anchor: '100%'
},
items: [{
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [{
fieldLabel: '品名',
name: 'GOODSNAME'
}]
}, {
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [{
xtype: 'textareafield',
fieldLabel: '备注',
grow: true,
height: 40,
name: 'REMARKS',
anchor: '100%'
}
]//end items(fieldset 1)
}
]//end root items
}]
}); //
this.StoreBillType = Ext.create('DsExt.ux.RefEnumStore', {});
this.StoreBillType.load({ params: { enumTypeId: 97025} });
this.comboxBillType = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '快递类型',
store: this.StoreBillType,
forceSelection: true,
name: 'BILLTYPE',
valueField: 'EnumValueName',
displayField: 'EnumValueName',
enableKeyEvents: true
});
//快递状态
this.StoreExpStatus = Ext.create('Ext.data.Store', {
fields: ['OpLb']
});
this.StoreExpStatus.add({ "OpLb": "" });
this.StoreExpStatus.add({ "OpLb": "新建" });
this.StoreExpStatus.add({ "OpLb": "已下单" });
this.StoreExpStatus.add({ "OpLb": "已发件" });
this.StoreExpStatus.add({ "OpLb": "已收件" });
this.comboxExpressStatus = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '快递状态',
store: this.StoreExpStatus,
forceSelection: true,
name: 'BILLSTATUS',
valueField: 'OpLb',
displayField: 'OpLb',
enableKeyEvents: true
});
//编辑form
this.formEdit = Ext.widget('form', {
region: 'north',
frame: true,
bodyPadding: 0,
autoScroll: true,
fieldDefaults: {
margins: '2 2 2 2',
labelAlign: 'right',
flex: 1,
labelWidth: 110,
msgTarget: 'qtip'
},
items: [
{//fieldset 1
xtype: 'fieldset',
defaultType: 'textfield',
layout: 'anchor',
defaults: {
anchor: '100%'
},
items: [{
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [{
fieldLabel: 'GID',
name: 'GID', flex: 0, hidden: true, margins: '0'
}, {
fieldLabel: '快递号',
name: 'EXNO'
}, {
fieldLabel: '快递日期',
format: 'Y-m-d',
xtype: 'datefield',
name: 'BILLDATE'
}, this.comboxExpressStatus, this.comboxEXPRESS, this.comboxBillType]
}, {
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [this.formReceive, this.formSender]
}, {
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [{
fieldLabel: '品名',
flex: 1, name: 'GOODSNAME'
},{
fieldLabel: '寄托物数量',
decimalPrecision: 0,
xtype: 'numberfield',
flex: 1, name: 'EXCOUNT', value: 0
},{
fieldLabel: '快递费',
flex: 1, name: 'BILLFEE'
,value:0
},{
fieldLabel: '备注',
flex: 4, name: 'REMARKS'
}]
}
]//end items(fieldset 1)
}//end fieldset 1
]//end root items
}); //end this.formEdit
//#endregion
//#region 添加文件明细
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.storeBodyAddList = Ext.create('Ext.data.Store', {
pageSize: this.PageSize,
model: 'MsOpReceiptEntity',
remoteSort: true,
proxy: {
type: 'ajax',
url: '/MvcShipping/MsOpExpress/GetDocList',
reader: {
id: 'GID',
root: 'data',
totalProperty: 'totalCount'
}
}
});
this.comboxRECEIPNO = Ext.create('DsExt.ux.RefTableCombox', {
//fieldLabel: '单据类型',
store: this.storeBodyAddList,
// forceSelection: true,
name: 'RECEIPTNO',
valueField: 'RECEIPTNO',
displayField: 'RECEIPTNO',
listeners: {
scope: this,
'select': function (combo, records, eOpts) {
if (records.length > 0) {
}
}
}
});
var _this = this;
this.initgirdcolumns = [{
sortable: true,
dataIndex: 'GID',
header: '惟一编号',
hidden: true,
width: 0
}, {
sortable: true,
dataIndex: 'BSNO',
header: '业务编号',
hidden: true,
width: 0
}, {
sortable: true,
dataIndex: 'DOCTYPE',
header: 'DOCTYPE',
hidden: true,
width: 0
}, {
sortable: true,
dataIndex: 'MBLNO',
header: '提单号',
editor: {
xtype: 'textfield',
selectOnFocus: true,
enableKeyEvents: true,
listeners: {
keyup: function (textfield, e) {
if (e.getKey() == 40) {
_this.onNextKeyClick(5)
}
}
}
},
width: 120
}, {
sortable: true,
dataIndex: 'RECEIPTTYPE',
header: '单据类型',
editor: this.comboxRECEIPTTYPE,
width: 80
}, {
sortable: true,
dataIndex: 'RECEIPTNO',
header: '单据编号',
editor: this.comboxRECEIPNO,
width: 130
}, {
sortable: true,
dataIndex: 'CUSTNO',
header: '委托编号',
width: 100
}, {
sortable: true,
dataIndex: 'CUSTOMERNAME',
header: '客户名称',
width: 100
}, {
sortable: true,
dataIndex: 'OPLBNAME',
header: '业务类型',
width: 100
}, {
sortable: true,
dataIndex: 'SALE',
header: '销售',
width: 100
}, {
sortable: true,
dataIndex: 'OP',
header: '操作',
width: 100
}, {
sortable: true,
dataIndex: 'RECEIVE_MAN',
header: '接单人',
width: 80
}, {
sortable: true,
dataIndex: 'RECEIVE_DATE',
header: '接单日期',
renderer: Ext.util.Format.dateRenderer('Y-m-d'),
width: 80
}, {
sortable: true,
dataIndex: 'SEND_MAN',
header: '送单人',
width: 80
}, {
sortable: true,
dataIndex: 'SEND_DATE',
header: '送单日期',
renderer: Ext.util.Format.dateRenderer('Y-m-d'), //format是'm/d/Y'结果是”09/24/2008”
width: 80
}, {
sortable: true,
dataIndex: 'TRANCER',
header: '送单快递公司',
width: 80
}, {
sortable: true,
dataIndex: 'TRANCNO',
header: '送单快递单号',
width: 8
}, {
sortable: true,
dataIndex: 'ISREPEAT',
header: '是否回单',
width: 60
}, {
sortable: true,
dataIndex: 'REPEAT_MAN',
header: '回单人',
width: 80
}, {
sortable: true,
dataIndex: 'REPEAT_DATE',
header: '回单日期',
renderer: Ext.util.Format.dateRenderer('Y-m-d'), //format是'm/d/Y'结果是”09/24/2008”
width: 80
}, {
sortable: true,
dataIndex: 'ISRECEIVE',
header: '是否还单',
width: 60
}, {
sortable: true,
dataIndex: 'RETURN_MAN',
header: '还单人',
width: 80
}, {
sortable: true,
dataIndex: 'RETURN_DATE',
header: '还单日期',
renderer: Ext.util.Format.dateRenderer('Y-m-d'), //format是'm/d/Y'结果是”09/24/2008”
width: 80
}, {
sortable: true,
dataIndex: 'RETURN_TRANCER',
header: '还单的快递公司',
width: 100
}, {
sortable: true,
dataIndex: 'RETURN_TRANCNO',
header: '还单的快递单号',
width: 100
}, {
sortable: true,
dataIndex: 'REMARK',
header: '备注',
editor: {
xtype: 'textfield',
selectOnFocus: true,
enableKeyEvents: true,
listeners: {
keyup: function (textfield, e) {
if (e.getKey() == 40) {
_this.onNextKeyClick(25)
}
}
}
},
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.columns = this.initgirdcolumns;
this.columns = DsTruck.GetGridPanel(GID, this.formname, this.columns, 0);
this.storeBodyList = Ext.create('Ext.data.Store', {
model: 'MsOpReceiptEntity',
remoteSort: false,
proxy: {
type: 'ajax',
url: '/MvcShipping/MsOpExpress/GetExpressDocList',
reader: {
id: 'GID',
root: 'data',
totalProperty: 'totalCount'
}
}
});
this.GridCheckBoxModel = Ext.create('Ext.selection.CheckboxModel');
this.cellEditingDrOpReceipt = Ext.create('Ext.grid.plugin.CellEditing', {
clicksToEdit: 1
});
this.gridList = new Ext.grid.GridPanel({
store: this.storeBodyList,
enableHdMenu: false,
region: 'center',
// height: 145,
loadMask: { msg: "数据加载中,请稍等..." },
trackMouseOver: true,
disableSelection: false,
plugins: [this.cellEditingDrOpReceipt],
selModel: this.GridCheckBoxModel,
tbar: [{
text: '添加文件明细',
tooltip: '添加文件明细',
id: 'btnadddetail',
iconCls: "btnadddetail",
handler: function (button, event) {
this.onAddDetailClick();
},
scope: this
}, '-', {
text: '删除文件明细',
tooltip: '删除文件明细',
id: 'btndeldetail',
iconCls: "btndeletedetail",
handler: function (button, event) {
this.deleteBill();
},
scope: this
}, '-', {
text: "保存列表样式",
menu: [{
text: "保存",
handler: function (button, event) {
_this.columns = DsTruck.SaveGridPanel(GID, _this.formname, _this.gridList.columns, _this.columns, 0, true); //使用者id表名中间column数组跳过一开始的几列
}
}, {
text: "初始化",
handler: function (menu, event) {
_this.gridList.reconfigure(_this.storeList, _this.initgirdcolumns);
_this.columns = DsTruck.SaveGridPanel(GID, _this.formname, _this.gridList.columns, _this.initgirdcolumns, 0, true); //使用者id表名中间column数组跳过一开始的几列
}
}],
scope: this
}],
columns: this.columns
});
this.gridList.on('edit', function (editor, e, eOpts) {
this.gridListAfterEdit(editor, e, eOpts);
}, this);
this.cellEditingDrOpReceipt.on('beforeedit', function (editor, e) {
return this.cellEditingOpReceiptBeforeEdit(editor, e);
}, this);
// this.AddGridCheckBoxModel = Ext.create('Ext.selection.CheckboxModel');
// this.gridAddList = new Ext.grid.GridPanel({
// store: this.storeBodyAddList,
// enableHdMenu: false,
// region: 'center',
// loadMask: { msg: "数据加载中,请稍等..." },
// trackMouseOver: true,
// disableSelection: false,
// selModel: this.AddGridCheckBoxModel,
// tbar: [{
// text: '添加文件明细',
// tooltip: '添加文件明细',
// id: 'btnaddbill',
// iconCls: "btnadddetail",
// handler: function (button, event) {
// this.addBill();
// },
// scope: this
// }],
// columns: this.columns,
// // paging bar on the bottom
// bbar: Ext.create('Ext.PagingToolbar', {
// store: this.storeBodyAddList,
// displayInfo: true,
// displayMsg: '当前显示 {0} - {1}条记录 /共 {2}条记录',
// emptyMsg: "没有数据"
// })
// });
// _this = this;
// this.storeCustCodefee = Ext.create('DsExt.ux.RefTableStore', {
// model: 'DsShipping.ux.CustomRefModel',
// proxy: { url: '/CommMng/BasicDataRef/GetCustomRefList' }
// });
// this.storeCustCodefee.load({ params: { condition: ""} });
// this.comboxAddCustCode = Ext.create('DsExt.ux.RefTableCombox', {
// fieldLabel: '客户名称',
// store: this.storeCustCodefee,
// forceSelection: true,
// name: 'CUSTNAME',
// valueField: 'CustName',
// displayField: 'CodeAndName',
// enableKeyEvents: true,
// listeners: {
// keyup: function (field, e) {
// if (e.getKey() == e.ENTER) {
// _this.onRefreshClick();
// }
// }
// }
// });
// this.StoreOpLb = Ext.create('DsExt.ux.RefEnumStore', {});
// this.StoreOpLb.load({ params: { enumTypeId: 96005} });
// this.comboxOpLb = Ext.create('DsExt.ux.RefTableCombox', {
// fieldLabel: '业务类别',
// store: this.StoreOpLb,
// valueField: 'EnumValueName',
// displayField: 'EnumValueName',
// forceSelection: true,
// name: 'OPLBNAME',
// enableKeyEvents: true,
// listeners: {
// keyup: function (field, e) {
// if (e.getKey() == e.ENTER) {
// _this.onRefreshClick();
// }
// }
// }
// });
// this.comboxRECEIPTTYPE2 = Ext.create('DsExt.ux.RefTableCombox', {
// fieldLabel: '单据类型',
// store: this.storeCrmKeyCodeCode,
// forceSelection: true,
// name: 'RECEIPTTYPE',
// valueField: 'KEYVALUE',
// displayField: 'KEYVALUE'
// });
// this.formSearch = Ext.widget('form', {
// frame: true,
// region: 'north',
// // height:60,
// 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: [this.comboxAddCustCode, this.comboxRECEIPTTYPE2, {
// fieldLabel: '编号检索',
// name: 'CustomNo',
// enableKeyEvents: true,
// listeners: {
// specialkey: function (field, e) {
// if (e.getKey() == e.ENTER) {
// _this.onRefreshClick();
// }
// }
// }
// }, this.comboxOpLb, {
// xtype: 'button',
// width: 90,
// text: "执行查询",
// iconCls: "btnrefresh",
// handler: function (button, event) {
// this.onRefreshClick(button, event);
// },
// scope: this
// }, {
// xtype: 'button',
// width: 30,
// // text: "重置条件",
// iconCls: "btnreset",
// handler: function (button, event) {
// this.onClearSql(button, event);
// },
// scope: this
// }, {
// xtype: 'button',
// width: 30,
// // text: "高级查询",
// iconCls: "btnmore",
// handler: function (button, event) {
// var sql = this.getCondition();
// var winAccess = new Shipping.DsQuery({
// });
// winAccess.StoreList = this.storeBodyAddList;
// winAccess.formname = this.formname;
// winAccess.condition = sql;
// winAccess.show();
// return;
// },
// scope: this
// }
// ]
// }
// ]//end items(fieldset 1)
// }//end fieldset 1
// ]//end root items
// });
// this.paneladd = new Ext.Panel({
// title: '添加文件明细',
// layout: "border",
// // region: 'south',
// region: "center",
// // height: 420,
// items: [
// this.formSearch, this.gridAddList
// ]
// });
//#endregion
//#region 查询业务锁定数据
this.StoreOpLb = Ext.create('DsExt.ux.RefEnumStore', {});
this.StoreOpLb.load({ params: { enumTypeId: 96005 } });
this.comboxOpLb = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '业务类型',
store: this.StoreOpLb,
forceSelection: true,
name: 'PS_OPLB',
valueField: 'EnumValueName',
displayField: 'EnumValueName',
enableKeyEvents: true,
listeners: {
keyup: function (field, e) {
if (e.getKey() == e.ENTER) {
//_this.onRefreshClick();
}
}
}
});
this.storeCustCode = Ext.create('DsExt.ux.RefTableStore', {
model: 'DsShipping.ux.CustomRefModel',
proxy: { url: '/CommMng/BasicDataRef/GetCustomRefList' }
});
this.storeCustCode.load({ params: { condition: "ISCONTROLLER='1'" } });
this.comboxCustCode = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '委托单位',
store: this.storeCustCode,
forceSelection: true,
name: 'PS_CUSTOMERNAME',
valueField: 'CustName',
displayField: 'CodeAndName',
enableKeyEvents: true,
listeners: {
keyup: function (field, e) {
if (e.getKey() == e.ENTER) {
//_this.onRefreshClick();
}
}
}
});
this.formSearch = Ext.widget('form', {
frame: true,
region: 'north',
bodyPadding: 5,
fieldDefaults: {
margins: '2 2 2 2',
labelAlign: 'right',
flex: 1,
labelWidth: 70,
msgTarget: 'qtip'
},
items: [
{//fieldset 1
xtype: 'container',
defaultType: 'textfield',
layout: 'anchor',
defaults: {
anchor: '100%'
},
items: [{
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [this.comboxOpLb, {
fieldLabel: '编号',
name: 'PS_MBLNO',
enableKeyEvents: true,
listeners: {
specialkey: function (field, e) {
if (e.getKey() == e.ENTER) {
_this.onRefreshClick();
}
}
}
}, {
fieldLabel: '船名',
name: 'PS_VESSEL',
enableKeyEvents: true,
listeners: {
specialkey: function (field, e) {
if (e.getKey() == e.ENTER) {
_this.onRefreshClick();
}
}
}
}, {
fieldLabel: '航次',
name: 'PS_VOYNO',
enableKeyEvents: true,
listeners: {
specialkey: function (field, e) {
if (e.getKey() == e.ENTER) {
_this.onRefreshClick();
}
}
}
}, this.comboxCustCode,
{
fieldLabel: '从ETD',
format: 'Y-m-d',
xtype: 'datefield',
name: 'PS_ETDDATEBGN',
enableKeyEvents: true,
listeners: {
specialkey: function (field, e) {
if (e.getKey() == e.ENTER) {
_this.onRefreshClick();
}
}
}
}, {
fieldLabel: '到ETD',
format: 'Y-m-d',
xtype: 'datefield',
name: 'PS_ETDDATEEND',
enableKeyEvents: true,
listeners: {
specialkey: function(field, e) {
if (e.getKey() == e.ENTER) {
_this.onRefreshClick();
}
}
}
}, {
xtype: 'button',
text: "查询",
iconCls: "btnsearch",
handler: function (button, event) {
this.onRefreshClick();
},
scope: this
},{
xtype: 'button',
text: "高级查询",
iconCls: "btnmore",
handler: function (button, event) {
var sql = this.getCondition();
var winAccess = new Shipping.DsQuery({
});
winAccess.StoreList = this.storeListFee;
winAccess.formname = this.formname;
winAccess.condition = sql;
winAccess.show();
return;
},
scope: this
}, {
xtype: 'button',
text: "清空条件",
iconCls: "btnreset",
handler: function (button, event) {
this.onClearSql(button, event);
},
scope: this
}
]
}
]//end items(fieldset 1)
}//end fieldset 1
]//end root items
});
//#endregion
//#region 财务管理--业务锁定 数据表
//定义数据集
this.storeListFee = Ext.create('Ext.data.Store', {
pageSize: this.PageSize,
fields: [
{ name: 'BSNO', type: 'string' },
{ name: 'OPLB', type: 'string' },
{ name: 'OPTYPE', type: 'string' },
{ name: 'OPLBNAME', type: 'string' },
{ name: 'CUSTOMERNAME', type: 'string' },
{ name: 'OPSTATUS', type: 'string' },
{ name: 'ACCDATE', type: 'string' },
{ name: 'CUSTNO', type: 'string' },
{ name: 'MBLNO', type: 'string' },
{ name: 'HBLNO', type: 'string' },
{ name: 'ETD', type: 'string' },
{ name: 'VESSEL', type: 'string' },
{ name: 'VOYNO', type: 'string' },
{ name: 'CREATETIME', type: 'string' },
{ name: 'ISVOU', type: 'string' },
{ name: 'VOUNO', type: 'string' },
{ name: 'SALE', type: 'string' },
{ name: 'OP', type: 'string' },
{ name: 'DOC', type: 'string' },
{ name: 'CUSTSERVICE', type: 'string' },
{ name: 'PORTLOAD', type: 'string' },
{ name: 'PORTDISCHARGE', type: 'string' },
{ name: 'CONTRACTNO', type: 'string' },
{ name: 'SERVICECONTRACTNO', type: 'string' },
{ name: 'CARRIER', type: 'string' },
{ name: 'OPDATE', type: 'string' },
{ name: 'NETWEIGHT', type: 'number' }
],
remoteSort: true,
proxy: {
type: 'ajax',
url: '/Account/Chfee_lock/BsListData',
reader: {
id: '',
root: 'data',
totalProperty: 'totalCount'
}
}
});
//定义Grid
_this = this;
this.initgirdcolumsFee = [{
sortable: true,
dataIndex: 'BSNO',
header: '编号',
hidden: true,
width: 130
},
{
sortable: true,
dataIndex: 'OPLBNAME',
header: '业务类型',
width: 70
}, {
sortable: true,
id: '',
dataIndex: 'OPSTATUS',
header: '业务状态',
width: 60
},{
sortable: true,
dataIndex: 'OPTYPE',
header: '更改单',
width: 86
},{
sortable: true,
dataIndex: 'ACCDATE',
header: '会计期间',
width: 86
}, {
sortable: true,
dataIndex: 'OPDATE',
header: '业务日期',
width: 86
}, {
sortable: true,
dataIndex: 'CUSTOMERNAME',
header: '委托单位',
width: 120
}, {
sortable: true,
dataIndex: 'CUSTNO',
header: '委托编号',
width: 136
}, {
sortable: true,
dataIndex: 'CONTRACTNO',
header: '合约号',
width: 136
}, {
sortable: true,
dataIndex: 'SERVICECONTRACTNO',
header: '参考号',
width: 136
}, {
sortable: true,
dataIndex: 'MBLNO',
header: '主提单号',
width: 120
}, {
sortable: true,
dataIndex: 'HBLNO',
header: '分提单号',
width: 120
}, {
sortable: true,
dataIndex: 'ETD',
header: '开船日期',
width: 86
}, {
sortable: true,
dataIndex: 'VESSEL',
header: '船名',
width: 200
}, {
sortable: true,
dataIndex: 'VOYNO',
header: '航次',
width: 50
}, {
sortable: true,
dataIndex: 'SALE',
header: '业务员',
width: 80
}, {
sortable: true,
dataIndex: 'OP',
header: '操作',
width: 80
}, {
sortable: true,
dataIndex: 'DOC',
header: '单证',
width: 80
}, {
sortable: true,
dataIndex: 'CUSTSERVICE',
header: '客服',
width: 80
}, {
sortable: true,
dataIndex: 'PORTLOAD',
header: '起运港',
width: 80
}, {
sortable: true,
dataIndex: 'PORTDISCHARGE',
header: '目的港',
width: 150
}, {
sortable: true,
dataIndex: 'CARRIER',
header: '船公司',
width: 80
}];
this.girdcolumsFee = this.initgirdcolumsFee;
this.girdcolumsFee = DsTruck.GetGridPanel(GID, this.formname, this.girdcolumsFee, 0);
this.GridCheckBoxModelFee = Ext.create('Ext.selection.CheckboxModel');
this.gridListFee = new Ext.grid.GridPanel({
store: this.storeListFee,
enableHdMenu: false,
region: 'center',
loadMask: { msg: "数据加载中,请稍等..." },
trackMouseOver: true,
disableSelection: false,
selModel: this.GridCheckBoxModelFee,
tbar: [{
text: '添加选中明细',
tooltip: '添加选中明细',
id: 'btnadd',
iconCls: "btnadd",
handler: function (button, event) {
this.onAddSelected();
},
scope: this
}, '-', {
text: "保存列表样式",
menu: [{
text: "保存",
handler: function (button, event) {
_this.girdcolumsFee = DsTruck.SaveGridPanel(GID, _this.formname, _this.gridListFee.columns, _this.girdcolumsFee, 0, true); //使用者id表名中间column数组跳过一开始的几列
}
}, {
text: "初始化",
handler: function (menu, event) {
_this.gridListFee.reconfigure(_this.storeListFee, _this.initgirdcolumsFee);
_this.girdcolumsFee = DsTruck.SaveGridPanel(GID, _this.formname, _this.gridListFee.columns, _this.initgirdcolumsFee, 0, true); //使用者id表名中间column数组跳过一开始的几列
}
}],
scope: this
}],
columns: this.girdcolumsFee,
viewConfig: {
enableTextSelection: true
},
features: [{
ftype: 'summary'//Ext.grid.feature.Summary表格汇总特性
}]
});
this.gridListFee.addListener('itemdblclick', function (dataview, record, item, index, e, b) {
//this.SelectedRecordFee = record;
}, this);
//#endregion
//#region 按钮Toolbar
this.panelBtn = new Ext.Panel({
region: "north",
tbar: [
{
text: "保存",
iconCls: "btnsave",
handler: function (button, event) {
this.Save('0');
},
scope: this
},
{
text: "保存并关闭",
handler: function (button, event) {
this.Save('1');
},
scope: this
},
'-',
{
text: "保存并新建",
handler: function (button, event) {
this.Save('2');
},
scope: this
}, {
id: 'btnECopyNew',
text: "复制新建",
handler: function (button, event) {
var basicForm = this.formEdit.getForm();
this.opStatus = 'add';
basicForm.findField('GID').setDisabled(false);
var field = basicForm.findField('GID');
field.setValue(NewGuid());
basicForm.findField('GID').setDisabled(true);
},
scope: this
}, '-', {
text: "一键复制收件人信息",
iconCls: "",
handler: function (button, event) {
this.GetReceiverInfo();
},
scope: this
}, {
text: "一键复制发件人信息",
iconCls: "",
handler: function (button, event) {
this.GetSenderInfo();
},
scope: this
}, '-', {
text: "下单顺丰快递",
iconCls: "",
handler: function (button, event) {
this.CreateOrderSF();
},
scope: this
},'-', {
text: "打印",
iconCls: "btnprint",
handler: function (button, event) {
this.Print();
},
scope: this
}
]
}); //end 按钮Toolbar
//#endregion
//#region 布局
//控件布局
this.panelTop = new Ext.Panel({
layout: "border",
region: "north",
height: 320,
items: [this.panelBtn, this.formEdit]
});
this.panelDetail = new Ext.Panel({
layout: "border",
region: "center",
items: [this.gridList]
});
this.panelFee = new Ext.Panel({
layout: "border",
region: 'south',
frame: true,
height: 200,
resizable:true,
items: [this.formSearch, this.gridListFee]
});
this.panelDoc = new Ext.Panel({
layout: "border",
title: "邮寄文件明细",
region: "center",
items: [this.panelDetail, this.panelFee]
});
Ext.apply(this, {
items: [this.panelTop, this.panelDoc]
});
//#endregion
this.ParentWin = window.parent.opener._this;
//初始化数据
this.InitData();
//收件人地址管理
//定义数据集
this.storeListAddress = Ext.create('Ext.data.Store', {
fields: [
{ name: 'GID', type: 'string' },
{ name: 'NAME', type: 'string' },
{ name: 'CORPNAME', type: 'string' },
{ name: 'CORPNAMERV', type: 'string' },
{ name: 'ADDRESS', type: 'string' },
{ name: 'PROVINCE', type: 'string' },
{ name: 'DESTI', type: 'string' },
{ name: 'TEL', type: 'string' },
{ name: 'POSTCODE', type: 'string' }],
remoteSort: true,
proxy: {
type: 'ajax',
url: '/MsOpExpress/GetAddressList',
reader: {
id: 'GID',
root: 'data',
totalProperty: 'totalCount'
}
}
});
//定义Grid
this.initgirdcolumsAddress = [{
sortable: true,
dataIndex: 'GID',
header: 'GID',
hidden: true,
width: 130
},
{
sortable: true,
dataIndex: 'NAME',
header: '姓名',
width: 70
},{
sortable: true,
dataIndex: 'TEL',
header: '电话',
width: 60
},{
sortable: true,
dataIndex: 'DESTI',
header: '城市',
width: 60
}];
this.girdcolumsAddress = this.initgirdcolumsAddress;
this.GridCheckBoxModelAddress = Ext.create('Ext.selection.CheckboxModel');
this.gridListAddress = new Ext.grid.GridPanel({
store: this.storeListAddress,
flex: 0.8,
enableHdMenu: false,
region: 'center',
loadMask: { msg: "数据加载中,请稍等..." },
trackMouseOver: true,
disableSelection: false,
selModel: this.GridCheckBoxModelAddress,
columns: this.girdcolumsAddress,
tbar: [{
text: '添加地址',
tooltip: '添加地址',
id: 'btnadddress',
iconCls: "btnadddetail",
handler: function (button, event) {
this.onAddressAdd();
},
scope: this
}, '-', {
text: '复制添加',
tooltip: '复制添加',
id: 'btncopyaddress',
iconCls: "btnadddetail",
handler: function (button, event) {
this.onAddressCopy();
},
scope: this
},'-', {
text: '保存',
tooltip: '保存',
id: 'btnsaveadddress',
iconCls: "btnsave",
handler: function (button, event) {
this.onAddressSave();
},
scope: this
}, '-', {
text: '删除地址',
tooltip: '删除地址',
id: 'btndeladdress',
iconCls: "btndeletedetail",
handler: function (button, event) {
this.onAddressDel();
},
scope: this
}],
viewConfig: {
enableTextSelection: true
}
});
//单击事件
this.gridListAddress.addListener('itemclick', function (dataview, record, item, index, e, b) {
var addrData = record.data;
this.formAddressDetail.getForm().setValues(addrData);
}, this);
//双击事件
this.gridListAddress.addListener('itemdblclick', function (dataview, record, item, index, e, b) {
var addrData = record.data;
this.formEdit.getForm().findField('RECEIVEATTN').setValue(addrData.NAME);
this.formEdit.getForm().findField('RECEIVEPROVINCE').setValue(addrData.PROVINCE);
this.formEdit.getForm().findField('RECEIVECITY').setValue(addrData.DESTI);
this.formEdit.getForm().findField('RECEIVEADDR').setValue(addrData.ADDRESS);
this.formEdit.getForm().findField('RECEIVEPOST').setValue(addrData.POSTCODE);
this.formEdit.getForm().findField('RECEIVETEL').setValue(addrData.TEL);
this.formEdit.getForm().findField('RECEIVE').setValue(addrData.CORPNAMERV);
this.winAddress.close();
}, this);
//收件人省份
//定义数据集
this.storeListProvince = Ext.create('Ext.data.Store', {
fields: [
{ name: 'ProvinceName', type: 'string' }],
remoteSort: true,
proxy: {
type: 'ajax',
url: '/MsOpExpress/GetProvinceList',
reader: {
id: 'ProvinceName',
root: 'data',
totalProperty: 'totalCount'
}
}
});
this.comboxProvince = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '收件省份',
store: this.storeListProvince,
forceSelection: true,
name: 'PROVINCE',
valueField: 'ProvinceName',
displayField: 'ProvinceName',
listeners: {
scope: this,
'select': function (combo, records, eOpts) {
if (records.length > 0) {
var curProv = records[0].data.ProvinceName;
this.storeListCity.load({ params: { Province: curProv } });
}
}
}
});
this.storeListProvince.load();
//城市
//定义数据集
this.storeListCity = Ext.create('Ext.data.Store', {
fields: [
{ name: 'CityName', type: 'string' }],
remoteSort: true,
proxy: {
type: 'ajax',
url: '/MsOpExpress/GetCityList',
reader: {
id: 'CityName',
root: 'data',
totalProperty: 'totalCount'
}
}
});
this.comboxCity = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '收件城市',
store: this.storeListCity,
forceSelection: true,
name: 'DESTI',
valueField: 'CityName',
displayField: 'CityName'
});
this.storeListCity.load({ params: { Province: '' } });
this.formAddressDetail = Ext.widget('form', {
//region: 'north',
title: '收件人资料',
flex: 1,
frame: true,
bodyPadding: 0,
collapsed: false,
collapsible: true,
trackResetOnLoad: true,
fieldDefaults: {
margins: '2 2 2 2',
labelAlign: 'right',
flex: 1,
labelWidth: 110,
msgTarget: 'qtip'
},
items: [
{//fieldset 1
xtype: 'fieldset',
defaultType: 'textfield',
layout: 'anchor',
defaults: {
anchor: '100%'
},
items: [{
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [{
fieldLabel: 'GID',
name: 'GID',
hidden:true,
}, {
labelWidth: 90,
fieldLabel: '收件人',
name: 'NAME'
}]
}, {
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [this.comboxProvince,this.comboxCity]
}, {
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [{
fieldLabel: '收件公司',
name: 'CORPNAMERV'
}]
}, {
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [{
xtype: 'textareafield',
grow: true,
fieldLabel: '收件详细地址',
height: 40,
name: 'ADDRESS',
anchor: '100%'
}]
}, {
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [{
fieldLabel: '收件人邮编',
name: 'POSTCODE'
},
{
fieldLabel: '收件人电话',
name: 'TEL'
}]
}, {
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [{
fieldLabel: '收件公司',
hidden: true,
name: 'CORPNAME'
}]
}]//end root items
}]
}); //
this.formAddress = 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: 'hbox',
defaults: {
anchor: '100%'
},
items: [this.gridListAddress, this.formAddressDetail]//end items(fieldset 1)
}//end fieldset 1
]//end root items
});
me = this;
this.winAddress = Ext.create('Ext.window.Window', {
title: '地址管理', //"",
width: 850,
//height : 120,
//plain : true,
iconCls: "addicon",
resizable: false,
// 是否可以拖动
// draggable:false,
collapsible: true, // 允许缩放条
closeAction: 'close',
closable: true,
modal: 'true',
buttonAlign: "center",
bodyStyle: "padding:0 0 0 0",
items: [this.formAddress]
});
}, //end initUIComponents
InitData: function () {
this.opStatus = 'add';
var condition = '';
if (this.ParentWin) {
var ret = this.ParentWin.OprationSwap();
this.opStatus = ret[0];
this.StoreList = ret[1];
this.editRecord = ret[2];
}
if (this.opStatus == 'edit')
condition = " GID='" + this.editRecord.get('GID') + "'";
this.LoadData(this.opStatus, condition);
}, //end InitData
LoadData: function (opstatus, condition) {
this.serialNo = 0;
this.workSerialNo = 0;
this.bodyDel = [];
this.opStatus = opstatus;
Ext.Ajax.request({
waitMsg: '正在查询主表数据...',
url: '/MvcShipping/MsOpExpress/GetData',
params: {
handle: opstatus,
condition: condition
},
callback: function (options, success, response) {
if (success) {
var result = Ext.JSON.decode(response.responseText);
if (!result.Success) {
Ext.Msg.show({
title: '提示',
msg: result.Message,
icon: Ext.MessageBox.ERROR,
buttons: Ext.Msg.OK
});
return;
}
var data = result.data;
this.formEdit.getForm().reset();
this.formEdit.getForm().setValues(data);
var sql = " e.EXPID='" + data.GID + "'";
this.storeBodyList.load({ params: { start: 0, limit: this.PageSize, sort: '', condition: sql} });
} else {
Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
}
},
scope: this
});
}, // end LoadDate
Save: function (type) {
var basicForm = this.formEdit.getForm();
if (!basicForm.isValid()) {
return;
}
this.cellEditingDrOpReceipt.startEditByPosition({ row: 0, column: 25 });
basicForm.findField('GID').setDisabled(false);
var data = basicForm.getValues();
var tmpATTN = basicForm.findField('SENDERATTN').getValue();
if (tmpATTN.constructor == Array) {
data.SENDERATTN = '';
for (let i = 0; i < tmpATTN.length; i++) {
if (i == 0)
data.SENDERATTN += tmpATTN[i];
if (i == 1) {
data.SENDERATTN += ',';
data.SENDERATTN += tmpATTN[i];
}
}
}
basicForm.findField('GID').setDisabled(true);
// if (this.opStatus == 'add') {
// data.GID = NewGuid();
// }
var bodydatas = [];
for (var i = 0; i < this.storeBodyList.getCount(); i += 1) {
var member = this.storeBodyList.getAt(i);
if (member.data.BSNO != '')
bodydatas.push(member);
else {
Ext.MessageBox.alert('系统中不存在此票提单号业务,不允许保存', member.data.MBLNO);
return;
}
if (member.data.ISREPEAT == '否')
member.data.ISREPEAT = 'false';
else
member.data.ISREPEAT = 'true';
if (member.data.ISRECEIVE == '否')
member.data.ISRECEIVE = 'false';
else
member.data.ISRECEIVE = 'true';
}
//
var jsonBody = ConvertRecordsToJsonAll(bodydatas);
Ext.Msg.wait('正在保存数据, 请稍侯..');
Ext.Ajax.request({
waitMsg: '正在保存数据...',
url: '/MvcShipping/MsOpExpress/Save',
scope: this,
params: {
opstatus: this.opStatus,
data: Ext.JSON.encode(data),
body: jsonBody
},
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().setValues(returnData);
var sql = " e.EXPID='" + returnData.GID + "'";
this.storeBodyList.load({ params: { start: 0, limit: this.PageSize, sort: '', condition: sql} });
if (this.opStatus == 'add') {
var arrNewRecords = this.StoreList.add(returnData);
this.editRecord = arrNewRecords[0];
}
else if (this.opStatus == 'edit') {
var editp = Ext.create('MsOpExpress', 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();
}
if (type == '0') {
this.opStatus = 'edit';
basicForm.findField('GID').setDisabled(true);
} else if (type == '1') {
window.close();
} else if (type == '3') {
this.addBillfn();
} else {
this.LoadData('add', '');
basicForm.findField('GID').setDisabled(false);
}
} 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
onRefreshClick: function (button, event) {
var sql = this.getCondition();
this.sqlcontext = sql;
this.storeListFee.pageSize = this.PageSize;
this.storeListFee.load({
params: { start: 0, limit: 5, condition: sql, type: 'BSVOUCHER' },
waitMsg: "正在查询数据...",
scope: this
});
},
onClearSql: function () {
var form = this.formSearch.getForm();
form.reset();
},
CreateOrderSF: function () {
var basicForm = this.formEdit.getForm();
if (!basicForm.isValid()) {
return;
}
if (basicForm.findField('BILLSTATUS').getValue() == '已下单') {
if (!(confirm("确认重新下单?")))
return;
}
if (basicForm.findField('RECEIVE').getValue() == '' ||
basicForm.findField('RECEIVEATTN').getValue() == '' ||
basicForm.findField('RECEIVETEL').getValue() == '' ||
basicForm.findField('RECEIVEADDR').getValue() == '') {
Ext.MessageBox.alert('请求出现错误','收件方信息填写不全!');
return;
}
if (basicForm.findField('SENDER').getValue() == '' ||
basicForm.findField('SENDERATTN').getValue() == '' ||
basicForm.findField('SENDERTEL').getValue() == '' ||
basicForm.findField('SENDERADDR').getValue() == '') {
Ext.MessageBox.alert('请求出现错误','寄件方信息填写不全!');
return;
}
if (basicForm.findField('GID').getValue() == '*' || basicForm.findField('GID').getValue() == '' || basicForm.findField('GID').getValue() == undefined) {
Ext.MessageBox.alert('请求出现错误', '请先保存快递单!');
return;
}
_this = this;
var data = basicForm.getValues();
var tmpATTN = basicForm.findField('SENDERATTN').getValue();
if (tmpATTN.constructor == Array) {
data.SENDERATTN = '';
for (let i = 0; i < tmpATTN.length; i++) {
if (i == 0)
data.SENDERATTN += tmpATTN[i];
if (i == 1) {
data.SENDERATTN += ',';
data.SENDERATTN += tmpATTN[i];
}
}
}
Ext.Ajax.request({
waitMsg: '正在下单,请稍等...',
url: '/MvcShipping/MsOpExpress/CreateOrderSF',
params: {
data: Ext.JSON.encode(data)
},
callback: function (options, success, response) {
var jsonresult = Ext.JSON.decode(response.responseText);
if (jsonresult.Success) {
Ext.MessageBox.alert('系统提示','下单成功!');
_this.formEdit.getForm().findField('EXNO').setValue(jsonresult.Message);
_this.formEdit.getForm().findField('BILLSTATUS').setValue('已下单');
} else {
Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
}
},
scope: this
});
},
//添加选中的业务费用到文件明细
onAddSelected: function() {
selectedRecords = this.gridListFee.selModel.getSelection();
if (selectedRecords.length < 1) return;
var store = this.storeBodyList;
var myDate = new Date();
var EXPRESSCORP = this.formEdit.getForm().findField('EXPRESSCORP').getValue();
var EXNO = this.formEdit.getForm().findField('EXNO').getValue();
var SENDERADDR = this.formEdit.getForm().findField('SENDERADDR').getValue();
for (var i = 0; i < selectedRecords.length; i++) {
recordFee = selectedRecords[i].data;
var record = null;
record = Ext.create('MsOpReceiptEntity', {
GID: NewGuid(), // 惟一编号
BSNO: recordFee.BSNO, // 关联编号/业务编号BSNO
EXPID: '*', // 关联编号/业务编号BSNO
DOCID: '*', // 关联编号/业务编号BSNO
DOCTYPE: '2', // 关联编号/业务编号BSNO
MBLNO: recordFee.MBLNO, // 关联编号/业务编号BSNO
RECEIPTNO: '', // 单据编号
RECEIPTTYPE: '', // 单据类型
CUSTOMERNAME: recordFee.CUSTOMERNAME,//客户名称
CUSTNO: recordFee.CUSTNO,//委托编号
SALE:recordFee.SALE,//业务员
OP: recordFee.OP,//操作
OPLBNAME:recordFee.OPLBNAME,//业务类型
RECEIVE_MAN: SHOWNAME, // 接单人
RECEIVE_DATE: myDate, // 接单日期
SEND_MAN: SENDERADDR, // 送单人
SEND_DATE: myDate, // 送单日期
TRANCER: EXPRESSCORP, // 送单的快递公司
TRANCNO: EXNO, // 送单的快递单号
ISREPEAT: '否', // 是否回单
REPEAT_MAN: '', // 回单人
REPEAT_DATE: null, // 回单日期
ISRECEIVE: '否', // 是否还单
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);
this.storeListFee.remove(recordFee);
this.formEdit.getForm().findField('RECEIVECUST').setValue(recordFee.CUSTOMERNAME);
var receRecords = DsStoreQueryBy(this.storeReceive, 'SHORTNAME', recordFee.CUSTOMERNAME);
if (receRecords.getCount() > 0) {
var receData = receRecords.getAt(0).data;
this.formEdit.getForm().findField('RECEIVE').setValue(receData.DESCRIPTION);
}
}
},
//#region 明细操作
onNextKeyClick: function (col) {
var rows = this.gridList.getSelectionModel().getSelection();
var row = rows[rows.length - 1];
var s = this.gridList.getStore();
var number = s.indexOf(row) + 1;
if (number == this.gridList.getStore().getCount()) {
this.onAddDetailClick(s, event);
} else {
this.cellEditingDrOpReceipt.startEditByPosition({ row: number, column: col });
}
},
onAddDetailClick: function (button, event) {
var store = this.storeBodyList;
var myDate = new Date();
//myDate = this.GetDateStr(0);
var EXPRESSCORP = this.formEdit.getForm().findField('EXPRESSCORP').getValue();
var EXNO = this.formEdit.getForm().findField('EXNO').getValue();
var SENDERADDR = this.formEdit.getForm().findField('SENDERADDR').getValue();
var record = null;
record = Ext.create('MsOpReceiptEntity', {
GID: NewGuid(), // 惟一编号
BSNO: '*', // 关联编号/业务编号BSNO
EXPID: '*', // 关联编号/业务编号BSNO
DOCID: '*', // 关联编号/业务编号BSNO
DOCTYPE: '2', // 关联编号/业务编号BSNO
MBLNO: '', // 关联编号/业务编号BSNO
RECEIPTNO: '', // 单据编号
RECEIPTTYPE: '', // 单据类型
RECEIVE_MAN: SHOWNAME, // 接单人
RECEIVE_DATE: myDate, // 接单日期
SEND_MAN: SENDERADDR, // 送单人
SEND_DATE: myDate, // 送单日期
TRANCER: EXPRESSCORP, // 送单的快递公司
TRANCNO: EXNO, // 送单的快递单号
ISREPEAT: '否', // 是否回单
REPEAT_MAN: '', // 回单人
REPEAT_DATE: null, // 回单日期
ISRECEIVE: '否', // 是否还单
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.storeBodyList;
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 表格的AfterEdit
gridListAfterEdit: function (editor, e, eOpts) {
if (e.value == e.originalValue) return;
if (e.field == 'MBLNO') {
Ext.Ajax.request({
waitMsg: '正在查询主表数据...',
url: '/MvcShipping/MsOpBill/GetBLData',
params: {
condition: "MBLNO='" + e.value + "'"
},
callback: function (options, success, response) {
if (success) {
var result = Ext.JSON.decode(response.responseText);
if (!result.Success) {
Ext.Msg.show({
title: '提示',
msg: result.Message,
icon: Ext.MessageBox.ERROR,
buttons: Ext.Msg.OK
});
return;
}
var data = result.data;
e.record.set('BSNO', data.BSNO);
e.record.set('CUSTNO', data.CUSTNO);
e.record.set('CUSTOMERNAME', data.CUSTOMERNAME);
e.record.set('OPLBNAME', data.OPLBNAME);
e.record.set('SALE', data.SALE);
e.record.set('OP', data.OP);
if (data.BSNO == "") {
Ext.Msg.show({ title: '提示', msg: '系统中不存在此票提单号,不允许保存!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
} else this.storeBodyAddList.load({ params: { start: 0, limit: 100, sort: '', condition: " d.BSNO='" + data.BSNO + "'"} });
var RECEIVECUST = this.formEdit.getForm().findField('RECEIVECUST');
if (RECEIVECUST.getValue() == '' && data.CUSTOMERNAME != '') {
var Cargoinforecords = DsStoreQueryBy(this.storeReceive, 'SHORTNAME', data.CUSTOMERNAME);
if (Cargoinforecords.getCount() > 0) {
var Cargoinfodata = Cargoinforecords.getAt(0).data;
RECEIVECUST.setValue(Cargoinfodata.SHORTNAME);
var RECEIVE = this.formEdit.getForm().findField('RECEIVE');
RECEIVE.setValue(Cargoinfodata.DESCRIPTION);
var RECEIVEADDR = this.formEdit.getForm().findField('RECEIVEADDR');
RECEIVEADDR.setValue(Cargoinfodata.ADDRESS);
var RECEIVETEL = this.formEdit.getForm().findField('RECEIVETEL');
RECEIVETEL.setValue(Cargoinfodata.OFFICEPHONE);
var RECEIVECITY = this.formEdit.getForm().findField('RECEIVECITY');
RECEIVECITY.setValue(Cargoinfodata.CITY);
var RECEIVEATTN = this.formEdit.getForm().findField('RECEIVEATTN');
RECEIVEATTN.setValue(Cargoinfodata.CHIEF);
}
}
} else {
Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
}
},
scope: this
});
} else if (e.field == 'RECEIPTTYPE') {
if (e.value == '发票') {
var CUSTOMERNAME = this.formEdit.getForm().findField('RECEIVECUST').getValue();
this.storeBodyAddList.load({ params: { start: 0, limit: 100, sort: '', condition: " CUSTOMERNAME='" + CUSTOMERNAME + "'",doctype:'发票'} });
}
}
else if (e.field == 'RECEIPTNO') {
var Cargoinforecords = DsStoreQueryBy(this.storeBodyAddList, 'RECEIPTNO', e.value);
if (Cargoinforecords.getCount() > 0) {
var Cargoinfodata = Cargoinforecords.getAt(0).data;
e.record.set('DOCID', Cargoinfodata.GID);
e.record.set('RECEIPTTYPE', Cargoinfodata.RECEIPTTYPE);
e.record.set('RECEIVE_MAN', Cargoinfodata.RECEIVE_MAN);
e.record.set('RECEIVE_DATE', Cargoinfodata.RECEIVE_DATE);
e.record.set('SEND_MAN', Cargoinfodata.SEND_MAN);
e.record.set('SEND_DATE', Cargoinfodata.SEND_DATE);
e.record.set('TRANCER', Cargoinfodata.TRANCER);
e.record.set('TRANCNO', Cargoinfodata.TRANCNO);
e.record.set('ISREPEAT', Cargoinfodata.ISREPEAT);
e.record.set('REPEAT_MAN', Cargoinfodata.REPEAT_MAN);
e.record.set('REPEAT_DATE', Cargoinfodata.REPEAT_DATE);
e.record.set('ISRECEIVE', Cargoinfodata.ISRECEIVE);
e.record.set('RETURN_MAN', Cargoinfodata.RETURN_MAN);
e.record.set('RETURN_DATE', Cargoinfodata.RETURN_DATE);
e.record.set('RETURN_TRANCER', Cargoinfodata.RETURN_TRANCER);
e.record.set('RETURN_TRANCNO', Cargoinfodata.RETURN_TRANCNO);
e.record.set('REMARK', Cargoinfodata.REMARK);
e.record.set('CORPID', Cargoinfodata.CORPID);
e.record.set('CREATEUSER', Cargoinfodata.CREATEUSER);
e.record.set('CREATETIME', Cargoinfodata.CREATETIME);
e.record.set('MODIFIEDUSER', Cargoinfodata.MODIFIEDUSER);
e.record.set('MODIFIEDTIME', Cargoinfodata.MODIFIEDTIME);
} else {
var EXPRESSCORP = this.formEdit.getForm().findField('EXPRESSCORP').getValue();
var EXNO = this.formEdit.getForm().findField('EXNO').getValue();
var SENDERADDR = this.formEdit.getForm().findField('SENDERADDR').getValue();
e.record.set('DOCID', '*');
e.record.set('RECEIPTTYPE', '');
e.record.set('RECEIVE_MAN', '');
e.record.set('RECEIVE_DATE', '');
e.record.set('SEND_MAN', SENDERADDR);
e.record.set('SEND_DATE', myDate);
e.record.set('TRANCER', EXPRESSCORP);
e.record.set('TRANCNO', EXNO);
e.record.set('ISREPEAT', 'false');
e.record.set('REPEAT_MAN', '');
e.record.set('REPEAT_DATE', '');
e.record.set('ISRECEIVE', 'false');
e.record.set('RETURN_MAN', '');
e.record.set('RETURN_DATE', '');
e.record.set('RETURN_TRANCER', '');
e.record.set('RETURN_TRANCNO', '');
e.record.set('REMARK', '');
e.record.set('CORPID', '');
e.record.set('CREATEUSER', '');
e.record.set('CREATETIME', '');
e.record.set('MODIFIEDUSER', '');
e.record.set('MODIFIEDTIME', '');
}
}
},
//#endregion
cellEditingOpReceiptBeforeEdit: function (editor, e) {
// var DOCTYPE = e.record.get('DOCTYPE');
// var canedit = false;
// if (DOCTYPE == "2") {
// canedit = true
// };
// return canedit;
},
addBill: function () {
var basicForm = this.formEdit.getForm();
var selectedRecords = this.gridAddList.selModel.getSelection();
if (selectedRecords.length == 0) {
Ext.Msg.show({ title: '提示', msg: '没有选择要添加的业务!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
return;
};
var Duino = this.formEdit.getForm().findField('GID').getValue();
_this = this;
if ((Duino == '*') || basicForm.isDirty()) {
var CUSTOMERNAME = this.formEdit.getForm().findField('RECEIVECUST').getValue();
if ((CUSTOMERNAME == '') || (CUSTOMERNAME == null)) {
this.formEdit.getForm().findField('RECEIVECUST').setValue(selectedRecords[0].data.CUSTOMERNAME);
}
if (!basicForm.isValid()) {
return;
}
this.Save("3");
} else {
this.addBillfn();
}
}, //end save
addBillfn: function () {
var billcust = this.editRecord.data.RECEIVECUST;
var billno = this.editRecord.data.GID;
var selectedRecords = this.gridAddList.selModel.getSelection();
if (selectedRecords.length == 0) {
Ext.Msg.show({ title: '提示', msg: '没有选择要添加的业务!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
return;
};
var bodyAddDatas = [];
for (var i = 0; i < selectedRecords.length; i++) {
var rec = selectedRecords[i];
if (rec.data.CUSTOMERNAME == billcust)
bodyAddDatas.push(rec);
}
var jsonbodyAddDatas = ConvertRecordsToJsonAll(bodyAddDatas);
Ext.Ajax.request({
waitMsg: '正在添加数据...',
url: '/MvcShipping/MsOpExpress/AddBill',
params: {
billno: billno,
data: jsonbodyAddDatas
},
callback: function (options, success, response) {
if (success) {
var result = Ext.JSON.decode(response.responseText);
if (!result.Success) {
Ext.Msg.show({
title: '提示',
msg: result.Message,
icon: Ext.MessageBox.ERROR,
buttons: Ext.Msg.OK
});
return;
} else {
dataList = result.Data;
if (dataList == null) {
var sql = this.BillSql;
// this.storeBodyAddList.load({ params: { start: 0, limit: _this.PageSize, sort: '', condition: sql} });
this.storeBodyList.load({ params: { condition: " e.EXPID='" + billno + "'"} });
} else {
}
}
} else {
Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
}
},
scope: this
});
},
deleteBill: function (type) {
var billno = this.formEdit.getForm().findField('GID').getValue();
var selectedRecords = this.gridList.selModel.getSelection();
if (selectedRecords.length == 0) {
Ext.Msg.show({ title: '提示', msg: '没有要删除的文件明细!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
return;
};
var bodyAddDatas = [];
for (var i = 0; i < selectedRecords.length; i++) {
var rec = selectedRecords[i];
bodyAddDatas.push(rec);
}
var jsonbodyAddDatas = ConvertRecordsToJsonAll(bodyAddDatas);
var sql = this.BillSql;
Ext.Ajax.request({
waitMsg: '正在删除数据...',
url: '/MvcShipping/MsOpExpress/DelBill',
params: {
billno: billno,
data: jsonbodyAddDatas
},
callback: function (options, success, response) {
if (success) {
var result = Ext.JSON.decode(response.responseText);
if (!result.Success) {
Ext.Msg.show({
title: '提示',
msg: result.Message,
icon: Ext.MessageBox.ERROR,
buttons: Ext.Msg.OK
});
return;
} else {
var sql = this.BillSql;
// this.storeBodyAddList.load({ params: { start: 0, limit: _this.PageSize, sort: '', condition: sql} });
this.storeBodyList.load({ params: { condition: " e.EXPID='" + billno + "'"} });
}
} else {
Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
}
},
scope: this
});
},
getCondition: function () {
var form = this.formSearch.getForm();
var sql = '';
sql = "B.OPTYPE like '普通货' ";
var mblNo = form.findField('PS_MBLNO').getValue();
sql = sql + getAndConSql(sql, mblNo, " (isnull(b.CUSTNO,'')+' '+isnull(b.MBLNO,'')+' '+isnull(b.HBLNO,'')+' '+isnull(b.CUSTOMNO,'')+' '+isnull(b.ORDERNO,'') like '%" + mblNo + "%')");
var OPLB = form.findField('PS_OPLB').getValue();
sql = sql + getAndConSql(sql, OPLB, "B.OPLBNAME='" + OPLB + "'");
var VESSEL = form.findField('PS_VESSEL').getValue();
sql = sql + getAndConSql(sql, VESSEL, "B.VESSEL like '%" + VESSEL + "%'");
var VOYNO = form.findField('PS_VOYNO').getValue();
sql = sql + getAndConSql(sql, VOYNO, "B.VOYNO like '%" + VOYNO + "%'");
var PSCUSTOMERNAME = form.findField('PS_CUSTOMERNAME').getValue();
sql = sql + getAndConSql(sql, PSCUSTOMERNAME, "B.CUSTOMERNAME='" + PSCUSTOMERNAME + "'");
var etdDate_Min = form.findField('PS_ETDDATEBGN').getRawValue();
sql = sql + getAndConSql(sql, etdDate_Min, " B.ETD>='" + etdDate_Min + "'");
var etdDate_Max = form.findField('PS_ETDDATEEND').getRawValue();
sql = sql + getAndConSql(sql, etdDate_Max, " B.ETD<='" + etdDate_Max + " 23:59:59'");
return sql;
},
onAddressAdd: function () {
//this.formAddressDetail.getForm().reset();
this.ClearAddrDetail();
var curCorpName = this.formEdit.getForm().findField('RECEIVECUST').getValue();
this.formAddressDetail.getForm().findField('CORPNAME').setValue(curCorpName);
},
onAddressCopy: function () {
var addressForm = this.formAddressDetail.getForm();
addressForm.findField('GID').setValue('');
addressForm.findField('NAME').setValue('');
// addressForm.findField('PROVINCE').setValue('');
// addressForm.findField('DESTI').setValue('');
// addressForm.findField('CORPNAMERV').setValue('');
// addressForm.findField('ADDRESS').setValue('');
// addressForm.findField('POSTCODE').setValue('');
addressForm.findField('TEL').setValue('');
var curCorpName = this.formEdit.getForm().findField('RECEIVECUST').getValue();
this.formAddressDetail.getForm().findField('CORPNAME').setValue(curCorpName);
opStatusAddress = 'add';
},
onAddressSave: function () {
var addressForm = this.formAddressDetail.getForm();
if (!addressForm.isValid()) {
return;
}
var data = addressForm.getValues();
var opStatusAddress = 'edit';
if (data.GID == '' || data == null)
opStatusAddress = 'add';
Ext.Msg.wait('正在保存收件人地址数据, 请稍侯..');
Ext.Ajax.request({
waitMsg: '正在保存数据...',
url: '/MvcShipping/MsOpExpress/SaveAddress',
scope: this,
params: {
opstatus: opStatusAddress,
data: Ext.JSON.encode(data)
},
callback: function (options, success, response) {
if (success) {
Ext.MessageBox.hide();
var jsonresult = Ext.JSON.decode(response.responseText);
if (jsonresult.Success) {
this.formAddressDetail.getForm().findField('GID').setValue(jsonresult.Data);
var curCorpName = this.formEdit.getForm().findField('RECEIVECUST').getValue();
var sql = '';
sql = sql + getAndConSql(sql, curCorpName, "CORPNAME='" + curCorpName + "'");
this.storeListAddress.load({ params: { start: 0, limit: this.PageSize, sort: '', condition: sql } });
}
} else {
Ext.Msg.show({
title: '请重试',
msg: '服务器响应出错',
icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK
});
}
}
});
},
onAddressDel: function () {
var addressForm = this.formAddressDetail.getForm();
if (!addressForm.isValid()) {
return;
}var data = addressForm.getValues();
Ext.Msg.wait('正在删除地址数据, 请稍侯..');
Ext.Ajax.request({
waitMsg: '正在删除数据...',
url: '/MvcShipping/MsOpExpress/DeleteAddress',
scope: this,
params: {
opstatus: 'del',
data: Ext.JSON.encode(data)
},
callback: function (options, success, response) {
if (success) {
Ext.MessageBox.hide();
var jsonresult = Ext.JSON.decode(response.responseText);
if (jsonresult.Success) {
this.ClearAddrDetail();
//this.formAddressDetail.getForm().reset();
var curCorpName = this.formEdit.getForm().findField('RECEIVECUST').getValue();
var sql = '';
sql = sql + getAndConSql(sql, curCorpName, "CORPNAME='" + curCorpName + "'");
this.storeListAddress.load({ params: { start: 0, limit: this.PageSize, sort: '', condition: sql } });
}
} else {
Ext.Msg.show({
title: '请重试',
msg: '服务器响应出错',
icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK
});
}
}
});
},
ClearAddrDetail: function () {
var addressForm = this.formAddressDetail.getForm();
addressForm.findField('GID').setValue('');
addressForm.findField('NAME').setValue('');
addressForm.findField('PROVINCE').setValue('');
addressForm.findField('DESTI').setValue('');
addressForm.findField('CORPNAMERV').setValue('');
addressForm.findField('ADDRESS').setValue('');
addressForm.findField('POSTCODE').setValue('');
addressForm.findField('TEL').setValue('');
},
Print: function () {
var basicForm = this.formEdit.getForm();
var billNo = basicForm.findField('GID').value;
if (billNo == '*' || billNo == '') {
Ext.Msg.show({ title: '错误', msg: '单据还没有保存,请保存后再打印', icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK });
return;
}
var printType = 'MSOPEXPRESS';
var sql1 =
"SET LANGUAGE 'us_english' select e.*,s.origincode,s.destcode,s.proCode,s.destRouteLabel,s.destTeamCode, ";
sql1 += "s.codingMapping, s.codingMappingOut, s.twoDimensionCode, s.abFlag ";
sql1 +=" from op_express e left join op_express_sfprint s on e.EXNO = s.mailno WHERE e.GID = '" + billNo + "'";
var sql2 = "";
var sql3 = "";
var sql4 = "";
var sql5 = "";
var sql6 = "";
PrintComm(printType, sql1, sql2, sql3, sql4, sql5, sql6);
}
, GetReceiverInfo: function () {
var form = this.formReceive.getForm();
var 省份 = this.comboxRProvince.getRawValue();
var 城市 = this.comboxRCity.getRawValue();
var 地址 = form.findField('RECEIVEADDR').getValue().trim();
var 公司 = form.findField('RECEIVE').getValue().trim();
var 姓名 = this.comboxReceiveAttn.getRawValue().trim();
var 电话 = form.findField('RECEIVETEL').getValue().trim();
copyToClipboard(省份 + ' ' + 城市 + ' ' + 地址 + ' ' + 公司+' ' + 姓名 + ' ' + 电话, this)
}
, GetSenderInfo: function () {
var form = this.formSender.getForm();
var 省份 = this.comboxSProvince.getRawValue();
var 城市 = this.comboxSCity.getRawValue();
var 地址 = form.findField('SENDERADDR').getValue().trim();
var 公司 = form.findField('SENDER').getValue().trim();
var 姓名 = this.comboxSenderAttn.getRawValue().trim();
var 电话 = form.findField('SENDERTEL').getValue().trim();
copyToClipboard(省份 + ' ' + 城市 + ' ' + 地址 + ' ' + 公司 + ' ' + 姓名 + ' ' + 电话, this)
}
});