Browse Source

add datePicker

EthnaYeh 7 years ago
parent
commit
50000b47e2
2 changed files with 52 additions and 3 deletions
  1. 51 2
      src/views/gambleMember/detail/index.vue
  2. 1 1
      src/views/gambleMember/index.vue

+ 51 - 2
src/views/gambleMember/detail/index.vue

@@ -1,5 +1,20 @@
1 1
 <template>
2 2
   <div class="app-container">
3
+    <div class="app-container">
4
+        <div class="block">
5
+            <span class="demonstration">時間篩選</span>
6
+            <el-date-picker
7
+            v-model="date"
8
+            type="datetimerange"
9
+            :picker-options="pickerOptions"
10
+            range-separator="至"
11
+            start-placeholder="開始日期"
12
+            end-placeholder="结束日期"
13
+            align="right">
14
+            </el-date-picker>
15
+            <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">搜尋</el-button>
16
+        </div>
17
+    </div>
3 18
     <el-table :data="list" v-loading.body="listLoading" element-loading-text="Loading" border fit highlight-current-row>
4 19
       <el-table-column label="場" align="center">
5 20
         <template slot-scope="scope">
@@ -29,12 +44,44 @@
29 44
 
30 45
 import { mapActions } from 'vuex'
31 46
 import { fetchHistory } from '@/api/gambleMember'
47
+import waves from '@/directive/waves' // 水波纹指令
32 48
 
33 49
 export default {
50
+  directives: {
51
+    waves
52
+  },
34 53
   data() {
35 54
     return {
36 55
       list: null,
37
-      listLoading: true
56
+      listLoading: true,
57
+      pickerOptions: {
58
+          shortcuts: [{
59
+            text: '最近一周',
60
+            onClick(picker) {
61
+              const end = new Date();
62
+              const start = new Date();
63
+              start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
64
+              picker.$emit('pick', [start, end]);
65
+            }
66
+          }, {
67
+            text: '最近一個月',
68
+            onClick(picker) {
69
+              const end = new Date();
70
+              const start = new Date();
71
+              start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
72
+              picker.$emit('pick', [start, end]);
73
+            }
74
+          }, {
75
+            text: '最近三個月',
76
+            onClick(picker) {
77
+              const end = new Date();
78
+              const start = new Date();
79
+              start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
80
+              picker.$emit('pick', [start, end]);
81
+            }
82
+          }]
83
+        },
84
+      date: ''
38 85
     }
39 86
   },
40 87
   created() {
@@ -49,9 +96,11 @@ export default {
49 96
       this.listLoading = true
50 97
       fetchHistory(this.member).then(response => {
51 98
         this.list = response.data
52
-        console.log(response.data)
53 99
         this.listLoading = false
54 100
       })
101
+    },
102
+    handleFilter() {
103
+      console.log(this.date)
55 104
     }
56 105
   },
57 106
   destroyed() {

+ 1 - 1
src/views/gambleMember/index.vue

@@ -13,7 +13,7 @@
13 13
         </el-option>
14 14
       </el-select>
15 15
       <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">搜尋</el-button>
16
-        <el-button class="filter-item" @click="handleCreate" type="primary" icon="el-icon-edit">創建</el-button>
16
+      <el-button class="filter-item" @click="handleCreate" type="primary" icon="el-icon-edit">創建</el-button>
17 17
     </div>
18 18
     <el-table :data="list" v-loading.body="listLoading" element-loading-text="Loading" border fit highlight-current-row
19 19
       style="width: 100%">