7 changed files with 250 additions and 5 deletions
@ -0,0 +1,40 @@
|
||||
.body-background{ |
||||
background: { |
||||
color:#F5F5F6; |
||||
}; |
||||
height:100vh; |
||||
} |
||||
::v-deep .u-icon__icon.uicon-plus{ |
||||
font-size:40rpx !important; |
||||
} |
||||
.bottom-btn{ |
||||
padding:50rpx; |
||||
padding-bottom:0; |
||||
//position: absolute; |
||||
bottom:0; |
||||
left:0; |
||||
width:100%; |
||||
} |
||||
.footer-content{ |
||||
font-size: 28rpx; |
||||
font-weight: 400; |
||||
color: #AFB5BE; |
||||
line-height: 50rpx; |
||||
padding:0 56rpx; |
||||
margin-top:100rpx; |
||||
text-align: center; |
||||
.footer-contact{ |
||||
padding:14rpx 0; |
||||
border-bottom:4rpx solid #EEEEEE; |
||||
} |
||||
.footer-wechat{ |
||||
justify-content: center; |
||||
margin:10rpx 0; |
||||
} |
||||
.footer-email{ |
||||
justify-content: center; |
||||
} |
||||
.foot-url{ |
||||
color:#576B95; |
||||
} |
||||
} |
@ -0,0 +1,172 @@
|
||||
<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 |
||||
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> |
||||
<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> |
||||
</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(){ |
||||
feedback(this.model).then((res) => { |
||||
if(res.code === 200){ |
||||
uni.$u.toast('反馈成功') |
||||
uni.setStorageSync('workerUser') |
||||
this.model = { |
||||
connect:'', |
||||
remark:'', |
||||
file:[] |
||||
} |
||||
this.fileList = []; |
||||
}else{ |
||||
uni.$u.toast(res.msg) |
||||
} |
||||
}) |
||||
|
||||
}, |
||||
//上传文件 |
||||
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> |
Loading…
Reference in new issue