Browse Source

page 配置

王智勇 5 years ago
parent
commit
c3d075cdb6
4 changed files with 77 additions and 94 deletions
  1. 11 6
      package-lock.json
  2. 1 0
      package.json
  3. 3 0
      src/main.js
  4. 62 88
      src/views/gateway_cfg.vue

+ 11 - 6
package-lock.json

@@ -357,6 +357,15 @@
       "dev": true,
       "optional": true
     },
+    "axios": {
+      "version": "0.18.0",
+      "resolved": "http://registry.npmjs.org/axios/-/axios-0.18.0.tgz",
+      "integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=",
+      "requires": {
+        "follow-redirects": "^1.3.0",
+        "is-buffer": "^1.1.5"
+      }
+    },
     "babel": {
       "version": "6.23.0",
       "resolved": "https://registry.npmjs.org/babel/-/babel-6.23.0.tgz",
@@ -2931,7 +2940,6 @@
       "version": "1.5.1",
       "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.1.tgz",
       "integrity": "sha512-v9GI1hpaqq1ZZR6pBD1+kI7O24PhDvNGNodjS3MdcEqyrahCp8zbtpv+2B/krUnSmUH80lbAS7MrdeK5IylgKg==",
-      "dev": true,
       "requires": {
         "debug": "^3.1.0"
       },
@@ -2940,7 +2948,6 @@
           "version": "3.1.0",
           "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
           "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
-          "dev": true,
           "requires": {
             "ms": "2.0.0"
           }
@@ -4449,8 +4456,7 @@
     "is-buffer": {
       "version": "1.1.6",
       "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
-      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
-      "dev": true
+      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
     },
     "is-builtin-module": {
       "version": "1.0.0",
@@ -5416,8 +5422,7 @@
     "ms": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-      "dev": true
+      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
     },
     "multicast-dns": {
       "version": "6.2.3",

+ 1 - 0
package.json

@@ -15,6 +15,7 @@
   "author": "Aresn",
   "license": "MIT",
   "dependencies": {
+    "axios": "^0.18.0",
     "iview": "^3.0.0",
     "vue": "^2.5.16",
     "vue-router": "^2.8.1"

+ 3 - 0
src/main.js

@@ -5,6 +5,9 @@ import Routers from './router';
 import Util from './libs/util';
 import App from './app.vue';
 import 'iview/dist/styles/iview.css';
+import axios from 'axios';
+Vue.prototype.$http = axios;
+axios.defaults.baseURL = 'http://127.0.0.1:8100';
 
 Vue.use(VueRouter);
 Vue.use(iView);

+ 62 - 88
src/views/gateway_cfg.vue

@@ -3,7 +3,11 @@
         <Table :data="tableData1" :columns="tableColumns1" stripe></Table>
         <div style="margin: 10px;overflow: hidden">
             <div style="float: right;">
-                <Page :total="100" :current="1" @on-change="changePage"></Page>
+                <Page :total="pagerData.page.dataTotal" :current="pagerData.page.pageIndex"
+                      :page-size="pagerData.page.pageSize" show-total show-sizer
+                      @on-change="changePage"
+                      @on-page-size-change="changePageSize"
+                ></Page>
             </div>
         </div>
     </div>
@@ -14,19 +18,30 @@
         name: "gateway-cfg",
         data() {
             return {
+                pagerData: {
+                    page: {
+                        dataTotal: 0,
+                        pageIndex: 1,
+                        pageSize: 10
+                    }
+                },
                 tableData1: this.mockTableData1(),
                 tableColumns1: [
                     {
-                        title: 'Name',
-                        key: 'name'
+                        title: '登录名',
+                        key: 'loginName'
+                    },
+                    {
+                        title: '昵称',
+                        key: 'nickName'
                     },
                     {
-                        title: 'Status',
+                        title: '状态',
                         key: 'status',
                         render: (h, params) => {
                             const row = params.row;
-                            const color = row.status === 1 ? 'primary' : row.status === 2 ? 'success' : 'error';
-                            const text = row.status === 1 ? 'Working' : row.status === 2 ? 'Success' : 'Fail';
+                            const color = row.status === '1' ? 'success' : 'error';
+                            const text = row.status === '1' ? '启用' : '禁用';
 
                             return h('Tag', {
                                 props: {
@@ -37,71 +52,30 @@
                         }
                     },
                     {
-                        title: 'Portrayal',
-                        key: 'portrayal',
-                        render: (h, params) => {
-                            return h('Poptip', {
-                                props: {
-                                    trigger: 'hover',
-                                    title: params.row.portrayal.length + 'portrayals',
-                                    placement: 'bottom'
-                                }
-                            }, [
-                                h('Tag', params.row.portrayal.length),
-                                h('div', {
-                                    slot: 'content'
-                                }, [
-                                    h('ul', this.tableData1[params.index].portrayal.map(item => {
-                                        return h('li', {
-                                            style: {
-                                                textAlign: 'center',
-                                                padding: '4px'
-                                            }
-                                        }, item)
-                                    }))
-                                ])
-                            ]);
-                        }
-                    },
-                    {
-                        title: 'People',
-                        key: 'people',
+                        title: '创建时间',
+                        key: 'createTime',
                         render: (h, params) => {
-                            return h('Poptip', {
-                                props: {
-                                    trigger: 'hover',
-                                    title: params.row.people.length + 'customers',
-                                    placement: 'bottom'
-                                }
-                            }, [
-                                h('Tag', params.row.people.length),
-                                h('div', {
-                                    slot: 'content'
-                                }, [
-                                    h('ul', this.tableData1[params.index].people.map(item => {
-                                        return h('li', {
-                                            style: {
-                                                textAlign: 'center',
-                                                padding: '4px'
-                                            }
-                                        }, item.n + ':' + item.c + 'People')
-                                    }))
-                                ])
-                            ]);
+                            return h('div', this.formatDate(params.row.createTime));
                         }
                     },
                     {
-                        title: 'Sampling Time',
-                        key: 'time',
+                        title: '更新时间',
+                        key: 'updateTime',
                         render: (h, params) => {
-                            return h('div', 'Almost' + params.row.time + 'days');
+                            return h('div', this.formatDate(params.row.updateTime));
                         }
                     },
                     {
-                        title: 'Updated Time',
-                        key: 'update',
+                        title: '操作',
                         render: (h, params) => {
-                            return h('div', this.formatDate(this.tableData1[params.index].update));
+                            return h('div', [
+                                h('Button', {
+                                    type: 'primary',
+                                    shape: 'circle',
+                                    icon: 'ios-search',
+                                    style: {fontSize: 20}
+                                }, '编辑')
+                            ]);
                         }
                     }
                 ]
@@ -110,41 +84,41 @@
         methods: {
             mockTableData1() {
                 let data = [];
-                for (let i = 0; i < 10; i++) {
-                    data.push({
-                        name: 'Business' + Math.floor(Math.random() * 100 + 1),
-                        status: Math.floor(Math.random() * 3 + 1),
-                        portrayal: ['City', 'People', 'Cost', 'Life', 'Entertainment'],
-                        people: [
-                            {
-                                n: 'People' + Math.floor(Math.random() * 100 + 1),
-                                c: Math.floor(Math.random() * 1000000 + 100000)
-                            },
-                            {
-                                n: 'People' + Math.floor(Math.random() * 100 + 1),
-                                c: Math.floor(Math.random() * 1000000 + 100000)
-                            },
-                            {
-                                n: 'People' + Math.floor(Math.random() * 100 + 1),
-                                c: Math.floor(Math.random() * 1000000 + 100000)
-                            }
-                        ],
-                        time: Math.floor(Math.random() * 7 + 1),
-                        update: new Date()
-                    })
-                }
+                this.$http.get('/api/user/ajaxList', {
+                    params: {
+                        'pageIndex': pageIndex,
+                        'pageSize': pageSize
+                    }
+                }).then(function (result) {
+                    result = result.data.data;
+                    for (let i = 0; i < result.length; i++) {
+                        data.push(result[i]);
+                    }
+                    this.pagerData.page.dataTotal = result.data.total;
+                });
                 return data;
             },
             formatDate(date) {
+                date = new Date(date);
                 const y = date.getFullYear();
                 let m = date.getMonth() + 1;
                 m = m < 10 ? '0' + m : m;
                 let d = date.getDate();
                 d = d < 10 ? ('0' + d) : d;
-                return y + '-' + m + '-' + d;
+                let hours = date.getHours();
+                hours = hours < 10 ? '0' + hours : hours;
+                let min = date.getMinutes();
+                min = min < 10 ? '0' + min : min;
+                let sec = date.getSeconds();
+                sec = sec < 10 ? '0' + sec : sec;
+                return y + '-' + m + '-' + d + ' ' + hours + ':' + min + ':' + sec;
+            },
+            changePage(value) {
+                this.pagerData.page.pageIndex = value;
+                this.tableData1 = this.mockTableData1();
             },
-            changePage() {
-                // The simulated data is changed directly here, and the actual usage scenario should fetch the data from the server
+            changePageSize(value) {
+                this.pagerData.page.pageSize = value;
                 this.tableData1 = this.mockTableData1();
             }
         }