|
|
@@ -16,13 +16,36 @@
|
|
|
size="small"
|
|
|
style="max-width: 500px"
|
|
|
>
|
|
|
- <el-form-item prop="collectionId" label="藏品/盲盒ID">
|
|
|
+ <el-form-item prop="type" label="类型">
|
|
|
+ <el-select v-model="formData.category" clearable filterable placeholder="请选择">
|
|
|
+ <el-option
|
|
|
+ v-for="item in typeOptions"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item prop="collectionId" label="藏品/盲盒ID" v-if="formData.category === 'COLLECTION'">
|
|
|
<collection-search v-model="formData.collectionId" @select="onSelect"></collection-search>
|
|
|
</el-form-item>
|
|
|
+ <el-form-item prop="collectionId" label="新闻ID" v-else>
|
|
|
+ <el-select
|
|
|
+ v-model="formData.collectionId"
|
|
|
+ clearable
|
|
|
+ filterable
|
|
|
+ placeholder="请选择"
|
|
|
+ @change="onSelectNews"
|
|
|
+ >
|
|
|
+ <el-option v-for="item in newsList" :key="item.value" :label="item.title" :value="item.id">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
<el-form-item prop="sort" label="排序">
|
|
|
<el-input-number v-model="formData.sort" :min="0"></el-input-number>
|
|
|
</el-form-item>
|
|
|
- <el-form-item prop="type" label="类型">
|
|
|
+ <!-- <el-form-item prop="type" label="类型">
|
|
|
<el-select v-model="formData.type" clearable filterable placeholder="请选择">
|
|
|
<el-option
|
|
|
v-for="item in typeOptions"
|
|
|
@@ -32,7 +55,7 @@
|
|
|
>
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
- </el-form-item>
|
|
|
+ </el-form-item> -->
|
|
|
<el-form-item label="图片" prop="pic">
|
|
|
<single-upload v-model="formData.pic"></single-upload>
|
|
|
<div class="tip">推荐分辨率:列表1000x1000,轮播765x420</div>
|
|
|
@@ -64,11 +87,22 @@ export default {
|
|
|
this.$message.error(e.error);
|
|
|
});
|
|
|
}
|
|
|
+ this.$http
|
|
|
+ .post('news/all', { size: 100, sort: 'sort,desc', query: { del: false } }, { body: 'json' })
|
|
|
+ .then(res => {
|
|
|
+ this.newsList = res.content;
|
|
|
+ })
|
|
|
+ .catch(e => {
|
|
|
+ console.log(e);
|
|
|
+ this.$message.error(e.error);
|
|
|
+ });
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
saving: false,
|
|
|
- formData: {},
|
|
|
+ formData: {
|
|
|
+ type: 'LIST'
|
|
|
+ },
|
|
|
rules: {
|
|
|
collectionId: [
|
|
|
{
|
|
|
@@ -101,9 +135,10 @@ export default {
|
|
|
pic: [{ required: true, message: '请上传图片' }]
|
|
|
},
|
|
|
typeOptions: [
|
|
|
- { label: '列表', value: 'LIST' },
|
|
|
- { label: '轮播', value: 'BANNER' }
|
|
|
- ]
|
|
|
+ { label: '藏品/盲盒', value: 'COLLECTION' },
|
|
|
+ { label: '新闻', value: 'NEWS' }
|
|
|
+ ],
|
|
|
+ newsList: []
|
|
|
};
|
|
|
},
|
|
|
methods: {
|
|
|
@@ -153,14 +188,23 @@ export default {
|
|
|
console.log(e);
|
|
|
if (e) {
|
|
|
this.$set(this.formData, 'name', e.name);
|
|
|
- if (e.pic && e.pic[0]){
|
|
|
+ if (e.pic && e.pic[0]) {
|
|
|
if (/\.mp4$/.test(e.pic[0].url)) {
|
|
|
this.$set(this.formData, 'pic', e.pic[0].thumb);
|
|
|
} else {
|
|
|
this.$set(this.formData, 'pic', e.pic[0].url);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+ }
|
|
|
+ },
|
|
|
+ onSelectNews(val) {
|
|
|
+ let e = this.newsList.find(i => i.id === val);
|
|
|
+ console.log(e);
|
|
|
+ if (e) {
|
|
|
+ this.$set(this.formData, 'name', e.title);
|
|
|
+ if (e.pic) {
|
|
|
+ this.$set(this.formData, 'pic', e.pic);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|