Files
2025-04-30 14:04:34 +08:00

430 lines
12 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" :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'>&#xE794;</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)">&#xE8E7;</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>