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

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

zhoudw 7 жил өмнө
parent
commit
17869f34e3
35 өөрчлөгдсөн 250 нэмэгдсэн , 66 устгасан
  1. 1 1
      applications/commons/commons-dto/src/main/java/com/usoftchina/saas/commons/dto/ListReqDTO.java
  2. 1 0
      applications/commons/commons-dto/src/main/java/com/usoftchina/saas/commons/exception/BizExceptionCode.java
  3. 9 0
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/CustomerServiceImpl.java
  4. 19 0
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/VendorServiceImpl.java
  5. 6 6
      applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/service/impl/SaleServiceImpl.java
  6. 28 0
      frontend/saas-web/app/Application.scss
  7. 19 0
      frontend/saas-web/app/view/core/base/GridPanel.js
  8. 29 0
      frontend/saas-web/app/view/core/base/ImportWindow.js
  9. 1 1
      frontend/saas-web/app/view/core/form/FormPanel.js
  10. 1 1
      frontend/saas-web/app/view/core/form/MseeageLog.js
  11. 1 1
      frontend/saas-web/app/view/document/bom/FormPanel.js
  12. 1 1
      frontend/saas-web/app/view/document/customer/FormPanel.js
  13. 1 1
      frontend/saas-web/app/view/document/product/FormPanel.js
  14. 1 1
      frontend/saas-web/app/view/document/vendor/FormPanel.js
  15. 1 0
      frontend/saas-web/app/view/main/Main.js
  16. 10 0
      frontend/saas-web/app/view/main/Main.scss
  17. 1 1
      frontend/saas-web/app/view/money/othreceipts/FormPanel.js
  18. 1 1
      frontend/saas-web/app/view/money/payBalance/FormPanelController.js
  19. 1 1
      frontend/saas-web/app/view/money/recBalance/FormPanelController.js
  20. 1 1
      frontend/saas-web/app/view/money/report/AccountBalance.js
  21. 1 1
      frontend/saas-web/app/view/money/report/AccountDetails.js
  22. 13 13
      frontend/saas-web/app/view/money/report/PayDetail.js
  23. 13 13
      frontend/saas-web/app/view/money/report/RecDetail.js
  24. 2 1
      frontend/saas-web/app/view/money/verification/FormPanel.js
  25. 1 1
      frontend/saas-web/app/view/stock/inventory/EditDataList.js
  26. 1 1
      frontend/saas-web/app/view/stock/stockamount/DataList.js
  27. 7 7
      frontend/saas-web/app/view/sys/config/FormPanel.js
  28. 1 1
      frontend/saas-web/app/view/sys/guide/FormPanel.js
  29. 1 1
      frontend/saas-web/app/view/sys/maxnumbers/DataList.js
  30. 1 1
      frontend/saas-web/app/view/sys/messagelog/DataList.js
  31. 0 7
      frontend/saas-web/app/view/sys/power/GroupGrid.js
  32. 3 2
      frontend/saas-web/app/view/sys/power/OtherField.js
  33. 4 0
      frontend/saas-web/overrides/button/Button.js
  34. 26 0
      frontend/saas-web/overrides/grid/column/Widget.js
  35. 43 0
      frontend/saas-web/overrides/grid/feature/Grouping.js

+ 1 - 1
applications/commons/commons-dto/src/main/java/com/usoftchina/saas/commons/dto/ListReqDTO.java

@@ -38,7 +38,7 @@ public class ListReqDTO implements Serializable {
                         fieldSql = new StringBuilder("'{");
                         fieldSql.append("\"" + field + "\":'");
                         fieldSql.append(",");
-                        fieldSql.append(operation + "(" + field + ")");
+                        fieldSql.append("ifnull(" + operation + "(" + field + ")" + ",'0')");
                         fieldSql.append(",");
                         fieldSql.append("',\"operation\":\"" + operation + "\"");
                         fieldSql.append("}'");

+ 1 - 0
applications/commons/commons-dto/src/main/java/com/usoftchina/saas/commons/exception/BizExceptionCode.java

@@ -33,6 +33,7 @@ public enum BizExceptionCode implements BaseExceptionCode {
     BIZ_PRODWHCODE_REPEAT(79309, "明细仓库重复"),
     BIZ_UNENDPRODUCT(79310,"系统还未结账,不能反结账"),
     BIZ_RELUPDATE_CODEANDNAME(79311,"存在关联单据,不允许更新编号,名称"),
+    BIZ_RELUPDATE_AMOUNT(79312,"存在关联单据,不允许更新期初应收,期初预收"),
     NO_OPRATIONDATA(79400,"无可操作单据"),
     BOM_SAVE(79401, "产品编号+版本号已存在"),
     REPEAT_NAME(79501, "名称重复"),

+ 9 - 0
applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/CustomerServiceImpl.java

@@ -210,8 +210,17 @@ public class CustomerServiceImpl extends CommonBaseServiceImpl<CustomerMapper, C
                 if (count > 0) {
                     throw new BizException(BizExceptionCode.BIZ_RELUPDATE_CODEANDNAME);
                 }
+
+                //限制关联单据不可修改金额
+                Customer customer1 = getMapper().selectByPrimaryKey(customer.getId());
+                if (customer.getCu_beginaramount() != customer1.getCu_beginaramount() ||
+                        customer.getCu_beginprerecamount() != customer1.getCu_beginprerecamount()){
+                    throw new BizException(BizExceptionCode.BIZ_RELUPDATE_AMOUNT);
+                }
             }
 
+
+
             //检查期初日期是否已结转
             count = getMapper().validFinish(cu_id, companyId);
             if (count > 0) {

+ 19 - 0
applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/VendorServiceImpl.java

@@ -186,6 +186,24 @@ public class VendorServiceImpl extends CommonBaseServiceImpl<VendorMapper, Vendo
                 }
             }
 
+            //有关联时不可修改名称编号
+            Map<String, Object> map = new HashMap<String, Object>();
+            map.put("v_id",main.getId());
+            map.put("v_code", ve_code);
+            map.put("v_type","vend");
+            map.put("v_companyid",BaseContextHolder.getCompanyId());
+            map.put("v_res","");
+            vendorMapper.check(map);
+            Object result =  map.get("v_res");
+            if(!StringUtils.isEmpty(result)){
+                //限制关联单据不可修改金额
+                Vendor vendor = getMapper().selectByPrimaryKey(main.getId());
+                if (vendor.getVe_beginapamount() != main.getVe_beginapamount() ||
+                        vendor.getVe_beginprepayamount() != main.getVe_beginprepayamount()){
+                    throw new BizException(BizExceptionCode.BIZ_RELUPDATE_AMOUNT);
+                }
+            }
+
             //检查期初日期是否已结转
             count = getMapper().validFinish(mainId,companyId);
             if (count>0) {
@@ -294,6 +312,7 @@ public class VendorServiceImpl extends CommonBaseServiceImpl<VendorMapper, Vendo
         }
     }
 
+
     /**
      * 关闭
      * @param id

+ 6 - 6
applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/service/impl/SaleServiceImpl.java

@@ -571,20 +571,20 @@ public class SaleServiceImpl implements SaleService{
         Long purchaseId = purchase.getId();
         for (SaleList detail : dateilList){
             PurchaseDetailDTO purchaseDetail = new PurchaseDetailDTO();
-            Double taxPrice = detail.getPr_purcprice()==null?new Double(0):Double.valueOf(detail.getPr_purcprice());
-            Double taxrate = detail.getSd_taxrate()==null?new Double(0):detail.getSd_taxrate();
+            Double Price = detail.getPr_purcprice()==null?new Double(0):Double.valueOf(detail.getPr_purcprice());
+            Double taxRate = detail.getSd_taxrate()==null?new Double(0):detail.getSd_taxrate();
             Double qty = detail.getSd_qty()==null?new Double(0):detail.getSd_qty();
             purchaseDetail.setPd_prodid(Long.valueOf(String.valueOf(detail.getSd_prodid())));
             purchaseDetail.setPd_prodcode(detail.getSd_prodcode());
             purchaseDetail.setPd_detno(detail.getSd_detno());
             purchaseDetail.setPd_qty(detail.getSd_qty());
-            purchaseDetail.setPd_price(taxPrice/(1+taxrate/100));
+            purchaseDetail.setPd_price(Price);
             purchaseDetail.setPd_salecode(sale.getSa_code());
             purchaseDetail.setPd_saledetno(detail.getSd_detno());
             purchaseDetail.setPd_saleid(sale.getId());
-            purchaseDetail.setPd_taxrate(taxrate);
-            purchaseDetail.setPd_taxprice(taxPrice);
-            purchaseDetail.setPd_taxtotal(taxPrice*qty);
+            purchaseDetail.setPd_taxrate(taxRate);
+            purchaseDetail.setPd_taxprice(Price*(1+taxRate/100));
+            purchaseDetail.setPd_taxtotal((Price*(1+taxRate/100))*qty);
             purchaseDetail.setCompanyId(BaseContextHolder.getCompanyId());
             purchaseDetail.setCreatorId(BaseContextHolder.getUserId());
             purchaseDetail.setCreateTime(new Date());

+ 28 - 0
frontend/saas-web/app/Application.scss

@@ -128,11 +128,32 @@ body.launching {
 .x-btn.x-btn-menu-active.x-btn-default-toolbar-small,
 .x-btn.x-btn-pressed.x-btn-default-toolbar-small,
 .x-btn-over.x-btn-default-toolbar-small {
+  border-color: #1592ca;
   background: #34BAF6;
   opacity: 0.72;
 }
 
 .x-btn-over{
+  .x-btn-wrap{
+    .x-btn-button{
+      .x-btn-inner{
+        color:#fff;
+      }
+    }
+  }
+}
+
+.x-btn-pressed{
+  .x-btn-wrap{
+    .x-btn-button{
+      .x-btn-inner{
+        color:#fff !important;
+      }
+    }
+  }
+}
+
+.x-btn-menu-active{
   .x-btn-wrap{
     .x-btn-button{
       .x-btn-inner{
@@ -149,6 +170,13 @@ body.launching {
   border:1px solid #34BAF6;
 }
 
+.x-segmented-button-item .x-keyboard-mode .x-btn-focus.x-btn-default-toolbar-small {
+  background: #34BAF6 !important;
+  border:1px solid #34BAF6 !important;
+  opacity: 1;
+  box-shadow: none;
+}
+
 .x-keyboard-mode .x-btn-focus.x-btn-over.x-btn-default-toolbar-small {
   background: #34BAF6;
   box-shadow: none;

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

@@ -164,6 +164,25 @@ Ext.define('saas.view.core.base.GridPanel', {
 
     onImport:function(){
         var grid = this.ownerCt.ownerCt;
+        var form = grid.ownerCt,panelEl = form.getEl();
+        var box = panelEl.getBox();
+        var height = box.height;
+        var width = box.width;
+        var win = form.add(Ext.create('saas.view.core.base.ImportWindow', {  
+            cls:'x-window-dbfind', 
+            belong:form,  
+            modal:true,
+            height: height * 0.8,
+            width: width * 0.8,
+            title: form._title + '导入',
+            scrollable: true,
+            bodyPadding: 10,
+            constrain: true,
+            closable: true,
+            layout:'fit',
+            renderTo:form.getEl()
+        }));
+        win.show();
     },
 
     onExport:function(me){

+ 29 - 0
frontend/saas-web/app/view/core/base/ImportWindow.js

@@ -1,6 +1,35 @@
 Ext.define('saas.view.core.base.ImportWindow', {
     extend: 'Ext.window.Window',
     xtype: 'importwindow',
+    layout:'fit',
+
+    requires: [
+        'Ext.container.ButtonGroup'
+    ],
+
+    items:[{
+        xtype:'panel',
+        layout:'column',
+        defaults:{
+            columnWidth:1
+        },
+        tbar:['->',{
+            width:300,
+            text:'下载模板并填写'
+        },{
+            width:300,
+            text:'上传导入文件'
+        },'->'],
+        items:[{
+            xtype:'container',
+            html:'asddddddddddddddddddddd',
+        },{
+            xtype:'fieldset',
+            items:[{
+                text:'asddddddddddddddddddddd'
+            }]
+        }]
+    }],
 
     initComponent: function() {
         var me = this;

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

@@ -52,7 +52,7 @@ Ext.define('saas.view.core.form.FormPanel', {
         me.initFormItems();
 
         me.defaultBtns = me.defaultBtns || [{
-            cls: 'x-formpanel-btn-orange',
+            cls: 'x-formpanel-btn-blue',
             xtype: 'button',
             text: '新增',
             hidden: true,

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

@@ -13,7 +13,7 @@ Ext.define('saas.view.core.form.MseeageLog', {
         xtype: 'textfield',
         emptyText : '操作人员'
     },{
-        cls:'x-formpanel-btn-orange',
+        cls:'x-formpanel-btn-blue',
         xtype:'button',
         text:'查询',
         listeners: {

+ 1 - 1
frontend/saas-web/app/view/document/bom/FormPanel.js

@@ -23,7 +23,7 @@ Ext.define('saas.view.document.bom.FormPanel', {
     codeInHeader: false,
 
     defaultButtons:[{
-        cls: 'x-formpanel-btn-orange',
+        cls: 'x-formpanel-btn-blue',
         xtype: 'button',
         text: '新增',
         bind: {

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

@@ -415,7 +415,7 @@ Ext.define('saas.view.document.customer.FormPanel', {
             }]
     }],
     defaultButtons:[{
-        cls: 'x-formpanel-btn-orange',
+        cls: 'x-formpanel-btn-blue',
         xtype: 'button',
         text: '新增',
         bind: {

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

@@ -336,7 +336,7 @@ Ext.define('saas.view.document.product.FormPanel', {
     }],
 
     defaultButtons:[{
-        cls: 'x-formpanel-btn-orange',
+        cls: 'x-formpanel-btn-blue',
         xtype: 'button',
         text: '新增',
         bind: {

+ 1 - 1
frontend/saas-web/app/view/document/vendor/FormPanel.js

@@ -298,7 +298,7 @@ Ext.define('saas.view.document.vendor.FormPanel', {
     ],
 
     defaultButtons:[{
-        cls: 'x-formpanel-btn-orange',
+        cls: 'x-formpanel-btn-blue',
         xtype: 'button',
         text: '新增',
         bind: {

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

@@ -45,6 +45,7 @@ Ext.define('saas.view.main.Main', {
                 },{
                     reference: 'mainprofile',
                     arrowVisible: false,
+                    cls:'x-main-master',
                     ui: 'header',
                     bind: {
                         text: '{company.name}'

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

@@ -364,3 +364,13 @@ body > .x-mask {
         background-position: center;
     }
 }
+
+.x-main-master{
+    .x-btn-wrap{
+        .x-btn-button{
+            .x-btn-inner{
+                color:#999 !important;
+            }
+        }
+    }
+}

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

@@ -137,7 +137,7 @@ Ext.define('saas.view.money.othreceipts.FormPanel', {
                 dataIndex : "ord_remark",
                 width : 250, 
                 editor : {
-                    xtype : "textarea"
+                    xtype : "textfield"
                 }
             }
         ]

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

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

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

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

+ 1 - 1
frontend/saas-web/app/view/money/report/AccountBalance.js

@@ -92,7 +92,7 @@ Ext.define('saas.view.money.report.AccountBalance', {
             }
         }, {
             text: '往来单位',
-            dataIndex: 'bcode',
+            dataIndex: 'bname',
             width: 150
         }, {
             text: '收付款人',

+ 1 - 1
frontend/saas-web/app/view/money/report/AccountDetails.js

@@ -40,7 +40,7 @@ Ext.define('saas.view.money.report.AccountDetails', {
             xtype: 'textfield',
             emptyText : '客户名称'
     },{
-        cls:'x-formpanel-btn-orange',
+        cls:'x-formpanel-btn-blue',
         xtype:'button',
         text:'查询',
         listeners: {

+ 13 - 13
frontend/saas-web/app/view/money/report/PayDetail.js

@@ -98,19 +98,19 @@ Ext.define('saas.view.money.report.PayDetail', {
             dataIndex: 'mustpay',
             xtype: 'numbercolumn',
             width: 110,
-            renderer : function(v) {
-                var arr = (v + '.').split('.');
-                var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
-                var format = '0,000.' + 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 > 2 ? 2 : arr[1].length)).fill('0');
-                var format = '0,000.' + xr.join();
-                return Ext.util.Format.number(v, format);
-            }
+            // renderer : function(v) {
+            //     var arr = (v + '.').split('.');
+            //     var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
+            //     var format = '0,000.' + 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 > 2 ? 2 : arr[1].length)).fill('0');
+            //     var format = '0,000.' + xr.join();
+            //     return Ext.util.Format.number(v, format);
+            // }
         }, {
             text: '应付日期',
             xtype: 'datecolumn',

+ 13 - 13
frontend/saas-web/app/view/money/report/RecDetail.js

@@ -102,19 +102,19 @@ Ext.define('saas.view.money.report.RecDetail', {
             dataIndex: 'mustpay',
             xtype: 'numbercolumn',
             width: 110,
-            renderer : function(v) {
-                var arr = (v + '.').split('.');
-                var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
-                var format = '0,000.' + 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 > 2 ? 2 : arr[1].length)).fill('0');
-                var format = '0,000.' + xr.join();
-                return Ext.util.Format.number(v, format);
-            }
+            // renderer : function(v) {
+            //     var arr = (v + '.').split('.');
+            //     var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
+            //     var format = '0,000.' + 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 > 2 ? 2 : arr[1].length)).fill('0');
+            //     var format = '0,000.' + xr.join();
+            //     return Ext.util.Format.number(v, format);
+            // }
         }, {
             text: '应收日期',
             dataIndex: 'mustdate',

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

@@ -543,7 +543,8 @@ Ext.define('saas.view.money.verification.FormPanel', {
 
         defaultConditions: {
             receipts_offset_receivable: ['ifnull(sl_custid,0)={vc_custid} and ifnull(sl_preamount,0)<>0 and ifnull(sl_namount,0)<>0',
-                'ifnull(sl_custid,0)={vc_custid} and ifnull(sl_preamount,0)=0 and ifnull(sl_namount,0)<>0 and sl_kind in (\'期初余额\',\'出货单\',\'销售退货单\')'],
+                'ifnull(sl_custid,0)={vc_custid} and ifnull(sl_preamount,0)=0 and ifnull(sl_namount,0)<>0 ' +
+                'and sl_kind in (\'期初余额\',\'出货单\',\'销售退货单\')'],
             prepaid_offset_payable: ['ifnull(sl_vendid,0)={vc_vendid} and ifnull(sl_preamount,0)<>0 and ifnull(sl_namount,0)<>0',
                 'ifnull(sl_vendid,0)={vc_vendid} and ifnull(sl_preamount,0)=0 and ifnull(sl_namount,0)<>0'],
             receivable_offset_payable: ['ifnull(sl_custid,0)={vc_custid} and ifnull(sl_preamount,0)=0 and ifnull(sl_namount,0)<>0',

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

@@ -81,7 +81,7 @@ Ext.define('saas.view.stock.inventory.EditDataList', {
             from:'pr_detail',to:'pr_detail'
         }]
     },{
-        cls:'x-formpanel-btn-orange',
+        cls:'x-formpanel-btn-blue',
         xtype:'button',
         text:'查询',
         listeners: {

+ 1 - 1
frontend/saas-web/app/view/stock/stockamount/DataList.js

@@ -35,7 +35,7 @@ Ext.define('saas.view.stock.stockamount.DataList', {
         xtype: 'textfield',
         emptyText : '仓库名称'
     },{
-        cls:'x-formpanel-btn-orange',
+        cls:'x-formpanel-btn-blue',
         xtype:'button',
         text:'查询',
         listeners: {

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

@@ -427,13 +427,13 @@ Ext.define('saas.view.sys.config.FormPanel', {
             showLogoPhoto.show();
         }
         //文件名称
-        // var viewModel = form.getViewModel();
-        // if(viewModel.data.fileInfoList&&viewModel.data.fileInfoList.length!=0){
-        //     var logo = viewModel.data.fileInfoList[0].logo;
-        //     var logoName = logo.name + "  (" + Ext.util.Format.fileSize(logo.size) + ")";
-        //     var signet = viewModel.data.fileInfoList[0].signet;
-        //     var signetName = signet.name + "  (" + Ext.util.Format.fileSize(signet.size) + ")";
-        // }
+        var viewModel = form.getViewModel();
+        if(viewModel.data.fileInfoList&&viewModel.data.fileInfoList.length!=0){
+            var logo = viewModel.data.fileInfoList[0].logo;
+            var logoName = logo.name + "  (" + Ext.util.Format.fileSize(logo.size) + ")";
+            var signet = viewModel.data.fileInfoList[0].signet;
+            var signetName = signet.name + "  (" + Ext.util.Format.fileSize(signet.size) + ")";
+        }
     },
 
     lookPic:function(img){

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

@@ -270,7 +270,7 @@ Ext.define('saas.view.sys.guide.FormPanel', {
             width:0.5*width,
             buttons: [{
                 text: '我知道了',
-                cls:'x-formpanel-btn-orange',
+                cls:'x-formpanel-btn-blue',
                 handler: function(b) {
                     var scope = b.ownerCt.ownerCt;
                     if(xtype=='begin'&&value=='false'){

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

@@ -24,7 +24,7 @@ Ext.define('saas.view.sys.maxnumbers.DataList', {
         xtype: 'textfield',
         emptyText : '单据前缀'
     },{
-        cls:'x-formpanel-btn-orange',
+        cls:'x-formpanel-btn-blue',
         xtype:'button',
         text:'查询',
         listeners: {

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

@@ -23,7 +23,7 @@ Ext.define('saas.view.sys.messagelog.DataList', {
         xtype: 'textfield',
         emptyText : '操作人员'
     },{
-        cls:'x-formpanel-btn-orange',
+        cls:'x-formpanel-btn-blue',
         xtype:'button',
         text:'查询',
         listeners: {

+ 0 - 7
frontend/saas-web/app/view/sys/power/GroupGrid.js

@@ -15,11 +15,8 @@ Ext.define('saas.view.sys.power.GroupGrid', {
         style:'background:#fff;border-color:#34baf6'
     }],
     features : [Ext.create('Ext.grid.feature.Grouping',{
-        collapseTip:null,
         collapsible:false,
-        expandTip:null,
 		showSummaryRow: false,
-        startCollapsed: false,
         groupHeaderTpl: Ext.create('Ext.XTemplate',
             '<div>{rows:this.formatName}</div>',
             {
@@ -29,7 +26,6 @@ Ext.define('saas.view.sys.power.GroupGrid', {
             }
         )
 	})],
-    initId:0,
     dataUrl:'/api/account/role/power/resource',
     selModel: {
         showHeaderCheckbox:false,
@@ -164,7 +160,6 @@ Ext.define('saas.view.sys.power.GroupGrid', {
             dataIndex:'other',
             xtype: 'widgetcolumn',
             menuDisabled:true,
-            producesHTML: false,
             widget: {
                 xtype: 'powerotherfield',
                 bind:'{record.other}'
@@ -198,9 +193,7 @@ Ext.define('saas.view.sys.power.GroupGrid', {
                     return other;
                 }}
             ],
-            groupDir:'ASC',
             groupField:'moduleId',
-            clearRemovedOnLoad : true,
             proxy: {
                 timeout:8000,
                 type: 'ajax',

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

@@ -16,8 +16,9 @@ Ext.define('saas.view.sys.power.OtherField', {
     },
     setItems:function(v){
         if(v){
+            var f = this;
             var len = v.length,items=[];
-            if(this.items.length>0)this.removeAll(true);
+            if(f.items.length>0)f.removeAll(true);
             for (i = 0; i < len; i++) {
                 items.push({
                    boxLabel:v[i].name,
@@ -44,7 +45,7 @@ Ext.define('saas.view.sys.power.OtherField', {
                    }
                 });
             }
-            this.add(items);
+            f.add(items);
         }
     }
 });

+ 4 - 0
frontend/saas-web/overrides/button/Button.js

@@ -0,0 +1,4 @@
+Ext.define('saas.override.button.Button', {
+    override: 'Ext.button.Button',
+    focusable:false,
+});

+ 26 - 0
frontend/saas-web/overrides/grid/column/Widget.js

@@ -0,0 +1,26 @@
+Ext.define('saas.override.grid.column.Widget', {
+    override: 'Ext.grid.column.Widget',
+
+    onCellsResized: function(newWidth) {
+        var me = this,
+            liveWidgets = me.ownerGrid.getManagedWidgets(me.getId()),
+            len = liveWidgets.length,
+            view = me.getView(),
+            i, cell;
+        if (!me.isFixedSize && me.rendered && view && view.viewReady) {
+            cell = view.getEl().down(me.getCellInnerSelector());
+            if (cell) {
+                // Subtract innerCell padding width
+                newWidth -= parseInt(me.getCachedStyle(cell, 'padding-left'), 10) + parseInt(me.getCachedStyle(cell, 'padding-right'), 10);
+                for (i = 0; i < len; ++i) {
+                    if(liveWidgets[i]){
+                        liveWidgets[i].ownerLayout = null;
+                        liveWidgets[i].setWidth(newWidth);
+                        liveWidgets[i].ownerLayout = view.componentLayout;
+                    }
+                }
+            }
+        }
+    }
+
+});

+ 43 - 0
frontend/saas-web/overrides/grid/feature/Grouping.js

@@ -0,0 +1,43 @@
+Ext.define('saas.override.grid.feature.Grouping', {
+    override: 'Ext.grid.feature.Grouping',
+
+    getMetaGroup: function(group) {
+        var me = this,
+            id = me.getId == null ? me.id : me.getId(),
+            key, metaGroup, Model, modelData, groupPlaceholder, aggregateRecord, groupingContext;
+        // Get the group from a member record or the group name
+        if (group.isModel || typeof group === 'string') {
+            group = me.getGroup(group);
+        }
+        if (group) {
+            key = group.getGroupKey();
+            groupingContext = group.$groupingContext || (group.$groupingContext = {});
+            metaGroup = groupingContext[id];
+            if (!metaGroup) {
+                Model = me.getGridStore().getModel();
+                // Add a placeholder record which represents the group if collapsed.
+                modelData = {};
+                modelData[me.getGroupField()] = key;
+                // Create the two records a group needs to produce a UI.
+                // One to represent a collapsed group.
+                // And one to append to the end of an expanded group.
+                groupPlaceholder = new Model(modelData);
+                groupPlaceholder.isNonData = groupPlaceholder.isCollapsedPlaceholder = true;
+                groupPlaceholder.groupKey = key;
+                aggregateRecord = new Ext.data.Model(modelData);
+                aggregateRecord.isNonData = aggregateRecord.isSummary = true;
+                aggregateRecord.groupKey = key;
+                metaGroup = groupingContext[id] = {
+                    placeholder: groupPlaceholder,
+                    isCollapsed: false,
+                    lastGroup: null,
+                    lastGroupGeneration: null,
+                    lastFilterGeneration: null,
+                    aggregateRecord: aggregateRecord
+                };
+            }
+        }
+        return metaGroup;
+    }
+
+});