动态上传&发布动态(50以内)
图片上传和跳转
mounted() {
let that = this,
src = [],
list = [];
// 初始化Web Uploader
var uploader = WebUploader.create({
// 选完文件后,是否自动上传。
auto: true,
// swf文件路径
swf: "/static/uploader/Uploader.swf",
// 文件接收服务端。
server: this.$api.API_uploadImg,
// 选择文件的按钮。可选。
// 内部根据当前运行是创建,可能是input元素,也可能是flash.
pick: "#picker",
// 只允许选择图片文件。
accept: {
title: "Images",
extensions: "gif,jpg,jpeg,bmp,png",
mimeTypes: "image/*"
}
});
uploader.on("error", function(type) {
if (type == "Q_TYPE_DENIED") {
that.$toast("请选择图片!");
uploader.destroy();
return;
}
});
// 当有文件添加进来的时候
uploader.on("fileQueued", function(file) {
uploader.makeThumb(
file,
function(error, sc) {
if (!that.$store.getters.user) {
that.$toast("请先登录");
uploader.destroy();
return;
}
if (error) {
that.$toast(error);
return;
}
src.push(sc);
},
100,
100
);
});
uploader.on("uploadAccept", function(object, ret) {
list.push(ret);
});
uploader.on("uploadSuccess", function(object, ret) {
that.Storage.Local.set("res", list);
that.$store.commit("setFile", src);
that.$router.push("/samsara/form");
uploader.destroy();
});
},
<template
><div>
<mHeader>提交动态</mHeader>
<div class="img">
<img :src="item" v-for="(item, index) in src" :key="index" />
</div>
<div style="text-align:left">
<mt-cell title="选择标签" @click.native="show = true"> </mt-cell>
<mt-cell
v-for="(item, index) in re"
:key="index"
:title="item.dictName"
></mt-cell>
</div>
<mt-popup v-model="show" class="popup" position="bottom">
<van-checkbox-group v-model="re">
<van-cell
clickable
:title="item.dictName"
v-for="(item, index) in num"
@click="toggle(index)"
:key="item.id"
>
<van-checkbox :name="item" ref="box" slot="right-icon"></van-checkbox>
</van-cell>
</van-checkbox-group>
</mt-popup>
<mt-field
v-model="values"
type="textarea"
rows="4"
placeholder="这一刻,想说些什么!"
></mt-field>
<mt-button plain type="primary" size="large" @click="save"
>提交动态</mt-button
>
</div>
</template>
<script>
import mHeader from "../other/header";
export default {
components: { mHeader },
data() {
return {
src: [],
list: [],
show: false,
re: [],
num: [],
values: null
};
},
mounted() {
this.$post(this.$api.API_getLabel, {
dictType: 10
}).then(res => {
if (res.errorCode == 0) {
this.num = res.data;
}
});
this.src = this.$store.state.file;
this.list = this.Storage.Local.get("res");
},
methods: {
toggle(index) {
this.$refs.box[index].toggle();
},
save() {
let biao = this.re.map(val => {
dataDictId: val.id;
});
console.log(this.list);
var aw;
aw = {
attachmentName: this.list[0].attachmentName,
attachmentPath: this.list[0].attachmentPath
};
console.log(aw);
let attachment_rows_data = [];
attachment_rows_data.push(aw);
console.log(attachment_rows_data);
if ((biao.lenth != 0)) {
this.$post(this.$api.API_SET_NOTEDATA, {
dataDictId: 0,
attachment_rows_data: attachment_rows_data,
makeEmp: this.$store.getters.user.id,
noteContent: this.values,
label_rows_data: biao
}).then(res => {
if (res.errorCode == 0) {
this.$router.push("/");
}else{
this.$toast("网络错误!");
}
});
} else {
this.$toast("请输入标签!");
}
}
}
};
</script>
<style >
.img {
display: flex;
flex-wrap: wrap;
background-color: #cccccc;
}
.imgitem {
width: 100px;
height: 100px;
margin: 10px;
border-radius: 10%;
}
.popup {
width: 100%;
}
</style>