|
@@ -10,12 +10,22 @@
|
|
|
<van-field v-model="form.content" rows="2" autosize label="信息内容" type="textarea" placeholder="请输入信息内容" />
|
|
|
<van-field name="uploader" label="图片">
|
|
|
<template #input>
|
|
|
- <van-uploader :fileList="img_url" :max-count="1" @delete="file => toDelete(file, 'img_url')" :after-read="file => toUpload(file, 'img_url')" />
|
|
|
+ <van-uploader
|
|
|
+ :fileList="form.img_url"
|
|
|
+ :max-count="6"
|
|
|
+ @delete="file => toDelete(file, 'img_url')"
|
|
|
+ :after-read="file => toUpload(file, 'img_url')"
|
|
|
+ />
|
|
|
</template>
|
|
|
</van-field>
|
|
|
<van-field name="uploader" label="视频">
|
|
|
<template #input>
|
|
|
- <van-uploader :fileList="file_url" :max-count="1" @delete="file => toDelete(file, 'file_url')" :after-read="file => toUpload(file, 'file_url')" />
|
|
|
+ <van-uploader
|
|
|
+ :fileList="form.file_url"
|
|
|
+ :max-count="1"
|
|
|
+ @delete="file => toDelete(file, 'file_url')"
|
|
|
+ :after-read="file => toUpload(file, 'file_url')"
|
|
|
+ />
|
|
|
</template>
|
|
|
</van-field>
|
|
|
<div style="margin: 16px;">
|
|
@@ -42,8 +52,6 @@ export default {
|
|
|
dockList: [],
|
|
|
showPicker: false,
|
|
|
form: {},
|
|
|
- img_url: [],
|
|
|
- file_url: [],
|
|
|
};
|
|
|
},
|
|
|
created() {
|
|
@@ -60,27 +68,17 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
async onSubmit() {
|
|
|
- let data = this.getFile(this.form);
|
|
|
+ let data = this.form;
|
|
|
let res = await this.create(data);
|
|
|
if (this.$checkRes(res)) {
|
|
|
- this.$notify({
|
|
|
- message: '信息上传成功',
|
|
|
- type: 'success',
|
|
|
- });
|
|
|
+ this.$notify({ message: '信息上传成功', type: 'success' });
|
|
|
this.form = {};
|
|
|
} else {
|
|
|
- this.$notify({
|
|
|
- message: res.errmsg,
|
|
|
- type: 'danger',
|
|
|
- });
|
|
|
+ this.$notify({ message: res.errmsg, type: 'danger' });
|
|
|
}
|
|
|
},
|
|
|
onConfirm(value) {
|
|
|
- let data = {
|
|
|
- user_id: value.user_id,
|
|
|
- dock_id: value._id,
|
|
|
- title: value.title,
|
|
|
- };
|
|
|
+ let data = { user_id: value.user_id, dock_id: value._id, title: value.title, img_url: [], file_url: [] };
|
|
|
this.$set(this, `form`, data);
|
|
|
this.showPicker = false;
|
|
|
},
|
|
@@ -88,22 +86,15 @@ export default {
|
|
|
// 上传,赋值
|
|
|
const res = await this.upload({ file, dir: 'file' });
|
|
|
if (this.$checkRes(res)) {
|
|
|
- this.$set(this, model, [{ name: res.name, url: res.uri }]);
|
|
|
+ let data = _.cloneDeep(this.form[model]);
|
|
|
+ let file = { name: res.name, url: res.uri };
|
|
|
+ data.push(file);
|
|
|
+ this.$set(this.form, model, data);
|
|
|
}
|
|
|
},
|
|
|
toDelete(file, model) {
|
|
|
- const index = this[model].findIndex(f => _.isEqual(f, file));
|
|
|
- this[model].splice(index, 1);
|
|
|
- },
|
|
|
- // 处理文件
|
|
|
- getFile(data) {
|
|
|
- let img_url = this.img_url.find(i => i);
|
|
|
- if (img_url) data.img_url = img_url.url;
|
|
|
- else data.img_url = '';
|
|
|
- let file_url = this.file_url.find(i => i);
|
|
|
- if (file_url) data.file_url = file_url.url;
|
|
|
- else data.file_url = '';
|
|
|
- return data;
|
|
|
+ const index = this.form[model].findIndex(f => _.isEqual(f, file));
|
|
|
+ this.form[model].splice(index, 1);
|
|
|
},
|
|
|
},
|
|
|
computed: {
|