123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189 |
- Ext.define('erp.view.sys.hr.DepartPanel',{
- extend: 'Ext.panel.Panel',
- layout:'border',
- alias: 'widget.departpanel',
- frame:false,
- initComponent : function(){
- var me=this;
- Ext.applyIf(me,{
- items:me.configItem(me)
- });
- this.callParent(arguments);
- },
- configItem:function(panel){
- return [panel.configDepartGrid(),panel.configHelpText()];
- },
- configDepartGrid:function(){
- var config={
- region:'center',
- id:'departgrid',
- caller:'Department',
- columnLines:true,
- keyField:'dp_id',
- saveUrl:'hr/employee/saveDepartment.action',
- updateUrl:'hr/employee/updateDepartment.action',
- deleteUrl:'hr/employee/deleteDepartment.action',
- getIdUrl: 'common/getId.action?seq=Department_SEQ',
- viewConfig: {
- stripeRows: true,
- enableTextSelection: true
- },
- dockedItems: [{
- xtype: 'toolbar',
- ui: 'footer',
- items: [{
- text:'添加',
- itemId: 'adddepart',
- tooltip:'添加新记录',
- iconCls:'btn-add'
- },'-',{
- text:'载入标准数据',
- itemId:'loadStandardData',
- table:'Department',
- iconCls:'btn-get',
- tooltip:'从标准帐套重新载入'
- },'-', {
- text:'帮助',
- iconCls:'btn-help',
- tooltip:'帮助简介'
- }]
- }],
- columns:[{
- dataIndex:'dp_id',
- width:0,
- text:'ID'
- },Ext.create('Ext.grid.RowNumberer',{
- width:35
- }),{
- dataIndex:'dp_code',
- width:100,
- text:'部门编号'
- },{
- dataIndex:'dp_name',
- width:120,
- text:'部门名称'
- },{
- xtype:'actioncolumn',
- width:45,
- text :'操作',
- items:[{
- iconCls:'btn-edit',
- tooltip:'修改',
- handler:function(grid, rowIndex, colIndex,item) {
- var record = grid.getStore().getAt(rowIndex),gridpanel=grid.ownerCt,deparpanel=gridpanel.ownerCt;
- var win=Ext.widget('detailwindow',{
- title:gridpanel.title,
- items:[Ext.widget('formportal',{
- region:'center',
- caller:gridpanel.caller,
- updateUrl: gridpanel.updateUrl,
- saveSuccess:deparpanel.DetailUpdateSuccess,
- condition:gridpanel.keyField+'='+record.get(gridpanel.keyField)
- })]
- });
- win.showRelyBtn(win,grid);
- }
- },
- {
- iconCls:'btn-delete',
- tooltip:'删除',
- width:75,
- handler:function(grid, rowIndex, colIndex) {
- Ext.Msg.confirm('删除数据?', '确定要删除当前选中行(行号:'+(rowIndex+1)+')?',
- function(choice) {
- if(choice === 'yes') {
- //var reviewStore = Ext.data.StoreMgr.lookup('reviewStore');
- var record = grid.getStore().getAt(rowIndex),gridpanel=grid.ownerCt;
- gridpanel.setLoading(true);
- Ext.Ajax.request({
- url : basePath +'hr/employee/deleteDepartment.action',
- params: {
- id: record.get('dp_id')
- },
- method : 'post',
- callback : function(options,success,response){
- gridpanel.setLoading(false);
- var localJson = new Ext.decode(response.responseText);
- if(localJson.exceptionInfo){
- showError(localJson.exceptionInfo);return;
- }
- if(localJson.success){
- showResult('提示','删除成功!');
- grid.getStore().load();
- } else {
- delFailure();
- }
- }
- });
- }
- })
- }
- }]
- }],
- store:Ext.create('Ext.data.Store',{
- fields:[{name:'dp_id',type:'number'},
- {name:'dp_code',type:'string'},
- {name:'dp_name',type:'string'}],
- proxy: {
- type: 'ajax',
- url: basePath+'/hr/employee/getDepartments.action',
- reader: {
- type: 'json',
- root: 'departs'
- }
- },
- autoLoad: true
- })
- };
- return Ext.widget('gridpanel',config);
- },
- configHelpText:function(){
- return {
- xtype:'panel',
- region:'east',
- width:'40%',
- html:'帮助信息'
- };
- },
- removeDetail:function(grid,id){
- grid.setLoading(true);
- Ext.Ajax.request({
- url : basePath + grid.deleteUrl,
- params: {
- id: id
- },
- method : 'post',
- callback : function(options,success,response){
- grid.setLoading(false);
- var localJson = new Ext.decode(response.responseText);
- if(localJson.exceptionInfo){
- showError(localJson.exceptionInfo);return;
- }
- if(localJson.success){
- showResult('提示','删除成功!');
- grid.loadNewStore(grid,grid.params);
- } else {
- delFailure();
- }
- }
- });
- },
- setColumns:function(columns){
- Ext.Array.each(columns,function(column){
- if(column.xtype=='yncolumn'){
- column.xtype='checkcolumn';
- column.editor= {
- xtype: 'checkbox',
- cls: 'x-grid-checkheader-editor'
- };
- }
- });
- return columns;
- },
- DetailUpdateSuccess:function(grid,btn){
- var departgrid=Ext.getCmp('departgrid');
- departgrid.getStore().load();
- var win=btn.up('window');
- if(win) win.close();
- }
- })
|