| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333 |
- Ext.define('erp.view.oa.task.TaskSetGrid',{
- extend: 'Ext.grid.Panel',
- alias: 'widget.TaskGridPanel',
- id: 'taskgrid',
- emptyText : '无数据',
- columnLines : true,
- autoScroll : true,
- requires:['erp.view.core.trigger.DbfindTrigger','erp.view.core.form.FileField'],
- plugins: Ext.create('Ext.grid.plugin.CellEditing', {
- clicksToEdit: 1
- }),
- viewConfig: {
- plugins: {
- ptype: 'gridviewdragdrop',
- dragGroup: 'taskgrid',
- dropGroup: 'taskgrid'
- }
- },
- keyField:'id',
- listeners:{
- itemclick:function(selModel,record){
- if(record.data.handstatus!='已完成') Ext.getCmp('attachfile').setDisabled(false);
- selModel.ownerCt.GridUtil.onGridItemClick(selModel, record);
- }
- },
- activemenu:null,
- columns:[{
- text:'ID',
- dataIndex:'id',
- width:0,
- },{
- cls : "x-grid-header-1",
- text: '任务名称',
- dataIndex: 'name',
- flex:1,
- readOnly:true
- },{
- cls : "x-grid-header-1",
- text: '责任人编号',
- dataIndex: 'resourcecode',
- editable:true,
- editor:{
- xtype:'dbfindtrigger',
- hideTrigger: false,
- name:'resourcecode',
- which:'grid',
- dbfind:'Employee|em_code',
- listeners:{
- focus: function(t){
- t.setHideTrigger(false);
- t.setReadOnly(false);
- var record = Ext.getCmp('taskgrid').selModel.getLastSelected();
- var canextra = record.data['handstatus'];
- if(handstatus == '已完成'){
- showError("当前任务已完成不允许变更!");
- t.setHideTrigger(true);
- t.setReadOnly(true);
- }
- }
- }
- },
- flex: 0.5,
- },{
- cls : "x-grid-header-1",
- text:'责任人',
- dataIndex: 'resourcename',
- flex: 0.5,
- readOnly:true
- },{
- cls : "x-grid-header-1",
- text:'责任人ID',
- dataIndex: 'resourceemid',
- width:0,
- readOnly:true
- },{
- cls:'x-grid-header-1',
- text:'激活方式',
- width:120,
- xtype:'combocolumn',
- dataIndex:'triggertype',
- editor: {
- xtype: 'combo',
- store: {
- fields: ['display', 'value'],
- data :[{
- display:'自动触发',value:'AUTO'
- },{
- display:'提交触发',value:'COMMIT'
- },{
- display:'审核触发',value:'AUDIT'
- },{
- display:'节点触发',value:'NODETRIG'
- }],
- },
- displayField: 'display',
- valueField: 'value',
- queryMode: 'local'
- },
- // editor: {
- // xtype: 'combo',
- // listConfig:{
- // maxHeight:180
- // },
- // queryMode: 'local',
- // displayField: 'display',
- // valueField: 'value',
- // store:Ext.create('Ext.data.Store', {
- // fields: ['display', 'value'],
- // data : [
- // {display:'自动触发', "value": 'AUTO'},
- // {display:'提交触发', "value": 'COMMIT'},
- // {display:'审核触发', "value": 'AUDIT'},
- // {display":'节点触发', "value": 'NODETRIG'}
- // ]
- // }),
- //// onTriggerClick:function(e){
- //// var me=this;
- //// var grid=Ext.getCmp('taskgrid');
- //// var selected=grid.getSelectionModel().getSelection()[0];
- //// if(grid.activemenu==null){
- //// var items=grid.getTiggerProcessNodeItems();
- //// grid.activemenu=Ext.create('Ext.menu.Menu', {
- //// async:false,
- //// id: 'mainMenu',
- //// ownerCt : this.ownerCt,
- //// renderTo:Ext.getBody(),
- //// width:'120',
- //// style: {
- //// overflow: 'visible',
- //// },
- //// defaults:{
- //// handler:grid.setTriggerType
- //// },
- //// items: [{
- //// text: '提交触发'
- //// },{
- //// text: '审核触发'
- //// },{
- //// text: '立即触发'
- //// },{
- //// text:'节点触发',
- //// iconCls:'main-msg',
- //// menu: {
- //// defaults:{
- //// handler:grid.setTriggerType
- //// },
- //// items: items
- //// }
- //// }]
- //// });
- //// }
- //// grid.activemenu.alignTo(e.getTarget() , 'tl-bl?',[-105,0]);
- //// grid.activemenu.show();
- //// if (!me.readOnly && !me.disabled) {
- //// if (me.isExpanded) {
- //// me.collapse();
- //// } else {
- //// me.expand();
- //// }
- //// me.inputEl.focus();
- //// }
- //// }
- // }
- },{
- cls:'x-grid-header-1',
- text:'当前状态',
- logic:'ignore',
- flex:0.3,
- dataIndex:'handstatus',
- readOnly:true,
- renderer:function(val,mata,record){
- if(val=='已完成'){
- return '<img src="' + basePath + 'resource/images/renderer/finishrecord.png" >' +
- '<span style="color:green;padding-left:2px;">' + val + '</span>';
- }else if(val=='已启动'){
- return '<img src="' + basePath + 'resource/images/renderer/doing.png" >' +
- '<span style="color:blue;padding-left:2px;">' + val + '</span>';
- }else {
- return '<img src="' + basePath + 'resource/images/renderer/key1.png">'+'<span style="color:#8B8B83;padding-left:2px ">' + val + '<a/></span>';
- }
- }
- },{
- dataIndex:'attachs',
- text:'附件',
- width:0
- }],
- keyValue:null,
- FlowCaller:null,
- BaseUtil: Ext.create('erp.util.BaseUtil'),
- GridUtil: Ext.create('erp.util.GridUtil'),
- selModel: Ext.create('Ext.selection.CheckboxModel',{
- headerWidth: 0
- }),
- plugins: [Ext.create('Ext.grid.plugin.CellEditing', {
- clicksToEdit: 1
- })],
- requires: ['erp.view.core.grid.YnColumn'],
- tbar: [{
- xtype: 'button',
- text: '载入模板',
- iconCls: 'x-button-icon-save',
- cls: 'x-btn-gray',
- scope:this,
- handler:function (btn){
- var grid=Ext.getCmp('taskgrid'),bool=false;
- Ext.Array.each(grid.store.data.items,function(item){
- if(item.data.id) {
- bool=true;
- return
- }
- });
- if(bool){
- warnMsg('已载入相应的任务模板,是否要重新生成?', function(button){
- if(button == 'yes'){
- btn.ownerCt.ownerCt.loadTaskTemplate();
- }
- });
- }else btn.ownerCt.ownerCt.loadTaskTemplate();
- }
- },{
- id:'attachform',
- xtype:'form',
- layout:'column',
- bodyStyle: 'background: transparent no-repeat 0 0;border: none;',
- items: [{
- xtype: 'filefield',
- name: 'file',
- buttonOnly: true,
- hideLabel: true,
- disabled:true,
- width: 90,
- height: 17,
- id:'attachfile',
- buttonConfig: {
- iconCls: 'x-button-icon-pic',
- text: '上传附件',
- },
- listeners: {
- change: function(field){
- var filename = '';
- if(contains(field.value, "\\", true)){
- filename = field.value.substring(field.value.lastIndexOf('\\') + 1);
- } else {
- filename = field.value.substring(field.value.lastIndexOf('/') + 1);
- }
- field.ownerCt.getForm().submit({
- url: basePath + 'common/upload.action?em_code=' + em_code,
- waitMsg: "正在解析文件信息",
- success: function(fp,o){
- if(o.result.error){
- showError(o.result.error);
- } else {
- Ext.Msg.alert("恭喜", filename + " 上传成功!");
- field.setDisabled(true);
- var record=Ext.getCmp('grid').selModel.lastSelected;
- if(record){
- record.set('attachs',filename+";"+o.result.filepath);
- }
- }
- }
- });
- }
- }}]
- }],
- menu:null,
- store: Ext.create('Ext.data.Store', {
- fields:[{name:'id',type:'int'},{name:'name',type:'string'},{name:'resourcecode',type:'string'},
- {name:'resourcename',type:'string'},{name:'resourceemid',type:'string'},{name:'handstatus',type:'string'},{name:'triggertype',type:'string'}],
- data:[]
- }),
- initComponent : function(){
- this.getGridStore(this,this.keyValue,this.FlowCaller);
- this.callParent(arguments);
- },
- dbfinds:[{
- dbGridField: "em_code",
- field: "resourcecode",
- },{
- dbGridField: "em_name",
- field: "resourcename",
- },{
- dbGridField: "em_id",
- field: "resourceemid",
- }],
- getGridStore:function(grid,keyValue,caller){
- grid.GridUtil.loadNewStore(grid,{
- caller:'ProjectMainTask',
- condition:"sourcecaller='"+caller+"' and sourceid="+keyValue +" order by detno"
- });
- },
- loadTaskTemplate:function(){
- var me=this;
- Ext.Ajax.request({
- url : basePath + 'oa/task/loadTaskTemplate.action',
- params: {
- caller:me.FlowCaller,
- keyValue:me.keyValue,
- _noc:1
- },
- method : 'post',
- callback : function(options,success,response){
- var localJson = new Ext.decode(response.responseText);
- if(localJson.success){
- Ext.create('erp.util.GridUtil').loadNewStore(me,{
- caller:'ProjectMainTask',
- condition:'sourceid='+me.keyValue+" and sourcecaller='"+me.FlowCaller+"'"+" order by detno"
- });
- }
- }
- });
- },
- getTiggerProcessNodeItems:function(){
- var grid=Ext.getCmp('taskgrid');
- var tabpanel=grid.ownerCt;
- var nodegrid=tabpanel.items.items[0];
- var items=new Array();
- Ext.Array.each(nodegrid.store.data.items,function(item){
- items.push({text:item.data.JP_NODENAME});
- });
- return items;
- },
- setTriggerType:function(item){
- var grid=Ext.getCmp('taskgrid');
- var selected=grid.getSelectionModel().getSelection()[0];
- selected.set('triggertype',item.text);
- },
- loadNewStore:function(grid,caller,id){
- grid.GridUtil.loadNewStore(grid,{
- caller:'ProjectMainTask',
- condition:'sourceid='+id+" and sourcecaller='"+caller+"'" +" order by detno"
- });
- }
- });
|