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.

638 lines
19 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');
DsTruck.CargoNameIndex = function (config) {
Ext.applyIf(this, config);
this.initUIComponents();
window.DsTruck.CargoNameIndex.superclass.constructor.call(this);
};
Ext.extend(DsTruck.CargoNameIndex, Ext.Panel, {
PageSize: 500,
OprationStatus: null, //仅当弹出界面时使用
SelectedRecord: null,
VISIBLERANGE: 0,
OPERATERANGE: 0,
_GID: 0,
_SHORTNAME: 0,
initUIComponents: function () {
//定义数据集
this.storeList = Ext.create('Ext.data.Store', {
model: 'Tradermb',
remoteSort: false,
pageSize: this.PageSize,
proxy: {
type: 'ajax',
url: '/CommMng/BasicDataRef/GetTrader',
reader: {
idProperty: 'gid',
root: 'data',
totalProperty: 'totalCount'
}
}
});
this.formname = "CargoName";
//this.InWorkFlow=false;
//#region 枚举参照
this.storeTrader = Ext.create('DsExt.ux.RefTableStore', {
model: 'Tradermb',
proxy: { url: '/CommMng/BasicDataRef/GetTrader' }
});
this.storeTrader.load({ params: { condition: ""} });
this.comboxTrader = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '往来单位',
store: this.storeTrader,
name: 'CustName', id: "CustName",
valueField: 'name',
displayField: 'codename'
});
Ext.define('ClintTypemb', {
extend: 'Ext.data.Model',
fields: [
{ name: 'ClintType', type: 'string' }
, { name: 'NAME', type: 'string' }
]
});
/*
ISCARRIER
ISBOOKING
ISYARD
ISTRUCK
ISCONTROLLER
ISCUSTOM
ISAGENT
ISAIRLINES
ISSHIPPER
ISCONSIGNEE
ISNOTIFYPARTY
ISCUSTOM
ISWAREHOUSE
ISAIRLINES*/
var ClintTypeData = [{ "ClintType": "ISSHIPPER", "NAME": "发货人" },
{ "ClintType": "ISAIRLINES", "NAME": "航空公司"}];
this.storeClintType = Ext.create('Ext.data.Store', {
model: 'ClintTypemb',
data: ClintTypeData
});
this.comboxClintType = Ext.create('DsExt.ux.RefEnumCombox', {
fieldLabel: '往来单位类型',
forceSelection: true,
store: this.storeClintType,
name: 'ClintType', id: "ClintType",
valueField: 'ClintType',
displayField: 'NAME'
});
//#endregion
this.column = [{
sortable: true, hidden: true,
dataIndex: 'gid',
header: 'gid',
width: 100
}, {
sortable: true,
dataIndex: 'codename',
header: '代码/名称',
width: 200
},
{
sortable: true,
dataIndex: 'name', hidden: true,
header: '名称',
width: 120
}];
//定义Grid
this.ClientCB = Ext.create('Ext.selection.CheckboxModel', { checkOnly: true });
Ext.grid.RowNumberer = Ext.extend(Ext.grid.RowNumberer, {
width: 45
});
this.gridList = new Ext.grid.GridPanel({
store: this.storeList,
enableHdMenu: false,
//layout: "border",
region: 'center',
loadMask: { msg: "数据加载中,请稍等..." },
trackMouseOver: true,
disableSelection: false,
stripeRows: true,
viewConfig: {
enableTextSelection: true
},
stateful: true,
selModel: this.ClientCB,
columns: [new Ext.grid.RowNumberer()],
bbar: Ext.create('Ext.PagingToolbar', {
store: this.storeList,
displayInfo: true,
displayMsg: '当前显示 {0} - {1}条记录 /共 {2}条记录',
emptyMsg: "没有数据"
})
});
/////////////以下部分为获取存储的gridpanel显示样式
//this.column = DsTruck.GetGridPanel(USERID, this.formname, this.column);
//使用者id表名 中间column数组跳过一开始的几列
this.column.unshift(new Ext.grid.RowNumberer());
this.gridList.reconfigure(this.storeList, this.column);
////////////////////////////
/*
this.gridList.addListener('itemdblclick', function (dataview, record, item, index, e, b) {
this.SelectedRecord = record;
this.OprationStatus = 'edit';
DsOpenEditWin("/Import/CargoName/Edit", "", "620", "1000","200","400");
}, this);*/
this.gridList.addListener('itemdblclick', function (dataview, record, item, index, e, b) {
this.SelectedRecord = record;
this.OprationStatus = 'edit';
DsOpenEditWin("/Import/CargoName/Edit","商品信息:"+record.get('name'), "620", "1000", "200", "400");
//this._GID = record.data.gid;
//this._SHORTNAME = record.data.gid;
}, this);
//#region formSearch
this.formSearch = Ext.widget('form', {
frame: true,
region: 'center',
bodyPadding: 5,
fieldDefaults: {
margins: '2 2 2 2',
labelAlign: 'right',
flex: 1,
labelWidth: 120,
msgTarget: 'qtip'
},
items: [
{//fieldset 1
xtype: 'container',
defaultType: 'textfield',
layout: 'anchor',
defaults: {
anchor: '100%'
},
items: [{
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [
this.comboxClintType,
this.comboxTrader,
{
fieldLabel: '名称或代码中包含',
name: 'CustCode',
id: "CustCode"
}, {
xtype: 'hiddenfield', flex: 1
}
]
}]
}, //end items(fieldset 1)
{//fieldset 2
xtype: 'container',
defaultType: 'textfield',
layout: 'anchor',
defaults: {
anchor: '100%'
},
items: [{
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: []
}]
}, //end fieldset 2
{//fieldset 3
xtype: 'container',
defaultType: 'textfield',
layout: 'anchor',
defaults: {
anchor: '100%'
},
items: [{
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [
]
}]
}, //end items(fieldset 3)
{//fieldset 5
xtype: 'container',
defaultType: 'textfield',
layout: 'anchor',
defaults: {
anchor: '100%'
},
items: []
} //end items(fieldset 5)
]//end root items
});
//#endregion formSearch
//_this = this;
this.CBMWorkFlow = new Ext.form.Checkbox({
fieldLabel: '只显示待处理业务',
labelwidth: 200
});
//查询工具条
this.panelBtn = new Ext.Panel({
region: "north",
tbar: [
{
text: "执行查询",
iconCls: "btnrefresh",
handler: function (button, event) {
this.onRefreshClick(button, event);
},
scope: this
},
{
text: "重置条件",
iconCls: "btnreset",
handler: function (button, event) {
//this.onResetClick(button, event);
//alert(this.getCondition);
},
scope: this
}, '-',
{
text: "打开",
iconCls: "btnright", id: "OPEN",
handler: function (button, event) {
this.onOpenClick(button, event);
},
scope: this
}, '-'
]
});
//#region 商品名称
this.storeCargoinfo = Ext.create('DsExt.ux.RefTableStore', {
model: 'CargoRef',
proxy: { url: '/CommMng/BasicDataRef/GetCargoRefList' }
});
this.storeCargoinfo.load({ params: { condition: ""} });
this.comboxCargoinfo = Ext.create('DsExt.ux.RefTableCombox', {
store: this.storeCargoinfo,
forceSelection: true,
name: 'HS_ID',
valueField: 'id',
displayField: 'codeandname'
//HS代码
});
this.storeCargociq = Ext.create('DsExt.ux.RefTableStore', {
model: 'CargociqRef',
proxy: { url: '/CommMng/BasicDataRef/GetCargociqRefList' }
});
this.storeCargociq.load({ params: { condition: ""} });
this.comboxCargociq = Ext.create('DsExt.ux.RefTableCombox', {
store: this.storeCargociq,
forceSelection: true,
name: 'CIQ_ID',
valueField: 'id',
displayField: 'codeandname',
async: false
//ciq代码
});
this.storeCARGOTYPE = Ext.create('DsExt.ux.RefEnumStore', {});
this.storeCARGOTYPE.load({ params: { enumTypeId: 30} });
this.comboxCARGOTYPE = Ext.create('DsExt.ux.RefEnumCombox', {
//fieldLabel: '商品类型',
forceSelection: true,
store: this.storeCARGOTYPE,
name: 'CARGOTYPE',
valueField: 'EnumValueName',
displayField: 'EnumValueName'
});
//数据集
this.storeCargoName = Ext.create('Ext.data.Store', {
model: 'CargoNamemb',
remoteSort: false,
pruneModifiedRecords: true,
proxy: {
type: 'ajax',
url: '/Import/CargoName/GetCargoNameList',
reader: {
id: 'GID',
root: 'data',
totalProperty: 'totalCount'
}
}
});
//表格
this.cellEditing_S = Ext.create('Ext.grid.plugin.CellEditing', {
clicksToEdit: 1
});
this.CheckBoxModel_S = Ext.create('Ext.selection.CheckboxModel');
this.formCargoName = new Ext.grid.GridPanel({
layout: 'border',
store: this.storeCargoName,
enableHdMenu: false,
region: 'center', //bodyStyle: 'background:#FFF',
trackResetOnLoad: true,
//split:true,
//height: 160,
title: '商品名称',
loadMask: { msg: "数据加载中,请稍等..." },
trackMouseOver: true,
disableSelection: false,
plugins: [this.cellEditing_S],
selModel: this.CheckBoxModel_S,
selType: 'cellmodel',
tbar: [{
text: '增加明细',
tooltip: '增加明细', id: "add2",
iconCls: "btnadddetail",
handler: function (button, event) {
this.onAddCargoNameClick(button, event);
},
scope: this
}, '-', {
text: '删除明细',
tooltip: '删除明细', id: "del2",
iconCls: "btndeletedetail",
handler: function (button, event) {
this.onDelCargoNameClick(button, event);
},
scope: this
}],
columns: [
{
sortable: true, hidden: true,
dataIndex: 'GID',
header: 'GID',
width: 80
},
{
sortable: true, hidden: true,
dataIndex: 'CLIENTGID',
header: 'CLIENTGID',
width: 80
},
{
sortable: true,
dataIndex: 'CODENAME',
header: '代码',
editor: {
xtype: 'textfield'
},
width: 50
},
{
sortable: true,
dataIndex: 'ENNAME',
header: '英文名称',
editor: {
xtype: 'textfield'
},
width: 110
},
{
sortable: true,
dataIndex: 'CNNAME',
header: '中文名称',
editor: {
xtype: 'textfield'
},
width: 110
},
{
dataIndex: 'HS_ID',
header: 'HS代码',
renderer: function (value, p, record) {
if (value == null || value == '') return '';
else return record.data.HSREF;
},
editor: this.comboxCargoinfo,
width: 140
},
{
dataIndex: 'CIQ_ID',
header: 'CIQ代码',
renderer: function (value, p, record) {
if (value == null || value == '') return '';
else return record.data.CIQREF;
},
editor: this.comboxCargociq,
width: 140
},
{
sortable: true, hidden: true,
dataIndex: 'MODIFIEDUSER',
header: 'MODIFIEDUSER',
width: 80
},
{
sortable: true, hidden: true,
dataIndex: 'MODIFIEDTIME',
header: 'MODIFIEDTIME',
width: 80
},
{
sortable: true,
dataIndex: 'AREA',
header: '区域',
editor: {
xtype: 'textfield'
},
width: 60
},
{
sortable: true,
dataIndex: 'SBYS',
header: '申报要素',
editor: {
xtype: 'textfield'
},
width: 160
},
{
sortable: true,
dataIndex: 'CARGOTYPE',
header: '商品类型',
editor: this.comboxCARGOTYPE,
width: 80
}]
});
//#endregion
//#region 布局
this.panelTop = new Ext.Panel({
layout: "border",
region: "north",
height: 85,
items: [this.formSearch, this.panelBtn]
});
/*
this.page_1 = new Ext.Panel({
id: "page_1",
layout: "border",
region: "center",
title: "选择往来单位",
//autoScroll: true,
items: [this.gridList]
});
this.page_2 = new Ext.Panel({
id: "page_2",
layout: "border",
region: "center",
title: "商品信息",
//autoScroll: true,
items: [this.formCargoName]
});
this.MainTab = new Ext.tab.Panel({
layout: "border",
region: "center", split: true,
items: [this.page_1
, this.page_2//, this.page_3, this.page_4//,this.page_5
]
});
*/
Ext.apply(this, {
items: [this.panelTop, this.gridList]
});
//#endregion
this.InitData();
//集中绑定事件
this.storeList.on('beforeload', function (store) {
var sql = this.getCondition();
Ext.apply(store.proxy.extraParams, { condition: sql });
}, this);
}, //end initUIComponents
checkHandler: function () {
alert('Checked a menu item');
},
onRefreshClick: function (button, event) {
var sql = this.getCondition();
this.storeList.load({
params: { start: 0, limit: this.PageSize, sort: '', condition: sql },
waitMsg: "正在查询数据...",
scope: this
});
//alert(this.storeList.getCount());
},
InitData: function () {
//var STEPNO=this.storeWorkFlowStep.getAt(index).get("STEPNO");
}, //end InitData
onOpenClick: function (button, event) {
var selections = this.gridList.getSelectionModel().getSelection();
if (selections.length == 0) {
Ext.Msg.show({ title: '提示', msg: '请先选择一条!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
return;
}
if (selections.length > 1) {
Ext.Msg.show({ title: '提示', msg: '请注意,将打开所选内容的第一条!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
}
var selectedRecords = [];
selectedRecords = this.gridList.selModel.getSelection();
this.SelectedRecord = selectedRecords[0];
this.OprationStatus = 'edit';
DsOpenEditWin("/Import/CargoName/Edit", "", "620", "1000");
}, //onDeleteClick
getToday: function () {
var now = new Date();
var year = now.getFullYear(); //年
var month = now.getMonth() + 1; //月
var day = now.getDate(); //日
var clock = year + "-";
if (month < 10)
clock += "0";
clock += month + "-";
if (day < 10)
clock += "0";
clock += day + " ";
return (clock);
},
onResetClick: function (button, event) {
this.formSearch.getForm().reset();
},
getCondition: function () {
var form = this.formSearch.getForm();
if (!form.isValid()) {
Ext.Msg.alert('提示', '查询条件赋值错误,请检查。');
return '';
}
var sql = "";
var CustName = Ext.getCmp("CustName").getValue();
sql = sql + getAndConSql(sql, CustName, "shortname like '%" + CustName + "%'");
var CustCode = Ext.getCmp("CustCode").getValue();
sql = sql + getAndConSql(sql, CustCode, "codename like '%" + CustCode + "%' shortname like '%" + CustCode + "%'");
var ClintType = Ext.getCmp("ClintType").getValue();
sql = sql + getAndConSql(sql, ClintType, " " + ClintType + "=1 ");
return sql;
},
onGetremind: function (field, newValue, oldValue) {
if (newValue != null) {
this.storeList.load({
params: { start: 0, limit: this.PageSize, sort: '', condition: newValue },
waitMsg: "正在查询数据...",
scope: this
});
}
},
OprationSwap: function () {
var ret = new Array();
ret[0] = this.OprationStatus;
ret[1] = this.storeList;
ret[2] = this.SelectedRecord;
ret[3] = Ext.getCmp("ClintType").getValue();
return ret;
}
});