Browse Source

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

guq 7 years ago
parent
commit
eab4cc60ae
31 changed files with 705 additions and 258 deletions
  1. 15 0
      frontend/saas-web/app/model/document/ProductDetail.js
  2. 8 0
      frontend/saas-web/app/model/home/Info.js
  3. 2 1
      frontend/saas-web/app/view/core/form/FormPanelController.js
  4. 0 2
      frontend/saas-web/app/view/document/customer/FormPanel.js
  5. 8 8
      frontend/saas-web/app/view/document/kind/Kind.js
  6. 65 0
      frontend/saas-web/app/view/document/product/FormController.js
  7. 124 0
      frontend/saas-web/app/view/document/product/FormPanel.js
  8. 6 31
      frontend/saas-web/app/view/home/Home.js
  9. 28 8
      frontend/saas-web/app/view/home/Home.scss
  10. 67 2
      frontend/saas-web/app/view/home/HomeModel.js
  11. 95 93
      frontend/saas-web/app/view/home/InfoCard.js
  12. 47 35
      frontend/saas-web/app/view/home/InfoCard.scss
  13. 30 12
      frontend/saas-web/app/view/main/Main.js
  14. 33 0
      frontend/saas-web/app/view/main/Main.scss
  15. 21 6
      frontend/saas-web/app/view/main/MainController.js
  16. 2 2
      frontend/saas-web/app/view/money/report/CustomerCheck.js
  17. 48 0
      frontend/saas-web/app/view/sys/feedback/FormPanel.js
  18. 16 0
      frontend/saas-web/app/view/sys/feedback/FormPanelController.js
  19. 4 0
      frontend/saas-web/app/view/sys/feedback/FormPanelModel.js
  20. 4 21
      frontend/saas-web/app/view/sys/guide/FormPanel.js
  21. 47 0
      frontend/saas-web/app/view/sys/manager/FormPanel.js
  22. 1 1
      frontend/saas-web/app/view/viewport/ViewportModel.js
  23. BIN
      frontend/saas-web/packages/font-saas/resources/fonts/iconfont.eot
  24. 0 0
      frontend/saas-web/packages/font-saas/resources/fonts/iconfont.js
  25. 0 21
      frontend/saas-web/packages/font-saas/resources/fonts/iconfont.svg
  26. BIN
      frontend/saas-web/packages/font-saas/resources/fonts/iconfont.ttf
  27. BIN
      frontend/saas-web/packages/font-saas/resources/fonts/iconfont.woff
  28. 1 13
      frontend/saas-web/packages/font-saas/sass/etc/icons.scss
  29. BIN
      frontend/saas-web/resources/images/default/user-icon.png
  30. 26 0
      frontend/saas-web/resources/json/info.json
  31. 7 2
      frontend/saas-web/resources/json/navigation.json

+ 15 - 0
frontend/saas-web/app/model/document/ProductDetail.js

@@ -0,0 +1,15 @@
+Ext.define('saas.model.document.ProductDetail', {
+    extend: 'saas.model.Base',
+    fields: [
+        { name: 'id', type: 'int' },
+        { name: 'pd_prodid', type: 'int' },
+        { name: 'pd_prodcode', type: 'string' },
+        { name: 'pd_detno', type: 'int' },
+        { name: 'pd_whcode', type: 'string' },
+        { name: 'pd_whname', type: 'string' },
+        { name: 'pd_whid', type: 'int' },
+        { name: 'pd_price', type: 'string' },
+        { name: 'pd_amount', type: 'int' },
+        { name: 'pd_num', type: 'int' }
+    ]
+});

+ 8 - 0
frontend/saas-web/app/model/home/Info.js

@@ -0,0 +1,8 @@
+Ext.define('saas.model.home.Info', {
+    extend: 'saas.model.Base',
+    fields: [
+        { name: 'title', type: 'string' },
+        { name: 'content', type: 'string' },
+        { name: 'color', type: 'string' }
+    ]
+});

+ 2 - 1
frontend/saas-web/app/view/core/form/FormPanelController.js

@@ -175,11 +175,12 @@ Ext.define('saas.view.core.form.FormPanelController', {
         form = this.getView(),
         detailCount = form.detailCount,
         viewModel = me.getViewModel(),
+        id = viewModel.get(form._idField),
         modelData = viewModel.getData();
 
         var dirty = form.isDirty();
 
-        if(dirty) {
+        if(id && dirty) {
             showConfirm('提示', form.dirtyAuditText)
             .then(function(yes) {
                 if(yes == 'yes') {

+ 0 - 2
frontend/saas-web/app/view/document/customer/FormPanel.js

@@ -215,7 +215,6 @@ Ext.define('saas.view.document.customer.FormPanel', {
         hidden:true,
         columnWidth : 0
     }, {
-        height: 169,
         xtype : "detailGridField", 
         storeModel:'saas.model.document.customercontact',
         detnoColumn: 'cc_detno',
@@ -321,7 +320,6 @@ Ext.define('saas.view.document.customer.FormPanel', {
                 }
             }]
     } ,{
-        height: 169,
         xtype : "detailGridField", 
         storeModel:'saas.model.document.customeraddress',
         detnoColumn: 'ca_detno',

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

@@ -213,7 +213,12 @@ Ext.define('saas.view.document.kind.Kind', {
             reqUrl:'/api/commons/number/save'
         },
         personpower:{
-            columns: [{
+            columns: [ {
+                text : "编号", 
+                dataIndex : "code", 
+                width : 120.0, 
+                xtype : "", 
+            },{
                 text : "角色名称", 
                 width : 200.0, 
                 dataIndex : "name", 
@@ -224,13 +229,8 @@ Ext.define('saas.view.document.kind.Kind', {
                 dataIndex : "description", 
                 width : 120.0, 
                 xtype : "", 
-            },
-            {
-                text : "编号", 
-                dataIndex : "code", 
-                width : 120.0, 
-                xtype : "", 
-            }],
+            }
+           ],
             keyField:'id',
             reqUrl:'/api/account/role/save',
             updateUrl:'/api/account/role/update',

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

@@ -133,6 +133,71 @@ Ext.define('saas.view.document.product.FormController', {
                     }) ;   
 
                 }
+            },
+            //放大镜赋值关系 以及 tpl模板
+            'dbfindtrigger[name=pd_whname]': {
+                beforerender: function (f) {
+                    Ext.apply(f, {
+                        dataUrl: '/api/document/warehouse/list',
+                        addXtype: 'other-warehouse',
+                        addTitle: '仓库资料',
+                        defaultCondition:"wh_statuscode='OPEN'",
+                        dbfinds: [{
+                            from: 'id',
+                            to: 'pd_whid',ignore:true
+                        }, {
+                            from: 'wh_code',
+                            to: 'pd_whcode'
+                        }, {
+                            from: 'wh_description',
+                            to: 'pd_whname'
+                        }],
+                        dbtpls: [{
+                            field: 'pd_whcode',
+                            width: 100
+                        }, {
+                            field: 'pd_whname',
+                            width: 100
+                        }],
+                        dbSearchFields:[{
+                            emptyText:'输入仓库编号或名称',
+                            xtype : "textfield", 
+                            name : "wh_code", 
+                            allowBlank : true, 
+                            columnWidth : 0.25,
+                            getCondition:function(v){
+                                return "(upper(wh_code) like '%"+v.toUpperCase()+"%' or upper(wh_description) like '%"+v.toUpperCase()+"%')";
+                            }
+                        }],                        
+                        dbColumns: [{
+                            "text": "仓库ID",
+                            "flex": 0,
+                            "dataIndex": "id",
+                            "width": 0,
+                            "xtype": "",
+                            "items": null
+                        }, {
+                            "text": "仓库编号",
+                            "flex": 1,
+                            "dataIndex": "wh_code",
+                            "width": 100,
+                            "xtype": "",
+                            "items": null
+                        }, {
+                            "text": "仓库名称",
+                            "flex": 1,
+                            "dataIndex": "wh_description",
+                            "xtype": "",
+                            "items": null
+                        },{
+                            "text": "仓库类型",
+                            "flex": 1,
+                            "dataIndex": "wh_type",
+                            "xtype": "",
+                            "items": null
+                        }]
+                    });
+                },
             }
         });
 

+ 124 - 0
frontend/saas-web/app/view/document/product/FormPanel.js

@@ -197,6 +197,130 @@ Ext.define('saas.view.document.product.FormPanel', {
         xtype : "datefield", 
         name : "updateTime", 
         fieldLabel : "更新时间"
+    },{
+        xtype : "detailGridField", 
+        storeModel:'saas.model.document.ProductDetail',
+        detnoColumn: 'pd_detno',
+        showCount: false,
+        deleteDetailUrl:'/api/document/customer/delete/',
+        columns : [{
+            text : "ID", 
+            dataIndex : "id", 
+            hidden : true,  
+            xtype : "numbercolumn"
+        },
+        {
+            text : "物料ID", 
+            dataIndex : "pd_prodid", 
+            hidden : true,  
+            xtype : "numbercolumn"
+        },
+        {
+            allowBlank:false,
+            text : "仓库编号", 
+            editor : {
+                displayField : "display", 
+                editable : true, 
+                format : "", 
+                hideTrigger : false, 
+                maxLength : 100.0, 
+                minValue : null, 
+                positiveNum : false, 
+                queryMode : "local", 
+                store : null, 
+                valueField : "value", 
+                xtype : "dbfindtrigger"
+            },
+            dataIndex : "pd_whcode", 
+            xtype : "", 
+            items : null
+        },
+        {
+            allowBlank:true,
+            readOnly:true,
+            editable:false,
+            text : "仓库名称", 
+            dataIndex : "pd_whname", 
+            xtype : "", 
+        },{
+            allowBlank:true,
+            hidden:true,
+            text : "仓库ID", 
+            dataIndex : "pd_whid", 
+            xtype : "numberfield", 
+        },
+        {
+            allowBlank:true,
+            text : "期初数量", 
+            dataIndex : "pd_num", 
+            xtype: 'numbercolumn',
+            width : 120.0,
+            allowBlank : false,
+            editor : {
+                xtype : "numberfield",
+                decimalPrecision: 0,
+                minValue:0
+            },
+            renderer : function(v) {
+                var arr = (v + '.').split('.');
+                var xr = (new Array(arr[1].length)).fill('0');
+                var format = '0.' + xr.join();
+                return Ext.util.Format.number(v, format);
+            },
+            summaryType: 'sum',
+            summaryRenderer: function(v) {
+                var arr = (v + '.').split('.');
+                var xr = (new Array(arr[1].length)).fill('0');
+                var format = '0.' + xr.join();
+                return Ext.util.Format.number(v, format);
+            }
+        },
+        {
+            text : "单位成本", 
+            dataIndex : "pd_price", 
+            allowBlank:false,
+            xtype: 'numbercolumn',
+            width : 120.0,
+            allowBlank : false,
+            editor : {
+                xtype : "numberfield",
+                decimalPrecision: 8,
+                minValue:0
+            },
+            renderer : function(v) {
+                var arr = (v + '.').split('.');
+                var xr = (new Array(arr[1].length)).fill('0');
+                var format = '0.' + xr.join();
+                return Ext.util.Format.number(v, format);
+            },
+            summaryType: 'sum',
+            summaryRenderer: function(v) {
+                var arr = (v + '.').split('.');
+                var xr = (new Array(arr[1].length)).fill('0');
+                var format = '0.' + xr.join();
+                return Ext.util.Format.number(v, format);
+            }
+        },
+        {
+            text : "期初总价", 
+            dataIndex : "pd_amount", 
+            xtype: 'numbercolumn',
+            width : 120.0,
+            allowBlank : true,
+            renderer : function(v) {
+                var arr = (v + '.').split('.');
+                var xr = (new Array(arr[1].length)).fill('0');
+                var format = '0.' + xr.join();
+                return Ext.util.Format.number(v, format);
+            },
+            summaryType: 'sum',
+            summaryRenderer: function(v) {
+                var arr = (v + '.').split('.');
+                var xr = (new Array(arr[1].length)).fill('0');
+                var format = '0.' + xr.join();
+                return Ext.util.Format.number(v, format);
+            }
+        }]
     }],
 
     defaultButtons:[{

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

@@ -11,51 +11,26 @@ Ext.define('saas.view.home.Home', {
 
     controller: 'home',
     viewModel: {
-        type: 'chartsmodel'
+        type: 'home'
     },
 
+    cls: 'x-home-panel',
+
     layout: 'responsivecolumn',
 
     scrollable: true,
 
     defaults: {
         shadow: true,
-        xtype: 'panel',
-        layout: 'column',
-        cls: 'x-home-panel',
+        cls: 'x-home-box',
         userCls: 'big-100 small-100',
     },
 
     items: [{
         title: '实时数据',
-        xtype: 'infocard',
-        infoData: [{
-            title: '七天内待出货销售',
-            content: '168件',
-            color: 'yellow',
-        }, {
-            title: '七天内待入库采购',
-            content: '168件',
-            color: 'purple',
-        }, {
-            title: '七天内代付款',
-            content: '168件',
-            color: 'red',
-        }, {
-            title: '七天内代收款',
-            content: '168件',
-            color: 'yellow',
-        }, {
-            title: '未审核验收',
-            content: '168件'
-        }, {
-            title: '七天内待出货销售',
-            content: '168件'
-        }, {
-            title: '未审核出货',
-            content: '168件'
-        }]
+        xtype: 'infocard'
     }, {
+        xtype: 'panel',
         title: '2018年11月经营分析',
         latyout: 'column',
         // items: [{

+ 28 - 8
frontend/saas-web/app/view/home/Home.scss

@@ -92,6 +92,17 @@ $unaudit-purc-container-color: dynamic(#e91e63);
 }
 
 .x-home-panel {
+
+    &> .x-autocontainer-outerCt {
+        display: block;
+
+        &> .x-autocontainer-innerCt {
+            display: block;
+        }
+    }
+}
+
+.x-home-box {
     border-radius: 2px;
 
     &>.x-panel-header {
@@ -123,30 +134,37 @@ $unaudit-purc-container-color: dynamic(#e91e63);
 
 .x-responsivecolumn {
     padding: 0;
+    display: block;
 }
 
 .big-100 {
-    @include responsivecolumn-item(100%);
+    width: 100%;
+    // @include responsivecolumn-item(100%);
 }
 
 .big-60 {
-    @include responsivecolumn-item(60%);
+    width: 60%;
+    // @include responsivecolumn-item(60%);
 }
 
 .big-50 {
-    @include responsivecolumn-item(50%);
+    width: 50%;
+    // @include responsivecolumn-item(50%);
 }
 
 .big-40 {
-    @include responsivecolumn-item(40%);
+    width: 40%;
+    // @include responsivecolumn-item(40%);
 }
 
 .big-33 {
-    @include responsivecolumn-item(33.33%);
+    width: 30%;
+    // @include responsivecolumn-item(33.33%);
 }
 
 .big-20 {
-    @include responsivecolumn-item(20%);
+    width: 20%;
+    // @include responsivecolumn-item(20%);
 }
 
 //--------------------------------------------------------
@@ -154,10 +172,12 @@ $unaudit-purc-container-color: dynamic(#e91e63);
 
  .x-responsivecolumn-small {
      > .small-100 {
-         @include responsivecolumn-item(100%);
+        width: 100%;
+        // @include responsivecolumn-item(100%);
      }
 
      > .small-50 {
-         @include responsivecolumn-item(50%);
+        width: 50%;
+        // @include responsivecolumn-item(50%);
      }
 }

+ 67 - 2
frontend/saas-web/app/view/home/ChartsModel.js → frontend/saas-web/app/view/home/HomeModel.js

@@ -1,8 +1,73 @@
-Ext.define('saas.view.home.ChartsModel', {
+Ext.define('saas.view.home.HomeModel', {
     extend: 'Ext.app.ViewModel',
-    alias: 'viewmodel.chartsmodel',
+    alias: 'viewmodel.home',
 
     stores: {
+        infoData: {
+            model: 'saas.model.home.Info',
+            autoLoad: true,
+            proxy: {
+                type: 'ajax',
+                // url: 'http://192.168.253.58:8920/homePage/liveData',
+                url: '/api/common/homePage/liveData',
+                reader: {
+                    type: 'json'
+                },
+                listeners: {
+                    exception: function(proxy, response, operation, eOpts) {
+                        Ext.getCmp('infocard').setLoading(false);
+                    }
+                }
+            },
+            listeners: {
+                beforeload: function() {
+                    Ext.getCmp('infocard').setLoading(true);
+                },
+                load: function(s, d) {
+                    Ext.getCmp('infocard').setLoading(false);
+
+                    var titles = {
+                        unship: {
+                            text: '七天内待出货销售',
+                            color: 'yellow'
+                        },
+                        unstorage: {
+                            text: '七天内待入库采购',
+                            color: 'purple'
+                        },
+                        unpay: {
+                            text: '七天内代付款',
+                            color: 'red'
+                        },
+                        unreceive: {
+                            text: '七天内代收款',
+                            color: 'pink'
+                        },
+                        unauditcheck: {
+                            text: '未审核验收',
+                            color: 'blue'
+                        },
+                        unauditship: {
+                            text: '未审核出货',
+                            color: ''
+                        }
+                    };
+                    var res = d[0].data.data;
+                    var data = [];
+                    if(res) {
+                        for(var k in res) {
+                            data.push({
+                                title: titles[k].text,
+                                content: res[k] + '件',
+                                color: titles[k].color
+                            });
+                        }
+                    }
+
+                    Ext.getCmp('infocard').addCardItems(data);
+                }
+            }
+        },
         barData: {
             model: 'saas.model.chart.DataXY',
             data: [

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

@@ -2,127 +2,129 @@ Ext.define('saas.view.home.InfoCard', {
     extend: 'Ext.panel.Panel',
     xtype: 'infocard',
 
-    latyou: 'fit',
+    id: 'infocard',
 
-    initComponent: function() {
-        var me = this;
+    requires: [
+        'Ext.layout.container.Card'
+    ],
 
-        var view = Ext.create('Ext.view.View', {
-            store : Ext.create('Ext.data.Store', {
-				fields: ['title', 'content', 'color'],
-				data: me.infoData,
-			}),
-            tpl: new Ext.XTemplate([
-                '<div class="x-row">',
-                    '<tpl for=".">',
-                    '<div class="x-col">',
-                        '<div>',
-                            '<div class="x-box ',
-                                '<tpl if="color"> x-bg-{color}</tpl>',
-                                '<tpl else"> x-bg-default</tpl>',
-                            '">',
-                                '<h3>{title}</h3>',
-                                '<p>{content}</p>',
-                            '</div>',
-                        '</div>',
-                    '</div>',
-                    '</tpl>',
-                '</div>'
-            ]),
-            itemSelector: 'div.x-info-card-body',
-        });
+    BaseUtil: Ext.create('saas.util.BaseUtil'),
+
+    layout: 'card',
+    cardTpl: [
+        '<div class="x-row">',
+        '<tpl for=".">',
+        '<div class="x-col">',
+        '<div>',
+        '<div class="x-box ',
+        '<tpl if="color"> x-bg-{color}</tpl>',
+        '<tpl else"> x-bg-default</tpl>',
+        '">',
+        '<h3>{title}</h3>',
+        '<p>{content}</p>',
+        '</div>',
+        '</div>',
+        '</div>',
+        '</tpl>',
+        '</div>'
+    ],
+
+    initComponent: function () {
+        var me = this;
 
         Ext.apply(me, {
             userCls: 'x-info-card ' + me.userCls,
-            items: [{
-                xtype: 'button',
+            lbar: [{
+                itemId: 'card-prev',
                 cls: 'x-scroller-button x-scroller-button-left',
-                // iconCls: 'x-sa sa-arrows-left',
-                disabled: true,
                 handler: function() {
-                    me.scrollBody(1);
-                }
-            }, view, {
-                xtype: 'button',
+                    me. showPrevious();
+                },
+                disabled: true
+            }],
+            rbar: [{
+                itemId: 'card-next',
                 cls: 'x-scroller-button x-scroller-button-right',
-                // iconCls: 'x-sa sa-arrows-right',
                 handler: function() {
-                    me.scrollBody(-1);
+                    me.showNext();
                 }
-            }]
+            }],
+            items: [],
         });
 
         me.callParent(arguments);
     },
 
-    listeners: {
-        boxready: function(th) {
-            var list = Ext.fly(th.items.items[1].el.dom);
-            var listWidth = Number(list.getStyle('width').replace('px', ''));
-            var bodyWidth = th.body.getBox().width;
-            var btns = th.query('button');
-
-            if(listWidth <= (bodyWidth-88)) {
-                btns[0].setVisible(false);
-                btns[1].setVisible(false);
-                return;
+    addCardItems: function(infoData) {
+        var me = this,
+        p = me.up('home'),
+        // viewModel = p.getViewModel(),
+        // infoData = viewModel.get('infoData'),
+        datas = [],
+        items = [];
+        size = Math.ceil(me.body.el.getBox().width / 235);
+
+        me.removeAll();
+        for(var x = 0; x < infoData.length;) {
+            var d = [];
+            for(var y = 0; y < size && x < infoData.length; y++) {
+                d.push(infoData[x]);
+                x++;
             }
+            datas.push(d);
+        }
 
-            Ext.fly(th.body).on('mousewheel', function() {
-                var ev = window.event;
-                var delta = ev.wheelDelta;
+        Ext.Array.each(datas, function(d, i) {
 
-                if(ev.preventDefault) {
-                    ev.preventDefault();  
-                }
-                else {
-                    ev.cancel=true;
-                }
-                th.scrollBody(delta/120);
-            })
-        }
-    },
+            var store = Ext.create('Ext.data.Store', {
+                fields: ['title', 'content', 'color'],
+                data: d,
+            });
 
-    scrollBody: function(delta) {
-        var me = this;
-        var list = Ext.fly(me.items.items[1].el.dom);
-        var marginLeft = Number(list.getStyle('marginLeft').replace('px', ''));
-        var le = marginLeft + delta * 50;
-        var MAX_LEN = list.getBox().width - (me.body.getBox().width - 88);
-
-        if(le > 0) {
-            le = 0;
-            me.scrollLeftDisabled();
-        }else if(le < -MAX_LEN) {
-            le = -MAX_LEN;
-            me.scrollRightDisabled();
-        }else {
-            me.scrollEnable();
-        }
+            var view = Ext.create('Ext.view.View', {
+                store: store,
+                tpl: new Ext.XTemplate(me.cardTpl),
+                itemSelector: 'div.x-info-card-body',
+            });
 
-        list.setStyle({
-            marginLeft: le + 'px'
+            var item = {
+                xtype: 'panel',
+                id: 'card-' + i,
+                items: view
+            };
+            me.add(item);
         });
+
+        if(datas.length <= 1) {
+            me.hidePageTrigger();
+        }
+
+        me.updateLayout(true);
     },
-    
-    scrollLeftDisabled: function() {
+
+    hidePageTrigger: function() {
         var me = this;
-        var leftBtn = me.query('button')[0];
-        leftBtn.setDisabled(true);
+        me.down('#card-prev').hide();
+        me.down('#card-next').hide();
     },
 
-    scrollRightDisabled: function() {
-        var me = this;
-        var rightBtn = me.query('button')[1];
-        rightBtn.setDisabled(true);
+    showNext: function () {
+        this.doCardNavigation(1);
     },
 
-    scrollEnable: function() {
+    showPrevious: function (btn) {
+        this.doCardNavigation(-1);
+    },
+
+    doCardNavigation: function (incr) {
         var me = this;
-        var btns = me.query('button');
+        var l = me.getLayout();
+        var i = l.activeItem.id.split('card-')[1];
+        var c = me.items.items.length;
+        var next = parseInt(i, 10) + incr;
+        l.setActiveItem(next);
 
-        for(var i = 0; i < btns.length; i ++) {
-            btns[i].setDisabled(false);
-        }
+        me.down('#card-prev').setDisabled(next === 0);
+        me.down('#card-next').setDisabled(next === (c-1));
     }
 });

+ 47 - 35
frontend/saas-web/app/view/home/InfoCard.scss

@@ -1,39 +1,41 @@
-$card-width: 200px;
+$max-card-width: 235px;
 
 .x-info-card {
 
     .x-panel-bodyWrap {
         .x-autocontainer-innerCt {
-            padding: 0 44px;
-        }
-        .x-row {
-            display: flex;
-            flex-wrap: nowrap;
-        
-            .x-col {
-        
-                color: #fff;
-                padding: 10px;
-        
-                .x-box {
-                    padding: 16px;
-                    width: 235px;
-                    height: 131px;
-                    border-radius: 0.5rem;
-                    box-shadow: 0 0 1px rgba(0,0,0,.125), 0 1px 3px rgba(0,0,0,.2);
-                    position: relative;
-                    display: block;
-        
-                    h3 {
-                        font-size: 16px;
-                    }
-        
-                    p {
-                        font-size: 24px;
-                        text-align: center;
-                        margin-top: 32px;
+
+            .x-row {
+                display: flex;
+                width: 100%;
+                justify-content: flex-start;
+            
+                .x-col {
+            
+                    flex: 1;
+                    max-width: $max-card-width;
+                    color: #fff;
+                    padding: 10px;
+            
+                    .x-box {
+                        padding: 16px;
+                        height: 131px;
+                        border-radius: 0.5rem;
+                        box-shadow: 0 0 1px rgba(0,0,0,.125), 0 1px 3px rgba(0,0,0,.2);
+                        position: relative;
+                        display: block;
+            
+                        h3 {
+                            font-size: 16px;
+                        }
+            
+                        p {
+                            font-size: 24px;
+                            text-align: center;
+                            margin-top: 32px;
+                        }
+            
                     }
-        
                 }
             }
         }
@@ -41,12 +43,13 @@ $card-width: 200px;
 }
 
 .x-scroller-button {
-    position: absolute;
+    position: absolute !important;
     z-index: 1;
-    width: 44px;
-    height: 100%;
-    padding: 0;
-    background-color: white;
+    width: 44px !important;
+    min-width: 44px !important;
+    height: 145px !important;
+    padding: 0 !important;
+    background-color: white !important;
     border: none !important;
     box-shadow: none !important;
     background-repeat: no-repeat !important;
@@ -85,4 +88,13 @@ $card-width: 200px;
 }
 .x-bg-red {
     background: linear-gradient(to right, #FA8B86 , #F36487);
+}
+.x-bg-blue {
+    background: linear-gradient(to right, #1AD0C5 , #26CBDB);
+}
+.x-bg-pink {
+    background: linear-gradient(to right, #FA8A86 , #F26187);
+}
+.x-bg-gray {
+    background: linear-gradient(to right, #D8D8D8 , #D8D8D8);
 }

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

@@ -67,6 +67,7 @@ Ext.define('saas.view.main.Main', {
                     iconCls:'x-fa fa-question',
                     ui: 'header',
                     arrowVisible: false,
+                    tooltip: '帮助',
                     width:50, 
                     listeners:{
                         'mouseover':function(){
@@ -78,34 +79,51 @@ Ext.define('saas.view.main.Main', {
                             if(cx <= btnLayout.left || cx >= btnLayout.left+btnLayout.width || cy <= btnLayout.top) {
                                 btn.hideMenu();
                             }
-                        } 
+                        },'mouseleave':function(enu){
+                            this.hide();
+                        }
                     },
                     menu: {
-                        cls:'nav-menu',
+                        cls:'x-main-menu',
                         items: [{
                             text: '新手导航',
                             iconCls:'x-fa fa-comment-o',
                             handler:function(){
                                console.log("新手导航");
+                               openTab('sys-guide-formpanel','新手导航', 'sys-guide-formpanel-nav');
                             }
                         },{
                             text: '用户手册',
                             iconCls:'x-fa fa-comment-o',
                             handler:function(){
-                                console.log("用户手册");
+                                window.open('http://www.usoftchina.com','_blank');
                             }
                         },{
                             text: '常见问题',
                             iconCls:'x-fa fa-question-circle-o',
                             handler:function(){
-                                console.log("常见问题");
+                                window.open('http://www.usoftchina.com','_blank');
                             }
                         },{
                             text: '客服热线',
                             iconCls:'x-fa fa-comment-o',
-                            handler:function(){
-                                console.log("客服热线");
-                            }
+                            menu:{
+                                items:[{
+                                    text:'<span onclick="javascript:window.open(\'http://www.usoftchina.com\');" style="text-decoration:underline;color:blue;">优软科技官网</span>'
+                                },{	
+                                    text:'<span>电话:400-830-1818</span>'
+                                },{	
+                                    text:'<span>邮箱:info@usoftchina.com</span>'
+                                }]
+                            }/* ,listeners: {
+                                'mouseover': function() {
+                                    this.over = true;
+                                },
+                                'mouseleave': function() {
+                                    this.over = false;
+                                    this.hide();
+                                }
+                            } */
                         }]
                     }
                 },
@@ -124,10 +142,12 @@ Ext.define('saas.view.main.Main', {
                 },
                 {
                     ui: 'header',
+                    arrowVisible: false,
+                    cls: 'header-right-profile-image',
                     id:"userImage",
                     height: 35,
                     width: 35,
-                     bind: {
+                    bind: {
                         html:'<img class="x-img x-box-item x-toolbar-item x-img-header" style="width: 35px; height: 35px; margin: 0px;" src="{avatarUrl}" alt="">'
                     }, 
                     menu: {
@@ -136,14 +156,12 @@ Ext.define('saas.view.main.Main', {
                             text: '账户中心',
                             iconCls:'x-fa x-fa fa-user-o',
                             handler:function(){
-                            console.log("账户中心");
+                                window.open('http://www.usoftchina.com','_blank');
                             }
                         },{  
                             text: '意见反馈',
                             iconCls:'x-fa fa-comment-o',
-                            handler:function(){
-                            console.log("意见反馈");
-                            }
+                            handler:'feedbackMsg'
                         }, {
                             text: '退出',
                             iconCls:'x-fa fa-power-off',

+ 33 - 0
frontend/saas-web/app/view/main/Main.scss

@@ -201,6 +201,18 @@ body > .x-mask {
 .nav-menu{
     color: #48C1F8 !important;
 }
+.icon-feedback{
+    margin-top: 0px;
+    background: url(../../../../resources/images/nav/feedback.png) 0 0 no-repeat; 
+    background-size: 16px 16px;
+    background-position: center;
+} 
+.user-icon{
+    margin-top: 0px;
+    background: url(../../../../resources/images/default/user-icon.png) 0 0 no-repeat; 
+    background-size: 32px 32px;
+    background-position: center;
+}
 .x-guide-mask{
     -webkit-filter: grayscale(100%);
     -moz-filter: grayscale(100%);
@@ -209,3 +221,24 @@ body > .x-mask {
     filter: grayscale(100%);
     filter: gray;
 }
+.x-main-menu::before{
+    content: ' ';
+    display: block;
+    border-style: solid;
+    box-shadow: 0px 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(15, 136, 232, 0.6);
+    box-shadow: aliceblue;
+    border-width: 17px;
+    border-color: #cccccc;
+    /* border-color: #cccccc #6e838e #9c9d9e #bdc3c5; */
+    position: fixed;
+    /* left: 100%; */
+    top: 26px;
+    -moz-clip-path: polygon(100% 0px, 0 50%, 100% 100%);
+    -webkit-clip-path: polygon(100% 0px, 0 50%, 100% 100%);
+    -o-clip-path: polygon(100% 0px, 0 50%, 100% 100%);
+    -ms-clip-path: polygon(100% 0px, 0 50%, 100% 100%);
+    -khtml-clip-path: polygon(100% 0px, 0 50%, 100% 100%);
+    clip-path: polygon(0 100%, 50% 0, 100% 100%);
+    margin-top: 17px;
+    margin-left: 7px;
+}

+ 21 - 6
frontend/saas-web/app/view/main/MainController.js

@@ -113,11 +113,26 @@ Ext.define('saas.view.main.MainController', {
         this.fireEvent('logout');
     },
 
-    accountCenterClick:function(e, t, eOpts){
-        console.log("!!!");
-    },
-    accountCenterMouseover:function(e, t, eOpts){
-        console.log("userImage???");
-        var userImage = Ext.getCmp('userImage');
+    feedbackMsg:function(btn){
+        var me = this,
+        win = Ext.getCmp("feedbackWin");
+        if (!win) {
+             win = Ext.create('Ext.window.Window', {
+                modal: true,
+                id:"feedbackWin",
+                height: '50%',
+                width: '50%',
+                title: '意见反馈',
+                scrollable: true,
+                constrain: true,
+                closable: true,
+                layout: 'fit',
+
+                items: [{
+                    xtype: 'sys-feedback-formpanel'
+                }]
+            }); 
+        };
+        win.show();
     }
 });

+ 2 - 2
frontend/saas-web/app/view/money/report/CustomerCheck.js

@@ -11,13 +11,13 @@ Ext.define('saas.view.money.report.CustomerCheckCheck', {
     listUrl: '/api/money/report/customercheck',
     defaultCondition: null,
     reportTitle: '客户对账单',
-    QueryWidth:0.1,
+    QueryWidth:0.25,
     //筛选:客户、日期(必填)
     searchItems: [ {
         xtype: 'dbfindtrigger',
         name: 'pi_custname',
         fieldLabel: '客户名称',
-        columnWidth: 0.2
+        columnWidth: 0.25
     }, {
         xtype: 'condatefield',
         name: 'pi_date',

+ 48 - 0
frontend/saas-web/app/view/sys/feedback/FormPanel.js

@@ -0,0 +1,48 @@
+Ext.define('saas.view.sys.feedback.FormPanel', {
+    extend: 'Ext.panel.Panel',
+    xtype: 'sys-feedback-formpanel',
+
+    controller: 'sys-feedback-formpanel',
+    viewModel: 'sys-feedback-formpanel',
+
+    viewName: 'sys-feedback-formpanel',
+    caller:'feedBack',
+    
+    defaultType: 'textfield',
+        fieldDefaults: {
+            labelWidth: 60
+        },
+
+        layout: {
+            type: 'vbox',
+            align: 'stretch'
+        },
+
+        bodyPadding: 10,
+        border: false,
+
+    items: [{
+        xtype: 'hidden',
+        name: 'id',
+        fieldLabel: 'id'
+    }, {
+        xtype : "textfield", 
+        name : "fb_name", 
+        fieldLabel : "姓名"
+    }, {
+        xtype : "textfield", 
+        name : "fb_mobile", 
+        fieldLabel : "联系方式"
+    }, {
+        xtype : "textarea", 
+        name : "fb_email", 
+        fieldLabel : "反馈内容",
+        flex: 1
+    }],buttons: [{
+        text: '提交',
+        handler:'onSubmit'
+    },{
+        text: '关闭',
+        handler:'onClose'
+    }]
+});

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

@@ -0,0 +1,16 @@
+Ext.define('saas.view.sys.feedback.FormPanelController', {
+    extend: 'Ext.app.ViewController',
+    alias: 'controller.sys-feedback-formpanel',
+    init: function (form) {
+        var me = this;
+        this.control({
+        });
+    },
+    onSubmit:function(){
+        showToast('提交成功!');
+        Ext.destroy(Ext.getCmp("feedbackWin"));
+    },
+    onClose:function(){
+        Ext.destroy(Ext.getCmp("feedbackWin"));
+    }
+});

+ 4 - 0
frontend/saas-web/app/view/sys/feedback/FormPanelModel.js

@@ -0,0 +1,4 @@
+Ext.define('saas.view.sys.feedback.FormPanelModel', {
+    extend: 'Ext.app.ViewModel',
+    alias: 'viewmodel.sys-feedback-formpanel',
+});

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

@@ -31,7 +31,7 @@ Ext.define('saas.view.sys.guide.FormPanel', {
                 },{
                     name:'begin',type:'boolean'
                 }],
-				autoLoad: true,
+				autoLoad: false,
                 pageSize: 10,
                 data: [{
                     baseSet:false,
@@ -157,30 +157,12 @@ Ext.define('saas.view.sys.guide.FormPanel', {
     },
 
     refresh:function(){
+        debugger
         this.ownerCt.setTitle('新手指引');
+        this.view.store.load();
         //刷新store数据
     },
 
-    getData:function(store){
-        var me = this;
-        //获取数据
-        me.BaseUtil.request({
-            url: me.dataUrl,
-            params: '',
-            method: 'GET',
-        })
-        .then(function(localJson) {
-            if(localJson.success){
-                store;
-                debugger
-            }
-        })
-        .catch(function(res) {
-            console.error(res);
-            showToast('读取初始化信息失败: ' + res.message);
-        });
-    },
-
     showInformation:function(type,value){
         var message = '';
         var xtype = '';
@@ -233,6 +215,7 @@ Ext.define('saas.view.sys.guide.FormPanel', {
         var width = box.width;
 
         var win = form.add(Ext.create('Ext.window.MessageBox', {
+            msg:message,
             buttonAlign : 'right',
             height:0.5*height,
             width:0.5*width,

+ 47 - 0
frontend/saas-web/app/view/sys/manager/FormPanel.js

@@ -0,0 +1,47 @@
+Ext.define('saas.view.sys.manager.FormPanel', {
+    extend: 'Ext.tab.Panel',
+    xtype: 'sys-manager-formpanel',
+    
+    layout:'fit',
+
+    bodyCls:'x-manager-background',
+    //工具类
+    FormUtil: Ext.create('saas.util.FormUtil'),
+    BaseUtil: Ext.create('saas.util.BaseUtil'),
+
+    tabBar: {
+        layout: {
+            pack: 'left'
+        },
+        border: false
+    },
+
+    defaults: {
+        iconAlign: 'left',
+        bodyPadding: 15
+    },
+
+    items: [{
+        icon:'x-fa fa-key',
+        title: '公司设置',
+        xtype:'sys-config-formpanel'
+    }, {
+        icon:'x-fa fa-key',
+        title: '账户设置',
+        xtype:'panel' 
+    }, {
+        icon:'x-fa fa-key',
+        title: '权限设置',
+        xtype:'sys-power-formpanel'
+    }],
+
+    initComponent: function () {
+        var me = this;
+        me.callParent(arguments);
+    },
+
+    refresh:function(){
+        this.ownerCt.setTitle('系统管理');
+    },
+
+});

+ 1 - 1
frontend/saas-web/app/view/viewport/ViewportModel.js

@@ -15,7 +15,7 @@ Ext.define('saas.view.viewport.ViewportModel', {
         },
         avatarUrl: function (get) {
             var account = get('account');
-            return (account && account.avatarUrl) || 'resources/images/default/user-profile-default.png'
+            return (account && account.avatarUrl) || 'resources/images/default/user-icon.png'
         }
     }    
 });

BIN
frontend/saas-web/packages/font-saas/resources/fonts/iconfont.eot


File diff suppressed because it is too large
+ 0 - 0
frontend/saas-web/packages/font-saas/resources/fonts/iconfont.js


+ 0 - 21
frontend/saas-web/packages/font-saas/resources/fonts/iconfont.svg

@@ -29,12 +29,6 @@ Created by iconfont
     <glyph glyph-name="weibiaoti1" unicode="&#61188;" d="M877.277612 354.961194L354.579104 354.961194c-33.623881 0-61.134328 27.510448-61.134328 61.134328l0 3.056716c0 33.623881 27.510448 61.134328 61.134328 61.134328l522.698507 0c33.623881 0 61.134328-27.510448 61.134328-61.134328l0-3.056716C935.355224 382.471642 907.844776 354.961194 877.277612 354.961194zM128.38209 896c21.397015 0 953.695522 0 981.20597 0 39.737313 0 122.268657-33.623881 122.268657-134.495522 0-119.21194-103.928358-134.495522-103.928358-134.495522s0-583.832836 0-623.570149c0-73.361194-64.191045-131.438806-128.38209-131.438806-76.41791 0-669.420896 0-764.179104 0s-134.495522 82.531343-134.495522 119.21194 0 635.797015 0 635.797015S0 645.349254 0 764.561194C0 850.149254 73.361194 896 128.38209 896zM195.629851 3.4388059999999996c0-24.453731 18.340299-39.737313 36.680597-39.737313s745.838806 0 767.235821 0 36.680597 21.397015 36.680597 39.737313c0 15.283582 0 593.002985 0 593.002985L195.629851 596.441791C195.629851 596.441791 195.629851 30.949253999999996 195.629851 3.4388059999999996zM91.701493 755.391045c0-21.397015 15.283582-39.737313 42.79403-39.737313 24.453731 0 935.355224 0 965.922388 0s39.737313 24.453731 39.737313 39.737313c0 15.283582 0 12.226866 0 12.226866 0 21.397015-18.340299 39.737313-39.737313 39.737313C1085.134328 804.298507 162.00597 804.298507 131.438806 804.298507 106.985075 804.298507 91.701493 782.901493 91.701493 764.561194 91.701493 761.5044780000001 91.701493 761.5044780000001 91.701493 755.391045z"  horiz-adv-x="1232" />
 
     
-    <glyph glyph-name="tuichu" unicode="&#59063;" d="M509-64H163.5c-54.8 0-99.5 44.6-99.5 99.5v696c0 54.8 44.6 99.5 99.5 99.5H511c16.6 0 30-13.4 30-30s-13.4-30-30-30H163.5c-21.8 0-39.5-17.7-39.5-39.5v-696.1c0-21.8 17.7-39.5 39.5-39.5H509c16.6 0 30-13.4 30-30S525.6-64 509-64zM898 354H414c-16.6 0-30 13.4-30 30s13.4 30 30 30h484c16.6 0 30-13.4 30-30s-13.4-30-30-30zM703.7 150.5c-7.7 0-15.4 2.9-21.2 8.8-11.7 11.7-11.7 30.7 0 42.4L864.8 384 682.5 566.3c-11.7 11.7-11.7 30.7 0 42.4s30.7 11.7 42.4 0l203.5-203.5c11.7-11.7 11.7-30.7 0-42.4L724.9 159.3c-5.9-5.9-13.5-8.8-21.2-8.8z"  horiz-adv-x="1024" />
-
-    
-    <glyph glyph-name="feedback" unicode="&#58994;" d="M285.762-31.706000000000017c-8.668 0-16.344 3.238-22.179 9.366-5.485 5.751-11.822 16.917-10.831 37.406l4.829 99.42h-88.324c-39.291 0-71.254 31.949-71.254 71.212v457.88c0 39.263 31.949 71.198 71.212 71.198h686.547c39.263 0 71.212-31.935 71.212-71.198v-457.88c0-39.263-32.144-71.212-71.658-71.212H485.649L317.976-18.390999999999963c-11.138-8.835-21.983-13.315-32.214-13.315zM169.216 686.19c-23.505 0-42.627-19.122-42.627-42.613v-457.88c0-23.505 19.136-42.627 42.668-42.627H287.59l-6.281-129.387c-0.447-9.268 1.312-14.572 2.973-16.302l1.48-0.503c1.284 0 6.099 0.516 14.46 7.132l175.461 139.06h379.633c23.756 0 43.073 19.122 43.073 42.627v457.88c0 23.491-19.122 42.613-42.627 42.613H169.216zM283.808 400.058c0 7.894 6.465 14.293 14.189 14.293h428.984c7.837 0 14.189-6.63 14.189-14.293 0-7.894-6.465-14.293-14.189-14.293H297.998c-7.837 0.001-14.19 6.631-14.19 14.293zM283.808 500.107c0 7.894 6.465 14.293 14.189 14.293h428.984c7.837 0 14.189-6.63 14.189-14.293 0-7.894-6.465-14.293-14.189-14.293H297.998c-7.837 0-14.19 6.63-14.19 14.293zM283.808 301.797c0 7.893 6.465 14.293 14.189 14.293h428.984c7.837 0 14.189-6.63 14.189-14.293 0-7.894-6.465-14.293-14.189-14.293H297.998c-7.837 0-14.19 6.63-14.19 14.293z"  horiz-adv-x="1024" />
-
-    
     <glyph glyph-name="document" unicode="&#58964;" d="M703.806 83.45799999999997v-145.491l223.781 177.459H735.774c-17.655 0-31.968-14.313-31.968-31.968zM831.682 831.5550000000001H192.318c-52.967 0-95.905-42.938-95.905-95.905v-703.3c0-52.967 42.938-95.905 95.905-95.905h447.555V116.577c0 35.311 28.625 63.937 63.936 63.937h223.778V735.65c0 52.967-42.938 95.905-95.905 95.905zM543.968 235.54100000000005H224.286v65.081h319.682v-65.081z m255.746 195.256H224.286v65.078h575.428v-65.078z m0 195.246H224.286v65.088h575.428v-65.088z"  horiz-adv-x="1024" />
 
     
@@ -47,18 +41,9 @@ Created by iconfont
     <glyph glyph-name="sale" unicode="&#58936;" d="M368.64 637.952l346.112 96.768 62.976-223.744-349.184-94.208L368.64 637.952z m61.952-261.12l524.8 148.992 65.024-216.064-521.728-145.365333-68.096 212.437333z m142.848-262.613333l429.525333 116.736 18.944-58.922667L588.8 55.29600000000005l-15.36 58.922667zM0 862.72h125.952v-16.896h125.952l159.744-628.693333-58.88-20.010667L199.68 796.672l-69.12 1.024-1.536-16.896L0 782.848V862.72z m518.656-830.421333a126.976 126.976 0 1 0-253.909333-0.128 126.976 126.976 0 0 0 253.909333 0.128z"  horiz-adv-x="1024" />
 
     
-    <glyph glyph-name="userBook" unicode="&#58880;" d="M816.78-1.5199999999999818H223a31.66 31.66 0 0 0-31.62 31.62V151.38a7.91 7.91 0 1 0 15.81 0v-121.27A15.83 15.83 0 0 1 223 14.299999999999955h593.78a15.83 15.83 0 0 1 15.81 15.81V765.38a15.83 15.83 0 0 1-15.81 15.81H222.17a15.83 15.83 0 0 1-15.81-15.81v-126.69a7.91 7.91 0 1 0-15.81 0V765.38A31.66 31.66 0 0 0 222.17 797h594.61a31.66 31.66 0 0 0 31.62-31.62v-735.27a31.66 31.66 0 0 0-31.62-31.63zM196.43 552.46a15.81 15.81 0 0 0 15.81-15.81v-77.59a15.81 15.81 0 0 0-15.81-15.81 15.81 15.81 0 0 0-15.81 15.81v77.59a15.81 15.81 0 0 0 15.81 15.81zM142.92 607.0699999999999H254a15.81 15.81 0 0 0 15.81-15.81A15.81 15.81 0 0 0 254 575.45H142.92a15.81 15.81 0 0 0-15.81 15.81 15.81 15.81 0 0 0 15.81 15.81zM142.92 425H254a15.81 15.81 0 0 0 15.81-15.81A15.81 15.81 0 0 0 254 393.42H142.92a15.81 15.81 0 0 0-15.81 15.81A15.81 15.81 0 0 0 142.92 425zM142.92 224.82000000000005H254A15.81 15.81 0 0 0 269.79 209 15.81 15.81 0 0 0 254 193.20000000000005H142.92a15.81 15.81 0 0 0-15.81 15.8 15.81 15.81 0 0 0 15.81 15.82zM196.43 352.24a15.81 15.81 0 0 0 15.81-15.81v-77.59A15.81 15.81 0 0 0 196.43 243a15.81 15.81 0 0 0-15.81 15.81v77.61a15.81 15.81 0 0 0 15.81 15.82zM715.65 461.45l178.35 0 0-145.62-178.35 0 0 145.62ZM874.23 315.83000000000004H735.42a19.78 19.78 0 0 0-19.77 19.77V441.69a19.79 19.79 0 0 0 19.77 19.77h138.81A19.79 19.79 0 0 0 894 441.69V335.6a19.78 19.78 0 0 0-19.77-19.77zM735.42 453.55a11.87 11.87 0 0 1-11.86-11.86V335.6a11.87 11.87 0 0 1 11.86-11.86h138.81a11.87 11.87 0 0 1 11.86 11.86V441.69a11.87 11.87 0 0 1-11.86 11.86zM374.77 607.0699999999999h325.07a15.81 15.81 0 0 0 15.81-15.81 15.81 15.81 0 0 0-15.81-15.81H374.77A15.81 15.81 0 0 0 359 591.26a15.81 15.81 0 0 0 15.77 15.81zM374.77 425h235.9a15.81 15.81 0 0 0 15.81-15.81 15.81 15.81 0 0 0-15.81-15.81h-235.9A15.81 15.81 0 0 0 359 409.23 15.81 15.81 0 0 0 374.77 425z"  horiz-adv-x="1024" />
-
-    
     <glyph glyph-name="arrows-left" unicode="&#61186;" d="M744.32-103.03999999999996a84.48 84.48 0 0 1 0 116.608L385.152 384l359.168 370.368c31.04 32 31.04 84.48 0 116.608a78.464 78.464 0 0 1-113.024 0L216 442.752A83.328 83.328 0 0 1 192.768 384c-0.128-21.312 7.552-42.624 23.232-58.816l415.296-428.16c31.04-32 81.92-32 113.024 0z"  horiz-adv-x="1024" />
 
     
-    <glyph glyph-name="serviceOnline" unicode="&#58895;" d="M820.003587 501.897758h-30.880717C781.775785 648.839462 661.237668 766.392825 511.426009 766.392825S241.076233 648.839462 233.729148 501.897758H202.84843c-48.444843 0-88.165022-39.720179-88.165022-88.165023v-58.776681c0-48.444843 39.720179-88.165022 88.165022-88.165023h29.388341c32.373094 0 58.776682 26.403587 58.776682 58.776682V487.203587c0 121.915695 98.496861 220.412556 220.412556 220.412556s220.412556-98.496861 220.412556-220.412556v-205.718385c0-89.657399-61.761435-164.620628-143.956951-185.169507-10.331839 14.69417-27.895964 23.533632-47.067264 23.533632h-58.776682c-32.373094 0-58.776682-26.403587-58.776681-58.776681 0-32.373094 26.403587-58.776682 58.776681-58.776682h58.776682c23.533632 0 45.574888 14.69417 54.41435 35.243049 107.221525 23.533632 188.039462 116.060987 195.386547 229.252018h29.38834c48.444843 0 88.165022 39.720179 88.165023 88.165023v58.776681c0 48.444843-39.605381 88.165022-88.165023 88.165023zM202.84843 325.567713c-16.186547 0-29.388341 13.201794-29.38834 29.388341v58.776681c0 16.186547 13.201794 29.388341 29.38834 29.388341h29.388341v-117.553363H202.84843z m646.543498 29.388341c0-16.186547-13.201794-29.388341-29.388341-29.388341h-29.38834V443.121076h29.38834c16.186547 0 29.388341-13.201794 29.388341-29.388341v-58.776681z m0 0"  horiz-adv-x="1024" />
-
-    
-    <glyph glyph-name="accountCenter" unicode="&#58906;" d="M534.884174 309.337043c-155.603478 0-277.860174 129.068522-277.860174 293.309218C257.024 766.931478 379.280696 896 534.884174 896c155.603478 0 277.860174-129.068522 277.860174-293.353739 0-164.285217-122.256696-293.309217-277.860174-293.309218z m0 58.679653c122.256696 0 222.297043 105.605565 222.297043 234.629565 0 129.113043-100.040348 234.674087-222.297043 234.674087-122.256696 0-222.297043-105.605565-222.297044-234.629565 0-129.113043 100.040348-234.674087 222.297044-234.674087z m55.56313-410.668522v58.63513H979.478261v-58.63513h-389.030957z m0 175.994435v58.679652H979.478261v-58.679652h-389.030957zM512 308.26852199999996c-227.906783 0-409.021217-181.871304-409.021217-410.668522H44.521739c0 258.137043 210.365217 469.348174 467.478261 469.348174"  horiz-adv-x="1024" />
-
-    
     <glyph glyph-name="warehouse" unicode="&#58940;" d="M512 457.8c247.4 0 448 69.4 448 155s-200.6 155-448 155-448-69.4-448-155 200.6-155 448-155z m380.4 8c-99-44.9-242.6-66.2-380.4-66.2-137.8 0-281.4 21.3-380.4 66.2C88.8 442.1 64 414.1 64 384c0-85.6 200.6-155 448-155s448 69.4 448 155c0 30.1-24.8 58.1-67.6 81.8z m0-228.8c-99-44.9-242.6-66.2-380.4-66.2-137.8 0-281.4 21.3-380.4 66.2C88.8 213.29999999999995 64 185.29999999999995 64 155.20000000000005c0-85.6 200.6-155 448-155s448 69.4 448 155c0 30.1-24.8 58.1-67.6 81.8z"  horiz-adv-x="1024" />
 
     
@@ -71,15 +56,9 @@ Created by iconfont
     <glyph glyph-name="money" unicode="&#59130;" d="M991.371654 719.3010810000001C838.144115 724.799224 509.810223 895.810409 509.810223 895.810409h-5.479184S185.002725 724.799224 31.775186 719.3010810000001C18.996745 654.840102 40.0224 257.83630800000003 147.653276 99.71731899999997c71.248341-106.739797 290.301915-201.724946 355.767726-225.803018a12.683646 12.683646 0 0 1 12.759482-0.379182c84.538678 31.661716 273.579978 106.550206 359.31308 226.1822 118.513406 180.111559 128.334225 553.606054 115.87809 619.583762zM703.193159 416.713662h-155.009695v-72.234214H703.193159v-59.910792h-155.009695v-137.64315h-73.580311v137.64315h-153.720476v59.910792h153.720476v72.234214h-153.720476v60.479566h124.978463l-81.391466 144.468429h80.576224s63.683655-117.167309 66.489604-127.784411c3.298885 11.565058 67.475478 127.784411 67.475477 127.784411h80.576224l-82.453176-144.468429h125.983296v-60.479566z"  horiz-adv-x="1024" />
 
     
-    <glyph glyph-name="commonQuestion" unicode="&#58995;" d="M512-110.93333299999995c-12.8 0-21.333333 4.266667-29.866667 12.8L341.333333 42.66666699999996H42.666667c-25.6 0-42.666667 17.066667-42.666667 42.666666V853.333333c0 25.6 17.066667 42.666667 42.666667 42.666667h938.666666c25.6 0 42.666667-17.066667 42.666667-42.666667v-768c0-25.6-17.066667-42.666667-42.666667-42.666666h-298.666666l-140.8-140.8c-8.533333-8.533333-17.066667-12.8-29.866667-12.8zM64 106.66666699999996h302.933333l145.066667-145.066667 145.066667 145.066667h302.933333v725.333333h-896v-725.333333zM541.866667 209.06666700000005h-81.066667v76.8h81.066667v-76.8z m-4.266667 123.733333H469.333333v4.266667c0 25.6 0 46.933333 4.266667 59.733333 0 12.8 4.266667 25.6 12.8 38.4 4.266667 12.8 12.8 21.333333 25.6 34.133333 8.533333 8.533333 25.6 21.333333 42.666667 38.4 21.333333 21.333333 34.133333 34.133333 42.666666 46.933334v29.866666c0 21.333333-8.533333 42.666667-25.6 59.733334-17.066667 17.066667-38.4 25.6-68.266666 25.6-55.466667 0-85.333333-34.133333-98.133334-98.133334v-4.266666l-68.266666 8.533333v4.266667c4.266667 46.933333 21.333333 85.333333 51.2 110.933333 29.866667 25.6 68.266667 38.4 115.2 38.4s89.6-12.8 119.466666-38.4c29.866667-25.6 46.933333-59.733333 46.933334-102.4 0-21.333333-4.266667-38.4-12.8-59.733333-8.533333-21.333333-29.866667-42.666667-64-72.533334-25.6-21.333333-38.4-38.4-46.933334-51.2-4.266667-12.8-8.533333-34.133333-8.533333-72.533333z"  horiz-adv-x="1024" />
-
-    
     <glyph glyph-name="arrows-right" unicode="&#61185;" d="M215.68-103.03999999999996a84.48 84.48 0 0 0 0 116.608L574.848 384 215.68 754.3679999999999a84.608 84.608 0 0 0 0 116.608 78.464 78.464 0 0 0 113.024 0L744 442.752c15.616-16.192 23.36-37.44 23.232-58.752 0.128-21.312-7.552-42.624-23.232-58.816l-415.296-428.16c-31.04-32-81.92-32-113.024 0z"  horiz-adv-x="1024" />
 
     
-    <glyph glyph-name="userGuite" unicode="&#58966;" d="M906.000638-127.99995999999999a99.290887 99.290887 0 0 0-57.16748 18.052889L483.763632 149.813937l-55.161604-221.649355a40.11753 40.11753 0 0 0-39.114592-30.088147 40.11753 40.11753 0 0 0-39.114592 31.091086l-82.240937 352.031328a20.058765 20.058765 0 0 1-11.032321 14.041135L50.494306 391.522057l-5.014692 3.008815a100.293826 100.293826 0 0 0 18.052889 176.517133L886.944811 888.979432a100.293826 100.293826 0 0 0 136.399603-101.296764l-17.04995-821.406432v-3.008815a99.290887 99.290887 0 0 0-58.170419-81.237998 100.293826 100.293826 0 0 0-42.123407-10.029383z m-11.03232 84.246814a20.058765 20.058765 0 0 1 31.091085 13.038197l17.049951 821.406432v3.008815a20.058765 20.058765 0 0 1-27.079333 21.061703L92.617712 496.830574a20.058765 20.058765 0 0 1-6.017629-34.099901l203.596466-94.276196a99.290887 99.290887 0 0 0 55.161604-68.199801l45.132222-190.558269 29.085209 117.343776a40.11753 40.11753 0 0 0 62.182172 23.06758zM389.487436-101.92356500000005a40.11753 40.11753 0 0 0-27.079333 69.202739l191.561207 176.517134a40.11753 40.11753 0 0 0 54.158666-59.173358L416.566769-90.89124400000003a40.11753 40.11753 0 0 0-27.079333-11.032321zM462.701929 181.907961a40.11753 40.11753 0 0 0-31.091086 65.190987L917.032959 853.876593a40.11753 40.11753 0 1 0 62.182172-50.146913L493.793015 196.95203500000002a40.11753 40.11753 0 0 0-31.091086-15.044074z"  horiz-adv-x="1024" />
-
-    
 
 
   </font>

BIN
frontend/saas-web/packages/font-saas/resources/fonts/iconfont.ttf


BIN
frontend/saas-web/packages/font-saas/resources/fonts/iconfont.woff


+ 1 - 13
frontend/saas-web/packages/font-saas/sass/etc/icons.scss

@@ -1,13 +1,10 @@
+
 .sa-purchase:before { content: "\e613"; }
 
 .sa-xiu:before { content: "\e605"; }
 
 .sa-weibiaoti1:before { content: "\ef04"; }
 
-.sa-tuichu:before { content: "\e6b7"; }
-
-.sa-feedback:before { content: "\e672"; }
-
 .sa-document:before { content: "\e654"; }
 
 .sa-switch-on:before { content: "\e622"; }
@@ -16,14 +13,8 @@
 
 .sa-sale:before { content: "\e638"; }
 
-.sa-userBook:before { content: "\e600"; }
-
 .sa-arrows-left:before { content: "\ef02"; }
 
-.sa-serviceOnline:before { content: "\e60f"; }
-
-.sa-accountCenter:before { content: "\e61a"; }
-
 .sa-warehouse:before { content: "\e63c"; }
 
 .sa-setting:before { content: "\e64b"; }
@@ -32,8 +23,5 @@
 
 .sa-money:before { content: "\e6fa"; }
 
-.sa-commonQuestion:before { content: "\e673"; }
-
 .sa-arrows-right:before { content: "\ef01"; }
 
-.sa-userGuite:before { content: "\e656"; }

BIN
frontend/saas-web/resources/images/default/user-icon.png


+ 26 - 0
frontend/saas-web/resources/json/info.json

@@ -0,0 +1,26 @@
+[{
+    "title": "七天内待出货销售",
+    "content": "168件",
+    "color": "yellow"
+}, {
+    "title": "七天内待入库采购",
+    "content": "168件",
+    "color": "purple"
+}, {
+    "title": "七天内代付款",
+    "content": "168件",
+    "color": "red"
+}, {
+    "title": "七天内代收款",
+    "content": "168件",
+    "color": "yellow"
+}, {
+    "title": "未审核验收",
+    "content": "168件"
+}, {
+    "title": "七天内待出货销售",
+    "content": "168件"
+}, {
+    "title": "未审核出货",
+    "content": "168件"
+}]

+ 7 - 2
frontend/saas-web/resources/json/navigation.json

@@ -288,9 +288,14 @@
             "text": "新手导航",
             "viewType": "sys-guide-formpanel",
             "leaf": true
-        }, {
+        },{  
+            "id":"sys-manager-formpanel",
+            "text": "系统管理",
+            "viewType": "sys-manager-formpanel",
+            "leaf": true
+        }, {  
             "id":"sys-config-formpanel",
-            "text": "系统参数",
+            "text": "公司设置",
             "viewType": "sys-config-formpanel",
             "leaf": true
         }, {

Some files were not shown because too many files changed in this diff