This commit is contained in:
@@ -26,7 +26,7 @@ export function getParticipantList(data) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* pk 投票
|
* pk 投票
|
||||||
* @param { pkId: string, itemId: string, userId: string } data
|
* @param { pkId: string, itemId: string, userId?: string, count?: number } data
|
||||||
*/
|
*/
|
||||||
export function vote(data) {
|
export function vote(data) {
|
||||||
return request({
|
return request({
|
||||||
|
|||||||
@@ -4,7 +4,14 @@
|
|||||||
<el-form-item label="支持项">
|
<el-form-item label="支持项">
|
||||||
<span style="font-weight: bold; color: #409eff">{{ targetName }}</span>
|
<span style="font-weight: bold; color: #409eff">{{ targetName }}</span>
|
||||||
</el-form-item>
|
</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-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">
|
<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">
|
<div style="display: flex; align-items: center">
|
||||||
@@ -18,6 +25,10 @@
|
|||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</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>
|
</el-form>
|
||||||
|
|
||||||
<div slot="footer" class="dialog-footer">
|
<div slot="footer" class="dialog-footer">
|
||||||
@@ -60,10 +71,12 @@
|
|||||||
form: {
|
form: {
|
||||||
pkId: '',
|
pkId: '',
|
||||||
itemId: '',
|
itemId: '',
|
||||||
|
voteMode: 'user',
|
||||||
userId: '',
|
userId: '',
|
||||||
|
count: 1,
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
userId: [{ required: true, trigger: 'change', message: '请选择投票的机器人' }],
|
voteMode: [{ required: true, trigger: 'change', message: '请选择支持方式' }],
|
||||||
},
|
},
|
||||||
|
|
||||||
// 机器人下拉列表状态
|
// 机器人下拉列表状态
|
||||||
@@ -117,9 +130,26 @@
|
|||||||
save() {
|
save() {
|
||||||
this.$refs['form'].validate(async (valid) => {
|
this.$refs['form'].validate(async (valid) => {
|
||||||
if (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
|
this.saving = true
|
||||||
try {
|
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.$baseMessage(msg || '投票成功', 'success')
|
||||||
this.close()
|
this.close()
|
||||||
this.$emit('fetch-data')
|
this.$emit('fetch-data')
|
||||||
|
|||||||
Reference in New Issue
Block a user