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

i18方式移除,改为util方法

zhuth 7 жил өмнө
parent
commit
ec09a10991
49 өөрчлөгдсөн 680 нэмэгдсэн , 597 устгасан
  1. 154 38
      frontend/saas-web/app/util/BaseUtil.js
  2. 3 3
      frontend/saas-web/app/util/Errors.js
  3. 228 227
      frontend/saas-web/app/util/FormUtil.js
  4. 2 2
      frontend/saas-web/app/view/auth/LoginController.js
  5. 1 1
      frontend/saas-web/app/view/core/base/BasePanelController.js
  6. 11 11
      frontend/saas-web/app/view/core/base/GridPanel.js
  7. 1 1
      frontend/saas-web/app/view/core/dbfind/DbfindGridPanel.js
  8. 1 1
      frontend/saas-web/app/view/core/dbfind/MultiDbfindGridPanel.js
  9. 3 7
      frontend/saas-web/app/view/core/form/FormPanel.js
  10. 27 30
      frontend/saas-web/app/view/core/form/FormPanelController.js
  11. 3 5
      frontend/saas-web/app/view/core/form/field/DetailGridField.js
  12. 4 6
      frontend/saas-web/app/view/core/query/QueryGridPanel.js
  13. 1 1
      frontend/saas-web/app/view/core/query/QueryPanelController.js
  14. 2 2
      frontend/saas-web/app/view/core/report/ReportPanel.js
  15. 2 2
      frontend/saas-web/app/view/core/tab/Controller.js
  16. 8 8
      frontend/saas-web/app/view/document/bom/FormController.js
  17. 8 8
      frontend/saas-web/app/view/document/customer/FormController.js
  18. 8 8
      frontend/saas-web/app/view/document/employee/FormController.js
  19. 3 5
      frontend/saas-web/app/view/document/kind/ChildForm.js
  20. 3 6
      frontend/saas-web/app/view/document/kind/Kind.js
  21. 4 6
      frontend/saas-web/app/view/document/kind/KindController.js
  22. 8 8
      frontend/saas-web/app/view/document/product/FormController.js
  23. 8 8
      frontend/saas-web/app/view/document/vendor/FormController.js
  24. 1 1
      frontend/saas-web/app/view/home/InfoCard.js
  25. 1 1
      frontend/saas-web/app/view/main/Main.js
  26. 2 2
      frontend/saas-web/app/view/main/Navigation.js
  27. 1 1
      frontend/saas-web/app/view/money/othreceipts/FormPanelController.js
  28. 1 1
      frontend/saas-web/app/view/money/othspendings/FormPanelController.js
  29. 1 1
      frontend/saas-web/app/view/money/payBalance/FormPanel.js
  30. 5 5
      frontend/saas-web/app/view/money/payBalance/FormPanelController.js
  31. 1 1
      frontend/saas-web/app/view/money/recBalance/FormPanel.js
  32. 5 5
      frontend/saas-web/app/view/money/recBalance/FormPanelController.js
  33. 4 4
      frontend/saas-web/app/view/purchase/purchase/FormPanelController.js
  34. 1 1
      frontend/saas-web/app/view/purchase/purchaseIn/FormPanel.js
  35. 4 4
      frontend/saas-web/app/view/purchase/purchaseIn/FormPanelController.js
  36. 5 5
      frontend/saas-web/app/view/sale/sale/FormPanelController.js
  37. 5 5
      frontend/saas-web/app/view/sale/saleOut/FormPanelController.js
  38. 2 2
      frontend/saas-web/app/view/stock/make/FormPanelController.js
  39. 5 8
      frontend/saas-web/app/view/sys/account/DataList.js
  40. 1 4
      frontend/saas-web/app/view/sys/config/FormPanel.js
  41. 6 9
      frontend/saas-web/app/view/sys/config/FormPanelController.js
  42. 1 1
      frontend/saas-web/app/view/sys/feedback/FormPanelController.js
  43. 7 9
      frontend/saas-web/app/view/sys/finish/DataList.js
  44. 1 1
      frontend/saas-web/app/view/sys/guide/FormPanel.js
  45. 9 11
      frontend/saas-web/app/view/sys/maxnumbers/DataList.js
  46. 4 7
      frontend/saas-web/app/view/sys/power/FormPanelController.js
  47. 6 9
      frontend/saas-web/app/view/sys/power/TreePanel.js
  48. 2 2
      frontend/saas-web/app/view/viewport/ViewportController.js
  49. 106 103
      frontend/saas-web/overrides/i18n.js

+ 154 - 38
frontend/saas-web/app/util/BaseUtil.js

@@ -1,42 +1,158 @@
 Ext.define('saas.util.BaseUtil', {
 
-    /**
-     * 发起Ajax请求
-     * @param config: 请求参数
-     */
-    request: function (config) {
-        var url = config.url,
-            params = config.params,
-            async = config.async || true,
-            method = config.method || 'GET',
-            timeout = config.timeout || 8000,
-            defaultHeaders = {
-                'Access-Control-Allow-Origin': '*',
-                "Content-Type": 'application/json;charset=UTF-8' 
-            };
-        return new Ext.Promise(function (resolve, reject) {
-            Ext.Ajax.request({
-                url: url,
-                params: params,
-                async: async,
-                method: method,
-                timeout: timeout,
-                headers: Ext.apply(defaultHeaders, config.headers),
-                success: function (response, opts) {
-                    var res = Ext.decode(response.responseText);
-                    if(res.success) {
-                        return resolve(res);
-                    }else {
-                        console.error('server request failure with code ' + res.code + '.');
-                        console.error('failure message: ' + res.message);
-                        return reject(res);
-                    }
-                },
-                failure: function (response, opts) {
-                    console.error('server-side failure with status code ' + response);
-                    return reject(response);
-                }
+    statics: {
+
+        /**
+         * 打开/切换到新页签
+         * @param xtype: view xtype
+         * @param title: 标题
+         * @param id: id
+         * @param config: 绑定到view的其他配置
+         */
+        openTab: function (xtype, title, id, config) {
+            var mainTab = Ext.getCmp('main-tab-panel');
+            var panel = mainTab.query('[tabId="' + id + '"]')[0];
+            if (!panel) {
+                panel = Ext.create('saas.view.core.tab.Panel', {
+                    tabId: id,
+                    title: title,
+                    viewType: xtype,
+                    viewConfig: config
+                });
+
+                Ext.suspendLayouts();
+                mainTab.setActiveTab(mainTab.add(panel));
+                Ext.resumeLayouts(true);
+            } else {
+                panel.viewConfig = config;
+                mainTab.setActiveTab(panel);
+            }
+        },
+
+        /**
+         * 重设tab标题
+         */
+        refreshTabTitle: function (id, title) {
+            var currentTab = this.getCurrentTab();
+            currentTab.tabId = id;
+            currentTab.setTitle(title);
+        },
+
+        /**
+         * 获得当前Tab
+         */
+        getCurrentTab: function () {
+            var mainTab = Ext.getCmp('main-tab-panel');
+            var currentTab = mainTab.getActiveTab();
+
+            return currentTab;
+        },
+
+        /**
+         * 显示toast提示(无需用户操作)
+         * @param content: 内容
+         * @param title: 标题
+         * 
+         */
+        showToast: function (content, title) {
+            Ext.toast({
+                html: content,
+                title: title,
+                closable: false,
+                align: 't',
+                slideDUration: 400,
+                maxWidth: 400
+            });
+        },
+
+        /**
+         * 显示警告(需要选择是、否)
+         * @param title: 标题
+         * @param message: 内容
+         * @return : Promise
+         */
+        showConfirm: function (title, message) {
+            return new Ext.Promise(function (resolve, reject) {
+                Ext.MessageBox.confirm(title, message, function (buttonId) {
+                    return resolve(buttonId);
+                });
+            })
+        },
+
+        warnMsg: function (msg, fn) {
+            Ext.MessageBox.show({
+                title: '提示',
+                msg: msg,
+                buttons: Ext.Msg.YESNO,
+                icon: Ext.Msg.WARNING,
+                fn: fn
+            });
+        },
+
+        deleteWarn: function (msg, fn) {
+            Ext.MessageBox.show({
+                title: '提示',
+                msg: msg || '确定要删除当前表单?',
+                buttons: Ext.Msg.YESNO,
+                icon: Ext.Msg.WARNING,
+                fn: fn,
+                renderTo: Ext.getCmp('main-tab-panel').getActiveTab().getEl()
             });
-        })
-    },
+        },
+
+        /**
+         * 判断字符串是否日期字符串
+         * 需要满足格式 yyyy-MM-dd hh:mm:ss
+         * 或者yyyy-M-d h:m:s
+         * @param str: 字符串
+         * @returns Boolean
+         */
+        isDateString: function (str) {
+            return (/^(\d{4})-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/).test(str);
+        },
+
+        getCurrentUse: function () {
+            return saas.util.State.get('session').account;
+        },
+
+        /**
+         * 发起Ajax请求
+         * @param config: 请求参数
+         */
+        request: function (config) {
+            var url = config.url,
+                params = config.params,
+                async = config.async || true,
+                    method = config.method || 'GET',
+                    timeout = config.timeout || 8000,
+                    defaultHeaders = {
+                        'Access-Control-Allow-Origin': '*',
+                        "Content-Type": 'application/json;charset=UTF-8'
+                    };
+            return new Ext.Promise(function (resolve, reject) {
+                Ext.Ajax.request({
+                    url: url,
+                    params: params,
+                    async: async,
+                    method: method,
+                    timeout: timeout,
+                    headers: Ext.apply(defaultHeaders, config.headers),
+                    success: function (response, opts) {
+                        var res = Ext.decode(response.responseText);
+                        if (res.success) {
+                            return resolve(res);
+                        } else {
+                            console.error('server request failure with code ' + res.code + '.');
+                            console.error('failure message: ' + res.message);
+                            return reject(res);
+                        }
+                    },
+                    failure: function (response, opts) {
+                        console.error('server-side failure with status code ' + response);
+                        return reject(response);
+                    }
+                });
+            })
+        },
+    }
 });

+ 3 - 3
frontend/saas-web/app/util/Errors.js

@@ -42,16 +42,16 @@ Ext.define('saas.util.Errors', {
                 if (error.code === -32096) {    // READONLY_SESSION
                     // The session is read-only (demo version), let's display a temporary message
                     // and return false since this exception should not be considered as an error.
-                    showToast(error.message);
+                    saas.util.BaseUtil.showToast(error.message);
                     return false;
                 }
                 if (error.code === -32001 && form) {
                     form.setErrors(this.toForm(error));
                 } else {
-                    showToast(error.name + ' Error:' + error.message);
+                    saas.util.BaseUtil.showToast(error.name + ' Error:' + error.message);
                 }
             } else if (Ext.isString(error)) {
-                showToast('Error:' + error);
+                saas.util.BaseUtil.showToast('Error:' + error);
             }
 
             return true;

+ 228 - 227
frontend/saas-web/app/util/FormUtil.js

@@ -1,270 +1,271 @@
 Ext.define('saas.util.FormUtil', {
 
-    BaseUtil: Ext.create('saas.util.BaseUtil'),
+    statics: {
 
-    // 请求页面组件接口模板
-    baseUrl: '/api/ui/co_view/config?name={viewName}',
-    // 模板替换正则
-    urlRe: /(.*){viewName}(.*)/g,
-    
-    /**
-     * 获得form的字段配置
-     * @param form: form组件
-     * @param url: url
-     */
-    setItems: function(form) {
-        var me = this,
-        viewName = form.viewName,
-        defaultItems = form.defaultItems,
-        brr = [],
-        formModel = form.getViewModel(),
-        url = me.baseUrl.replace(me.urlRe, '$1' + viewName);
-        
-        brr = brr.concat(form.defaultItems);
+        // 请求页面组件接口模板
+        baseUrl: '/api/ui/co_view/config?name={viewName}',
+        // 模板替换正则
+        urlRe: /(.*){viewName}(.*)/g,
 
-        this.BaseUtil.request({url, async: false})
-        .then(function(res) {
-            if(res.success) {
-                var config = res.data || true, items = defaultItems || [];
-                if(config) {
-                    var cusItems = config.items || [];
-                    Ext.Array.each(cusItems, function(cusItem) {
-                        var item = items.find(function(item) {
-                            return item.name == cusItem.name;
-                        });
-                        Ext.apply(item, cusItem);
-                    });
-                    Ext.Array.each(items, function(item) {
-
-                        // 设置必填
-                        if(item.allowBlank==false){
-                            // TODO 需要判断类型
-                            item.beforeLabelTextTpl = "<font color=\"red\" style=\"position:relative; top:2px;right:2px; font-weight: bolder;\">*</font>";
-                        }
+        /**
+         * 获得form的字段配置
+         * @param form: form组件
+         * @param url: url
+         */
+        setItems: function(form) {
+            var me = this,
+            viewName = form.viewName,
+            defaultItems = form.defaultItems,
+            brr = [],
+            formModel = form.getViewModel(),
+            url = me.baseUrl.replace(me.urlRe, '$1' + viewName);
+            
+            brr = brr.concat(form.defaultItems);
 
-                        if(item.xtype == 'textfield') {
-                            Ext.applyIf(item, {
-                                maxLength: 50
-                            });
-                        }
-                        
-                        if(item.xtype == 'datefield') {
-                            Ext.applyIf(item, {
-                                editable: false,
-                                format: 'Y-m-d'
+            saas.util.BaseUtil.request({url, async: false})
+            .then(function(res) {
+                if(res.success) {
+                    var config = res.data || true, items = defaultItems || [];
+                    if(config) {
+                        var cusItems = config.items || [];
+                        Ext.Array.each(cusItems, function(cusItem) {
+                            var item = items.find(function(item) {
+                                return item.name == cusItem.name;
                             });
-                        }
+                            Ext.apply(item, cusItem);
+                        });
+                        Ext.Array.each(items, function(item) {
 
-                        if(item.xtype == 'numberfield') {
-                            Ext.applyIf(item, {
-                                hideTrigger: true, // 隐藏trigger
-                                mouseWheelEnabled: false // 取消滚轮事件
-                            });
-                            // 设置默认值为0
-                            formModel.set(item.name, 0);
-                        }
+                            // 设置必填
+                            if(item.allowBlank==false){
+                                // TODO 需要判断类型
+                                item.beforeLabelTextTpl = "<font color=\"red\" style=\"position:relative; top:2px;right:2px; font-weight: bolder;\">*</font>";
+                            }
 
-                        // 如果是从表为其绑定store
-                        if(item.xtype == 'detailGridField') {
-                            var index = form.detailCount;
-                            var columns = item.columns,
-                            cnames = columns.filter(function(c) {
-                                return c.dataIndex && !c.ignore;
-                            }).map(function(c) {
-                                return c.dataIndex
-                            }),
-                            defaultValueColumns = {};
+                            if(item.xtype == 'textfield') {
+                                Ext.applyIf(item, {
+                                    maxLength: 50
+                                });
+                            }
+                            
+                            if(item.xtype == 'datefield') {
+                                Ext.applyIf(item, {
+                                    editable: false,
+                                    format: 'Y-m-d'
+                                });
+                            }
 
-                            Ext.Array.each(columns, function(c) {
+                            if(item.xtype == 'numberfield') {
+                                Ext.applyIf(item, {
+                                    hideTrigger: true, // 隐藏trigger
+                                    mouseWheelEnabled: false // 取消滚轮事件
+                                });
+                                // 设置默认值为0
+                                formModel.set(item.name, 0);
+                            }
 
-                                if(c.dataIndex && c.defaultValue) {
-                                    defaultValueColumns[c.dataIndex] = c.defaultValue;
-                                }
+                            // 如果是从表为其绑定store
+                            if(item.xtype == 'detailGridField') {
+                                var index = form.detailCount;
+                                var columns = item.columns,
+                                cnames = columns.filter(function(c) {
+                                    return c.dataIndex && !c.ignore;
+                                }).map(function(c) {
+                                    return c.dataIndex
+                                }),
+                                defaultValueColumns = {};
 
-                                // 不可锁定
-                                Ext.applyIf(c, {
-                                    lockable: false,
-                                    width: 120
-                                });
+                                Ext.Array.each(columns, function(c) {
 
-                                //必填
-                                Ext.applyIf(c, {
-                                    allowBlank: true
-                                });
-                                if(!c.allowBlank){
-                                    c.cls = 'x-grid-necessary';
-                                }
+                                    if(c.dataIndex && c.defaultValue) {
+                                        defaultValueColumns[c.dataIndex] = c.defaultValue;
+                                    }
 
-                                if(c.xtype == 'textfield') {
-                                    Ext.applyIf(c, {
-                                        maxLength: 50
-                                    });
-                                }else if(c.xtype == 'datecolumn') {
+                                    // 不可锁定
                                     Ext.applyIf(c, {
-                                        format: 'Y-m-d'
+                                        lockable: false,
+                                        width: 120
                                     });
-                                }else if(c.xtype == 'numbercolumn') {
+
+                                    //必填
                                     Ext.applyIf(c, {
-                                        align: 'end'
+                                        allowBlank: true
                                     });
-                                }
-                                
-                                var editor = c.editor;
-                                if(editor) {
-                                    Ext.applyIf(editor, {
-                                        selectOnFocus: true
-                                    });
-                                    if(editor.xtype == 'numberfield') {
-                                        Ext.applyIf(editor, {
-                                            hideTrigger: true, // 隐藏trigger
-                                            mouseWheelEnabled: false // 取消滚轮事件
+                                    if(!c.allowBlank){
+                                        c.cls = 'x-grid-necessary';
+                                    }
+
+                                    if(c.xtype == 'textfield') {
+                                        Ext.applyIf(c, {
+                                            maxLength: 50
                                         });
-                                    }else if(editor.xtype == 'datefield') {
-                                        Ext.apply(editor, {
+                                    }else if(c.xtype == 'datecolumn') {
+                                        Ext.applyIf(c, {
                                             format: 'Y-m-d'
                                         });
+                                    }else if(c.xtype == 'numbercolumn') {
+                                        Ext.applyIf(c, {
+                                            align: 'end'
+                                        });
+                                    }
+                                    
+                                    var editor = c.editor;
+                                    if(editor) {
                                         Ext.applyIf(editor, {
-                                            editable: false
+                                            selectOnFocus: true
                                         });
+                                        if(editor.xtype == 'numberfield') {
+                                            Ext.applyIf(editor, {
+                                                hideTrigger: true, // 隐藏trigger
+                                                mouseWheelEnabled: false // 取消滚轮事件
+                                            });
+                                        }else if(editor.xtype == 'datefield') {
+                                            Ext.apply(editor, {
+                                                format: 'Y-m-d'
+                                            });
+                                            Ext.applyIf(editor, {
+                                                editable: false
+                                            });
+                                        }
                                     }
-                                }
-                            });
-
-                            if(columns[columns.length - 1].flex != 1) {
-                                columns.push({
-                                    flex: 1,
-                                    allowBlank: true
                                 });
-                            }
 
-                            cnames.push(item.detnoColumn);
-
-                            formModel.set('detail' + index + '.detailBindFields', cnames);
-                            item.bind = {
-                                store: '{detail' + index + '.detailStore}'
-                            };     
-                            formModel.set('detail' + index + '.detailStore', Ext.create('Ext.data.Store', {
-                                model:item.storeModel,
-                                data: [],
-                                listeners: {
-                                    add: function(store, records, index, eOpts) {
-                                        Ext.Array.each(records, function(r) {
-                                            for(k in defaultValueColumns) {
-                                                r.set(k, defaultValueColumns[k]);
-                                            }
-                                            r.commit();
-                                        });
-                                    }
+                                if(columns[columns.length - 1].flex != 1) {
+                                    columns.push({
+                                        flex: 1,
+                                        allowBlank: true
+                                    });
                                 }
-                            }));
 
-                            form.detailCount++;
-                        }
-                    });
-                }
-                return form.addItems(items);
-            }else {
-                return []
-            }
-        })
-        .then(function(items) {
-            form.fireEvent('afterSetItems', form, items);
-        })
-        .then(function() {
-            me.loadData(form);
-        })
-        .catch(function(response) {
-            showToast('错误:' + response.message);
-            console.error(response);
-        });
+                                cnames.push(item.detnoColumn);
 
-    },
+                                formModel.set('detail' + index + '.detailBindFields', cnames);
+                                item.bind = {
+                                    store: '{detail' + index + '.detailStore}'
+                                };     
+                                formModel.set('detail' + index + '.detailStore', Ext.create('Ext.data.Store', {
+                                    model:item.storeModel,
+                                    data: [],
+                                    listeners: {
+                                        add: function(store, records, index, eOpts) {
+                                            Ext.Array.each(records, function(r) {
+                                                for(k in defaultValueColumns) {
+                                                    r.set(k, defaultValueColumns[k]);
+                                                }
+                                                r.commit();
+                                            });
+                                        }
+                                    }
+                                }));
 
-    loadData: function(form) {
-        var me = this;
-        form.setLoading(true);
-        if(form.initId && form.initId!=0) {
-            var url = form._readUrl + form.initId;
-            me.BaseUtil.request({url })
-            .then(function(res) {
-                form.setLoading(false);
-                if(res.success) {
-                    var d = res.data;
-                    var o = {
-                        main: d.main
-                    };
-                    if(d.hasOwnProperty('items')) {
-                        o.detail0 = d.items;
-                    }else {
-                        var idx = 1;
-                        while(d.hasOwnProperty('items' + idx)) {
-                            o['detail' + (idx - 1)] = d['items' + idx];
-                            idx++;
-                        }
+                                form.detailCount++;
+                            }
+                        });
                     }
-                    form.initFormData(o);
-                    form.fireEvent('load', form, o);
+                    return form.addItems(items);
+                }else {
+                    return []
                 }
             })
+            .then(function(items) {
+                form.fireEvent('afterSetItems', form, items);
+            })
+            .then(function() {
+                me.loadData(form);
+            })
             .catch(function(response) {
-                form.setLoading(false);
+                saas.util.BaseUtil.showToast('错误:' + response.message);
                 console.error(response);
             });
-        }else{
-            //取后台编号
-            me.BaseUtil.request({
-                url: '/api/commons/number/getMaxnumber',
-                headers: {
-                    "Content-Type": 'application/x-www-form-urlencoded;charset=UTF-8'
-                },
-                params: {
-                    caller:form.caller
-                },
-                method: 'POST',
-            }).then(function(res) {
-                form.setLoading(false);
-                if(res.success){
-                    var code = res.data;
-                    var viewModel = form.getViewModel();
-                    var detailGrids = form.query('detailGridField');
 
-                    if(code){
-                        var o = {};
-                        o[form._codeField] = code;
+        },
 
-                        var formData = {main: {}};
-                        Ext.apply(formData.main, o);
-                        Ext.Array.each(detailGrids, function(grid, index) {
-                            var detno = 0;
-                            var detnoColumn = grid.detnoColumn;
-                            var datas = [];
-                            
-                            Ext.Array.each(new Array(5), function() {
-                                detno += 1;
-                                var data = {};
-                                data[detnoColumn] = detno;
-                                datas.push(data);
-                            })
-                            formData['detail' + index] = datas;
-                        });
+        loadData: function(form) {
+            var me = this;
+            form.setLoading(true);
+            if(form.initId && form.initId!=0) {
+                var url = form._readUrl + form.initId;
+                saas.util.BaseUtil.request({url })
+                .then(function(res) {
+                    form.setLoading(false);
+                    if(res.success) {
+                        var d = res.data;
+                        var o = {
+                            main: d.main
+                        };
+                        if(d.hasOwnProperty('items')) {
+                            o.detail0 = d.items;
+                        }else {
+                            var idx = 1;
+                            while(d.hasOwnProperty('items' + idx)) {
+                                o['detail' + (idx - 1)] = d['items' + idx];
+                                idx++;
+                            }
+                        }
+                        form.initFormData(o);
+                        form.fireEvent('load', form, o);
+                    }
+                })
+                .catch(function(response) {
+                    form.setLoading(false);
+                    console.error(response);
+                });
+            }else{
+                //取后台编号
+                saas.util.BaseUtil.request({
+                    url: '/api/commons/number/getMaxnumber',
+                    headers: {
+                        "Content-Type": 'application/x-www-form-urlencoded;charset=UTF-8'
+                    },
+                    params: {
+                        caller:form.caller
+                    },
+                    method: 'POST',
+                }).then(function(res) {
+                    form.setLoading(false);
+                    if(res.success){
+                        var code = res.data;
+                        var viewModel = form.getViewModel();
+                        var detailGrids = form.query('detailGridField');
+
+                        if(code){
+                            var o = {};
+                            o[form._codeField] = code;
+
+                            var formData = {main: {}};
+                            Ext.apply(formData.main, o);
+                            Ext.Array.each(detailGrids, function(grid, index) {
+                                var detno = 0;
+                                var detnoColumn = grid.detnoColumn;
+                                var datas = [];
+                                
+                                Ext.Array.each(new Array(5), function() {
+                                    detno += 1;
+                                    var data = {};
+                                    data[detnoColumn] = detno;
+                                    datas.push(data);
+                                })
+                                formData['detail' + index] = datas;
+                            });
 
-                        return formData;
+                            return formData;
+                        }else {
+                            throw new Error('请求单据编号错误');
+                        }
+                    }
+                }).then(function(formData) {
+                    var initData = form.initData;
+                    if(initData) {
+                        Ext.apply(initData.main, formData.main);
+                        form.setFormData(initData);
                     }else {
-                        throw new Error('请求单据编号错误');
+                        form.initFormData(formData);
                     }
-                }
-            }).then(function(formData) {
-                var initData = form.initData;
-                if(initData) {
-                    Ext.apply(initData.main, formData.main);
-                    form.setFormData(initData);
-                }else {
-                    form.initFormData(formData);
-                }
-            }).catch(function(res) {
-                showToast(res.message);
-                form.setLoading(false);
-            })
+                }).catch(function(res) {
+                    saas.util.BaseUtil.showToast(res.message);
+                    form.setLoading(false);
+                })
+            }
         }
     }
 });

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

@@ -39,7 +39,7 @@ Ext.define('saas.view.auth.LoginController', {
             })
             .catch(function(error) {
                 view.isMasked() && view.unmask();
-                showToast(error.message);
+                saas.util.BaseUtil.showToast(error.message);
             });
     },
 
@@ -61,7 +61,7 @@ Ext.define('saas.view.auth.LoginController', {
 				me.fireEvent('login', newSession);
             })
             .catch(function(error) {
-                showToast(error.message);
+                saas.util.BaseUtil.showToast(error.message);
             })
             .then(function() {
                 view.isMasked() && view.unmask();

+ 1 - 1
frontend/saas-web/app/view/core/base/BasePanelController.js

@@ -22,7 +22,7 @@ Ext.define('saas.view.core.base.BasePanelController', {
     add: function(){
         var form = this.getView();
         var id = form.xtype + '_add';
-        openTab(form.xtype,'新增' + form._title,id);
+        saas.util.BaseUtil.openTab(form.xtype,'新增' + form._title,id);
     },
 
     getCondition: function(items) {

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

@@ -77,7 +77,7 @@ Ext.define('saas.view.core.base.GridPanel', {
                         text:'新增',
                         handler:function(b){
                             var form = b.ownerCt.ownerCt.ownerCt;
-                            openTab(form._formXtype, '新增' + form._title, form._formXtype+'_add'); 
+                            saas.util.BaseUtil.openTab(form._formXtype, '新增' + form._title, form._formXtype+'_add'); 
                         }
                     }, {
                         text: '导入',
@@ -123,7 +123,7 @@ Ext.define('saas.view.core.base.GridPanel', {
                         text: '删除',
                         handler: function(){
                             var form = this.ownerCt.ownerCt.ownerCt;
-                            deleteWarn(form._deleteMsg,function(btn){
+                            saas.util.BaseUtil.deleteWarn(form._deleteMsg,function(btn){
                                 if(btn == 'yes'){
                                     me.onVastDeal(form._batchDeleteUrl);
                                 }
@@ -154,27 +154,27 @@ Ext.define('saas.view.core.base.GridPanel', {
         var grid = this;
         var data = grid.getGridSelected(type);
         if(!data){
-            showToast('请勾选符合条件的行进行操作。');
+            saas.util.BaseUtil.showToast('请勾选符合条件的行进行操作。');
             return false;
         }
         if(data&&data.length>0){
             var params = JSON.stringify({baseDTOs:data});
-            form.BaseUtil.request({
+            saas.util.BaseUtil.request({
                     url: url,
                     params: params,
                     method: 'POST',
                     async:false
                 })
                 .then(function() {
-                    showToast('操作成功');
+                    saas.util.BaseUtil.showToast('操作成功');
                     grid.store.load();
                 })
                 .catch(function(res) {
                     console.error(res);
-                    showToast('操作失败: ' + res.message);
+                    saas.util.BaseUtil.showToast('操作失败: ' + res.message);
                 });
         }else{
-            showToast('请勾选至少一条明细。');
+            saas.util.BaseUtil.showToast('请勾选至少一条明细。');
         }
     },
 
@@ -194,25 +194,25 @@ Ext.define('saas.view.core.base.GridPanel', {
             if(classList.indexOf('fa-pencil')>-1){
                 var config = {};
                 config.initId = record.get('id');
-                openTab(form._formXtype, '修改'+form._title, form._formXtype+config.initId, config);
+                saas.util.BaseUtil.openTab(form._formXtype, '修改'+form._title, form._formXtype+config.initId, config);
             }else if(classList.indexOf('fa-trash-o')>-1){
                 //删除
                 var id = record.get('id');
                 if(id){
-                    form.BaseUtil.request({
+                    saas.util.BaseUtil.request({
                         url: form._deleteUrl+id,
                         method: 'POST',
                     })
                     .then(function(localJson) {
                         if(localJson.success){
                             //解析参数
-                            showToast('删除成功');
+                            saas.util.BaseUtil.showToast('删除成功');
                             view.ownerCt.store.load();
                         }
                     })
                     .catch(function(res) {
                         console.error(res);
-                        showToast('删除失败: ' + res.message);
+                        saas.util.BaseUtil.showToast('删除失败: ' + res.message);
                     });
                 }
             }

+ 1 - 1
frontend/saas-web/app/view/core/dbfind/DbfindGridPanel.js

@@ -74,7 +74,7 @@ Ext.define('saas.view.core.dbfind.DbfindGridPanel', {
                         handler:function(b){
                             var grid = me;
                             var trigger = grid.ownerCt.trigger;
-                            openTab(trigger.addXtype, '新增'+trigger.addTitle,trigger.addXtype + '_add');
+                            saas.util.BaseUtil.openTab(trigger.addXtype, '新增'+trigger.addTitle,trigger.addXtype + '_add');
                         }
                     }])
                 },{

+ 1 - 1
frontend/saas-web/app/view/core/dbfind/MultiDbfindGridPanel.js

@@ -113,7 +113,7 @@ Ext.define('saas.view.core.dbfind.MultiDbfindGridPanel', {
                         handler:function(b){
                             var grid = me;
                             var trigger = grid.ownerCt.trigger;
-                            openTab(trigger.addXtype, '新增'+trigger.addTitle,trigger.addXtype + '_add');
+                            saas.util.BaseUtil.openTab(trigger.addXtype, '新增'+trigger.addTitle,trigger.addXtype + '_add');
                         }
                     },{
                         xtype:'button',

+ 3 - 7
frontend/saas-web/app/view/core/form/FormPanel.js

@@ -7,10 +7,6 @@ Ext.define('saas.view.core.form.FormPanel', {
 
     cls: 'x-core-form',
 
-    //工具类
-    FormUtil: Ext.create('saas.util.FormUtil'),
-    BaseUtil: Ext.create('saas.util.BaseUtil'),
-
     //字段属性
     _codeField: '',
     _statusField: '',
@@ -53,7 +49,7 @@ Ext.define('saas.view.core.form.FormPanel', {
         auditTexts = me.auditTexts;
 
         me.initViewModel();
-        me.FormUtil.setItems(me);
+        saas.util.FormUtil.setItems(me);
 
         me.defaultBtns = me.defaultBtns || [{
             cls: 'x-formpanel-btn-orange',
@@ -198,8 +194,8 @@ Ext.define('saas.view.core.form.FormPanel', {
         viewModel.set(codeField, '');
         viewModel.set('createTime', Ext.Date.format(new Date(), 'Y-m-d H:i:s'));
         viewModel.set('updateTime', Ext.Date.format(new Date(), 'Y-m-d H:i:s'));
-        viewModel.set('creatorId', getCurrentUse().id);
-        viewModel.set('creator', getCurrentUse().realname);
+        viewModel.set('creatorId', saas.util.BaseUtil.getCurrentUse().id);
+        viewModel.set('creator', saas.util.BaseUtil.getCurrentUse().realname);
 
         if (statusCodeField) {
             var o = {};

+ 27 - 30
frontend/saas-web/app/view/core/form/FormPanelController.js

@@ -2,9 +2,6 @@ Ext.define('saas.view.core.form.FormPanelController', {
     extend: 'Ext.app.ViewController',
     alias: 'controller.core-form-formpanel',
 
-    BaseUtil: Ext.create('saas.util.BaseUtil'),
-    FormUtil: Ext.create('saas.util.FormUtil'),
-
     auditBtnClick: function() {
         var me = this,
         form = me.getView(),
@@ -18,7 +15,7 @@ Ext.define('saas.view.core.form.FormPanelController', {
     add: function(){
         var form = this.getView();
         var id = form.xtype + '-add';
-        openTab(form.xtype,'新增' + form._title, id);
+        saas.util.BaseUtil.openTab(form.xtype,'新增' + form._title, id);
     },
 
     onCopy: function() {
@@ -28,7 +25,7 @@ Ext.define('saas.view.core.form.FormPanelController', {
 
         var formData = me.initCopyData(form.getFormData());
 
-        openTab(form.xtype,'新增' + form._title, id, {initData: formData});
+        saas.util.BaseUtil.openTab(form.xtype,'新增' + form._title, id, {initData: formData});
     },
 
     initCopyData: function(formData) {
@@ -47,7 +44,7 @@ Ext.define('saas.view.core.form.FormPanelController', {
 
         for(var k in main) {
             // 主表日期改为当前日期
-            if(isDateString(main[k])) {
+            if(saas.util.BaseUtil.isDateString(main[k])) {
                 main[k] = Ext.Date.format(new Date, 'Y-m-d H:i:s');
             }
         }
@@ -61,7 +58,7 @@ Ext.define('saas.view.core.form.FormPanelController', {
                     // 从表id清空
                     delete d['id'];
                     // 从表日期清空
-                    if(isDateString(d[k])) {
+                    if(saas.util.BaseUtil.isDateString(d[k])) {
                         d[k] = '';
                     }
                 }
@@ -87,9 +84,9 @@ Ext.define('saas.view.core.form.FormPanelController', {
                 return false;
             }
 
-            deleteWarn(form._deleteMsg,function(btn){
+            saas.util.BaseUtil.deleteWarn(form._deleteMsg,function(btn){
                 if(btn == 'yes'){
-                    me.BaseUtil.request({
+                    saas.util.BaseUtil.request({
                         url: form._deleteUrl+id,
                         method: 'POST',
                     })
@@ -98,12 +95,12 @@ Ext.define('saas.view.core.form.FormPanelController', {
                             var mainTab = Ext.getCmp('main-tab-panel');
                             mainTab.getActiveTab().close();
                             //解析参数
-                            showToast('删除成功');
+                            saas.util.BaseUtil.showToast('删除成功');
                         }
                     })
                     .catch(function(res) {
                         console.error(res);
-                        showToast('删除失败: ' + res.message);
+                        saas.util.BaseUtil.showToast('删除失败: ' + res.message);
                     });
                 }
             });
@@ -116,7 +113,7 @@ Ext.define('saas.view.core.form.FormPanelController', {
 
         var valid = form.isValid();
         if(!valid) {
-            showToast(form.invalidText);
+            saas.util.BaseUtil.showToast(form.invalidText);
             return false;
         }
 
@@ -151,7 +148,7 @@ Ext.define('saas.view.core.form.FormPanelController', {
             delete params.items1;
         }
 
-        me.BaseUtil.request({
+        saas.util.BaseUtil.request({
             url: form._saveUrl,
             params: JSON.stringify(params),
             method: 'POST',
@@ -161,20 +158,20 @@ Ext.define('saas.view.core.form.FormPanelController', {
                 var id = localJson.data.id;
                 var code = localJson.data.code;
                 form.initId = id;
-                form.FormUtil.loadData(form);
-                showToast('保存成功');
+                saas.util.FormUtil.loadData(form);
+                saas.util.BaseUtil.showToast('保存成功');
 
                 var newId = form.xtype + '-' + id;
                 var newTitle = form._title + '(' + code + ')';
 
-                refreshTabTitle(newId, newTitle);
+                saas.util.BaseUtil.refreshTabTitle(newId, newTitle);
 
                 form.fireEvent('aftersave', true, form, localJson);
             }
         })
         .catch(function(res) {
             console.error(res);
-            showToast('保存失败: ' + res.message);
+            saas.util.BaseUtil.showToast('保存失败: ' + res.message);
             form.fireEvent('aftersave', false, form, res);
         });
     },
@@ -188,7 +185,7 @@ Ext.define('saas.view.core.form.FormPanelController', {
         var dirty = form.isDirty();
 
         if(id && dirty) {
-            showConfirm('提示', form.dirtyAuditText)
+            saas.util.BaseUtil.showConfirm('提示', form.dirtyAuditText)
             .then(function(yes) {
                 if(yes == 'yes') {
                     me.onSave();
@@ -200,7 +197,7 @@ Ext.define('saas.view.core.form.FormPanelController', {
         var valid = form.isValid();
 
         if(!valid) {
-            showToast(form.invalidText);
+            saas.util.BaseUtil.showToast(form.invalidText);
             return false;
         }
 
@@ -234,7 +231,7 @@ Ext.define('saas.view.core.form.FormPanelController', {
             delete params.items1;
         }
 
-        me.BaseUtil.request({
+        saas.util.BaseUtil.request({
             url: form._auditUrl,
             params: JSON.stringify(params),
             method: 'POST',
@@ -251,11 +248,11 @@ Ext.define('saas.view.core.form.FormPanelController', {
                     var newId = form.xtype + '-' + id;
                     var newTitle = form._title + '(' + code + ')';
 
-                    refreshTabTitle(newId, newTitle);
+                    saas.util.BaseUtil.refreshTabTitle(newId, newTitle);
                 }
-                form.FormUtil.loadData(form);
+                saas.util.FormUtil.loadData(form);
                 form.setEditable(false);
-                showToast('审核成功' + (localJson.message ? ': ' + localJson.message : ''));
+                saas.util.BaseUtil.showToast('审核成功' + (localJson.message ? ': ' + localJson.message : ''));
                 form.fireEvent('afteraudit', true, form, localJson);
             }
         })
@@ -270,10 +267,10 @@ Ext.define('saas.view.core.form.FormPanelController', {
                 var newId = form.xtype + '-' + id;
                 var newTitle = form._title + '(' + code + ')';
 
-                refreshTabTitle(newId, newTitle);
-                form.FormUtil.loadData(form);
+                saas.util.BaseUtil.refreshTabTitle(newId, newTitle);
+                saas.util.FormUtil.loadData(form);
             }
-            showToast('审核失败: ' + res.message);
+            saas.util.BaseUtil.showToast('审核失败: ' + res.message);
             form.fireEvent('afteraudit', false, form, res);
         });
     },
@@ -301,20 +298,20 @@ Ext.define('saas.view.core.form.FormPanelController', {
         var id = viewModel.get(form._idField);
         var code = viewModel.get(form._codeField);
 
-        me.BaseUtil.request({
+        saas.util.BaseUtil.request({
             url: form._unAuditUrl+id,
             method: 'POST',
         })
         .then(function(localJson) {
             if(localJson.success){
                 //解析参数
-                showToast('反审核成功');
-                form.FormUtil.loadData(form);
+                saas.util.BaseUtil.showToast('反审核成功');
+                saas.util.FormUtil.loadData(form);
             }
         })
         .catch(function(res) {
             console.error(res);
-            showToast('反审核失败: ' + res.message);
+            saas.util.BaseUtil.showToast('反审核失败: ' + res.message);
         });
     },
 

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

@@ -2,8 +2,6 @@ Ext.define('saas.view.core.form.field.DetailGridField', {
     extend: 'Ext.grid.Panel',
     xtype: 'detailGridField',
 
-    BaseUtil: Ext.create('saas.util.BaseUtil'),
-
     cls: 'x-detailgridfield',
 
     border: 1,
@@ -262,10 +260,10 @@ Ext.define('saas.view.core.form.field.DetailGridField', {
         var id = selectedRecord.data.id;
 
         if(id&&id!=0&&(typeof id) == 'number') {
-            showConfirm('警告', '确定删除该条明细')
+            saas.util.BaseUtil.showConfirm('警告', '确定删除该条明细')
             .then(function(yes) {
                 if(yes == 'yes') {
-                    me.BaseUtil.request({
+                    saas.util.BaseUtil.request({
                         url: me.deleteDetailUrl+id,
                         params: '',
                         method: 'POST',
@@ -274,7 +272,7 @@ Ext.define('saas.view.core.form.field.DetailGridField', {
                         store.remove(selectedRecord);
                         me.fireEvent('validChange');
                         //解析参数
-                        showToast('删除成功');
+                        saas.util.BaseUtil.showToast('删除成功');
                     })
                     .catch(function() {
                         me.fireEvent('validChange');

+ 4 - 6
frontend/saas-web/app/view/core/query/QueryGridPanel.js

@@ -2,8 +2,6 @@ Ext.define('saas.view.core.query.QueryGridPanel', {
     extend: 'Ext.grid.Panel',
     xtype: 'core-query-querygridpanel',
 
-    //工具类
-    BaseUtil: Ext.create('saas.util.BaseUtil'),
     //字段属性
     baseColumn: [],
     relativeColumn: [],
@@ -268,7 +266,7 @@ Ext.define('saas.view.core.query.QueryGridPanel', {
                 idValue = record.get(grid.idField),
                 codeValue = record.get(grid.codeField),
                 id = grid.addXtype + '-' + idValue;
-                openTab(grid.addXtype, grid.addTitle+"("+codeValue+")", id, {
+                saas.util.BaseUtil.openTab(grid.addXtype, grid.addTitle+"("+codeValue+")", id, {
                     initId: idValue
                 });
             }
@@ -318,7 +316,7 @@ Ext.define('saas.view.core.query.QueryGridPanel', {
         var lastIndex = _url.lastIndexOf('/');
         var caller = _url.substring(lastIndex);
         var url = '/api/commons'+caller+'/export';
-        grid.BaseUtil.request({
+        saas.util.BaseUtil.request({
             url: url,
             params: '',
             method: 'POST',
@@ -353,7 +351,7 @@ Ext.define('saas.view.core.query.QueryGridPanel', {
         var grid = btns.up('grid');
         var data = grid.getGridSelected();
         if(data&&data.length>0){
-            warnMsg("是否删除所选单据?",function(btn){
+            saas.util.BaseUtil.warnMsg("是否删除所选单据?",function(btn){
                 if(btn == 'yes'){
                     grid.vastOperation("batchDelete");
                 }
@@ -367,7 +365,7 @@ Ext.define('saas.view.core.query.QueryGridPanel', {
         var data = me.getGridSelected();
         if(data&&data.length>0){
             var params = JSON.stringify({baseDTOs:data});
-            me.BaseUtil.request({
+            saas.util.BaseUtil.request({
                 url: me.baseVastUrl+type,
                 params: params,
                 method: 'POST',

+ 1 - 1
frontend/saas-web/app/view/core/query/QueryPanelController.js

@@ -37,7 +37,7 @@ Ext.define('saas.view.core.query.QueryPanelController', {
         queryPanel = me.getView(),
         gridPanel = queryPanel.down('core-query-querygridpanel'),
         id = gridPanel.addXtype + '-add';
-        openTab(gridPanel.addXtype,'新增'+gridPanel.addTitle,id)
+        saas.util.BaseUtil.openTab(gridPanel.addXtype,'新增'+gridPanel.addTitle,id)
     },
     onReSetClick:function(btn){
         btn.ownerCt.ownerCt.reset();

+ 2 - 2
frontend/saas-web/app/view/core/report/ReportPanel.js

@@ -198,11 +198,11 @@ Ext.define('saas.view.core.report.ReportPanel', {
                     exception: function(proxy, response, operation, eOpts) {
                         if(operation.success) {
                             if(response.timedout) {
-                                showToast('请求超时');
+                                saas.util.BaseUtil.showToast('请求超时');
                             }
                         }else {
                             console.error('exception: ', response.responseJson);
-                            showToast('请求错误:' + response.responseJson);
+                            saas.util.BaseUtil.showToast('请求错误:' + response.responseJson);
                         }
                     }
                 }

+ 2 - 2
frontend/saas-web/app/view/core/tab/Controller.js

@@ -34,7 +34,7 @@ Ext.define('saas.view.core.tab.Controller', {
                 if (me.fireEvent('beforeclose', me) !== false) {
                     if (me.tabBar) {
                         if(tabView.closeConfirm && tabView.isDirty()) {
-                            showConfirm('提示', '表单数据有修改,确定要退出吗?')
+                            saas.util.BaseUtil.showConfirm('提示', '表单数据有修改,确定要退出吗?')
                             .then(function(yes) {
                                 if(yes == 'yes') {
                                     if (me.tabBar.closeTab(me) === false) {
@@ -49,7 +49,7 @@ Ext.define('saas.view.core.tab.Controller', {
                         }
                     } else {
                         if(tabView.closeConfirm == 'function' && tabView.isDirty()) {
-                            showConfirm('提示', '表单数据有修改,确定要退出吗?')
+                            saas.util.BaseUtil.showConfirm('提示', '表单数据有修改,确定要退出吗?')
                             .then(function(yes) {
                                 if(yes == 'yes') {
                                     me.fireClose();

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

@@ -344,7 +344,7 @@ Ext.define('saas.view.document.bom.FormController', {
         form = this.getView(),
         viewModel = me.getViewModel();
         
-        me.BaseUtil.request({
+        saas.util.BaseUtil.request({
             url: form._openUrl+'/'+viewModel.data.id,
             params: '',
             method: 'POST',
@@ -352,14 +352,14 @@ Ext.define('saas.view.document.bom.FormController', {
         .then(function(localJson) {
             if(localJson.success){
                 form.initId = localJson.data.id;
-                form.FormUtil.loadData(form);
+                saas.util.FormUtil.loadData(form);
                 //viewModel.set('base.editable', false);
-                showToast('启用成功');
+                saas.util.BaseUtil.showToast('启用成功');
             }
         })
         .catch(function(res) {
             console.error(res);
-            showToast('启用失败: ' + res.message);
+            saas.util.BaseUtil.showToast('启用失败: ' + res.message);
         });
     },
     unAudit: function() {
@@ -367,7 +367,7 @@ Ext.define('saas.view.document.bom.FormController', {
         form = this.getView(),
         viewModel = me.getViewModel();
         
-        me.BaseUtil.request({
+        saas.util.BaseUtil.request({
             url: form._closeUrl+'/'+viewModel.data.id,
             params: '',
             method: 'POST',
@@ -375,13 +375,13 @@ Ext.define('saas.view.document.bom.FormController', {
         .then(function(localJson) {
             if(localJson.success){
                 form.initId = localJson.data.id;
-                form.FormUtil.loadData(form);
+                saas.util.FormUtil.loadData(form);
                 // viewModel.set('base.editable', false);
-                showToast('关闭成功');
+                saas.util.BaseUtil.showToast('关闭成功');
             }
         })
         .catch(function(res) {
-            showToast('关闭失败: ' + res.message);
+            saas.util.BaseUtil.showToast('关闭失败: ' + res.message);
         });
     }
 });

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

@@ -21,22 +21,22 @@ Ext.define('saas.view.document.customer.FormController', {
         form = this.getView(),
         viewModel = me.getViewModel();
         
-        me.BaseUtil.request({
+        saas.util.BaseUtil.request({
             url: form._openUrl+'/'+viewModel.data.id,
             params: '',
             method: 'POST',
         })
         .then(function(localJson) {
             if(localJson.success){
-                showToast('启用成功');
+                saas.util.BaseUtil.showToast('启用成功');
                 form.initId = localJson.data.id;
-                form.FormUtil.loadData(form);
+                saas.util.FormUtil.loadData(form);
                 viewModel.set('base.editable', false);
             }
         })
         .catch(function(res) {
             console.error(res);
-            showToast('启用失败: ' + res.message);
+            saas.util.BaseUtil.showToast('启用失败: ' + res.message);
         });
     },
     unAudit: function() {
@@ -44,7 +44,7 @@ Ext.define('saas.view.document.customer.FormController', {
         form = this.getView(),
         viewModel = me.getViewModel();
         
-        me.BaseUtil.request({
+        saas.util.BaseUtil.request({
             url: form._closeUrl+'/'+viewModel.data.id,
             params: '',
             method: 'POST',
@@ -52,13 +52,13 @@ Ext.define('saas.view.document.customer.FormController', {
         .then(function(localJson) {
             if(localJson.success){
                 form.initId = localJson.data.id;
-                form.FormUtil.loadData(form);
+                saas.util.FormUtil.loadData(form);
                 viewModel.set('base.editable', false);
-                showToast('禁用成功');
+                saas.util.BaseUtil.showToast('禁用成功');
             }
         })
         .catch(function(res) {
-            showToast('禁用失败: ' + res.message);
+            saas.util.BaseUtil.showToast('禁用失败: ' + res.message);
         });
     }
 });

+ 8 - 8
frontend/saas-web/app/view/document/employee/FormController.js

@@ -152,7 +152,7 @@ Ext.define('saas.view.document.employee.FormController', {
         form = this.getView(),
         viewModel = me.getViewModel();
         
-        me.BaseUtil.request({
+        saas.util.BaseUtil.request({
             url: form._openUrl+'/'+viewModel.data.id,
             params: '',
             method: 'POST',
@@ -160,14 +160,14 @@ Ext.define('saas.view.document.employee.FormController', {
         .then(function(localJson) {
             if(localJson.success){
                 form.initId = localJson.data.id;
-                form.FormUtil.loadData(form);
+                saas.util.FormUtil.loadData(form);
                 viewModel.set('base.editable', false);
-                showToast('启用成功');
+                saas.util.BaseUtil.showToast('启用成功');
             }
         })
         .catch(function(res) {
             console.error(res);
-            showToast('启用失败: ' + res.message);
+            saas.util.BaseUtil.showToast('启用失败: ' + res.message);
         });
     },
     unAudit: function() {
@@ -175,7 +175,7 @@ Ext.define('saas.view.document.employee.FormController', {
         form = this.getView(),
         viewModel = me.getViewModel();
         
-        me.BaseUtil.request({
+        saas.util.BaseUtil.request({
             url: form._closeUrl+'/'+viewModel.data.id,
             params: '',
             method: 'POST',
@@ -183,14 +183,14 @@ Ext.define('saas.view.document.employee.FormController', {
         .then(function(localJson) {
             if(localJson.success){
                 form.initId = localJson.data.id;
-                form.FormUtil.loadData(form);
+                saas.util.FormUtil.loadData(form);
                 viewModel.set('base.editable', false);
-                showToast('禁用成功');
+                saas.util.BaseUtil.showToast('禁用成功');
             }
         })
         .catch(function(res) {
             console.error(res);
-            showToast('禁用失败: ' + res.message);
+            saas.util.BaseUtil.showToast('禁用失败: ' + res.message);
         });
     }
 });

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

@@ -8,8 +8,6 @@ Ext.define('KitchenSink.view.binding.ChildForm', {
     modal: true,
     width: 500,
     //工具类
-    FormUtil: Ext.create('saas.util.FormUtil'),
-    BaseUtil: Ext.create('saas.util.BaseUtil'),
     height: 260,
     listeners:{
       show:function(w){
@@ -370,7 +368,7 @@ Ext.define('KitchenSink.view.binding.ChildForm', {
         var idField = form.down('[name='+belong.keyField+']');
         params[belong.keyField] = idField.value || 0;
         //保存接口
-        this.BaseUtil.request({
+        saas.util.BaseUtil.request({
             url: belong.reqUrl,
             params: JSON.stringify(params),
             method: 'POST'
@@ -378,7 +376,7 @@ Ext.define('KitchenSink.view.binding.ChildForm', {
         .then(function(localJson) {
             me.setLoading(false);
             if(localJson.success){
-                showToast('保存成功');
+                saas.util.BaseUtil.showToast('保存成功');
                 var grid = form.ownerCt._parent.lookup('document-kind-Grid');
                 if(grid){
                     grid.store.load();
@@ -394,7 +392,7 @@ Ext.define('KitchenSink.view.binding.ChildForm', {
         .catch(function(res) {
             me.setLoading(false);
             console.error(res);
-            showToast('保存失败: ' + res.message);
+            saas.util.BaseUtil.showToast('保存失败: ' + res.message);
         });
     },
     onCancel:function(){

+ 3 - 6
frontend/saas-web/app/view/document/kind/Kind.js

@@ -10,9 +10,6 @@ Ext.define('saas.view.document.kind.Kind', {
     viewModel: {
         type: 'document-kind'
     },
-    //工具类
-    FormUtil: Ext.create('saas.util.FormUtil'),
-    BaseUtil: Ext.create('saas.util.BaseUtil'),
     defaultType:'',
     requires: [
         'Ext.button.Segmented'
@@ -287,20 +284,20 @@ Ext.define('saas.view.document.kind.Kind', {
                         //  禁用/启用
                         var form = this.ownerCt.ownerCt.ownerCt;
                         var grid = this.ownerCt.ownerCt;
-                        form.BaseUtil.request({
+                        saas.util.BaseUtil.request({
                             url: (!type?form._openUrl:form._closeUrl)+'/'+rec.get('id'),
                             params: '',
                             method: 'POST',
                         })
                         .then(function(localJson) {
                             if(localJson.success){
-                                showToast('操作成功');
+                                saas.util.BaseUtil.showToast('操作成功');
                                 grid.store.load();
                             }
                         })
                         .catch(function(res) {
                             console.error(res);
-                            showToast('操作失败: ' + res.message);
+                            saas.util.BaseUtil.showToast('操作失败: ' + res.message);
                         });
                     }
                 }]

+ 4 - 6
frontend/saas-web/app/view/document/kind/KindController.js

@@ -4,9 +4,7 @@
 Ext.define('saas.view.document.kind.KindController', {
     extend: 'Ext.app.ViewController',
     alias: 'controller.document-kind',
-    //工具类
-    FormUtil: Ext.create('saas.util.FormUtil'),
-    BaseUtil: Ext.create('saas.util.BaseUtil'),
+    
     loadDefualt:function(grid){
         var me=this,view = me.getView(),vm = me.getViewModel(),defaultKind;
         if(view.defaultType!=''){
@@ -78,19 +76,19 @@ Ext.define('saas.view.document.kind.KindController', {
         rec = grid.getStore().getAt(row);
         var keyV=rec.get(view.etc[dataKind].keyField);
         //删除接口
-        this.BaseUtil.request({
+        saas.util.BaseUtil.request({
             url: view.etc[dataKind].delUrl+'/'+keyV,
             method: 'POST'
         })
         .then(function(localJson) {
             if(localJson.success){
-                showToast('删除成功');
+                saas.util.BaseUtil.showToast('删除成功');
                 grid.store.load();
             }
         })
         .catch(function(res) {
             console.error(res);
-            showToast('删除失败: ' + res.message);
+            saas.util.BaseUtil.showToast('删除失败: ' + res.message);
         });
     },
     createDialog: function(dataKind,record) {

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

@@ -212,7 +212,7 @@ Ext.define('saas.view.document.product.FormController', {
         form = this.getView(),
         viewModel = me.getViewModel();
         
-        me.BaseUtil.request({
+        saas.util.BaseUtil.request({
             url: form._openUrl+'/'+viewModel.data.id,
             params: '',
             method: 'POST',
@@ -220,14 +220,14 @@ Ext.define('saas.view.document.product.FormController', {
         .then(function(localJson) {
             if(localJson.success){
                 form.initId = localJson.data.id;
-                form.FormUtil.loadData(form);
+                saas.util.FormUtil.loadData(form);
                 viewModel.set('base.editable', false);
-                showToast('启用成功');
+                saas.util.BaseUtil.showToast('启用成功');
             }
         })
         .catch(function(res) {
             console.error(res);
-            showToast('启用失败: ' + res.message);
+            saas.util.BaseUtil.showToast('启用失败: ' + res.message);
         });
     },
     unAudit: function() {
@@ -235,7 +235,7 @@ Ext.define('saas.view.document.product.FormController', {
         form = this.getView(),
         viewModel = me.getViewModel();
         
-        me.BaseUtil.request({
+        saas.util.BaseUtil.request({
             url: form._closeUrl+'/'+viewModel.data.id,
             params: '',
             method: 'POST',
@@ -243,14 +243,14 @@ Ext.define('saas.view.document.product.FormController', {
         .then(function(localJson) {
             if(localJson.success){
                 form.initId = localJson.data.id;
-                form.FormUtil.loadData(form);
+                saas.util.FormUtil.loadData(form);
                 viewModel.set('base.editable', false);
-                showToast('禁用成功');
+                saas.util.BaseUtil.showToast('禁用成功');
             }
         })
         .catch(function(res) {
             console.error(res);
-            showToast('禁用失败: ' + res.message);
+            saas.util.BaseUtil.showToast('禁用失败: ' + res.message);
         });
     },
     amount_change:function() {

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

@@ -20,7 +20,7 @@ Ext.define('saas.view.document.vendor.FormController', {
         form = this.getView(),
         viewModel = me.getViewModel();
         
-        me.BaseUtil.request({
+        saas.util.BaseUtil.request({
             url: form._openUrl+'/'+viewModel.data.id,
             params: '',
             method: 'POST',
@@ -28,14 +28,14 @@ Ext.define('saas.view.document.vendor.FormController', {
         .then(function(localJson) {
             if(localJson.success){
                 form.initId = localJson.data.id;
-                form.FormUtil.loadData(form);
+                saas.util.FormUtil.loadData(form);
                 viewModel.set('base.editable', false);
-                showToast('启用成功');
+                saas.util.BaseUtil.showToast('启用成功');
             }
         })
         .catch(function(res) {
             console.error(res);
-            showToast('启用失败: ' + res.message);
+            saas.util.BaseUtil.showToast('启用失败: ' + res.message);
         });
     },
     unAudit: function() {
@@ -43,7 +43,7 @@ Ext.define('saas.view.document.vendor.FormController', {
         form = this.getView(),
         viewModel = me.getViewModel();
         
-        me.BaseUtil.request({
+        saas.util.BaseUtil.request({
             url: form._closeUrl+'/'+viewModel.data.id,
             params: '',
             method: 'POST',
@@ -51,14 +51,14 @@ Ext.define('saas.view.document.vendor.FormController', {
         .then(function(localJson) {
             if(localJson.success){
                 form.initId = localJson.data.id;
-                form.FormUtil.loadData(form);
+                saas.util.FormUtil.loadData(form);
                 viewModel.set('base.editable', false);
-                showToast('禁用成功');
+                saas.util.BaseUtil.showToast('禁用成功');
             }
         })
         .catch(function(res) {
             console.error(res);
-            showToast('禁用失败: ' + res.message);
+            saas.util.BaseUtil.showToast('禁用失败: ' + res.message);
         });
     }
 });

+ 1 - 1
frontend/saas-web/app/view/home/InfoCard.js

@@ -146,7 +146,7 @@ Ext.define('saas.view.home.InfoCard', {
                 itemSelector: 'div.x-box',
                 listeners: {
                     itemclick: function(th, record, item, index, e, eOpts) {
-                        openTab(record.get('viewType'), record.get('title'), record.get('id'), {
+                        saas.util.BaseUtil.openTab(record.get('viewType'), record.get('title'), record.get('id'), {
                             simpleMode: true,
                             defaultCondition: record.get('condition')
                         });

+ 1 - 1
frontend/saas-web/app/view/main/Main.js

@@ -76,7 +76,7 @@ Ext.define('saas.view.main.Main', {
                             text: '新手导航',
                             iconCls:'x-fa fa-comment-o',
                             handler:function(){
-                               openTab('sys-guide-formpanel','新手导航', 'sys-guide-formpanel-nav');
+                               saas.util.BaseUtil.openTab('sys-guide-formpanel','新手导航', 'sys-guide-formpanel-nav');
                             }
                         },{
                             text: '用户手册',

+ 2 - 2
frontend/saas-web/app/view/main/Navigation.js

@@ -152,7 +152,7 @@ Ext.define('saas.view.main.Navigation', {
                                     tabId = 'maintab-' + type + '-' + id;
 
                                     menu.navItem.classList.remove(menu.navView.overItemCls);
-                                    openTab(viewType, tabTitle, tabId,config);
+                                    saas.util.BaseUtil.openTab(viewType, tabTitle, tabId,config);
                                     menu.hide();
                                 });
                             });
@@ -169,7 +169,7 @@ Ext.define('saas.view.main.Navigation', {
                                     tabId = viewType + '-add';
 
                                     menu.navItem.classList.remove(menu.navView.overItemCls);
-                                    openTab(viewType, tabTitle, tabId);
+                                    saas.util.BaseUtil.openTab(viewType, tabTitle, tabId);
                                     menu.hide();
                                 });
                             });

+ 1 - 1
frontend/saas-web/app/view/money/othreceipts/FormPanelController.js

@@ -200,7 +200,7 @@ Ext.define('saas.view.money.othreceipts.FormPanelController', {
 
         var valid = form.isValid();
         if(!valid) {
-            showToast(form.invalidText);
+            saas.util.BaseUtil.showToast(form.invalidText);
             return false;
         }
 

+ 1 - 1
frontend/saas-web/app/view/money/othspendings/FormPanelController.js

@@ -174,7 +174,7 @@ Ext.define('saas.view.money.othspendings.FormPanelController', {
 
         var valid = form.isValid();
         if(!valid) {
-            showToast(form.invalidText);
+            saas.util.BaseUtil.showToast(form.invalidText);
             return false;
         }
 

+ 1 - 1
frontend/saas-web/app/view/money/payBalance/FormPanel.js

@@ -399,7 +399,7 @@ Ext.define('saas.view.money.payBalance.FormPanel', {
         if(flag != 0) {
             var t = flag > 0 ? '大' : '小';
 
-            showConfirm('提示', '付款金额' + t + '于本次折扣后核销金额,是否仍要保存并审核?')
+            saas.util.BaseUtil.showConfirm('提示', '付款金额' + t + '于本次折扣后核销金额,是否仍要保存并审核?')
             .then(function(y) {
                 if(y == 'yes') {
                     controller.audit();

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

@@ -295,19 +295,19 @@ Ext.define('saas.view.money.payBalance.FormPanelController', {
         var me = this,
         form = me.getView(),
         id = form.getForm().findField(form._idField);
-        form.BaseUtil.request({
+        saas.util.BaseUtil.request({
             url: form._turnInUrl+id.value,
             method: 'GET',
         })
         .then(function(localJson) {
             if(localJson.success){
-                showToast('转单成功');
+                saas.util.BaseUtil.showToast('转单成功');
               
             }
         })
         .catch(function(res) {
             console.error(res);
-            showToast('转单失败: ' + res.message);
+            saas.util.BaseUtil.showToast('转单失败: ' + res.message);
         });
      },
 
@@ -320,7 +320,7 @@ Ext.define('saas.view.money.payBalance.FormPanelController', {
 
         var valid = form.isValid();
         if(!valid) {
-            showToast(form.invalidText);
+            saas.util.BaseUtil.showToast(form.invalidText);
             return false;
         }
 
@@ -333,7 +333,7 @@ Ext.define('saas.view.money.payBalance.FormPanelController', {
         if(flag != 0) {
             var t = flag > 0 ? '大' : '小';
 
-            showConfirm('提示', '付款金额' + t + '于本次折扣后核销金额,是否仍要保存?')
+            saas.util.BaseUtil.showConfirm('提示', '付款金额' + t + '于本次折扣后核销金额,是否仍要保存?')
             .then(function(y) {
                 if(y == 'yes') {
                     me.save();

+ 1 - 1
frontend/saas-web/app/view/money/recBalance/FormPanel.js

@@ -369,7 +369,7 @@ Ext.define('saas.view.money.recBalance.FormPanel', {
         if(flag != 0) {
             var t = flag > 0 ? '大' : '小';
 
-            showConfirm('提示', '付款金额' + t + '于本次折扣后核销金额,是否仍要保存并审核?')
+            saas.util.BaseUtil.showConfirm('提示', '付款金额' + t + '于本次折扣后核销金额,是否仍要保存并审核?')
             .then(function(y) {
                 if(y == 'yes') {
                     controller.audit();

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

@@ -373,19 +373,19 @@ Ext.define('saas.view.money.recBalance.FormPanelController', {
         var me = this,
         form = me.getView(),
         id = form.getForm().findField(form._idField);
-        form.BaseUtil.request({
+        saas.util.BaseUtil.request({
             url: form._turnInUrl+id.value,
             method: 'GET',
         })
         .then(function(localJson) {
             if(localJson.success){
-                showToast('转单成功');
+                saas.util.BaseUtil.showToast('转单成功');
               
             }
         })
         .catch(function(res) {
             console.error(res);
-            showToast('转单失败: ' + res.message);
+            saas.util.BaseUtil.showToast('转单失败: ' + res.message);
         });
      },
     onSave: function() {
@@ -397,7 +397,7 @@ Ext.define('saas.view.money.recBalance.FormPanelController', {
 
         var valid = form.isValid();
         if(!valid) {
-            showToast(form.invalidText);
+            saas.util.BaseUtil.showToast(form.invalidText);
             return false;
         }
 
@@ -411,7 +411,7 @@ Ext.define('saas.view.money.recBalance.FormPanelController', {
         if(flag != 0) {
             var t = flag > 0 ? '大' : '小';
 
-            showConfirm('提示', '收款金额' + t + '于本次折扣后核销金额,是否仍要保存?')
+            saas.util.BaseUtil.showConfirm('提示', '收款金额' + t + '于本次折扣后核销金额,是否仍要保存?')
                 .then(function(y) {
                     if(y == 'yes') {
                         me.save();

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

@@ -288,7 +288,7 @@ Ext.define('saas.view.purchase.purchase.FormPanelController', {
         var me = this,
         form = me.getView(),
         id = form.getForm().findField(form._idField);
-        form.BaseUtil.request({
+        saas.util.BaseUtil.request({
             url: form._turnInUrl+id.value,
             method: 'POST',
         })
@@ -297,15 +297,15 @@ Ext.define('saas.view.purchase.purchase.FormPanelController', {
                 var intValue = localJson.data.id,
                     codeValue= localJson.data.code,
                     name = localJson.data.name;
-                openTab('purchase-purchasein-formpanel',name+"("+codeValue+")",codeValue+intValue, {
+                saas.util.BaseUtil.openTab('purchase-purchasein-formpanel',name+"("+codeValue+")",codeValue+intValue, {
                     initId: intValue
                 });
-                showToast('转单成功');    
+                saas.util.BaseUtil.showToast('转单成功');    
             }
         })
         .catch(function(res) {
             console.error(res);
-            showToast('转单失败: ' + res.message);
+            saas.util.BaseUtil.showToast('转单失败: ' + res.message);
         });
      }
 });

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

@@ -392,7 +392,7 @@ Ext.define('saas.view.purchase.purchaseIn.FormPanel', {
         data = grid.getTrueData();
         Ext.Array.each(data,function(item){
             if(item.pd_orderprice==0){
-                showToast(item.pd_pdno+'行'+item.pd_prodcode+'物料单价为0');
+                saas.util.BaseUtil.showToast(item.pd_pdno+'行'+item.pd_prodcode+'物料单价为0');
             }
         });
         return true;

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

@@ -309,7 +309,7 @@ Ext.define('saas.view.purchase.purchaseIn.FormPanelController', {
         var me = this,
         form = me.getView(),
         id = form.getForm().findField(form._idField);
-        form.BaseUtil.request({
+        saas.util.BaseUtil.request({
             url: form._turnOutUrl+id.value,
             method: 'POST',
         })
@@ -318,16 +318,16 @@ Ext.define('saas.view.purchase.purchaseIn.FormPanelController', {
                 var intValue = localJson.data.id,
                 codeValue= localJson.data.code,
                 name = localJson.data.name;
-                openTab('purchase-purchaseout-formpanel',name+"("+codeValue+")",codeValue+intValue, {
+                saas.util.BaseUtil.openTab('purchase-purchaseout-formpanel',name+"("+codeValue+")",codeValue+intValue, {
                     initId: intValue
                 });
-                showToast('转单成功');
+                saas.util.BaseUtil.showToast('转单成功');
               
             }
         })
         .catch(function(res) {
             console.error(res);
-            showToast('转单失败: ' + res.message);
+            saas.util.BaseUtil.showToast('转单失败: ' + res.message);
         });
      }
 });

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

@@ -291,7 +291,7 @@ Ext.define('saas.view.sale.sale.FormPanelController', {
         var me = this,
         form = me.getView(),
         id = form.getForm().findField(form._idField);
-        form.BaseUtil.request({
+        saas.util.BaseUtil.request({
             url: form._turnOutUrl+id.value,
             method: 'POST',
         })
@@ -300,16 +300,16 @@ Ext.define('saas.view.sale.sale.FormPanelController', {
                 var intValue = localJson.data.id,
                     codeValue= localJson.data.code,
                     name = localJson.data.name;
-                openTab('sale-saleout-formpanel',name+"("+codeValue+")",codeValue+intValue, {
+                saas.util.BaseUtil.openTab('sale-saleout-formpanel',name+"("+codeValue+")",codeValue+intValue, {
                     initId: intValue
                 });
-                showToast('转单成功');  
-                form.FormUtil.loadData(form);
+                saas.util.BaseUtil.showToast('转单成功');  
+                saas.util.FormUtil.loadData(form);
             }
         })
         .catch(function(res) {
             console.error(res);
-            showToast('转单失败: ' + res.message);
+            saas.util.BaseUtil.showToast('转单失败: ' + res.message);
         });
      }
 });

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

@@ -289,7 +289,7 @@ Ext.define('saas.view.sale.saleout.FormPanelController', {
         var me = this,
         form = me.getView(),
         id = form.getForm().findField(form._idField);
-        form.BaseUtil.request({
+        saas.util.BaseUtil.request({
             url: form._turnInUrl+id.value,
             method: 'POST',
         })
@@ -298,16 +298,16 @@ Ext.define('saas.view.sale.saleout.FormPanelController', {
                 var intValue = localJson.data.id,
                     codeValue= localJson.data.code,
                     name = localJson.data.name;
-                openTab('sale-salein-formpanel',name+"("+codeValue+")",codeValue+intValue, {
+                saas.util.BaseUtil.openTab('sale-salein-formpanel',name+"("+codeValue+")",codeValue+intValue, {
                     initId: intValue
                 });
-                showToast('转单成功');  
-                form.FormUtil.loadData(form);  
+                saas.util.BaseUtil.showToast('转单成功');  
+                saas.util.FormUtil.loadData(form);  
             }
         })
         .catch(function(res) {
             console.error(res);
-            showToast('转单失败: ' + res.message);
+            saas.util.BaseUtil.showToast('转单失败: ' + res.message);
         });
      }
 });

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

@@ -389,7 +389,7 @@ Ext.define('saas.view.stock.make.FormPanelController', {
         store = viewModel.get('detail0').detailStore,
         loadData = new Array();;
         //请求bom资料
-        form.BaseUtil.request({
+        saas.util.BaseUtil.request({
             url: form._getBomUrl+v,
             method: 'GET',
         })
@@ -417,7 +417,7 @@ Ext.define('saas.view.stock.make.FormPanelController', {
         })
         .catch(function(res) {
             console.error(res);
-            showToast('获取BOM资料失败: ' + res.message);
+            saas.util.BaseUtil.showToast('获取BOM资料失败: ' + res.message);
         });
      }
 });

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

@@ -9,9 +9,6 @@ Ext.define('saas.view.sys.account.DataList', {
     autoScroll: true,
     frame:true,
     layout:'fit',
-    //工具类
-    FormUtil: Ext.create('saas.util.FormUtil'),
-    BaseUtil: Ext.create('saas.util.BaseUtil'),
     dataUrl:'http://192.168.253.31:8560/api/account/account/accountRole/list',                 
 
     tbar: [{
@@ -149,26 +146,26 @@ Ext.define('saas.view.sys.account.DataList', {
         var grid = this;
         var data = grid.getGridSelected(type);
         if(!data){
-            showToast('请勾选符合条件的行进行操作。');
+            saas.util.BaseUtil.showToast('请勾选符合条件的行进行操作。');
             return false;
         }
         if(data&&data.length>0){
             var params = JSON.stringify({baseDTOs:data});
-            form.BaseUtil.request({
+            saas.util.BaseUtil.request({
                     url: url,
                     params: params,
                     method: 'POST',
                     async:false
                 })
                 .then(function() {
-                    showToast('操作成功');
+                    saas.util.BaseUtil.showToast('操作成功');
                     grid.store.load();
                 })
                 .catch(function(response) {
-                    showToast('操作失败');
+                    saas.util.BaseUtil.showToast('操作失败');
                 });
         }else{
-            showToast('请勾选至少一条明细。');
+            saas.util.BaseUtil.showToast('请勾选至少一条明细。');
         }
     },
 

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

@@ -4,9 +4,6 @@ Ext.define('saas.view.sys.config.FormPanel', {
 
     controller: 'sys-config-formpanel',
     viewModel: 'sys-config-formpanel',
-    //工具类
-    FormUtil: Ext.create('saas.util.FormUtil'),
-    BaseUtil: Ext.create('saas.util.BaseUtil'),
     
     //字段属性
     _idField: 'id',
@@ -155,7 +152,7 @@ Ext.define('saas.view.sys.config.FormPanel', {
         var me = this,
         viewModel = me.getViewModel();
         var url = me._readUrl;
-        me.BaseUtil.request({url })
+        saas.util.BaseUtil.request({url })
         .then(function(res) {
             if(res.success) {
                 var d = res.data;

+ 6 - 9
frontend/saas-web/app/view/sys/config/FormPanelController.js

@@ -2,9 +2,6 @@ Ext.define('saas.view.sys.config.FormPanelController', {
     extend: 'Ext.app.ViewController',
     alias: 'controller.sys-config-formpanel',
 
-    BaseUtil: Ext.create('saas.util.BaseUtil'),
-    FormUtil: Ext.create('saas.util.FormUtil'),
-
     init: function (form) {
         var me = this;
         this.control({
@@ -22,12 +19,12 @@ Ext.define('saas.view.sys.config.FormPanelController', {
 
         var valid = form.isValid();
         if(!valid) {
-            showToast('表单校验有误,请检查');
+            saas.util.BaseUtil.showToast('表单校验有误,请检查');
             return false;
         }
 
         if(form.getForm().wasDirty==false){
-            showToast('未修改数据,请修改后保存');
+            saas.util.BaseUtil.showToast('未修改数据,请修改后保存');
             return false;
         }
         
@@ -35,17 +32,17 @@ Ext.define('saas.view.sys.config.FormPanelController', {
         var formData = viewModel.data;
         formData.en_name = null;
         formData.updateTime = null;
-        me.BaseUtil.request({
+        saas.util.BaseUtil.request({
             url: form._saveUrl,
             params: JSON.stringify(formData),
             method: 'POST',
         })
         .then(function(localJson) {
             if(localJson.success){
-                showToast('保存成功');
+                saas.util.BaseUtil.showToast('保存成功');
                 viewModel = form.getViewModel();
                 var url = form._readUrl;
-                form.BaseUtil.request({url })
+                saas.util.BaseUtil.request({url })
                 .then(function(res) {
                     if(res.success) {
                         var d = res.data;
@@ -59,7 +56,7 @@ Ext.define('saas.view.sys.config.FormPanelController', {
         })
         .catch(function(res) {
             console.error(res);
-            showToast('保存失败: ' + res.message);
+            saas.util.BaseUtil.showToast('保存失败: ' + res.message);
         });
     }
 

+ 1 - 1
frontend/saas-web/app/view/sys/feedback/FormPanelController.js

@@ -7,7 +7,7 @@ Ext.define('saas.view.sys.feedback.FormPanelController', {
         });
     },
     onSubmit:function(){
-        showToast('提交成功!');
+        saas.util.BaseUtil.showToast('提交成功!');
         Ext.destroy(Ext.getCmp("feedbackWin"));
     },
     onClose:function(){

+ 7 - 9
frontend/saas-web/app/view/sys/finish/DataList.js

@@ -1,9 +1,7 @@
 Ext.define('saas.view.sys.finish.DataList', {
     extend: 'Ext.grid.Panel',
     xtype: 'sys-finish-datalist',
-    //工具类
-    FormUtil: Ext.create('saas.util.FormUtil'),
-    BaseUtil: Ext.create('saas.util.BaseUtil'),
+    
     autoScroll: true,
     frame:true,
     layout:'fit',
@@ -21,20 +19,20 @@ Ext.define('saas.view.sys.finish.DataList', {
         listeners: {
             click:function(b){
                 var grid = b.ownerCt.ownerCt;
-                grid.BaseUtil.request({
+                saas.util.BaseUtil.request({
                     url: grid.endAccount,
                     params: '',
                     method: 'POST',
                 })
                 .then(function(localJson) {
                     if(localJson.success){
-                        showToast('结账成功');
+                        saas.util.BaseUtil.showToast('结账成功');
                         grid.store.loadPage(1);
                     }
                 })
                 .catch(function(res) {
                     console.error(res);
-                    showToast('结账失败: ' + res.message);
+                    saas.util.BaseUtil.showToast('结账失败: ' + res.message);
                 });
             }
         }
@@ -44,20 +42,20 @@ Ext.define('saas.view.sys.finish.DataList', {
         listeners: {
             click:function(b){
                 var grid = b.ownerCt.ownerCt;
-                grid.BaseUtil.request({
+                saas.util.BaseUtil.request({
                     url: grid.unEndAccount,
                     params: '',
                     method: 'POST',
                 })
                 .then(function(localJson) {
                     if(localJson.success){
-                        showToast('反结账成功');
+                        saas.util.BaseUtil.showToast('反结账成功');
                         grid.store.loadPage(1);
                     }
                 })
                 .catch(function(res) {
                     console.error(res);
-                    showToast('反结账失败: ' + res.message);
+                    saas.util.BaseUtil.showToast('反结账失败: ' + res.message);
                 });
             }
         }

+ 1 - 1
frontend/saas-web/app/view/sys/guide/FormPanel.js

@@ -230,7 +230,7 @@ Ext.define('saas.view.sys.guide.FormPanel', {
                         me.ownerCt.close();
                         return true;
                     }
-                    openTab(xtype, title, xtype+'_add');
+                    saas.util.BaseUtil.openTab(xtype, title, xtype+'_add');
                     scope.close();
                 }
             },{

+ 9 - 11
frontend/saas-web/app/view/sys/maxnumbers/DataList.js

@@ -9,9 +9,7 @@ Ext.define('saas.view.sys.maxnumbers.DataList', {
     autoScroll: true,
     frame:true,
     layout:'fit',
-    //工具类
-    FormUtil: Ext.create('saas.util.FormUtil'),
-    BaseUtil: Ext.create('saas.util.BaseUtil'),
+    
     dataUrl:'/api/commons/number/list',                 
     deleteUrl:'/api/commons/number/delete/',
 
@@ -167,26 +165,26 @@ Ext.define('saas.view.sys.maxnumbers.DataList', {
         var grid = this;
         var data = grid.getGridSelected(type);
         if(!data){
-            showToast('请勾选符合条件的行进行操作。');
+            saas.util.BaseUtil.showToast('请勾选符合条件的行进行操作。');
             return false;
         }
         if(data&&data.length>0){
             var params = JSON.stringify({baseDTOs:data});
-            form.BaseUtil.request({
+            saas.util.BaseUtil.request({
                     url: url,
                     params: params,
                     method: 'POST',
                     async:false
                 })
                 .then(function() {
-                    showToast('操作成功');
+                    saas.util.BaseUtil.showToast('操作成功');
                     grid.store.load();
                 })
                 .catch(function(response) {
-                    showToast('操作失败');
+                    saas.util.BaseUtil.showToast('操作失败');
                 });
         }else{
-            showToast('请勾选至少一条明细。');
+            saas.util.BaseUtil.showToast('请勾选至少一条明细。');
         }
     },
 
@@ -223,19 +221,19 @@ Ext.define('saas.view.sys.maxnumbers.DataList', {
                 //删除
                 var id = record.get('id');
                 if(id){
-                    grid.BaseUtil.request({
+                    saas.util.BaseUtil.request({
                         url: grid.deleteUrl+id,
                         method: 'POST',
                     })
                     .then(function(localJson) {
                         if(localJson.success){
                             //解析参数
-                            showToast('删除成功');
+                            saas.util.BaseUtil.showToast('删除成功');
                             view.ownerCt.store.load();
                         }
                     })
                     .catch(function() {
-                        showToast('删除失败');
+                        saas.util.BaseUtil.showToast('删除失败');
                     });
                 }
             }

+ 4 - 7
frontend/saas-web/app/view/sys/power/FormPanelController.js

@@ -2,9 +2,6 @@ Ext.define('saas.view.sys.power.FormPanelController', {
     extend: 'Ext.app.ViewController',
     alias: 'controller.sys-power-formpanel',
 
-    BaseUtil: Ext.create('saas.util.BaseUtil'),
-    FormUtil: Ext.create('saas.util.FormUtil'),
-
     init: function (form) {
         var me = this;
         this.control({
@@ -47,23 +44,23 @@ Ext.define('saas.view.sys.power.FormPanelController', {
             })
             params.powerSetList = datas;
 
-            me.BaseUtil.request({
+            saas.util.BaseUtil.request({
                 url: form.saveUrl,
                 params: JSON.stringify(params),
                 method: 'POST',
             })
             .then(function(localJson) {
                 if(localJson.success){
-                    showToast('保存成功');
+                    saas.util.BaseUtil.showToast('保存成功');
                     viewModel.data.powergrid.load();
                 }
             })
             .catch(function(res) {
                 console.error(res);
-                showToast('保存失败: ' + res.message);
+                saas.util.BaseUtil.showToast('保存失败: ' + res.message);
             });
         }else{
-            showToast('没有修改数据,请修改后保存');
+            saas.util.BaseUtil.showToast('没有修改数据,请修改后保存');
         }
     },
 

+ 6 - 9
frontend/saas-web/app/view/sys/power/TreePanel.js

@@ -2,9 +2,6 @@ Ext.define('saas.view.sys.power.TreePanel', {
     extend: 'Ext.tree.Panel',
     xtype: 'sys-power-treepanel',
 
-    //工具类
-    FormUtil: Ext.create('saas.util.FormUtil'),
-    BaseUtil: Ext.create('saas.util.BaseUtil'),
     dataUrl:'/api/account/role/list',
     deleteUrl:'/api/account/role/delete/',
 
@@ -171,7 +168,7 @@ Ext.define('saas.view.sys.power.TreePanel', {
                 var idField = form.down('[name='+belong.keyField+']');
                 params[belong.keyField] = idField.value || 0;
                 //保存接口
-                this.BaseUtil.request({
+                saas.util.BaseUtil.request({
                     url: idField.value?belong.updateUrl:belong.reqUrl,
                     params: JSON.stringify(params),
                     method: 'POST'
@@ -179,7 +176,7 @@ Ext.define('saas.view.sys.power.TreePanel', {
                 .then(function(localJson) {
                     me.setLoading(false);
                     if(localJson.success){
-                        showToast('保存成功');
+                        saas.util.BaseUtil.showToast('保存成功');
                         me._parent.setTree();
                         form.ownerCt.close();
                     }
@@ -187,7 +184,7 @@ Ext.define('saas.view.sys.power.TreePanel', {
                 .catch(function(res) {
                     me.setLoading(false);
                     console.error(res);
-                    showToast('保存失败: ' + res.message);
+                    saas.util.BaseUtil.showToast('保存失败: ' + res.message);
                 });
             }
         });
@@ -199,7 +196,7 @@ Ext.define('saas.view.sys.power.TreePanel', {
         }
         var me = this;
         me.setLoading(true);
-        me.BaseUtil.request({
+        saas.util.BaseUtil.request({
             url: me.deleteUrl + rec.get('id'),
             params: '',
             method: 'POST'
@@ -207,14 +204,14 @@ Ext.define('saas.view.sys.power.TreePanel', {
         .then(function(localJson) {
             me.setLoading(false);
             if(localJson.success){
-                showToast('删除成功');
+                saas.util.BaseUtil.showToast('删除成功');
                 me.setTree();
             }
         })
         .catch(function(res) {
             me.setLoading(false);
             console.error(res);
-            showToast('删除失败: ' + res.message);
+            saas.util.BaseUtil.showToast('删除失败: ' + res.message);
         });
     }
 });

+ 2 - 2
frontend/saas-web/app/view/viewport/ViewportController.js

@@ -142,7 +142,7 @@ Ext.define('saas.view.viewport.ViewportController', {
 
         view.mask();
         session.logout().catch(function(error) {
-            showToast(error.message);
+            saas.util.BaseUtil.showToast(error.message);
         }).then(function() {
             me.originalRoute = Ext.History.getToken();
             me.terminateSession();
@@ -164,7 +164,7 @@ Ext.define('saas.view.viewport.ViewportController', {
                     me.initiateSession(newSession);
                 })
                 .catch(function(error) {
-                    showToast(error.message);
+                    saas.util.BaseUtil.showToast(error.message);
                 })
                 .then(function() {
                     view.isMasked() && view.unmask();

+ 106 - 103
frontend/saas-web/overrides/i18n.js

@@ -1,112 +1,115 @@
-/**
- * 打开/切换到新页签
- * @param xtype: view xtype
- * @param title: 标题
- * @param id: id
- * @param config: 绑定到view的其他配置
- */
-function openTab(xtype, title, id, config) {
-    var mainTab = Ext.getCmp('main-tab-panel');
-    var panel = mainTab.query('[tabId="' + id + '"]')[0];
-    if(!panel) {
-        panel = Ext.create('saas.view.core.tab.Panel', {
-            tabId: id,
-            title: title,
-            viewType: xtype,
-            viewConfig: config
-        });
+// /**
+//  * 打开/切换到新页签
+//  * @param xtype: view xtype
+//  * @param title: 标题
+//  * @param id: id
+//  * @param config: 绑定到view的其他配置
+//  */
+// function openTab(xtype, title, id, config) {
+//     var mainTab = Ext.getCmp('main-tab-panel');
+//     var panel = mainTab.query('[tabId="' + id + '"]')[0];
+//     if(!panel) {
+//         panel = Ext.create('saas.view.core.tab.Panel', {
+//             tabId: id,
+//             title: title,
+//             viewType: xtype,
+//             viewConfig: config
+//         });
 
-        Ext.suspendLayouts();
-        mainTab.setActiveTab(mainTab.add(panel));
-        Ext.resumeLayouts(true);
-    }else {
-        panel.viewConfig = config;
-        mainTab.setActiveTab(panel);
-    }
-}
+//         Ext.suspendLayouts();
+//         mainTab.setActiveTab(mainTab.add(panel));
+//         Ext.resumeLayouts(true);
+//     }else {
+//         panel.viewConfig = config;
+//         mainTab.setActiveTab(panel);
+//     }
+// }
 
-/**
- * 重设tab标题
- */
-function refreshTabTitle(id, title) {
-    var currentTab = getCurrentTab();
-    currentTab.tabId = id;
-    currentTab.setTitle(title);
-}
+// /**
+//  * 重设tab标题
+//  */
+// function refreshTabTitle(id, title) {
+//     var currentTab = getCurrentTab();
+//     currentTab.tabId = id;
+//     currentTab.setTitle(title);
+// }
 
-/**
- * 获得当前Tab
- */
-function getCurrentTab() {
-    var mainTab = Ext.getCmp('main-tab-panel');
-    var currentTab = mainTab.getActiveTab();
+// /**
+//  * 获得当前Tab
+//  */
+// function getCurrentTab() {
+//     var mainTab = Ext.getCmp('main-tab-panel');
+//     var currentTab = mainTab.getActiveTab();
 
-    return currentTab;
-}
+//     return currentTab;
+// }
 
-/**
- * 显示toast提示(无需用户操作)
- * @param content: 内容
- * @param title: 标题
- * 
- */
-function showToast(content, title) {
-    Ext.toast({
-        html: content,
-        title: title,
-        closable: false,
-        align: 't',
-        slideDUration: 400,
-        maxWidth: 400
-    });
-}
+// /**
+//  * 显示toast提示(无需用户操作)
+//  * @param content: 内容
+//  * @param title: 标题
+//  * 
+//  */
+// function showToast(content, title) {
+//     Ext.toast({
+//         html: content,
+//         title: title,
+//         closable: false,
+//         align: 't',
+//         slideDUration: 400,
+//         maxWidth: 400
+//     });
+// }
 
-/**
- * 显示警告(需要选择是、否)
- * @param title: 标题
- * @param message: 内容
- * @return : Promise
- */
-function showConfirm(title, message) {
-    return new Ext.Promise(function (resolve, reject) {
-        Ext.MessageBox.confirm(title, message, function(buttonId) {
-            return resolve(buttonId);
-        });
-    })
-}
+// /**
+//  * 显示警告(需要选择是、否)
+//  * @param title: 标题
+//  * @param message: 内容
+//  * @return : Promise
+//  */
+// function showConfirm(title, message) {
+//     return new Ext.Promise(function (resolve, reject) {
+//         Ext.MessageBox.confirm(title, message, function(buttonId) {
+//             return resolve(buttonId);
+//         });
+//     })
+// }
 
-function warnMsg(msg, fn){
-	Ext.MessageBox.show({
-     	title: '提示',
-     	msg: msg,
-     	buttons: Ext.Msg.YESNO,
-     	icon: Ext.Msg.WARNING,
-     	fn: fn
-	});
-}
+// function warnMsg(msg, fn){
+// 	Ext.MessageBox.show({
+//      	title: '提示',
+//      	msg: msg,
+//      	buttons: Ext.Msg.YESNO,
+//      	icon: Ext.Msg.WARNING,
+//      	fn: fn
+// 	});
+// }
 
-function deleteWarn(msg, fn){
-	Ext.MessageBox.show({
-     	title: '提示',
-     	msg: msg || '确定要删除当前表单?',
-     	buttons: Ext.Msg.YESNO,
-     	icon: Ext.Msg.WARNING,
-         fn: fn,
-         renderTo: Ext.getCmp('main-tab-panel').getActiveTab().getEl()
-	});
-}
+// function deleteWarn(msg, fn){
+// 	Ext.MessageBox.show({
+//      	title: '提示',
+//      	msg: msg || '确定要删除当前表单?',
+//      	buttons: Ext.Msg.YESNO,
+//      	icon: Ext.Msg.WARNING,
+//          fn: fn,
+//          renderTo: Ext.getCmp('main-tab-panel').getActiveTab().getEl()
+// 	});
+// }
 
-/**
- * 判断字符串是否日期字符串
- * 需要满足格式 yyyy-MM-dd hh:mm:ss
- * 或者yyyy-M-d h:m:s
- * @param str: 字符串
- * @returns Boolean
- */
-function isDateString(str) {
-    return (/^(\d{4})-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/).test(str);
-}
-
-function getCurrentUse() {
-    return Ext.getCmp('mainView').getViewModel().get('account');
-}
+// /**
+//  * 判断字符串是否日期字符串
+//  * 需要满足格式 yyyy-MM-dd hh:mm:ss
+//  * 或者yyyy-M-d h:m:s
+//  * @param str: 字符串
+//  * @returns Boolean
+//  */
+// function isDateString(str) {
+//     return (/^(\d{4})-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/).test(str);
+// }
+// function getCurrentUse() {
+//     if(typeof saas == 'undefined') {
+//         return JSON.parse(window.localStorage["app-state-session"]).account;
+//     }else {
+//         return saas.util.State.get('session').account;
+//     }
+// }