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

245 lines
10 KiB
Vue

<template>
<view class="page" :style="themeColor">
<view class="flex benben-position-layout flex flex-wrap align-center reportingMerchants_flex_0" :style="{height:(88+StatusBarRpx)+'rpx',paddingTop:StatusBarRpx+'rpx'}">
<view class='flex flex-wrap align-center justify-between flex-sub reportingMerchants_fd0_0' >
<view class='flex flex-wrap align-center' @tap.stop="handleJumpDiy" data-type="back" data-url="1" >
<text class='fu-iconfont2 reportingMerchants_fd0_0_c0_c0' @tap.stop="handleJumpDiy" data-type="back" data-url="1" >&#xE794;</text>
</view>
<view class='flex flex-wrap align-stretch justify-center flex-sub' >
<text class='reportingMerchants_fd0_0_c1_c0' >举报商家</text>
</view>
<view class='flex flex-wrap align-center reportingMerchants_fd0_0_c2' >
</view>
</view>
</view>
<view :style="{height: (88+StatusBarRpx)+'rpx'}" ></view>
<!---意见反馈表单flex布局开始-->
<view class="flex flex-direction flex-wrap align-stretch benben-flex-layout reportingMerchants_flex_1" >
<view class='flex flex-wrap align-center reportingMerchants_fd1_0' >
<text class='reportingMerchants_fd1_0_c0' >举报类型</text>
</view>
<view class='flex flex-direction flex-wrap align-stretch reportingMerchants_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 reportingMerchants_fd1_1_c0_c0' :key="key0" @tap="$refs.showSelectPopup1681201808828.tapHandle(key0)" >
<text class='flex-sub reportingMerchants_fd1_1_c0_c0_c0' >{{item.name}}</text>
</view> <view v-else class='flex align-center justify-center flex reportingMerchants_fd1_1_c0_c1' :key="key0" @tap="$refs.showSelectPopup1681201808828.tapHandle(key0)" >
<text class='flex-sub reportingMerchants_fd1_1_c0_c1_c0' >{{item.name}}</text>
</view></template></benben-select-diy>
</view>
<text class='reportingMerchants_fd1_2' >举报内容</text>
<view class='flex flex-direction flex-wrap align-stretch reportingMerchants_fd1_3' >
<view class='flex flex-wrap reportingMerchants_fd1_3_c0'>
<textarea class='flex reportingMerchants_input_fd1_3_c0' confirm-type="done" :placeholder="'问题描述的越详细,有助于我们更快的解决问题'" :maxlength="240" placeholder-style="color:rgba(191, 191, 191, 1);font-size:28rpx" v-model="problemDescription" />
</view>
<view class='flex flex-direction flex-wrap align-start reportingMerchants_fd1_3_c1' >
<view class="upload position-relative">
<text v-if="imageUpload != ''" @tap="imageUpload = ''" class='fu-iconfont2 position-absolute reportingMerchants_fd1_3_c1_c0_icon' >&#xE8E7;</text>
<image class=" reportingMerchants_fd1_3_c1_c0_image" mode="aspectFit" @tap="soloChooseImage('imageUpload','imageUpload',false,false)" :src="imageUpload ? imageUpload : STATIC_URL+'81.png'"></image>
</view>
<text class='reportingMerchants_fd1_3_c1_c1' >可上传1张图片</text>
</view>
</view>
</view>
<!---意见反馈表单flex布局结束-->
<!---flex布局flex布局开始-->
<view class="flex flex-direction flex-wrap align-stretch benben-flex-layout reportingMerchants_flex_2" >
<view class='flex flex-wrap align-center reportingMerchants_fd2_0' >
<text class='reportingMerchants_fd2_0_c0' >请留下您的联系方式</text>
</view>
<view class='flex flex-wrap align-center reportingMerchants_fd2_1' >
<input class='flex-sub' 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>
<!---flex布局flex布局结束-->
<view class="flex flex-wrap align-start justify-center benben-position-layout flex reportingMerchants_flex_3" >
<button class='flex-sub reportingMerchants_fd3_0' @tap.stop="sumbitFunc()" >提交</button>
</view>
<view :style="{height: '136rpx'}" ></view>
</view>
</template>
<script>
import UploadImage from '@/common/utils/upload-image.js'
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":"其他问题","value":"4","image":""},{"name":"其他问题","value":"5","image":""},{"name":"其他问题","value":"6","image":""}],"problemDescription":"","imageUpload":"","contactInformation":""};
},
computed:{
themeColor() {
return this.$store.getters.themeColor
},
},
watch:{},
onLoad(options){
},
onUnload() {
},
onReady(){
},
onShow(){
},
onHide(){
},
onResize(){
},
onPullDownRefresh(){
},
onReachBottom(e){
},
onPageScroll(e){
},
methods:{
//上传单图、多图方法
soloChooseImage(id, path, obj, obj1, fnName = false) {
let self = this
if (!obj) obj = this
if (!obj1) obj1 = this
if (self.uploading) {
return
}
// 从相册中选择图片
uni.chooseImage({
count: 1, // 默认3
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
success: function (res) {
self.uploading = true
// 开始上传
new UploadImage(res.tempFiles, {
complete: function (res) {
self.uploading = false
if (id) self.$set(obj, id, res[0].id)
if (path) self.$set(obj1, path, res[0].path)
if (fnName) self[fnName]()
},
})
},
})
},
//提交
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;
}
.reportingMerchants_flex_0{
background:#fff;width:750rpx;height:88rpx;overflow:hidden;z-index:10;top:0rpx;background-size:100% auto !important;
}
.reportingMerchants_fd0_0_c2{
width:32rpx;height:32rpx;
}
.reportingMerchants_fd0_0_c1_c0{
font-size:36rpx;font-weight:500;color:#333;line-height:88rpx;
}
.reportingMerchants_fd0_0_c0_c0{
font-size:32rpx;font-weight:500;color:#333;line-height:88rpx;
}
.reportingMerchants_fd0_0{
margin:0rpx 32rpx 0rpx 32rpx;
}
.reportingMerchants_flex_1{
background:#fff;background-size:100% auto !important;
}
.reportingMerchants_fd1_3_c1_c1{
color:#BFBFBF;font-size:24rpx;font-weight:400;line-height:24rpx;margin:24rpx 0rpx 0rpx 0rpx;
}
.reportingMerchants_fd1_3_c1_c0_image{
width:180rpx;height:180rpx;
}
.reportingMerchants_fd1_3_c1_c0_icon{
top:0rpx;right:0rpx;z-index:10;color:#ff5536;
}
.reportingMerchants_fd1_3_c1{
padding:0rpx 32rpx 0rpx 32rpx;
}
.reportingMerchants_input_fd1_3_c0{
width:100%;height:114rpx;font-size:28rpx;font-weight:400;color:#333;
}
.reportingMerchants_fd1_3_c0{
width:686rpx;border-radius:10rpx 10rpx 10rpx 10rpx;margin:0rpx 0rpx 0rpx 32rpx;padding:0rpx 0rpx 24rpx 0rpx;
}
.reportingMerchants_fd1_3{
margin:0rpx 0rpx 32rpx 0rpx;
}
.reportingMerchants_fd1_2{
font-size:32rpx;font-weight:500;color:#1A1A1A;line-height:109rpx;margin:0rpx 32rpx 0rpx 32rpx;
}
.reportingMerchants_fd1_1_c0_c1_c0{
font-size:28rpx;font-weight:400;color:rgba(153, 153, 153, 1);line-height:62rpx;-webkit-line-clamp:1;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;text-align:center;
}
.reportingMerchants_fd1_1_c0_c1{
border:1px solid rgba(191, 191, 191, 1);background:#fff;margin:16rpx 16rpx 16rpx 16rpx;height:64rpx;border-radius:8rpx 8rpx 8rpx 8rpx;width:206rpx;padding:0rpx 10rpx 0rpx 10rpx;
}
.reportingMerchants_fd1_1_c0_c0_c0{
font-size:28rpx;font-weight:400;color:#fff;line-height:62rpx;-webkit-line-clamp:1;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;text-align:center;
}
.reportingMerchants_fd1_1_c0_c0{
background:rgba(255, 147, 0, 1);margin:16rpx 16rpx 16rpx 16rpx;height:64rpx;border-radius:8rpx 8rpx 8rpx 8rpx;width:206rpx;padding:0rpx 10rpx 0rpx 10rpx;
}
.reportingMerchants_fd1_1{
border-bottom:10px solid rgba(246, 247, 248, 1);padding:0rpx 16rpx 16rpx 16rpx;
}
.reportingMerchants_fd1_0_c0{
font-size:32rpx;font-weight:500;color:#1A1A1A;margin:0rpx 32rpx 0rpx 32rpx;
}
.reportingMerchants_fd1_0{
padding:32rpx 0rpx 32rpx 0rpx;
}
.reportingMerchants_flex_2{
padding:40rpx 0rpx 0rpx 32rpx;
}
.reportingMerchants_fd2_1{
border-bottom:1px solid #eee;padding:0rpx 0rpx 24rpx 0rpx;
}
.reportingMerchants_fd2_0_c0{
color:#1A1A1A;font-size:32rpx;font-weight:500;line-height:32rpx;
}
.reportingMerchants_fd2_0{
margin:0rpx 0rpx 32rpx 0rpx;
}
.reportingMerchants_flex_3{
width:750rpx;height:136rpx;overflow:hidden;z-index:10;bottom:calc(0rpx + var(--window-bottom));
}
.reportingMerchants_fd3_0{
background:rgba(255, 147, 0, 1);border-radius:100rpx 100rpx 100rpx 100rpx;font-size:32rpx;color:#fff;margin:0rpx 32rpx 0rpx 32rpx;height:80rpx;line-height:80rpx;width:686rpx;font-weight:400;
}
</style>