123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403 |
- Ext.QuickTips.init();
- Ext.define('erp.controller.common.MoreFlow', {
- extend : 'Ext.app.Controller',
- requires : ['erp.util.BaseUtil', 'erp.util.FormUtil', 'erp.util.RenderUtil'],
- views : ['common.DeskTop.MoreFlow', 'common.datalist.GridPanel',
- 'common.datalist.Toolbar', 'core.button.VastAudit',
- 'core.button.VastDelete', 'core.button.VastPrint',
- 'core.button.VastReply', 'core.button.VastSubmit',
- 'core.button.ResAudit', 'core.form.FtField', 'core.grid.TfColumn',
- 'core.grid.YnColumn', 'core.trigger.DbfindTrigger',
- 'core.form.FtDateField', 'core.form.FtFindField',
- 'core.form.FtNumberField', 'core.form.MonthDateField',
- 'core.button.ProcessRemind','core.grid.HeaderFilter','common.DeskTop.DeskTabPanel'],
- init : function() {
- var me = this;
- this.BaseUtil = Ext.create('erp.util.BaseUtil');
- this.FormUtil = Ext.create('erp.util.FormUtil');
- this.GridUtil = Ext.create('erp.util.GridUtil');
- this.control({
- '#alreadyLaunch' : {
- cellclick : function(view, td, colIdx, record, tr, rowIdx, e) {
- var field = view.ownerCt.columns[colIdx].dataIndex;
- if (field == 'jp_codevalue') {
- this.onCellItemClick(record);
- };
- }
- },
- '#toDo' : {
- itemclick: this.onGridItemClick
- },
- '#alreadyDo':{
- itemclick: this.onAlreadyDoItemClick
- },
- 'checkbox[name=only_todo]':{
- change:function(field,newvalue){
- var grid=Ext.getCmp('alreadyLaunch');
- if(newvalue){
- grid.defaultCondition=' jp_launcherid=\''+ em_code + '\' and jp_status=\'待审批\'';
- page=1;
- grid.getCount();
- }else {
- grid.defaultCondition=' jp_launcherid=\''+ em_code + '\'';
- page=1;
- grid.getCount();
- }
- }
- },
- 'erpProcessRemindButton' : {
- click : function(btn) {
- var multiselected = [];
- var items = Ext.getCmp('alreadyLaunch').selModel.getSelection();
- Ext.each(items, function(item, index) {
- if (item.data['jp_status'] == '待审批')
- multiselected.push(item);
- });
- var records = Ext.Array.unique(multiselected);
- if (records.length > 0) {
- var params = new Object();
- params.caller = 'Process!Remind';
- var data = new Array();
- var bool = false;
- Ext.each(records, function(record, index) {
- var o = new Object();
- o['jp_nodeId'] = record.data['jp_nodeId'];
- o['dealpersoncode'] = record.data['jp_nodedealman'];
- data.push(o);
- bool = true;
- });
- if (bool && !me.dealing) {
- params.data = unescape(Ext.JSON.encode(data)
- .replace(/\\/g, "%"));
- me.dealing = true;
- Ext.getCmp('alreadyLaunch').setLoading(true);// loading...
- Ext.Ajax.request({
- url : basePath + 'common/remindProcess.action',
- params : params,
- method : 'post',
- callback : function(options, success, response) {
- Ext.getCmp('alreadyLaunch').setLoading(false);
- me.dealing = false;
- var localJson = new Ext.decode(response.responseText);
- if (localJson.exceptionInfo) {
- var str = localJson.exceptionInfo;
- if (str.trim().substr(0, 12) == 'AFTERSUCCESS') {
- str = str.replace('AFTERSUCCESS',
- '');
- multiselected = [];
- }
- showError(str);
- return;
- }
- if (localJson.success) {
- if (localJson.log) {
- showMessage("提示", localJson.log);
- }
- multiselected = [];
- }
- }
- });
- } else {
- showError("没有需要处理的数据!");
- }
- } else {
- showError("请勾选待审批的明细!");
- }
- }
- }
- });
- },
- onGridItemClick: function(selModel, record){//待办
- if(record.get('TYPECODE')=='procand'){
- Ext.getCmp('toDo').url='jsps/common/jtaketask.jsp';
- }else if(record.get('TYPECODE')=='unprocess'){
- Ext.getCmp('toDo').url='jsps/common/jprocessDeal.jsp?_do=1';
- }else if(record.get('TYPECODE')=='process'){
- Ext.getCmp('toDo').url='jsps/common/jprocessDeal.jsp';
- }
- Ext.getCmp('desktabpanel').onGridItemClick(selModel, record);
- },
-
- onAlreadyDoItemClick: function(selModel, record){//已处理
- Ext.getCmp('desktabpanel').onGridItemClick(selModel, record);
- },
-
- onCellItemClick : function(record) {// 已发起
- var id = record.data['jp_keyvalue'];
- Ext.Ajax.request({
- url : basePath + 'common/getJProcessByForm.action',
- async : false,
- params : {
- caller : record.data['jp_caller'],
- keyValue : id,
- _noc : 1
- },
- method : 'post',
- callback : function(options, success, response) {
- var localJson = new Ext.decode(response.responseText);
- if (localJson.exceptionInfo) {
- showError(localJson.exceptionInfo);
- return;
- }
- if (localJson.node && localJson.node != -1) {
- // 再根据nodeId调取流程信息
- if (Ext.getCmp('win-flow' + id)) {
- Ext.getCmp('win-flow' + id).show();
- } else {
- var grid = Ext.create(
- "erp.view.common.JProcess.GridPanel", {
- anchor : '100% 80%',
- nodeId : localJson.node
- });
- var form = Ext.create('Ext.form.Panel', {
- layout : 'column',
- defaultType : 'textfield',
- anchor : '100% 20%',
- bodyStyle : 'background:#f1f1f1;',
- fieldDefaults : {
- columnWidth : 0.33,
- readOnly : true,
- cls : "form-field-allowBlank",
- fieldStyle : 'background:#f0f0f0;border: 1px solid #8B8970;'
- },
- items : [{
- id : 'jp_name',
- name : 'jp_name',
- fieldLabel : '流程名称',
- columnWidth : 0.33
- }, {
- columnWidth : 0.33,
- xtype : 'textfield',
- fieldLabel : '发起时间',
- name : 'jp_launchTime',
- id : 'jp_launchTime',
- readOnly : true,
- fieldStyle : 'background:#f0f0f0;border: 1px solid #8B8970;'
- }, {
- fieldLabel : '发起人',
- columnWidth : 0.33,
- xtype : 'textfield',
- id : 'jp_launcherName',
- name : 'jp_launcherName',
- readOnly : true,
- fieldStyle : 'background:#f0f0f0;border: 1px solid #8B8970;'
- }, {
- fieldLabel : '节点名称',
- id : 'jp_nodeName',
- name : 'jp_nodeName',
- xtype : 'textfield',
- readOnly : true,
- fieldStyle : 'background:#f0f0f0;border: 1px solid #8B8970;'
- }, {
- fieldLabel : '处理人',
- id : 'jp_nodeDealMan',
- name : 'jp_nodeDealMan',
- xtype : 'textfield',
- fieldStyle : 'background:#f0f0f0;border: 1px solid #8B8970;',
- readOnly : true,
- listeners : {
- change : function(field) {
- var em = Ext
- .getCmp('jp_nodeDealMan')
- .getValue();
- var btn = Ext
- .getCmp('dealbutton');
- if (em != em_code)
- btn.setDisabled(true);
- }
- }
- }, {
- fieldLabel : '审批状态',
- id : 'jp_status',
- name : 'jp_status',
- xtype : 'textfield',
- fieldStyle : 'background:#f0f0f0;border: 1px solid #8B8970;',
- readOnly : true
- }],
- loader : {
- url : basePath + 'common/getCurrentNode.action',
- renderer : function(loader, response, active) {
- var res = Ext.decode(response.responseText);
- if (res.info.currentnode.jp_nodeDealMan) {
- res.info.currentnode.jp_nodeDealMan = res.info.dealmanname
- + "("
- + res.info.currentnode.jp_nodeDealMan
- + ")";
- } else
- res.info.currentnode.jp_nodeDealMan = res.info.dealmanname
- + "("
- + res.info.currentnode.jp_candidate
- + ")";
- res.info.currentnode.jp_launchTime = Ext.Date
- .format(
- new Date(res.info.currentnode.jp_launchTime),
- 'Y-m-d H:i:s');
- this.target.getForm()
- .setValues(res.info.currentnode);
- return true;
- },
- autoLoad : true,
- params : {
- jp_nodeId : localJson.node,
- _noc : 1
- }
- },
- buttonAlign : 'center',
- buttons : [{
- text : $I18N.common.button.erpFlowButton,
- iconCls : 'x-button-icon-scan',
- cls : 'x-btn-gray',
- id : 'dealbutton',
- handler : function(btn) {
- me.FormUtil.onAdd(caller + '_flow', '流程处理',
- 'jsps/common/jprocessDeal.jsp?formCondition=jp_nodeidIS'
- + localJson.node);
- }
- }, {
- text : '关 闭',
- iconCls : 'x-button-icon-close',
- cls : 'x-btn-gray',
- handler : function() {
- Ext.getCmp('win-flow' + id).close();
- }
- }]
- });
- Ext.create('Ext.window.Window', {
- id : 'win-flow' + id,
- title : '<span style="color:#CD6839;">流程处理情况</span>',
- iconCls : 'x-button-icon-set',
- closeAction : 'destroy',
- height : "100%",
- width : "90%",
- maximizable : true,
- buttonAlign : 'center',
- layout : 'fit',
- items : [{
- xtype : 'tabpanel',
- frame : true,
- layout : 'fit',
- items : [{
- title : '处理明细',
- layout : 'anchor',
- frame : true,
- items : [form, grid]
- }, {
- title : '节点信息',
- items : [{
- tag : 'iframe',
- style : {
- background : '#f0f0f0',
- border : 'none'
- },
- frame : true,
- border : false,
- layout : 'fit',
- height : window.innerHeight
- * 0.9,
- iconCls : 'x-tree-icon-tab-tab',
- html : '<iframe id="iframe_maindetail_" src="'
- + basePath
- + 'workfloweditor/workfloweditorscan.jsp?jdId='
- + localJson.jd
- + "&type="
- + localJson.type
- + "&nodeId="
- + localJson.node
- + '" height="100%" width="100%" frameborder="0" scrolling="no"></iframe>'
- }]
- }, {
- title : '知会信息',
- frame : true,
- layout : 'anchor',
- items : [{
- xtype : 'gridpanel',
- anchor : '100% 100%',
- columnLines : true,
- store : Ext.create(
- 'Ext.data.Store', {
- fields : [
- 'jn_notify',
- 'jn_notifyname',
- 'jn_nodename',
- {
- name : 'jn_type',
- type : 'string'
- },
- 'jn_man', {
- name : 'jn_date',
- type : 'date'
- }]
- }),
- columns : [{
- text : '知会编号',
- dataIndex : 'jn_notify',
- width : 120
- }, {
- text : '知会个人/岗位',
- dataIndex : 'jn_notifyname',
- width : 120
- }, {
- text : '设置节点',
- dataIndex : 'jn_nodename',
- width : 120
- }, {
- text : '知会类型',
- dataIndex : 'jn_type',
- renderer : function(
- val) {
- var res = val;
- if (val == 'people')
- return '个人';
- else
- return '岗位';
- },
- width : 120
- }, {
- text : '设置人',
- dataIndex : 'jn_man',
- width : 120
- }, {
- text : '设置时间',
- dataIndex : 'jn_date',
- xtype : "datecolumn",
- format : "Y-m-d H:i:s",
- flex : 1
- }]
- }],
- listeners : {
- activate : function(tab) {
- var grid = tab.items.items[0];
- var gridUtil = Ext
- .create('erp.util.GridUtil');
- gridUtil.loadNewStore(grid,
- {
- caller : 'JProcessNotify',
- condition : "jn_processinstanceid='"
- + localJson.instanceId
- + "'"
- });
- }
- }
- },{
- title:'历史处理明细',
- layout:'anchor',
- frame:true,
- items:[Ext.create("erp.view.common.JProcess.AllHistoryGridPanel",{
- anchor: '100% 100%' ,
- nodeId: localJson.node
- })]
- }]
- }]
- }).show();
- }
- } else {
- showMessage("提示", "当前单据无流程处理!");
- }
- }
- });
- }
- });
|