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.
237 lines
5.6 KiB
237 lines
5.6 KiB
<template> |
|
<u-navbar |
|
:title="title" |
|
:auto-back="true" |
|
left-icon-size="40rpx" |
|
:safe-area-inset-top="true" |
|
:placeholder="true" |
|
bgColor="#ffffff" |
|
></u-navbar> |
|
<view class="body-background"> |
|
|
|
</view> |
|
<u-row :custom-style="{padding:'16rpx 26rpx'}"> |
|
<u-col :span="12" :custom-style="{ |
|
backgroundColor:'#FFFFFF', |
|
borderRadius:'20rpx', |
|
padding:'40rpx 32rpx', |
|
minHeight:'1000rpx', |
|
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:'8rpx 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"> |
|
<u-button |
|
type="primary" |
|
text="保存" |
|
shape="circle" |
|
:custom-style="{ |
|
color:'#020B18', |
|
backgroundColor:'#FF9545', |
|
border:'none', |
|
fontSize:'36', |
|
fontWeight:'400', |
|
marginTop:'48rpx', |
|
height:'80rpx' |
|
}" |
|
@click="submit" |
|
|
|
></u-button> |
|
</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">暖新家公众平台</view> |
|
</view> |
|
<view class="footer-email row"> |
|
<view class="foot-title">官方邮箱:</view> |
|
<view class="foot-url">1256896@qq.com 复制</view> |
|
</view> |
|
</view> |
|
</template> |
|
|
|
<script> |
|
import { |
|
imghost |
|
} from '@/config/host.js' |
|
import MzSubsection from '@/components/MzSubsection/Index.vue'; |
|
import api from '@/utils/functions.js'; |
|
import {feedback} from "@/api/feed"; |
|
import {userDetail, userEdit} from "@/api/user"; |
|
|
|
export default { |
|
components: { |
|
MzSubsection |
|
}, |
|
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.upfile(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); |
|
}, |
|
}, |
|
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> |