123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319 |
- <template>
- <view class="page" style="background-color: #ffffff;">
- <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="feedback-body" style="height: 300upx;">
- <u-input v-model="sendDate.content" type="textarea" placeholder="请详细描述你的问题... " height="300" />
- </view>
- <view class="feedback-title">投诉图</view>
- <view class="margin-lr-sm">
- <view class="flex " style="overflow: hidden;flex-direction: initial;flex-wrap: wrap;">
- <view v-if="Imgo.length">
- <view class=" flex margin-right-sm flex-wrap">
- <view class="flex margin-top-xs"
- style="width: 200rpx;height: 200rpx;margin-right: 5rpx;position: relative;"
- v-for="(image,index) in Imgo" :key="index">
- <image :src="image" style="width: 100%;height: 100%;"></image>
- <view style="z-index: 9;position: absolute;top: -15rpx;right: -15rpx;"
- @click="removeImg(index)">
- <u-icon name="close-circle-fill" color="#2979ff" 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;"
- 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>
- <button type="primary" style="" class="feedback-submit" @tap="send">提交</button>
- <u-action-sheet :list="typeList" v-model="showType" @click="typeCallback"></u-action-sheet>
- </view>
- </template>
- <script>
- import configdata from '@/common/config.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: that.config("APIHOST1") + '/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();
- }
- });
- }
- }
- })
- },
- config: function(name) {
- var info = null;
- if (name) {
- var name2 = name.split("."); //字符分割
- if (name2.length > 1) {
- info = configdata[name2[0]][name2[1]] || null;
- } else {
- info = configdata[name] || null;
- }
- if (info == null) {
- let web_config = cache.get("web_config");
- if (web_config) {
- if (name2.length > 1) {
- info = web_config[name2[0]][name2[1]] || null;
- } else {
- info = web_config[name] || null;
- }
- }
- }
- }
- return info;
- },
- }
- };
- </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: #ffffff !important;
- }
- view {
- font-size: 28upx;
- }
- /*问题反馈*/
- .feedback-title {
- display: flex;
- flex-direction: row;
- justify-content: space-between;
- align-items: center;
- padding: 20upx;
- color: #333333;
- font-size: 28upx;
- }
- .feedback-star-view.feedback-title {
- justify-content: flex-start;
- margin: 0;
- }
- .feedback-body {
- font-size: 32upx;
- padding: 16upx;
- margin: 16upx;
- border-radius: 16upx;
- background: #F5F5F5;
- /* color: #FFF; */
- }
- .feedback-textare {
- height: 200upx;
- font-size: 34upx;
- line-height: 50upx;
- width: 100%;
- box-sizing: border-box;
- padding: 20upx 30upx 0;
- }
- .feedback-input {
- font-size: 32upx;
- height: 60upx;
- /* padding: 15upx 20upx; */
- line-height: 60upx;
- }
- .feedback-submit {
- background: #2FB57A;
- color: #ffffff;
- margin: 20upx;
- margin-top: 32upx;
- }
- </style>
|