fix: add robot score
All checks were successful
continuous-integration/drone/tag Build is passing

This commit is contained in:
zzc
2026-07-04 20:29:49 +08:00
parent f2389e73aa
commit c60ea798fd
2 changed files with 34 additions and 4 deletions

View File

@@ -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')