sadjv3/anmo-shop/my/order/complain.vue

308 lines
8.2 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view class="page">
<view class="bg">
<view class="feedback-title">投诉类型</view>
<view class="feedback-body" @tap="showType = true">
<view class="feedback-input">{{typeName ? typeName : '请选择投诉类型'}}</view>
</view>
<view class="feedback-title">投诉标题</view>
<view class="feedback-body">
<input class="feedback-input" v-model="sendDate.title" placeholder="请输入投诉标题 " />
</view>
<view class="feedback-title">投诉内容</view>
<view class="" style="color: #999999;">
<u-input v-model="sendDate.content" type="textarea" placeholder="请详细描述你的问题... " style="height: 300rpx;padding: 10rpx;background-color: #f5f5f5;border-radius: 10rpx;margin: 10rpx 0 20rpx 0;color: #999999;"/>
</view>
<view class="feedback-title">投诉图</view>
<view class="margin-tb-sm">
<view class="flex" style="flex-direction: initial;flex-wrap: wrap;">
<view v-if="Imgo.length">
<view class=" flex margin-right-sm flex-wrap">
<view class="flex"
style="margin-right: 5rpx;position: relative;width: 200rpx;height: 200rpx;"
v-for="(image,index) in Imgo" :key="index">
<image :src="image" style="width: 100%;height: 100%;"></image>
<view style="z-index: 999;position: absolute;top: -15rpx;right: -15rpx;"
@click="removeImg(index)">
<u-icon name="close-circle-fill" color="#333333" size="50rpx"></u-icon>
</view>
</view>
</view>
</view>
<view class="" @click="addImages(2)" v-if="Imgo.length<=5">
<view style="width: 200rpx;height: 200rpx;background: #f4f5f6;border-radius: 10rpx;"
class="flex justify-center align-center">
<view>
<view class="text-center">
<u-icon name="plus" color="#666666" size="28"></u-icon>
</view>
<view class="text-center">选择图片</view>
</view>
</view>
</view>
</view>
<view class="" style="font-size: 26rpx;color: #999999;margin-top: 40rpx;">温馨提示最多上传3张图片</view>
</view>
</view>
<view style="position: fixed;bottom: 0rpx;left: 0;right: 0;background: #FFFFFF;height: 110rpx;line-height: 110rpx;z-index: 999;">
<button type="primary" style="" class="feedback-submit" @tap="send">提交</button>
</view>
<u-action-sheet :list="typeList" v-model="showType" @click="typeCallback"></u-action-sheet>
</view>
</template>
<script>
import * as websocketUtils from 'utils/websocketUtils.js';
export default {
data() {
return {
newTypeList: [],
typeId: '',
typeName: '',
typeList: [],
showType: false,
msgContents: ['界面显示错乱', '启动缓慢,卡出翔了', 'UI无法直视丑哭了', '偶发性崩溃'],
stars: [1, 2, 3, 4, 5],
imageList: [],
sendDate: {
content: '',
// contact: '',
title: '',
image: "",
},
ordersId: '',
Imgo: [],
byUserId: '',
byuserName: '',
userName: '',
title: '',
ordersNo: ''
};
},
onLoad(e) {
this.getTypeList();
this.getUserInfo();
this.ordersId = e.id
this.byuserName = e.byuserName
this.byUserId = e.byUserId
// #ifdef APP-PLUS
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);
// #endif
},
methods: {
typeCallback(index) {
console.log(index)
this.typeName = this.newTypeList[index].title;
this.typeId = this.newTypeList[index].id;
},
getTypeList() {
this.$Request.getT('/app/message/selectMessageList?page=1&limit=50&state=6').then(res => {
if (res.code == 0) {
if (res.data.list && res.data.list.length > 0) {
this.newTypeList = res.data.list;
res.data.list.forEach((d, index) => {
let data = {
text: d.title,
label: index
}
this.typeList.push(data);
});
}
}
});
},
// 详情图删除
removeImg(index) {
console.log(index)
this.Imgo.splice(index, 1)
},
close(e) {
this.imageList.splice(e, 1);
},
getUserInfo() {
this.$Request.get("/app/user/selectUserById").then(res => {
if (res.code == 0) {
this.userName = res.data.userName
uni.setStorageSync('avatar', res.data.avatar)
uni.setStorageSync('invitationCode', res.data.invitationCode)
uni.setStorageSync('zhiFuBao', res.data.zhiFuBao)
uni.setStorageSync('zhiFuBaoName', res.data.zhiFuBaoName)
}
});
},
send() {
//发送反馈
this.sendDate.image = this.Imgo
this.sendDate.image = this.sendDate.image.toString()
// console.log(JSON.stringify(this.sendDate));
if (!this.typeId) {
uni.showToast({
icon: 'none',
title: '请选择投诉类型'
});
return;
}
if (!this.sendDate.content) {
uni.showToast({
icon: 'none',
title: '请输入投诉内容'
});
return;
}
if (!this.Imgo) {
uni.showToast({
icon: 'none',
title: '请上传投诉图片'
});
return;
}
this.$queue.showLoading('加载中...');
let userId = this.$queue.getData("userId");
this.$Request.postJson('/app/message/insertMessage', {
// ordersId: this.ordersId,
byUserId: this.byUserId,
title: this.sendDate.title,
image: this.sendDate.image,
userId: userId,
content: this.sendDate.content,
state: 7,
type: 0,
typeId: this.typeId,
typeName: this.typeName,
userName: this.userName,
byUserName: this.byuserName,
}).then(res => {
if (res.code === 0) {
uni.showToast({
title: '投诉成功'
});
setTimeout(function() {
// uni.navigateBack();
uni.redirectTo({
url: '/my/order/tousuList'
})
}, 1000);
} else {
uni.hideLoading();
uni.showModal({
showCancel: false,
title: '投诉失败',
content: res.msg
});
}
});
}, // 图片上传
addImages(e) {
let that = this
uni.chooseImage({
count: 6,
sourceType: ['album', 'camera'],
success: res => {
for (let i = 0; i < res.tempFilePaths.length; i++) {
that.$queue.showLoading("上传中...");
uni.uploadFile({ // 上传接口
url: websocketUtils.uploadFileUrl(), //真实的接口地址
// url: 'https://xichewap.xianmxkj.com/sqx_fast/alioss/upload',
filePath: res.tempFilePaths[i],
name: 'file',
success: (uploadFileRes) => {
if (e == 2) {
console.log(JSON.parse(uploadFileRes.data).data)
that.Imgo.push(JSON.parse(uploadFileRes.data).data)
}
uni.hideLoading();
}
});
}
}
})
},
}
};
</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 !important;
}
.bg{
background-color: #ffffff;
padding: 30rpx;
}
/*问题反馈*/
.feedback-title {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
padding: 10rpx 0;
font-weight: bold;
color: #333333;
font-size: 30rpx;
}
.feedback-star-view.feedback-title {
justify-content: flex-start;
margin: 0;
}
.feedback-body {
font-size: 28rpx;
padding: 12rpx 30rpx;
margin: 10rpx 0 24rpx 0;
border-radius: 10rpx;
background: #F5F5F5;
/* color: #FFF; */
}
.feedback-textare {
font-size: 34upx;
width: 100%;
box-sizing: border-box;
padding: 12rpx 30rpx;
}
.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 30upx;
position: fixed;
bottom: 0upx;
width: 90%;
border-radius: 50rpx;
height: 78rpx;
line-height: 78rpx;
font-size: 32rpx;
text-align: center;
}
</style>