<template>
|
|
<view class="page">
|
|
|
|
<navbar :title="$t('components.helpFeedback')" leftClick @leftClick="$utils.navigateBack" />
|
|
|
|
<view class="frame">
|
|
<!--帮助与反馈-->
|
|
<view class="helpFeedback">
|
|
<view class="title"> {{ $t('components.helpAndFeedback') }} <span style="color: red;">*</span></view>
|
|
<view class="desc">
|
|
<textarea :placeholder="$t('components.pleaseSubmit')" v-model="form.content"/>
|
|
</view>
|
|
</view>
|
|
|
|
|
|
<!--问题截图-->
|
|
<view class="problemImg">
|
|
<view class="title">{{ $t('components.screenshot') }} <span style="color: red;">*</span></view>
|
|
<view class="img">
|
|
<uv-upload :fileList="fileList" :maxCount="5" multiple width="150rpx" height="150rpx"
|
|
@delete="deleteImage" @afterRead="afterRead" :previewFullImage="true">
|
|
</uv-upload>
|
|
</view>
|
|
</view>
|
|
|
|
<!--联系方式-->
|
|
<view class="name_phone">
|
|
<view class="title">{{ $t('components.contactInfo') }} <span style="color: red;">*</span></view>
|
|
<view class="items">
|
|
<view class="item">
|
|
<view>{{ $t('components.contactName') }}</view>
|
|
<view>
|
|
<input :placeholder="$t('components.enterContactName')" clearable v-model="form.userName"></input>
|
|
</view>
|
|
</view>
|
|
<view class="item">
|
|
<view>{{ $t('components.lxPhone') }}</view>
|
|
<view>
|
|
<input :placeholder="$t('components.plePhoneNumber')" clearable v-model="form.userPhone"></input>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<!--提交反馈-->
|
|
<view class="btns">
|
|
<view @click="submitFeedback" class="btn">
|
|
{{ $t('components.submitFeedback') }}
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
</view>
|
|
</template>
|
|
<script>
|
|
import topbar from "@/components/base/topbar.vue";
|
|
import tabber from "@/components/base/tabbar.vue";
|
|
|
|
export default {
|
|
name: "helpFeedback",
|
|
components: {
|
|
tabber,
|
|
topbar
|
|
},
|
|
data() {
|
|
return {
|
|
fileList: [],
|
|
form: {
|
|
"content": "",
|
|
"proofImg": "",
|
|
"userName": "",
|
|
"userPhone": ""
|
|
}
|
|
}
|
|
},
|
|
methods: {
|
|
|
|
// 提交反馈
|
|
// submitFeedback() {
|
|
// this.form.proofImg = this.fileList.join(",")
|
|
// this.$api('addSuggest', this.form, res => {
|
|
// if (res.code === 200) {
|
|
// uni.showToast({
|
|
// title: '',
|
|
// icon: 'success',
|
|
// duration: 2000
|
|
// })
|
|
// setTimeout(() => {
|
|
// uni.navigateBack(-1)
|
|
// }, 1000)
|
|
// }
|
|
// })
|
|
|
|
// },
|
|
|
|
submitFeedback(){
|
|
let data = JSON.parse(JSON.stringify(this.form))
|
|
|
|
data.proofImg = this.fileList.map((item) => item.url).join(",")
|
|
|
|
if(this.$utils.verificationAll(data, {
|
|
content : this.$t('components.pleaseSubmit'),//问题和意见
|
|
proofImg : this.$t('components.screenshot'),//
|
|
userName : this.$t('components.enterContactName'),//
|
|
userPhone : this.$t('components.plePhoneNumber'),//手机号码
|
|
})){
|
|
return
|
|
}
|
|
|
|
this.$api('addSuggest', data, res => {
|
|
if(res.code == 200){
|
|
uni.showToast({
|
|
title: res.message,
|
|
icon:'none'
|
|
})
|
|
|
|
setTimeout(uni.navigateBack, 800, -1)
|
|
}
|
|
})
|
|
},
|
|
deleteImage(e) {
|
|
this.fileList.splice(e.index, 1)
|
|
},
|
|
afterRead(e) {
|
|
let self = this
|
|
e.file.forEach(file => {
|
|
self.$Oss.ossUpload(file.url).then(url => {
|
|
self.fileList.push({
|
|
url
|
|
})
|
|
})
|
|
})
|
|
},
|
|
},
|
|
}
|
|
</script>
|
|
|
|
|
|
<style scoped lang="scss">
|
|
.page {
|
|
height: 100vh;
|
|
background-color: #f2f5f5;
|
|
|
|
.frame {
|
|
padding: 40rpx;
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
gap: 40rpx;
|
|
|
|
.helpFeedback {
|
|
.title {}
|
|
|
|
.desc {
|
|
margin-top: 20rpx;
|
|
height: 300rpx;
|
|
border-radius: 40rpx;
|
|
overflow: hidden;
|
|
padding: 20rpx;
|
|
font-size: 28rpx;
|
|
background-color: #fff;
|
|
}
|
|
}
|
|
|
|
.problemImg {
|
|
|
|
.img {
|
|
margin-top: 20rpx;
|
|
height: 150rpx;
|
|
border-radius: 40rpx;
|
|
overflow: hidden;
|
|
padding: 20rpx;
|
|
font-size: 28rpx;
|
|
background-color: #fff;
|
|
}
|
|
}
|
|
|
|
.name_phone {
|
|
|
|
.title {}
|
|
|
|
.items {
|
|
margin-top: 20rpx;
|
|
|
|
.item {
|
|
display: flex;
|
|
align-items: center;
|
|
background-color: #FFF;
|
|
height: 80rpx;
|
|
padding: 10rpx 0 0 20rpx;
|
|
border-bottom: 1px solid #efefef;
|
|
|
|
>view:nth-of-type(1) {
|
|
width: 30%;
|
|
// font-weight: 700;
|
|
}
|
|
|
|
>view:nth-of-type(2) {
|
|
width: 70%;
|
|
border-radius: 10rpx;
|
|
overflow: hidden;
|
|
|
|
|
|
input {
|
|
background-color: #FFF;
|
|
font-size: 28rpx;
|
|
padding: 16rpx 8rpx 16rpx 15rpx;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.btns {
|
|
width: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 20rpx;
|
|
|
|
.btn {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 500rpx;
|
|
height: 70rpx;
|
|
border-radius: 40rpx;
|
|
color: #FFF;
|
|
font-size: 28rpx;
|
|
margin: 20rpx 10rpx 0 0;
|
|
background: $uni-color;
|
|
//margin-top: 20rpx;
|
|
border-radius: 40rpx;
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
</style>
|