js综合备忘

// JavaScript Document

/**

 * @author Erit

 */

 

Ext.onReady(function() {

Ext.QuickTips.init();

Ext.form.Field.prototype.msgTarget = 'side';

Ext.BLANK_IMAGE_URL = '../images/default/s.gif';

 

var frm = Ext.form;

 

var columns = [{

id : 'contractId',

header : '合同编号',

sortable : false,

align : 'center',

renderer : function(v) {

return '<span class="index_listid_underline" style="cursor:pointer;">'

+ v + '</font>';

},

dataIndex : 'contractId',

width : 60

}, {

id : 'areaName',

header : '区域',

dataIndex : 'areaName',

align : 'center',

sortable : true,

width : 60

 

}, {

id : 'agencyName',

header : '客户名称',

dataIndex : 'agencyName',

align : 'center',

sortable : true,

width : 120

}, {

id : 'efDate',

header : '开通日期',

align : 'center',

dataIndex : 'efDate',

sortable : true,

// renderer: Ext.util.Format.dateRenderer('Y年m月d日'),

width : 100

}, {

id : 'joinMode',

header : '加盟方式',

dataIndex : 'joinMode',

align : 'center',

sortable : true,

width : 80

}, {

id : 'contractStatus',

header : '合同状态',

dataIndex : 'contractStatus',

align : 'center',

sortable : true,

width : 100

}];

 

var contract = [{

name : 'areaName',

type : 'string'

}, {

name : 'agencyName',

type : 'string'

}, {

name : 'contractId',

type : 'string'

}, {

name : 'efDate',

type : 'string'

}, {

name : 'joinMode',

type : 'string'

}, {

name : 'contractStatus',

type : 'string'

}];

 

var store = new Ext.data.GroupingStore({

proxy : new Ext.data.HttpProxy({

url : ''

}),

reader : new Ext.data.JsonReader({

totalProperty : 'dataForm',

root : 'contract'

}, contract),

remoteSort : true,

sortInfo : {

field : 'areaName',

direction : "DESC"

},

groupField : 'areaName'

});

 

var view = new Ext.grid.GroupingView({

forceFit : true,

sortAscText : '正序',

sortDescText : '倒序',

columnsText : '列显示/隐藏',

groupByText : '依本列分组',

showGroupsText : '分组显示',

groupTextTpl : '{text} ({[values.rs.length]} {[values.rs.length > 0 ? "份合同" : "暂无合同"]})'

})

 

var store_selectType = new Ext.data.SimpleStore({

fields : ['typeCode', 'typeText'],

data : [[1, '不限'], [2, '合同编号'], [3, '区域'], [4, '加盟方式'], [5, '合同状态'],

[6, '客户名称']]

});

 

var selectType = new Ext.form.ComboBox({// 查询类别的下拉框

store : store_selectType,

name : 'selectTypeName',

valueField : 'typeCode',

displayField : 'typeText',

typeAhead : true,

editable : false,// 不可编辑的

mode : 'local',// 本地模式

triggerAction : 'all',

blankText : '不限',

emptyText : '不限',

width : 80

});

 

var store_selectArea = new Ext.data.SimpleStore({

fields : ['areaCode', 'areaText'],

data : [[1, '不限'], [2, '黄浦'], [3, '浦东'], [4, '闸北'], [5, '闵行'],

[6, '徐汇'], [7, '杨浦'], [8, '虹口'], [9, '长宁'], [10, '静安'],

[11, '卢湾'], [12, '宝山'], [13, '嘉定'], [14, '青浦'], [15, '奉贤'],

[16, '南汇'], [17, '普陀'], [18, '金山'], [19, '松江'], [20, '崇明'],

[21, '周边地区']]

});

 

var selectArea = new Ext.form.ComboBox({// 查询类别的下拉框

store : store_selectArea,

name : 'selectAreaName',

valueField : 'areaText',

displayField : 'areaText',

typeAhead : true,

editable : false,// 不可编辑的

mode : 'local',// 本地模式

triggerAction : 'all',

blankText : '不限',

emptyText : '不限',

width : 80

});

 

var beginDate = new Ext.form.DateField({

name : 'beginDate',

width : 100,

readOnly : true,

format : 'Y年m月d日'

});

 

var endDate = new Ext.form.DateField({

id : 'endDate',

width : 100,

readOnly : true,

format : 'Y年m月d日'

});

 

var selectKey = new Ext.form.TextField({

name : 'KeyInfo',

width : 80

});

 

var tbar = [{

xtype : 'button',

iconCls : 'excelIcon',

tooltip : '把数据导出到excel',

handler : exportExcel

}, '-', '->', '开始时间:', beginDate, '-', '结束时间:', endDate, '-', '区域:',

selectArea, '-', '查询条件:', selectType, '-', '查询关键字:', selectKey,

'-', {

text : '查询',

handler : doSelect

}];

var grid = new Ext.grid.GridPanel({

el : 'contract-grid',

id : 'contract-grid',

store : store,

columns : columns,

bodyBorder : false,

sm : new Ext.grid.RowSelectionModel({

selectRow : Ext.emptyFn

}),

view : view,

loadMask : ({

msg : '数据正在加载中……'

}),

width : 1024,

height : 474,

tbar : tbar,

bbar : new Ext.PagingToolbar({

pageSize : 15,

store : store,

displayInfo : true,

beforePageText : '第',

afterPageText : '页 共 {0} 页',

refreshText : '刷新',

displayMsg : '显示第 {0} 条到 {1} 条记录,一共 {2} 条合同记录',

emptyMsg : '没有记录'

})

});

 

grid.render();

store.load({

params : {

start : 0,

limit : 15

}

});

 

grid.addListener('cellclick', cellclick);

// var mainPanel = Ext.getCmp('contract-grid');

 

function cellclick(grid, rowIndex, columnIndex, e) {

var record = grid.getStore().getAt(rowIndex);

var fieldName = grid.getColumnModel().getDataIndex(columnIndex);

var maskDiv = document.getElementById('extMask');

var cnID = record.get('contractId');

if (fieldName == 'contractId') {

var cmWindow;

if (!cmWindow) {

// mainPanel.body.mask();

maskDiv.style.display = '';

var tCBar = ['->', {

text : '确定修改',

name : 'saveContract',

handler : function() {

if (!Ext.get('idForContract').getValue()) {

Ext.MessageBox.alert('提示', '合同编号不能为空!');

return false;

}

 

if (!Ext.get('agency').getValue()) {

Ext.MessageBox.alert('提示', '中介名称不能为空!');

return false;

}

 

if (!Ext.get('join_mode').getValue()) {

Ext.MessageBox.alert('提示', '加盟形式不能为空!');

return false;

}

 

if (!Ext.get('service_item').getValue()) {

Ext.MessageBox.alert('提示', '服务项目不能为空!');

return false;

}

 

if (!Ext.get('efficient_date').getValue()) {

Ext.MessageBox.alert('提示', '开通日期不能为空且格式为 年-月-日!');

return false;

} else if (!dateCheck(Ext.get('efficient_date')

.getValue())) {

Ext.MessageBox.alert('提示', '开通日期格式为 年-月-日!');

return false;

}

 

if (!Ext.get('end_date').getValue()) {

Ext.MessageBox.alert('提示', '时间截点不能为空且格式为 年-月-日!');

return false;

} else if (!dateCheck(Ext.get('end_date').getValue())) {

Ext.MessageBox.alert('提示', '时间截点格式为 年-月-日!');

return false;

}

 

if (cPanel.form.isValid()) {

Ext.MessageBox.wait('正在保存数据中, 请稍候……');

cPanel.form.submit({

// reset: true,

failure : function(form, action) {

Ext.MessageBox.hide();

Ext.MessageBox.alert('提示',

action.result.info);

},

success : function(form_instance_create, action) {

Ext.MessageBox.hide();

Ext.MessageBox.alert('提示',

action.result.info);

cmWindow.close(this);

store.reload({

params : {

start : 0,

limit : 15

}

});

// mainPanel.body.unmask();

maskDiv.style.display = 'none';

beginDate.setValue('');

endDate.setValue('');

}

});

}

}

 

}, '-', {

text : '查看收费详情',

id : 'seeContract',

handler : function() {

var seeWind;

 

if (!seeWind) {

var ctColumns = new Ext.grid.ColumnModel([{

hidden : true,

id : 'payID',

dataIndex : 'payID'

}, {

id : 'transact',

header : '执行例次',

dataIndex : 'transact',

renderer : function(v) {

return '<span class="index_listid_underline" style="cursor:pointer;">第'

+ v + '次</span>';

},

align : 'center',

width : 90

}, {

id : 'sPayDate',

header : '付款时间',

dataIndex : 'sPayDate',

align : 'center',

width : 140

}, {

id : 'sPayMoney',

header : '此次金额(元)',

dataIndex : 'sPayMoney',

align : 'center',

width : 100

}, {

id : 'sEStartDate',

header : '服务开始时间',

dataIndex : 'sEStartDate',

align : 'center',

width : 130

}, {

id : 'sEEndDate',

header : '服务结束时间',

dataIndex : 'sEEndDate',

align : 'center',

width : 130

}, {

id : 'sPayStatus',

header : '状态',

dataIndex : 'sPayStatus',

align : 'center',

renderer : function(v) {

if (v == '已支付')

return '<span class="index_listid_underline" style="cursor:pointer;">'

+ v + '</span>';

else if (v == '未支付')

return '<span class="index_listid_underline" style="cursor:pointer;">'

+ v + '</span>';

},

width : 81

}]);

 

var sStract = [{

name : 'payID'

}, {

name : 'transact'

}, {

name : 'sPayDate'

}, {

name : 'sEStartDate'

}, {

name : 'sEEndDate'

}, {

name : 'sPayMoney',

type : 'float'

}, {

name : 'sPayStatus'

}];

 

var sStroe = new Ext.data.Store({

proxy : new Ext.data.HttpProxy({

url : ''

}),

reader : new Ext.data.JsonReader({

totalProperty : 'ConDataForm',

root : 'getContract'

}, sStract)

});

 

var sFModyCon = new Ext.form.Hidden({

id : 'sFMody',

name : 'sFMody',

value : '2'

});

 

var seeTextFiled = new Ext.form.FieldSet({

id : 'sFieldset_panel',

title : '增加新收费(* 为必填项)',

autoHeight : true,

// collapsible: true,

defaultType : 'textfield',

items : [sFModyCon, {

xtype : 'hidden',

id : 'payID',

name : 'payID'

}, {

xtype : 'hidden',

id : 'contractId',

value : Ext.get('contractId').getValue()

}, {

xtype : 'datefield',

fieldLabel : '付款时间',

id : 'sPayDate',

name : 'sPayDate',

format : 'Y-m-d',

allowBlank : false,

blankText : '请输入或选择时间',

invalidText : '输入日期:<font color="#ff0000">"{0}"</font>的格式不对,请按<font color="#ff0000">"{1}"</font>格式输入',

width : 120

}, {

fieldLabel : '此次金额(元)',

id : 'sPayMoney',

blankText : '此次金额不能为空且为数字',

allowBlank : false,

name : 'sPayMoney'

}, {

xtype : 'datefield',

fieldLabel : '服务开始时间',

id : 'sEStartDate',

format : 'Y-m-d',

name : 'sEStartDate',

allowBlank : false,

blankText : '请输入或选择时间',

invalidText : '输入日期:<font color="#ff0000">"{0}"</font>的格式不对,请按<font color="#ff0000">"{1}"</font>格式输入',

width : 120

}, {

xtype : 'datefield',

fieldLabel : '服务结束时间',

id : 'sEEndDate',

format : 'Y-m-d',

name : 'sEEndDate',

allowBlank : false,

blankText : '请输入或选择时间',

invalidText : '输入日期:<font color="#ff0000">"{0}"</font>的格式不对,请按<font color="#ff0000">"{1}"</font>格式输入',

anchor : '90%',

width : 120

}]

});

 

function selectRow(sm, row, rec) {

Ext.getCmp('seePanel_grid').getForm()

.loadRecord(rec);

Ext.getCmp('sFieldset_panel')

.setTitle('修改收费项目(* 为必填项)');

}

 

var rsm = new Ext.grid.RowSelectionModel({

singleSelect : true,

listeners : {

rowselect : selectRow

}

});

 

var seeGPanel = new Ext.grid.GridPanel({

id : 'seeGPanel_grid',

title : '合同编号: ' + cnID,

cm : ctColumns,

ds : sStroe,

sm : rsm,

autoScroll : true,

width : 693,

height : 180,

loadMask : ({

msg : '数据正在加载中……'

})

});

 

sStroe.load({

params : {

cnID : Ext.get('contractId').getValue()

}

});

 

// var listPayInfo = Ext.getCmp("seeGPanel_grid");

var conMoneySum = new Ext.Button({

id : 'conMoneySum',

name : 'conMoneySum',

text : ''

});

 

var mButn = new Ext.Button({

id : 'modyPayInfo',

name : 'modyPayInfo',

text : '确定',

handler : function() {

var sFieldName = Ext

.getCmp('sFieldset_panel').title;

if (sFieldName == '增加新收费(* 为必填项)') {

if (!Ext.get('sPayDate').getValue()) {

Ext.get('sPayDate').focus();

return false;

}

 

if (isNaN(Ext.get('sPayMoney')

.getValue())) {

Ext.get('sPayMoney').focus();

return false;

}

 

if (!Ext.get('sEStartDate').getValue()) {

Ext.get('sEStartDate').focus();

return false;

}

 

if (!Ext.get('sEEndDate').getValue()) {

Ext.get('sEEndDate').focus();

return false;

}

 

sFModyCon.value = '1';

sFModyCon.setValue(sFModyCon.value);

 

if (seePanel.form.isValid()) {

Ext.MessageBox

.wait('正在保存数据中, 请稍候……');

seePanel.form.submit({

reset : true,

failure : function(form, action) {

Ext.MessageBox.hide();

// Ext.MessageBox.alert('提示',action.result.info);

},

success : function(

form_instance_create,

action) {

Ext.MessageBox.hide();

Ext.MessageBox.alert('提示',

action.result.info);

sStroe.reload();

}

});

Ext.getCmp('sFieldset_panel').title = '增加新收费(* 为必填项)';

}

} else {

if (!Ext.get('sPayDate').getValue()) {

Ext.get('sPayDate').focus();

return false;

}

 

if (isNaN(Ext.get('sPayMoney')

.getValue())) {

Ext.get('sPayMoney').focus();

Ext.get('sPayMoney').setValue(1);

return false;

}

 

if (!Ext.get('sEStartDate').getValue()) {

Ext.get('sEStartDate').focus();

return false;

}

 

if (!Ext.get('sEEndDate').getValue()) {

Ext.get('sEEndDate').focus();

return false;

}

 

if (seePanel.form.isValid()) {

Ext.MessageBox

.wait('正在保存数据中, 请稍候……');

seePanel.form.submit({

reset : true,

failure : function(form, action) {

Ext.MessageBox.hide();

// Ext.MessageBox.alert('提示',action.result.info);

},

success : function(

form_instance_create,

action) {

Ext.MessageBox.hide();

Ext.MessageBox.alert('提示',

action.result.info);

sStroe.reload();

}

});

Ext.getCmp('sFieldset_panel').title = '增加新收费(* 为必填项)';

}

}

}

});

 

var seePanel = new Ext.FormPanel({

url : '',

id : 'seePanel_grid',

border : false,

frame : true,

width : 705,

autoHeight : true,

// height:350,

items : [seeGPanel, seeTextFiled],

tbar : [{

id : 'conMCount',

name : 'conMCount',

text : '金额统计:'

}, conMoneySum, '-', {

xtype : 'button',

iconCls : 'excelIcon',

tooltip : '把数据导出到excel',

handler : function() {

if (sStroe.getCount() == 0) {

Ext.Msg.show({

title : '提示',

msg : '暂无数据!',

icon : Ext.MessageBox.WARNING

});

return false;

}

var contractID = document

.getElementById('contractID');

var formObjList = document

.getElementById('toListExcel');

contractID.value = Ext

.get('contractId').getValue();

 

formObjList.submit();

}

}, '-', '->', {

xtype : 'button',

id : 'closePayInfo',

text : '关闭',

handler : function() {

seeWind.close(this);

cmWindow.show(this);

}

}],

bbar : ['->', mButn, '-', {

text : '清空',

handler : function() {

var frm = Ext.getCmp("seePanel_grid")

.getForm();

frm.reset();

Ext.getCmp('sFieldset_panel')

.setTitle('增加新收费(* 为必填项)');

}

}]

});

 

seeWind = new Ext.Window({

width : 715,

border : false,

frame : true,

resizable : false,

bodyStyle : 'padding-top:0px;',

closable : false,// 是否可以关闭

closeAction : 'hide',

defaults : {

// 容器内元素是否显示边框

border : false

},

items : [seePanel]

});

 

function changRowNum(grid, rowIndex, columnIndex, e) {

var record = grid.getStore().getAt(rowIndex);

var fieldName = grid.getColumnModel()

.getDataIndex(columnIndex);

var dataValue = record.get(fieldName);

 

if (fieldName == 'sPayStatus') {

if (dataValue == '未支付') {

seePanel.form.submit({

reset : true,

url : '',

method : 'GET',

failure : function(form, action) {

Ext.MessageBox.alert('提示',

action.result.info);

},

success : function(

form_instance_create,

action) {

sStroe.reload();

}

});

} else if (dataValue == '已支付') {

seePanel.form.submit({

reset : true,

url : '',

method : 'GET',

failure : function(form, action) {

Ext.MessageBox.alert('提示',

action.result.info);

},

success : function(

form_instance_create,

action) {

sStroe.reload();

}

});

}

}

}

 

seeGPanel.addListener('cellclick', changRowNum);

sStroe.on('load', function() {

conMoneySum.setText(sStroe.sum('sPayMoney', 0,

sStroe.getTotalCount() - 1)

+ '元');

});

cmWindow.hide();

seeWind.show(this);

}

}

}, {

text : '关闭',

name : 'closePage',

handler : function() {

cmWindow.close(this);

maskDiv.style.display = 'none';

beginDate.setValue('');

endDate.setValue('');

 

// mainPanel.body.unmask();

}

}];

 

var cPanel = new Ext.FormPanel({

url : '',

id : 'cPanel',

tbar : tCBar,

defaults : {

border : false

},

items : [{

autoLoad : {

id : 'listGrid',

url : '',

scope : this,

callback : function() {

},

scripts : true,

params : 'cnID=' + cnID

}

}]

});

 

cmWindow = new Ext.Window({

width : 715,

border : false,

frame : true,

resizable : false,

style : {

'background-color' : '#999999'

},

closable : false,// 是否可以关闭

closeAction : 'hide',

defaults : {

// 容器内元素是否显示边框

border : false

},

items : [cPanel]

})

cmWindow.setPosition(278, 100);

cmWindow.show(this);

}

}

}

 

endDate.on('blur', function() {

var bDate = beginDate.getValue();

var eDate = endDate.getValue();

 

if (bDate)

bDate = bDate.format('Y-m-d');

else

bDate = '';

 

if (eDate)

eDate = eDate.format('Y-m-d');

else

eDate = '';

 

if (bDate == '') {

Ext.MessageBox.alert("提示", "起始时间不能为空!");

}

 

});

 

function doSelect() {

var id = selectType.getValue();

var xiInfo = selectKey.getValue();// 得到当前选择输入框的值

var bDate = beginDate.getValue();

var eDate = endDate.getValue();

var area = selectArea.getValue();

if (bDate == null || bDate == '') {

bDate = '';

} else

bDate = bDate.format('Y-m-d');

 

if (eDate == null || eDate == '') {

eDate = '';

} else

eDate = eDate.format('Y-m-d');

 

if (id == null || id == '') {

id = '1';

}

 

if (eDate && !bDate) {

Ext.MessageBox.alert("提示", "请选择开始结束时间!");

return false;

}

 

if (bDate && eDate == '') {

Ext.MessageBox.alert("提示", "请选择结束结束时间!");

return false;

}

 

if (bDate && eDate)

if (compareDate(eDate, bDate) == 2) {

Ext.MessageBox.alert("提示", "结束时间不能小于起始时间!");

return false;

}

 

store.load({

params : {

start : 0,

limit : 15,

typeId : id,

info : xiInfo,

beginDate : bDate,

endDate : eDate,

area : area

}

});

}

 

function compareDate(DateOne, DateTwo) {

 

var OneMonth = DateOne.substring(5, DateOne.lastIndexOf("-"));

var OneDay = DateOne.substring(DateOne.length, DateOne.lastIndexOf("-")

+ 1);

var OneYear = DateOne.substring(0, DateOne.indexOf("-"));

 

var TwoMonth = DateTwo.substring(5, DateTwo.lastIndexOf("-"));

var TwoDay = DateTwo.substring(DateTwo.length, DateTwo.lastIndexOf("-")

+ 1);

var TwoYear = DateTwo.substring(0, DateTwo.indexOf("-"));

 

if (Date.parse(OneMonth + "/" + OneDay + "/" + OneYear) > Date

.parse(TwoMonth + "/" + TwoDay + "/" + TwoYear))

return 1;

else

return 2;

}

 

function exportExcel() {

if (store.getCount() == 0) {

Ext.Msg.show({

title : '提示',

msg : '暂无数据!',

icon : Ext.MessageBox.WARNING

});

return false;

}

var conID = selectType.getValue();

var xiInfo = selectKey.getValue();// 得到当前选择输入框的值

var bDate = beginDate.getValue();

var eDate = endDate.getValue();

var area = selectArea.getValue();

 

if (bDate)

bDate = bDate.format('Y-m-d');

else

bDate = '';

 

if (eDate)

eDate = eDate.format('Y-m-d');

else

eDate = '';

 

var typeIDHidden = document.getElementById('typeID');

var infoHidden = document.getElementById('info');

var begDate = document.getElementById('begDate');

var enDate = document.getElementById('enDate');

var areaSet = document.getElementById('areaSet');

 

typeIDHidden.value = conID;

infoHidden.value = xiInfo;

begDate.value = bDate;

enDate.value = eDate;

areaSet.value = area;

 

var formObj = document.getElementById('toExce');

formObj.submit();

 

}

 

store.on('load', function() { // 数据加载完毕后触发事件

var el = Ext.get('contract-grid');

var tableObj = el.select('table.x-grid3-row-table');

var k = 0;

var j = 0;

var n = 0;

for (var i = 0; i < store.getCount(); i++) {

if (store.getAt(i).get('contractStatus') == '进行中') {

k = i;

tableObj.item(k)

.addClass('x-grid3-row-customOne-class');

} else if (store.getAt(i).get('contractStatus') == '结束') {

j = i;

tableObj.item(j)

.addClass('x-grid3-row-customTwo-class');

} else if (store.getAt(i).get('contractStatus') == '完成') {

n = i;

tableObj.item(n)

.addClass('x-grid3-row-customThree-class');

}

}

});

 

});

你可能感兴趣的:(function,String,header,url,action,border)