123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- /**
- * 修改按钮
- */
- Ext.define('erp.view.core.button.Modify',{
- extend: 'Ext.Button',
- alias: 'widget.erpModifyCommonButton',
- iconCls: 'x-button-icon-modify',
- cls: 'x-btn-gray',
- text: $I18N.common.button.erpModifyCommonButton,
- id:'modifybutton',
- hidden:true,
- style: {
- marginLeft: '10px'
- },
- width: 90,
- initComponent : function(){
- this.callParent(arguments);
- },
- listeners: {
- afterrender:function(btn){
- var form=Ext.getCmp('form');
- var statuscodeField=form.statuscodeField;
- var status = Ext.getCmp(statuscodeField);
- if(status && status.value!= 'ENTERING'){
- btn.show();
- }
- },
- show:function(btn){
- var form = btn.ownerCt.ownerCt;
- Ext.Array.forEach(form.items.items,function(item){
- if(item.modify){
- Ext.getCmp(item.id).setReadOnly(false);
- if(item.xtype && item.xtype != 'checkbox'){
- Ext.getCmp(item.id).setFieldStyle('background:#FFFAFA;color:#515151');
- }
- }
- });
- },
- click:function(btn){
- var form = Ext.getCmp('form'),params = new Object();;
- var s1 =form.FormUtil.checkFormDirty(form);
- if(form.codeField && (Ext.getCmp(form.codeField).value == null || Ext.getCmp(form.codeField).value == '')){
- showError('编号不能为空.');
- return;
- }
- if(s1 == ''){
- showError('还未修改数据.');
- return;
- }
- if(form && form.getForm().isValid()){
- //form里面数据
- var r = form.getForm().getValues(false, true);
- //去除ignore字段
- var keys = Ext.Object.getKeys(r), f;
- Ext.each(keys, function(k){
- f = form.down('#' + k);
- if(f && (f.logic == 'ignore'||!f.modify)) {
- delete r[k];
- }
- });
- if(form.keyField) {
- r[form.keyField] = form.down("#" + form.keyField).getValue();
- }
- Ext.each(Ext.Object.getKeys(r), function(k){//去掉页面非表单定义字段
- if(contains(k, 'ext-', true)){
- delete r[k];
- }
- });
- Ext.MessageBox.confirm('温馨提示', '确认更新?',function(btn){
- if(btn=='yes'){
- params.formStore = unescape(escape(Ext.JSON.encode(r)));
- params.caller=caller;
- form.setLoading(true);//loading...
- Ext.Ajax.request({
- url : basePath + "oa/form/modify.action",
- params: params,
- method : 'post',
- callback : function(options,success,response){
- form.setLoading(false);
- var localJson = new Ext.decode(response.responseText);
- if(localJson.success){
- showMessage('提示', '保存成功!', 1000);
- var u = String(window.location.href);
- window.location.reload();
- }else {
- var str = localJson.exceptionInfo;
- showError(str);return;
- }
- }
- });
- }else{
- return;
- }
- });
-
- }else{
- form.FormUtil.checkForm(form);
- }
- }
- }
- });
|