This commit is contained in:
@@ -4,7 +4,14 @@
|
||||
<el-form-item label="支持项">
|
||||
<span style="font-weight: bold; color: #409eff">{{ targetName }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="投票用户" prop="userId">
|
||||
<el-form-item label="支持方式" prop="voteMode">
|
||||
<el-radio-group v-model="form.voteMode">
|
||||
<el-radio label="user">投票用户</el-radio>
|
||||
<el-radio label="count">支持个数</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item v-if="form.voteMode === 'user'" label="投票用户" prop="userId">
|
||||
<el-select v-model="form.userId" v-loadmore="loadMoreRobots" filterable placeholder="请选择投票的机器人" style="width: 100%">
|
||||
<el-option v-for="item in robotList" :key="item.id" :label="item.nickname || item.id" :value="item.id">
|
||||
<div style="display: flex; align-items: center">
|
||||
@@ -18,6 +25,10 @@
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item v-if="form.voteMode === 'count'" label="支持个数" prop="count">
|
||||
<el-input-number v-model="form.count" controls-position="right" :max="100000" :min="1" :step="1" style="width: 100%" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<div slot="footer" class="dialog-footer">
|
||||
@@ -60,10 +71,12 @@
|
||||
form: {
|
||||
pkId: '',
|
||||
itemId: '',
|
||||
voteMode: 'user',
|
||||
userId: '',
|
||||
count: 1,
|
||||
},
|
||||
rules: {
|
||||
userId: [{ required: true, trigger: 'change', message: '请选择投票的机器人' }],
|
||||
voteMode: [{ required: true, trigger: 'change', message: '请选择支持方式' }],
|
||||
},
|
||||
|
||||
// 机器人下拉列表状态
|
||||
@@ -117,9 +130,26 @@
|
||||
save() {
|
||||
this.$refs['form'].validate(async (valid) => {
|
||||
if (valid) {
|
||||
if (this.form.voteMode === 'user' && !this.form.userId) {
|
||||
this.$baseMessage('请选择投票的机器人', 'error')
|
||||
return false
|
||||
}
|
||||
if (this.form.voteMode === 'count' && (!this.form.count || this.form.count < 1)) {
|
||||
this.$baseMessage('请输入正确的支持个数', 'error')
|
||||
return false
|
||||
}
|
||||
this.saving = true
|
||||
try {
|
||||
const { msg } = await vote(this.form)
|
||||
const params = {
|
||||
pkId: this.form.pkId,
|
||||
itemId: this.form.itemId,
|
||||
}
|
||||
if (this.form.voteMode === 'user') {
|
||||
params.userId = this.form.userId
|
||||
} else {
|
||||
params.count = this.form.count
|
||||
}
|
||||
const { msg } = await vote(params)
|
||||
this.$baseMessage(msg || '投票成功', 'success')
|
||||
this.close()
|
||||
this.$emit('fetch-data')
|
||||
|
||||
Reference in New Issue
Block a user