|
@@ -1,5 +1,8 @@
|
1
|
1
|
<template>
|
2
|
|
- <div class="app-container">
|
|
2
|
+<div class="app-container calendar-list-container">
|
|
3
|
+ <div class="app-container">
|
|
4
|
+ <el-button class="filter-item" @click="handleCreate" type="primary" icon="el-icon-edit">創建</el-button>
|
|
5
|
+ </div>
|
3
|
6
|
<el-table :data="list" v-loading.body="listLoading" element-loading-text="Loading" border fit highlight-current-row>
|
4
|
7
|
<el-table-column align="center" label='ID' >
|
5
|
8
|
<template slot-scope="scope">
|
|
@@ -31,16 +34,18 @@
|
31
|
34
|
|
32
|
35
|
<el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible">
|
33
|
36
|
<el-form :rules="rules" ref="dataForm" :model="temp" label-position="left" label-width="100px" style='width: 400px; margin-left:50px;'>
|
34
|
|
- <el-form-item label="ID" prop="id">
|
|
37
|
+ <el-form-item v-if="dialogStatus=='deposit'" label="ID" prop="id">
|
35
|
38
|
<el-input v-model="temp.id" :disabled="true"></el-input>
|
36
|
39
|
</el-form-item>
|
37
|
40
|
<el-form-item label="名稱" prop="name">
|
38
|
|
- <el-input v-model="temp.name" :disabled="true"></el-input>
|
|
41
|
+ <el-input v-if="dialogStatus=='deposit'" v-model="temp.name" :disabled="true"></el-input>
|
|
42
|
+ <el-input v-if="dialogStatus=='create'" v-model="temp.name"></el-input>
|
39
|
43
|
</el-form-item>
|
40
|
44
|
<el-form-item label="點數" prop="chips">
|
41
|
|
- <el-input v-model="temp.chips" :disabled="true"></el-input>
|
|
45
|
+ <el-input v-if="dialogStatus=='deposit'" v-model="temp.chips" :disabled="true"></el-input>
|
|
46
|
+ <el-input v-if="dialogStatus=='create'" v-model="temp.chips"></el-input>
|
42
|
47
|
</el-form-item>
|
43
|
|
- <el-form-item label="加值點數" prop="depositChips">
|
|
48
|
+ <el-form-item v-if="dialogStatus=='deposit'" label="加值點數" prop="depositChips">
|
44
|
49
|
<el-input placeholder="請輸入加值金額" v-model="temp.depositChips">
|
45
|
50
|
</el-input>
|
46
|
51
|
</el-form-item>
|
|
@@ -55,7 +60,7 @@
|
55
|
60
|
</template>
|
56
|
61
|
|
57
|
62
|
<script>
|
58
|
|
-import { fetchList, updateChips } from '@/api/gambleMember'
|
|
63
|
+import { fetchList, updateChips, createGambleMember } from '@/api/gambleMember'
|
59
|
64
|
|
60
|
65
|
export default {
|
61
|
66
|
data() {
|
|
@@ -74,11 +79,9 @@ export default {
|
74
|
79
|
temp: {
|
75
|
80
|
id: undefined,
|
76
|
81
|
importance: 1,
|
77
|
|
- remark: '',
|
78
|
|
- timestamp: new Date(),
|
79
|
|
- title: '',
|
80
|
|
- type: '',
|
81
|
|
- status: 'published'
|
|
82
|
+ name: '',
|
|
83
|
+ chips: '',
|
|
84
|
+ depositChips: '',
|
82
|
85
|
},
|
83
|
86
|
dialogFormVisible: false,
|
84
|
87
|
dialogStatus: '',
|
|
@@ -87,7 +90,9 @@ export default {
|
87
|
90
|
create: '新增'
|
88
|
91
|
},
|
89
|
92
|
rules: {
|
90
|
|
- depositChips: [{pattern: /^\+?[1-9][0-9]*$/, required: true, message: '只能儲值整數', trigger: 'change' }],
|
|
93
|
+ depositChips: [{ pattern: /^\+?[1-9][0-9]*$/, required: true, message: '請輸入整數', trigger: 'change' }],
|
|
94
|
+ chips: [{ pattern: /^\+?[1-9][0-9]*$/, required: true, message: '請輸入整數', trigger: 'change' }],
|
|
95
|
+ name: [{ type: 'string', required: true, message: '必填', trigger: 'change' }]
|
91
|
96
|
}
|
92
|
97
|
}
|
93
|
98
|
},
|
|
@@ -136,6 +141,39 @@ export default {
|
136
|
141
|
}
|
137
|
142
|
})
|
138
|
143
|
},
|
|
144
|
+ resetTemp() {
|
|
145
|
+ this.temp = {
|
|
146
|
+ id: undefined,
|
|
147
|
+ name: '',
|
|
148
|
+ chips: '',
|
|
149
|
+ depositChips: '',
|
|
150
|
+ }
|
|
151
|
+ },
|
|
152
|
+ handleCreate() {
|
|
153
|
+ this.resetTemp()
|
|
154
|
+ this.dialogStatus = 'create'
|
|
155
|
+ this.dialogFormVisible = true
|
|
156
|
+ this.$nextTick(() => {
|
|
157
|
+ this.$refs['dataForm'].clearValidate()
|
|
158
|
+ })
|
|
159
|
+ },
|
|
160
|
+ createData() {
|
|
161
|
+ this.$refs['dataForm'].validate((valid) => {
|
|
162
|
+ if (valid) {
|
|
163
|
+ createGambleMember(this.temp).then(() => {
|
|
164
|
+ this.list.unshift(this.temp)
|
|
165
|
+ this.dialogFormVisible = false
|
|
166
|
+ this.$notify({
|
|
167
|
+ title: '成功',
|
|
168
|
+ message: '創建成功',
|
|
169
|
+ type: 'success',
|
|
170
|
+ duration: 2000
|
|
171
|
+ })
|
|
172
|
+ // this.getList()
|
|
173
|
+ })
|
|
174
|
+ }
|
|
175
|
+ })
|
|
176
|
+ },
|
139
|
177
|
handleSizeChange(val) {
|
140
|
178
|
this.listQuery.limit = val
|
141
|
179
|
this.getList()
|