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/MsChFeeAutoDui/MsChFeeAutoDuiEdit.js

1983 lines
79 KiB
JavaScript

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

Ext.namespace('DsTruck');
var C_cargoinfo_id="";
var HTHCount=0;
var APPUsingCount=0;
DsTruck.MsOpAirn_Freight_Edit = function (config) {
Ext.applyIf(this, config);
this.initUIComponents();
window.DsTruck.MsOpAirn_Freight_Edit.superclass.constructor.call(this);
};
Date.prototype.format = function (format) {
var o = {
"M+": this.getMonth() + 1, //month
"d+": this.getDate(), //day
"h+": this.getHours(), //hour
"m+": this.getMinutes(), //minute
"s+": this.getSeconds(), //sedcond
"q+": Math.floor((this.getMonth() + 3) / 3), //quarter
"S": this.getMilliseconds() //millisecond
}
if (/(y+)/.test(format)) format = format.replace(RegExp.$1,
(this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o) if (new RegExp("(" + k + ")").test(format))
format = format.replace(RegExp.$1,
RegExp.$1.length == 1 ? o[k] :
("00" + o[k]).substr(("" + o[k]).length));
return format;
}
var xhr = new XMLHttpRequest();
var currdate = new Date();
if (!xhr) {
//...其他生成xmlhttprequest方法
}
xhr.open("HEAD", location.href, true);
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
var datestr = xhr.getResponseHeader("Date");
currdate = new Date(datestr);
// alert(currdate.format('yyyy-MM-dd'));
}
}
xhr.send(null);
function getSaved(){
var cargodirty = DsTruck.GetDirty(panelEdit.storeDetail, panelEdit.DetailDel);
if (panelEdit.formEdit.getForm().isDirty()== true || cargodirty==true)
{
return true;
}
else return false;
}
Ext.extend(DsTruck.MsOpAirn_Freight_Edit, Ext.Panel, {
parentWin: null,
opStatus: 'add',
StoreList: null,
editRecord: null,
// parentfunction: null,
_First: true,
GID: "",
CUSTOMERNAME: "",
initUIComponents: function () {
Ext.Ajax.timeout = 1200000;
this.DetailDel = [];
this.feeSerialNo = 0;
this.feeBodyDel = [];
this.DetailListName = "ChFeeAutoDuiDetail";
this.bssql = '';
this.feesql = '';
this.formname = "frmChFeeAutoDuiDetail";
this.FactoryNo = "";
//#region 枚举参照相关(编辑form)
var _this = this;
//this.storeSeller = Ext.create('DsExt.ux.RefTableStore', {
// model: 'Tradermb',
// proxy: { url: '/CommMng/BasicDataRef/GetTrader' }
//});
//this.storeSeller.load({ params: { condition: ""} });
this.storeCustomerNameRef = Ext.create('DsExt.ux.RefTableStore', {
model: 'DsShipping.ux.CustomRefModel',
proxy: { url: '/CommMng/BasicDataRef/GetCustomRefListRm' }
});
this.storeCustomerNameRef.load();
this.comboxCustomer = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '结算对象', flex: 1,
forceSelection: true,
store: this.storeCustomerNameRef,
id: 'CUSTOMERNAME',
queryMode: 'remote',
minChars: 1,
queryParam: 'CODENAME',
lazyRender: false,
name: 'CUSTOMERNAME',
valueField: 'CustName',
displayField: 'CodeAndName',
allowBlank: false,
listeners: {
blur: function (field, newValue, oldValue) {
Ext.getCmp("CUSTOMERNAME").setValue(field.displayTplData[0].CustName);
if (field.displayTplData[0].CustCode != "") {
//_this.storeDetailName.load({ params: { start: 0, limit: 9999, condition: " CLIENTGID=(select gid from info_client where codename='" + field.displayTplData[0].code + "') "} });
}
},
change: function (field, newValue, oldValue) {
if (field.displayTplData[0].CustCode != "") {
//_this.storeDetailName.load({ params: { start: 0, limit: 9999, condition: " CLIENTGID=(select gid from info_client where codename='" + field.displayTplData[0].code + "') "} });
}
},
scope: this
}
});
this.storeUser = Ext.create('DsExt.ux.RefTableStore', {
model: 'DsTruckMng.ux.UserRefModel',
proxy: { url: '/CommMng/BasicDataRef/GetUserRefList' }
});
this.storeUser.load({ params: { condition: ""} });
this.comboxOP = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '操作人', readOnly: true,
forceSelection: true,
store: this.storeUser,
name: 'OP',
valueField: 'UserName',
displayField: 'CodeAndName'
//,allowBlank: false
});
this.storeFeeType = Ext.create('Ext.data.Store', {
fields: ['ID', 'NAME']
});
//this.storeFeeType.add({ "ID": "0", "NAME": "" });
this.storeFeeType.add({ "ID": "1", "NAME": "应收" });
this.storeFeeType.add({ "ID": "2", "NAME": "应付" });
this.storeFeeType.add({ "ID": "3", "NAME": "全部" });
this.comboxFEETYPE = Ext.create('DsExt.ux.RefTableCombox', {
store: this.storeFeeType, //id: "STLNAME",
fieldLabel: '结算方式',
forceSelection: true,
flex: 0.6,
name: 'FEETYPE',
valueField: 'ID',
displayField: 'NAME'
});
this.storeAddDCType = Ext.create('Ext.data.Store', {
fields: ['DC', 'NAME']
});
this.storeAddDCType.add({ "DC": "0", "NAME": "全部" });
this.storeAddDCType.add({ "DC": "1", "NAME": "应收" });
this.storeAddDCType.add({ "DC": "2", "NAME": "应付" });
this.comboxaddDCType = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '费用范围',
store: this.storeAddDCType,
valueField: 'DC',
displayField: 'NAME',
flex: 0.5,
// labelWidth: 50,
forceSelection: true,
name: 'FEEDC',
enableKeyEvents: true,
listeners: {
keyup: function (field, e) {
if (e.getKey() == e.ENTER) {
_this.onRefreshClick();
}
}
}
});
Ext.define('MsFeeCurr', {
extend: 'Ext.data.Model',
idProperty: 'CURR',
fields: [
{ name: 'CURR', type: 'string' },
{ name: 'DEFRATE', type: 'number' },
{ name: 'CRDEFRATE', type: 'number' }
]
});
this.StoreCurr = Ext.create('DsExt.ux.RefTableStore', {
model: 'MsFeeCurr',
proxy: { url: '/MvcShipping/MsChFee/GetFeeCurrList' }
});
this.StoreCurr.load({ params: { condition: ""} });
this.comboxCurr = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '币别',
store: this.StoreCurr,
forceSelection: true,
labelWidth: 30,
flex: 0.4,
name: 'CURR',
valueField: 'CURR',
displayField: 'CURR',
enableKeyEvents: true,
listeners: {
keyup: function (field, e) {
if (e.getKey() == e.ENTER) {
_this.onRefreshClick();
}
}
}
});
this.storeFSTATUS = Ext.create('Ext.data.Store', {
fields: ['FSTATUS', 'NAME']
});
this.storeFSTATUS.add({ "FSTATUS": "0", "NAME": "全部" });
this.storeFSTATUS.add({ "FSTATUS": "1", "NAME": "仅已审核" });
this.storeFSTATUS.add({ "FSTATUS": "2", "NAME": "仅未审核" });
this.storeFSTATUS.add({ "FSTATUS": "3", "NAME": "仅已审核未申请" });
this.storeFSTATUS.add({ "FSTATUS": "4", "NAME": "仅未申请" });
this.comboxFSTATUS = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '费用状态',
store: this.storeFSTATUS,
valueField: 'FSTATUS',
displayField: 'NAME',
flex: 0.5,
forceSelection: true,
name: 'FSTATUS',
value: '',
enableKeyEvents: true,
listeners: {
keyup: function (field, e) {
if (e.getKey() == e.ENTER) {
_this.onRefreshClick();
}
}
}
});
this.storeDuiType = Ext.create('Ext.data.Store', {
fields: ['ID', 'NAME']
});
//this.storeFeeType.add({ "ID": "0", "NAME": "" });
this.storeDuiType.add({ "ID": "1", "NAME": "根据区间对账" });
this.storeDuiType.add({ "ID": "2", "NAME": "根据导入对账" });
this.comboxDUITYPE = Ext.create('DsExt.ux.RefTableCombox', {
store: this.storeDuiType, //id: "STLNAME",
fieldLabel: '对账方式', flex: 1,
forceSelection: true,
value:'1',
name: 'DUITYPE',
valueField: 'ID',
displayField: 'NAME'
});
this.storeFEEDUITYPE = Ext.create('DsExt.ux.RefEnumStore', {});
this.storeFEEDUITYPE.load({ params: { enumTypeId: 50003 } });
this.comboxFEEDUITYPE = Ext.create('DsExt.ux.RefTableCombox', {
store: this.storeFEEDUITYPE,
fieldLabel:'', //'对账类别',
flex: 0.5,
// labelWidth: 60,
valueField: 'EnumValueName',
displayField: 'EnumValueName',
name: 'FEEDUITYPE',
forceSelection: true
});
this.storeFEEDUITYPECONDIT = Ext.create('Ext.data.Store', {
fields: ['ID', 'NAME']
});
//this.storeFeeType.add({ "ID": "0", "NAME": "" });
this.storeFEEDUITYPECONDIT.add({ "ID": "等于", "NAME": "等于" });
this.storeFEEDUITYPECONDIT.add({ "ID": "不等于", "NAME": "不等于" });
this.comboxFEEDUITYPECONDIT = Ext.create('DsExt.ux.RefTableCombox', {
store: this.storeFEEDUITYPECONDIT, //id: "STLNAME",
fieldLabel: '费用类别',
flex:0.5,
forceSelection: true,
value: '等于',
name: 'FEEDUITYPECONDIT',
valueField: 'ID',
displayField: 'NAME'
});
this.storeSALECORP = Ext.create('DsExt.ux.RefTableStore', {
model: 'MsCompanySale',
proxy: { url: '/MvcShipping/MsCompanys/GetNoPicDataList' }
});
this.storeSALECORP.load();
this.comboxSALECORP = Ext.create('DsExt.ux.RefTableCombox', {
store: this.storeSALECORP,
fieldLabel: '核算单位', //是否开垫付
flex: 0.5,
name: 'SALECORP',
valueField: 'NAME',
displayField: 'CodeAndName'
});
//#endregion
//编辑form:formEdit
this.formEdit = Ext.widget('form', {
// layout: "border",
region: 'center',
frame: true,
bodyPadding: 5,
trackResetOnLoad: true, //不加的话load之后isdirty即变为true
fieldDefaults: {
margins: '2 2 2 2',
labelAlign: 'right',
flex: 1,
labelWidth: 60,
msgTarget: 'qtip'
//,split:true
},
items: [
{//fieldset 1
xtype: 'fieldset',
defaultType: 'textfield',
layout: 'anchor',
defaults: {
anchor: '100%'
},
items: [{//container_1
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [{
fieldLabel: '自动对账编号',
labelWidth: 90,
// hidden: true,
readOnly:true,
name: 'GID'
}, this.comboxCustomer
,this.comboxDUITYPE
, {
fieldLabel: '对账状态', //readOnly: true,
name: 'DUISTATUS', flex: 1
}, {
fieldLabel: '对账单编号', //readOnly: true,
labelWidth: 75,
name: 'DUINO', flex: 1
}
, {
fieldLabel: '时间戳',
name: 'TimeMark', flex: 0, hidden: true, margins: '0'
}
]
}, //container_1 end
{
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [
this.comboxBLTYPE
, {
fieldLabel: '起始时间',
format: 'Y-m-d',
xtype: 'datefield',
renderer: Ext.util.Format.dateRenderer('Y-m-d'),
name: 'STARTDATE'
}
, {
fieldLabel: '结束时间',
format: 'Y-m-d',
xtype: 'datefield',
renderer: Ext.util.Format.dateRenderer('Y-m-d'),
name: 'ENDDATE'
}, this.comboxOP
, {
fieldLabel: '操作时间', readOnly: true,
format: 'Y-m-d H:i:s',
xtype: 'datefield',
labelWidth: 75,
renderer: Ext.util.Format.dateRenderer('Y-m-d H:i:s'),
name: 'OPDATE'
}, { xtype: 'hiddenfield' }
]
},
{
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [
{
fieldLabel: '对账情况', readOnly: true, hidden: true,
name: 'STATUS', flex: 2
}
]
}, {
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [
this.comboxaddDCType, this.comboxFEETYPE, this.comboxCurr, this.comboxFSTATUS, this.comboxSALECORP, {
xtype: 'checkbox',
labelWidth:75,
fieldLabel: '包含已对账',
name: 'HAVEDEBIT', flex: 0.5
}, this.comboxFEEDUITYPECONDIT, this.comboxFEEDUITYPE
]
}, {
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [
////
{
//xtype: 'checkbox', flex: 1,
fieldLabel: '备注',
name: 'REMARK', flex: 1
}
]
}, {
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [
////
]
}, {
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [
////
]
}, {
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [
////
]
}]
}]
});
//////////////////////////////////
//#region 自动对账明细
//数据集
this.storeDetail = Ext.create('Ext.data.Store', {
pageSize: 9999,
model: 'CH_FEE_AutoDuiDetailmb',
remoteSort: false,
//pruneModifiedRecords: true,
proxy: {
type: 'ajax',
url: '/MvcShipping/MsChFeeAutoDui/GetBodyList',
reader: {
id: 'GID',
root: 'data',
totalProperty: 'totalCount'
}
}
});
//表格
this.DetailColumns = [
{
sortable: true, hidden: true,
dataIndex: 'B_BSNO',
text: 'B_BSNO',
width: 80
},
{
sortable: true, align: 'left',
dataIndex: 'MBLNO',
text: '主提单号',
width: 140,
editor: {
xtype: 'textfield',
selectOnFocus: true
}
},
{
sortable: true, align: 'left',
dataIndex: 'CUSTOMERNAME',
text: '委托单位',
width: 140
},
{
sortable: true, align: 'left',
dataIndex: 'OP',
text: '操作',
width: 80
},
{
sortable: true, align: 'left',
dataIndex: 'ETD',
text: 'ETD',
renderer: Ext.util.Format.dateRenderer('Y-m-d'),
width: 80
},
{
sortable: true, align: 'right',
dataIndex: 'RMBAMOUNT',
text: 'RMB对账金额',
width: 80,
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
value = usMoney(value, 2, '', true);
return value;
},
summaryType: 'sum', align: 'right',
summaryRenderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
value = usMoney(value, 2, '', true);
return value;
}
},
{
sortable: true, align: 'right',
dataIndex: 'USDAMOUNT',
text: 'USD对账金额',
width: 80,
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
value = usMoney(value, 2, '', true);
return value;
},
summaryType: 'sum', align: 'right',
summaryRenderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
value = usMoney(value, 2, '', true);
return value;
}
},
{
sortable: true, align: 'right',
dataIndex: 'L_RMBAMOUNT',
text: 'RMB本地金额',
width: 80,
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
value = usMoney(value, 2, '', true);
return value;
},
summaryType: 'sum', align: 'right',
summaryRenderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
value = usMoney(value, 2, '', true);
return value;
}
},
{
sortable: true, align: 'right',
dataIndex: 'L_USDAMOUNT',
text: 'USD本地金额',
width: 80,
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
value = usMoney(value, 2, '', true);
return value;
},
summaryType: 'sum', align: 'right',
summaryRenderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
value = usMoney(value, 2, '', true);
return value;
}
},
{
sortable: true, align: 'right',
dataIndex: 'Y_RMBAMOUNT',
text: 'RMB差额',
width: 80,
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
value = usMoney(value, 2, '', true);
return value;
},
summaryType: 'sum', align: 'right',
summaryRenderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
value = usMoney(value, 2, '', true);
return value;
}
},
{
sortable: true, align: 'right',
dataIndex: 'Y_USDAMOUNT',
text: 'USD差额',
width: 80,
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
value = usMoney(value, 2, '', true);
return value;
},
summaryType: 'sum', align: 'right',
summaryRenderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
value = usMoney(value, 2, '', true);
return value;
}
},
{
sortable: true,
dataIndex: 'ISOK',
text: '对账完成', align: 'center',
width: 80,
editor: {
xtype: 'checkboxfield',
inputValue: '1',
uncheckedValue: '0'
// selectOnFocus: true
},
renderer: function (value, cellmeta) {
if (value == '1' || value == "true") {
return "√";
}
}
},
{
sortable: true, align: 'left',
dataIndex: 'REMARK',
text: '备注',
width: 120,
editor: {
xtype: 'textfield',
selectOnFocus: true,
enableKeyEvents: true/*,
listeners: {
keydown: function (textField, e) {
if (e.getKey() == 40) {
_thisfee.onNextKeyClick(1, 18)
} else if (e.getKey() == 38) {
_thisfee.onUpKeyClick(1, 18)
}
}
}*/
}
},
{
sortable: true, align: 'left',
dataIndex: 'REMARK2', //readOnly:true,
text: '对账结果',
width: 120
},
{
sortable: true,
dataIndex: 'CARRIER', //readOnly:true,
text: '船公司',
width: 100
},
{
sortable: true,
dataIndex: 'TEU', //readOnly:true,
text: 'TEU',
width: 60
},
{
sortable: true,
dataIndex: 'SALE', //readOnly:true,
text: '揽货人',
width: 60
},
{
sortable: true,
dataIndex: 'CUSTNO', //readOnly:true,
text: '委托编号',
width: 60
},
{
sortable: true,
dataIndex: 'DOC', //readOnly:true,
text: '单证',
width: 120
},
{
sortable: true,
dataIndex: 'SALEDEPT', //readOnly:true,
text: '销售部门',
width: 80
},
{
sortable: true,
dataIndex: 'SALECORP', //readOnly:true,
text: '所属公司',
width: 120
}
];
this.cellEditingDetail = Ext.create('Ext.grid.plugin.CellEditing', {
clicksToEdit: 1
});
this.Detail_CBM = Ext.create('Ext.selection.CheckboxModel');
_this = this;
Ext.grid.RowNumberer = Ext.extend(Ext.grid.RowNumberer, {
width: 40
});
this.formDetail = new Ext.grid.GridPanel({
store: this.storeDetail,
enableHdMenu: false,
layout: 'border', id: "formDetail",
region: 'center', //bodyStyle: 'background:#FFF',
trackResetOnLoad: true,
height: 160,
features: [{
ftype: 'summary'//Ext.grid.feature.Summary表格汇总特性
}],
autoScroll: true,
loadMask: { msg: "数据加载中,请稍等..." },
trackMouseOver: true,
disableSelection: false,
plugins: [this.cellEditingDetail],
selModel: this.Detail_CBM,
selType: 'cellmodel',
viewConfig: {
enableTextSelection: true,
getRowClass: function (record, rowIndex, rowParams, store) {
var feeStatus = "";
var ISOK = record.get('ISOK');
var RMBAMOUNT = parseFloat(record.get('RMBAMOUNT'));
var USDAMOUNT = parseFloat(record.get('USDAMOUNT'));
var L_RMBAMOUNT = parseFloat(record.get('L_RMBAMOUNT'));
var L_USDAMOUNT = parseFloat(record.get('L_USDAMOUNT'));
var REMARK2 = record.get('REMARK2');
if (record.get('ISOK') == "1") {
feeStatus = 9;
} else
//20221128 增加对本地业务已退舱的支持
if (REMARK2 == "我方无此提单号" || REMARK2 =="该业务已退舱") {
feeStatus = 3; //4
} else
if (REMARK2 == "对方账单无此提单号") {
feeStatus = 3; //4
} else {
//如rmb和usd均不相等为6
if (RMBAMOUNT != L_RMBAMOUNT && USDAMOUNT != L_USDAMOUNT) {
if (RMBAMOUNT < L_RMBAMOUNT && USDAMOUNT < L_USDAMOUNT) {
feeStatus = 3; //2
} else if (RMBAMOUNT > L_RMBAMOUNT && USDAMOUNT > L_USDAMOUNT) {
feeStatus = 3;
} else {
feeStatus = 3; //6 改为3
}
} else if (RMBAMOUNT < L_RMBAMOUNT || USDAMOUNT < L_USDAMOUNT) {
//RMB我方较多为2
feeStatus = 3; //2
} else if (RMBAMOUNT > L_RMBAMOUNT || USDAMOUNT > L_USDAMOUNT) {
//RMB我方较多为2
feeStatus = 3;
} else {
feeStatus = 99;
}
//RMB我方较多为2
//RMB对方较多为3
}
return RowClass(feeStatus);
}
},
tbar: [{
text: '增加明细', //hidden:true,
tooltip: '增加明细',
iconCls: "btnadddetail",
handler: function (button, event) {
this.onAddCargoClick(button, event);
},
scope: this
}, '-', {
text: '删除明细',
tooltip: '删除明细',
iconCls: "btndeletedetail",
handler: function (button, event) {
this.onDelCargoClick(button, event);
},
scope: this
}, {
text: '生成应收应付',
tooltip: '生成应收应付',
iconCls: "btnCWStart", hidden: true,
handler: function (button, event) {
this.onbtnCWStartClick(button, event);
},
scope: this
}, {
text: "保存列表样式",
id: "btnsavelist",
handler: function (button, event) {
var tempcolumns = this.formDetail.columns;
DsTruck.SaveGridPanel(USERID, _this.DetailListName, tempcolumns);
},
scope: this
}, '-', {
text: "导出Excel",
id: "btnExportExcel",
iconCls: 'btnexportexcel',
handler: function (button, event) {
this.onExportClick(button, event);
},
scope: this
}],
columns: this.DetailColumns
});
this.DetailColumns = DsTruck.GetGridPanel(USERID, this.DetailListName, this.DetailColumns);
this.DetailColumns.unshift(new Ext.grid.RowNumberer());
//使用者id表名 中间column数组跳过一开始的几列
this.formDetail.reconfigure(this.storeDetail, this.DetailColumns);
this.formDetail.addListener('itemdblclick', function (dataview, record, item, index, e, b) {
this.SelectedRecord = record;
var openSet = "height=700, width=1024, toolbar=no, menubar=no,scrollbars=1, resizable=1,location=no, status=no,Top= " + (screen.height - 750) / 2 + ",Left= " + (screen.width - 1100) / 2
var openType = "_blank";
var openUrl = "";
if (record.data.OPLBNAME == "报关业务") {
openUrl = "../MsOpApply/ApplyFeeView?handle=check&bsno=" + record.data.B_BSNO;
} else {
openUrl = "../MsOpBill/MsOpFeeView?handle=check&bsno=" + record.data.B_BSNO;
}
window.open(openUrl, openType, openSet);
}, this);
//#endregion
//公共按钮Toolbar:panelBtn
this.panelBtn = new Ext.Panel({
region: "north",
tbar: [
{
id: "savebtn",
text: "保存",
handler: function (button, event) {
this.Save('0');
},
scope: this
}, {
id: "saveandclosebtn",
text: "保存并关闭",
handler: function (button, event) {
this.Save('1');
},
scope: this
}, '-', {
text: "打印", //"打印",
iconCls: "btnprint",
handler: function (button, event) {
this.Print();
},
scope: this
},
{
// id: "saveandclose",
text: "关闭",
handler: function (button, event) {
window.close();
},
scope: this
}, '-',
{
text: "导入对账信息Excel表格",
tooltip: '注意三列数据应分别为提单号RMB金额USD金额',
id: "uploadexcelbtn",
iconCls: "btnexportexcel",
handler: function (button, event) {
this.Save('0');
if (this.formEdit.getForm().findField('CUSTOMERNAME').getValue() == "") {
alert("必须要选择对账单位");
return;
}
var winAccess = new DsTruck.FileImport({});
winAccess.StoreList = this.storeDetail;
this.GID = this.formEdit.getForm().findField('GID').getValue();
this.CUSTOMERNAME = this.formEdit.getForm().findField('CUSTOMERNAME').getValue();
this.FEETYPE = this.formEdit.getForm().findField('FEETYPE').getValue();
winAccess.show();
},
scope: this
},
{
id: "remakebtn",
text: "重新计算对账信息",
tooltip: '不需重新导入对账文档,只根据当前的费用状态重新计算对账数据。注意当生成对账单后此功能不能使用',
//iconCls: "btnexportexcel",
handler: function (button, event) {
//this.Save('0');
this.ReMake();
},
scope: this
}, '-',
{
id: "makeduibtn",
text: "生成对账单(对账成功的部分)",
tooltip: '仅生成对账成功的部分。如果某条信息由于某种原因需要设为对账成功可以采取以下方法1.对方账单金额错误-将excel文档内的数据改正确然后生成',
//iconCls: "btnexportexcel",
handler: function (button, event) {
this.MakeDui('1');
},
scope: this
},{
id: "cfsavebtn",
text: "拆分(对账成功的部分)",
handler: function (button, event) {
this.CFSave();
},
scope: this
},
{
id: "delduibtn",
text: "取消生成对账单",
tooltip: '',
//iconCls: "btnexportexcel",
handler: function (button, event) {
this.MakeDui('0');
},
scope: this
}, '-', {
text: "生成付费申请", //"打印",
handler: function (button, event) {
this.MakeShen('0');
//this.feesql = ' 1=1 ';
//var DUINO = this.formEdit.getForm().findField('GID').getValue();
//this.bssql = " b.BSNO IN (SELECT B_BSNO FROM CH_FEE_AutoDuiDetail WHERE BSNO='" + DUINO + "')";
//var CURR = this.formEdit.getForm().findField('CURR').getValue();
//if (CURR != '' && CURR != null) this.feesql = this.feesql + " and f.Currency='" + CURR + "'"
//var FEEDC = this.formEdit.getForm().findField('FEEDC').getValue();
//if (FEEDC == '1' || FEEDC == '2') this.feesql = this.feesql + " and f.feetype='" + FEEDC + "'"
//var CUSTOMERNAME = this.formEdit.getForm().findField('CUSTOMERNAME').getValue();
//DsOpenEditWin("/Account/Chfee_payapplication/BLEdit?handle=check&bsnosql=duilist&bsCust=" + CUSTOMERNAME, '付费申请');
},
scope: this
}
]
}); //end 按钮Toolbar
//布局
/* 3 */
this.panelTop = new Ext.Panel({
layout: "border",
region: "north",
height: 160,
items: [this.panelBtn, this.formEdit]
});
this.panelCargoandApp = new Ext.Panel({
layout: "border",
region: 'center',
split: true,
height: 500,
margin: '1 1',
items: [this.formDetail
]
});
Ext.apply(this, {
items: [this.panelTop, this.panelCargoandApp]
});
parentWin = window.parent.opener;
this.InitData();
//集中绑定编辑后事件
this.formDetail.on('edit', function (editor, e, eOpts) {
this.DetailAfterEdit(editor, e, eOpts);
}, this);
}, //end initUIComponents
SetBtnEnable: function (data) {
if (data.DUINO == "") {//没有对账编号
Ext.getCmp('savebtn').enable(); //保存按钮置灰
Ext.getCmp('saveandclosebtn').enable(); //enable;
Ext.getCmp('uploadexcelbtn').enable();
Ext.getCmp('remakebtn').enable();
Ext.getCmp('makeduibtn').enable();
Ext.getCmp('delduibtn').disable();
} else
if (data.SALESTATUS != "") {//有对账编号
Ext.getCmp('savebtn').disable(); //保存按钮置灰
Ext.getCmp('saveandclosebtn').disable(); //enable;
Ext.getCmp('uploadexcelbtn').disable();
Ext.getCmp('remakebtn').disable();
Ext.getCmp('makeduibtn').disable();
Ext.getCmp('delduibtn').enable();
}
},
////////<<<商品>>>明细表相关方法
reLine: function (button, event) {
var _L = 1;
this.storeDetail.each(function (record) {
var ln = _L + "";
_L = _L + 1;
record.set('SEQUENCE', ln);
});
},
onAddCargoClick: function (button, event) {
//var linenum=this.storeDetail.getCount()+1;
//var _r=this.reLine();
var record = Ext.create('FreightDetailmb', {
'GID': NewGuid(),
'DESCRIPTION': '',
'PLAN_GID': '',
'CARGOGID': '',
'CARGO_CODE': '',
'CARGO_NAME': '',
'MINFEE': '0',
'MINWEIGHT': '0',
'W_5': '0',
'W_10': '0',
'W_N': '0',
'W_45': '0',
'W_100': '0',
'W_300': '0',
'W_500': '0',
'W_1000': '0',
'REMARK': '',
'REMARK_2': '',
'REMARK_3': '',
'PORTLOADID': '',
'PORTDISCHARGEID': '',
'VESSEL': '',
'PORTLOADID_REF': '',
'PORTDISCHARGEID_REF': '',
'D_INFO': ''
});
this.storeDetail.add(record);
var n = this.storeDetail.getCount();
this.cellEditingCargo.startEditByPosition({ row: n - 1, column: 2 });
//aftereditform();
},
onDelCargoClick: function (button, event) {
var selectedRecords = this.formDetail.selModel.getSelection();
Ext.MessageBox.confirm('提示', '确定删除记录吗?', function (btn) {
if (btn == 'yes') {
for (var i = 0; i < selectedRecords.length; i++) {
var rec = selectedRecords[i];
if (rec.BSNO != "" || rec.BSNO != "*") //如果是新增但没有保存的数据,没有必要提交到后台
{
this.DetailDel.push(rec);
}
this.storeDetail.remove(selectedRecords[i]);
}
}
}, this);
//aftereditform();
},
DetailAfterEdit: function (editor, e, eOpts) {
if (e.field == 'CARGOGID') {
var Cargoinforecords = DsStoreQueryBy(this.storeDetailName, 'GID', e.value);
if (Cargoinforecords.getCount() > 0) {
var Cargoinfodata = Cargoinforecords.getAt(0).data;
e.record.set('CARGO_CODE', Cargoinfodata.CODEandNAME);
} else {
e.record.set('CARGO_CODE', '');
}
}
if (e.field == 'PORTLOADID') {
var Cargoinforecords = DsStoreQueryBy(this.storeCodeDisport, 'PORTID', e.value);
if (Cargoinforecords.getCount() > 0) {
var Cargoinfodata = Cargoinforecords.getAt(0).data;
e.record.set('PORTLOADID_REF', Cargoinfodata.PORTID + "-" + Cargoinfodata.PORTCNAME);
} else {
e.record.set('PORTLOADID_REF', '');
}
}
if (e.field == 'PORTDISCHARGEID') {
var Cargoinforecords = DsStoreQueryBy(this.storeCodeDisport2, 'PORTID', e.value);
if (Cargoinforecords.getCount() > 0) {
var Cargoinfodata = Cargoinforecords.getAt(0).data;
e.record.set('PORTDISCHARGEID_REF', Cargoinfodata.PORTCNAME);
} else {
e.record.set('PORTDISCHARGEID_REF', '');
}
}
},
/////////////明细表<<<商品>>>的相关方法
parentfunction: function (button, event) {
var ret1 = window.parent.opener.OprationSwap();
// alert(this.First);
ret1[3]();
},
InitData: function () {
this.opStatus = 'add';
var condition = '';
if (parentWin) {
var ret = parentWin.OprationSwap();
this.opStatus = ret[0];
this.StoreList = ret[1];
this.editRecord = ret[2];
// this.parentfunction = ret[3];
}
if (this.opStatus == 'edit')
condition = " GID='" + this.editRecord.get('GID') + "'";
this.LoadData(this.opStatus, condition);
}, //end InitData
//载入数据
LoadData: function (opstatus, condition) {
this.opStatus = opstatus;
var GID = "";
Ext.Ajax.request({
waitMsg: '正在查询主表数据...',
url: '/MvcShipping/MsChFeeAutoDui/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();
GID = data.GID;
if (data.FEETYPE == "" || data.FEETYPE == "0") {
data.FEETYPE = '3';
}
this.formEdit.getForm().setValues(data);
Ext.getCmp("formDetail").setTitle(data.STATUS + '(' + 'RMB对账金额:' + data.RMBAMOUNT + ',USD对账金额:' + data.USDAMOUNT + ',RMB本地金额:' + data.L_RMBAMOUNT + ',USD本地金额:' + data.L_USDAMOUNT+')');
this.SetBtnEnable(data);
} else {
Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
}
},
scope: this
}); //request over
if (this.opStatus == 'edit') {
this.storeDetail.load({ params: { start: 0, limit: 9999, condition: " BSNO='" + this.editRecord.get('GID') + "'"} });
}
}, // end LoadDate
ReflashEdt: function (GID) {
this.opStatus = 'edit';
condition = " GID='" + GID + "'";
this.LoadData(this.opStatus, condition);
//this.storeDetail.load({ params: { condition: condition} });
}, //end InitData
checkedit: function () {
var _r = true;
if (this.HTHCount > 0) {
alert("合同号重复");
_r = false;
} else {
var ContractStatus = this.formEdit.getForm().findField('ContractStatus').getValue() ? 1 : 0
if (ContractStatus == 1) {
alert("已经锁定");
_r = false;
} else
{ } //return true;
}
if (this.storeDetail.getCount() == 0) { } //return true;
else {
for (var i = 0; i < this.storeDetail.getCount(); i += 1) {
var cargomember = this.storeDetail.getAt(i).data;
if (cargomember.weight == "0") {
alert("请填写货物重量,请注意单位是千克");
_r = false;
} else
if (cargomember.name == "") {
alert("请填写货名。");
_r = false;
} else
if (cargomember.cicodeandname == '0203290090_其他冻藏猪肉' && (cargomember.SPECIFICATIONS == "" || cargomember.SPECIFICATIONS == null)) {
alert("0203290090_其他冻藏猪肉的商品必须选择商品规格(去骨/带骨)");
_r = false;
}
} //end for
} //end if
/* if (e.field == 'SPECIFICATIONS'){
var cicodeandname=e.record.get('cicodeandname');
if (cicodeandname!="0202300090_其他冻藏猪肉" ){
//alert("只有HS代码为0203290090的商品才能修改规格");
canedit=false;
}else{
//canedit=true;
}
}*/
_form = this.formEdit.getForm();
var seller_name = _form.findField('seller').getValue();
if (CheckISSTOP(this.storeSeller, 'name', seller_name) == true) {
alert("你选择的贸易商已经停用");
_r = false;
}
var buyer_name = _form.findField('buyer').getValue();
var buyer = DsStoreQueryBy(this.storeBuyer, 'name', buyer_name);
if (buyer.getCount() > 0) {
var buyerdata = buyer.getAt(0).data;
if (buyerdata.ISSTOP == "True") {
alert("你选择的购货商已经停用");
//return;
_r = false;
}
}
var TRADINGAGENCY_name = _form.findField('TRADINGAGENCY').getValue();
var TRADINGAGENCY = DsStoreQueryBy(this.storeTRADINGAGENCY, 'name', TRADINGAGENCY_name);
if (TRADINGAGENCY.getCount() > 0) {
var buyerdata = TRADINGAGENCY.getAt(0).data;
if (buyerdata.ISSTOP == "True") {
alert("你选择的中间商已经停用");
//return;
_r = false;
}
}
return _r;
},
Save: function (type) {
var basicForm = this.formEdit.getForm();
if (!basicForm.isValid()) {
return;
}
//basicForm.findField('ContractNo').setDisabled(false);
var data = this.formEdit.getForm().getValues();
//var HTH = data.HTH;
//var ContractNo = data.ContractNo;
//basicForm.findField('ContractNo').setDisabled(true);
data.HAVEDEBIT = this.formEdit.getForm().findField('HAVEDEBIT').getValue() ? 1 : 0;
var Cargodatas = [];
for (var i = 0; i < this.storeDetail.getCount(); i += 1) {
var member = this.storeDetail.getAt(i);
if (member.data.ISOK == "true") {
member.data.ISOK = "1";
}
if (member.data.ISOK == "false") {
member.data.ISOK = "0";
}
Cargodatas.push(member);
}
//商品明细
var CargoBody = ConvertRecordsToJson(Cargodatas);
var CargoDelBody = ConvertRecordsToJsonAll(this.DetailDel);
//将复选框值转化为1/0
//data.ContractStatus=this.formEdit.getForm().findField('ContractStatus').getValue()?1:0;
//data.HaveContract=this.formEdit.getForm().findField('HaveContract').getValue()?1:0;
//data.INUSE = this.formEdit.getForm().findField('INUSE').getValue() ? 1 : 0;
var _this = this;
Ext.Msg.wait('正在保存数据, 请稍侯..');
Ext.Ajax.request({
async: false,
waitMsg: '正在保存数据...',
url: '/MvcShipping/MsChFeeAutoDui/Save',
scope: this,
params: {
opstatus: this.opStatus,
data: Ext.JSON.encode(data),
CargoBody: CargoBody,
CargoDelBody: CargoDelBody
},
callback: function (options, success, response) {
if (success) {
Ext.MessageBox.hide();
var jsonresult = Ext.JSON.decode(response.responseText);
if (jsonresult.Success) {
this.storeDetail.commitChanges();
var returnData = jsonresult.Data;
this.formEdit.getForm().setValues(returnData);
if (this.opStatus == 'add') {
var arrNewRecords = this.StoreList.add(returnData);
this.editRecord = arrNewRecords[0];
// alert(editRecord.get('ContractNo'));
}
else if (this.opStatus == 'edit') {
var editp = Ext.create('MsChFeeAutoDuimb', returnData);
this.editRecord.fields.each(function (field) {
if (field.persist) {
name = field.name;
//alert(name + ' -- ' + editp.get(name));
if (name != 'GID')
this.editRecord.set(name, editp.get(name));
}
}, this);
this.editRecord.commit();
}
if (type == '0') {
this.opStatus = 'edit';
this.GID = returnData.GID;
this.ReflashEdt(this.GID);
this.SetBtnEnable(returnData);
//this.storeDetail.load({ params: { start: 0, limit: 9999, condition: " BSNO='" + this.editRecord.get('GID') + "'"} });
this.SetBtnEnable(returnData);
} else if (type == '1') {//保存并关闭
window.close();
} else if (type == '2') {//保存并全部新建
}
} 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
});
}
//alert('03');
}
});
},
CFSave: function () {
var basicForm = this.formEdit.getForm();
if (!basicForm.isValid()) {
return;
}
//basicForm.findField('ContractNo').setDisabled(false);
var data = this.formEdit.getForm().getValues();
//var HTH = data.HTH;
//var ContractNo = data.ContractNo;
//basicForm.findField('ContractNo').setDisabled(true);
data.HAVEDEBIT = this.formEdit.getForm().findField('HAVEDEBIT').getValue() ? 1 : 0;
var Cargodatas = [];
for (var i = 0; i < this.storeDetail.getCount(); i += 1) {
var member = this.storeDetail.getAt(i);
if (member.data.ISOK == "true") {
member.data.ISOK = "1";
}
if (member.data.ISOK == "false") {
member.data.ISOK = "0";
}
Cargodatas.push(member);
}
//商品明细
var CargoBody = ConvertRecordsToJson(Cargodatas);
var CargoDelBody = ConvertRecordsToJsonAll(this.DetailDel);
//将复选框值转化为1/0
//data.ContractStatus=this.formEdit.getForm().findField('ContractStatus').getValue()?1:0;
//data.HaveContract=this.formEdit.getForm().findField('HaveContract').getValue()?1:0;
//data.INUSE = this.formEdit.getForm().findField('INUSE').getValue() ? 1 : 0;
var _this = this;
Ext.Msg.wait('正在保存数据, 请稍侯..');
Ext.Ajax.request({
async: false,
waitMsg: '正在保存数据...',
url: '/MvcShipping/MsChFeeAutoDui/CFSave',
scope: this,
params: {
opstatus: this.opStatus,
data: Ext.JSON.encode(data),
CargoBody: CargoBody,
CargoDelBody: CargoDelBody
},
callback: function (options, success, response) {
if (success) {
Ext.MessageBox.hide();
var jsonresult = Ext.JSON.decode(response.responseText);
if (jsonresult.Success) {
this.storeDetail.commitChanges();
var returnData = jsonresult.Data;
this.formEdit.getForm().setValues(returnData);
var arrNewRecords = this.StoreList.add(returnData);
this.editRecord = arrNewRecords[0];
// alert(editRecord.get('ContractNo'));
this.opStatus = 'edit';
this.GID = returnData.GID;
this.ReflashEdt(this.GID);
this.SetBtnEnable(returnData);
//this.storeDetail.load({ params: { start: 0, limit: 9999, condition: " BSNO='" + this.editRecord.get('GID') + "'"} });
this.SetBtnEnable(returnData);
} 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
});
}
//alert('03');
}
});
},
ReMake: function (type) {
var basicForm = this.formEdit.getForm();
if (!basicForm.isValid()) {
return;
}
var data = this.formEdit.getForm().getValues();
data.HAVEDEBIT = this.formEdit.getForm().findField('HAVEDEBIT').getValue() ? 1 : 0;
var Cargodatas = [];
for (var i = 0; i < this.storeDetail.getCount(); i += 1) {
var member = this.storeDetail.getAt(i);
if (member.data.ISOK == "true") {
member.data.ISOK = "1";
}
if (member.data.ISOK == "false") {
member.data.ISOK = "0";
}
Cargodatas.push(member);
}
//商品明细
var CargoBody = ConvertRecordsToJson(Cargodatas);
var CargoDelBody = ConvertRecordsToJsonAll(this.DetailDel);
var _this = this;
Ext.Msg.wait('正在保存数据, 请稍侯..');
Ext.Ajax.request({
async: false,
waitMsg: '正在保存数据...',
url: '/MvcShipping/MsChFeeAutoDui/Save',
scope: this,
params: {
opstatus: this.opStatus,
data: Ext.JSON.encode(data),
CargoBody: CargoBody,
CargoDelBody: CargoDelBody
},
callback: function (options, success, response) {
if (success) {
Ext.MessageBox.hide();
var jsonresult = Ext.JSON.decode(response.responseText);
if (jsonresult.Success) {
this.storeDetail.commitChanges();
var returnData = jsonresult.Data;
this.formEdit.getForm().setValues(returnData);
if (this.opStatus == 'add') {
var arrNewRecords = this.StoreList.add(returnData);
this.editRecord = arrNewRecords[0];
// alert(editRecord.get('ContractNo'));
}
else if (this.opStatus == 'edit') {
var editp = Ext.create('MsChFeeAutoDuimb', returnData);
this.editRecord.fields.each(function (field) {
if (field.persist) {
name = field.name;
//alert(name + ' -- ' + editp.get(name));
if (name != 'GID')
this.editRecord.set(name, editp.get(name));
}
}, this);
this.editRecord.commit();
}
_this = this;
Ext.Msg.wait('正在保存数据, 请稍侯..');
Ext.Ajax.request({
waitMsg: '正在保存数据...',
url: '/MvcShipping/MsChFeeAutoDui/ReMake',
scope: this,
timeout: 120000,
params: {
opstatus: this.opStatus,
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.storeDetail.commitChanges();
var returnData = jsonresult.Data;
this.formEdit.getForm().setValues(returnData);
if (this.opStatus == 'add') {
var arrNewRecords = this.StoreList.add(returnData);
this.editRecord = arrNewRecords[0];
// alert(editRecord.get('ContractNo'));
}
else if (this.opStatus == 'edit') {
var editp = Ext.create('MsChFeeAutoDuimb', returnData);
this.editRecord.fields.each(function (field) {
if (field.persist) {
name = field.name;
//alert(name + ' -- ' + editp.get(name));
if (name != 'GID')
this.editRecord.set(name, editp.get(name));
}
}, this);
this.editRecord.commit();
}
//this.storeDetail.load({ params: { start: 0, limit: 9999, condition: " BSNO='" + returnData.GID + "'"} });
this.ReflashEdt(returnData.GID);
this.SetBtnEnable(returnData);
} 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
});
}
//alert('03');
}
});
} 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
});
}
//alert('03');
}
});
},
MakeDui: function (type) {
var basicForm = this.formEdit.getForm();
if (!basicForm.isValid()) {
return;
}
var data = this.formEdit.getForm().getValues();
data.HAVEDEBIT = this.formEdit.getForm().findField('HAVEDEBIT').getValue() ? 1 : 0;
var Cargodatas = [];
for (var i = 0; i < this.storeDetail.getCount(); i += 1) {
var member = this.storeDetail.getAt(i);
if (member.data.ISOK == "true") {
member.data.ISOK = "1";
}
if (member.data.ISOK == "false") {
member.data.ISOK = "0";
}
if (member.data.ISOK == "1")
Cargodatas.push(member);
}
//商品明细
if (Cargodatas.length == 0) {
Ext.Msg.show({ title: '提示', msg:'没有要生成对账的业务', icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK });
return;
}
var CargoBody = ConvertRecordsToJson(Cargodatas);
var CargoDelBody = ConvertRecordsToJsonAll(this.DetailDel);
var _this = this;
Ext.Msg.wait('正在保存数据, 请稍侯..');
Ext.Ajax.request({
async: false,
timeout: 1200000,
waitMsg: '正在保存数据...',
url: '/MvcShipping/MsChFeeAutoDui/Save',
scope: this,
params: {
opstatus: this.opStatus,
data: Ext.JSON.encode(data),
CargoBody: CargoBody,
CargoDelBody: CargoDelBody
},
callback: function (options, success, response) {
if (success) {
Ext.MessageBox.hide();
var jsonresult = Ext.JSON.decode(response.responseText);
if (jsonresult.Success) {
this.storeDetail.commitChanges();
var returnData = jsonresult.Data;
this.formEdit.getForm().setValues(returnData);
if (this.opStatus == 'add') {
var arrNewRecords = this.StoreList.add(returnData);
this.editRecord = arrNewRecords[0];
// alert(editRecord.get('ContractNo'));
}
else if (this.opStatus == 'edit') {
var editp = Ext.create('MsChFeeAutoDuimb', returnData);
this.editRecord.fields.each(function (field) {
if (field.persist) {
name = field.name;
//alert(name + ' -- ' + editp.get(name));
if (name != 'GID')
this.editRecord.set(name, editp.get(name));
}
}, this);
this.editRecord.commit();
}
_this = this;
Ext.Msg.wait('正在保存数据, 请稍侯..');
Ext.Ajax.request({
waitMsg: '正在保存数据...',
url: '/MvcShipping/MsChFeeAutoDui/MakeDui',
timeout: 1200000,
scope: this,
params: {
type: type,
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.storeDetail.commitChanges();
var returnData = jsonresult.Data;
this.opStatus = 'edit';
this.formEdit.getForm().setValues(returnData);
if (this.opStatus == 'add') {
var arrNewRecords = this.StoreList.add(returnData);
this.editRecord = arrNewRecords[0];
// alert(editRecord.get('ContractNo'));
}
else if (this.opStatus == 'edit') {
var editp = Ext.create('MsChFeeAutoDuimb', returnData);
this.editRecord.fields.each(function (field) {
if (field.persist) {
name = field.name;
//alert(name + ' -- ' + editp.get(name));
if (name != 'GID')
this.editRecord.set(name, editp.get(name));
}
}, this);
this.editRecord.commit();
}
this.ReflashEdt(returnData.GID);
this.SetBtnEnable(returnData);
} 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
});
}
//alert('03');
}
});
} 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
});
}
//alert('03');
}
});
},
MakeShen: function (type) {
var basicForm = this.formEdit.getForm();
if (!basicForm.isValid()) {
return;
}
var data = this.formEdit.getForm().getValues();
data.HAVEDEBIT = this.formEdit.getForm().findField('HAVEDEBIT').getValue() ? 1 : 0;
var Cargodatas = [];
for (var i = 0; i < this.storeDetail.getCount(); i += 1) {
var member = this.storeDetail.getAt(i);
if (member.data.ISOK == "true") {
member.data.ISOK = "1";
}
if (member.data.ISOK == "false") {
member.data.ISOK = "0";
}
Cargodatas.push(member);
}
//商品明细
var CargoBody = ConvertRecordsToJson(Cargodatas);
var CargoDelBody = ConvertRecordsToJsonAll(this.DetailDel);
var _this = this;
Ext.Msg.wait('正在保存数据, 请稍侯..');
Ext.Ajax.request({
async: false,
timeout: 1200000,
waitMsg: '正在保存数据...',
url: '/MvcShipping/MsChFeeAutoDui/Save',
scope: this,
params: {
opstatus: this.opStatus,
data: Ext.JSON.encode(data),
CargoBody: CargoBody,
CargoDelBody: CargoDelBody
},
callback: function (options, success, response) {
if (success) {
Ext.MessageBox.hide();
var jsonresult = Ext.JSON.decode(response.responseText);
if (jsonresult.Success) {
this.storeDetail.commitChanges();
var returnData = jsonresult.Data;
this.formEdit.getForm().setValues(returnData);
if (this.opStatus == 'add') {
var arrNewRecords = this.StoreList.add(returnData);
this.editRecord = arrNewRecords[0];
// alert(editRecord.get('ContractNo'));
}
else if (this.opStatus == 'edit') {
var editp = Ext.create('MsChFeeAutoDuimb', returnData);
this.editRecord.fields.each(function (field) {
if (field.persist) {
name = field.name;
//alert(name + ' -- ' + editp.get(name));
if (name != 'GID')
this.editRecord.set(name, editp.get(name));
}
}, this);
this.editRecord.commit();
}
_this = this;
Ext.Msg.wait('正在保存数据, 请稍侯..');
Ext.Ajax.request({
waitMsg: '正在保存数据...',
url: '/MvcShipping/MsChFeeAutoDui/MakeShen',
timeout: 1200000,
scope: this,
params: {
type: type,
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.storeDetail.commitChanges();
var returnData = jsonresult.Data;
this.opStatus = 'edit';
this.formEdit.getForm().setValues(returnData);
if (this.opStatus == 'add') {
var arrNewRecords = this.StoreList.add(returnData);
this.editRecord = arrNewRecords[0];
// alert(editRecord.get('ContractNo'));
}
else if (this.opStatus == 'edit') {
var editp = Ext.create('MsChFeeAutoDuimb', returnData);
this.editRecord.fields.each(function (field) {
if (field.persist) {
name = field.name;
//alert(name + ' -- ' + editp.get(name));
if (name != 'GID')
this.editRecord.set(name, editp.get(name));
}
}, this);
this.editRecord.commit();
}
this.ReflashEdt(returnData.GID);
this.SetBtnEnable(returnData);
} 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
});
}
//alert('03');
}
});
} 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
});
}
//alert('03');
}
});
},
OprationSwap: function () {
var ret = new Array();
ret[0] = this.bssql;
ret[1] = this.feesql;
return ret;
},
//#region 打印
Print: function () {
var GID = this.formEdit.getForm().findField('GID').getValue();
var printType = 'MSCHFEEAUTODUI';
var sql1 = "SET LANGUAGE 'us_english' SELECT * FROM CH_FEE_AutoDui WHERE GID= '" + GID + "' ";
var sql2 = "SET LANGUAGE 'us_english' SELECT dl.*,b.ETD,B.CUSTOMERNAME,B.OP FROM CH_FEE_AutoDuiDetail dl left join v_op_bs B ON (B.BSNO=dl.B_BSNO) WHERE dl.BSNO = '" + GID + "' ";
var sql3 = "";
var sql4 = "";
var sql5 = "";
var sql6 = "";
PrintComm(printType, sql1, sql2, sql3, sql4, sql5, sql6, '');
},
//#endregion
onExportClick: function (button, event) {
if (this.storeDetail.getCount() == 0) {
return;
}
var sortstr = '';
var condition=" BSNO='" + this.editRecord.get('GID') + "'"
Ext.Msg.wait('正在组织数据, 请稍侯..');
Ext.Ajax.request({
waitMsg: '正在组织数据...',
url: '/MvcShipping/MsChFeeAutoDui/GetBodyListStr',
scope: this,
params: {
condition: condition,
sort: sortstr
},
callback: function (options, success, response) {
if (success) {
Ext.MessageBox.hide();
var jsonresult = Ext.JSON.decode(response.responseText);
if (jsonresult.Success) {
var returnstr = jsonresult.Data;
var condition = jsonresult.Message;
if (condition != '') condition = ' where ' + condition;
var printType = 'MSCHFEEAUTODUI';
var sql1 = returnstr;
sql1 = sql1.replace(/\+/g, "@@@")
if (sql1 != '') {
GridExportBySql(sql1,'ChFeeAutoDuiDetail', '对账明细.xls');
}
} 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
});
}
}
});
}
});