Browse Source

查询列表界面调整

zhuth 7 years ago
parent
commit
cf6a32d99a

+ 26 - 12
frontend/saas-web/app/util/FormUtil.js

@@ -19,11 +19,10 @@ Ext.define('saas.util.FormUtil', {
         formModel = form.getViewModel(),
         url = me.baseUrl.replace(me.urlRe, '$1' + viewName);
         
-        this.BaseUtil.request({url, })
+        this.BaseUtil.request({url, async: false})
         .then(function(response) {
             var res = Ext.decode(response.responseText);
             if(res.success) {
-                
                 var config = res.data || true, items = defaultItems || [];
                 if(config) {
                     var cusItems = config.items || [];
@@ -41,22 +40,37 @@ Ext.define('saas.util.FormUtil', {
                             };
                             
                             formModel.set(storeName, Ext.create('Ext.data.Store', {
-                                fields: item.columns ? item.columns.filter(function(c) {
-                                    return !!c.dataIndex;
-                                }).map(function(c) {
-                                    return c.dataIndex;
-                                }) : [],
-                                data: []
+                                id: storeName,
+                                autoLoad: true,
+                                model: Ext.create('Ext.data.Model', {
+                                    fields: item.columns ? item.columns.filter(function(c) {
+                                        return !!c.dataIndex;
+                                    }).map(function(c) {
+                                        return {
+                                            name: c.dataIndex
+                                        }
+                                    }) : [],
+                                }),
+                                data: [{
+                                    pdUnit: '34'
+                                }, {
+                                    pdUnit: ''
+                                }]
                             }));
                         }
                     });
-
-                    form.addItems(items);
+                    return items;
+                }else {
+                    return []
                 }
-
-                form.fireEvent('afterSetItems', form, items);
+            }else {
+                return []
             }
         })
+        .then(function(items) {
+            form.addItems(items);
+            form.fireEvent('afterSetItems', form, items);
+        })
         .catch(function(response) {
             console.error(response);
         });

+ 0 - 28
frontend/saas-web/app/view/core/query/FormPanel.js

@@ -1,28 +0,0 @@
-Ext.define('saas.view.core.query.FormPanel', {
-    extend: 'Ext.form.Panel',
-    xtype: 'core-query-formpanel',
-
-    controller: 'core-query-formpanel',
-    viewModel: 'core-query-formpanel',
-    
-     //工具类
-     BaseUtil: Ext.create('saas.util.BaseUtil'),
-     QueryUtil: Ext.create('saas.util.QueryUtil'),
- 
-     //字段属性
-     _codeField: '',
-     _statusField: '',
-     _idField: '',
-    //基础属性 
-    layout: 'anchor',
-    autoScroll: true,
-    border: 1,
-    frame:true,
-    margin:'0',
-    initComponent: function() {
-        var me = this,
-        remoteConfig = me.remoteConfig;
-        remoteConfig && me.QueryUtil.setItems(me);
-        me.callParent(arguments);
-    }
-});

+ 0 - 5
frontend/saas-web/app/view/core/query/FormPanelController.js

@@ -1,5 +0,0 @@
-Ext.define('saas.view.core.query.FormPanelController', {
-    extend: 'Ext.app.ViewController',
-    alias: 'controller.core-query-formpanel',
-
-});

+ 0 - 4
frontend/saas-web/app/view/core/query/FormPanelModel.js

@@ -1,4 +0,0 @@
-Ext.define('saas.view.core.query.FormPanelModel', {
-    extend: 'Ext.app.ViewModel',
-    alias: 'viewmodel.core-query-formpanel'
-});

+ 5 - 18
frontend/saas-web/app/view/core/query/QueryMoreFormPanel.js → frontend/saas-web/app/view/core/query/MoreQueryFormPanel.js

@@ -1,34 +1,21 @@
-Ext.define('saas.view.core.query.QueryMoreFormPanel', {
+Ext.define('saas.view.core.query.MoreQueryFormPanel', {
     extend: 'Ext.form.Panel',
-    xtype: 'core-query-querymoreformpanel',
+    xtype: 'core-query-morequeryformpanel',
 
-    viewModel: 'core-query-querymoreformpanel',
-    //字段属性
-    _codeField: '',
-    _statusField: '',
-    _idField: '',
-    _baseItems: '',
-    //基础属性
     layout: 'column',
     autoScroll: true,
     buttonAlign : 'center',
     bodyPadding: 5,
     frame:true,
-    labelSeparator : ':',
-    defaults:{
-		xtype:'textfield',
-		columnWidth:0.33,
-		margin:'5 5 5 5'
-	},
-    fieldDefaults: {
+    defaults: {
+        xtype:'textfield',
         margin: '0 5 5 0',
         labelAlign: 'right',
         labelWidth: 90,
-        columnWidth: 0.25,
+        columnWidth: 0.5,
         blankText: '该字段不能为空'
     },
 
-    bindFields: [], // 已绑定字段(需要保存到数据库)
     initComponent: function() {
         var me = this;
         Ext.apply(me, {

+ 36 - 64
frontend/saas-web/app/view/core/query/QueryFormPanel.js

@@ -2,19 +2,8 @@ Ext.define('saas.view.core.query.QueryFormPanel', {
     extend: 'Ext.form.Panel',
     xtype: 'core-query-queryformpanel',
 
-    // viewModel: 'core-query-queryformpanel',
-
-     //字段属性
-    _baseItems: [],
-    _codeField: '',
-    _statusField: '',
-    _idField: '',
-     
-    //基础属性
     layout: 'column',
     autoScroll: true,
-    anchor: '100% 30%',
-    buttonAlign : 'center',
     bodyPadding: 5,
     labelSeparator : ':',
     defaults:{
@@ -29,58 +18,41 @@ Ext.define('saas.view.core.query.QueryFormPanel', {
         columnWidth: 0.25,
         blankText: '该字段不能为空'
     },
+
+    dockedItems: [{
+        xtype: 'toolbar',
+        dock: 'bottom',
+        style: {
+            'border-bottom': '1px solid #35baf6 !important'
+        },
+        items: ['->', {
+            xtype: 'button',
+            text: '更多查询',
+            handler: 'moreQuery'
+        }, {
+            xtype: 'button',
+            text: '查询',
+            handler: 'onQuery'
+        }, '->']
+    }]
+
+    // controller: 'core-query-formpanel',
+    // viewModel: 'core-query-formpanel',
+    
+    //  //工具类
+    //  BaseUtil: Ext.create('saas.util.BaseUtil'),
+    //  QueryUtil: Ext.create('saas.util.QueryUtil'),
  
-    remoteConfig: false, // 是否需要从远端读取form配置
-    bindFields: [], // 已绑定字段(需要保存到数据库)
-    initComponent: function() {
-        var me = this;
-        Ext.apply(me, {
-            dockedItems: [{
-                xtype: 'toolbar',
-                dock: 'bottom',
-                style: {
-                    'border-bottom': '1px solid #35baf6 !important'
-                },
-                items: ['->',{
-                    xtype: 'button',
-                    text: '更多查询',
-                    handler: me.moreQuery
-                }, {
-                    xtype: 'button',
-                    text: '查询',
-                    handler: me.onQuery
-                },'->']
-            }]
-        });
-        me.callParent(arguments);
-    },
-    moreQuery: function(btn){
-        var win = Ext.getCmp('queryMoreWin');
-        if(!win){
-            win = Ext.create('Ext.window.Window', {
-            id:'queryMoreWin', 
-            modal:true,
-            height: '50%',
-            width: '50%',
-            title: '更多查询',
-            scrollable: true,
-            bodyPadding: 10,
-            constrain: true,
-            closable: true,
-            layout:'fit',
-            renderTo:Ext.getCmp('main-tab-panel').getActiveTab().getEl(),
-            items:[{
-                xtype:'core-query-querymoreformpanel',
-                viewName:btn.ownerCt.ownerCt.ownerCt.viewName+"-moreQuery",
-            }]
-        });
-    };
-        win.show();
-    },
-    onQuery: function(btn){
-        console.log("查询");
-        var me = this,
-            parentForm = btn.ownerCt.ownerCt.ownerCt;
-            parentForm.QueryUtil.onQuery(parentForm);
-    }
+    // //基础属性 
+    // layout: 'anchor',
+    // autoScroll: true,
+    // border: 1,
+    // frame:true,
+    // margin:'0',
+    // initComponent: function() {
+    //     var me = this,
+    //     remoteConfig = me.remoteConfig;
+    //     remoteConfig && me.QueryUtil.setItems(me);
+    //     me.callParent(arguments);
+    // }
 });

+ 0 - 4
frontend/saas-web/app/view/core/query/QueryFormPanelModel.js

@@ -1,4 +0,0 @@
-Ext.define('saas.view.core.query.QueryFormPanelModel', {
-    extend: 'Ext.app.ViewModel',
-    alias: 'viewmodel.core-query-queryformpanel'
-});

+ 3 - 2
frontend/saas-web/app/view/core/query/QueryGridPanel.js

@@ -1,8 +1,9 @@
 Ext.define('saas.view.core.query.QueryGridPanel', {
     extend: 'Ext.grid.Panel',
-    xtype: 'core-query-gridpanel',
+    xtype: 'core-query-querygridpanel',
     
     //工具类
+    QueryUtil: Ext.create('saas.util.QueryUtil'),
     GridUtil: Ext.create('saas.util.GridUtil'),
     
     //字段属性
@@ -59,7 +60,7 @@ Ext.define('saas.view.core.query.QueryGridPanel', {
             },
             store: me.setStore()
         });
-        me.listUrl && me.up('core-query-formpanel').QueryUtil.queryData(me);
+        me.listUrl && me.QueryUtil.queryData(me);
         me.callParent(arguments);
     },
 

+ 0 - 4
frontend/saas-web/app/view/core/query/QueryMoreFormPanelModel.js

@@ -1,4 +0,0 @@
-Ext.define('saas.view.core.query.QueryMoreFormPanelModel', {
-    extend: 'Ext.app.ViewModel',
-    alias: 'viewmodel.core-query-querymoreformpanel'
-});

+ 49 - 0
frontend/saas-web/app/view/core/query/QueryPanel.js

@@ -0,0 +1,49 @@
+Ext.define('saas.view.core.query.QueryPanel', {
+    extend: 'Ext.panel.Panel',
+    xtype: 'core-query-querypanel',
+
+    controller: 'core-query-querypanel',
+    viewModel: 'core-query-querypanel',
+
+    layout: 'anchor',
+    autoScroll: true,
+    margin: '0',
+
+    items: [{
+        anchor: '100% 30%',
+        reference: 'queryform',
+        xtype: 'core-query-queryformpanel'
+    }, {
+        anchor: '100% 70%',
+        reference: 'querygrid',
+        xtype: 'core-query-querygridpanel'
+    }],
+
+    initComponent: function () {
+        var me = this;
+        me.setQueryItems(me.queryFormItems);
+        me.callParent(arguments);
+    },
+
+    getQueryForm: function () {
+        var me = this,
+            refs = me.getReferences();
+
+        return refs['queryform'];
+    },
+
+    getQueryGrid: function () {
+        var me = this,
+            refs = me.getReferences();
+
+        return refs['querygrid'];
+    },
+
+    setQueryItems: function (items) {
+        var me = this,
+            queryForm = me.items[0];
+
+        queryForm.items = items;
+    },
+
+});

+ 35 - 0
frontend/saas-web/app/view/core/query/QueryPanelController.js

@@ -0,0 +1,35 @@
+Ext.define('saas.view.core.query.QueryPanelController', {
+    extend: 'Ext.app.ViewController',
+    alias: 'controller.core-query-querypanel',
+
+    moreQuery: function (btn) {
+        var me = this;
+        var panel = me.getView();
+        var win = Ext.getCmp('queryMoreWin');
+        if (!win) {
+            win = Ext.create('Ext.window.Window', {
+                id: 'queryMoreWin',
+                modal: true,
+                height: '50%',
+                width: '50%',
+                title: '更多查询',
+                scrollable: true,
+                bodyPadding: 10,
+                constrain: true,
+                closable: true,
+                layout: 'fit',
+                renderTo: Ext.getCmp('main-tab-panel').getActiveTab().getEl(),
+                items: [{
+                    xtype: 'core-query-morequeryformpanel',
+                    items: panel.moreQueryFormItems
+                }]
+            });
+        };
+        win.show();
+    },
+    onQuery: function (btn) {
+        console.log("查询");
+        var me = this,
+        panel = me.getView();
+    }
+});

+ 4 - 0
frontend/saas-web/app/view/core/query/QueryPanelModel.js

@@ -0,0 +1,4 @@
+Ext.define('saas.view.core.query.QueryPanelModel', {
+    extend: 'Ext.app.ViewModel',
+    alias: 'viewmodel.core-query-querypanel',
+});

+ 22 - 0
frontend/saas-web/app/view/test/myform/FormPanel.js

@@ -7,4 +7,26 @@ Ext.define('saas.view.test.myform.FormPanel',{
     viewModel: {
         type: 'test-myform-formpanel'
     },
+
+    defaultItems: [{
+        xtype: 'detailGridField',
+        store: Ext.create('Ext.data.Store', {
+            fields: ['col1', 'col2'],
+            data: []
+        }),
+        columns: [{
+            text : "col1", 
+            editor : {
+                xtype : "textfield"
+            }, 
+            dataIndex : "col1", 
+            width : 120.0
+        }, {
+            text : "col2", 
+            editor : {
+                xtype : "textfield"
+            }, 
+            dataIndex : "col2"
+        }]
+    }]
 });

+ 0 - 10
frontend/saas-web/app/view/test/query/FormController.js

@@ -1,10 +0,0 @@
-Ext.define('saas.view.test.query.FormController', {
-    extend: 'saas.view.core.query.FormPanelController',
-    alias: 'controller.test-query-formcontroller',
-    init: function (view) {
-        var me = this;
-        this.control({
-        });
-
-    }
-});

+ 0 - 9
frontend/saas-web/app/view/test/query/FormModel.js

@@ -1,9 +0,0 @@
-Ext.define('saas.view.test.query.FormModel', {
-    extend: 'saas.view.core.query.FormPanelModel',
-    alias: 'viewmodel.test-query-formmodel',
-
-    // data: {
-    //     'core-query-gridpanel': []
-    // }
-
-});

+ 0 - 166
frontend/saas-web/app/view/test/query/FormPanel.js

@@ -1,166 +0,0 @@
-Ext.define('saas.view.test.query.FormPanel', {
-    extend: 'saas.view.core.query.FormPanel',
-    xtype: 'test-query-formpanel',
-
-    controller: 'test-query-formcontroller',
-    viewModel: 'test-query-formmodel',
-    viewName:'test-query-formpanel',
-
-    //字段属性
-    _codeField: 'pu_code',
-    _statusField: 'pu_statuscode',
-    _idField: 'pu_id',
-
-    items:[{
-        xtype: 'core-query-queryformpanel',
-        //_baseItems
-        items:[
-            {
-                xtype: 'hidden',
-                name: 'pu_id',
-                bind:'{pu_id}',
-                fieldLabel: 'ID',
-                allowBlank: true,
-                columnWidth: 0
-            },
-            {
-                xtype: 'dbfindtrigger',
-                name: 'pu_code',
-                bind:'{pu_code}',
-                fieldLabel: '单据编号',
-                allowBlank: true,
-                columnWidth: 0.25,
-                configUrl: 'resources/json/purchase/vendorColumnsDbfind.json',
-                dataUrl: 'resources/json/purchase/vendorDataDbfind.json'
-            },
-            {
-                xtype: 'condatefield',
-                name: 'pu_date',
-                bind: '{pu_date}',
-                fieldLabel: '采购日期',
-                allowBlank: true,
-                columnWidth: 0.5
-            },
-            {
-                xtype: 'dbfindtrigger',
-                name: 'pu_vendcode',
-                bind: '{pu_vendcode}',
-                fieldLabel: '供应商编号',
-                allowBlank: true,
-                columnWidth: 0.25,
-                configUrl: 'resources/json/purchase/vendorColumnsDbfind.json',
-                dataUrl: 'resources/json/purchase/vendorDataDbfind.json'
-            },
-            {
-                xtype: 'textfield',
-                name: 'pu_vendname',
-                bind: '{pu_vendname}',
-                fieldLabel: '供应商名称',
-                allowBlank: true,
-                columnWidth: 0.25
-            },
-            {
-                xtype: 'dbfindtrigger',
-                name: 'pd_prodcode',
-                bind: '{pd_prodcode}',
-                fieldLabel: '物料编号',
-                fieldMode: 'DETAIL',
-                allowBlank: true,
-                columnWidth: 0.25,
-                configUrl: 'resources/json/purchase/vendorColumnsDbfind.json',
-                dataUrl: 'resources/json/purchase/vendorDataDbfind.json'
-            },
-            {
-                xtype: 'textfield',
-                name: 'pr_detail',
-                bind: '{pr_detail}',
-                fieldLabel: '物料名称',
-                allowBlank: true,
-                columnWidth: 0.25
-            },
-            {
-                xtype: 'remotecombo',
-                name:'pr_statuscode',
-                bind: '{pr_statuscode}',
-                fieldLabel: '审核状态',
-                allowBlank: true,
-                columnWidth: 0.25,
-                store: Ext.create('Ext.data.Store', {
-                    fields: ['pr_statuscode', 'pr_status'],
-                    queryMode: 'local',
-                    displayField: 'pr_status',
-                    valueField: 'pr_statuscode',
-                    data :[
-                        ["$ALL","全部"],
-                        ["=AUDITED" ,"已审核"],
-                        ["<>AUDITED","未审核"]
-                    ]
-                })
-            },
-            {
-                xtype: 'remotecombo',
-                name: 'pu_acceptstatuscode',
-                bind: '{pu_acceptstatuscode}',
-                fieldLabel: '入库状态',
-                allowBlank: true,
-                columnWidth: 0.25,
-                store: Ext.create('Ext.data.Store', {
-                    fields: ['pu_acceptstatuscode', 'pu_acceptstatus'],
-                    queryMode: 'local',
-                    displayField: 'pu_acceptstatus',
-                    valueField: 'pu_acceptstatuscode',
-                    data :[
-                        ["$ALL","全部"],
-                        ["=TURNOUT","已入库"],
-                        ["=NULL","未入库"],
-                        ["=PARTOUT","部分入库"]
-                    ]
-                })
-            }
-        ]
-    },{
-        xtype: 'core-query-gridpanel',
-        columns: [
-            {
-                text: '序号',
-                width: 80,
-                xtype: 'rownumberer'
-            },
-            {
-                text: 'id',
-                dataIndex: 'pu_id',
-                width: 100,
-                xtype: 'numbercolumn'
-            },
-            {
-                text: '单据编号',
-                dataIndex: 'pu_code',
-                width: 120
-            },
-            {
-                text: '单据状态',
-                dataIndex: 'pu_status',
-                width: 120
-            }
-            //,
-            // {
-            //     text: 下单时间,
-            //     dataIndex: puDate,
-            //     width: 120,
-            //     xtype: datecolumn
-            // },
-            // {
-            //     text: 供应商名称,
-            //     dataIndex: puVendname,
-            //     width: 200
-            // },
-            // {
-            //     text: 含税金额,
-            //     dataIndex: puTaxtotal,
-            //     width: 120,
-            //     xtype: numbercolumn,
-            //     flex: 1
-            // }
-        ]
-    }]
-});

+ 141 - 0
frontend/saas-web/app/view/test/query/QueryPanel.js

@@ -0,0 +1,141 @@
+Ext.define('saas.view.test.query.QueryPanel', {
+    extend: 'saas.view.core.query.QueryPanel',
+    xtype: 'test-query-formpanel',
+
+    // controller: 'test-query-formcontroller',
+    // viewModel: 'test-query-formmodel',
+    viewName: 'test-query-formpanel',
+
+    queryFormItems: [{
+        xtype: 'hidden',
+        name: 'pu_id',
+        bind: '{pu_id}',
+        fieldLabel: 'ID',
+        allowBlank: true,
+        columnWidth: 0
+    }, {
+        xtype: 'dbfindtrigger',
+        name: 'pu_code',
+        bind: '{pu_code}',
+        fieldLabel: '单据编号',
+        allowBlank: true,
+        columnWidth: 0.25,
+        configUrl: 'resources/json/purchase/vendorColumnsDbfind.json',
+        dataUrl: 'resources/json/purchase/vendorDataDbfind.json'
+    }, {
+        xtype: 'condatefield',
+        name: 'pu_date',
+        bind: '{pu_date}',
+        fieldLabel: '采购日期',
+        allowBlank: true,
+        columnWidth: 0.5
+    }, {
+        xtype: 'dbfindtrigger',
+        name: 'pu_vendcode',
+        bind: '{pu_vendcode}',
+        fieldLabel: '供应商编号',
+        allowBlank: true,
+        columnWidth: 0.25,
+        configUrl: 'resources/json/purchase/vendorColumnsDbfind.json',
+        dataUrl: 'resources/json/purchase/vendorDataDbfind.json'
+    }, {
+        xtype: 'textfield',
+        name: 'pu_vendname',
+        bind: '{pu_vendname}',
+        fieldLabel: '供应商名称',
+        allowBlank: true,
+        columnWidth: 0.25
+    }, {
+        xtype: 'dbfindtrigger',
+        name: 'pd_prodcode',
+        bind: '{pd_prodcode}',
+        fieldLabel: '物料编号',
+        fieldMode: 'DETAIL',
+        allowBlank: true,
+        columnWidth: 0.25,
+        configUrl: 'resources/json/purchase/vendorColumnsDbfind.json',
+        dataUrl: 'resources/json/purchase/vendorDataDbfind.json'
+    }, {
+        xtype: 'textfield',
+        name: 'pr_detail',
+        bind: '{pr_detail}',
+        fieldLabel: '物料名称',
+        allowBlank: true,
+        columnWidth: 0.25
+    }, {
+        xtype: 'remotecombo',
+        name: 'pr_statuscode',
+        bind: '{pr_statuscode}',
+        fieldLabel: '审核状态',
+        allowBlank: true,
+        columnWidth: 0.25,
+        store: Ext.create('Ext.data.Store', {
+            fields: ['pr_statuscode', 'pr_status'],
+            queryMode: 'local',
+            displayField: 'pr_status',
+            valueField: 'pr_statuscode',
+            data: [
+                ["$ALL", "全部"],
+                ["=AUDITED", "已审核"],
+                ["<>AUDITED", "未审核"]
+            ]
+        })
+    }, {
+        xtype: 'remotecombo',
+        name: 'pu_acceptstatuscode',
+        bind: '{pu_acceptstatuscode}',
+        fieldLabel: '入库状态',
+        allowBlank: true,
+        columnWidth: 0.25,
+        store: Ext.create('Ext.data.Store', {
+            fields: ['pu_acceptstatuscode', 'pu_acceptstatus'],
+            queryMode: 'local',
+            displayField: 'pu_acceptstatus',
+            valueField: 'pu_acceptstatuscode',
+            data: [
+                ["$ALL", "全部"],
+                ["=TURNOUT", "已入库"],
+                ["=NULL", "未入库"],
+                ["=PARTOUT", "部分入库"]
+            ]
+        })
+    }],
+    moreQueryFormItems: [{
+        xtype: 'textfield',
+        name: 'pu_buyername',
+        bind: '{pu_buyername}',
+        fieldLabel: '采购员',
+        allowBlank: true
+    }, {
+        xtype: 'textfield',
+        name: 'pu_total',
+        bind: '{pu_total}',
+        fieldLabel: '金额',
+        allowBlank: true
+    }, {
+        xtype: 'condatefield',
+        name: 'pu_delivery',
+        bind: '{pu_delivery}',
+        fieldLabel: '交货日期',
+        allowBlank: true,
+        columnWidth: 1
+    }],
+    queryGridColumns: [{
+        text: '序号',
+        width: 80,
+        xtype: 'rownumberer'
+    }, {
+        text: 'id',
+        dataIndex: 'pu_id',
+        width: 100,
+        xtype: 'numbercolumn'
+    }, {
+        text: '单据编号',
+        dataIndex: 'pu_code',
+        width: 120
+    }, {
+        text: '单据状态',
+        dataIndex: 'pu_status',
+        width: 120
+    }]
+});