Эх сурвалжийг харах

超时重新登录逻辑/请求异常统一处理

zhuth 7 жил өмнө
parent
commit
c28dd1941e
52 өөрчлөгдсөн 464 нэмэгдсэн , 264 устгасан
  1. 23 5
      frontend/saas-web/app/util/BaseUtil.js
  2. 4 8
      frontend/saas-web/app/util/FormUtil.js
  3. 14 18
      frontend/saas-web/app/util/ViewUtil.js
  4. 23 22
      frontend/saas-web/app/view/auth/LoginController.js
  5. 103 0
      frontend/saas-web/app/view/auth/ReLogin.js
  6. 15 0
      frontend/saas-web/app/view/auth/ReLogin.scss
  7. 96 0
      frontend/saas-web/app/view/auth/ReLoginController.js
  8. 18 20
      frontend/saas-web/app/view/core/base/GridPanel.js
  9. 18 20
      frontend/saas-web/app/view/core/form/FormPanelController.js
  10. 2 3
      frontend/saas-web/app/view/core/form/field/DetailGridField.js
  11. 8 7
      frontend/saas-web/app/view/core/query/QueryGridPanel.js
  12. 2 3
      frontend/saas-web/app/view/document/address/DataList.js
  13. 3 3
      frontend/saas-web/app/view/document/address/DatalistController.js
  14. 3 3
      frontend/saas-web/app/view/document/bom/FormController.js
  15. 4 5
      frontend/saas-web/app/view/document/customer/FormController.js
  16. 2 3
      frontend/saas-web/app/view/document/employee/DataList.js
  17. 2 3
      frontend/saas-web/app/view/document/employee/Window.js
  18. 4 5
      frontend/saas-web/app/view/document/kind/ChildForm.js
  19. 2 3
      frontend/saas-web/app/view/document/kind/KindController.js
  20. 4 6
      frontend/saas-web/app/view/document/product/FormController.js
  21. 4 6
      frontend/saas-web/app/view/document/vendor/FormController.js
  22. 2 3
      frontend/saas-web/app/view/document/warehouse/DataList.js
  23. 2 3
      frontend/saas-web/app/view/document/warehouse/Window.js
  24. 2 2
      frontend/saas-web/app/view/home/Home.js
  25. 6 6
      frontend/saas-web/app/view/home/HomeModel.js
  26. 2 3
      frontend/saas-web/app/view/money/payBalance/FormPanelController.js
  27. 2 3
      frontend/saas-web/app/view/money/recBalance/FormPanelController.js
  28. 0 4
      frontend/saas-web/app/view/money/verification/FormPanel.js
  29. 15 17
      frontend/saas-web/app/view/money/verification/FormPanelController.js
  30. 2 2
      frontend/saas-web/app/view/purchase/purchase/FormPanel.js
  31. 2 3
      frontend/saas-web/app/view/purchase/purchase/FormPanelController.js
  32. 2 3
      frontend/saas-web/app/view/purchase/purchaseIn/FormPanelController.js
  33. 4 6
      frontend/saas-web/app/view/sale/sale/FormPanelController.js
  34. 2 3
      frontend/saas-web/app/view/sale/saleOut/FormPanelController.js
  35. 8 11
      frontend/saas-web/app/view/stock/inventory/EditDataList.js
  36. 2 3
      frontend/saas-web/app/view/stock/make/FormPanelController.js
  37. 2 3
      frontend/saas-web/app/view/sys/account/AddWindow.js
  38. 4 5
      frontend/saas-web/app/view/sys/account/DataList.js
  39. 2 3
      frontend/saas-web/app/view/sys/account/EditWindow.js
  40. 2 2
      frontend/saas-web/app/view/sys/baseconfig/FormPanel.js
  41. 2 2
      frontend/saas-web/app/view/sys/baseconfig/FormPanelController.js
  42. 2 2
      frontend/saas-web/app/view/sys/config/FormPanel.js
  43. 4 5
      frontend/saas-web/app/view/sys/config/FormPanelController.js
  44. 4 6
      frontend/saas-web/app/view/sys/finish/DataList.js
  45. 2 3
      frontend/saas-web/app/view/sys/invitation/DataList.js
  46. 2 3
      frontend/saas-web/app/view/sys/invitation/EditWindow.js
  47. 6 5
      frontend/saas-web/app/view/sys/maxnumbers/DataList.js
  48. 2 3
      frontend/saas-web/app/view/sys/power/FormPanelController.js
  49. 2 3
      frontend/saas-web/app/view/sys/power/TreePanel.js
  50. 2 3
      frontend/saas-web/app/view/sys/power/Window.js
  51. 17 1
      frontend/saas-web/overrides/data/Connection.js
  52. 2 0
      frontend/saas-web/overrides/grid/Panel.js

+ 23 - 5
frontend/saas-web/app/util/BaseUtil.js

@@ -163,13 +163,21 @@ Ext.define('saas.util.BaseUtil', {
                         if (res.success) {
                             return resolve(res);
                         } else {
-                            console.error('failure message: ' + res.message);
-                            return reject(res);
+                            res.message = res.message || '未知错误';
+                            throw new Error(res.message);
                         }
                     },
                     failure: function (response, opts) {
-                        console.error('server-side failure.', response);
-                        return reject(response);
+                        var res;
+
+                        try{
+                            res = JSON.parse(response.responseText);
+                        }catch(e) {
+                            res = response.responseJson || {};
+                        }
+                        console.error('ajax request failure: ', res);
+                        res.message = res.message || '未知错误';
+                        throw new Error(res.message);
                     }
                 });
             })
@@ -191,6 +199,16 @@ Ext.define('saas.util.BaseUtil', {
             var xr = (new Array(arr[1].length > decimalPrecision ? decimalPrecision : arr[1].length)).fill('0');
             var format = f1 + '.' + xr.join('');
             return Ext.util.Format.number(value, format);
-        }
+        },
+
+        showLoginWin: function() {
+            var win = Ext.getCmp('relogin');
+
+            if(!win) {
+                win = Ext.create('saas.view.auth.ReLogin');
+            }
+
+            win.show();
+        },
     }
 });

+ 4 - 8
frontend/saas-web/app/util/FormUtil.js

@@ -37,9 +37,6 @@ Ext.define('saas.util.FormUtil', {
             .then(function() {
                 me.loadData(form);
             })
-            .catch(function(response) {
-                console.error(response);
-            });
 
         },
 
@@ -428,10 +425,9 @@ Ext.define('saas.util.FormUtil', {
                         form.fireEvent('load', form, o);
                     }
                 })
-                .catch(function(response) {
+                .catch(function(e) {
                     form.setLoading(false);
-                    console.error(response);
-                    saas.util.BaseUtil.showErrorToast(response.message);
+                    saas.util.BaseUtil.showErrorToast('读取单据数据错误: ' + e.message);
                 });
             }else{
                 //取后台编号
@@ -491,10 +487,10 @@ Ext.define('saas.util.FormUtil', {
                         form.initFormData(formData);
                         form.fireEvent('load', form, formData);
                     }
-                }).catch(function(res) {
+                }).catch(function(e) {
                     form.clearDirty();
                     form.setLoading(false);
-                    saas.util.BaseUtil.showErrorToast('请求单据编号错误: ' + res.message);
+                    saas.util.BaseUtil.showErrorToast('请求单据编号错误: ' + e.message);
                 })
             }
         }

+ 14 - 18
frontend/saas-web/app/util/ViewUtil.js

@@ -18,15 +18,11 @@ Ext.define('saas.util.ViewUtil', {
                     async: false
                 })
                 .then(function (res) {
-                    if (res.success) {
-                        let cfg = me.decodeViewConfig(res.data);
-                        return cfg;
-                    } else {
-                        return null
-                    }
+                    let cfg = me.decodeViewConfig(res.data);
+                    return cfg;
                 })
-                .catch(function (response) {
-                    saas.util.BaseUtil.showErrorToast('读取自定义配置失败:' + response.message);
+                .catch(function (e) {
+                    saas.util.BaseUtil.showErrorToast('读取界面配置失败:' + e.message);
                     return null;
                 });
         },
@@ -49,16 +45,16 @@ Ext.define('saas.util.ViewUtil', {
             let me = this;
 
             return me.getViewConfig(viewName)
-            .then(function (cfg) {
-                let newColumns = [];
+                .then(function (cfg) {
+                    let newColumns = [];
 
-                newColumns = me.initColumnItems(columns);
-                if (cfg) {
-                    return me.applyColumnConfig(newColumns, cfg['columns']);
-                } else {
-                    return newColumns;
-                }
-            });
+                    newColumns = me.initColumnItems(columns);
+                    if (cfg) {
+                        return me.applyColumnConfig(newColumns, cfg['columns']);
+                    } else {
+                        return newColumns;
+                    }
+                });
         },
 
         /**
@@ -67,7 +63,7 @@ Ext.define('saas.util.ViewUtil', {
         initColumnItems: function (columns) {
             columns = Ext.isArray(columns) ? columns : [];
             let colCount = 1,
-            newColumns = [];
+                newColumns = [];
 
             Ext.Array.each(columns, function (c, j) {
                 let col = Object.assign({}, c);

+ 23 - 22
frontend/saas-web/app/view/auth/LoginController.js

@@ -2,22 +2,23 @@ Ext.define('saas.view.auth.LoginController', {
     extend: 'Ext.app.ViewController',
     alias: 'controller.login',
 
-    init: function() {
+    init: function () {
         this.callParent(arguments);
     },
 
-    onLoginButton: function() {
-        var me = this, view = me.getView(),
+    onLoginButton: function () {
+        var me = this,
+            view = me.getView(),
             form = me.lookup('authdialog'),
             values = form.getValues();
         view.mask('请稍等...');
 
         saas.model.Session.login(values.username, values.password)
-            .then(function(session) {
+            .then(function (session) {
                 view.isMasked() && view.unmask();
                 me.getViewModel().set('session', session);
                 var cos = session.get("account").companies;
-				if (cos && cos.length) {
+                if (cos && cos.length) {
                     if (cos.length == 1) {
                         session.get('account').companyId = cos[0].id;
                         me.fireEvent('login', session);
@@ -33,40 +34,40 @@ Ext.define('saas.view.auth.LoginController', {
                             }
                         });
                     }
-				} else {
+                } else {
                     me.fireEvent('login', session);
                 }
             })
-            .catch(function(error) {
+            .catch(function (error) {
                 view.isMasked() && view.unmask();
-                saas.util.BaseUtil.showErrorToast(error.message);
+                saas.util.BaseUtil.showErrorToast('登录失败: ' + error.message);
             });
     },
 
-    onWeixinLogin : function() {
-    },
+    onWeixinLogin: function () {},
 
-    onNewAccount:  function() {
-    },
+    onNewAccount: function () {},
 
-    selectCompany: function(view, record) {
-        var me = this, view = me.getView(), oldSession = me.getViewModel().get('session'),
+    selectCompany: function (view, record) {
+        var me = this,
+            view = me.getView(),
+            oldSession = me.getViewModel().get('session'),
             companyId = record.get('id');
-        
+
         view.mask('请稍等...');
 
         saas.model.Session.switchCompany(oldSession, companyId)
-            .then(function(newSession) {
+            .then(function (newSession) {
                 newSession.get('account').companyId = companyId;
-				me.fireEvent('login', newSession);
+                me.fireEvent('login', newSession);
             })
-            .catch(function(error) {
-                saas.util.BaseUtil.showErrorToast(error.message);
-            })
-            .then(function() {
+            .then(function () {
                 view.isMasked() && view.unmask();
                 view.close();
                 view.ownerCt.destroy();
+            })
+            .catch(function (error) {
+                saas.util.BaseUtil.showErrorToast('切换账套失败: ' + error.message);
             });
     }
-});
+});

+ 103 - 0
frontend/saas-web/app/view/auth/ReLogin.js

@@ -0,0 +1,103 @@
+/**
+ * 重新登录弹窗
+ */
+Ext.define('saas.view.auth.ReLogin', {
+    extend: 'Ext.window.Window',
+    xtype: 'relogin',
+    id: 'relogin',
+
+    controller: 'relogin',
+
+    title: '重新登录',
+    cls: 'x-window-dbfind x-relogin-win',
+    layout: 'fit',
+    modal: true,
+    width: 350,
+    bodyPadding: 20,
+
+    items: [{
+        xtype: 'form',
+        reference: 'reloginform',
+        defaults: {
+            anchor: '100%',
+            labelWidth: 120
+        },
+        items: [{
+            xtype: 'displayfield',
+            height: 32,
+            cls: 'infoLabel',
+            value: '会话已过期,请重新登录',
+        }, {
+            xtype: 'textfield',
+            name: 'username',
+            emptyText: '请输入账号/邮箱/手机号',
+            fieldLabel: '账号',
+            bind: '{account.username}',
+            readOnly: true,
+            hideLabel: true,
+            allowBlank: false
+        }, {
+            xtype: 'textfield',
+            hideLabel: true,
+            fieldLabel: '密码',
+            emptyText: '密码',
+            inputType: 'password',
+            name: 'password',
+            // bind: '{password}',
+            allowBlank: false,
+            enableKeyEvents: true,
+            listeners: {
+                keydown: {
+                    fn: function(th, e, eOpts) {
+                        if(e.keyCode == 13) {
+                            this.up('relogin').getController().onLogin();
+                        }
+                    }
+                }
+            }
+        }, {
+            xtype: 'container',
+            layout: 'hbox',
+            items: [{
+                xtype: 'checkboxfield',
+                flex: 1,
+                cls: 'form-panel-font-color rememberMeCheckbox',
+                height: 30,
+                name: 'remember',
+                bind: '{remember}',
+                boxLabel: '记住密码'
+            }, {
+                xtype: 'box',
+                // html: '<a href="#passwordreset" class="link-forgot-password"> 忘记密码 ?</a>'
+            }]
+        }, {
+            xtype: 'container',
+            layout: {
+                type: 'hbox',
+                pack: 'center'
+            },
+            items: [{
+                xtype: 'button',
+                text: '登录',
+                formBind: true,
+                width: 68,
+                margin: '0 12 0 0',
+                listeners: {
+                    click: 'onLogin'
+                }
+            }, {
+                xtype: 'button',
+                text: '取消',
+                width: 68,
+                margin: '0 0 0 12',
+                listeners: {
+                    click: 'onCancel'
+                }
+            }]
+        }]
+    }],
+
+    listeners: {
+        afterrender: 'onAfterRender',
+    }
+});

+ 15 - 0
frontend/saas-web/app/view/auth/ReLogin.scss

@@ -0,0 +1,15 @@
+.x-relogin-win {
+    .infoLabel {
+        .x-form-display-field {
+            font-size: 14px;
+            vertical-align: middle;
+            line-height: 32px;
+            color: red;
+        }
+    }
+    .rememberMeCheckbox {
+        .x-form-checkbox-default,.x-form-cb-label-default.x-form-cb-label-after {
+            margin: 0;
+        }
+    }
+}

+ 96 - 0
frontend/saas-web/app/view/auth/ReLoginController.js

@@ -0,0 +1,96 @@
+Ext.define('saas.view.auth.ReLoginController', {
+    extend: 'Ext.app.ViewController',
+    alias: 'controller.relogin',
+
+    init: function () {
+        this.callParent(arguments);
+    },
+
+    onAfterRender: function() {
+        var me = this,
+        view = me.getView(),
+        model = me.getViewModel(),
+        remember = model.get('remember'),
+        password = model.get('repassword'),
+        lastSuccess = model.get('lastSuccess'),
+        form = me.lookup('reloginform'),
+        passwordField = form.getForm().findField('password');
+
+        if(remember && lastSuccess) {
+            passwordField.setValue(password);
+        }
+    },
+
+    onLogin: function () {
+        var me = this,
+            view = me.getView(),
+            viewModel = me.getViewModel(),
+            form = me.lookup('reloginform'),
+            values = form.getValues();
+
+        if(!form.isValid()) {
+            return;
+        }
+
+        view.mask('请稍等...');
+
+        saas.model.Session.login(values.username, values.password)
+        .then(function (session) {
+            view.isMasked() && view.unmask();
+            viewModel.set('session', session);
+            
+            var cos = session.get("account").companies;
+            if (cos && cos.length) {
+                if (cos.length == 1) {
+                    session.get('account').companyId = cos[0].id;
+                    me.fireEvent('login', session);
+                } else {
+                    Ext.create({
+                        xtype: 'companypicker',
+                        viewModel: {
+                            stores: {
+                                companies: Ext.create('saas.store.Company', {
+                                    data: cos
+                                })
+                            }
+                        }
+                    });
+                }
+            } else {
+                me.fireEvent('login', session);
+            }
+            me.successReLogin();
+        })
+        .catch(function (error) {
+            view.isMasked() && view.unmask();
+            saas.util.BaseUtil.showErrorToast('登录失败: ' + error.message);
+            me.failureReLogin();
+        });
+    },
+
+    successReLogin: function() {
+        var me = this,
+            view = me.getView(),
+            form = me.lookup('reloginform'),
+            values = form.getValues();
+            viewModel = me.getViewModel();
+
+        viewModel.set('repassword', values.password);
+        viewModel.set('lastSuccess', true);
+        view.close();
+    },
+
+    failureReLogin: function() {
+        var me = this,
+        viewModel = me.getViewModel();
+
+        viewModel.set('lastSuccess', false);
+    },
+
+    onCancel: function() {
+        var me = this,
+        view = me.getView();
+
+        view.close();
+    },
+});

+ 18 - 20
frontend/saas-web/app/view/core/base/GridPanel.js

@@ -227,9 +227,8 @@ Ext.define('saas.view.core.base.GridPanel', {
                                     view.ownerCt.store.load();
                                 }
                             })
-                            .catch(function(res) {
-                                console.error(res);
-                                saas.util.BaseUtil.showErrorToast('删除失败: ' + res.message);
+                            .catch(function(e) {
+                                saas.util.BaseUtil.showErrorToast('删除失败: ' + e.message);
                             });
                         }
                     });
@@ -312,8 +311,8 @@ Ext.define('saas.view.core.base.GridPanel', {
                 });
             }
         })
-        .catch(function(res) {
-            saas.util.BaseUtil.showErrorToast('导出失败: ' + res.message);
+        .catch(function(e) {
+            saas.util.BaseUtil.showErrorToast('导出失败: ' + e.message);
         });
     },
 
@@ -328,22 +327,21 @@ Ext.define('saas.view.core.base.GridPanel', {
         if(data&&data.length>0){
             var params = JSON.stringify({baseDTOs:data});
             saas.util.BaseUtil.request({
-                    url: url,
-                    params: params,
-                    method: 'POST',
-                    async:false
-                })
-                .then(function() {
-                    saas.util.BaseUtil.showSuccessToast('操作成功');
-                    grid.store.load();
-                    grid.selModel.deselectAll();
-                })
-                .catch(function(res) {
-                    console.error(res);
-                    saas.util.BaseUtil.showErrorToast('操作失败: ' + res.message);
-                });
+                url: url,
+                params: params,
+                method: 'POST',
+                async:false
+            })
+            .then(function() {
+                saas.util.BaseUtil.showSuccessToast('操作成功');
+                grid.store.load();
+                grid.selModel.deselectAll();
+            })
+            .catch(function(e) {
+                saas.util.BaseUtil.showErrorToast('操作失败: ' + e.message);
+            });
         }else{
-            saas.util.BaseUtil.showErrorToast('请勾选至少一条明</br>');
+            saas.util.BaseUtil.showErrorToast('请勾选至少一条明细');
         }
     },
 

+ 18 - 20
frontend/saas-web/app/view/core/form/FormPanelController.js

@@ -130,9 +130,8 @@ Ext.define('saas.view.core.form.FormPanelController', {
                             saas.util.BaseUtil.showSuccessToast('删除成功');
                         }
                     })
-                    .catch(function(res) {
-                        console.error(res);
-                        saas.util.BaseUtil.showErrorToast('删除失败: ' + res.message);
+                    .catch(function(e) {
+                        saas.util.BaseUtil.showErrorToast('删除失败: ' + e.message);
                     });
                 }
             });
@@ -211,11 +210,10 @@ Ext.define('saas.view.core.form.FormPanelController', {
                 form.fireEvent('aftersave', true, form, localJson);
             }
         })
-        .catch(function(res) {
+        .catch(function(e) {
             form.setLoading(false);
-            console.error(res);
-            saas.util.BaseUtil.showErrorToast('保存失败: ' + res.message);
-            form.fireEvent('aftersave', false, form, res);
+            saas.util.BaseUtil.showErrorToast('保存失败: ' + e.message);
+            form.fireEvent('aftersave', false, form);
         });
     },
 
@@ -304,23 +302,23 @@ Ext.define('saas.view.core.form.FormPanelController', {
                 form.fireEvent('afteraudit', true, form, localJson);
             }
         })
-        .catch(function(res) {
+        .catch(function(e) {
             form.setLoading(false);
-            console.error(res);
-            if(res.data) {
-                var id = localJson.data.id;
-                var code = localJson.data.code;
+            // console.error(e);
+            // if(res.data) {
+            //     var id = localJson.data.id;
+            //     var code = localJson.data.code;
                 
-                form.initId = id;
+            //     form.initId = id;
 
-                var newId = form.xtype + '-' + id;
-                var newTitle = form._title + '(' + code + ')';
+            //     var newId = form.xtype + '-' + id;
+            //     var newTitle = form._title + '(' + code + ')';
 
-                saas.util.BaseUtil.refreshTabTitle(newId, newTitle);
-                saas.util.FormUtil.loadData(form);
-            }
-            saas.util.BaseUtil.showErrorToast('审核失败: ' + res.message);
-            form.fireEvent('afteraudit', false, form, res);
+            //     saas.util.BaseUtil.refreshTabTitle(newId, newTitle);
+            //     saas.util.FormUtil.loadData(form);
+            // }
+            saas.util.BaseUtil.showErrorToast('审核失败: ' + e.message);
+            form.fireEvent('afteraudit', false, form);
         });
     },
 

+ 2 - 3
frontend/saas-web/app/view/core/form/field/DetailGridField.js

@@ -291,16 +291,15 @@ Ext.define('saas.view.core.form.field.DetailGridField', {
                         //解析参数
                         saas.util.BaseUtil.showSuccessToast('删除成功');
                     })
-                    .catch(function() {
+                    .catch(function(e) {
                         me.fireEvent('validChange');
                         //失败
-                        saas.util.BaseUtil.showErrorToast('删除失败');
+                        saas.util.BaseUtil.showErrorToast('删除失败: ' + e.message);
                     });
                 }else {
                     throw new Error();
                 }
             })
-            .catch()
         }else {
             store.remove(selectedRecord);
             me.fireEvent('validChange');

+ 8 - 7
frontend/saas-web/app/view/core/query/QueryGridPanel.js

@@ -60,11 +60,12 @@ Ext.define('saas.view.core.query.QueryGridPanel', {
             me.idField = '_id';
         }
 
-        me.initColumns(null, 'MAIN').then(function(columns) {
-            Ext.apply(me, {
-                columns: columns
-            });
-        });
+        // me.initColumns(null, 'MAIN').then(function(columns) {
+        //     Ext.apply(me, {
+        //         columns: columns,
+        //         mode: 'MAIN'
+        //     });
+        // });
 
         Ext.apply(me, {
             viewConfig: {
@@ -378,8 +379,8 @@ Ext.define('saas.view.core.query.QueryGridPanel', {
                 });
             }
         })
-        .catch(function(res) {
-            saas.util.BaseUtil.showErrorToast('导出失败: ' + res.message);
+        .catch(function(e) {
+            saas.util.BaseUtil.showErrorToast('导出失败: ' + e.message);
         });
     },
     onCloseOrder:function(me){

+ 2 - 3
frontend/saas-web/app/view/document/address/DataList.js

@@ -63,9 +63,8 @@ Ext.define('saas.view.document.address.DataList', {
                                 grid.store.load();
                             }
                         })
-                        .catch(function(res) {
-                            console.error(res);
-                            saas.util.BaseUtil.showErrorToast('操作失败: ' + res.message);
+                        .catch(function(e) {
+                            saas.util.BaseUtil.showErrorToast('操作失败: ' + e.message);
                         });
                     }
                 }]

+ 3 - 3
frontend/saas-web/app/view/document/address/DatalistController.js

@@ -28,9 +28,9 @@ Ext.define('saas.view.document.address.DatalistController', {
                         grid.store.load();
                     }
                 })
-                .catch(function(res) {
-                    console.error(res);
-                    saas.util.BaseUtil.showErrorToast('删除失败: ' + res.message);
+                .catch(function(e) {
+                    console.error(e);
+                    saas.util.BaseUtil.showErrorToast('删除失败: ' + e.message);
                 });
             }
         });

+ 3 - 3
frontend/saas-web/app/view/document/bom/FormController.js

@@ -89,9 +89,9 @@ Ext.define('saas.view.document.bom.FormController', {
                 saas.util.BaseUtil.showSuccessToast('启用成功');
             }
         })
-        .catch(function(res) {
-            console.error(res);
-            saas.util.BaseUtil.showErrorToast('启用失败: ' + res.message);
+        .catch(function(e) {
+            console.error(e);
+            saas.util.BaseUtil.showErrorToast('启用失败: ' + e.message);
         });
     },
     unAudit: function() {

+ 4 - 5
frontend/saas-web/app/view/document/customer/FormController.js

@@ -48,9 +48,8 @@ Ext.define('saas.view.document.customer.FormController', {
                 viewModel.set('base.editable', false);
             }
         })
-        .catch(function(res) {
-            console.error(res);
-            saas.util.BaseUtil.showErrorToast('启用失败: ' + res.message);
+        .catch(function(e) {
+            saas.util.BaseUtil.showErrorToast('启用失败: ' + e.message);
         });
     },
     unAudit: function() {
@@ -71,8 +70,8 @@ Ext.define('saas.view.document.customer.FormController', {
                 saas.util.BaseUtil.showSuccessToast('禁用成功');
             }
         })
-        .catch(function(res) {
-            saas.util.BaseUtil.showErrorToast('禁用失败: ' + res.message);
+        .catch(function(e) {
+            saas.util.BaseUtil.showErrorToast('禁用失败: ' + e.message);
         });
     }
 });

+ 2 - 3
frontend/saas-web/app/view/document/employee/DataList.js

@@ -72,9 +72,8 @@ Ext.define('saas.view.document.employee.DataList', {
                                 grid.store.load();
                             }
                         })
-                        .catch(function(res) {
-                            console.error(res);
-                            saas.util.BaseUtil.showErrorToast('操作失败: ' + res.message);
+                        .catch(function(e) {
+                            saas.util.BaseUtil.showErrorToast('操作失败: ' + e.message);
                         });
                     }
                 }]

+ 2 - 3
frontend/saas-web/app/view/document/employee/Window.js

@@ -55,9 +55,8 @@ Ext.define('saas.view.document.employee.Window', {
                             grid.store.load();
                         }
                     })
-                    .catch(function(res) {
-                        console.error(res);
-                        saas.util.BaseUtil.showErrorToast('操作失败: ' + res.message);
+                    .catch(function(e) {
+                        saas.util.BaseUtil.showErrorToast('操作失败: ' + e.message);
                     });
                 }
             }]

+ 4 - 5
frontend/saas-web/app/view/document/kind/ChildForm.js

@@ -51,8 +51,8 @@ Ext.define('saas.view.document.kind.ChildForm', {
                     }else {
                         saas.util.BaseUtil.showErrorToast(res.message);
                     }
-                }).catch(function(res) {
-                    saas.util.BaseUtil.showErrorToast(res.message);
+                }).catch(function(e) {
+                    saas.util.BaseUtil.showErrorToast(e.message);
                     w.setLoading(false);
                 })
               }
@@ -251,10 +251,9 @@ Ext.define('saas.view.document.kind.ChildForm', {
                 form.ownerCt.close();
             }
         })
-        .catch(function(res) {
+        .catch(function(e) {
             me.setLoading(false);
-            console.error(res);
-            saas.util.BaseUtil.showErrorToast('保存失败: ' + res.message);
+            saas.util.BaseUtil.showErrorToast('保存失败: ' + e.message);
         });
     },
     onCancel:function(){

+ 2 - 3
frontend/saas-web/app/view/document/kind/KindController.js

@@ -90,9 +90,8 @@ Ext.define('saas.view.document.kind.KindController', {
                         grid.store.load();
                     }
                 })
-                .catch(function(res) {
-                    console.error(res);
-                    saas.util.BaseUtil.showErrorToast('删除失败: ' + res.message);
+                .catch(function(e) {
+                    saas.util.BaseUtil.showErrorToast('删除失败: ' + e.message);
                 });
             }
         });

+ 4 - 6
frontend/saas-web/app/view/document/product/FormController.js

@@ -127,9 +127,8 @@ Ext.define('saas.view.document.product.FormController', {
                 saas.util.BaseUtil.showSuccessToast('启用成功');
             }
         })
-        .catch(function(res) {
-            console.error(res);
-            saas.util.BaseUtil.showErrorToast('启用失败: ' + res.message);
+        .catch(function(e) {
+            saas.util.BaseUtil.showErrorToast('启用失败: ' + e.message);
         });
     },
     unAudit: function() {
@@ -150,9 +149,8 @@ Ext.define('saas.view.document.product.FormController', {
                 saas.util.BaseUtil.showSuccessToast('禁用成功');
             }
         })
-        .catch(function(res) {
-            console.error(res);
-            saas.util.BaseUtil.showErrorToast('禁用失败: ' + res.message);
+        .catch(function(e) {
+            saas.util.BaseUtil.showErrorToast('禁用失败: ' + e.message);
         });
     },
 

+ 4 - 6
frontend/saas-web/app/view/document/vendor/FormController.js

@@ -50,9 +50,8 @@ Ext.define('saas.view.document.vendor.FormController', {
                 saas.util.BaseUtil.showSuccessToast('启用成功');
             }
         })
-        .catch(function(res) {
-            console.error(res);
-            saas.util.BaseUtil.showErrorToast('启用失败: ' + res.message);
+        .catch(function(e) {
+            saas.util.BaseUtil.showErrorToast('启用失败: ' + e.message);
         });
     },
     unAudit: function() {
@@ -73,9 +72,8 @@ Ext.define('saas.view.document.vendor.FormController', {
                 saas.util.BaseUtil.showSuccessToast('禁用成功');
             }
         })
-        .catch(function(res) {
-            console.error(res);
-            saas.util.BaseUtil.showErrorToast('禁用失败: ' + res.message);
+        .catch(function(e) {
+            saas.util.BaseUtil.showErrorToast('禁用失败: ' + e.message);
         });
     }
 });

+ 2 - 3
frontend/saas-web/app/view/document/warehouse/DataList.js

@@ -72,9 +72,8 @@ Ext.define('saas.view.document.warehouse.DataList', {
                                 grid.store.load();
                             }
                         })
-                        .catch(function(res) {
-                            console.error(res);
-                            saas.util.BaseUtil.showErrorToast('操作失败: ' + res.message);
+                        .catch(function(e) {
+                            saas.util.BaseUtil.showErrorToast('操作失败: ' + e.message);
                         });
                     }
                 }]

+ 2 - 3
frontend/saas-web/app/view/document/warehouse/Window.js

@@ -55,9 +55,8 @@ Ext.define('saas.view.document.warehouse.Window', {
                             grid.store.load();
                         }
                     })
-                    .catch(function(res) {
-                        console.error(res);
-                        saas.util.BaseUtil.showErrorToast('操作失败: ' + res.message);
+                    .catch(function(e) {
+                        saas.util.BaseUtil.showErrorToast('操作失败: ' + e.message);
                     });
                 }
             }]

+ 2 - 2
frontend/saas-web/app/view/home/Home.js

@@ -84,8 +84,8 @@ Ext.define('saas.view.home.Home', {
             if(!res.data.begin){
                 saas.util.BaseUtil.openTab('sys-guide-formpanel', '新手导航', 'sys-guide-formpanel')
             }
-        }).catch(function(res) {
-            saas.util.BaseUtil.showErrorToast(res.message);
+        }).catch(function(e) {
+            saas.util.BaseUtil.showErrorToast(e.message);
         })
         this.callParent(arguments);
     },

+ 6 - 6
frontend/saas-web/app/view/home/HomeModel.js

@@ -147,9 +147,9 @@ Ext.define('saas.view.home.HomeModel', {
                     }
                 }
             },
-            sorters: [
-                { property: 'x', direction: 'ASC' }
-            ],
+            // sorters: [
+            //     { property: 'x', direction: 'ASC' }
+            // ],
             listeners: {
                 beforeload: function() {
                     var p = Ext.getCmp('sale_trend');
@@ -184,9 +184,9 @@ Ext.define('saas.view.home.HomeModel', {
                     }
                 }
             },
-            sorters: [
-                { property: 'x', direction: 'ASC' }
-            ],
+            // sorters: [
+            //     { property: 'x', direction: 'ASC' }
+            // ],
             listeners: {
                 beforeload: function() {
                     var p = Ext.getCmp('stock_amount');

+ 2 - 3
frontend/saas-web/app/view/money/payBalance/FormPanelController.js

@@ -218,10 +218,9 @@ Ext.define('saas.view.money.payBalance.FormPanelController', {
               
             }
         })
-        .catch(function(res) {
+        .catch(function(e) {
             form.setLoading(false);
-            console.error(res);
-            saas.util.BaseUtil.showErrorToast('转单失败: ' + res.message);
+            saas.util.BaseUtil.showErrorToast('转单失败: ' + e.message);
         });
      },
 

+ 2 - 3
frontend/saas-web/app/view/money/recBalance/FormPanelController.js

@@ -196,10 +196,9 @@ Ext.define('saas.view.money.recBalance.FormPanelController', {
               
             }
         })
-        .catch(function(res) {
+        .catch(function(e) {
             form.setLoading(false);
-            console.error(res);
-            saas.util.BaseUtil.showErrorToast('转单失败: ' + res.message);
+            saas.util.BaseUtil.showErrorToast('转单失败: ' + e.message);
         });
      },
     onSave: function() {

+ 0 - 4
frontend/saas-web/app/view/money/verification/FormPanel.js

@@ -58,10 +58,6 @@ Ext.define('saas.view.money.verification.FormPanel', {
             .then(function () {
                 FormUtil.loadData(me);
             })
-            .catch(function (response) {
-                saas.util.BaseUtil.showErrorToast('错误:' + response.message);
-                console.error(response);
-            });
     },
 
     getAcitveItems: function () {

+ 15 - 17
frontend/saas-web/app/view/money/verification/FormPanelController.js

@@ -567,11 +567,10 @@ Ext.define('saas.view.money.verification.FormPanelController', {
                 form.fireEvent('aftersave', true, form, localJson);
             }
         })
-        .catch(function(res) {
+        .catch(function(e) {
             form.setLoading(false);
-            console.error(res);
-            saas.util.BaseUtil.showErrorToast('保存失败: ' + res.message);
-            form.fireEvent('aftersave', false, form, res);
+            saas.util.BaseUtil.showErrorToast('保存失败: ' + e.message);
+            form.fireEvent('aftersave', false, form);
         });
     },
 
@@ -622,23 +621,22 @@ Ext.define('saas.view.money.verification.FormPanelController', {
                 form.fireEvent('afteraudit', true, form, localJson);
             }
         })
-        .catch(function(res) {
+        .catch(function(e) {
             form.setLoading(false);
-            console.error(res);
-            if(res.data) {
-                var id = localJson.data.id;
-                var code = localJson.data.code;
+            // if(res.data) {
+            //     var id = localJson.data.id;
+            //     var code = localJson.data.code;
                 
-                form.initId = id;
+            //     form.initId = id;
 
-                var newId = form.xtype + '-' + id;
-                var newTitle = form._title + '(' + code + ')';
+            //     var newId = form.xtype + '-' + id;
+            //     var newTitle = form._title + '(' + code + ')';
 
-                saas.util.BaseUtil.refreshTabTitle(newId, newTitle);
-                saas.util.FormUtil.loadData(form);
-            }
-            saas.util.BaseUtil.showErrorToast('审核失败: ' + res.message);
-            form.fireEvent('afteraudit', false, form, res);
+            //     saas.util.BaseUtil.refreshTabTitle(newId, newTitle);
+            //     saas.util.FormUtil.loadData(form);
+            // }
+            saas.util.BaseUtil.showErrorToast('审核失败: ' +  e.message);
+            form.fireEvent('afteraudit', false, form);
         });
     },
     myInitCopyData: function(formData) {

+ 2 - 2
frontend/saas-web/app/view/purchase/purchase/FormPanel.js

@@ -479,8 +479,8 @@ Ext.define('saas.view.purchase.purchase.FormPanel', {
                         saas.util.BaseUtil.showErrorToast('未设置默认采购交货地址,维护后新增会自动给采购交货地址赋默认值');
                     }
                 })
-                .catch(function (res) {
-                    saas.util.BaseUtil.showErrorToast('获取默认采购交货地址失败' + res.message);
+                .catch(function (e) {
+                    saas.util.BaseUtil.showErrorToast('获取默认采购交货地址失败: ' + e.message);
                 });
         }
         me.clearDirty();

+ 2 - 3
frontend/saas-web/app/view/purchase/purchase/FormPanelController.js

@@ -93,10 +93,9 @@ Ext.define('saas.view.purchase.purchase.FormPanelController', {
                 saas.util.BaseUtil.showSuccessToast('转单成功');    
             }
         })
-        .catch(function(res) {
+        .catch(function(e) {
             form.setLoading(false);
-            console.error(res);
-            saas.util.BaseUtil.showErrorToast('转单失败: ' + res.message);
+            saas.util.BaseUtil.showErrorToast('转单失败: ' + e.message);
         });
      }
 });

+ 2 - 3
frontend/saas-web/app/view/purchase/purchaseIn/FormPanelController.js

@@ -198,10 +198,9 @@ Ext.define('saas.view.purchase.purchaseIn.FormPanelController', {
               
             }
         })
-        .catch(function(res) {
+        .catch(function(e) {
             form.setLoading(false);
-            console.error(res);
-            saas.util.BaseUtil.showErrorToast('转单失败: ' + res.message);
+            saas.util.BaseUtil.showErrorToast('转单失败: ' + e.message);
         });
      }
 });

+ 4 - 6
frontend/saas-web/app/view/sale/sale/FormPanelController.js

@@ -122,10 +122,9 @@ Ext.define('saas.view.sale.sale.FormPanelController', {
                     saas.util.FormUtil.loadData(form);
                 }
             })
-            .catch(function (res) {
+            .catch(function (e) {
                 form.setLoading(false);
-                console.error(res);
-                saas.util.BaseUtil.showErrorToast('转单失败: ' + res.message);
+                saas.util.BaseUtil.showErrorToast('转单失败: ' + e.message);
             });
     },
     turnPurchase: function () {
@@ -151,10 +150,9 @@ Ext.define('saas.view.sale.sale.FormPanelController', {
                 saas.util.FormUtil.loadData(form);
             }
         })
-        .catch(function (res) {
+        .catch(function (e) {
             form.setLoading(false);
-            console.error(res);
-            saas.util.BaseUtil.showErrorToast('转单失败: ' + res.message);
+            saas.util.BaseUtil.showErrorToast('转单失败: ' + e.message);
         });
     }
 });

+ 2 - 3
frontend/saas-web/app/view/sale/saleOut/FormPanelController.js

@@ -128,10 +128,9 @@ Ext.define('saas.view.sale.saleout.FormPanelController', {
                 saas.util.FormUtil.loadData(form);  
             }
         })
-        .catch(function(res) {
+        .catch(function(e) {
             form.setLoading(false);
-           // console.error(res);
-            saas.util.BaseUtil.showErrorToast('转单失败: ' + res.message);
+            saas.util.BaseUtil.showErrorToast('转单失败: ' + e.message);
         });
      }
 });

+ 8 - 11
frontend/saas-web/app/view/stock/inventory/EditDataList.js

@@ -432,9 +432,8 @@ Ext.define('saas.view.stock.inventory.EditDataList', {
                 }
             }
         })
-        .catch(function(res) {
-            console.error(res);
-            saas.util.BaseUtil.showErrorToast('生成盘点单失败: ' + res.message);
+        .catch(function(e) {
+            saas.util.BaseUtil.showErrorToast('生成盘点单失败: ' + e.message);
         });    
     },
     onbuild:function(){
@@ -457,9 +456,8 @@ Ext.define('saas.view.stock.inventory.EditDataList', {
                 me.reload();
             }
         })
-        .catch(function(res) {
-            console.error(res);
-            saas.util.BaseUtil.showErrorToast('保存失败: ' + res.message);
+        .catch(function(e) {
+            saas.util.BaseUtil.showErrorToast('保存失败: ' + e.message);
         });        
     },
     onSave:function(){
@@ -478,9 +476,8 @@ Ext.define('saas.view.stock.inventory.EditDataList', {
                 me.reload();
             }
         })
-        .catch(function(res) {
-            console.error(res);
-            saas.util.BaseUtil.showErrorToast('保存失败: ' + res.message);
+        .catch(function(e) {
+            saas.util.BaseUtil.showErrorToast('保存失败: ' + e.message);
         });        
     },
     getSaveData: function() {
@@ -540,8 +537,8 @@ Ext.define('saas.view.stock.inventory.EditDataList', {
                 });
             }
         })
-        .catch(function(res) {
-            saas.util.BaseUtil.showErrorToast('导出失败: ' + res.message);
+        .catch(function(e) {
+            saas.util.BaseUtil.showErrorToast('导出失败: ' + e.message);
         });
     }
 });

+ 2 - 3
frontend/saas-web/app/view/stock/make/FormPanelController.js

@@ -164,9 +164,8 @@ Ext.define('saas.view.stock.make.FormPanelController', {
                 form.setDetailData(loadData);
             }
         })
-        .catch(function (res) {
-            console.error(res);
-            saas.util.BaseUtil.showErrorToast('获取BOM资料失败: ' + res.message);
+        .catch(function (e) {
+            saas.util.BaseUtil.showErrorToast('获取BOM资料失败: ' + e.message);
         });
     }
 });

+ 2 - 3
frontend/saas-web/app/view/sys/account/AddWindow.js

@@ -220,10 +220,9 @@ Ext.define('saas.view.sys.account.AddWindow', {
                 form.ownerCt.close();
             }
         })
-        .catch(function(res) {
+        .catch(function(e) {
             me.setLoading(false);
-            console.error(res);
-            saas.util.BaseUtil.showErrorToast('保存失败: ' + res.message);
+            saas.util.BaseUtil.showErrorToast('保存失败: ' + e.message);
         });
     }
 });

+ 4 - 5
frontend/saas-web/app/view/sys/account/DataList.js

@@ -153,9 +153,8 @@ Ext.define('saas.view.sys.account.DataList', {
                         grid.store.load();
                     }
                 })
-                .catch(function(res) {
-                    console.error(res);
-                    saas.util.BaseUtil.showErrorToast('操作失败: ' + res.message);
+                .catch(function(e) {
+                    saas.util.BaseUtil.showErrorToast('操作失败: ' + e.message);
                 });
             }
         }]
@@ -254,8 +253,8 @@ Ext.define('saas.view.sys.account.DataList', {
                     saas.util.BaseUtil.showSuccessToast('操作成功');
                     grid.store.load();
                 })
-                .catch(function(response) {
-                    saas.util.BaseUtil.showErrorToast('操作失败');
+                .catch(function(e) {
+                    saas.util.BaseUtil.showErrorToast('操作失败: ' + e.message);
                 });
         }else{
             saas.util.BaseUtil.showErrorToast('请勾选至少一条明细。');

+ 2 - 3
frontend/saas-web/app/view/sys/account/EditWindow.js

@@ -111,10 +111,9 @@ Ext.define('saas.view.sys.account.EditWindow', {
                 form.ownerCt.close();
             }
         })
-        .catch(function(res) {
+        .catch(function(e) {
             me.setLoading(false);
-            console.error(res);
-            saas.util.BaseUtil.showErrorToast('保存失败: ' + res.message);
+            saas.util.BaseUtil.showErrorToast('保存失败: ' + e.message);
         });
     }
 });

+ 2 - 2
frontend/saas-web/app/view/sys/baseconfig/FormPanel.js

@@ -87,8 +87,8 @@ Ext.define('saas.view.sys.baseconfig.FormPanel', {
                 }
             }
         })
-        .catch(function(response) {
-            console.error(response);
+        .catch(function(e) {
+            console.error(e);
         });
 
         me.callParent(arguments);

+ 2 - 2
frontend/saas-web/app/view/sys/baseconfig/FormPanelController.js

@@ -64,8 +64,8 @@ Ext.define('saas.view.sys.baseconfig.FormPanelController', {
                         }
                     }
                 })
-                .catch(function(response) {
-                    console.error(response);
+                .catch(function(e) {
+                    console.error(e);
                 });
             }
         })

+ 2 - 2
frontend/saas-web/app/view/sys/config/FormPanel.js

@@ -405,8 +405,8 @@ Ext.define('saas.view.sys.config.FormPanel', {
                 me.load(me);
             }
         })
-        .catch(function(response) {
-            console.error(response);
+        .catch(function(e) {
+            console.error(e);
         });
 
         me.callParent(arguments);

+ 4 - 5
frontend/saas-web/app/view/sys/config/FormPanelController.js

@@ -49,14 +49,13 @@ Ext.define('saas.view.sys.config.FormPanelController', {
                         viewModel.setData(d)
                     }
                 })
-                .catch(function(response) {
-                    console.error(response);
+                .catch(function(e) {
+                    console.error(e);
                 });
             }
         })
-        .catch(function(res) {
-            console.error(res);
-            saas.util.BaseUtil.showErrorToast('保存失败: ' + res.message);
+        .catch(function(e) {
+            saas.util.BaseUtil.showErrorToast('保存失败: ' + e.message);
         });
     }
 

+ 4 - 6
frontend/saas-web/app/view/sys/finish/DataList.js

@@ -30,9 +30,8 @@ Ext.define('saas.view.sys.finish.DataList', {
                         grid.store.loadPage(1);
                     }
                 })
-                .catch(function(res) {
-                    console.error(res);
-                    saas.util.BaseUtil.showErrorToast('结账失败: ' + res.message);
+                .catch(function(e) {
+                    saas.util.BaseUtil.showErrorToast('结账失败: ' + e.message);
                 });
             }
         }
@@ -53,9 +52,8 @@ Ext.define('saas.view.sys.finish.DataList', {
                         grid.store.loadPage(1);
                     }
                 })
-                .catch(function(res) {
-                    console.error(res);
-                    saas.util.BaseUtil.showErrorToast('反结账失败: ' + res.message);
+                .catch(function(e) {
+                    saas.util.BaseUtil.showErrorToast('反结账失败: ' + e.message);
                 });
             }
         }

+ 2 - 3
frontend/saas-web/app/view/sys/invitation/DataList.js

@@ -128,10 +128,9 @@ Ext.define('saas.view.sys.invitation.DataList', {
                             grid.store.load();
                         }
                     })
-                    .catch(function(res) {
+                    .catch(function(e) {
                         grid.setLoading(false);
-                        console.error(res);
-                        saas.util.BaseUtil.showErrorToast('保存失败: ' + res.message);
+                        saas.util.BaseUtil.showErrorToast('保存失败: ' + e.message);
                     });
                 }
             }

+ 2 - 3
frontend/saas-web/app/view/sys/invitation/EditWindow.js

@@ -75,10 +75,9 @@ Ext.define('saas.view.sys.invitation.EditWindow', {
                 form.ownerCt.close();
             }
         })
-        .catch(function(res) {
+        .catch(function(e) {
             me.setLoading(false);
-            console.error(res);
-            saas.util.BaseUtil.showErrorToast('保存失败: ' + res.message);
+            saas.util.BaseUtil.showErrorToast('保存失败: ' + e.message);
         });
     }
 });

+ 6 - 5
frontend/saas-web/app/view/sys/maxnumbers/DataList.js

@@ -117,7 +117,8 @@ Ext.define('saas.view.sys.maxnumbers.DataList', {
         },
     },{
         text : '流水长度', 
-        dataIndex : 'mn_number', 
+        dataIndex : 'mn_number',
+        xtype: 'numbercolumn',
         width : 110.0 
     }, {
         dataIndex: '',
@@ -197,8 +198,8 @@ Ext.define('saas.view.sys.maxnumbers.DataList', {
                     saas.util.BaseUtil.showSuccessToast('操作成功');
                     grid.store.load();
                 })
-                .catch(function(response) {
-                    saas.util.BaseUtil.showErrorToast('操作失败');
+                .catch(function(e) {
+                    saas.util.BaseUtil.showErrorToast('操作失败: ' + e.message);
                 });
         }else{
             saas.util.BaseUtil.showErrorToast('请勾选至少一条明细。');
@@ -246,8 +247,8 @@ Ext.define('saas.view.sys.maxnumbers.DataList', {
                             view.ownerCt.store.load();
                         }
                     })
-                    .catch(function() {
-                        saas.util.BaseUtil.showErrorToast('删除失败');
+                    .catch(function(e) {
+                        saas.util.BaseUtil.showErrorToast('删除失败: ' + e.message);
                     });
                 }
             }

+ 2 - 3
frontend/saas-web/app/view/sys/power/FormPanelController.js

@@ -55,9 +55,8 @@ Ext.define('saas.view.sys.power.FormPanelController', {
                     viewModel.data.powergrid.load();
                 }
             })
-            .catch(function(res) {
-                console.error(res);
-                saas.util.BaseUtil.showErrorToast('保存失败: ' + res.message);
+            .catch(function(e) {
+                saas.util.BaseUtil.showErrorToast('保存失败: ' + e.message);
             });
         }else{
             saas.util.BaseUtil.showErrorToast('没有修改数据,请修改后保存');

+ 2 - 3
frontend/saas-web/app/view/sys/power/TreePanel.js

@@ -177,10 +177,9 @@ Ext.define('saas.view.sys.power.TreePanel', {
                         me.setTree();
                     }
                 })
-                .catch(function(res) {
+                .catch(function(e) {
                     me.setLoading(false);
-                    console.error(res);
-                    saas.util.BaseUtil.showErrorToast('删除失败: ' + res.message);
+                    saas.util.BaseUtil.showErrorToast('删除失败: ' + e.message);
                 });
             }
         });

+ 2 - 3
frontend/saas-web/app/view/sys/power/Window.js

@@ -83,10 +83,9 @@ Ext.define('saas.view.sys.power.Window', {
                 form.ownerCt.close();
             }
         })
-        .catch(function(res) {
+        .catch(function(e) {
             me.setLoading(false);
-            console.error(res);
-            saas.util.BaseUtil.showErrorToast('保存失败: ' + res.message);
+            saas.util.BaseUtil.showErrorToast('保存失败: ' + e.message);
         });
     }
 });

+ 17 - 1
frontend/saas-web/overrides/data/Connection.js

@@ -47,7 +47,22 @@ Ext.define('saas.override.data.Connection', {
     },
     onRequestComplete: function(request) {
         let headers = request.result.getAllResponseHeaders() || {},
-        Authorization = headers['authorization'];
+        Authorization = headers['authorization'],
+        result = request.result,
+        res;
+
+        try{
+            res = JSON.parse(result.responseText);
+        }catch(e) {
+            res = result.responseJson
+            // console.error(e);
+        }
+
+        if(res && res.code == 40001) {
+            // 如果token超时则显示重新登陆弹窗
+            saas.util.BaseUtil.showLoginWin();
+            throw new Error('回话已过期');
+        }
 
         if(Authorization) {
             // 如果返回了token则刷新token
@@ -58,6 +73,7 @@ Ext.define('saas.override.data.Connection', {
             Ext.Ajax.setDefaultHeaders(headers);
 
             session.token = Authorization;
+            session.timestamp = Ext.now();
 
             saas.util.State.set('session', session);
 

+ 2 - 0
frontend/saas-web/overrides/grid/Panel.js

@@ -1,5 +1,7 @@
 Ext.define('saas.override.grid.Panel', {
     override: 'Ext.grid.Panel',
 
+    sortableColumns: false,
+    enableColumnHide: false,
     emptyText: '<div class="x-grid-empty-img"></div><div class="x-grid-empty-text">暂无数据</div>',
 });