Skip to content

Commit eeb511e

Browse files
author
master-coder-ll
committed
适配后端admin版本大于v3.1.7
1 parent 8194f15 commit eeb511e

File tree

2 files changed

+92
-11
lines changed

2 files changed

+92
-11
lines changed

src/api/inviteCode.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,11 @@ export function del(id) {
2626
* 更新v2ray账号
2727
* @param data
2828
*/
29-
export function generate(count) {
29+
export function generate(data) {
3030
return request({
3131
url: `invite-code`,
32-
method: 'post'
32+
method: 'post',
33+
data
3334
})
3435
}
3536

src/views/inviteCode/list.vue

Lines changed: 89 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,43 @@
11
<template>
22
<div class="app-container">
3-
<el-row><el-button @click="generate" type="primary" plain>->生成邀请码<- </el-button></el-row>
3+
<el-row><el-button @click="dialogVisible = true" type="primary" plain>->生成邀请码 </el-button></el-row>
44
<el-table v-loading="listLoading" :data="list" border fit highlight-current-row style="width: 100%">
55
<el-table-column align="center" label="邀请码">
66
<template slot-scope="scope">
77
<span>{{ scope.row.inviteCode }}</span>
88
</template>
99
</el-table-column>
1010

11-
<!-- <el-table-column width="150px" align="center" label="注册用户ID">
11+
<el-table-column align="center" label="使用用户">
1212
<template slot-scope="scope">
13-
<span>{{ scope.row.regUserId }}</span>
13+
<span>{{ scope.row.userName }}</span>
1414
</template>
15-
</el-table-column> -->
16-
15+
</el-table-column>
16+
<el-table-column align="center" label="有效时间">
17+
<template slot-scope="scope">
18+
<div v-if="scope.row.effectiveTime !=null">
19+
<font v-if="scope.row.effectiveTime<new Date().getTime()" color="red" >
20+
{{ scope.row.effectiveTime | parseTime('{y}-{m}-{d} {h}:{i}:{s}') }}
21+
</font>
22+
<font v-else> {{ scope.row.effectiveTime | parseTime('{y}-{m}-{d} {h}:{i}:{s}') }}</font>
23+
</div>
24+
</template>
25+
</el-table-column>
26+
1727
<el-table-column align="center" label="状态">
1828
<template slot-scope="{row}">
1929
<el-tag :type="row.status | statusFilter">
2030
{{ row.status |statusFilter2 }}
2131
</el-tag>
22-
2332
</template>
2433
</el-table-column>
34+
<el-table-column align="center" label="操作">
35+
<template slot-scope="{row}">
36+
37+
<el-button @click="handleDelete(row.id)">删除</el-button>
2538

39+
</template>
40+
</el-table-column>
2641
<!-- <el-table-column align="center" label="Actions" width="241">
2742
<template slot-scope="scope">
2843
<el-button type="danger" size="small" @click="handleDelete(scope.row.id)">Delete</el-button>
@@ -31,13 +46,62 @@
3146
</el-table>
3247

3348
<pagination v-show="total>0" :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.pageSize" @pagination="getList" />
49+
50+
<el-dialog
51+
title="生成邀请码"
52+
:visible.sync="dialogVisible" >
53+
<!-- :before-close="handleClose"-->
54+
55+
56+
<el-form ref="postForm" :model="postForm" :rules="rules" class="form-container" label-width="100px">
57+
58+
<el-form-item label="数量" prop="quantity">
59+
<el-input-number :min="1" :max="100" label="数量" v-model="postForm.quantity" />
60+
</el-form-item>
61+
62+
<el-form-item label="有效时间" prop="effectiveTime">
63+
<el-date-picker
64+
v-model="postForm.effectiveTime"
65+
type="date"
66+
value-format="timestamp"
67+
placeholder="选择日期">
68+
</el-date-picker>
69+
</el-form-item>
70+
</el-form>
71+
72+
<span slot="footer" class="dialog-footer">
73+
<el-button @click="dialogVisible = false">取 消</el-button>
74+
<el-button type="primary" @click="handlerGenerate()">确 定</el-button>
75+
</span>
76+
</el-dialog>
3477
</div>
3578
</template>
3679

3780
<script>
3881
import { list, generate, del } from '@/api/inviteCode'
3982
import Pagination from '@/components/Pagination' // Secondary package based on el-pagination
83+
import { date } from 'jszip/lib/defaults'
4084
85+
var checkDate = (rule, value, callback) => {
86+
if(value){
87+
console.log("value:"+ value)
88+
if(value<new Date().getTime()){
89+
callback(new Error("请选择大于当前时间的的日期"))
90+
return
91+
}
92+
callback()
93+
}else{
94+
callback(new Error("请选择日期"))
95+
}
96+
};
97+
const defaultRules = {
98+
quantity: { required: true, trigger: 'blur' },
99+
effectiveTime: { validator:checkDate, trigger: 'blur' },
100+
}
101+
const defaultForm = {
102+
quantity: 1,
103+
effectiveTime: null
104+
}
41105
export default {
42106
name: 'inviteCodeList',
43107
components: { Pagination },
@@ -58,28 +122,44 @@ export default {
58122
}
59123
},
60124
data() {
125+
61126
return {
127+
postForm: Object.assign({}, defaultForm),
128+
rules: Object.assign({}, defaultRules),
129+
dialogVisible:false,
62130
list: null,
63131
total: 0,
64132
listLoading: true,
65133
listQuery: {
66134
page: 1,
67135
pageSize: 10
68136
}
137+
69138
}
70139
},
71140
created() {
72141
this.getList()
73142
},
74143
methods: {
75-
generate() {
76-
generate().then(() => {
144+
handlerGenerate() {
145+
this.$refs.postForm.validate(valid => {
146+
147+
if (valid) {
148+
149+
generate(this.postForm).then(() => {
77150
this.$message({
78151
type: 'success',
79152
message: '生成成功!'
80153
})
81-
this.getList()
154+
this.dialogVisible=false;
155+
this.getList();
82156
} )
157+
158+
}else {
159+
return false;
160+
}
161+
})
162+
83163
84164
},
85165
handleDelete(id) {

0 commit comments

Comments
 (0)