|
|
@@ -1,9 +1,21 @@
|
|
1
|
1
|
<template>
|
|
2
|
2
|
<div class="app-container calendar-list-container">
|
|
3
|
3
|
<div class="app-container">
|
|
|
4
|
+ <el-input @keyup.enter.native="handleFilter" style="width: 200px;" class="filter-item" placeholder="名稱" v-model="listQuery.name">
|
|
|
5
|
+ </el-input>
|
|
|
6
|
+ <el-select clearable @change='handleFilter' style="width: 90px" class="filter-item" v-model="listQuery.chipsSort" placeholder="點數">
|
|
|
7
|
+ <el-option v-for="item in chipsSortOptions" :key="item.label" :label="item.label" :value="item.key">
|
|
|
8
|
+ </el-option>
|
|
|
9
|
+ </el-select>
|
|
|
10
|
+ <el-select clearable @change='handleFilter' style="width: 120px" class="filter-item" v-model="listQuery.updatedSort" placeholder="更新時間">
|
|
|
11
|
+ <el-option v-for="item in updatedSortOptions" :key="item.label" :label="item.label" :value="item.key">
|
|
|
12
|
+ </el-option>
|
|
|
13
|
+ </el-select>
|
|
|
14
|
+ <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">搜尋</el-button>
|
|
4
|
15
|
<el-button class="filter-item" @click="handleCreate" type="primary" icon="el-icon-edit">創建</el-button>
|
|
5
|
16
|
</div>
|
|
6
|
|
- <el-table :data="list" v-loading.body="listLoading" element-loading-text="Loading" border fit highlight-current-row>
|
|
|
17
|
+ <el-table :data="list" v-loading.body="listLoading" element-loading-text="Loading" border fit highlight-current-row
|
|
|
18
|
+ style="width: 100%">
|
|
7
|
19
|
<el-table-column align="center" label='ID' >
|
|
8
|
20
|
<template slot-scope="scope">
|
|
9
|
21
|
{{scope.row.id}}
|
|
|
@@ -61,8 +73,13 @@
|
|
61
|
73
|
|
|
62
|
74
|
<script>
|
|
63
|
75
|
import { fetchList, updateChips, createGambleMember } from '@/api/gambleMember'
|
|
|
76
|
+import waves from '@/directive/waves' // 水波纹指令
|
|
64
|
77
|
|
|
65
|
78
|
export default {
|
|
|
79
|
+ name: 'gambleMemberTable',
|
|
|
80
|
+ directives: {
|
|
|
81
|
+ waves
|
|
|
82
|
+ },
|
|
66
|
83
|
data() {
|
|
67
|
84
|
return {
|
|
68
|
85
|
list: null,
|
|
|
@@ -81,7 +98,7 @@ export default {
|
|
81
|
98
|
importance: 1,
|
|
82
|
99
|
name: '',
|
|
83
|
100
|
chips: '',
|
|
84
|
|
- depositChips: '',
|
|
|
101
|
+ depositChips: ''
|
|
85
|
102
|
},
|
|
86
|
103
|
dialogFormVisible: false,
|
|
87
|
104
|
dialogStatus: '',
|
|
|
@@ -89,10 +106,12 @@ export default {
|
|
89
|
106
|
deposit: '儲值',
|
|
90
|
107
|
create: '新增'
|
|
91
|
108
|
},
|
|
|
109
|
+ chipsSortOptions: [{ label: '多到少', key: 'DESC' }, { label: '少到多', key: 'ASC' }],
|
|
|
110
|
+ updatedSortOptions: [{ label: '新到舊', key: 'DESC' }, { label: '舊到新', key: 'ASC' }],
|
|
92
|
111
|
rules: {
|
|
93
|
112
|
depositChips: [{ pattern: /^\+?[1-9][0-9]*$/, required: true, message: '請輸入整數', trigger: 'change' }],
|
|
94
|
113
|
chips: [{ pattern: /^\+?[1-9][0-9]*$/, required: true, message: '請輸入整數', trigger: 'change' }],
|
|
95
|
|
- name: [{ type: 'string', required: true, message: '必填', trigger: 'change' }]
|
|
|
114
|
+ name: [{ type: 'string', required: true, message: '必填', trigger: 'change' }]
|
|
96
|
115
|
}
|
|
97
|
116
|
}
|
|
98
|
117
|
},
|
|
|
@@ -146,7 +165,7 @@ export default {
|
|
146
|
165
|
id: undefined,
|
|
147
|
166
|
name: '',
|
|
148
|
167
|
chips: '',
|
|
149
|
|
- depositChips: '',
|
|
|
168
|
+ depositChips: ''
|
|
150
|
169
|
}
|
|
151
|
170
|
},
|
|
152
|
171
|
handleCreate() {
|
|
|
@@ -169,11 +188,15 @@ export default {
|
|
169
|
188
|
type: 'success',
|
|
170
|
189
|
duration: 2000
|
|
171
|
190
|
})
|
|
172
|
|
- // this.getList()
|
|
173
|
|
- })
|
|
|
191
|
+ // this.getList()
|
|
|
192
|
+ })
|
|
174
|
193
|
}
|
|
175
|
194
|
})
|
|
176
|
195
|
},
|
|
|
196
|
+ handleFilter() {
|
|
|
197
|
+ this.listQuery.page = 1
|
|
|
198
|
+ this.getList()
|
|
|
199
|
+ },
|
|
177
|
200
|
handleSizeChange(val) {
|
|
178
|
201
|
this.listQuery.limit = val
|
|
179
|
202
|
this.getList()
|