Browse Source

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

zhuth 7 years ago
parent
commit
8b63acb8c2

+ 45 - 0
applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/controller/HomePageController.java

@@ -0,0 +1,45 @@
+package com.usoftchina.saas.commons.controller;
+
+import com.usoftchina.saas.base.Result;
+import com.usoftchina.saas.commons.service.HomePageService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.ServletRequest;
+
+/**
+ * @author: guq
+ * @create: 2018-11-12 19:19
+ * saas首页接口
+ **/
+@RestController
+@RequestMapping("homePage")
+public class HomePageController {
+
+    @Autowired
+    private HomePageService homePageService;
+
+
+    @GetMapping("liveData")
+    public Result liveData(ServletRequest req) {
+        return homePageService.liveDate();
+    }
+
+    @GetMapping("purchaseData")
+    public Result purchaseData(Boolean sixMonths) {
+        return homePageService.purchaseData(sixMonths);
+    }
+
+    @GetMapping("storageData")
+    public Result storageData(ServletRequest req) {
+        return homePageService.storageData();
+    }
+
+
+    @RequestMapping("payAndRecData")
+    public Result payAndRecData(ServletRequest req) {
+        return homePageService.payAndRecData();
+    }
+}

+ 16 - 0
applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/mapper/HomePageMapper.java

@@ -0,0 +1,16 @@
+package com.usoftchina.saas.commons.mapper;
+
+import java.util.Map;
+
+public interface HomePageMapper {
+
+    void getLiveData(Map<String, Object> map);
+
+    String getPurchaseDataNow(Long componyId);
+
+    String getPurchaseDataInSixMonth(Long componyId);
+
+    String getStorageData(Long componyId);
+
+    String getPayAndRecData(Long companyId);
+}

+ 41 - 0
applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/service/HomePageService.java

@@ -0,0 +1,41 @@
+package com.usoftchina.saas.commons.service;
+
+import com.usoftchina.saas.base.Result;
+
+public interface HomePageService {
+
+    /**
+    * @Description 获取首页实时数据
+    * @Param: []
+    * @return: com.usoftchina.saas.base.Result
+    * @Author: guq
+    * @Date: 2018/11/12
+    */
+    Result liveDate();
+
+    /**
+    * @Description  获取采购额
+    * @Param: [sixMonths] 区别本月与6个月
+    * @return: com.usoftchina.saas.base.Result
+    * @Author: guq
+    * @Date: 2018/11/13
+    */
+    Result purchaseData(Boolean sixMonths);
+
+    /**
+    * @Description 获取库存数据
+    * @Param: []
+    * @return: com.usoftchina.saas.base.Result
+    * @Author: guq
+    * @Date: 2018/11/13
+    */
+    Result storageData();
+    /**
+    * @Description 获取本月收入支出数据
+    * @Param: []
+    * @return: com.usoftchina.saas.base.Result
+    * @Author: guq
+    * @Date: 2018/11/13
+    */
+    Result payAndRecData();
+}

+ 80 - 0
applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/service/impl/HomePageServiceImpl.java

@@ -0,0 +1,80 @@
+package com.usoftchina.saas.commons.service.impl;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.usoftchina.saas.base.Result;
+import com.usoftchina.saas.commons.mapper.HomePageMapper;
+import com.usoftchina.saas.commons.service.HomePageService;
+import com.usoftchina.saas.context.BaseContextHolder;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author: guq
+ * @create: 2018-11-12 19:30
+ **/
+@Service
+public class HomePageServiceImpl implements HomePageService{
+
+    @Autowired
+    private HomePageMapper homePageMapper;
+
+    @Override
+    public Result liveDate() {
+        Long componyId = BaseContextHolder.getCompanyId();
+        Object json = null;
+        Map<String, Object> map = new HashMap<String, Object>();
+        map.put("componyid", componyId);
+        map.put("res", "");
+        homePageMapper.getLiveData(map);
+        if (null != map.get("res")) {
+            json = parseJson(map.get("res").toString());
+        }
+        return Result.success(json);
+    }
+
+    @Override
+    public Result purchaseData(Boolean sixMonths) {
+        Long componyId = BaseContextHolder.getCompanyId();
+        String res = null;
+        Object json = null;
+        if (null != sixMonths && sixMonths) {
+            res = homePageMapper.getPurchaseDataInSixMonth(componyId);
+            json = parseJson(res);
+            return Result.success(json);
+        }
+        res = homePageMapper.getPurchaseDataNow(componyId);
+        json = parseJson(res);
+        return Result.success(json);
+    }
+
+    @Override
+    public Result storageData() {
+        Long componyId = BaseContextHolder.getCompanyId();
+        Object json = parseJson(homePageMapper.getStorageData(componyId));
+        return Result.success(json);
+    }
+
+    @Override
+    public Result payAndRecData() {
+        Long componyId = BaseContextHolder.getCompanyId();
+        Object json = parseJson(homePageMapper.getPayAndRecData(componyId));
+        return Result.success(json);
+    }
+
+    private Object parseJson(String text) {
+        Object json = null;
+        if (null != text) {
+            try {
+                json = JSON.parse(text);
+            }catch (Exception e) {
+                e.printStackTrace();
+            }
+            return json;
+        }
+        return null;
+    }
+}

+ 62 - 0
applications/commons/commons-server/src/main/resources/mapper/HomePageMapper.xml

@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.usoftchina.saas.commons.mapper.HomePageMapper" >
+    <parameterMap id="sp_livedata" type="java.util.Map">
+        <parameter property="componyid"  mode="IN" />
+        <parameter property="res" jdbcType="VARCHAR" mode="OUT" />
+    </parameterMap>
+
+    <select id="getLiveData" parameterMap="sp_livedata" statementType="CALLABLE">
+        CALL  SP_LIVEDATA(?,?)
+    </select>
+
+    <select id="getPurchaseDataNow" parameterType="long" resultType="string">
+        select concat('{',GROUP_CONCAT(concat('"',si_vendname,'":',IFNULL(si_amount,0))),'}') from statsinfo
+        where companyid=#{componyId} and si_yearmonth=DATE_FORMAT(now(),'%Y%m') and si_type='PURC' ORDER BY si_amount desc
+    </select>
+
+    <select id="getPurchaseDataInSixMonth" parameterType="long" resultType="string">
+    select concat('{',d1,',',d2,',',d3,',',d4,',',d5,',',d6,'}') from (
+(select concat('"',DATE_FORMAT(now(),'%Y%m'),'":',ifnull(ROUND(sum((ifnull(si_amount,0))),2),'0')) d1 from   statsinfo where companyid=#{componyId} and si_yearmonth=DATE_FORMAT(now(),'%Y%m') and si_type='PURC' ORDER BY si_amount desc) data_1,
+
+(select concat('"',DATE_FORMAT(date_sub(now(),interval 1 MONTH),'%Y%m'),'":',ifnull(ROUND(sum((ifnull(si_amount,0))),2),'0')) d2 from  statsinfo where companyid=#{componyId} and si_yearmonth=DATE_FORMAT(date_sub(now(),interval 1 MONTH),'%Y%m') and si_type='PURC' ORDER BY si_amount desc)data_2,
+
+
+(select concat('"',DATE_FORMAT(date_sub(now(),interval 2 MONTH),'%Y%m'),'":',ifnull(ROUND(sum((ifnull(si_amount,0))),2),'0')) d3 from  statsinfo where companyid=#{componyId} and si_yearmonth=DATE_FORMAT(date_sub(now(),interval 2 MONTH),'%Y%m') and si_type='PURC' ORDER BY si_amount desc)data_3,
+
+
+(select concat('"',DATE_FORMAT(date_sub(now(),interval 3 MONTH),'%Y%m'),'":',ifnull(ROUND(sum((ifnull(si_amount,0))),2),'0')) d4 from  statsinfo where companyid=#{componyId} and si_yearmonth=DATE_FORMAT(date_sub(now(),interval 3 MONTH),'%Y%m') and si_type='PURC' ORDER BY si_amount desc) data_4,
+
+
+(select concat('"',DATE_FORMAT(date_sub(now(),interval 4 MONTH),'%Y%m'),'":',ifnull(ROUND(sum((ifnull(si_amount,0))),2),'0')) d5 from  statsinfo where companyid=#{componyId} and si_yearmonth=DATE_FORMAT(date_sub(now(),interval 4 MONTH),'%Y%m') and si_type='PURC' ORDER BY si_amount desc)data_5,
+
+(select concat('"',DATE_FORMAT(date_sub(now(),interval 5 MONTH),'%Y%m'),'":',ifnull(ROUND(sum((ifnull(si_amount,0))),2),'0')) d6 from  statsinfo where companyid=#{componyId} and si_yearmonth=DATE_FORMAT(date_sub(now(),interval 5 MONTH),'%Y%m') and si_type='PURC' ORDER BY si_amount desc)data_6)
+ </select>
+
+
+    <select id="getStorageData" parameterType="long" resultType="string">
+      select concat('{',d1,',',d2,',',d3,',',d4,',',d5,',',d6,'}') from (
+
+(select concat('"',DATE_FORMAT(now(),'%Y%m'),'":',ifnull(ROUND(sum((ifnull(si_amount,0))),2),'0')) d1 from   statsinfo where companyid=#{componyId} and si_yearmonth=DATE_FORMAT(now(),'%Y%m') and si_type='STOCK' ORDER BY si_amount desc) data_1,
+
+(select concat('"',DATE_FORMAT(date_sub(now(),interval 1 MONTH),'%Y%m'),'":',ifnull(ROUND(sum((ifnull(si_amount,0))),2),'0')) d2 from  statsinfo where companyid=#{componyId} and si_yearmonth=DATE_FORMAT(date_sub(now(),interval 1 MONTH),'%Y%m') and si_type='STOCK' ORDER BY si_amount desc)data_2,
+
+
+(select concat('"',DATE_FORMAT(date_sub(now(),interval 2 MONTH),'%Y%m'),'":',ifnull(ROUND(sum((ifnull(si_amount,0))),2),'0')) d3 from  statsinfo where companyid=#{componyId} and si_yearmonth=DATE_FORMAT(date_sub(now(),interval 2 MONTH),'%Y%m') and si_type='STOCK' ORDER BY si_amount desc)data_3,
+
+
+(select concat('"',DATE_FORMAT(date_sub(now(),interval 3 MONTH),'%Y%m'),'":',ifnull(ROUND(sum((ifnull(si_amount,0))),2),'0')) d4 from  statsinfo where companyid=#{componyId} and si_yearmonth=DATE_FORMAT(date_sub(now(),interval 3 MONTH),'%Y%m') and si_type='STOCK' ORDER BY si_amount desc) data_4,
+
+
+(select concat('"',DATE_FORMAT(date_sub(now(),interval 4 MONTH),'%Y%m'),'":',ifnull(ROUND(sum((ifnull(si_amount,0))),2),'0')) d5 from  statsinfo where companyid=#{componyId} and si_yearmonth=DATE_FORMAT(date_sub(now(),interval 4 MONTH),'%Y%m') and si_type='STOCK' ORDER BY si_amount desc)data_5,
+
+(select concat('"',DATE_FORMAT(date_sub(now(),interval 5 MONTH),'%Y%m'),'":',ifnull(ROUND(sum((ifnull(si_amount,0))),2),'0')) d6 from  statsinfo where companyid=#{componyId} and si_yearmonth=DATE_FORMAT(date_sub(now(),interval 5 MONTH),'%Y%m') and si_type='STOCK' ORDER BY si_amount desc)data_6);
+    </select>
+
+
+    <select id="getPayAndRecData" parameterType="long" resultType="string">
+     select concat('{"支出":',ifnull(si_amount_pay,'0'),',"收入":',ifnull(si_amount_rec,'0'),'}') from statsinfo where companyid=#{componyId} and si_yearmonth=DATE_FORMAT(now(),'%Y%m') and si_type='FUND'
+    </select>
+
+
+</mapper>

+ 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' }
+    ]
+});

+ 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',

+ 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:[{

+ 13 - 9
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,10 +79,12 @@ 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',
@@ -125,7 +128,7 @@ Ext.define('saas.view.main.Main', {
                     }
                 },
                 {
-                    margin: '0 0 0 8',
+                    margin: '0 0 0 0',
                     xtype: 'tbtext',
                     cls:'nav-realname',
                     bind: {
@@ -139,14 +142,15 @@ Ext.define('saas.view.main.Main', {
                 },
                 {
                     ui: 'header',
-                    id:"userImage",
-                    height: 35,
-                    width: 35,
-                     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="">'
+                    arrowVisible: false,
+                    id:"userImage",    
+                    width: 50,
+                    height:50,    
+                    bind: {
+                        html:'<img class="x-img x-box-item x-toolbar-item x-img-header" style="height:35px;width:35px;margin-top: 6px;margin-left: 14px;" src="{avatarUrl}" alt="">'
                     }, 
                     menu: {
-                        cls:'nav-menu',
+                        cls:'x-main-menu2',
                         items: [ {  
                             text: '账户中心',
                             iconCls:'x-fa x-fa fa-user-o',

+ 54 - 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,45 @@ 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;
+}
+.x-main-menu2::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: 25px;
+    margin-left: 47px;
+}

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

@@ -121,6 +121,8 @@ Ext.define('saas.view.sale.sale.FormPanelController', {
                         {
                             from:'pr_code',to:'sd_prodcode'
                         }, {
+                            from:'pr_saleprice',to:'sd_price'
+                        },{
                             from:'pr_detail',to:'pr_detail'
                         }, {
                             from:'pr_spec',to:'pr_spec'

+ 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/resources/images/default/user-icon.png


+ 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
         }, {