You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
225 lines
5.6 KiB
225 lines
5.6 KiB
1 year ago
|
<template>
|
||
|
<HeaderNav :title="title" :is-back="true"></HeaderNav>
|
||
|
<view class="body-background">
|
||
|
|
||
|
</view>
|
||
|
<u-row :custom-style="{padding:'16rpx 26rpx',boxSizing:'border-box'}">
|
||
|
<u-col :span="12" :custom-style="{
|
||
|
backgroundColor:'#FFFFFF',
|
||
|
borderRadius:'20rpx',
|
||
|
padding:'40rpx 32rpx',
|
||
|
position:'relative'
|
||
|
}">
|
||
|
<u-form
|
||
|
errorType="toast"
|
||
|
labelWidth="auto"
|
||
|
labelPosition="left"
|
||
|
:model="model"
|
||
|
:rules="rules"
|
||
|
ref="feedForm"
|
||
|
>
|
||
|
<u-form-item
|
||
|
prop="remark"
|
||
|
:custom-style="{padding:'0'}"
|
||
|
>
|
||
|
<u-textarea
|
||
|
v-model="model.remark"
|
||
|
border="none"
|
||
|
placeholder="请描述您遇到的问题"
|
||
|
height="220"
|
||
|
:custom-style="{
|
||
|
backgroundColor:'#FAFAFA',
|
||
|
padding:'20rpx 20rpx'
|
||
|
}"
|
||
|
></u-textarea>
|
||
|
</u-form-item>
|
||
|
<u-form-item
|
||
|
label="联系方式"
|
||
|
prop="connect"
|
||
|
borderBottom
|
||
|
:custom-style="{padding:'34rpx 0'}"
|
||
|
>
|
||
|
<u-input
|
||
|
v-model="model.connect"
|
||
|
inputAlign="right"
|
||
|
disabledColor="#ffffff"
|
||
|
placeholder="请填写手机号,以便我们联系您"
|
||
|
border="none"
|
||
|
:custom-style="{paddingRight:'28rpx'}"
|
||
|
></u-input>
|
||
|
</u-form-item>
|
||
|
<!-- <u-form-item-->
|
||
|
<!-- prop="userInfo.sex"-->
|
||
|
<!-- :custom-style="{padding:'34rpx 0'}"-->
|
||
|
<!-- >-->
|
||
|
<!-- <u-upload-->
|
||
|
<!-- width="160"-->
|
||
|
<!-- height="160"-->
|
||
|
<!-- :fileList="fileList"-->
|
||
|
<!-- name="1"-->
|
||
|
<!-- multiple-->
|
||
|
<!-- :maxCount="10"-->
|
||
|
<!-- uploadIcon="plus"-->
|
||
|
<!-- @afterRead="afterFileRead"-->
|
||
|
<!-- @delete="deleteFile"-->
|
||
|
<!-- ></u-upload>-->
|
||
|
<!-- </u-form-item>-->
|
||
|
</u-form>
|
||
|
<view class="bottom-btn border-box" style="box-sizing: border-box;">
|
||
|
<MzButton button-color="#4EC2B7" button-width="100%" font-color="#fff" @click="submit">
|
||
|
保存
|
||
|
</MzButton>
|
||
|
</view>
|
||
|
</u-col>
|
||
|
</u-row>
|
||
|
<view class="footer-content">
|
||
|
<view class="footer-contact">联系我们</view>
|
||
|
<view class="footer-wechat row">
|
||
|
<view class="foot-title">微信公众号:</view>
|
||
|
<view class="foot-url">宠物喂养公众平台 <text @click="copyContent()">复制</text></view>
|
||
|
</view>
|
||
|
<view class="footer-email row">
|
||
|
<view class="foot-title">官方邮箱:</view>
|
||
|
<view class="foot-url">1256896@qq.com <text @click="copyContent()">复制</text></view>
|
||
|
</view>
|
||
|
</view>
|
||
|
</template>
|
||
|
|
||
|
<script>
|
||
|
import {
|
||
|
imghost
|
||
|
} from '@/config/host.js'
|
||
|
import api from '@/utils/functions.js';
|
||
|
import HeaderNav from "@/components/HeaderNav/Index.vue";
|
||
|
import MzButton from "@/components/MzButton/Index.vue";
|
||
|
import {feedback} from "@/api/other";
|
||
|
|
||
|
export default {
|
||
|
components: {
|
||
|
MzButton,
|
||
|
HeaderNav,
|
||
|
},
|
||
|
data() {
|
||
|
return {
|
||
|
title: '意见反馈',
|
||
|
loading: true,
|
||
|
staticImage: {
|
||
|
bg: imghost + '/BG.png',
|
||
|
newIcon: imghost + '/new-icon.png',
|
||
|
},
|
||
|
isTop: false,
|
||
|
fileList:[],
|
||
|
model:{
|
||
|
connect:'',
|
||
|
remark:'',
|
||
|
file:[]
|
||
|
},
|
||
|
rules:{
|
||
|
'connect': {
|
||
|
type: 'string',
|
||
|
required: true,
|
||
|
message: '请填写联系方式',
|
||
|
trigger: ['blur', 'change']
|
||
|
},
|
||
|
'remark': {
|
||
|
type: 'string',
|
||
|
required: true,
|
||
|
message: '请填写内容',
|
||
|
trigger: ['blur', 'change']
|
||
|
},
|
||
|
},
|
||
|
}
|
||
|
},
|
||
|
onLoad() {
|
||
|
|
||
|
},
|
||
|
computed: {
|
||
|
api() {
|
||
|
return api
|
||
|
},
|
||
|
},
|
||
|
methods: {
|
||
|
submit(){
|
||
|
let file = [];
|
||
|
this.fileList.forEach(item => {
|
||
|
file.push(item.url)
|
||
|
});
|
||
|
this.model.file = file.join();
|
||
|
this.$refs.feedForm.validate().then(res => {
|
||
|
feedback(this.model).then((res) => {
|
||
|
if(res.code === 200){
|
||
|
uni.$u.toast('反馈成功')
|
||
|
|
||
|
this.model = {
|
||
|
connect:'',
|
||
|
remark:'',
|
||
|
file:[]
|
||
|
}
|
||
|
this.fileList = [];
|
||
|
}else{
|
||
|
uni.$u.toast(res.msg)
|
||
|
}
|
||
|
})
|
||
|
}).catch(errors => {
|
||
|
uni.$u.toast(errors[0].message)
|
||
|
})
|
||
|
|
||
|
},
|
||
|
//上传文件
|
||
|
async afterFileRead (event){
|
||
|
let lists = [].concat(event.file);
|
||
|
|
||
|
let fileListLen = this.fileList.length;
|
||
|
lists.map((item) => {
|
||
|
this.fileList.push({
|
||
|
...item,
|
||
|
status: 'uploading',
|
||
|
message: '上传中',
|
||
|
});
|
||
|
});
|
||
|
for (let i = 0; i < lists.length; i++) {
|
||
|
|
||
|
api.uploadOssFile(lists[i].url).then(res => {
|
||
|
let item = this.fileList[fileListLen];
|
||
|
this.fileList.splice(fileListLen, 1, {
|
||
|
...item,
|
||
|
status: 'success',
|
||
|
message: '',
|
||
|
url: res.show_path,
|
||
|
thumb: res.show_path,
|
||
|
});
|
||
|
fileListLen++;
|
||
|
})
|
||
|
// const result = await uploadFilePromise(lists[i].url);
|
||
|
|
||
|
}
|
||
|
},
|
||
|
//删除上传图片
|
||
|
deleteFile(event){
|
||
|
this.fileList.splice(event.index, 1);
|
||
|
},
|
||
|
copyContent(){
|
||
|
uni.setClipboardData({
|
||
|
data: '',
|
||
|
success: function () {
|
||
|
//调用方法成功
|
||
|
}
|
||
|
})
|
||
|
},
|
||
|
},
|
||
|
onPageScroll(res) {
|
||
|
if (res.scrollTop <= 20) {
|
||
|
uni.$emit('isTop', true);
|
||
|
} else {
|
||
|
uni.$emit('isTop', false);
|
||
|
}
|
||
|
},
|
||
|
created() {
|
||
|
|
||
|
}
|
||
|
}
|
||
|
</script>
|
||
|
|
||
|
<style lang="scss">
|
||
|
@import './components/index.scss';
|
||
|
</style>
|