Selaa lähdekoodia

筛选方案代码提交

hy 6 vuotta sitten
vanhempi
commit
a4229bad25

+ 21 - 0
app.json

@@ -218,6 +218,27 @@
         }
     ],
 
+    "builds": {
+        "dev": {
+            "server": {
+                "basePath": "http://127.0.0.1:24002",
+                "urlPattern": "^\/api\/"
+            }
+        },
+        "test": {
+            "server": {
+                "basePath": "http://127.0.0.1:24002",
+                "urlPattern": "^\/api\/"
+            }
+        },
+        "prod": {
+            "server": {
+                "basePath": "http://127.0.0.1:24002",
+                "urlPattern": "^\/api\/"
+            }
+        }
+    },
+
     /**
      * List of all CSS assets in the right inclusion order.
      *

+ 38 - 0
app/overrides/data/Connection.js

@@ -0,0 +1,38 @@
+/**
+ * 在 ajax request 前修改url,增加服务端`basePath`
+ * `basePath`在`app.json`配置
+ */
+Ext.define('uas.override.data.Connection', {
+    override: 'Ext.data.Connection',
+ 
+    urlRegexp: /(http|ftp|https):\/\//,
+
+    config: {
+        /**
+         * @cfg {Object} defaultServerHeaders
+         * 与defaultHeaders有区别,只在调用server api的时候才添加的headers
+         */
+        defaultServerHeaders: null
+    },
+
+    privates: {
+        setupServerOptions: function(options) {
+            var serverOptions = Ext.manifest.server, originUrl = options.url;
+            if (serverOptions && serverOptions.basePath && !this.urlRegexp.test(originUrl) &&
+              (!serverOptions.urlPattern || new RegExp(serverOptions.urlPattern).test(originUrl))) {
+                Ext.Object.merge(options, {
+                    url: serverOptions.basePath + originUrl.replace('/api',''),
+                    headers: this.getDefaultServerHeaders() || {}
+                });
+            }
+        }
+    },
+
+    request: function(options) {
+        if (options && options.url) {
+            this.setupServerOptions(options);
+        }
+        return this.callParent([options]);
+    }
+ });
+ 

+ 1 - 1
app/store/BigData.js

@@ -7,7 +7,7 @@ Ext.define('uas.store.BigData', {
 
     proxy: {
         type: 'ajax',
-        url: 'http://127.0.0.1:24002/bigData',
+        url: '/api/bigData',
         reader: {
             type: 'json',
             rootProperty: 'data.list',

+ 1 - 1
app/store/Companies.js

@@ -10,7 +10,7 @@ Ext.define('uas.store.Companies', {
     
     proxy: {
         type: 'ajax',
-        url: 'http://127.0.0.1:24002/comanies',
+        url: '/api/comanies',
 
         reader: {
             type: 'json',

+ 1 - 1
app/store/DataListGridStore.js

@@ -11,7 +11,7 @@ Ext.define('uas.store.DataListGridStore', {
     pageSize: 100,
     proxy: {
         type: 'ajax',
-        url: 'http://127.0.0.1:24002/dataList',
+        url: '/api/dataList',
         reader: {
             type: 'json',
             rootProperty: 'data.list',

+ 9 - 0
app/view/grid/dataList/DataListPanel.scss

@@ -82,4 +82,13 @@
             position: absolute;
         }
     }
+}
+
+.x-tree-searchPlanTree{
+    .x-toolbar-default .x-toolbar-item{
+        padding: 2px;
+        border-color: #ababab;
+        height: 20px;
+        background: unset;
+    }
 }

+ 72 - 0
app/view/grid/dataList/SearchPlanTree.js

@@ -0,0 +1,72 @@
+Ext.define('uas.view.grid.dataList.SearchPlanTree', {
+    extend: 'Ext.tree.Panel',
+    xtype: 'searchPlanTree',
+    cls:'x-tree-searchPlanTree',
+    requires: [
+        'Ext.data.TreeStore'
+    ],
+    dataUrl:'/api/searchPlanTree',
+    rootVisible:false,
+    useArrows: true,
+    width:260,
+    height:'100%',
+
+    viewConfig: {
+        plugins: {
+            treeviewdragdrop: {
+                containerScroll: true
+            }
+        }
+    },
+
+    tbar: {
+        reference: 'tbar',
+        items: [{
+            text: '保存',
+        }, {
+            text: '另存为',
+        }, {
+            text: '重置',
+        }, {
+            text: '修改',
+        }, {
+            text: '删除',
+        }]
+    },
+
+    initComponent: function () {
+        var me = this;
+        me.store = Ext.create('Ext.data.TreeStore', {
+            root: {
+                text : 'Root',
+                id: 0,
+                expanded: true
+            },
+            autoLoad:false,
+        });
+        me.callParent(arguments);
+        me.setTree();
+    },
+    setTree:function(){
+        const me = this;
+        Ext.Ajax.request({
+            url: me.dataUrl,
+            params: '',
+            method: 'GET',
+            async:false,
+            success: function(response, opts) {
+                var _data = Ext.decode(response.responseText);
+                if(_data&&_data.data){
+                    me.getStore().setRootNode({
+                        text: '角色列表',
+                        id: '0',
+                        iconCls: 'x-fa fa-list',
+                        expanded: true,
+                        children: _data.data
+                    });
+                }
+            },
+            failure: function(response, opts) {}
+        }); 
+    }
+});

+ 24 - 4
app/view/grid/dataList/SearchPlanWindow.js

@@ -2,13 +2,33 @@ Ext.define('uas.view.grid.dataList.SearchPlanWindow', {
     extend: 'Ext.window.Window',
     alias: 'widget.searchPlanWindow',
     xtype: 'searchPlanWindow',
-    cls: 'x-window-dbfind',
+    cls: 'x-window-searchPlanWindow',
     title: '筛选方案',
     scrollable: true,
-    bodyPadding: 10,
+    bodyPadding: 4,
     constrain: true,
     modal: true,
     closable: true,
-    layout: 'fit',
-    closeAction: 'hide'
+    layout: 'border',
+    closeAction: 'hide',
+    items:[{
+        region:'west',
+        xtype:'searchPlanTree'
+    },{
+        plain: true,
+        xtype:'tabpanel',
+        region:'center',
+        tabBar: {
+            layout: {
+                pack: 'center'
+            }
+        },
+        items:[{
+            title:'条件设置'
+        },{
+            title:'排序设置'
+        },{
+            title:'列设置'
+        }]
+    }]
 });

+ 2 - 0
app/view/main/NavigationTree.js

@@ -6,6 +6,8 @@ Ext.define('uas.view.main.NavigationTree', {
 
     store: 'Navigation',
 
+    autoScroll:true,
+
     bind: {
         selection: '{selectedNode}'
     },

+ 34 - 0
server/data/SearchPlanTree.js

@@ -0,0 +1,34 @@
+var searchPlanTree = (function(){
+    return [{
+        "text": "公共方案",
+        "expanded": true,
+        "leaf": false,
+        "children": [
+            {
+                "text": "缺省方案",
+                "leaf": true 
+            }, {
+                "text": "公共方案A",
+                "leaf": true 
+            }, {
+                "text": "公共方案B",
+                "leaf": true 
+            }
+        ]
+    }, {
+        "text": "私有方案",
+        "expanded": true,
+        "leaf": false,
+        "children": [{
+            "text": "自定义方案A",
+            "leaf": true    
+        },{
+            "text": "自定义方案B",
+            "leaf": true    
+        }]
+    }]
+})();
+
+module.exports = function(query){
+    return searchPlanTree;
+}

+ 2 - 0
server/data/index.js

@@ -1,9 +1,11 @@
 var bigData = require('./bigData');
 var comanies = require('./comanies');
 var dataList = require('./dataList');
+var searchPlanTree = require('./searchPlanTree');
 
 module.exports = {
     '/bigData': bigData,
     '/comanies': comanies,
     '/dataList': dataList,
+    '/searchPlanTree': searchPlanTree,
 }