Browse Source

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

guq 7 năm trước cách đây
mục cha
commit
1dd88e71df

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

@@ -108,7 +108,8 @@ Ext.define('saas.util.FormUtil', {
                             });
 
                             columns.push({
-                                flex: 1
+                                flex: 1,
+                                allowBlank: true
                             });
 
                             cnames.push(item.detnoColumn);

+ 3 - 1
frontend/saas-web/app/view/core/dbfind/DbfindGridPanel.js

@@ -95,11 +95,13 @@ Ext.define('saas.view.core.dbfind.DbfindGridPanel', {
                 if(me.belong=='grid'){
                     for (let index = 0; index < dbfinds.length; index++) {
                         var item = dbfinds[index];
-                        var rec = me.dbfindtrigger.column.ownerCt.ownerCt.selModel.getLastSelected();
+                        var mainGrid = me.dbfindtrigger.column.ownerCt.ownerCt;
+                        var rec = mainGrid.selModel.getLastSelected();
                         if(rec){
                             var nowRec = me.dbfindtrigger.column.ownerCt.ownerCt.store.getData().getByKey(rec.id);
                             nowRec.set(item.to,record.get(item.from));
                             //me.column.getEditor().setValue(record.get(item.from));
+                            mainGrid.up('detailGridField').fireEvent('edit');
                         }
                     }
                 }else if(me.belong=='form'){

+ 1 - 1
frontend/saas-web/app/view/core/dbfind/DbfindTrigger.js

@@ -18,7 +18,7 @@ Ext.define('saas.view.core.dbfind.DbfindTrigger', {
                 'value':me.value
             }]
         });
-        this.callParent();
+        me.callParent();
     },
     //输入值之后进行模糊查询
     doQuery: function(queryString, forceAll, rawQuery) {

+ 5 - 4
frontend/saas-web/app/view/core/dbfind/MultiDbfindGridPanel.js

@@ -112,12 +112,12 @@ Ext.define('saas.view.core.dbfind.MultiDbfindGridPanel', {
                             var selectRecordArr = grid.selectRecordArr;
                             var dbfinds = grid.dbfinds;
                             //点开放大镜的行
-                            var rec = grid.dbfindtrigger.column.ownerCt.ownerCt.selModel.getLastSelected();
                             var mainGrid = grid.dbfindtrigger.column.ownerCt.ownerCt;
-                            Ext.Array.each(selectRecordArr,function(record,x) {
+                            var rec = mainGrid.selModel.getLastSelected();
+                            Ext.Array.each(selectRecordArr,function(record,index) {
                                 Ext.Array.each(dbfinds,function(dbfind) {
                                     if(rec){
-                                        var nowRec = grid.dbfindtrigger.column.ownerCt.ownerCt.store.getData().getByKey(rec.id);
+                                        var nowRec = mainGrid.store.getData().getByKey(rec.id);
                                         nowRec.set(dbfind.to,record.get(dbfind.from));
                                     }
                                 });
@@ -125,13 +125,14 @@ Ext.define('saas.view.core.dbfind.MultiDbfindGridPanel', {
                                     return f.id==(rec&&rec.id?rec.id:0)
                                 });
                                 rec = mainGrid.store.data.getAt(index+1);
-                                if(!rec&&x!=selectRecordArr.length-1){//添加下一行
+                                if(!rec&&index!=selectRecordArr.length-1){//添加下一行
                                     var data = {};
                                     data[mainGrid.ownerCt.detnoColumn] = index + 2;
                                     mainGrid.store.insert(index+1, data);
                                     rec = mainGrid.store.data.getAt(index+1);
                                 }
                             });
+                            mainGrid.up('detailGridField').fireEvent('edit');
                             grid.ownerCt.close();
                         }
                     }])

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

@@ -124,7 +124,7 @@ Ext.define('saas.view.core.form.FormPanel', {
                     xtype: 'button',
                     text: '删除',
                     bind: {
-                        hidden: '{deleteHidden}'
+                        hidden: '{deleteHidden || ' + me._statusCodeField + '=="' + auditTexts.auditCode + '"}'
                     },
                     handler: 'delete'
                 }, {
@@ -268,6 +268,7 @@ Ext.define('saas.view.core.form.FormPanel', {
                 store = detail.detailStore;
 
             if (detailData) {
+                store.removeAll();
                 store.add(detailData);
             }
         }
@@ -293,6 +294,7 @@ Ext.define('saas.view.core.form.FormPanel', {
             if (xtype == 'detailGridField') {
                 item.listeners = item.listeners || {};
                 item.listeners.validChange = function() {
+                    console.log('validChange');
                     me.isValid();
                 }
 

+ 48 - 7
frontend/saas-web/app/view/core/form/field/DetailGridField.js

@@ -26,6 +26,7 @@ Ext.define('saas.view.core.form.field.DetailGridField', {
     showIndex: true,
     configUrl: '',
     editable: true,
+    allowEmpty: true, // 校验时只校验dirty数据
 
     initComponent: function() {
         var me = this;
@@ -40,17 +41,28 @@ Ext.define('saas.view.core.form.field.DetailGridField', {
         };
 
         Ext.apply(me, {
-            viewConfig: {
+            normalViewConfig: {
                 deferEmptyText: false,
                 emptyText: '无数据'
             },
+            lockedGridConfig: {
+                // scrollable: {
+                //     x: false,
+                //     y: true
+                // }
+            },
             lockedViewConfig: {
+                // scrollable: false,
+                scrollable: {
+                    x: false,
+                    y: true
+                },
                 deferEmptyText: false,
                 emptyText: '<div style="width: 100%; text-align: center; cursor: pointer; color: green;" class="fa fa-plus" title="新增行" onclick="addRows(\'' + me.id + '\')"></div>',
             },
             listeners: {
                 edit: function() {
-                    me.fireEvent('validChange');
+                    this.fireEvent('validChange');
                 },
                 itemmouseenter: function(view, record, item, index, e, eOpts) {
                     if(!view.up('detailGridField').editable) {
@@ -85,7 +97,8 @@ Ext.define('saas.view.core.form.field.DetailGridField', {
                     }else if(target.classList.contains('fa-plus')) {
                         me.addDetail(detno);
                     }
-                }
+                },
+                scope: me
             }
         });
         me.callParent(arguments);
@@ -302,9 +315,10 @@ Ext.define('saas.view.core.form.field.DetailGridField', {
      */
     isValid: function() {
         var me = this,
+        allowEmpty = me.allowEmpty;
         columns = me.columns,
-        dirtyData = me.getDirtyData(),
-        valid = true;
+        data = allowEmpty ? me.getDirtyData() : me.getAllData(),
+        valid = allowEmpty;
 
         // 判断列必填
         a:
@@ -315,8 +329,9 @@ Ext.define('saas.view.core.form.field.DetailGridField', {
             var isValid = c.isValid;
             
             b:
-            for(var j = 0; j < dirtyData.length; j++) {
-                var d = dirtyData[j];
+            for(var j = 0; j < data.length; j++) {
+                valid = true;
+                var d = data[j];
                 var value = d[cname];
 
                 if(typeof isValid == 'function') {
@@ -337,6 +352,32 @@ Ext.define('saas.view.core.form.field.DetailGridField', {
         return valid;
     },
 
+    /**
+     * 获得所有数据
+     */
+    getAllData: function() {
+        var me = this,
+        store = me.getStore(),
+        storeData = store.getData().items,
+        allData = [];
+
+        Ext.Array.each(storeData, function(item){
+            var d = Object.assign({}, item.data);
+
+            if((typeof d.id) != "number" && d.id.indexOf('-')>-1){
+                d.id = 0;
+            }
+            for(k in d) {
+                if(Ext.isDate(d[k])) {
+                    d[k] = Ext.Date.format(d[k], 'Y-m-d H:i:s');
+                }
+            }
+            allData.push(d);
+        });
+
+        return allData;
+    },
+
     /**
      * 获得已修改的数据
      */

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

@@ -36,7 +36,7 @@ Ext.define('saas.view.purchase.purchase.FormPanel', {
          xtype: 'button',
          text: '转采购验收单',
          bind: {
-            hidden: '{!id}'
+            hidden: '{turnHidden}'
         },
          handler: 'turnIn'
      }],
@@ -91,6 +91,7 @@ Ext.define('saas.view.purchase.purchase.FormPanel', {
         storeModel:'saas.model.purchase.Purchasedetail',
         detnoColumn:  'pd_detno',
         deleteDetailUrl:'/api/purchase/purchase/deleteDetail/',
+        allowEmpty: false,
         columns : [
             {
                 text : "id", 

+ 9 - 0
frontend/saas-web/app/view/purchase/purchase/FormPanelModel.js

@@ -2,4 +2,13 @@ Ext.define('saas.view.purchase.purchase.FormPanelModel', {
     extend: 'saas.view.core.form.FormPanelModel',
     alias: 'viewmodel.purchase-purchase-formpanel',
 
+
+    formulas:{
+        turnHidden:{
+            bind:'{pu_statuscode}',
+            get:function(value){
+                return value!='AUDITED';
+            }
+        }
+    }
 });

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

@@ -32,6 +32,15 @@ Ext.define('saas.view.purchase.purchaseIn.FormPanelController', {
                         },{
                             field:'ve_name',width:100
                         }],
+                        //联想查询条件
+                        dbtplfield:"ve_name",
+                        //放大镜窗口字段
+                        dbSearchFields:[{
+                            xtype : "textfield", 
+                            name : "ve_name", 
+                            fieldLabel : "供应商名称", 
+                            columnWidth : 0.25
+                        }],                        
                         dbColumns:[{
                             conditionCode:'ve_id',
                             "text": "供应商ID",

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

@@ -31,6 +31,15 @@ Ext.define('saas.view.purchase.purchaseOut.FormPanelController', {
                         },{
                             field:'ve_name',width:100
                         }],
+                        //联想查询条件
+                        dbtplfield:"ve_name",
+                        //放大镜窗口字段
+                        dbSearchFields:[{
+                            xtype : "textfield", 
+                            name : "ve_name", 
+                            fieldLabel : "供应商名称", 
+                            columnWidth : 0.25
+                        }],
                         dbColumns:[{
                             conditionCode:'ve_id',
                             "text": "供应商ID",

+ 1 - 1
frontend/saas-web/app/view/sale/saleOut/FormPanel.js

@@ -196,7 +196,7 @@ Ext.define('saas.view.sale.saleout.FormPanel', {
                 text : "销售序号", 
                 dataIndex : "pd_orderdetno", 
                 xtype : "numbercolumn",
-                flex:1
+                width : 120.0
             }
         ]
     }, {

+ 20 - 1
frontend/saas-web/app/view/stock/appropriationInOut/FormPanelController.js

@@ -31,6 +31,15 @@ Ext.define('saas.view.stock.appropriationInOut.FormPanelController', {
                         },{
                             field:'ve_name',width:100
                         }],
+                        //联想查询条件
+                        dbtplfield:"ve_name",
+                        //放大镜窗口字段
+                        dbSearchFields:[{
+                            xtype : "textfield", 
+                            name : "ve_name", 
+                            fieldLabel : "供应商名称", 
+                            columnWidth : 0.25
+                        }],
                         dbColumns:[{
                             conditionCode:'id',
                             "text": "供应商ID",
@@ -71,7 +80,8 @@ Ext.define('saas.view.stock.appropriationInOut.FormPanelController', {
             'dbfindtrigger[name=pi_custname]':{
                 beforerender:function(f){
                     Ext.apply(f,{
-
+                        addXtype: 'document-customer-formpanel',
+                        addTitle: '客户资料',
                         dataUrl:'/api/document/customer/list',
                         // dataUrl:'http://localhost:9480/customer/list',
                         dbfinds:[{
@@ -86,6 +96,15 @@ Ext.define('saas.view.stock.appropriationInOut.FormPanelController', {
                         },{
                             field:'pi_custname',width:100
                         }],
+                        //联想查询条件
+                        dbtplfield:"cu_name",
+                        //放大镜窗口字段
+                        dbSearchFields:[{
+                            xtype : "textfield", 
+                            name : "cu_name", 
+                            fieldLabel : "客户名称", 
+                            columnWidth : 0.25
+                        }],
                         dbColumns:[{
                             conditionCode:'id',
                             "text": "客户ID",

+ 20 - 1
frontend/saas-web/app/view/stock/otherIn/FormPanelController.js

@@ -25,6 +25,15 @@ Ext.define('saas.view.stock.otherIn.FormPanelController', {
                         },{
                             field:'ve_name',width:100
                         }],
+                        //联想查询条件
+                        dbtplfield:"ve_name",
+                        //放大镜窗口字段
+                        dbSearchFields:[{
+                            xtype : "textfield", 
+                            name : "ve_name", 
+                            fieldLabel : "供应商名称", 
+                            columnWidth : 0.25
+                        }],
                         dbColumns:[{
                             conditionCode:'id',
                             "text": "供应商ID",
@@ -65,7 +74,8 @@ Ext.define('saas.view.stock.otherIn.FormPanelController', {
             'dbfindtrigger[name=pi_custname]': {
                 beforerender: function (f) {
                     Ext.apply(f, {
-
+                        addXtype: 'document-customer-formpanel',
+                        addTitle: '客户资料',
                         dataUrl: '/api/document/customer/list',
                         // dataUrl:'http://localhost:9480/customer/list',
                         dbfinds: [{
@@ -85,6 +95,15 @@ Ext.define('saas.view.stock.otherIn.FormPanelController', {
                             field: 'pi_custname',
                             width: 100
                         }],
+                        //联想查询条件
+                        dbtplfield:"cu_name",
+                        //放大镜窗口字段
+                        dbSearchFields:[{
+                            xtype : "textfield", 
+                            name : "cu_name", 
+                            fieldLabel : "客户名称", 
+                            columnWidth : 0.25
+                        }],
                         dbColumns: [{
                             conditionCode: 'id',
                             "text": "客户ID",

+ 20 - 3
frontend/saas-web/app/view/stock/otherOut/FormPanelController.js

@@ -25,6 +25,15 @@ Ext.define('saas.view.stock.otherOut.FormPanelController', {
                         },{
                             field:'ve_name',width:100
                         }],
+                        //联想查询条件
+                        dbtplfield:"ve_name",
+                        //放大镜窗口字段
+                        dbSearchFields:[{
+                            xtype : "textfield", 
+                            name : "ve_name", 
+                            fieldLabel : "供应商名称", 
+                            columnWidth : 0.25
+                        }],                        
                         dbColumns:[{
                             conditionCode:'id',
                             "text": "供应商ID",
@@ -65,11 +74,10 @@ Ext.define('saas.view.stock.otherOut.FormPanelController', {
             'dbfindtrigger[name=pi_custname]':{
                 beforerender:function(f){
                     Ext.apply(f,{
-
-                        dataUrl:'/api/document/customer/list',
-                        // dataUrl:'http://localhost:9480/customer/list',
                         addXtype: 'document-customer-formpanel',
                         addTitle: '客户资料',
+                        dataUrl:'/api/document/customer/list',
+                        // dataUrl:'http://localhost:9480/customer/list',
                         dbfinds:[{
                             from:'id',to:'pi_custid'
                         },{
@@ -82,6 +90,15 @@ Ext.define('saas.view.stock.otherOut.FormPanelController', {
                         },{
                             field:'pi_custname',width:100
                         }],
+                        //联想查询条件
+                        dbtplfield:"cu_name",
+                        //放大镜窗口字段
+                        dbSearchFields:[{
+                            xtype : "textfield", 
+                            name : "cu_name", 
+                            fieldLabel : "客户名称", 
+                            columnWidth : 0.25
+                        }],                        
                         dbColumns:[{
                             conditionCode:'id',
                             "text": "客户ID",