Browse Source

merge dev saas-web

zhuth 7 years ago
parent
commit
2258bd4fd1

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

@@ -187,6 +187,7 @@ body.launching {
 
 .x-btn-default-small,
 .x-btn-default-toolbar-small{
+  min-width: 86px !important;
   border-radius: 2px !important;
 }
 

+ 1 - 0
frontend/saas-web/app/util/FormUtil.js

@@ -225,6 +225,7 @@ Ext.define('saas.util.FormUtil', {
                 .catch(function(response) {
                     form.setLoading(false);
                     console.error(response);
+                    saas.util.BaseUtil.showErrorToast(response.message);
                 });
             }else{
                 //取后台编号

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

@@ -300,6 +300,7 @@ Ext.define('saas.view.core.base.GridPanel', {
                 width:70,
                 dataIndex:'actioncolumn',
                 text:'操作',
+                align: 'center',
                 items: [{
                     tooltip: '编辑',
                     iconCls: 'x-fa fa-pencil fa-fw',

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

@@ -218,24 +218,28 @@ Ext.define('saas.view.core.report.ReportPanel', {
                     type: 'json',
                     // rootProperty: 'data.list',
                     rootProperty: function(data) {
-                        var grid = me.items.items[1],
-                        columns = grid.columns,
-                        summaryData = data.data.calculate || [];
-
-                        Ext.Array.each(columns, function(c) {
-                            var type = c.summaryType,
-                            name = c.dataIndex;
-
-                            var d = Ext.Array.findBy(summaryData, function(s) {
-                                return s.hasOwnProperty(name);
-                            })
-                            if(type && d) {
-                                c.summaryValue = Ext.util.Format.number(d[name], c.format || '0.00');
-                            }else {
-                                c.summaryValue = 0;
-                            }
-                        });
-                        return data.data.list.list;
+                        try {
+                            var grid = me.items.items[1],
+                            columns = grid.columns,
+                            summaryData = data.data.calculate || [];
+    
+                            Ext.Array.each(columns, function(c) {
+                                var type = c.summaryType,
+                                name = c.dataIndex;
+    
+                                var d = Ext.Array.findBy(summaryData, function(s) {
+                                    return s.hasOwnProperty(name);
+                                })
+                                if(type && d) {
+                                    c.summaryValue = Ext.util.Format.number(d[name], c.format || '0.00');
+                                }else {
+                                    c.summaryValue = 0;
+                                }
+                            });
+                            return data.data.list.list;
+                        }catch(e) {
+                            saas.util.BaseUtil.showErrorToast(e.message);
+                        }
                     },
                     totalProperty: 'data.list.total',
                 },
@@ -413,7 +417,8 @@ Ext.define('saas.view.core.report.ReportPanel', {
 
     getConditions: function() {
         var me = this,
-        formItems = me.searchItems,
+        form = me.down('form'),
+        formItems = form.items.items,
         viewModel = me.getViewModel(),
         viewModelData = viewModel.getData(),
         bindItems = viewModelData['form'],
@@ -435,10 +440,10 @@ Ext.define('saas.view.core.report.ReportPanel', {
                     value: func(value)
                 }
             }else {
-                var xtype = item.xtype || 'textfield',
-                type = item.fieldType || me.getDefaultFieldType(xtype),
-                operation = item.operation || me.getDefaultFieldOperation(xtype),
-                conditionValue = me.getConditionValue(xtype, value);
+                // var xtype = item.xtype || 'textfield',
+                type = item.fieldType || me.getDefaultFieldType(item),
+                operation = item.operation || me.getDefaultFieldOperation(item),
+                conditionValue = me.getConditionValue(item, value);
     
                 if(!conditionValue) {
                     continue;
@@ -456,14 +461,16 @@ Ext.define('saas.view.core.report.ReportPanel', {
         return conditions;
     },
 
-    getDefaultFieldType: function(xtype) {
-        var type;
+    getDefaultFieldType: function(field) {
+        var me = this,
+        xtypes = field.getXTypes().split('/'),
+        type;
 
-        if(Ext.Array.contains(['numberfield'], xtype)) {
+        if(me.isContainsAny(xtypes, ['numberfield'])) {
             type = 'number';
-        }else if(Ext.Array.contains(['datefield', 'condatefield'], xtype)) {
+        }else if(me.isContainsAny(xtypes, ['datefield', 'condatefield'])) {
             type = 'date';
-        }else if(Ext.Array.contains(['combobox', 'multicombo', 'combo', 'radiofield', 'radio'], xtype)) {
+        }else if(me.isContainsAny(xtypes, ['combobox', 'multicombo', 'combo', 'radiofield', 'radio'])) {
             type = 'enum';
         }else {
             type = 'string';
@@ -472,16 +479,29 @@ Ext.define('saas.view.core.report.ReportPanel', {
         return type;
     },
 
-    getDefaultFieldOperation: function(xtype) {
-        var operation;
+    /**
+     * 只要arr1和arr2中存在相同项即返回真
+     */
+    isContainsAny: function(arr1, arr2) {
+        for(var i = 0; i < arr2.length; i++) {
+            var a2 = arr2[i];
+            if(!!arr1.find(function(a1) {return a1==a2})) {
+                return true;
+            }
+        }
+        return false;
+    },
 
-        if(Ext.Array.contains(['numberfield'], xtype)) {
-            operation = '=';
-        }else if(Ext.Array.contains(['datefield'], xtype)) {
+    getDefaultFieldOperation: function(field) {
+        var me = this,
+        xtypes = field.getXTypes().split('/'),
+        operation;
+
+        if(me.isContainsAny(xtypes, ['numberfield', 'datefield', 'dbfindtrigger'])) {
             operation = '=';
-        }else if(Ext.Array.contains(['condatefield'], xtype)) {
+        }else if(me.isContainsAny(xtypes, ['condatefield'])) {
             operation = 'between';
-        }else if(Ext.Array.contains(['combobox', 'multicombo', 'combo'], xtype)) {
+        }else if(me.isContainsAny(xtypes, ['multidbfindtrigger', 'combobox', 'multicombo', 'combo'])) {
             operation = 'in';
         }else {
             operation = 'like';
@@ -493,21 +513,23 @@ Ext.define('saas.view.core.report.ReportPanel', {
     /**
      * 处理部分字段值
      */
-    getConditionValue: function(xtype, value) {
-        var conditionValue;
-        if(xtype == 'datefield') {
+    getConditionValue: function(field, value) {
+        var me = this,
+        xtypes = field.getXTypes().split('/'),
+        conditionValue;
+        if(me.isContainsAny(xtypes, ['datefield'])) {
             conditionValue = Ext.Date.format(new Date(from), 'Y-m-d H:i:s');
-        }else if(xtype == 'condatefield') {
+        }else if(me.isContainsAny(xtypes, ['condatefield'])) {
             var from = value.from,
             to = value.to;
 
             conditionValue = Ext.Date.format(new Date(from), 'Y-m-d 00:00:00') + ',' + Ext.Date.format(new Date(to), 'Y-m-d 23:59:59');
-        }else if(xtype == 'combobox' || xtype == 'combo') {
+        }else if(me.isContainsAny(xtypes, ['combobox', 'combo'])) {
             conditionValue = '\'' + value + '\'';
-        }else if(xtype == 'multicombo') {
-            conditionValue = value.map(function(v) {
+        }else if(me.isContainsAny(xtypes, ['multicombo'])) {
+            conditionValue = value.map ? value.map(function(v) {
                 return '\'' + v.value + '\'';
-            }).join(',');
+            }).join(',') : '';
         }else {
             conditionValue = value;
         }

+ 7 - 4
frontend/saas-web/app/view/document/kind/ChildForm.js

@@ -290,7 +290,7 @@ Ext.define('KitchenSink.view.binding.ChildForm', {
                 beforeLabelTextTpl: "",
             },{
                 xtype:'textfield',
-                fieldLabel: '手机号码',
+                fieldLabel: '联系电话',
                 name: 'mobile',
                 readOnly:true,
                 editable:false,
@@ -311,7 +311,7 @@ Ext.define('KitchenSink.view.binding.ChildForm', {
         accountadd:{
             items:[{
                 xtype:'textfield',
-                fieldLabel: '手机号码',
+                fieldLabel: '联系号码',
                 name: 'mobile',
                 hideTrigger:true,
                 allowBlank:false,
@@ -343,14 +343,17 @@ Ext.define('KitchenSink.view.binding.ChildForm', {
                                         }
                                     }else{
                                         saas.util.BaseUtil.showErrorToast('校验失败:'+localJson.message);
+                                        f.setValue('');
                                     }
                                 },
                                 failure: function (response) {
                                     if(response.responseText){
                                         var localJson = Ext.decode(response.responseText);
                                         saas.util.BaseUtil.showErrorToast('校验失败:'+localJson.message);
+                                        f.setValue('');
                                     }else{
                                         saas.util.BaseUtil.showErrorToast('手机号校验接口连接超时');
+                                        f.setValue('');
                                     }
                                 }
                             });
@@ -367,7 +370,7 @@ Ext.define('KitchenSink.view.binding.ChildForm', {
                 xtype:'textfield',
                 fieldLabel: '邮箱',
                 name: 'email',
-                allowBlank:false,
+                allowBlank:true,
                 beforeLabelTextTpl: "",
                 regex:/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/,
                 regexText:'请输入正确的邮箱',
@@ -417,7 +420,7 @@ Ext.define('KitchenSink.view.binding.ChildForm', {
                 fieldLabel: '关联角色',
                 name: 'roleIds',
                 allowBlank:false,
-                maxLength: 20,
+                maxLength: 30,
             }]
         },
         warehouse:{

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

@@ -54,9 +54,7 @@ Ext.define('saas.view.main.Main', {
                     },
                     arrowVisible: true,
                     menu: {
-                        items: [{
-                            xtype: 'menuseparator'
-                        }]
+                        items: []
                     }
                 },
                 '->',

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

@@ -94,9 +94,11 @@ Ext.define('saas.view.main.MainController', {
         if (!win) {
              win = Ext.create('Ext.window.Window', {
                 modal: true,
+                draggable: false,
+                resizable: false,
                 id:"feedbackWin",
-                height: '50%',
-                width: '70%',
+                height: 343,
+                width: 756,
                 title: '意见反馈',
                 scrollable: true,
                 constrain: true,

+ 1 - 1
frontend/saas-web/app/view/main/Navigation.scss

@@ -1,5 +1,5 @@
 $nav-font-size: 16px;
-$nav-font-color: #9697AC;
+$nav-font-color: #EEEEF2;
 $nav-font-color-over: #fff;
 
 .x-navpanel {

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

@@ -240,11 +240,11 @@ Ext.define('saas.view.purchase.purchase.FormPanel', {
                 xtype: 'numbercolumn',
                 dataIndex : "pd_total", 
                 width : 110.0, 
-                editor : {
-                    xtype : "numberfield",
-                    decimalPrecision: 2,
-                    editable : false
-                },
+                // editor : {
+                //     xtype : "numberfield",
+                //     decimalPrecision: 2,
+                //     editable : false
+                // },
                 renderer : function(v) {
                     var arr = (v + '.').split('.');
                     var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
@@ -264,11 +264,11 @@ Ext.define('saas.view.purchase.purchase.FormPanel', {
                 xtype: 'numbercolumn',
                 dataIndex : "pd_taxtotal", 
                 width : 110.0,
-                editor : {
-                    xtype : "numberfield",
-                    decimalPrecision: 2,
-                    editable : false
-                },
+                // editor : {
+                //     xtype : "numberfield",
+                //     decimalPrecision: 2,
+                //     editable : false
+                // },
                 renderer : function(v) {
                     var arr = (v + '.').split('.');
                     var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');

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

@@ -268,11 +268,11 @@ Ext.define('saas.view.purchase.purchaseIn.FormPanel', {
                 xtype: 'numbercolumn',
                 dataIndex : "pd_total", 
                 width : 110.0, 
-                editor : {
-                    xtype : "numberfield",
-                    decimalPrecision: 2,
-                    editable : false
-                },
+                // editor : {
+                //     xtype : "numberfield",
+                //     decimalPrecision: 2,
+                //     editable : false
+                // },
                 renderer : function(v) {
                     var arr = (v + '.').split('.');
                     var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
@@ -292,11 +292,11 @@ Ext.define('saas.view.purchase.purchaseIn.FormPanel', {
                 xtype: 'numbercolumn',
                 dataIndex : "pd_nettotal", 
                 width : 110.0, 
-                editor : {
-                    xtype : "numberfield",
-                    decimalPrecision: 2,
-                    editable : false
-                },
+                // editor : {
+                //     xtype : "numberfield",
+                //     decimalPrecision: 2,
+                //     editable : false
+                // },
                 renderer : function(v) {
                     var arr = (v + '.').split('.');
                     var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');

+ 10 - 10
frontend/saas-web/app/view/purchase/purchaseOut/FormPanel.js

@@ -255,11 +255,11 @@ Ext.define('saas.view.purchase.purchaseOut.FormPanel', {
                 xtype: 'numbercolumn',
                 dataIndex : "pd_total", 
                 width : 110.0, 
-                editor : {
-                    xtype : "numberfield",
-                    decimalPrecision: 2,
-                    editable : false
-                },
+                // editor : {
+                //     xtype : "numberfield",
+                //     decimalPrecision: 2,
+                //     editable : false
+                // },
                 renderer : function(v) {
                     var arr = (v + '.').split('.');
                     var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
@@ -279,11 +279,11 @@ Ext.define('saas.view.purchase.purchaseOut.FormPanel', {
                 xtype: 'numbercolumn',
                 dataIndex : "pd_nettotal", 
                 width : 110.0, 
-                editor : {
-                    xtype : "numberfield",
-                    decimalPrecision: 2,
-                    editable : false
-                },
+                // editor : {
+                //     xtype : "numberfield",
+                //     decimalPrecision: 2,
+                //     editable : false
+                // },
                 renderer : function(v) {
                     var arr = (v + '.').split('.');
                     var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');

+ 0 - 6
frontend/saas-web/app/view/sale/sale/FormPanel.js

@@ -276,12 +276,6 @@ Ext.define('saas.view.sale.sale.FormPanel', {
                     var format = '0,000.' + xr.join();
                     return Ext.util.Format.number(v, format);
                 }
-            },{
-                text : "关联采购订单", 
-                dataIndex : "sd_pucode",
-                width : 150.0, 
-                items : null,
-                ignore:true
             },{
                 text : "备注", 
                 dataIndex : "sd_remark",

+ 39 - 8
frontend/saas-web/app/view/sale/saleOut/QueryPanel.js

@@ -152,9 +152,13 @@ Ext.define('saas.view.sale.saleout.QueryPanel', {
             width: 90
         }, {
             text: '明细序号',
-            dataIndex: 'pd_detno',
+            dataIndex: 'pd_pdno',
             xtype: 'numbercolumn',
-            width: 100
+            width: 100,
+            renderer : function(v) {
+                var format = '0'
+                return Ext.util.Format.number(v, format);
+            }
         }, {
             text: '关联销售单号',
             dataIndex: 'pd_ordercode',
@@ -180,27 +184,54 @@ Ext.define('saas.view.sale.saleout.QueryPanel', {
             text: '出货数量',
             dataIndex: 'pd_outqty',
             xtype:'numbercolumn',
-            width: 110
+            width: 110,
+            renderer : function(v) {
+                var arr = (v + '.').split('.');
+                var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
+                var format = '0.' + xr.join();
+                return Ext.util.Format.number(v, format);
+            }
         }, {
             text: '销售单价',
             dataIndex: 'pd_sendprice',
             xtype:'numbercolumn',
-            width: 110
+            width: 110,
+            renderer : function(v) {
+                var arr = (v + '.').split('.');
+                var xr = (new Array(arr[1].length > 8 ? 8 : arr[1].length)).fill('0');
+                var format = '0.' + xr.join();
+                return Ext.util.Format.number(v, format);
+            }
         }, {
             text: '金额',
-            dataIndex: 'pd_total',
+            dataIndex: 'pd_ordertotal',
             xtype:'numbercolumn',
-            width: 110
+            width: 110,
+            renderer : function(v) {
+                var arr = (v + '.').split('.');
+                var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
+                var format = '0.' + xr.join();
+                return Ext.util.Format.number(v, format);
+            }
         }, {
             text: '税率',
             dataIndex: 'pd_taxrate',
             xtype:'numbercolumn',
-            width: 80
+            width: 80,
+            renderer : function(v) {
+                return Ext.util.Format.number(v, '0');
+            }
         }, {
             text: '成本单价',
             dataIndex: 'pd_price',
             xtype:'numbercolumn',
-            width: 110
+            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.' + xr.join();
+                return Ext.util.Format.number(v, format);
+            }
         }, {
             text: '备注',
             dataIndex: 'pd_remark',

+ 1 - 1
frontend/saas-web/app/view/stock/make/FormPanel.js

@@ -295,7 +295,7 @@ Ext.define('saas.view.stock.make.FormPanel', {
                     minValue:0
                 },
                 listeners:{
-                    // edit:'price_change'
+                    edit:'price_change'
                 },
                 renderer : function(v) {
                     var arr = (v + '.').split('.');

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

@@ -79,56 +79,107 @@ Ext.define('saas.view.stock.make.FormPanelController', {
 
         });
     },
+    initCopyData: function(formData) {
+        var me = this;
+        var form = this.getView();
+        var detailCount = form.detailCount;
+        var main = formData.main;
+        var auditTexts = form.auditTexts;
 
+        // 单号、id清空
+        main[form._idField] = 0;
+        main[form._codeField] = '';
+        // 单据状态为录入状态(未审核)
+        main[form._statusCodeField] = auditTexts.unAuditCode;
+        main[form._statusField] = auditTexts.unAuditText;
+        //录入人,录入日期,审核人,审核日期清空
+        main['creatorId'] = null;
+        main['creatorName'] = null;
+        main['createTime'] = null;
+        main['updaterId'] = null;
+        main['updaterName'] = null;
+        main['updateTime'] = null;
+        main[form._auditmanField] = null;
+        main[form._auditdateField] = null;
+        //数量,单价,金额(主表)
+        main['ma_qty'] = 0;
+        main['ma_price'] = 0;
+        main['ma_total'] = 0;
+        for(var k in main) {
+            // 主表日期改为当前日期
+            if(saas.util.BaseUtil.isDateString(main[k])) {
+                main[k] = Ext.Date.format(new Date, 'Y-m-d H:i:s');
+            }
+        }
 
-    // price_change:function() {
-    //     var me = this,
-    //     viewModel = me.getViewModel(),
-    //     store = viewModel.get('detail0').detailStore;
-    //     var sum_qty = store.sum('mm_price');
-    //     viewModel.set('ma_price',sum_qty);
-    // },
-
+        for(var j = 0; j < detailCount; j++) {
+            var detail = formData['detail' + j];
+            for(var x = 0; x < detail.length; x ++) {
+                var d = detail[x];
 
-     getBomData: function(v) {
+                for(var k in d) {
+                    // 从表id清空
+                    delete d['id'];
+                    delete d['mm_price'];
+                    delete d['mm_qty'];
+                    delete d['mm_amount'];
+                    // 从表日期清空
+                    if(saas.util.BaseUtil.isDateString(d[k])) {
+                        d[k] = '';
+                    }
+                }
+            }
+        }
+        return me.myInitCopyData(formData);;
+    },
+    price_change:function(v) {
         var me = this,
-        form = me.getView(),
         viewModel = me.getViewModel(),
         store = viewModel.get('detail0').detailStore,
-        type = viewModel.get('ma_type'),
-        loadData = new Array();
+        type = viewModel.get('ma_type');
+        if('拆件'==type && v==0){
+            saas.util.BaseUtil.showErrorToast('成本单价为0!');
+        }
+    },
+    getBomData: function(v) {
+    var me = this,
+    form = me.getView(),
+    viewModel = me.getViewModel(),
+    store = viewModel.get('detail0').detailStore,
+    type = viewModel.get('ma_type'),
+    loadData = new Array();
 
-        //请求bom资料
-        saas.util.BaseUtil.request({
-            url: form._getBomUrl+'/'+v,
-            method: 'GET',
-        })
-        .then(function(localJson) {
-            if(localJson.success){
-                var data = localJson.data.items;
-                Ext.Array.each(data, function(item, i) {
-                    loadData.push({
-                        mm_detno:item.bd_detno,
-                        mm_prodid:item.productDTO.id,
-                        mm_prodcode:item.productDTO.pr_code,
-                        mm_oneuseqty:item.bd_baseqty,
-                        pr_detail:item.productDTO.pr_detail,
-                        pr_spec:item.productDTO.pr_spec,
-                        pr_unit:item.productDTO.pr_unit,
-                        mm_repprodcode:item.bd_replace,
-                        mm_remark:item.bd_remark,                        
-                        mm_whid:item.productDTO.pr_whid,                        
-                        mm_whcode:item.productDTO.pr_whcode,
-                        mm_whname:item.productDTO.pr_whname,
-                        mm_price:type=='拆件'?item.productDTO.pr_purcprice:null
-                    })                
-                });
-                store.loadData(loadData);
-            }
-        })
-        .catch(function(res) {
-            console.error(res);
-            saas.util.BaseUtil.showErrorToast('获取BOM资料失败: ' + res.message);
-        });
-     }
+    //请求bom资料
+    saas.util.BaseUtil.request({
+        url: form._getBomUrl+'/'+v,
+        method: 'GET',
+    })
+    .then(function(localJson) {
+        if(localJson.success){
+            var data = localJson.data.items;
+            Ext.Array.each(data, function(item, i) {
+                loadData.push({
+                    mm_detno:item.bd_detno,
+                    mm_prodid:item.productDTO.id,
+                    mm_prodcode:item.productDTO.pr_code,
+                    mm_oneuseqty:item.bd_baseqty,
+                    pr_detail:item.productDTO.pr_detail,
+                    pr_spec:item.productDTO.pr_spec,
+                    pr_unit:item.productDTO.pr_unit,
+                    mm_repprodcode:item.bd_replace,
+                    mm_remark:item.bd_remark,                        
+                    mm_whid:item.productDTO.pr_whid,                        
+                    mm_whcode:item.productDTO.pr_whcode,
+                    mm_whname:item.productDTO.pr_whname,
+                    mm_price:type=='拆件'?item.productDTO.pr_purcprice:null
+                })                
+            });
+            store.loadData(loadData);
+        }
+    })
+    .catch(function(res) {
+        console.error(res);
+        saas.util.BaseUtil.showErrorToast('获取BOM资料失败: ' + res.message);
+    });
+    }
 });

+ 10 - 10
frontend/saas-web/app/view/stock/otherIn/FormPanel.js

@@ -233,11 +233,11 @@ Ext.define('saas.view.stock.otherIn.FormPanel', {
                 xtype: 'numbercolumn',
                 dataIndex : "pd_total", 
                 width : 110.0,
-                editor : {
-                    xtype : "numberfield",
-                    decimalPrecision: 2,
-                    editable:false
-                },
+                // editor : {
+                //     xtype : "numberfield",
+                //     decimalPrecision: 2,
+                //     editable:false
+                // },
                 renderer : function(v) {
                     var arr = (v + '.').split('.');
                     var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
@@ -271,11 +271,11 @@ Ext.define('saas.view.stock.otherIn.FormPanel', {
                 xtype: 'numbercolumn',
                 dataIndex : "pd_nettotal", 
                 width : 110.0, 
-                editor : {
-                    xtype : "numberfield",
-                    decimalPrecision: 2,
-                    editable:false
-                },
+                // editor : {
+                //     xtype : "numberfield",
+                //     decimalPrecision: 2,
+                //     editable:false
+                // },
                 renderer : function(v) {
                     var arr = (v + '.').split('.');
                     var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');

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

@@ -84,7 +84,7 @@ Ext.define('saas.view.sys.account.DataList', {
         dataIndex : 'mobile', 
         width : 110.0,
     },{
-        text : '联系邮箱', 
+        text : '邮箱', 
         dataIndex : 'email', 
         width : 180.0, 
         xtype : '', 

+ 10 - 5
frontend/saas-web/app/view/sys/feedback/FormPanel.js

@@ -1,5 +1,5 @@
 Ext.define('saas.view.sys.feedback.FormPanel', {
-    extend: 'Ext.panel.Panel',
+    extend: 'Ext.form.Panel',
     xtype: 'sys-feedback-formpanel',
 
     controller: 'sys-feedback-formpanel',
@@ -12,12 +12,12 @@ Ext.define('saas.view.sys.feedback.FormPanel', {
     autoScroll: true,
 
     fieldDefaults: {
-        margin: '0 0 10 0',
+        margin: '0 0 16 0',
         labelAlign: 'right',
         labelWidth: 70,
         columnWidth: 0.5,
     },
-    bodyPadding: 10,
+    bodyPadding: '0 30 0 30',
     border: false,
     initComponent: function () {
         var me = this;
@@ -47,16 +47,21 @@ Ext.define('saas.view.sys.feedback.FormPanel', {
             name : "fb_wechat", 
             fieldLabel : "微信"
         }, {
-            xtype : "textfield", 
+            xtype : "textareafield", 
             name : "fb_msg", 
             fieldLabel : "反馈内容",
-            columnWidth: 1
+            columnWidth: 1,
+            height: 63,
+            maxHeight: 63
         }];
+        me.buttonAlign = 'center';
         me.buttons = [{
             text: '提交',
+            margin: '0 20 0 20',
             handler:'onSubmit'
         },{
             text: '关闭',
+            margin: '0 20 0 20',
             handler:'onClose'
         }];
         me.callParent(arguments);

+ 47 - 0
frontend/saas-web/app/view/sys/feedback/FormPanel.scss

@@ -0,0 +1,47 @@
+#feedbackWin {
+    border: none;
+    border-radius: 4px;
+
+    .x-window-header {
+        padding: 30px 45px 20px 45px;
+        background: #fff;
+        border: none;
+
+        .x-window-header-title-default {
+            .x-title-text {
+                color: #34BAF6;
+                font-size: 16px;
+                font-weight: 500;
+                letter-spacing: 1.8px;
+                padding-left: 10px;
+
+                &:before {
+                    content: ' ';
+                    position: absolute;
+                    width: 5px;
+                    height: 16px;
+                    background: #34baf6;
+                    left: 0;
+                    top: 2px;
+                    border-radius: 4px;
+                }
+            }
+        }
+
+        .x-tool-default {
+            
+            .x-tool-close {
+                color:  #34BAF6;
+            }
+        }
+    }
+
+    .x-window-bodyWrap {
+        
+        .x-toolbar-footer {
+            padding: 0;
+            top: 210px !important;
+            background: #fff;
+        }
+    }
+}

+ 0 - 10
frontend/saas-web/resources/json/navigation.json

@@ -18,11 +18,6 @@
             "text": "采购验退单",
             "addType": "purchase-purchaseout-formpanel",
             "viewType": "purchase-purchaseout-querypanel"
-        }, {
-            "id": "inquiry",
-            "text": "采购询价单",
-            "addType": "purchase-inquiry-formpanel",
-            "viewType": "purchase-inquiry-querypanel"
         }]
     }, {
         "text": "报表",
@@ -56,11 +51,6 @@
             "text": "销售退货单",
             "addType": "sale-salein-formpanel",
             "viewType": "sale-salein-querypanel"
-        }, {
-            "id": "saleToPur",
-            "text": "以销定购",
-            "addType": "sale-saletopur-formpanel",
-            "viewType": "sale-saletopur-querypanel"
         }]
     }, {
         "text": "报表",