xx-applets/src/pages/member/complaint.vue

107 lines
3.1 KiB
Vue

<template>
<app-layout title="意见投诉">
<view class="common-form-container">
<view class="input-item">
<view class="title-box">
<text>标题</text>
</view>
<view class="input-box">
<input class="input" v-model="title" placeholder="请输入标题" placeholder-class="placeholder-style-3" />
</view>
</view>
<view class="textarea-item">
<view class="title-box">
<text>内容</text>
</view>
<view class="textarea-box">
<textarea
v-model="content"
class="textarea"
placeholder="请输入投诉内容"
placeholder-class="placeholder-style-3"
/>
</view>
</view>
<view class="upload-item">
<view v-if="image" class="image-box" @click="chooseImage">
<image class="image" :src="image" mode="aspectFill" />
</view>
<view v-else class="image-box upload" @click="chooseImage">
<text class="iconfont icon-shangchuantupian"></text>
<text class="text">上传图片</text>
</view>
</view>
</view>
<view class="common-save-form-btn">
<view class="btn" @click="submit">提交</view>
</view>
</app-layout>
</template>
<script>
import AppLayout from "@/components/layout/layout";
export default {
name: "member-omplaint",
data() {
return {
title: "",
image: "",
content: "",
};
},
components: {
AppLayout,
},
onLoad() {},
onShow() {},
onReady() {},
onReachBottom() {},
onPullDownRefresh() {},
onShareTimeline() {},
onShareAppMessage() {},
methods: {
/**
* 上传图片
*/
chooseImage() {
this.$utils.chooseImage(1).then((tempFiles) => {
this.$models.system.upload(tempFiles[0].path).then((response) => {
this.image = response.img;
});
});
},
/**
* 提交
*/
submit() {
this.$models.system
.submitComplaint({
title: this.title,
imgs: this.image,
desc: this.content,
})
.then((msg) => {
this.$utils.toast(msg).then(() => {
this.$utils.toPage("", {}, "back");
});
})
.catch((e) => {
this.$utils.toast(e);
});
},
},
};
</script>
<style lang="less" scoped>
.common-form-container {
z-index: 10;
position: relative;
.title-box {
font-weight: normal;
}
.upload-item {
padding-bottom: 30rpx;
}
}
</style>