zhuth 7 years ago
parent
commit
f9f2a7286c

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

@@ -42,7 +42,7 @@ Ext.define('saas.view.core.form.DbfindTrigger', {
                 xtype:'core-dbfindgridpanel',
                 configUrl: f.configUrl,
                 dataUrl: f.dataUrl,
-                relative: f.relative
+                dbfinds: f.dbfinds
             }]
         });
         win.show();

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

@@ -5,8 +5,8 @@ Ext.define('saas.view.core.form.FormPanel', {
     FormUtil: Ext.create('saas.util.FormUtil'),
 
     controller: 'core-form-formpanel',
-    viewModel: 'core-form-formpanel',
-
+    viewModel: Ext.create('Ext.app.ViewModel'),
+    
     layout: 'column',
     autoScroll: true,
     border: 1,

+ 17 - 75
frontend/saas-web/app/view/core/form/field/DetailGridField.js

@@ -8,6 +8,23 @@ Ext.define('saas.view.core.form.field.DetailGridField', {
     margin: '0 5 5 0', // formpanel的fieldDefaults未生效
     height: 300,
 
+    controller: 'core-form-field-detailgridfield',
+
+    dockedItems: [{
+        xtype: 'toolbar',
+        dock: 'bottom',
+        items: [{
+            iconCls: 'x-fa fa-plus',
+            handler: 'addDetail'
+        }, {
+            iconCls: 'x-fa fa-delete',
+            handler: 'deleteDetail'
+        }, {
+            text: '审核',
+            handler: 'add10EmptyRow'
+        }]
+    }],
+
     store: {
         data: []
     },
@@ -17,82 +34,7 @@ Ext.define('saas.view.core.form.field.DetailGridField', {
 
     initComponent: function() {
         var me = this;
-        Ext.apply(me, {
-            dockedItems: [{
-                xtype: 'toolbar',
-                dock: 'bottom',
-                items: [{
-                    iconCls: 'x-fa fa-plus-circle',
-                    handler: me.addDetail
-                }, {
-                    iconCls: 'x-fa fa-trash',
-                    handler: me.deleteDetail
-                }, {
-                    iconCls: 'x-fa fa-arrow-up',
-                    handler: me.swapUp
-                }, {
-                    iconCls: 'x-fa fa-arrow-down',
-                    handler: me.swapDown
-                }]
-            }]
-        });
         me.configUrl && me.GridUtil.setColumns(me, me.configUrl);
         me.callParent(arguments);
     },
-
-    listeners: {
-        afterSetColumns: function(grid) {
-            grid.add10EmptyRow();
-        },
-        itemClick: function(tableView, record, item, index, e, eOpts) {
-            var grid = tableView.up('grid'),
-                store = grid.store,
-                count = store.getCount();
-
-            if(index == count - 1) {
-                grid.add10EmptyRow();
-            }
-        }
-    },
-
-    add10EmptyRow: function() {
-        var me = this,
-            store = me.getStore(),
-            selectedRecord = me.selModel.lastSelected,
-            datas = [];
-
-        Ext.Array.each(new Array(10), function() {
-            datas.push({});
-        })
-        store.insert(store.indexOf(selectedRecord) + 1, datas);
-    },
-
-    addDetail: function() {
-        var grid = this.up('grid'),
-            store = grid.getStore(),
-            selectedRecord = grid.selModel.lastSelected;
-
-        store.insert(store.indexOf(selectedRecord) + 1, {});
-    },
-
-    deleteDetail: function() {
-        var grid = this.up('grid'),
-            store = grid.getStore(),
-            selectedRecord = grid.selModel.lastSelected;
-
-        store.remove(selectedRecord);
-    },
-
-    swapUp: function() {
-        var grid = this.up('grid'),
-            store = grid.getStore(),
-            record = grid.selModel.lastSelected,
-            selectedIdx = store.indexOf(record),
-            to = store.getAt(selectedIdx - 1);
-
-    },
-
-    swapDown: function() {
-
-    }
 });

+ 6 - 17
frontend/saas-web/app/view/core/grid/DbfindGridPanel.js

@@ -16,24 +16,13 @@ Ext.define('saas.view.core.grid.DbfindGridPanel', {
     listeners:{
         itemClick: function(view,record) {
             var me = this;
-            var relatives = [];
-            Ext.Ajax.request({
-                async:false,
-                url: me.relative,
-                success: function(response, opts) {
-                    relatives = Ext.decode(response.responseText);                   
-                },
-                failure: function(response, opts) {
-                    console.log('server-side failure with status code ' + response.status);
-                }
-            });
-            if(relatives.length>0){
-                for (let index = 0; index < relatives.length; index++) {
-                    var item = relatives[index];
-                    var field = me.ownerCt.belong.down('[name='+item.name+']');
-                    debugger
+            var dbfinds = me.dbfinds;
+            if(dbfinds.length>0){
+                for (let index = 0; index < dbfinds.length; index++) {
+                    var item = dbfinds[index];
+                    var field = me.ownerCt.belong.down('[name='+item.to+']');
                     if(field){
-                        var val = record.get(item.name);
+                        var val = record.get(item.from);
                         if(field.xtype=='dbfindtrigger'){
                             field.setValue(val);
                             field.setRawValue(val);

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

@@ -37,7 +37,7 @@ Ext.define('saas.view.main.MainContainerWrap', {
             expanderOnly: false,
             floatLeafItems: true,
             listeners: {
-                itemClick: 'onNavigationTreeItemClick'
+                selectionchange: 'onNavigationTreeSelectionChange'
             }
         },
         {

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

@@ -7,9 +7,7 @@ Ext.define('saas.view.main.MainController', {
 
     alias: 'controller.main',
 
-    onNavigationTreeItemClick: function(tree, info) {
-        var node = info.node;
-
+    onNavigationTreeSelectionChange: function (tree, node) {
         if (node && node.get('viewType')) {
             this.setActiveTab(node.getData());
         }

+ 7 - 1
frontend/saas-web/resources/json/purchase/formItems.json

@@ -16,7 +16,13 @@
     "xtype": "dbfindtrigger",
     "configUrl":"resources/json/purchase/vendorColumnsDbfind.json",
     "dataUrl":"resources/json/purchase/vendorDataDbfind.json",
-    "relative":"resources/json/purchase/vendorRelativeDbfind.json",
+    "dbfinds":[{
+        "from":"pu_vendorcode",
+        "to":"pu_vendorcode"
+    },{
+        "from":"pu_vendorname",
+        "to":"pu_vendorname"
+    }],
     "name": "pu_vendorcode",
     "bind": "{pu_vendorcode}",
     "fieldLabel": "供应商编号",

+ 0 - 5
frontend/saas-web/resources/json/purchase/vendorRelativeDbfind.json

@@ -1,5 +0,0 @@
-[{
-    "name": "pu_vendorcode"
-}, {
-    "name": "pu_vendorname"
-}]