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.
340 lines
12 KiB
JavaScript
340 lines
12 KiB
JavaScript
Ext.namespace('Shipping');
|
|
|
|
Shipping.QuotationList = function (config) {
|
|
Ext.applyIf(this, config);
|
|
this.initUIComponents();
|
|
window.Shipping.QuotationList.superclass.constructor.call(this);
|
|
};
|
|
|
|
Ext.extend(Shipping.QuotationList, Ext.Panel, {
|
|
PageSize: 10,
|
|
ParentWin: null,
|
|
feeType: 0,
|
|
OprationStatus: null, //仅当弹出界面时使用
|
|
SelectedRecord: null,
|
|
StoreFee: null,
|
|
StoreFeeUnit: null,
|
|
StoreFeeCust: null,
|
|
EditRecord: null,
|
|
StoreDateCurr: null,
|
|
StoreCurr: null,
|
|
storeCustomerNameRef: null,
|
|
MBLNO: "",
|
|
condition:"",
|
|
|
|
initUIComponents: function () {
|
|
//需要在引用页面声明的Ext.onready层级声明stroplb
|
|
_this = this;
|
|
this.OPLB = window.parent.opener.stroplb;
|
|
this.sqlcontext = '';
|
|
//定义数据集
|
|
this.storeList = Ext.create('Ext.data.Store', {
|
|
pageSize: this.PageSize,
|
|
model: 'MsPrice_QuotationSmallmb',
|
|
remoteSort: true,
|
|
proxy: {
|
|
type: 'ajax',
|
|
url: '/MvcShipping/MsPrice/GetSmallQuotationList',
|
|
reader: {
|
|
id: 'ID',
|
|
root: 'data',
|
|
totalProperty: 'totalCount'
|
|
}
|
|
}
|
|
});
|
|
|
|
//#region 主grid
|
|
this.gridListCheckBoxModel = Ext.create('Ext.selection.CheckboxModel');
|
|
|
|
this.gridList = new Ext.grid.GridPanel({
|
|
store: this.storeList,
|
|
enableHdMenu: false,
|
|
region: 'center',
|
|
//height: 268,
|
|
loadMask: { msg: "数据加载中,请稍等..." },
|
|
trackMouseOver: true,
|
|
disableSelection: false,
|
|
selModel: this.gridListCheckBoxModel,
|
|
viewConfig: {
|
|
autoFill: true,
|
|
enableTextSelection: true
|
|
},
|
|
columns: [
|
|
{
|
|
sortable: true,hidden:true,
|
|
dataIndex: 'BSNO',
|
|
header: 'BSNO',
|
|
width: 80
|
|
},
|
|
{
|
|
sortable: true,
|
|
dataIndex: 'CUSTOMERNAME',
|
|
header: '报价单位',
|
|
width: 100
|
|
},
|
|
{
|
|
sortable: true,
|
|
dataIndex: 'EFFECTIVEDATE',
|
|
header: '生效日期',
|
|
width: 120
|
|
},
|
|
{
|
|
sortable: true,
|
|
dataIndex: 'VALIDDATE',
|
|
header: '失效日期',
|
|
width: 120
|
|
},
|
|
{
|
|
sortable: true,
|
|
dataIndex: 'CREATOR',
|
|
header: '报价人',
|
|
width: 80
|
|
},
|
|
{
|
|
sortable: true,
|
|
dataIndex: 'CREATETIME',
|
|
header: '报价日期',
|
|
width: 100
|
|
},
|
|
{
|
|
sortable: true,
|
|
dataIndex: 'PDFURL',
|
|
header: '报价文件',
|
|
width: 120,
|
|
renderer: function (value, p, record) {
|
|
if (value == '') {
|
|
//return '<input type="button" value="上传" onClick="javascript:this.UpLoadFile('+record.data.BillNo+')"';
|
|
return '';
|
|
} else
|
|
return '<a href="' + value + '" style=' + '"text-decoration:none" target="_blank"' + ' > 下载 </a>';
|
|
}
|
|
},
|
|
{
|
|
sortable: true,
|
|
dataIndex: 'REMARK',
|
|
header: '备注',
|
|
width: 120
|
|
},
|
|
{
|
|
sortable: true,
|
|
dataIndex: 'HAVEMBLNO',
|
|
header: '是否已关联报价',
|
|
width: 120,
|
|
renderer: function (value, metaData, record) {
|
|
|
|
if (value == "0") { }
|
|
if (value == "1") { return "是" }
|
|
}
|
|
},
|
|
{
|
|
sortable: true,
|
|
dataIndex: 'DOMBLNO',
|
|
header: '关联操作',
|
|
width: 120,
|
|
renderer: function (value, metaData, record) {
|
|
var id = record.data.BSNO;
|
|
|
|
if (record.data.HAVEMBLNO == "0") {
|
|
Ext.defer(function () {
|
|
id = record.data.BSNO;
|
|
metaData.tdAttr = 'data-qtip="为提单号和报价单建立关联"';
|
|
Ext.widget('button', {
|
|
renderTo: id,
|
|
id: id,
|
|
height: 17,
|
|
width: 60,
|
|
// style:"margin-left:5px;background:blue;",
|
|
text: '关联',
|
|
handler: function () {
|
|
//相应事件方法
|
|
_this.onAddMblnoClick(id, _this.MBLNO);
|
|
}
|
|
});
|
|
}, 50);
|
|
return Ext.String.format('<div id="{0}"></div>', id);
|
|
}
|
|
|
|
else {
|
|
Ext.defer(function () {
|
|
id = record.data.BSNO;
|
|
metaData.tdAttr = 'data-qtip="解除提单号和报价单的关联"';
|
|
Ext.widget('button', {
|
|
renderTo: id,
|
|
id: id,
|
|
height: 17,
|
|
width: 60,
|
|
// style:"margin-left:5px;background:blue;",
|
|
text: '取消关联',
|
|
handler: function () {
|
|
//相应事件方法
|
|
_this.onDelMblnoClick(id, _this.MBLNO);
|
|
}
|
|
});
|
|
}, 50);
|
|
return Ext.String.format('<div id="{0}"></div>', id);
|
|
}
|
|
}
|
|
},
|
|
{
|
|
sortable: true,
|
|
dataIndex: 'CONN_CREATOR',
|
|
header: '业务关联建立人',
|
|
width: 80
|
|
},
|
|
{
|
|
sortable: true,
|
|
dataIndex: 'CONN_CREATETIME',
|
|
header: '业务关联建立时间',
|
|
width: 80
|
|
}],
|
|
// paging bar on the bottom
|
|
bbar: Ext.create('Ext.PagingToolbar', {
|
|
store: this.storeList,
|
|
displayInfo: true,
|
|
displayMsg: '当前显示 {0} - {1}条记录 /共 {2}条记录',
|
|
emptyMsg: "没有数据"
|
|
})
|
|
});
|
|
|
|
//#endregion
|
|
|
|
|
|
|
|
//#region 布局
|
|
|
|
|
|
|
|
|
|
Ext.apply(this, {
|
|
items: [this.gridList]
|
|
});
|
|
//#endregion
|
|
this.parentWin = window.parent.opener._thisfee;
|
|
if (this.parentWin) {
|
|
//this.feeType = this.parentWin.feeType;
|
|
//if (this.feeType == 1) {
|
|
// this.StoreFee = this.parentWin.storeDrChFee;
|
|
//} else if (this.feeType == 2) {
|
|
// this.StoreFee = this.parentWin.storeCrChFee;
|
|
//}
|
|
//this.StoreFeeUnit = this.parentWin.StoreUnit;
|
|
//this.StoreFeeCust = this.parentWin.StoreCustType;
|
|
//this.StoreDateCurr = this.parentWin.StoreDateCurr;
|
|
//this.StoreCurr = this.parentWin.StoreCurr;
|
|
this.EditRecord = this.parentWin.EditRecord;
|
|
//this.storeCustomerNameRef = this.parentWin.storeCustomerNameRef;
|
|
this.MBLNO = this.EditRecord.get("MBLNO");
|
|
}
|
|
|
|
|
|
//#region 事件绑定
|
|
this.storeList.on('beforeload', function (store) {
|
|
var sql = this.sqlcontext;
|
|
Ext.apply(store.proxy.extraParams, { condition: this.condition, mblno: this.MBLNO });
|
|
}, this);
|
|
|
|
//this.storeList.on('load', function (store, records) {
|
|
// if (store.getCount() > 0) {
|
|
// this.gridList.getSelectionModel().select(0);
|
|
// //this.gridListCheckBoxModel.selectAll();
|
|
// }
|
|
//}, this);
|
|
|
|
//this.gridList.getSelectionModel().on('select', function (model, record, index) {
|
|
// //alert(record.data.BillNo);
|
|
// var bsno = record.data.BSNO;
|
|
// this.storeBodyChFee.load({ params: { billno: bsno, type: this.feeType, optype:this.OPLB } });
|
|
//}, this);
|
|
//#endregion
|
|
|
|
//#region 自动刷新(已经提交但是尚未审核的业务,哪怕一票货中有一笔费用没审核也显示)
|
|
//this.onAutoRefresh();
|
|
//#endregion
|
|
|
|
// this.SetBtnRight();
|
|
this.LoadData(this.EditRecord.data);
|
|
|
|
}, //end initUIComponents
|
|
|
|
LoadData: function (rec) {
|
|
|
|
this.condition = " CUSTOMERNAME='" + rec.CUSTOMERNAME + "' ";
|
|
this.MBLNO = rec.MBLNO;
|
|
|
|
this.DoLoadData();
|
|
},
|
|
DoLoadData: function () {
|
|
this.storeList.load({ params: { condition: this.condition, mblno: this.MBLNO } });
|
|
},
|
|
|
|
onAddMblnoClick: function (BSNO, MBLNO) {
|
|
|
|
|
|
Ext.Ajax.request({
|
|
waitMsg: '正在查询主表数据...',
|
|
url: '/MvcShipping/MsPrice/QuotationAddMblno',
|
|
params: {
|
|
BSNO: BSNO,
|
|
MBLNO: MBLNO
|
|
},
|
|
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;
|
|
}
|
|
this.DoLoadData();
|
|
|
|
} else {
|
|
Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
|
|
}
|
|
},
|
|
scope: this
|
|
}); //request over
|
|
|
|
}
|
|
,
|
|
|
|
onDelMblnoClick: function (BSNO, MBLNO) {
|
|
|
|
|
|
Ext.Ajax.request({
|
|
waitMsg: '正在查询主表数据...',
|
|
url: '/MvcShipping/MsPrice/QuotationDelMblno',
|
|
params: {
|
|
BSNO: BSNO,
|
|
MBLNO: MBLNO
|
|
},
|
|
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;
|
|
}
|
|
this.DoLoadData();
|
|
|
|
} else {
|
|
Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
|
|
}
|
|
},
|
|
scope: this
|
|
}); //request over
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|