|
|
@@ -6,42 +6,21 @@
|
|
|
</page-title>
|
|
|
<div class="edit-view__content-wrapper">
|
|
|
<div class="edit-view__content-section">
|
|
|
- <el-form
|
|
|
- :model="formData"
|
|
|
- :rules="rules"
|
|
|
- ref="form"
|
|
|
- label-width="120px"
|
|
|
- label-position="right"
|
|
|
- size="small"
|
|
|
- style="max-width: 500px;"
|
|
|
- >
|
|
|
+ <el-form :model="formData" :rules="rules" ref="form" label-width="120px" label-position="right" size="small"
|
|
|
+ style="max-width: 500px;">
|
|
|
<el-form-item prop="name" label="任务名称">
|
|
|
<el-input v-model="formData.name"> </el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item prop="detail" label="任务详情" style="width: calc(100vw - 450px)">
|
|
|
- <el-input
|
|
|
- v-model="formData.detail"
|
|
|
- type="textarea"
|
|
|
- :autosize="{ minRows: 3, maxRows: 20 }"
|
|
|
- placeholder="请输入任务详情"
|
|
|
- >
|
|
|
+ <el-input v-model="formData.detail" type="textarea" :autosize="{ minRows: 3, maxRows: 20 }"
|
|
|
+ placeholder="请输入任务详情">
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item prop="targetType" label="任务目标">
|
|
|
- <el-select
|
|
|
- v-model="formData.targetType"
|
|
|
- clearable
|
|
|
- filterable
|
|
|
- placeholder="请选择"
|
|
|
- @change="changeTargetType"
|
|
|
- :disabled="!canEdit"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in targetTypeOptions"
|
|
|
- :key="item.value"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value"
|
|
|
- >
|
|
|
+ <el-select v-model="formData.targetType" clearable filterable placeholder="请选择"
|
|
|
+ @change="changeTargetType" :disabled="!canEdit">
|
|
|
+ <el-option v-for="item in targetTypeOptions" :key="item.value" :label="item.label"
|
|
|
+ :value="item.value">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
@@ -63,109 +42,36 @@
|
|
|
</el-input-number>
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
-
|
|
|
<template v-if="formData.targetType && formData.targetType === 'COLLECT_PROP'">
|
|
|
- <el-form-item
|
|
|
- prop="metaTargetConfig"
|
|
|
- label="道具配置"
|
|
|
- style="width: calc(100vw - 450px)"
|
|
|
- size="mini"
|
|
|
- >
|
|
|
- <el-table :data="formData.metaTargetConfig">
|
|
|
- <el-table-column prop="metaPropId" label="道具" align="center">
|
|
|
- <template v-slot="{ row }">
|
|
|
- <el-select
|
|
|
- v-model="row.metaPropId"
|
|
|
- clearable
|
|
|
- filterable
|
|
|
- placeholder="请选择"
|
|
|
- :disabled="!canEdit"
|
|
|
- style="width: 150px"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in metaProps"
|
|
|
- :key="item.id"
|
|
|
- :label="item.name"
|
|
|
- :value="item.id"
|
|
|
- >
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="num" label="数量" align="center">
|
|
|
- <template v-slot="{ row }">
|
|
|
- <el-input-number v-model="row.num" :min="0" :disabled="!canEdit">
|
|
|
- </el-input-number>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column width="100" label="操作" align="center">
|
|
|
- <template v-slot="{ row, $index }">
|
|
|
- <el-button
|
|
|
- type="danger"
|
|
|
- plain
|
|
|
- size="mini"
|
|
|
- @click="delTargetConfig($index)"
|
|
|
- :disabled="!canEdit"
|
|
|
- >
|
|
|
- 删除
|
|
|
- </el-button>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item>
|
|
|
- <el-button size="mini" @click="addTargetConfig" :disabled="!canEdit">
|
|
|
- 添加道具配置
|
|
|
- </el-button>
|
|
|
+ <el-form-item prop="targetConfig" label="目标配置">
|
|
|
+ <el-input v-model="formData.targetConfig" placeholder="请输入目标配置" :disabled="!canEdit">
|
|
|
+ </el-input>
|
|
|
+ <div class="tip">输入规则:道具id + , + 数量</div>
|
|
|
+ <div class="tip">模板:1234,5</div>
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
<el-form-item prop="awardType" label="奖励类型">
|
|
|
- <el-select
|
|
|
- v-model="formData.awardType"
|
|
|
- clearable
|
|
|
- filterable
|
|
|
- placeholder="请选择"
|
|
|
- @change="changeAwardType"
|
|
|
- :disabled="!canEdit"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in awardTypeOptions"
|
|
|
- :key="item.value"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value"
|
|
|
- >
|
|
|
+ <el-select v-model="formData.awardType" clearable filterable placeholder="请选择"
|
|
|
+ @change="changeAwardType" :disabled="!canEdit">
|
|
|
+ <el-option v-for="item in awardTypeOptions" :key="item.value" :label="item.label"
|
|
|
+ :value="item.value">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item
|
|
|
- prop="awardConfig"
|
|
|
- label="道具"
|
|
|
- v-if="formData.awardType && formData.awardType === 'META_PROP'"
|
|
|
- >
|
|
|
+ <el-form-item prop="awardConfig" label="道具"
|
|
|
+ v-if="formData.awardType && formData.awardType === 'META_PROP'">
|
|
|
<el-select v-model="formData.awardConfig" placeholder="请选择" filterable :disabled="!canEdit">
|
|
|
<el-option v-for="item in metaProps" :key="item.id" :label="item.name" :value="item.id">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item
|
|
|
- prop="awardConfig"
|
|
|
- label="奖励图片"
|
|
|
- v-if="formData.awardType && formData.awardType === 'NFT'"
|
|
|
- >
|
|
|
+ <el-form-item prop="awardConfig" label="奖励图片" v-if="formData.awardType && formData.awardType === 'NFT'">
|
|
|
<single-upload v-model="formData.awardConfig" :disabled="!canEdit"> </single-upload>
|
|
|
</el-form-item>
|
|
|
- <el-form-item
|
|
|
- prop="awardConfig"
|
|
|
- label="奖励金币数量"
|
|
|
- v-if="formData.awardType && formData.awardType === 'GOLD'"
|
|
|
- >
|
|
|
- <el-input-number
|
|
|
- type="awardConfig"
|
|
|
- v-model="formData.awardConfig"
|
|
|
- :step="1"
|
|
|
- :min="1"
|
|
|
- :disabled="!canEdit"
|
|
|
- >
|
|
|
+ <el-form-item prop="awardConfig" label="奖励金币数量"
|
|
|
+ v-if="formData.awardType && formData.awardType === 'GOLD'">
|
|
|
+ <el-input-number type="awardConfig" v-model="formData.awardConfig" :step="1" :min="1"
|
|
|
+ :disabled="!canEdit">
|
|
|
</el-input-number>
|
|
|
<div class="tip">输入规则:正整数,最小为1</div>
|
|
|
</el-form-item>
|
|
|
@@ -210,9 +116,7 @@ export default {
|
|
|
metaProps: [],
|
|
|
reg,
|
|
|
saving: false,
|
|
|
- formData: {
|
|
|
- metaTargetConfig: []
|
|
|
- },
|
|
|
+ formData: {},
|
|
|
rules: {
|
|
|
name: [
|
|
|
{
|
|
|
@@ -272,15 +176,6 @@ export default {
|
|
|
};
|
|
|
},
|
|
|
methods: {
|
|
|
- addTargetConfig() {
|
|
|
- this.formData.metaTargetConfig.push({
|
|
|
- metaPropId: '',
|
|
|
- num: ''
|
|
|
- });
|
|
|
- },
|
|
|
- delTargetConfig(i) {
|
|
|
- this.formData.metaTargetConfig.splice(i, 1);
|
|
|
- },
|
|
|
changeAwardType() {
|
|
|
if (this.formData.awardConfig) {
|
|
|
this.$delete(this.formData, 'awardConfig');
|