123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491 |
- Ext.QuickTips.init();
- Ext.define('erp.controller.oa.custom.SingleForm', {
- extend: 'Ext.app.Controller',
- FormUtil: Ext.create('erp.util.FormUtil'),
- GridUtil: Ext.create('erp.util.GridUtil'),
- BaseUtil: Ext.create('erp.util.BaseUtil'),
- views:[
- 'oa.custom.SingleForm','core.form.Panel','core.form.CheckBoxGroup',
- 'core.button.UUListener','core.button.Sync','core.form.MultiField','core.form.FileField','core.button.FormBook',
- 'core.button.Add','core.button.Save','core.button.Close','core.button.Update','core.button.Delete','core.button.DeleteDetail',
- 'core.trigger.TextAreaTrigger','core.trigger.DbfindTrigger','core.toolbar.Toolbar','core.trigger.MultiDbfindTrigger','core.button.Submit','core.button.Print','core.button.Upload','core.button.ResAudit',
- 'core.button.Audit','core.button.Close','core.button.Delete','core.button.Update','core.button.DeleteDetail','core.button.ResSubmit','core.button.PrintByCondition',
- 'core.button.Scan','core.button.Banned','core.button.ResBanned','core.form.MultiField','core.button.Confirm','core.button.ResConfirm','core.button.Sync',
- 'core.grid.TfColumn','core.button.DbfindButton','core.button.ComboButton', 'core.form.YnField','core.form.ConDateHourMinuteField','core.form.DateHourMinuteField',
- 'core.grid.ItemGrid','core.button.PrintPDF','core.form.FtDateField','core.button.SubmitApproves','core.button.ResSubmitApproves','core.button.Check','core.form.ColorField',
- 'core.form.CheckBoxGroup','core.form.RadioGroup','core.button.CallProcedureByConfig','core.button.Modify','core.form.MultiField1'
- ],
- init:function(){
- var me = this;
- this.control({
- 'erpSubmitApprovesButton':{
- afterrender:function(btn){
- var status = Ext.getCmp(me.getForm(btn).statuscodeField);
- var approvestatus=Ext.getCmp("ct_approvestatuscode");
- if(!((status && status.value == 'AUDITED')&&(approvestatus&&approvestatus.value =='ENTERING'))){
- btn.hide();
- }
- },
- click:function(btn){
- this.SubmitApproves(Ext.getCmp(me.getForm(btn).keyField).value);
- }
-
-
- },
- 'erpResSubmitApprovesButton':{
- afterrender:function(btn){
- var status=Ext.getCmp("ct_approvestatuscode");
- if(status && status.value != 'COMMITED'){
- btn.hide();
- }
- },
- click:function(btn){
- this.ResSubmitApproves(Ext.getCmp(me.getForm(btn).keyField).value);
-
- }
-
-
- },
- 'erpModifyCommonButton':{
- afterrender:function(btn){
- var status=Ext.getCmp("CT_STATUSCODE");
- if(status && status.value != 'AUDITED'){
- btn.hide();
- }
- }
- },
- 'erpCheckButton':{
- afterrender:function(btn){
- var status=Ext.getCmp("ct_approvestatuscode");
- if(status && status.value != 'COMMITED'){
- btn.hide();
- }
- },
- click:function(btn){
- me.FormUtil.onCheck(Ext.getCmp(me.getForm(btn).keyField).value);
- }
- },
- 'dbfindtrigger[name=custlinkman]':{//客户服务单据使用
- beforetrigger: function(field) {
- var custcode = Ext.getCmp('custcode');
- if(custcode&&custcode.value!=''){
- field.dbBaseCondition = " ct_cucode = '" +custcode.value+"'";
- }else if(custcode){
- showError('请先选择客户');
- return false;
- }
- }
- },
- 'erpSaveButton': {
- click: function(btn){
- var form = me.getForm(btn);
- if(!Ext.isEmpty(form.codeField) && Ext.getCmp(form.codeField) && (
- Ext.getCmp(form.codeField).value == null || Ext.getCmp(form.codeField).value == '')){
- me.BaseUtil.getRandomNumber(caller);//自动添加编号
- }
- this.FormUtil.beforeSave(this);
- }
- },
- 'erpDeleteButton' : {
- click: function(btn){
- me.FormUtil.onDelete(Ext.getCmp(me.getForm(btn).keyField).value);
- }
- },
- 'erpUpdateButton': {
- click: function(btn){
- this.FormUtil.onUpdate(this);
- }
- },
- 'erpAddButton': {
- click: function(btn){
- var title = btn.ownerCt.ownerCt.title || ' ';
- var url = window.location.href;
- url = url.replace(basePath, '');
- url = url.substring(0, url.lastIndexOf('formCondition')-1);
- me.FormUtil.onAdd('add' + caller, title, url);
- }
- },
- 'erpCloseButton': {
- click:function(btn){
- me.FormUtil.beforeClose(me);
- }
- },
- 'erpSubmitButton': {
- afterrender: function(btn){
- var status = Ext.getCmp(me.getForm(btn).statuscodeField);
- if(status && status.value != 'ENTERING'){
- btn.hide();
- }
- },
- click: function(btn){
- me.FormUtil.onSubmit(Ext.getCmp(me.getForm(btn).keyField).value);
- }
- },
- 'erpResSubmitButton': {
- afterrender: function(btn){
- var status = Ext.getCmp(me.getForm(btn).statuscodeField);
- if(status && status.value != 'COMMITED'){
- btn.hide();
- }
- },
-
- click: function(btn){
- me.FormUtil.onResSubmit(Ext.getCmp(me.getForm(btn).keyField).value);
- }
- },
- 'erpAuditButton': {
- afterrender: function(btn){
- var status = Ext.getCmp(me.getForm(btn).statuscodeField);
- if(status && status.value != 'COMMITED'){
- btn.hide();
- }
- },
- click: function(btn){
- me.FormUtil.onAudit(Ext.getCmp(me.getForm(btn).keyField).value);
- }
- },
- 'erpBannedButton': {
- afterrender:function(btn){
- var status = Ext.getCmp(me.getForm(btn).statuscodeField);
- if(status && status.value != 'CANUSE'){
- btn.hide();
- }
- },
- click: function(btn){
- var crid = Ext.getCmp(me.getForm(btn).keyField).value;
- me.FormUtil.onBanned(crid);
- }
- },
- 'erpResBannedButton': {
- afterrender:function(btn){
- var status = Ext.getCmp(me.getForm(btn).statuscodeField);
- if(status && status.value != 'BANNED'){
- btn.hide();
- }
- },
- click: function(btn){
- var crid = Ext.getCmp(me.getForm(btn).keyField).value;
- me.FormUtil.onResBanned(crid);
- }
- },
- 'erpResAuditButton': {
- afterrender: function(btn){
- var status = Ext.getCmp(me.getForm(btn).statuscodeField);
- var approvestatus=Ext.getCmp("ct_approvestatuscode");
- if(approvestatus){
- if((status && status.value == 'AUDITED')&&(approvestatus&&approvestatus.value=='ENTERING')){
-
- }else{
- btn.hide();
- }
- }else{
- if((status && status.value != 'AUDITED')||(Ext.getCmp('ct_confirmstatus')&&Ext.getCmp('ct_confirmstatus').value=='已确认')){
- btn.hide();
- }
- }
-
-
-
-
- },
- click: function(btn){
- me.FormUtil.onResAudit(Ext.getCmp(me.getForm(btn).keyField).value);
- }
- },
- 'erpPrintButton': {
- click: function(btn){
- var condition = '{CUSTOMTABLE.CT_ID}=' + Ext.getCmp(me.getForm(btn).keyField).value + '';
- me.FormUtil.onwindowsPrint(Ext.getCmp(me.getForm(btn).keyField).value,'',condition);
- }
- },
- 'dbfindtrigger[name=CT_VARCHAR500_1]': {
- afterrender: function(f){
- if(caller=='Testapply'){
- f.onTriggerClick = function(){
- me.getModuleTree();
- };
- f.autoDbfind = false;
- }
- }
- },
- 'erpConfirmButton': {
- afterrender: function(btn){
- var status = Ext.getCmp(me.getForm(btn).statuscodeField);
- if((status && status.value != 'AUDITED')||(Ext.getCmp('ct_confirmstatus')&&Ext.getCmp('ct_confirmstatus').value=='已确认')){
- btn.hide();
- }
- },
- click: function(btn){
- var crid = Ext.getCmp(me.getForm(btn).keyField).value;
- me.FormUtil.onConfirm(crid);
- }
- },
- 'erpResConfirmButton': {
- afterrender: function(btn){
- var status = Ext.getCmp(me.getForm(btn).statuscodeField);
- if((status && status.value != 'AUDITED')||(Ext.getCmp('ct_confirmstatus')&&Ext.getCmp('ct_confirmstatus').value!='已确认')){
- btn.hide();
- }
- },
- click: function(btn){
- var crid = Ext.getCmp(me.getForm(btn).keyField).value;
- me.onResConfirm(crid);
-
- }
- },
- 'treepanel': {
- itemmousedown: function(selModel, record){
- var tree = selModel.ownerCt;
- me.loadTree(tree, record);
- }
- },
- });
- },
- getForm: function(btn){
- return btn.ownerCt.ownerCt;
- },
- onChange: function(field, value){
- field.setValue(value);
- if(value == 'C'){
-
- }
- },
- print:function(btn){
- var form=Ext.getCmp('form');
- var oldstr=window.document.body.innerHTML;
- Ext.each(btn.ownerCt.items.items,function(b){
- b.hide();
- });
- document.getElementById('form').style.height='auto';
- document.getElementById('form-body').style.height='auto';
- var inputs=document.getElementsByTagName('input');
- var item_f=Ext.getCmp('form').items.items;
- var bdhtml=window.document.body.innerHTML;
- winname = window.open('', "_blank",'');
- winname.document.title = '项目确认书打印'+Ext.getCmp('CT_ID').value;
- winname.document.body.innerHTML='<link rel="stylesheet" ' +
- 'href="'+basePath+'resource/ext/resources/css/ext-all-gray.css" type="text/css"></link>' +
- '<link rel="stylesheet" href="'+basePath+'resource/css/main.css" type="text/css"></link>' +
- '<div>'+bdhtml+'</div>';
- Ext.each(item_f,function(item){
- if(item.xtype=='combo'||item.xtype=='erpYnField'){
- winname.document.getElementById(item.name+'-bodyEl').getElementsByTagName('input')[1].value=item.rawValue;
- }
- if(item.xtype=='textfield'||item.xtype=='numberfield'||item.xtype=='dbfindtrigger'){
- winname.document.getElementById(item.name+'-bodyEl').getElementsByTagName('input')[0].value=item.value;
- }
- if(item.xtype=='datefield'){
- winname.document.getElementById(item.name+'-bodyEl').getElementsByTagName('input')[0].value=item.rawValue;
- }
- if(item.xtype=='textareafield'){
- winname.document.getElementById(item.name+'-bodyEl').getElementsByTagName('textarea')[0].value=item.rawValue;
- }
- if(item.xtype=='multifield'&&item.logic!=''){
- winname.document.getElementById(item.name+'-bodyEl').getElementsByTagName('input')[0].value=item.value;
- winname.document.getElementById(item.secondname+'-bodyEl').getElementsByTagName('input')[0].value=item.secondvalue;
-
- }
- });
- winname.print();
- winname.close();
- location.reload();
- },
- save: function(){
- //默认流程CAllER 和页面caller一致;
- var flowcaller=Ext.getCmp('fo_flowcaller');
- if(!flowcaller.value){
- flowcaller.setValue(Ext.getCmp('fo_caller').value);
- }
- var grid = Ext.getCmp('grid');
- var dd = grid.getChange();
- if(dd.added.length > 0) {
- var form = Ext.getCmp('form');
- this.FormUtil.getSeqId(form);
- this.FormUtil.save(form.getValues(), Ext.encode(dd.added));
- } else {
- showError('请至少配置一个有效字段!');
- }
-
- },
- update: function(){
- var grid = Ext.getCmp('grid'), items = grid.store.data.items;
- var field = Ext.getCmp('fo_table'), id = Ext.getCmp('fo_id').value;
- Ext.Array.each(items, function(item){
- if(item.data['fd_field'] != null && item.data['fd_field'] != ''){
- item.set('fd_table', field.value);
- item.set('fd_foid', id);
- }
- });
- var me = this;
- if(! me.FormUtil.checkForm()){
- return;
- }
- var dd = grid.getChange();
- me.FormUtil.update(Ext.getCmp('form').getValues(), Ext.encode(dd.added),
- Ext.encode(dd.updated), Ext.encode(dd.deleted));
- },
- getModuleTree: function(){
- var w = Ext.create('Ext.Window',{
- title: '查找模板',
- height: "100%",
- width: "80%",
- maximizable : true,
- buttonAlign : 'center',
- layout : 'anchor',
- items: [{
- anchor: '100% 100%',
- xtype: 'treepanel',
- rootVisible: false,
- useArrows: true,
- store: Ext.create('Ext.data.TreeStore', {
- root : {
- text: 'root',
- id: 'root',
- expanded: true
- }
- })
- }],
- buttons : [{
- text : '关 闭',
- iconCls: 'x-button-icon-close',
- cls: 'x-btn-gray',
- handler : function(btn){
- btn.ownerCt.ownerCt.close();
- }
- },{
- text: '确定',
- iconCls: 'x-button-icon-confirm',
- cls: 'x-btn-gray',
- handler: function(btn){
- var t = btn.ownerCt.ownerCt.down('treepanel');
- if(!Ext.isEmpty(t.title)) {
- Ext.getCmp('CT_VARCHAR500_1').setValue(t.title);
- }
- btn.ownerCt.ownerCt.close();
- }
- }]
- });
- w.show();
- this.loadTree(w.down('treepanel'), null);
- },
- loadTree: function(tree, record){
- var pid = 0;
- if(record) {
- if (record.get('leaf')) {
- return;
- } else {
- if(record.isExpanded() && record.childNodes.length > 0){
- record.collapse(true, true);//收拢
- return;
- } else {
- if(record.childNodes.length != 0){
- record.expand(false, true);//展开
- return;
- }
- }
- }
- pid = record.get('id');
- }
- tree.setLoading(true);
- Ext.Ajax.request({
- url : basePath + 'common/lazyTree.action?_noc=1',
- params: {
- parentId: pid,
- condition: 'sn_using=1'
- },
- callback : function(options,success,response){
- tree.setLoading(false);
- var res = new Ext.decode(response.responseText);
- if(res.tree){
- if(record) {
- record.appendChild(res.tree);
- record.expand(false,true);//展开
- tree.setTitle(record.getPath('text', '/').replace('root', '').replace('//', '/'));
- } else {
- tree.store.setRootNode({
- text: 'root',
- id: 'root',
- expanded: true,
- children: res.tree
- });
- }
- } else if(res.exceptionInfo){
- showError(res.exceptionInfo);
- }
- }
- });
- },
- onResConfirm: function(id){
- var form = Ext.getCmp('form');
- Ext.Ajax.request({
- url : basePath + form.resConfirmUrl,
- params: {
- id: id,
- caller:caller
- },
- method : 'post',
- callback : function(options,success,response){
- var localJson = new Ext.decode(response.responseText);
- if(localJson.success){
- window.location.reload();
- }
- if (localJson.exceptionInfo) {
- showError(localJson.exceptionInfo);
- }
- }
- });
- },
- SubmitApproves:function(id){
- var me = this;
- var form = Ext.getCmp('form');
- Ext.Ajax.request({
- url : basePath + form.submitApprovesUrl,
- params: {
- id: id
- },
- method : 'post',
- callback : function(options,success,response){
- var localJson = new Ext.decode(response.responseText);
- if(localJson.success){
- me.FormUtil.getMultiAssigns(id, caller+'!Confirm',form);
- } else {
- if(localJson.exceptionInfo){
- var str = localJson.exceptionInfo;
- if(str.trim().substr(0, 12) == 'AFTERSUCCESS'){//特殊情况:操作成功,但是出现警告,允许刷新页面
- str = str.replace('AFTERSUCCESS', '');
- me.FormUtil.getMultiAssigns(id, caller+'!Confirm', form,me.FormUtil.showAssignWin);
- }
- showMessage("提示", str);
- }
- }
- }
- });
-
-
- },
- ResSubmitApproves:function(id){
- var me = this;
- var form = Ext.getCmp('form');
- Ext.Ajax.request({
- url : basePath + form.resSubmitApprovesUrl,
- params: {
- id: id
- },
- method : 'post',
- callback : function(options,success,response){
- var localJson = new Ext.decode(response.responseText);
- if(localJson.success){
- window.location.reload();
- }
- if (localJson.exceptionInfo) {
- showError(localJson.exceptionInfo);
- }
- }
- });
-
-
- }
-
-
- });
|