Browse Source

Merge branch 'dev' of ssh://10.10.100.21/source/saas-platform into dev

guq 7 years ago
parent
commit
f40987599c

+ 9 - 5
frontend/saas-web/app/model/Session.js

@@ -10,14 +10,18 @@ Ext.define('saas.model.Session', {
     ],
 
     statics: {
-        login: function(username, password) {
+        login: function(username, password, companyId) {
+            let params = {
+                username: username,
+                password: password
+            };
+            if(companyId) {
+                params.companyId = companyId;
+            }
             return new Ext.Promise(function (resolve, reject) {
 				Ext.Ajax.request({
                     url: '/api/auth/authorize',
-                    params: {
-                        username: username,
-                        password: password
-                    },
+                    params: params,
                     method: 'POST',
                     success: function (response) {
                         var res = Ext.decode(response.responseText);

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

@@ -64,7 +64,7 @@ Ext.define('saas.view.auth.LoginController', {
             .then(function () {
                 view.isMasked() && view.unmask();
                 view.close();
-                view.ownerCt.destroy();
+                view.ownerCt && view.ownerCt.destroy();
             })
             .catch(function (error) {
                 saas.util.BaseUtil.showErrorToast('切换账套失败: ' + error.message);

+ 26 - 45
frontend/saas-web/app/view/auth/ReLoginController.js

@@ -25,6 +25,7 @@ Ext.define('saas.view.auth.ReLoginController', {
         var me = this,
             view = me.getView(),
             viewModel = me.getViewModel(),
+            companyId = saas.util.BaseUtil.getCurrentUser().companyId,
             form = me.lookup('reloginform'),
             values = form.getValues();
 
@@ -34,57 +35,37 @@ Ext.define('saas.view.auth.ReLoginController', {
 
         view.mask('请稍等...');
 
-        saas.model.Session.login(values.username, values.password)
+        saas.model.Session.login(values.username, values.password, companyId)
         .then(function (session) {
             view.isMasked() && view.unmask();
             viewModel.set('session', session);
+
+            session.get('account').companyId = companyId;
             
-            var cos = session.get("account").companies;
-            if (cos && cos.length) {
-                if (cos.length == 1) {
-                    session.get('account').companyId = cos[0].id;
-                    me.fireEvent('login', session);
-                } else {
-                    Ext.create({
-                        xtype: 'companypicker',
-                        viewModel: {
-                            stores: {
-                                companies: Ext.create('saas.store.Company', {
-                                    data: cos
-                                })
-                            }
-                        }
-                    });
-                }
-            } else {
-                me.fireEvent('login', session);
-            }
             me.successReLogin();
+            me.fireEvent('login', session);
+            return session;
         })
-        .then(function() {
-            let account = viewModel.get('account'),
-            companyId = account.companyId;
-            return saas.util.BaseUtil.request({
-                url: '/api/auth/switch/company',
-                params: {
-                    companyId: companyId
-                },
-                method: 'GET'
-            }).then(function(res) {
-                if (res.success) {
-                    var newSession = saas.model.Session.loadData(res.data);
-                    newSession.set('account', account);
-                    // 服务端与本地存在时间差
-                    newSession.set('span', newSession.get('timestamp') - new Date().getTime());
-                    if (!newSession.isValid()) {
-                        throw new Error('切换失败,无效身份令牌');
-                    } else {
-                        return newSession;
-                    }
-                } else {
-                    Ext.log.error('request failure with code: ', res.code, ', message: ', res.message);
-                }
-            });
+        .then(function(session) {
+            let headers = Ext.Ajax.getDefaultHeaders() || {};
+            
+            headers['Authorization'] = session.data.token;
+            Ext.Ajax.setDefaultHeaders(headers);
+
+            saas.util.State.set('session', session.data);
+
+            let sessionStr = session.data ? JSON.stringify(session.data) : '';
+
+            if (typeof require === 'function') {
+                let ipc = require('electron').ipcRenderer;
+                ipc.send('session.change', sessionStr);
+            }else {
+                //解析session 把data作为sessionStr
+                sessionStr = session ? JSON.stringify(session.data) : '';
+                const frame = window.frames[window.frames.length - 1];
+                frame.postMessage(sessionStr, '*');
+            }
+            return session;
         })
         .catch(function (error) {
             view.isMasked() && view.unmask();

+ 13 - 0
frontend/saas-web/app/view/core/form/SettingWin.js

@@ -224,6 +224,19 @@ Ext.define('saas.view.core.form.SettingWin', {
         }else {
             store.loadData(data);
         }
+        
+        store.each(function(r, idx) {
+            let type = r.get('type');
+            r.set('index', idx + 1);
+            if(type == 'group') {
+                let flag = store.getAt(idx + 1) && store.getAt(idx + 1).get('type') == 'group';
+
+                if(flag)  {
+                    r.set('enable', !flag);
+                }
+                r.set('disabled', flag);
+            }
+        });
     },
 
     getStoreData: function() {

+ 4 - 1
frontend/saas-web/app/view/sys/maxnumbers/DataList.js

@@ -119,7 +119,10 @@ Ext.define('saas.view.sys.maxnumbers.DataList', {
         text : '流水长度', 
         dataIndex : 'mn_number',
         xtype: 'numbercolumn',
-        width : 110.0 
+        width : 110.0,
+        renderer: function(v) {
+            return saas.util.BaseUtil.numberFormat(v, 0, false);
+        }
     }, {
         dataIndex: '',
         flex: 1