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.

1567 lines
64 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.MsCrmPriceCarrierImp = function (config) {
Ext.applyIf(this, config);
this.initUIComponents();
window.Shipping.MsCrmPriceCarrierImp.superclass.constructor.call(this);
};
//需求编号SR2017091200003
Ext.extend(Shipping.MsCrmPriceCarrierImp, Ext.Panel, {
PageSize: 100,
OprationStatus: null, //仅当弹出界面时使用
SelectedRecord: null,
BsRecord: null,
CtnStoreList: null,
sqlcontext: '',
BsType: "",
initUIComponents: function () {
this.formname = "MsCrmPriceCarrierImp"; //ds7新运价查询
var currdate = new Date();
var mainform = window.parent.opener._this;
if (mainform) {
var ret = mainform.OprationSwap();
this.BsRecord = ret[0];
this.CtnStoreList = ret[1];
this.BsType=ret[2];
}
//#region formSearch 下拉框信息加载_用于查询
//航线
this.storeLANE_2 = Ext.create('DsExt.ux.RefTableStore', {
model: 'XiaLaKuangModel',
proxy: { url: '/MvcShipping/MsCrmPriceCarrierList/GetLANEList' }
});
this.storeLANE_2.load();
this.comboxLANE_2 = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '航线',
store: this.storeLANE_2,
name: 'LANE_2',
valueField: 'NAME',
displayField: 'CodeAndName',
forceSelection: false
});
//启运港,国内港口
this.storePODLOAD_2 = Ext.create('DsExt.ux.RefTableStore', {
model: 'XiaLaKuangModel',
proxy: { url: '/MvcShipping/MsCrmPriceCarrierList/GetPODLOADList' }
});
this.storePODLOAD_2.load();
this.comboxPODLOAD_2 = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '启运港',
store: this.storePODLOAD_2,
name: 'PODLOAD_2',
valueField: 'VALUE',
displayField: 'CodeAndName',
value: this.BsRecord.get('PORTLOAD'),
forceSelection: false
});
//卸货港,国外港口
this.storePORTDISCHARGE_2 = Ext.create('DsExt.ux.RefTableStore', {
model: 'XiaLaKuangModel',
proxy: { url: '/MvcShipping/MsCrmPriceCarrier/GetPORTDISCHARGEList' }
});
this.storePORTDISCHARGE_2.load();
this.comboxPORTDISCHARGE_2 = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '卸货港',
store: this.storePORTDISCHARGE_2,
// forceSelection: true,
name: 'PORTDISCHARGEID_2',
queryMode: 'remote',
minChars: 0,
queryParam: 'CODENAME',
valueField: 'VALUE',
displayField: 'CodeAndName',
value: this.BsRecord.get('PORTDISCHARGE'),
matchFieldWidth: false
});
//中转港,国外港口
this.storeVIA_2 = Ext.create('DsExt.ux.RefTableStore', {
model: 'XiaLaKuangModel',
proxy: { url: '/MvcShipping/MsCrmPriceCarrierList/GetVIAList' }
});
this.storeVIA_2.load();
this.comboxVIA_2 = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '中转港',
store: this.storeVIA_2,
name: 'VIA_2',
valueField: 'VALUE',
displayField: 'VALUE',
value: this.BsRecord.get('TRANSPORT'),
forceSelection: false
});
//船公司
this.storeCARRIER_2 = Ext.create('DsExt.ux.RefTableStore', {
model: 'XiaLaKuangModel',
proxy: { url: '/MvcShipping/MsCrmPriceCarrierList/GetCARRIERList' }
});
this.storeCARRIER_2.load();
this.comboxCARRIER_2 = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '船公司',
store: this.storeCARRIER_2,
value: this.BsRecord.get('CARRIER'),
name: 'CARRIER_2',
valueField: 'NAME',
displayField: 'CodeAndName',
forceSelection: false
});
//锁定状态
Ext.define('LOCKFLAGModel', { extend: 'Ext.data.Model', fields: [{ name: 'Name', type: 'string'}] });
var dataLOCKFLAG = [{ "Name": "未锁定" }, { "Name": "已锁定" }, { "Name": ""}];
var storeLOCKFLAG = Ext.create('Ext.data.Store', { model: 'LOCKFLAGModel', data: dataLOCKFLAG });
this.comboxLOCKFLAG = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '锁定',
forceSelection: true,
store: storeLOCKFLAG,
name: 'LOCKFLAG_2',
width: 100,
labelAlign: 'right',
valueField: 'Name',
displayField: 'Name',
enableKeyEvents: true, //激活键盘事件
listeners: {
scope: this,
'keyup': {
fn: function (_field, e) {
if (e.getKey() == 13) {
this.onRefreshClick();
}
},
scope: this
}
}
});
//发布状态
Ext.define('ISISSUEModel', { extend: 'Ext.data.Model', fields: [{ name: 'Name', type: 'string'}] });
var dataISISSUE = [{ "Name": "未发布" }, { "Name": "已发布" }, { "Name": ""}];
var storeISISSUE = Ext.create('Ext.data.Store', { model: 'ISISSUEModel', data: dataISISSUE });
this.comboxISISSUE = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '发布',
forceSelection: true,
store: storeISISSUE,
name: 'ISISSUE_2',
width: 100,
labelAlign: 'right',
valueField: 'Name',
displayField: 'Name',
enableKeyEvents: true, //激活键盘事件
listeners: {
scope: this,
'keyup': {
fn: function (_field, e) {
if (e.getKey() == 13) {
this.onRefreshClick();
}
},
scope: this
}
}
});
//#endregion
//#region formSearch 查询面板
this.formSearch = Ext.widget('form', {
frame: true,
region: 'center',
bodyPadding: 5,
fieldDefaults: {
margins: '2 2 2 2',
labelAlign: 'right',
flex: 1,
labelWidth: 60,
msgTarget: 'qtip'
},
items: [{//fieldset 1
xtype: 'container',
defaultType: 'textfield',
layout: 'anchor',
defaults: {
anchor: '100%'
},
items: [{
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [this.comboxPODLOAD_2, this.comboxPORTDISCHARGE_2, this.comboxVIA_2, this.comboxCARRIER_2, this.comboxISISSUE, {
fieldLabel: '合约号',
name: 'CONTRACTNO',
value: this.BsRecord.get('CONTRACTNO'),
enableKeyEvents: true, //激活键盘事件
listeners: {
scope: this,
'keyup': {
fn: function (_field, e) {
if (e.getKey() == 13) {
this.onRefreshClick();
}
},
// 'copy': {
// fn: function (e) {
// var clipboardData = e.originalEvent.clipboardData;
// clipboardData.setData('Text','11111111111');
// },
scope: this
}
}
}]//, { xtype: 'hiddenfield', flex: 1}
}, {
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [{
fieldLabel: "copyTarget", //'MSHIPPER',
xtype: 'textareafield',
id: 'copyTarget',
name: 'copyTarget', hidden: true
}, {
fieldLabel: '有效期',
format: 'Y-m-d',
xtype: 'datefield',
value: this.BsRecord.get('ETD'),
//editable: false,
name: 'EFFECTIVEDATE_2',
// value: currdate.format('yyyy-MM-dd'),
enableKeyEvents: true, //激活键盘事件
listeners: {
scope: this,
'keyup': {
fn: function (_field, e) {
if (e.getKey() == 13) {
this.onRefreshClick();
}
},
scope: this
}
}
}, {
fieldLabel: '有效期至',
format: 'Y-m-d',
xtype: 'datefield',
//editable: false,
name: 'VALIDDATE_2',
// value: currdate.format('yyyy-MM-dd'),
enableKeyEvents: true, //激活键盘事件
listeners: {
scope: this,
'keyup': {
fn: function (_field, e) {
if (e.getKey() == 13) {
this.onRefreshClick();
}
},
scope: this
}
}
}, this.comboxLANE_2, {
fieldLabel: '船期',
name: 'ETD_2',
enableKeyEvents: true, //激活键盘事件
listeners: {
scope: this,
'keyup': {
fn: function (_field, e) {
if (e.getKey() == 13) {
this.onRefreshClick();
}
},
scope: this
}
}
}, {
fieldLabel: '航程',
name: 'TT_2',
enableKeyEvents: true, //激活键盘事件
listeners: {
scope: this,
'keyup': {
fn: function (_field, e) {
if (e.getKey() == 13) {
this.onRefreshClick();
}
},
scope: this
}
}
}, {
fieldLabel: '备注',
name: 'REMARK_2',
enableKeyEvents: true, //激活键盘事件
listeners: {
scope: this,
'keyup': {
fn: function (_field, e) {
if (e.getKey() == 13) {
this.onRefreshClick();
}
},
scope: this
}
}
}]//, { xtype: 'hiddenfield', flex: 1}
}]
}]//end items(fieldset 1)
});
//#endregion formSearch
//#region formBiaoShi 标识解释面板
this.formBiaoShi = Ext.widget('form', {
frame: true,
border: false,
region: 'east',
width: 180,
bodyPadding: 5,
fieldDefaults: {
margins: '2 2 2 2',
labelAlign: 'right',
flex: 1,
labelWidth: 60,
msgTarget: 'qtip'
},
items: [{//fieldset 1
xtype: 'container',
defaultType: 'textfield',
layout: 'anchor',
defaults: {
anchor: '100%'
},
items: [{
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [{
xtype: 'label',
text: "普通运价",
style: 'background-color: white;',
align: 'center'
}, { xtype: 'hiddenfield', width: 10 }, {
xtype: 'label',
text: "优势运价",
style: 'background-color: #FF4500;',
align: 'center'
}, { xtype: 'hiddenfield', width: 10 }, {
xtype: 'label',
text: "运价涂黑",
style: 'background-color: #C1C1C1;',
align: 'center'
}]//, { xtype: 'hiddenfield', flex: 1}
}, {
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [{ xtype: 'hiddenfield', height: 10}]
}, {
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [{
xtype: 'panel',
html: "<img src='../../../../TruckMng/Content/Images/edit.png'/>"
}, {
xtype: 'label',
text: "批注",
align: 'center'
}, { xtype: 'hiddenfield', width: 10 }, {
xtype: 'panel',
html: "<img src='../../../../TruckMng/Content/Images/001.png'/>"
}, {
xtype: 'label',
text: "...",
align: 'center'
}, {
xtype: 'panel',
html: "<img src='../../../../TruckMng/Content/Images/009.png'/>"
}, {
xtype: 'label',
text: "修改次数",
align: 'center'
}]//, { xtype: 'hiddenfield', flex: 1}
}]
}]//end items(fieldset 1)
});
//#endregion formSearch
//#region 颜色_数据集
this.storeListBiaoShi = Ext.create('Ext.data.Store', {
pageSize: this.PageSize,
model: 'CrmPriceCarrierDetailModel',
remoteSort: true,
//autoLoad: false,
proxy: {
type: 'ajax',
url: '/MvcShipping/MsCrmPriceCarrier/GetDataListBiaoShi',
reader: {
id: 'GID',
root: 'data',
totalProperty: 'totalCount'
}
}
});
//#endregion
//#region 修改次数_数据集
this.storeListXGCS = Ext.create('Ext.data.Store', {
pageSize: this.PageSize,
model: 'CrmPriceCarrierDetailModel',
remoteSort: true,
//autoLoad: false,
proxy: {
type: 'ajax',
url: '/MvcShipping/MsCrmPriceCarrier/GetDataListXGCS',
reader: {
id: 'GID',
root: 'data',
totalProperty: 'totalCount'
}
}
});
//#endregion
//#region 定义数据集
this.storeList = Ext.create('Ext.data.Store', {
pageSize: this.PageSize,
model: 'MsCrmPriceCarrierModel_All',
remoteSort: true,
//autoLoad: false,
proxy: {
type: 'ajax',
url: '/MvcShipping/MsCrmPriceCarrierList/GetDataList',
reader: {
id: 'GID',
root: 'data',
totalProperty: 'totalCount'
}
}
});
//#endregion
//#region 定义列
this.initgirdcolums = [{
sortable: false,
dataIndex: 'GID',
text: '惟一编号',
align: 'center',
hidden: true,
width: 0
},
{
dataIndex: 'LOCKFLAG',
text: '锁定',
align: 'center',
width: 40,
renderer: function (value) {
if (value == true) {
return "<img src='../../../../TruckMng/Content/Images/Lock.png'/>";
}
else {
return "";
}
}
},
{
dataIndex: 'ISISSUE',
text: '发布',
align: 'center',
width: 40,
renderer: function (value) {
if (value == true) {
return "<img src='../../../../TruckMng/Content/Images/Lock.png'/>";
}
else {
return "";
}
}
},
{
dataIndex: 'LANE',
text: '航线',
width: 80
},
{
dataIndex: 'PODLOAD',
text: '起运港',
width: 100
},
{
dataIndex: 'PORTDISCHARGEID',
text: '卸货港',
width: 100
},
{
dataIndex: 'PORTDISCHARGE',
text: '卸货港中文',
width: 100
},
{
dataIndex: 'CARRIER',
text: '船公司',
width: 100
},
{
dataIndex: 'VIA',
text: '中转港',
width: 100
},
{
dataIndex: 'ETD',
text: '船期',
width: 80
},
{
dataIndex: 'TT',
text: '航程',
width: 80
},
{
dataIndex: 'EFFECTIVEDATE',
text: '开始日期',
align: 'center',
renderer: Ext.util.Format.dateRenderer('Y-m-d'),
width: 80
},
{
dataIndex: 'VALIDDATE',
text: '结束日期',
align: 'center',
renderer: Ext.util.Format.dateRenderer('Y-m-d'),
width: 80
},
{
dataIndex: 'COMMODITY',
text: '特殊商品',
width: 80
},
{
dataIndex: 'CONTRACTNO',
text: '约号',
width: 80
},
{
dataIndex: 'CTN0DETENTION',
text: '目的港免箱期_小柜',
width: 100,
editor: {
xtype: 'textfield',
selectOnFocus: true
}
},
{
dataIndex: 'CTN1DETENTION',
text: '目的港免箱期_大柜',
width: 100,
editor: {
xtype: 'textfield',
selectOnFocus: true
}
},
{
dataIndex: 'CTN2DETENTION',
text: '目的港免箱期_超高',
width: 100,
editor: {
xtype: 'textfield',
selectOnFocus: true
}
},
{
dataIndex: 'CTN3DETENTION',
text: '目的港免箱期_小冻',
width: 100,
editor: {
xtype: 'textfield',
selectOnFocus: true
}
},
{
dataIndex: 'CTN4DETENTION',
text: '目的港免箱期_超冻',
width: 100,
editor: {
xtype: 'textfield',
selectOnFocus: true
}
},
{
dataIndex: 'REMARK',
text: '备注',
width: 200
}];
//#endregion
//#region 定义Grid
this.GridCheckBoxModel = Ext.create('Ext.selection.CheckboxModel');
this.gridListCellEditing = Ext.create('Ext.grid.plugin.CellEditing', {
clicksToEdit: 1 //1单击2双击
});
var rowEditing = Ext.create('Ext.grid.plugin.RowEditing', {
clicksToMoveEditor: 1,
autoCancel: false
});
var _this = this;
this.girdcolums = this.initgirdcolums;
this.gridList = new Ext.grid.GridPanel({
store: this.storeList,
region: 'center',
loadMask: { msg: "数据加载中,请稍等..." },
enableHdMenu: false, //是否显示表格列的菜单
stripeRows: true, //斑马线效果
trackMouseOver: true,
disableSelection: false,
rowLines: true,
columnLines: true,
selModel: this.GridCheckBoxModel,
//plugins: [this.gridListCellEditing],
//plugins: [rowEditing],
selType: 'cellmodel',
columns: this.girdcolums,
viewConfig: {
enableTextSelection: true, //允许复制数据
autoFill: true,
getRowClass: function (record, rowIndex, rowParams, store) {
var sVALIDDATE = record.get('VALIDDATE');
//var rq = currdate.format('yyyy-MM-dd');
//if (rq > sVALIDDATE) {
// return Shipping.GetXGridRowClass(1);
//}
//查询运价标识提取样式表数据匹配GID修改行颜色样式
for (i = 0; i < _this.storeListBiaoShi.getCount(); i += 1) {
var member = _this.storeListBiaoShi.getAt(i);
var iFIELDCONTENT = parseInt(member.data.FIELDCONTENT);
var sFIELDNAME = member.data.FIELDNAME.toString().trim();
var sLINKGID = member.data.LINKGID.toString();
var iFIELDTYPE = parseInt(member.data.FIELDTYPE);
if (sLINKGID == record.get('GID').toString() && sFIELDNAME == "" && iFIELDTYPE == 1) {
return Shipping.GetXGridRowClass(iFIELDCONTENT);
}
}
}
},
bbar: Ext.create('Ext.PagingToolbar', {
pageSize: this.PageSize,
store: this.storeList,
displayInfo: true,
displayMsg: '当前显示 {0} - {1}条记录 /共 {2}条记录',
emptyMsg: "没有数据"
})
});
// this.gridList.addListener('itemdblclick', function (_thisView, record, item, index, e, eOpts) {
// this.SelectedRecord = record;
// }, this);
//#endregion
//#region 按钮工具条
this.CheckSaveQuery = new Ext.form.Checkbox({
fieldLabel: '记忆查询条件',
checked: true,
width: 120
});
this.panelBtn = new Ext.Panel({
layout: "border",
region: "north",
border: false,
tbar: [{
text: "执行查询",
tooltip: '执行查询',
iconCls: "btnrefresh",
handler: function (button, event) {
this.onRefreshClick(button, event);
var isvisible = false;
var issavevalue = false;
if (this.CheckSaveQuery.checked) {
issavevalue = true
}
saveQuerySetting(this.formname, this.formSearch, isvisible, issavevalue);
},
scope: this
}, {
text: "重置条件",
tooltip: '重置条件',
iconCls: "btnreset",
handler: function (button, event) {
this.onClearSql(button, event);
},
scope: this
},,
, {
text: '引入运费',
// tooltip: '复制',
iconCls: "btnadd",
handler: function (button, event) {
this.onCopyClipClick();
},
scope: this
}, '-', {
text: "保存列表样式",
id: "btntest",
menu: [
{ text: "保存",
handler: function (button, event) {
this.girdcolums = DsTruck.SaveGridPanel(USERID, _this.formname, _this.gridList.columns, _this.girdcolums, 1, true);
}
}, { text: "初始化",
handler: function (menu, event) {
_this.InitGrid(_this.initgirdcolums);
_this.girdcolums = DsTruck.SaveGridPanel(USERID, _this.formname, _this.gridList.columns, _this.initgirdcolums, 1, true);
}
}],
scope: this
}, '-', this.CheckSaveQuery]
});
//#endregion
//#region 页面布局
this.panelTop = new Ext.Panel({
layout: "border",
region: "north",
height: 100,
border: false,
items: [this.panelBtn, this.formSearch]
});
Ext.apply(this, {
border: false,
items: [this.panelTop, this.gridList]
});
//#endregion
//#region 页面加载
//加载事件
this.storeList.on('beforeload', function (store) {
// var sql = this.getCondition();
var sql = this.sqlcontext;
Ext.apply(store.proxy.extraParams, { condition: sql });
}, this);
this.storeList.on('load', function (store, records) {
if (store.getCount() > 0) {
this.gridList.getSelectionModel().select(0);
} else {
}
}, this);
LoadQueryData(this.formname, this.formSearch, this.CheckSaveQuery);
this.initgrid();
//#endregion
}, //end initUIComponents
//#region 执行查询
initgrid: function () {
// Ext.Msg.wait('正在查询数据, 请稍侯..');
//需求编号SR2017092500001
if (this.isRefresh) {
this.isRefresh = false;
return;
}
//end
var sql = this.getCondition();
//#region 列
var zlcolumn = [{
sortable: false,
dataIndex: 'GID',
text: '惟一编号',
align: 'center',
hidden: true,
width: 0
},
{
dataIndex: 'LOCKFLAG',
text: '锁定',
align: 'center',
width: 40,
renderer: function (value) {
if (value == true) {
return "<img src='../../../../TruckMng/Content/Images/Lock.png'/>";
}
else {
return "";
}
}
},
{
dataIndex: 'LANE',
text: '航线',
width: 80,
sortable: true,
editor: this.comboxLANE
},
{
dataIndex: 'PODLOAD',
text: '起运港',
width: 100,
sortable: true,
editor: this.comboxPODLOAD
},
{
dataIndex: 'PORTDISCHARGEID',
text: '卸货港',
width: 100,
sortable: true,
editor: this.comboxPORTDISCHARGEID
},
{
dataIndex: 'PORTDISCHARGE',
text: '卸货港中文',
width: 100,
sortable: true,
editor: this.comboxPORTDISCHARGE
},
{
dataIndex: 'CARRIER',
text: '船公司',
width: 100,
sortable: true,
editor: this.comboxCARRIER
},
{
dataIndex: 'VIA',
text: '中转港',
width: 100,
editor: this.comboxVIA
},
{
dataIndex: 'ETD',
text: '船期',
width: 80,
editor: {
xtype: 'textfield',
selectOnFocus: true
}
},
{
dataIndex: 'TT',
text: '航程',
width: 80,
editor: {
xtype: 'textfield',
selectOnFocus: true
}
},
{
dataIndex: 'EFFECTIVEDATE',
text: '开始日期',
align: 'center',
renderer: Ext.util.Format.dateRenderer('Y-m-d'),
width: 80,
editor: {
xtype: 'datefield',
format: 'Y-m-d',
// value: currdate.format('yyyy-MM-dd'),
allowBlank: false,
selectOnFocus: true
}
},
{
dataIndex: 'VALIDDATE',
text: '结束日期',
align: 'center',
renderer: Ext.util.Format.dateRenderer('Y-m-d'),
width: 80,
editor: {
xtype: 'datefield',
format: 'Y-m-d',
//value: currdate.format('yyyy-MM-dd'),
allowBlank: false,
selectOnFocus: true
}
},
{
dataIndex: 'COMMODITY',
text: '特殊商品',
width: 80,
editor: {
xtype: 'textfield',
selectOnFocus: true
}
},
{
dataIndex: 'CONTRACTNO',
text: '约号',
width: 80,
editor: {
xtype: 'textfield',
selectOnFocus: true
}
},
{
dataIndex: 'REMARK',
text: '备注',
width: 200,
editor: {
xtype: 'textfield',
selectOnFocus: true
}
},
{
dataIndex: 'INPUTBYREF',
text: '录入人',
width: 200
},
{
dataIndex: 'INPUTTIME',
text: '录入时间',
width: 200
}];
//#endregion
//#region 列字段
var myfield = [];
var myfield2 = [];
var Columnfield = [
{ name: 'GID', type: 'string' }, //惟一编号
{name: 'LOCKFLAG', type: 'bool' }, //是否锁定
{name: 'ISISSUE', type: 'bool' }, //是否发布
{name: 'LANE', type: 'string' }, //航线
{name: 'PODLOAD', type: 'string' }, //起运港
{name: 'PORTDISCHARGEID', type: 'string' }, //卸货港ID
{name: 'PORTDISCHARGE', type: 'string' }, //卸货港中文
{name: 'CARRIER', type: 'string' }, //船公司
{name: 'VIA', type: 'string' }, //中转港
{name: 'ETD', type: 'string' }, //开航日/船期
{name: 'TT', type: 'string' }, //航程
{name: 'EFFECTIVEDATE', type: 'DateTime' }, //生效期/开始日期
{name: 'VALIDDATE', type: 'DateTime' }, //有效期/结束日期
{ name: 'COMMODITY', type: 'string' }, //品名/特殊商品
{ name: 'CONTRACTNO', type: 'string' }, //约号
{name: 'REMARK', type: 'string' }, //备注
];
//#endregion
//#region 取其他费用权限
var feeList;
this.storeFeeData = Ext.create('DsExt.ux.RefTableStore', {
model: 'XiaLaKuangModel',
proxy: { url: '/MvcShipping/MsCrmPriceCarrier/GetFeeName' }
});
this.storeFeeData.load({ params: {},
callback: function (r, options, success) {
if (success) {
if (r.length != 0) {
feeList = r;
}
}
},
async: false,
scope: this
});
//#endregion
//#region 取集装箱权限
var _this = this;
var ctnList;
this.storeCtnData = Ext.create('DsExt.ux.RefTableStore', {
model: 'XiaLaKuangModel',
proxy: { url: '/MvcShipping/MsCrmPriceCarrier/GetCtn' }
});
this.storeCtnData.load({ params: {},
callback: function (r, options, success) {
if (success) {
if (r.length != 0) {
ctnList = r;
//#region 取报价权限
this.storeMonthData = Ext.create('DsExt.ux.RefTableStore', {
model: 'XiaLaKuangModel',
proxy: { url: '/MvcShipping/MsCrmPriceCarrier/GetBaoJiaChaXun' }
});
this.storeMonthData.load({ params: {},
callback: function (r, options, success) {
if (success) {
//#region 列循环
if (r.length != 0) {
//#region 列循环_其他费用
if (feeList != null) {
var acolumn2 = [];
for (i = 0; i < feeList.length; i++) {
var memberyf = feeList[i];
myfield2.push({ name: memberyf.data.VALUE, type: 'string' });
acolumn2.push({
dataIndex: memberyf.data.VALUE, //"列名"
text: memberyf.data.NAME, //"标题"
align: 'right',
width: 200,
editor: {
xtype: 'textfield',
selectOnFocus: true
}
});
this.strHeader += ",[" + memberyf.data.NAME + "]";
};
if (acolumn2.length > 0) {
for (var k in acolumn2) {
zlcolumn.push(acolumn2[k]);
}
}
}
//#endregion
//#region 列循环_报价
for (j = 0; j < ctnList.length; j++) {
var ctn = ctnList[j];
var acolumn = [];
for (i = 0; i < r.length; i++) {
var memberyf = r[i];
myfield.push({ name: ctn.data.VALUE + memberyf.data.VALUE, type: 'decimal' });
zlcolumn.push({
dataIndex: ctn.data.VALUE + memberyf.data.VALUE, //"列名"
text: ctn.data.NAME + memberyf.data.NAME, //"标题"
align: 'right',
width: 100,
editor: {
//xtype: 'textfield',
xtype: 'numberfield',
selectOnFocus: true
// ,
// listeners: {
// scope: this,
// 'render': function (_field, eOpts) {//自定义函数,定义双击事件
// //var _this = this;
// _field.getEl().on('dblclick', function (e, t, eOpts) {
// var sValue = _field.getValue();
// var sFIELDNAME = _field.name;
// _this.onCellBiaoShiClick(sFIELDNAME);
// });
// }
// }
},
renderer: function (value, mCss, record, iRow, iCol, stores, views) {
var sFIELDNAME2 = record.fields.keys[iCol - 1];
var sGID = record.data.GID.toString();
//查询运价标识提取样式表数据匹配GID修改单元格颜色样式
for (var k = 0; k < _this.storeListBiaoShi.getCount(); k++) {
var member = _this.storeListBiaoShi.getAt(k);
var iFIELDCONTENT = parseInt(member.data.FIELDCONTENT);
var sFIELDNAME = member.data.FIELDNAME.toString().trim();
var sLINKGID = member.data.LINKGID.toString();
var iFIELDTYPE = parseInt(member.data.FIELDTYPE);
if (sLINKGID == sGID && sFIELDNAME == sFIELDNAME2 && iFIELDTYPE == 1) {
mCss.tdCls = Shipping.GetXGridCellClass(iFIELDCONTENT);
}
if (sLINKGID == sGID && sFIELDNAME == sFIELDNAME2 && iFIELDTYPE == 3) {
value = value + " " + "<img src='../../../../TruckMng/Content/Images/edit.png'/>";
}
}
for (var k = 0; k < _this.storeListXGCS.getCount(); k++) {
var member = _this.storeListXGCS.getAt(k);
var sFIELDNAME = member.data.FIELDNAME.toString().trim();
var sLINKGID = member.data.LINKGID.toString();
var iFIELDTYPE = parseInt(member.data.FIELDTYPE);
var iHJ = parseInt(member.data.hj) - 1;
if (sLINKGID == sGID && sFIELDNAME == sFIELDNAME2 && iFIELDTYPE == 2) {
if (iHJ == 1) {
value = value + " " + "<img src='../../../../TruckMng/Content/Images/001.png'/>";
}
else if (iHJ == 2) {
value = value + " " + "<img src='../../../../TruckMng/Content/Images/002.png'/>";
}
else if (iHJ == 3) {
value = value + " " + "<img src='../../../../TruckMng/Content/Images/003.png'/>";
}
else if (iHJ == 4) {
value = value + " " + "<img src='../../../../TruckMng/Content/Images/004.png'/>";
}
else if (iHJ == 5) {
value = value + " " + "<img src='../../../../TruckMng/Content/Images/005.png'/>";
}
else if (iHJ == 6) {
value = value + " " + "<img src='../../../../TruckMng/Content/Images/006.png'/>";
}
else if (iHJ == 7) {
value = value + " " + "<img src='../../../../TruckMng/Content/Images/007.png'/>";
}
else if (iHJ == 8) {
value = value + " " + "<img src='../../../../TruckMng/Content/Images/008.png'/>";
}
else if (iHJ == 9) {
value = value + " " + "<img src='../../../../TruckMng/Content/Images/009.png'/>";
}
}
}
return value;
},
listeners: {
scope: this,
'dblclick': function (_gridView, _td, iRow, iCol, e, record) {
var sFIELDNAME = record.fields.keys[iCol - 1];
_this.onCellBiaoShiClick(sFIELDNAME);
}
}
});
this.strHeader += ",[" + memberyf.data.NAME + "]";
};
if (acolumn.length > 0) {
zlcolumn.push({
text: ctn.data.NAME,
columns: acolumn
});
}
}
//#endregion
}
for (var k in myfield2) {
Columnfield.push(myfield2[k]);
}
for (var k in myfield) {
Columnfield.push(myfield[k]);
}
//#endregion
//
// Ext.define('ColumnModel', { extend: 'Ext.data.Model', fields: Columnfield });
// this.storeList = Ext.create('Ext.data.Store', {
// pageSize: this.PageSize,
// model: 'ColumnModel',
// remoteSort: true,
// proxy: {
// type: 'ajax',
// url: '/MvcShipping/MsCrmPriceCarrier/GetDataList',
// reader: {
// id: 'GID',
// root: 'data',
// totalProperty: 'totalCount'
// }
// }
// });
//
//this.storeList.removeAll();
_this.initgirdcolums = _this.girdcolums;
_this.girdcolums = zlcolumn;
_this.girdcolums = DsTruck.GetGridPanel(USERID, _this.formname, _this.girdcolums, 1); //使用者id表名中间column数组跳过一开始的几列
_this.gridList.reconfigure(_this.storeList, _this.girdcolums);
_this.onRefreshClick();
// this.gridList.reconfigure(this.storeList, zlcolumn);
// this.sqlcontext = sql;
// this.storeListXGCS.load({ params: { condition: sql }, waitMsg: "正在刷新数据...", scope: this });
// this.storeListBiaoShi.load({ params: { condition: sql, condition2: "" }, waitMsg: "正在刷新数据...", scope: this });
// this.storeList.load({ params: { start: 0, limit: this.PageSize, sort: '', condition: sql }, waitMsg: "正在查询数据...", scope: this });
// Ext.Msg.hide();
}
},
async: false,
scope: this
});
//#endregion
}
}
},
async: false,
scope: this
});
//#endregion
},
onRefreshClick: function (button, event) {
// Ext.Msg.wait('正在查询数据, 请稍侯..');
var sql = this.getCondition();
this.sqlcontext = sql;
this.storeList.currentPage = 1;
this.storeList.load({ params: { start: 0, limit: this.PageSize, condition: this.sqlcontext }, waitMsg: "正在刷新数据...", scope: this });
// this.storeListXGCS.load({ params: { condition: this.sqlcontext }, waitMsg: "正在刷新数据...", scope: this });
// this.storeListBiaoShi.load({ params: { condition: this.sqlcontext, condition2: "" }, waitMsg: "正在刷新数据...", scope: this });
//end
},
//#endregion
//#region 查询条件
getCondition: function () {
var form = this.formSearch.getForm();
if (!form.isValid()) {
Ext.Msg.alert('提示', '查询条件赋值错误,请检查!');
return '';
}
var sql = '';
var strPORTLOADID = form.findField('PODLOAD_2').getValue();
if (strPORTLOADID != null) {
if (strPORTLOADID != "") {
sql = sql + getAndConSql(sql, strPORTLOADID, "[PODLOAD]='" + strPORTLOADID.toString().trim() + "'");
}
}
var strPORTDISCHARGEID_2 = form.findField('PORTDISCHARGEID_2').getValue();
if (strPORTDISCHARGEID_2 != null) {
if (strPORTDISCHARGEID_2 != "") {
sql = sql + getAndConSql(sql, strPORTDISCHARGEID_2, " (PORTDISCHARGE='" + strPORTDISCHARGEID_2.toString().trim() + "' or [PORTDISCHARGEID]='" + strPORTDISCHARGEID_2.toString().trim() + "') ");
}
}
var strVIA_2 = form.findField('VIA_2').getValue();
if (strVIA_2 != null) {
if (strVIA_2 != "") {
sql = sql + getAndConSql(sql, strVIA_2, "[VIA]='" + strVIA_2.toString().trim() + "'");
}
}
var strCARRIER = form.findField('CARRIER_2').getValue();
if (strCARRIER != null) {
if (strCARRIER != "") {
sql = sql + getAndConSql(sql, strCARRIER, "[CARRIER]='" + strCARRIER.toString().trim() + "'");
}
}
var strLANE = form.findField('LANE_2').getValue();
if (strLANE != null) {
if (strLANE != "") {
sql = sql + getAndConSql(sql, strLANE, "[LANE]='" + strLANE.toString().trim() + "'");
}
}
//var strCOMMODITY_2 = form.findField('COMMODITY_2').getValue();
//if (strCOMMODITY_2 != null) {
// if (strCOMMODITY_2 != "") {
// sql = sql + getAndConSql(sql, strCOMMODITY_2, "[COMMODITY] like '%" + strCOMMODITY_2.toString().trim() + "%'");
// }
//}
var sEFFECTIVEDATE_2 = form.findField('EFFECTIVEDATE_2').getRawValue();
sql = sql + getAndConSql(sql, sEFFECTIVEDATE_2, "VALIDDATE>='" + sEFFECTIVEDATE_2 + "'");
var sVALIDDATE_2 = form.findField('VALIDDATE_2').getRawValue();
sql = sql + getAndConSql(sql, sVALIDDATE_2, "[VALIDDATE]<='" + sVALIDDATE_2 + "'");
var CONTRACTNO = form.findField('CONTRACTNO').getValue();
if (CONTRACTNO != null) {
if (CONTRACTNO != "") {
sql = sql + getAndConSql(sql, CONTRACTNO, "[CONTRACTNO]='" + CONTRACTNO.toString().trim() + "'");
}
}
var strETD_2 = form.findField('ETD_2').getValue();
if (strETD_2 != null) {
if (strETD_2 != "") {
sql = sql + getAndConSql(sql, strETD_2, "[ETD] like '%" + strETD_2.toString().trim() + "%'");
}
}
var strTT_2 = form.findField('TT_2').getValue();
if (strTT_2 != null) {
if (strTT_2 != "") {
sql = sql + getAndConSql(sql, strTT_2, "[TT] like '%" + strTT_2.toString().trim() + "%'");
}
}
var ISISSUE_2 = form.findField('ISISSUE_2').getValue();
if (ISISSUE_2 != null) {
if (ISISSUE_2 == "未发布") {
sql = sql + getAndConSql(sql, ISISSUE_2, "[ISISSUE]=0");
}
else if (ISISSUE_2 == "已发布") {
sql = sql + getAndConSql(sql, ISISSUE_2, "[ISISSUE]=1");
}
}
sql = sql + getAndConSql(sql, "1=1", "[ISISSUE]=1");
// sql = sql + " and [LOCKFLAG]=1";
return sql;
},
//#endregion
//#region 重置条件
onClearSql: function () {
var form = this.formSearch.getForm();
form.reset();
},
//#endregion
//#region 设置运价标识_单元格
onCellBiaoShiClick: function (sFIELDNAME) {
var selections = this.gridList.getSelectionModel().getSelection();
if (selections.length == 0) {
Ext.Msg.show({ title: '提示', msg: '请先选择业务!', icon: Ext.Msg.WARNING, buttons: Ext.Msg.OK });
return;
}
var record = selections[0];
var gids = record.get('GID');
if (gids.toString().trim() != "") {
var required = '<span style="color:red;font-weight:bold;" data-qtip="Required">*</span>';
//#region 历史运价信息
//#region 列定义
Ext.grid.RowNumberer = Ext.extend(Ext.grid.RowNumberer, {
width: 30
});
this.girdcolumsBiaoShi = [new Ext.grid.RowNumberer(), {
sortable: false,
text: '运价',
dataIndex: 'FIELDCONTENT',
width: 120,
align: 'right'
}];
//#endregion
//#region gridList列表显示信息
this.gridListBiaoShi = new Ext.grid.GridPanel({
title: '历史运价信息',
region: 'center',
frame: true,
anchor: '100%',
//width: 150,
height: 200,
store: this.storeListBiaoShi,
//enableHdMenu: false, //是否显示表格列的菜单
//hideHeaders: false, //是否隐藏表头
rowLines: true,
columnLines: true,
loadMask: { msg: "数据加载中,请稍等..." },
selType: 'cellmodel',
columns: this.girdcolumsBiaoShi
});
//#endregion
//#endregion
//#region 编辑formDiv 基本信息
var formDiv = Ext.widget('form', {
frame: true,
border: false,
bodyPadding: 10,
fieldDefaults: {
labelAlign: 'right',
labelWidth: 30,
labelStyle: 'font-weight:bold'
},
//items: [this.panelWest, this.gridListBiaoShi],
items: [{
xtype: 'container',
defaultType: 'textfield',
layout: 'anchor',
defaults: {
anchor: '100%'
},
items: [{
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [{
fieldLabel: '批注',
xtype: 'textareafield',
grow: true,
height: 200,
id: 'FIELDCONTENT',
name: 'FIELDCONTENT',
//anchor: '100%',
listeners: {
scope: this,
'render': function (_field, eOpts) {
//#region 查询运价标识:提取当前数据的批注内容
for (var k = 0; k < this.storeListBiaoShi.getCount(); k += 1) {
var member = this.storeListBiaoShi.getAt(k);
var sLINKGID = member.data.LINKGID.toString();
var sFIELDNAME2 = member.data.FIELDNAME.toString().trim();
var iFIELDTYPE = parseInt(member.data.FIELDTYPE);
var sFIELDCONTENT = member.data.FIELDCONTENT;
if (sLINKGID == gids && sFIELDNAME == sFIELDNAME2 && iFIELDTYPE == 3) {
_field.setValue(sFIELDCONTENT);
}
}
//#endregion
}
}
}, { xtype: 'hiddenfield', width: 20 }, this.gridListBiaoShi]//flex: 1
}]
}],
buttons: [{
text: '关闭',
handler: function () {
this.up('form').getForm().reset();
this.up('window').close();
}
}],
listeners: {
scope: this,
//'beforeload': function () {
'render': function (thisDiv, thisExtend) {
//#region 加载下拉框信息
var strCondition2 = "FIELDNAME='" + sFIELDNAME + "' and FIELDTYPE=2 and LINKGID in ('" + gids.replace(",", "','") + "')";
this.storeListBiaoShi.load({ async: false, params: { condition: this.sqlcontext, condition2: strCondition2 }, waitMsg: "正在刷新数据...", scope: this });
//#endregion
}
}
});
//#endregion
win = Ext.widget('window', {
title: '显示运价单元格标识',
closeAction: 'destroy', //hide,
width: 420,
height: 290,
layout: 'fit',
modal: true,
closable: false, //为false时tab上不显示叉号
resizable: false, //是否可改变列宽,默认为true
border: false,
items: formDiv
//draggable: false,//不允许窗体被拖拽
//获取当前鼠标坐标并设置为其生产的初始位置
//x: 250,
//y: 150,
});
win.show();
}
else {
Ext.Msg.show({ title: '提示', msg: '请选择业务!', icon: Ext.Msg.WARNING, buttons: Ext.Msg.OK });
return;
}
},
//#endregion
//#region 导出Excel
//#region 复制
onCopyClipClick: function (button, event) {
var selections = this.gridList.getSelectionModel().getSelection();
if (selections.length == 0) {
Ext.Msg.show({ title: '提示', msg: '请先选择报价!', icon: Ext.Msg.WARNING, buttons: Ext.Msg.OK });
return;
}
if (selections.length>1) {
Ext.Msg.show({ title: '提示', msg: '只能选中一条报价!', icon: Ext.Msg.WARNING, buttons: Ext.Msg.OK });
return;
}
var bodydatas = [];
for (var i = 0; i < this.CtnStoreList.getCount() ; i += 1) {
var member = this.CtnStoreList.getAt(i);
bodydatas.push(member);
}
var jsonBody = ConvertRecordsToJsonAll(bodydatas);
Ext.Msg.wait('正在审核数据...');
Ext.Ajax.request({
waitMsg: '正在审核数据...',
url: '/MvcShipping/MsCrmPriceCarrierList/CreateOrderFeeBl',
params: {
data: Ext.JSON.encode(this.BsRecord.data),
body: jsonBody,
price: Ext.JSON.encode(selections[0].data),
bstype: this.BsType
},
callback: function (options, success, response) {
if (success) {
var jsonresult = Ext.JSON.decode(response.responseText);
if (jsonresult.Success) {
Ext.MessageBox.hide();
if (window.parent.opener._this.panelFee !=undefined&&window.parent.opener._this.panelFee != NaN)
window.parent.opener._this.panelFee.storeCrChFee.reload();
window.close();
}
else {
Ext.Msg.show({ title: '错误', msg: jsonresult.Message, icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK });
}
}
},
failure: function (response, options) {
Ext.Msg.show({ title: '警告', msg: '服务器响应出错,请重试', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
},
success: function (response, options) {
},
scope: this
}); //end Ext.Ajax.request
},
//#endregion
//ExtJs 自带的导出当前页的excel导出函数
onExportClick: function (button, event) {
GridExportExcelPage(this.gridList);
// grid2Excel(this.gridList, "运价查询");
},
//#endregion
//#region 打印
Print: function () {
if (this.storeList.getCount() == 0) {
return;
}
Ext.Ajax.request({
waitMsg: '正在组织数据, 请稍侯...',
url: '/MvcShipping/MsCrmPriceCarrierList/GetDataListStr',
params: {
condition: this.sqlcontext,
printstr: 'true'
},
callback: function (options, success, response) {
if (success) {
var ddd = Ext.MessageBox.isVisible();
if (Ext.MessageBox.isVisible()) {
Ext.MessageBox.hide();
}
var jsonresult = Ext.JSON.decode(response.responseText);
if (jsonresult.Success) {
var returnStr = jsonresult.data;
var printType = 'MsCrmPriceCarrierListList';
var sql1 = returnStr;
var sql2 = "";
var sql3 = "";
var sql4 = "";
var sql5 = "";
var sql6 = "";
PrintComm(printType, sql1, sql2, sql3, sql4, sql5, sql6);
} 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 });
}
},
scope: this
});
},
//#endregion
OprationSwapJK: function () {
var ret = new Array();
ret[0] = this.OprationStatus;
ret[1] = this.storeList;
ret[2] = this.SelectedRecord;
return ret;
}
});