198 lines
4.6 KiB
Vue
198 lines
4.6 KiB
Vue
<template>
|
||
<view class="page">
|
||
<view class="bg">
|
||
<view class="feedback-title">
|
||
<text>问题和意见</text>
|
||
<text @tap="chooseMsg" style="color: #096f4b;">快速键入</text>
|
||
</view>
|
||
<view class="feedback-body"><textarea placeholder="请详细描述你的问题和意见..." v-model="sendDate.content" class="feedback-textare" /></view>
|
||
</view>
|
||
<view class="bg" style="margin-top: 20rpx;">
|
||
<view class="feedback-title"><text>联系方式</text></view>
|
||
<view class="feedback-body"><input class="feedback-input" v-model="sendDate.contact" placeholder="方便我们联系你 " /></view>
|
||
</view>
|
||
<view style="position: fixed;bottom: 0rpx;left: 0;right: 0;background: #FFFFFF;height: 110rpx;line-height: 110rpx;z-index: 999;width: 100%;padding: 0 30rpx;">
|
||
<button style="" class="feedback-submit" @tap="send">提交</button>
|
||
</view>
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
export default {
|
||
data() {
|
||
return {
|
||
msgContents: ['界面显示错乱', '启动缓慢,卡出翔了', 'UI无法直视,丑哭了', '偶发性崩溃'],
|
||
stars: [1, 2, 3, 4, 5],
|
||
imageList: [],
|
||
sendDate: {
|
||
score: 5,
|
||
content: '',
|
||
contact: ''
|
||
}
|
||
};
|
||
},
|
||
onLoad() {
|
||
// let deviceInfo = {
|
||
// appid: plus.runtime.appid,
|
||
// imei: plus.device.imei, //设备标识
|
||
// p: plus.os.name === 'Android' ? 'a' : 'i', //平台类型,i表示iOS平台,a表示Android平台。
|
||
// md: plus.device.model, //设备型号
|
||
// app_version: plus.runtime.version,
|
||
// plus_version: plus.runtime.innerVersion, //基座版本号
|
||
// os: plus.os.version,
|
||
// net: '' + plus.networkinfo.getCurrentType()
|
||
// };
|
||
// this.sendDate = Object.assign(deviceInfo, this.sendDate);
|
||
},
|
||
methods: {
|
||
close(e) {
|
||
this.imageList.splice(e, 1);
|
||
},
|
||
chooseMsg() {
|
||
//快速输入
|
||
uni.showActionSheet({
|
||
itemList: this.msgContents,
|
||
success: res => {
|
||
this.sendDate.content = this.msgContents[res.tapIndex];
|
||
}
|
||
});
|
||
},
|
||
chooseImg() {
|
||
//选择图片
|
||
uni.chooseImage({
|
||
sourceType: ['camera', 'album'],
|
||
sizeType: 'compressed',
|
||
count: 8 - this.imageList.length,
|
||
success: res => {
|
||
this.imageList = this.imageList.concat(res.tempFilePaths);
|
||
}
|
||
});
|
||
},
|
||
chooseStar(e) {
|
||
//点击评星
|
||
this.sendDate.score = e;
|
||
},
|
||
previewImage() {
|
||
//预览图片
|
||
uni.previewImage({
|
||
urls: this.imageList
|
||
});
|
||
},
|
||
send() {
|
||
//发送反馈
|
||
console.log(JSON.stringify(this.sendDate));
|
||
let userId = this.$queue.getData('userId');
|
||
let phone = this.$queue.getData('phone') ? this.$queue.getData('phone') : '';
|
||
if (!this.sendDate.content) {
|
||
uni.showToast({
|
||
icon: 'none',
|
||
title: '请输入反馈内容'
|
||
});
|
||
return;
|
||
}
|
||
if (!this.sendDate.contact) {
|
||
uni.showToast({
|
||
icon: 'none',
|
||
title: '请填写联系方式'
|
||
});
|
||
return;
|
||
}
|
||
this.$queue.showLoading('加载中...');
|
||
this.$Request.postJson('/app/message/insertMessage', {
|
||
state: 2,
|
||
title: this.sendDate.contact,
|
||
content: this.sendDate.content,
|
||
userId: userId
|
||
// title: this.sendDate.contact,
|
||
// content: JSON.stringify(this.sendDate),
|
||
// state: 2
|
||
}).then(res => {
|
||
if (res.code === 0) {
|
||
uni.showToast({
|
||
title: '提交成功'
|
||
});
|
||
setTimeout(function() {
|
||
uni.navigateBack();
|
||
}, 1000);
|
||
} else {
|
||
uni.hideLoading();
|
||
uni.showModal({
|
||
showCancel: false,
|
||
title: '投诉失败',
|
||
content: res.msg
|
||
});
|
||
}
|
||
});
|
||
}
|
||
}
|
||
};
|
||
</script>
|
||
|
||
<style>
|
||
@font-face {
|
||
font-family: uniicons;
|
||
font-weight: normal;
|
||
font-style: normal;
|
||
src: url('https://img-cdn-qiniu.dcloud.net.cn/fonts/uni.ttf') format('truetype');
|
||
}
|
||
page {
|
||
background-color: #f7f7f7;
|
||
}
|
||
.bg{
|
||
background-color: #ffffff;
|
||
padding: 30rpx;
|
||
}
|
||
|
||
/*问题反馈*/
|
||
.feedback-title {
|
||
display: flex;
|
||
flex-direction: row;
|
||
justify-content: space-between;
|
||
align-items: center;
|
||
color: #333333;
|
||
font-weight: 600;
|
||
font-size: 32rpx;
|
||
}
|
||
.feedback-star-view.feedback-title {
|
||
justify-content: flex-start;
|
||
margin: 0;
|
||
}
|
||
|
||
.feedback-body {
|
||
font-size: 28rpx;
|
||
padding: 16upx;
|
||
margin: 16upx 0;
|
||
border-radius: 16upx;
|
||
background: #F5F5F5;
|
||
/* color: #FFF; */
|
||
}
|
||
.feedback-textare {
|
||
height: 200upx;
|
||
font-size: 28rpx;
|
||
line-height: 50upx;
|
||
width: 100%;
|
||
box-sizing: border-box;
|
||
padding: 20upx 30upx 0;
|
||
|
||
}
|
||
.feedback-input {
|
||
font-size: 28rpx;
|
||
height: 60upx;
|
||
padding: 15upx 20upx;
|
||
line-height: 60upx;
|
||
}
|
||
|
||
|
||
.feedback-submit {
|
||
background: linear-gradient(to right, #223845, #00a85b);
|
||
color: #FFFFFF;
|
||
margin: 16rpx 0;
|
||
width: 100%;
|
||
border-radius: 50rpx;
|
||
height: 78rpx;
|
||
line-height: 78rpx;
|
||
font-size: 30rpx;
|
||
text-align: center;
|
||
}
|
||
</style>
|