初始化万家商超用户端仓库
This commit is contained in:
558
pages/xtsz/feedbackRecord/feedbackRecord.vue
Normal file
558
pages/xtsz/feedbackRecord/feedbackRecord.vue
Normal file
@ -0,0 +1,558 @@
|
||||
<template>
|
||||
<view class="change">
|
||||
<!-- 标题栏 start -->
|
||||
|
||||
<form @submit="formSubmit">
|
||||
<view class="warp">
|
||||
<!-- 反馈类型 start -->
|
||||
<view class="feedback">
|
||||
<view class="feedback-top padding-tb">反馈类型</view>
|
||||
<view class="feedback-reason text-gray">
|
||||
<view class="margin-top-xs text-cut" v-for="(item, index) in types" :key="index"
|
||||
:class="item.aid == active ? 'active' : ''" @click="reason(item.aid)">
|
||||
{{ item.title }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 反馈类型 end -->
|
||||
<!-- 反馈内容 start -->
|
||||
<view class="feedback-content ">
|
||||
<view class="block-box margin-top-lg"></view>
|
||||
<view class="feedback-content-top padding">反馈内容</view>
|
||||
<view class="content">
|
||||
<textarea class="textarea" name="body" placeholder-class="text-gray" v-model="body" maxlength="200"
|
||||
:placeholder="'问题描述的越详细.有助于我们更快的解决问题'" placeholder-style="font-size:28rpx" />
|
||||
</view>
|
||||
</view>
|
||||
<!-- 反馈内容 end -->
|
||||
<!-- 图片 start-->
|
||||
<view class='flex flex-direction flex-wrap align-stretch'>
|
||||
<benben-images-upload ref="benbenImagesUploadfd1_3_c1_c0" :img-list.sync="singleImageUpload" :img-ids.sync="singleImageUploadIds"
|
||||
:is-show-tips='true' :maxlength="6">
|
||||
<template #content="{ num, maxlength, isShow, imgList }">
|
||||
<view class="flex flex-wrap align-start flex feedbackRecord_fd1_3_c1_c0">
|
||||
|
||||
<view v-for="(image, index) in imgList" :key="index"
|
||||
class='flex position-relative feedbackRecord_fd1_3_c1_c00'>
|
||||
<text class='fu-iconfont2 position-absolute feedbackRecord_fd1_3_c1_c000'
|
||||
@tap.stop="$refs.benbenImagesUploadfd1_3_c1_c0.delImage(index)"></text>
|
||||
<image class='feedbackRecord_fd1_3_c1_c001'
|
||||
@tap.stop="$refs.benbenImagesUploadfd1_3_c1_c0.previewImage(index)" mode="aspectFill" :src='image'>
|
||||
</image>
|
||||
</view>
|
||||
|
||||
<image class='feedbackRecord_fd1_3_c1_c01'
|
||||
@tap.stop="$refs.benbenImagesUploadfd1_3_c1_c0.manyChooseImage()" v-if="isShow" mode="aspectFit"
|
||||
:src='STATIC_URL+"140.jpg"'></image>
|
||||
<text class='image_upload_tips feedbackRecord_fd1_3_c1_c02'>请上传应用截图,最多上传6张</text>
|
||||
</view>
|
||||
</template>
|
||||
</benben-images-upload>
|
||||
</view>
|
||||
<!-- <view class="cu-form-group">
|
||||
<view class="grid col-4 grid-square flex-sub">
|
||||
<view class="bg-img" v-for="(item, index) in imgList" :key="index" @tap="viewImage(index)"
|
||||
:data-url="index">
|
||||
<view class="image">
|
||||
<image :src="item.path" mode="aspectFill"></image>
|
||||
</view>
|
||||
<view class="cu-tag bg-red" @tap.stop="delImg" :data-index="index"><text class="cuIcon-close"></text>
|
||||
</view>
|
||||
</view>
|
||||
<view @tap="chooseImage" v-if="imgList.length < 6">
|
||||
<image :src='STATIC_URL+"140.jpg"' mode="" class="add-img"></image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="upload_desc">请上传应用截图,最多上传{{ count }}张</view> -->
|
||||
<!-- 图片 end -->
|
||||
</view>
|
||||
<!-- 联系方式 - 手机号码 start -->
|
||||
<view class="feedback-contact ">
|
||||
<view class="feedback-contact-top padding-top-lg">请留下您的联系方式</view>
|
||||
<view class="feedback-contact-content flex"><input name="contact" placeholder-class="text-gray" maxlength="48" v-model="contact" :placeholder="'手机号/邮箱/QQ号'" /></view>
|
||||
</view>
|
||||
<!-- 联系方式 - 手机号码 end -->
|
||||
|
||||
<view class="bg-white footer-yy flex flex-direction justify-center align-center">
|
||||
<button class="btn-primary round" formType="submit">提交</button>
|
||||
<text class="text-lg margin-top-lg" style="color: #FF9300;" @click="routeHistory">反馈记录</text>
|
||||
</view>
|
||||
</form>
|
||||
<!-- 断网检测 -->
|
||||
<fu-notwork></fu-notwork>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// 引入规则校验文件
|
||||
import {
|
||||
validate
|
||||
} from '@/common/utils/index';
|
||||
// import { UploadImg } from '@/common/utils/upload-image.js'
|
||||
// 引入上传图片公共方法
|
||||
import {
|
||||
UploadImage
|
||||
} from '@/common/utils/index';
|
||||
// 引入上传公共url
|
||||
import {
|
||||
UPLOAD_IMAGE_URL
|
||||
} from '@/common/config.js';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
"singleImageUpload": [],
|
||||
singleImageUploadIds:'',
|
||||
// 是否必填信息 默认初始值必填
|
||||
types: [], // 反馈类型 调用接口获取
|
||||
active: 1, // 反馈类型选中 默认选中第一个
|
||||
imgList: [], // 上传图片数组
|
||||
count: 6, //做多上传几张图片
|
||||
body: '', //反馈内容
|
||||
contact: '', // 手机号码
|
||||
imgIds: '',
|
||||
// 显示状态类型判断
|
||||
thumb_status: '1' // 是否显示图片上传
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
/**
|
||||
* 反馈内容字数计算
|
||||
*/
|
||||
bodyLen() {
|
||||
return this.body.length;
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
// 获取反馈类型数据
|
||||
this.get_feedback_type();
|
||||
},
|
||||
|
||||
methods: {
|
||||
/**
|
||||
* @description 查看历史反馈
|
||||
*/
|
||||
routeHistory() {
|
||||
uni.navigateTo({
|
||||
url: '/pages/xtsz/historicalFeedback/historicalFeedback'
|
||||
});
|
||||
},
|
||||
/**
|
||||
* @description 选择反馈类型
|
||||
* @param {Object} type反馈类型id
|
||||
*/
|
||||
reason(type) {
|
||||
this.active = type;
|
||||
},
|
||||
/**
|
||||
* @description 获取反馈类型数据
|
||||
*/
|
||||
get_feedback_type() {
|
||||
let that = this;
|
||||
this.$api
|
||||
.post(global.apiUrls.feedbackTypes)
|
||||
.then(res => {
|
||||
console.log(res);
|
||||
if (res.data.code == 1) {
|
||||
let result = res.data.data;
|
||||
that.types = result; //获取反馈类型数据
|
||||
that.active = result[0] && result[0].aid; //默认选中第一个反馈类型
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err);
|
||||
});
|
||||
},
|
||||
/**
|
||||
* @description 图片上传
|
||||
*/
|
||||
chooseImage() {
|
||||
let self = this;
|
||||
console.log('可以选择的图片数量', self.count - self.imgList.length);
|
||||
// 从相册中选择图片
|
||||
uni.chooseImage({
|
||||
count: self.count - self.imgList.length, // 默认3
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
success: function(res) {
|
||||
const tempFilePaths = res.tempFilePaths;
|
||||
|
||||
// 开始上传
|
||||
new UploadImage(tempFilePaths, {
|
||||
complete: function(res) {
|
||||
console.log(res);
|
||||
// 上传成功 返回数据格式为数组 [ { id: '', path: '' } ]
|
||||
self.imgList.push(...res);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
/**
|
||||
* @description 图片预览
|
||||
* @param {Object} inx图片预览数据
|
||||
*/
|
||||
viewImage(inx) {
|
||||
let arr = this.imgList.map(item => {
|
||||
return item.path;
|
||||
});
|
||||
uni.previewImage({
|
||||
urls: arr,
|
||||
current: inx
|
||||
});
|
||||
},
|
||||
/**
|
||||
* @description 删除图片事件
|
||||
* @param {Object} e事件参数
|
||||
* e.currentTarget.dataset.index需要删除的图片下标
|
||||
*/
|
||||
delImg(e) {
|
||||
this.$util.showModal({
|
||||
title: '友情提示',
|
||||
content: '确定要删除图片吗?',
|
||||
cancelText: '取消',
|
||||
confirmText: '确定',
|
||||
success: res => {
|
||||
if (res.confirm) {
|
||||
// 确定删除从数组中删除图片
|
||||
this.imgList.splice(e.currentTarget.dataset.index, 1);
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
/**
|
||||
* @description 反馈提交
|
||||
* @param {Object} e事件参数
|
||||
* e.detail.value 获取表单输入值
|
||||
*/
|
||||
formSubmit(e) {
|
||||
// console.log(this.singleImageUpload);
|
||||
// console.log(this.singleImageUploadIds);
|
||||
// return false;
|
||||
let _this = this;
|
||||
//进行表单检查
|
||||
var formData = e.detail.value;
|
||||
// 选中反馈类型赋值
|
||||
formData.type = this.active;
|
||||
|
||||
// 对图片进行处理操作
|
||||
// let imgarr = this.imgList.map(item => {
|
||||
// return item.id;
|
||||
// });
|
||||
|
||||
// formData.thumb = imgarr.join(',');
|
||||
formData.thumb = this.singleImageUploadIds;
|
||||
|
||||
// 对表单数据进行校验,
|
||||
let errMsg = this.doValidate(formData);
|
||||
if (errMsg) {
|
||||
this.$message.info(errMsg);
|
||||
return;
|
||||
}
|
||||
// let typeName = ''
|
||||
// this.types.map((item) => {
|
||||
// if (formData.type == item.aid) {
|
||||
// typeName = item.title
|
||||
// }
|
||||
// })
|
||||
// formData.type = typeName
|
||||
console.log(errMsg, formData);
|
||||
// 提交数据
|
||||
|
||||
if (this.isSubmit) return;
|
||||
this.isSubmit = true;
|
||||
uni.showLoading({
|
||||
title: '正在提交~',
|
||||
mask: true
|
||||
})
|
||||
this.$api.post(global.apiUrls.feedbackAdd, formData).then(res => {
|
||||
this.$message.info(res.data.msg);
|
||||
console.log(res);
|
||||
uni.hideLoading()
|
||||
if (res.data.code == 1) {
|
||||
// 提交成功返回上页面
|
||||
setTimeout(() => {
|
||||
uni.navigateBack();
|
||||
// _this.$urouter.redirectTo('/pages/index/setting/my-feedback');
|
||||
}, 1200);
|
||||
} else {
|
||||
this.isSubmit = false;
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* @description 进行表单校验
|
||||
* @param {Object} formData要校验的表单数据
|
||||
*/
|
||||
doValidate(formData) {
|
||||
let {
|
||||
body,
|
||||
contact,
|
||||
qq_contact,
|
||||
email_contact
|
||||
} = formData;
|
||||
console.log(body, contact);
|
||||
if (!body || !body.trim()) {
|
||||
return '反馈内容不能为空';
|
||||
}
|
||||
if (!this.singleImageUploadIds) {
|
||||
return '请上传应用截图';
|
||||
}
|
||||
// if ( !contact || !contact.trim()) {
|
||||
// return that.i18n['请留下你的联系方式'] ;
|
||||
// }
|
||||
|
||||
return '';
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
page {
|
||||
|
||||
.feedbackRecord_fd1_3_c1_c02 {
|
||||
font-size: 24rpx;
|
||||
color: rgba(191, 191, 191, 1);
|
||||
font-weight: 400;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.feedbackRecord_fd1_3_c1_c01 {
|
||||
width: 160rpx;
|
||||
height: 160rpx;
|
||||
margin: 0rpx 24rpx 24rpx 0rpx;
|
||||
border-radius: 16rpx 16rpx 16rpx 16rpx;
|
||||
}
|
||||
|
||||
.feedbackRecord_fd1_3_c1_c001 {
|
||||
width: 160rpx;
|
||||
height: 160rpx;
|
||||
border-radius: 16rpx 16rpx 16rpx 16rpx;
|
||||
}
|
||||
|
||||
.feedbackRecord_fd1_3_c1_c000 {
|
||||
top: 0rpx;
|
||||
right: 0rpx;
|
||||
z-index: 10;
|
||||
color: #ff5536;
|
||||
}
|
||||
|
||||
.feedbackRecord_fd1_3_c1_c00 {
|
||||
margin: 0rpx 24rpx 24rpx 0rpx;
|
||||
}
|
||||
|
||||
.feedbackRecord_fd1_3_c1_c0 {
|
||||
padding: 24rpx 0rpx 0rpx 24rpx;
|
||||
}
|
||||
.header {
|
||||
|
||||
// border-bottom: 1px solid #f1f1f1;
|
||||
.title-right {
|
||||
font-size: 32rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: 500;
|
||||
color: #ff6464;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
font-size: 28upx;
|
||||
color: #333;
|
||||
|
||||
.change {
|
||||
min-height: 100vh;
|
||||
background-color: white;
|
||||
|
||||
.warp {
|
||||
width: 100%;
|
||||
background: #fff;
|
||||
padding-bottom: 32upx;
|
||||
|
||||
// border-bottom: 20upx solid #F8F9FC;
|
||||
// 反馈类型 start
|
||||
.feedback {
|
||||
padding: 0 25upx;
|
||||
|
||||
.feedback-top {
|
||||
margin-bottom: 24upx;
|
||||
height: 30upx;
|
||||
line-height: 30upx;
|
||||
|
||||
color: #1A1A1A;
|
||||
font-size: 32rpx;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.feedback-reason {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
justify-content: flex-start;
|
||||
|
||||
.margin-top-xs {
|
||||
padding: 12rpx 40rpx;
|
||||
text-align: center;
|
||||
font-size: 28upx;
|
||||
border-radius: 10upx;
|
||||
border: 1px solid #BFBFBF;
|
||||
margin-right: 20rpx;
|
||||
margin-top: 20rpx;
|
||||
|
||||
&.active {
|
||||
color: #fff;
|
||||
border: 1px solid #FF9300;
|
||||
background: #FF9300;
|
||||
// background: linear-gradient(270deg, rgba(241, 35, 19, 1) 0%, rgba(255, 187, 42, 1) 150%);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.block-box {
|
||||
background-color: #f1f1f1;
|
||||
height: 20rpx;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
// 反馈类型 end
|
||||
// 反馈内容 start
|
||||
.feedback-content {
|
||||
margin-top: 20rpx;
|
||||
padding: 0 0upx;
|
||||
|
||||
.feedback-content-top {
|
||||
margin-top: 20rpx;
|
||||
margin-bottom: 16upx;
|
||||
height: 30upx;
|
||||
line-height: 30upx;
|
||||
color: #1A1A1A;
|
||||
font-size: 32rpx;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.content {
|
||||
padding: 24rpx;
|
||||
|
||||
.textarea {
|
||||
width: 100%;
|
||||
height: 200rpx;
|
||||
font-size: 32rpx;
|
||||
color: #333333;
|
||||
word-wrap: break-word;
|
||||
word-break: break-all;
|
||||
word-break: break-word;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
image {
|
||||
width: 164upx;
|
||||
height: 164upx;
|
||||
margin-bottom: 18upx;
|
||||
}
|
||||
}
|
||||
|
||||
// 反馈内容 end
|
||||
.upload_desc {
|
||||
width: 100%;
|
||||
height: 33rpx;
|
||||
font-size: 24rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: 400;
|
||||
line-height: 33rpx;
|
||||
color: #BFBFBF;
|
||||
opacity: 1;
|
||||
padding: 0 25upx;
|
||||
}
|
||||
}
|
||||
|
||||
.image {
|
||||
width: 164upx;
|
||||
height: 164upx;
|
||||
margin-bottom: 18upx;
|
||||
|
||||
image {
|
||||
width: 164upx;
|
||||
height: 164upx;
|
||||
}
|
||||
}
|
||||
|
||||
// 反馈联系方式 start
|
||||
.feedback-contact {
|
||||
border-top: 20rpx solid #f1f1f1;
|
||||
padding: 0 25upx;
|
||||
background: #fff;
|
||||
|
||||
.feedback-contact-top {
|
||||
height: 80upx;
|
||||
color: #1A1A1A;
|
||||
font-size: 32rpx;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.feedback-contact-content {
|
||||
input {
|
||||
padding-top: 30rpx;
|
||||
padding-bottom: 10rpx;
|
||||
height: 100upx;
|
||||
width: 100%;
|
||||
font-size: 30rpx;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
border-bottom: 1upx solid #eee;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 反馈练习方式 end
|
||||
}
|
||||
}
|
||||
|
||||
// 反馈提交 start
|
||||
.footer-yy {
|
||||
padding-top: 60upx;
|
||||
padding-bottom: 100upx;
|
||||
|
||||
button {
|
||||
// width: 95%;
|
||||
// background: #fff !important;
|
||||
background: #FF9300;
|
||||
|
||||
// background-color:$fu-main-color !important;
|
||||
&:after {
|
||||
border: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.btn-primary {
|
||||
width: 686rpx;
|
||||
height: 88rpx;
|
||||
background: #FF9300;
|
||||
// box-shadow: 0px 6px 20px rgba(19, 163, 141, 0.3);
|
||||
opacity: 1;
|
||||
border-radius: 50rpx;
|
||||
font-size: 32rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: 500;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
// 反馈提交 end
|
||||
// 是否必填 start
|
||||
.no-require {
|
||||
margin-left: 10rpx;
|
||||
font-size: 24rpx;
|
||||
color: #999999;
|
||||
}
|
||||
|
||||
// 是否必填 end
|
||||
.add-img {
|
||||
width: 160rpx;
|
||||
height: 160rpx;
|
||||
}
|
||||
</style>
|
||||
429
pages/xtsz/feedbackRecord/feedbackRecord01.vue
Normal file
429
pages/xtsz/feedbackRecord/feedbackRecord01.vue
Normal file
@ -0,0 +1,429 @@
|
||||
<template>
|
||||
<view class="page" :style="themeColor">
|
||||
<view class="flex benben-position-layout flex flex-wrap align-center feedbackRecord_flex_0"
|
||||
:style="{height:(88+StatusBarRpx)+'rpx',paddingTop:StatusBarRpx+'rpx'}">
|
||||
<view class='flex flex-wrap align-center justify-between flex-sub feedbackRecord_fd0_0'>
|
||||
<view class='flex flex-wrap align-center feedbackRecord_fd0_0_c0' @tap.stop="handleJumpDiy" data-type="back"
|
||||
data-url="1">
|
||||
<text class='fu-iconfont2 feedbackRecord_fd0_0_c0_c0'></text>
|
||||
</view>
|
||||
<view class='flex flex-wrap align-center'>
|
||||
<text class='feedbackRecord_fd0_0_c1_c0'>我要反馈</text>
|
||||
</view>
|
||||
<view class='flex flex-wrap align-center justify-end feedbackRecord_fd0_0_c2' @tap.stop="handleJumpDiy"
|
||||
data-type="navigateTo" :data-url="`/pages/xtsz/historicalFeedback/historicalFeedback`">
|
||||
<text class='feedbackRecord_fd0_0_c2_c0'>历史反馈</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<view :style="{height: (88+StatusBarRpx)+'rpx'}"></view>
|
||||
<!---意见反馈表单flex布局开始-->
|
||||
<view class="flex flex-direction flex-wrap align-stretch benben-flex-layout feedbackRecord_flex_1">
|
||||
<view class='flex flex-wrap align-center feedbackRecord_fd1_0'>
|
||||
<text class='feedbackRecord_fd1_0_c0'>反馈类型</text>
|
||||
</view>
|
||||
<view class='flex flex-direction flex-wrap align-stretch feedbackRecord_fd1_1'>
|
||||
<benben-select-diy ref="showSelectPopup1681201808828" class-name='flex flex-wrap align-center flex'
|
||||
:items.sync="select_type" v-model="select_id" default-type="value" default-label="name" :allow-cancel='false'
|
||||
type="radio" :disabled='false'>
|
||||
<template v-for='(item,key0) in select_type'>
|
||||
<view v-if="item.isSelected" class='flex align-center justify-center flex feedbackRecord_fd1_1_c0_c0'
|
||||
:key="key0" @tap="$refs.showSelectPopup1681201808828.tapHandle(key0)">
|
||||
<text class='flex-sub feedbackRecord_fd1_1_c0_c0_c0'>{{item.name}}</text>
|
||||
</view>
|
||||
<view v-else class='flex align-center justify-center flex feedbackRecord_fd1_1_c0_c1' :key="key0"
|
||||
@tap="$refs.showSelectPopup1681201808828.tapHandle(key0)">
|
||||
<text class='flex-sub feedbackRecord_fd1_1_c0_c1_c0'>{{item.name}}</text>
|
||||
</view>
|
||||
</template>
|
||||
</benben-select-diy>
|
||||
</view>
|
||||
<text class='feedbackRecord_fd1_2'>问题描述</text>
|
||||
<view class='flex flex-direction flex-wrap align-stretch feedbackRecord_fd1_3'>
|
||||
<view class='flex flex-wrap feedbackRecord_fd1_3_c0'>
|
||||
<textarea class='flex feedbackRecord_input_fd1_3_c0' confirm-type="done"
|
||||
:placeholder="'问题描述的越详细,有助于我们更快的解决问题'" :maxlength="240" placeholder-style="color:#999;font-size:28rpx"
|
||||
v-model="problemDescription" />
|
||||
|
||||
</view>
|
||||
<view class='flex flex-direction flex-wrap align-stretch'>
|
||||
<benben-images-upload ref="benbenImagesUploadfd1_3_c1_c0" :img-list.sync="singleImageUpload"
|
||||
:is-show-tips='true' :maxlength="9">
|
||||
<template #content="{ num, maxlength, isShow, imgList }">
|
||||
<view class="flex flex-wrap align-start flex feedbackRecord_fd1_3_c1_c0">
|
||||
|
||||
<view v-for="(image, index) in imgList" :key="index"
|
||||
class='flex position-relative feedbackRecord_fd1_3_c1_c00'>
|
||||
<text class='fu-iconfont2 position-absolute feedbackRecord_fd1_3_c1_c000'
|
||||
@tap.stop="$refs.benbenImagesUploadfd1_3_c1_c0.delImage(index)"></text>
|
||||
<image class='feedbackRecord_fd1_3_c1_c001'
|
||||
@tap.stop="$refs.benbenImagesUploadfd1_3_c1_c0.previewImage(index)" mode="aspectFit" :src='image'>
|
||||
</image>
|
||||
</view>
|
||||
|
||||
<image class='feedbackRecord_fd1_3_c1_c01'
|
||||
@tap.stop="$refs.benbenImagesUploadfd1_3_c1_c0.manyChooseImage()" v-if="isShow" mode="aspectFit"
|
||||
:src='STATIC_URL+"140.jpg"'></image>
|
||||
<text class='image_upload_tips feedbackRecord_fd1_3_c1_c02'>请上传应用截图,最多上传6张</text>
|
||||
</view>
|
||||
</template>
|
||||
</benben-images-upload>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!---意见反馈表单flex布局结束-->
|
||||
<!---flex布局flex布局开始-->
|
||||
<view class="flex benben-flex-layout flex-wrap align-center">
|
||||
<view class='flex flex-wrap align-center flex-sub feedbackRecord_fd2_0'>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!---flex布局flex布局结束-->
|
||||
<!---flex布局flex布局开始-->
|
||||
<view class="flex benben-flex-layout flex-wrap align-center feedbackRecord_flex_3">
|
||||
<view class='flex flex-direction flex-wrap align-start flex-sub feedbackRecord_fd3_0'>
|
||||
<view class='flex flex-wrap align-center'>
|
||||
<text class='feedbackRecord_fd3_0_c0_c0'>请留下您的联系方式</text>
|
||||
</view>
|
||||
<view class='flex flex-wrap align-center feedbackRecord_fd3_0_c1'>
|
||||
<input class='feedbackRecord_fd3_0_c1_c0' type="text" placeholder="手机号/邮箱/QQ号" confirm-type="done"
|
||||
:maxlength="-1" placeholder-style="color:rgba(191, 191, 191, 1);font-size:28rpx"
|
||||
v-model="contactInformation" />
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!---flex布局flex布局结束-->
|
||||
<view class="flex flex-wrap align-start justify-center benben-position-layout flex feedbackRecord_flex_4">
|
||||
<button class='flex-sub feedbackRecord_fd4_0' @tap.stop="sumbitFunc()">提交</button>
|
||||
|
||||
</view>
|
||||
<view :style="{height: '136rpx'}"></view>
|
||||
|
||||
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
import {
|
||||
validate
|
||||
} from '@/common/utils/validate.js'
|
||||
export default {
|
||||
components: {},
|
||||
|
||||
|
||||
data() {
|
||||
return {
|
||||
"select_id": "1",
|
||||
"select_type": [{
|
||||
"name": "下载/加载问题",
|
||||
"value": "1",
|
||||
"image": ""
|
||||
}, {
|
||||
"name": "会员付费问题",
|
||||
"value": "2",
|
||||
"image": ""
|
||||
}, {
|
||||
"name": "章节/图片问题",
|
||||
"value": "3",
|
||||
"image": ""
|
||||
}, {
|
||||
"name": "APP体验问题",
|
||||
"value": "4",
|
||||
"image": ""
|
||||
}, {
|
||||
"name": "卡顿/不流畅",
|
||||
"value": "5",
|
||||
"image": ""
|
||||
}, {
|
||||
"name": "其他",
|
||||
"value": "6",
|
||||
"image": ""
|
||||
}],
|
||||
"problemDescription": "",
|
||||
"singleImageUpload": [],
|
||||
"contactInformation": ""
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
themeColor() {
|
||||
return this.$store.getters.themeColor
|
||||
},
|
||||
|
||||
},
|
||||
watch: {},
|
||||
onLoad(options) {
|
||||
|
||||
},
|
||||
onUnload() {
|
||||
|
||||
},
|
||||
onReady() {
|
||||
|
||||
},
|
||||
onShow() {
|
||||
|
||||
},
|
||||
onHide() {
|
||||
|
||||
},
|
||||
onResize() {
|
||||
|
||||
},
|
||||
onPullDownRefresh() {
|
||||
|
||||
},
|
||||
onReachBottom(e) {
|
||||
|
||||
},
|
||||
onPageScroll(e) {
|
||||
|
||||
},
|
||||
methods: {
|
||||
//提交
|
||||
sumbitFunc() {
|
||||
if (!validate(this.select_id, 'require')) {
|
||||
this.$message.info('反馈类型不能为空');
|
||||
return false;
|
||||
}
|
||||
if (!validate(this.problemDescription, 'require')) {
|
||||
this.$message.info('问题描述不能为空');
|
||||
return false;
|
||||
}
|
||||
if (!(this.singleImageUpload.length > 1)) {
|
||||
this.$message.info('图片不能为空');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.page {
|
||||
width: 100vw;
|
||||
overflow-x: hidden;
|
||||
min-height: calc(100vh - var(--window-bottom));
|
||||
background: rgba(255, 255, 255, 1);
|
||||
background-size: 100% auto !important;
|
||||
}
|
||||
|
||||
.feedbackRecord_flex_0 {
|
||||
background: #fff;
|
||||
width: 750rpx;
|
||||
height: 88rpx;
|
||||
overflow: hidden;
|
||||
z-index: 10;
|
||||
top: 0rpx;
|
||||
background-size: 100% auto !important;
|
||||
}
|
||||
|
||||
.feedbackRecord_fd0_0_c2_c0 {
|
||||
line-height: 35rpx;
|
||||
font-size: 32rpx;
|
||||
font-weight: 400;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.feedbackRecord_fd0_0_c2 {
|
||||
width: 150rpx;
|
||||
}
|
||||
|
||||
.feedbackRecord_fd0_0_c1_c0 {
|
||||
font-size: 36rpx;
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
line-height: 88rpx;
|
||||
}
|
||||
|
||||
.feedbackRecord_fd0_0_c0_c0 {
|
||||
font-size: 36rpx;
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
line-height: 36rpx;
|
||||
}
|
||||
|
||||
.feedbackRecord_fd0_0_c0 {
|
||||
width: 150rpx;
|
||||
}
|
||||
|
||||
.feedbackRecord_fd0_0 {
|
||||
margin: 0rpx 32rpx 0rpx 32rpx;
|
||||
}
|
||||
|
||||
.feedbackRecord_flex_1 {
|
||||
background: #fff;
|
||||
background-size: 100% auto !important;
|
||||
}
|
||||
|
||||
.feedbackRecord_fd1_3_c1_c02 {
|
||||
font-size: 24rpx;
|
||||
color: rgba(191, 191, 191, 1);
|
||||
font-weight: 400;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.feedbackRecord_fd1_3_c1_c01 {
|
||||
width: 160rpx;
|
||||
height: 160rpx;
|
||||
margin: 0rpx 24rpx 24rpx 0rpx;
|
||||
border-radius: 16rpx 16rpx 16rpx 16rpx;
|
||||
}
|
||||
|
||||
.feedbackRecord_fd1_3_c1_c001 {
|
||||
width: 160rpx;
|
||||
height: 160rpx;
|
||||
border-radius: 16rpx 16rpx 16rpx 16rpx;
|
||||
}
|
||||
|
||||
.feedbackRecord_fd1_3_c1_c000 {
|
||||
top: 0rpx;
|
||||
right: 0rpx;
|
||||
z-index: 10;
|
||||
color: #ff5536;
|
||||
}
|
||||
|
||||
.feedbackRecord_fd1_3_c1_c00 {
|
||||
margin: 0rpx 24rpx 24rpx 0rpx;
|
||||
}
|
||||
|
||||
.feedbackRecord_fd1_3_c1_c0 {
|
||||
padding: 24rpx 0rpx 0rpx 24rpx;
|
||||
}
|
||||
|
||||
.feedbackRecord_input_fd1_3_c0 {
|
||||
width: 100%;
|
||||
height: 166rpx;
|
||||
font-size: 28rpx;
|
||||
font-weight: 400;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.feedbackRecord_fd1_3_c0 {
|
||||
width: 686rpx;
|
||||
border-radius: 10rpx 10rpx 10rpx 10rpx;
|
||||
margin: 0rpx 0rpx 0rpx 32rpx;
|
||||
padding: 0rpx 0rpx 24rpx 0rpx;
|
||||
}
|
||||
|
||||
.feedbackRecord_fd1_3 {
|
||||
margin: 0rpx 0rpx 32rpx 0rpx;
|
||||
}
|
||||
|
||||
.feedbackRecord_fd1_2 {
|
||||
font-size: 32rpx;
|
||||
font-weight: 500;
|
||||
color: #1A1A1A;
|
||||
line-height: 109rpx;
|
||||
margin: 0rpx 32rpx 0rpx 32rpx;
|
||||
}
|
||||
|
||||
.feedbackRecord_fd1_1_c0_c1_c0 {
|
||||
-webkit-line-clamp: 1;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
}
|
||||
|
||||
.feedbackRecord_fd1_1_c0_c1 {
|
||||
border: 1px solid rgba(191, 191, 191, 1);
|
||||
background: #fff;
|
||||
margin: 24rpx 16rpx 0rpx 16rpx;
|
||||
height: 64rpx;
|
||||
border-radius: 12rpx 12rpx 12rpx 12rpx;
|
||||
width: 206rpx;
|
||||
color: rgba(153, 153, 153, 1);
|
||||
font-size: 28rpx;
|
||||
line-height: 64rpx;
|
||||
font-weight: 400;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.feedbackRecord_fd1_1_c0_c0_c0 {
|
||||
-webkit-line-clamp: 1;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
}
|
||||
|
||||
.feedbackRecord_fd1_1_c0_c0 {
|
||||
background: rgba(255, 147, 0, 1);
|
||||
margin: 24rpx 16rpx 0rpx 16rpx;
|
||||
height: 64rpx;
|
||||
border-radius: 12rpx 12rpx 12rpx 12rpx;
|
||||
width: 206rpx;
|
||||
color: rgba(255, 255, 255, 1);
|
||||
font-size: 28rpx;
|
||||
line-height: 64rpx;
|
||||
font-weight: 400;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.feedbackRecord_fd1_1 {
|
||||
border-bottom: 10px solid rgba(246, 247, 248, 1);
|
||||
padding: 0rpx 16rpx 16rpx 16rpx;
|
||||
}
|
||||
|
||||
.feedbackRecord_fd1_0_c0 {
|
||||
font-size: 32rpx;
|
||||
font-weight: 500;
|
||||
color: #1A1A1A;
|
||||
margin: 0rpx 32rpx 0rpx 32rpx;
|
||||
}
|
||||
|
||||
.feedbackRecord_fd1_0 {
|
||||
padding: 32rpx 0rpx 0rpx 0rpx;
|
||||
}
|
||||
|
||||
.feedbackRecord_fd2_0 {
|
||||
background: rgba(246, 247, 249, 1);
|
||||
height: 20rpx;
|
||||
background-size: 100% auto !important;
|
||||
}
|
||||
|
||||
.feedbackRecord_flex_3 {
|
||||
padding: 0rpx 0rpx 0rpx 32rpx;
|
||||
}
|
||||
|
||||
.feedbackRecord_fd3_0_c1_c0 {
|
||||
width: 600rpx;
|
||||
}
|
||||
|
||||
.feedbackRecord_fd3_0_c1 {
|
||||
margin: 32rpx 0rpx 0rpx 0rpx;
|
||||
}
|
||||
|
||||
.feedbackRecord_fd3_0_c0_c0 {
|
||||
color: #1A1A1A;
|
||||
font-size: 32rpx;
|
||||
font-weight: 500;
|
||||
line-height: 32rpx;
|
||||
}
|
||||
|
||||
.feedbackRecord_fd3_0 {
|
||||
border-bottom: 1px solid #eee;
|
||||
padding: 40rpx 0rpx 24rpx 0rpx;
|
||||
}
|
||||
|
||||
.feedbackRecord_flex_4 {
|
||||
width: 750rpx;
|
||||
height: 136rpx;
|
||||
overflow: hidden;
|
||||
z-index: 10;
|
||||
bottom: calc(0rpx + var(--window-bottom));
|
||||
}
|
||||
|
||||
.feedbackRecord_fd4_0 {
|
||||
background: rgba(255, 147, 0, 1);
|
||||
border-radius: 100rpx 100rpx 100rpx 100rpx;
|
||||
font-size: 32rpx;
|
||||
color: #fff;
|
||||
margin: 0rpx 32rpx 0rpx 32rpx;
|
||||
height: 88rpx;
|
||||
line-height: 88rpx;
|
||||
width: 686rpx;
|
||||
font-weight: 400;
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user