245 lines
10 KiB
Vue
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" ></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' ></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> |