Pārlūkot izejas kodu

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

hy 7 gadi atpakaļ
vecāks
revīzija
5a55c22a3c

+ 9 - 0
frontend/saas-web/app/view/core/form/FormPanelController.js

@@ -180,12 +180,14 @@ Ext.define('saas.view.core.form.FormPanelController', {
             delete params.items1;
         }
 
+        form.setLoading(true);
         saas.util.BaseUtil.request({
             url: form._saveUrl,
             params: JSON.stringify(params),
             method: 'POST',
         })
         .then(function(localJson) {
+            form.setLoading(false);
             if(localJson.success){
                 var id = localJson.data.id;
                 var code = localJson.data.code;
@@ -202,6 +204,7 @@ Ext.define('saas.view.core.form.FormPanelController', {
             }
         })
         .catch(function(res) {
+            form.setLoading(false);
             console.error(res);
             saas.util.BaseUtil.showErrorToast('保存失败: ' + res.message);
             form.fireEvent('aftersave', false, form, res);
@@ -263,12 +266,14 @@ Ext.define('saas.view.core.form.FormPanelController', {
             delete params.items1;
         }
 
+        form.setLoading(true);
         saas.util.BaseUtil.request({
             url: form._auditUrl,
             params: JSON.stringify(params),
             method: 'POST',
         })
         .then(function(localJson) {
+            form.setLoading(false);
             if(localJson.success){
                 // 未保存直接审核会返回id
                 if(localJson.data) {
@@ -289,6 +294,7 @@ Ext.define('saas.view.core.form.FormPanelController', {
             }
         })
         .catch(function(res) {
+            form.setLoading(false);
             console.error(res);
             if(res.data) {
                 var id = localJson.data.id;
@@ -330,11 +336,13 @@ Ext.define('saas.view.core.form.FormPanelController', {
         var id = viewModel.get(form._idField);
         var code = viewModel.get(form._codeField);
 
+        form.setLoading(true);
         saas.util.BaseUtil.request({
             url: form._unAuditUrl + '/' + id,
             method: 'POST',
         })
         .then(function(localJson) {
+            form.setLoading(false);
             if(localJson.success){
                 //解析参数
                 saas.util.BaseUtil.showSuccessToast('反审核成功');
@@ -342,6 +350,7 @@ Ext.define('saas.view.core.form.FormPanelController', {
             }
         })
         .catch(function(res) {
+            form.setLoading(false);
             console.error(res);
             saas.util.BaseUtil.showErrorToast('反审核失败: ' + res.message);
         });

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

@@ -177,17 +177,21 @@ Ext.define('saas.view.money.payBalance.FormPanelController', {
         var me = this,
         form = me.getView(),
         id = form.getForm().findField(form._idField);
+
+        form.setLoading(true);
         saas.util.BaseUtil.request({
             url: form._turnInUrl+id.value,
             method: 'GET',
         })
         .then(function(localJson) {
+            form.setLoading(false);
             if(localJson.success){
                 saas.util.BaseUtil.showSuccessToast('转单成功');
               
             }
         })
         .catch(function(res) {
+            form.setLoading(false);
             console.error(res);
             saas.util.BaseUtil.showErrorToast('转单失败: ' + res.message);
         });

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

@@ -174,17 +174,21 @@ Ext.define('saas.view.money.recBalance.FormPanelController', {
         var me = this,
         form = me.getView(),
         id = form.getForm().findField(form._idField);
+
+        form.setLoading(true);
         saas.util.BaseUtil.request({
             url: form._turnInUrl+id.value,
             method: 'GET',
         })
         .then(function(localJson) {
+            form.setLoading(false);
             if(localJson.success){
                 saas.util.BaseUtil.showSuccessToast('转单成功');
               
             }
         })
         .catch(function(res) {
+            form.setLoading(false);
             console.error(res);
             saas.util.BaseUtil.showErrorToast('转单失败: ' + res.message);
         });

+ 7 - 49
frontend/saas-web/app/view/money/verification/FormPanelController.js

@@ -485,55 +485,6 @@ Ext.define('saas.view.money.verification.FormPanelController', {
         return defaultCondition;
     },
 
-    /**
-     * 清空所有从表数据
-     */
-    clearDetails: function() {
-        var me = this;
-        
-        me.clearDetail0();
-        me.clearDetail1();
-    },
-
-    /**
-     * 清空第一个从表数据
-     */
-    clearDetail0: function(f, n, o) {
-        var me = this,
-        form = me.getView(),
-        grid = form.query('detailGridField')[0];
-        me.clearDetail(grid);
-    },
-
-    /**
-     * 清空第二个从表数据
-     */
-    clearDetail1: function() {
-        var me = this,
-        form = me.getView(),
-        grid = form.query('detailGridField')[1];
-        me.clearDetail(grid);
-    },
-
-    /**
-     * 清空一个从表数据
-     */
-    clearDetail: function(grid) {
-        var datas = [],
-        emptyRows = grid.emptyRows,
-        detnoColumn = grid.detnoColumn,
-        detno = 0,
-        store = grid.getStore();
-        
-        Ext.Array.each(new Array(emptyRows), function() {
-            detno += 1;
-            var data = {};
-            data[detnoColumn] = detno;
-            datas.push(data);
-        })
-        store.removeAll();
-        store.add(datas);
-    },
     onSave: function() {
         var me = this,
             form = me.getView(),
@@ -573,12 +524,14 @@ Ext.define('saas.view.money.verification.FormPanelController', {
             params['items' + ( i + 1)] = formData['detail' + i];
         }
 
+        form.setLoading(true);
         saas.util.BaseUtil.request({
             url: form._saveUrl,
             params: JSON.stringify(params),
             method: 'POST',
         })
         .then(function(localJson) {
+            form.setLoading(false);
             if(localJson.success){
                 var id = localJson.data.id;
                 var code = localJson.data.code;
@@ -595,11 +548,13 @@ Ext.define('saas.view.money.verification.FormPanelController', {
             }
         })
         .catch(function(res) {
+            form.setLoading(false);
             console.error(res);
             saas.util.BaseUtil.showErrorToast('保存失败: ' + res.message);
             form.fireEvent('aftersave', false, form, res);
         });
     },
+
     audit: function() {
         var me = this,
         form = me.getView(),
@@ -617,12 +572,14 @@ Ext.define('saas.view.money.verification.FormPanelController', {
             params['items' + ( i + 1)] = formData['detail' + i];
         }
 
+        form.setLoading(true);
         saas.util.BaseUtil.request({
             url: form._auditUrl,
             params: JSON.stringify(params),
             method: 'POST',
         })
         .then(function(localJson) {
+            form.setLoading(false);
             if(localJson.success){
                 // 未保存直接审核会返回id
                 if(localJson.data) {
@@ -643,6 +600,7 @@ Ext.define('saas.view.money.verification.FormPanelController', {
             }
         })
         .catch(function(res) {
+            form.setLoading(false);
             console.error(res);
             if(res.data) {
                 var id = localJson.data.id;

+ 4 - 0
frontend/saas-web/app/view/purchase/purchase/FormPanelController.js

@@ -63,11 +63,14 @@ Ext.define('saas.view.purchase.purchase.FormPanelController', {
         var me = this,
         form = me.getView(),
         id = form.getForm().findField(form._idField);
+
+        form.setLoading(false);
         saas.util.BaseUtil.request({
             url: form._turnInUrl+'/'+id.value,
             method: 'POST',
         })
         .then(function(localJson) {
+            form.setLoading(false);
             if(localJson.success){
                 var intValue = localJson.data.id,
                     codeValue= localJson.data.code,
@@ -79,6 +82,7 @@ Ext.define('saas.view.purchase.purchase.FormPanelController', {
             }
         })
         .catch(function(res) {
+            form.setLoading(false);
             console.error(res);
             saas.util.BaseUtil.showErrorToast('转单失败: ' + res.message);
         });

+ 4 - 0
frontend/saas-web/app/view/purchase/purchaseIn/FormPanelController.js

@@ -153,11 +153,14 @@ Ext.define('saas.view.purchase.purchaseIn.FormPanelController', {
         var me = this,
         form = me.getView(),
         id = form.getForm().findField(form._idField);
+
+        form.setLoading(true);
         saas.util.BaseUtil.request({
             url: form._turnOutUrl+'/'+id.value,
             method: 'POST',
         })
         .then(function(localJson) {
+            form.setLoading(false);
             if(localJson.success){
                 var intValue = localJson.data.id,
                 codeValue= localJson.data.code,
@@ -170,6 +173,7 @@ Ext.define('saas.view.purchase.purchaseIn.FormPanelController', {
             }
         })
         .catch(function(res) {
+            form.setLoading(false);
             console.error(res);
             saas.util.BaseUtil.showErrorToast('转单失败: ' + res.message);
         });

+ 99 - 76
frontend/saas-web/app/view/sale/sale/FormPanelController.js

@@ -5,111 +5,134 @@ Ext.define('saas.view.sale.sale.FormPanelController', {
         var me = this;
         this.control({
             //放大镜赋值关系 以及 tpl模板
-            'dbfindtrigger[name=sa_custname]':{
-                beforerender:function(f){
-                    Ext.apply(f,{
-                        dbfinds:[
-                            {
-                                from:'id',to:'sa_custid',ignore:true
-                            },{
-                                from:'cu_code',to:'sa_custcode'
-                            },{
-                                from:'cu_name',to:'sa_custname'
-                            },{
-                                from:'ca_address',to:'sa_toplace'
-                            },{
-                                from:'cu_sellercode',to:'sa_sellercode'
-                            },{
-                                from:'cu_sellername',to:'sa_seller'
-                            }],
-                    }) ;   
+            'dbfindtrigger[name=sa_custname]': {
+                beforerender: function (f) {
+                    Ext.apply(f, {
+                        dbfinds: [{
+                            from: 'id',
+                            to: 'sa_custid',
+                            ignore: true
+                        }, {
+                            from: 'cu_code',
+                            to: 'sa_custcode'
+                        }, {
+                            from: 'cu_name',
+                            to: 'sa_custname'
+                        }, {
+                            from: 'ca_address',
+                            to: 'sa_toplace'
+                        }, {
+                            from: 'cu_sellercode',
+                            to: 'sa_sellercode'
+                        }, {
+                            from: 'cu_sellername',
+                            to: 'sa_seller'
+                        }],
+                    });
 
                 }
-            },// 主表-采购员名称
-            'dbfindtrigger[name=sa_sellercode]':{
-                beforerender:function(f){
-                    Ext.apply(f,{
-                        dbfinds:[{
-                            from:'id',to:'sa_sellerid',ignore:true
-                        },{
-                            from:'em_code',to:'sa_sellercode'
-                        },{
-                            from:'em_name',to:'sa_seller'
+            }, // 主表-采购员名称
+            'dbfindtrigger[name=sa_sellercode]': {
+                beforerender: function (f) {
+                    Ext.apply(f, {
+                        dbfinds: [{
+                            from: 'id',
+                            to: 'sa_sellerid',
+                            ignore: true
+                        }, {
+                            from: 'em_code',
+                            to: 'sa_sellercode'
+                        }, {
+                            from: 'em_name',
+                            to: 'sa_seller'
                         }],
-                    }) ;   
+                    });
                 }
             },
             //放大镜赋值关系 以及 tpl模板
-            'multidbfindtrigger[name=sd_prodcode]':{
-                beforerender:function(f){
-                    Ext.apply(f,{
-                        dbfinds:[
-                        {
-                            from:'pr_code',to:'sd_prodcode'
+            'multidbfindtrigger[name=sd_prodcode]': {
+                beforerender: function (f) {
+                    Ext.apply(f, {
+                        dbfinds: [{
+                            from: 'pr_code',
+                            to: 'sd_prodcode'
+                        }, {
+                            from: 'pr_saleprice',
+                            to: 'sd_price'
                         }, {
-                            from:'pr_saleprice',to:'sd_price'
-                        },{
-                            from:'pr_detail',to:'pr_detail'
+                            from: 'pr_detail',
+                            to: 'pr_detail'
                         }, {
-                            from:'pr_spec',to:'pr_spec'
+                            from: 'pr_spec',
+                            to: 'pr_spec'
                         }, {
-                            from:'id',to:'sd_prodid',ignore:true
+                            from: 'id',
+                            to: 'sd_prodid',
+                            ignore: true
                         }],
-                    }) ;   
+                    });
 
                 }
             }
         });
 
     },
-    turnOut: function() {
-        var me = this,
-        form = me.getView(),
-        id = form.getForm().findField(form._idField);
-        saas.util.BaseUtil.request({
-            url: form._turnOutUrl+'/'+id.value,
-            method: 'POST',
-        })
-        .then(function(localJson) {
-            if(localJson.success){
-                var intValue = localJson.data.id,
-                    codeValue= localJson.data.code,
-                    name = '出货单';
-                saas.util.BaseUtil.openTab('sale-saleout-formpanel',name+"("+codeValue+")",codeValue+intValue, {
-                    initId: intValue
-                });
-                saas.util.BaseUtil.showSuccessToast('转单成功');  
-                saas.util.FormUtil.loadData(form);
-            }
-        })
-        .catch(function(res) {
-            console.error(res);
-            saas.util.BaseUtil.showErrorToast('转单失败: ' + res.message);
-        });
-     },
-    turnPurchase : function(){
+    turnOut: function () {
         var me = this,
             form = me.getView(),
             id = form.getForm().findField(form._idField);
+
+        form.setLoading(true);
         saas.util.BaseUtil.request({
-            url: form._turnPurchase+'/'+id.value,
-            method: 'POST',
-        })
-            .then(function(localJson) {
-                if(localJson.success){
+                url: form._turnOutUrl + '/' + id.value,
+                method: 'POST',
+            })
+            .then(function (localJson) {
+                form.setLoading(false);
+                if (localJson.success) {
                     var intValue = localJson.data.id,
-                        codeValue= localJson.data.code,
-                        name = localJson.data.name;
-                    saas.util.BaseUtil.openTab('purchase-purchase-formpanel',name+"("+codeValue+")",codeValue+intValue, {
+                        codeValue = localJson.data.code,
+                        name = '出货单';
+                    saas.util.BaseUtil.openTab('sale-saleout-formpanel', name + "(" + codeValue + ")", codeValue + intValue, {
                         initId: intValue
                     });
                     saas.util.BaseUtil.showSuccessToast('转单成功');
                     saas.util.FormUtil.loadData(form);
                 }
             })
-            .catch(function(res) {
+            .catch(function (res) {
+                form.setLoading(false);
                 console.error(res);
                 saas.util.BaseUtil.showErrorToast('转单失败: ' + res.message);
             });
+    },
+    turnPurchase: function () {
+        var me = this,
+            form = me.getView(),
+            id = form.getForm().findField(form._idField);
+
+        form.setLoading(true);
+        saas.util.BaseUtil.request({
+            url: form._turnPurchase + '/' + id.value,
+            method: 'POST',
+        })
+        .then(function (localJson) {
+            form.setLoading(false);
+            if (localJson.success) {
+                var intValue = localJson.data.id,
+                    codeValue = localJson.data.code,
+                    name = localJson.data.name;
+                saas.util.BaseUtil.openTab('purchase-purchase-formpanel', name + "(" + codeValue + ")", codeValue + intValue, {
+                    initId: intValue
+                });
+                saas.util.BaseUtil.showSuccessToast('转单成功');
+                saas.util.FormUtil.loadData(form);
+            }
+        })
+        .catch(function (res) {
+            form.setLoading(false);
+            console.error(res);
+            saas.util.BaseUtil.showErrorToast('转单失败: ' + res.message);
+        });
     }
 });

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

@@ -59,11 +59,14 @@ Ext.define('saas.view.sale.saleout.FormPanelController', {
         var me = this,
         form = me.getView(),
         id = form.getForm().findField(form._idField);
+
+        form.setLoading(true);
         saas.util.BaseUtil.request({
             url: form._turnInUrl + '/' + id.value,
             method: 'POST',
         })
         .then(function(localJson) {
+            form.setLoading(false);
             if(localJson.success){
                 var intValue = localJson.data.id,
                     codeValue= localJson.data.code,
@@ -76,6 +79,7 @@ Ext.define('saas.view.sale.saleout.FormPanelController', {
             }
         })
         .catch(function(res) {
+            form.setLoading(false);
            // console.error(res);
             saas.util.BaseUtil.showErrorToast('转单失败: ' + res.message);
         });

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

@@ -29,23 +29,11 @@ Ext.define('saas.view.stock.inventory.EditDataList', {
         gridexporter: true
     },
     tbar: [{
-        xtype: 'hidden',
-        name: 'wh_id',
-        bind:'{wh_id}',
-        fieldLabel: 'wh_id'
-    },{
-        xtype: 'hidden',
-        name: 'wh_code',
-        fieldLabel: 'wh_code'
-    },{		
         xtype: 'warehouseDbfindTrigger',
         name: 'wh_description',
+        bind: '{form.wh_description}',
         emptyText: '仓库',
         dbfinds:[{
-            from:'id',to:'wh_id',ignore:true 
-        }, { 
-            from:'wh_code',to:'wh_code'
-        }, {
             from:'wh_description',to:'wh_description'
         }],
         width:150,
@@ -54,32 +42,25 @@ Ext.define('saas.view.stock.inventory.EditDataList', {
         xtype : "remotecombo", 
         storeUrl:'/api/document/producttype/getCombo',
         name : "pr_kind",
-        bind:'{pr_kind}', 
+        bind: '{form.pr_kind}',
         emptyText : "类型",
         hiddenBtn:true, 
         allowBlank : false,
         width:150
     },{
-        xtype: 'hidden',
-        name: 'pr_id',
-        bind:'{pr_id}',
-        fieldLabel: 'pr_id'
-    },{
-        xtype: 'hidden',
-        name: 'pr_code',
-        fieldLabel: 'pr_code'
-    },{
-        xtype: 'productDbfindTrigger',
+        // xtype: 'productDbfindTrigger',
+        xtype: 'textfield',
         name: 'pr_detail',
         emptyText:'输入物料编号或名称',
         width:200,
-        dbfinds:[{
-            from:'id',to:'pr_id',ignore:true
-        },{
-            from:'pr_code',to:'pr_code',
-        }, {
-            from:'pr_detail',to:'pr_detail'
-        }]
+        bind: '{form.pr_detail}',
+        getCondition: function(value) {
+            if(value) {
+                return 'pr_detail like %' + value + '% or pr_code like%' + value + '%';
+            }else {
+                return '1 = 1';
+            }
+        }
     },{
         cls:'x-formpanel-btn-blue',
         xtype:'button',
@@ -235,8 +216,6 @@ Ext.define('saas.view.stock.inventory.EditDataList', {
         }  
     }],
 
-    condition:'',
-
     listeners:{
         boxready: function(grid, width, height, eOpts) {
             var store = grid.getStore(),
@@ -288,7 +267,7 @@ Ext.define('saas.view.stock.inventory.EditDataList', {
                 },
                 listeners: {
                     beforeload: function (store, op) {
-                        var condition = me.condition;
+                        var condition = me.getConditions();
                         if (Ext.isEmpty(condition)) {
                             condition = "";
                         }
@@ -315,6 +294,27 @@ Ext.define('saas.view.stock.inventory.EditDataList', {
     },
 
     listeners: {
+        beforerender: function(grid) {
+            var tbar = grid.dockedItems.items[2];
+            var fields = tbar.items.items;
+            var items = [];
+
+            Ext.each(fields, function(f, index){
+                items.push(f);
+                f.enableKeyEvents = true;
+                f.on && f.on({
+                    keydown: {
+                        fn: function(th, e, eOpts) {
+                            if(e.keyCode == 13) {
+                                grid.store.load();
+                            }
+                        }
+                    }
+                });
+            });
+
+            grid.formItems = items;
+        },
         boxready: function(grid, width, height, eOpts) {
             var store = grid.getStore(),
             gridBodyBox = grid.body.dom.getBoundingClientRect(),
@@ -329,83 +329,46 @@ Ext.define('saas.view.stock.inventory.EditDataList', {
      /**
      * 获得过滤条件
      */
-    getConditions: function(moreQuery) {
+    getConditions: function() {
         var me = this,
-        formItems = me.queryFormItems,
-        moreQueryFormItems = me.moreQueryFormItems,
+        formItems = me.formItems,
         viewModel = me.getViewModel(),
         viewModelData = viewModel.getData(),
         bindItems = viewModelData['form'],
-        moreItems = viewModelData['moreForm'],
         condition,
         conditions = [];
 
-        if(moreQuery) {
-            for(k in moreItems) {
-                var item = Ext.Array.findBy(moreQueryFormItems, function(i) {
-                    return i.name == k;
-                });
-                var field = item.name,
-                func = item.getCondition,
-                value = moreItems[k],
-                condition;
-    
-                if(typeof func == 'function') {
-                    condition = {
-                        type: 'condition',
-                        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);
-        
-                    if(!conditionValue) {
-                        continue;
-                    }
-                    condition = {
-                        type: type,
-                        field: field,
-                        operation: operation,
-                        value: conditionValue
-                    }
+        for(k in bindItems) {
+            var item = Ext.Array.findBy(formItems, function(i) {
+                return i.name == k;
+            });
+            var field = item.name,
+            func = item.getCondition,
+            value = bindItems[k],
+            condition;
+
+            if(typeof func == 'function') {
+                condition = {
+                    type: 'condition',
+                    value: func(value)
                 }
-                conditions.push(condition);
-            }
-        }else {
-            for(k in bindItems) {
-                var item = Ext.Array.findBy(formItems, function(i) {
-                    return i.name == k;
-                });
-                var field = item.name,
-                func = item.getCondition,
-                value = bindItems[k],
-                condition;
+            }else {
+                var xtype = item.xtype || 'textfield',
+                type = item.fieldType || me.getDefaultFieldType(xtype),
+                operation = item.operation || me.getDefaultFieldOperation(xtype),
+                conditionValue = me.getConditionValue(xtype, value);
     
-                if(typeof func == 'function') {
-                    condition = {
-                        type: 'condition',
-                        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);
-        
-                    if(!conditionValue) {
-                        continue;
-                    }
-                    condition = {
-                        type: type,
-                        field: field,
-                        operation: operation,
-                        value: conditionValue
-                    }
+                if(!conditionValue) {
+                    continue;
+                }
+                condition = {
+                    type: type,
+                    field: field,
+                    operation: operation,
+                    value: conditionValue
                 }
-                conditions.push(condition);
             }
+            conditions.push(condition);
         }
 
         return conditions;
@@ -515,18 +478,7 @@ Ext.define('saas.view.stock.inventory.EditDataList', {
     onbuild:function(){
         var me =this;
         var grid = me;
-        var tbar = me.dockedItems.items[2];
-        var data;
-        grid.condition = '';
-        var items = [];
-        var fields = tbar.items.items.map(f => f.name);
-        Ext.each(fields, function(f, index){
-            var field = tbar.down('[name='+f+']');
-            if(field){
-                items.push(field);
-            }
-        });
-        grid.condition = grid.getCondition(items);
+        grid.condition = grid.getConditions(me.formItems);
 
         var data = grid.condition;
         param = {
@@ -545,14 +497,14 @@ Ext.define('saas.view.stock.inventory.EditDataList', {
         })
         .catch(function(res) {
             console.error(res);
-            saas.util.BaseUtil.showToast('保存失败: ' + res.message);
+            saas.util.BaseUtil.showErrorToast('保存失败: ' + res.message);
         });        
     },
     onSave:function(){
         var me = this,
         gridData = me.getDirtyData();
         if(gridData==null){
-            saas.util.BaseUtil.showToast('未修改数据');
+            saas.util.BaseUtil.showErrorToast('未修改数据');
         }
         saas.util.BaseUtil.request({
             url: me.saveUrl,
@@ -566,7 +518,7 @@ Ext.define('saas.view.stock.inventory.EditDataList', {
         })
         .catch(function(res) {
             console.error(res);
-            saas.util.BaseUtil.showToast('保存失败: ' + res.message);
+            saas.util.BaseUtil.showErrorToast('保存失败: ' + res.message);
         });        
     },
     getDirtyData: function() {

+ 125 - 105
frontend/saas-web/app/view/stock/make/FormPanelController.js

@@ -5,83 +5,103 @@ Ext.define('saas.view.stock.make.FormPanelController', {
         var me = this;
         this.control({
             //放大镜赋值关系 以及 tpl模板
-            'dbfindtrigger[name=ma_whname]':{
-                beforerender:function(f){
-                    Ext.apply(f,{
-                        dbfinds:[{
-                            from:'id',to:'ma_whid',ignore:true                          
-                        },{
-                            from:'wh_code',to:'ma_whcode'                          
-                        },{
-                            from:'wh_description',to:'ma_whname'
+            'dbfindtrigger[name=ma_whname]': {
+                beforerender: function (f) {
+                    Ext.apply(f, {
+                        dbfinds: [{
+                            from: 'id',
+                            to: 'ma_whid',
+                            ignore: true
+                        }, {
+                            from: 'wh_code',
+                            to: 'ma_whcode'
+                        }, {
+                            from: 'wh_description',
+                            to: 'ma_whname'
                         }],
-                    }) ;   
+                    });
 
                 }
-            },            
+            },
             //放大镜赋值关系 以及 tpl模板
-            'dbfindtrigger[name=mm_whname]':{
-                beforerender:function(f){
-                    Ext.apply(f,{
-                        dbfinds:[{
-                            from:'id',to:'mm_whid',ignore:true                          
-                        },{
-                            from:'wh_code',to:'mm_whcode'                          
-                        },{
-                            from:'wh_description',to:'mm_whname'
+            'dbfindtrigger[name=mm_whname]': {
+                beforerender: function (f) {
+                    Ext.apply(f, {
+                        dbfinds: [{
+                            from: 'id',
+                            to: 'mm_whid',
+                            ignore: true
+                        }, {
+                            from: 'wh_code',
+                            to: 'mm_whcode'
+                        }, {
+                            from: 'wh_description',
+                            to: 'mm_whname'
                         }]
-                    }) ;   
+                    });
 
                 }
             },
-            'multidbfindtrigger[name=mm_prodcode]':{
-                beforerender:function(f){
-                    Ext.apply(f,{
-                        dbfinds:[{
-                            from:'pr_code',to:'mm_prodcode'
-                        },{
-                            from:'id',to:'mm_prodid'
-                        },{
-                            from:'pr_detail',to:'pr_detail'
-                        },{
-                            from:'pr_spec',to:'pr_spec'
-                        },{
-                            from:'pr_unit',to:'pr_unit'
-                        },{
-                            from:'pr_purcprice',to:'mm_price'
+            'multidbfindtrigger[name=mm_prodcode]': {
+                beforerender: function (f) {
+                    Ext.apply(f, {
+                        dbfinds: [{
+                            from: 'pr_code',
+                            to: 'mm_prodcode'
+                        }, {
+                            from: 'id',
+                            to: 'mm_prodid'
+                        }, {
+                            from: 'pr_detail',
+                            to: 'pr_detail'
+                        }, {
+                            from: 'pr_spec',
+                            to: 'pr_spec'
+                        }, {
+                            from: 'pr_unit',
+                            to: 'pr_unit'
+                        }, {
+                            from: 'pr_purcprice',
+                            to: 'mm_price'
                         }],
-                    }) ;   
+                    });
 
                 }
             },
-            'bomDbfindTrigger[name=ma_prodcode]':{
-                beforerender:function(f){
-                    Ext.apply(f,{
+            'bomDbfindTrigger[name=ma_prodcode]': {
+                beforerender: function (f) {
+                    Ext.apply(f, {
                         //放大镜赋值设置
-                        dbfinds:[{
-                            from:'bo_motherid',to:'ma_prodid'
-                        },{
-                            from:'bo_mothercode',to:'ma_prodcode'
-                        },{
-                            from:'bo_mothername',to:'ma_proddetail'
-                        },{
-                            from:'pr_spec',to:'ma_prodspec'
-                        },{
-                            from:'pr_unit',to:'ma_produnit'
-                        },{
-                            from:'bo_version',to:'ma_version'
+                        dbfinds: [{
+                            from: 'bo_motherid',
+                            to: 'ma_prodid'
+                        }, {
+                            from: 'bo_mothercode',
+                            to: 'ma_prodcode'
+                        }, {
+                            from: 'bo_mothername',
+                            to: 'ma_proddetail'
+                        }, {
+                            from: 'pr_spec',
+                            to: 'ma_prodspec'
+                        }, {
+                            from: 'pr_unit',
+                            to: 'ma_produnit'
+                        }, {
+                            from: 'bo_version',
+                            to: 'ma_version'
                         }],
-                        aftertrigger:function(f,record){
+                        aftertrigger: function (f, record) {
                             me.getBomData(record.data.id)
                         }
-                    }) ;   
+                    });
 
                 }
             },
 
         });
     },
-    initCopyData: function(formData) {
+    initCopyData: function (formData) {
         var me = this;
         var form = this.getView();
         var detailCount = form.detailCount;
@@ -107,26 +127,26 @@ Ext.define('saas.view.stock.make.FormPanelController', {
         main['ma_qty'] = 0;
         main['ma_price'] = 0;
         main['ma_total'] = 0;
-        for(var k in main) {
+        for (var k in main) {
             // 主表日期改为当前日期
-            if(saas.util.BaseUtil.isDateString(main[k])) {
+            if (saas.util.BaseUtil.isDateString(main[k])) {
                 main[k] = Ext.Date.format(new Date, 'Y-m-d H:i:s');
             }
         }
 
-        for(var j = 0; j < detailCount; j++) {
+        for (var j = 0; j < detailCount; j++) {
             var detail = formData['detail' + j];
-            for(var x = 0; x < detail.length; x ++) {
+            for (var x = 0; x < detail.length; x++) {
                 var d = detail[x];
 
-                for(var k in d) {
+                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])) {
+                    if (saas.util.BaseUtil.isDateString(d[k])) {
                         d[k] = '';
                     }
                 }
@@ -134,54 +154,54 @@ Ext.define('saas.view.stock.make.FormPanelController', {
         }
         return me.myInitCopyData(formData);;
     },
-    price_change:function(v) {
+    price_change: function (v) {
         var me = this,
-        viewModel = me.getViewModel(),
-        store = viewModel.get('detail0').detailStore,
-        type = viewModel.get('ma_type');
-        if('拆件'==type && v==0){
+            viewModel = me.getViewModel(),
+            store = viewModel.get('detail0').detailStore,
+            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();
+    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);
+        });
     }
 });