初始化万家商超用户端仓库

This commit is contained in:
wangxiaowei
2025-04-30 14:04:34 +08:00
commit 022c640d89
425 changed files with 160005 additions and 0 deletions

View File

@ -0,0 +1,486 @@
<template>
<view class="page" :style="themeColor" v-if="isLoading">
<view class="flex benben-position-layout flex flex-wrap align-center ImmediatEevaluation_flex_0"
:style="{height:(88+StatusBarRpx)+'rpx',paddingTop:StatusBarRpx+'rpx'}">
<view class='flex flex-wrap align-center justify-between flex-sub ImmediatEevaluation_fd0_0'>
<view class='flex flex-wrap align-center' @tap.stop="handleJumpDiy" data-type="back" data-url="1">
<text class='fu-iconfont2 ImmediatEevaluation_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='ImmediatEevaluation_fd0_0_c1_c0'>评价</text>
</view>
<view class='flex flex-wrap align-center ImmediatEevaluation_fd0_0_c2'>
</view>
</view>
</view>
<view :style="{height: (88+StatusBarRpx)+'rpx'}"></view>
<!---flex布局flex布局开始-->
<view class="flex flex-direction flex-wrap align-stretch benben-flex-layout ImmediatEevaluation_flex_1">
<view class='flex flex-wrap align-center ImmediatEevaluation_fd1_0'>
<image class='ImmediatEevaluation_fd1_0_c0' mode="aspectFill" :src='info.store_info.logo'></image>
<text class='ImmediatEevaluation_fd1_0_c1'>{{info.store_info.store_name}}</text>
</view>
<view class='flex flex-direction flex-wrap align-stretch'>
<view class='flex flex-wrap align-center ImmediatEevaluation_fd1_1_c0'>
<text class='ImmediatEevaluation_fd1_1_c0_c0'>商家评分</text>
<view class='flex flex-wrap align-center'>
<template v-for="starNum in [1,2,3,4,5]">
<image @tap="handleChooseStar('fd1_1_c0_c1', starNum)" v-if="fd1_1_c0_c1 >= starNum" :key="starNum" class='ImmediatEevaluation_star1fd1_1_c0_c1'
mode="aspectFit" :src='STATIC_URL+"31.png"'></image>
<image @tap="handleChooseStar('fd1_1_c0_c1', starNum)" v-else :key="starNum" class='ImmediatEevaluation_star1fd1_1_c0_c1' mode="aspectFit"
:src='STATIC_URL+"164.png"'></image>
</template>
</view>
</view>
<view class='flex flex-wrap align-center ImmediatEevaluation_fd1_1_c1'>
<text class='ImmediatEevaluation_fd1_1_c1_c0'>服务态度</text>
<view class='flex flex-wrap align-center'>
<template v-for="starNum in [1,2,3,4,5]">
<image @tap="handleChooseStar('fd1_1_c1_c1', starNum)" v-if="fd1_1_c1_c1 >= starNum" :key="starNum" class='ImmediatEevaluation_star1fd1_1_c1_c1'
mode="aspectFit" :src='STATIC_URL+"31.png"'></image>
<image @tap="handleChooseStar('fd1_1_c1_c1', starNum)" v-else :key="starNum" class='ImmediatEevaluation_star1fd1_1_c1_c1' mode="aspectFit"
:src='STATIC_URL+"164.png"'></image>
</template>
</view>
</view>
<view class='flex flex-wrap align-center ImmediatEevaluation_fd1_1_c2'>
<text class='ImmediatEevaluation_fd1_1_c2_c0'>菜品口味</text>
<view class='flex flex-wrap align-center'>
<template v-for="starNum in [1,2,3,4,5]">
<image @tap="handleChooseStar('fd1_1_c2_c1', starNum)" v-if="fd1_1_c2_c1 >= starNum" :key="starNum" class='ImmediatEevaluation_star1fd1_1_c2_c1'
mode="aspectFit" :src='STATIC_URL+"31.png"'></image>
<image @tap="handleChooseStar('fd1_1_c2_c1', starNum)" v-else :key="starNum" class='ImmediatEevaluation_star1fd1_1_c2_c1' mode="aspectFit"
:src='STATIC_URL+"164.png"'></image>
</template>
</view>
</view>
</view>
<view class='flex flex-wrap align-center'>
<view class='flex flex-wrap ImmediatEevaluation_fd1_2_c0'>
<textarea class='flex ImmediatEevaluation_input_fd1_2_c0' :placeholder="'请输入您的评价'" :maxlength="240"
placeholder-style="color:rgba(191, 191, 191, 1);font-size:28rpx" v-model="field" />
</view>
</view>
<view class='flex flex-wrap align-center ImmediatEevaluation_fd1_3'>
<text class='ImmediatEevaluation_fd1_3_c0'>添加照片</text>
<text class='ImmediatEevaluation_fd1_3_c1'>最多可上传9张</text>
</view>
<view class='flex flex-wrap align-center'>
<benben-images-upload ref="benbenImagesUploadfd1_4_c0" :img-list.sync="mastphoto_list" :img-ids.sync="mastphoto"
:maxlength="9">
<template #content="{ num, maxlength, isShow, imgList }">
<view class="flex flex-wrap align-start flex ImmediatEevaluation_fd1_4_c0">
<view v-for="(image, index) in imgList" :key="index"
class='flex position-relative ImmediatEevaluation_fd1_4_c00'>
<text class='fu-iconfont2 position-absolute ImmediatEevaluation_fd1_4_c000'
@tap.stop="$refs.benbenImagesUploadfd1_4_c0.delImage(index)">&#xE8E7;</text>
<image class='ImmediatEevaluation_fd1_4_c001'
@tap.stop="$refs.benbenImagesUploadfd1_4_c0.previewImage(index)" mode="aspectFill" :src='image'>
</image>
</view>
<image class='ImmediatEevaluation_fd1_4_c01'
@tap.stop="$refs.benbenImagesUploadfd1_4_c0.manyChooseImage()" v-if="isShow" mode="aspectFill"
:src='STATIC_URL+"81.png"'></image>
</view>
</template>
</benben-images-upload>
</view>
<view class='flex flex-wrap align-center'>
<benben-flex-switch-new class-name='flex flex' v-model="is_Anonymous" :disabled='false' :auto='true'>
<template v-slot:checked>
<view class='flex flex position-relative align-center'>
<image class='ImmediatEevaluation_checkfd1_5_c0_c0_c0' mode="aspectFit" :src='STATIC_URL+"85.png"'>
</image>
</view>
</template>
<template v-slot:unchecked>
<view class='flex flex position-relative justify-end align-center'>
<image class='ImmediatEevaluation_noCheckfd1_5_c0_c1_c0' mode="aspectFit" :src='STATIC_URL+"123.png"'>
</image>
</view>
</template>
</benben-flex-switch-new>
<text class='ImmediatEevaluation_fd1_5_c1'>匿名提交</text>
</view>
</view>
<!---flex布局flex布局结束-->
<view class="flex flex-direction flex-wrap align-center benben-position-layout flex ImmediatEevaluation_flex_2">
<button class='ImmediatEevaluation_fd2_0' @tap.stop="submitEvaluationFunc()">提交</button>
</view>
<view :style="{height: '128rpx'}"></view>
</view>
</template>
<script>
import {
validate
} from '@/common/utils/validate.js'
export default {
components: {},
data() {
return {
"fd1_1_c0_c1": "5",
"fd1_1_c1_c1": "5",
"fd1_1_c2_c1": "5",
"is_Anonymous": false,
"field": "",
"mastphoto_list": [],
"mastphoto": "",
sn: '',
isLoading: false,
info: {},
isSubmit: false
};
},
computed: {
themeColor() {
return this.$store.getters.themeColor
},
},
watch: {},
onLoad(options) {
this.sn = options.sn || '';
},
onUnload() {
},
onReady() {
},
onShow() {
this.getOrderDetail();
},
onHide() {
},
onResize() {
},
onPullDownRefresh() {
},
onReachBottom(e) {
},
onPageScroll(e) {
},
methods: {
handleChooseStar(name, star) {
this[name]= star;
},
/**
* 获取订单详情
*/
getOrderDetail() {
this.$api.post(global.apiUrls.getOrderDetail, {
order_sn: this.sn
}).then(res => {
if (res.data.code == 1) {
this.isLoading = true
this.info = res.data.data;
}
})
.catch(err => {
console.log(err);
});
},
//提交评价
submitEvaluationFunc() {
if (!validate(this.field, 'require')) {
this.$message.info('评价不能为空');
return false;
}
// if (!(this.mastphoto_list.length != 0)) {
// this.$message.info('请上传图片');
// return false;
// }
if (this.isSubmit) return;
this.isSubmit = true;
uni.showLoading({
title: '正在提交~',
mask: true
})
let params = {
order_sn: this.sn,
score: this.fd1_1_c0_c1,
service_score: this.fd1_1_c1_c1,
goods_score: this.fd1_1_c2_c1,
images: this.mastphoto,
content: this.field,
is_anonymous: this.is_Anonymous ? 1 :0
}
this.$api.post(global.apiUrls.postAddOrderComment, params).then(res => {
this.$message.info(res.data.msg);
console.log(res);
uni.hideLoading()
if (res.data.code == 1) {
// 提交成功返回上页面
setTimeout(() => {
this.$urouter.redirectTo(`/pages/dpxq/evaluateResults/evaluateResults`);
}, 1200);
} else {
this.isSubmit = 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;
}
.ImmediatEevaluation_flex_0 {
background: rgba(255, 147, 0, 1);
width: 750rpx;
height: 88rpx;
overflow: hidden;
z-index: 10;
top: 0rpx;
background-size: 100% auto !important;
}
.ImmediatEevaluation_fd0_0_c2 {
width: 32rpx;
height: 32rpx;
}
.ImmediatEevaluation_fd0_0_c1_c0 {
font-size: 36rpx;
font-weight: 500;
color: rgba(255, 255, 255, 1);
line-height: 88rpx;
}
.ImmediatEevaluation_fd0_0_c0_c0 {
font-size: 32rpx;
font-weight: 500;
color: rgba(255, 255, 255, 1);
line-height: 88rpx;
}
.ImmediatEevaluation_fd0_0 {
margin: 0rpx 32rpx 0rpx 32rpx;
}
.ImmediatEevaluation_flex_1 {
padding: 32rpx 32rpx 32rpx 32rpx;
}
.ImmediatEevaluation_fd1_5_c1 {
margin: 0rpx 0rpx 0rpx 016rpx;
color: #333333;
font-size: 24rpx;
font-weight: 400;
line-height: 24rpx;
}
.ImmediatEevaluation_noCheckfd1_5_c0_c1_c0 {
border-radius: 24rpx 24rpx 24rpx 24rpx;
width: 34rpx;
height: 34rpx;
}
.ImmediatEevaluation_checkfd1_5_c0_c0_c0 {
width: 34rpx;
height: 34rpx;
border-radius: 24rpx 24rpx 24rpx 24rpx;
}
.ImmediatEevaluation_fd1_4_c01 {
width: 180rpx;
height: 180rpx;
margin: 0rpx 24rpx 24rpx 0rpx;
}
.ImmediatEevaluation_fd1_4_c001 {
width: 180rpx;
height: 180rpx;
}
.ImmediatEevaluation_fd1_4_c000 {
top: 0rpx;
right: 0rpx;
z-index: 10;
color: #ff5536;
}
.ImmediatEevaluation_fd1_4_c00 {
margin: 0rpx 24rpx 24rpx 0rpx;
}
.ImmediatEevaluation_fd1_4_c0 {
width: 750rpx;
margin: 24rpx 0rpx 0rpx 0rpx;
}
.ImmediatEevaluation_fd1_3_c1 {
color: #BFBFBF;
font-size: 20rpx;
font-weight: 400;
line-height: 27rpx;
margin: 0rpx 0rpx 0rpx 8rpx;
}
.ImmediatEevaluation_fd1_3_c0 {
color: #333333;
font-size: 28rpx;
font-weight: 500;
line-height: 27rpx;
}
.ImmediatEevaluation_fd1_3 {
margin: 32rpx 0rpx 0rpx 0rpx;
}
.ImmediatEevaluation_input_fd1_2_c0 {
width: 686%;
height: 140rpx;
font-size: 28rpx;
font-weight: 400;
color: #333;
white-space: pre-wrap;
}
.ImmediatEevaluation_fd1_2_c0 {
background: rgba(246, 247, 249, 1);
width: 686rpx;
border-radius: 16rpx 16rpx 16rpx 16rpx;
padding: 24rpx 24rpx 24rpx 24rpx;
}
.ImmediatEevaluation_star1fd1_1_c2_c1 {
height: 32rpx;
margin: 0rpx 5rpx 0rpx 5rpx;
width: 32rpx;
}
.ImmediatEevaluation_star1fd1_1_c2_c1 {
width: 32rpx;
height: 32rpx;
border-radius: 0rpx 0rpx 0rpx 0rpx;
margin: 0rpx 5rpx 0rpx 5rpx;
}
.ImmediatEevaluation_fd1_1_c2_c0 {
margin: 0rpx 31rpx 0rpx 0rpx;
color: #333333;
font-size: 28rpx;
font-weight: 500;
line-height: 28rpx;
}
.ImmediatEevaluation_fd1_1_c2 {
margin: 0rpx 0rpx 29rpx 0rpx;
}
.ImmediatEevaluation_star1fd1_1_c1_c1 {
height: 32rpx;
margin: 0rpx 5rpx 0rpx 5rpx;
width: 32rpx;
}
.ImmediatEevaluation_star1fd1_1_c1_c1 {
width: 32rpx;
height: 32rpx;
border-radius: 0rpx 0rpx 0rpx 0rpx;
margin: 0rpx 5rpx 0rpx 5rpx;
}
.ImmediatEevaluation_fd1_1_c1_c0 {
margin: 0rpx 31rpx 0rpx 0rpx;
color: #333333;
font-size: 28rpx;
font-weight: 500;
line-height: 28rpx;
}
.ImmediatEevaluation_fd1_1_c1 {
margin: 0rpx 0rpx 29rpx 0rpx;
}
.ImmediatEevaluation_star1fd1_1_c0_c1 {
height: 32rpx;
margin: 0rpx 5rpx 0rpx 5rpx;
width: 32rpx;
}
.ImmediatEevaluation_star1fd1_1_c0_c1 {
width: 32rpx;
height: 32rpx;
border-radius: 0rpx 0rpx 0rpx 0rpx;
margin: 0rpx 5rpx 0rpx 5rpx;
}
.ImmediatEevaluation_fd1_1_c0_c0 {
margin: 0rpx 31rpx 0rpx 0rpx;
color: #333333;
font-size: 28rpx;
font-weight: 500;
line-height: 28rpx;
}
.ImmediatEevaluation_fd1_1_c0 {
margin: 0rpx 0rpx 29rpx 0rpx;
}
.ImmediatEevaluation_fd1_0_c1 {
color: #333333;
font-size: 32rpx;
font-weight: 600;
line-height: 32rpx;
}
.ImmediatEevaluation_fd1_0_c0 {
width: 80rpx;
height: 80rpx;
border-radius: 16rpx 16rpx 16rpx 16rpx;
margin: 0rpx 24rpx 0rpx 0rpx;
}
.ImmediatEevaluation_fd1_0 {
margin: 0rpx 0rpx 40rpx 0rpx;
}
.ImmediatEevaluation_flex_2 {
width: 750rpx;
height: 128rpx;
overflow: hidden;
z-index: 10;
bottom: calc(0rpx + var(--window-bottom));
}
.ImmediatEevaluation_fd2_0 {
background: rgba(255, 147, 0, 1);
border-radius: 44rpx 44rpx 44rpx 44rpx;
font-size: 32rpx;
color: #fff;
width: 686rpx;
height: 80rpx;
line-height: 80rpx;
font-weight: 400;
}
</style>

View File

@ -0,0 +1,270 @@
<template>
<view class="page" :style="themeColor">
<view class="flex benben-position-layout flex flex-wrap align-center addRemarks_flex_0"
:style="{height:(88+StatusBarRpx)+'rpx',paddingTop:StatusBarRpx+'rpx'}">
<view class='flex flex-wrap align-center justify-between flex-sub addRemarks_fd0_0'>
<view class='flex flex-wrap align-center addRemarks_fd0_0_c0' @tap.stop="handleJumpDiy" data-type="back"
data-url="1">
<text class='fu-iconfont2 addRemarks_fd0_0_c0_c0'>&#xE794;</text>
</view>
<view class='flex flex-wrap align-center'>
<text class='addRemarks_fd0_0_c1_c0'>添加备注</text>
</view>
<view class='flex flex-wrap align-center justify-end addRemarks_fd0_0_c2'>
<!-- #ifndef MP-WEIXIN -->
<text class='addRemarks_fd0_0_c2_c0' @tap.stop="sureTap">完成</text>
<!-- #endif -->
</view>
</view>
</view>
<view :style="{height: (88+StatusBarRpx)+'rpx'}"></view>
<!---flex布局flex布局开始-->
<view class="flex flex-wrap align-center justify-center benben-flex-layout">
<view class='flex flex-wrap addRemarks_fd1_0'>
<textarea class='flex addRemarks_input_fd1_0' placeholder="请输入" maxlength="50" :show-num='true'
placeholder-style="color:#999;font-size:28rpx" v-model="informent" />
<template>
<view class='flex justify-end flex addRemarks_numberfd1_0_c0'>
<text class='addRemarks_numberfd1_0_c0_c0'>{{informent.length}}</text>
<text>/</text>
<text class='addRemarks_numberfd1_0_c0_c2'>50</text>
</view>
</template>
</view>
</view>
<!---flex布局flex布局结束-->
<!---flex布局flex布局开始-->
<view class="flex flex-direction flex-wrap align-stretch benben-flex-layout addRemarks_flex_2">
<view class='flex flex-wrap align-center addRemarks_fd2_0'>
<text class='addRemarks_fd2_0_c0'>快捷标签</text>
</view>
<view class='flex flex-wrap align-center addRemarks_fd2_1'>
<template v-for='(item,key0) in lagle_List'>
<view class='flex flex-wrap align-center justify-center addRemarks_fd2_1_c0' :key='key0' @tap="labelTap(item.title)">
<text class='addRemarks_fd2_1_c0_c0'>{{item.title}}</text>
</view>
</template>
</view>
</view>
<!-- #ifdef MP-WEIXIN -->
<button class='immediatePayment_fd4_0' @tap.stop="sureTap">完成</button>
<!-- #endif -->
<!---flex布局flex布局结束-->
</view>
</template>
<script>
export default {
components: {},
data() {
return {
"lagle_List": [],
informent: "",
"label_id": ""
};
},
computed: {
themeColor() {
return this.$store.getters.themeColor
},
},
watch: {},
onLoad(options) {
let {remark} = options
this.informent = remark || ''
},
onUnload() {
},
onReady() {
},
onShow() {
this.get64a533a675a0a()
},
onHide() {
},
onResize() {
},
onPullDownRefresh() {
},
onReachBottom(e) {
},
onPageScroll(e) {
},
methods: {
get64a533a675a0a(){
this.$api.post(global.apiUrls.get64a533a675a0a).then(res=>{
if(res.data.code==1){
this.lagle_List = res.data.data
}
})
},
labelTap(name){
if(this.informent == 50){
return
}
this.informent+=name
if( this.informent.length>50 ){
this.informent=this.informent.substring(0,50);
return
}
},
sureTap(){
uni.$emit('REMARKS',this.informent)
setTimeout(function(){
uni.navigateBack()
},300)
}
}
};
</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;
}
.immediatePayment_fd4_0 {
background: rgba(255, 147, 0, 1);
border-radius: 44rpx 44rpx 44rpx 44rpx;
font-size: 32rpx;
color: #fff;
width: 686rpx;
height: 80rpx;
line-height: 80rpx;
font-weight: 400;
margin: 64rpx auto;
}
.addRemarks_flex_0 {
background: #fff;
width: 750rpx;
height: 88rpx;
overflow: hidden;
z-index: 10;
top: 0rpx;
background-size: 100% auto !important;
}
.addRemarks_fd0_0_c2_c0 {
line-height: 35rpx;
font-size: 32rpx;
font-weight: 400;
color: #000000;
}
.addRemarks_fd0_0_c2 {
width: 150rpx;
}
.addRemarks_fd0_0_c1_c0 {
font-size: 36rpx;
font-weight: 500;
color: #333;
line-height: 88rpx;
}
.addRemarks_fd0_0_c0_c0 {
font-size: 36rpx;
font-weight: 500;
color: #333;
line-height: 36rpx;
}
.addRemarks_fd0_0_c0 {
width: 150rpx;
}
.addRemarks_fd0_0 {
margin: 0rpx 32rpx 0rpx 32rpx;
}
.addRemarks_numberfd1_0_c0_c2 {
color: rgba(153, 153, 153, 1);
}
.addRemarks_numberfd1_0_c0_c0 {
color: rgba(153, 153, 153, 1);
}
.addRemarks_numberfd1_0_c0 {
font-size: 28rpx;
color: #999999;
line-height: 28rpx;
font-weight: 500;
width: 100%;
}
.addRemarks_input_fd1_0 {
width: 100%;
height: 140rpx;
font-size: 28rpx;
font-weight: 400;
color: #333;
white-space: pre-wrap;
}
.addRemarks_fd1_0 {
background: rgba(246, 247, 249, 1);
width: 685rpx;
border-radius: 16rpx 16rpx 16rpx 16rpx;
padding: 24rpx 24rpx 24rpx 24rpx;
height: 248rpx;
}
.addRemarks_flex_2 {
padding: 32rpx 0rpx 0rpx 0rpx;
}
.addRemarks_fd2_1_c0_c0 {
color: #333333;
font-size: 28rpx;
font-weight: 500;
line-height: 64rpx;
}
.addRemarks_fd2_1_c0 {
border: 1px solid rgba(238, 238, 238, 1);
background: rgba(255, 255, 255, 1);
width: 150rpx;
height: 72rpx;
border-radius: 8rpx 8rpx 8rpx 8rpx;
background-size: 100% auto !important;
margin: 14rpx 14rpx 14rpx 14rpx;
}
.addRemarks_fd2_1 {
padding: 0rpx 8rpx 0rpx 8rpx;
}
.addRemarks_fd2_0_c0 {
color: #999999;
font-size: 32rpx;
font-weight: 500;
line-height: 32rpx;
}
.addRemarks_fd2_0 {
padding: 0rpx 0rpx 8rpx 32rpx;
}
</style>

View File

@ -0,0 +1,413 @@
<template>
<view class="page" :style="themeColor">
<view class="flex benben-position-layout flex flex-wrap align-center allEvaluations_flex_0"
:style="{height:(88+StatusBarRpx)+'rpx',paddingTop:StatusBarRpx+'rpx'}">
<view class='flex flex-wrap align-center justify-between flex-sub allEvaluations_fd0_0'>
<view class='flex flex-wrap align-center' @tap.stop="handleJumpDiy" data-type="back" data-url="1">
<text class='fu-iconfont2 allEvaluations_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='allEvaluations_fd0_0_c1_c0'>全部评价</text>
</view>
<view class='flex flex-wrap align-center allEvaluations_fd0_0_c2'>
</view>
</view>
</view>
<view :style="{height: (88+StatusBarRpx)+'rpx'}"></view>
<!---flex布局flex布局开始-->
<view class="flex benben-flex-layout flex-wrap align-center">
<view class='flex flex-wrap align-center flex-sub allEvaluations_fd1_0'>
<!-- <benben-select-diy ref="showSelectPopup1684722326514" class-name='flex flex-wrap flex'
:items.sync="evaluate_List" v-model="evaluate_id" default-type="value" default-label="name"
:allow-cancel='false' type="radio" :disabled='false'> -->
<template v-for='(item,key0) in evaluate_List'>
<view v-if="evaluate_id == item.value" class='flex align-center flex allEvaluations_fd1_0_c0_c0' :key="key0"
@tap="handleCommentTypeChange(item.value)">
<text>{{item.name}}</text>
<text class='allEvaluations_fd1_0_c0_c0_c1'>{{item.num}}</text>
</view>
<view v-else class='flex align-center flex allEvaluations_fd1_0_c0_c1' :key="key0"
@tap="handleCommentTypeChange(item.value)">
<text>{{item.name}}</text>
<text class='allEvaluations_fd1_0_c0_c1_c1'>{{item.num}}</text>
</view>
</template>
<!-- </benben-select-diy> -->
</view>
</view>
<!---flex布局flex布局结束-->
<!---flex布局flex布局开始-->
<fu-loading v-if="isShowLoading"></fu-loading>
<fu-empty-ui v-if="commentList.length === 0 && isInit"></fu-empty-ui>
<view class="flex benben-flex-layout flex-wrap align-center">
<view class='flex flex-direction flex-wrap align-stretch allEvaluations_fd2_0' v-for="(item, index) in commentList" :key="index">
<view class='flex flex-wrap align-center justify-between allEvaluations_fd2_0_c0'>
<view class='flex flex-wrap align-center'>
<view class='flex flex-wrap align-center allEvaluations_fd2_0_c0_c0_c0'>
<image class='allEvaluations_fd2_0_c0_c0_c0_c0' mode="aspectFill" :src='item.avatar'></image>
</view>
<view class='flex flex-direction flex-wrap align-start'>
<text class='allEvaluations_fd2_0_c0_c0_c1_c0'>{{item.user_nickname}}</text>
<view class='flex flex-wrap align-center allEvaluations_fd2_0_c0_c0_c1_c1'>
<template v-for="starNum in [1,2,3,4,5]">
<image v-if="item.score >= starNum" :key="starNum"
class='allEvaluations_star1fd2_0_c0_c0_c1_c1' mode="aspectFit" :src='STATIC_URL+"31.png"'></image>
<image v-else :key="starNum" class='allEvaluations_star1fd2_0_c0_c0_c1_c1' mode="aspectFit"
:src='STATIC_URL+"164.png"'></image>
</template>
</view>
</view>
</view>
<view class='flex flex-wrap align-center'>
<text class='allEvaluations_fd2_0_c0_c1_c0'>{{item.create_time}}</text>
</view>
</view>
<view class='flex flex-wrap align-center allEvaluations_fd2_0_c1'>
<text class='allEvaluations_fd2_0_c1_c0'>{{item.content}}</text>
</view>
<view class='flex flex-wrap align-center'>
<image @tap.stop="ViewImage(item.images,i)" class='allEvaluations_fd2_0_c2_c0' v-for="(img, i) in item.images" :key="i" mode="aspectFill" :src='img'></image>
</view>
</view>
</view>
<uni-load-more v-if="commentList.length !=0 " :status="status"></uni-load-more>
<!---flex布局flex布局结束-->
</view>
</template>
<script>
export default {
components: {},
data() {
return {
"fd2_0_c0_c0_c1_c1": "4",
"tabls": "1",
"evaluate_List": [],
"evaluate_id": "1",
commentList: [],
isShowLoading: false,
isInit: false,
status: 'more', // 表示是否有数据可以请求
page: 1,
lists: [],
id: '',
sid: ''
};
},
computed: {
themeColor() {
return this.$store.getters.themeColor
},
},
watch: {},
onLoad(options) {
this.id = options.goods_id || ''
this.sid = options.sid || ''
this.getShopCommentNums();
},
onUnload() {
},
onReady() {
},
onShow() {
},
onHide() {
},
onResize() {
},
onPullDownRefresh() {
this.status = 'more';
this.page = 1;
this.isInit = false;
this.commentList = [];
this.getShopCommentList(true);
this.getShopCommentNums();
},
onReachBottom(e) {
this.getShopCommentList();
},
onPageScroll(e) {
},
methods: {
ViewImage(list, index) {
uni.previewImage({
urls: list,
current: index
});
},
/**
* 切换评论状态
*/
handleCommentTypeChange(value) {
this.evaluate_id = value;
this.status = 'more';
this.page = 1;
this.isInit = false;
this.commentList = [];
this.getShopCommentList(true);
},
/**
* 获取店铺评论数量
*/
getShopCommentList(value) {
if (this.status != 'more') return;
this.status = 'loading';
let data = {
store_id: this.sid,
type: this.evaluate_id,
list_rows: 20,
page: this.page,
goods_id: this.id
};
// console.log('请求的数据', data);
if (this.page == 1 && value) {
this.isShowLoading = true;
}
this.$api
.post(global.apiUrls.getShopCommentList, data)
.then(res => {
console.log('订单列表', res);
this.isShowLoading = false;
if (res.data.code == 1) {
var curPageData = res.data.data.data;
if (this.page == 1) this.commentList = [];
this.commentList = this.commentList.concat(curPageData);
console.log('上拉加载', curPageData.length, this.size);
if (res.data.data.last_page > this.page) {
this.status = 'more';
this.page++;
} else {
this.status = 'noMore';
}
} else {
this.$message.info(res.data.msg);
}
this.isInit = true;
uni.stopPullDownRefresh();
})
.catch(err => {
this.isShowLoading = false;
uni.stopPullDownRefresh();
});
},
/**
* 获取评论数量
*/
getShopCommentNums() {
this.$api.post(global.apiUrls.getShopCommentNums, {
store_id: this.sid,
goods_id: this.id
}).then(res => {
if (res.data.code == 1) {
this.evaluate_List = [{
name: "全部 ",
value: "1",
image: "",
num: res.data.data.all
}, {
name: "好评",
value: "2",
image: "",
num: res.data.data.good
}, {
name: "有图",
value: "3",
image: "",
num: res.data.data.img
}, {
name: "差评",
value: "4",
image: "",
num: res.data.data.bad
}, {
name: "中评",
value: "5",
image: "",
num: res.data.data.center
}]
this.getShopCommentList();
}
})
.catch(err => {
console.log(err);
});
}
}
};
</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;
}
.allEvaluations_flex_0 {
background: #fff;
width: 750rpx;
height: 88rpx;
overflow: hidden;
z-index: 10;
top: 0rpx;
background-size: 100% auto !important;
}
.allEvaluations_fd0_0_c2 {
width: 32rpx;
height: 32rpx;
}
.allEvaluations_fd0_0_c1_c0 {
font-size: 36rpx;
font-weight: 500;
color: #333;
line-height: 88rpx;
}
.allEvaluations_fd0_0_c0_c0 {
font-size: 32rpx;
font-weight: 500;
color: #333;
line-height: 88rpx;
}
.allEvaluations_fd0_0 {
margin: 0rpx 32rpx 0rpx 32rpx;
}
.allEvaluations_fd1_0_c0_c1_c1 {
margin: 0rpx 0rpx 0rpx 8rpx;
}
.allEvaluations_fd1_0_c0_c1 {
background: rgba(246, 247, 249, 1);
margin: 24rpx 20rpx 0rpx 20rpx;
padding: 8rpx 24rpx 8rpx 24rpx;
border-radius: 28rpx 28rpx 28rpx 28rpx;
background-size: 100% auto !important;
color: rgba(51, 51, 51, 1);
}
.allEvaluations_fd1_0_c0_c0_c1 {
margin: 0rpx 0rpx 0rpx 8rpx;
}
.allEvaluations_fd1_0_c0_c0 {
border: 1px solid rgba(255, 147, 0, 1);
background: rgba(255, 246, 234, 1);
padding: 8rpx 24rpx 8rpx 24rpx;
border-radius: 28rpx 28rpx 28rpx 28rpx;
background-size: 100% auto !important;
margin: 24rpx 20rpx 0rpx 20rpx;
color: rgba(255, 147, 0, 1);
font-size: 28rpx;
}
.allEvaluations_fd1_0 {
margin: 0rpx 12rpx 0rpx 12rpx;
padding: 0rpx 0rpx 24rpx 0rpx;
}
.allEvaluations_fd2_0_c2_c2 {
width: 226rpx;
height: 226rpx;
border-radius: 8rpx 8rpx 8rpx 8rpx;
margin: 0rpx 0rpx 5rpx 0rpx;
}
.allEvaluations_fd2_0_c2_c1 {
width: 226rpx;
height: 226rpx;
border-radius: 8rpx 8rpx 8rpx 8rpx;
margin: 0rpx 0rpx 5rpx 0rpx;
}
.allEvaluations_fd2_0_c2_c0 {
width: 226rpx;
height: 226rpx;
border-radius: 8rpx 8rpx 8rpx 8rpx;
margin: 0rpx 4rpx 8rpx 0rpx;
&:nth-child(3n) {
margin-right: 0;
}
}
.allEvaluations_fd2_0_c1_c0 {
color: #333333;
font-size: 28rpx;
font-weight: 500;
line-height: 40rpx;
}
.allEvaluations_fd2_0_c1 {
margin: 0rpx 0rpx 24rpx 0rpx;
}
.allEvaluations_fd2_0_c0_c1_c0 {
color: #999999;
font-size: 24rpx;
font-weight: 400;
line-height: 24rpx;
}
.allEvaluations_star1fd2_0_c0_c0_c1_c1 {
height: 18rpx;
margin: 0rpx 5rpx 0rpx 5rpx;
width: 18rpx;
}
.allEvaluations_star1fd2_0_c0_c0_c1_c1 {
width: 18rpx;
height: 18rpx;
border-radius: 0rpx 0rpx 0rpx 0rpx;
margin: 0rpx 5rpx 0rpx 5rpx;
}
.allEvaluations_fd2_0_c0_c0_c1_c1 {
margin: 8rpx 0rpx 0rpx 0rpx;
}
.allEvaluations_fd2_0_c0_c0_c1_c0 {
color: #333333;
font-size: 28rpx;
font-weight: 400;
line-height: 30rpx;
}
.allEvaluations_fd2_0_c0_c0_c0_c0 {
width: 56rpx;
height: 56rpx;
border-radius: 100rpx 100rpx 100rpx 100rpx;
}
.allEvaluations_fd2_0_c0_c0_c0 {
margin: 0rpx 16rpx 0rpx 0rpx;
}
.allEvaluations_fd2_0_c0 {
margin: 0rpx 0rpx 24rpx 0rpx;
}
.allEvaluations_fd2_0 {
border-bottom: 1px solid #eee;
margin: 0rpx 32rpx 0rpx 32rpx;
padding: 0rpx 0rpx 32rpx 0rpx;
}
</style>

View File

@ -0,0 +1,207 @@
<template>
<view class="page" :style="themeColor">
<view class="flex benben-position-layout flex flex-wrap align-center allEvaluations_flex_0" :style="{height:(88+StatusBarRpx)+'rpx',paddingTop:StatusBarRpx+'rpx'}">
<view class='flex flex-wrap align-center justify-between flex-sub allEvaluations_fd0_0' >
<view class='flex flex-wrap align-center' @tap.stop="handleJumpDiy" data-type="back" data-url="1" >
<text class='fu-iconfont2 allEvaluations_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='allEvaluations_fd0_0_c1_c0' >全部评价</text>
</view>
<view class='flex flex-wrap align-center allEvaluations_fd0_0_c2' >
</view>
</view>
</view>
<view :style="{height: (88+StatusBarRpx)+'rpx'}" ></view>
<!---flex布局flex布局开始-->
<view class="flex benben-flex-layout flex-wrap align-center" >
<view class='flex flex-wrap align-center flex-sub allEvaluations_fd1_0' >
<benben-select-diy ref="showSelectPopup1684722326514" class-name='flex flex-wrap flex' :items.sync="evaluate_List" v-model="evaluate_id" default-type="value" default-label="name" :allow-cancel='false' type="radio" :disabled='false' >
<template v-for = '(item,key0) in evaluate_List'>
<view v-if="item.isSelected" class='flex align-center flex allEvaluations_fd1_0_c0_c0' :key="key0" @tap="$refs.showSelectPopup1684722326514.tapHandle(key0)" >
<text >{{item.name}}</text>
<text class='allEvaluations_fd1_0_c0_c0_c1' >9999+</text>
</view> <view v-else class='flex align-center flex allEvaluations_fd1_0_c0_c1' :key="key0" @tap="$refs.showSelectPopup1684722326514.tapHandle(key0)" >
<text >{{item.name}}</text>
<text class='allEvaluations_fd1_0_c0_c1_c1' >9999+</text>
</view></template></benben-select-diy>
</view>
</view>
<!---flex布局flex布局结束-->
<!---flex布局flex布局开始-->
<view class="flex benben-flex-layout flex-wrap align-center" >
<view class='flex flex-direction flex-wrap align-stretch allEvaluations_fd2_0' >
<view class='flex flex-wrap align-center justify-between allEvaluations_fd2_0_c0' >
<view class='flex flex-wrap align-center' >
<view class='flex flex-wrap align-center allEvaluations_fd2_0_c0_c0_c0' >
<image class='allEvaluations_fd2_0_c0_c0_c0_c0' mode="aspectFit" :src='STATIC_URL+"1.png"'></image>
</view>
<view class='flex flex-direction flex-wrap align-start' >
<text class='allEvaluations_fd2_0_c0_c0_c1_c0' >匿名用户</text>
<view class='flex flex-wrap align-center allEvaluations_fd2_0_c0_c0_c1_c1' >
<template v-for="starNum in [1,2,3,4,5]">
<image v-if="fd2_0_c0_c0_c1_c1 >= starNum" :key="starNum" class='allEvaluations_star1fd2_0_c0_c0_c1_c1' mode="aspectFit" :src='STATIC_URL+"31.png"'></image>
<image v-else :key="starNum" class='allEvaluations_star1fd2_0_c0_c0_c1_c1' mode="aspectFit" :src='STATIC_URL+"164.png"'></image>
</template>
</view>
</view>
</view>
<view class='flex flex-wrap align-center' >
<text class='allEvaluations_fd2_0_c0_c1_c0' >2020.08.09</text>
</view>
</view>
<view class='flex flex-wrap align-center allEvaluations_fd2_0_c1' >
<text class='allEvaluations_fd2_0_c1_c0' >确实不错很好吃分量可以整体来看还是非常实惠的分享下实拍无滤镜</text>
</view>
<view class='flex flex-wrap align-center' >
<!-- <image class='allEvaluations_fd2_0_c2_c0' mode="aspectFit" :src='STATIC_URL+"36.png"'></image>
<image class='allEvaluations_fd2_0_c2_c1' mode="aspectFit" :src='STATIC_URL+"36.png"'></image>
<image class='allEvaluations_fd2_0_c2_c2' mode="aspectFit" :src='STATIC_URL+"36.png"'></image> -->
</view>
</view>
</view>
<!---flex布局flex布局结束-->
</view>
</template>
<script>
export default {
components:{},
data(){
return {"fd2_0_c0_c0_c1_c1":"4","tabls":"1","evaluate_List":[{"name":"全部 ","value":"1","image":""},{"name":"好评","value":"2","image":""},{"name":"有图","value":"3","image":""},{"name":"差评","value":"4","image":""},{"name":"中评","value":"5","image":""}],"evaluate_id":"1"};
},
computed:{
themeColor() {
return this.$store.getters.themeColor
},
},
watch:{},
onLoad(options){
},
onUnload() {
},
onReady(){
},
onShow(){
},
onHide(){
},
onResize(){
},
onPullDownRefresh(){
},
onReachBottom(e){
},
onPageScroll(e){
},
methods:{
//收藏
iscollectFunctionFunc(){
if( this.collect=='1'){
this.collect = '2';
}
else if( this.collect=='2'){
this.collect = '1';
}
return
}
}
};
</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;
}
.allEvaluations_flex_0{
background:#fff;width:750rpx;height:88rpx;overflow:hidden;z-index:10;top:0rpx;background-size:100% auto !important;
}
.allEvaluations_fd0_0_c2{
width:32rpx;height:32rpx;
}
.allEvaluations_fd0_0_c1_c0{
font-size:36rpx;font-weight:500;color:#333;line-height:88rpx;
}
.allEvaluations_fd0_0_c0_c0{
font-size:32rpx;font-weight:500;color:#333;line-height:88rpx;
}
.allEvaluations_fd0_0{
margin:0rpx 32rpx 0rpx 32rpx;
}
.allEvaluations_fd1_0_c0_c1_c1{
margin:0rpx 0rpx 0rpx 8rpx;
}
.allEvaluations_fd1_0_c0_c1{
background:rgba(246, 247, 249, 1);margin:24rpx 20rpx 0rpx 20rpx;padding:8rpx 24rpx 8rpx 24rpx;border-radius:28rpx 28rpx 28rpx 28rpx;background-size:100% auto !important;color:rgba(51, 51, 51, 1);
}
.allEvaluations_fd1_0_c0_c0_c1{
margin:0rpx 0rpx 0rpx 8rpx;
}
.allEvaluations_fd1_0_c0_c0{
border:1px solid rgba(255, 147, 0, 1);background:rgba(255, 246, 234, 1);padding:8rpx 24rpx 8rpx 24rpx;border-radius:28rpx 28rpx 28rpx 28rpx;background-size:100% auto !important;margin:24rpx 20rpx 0rpx 20rpx;color:rgba(255, 147, 0, 1);font-size:28rpx;
}
.allEvaluations_fd1_0{
margin:0rpx 12rpx 0rpx 12rpx;padding:0rpx 0rpx 24rpx 0rpx;
}
.allEvaluations_fd2_0_c2_c2{
width:226rpx;height:226rpx;border-radius:8rpx 8rpx 8rpx 8rpx;margin:0rpx 0rpx 5rpx 0rpx;
}
.allEvaluations_fd2_0_c2_c1{
width:226rpx;height:226rpx;border-radius:8rpx 8rpx 8rpx 8rpx;margin:0rpx 0rpx 5rpx 0rpx;
}
.allEvaluations_fd2_0_c2_c0{
width:226rpx;height:226rpx;border-radius:8rpx 8rpx 8rpx 8rpx;margin:0rpx 0rpx 5rpx 0rpx;
}
.allEvaluations_fd2_0_c1_c0{
color:#333333;font-size:28rpx;font-weight:500;line-height:40rpx;
}
.allEvaluations_fd2_0_c1{
margin:0rpx 0rpx 24rpx 0rpx;
}
.allEvaluations_fd2_0_c0_c1_c0{
color:#999999;font-size:24rpx;font-weight:400;line-height:24rpx;
}
.allEvaluations_star1fd2_0_c0_c0_c1_c1{
height:18rpx;margin:0rpx 5rpx 0rpx 5rpx;width:18rpx;
}
.allEvaluations_star1fd2_0_c0_c0_c1_c1{
width:18rpx;height:18rpx;border-radius:0rpx 0rpx 0rpx 0rpx;margin:0rpx 5rpx 0rpx 5rpx;
}
.allEvaluations_fd2_0_c0_c0_c1_c1{
margin:8rpx 0rpx 0rpx 0rpx;
}
.allEvaluations_fd2_0_c0_c0_c1_c0{
color:#333333;font-size:28rpx;font-weight:400;line-height:30rpx;
}
.allEvaluations_fd2_0_c0_c0_c0_c0{
width:56rpx;height:56rpx;border-radius:100rpx 100rpx 100rpx 100rpx;
}
.allEvaluations_fd2_0_c0_c0_c0{
margin:0rpx 16rpx 0rpx 0rpx;
}
.allEvaluations_fd2_0_c0{
margin:0rpx 0rpx 24rpx 0rpx;
}
.allEvaluations_fd2_0{
border-bottom:1px solid #eee;margin:0rpx 32rpx 0rpx 32rpx;padding:0rpx 0rpx 32rpx 0rpx;
}
</style>

View File

@ -0,0 +1,148 @@
<template>
<view class="page" :style="themeColor">
<view class="flex benben-position-layout flex flex-wrap align-center evaluateResults_flex_0"
:style="{height:(88+StatusBarRpx)+'rpx',paddingTop:StatusBarRpx+'rpx'}">
<view class='flex flex-wrap align-center justify-between flex-sub evaluateResults_fd0_0'>
<view class='flex flex-wrap align-center' @tap.stop="handleJumpDiy" data-type="back" data-url="1">
<text class='fu-iconfont2 evaluateResults_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='evaluateResults_fd0_0_c1_c0'>评价成功</text>
</view>
<view class='flex flex-wrap align-center evaluateResults_fd0_0_c2'>
</view>
</view>
</view>
<view :style="{height: (88+StatusBarRpx)+'rpx'}"></view>
<view class="flex flex-direction flex-wrap align-center justify-center evaluateResults_flex_1">
<image class='evaluateResults_fd1_0' mode="aspectFit"
:src='STATIC_URL+"146.png"'></image>
<text class='evaluateResults_fd1_1'>评价完成</text>
<button class='evaluateResults_fd1_2' @tap.stop="handleJumpDiy" data-type="back"
:data-url="`/pages/tabBar/myOrder/myOrder`">返回订单</button>
</view>
</view>
</template>
<script>
export default {
components: {},
data() {
return {};
},
computed: {
themeColor() {
return this.$store.getters.themeColor
},
},
watch: {},
onLoad(options) {
},
onUnload() {
},
onReady() {
},
onShow() {
},
onHide() {
},
onResize() {
},
onPullDownRefresh() {
},
onReachBottom(e) {
},
onPageScroll(e) {
},
methods: {
}
};
</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;
}
.evaluateResults_flex_0 {
background: #fff;
width: 750rpx;
height: 88rpx;
overflow: hidden;
z-index: 10;
top: 0rpx;
background-size: 100% auto !important;
}
.evaluateResults_fd0_0_c2 {
width: 32rpx;
height: 32rpx;
}
.evaluateResults_fd0_0_c1_c0 {
font-size: 36rpx;
font-weight: 500;
color: #333;
line-height: 88rpx;
}
.evaluateResults_fd0_0_c0_c0 {
font-size: 32rpx;
font-weight: 500;
color: #333;
line-height: 88rpx;
}
.evaluateResults_fd0_0 {
margin: 0rpx 32rpx 0rpx 32rpx;
}
.evaluateResults_flex_1 {
margin: 88rpx 0rpx 0rpx 0rpx;
}
.evaluateResults_fd1_2 {
background: rgba(255, 147, 0, 1);
line-height: 88rpx;
border-radius: 44rpx 44rpx 44rpx 44rpx;
font-size: 32rpx;
color: rgba(246, 247, 249, 1);
width: 320rpx;
height: 88rpx;
margin: 186rpx 0rpx 0rpx 0rpx;
}
.evaluateResults_fd1_1 {
font-weight: 700;
font-size: 32rpx;
line-height: 105rpx;
}
.evaluateResults_fd1_0 {
width: 250rpx;
height: 180rpx;
border-radius: 0rpx 0rpx 0rpx 0rpx;
}
</style>

View File

@ -0,0 +1,795 @@
<template>
<view class="page" v-if="token" :style="themeColor">
<view class="flex benben-position-layout flex flex-wrap align-center immediatePayment_flex_0"
:style="{height:(88+StatusBarRpx)+'rpx',paddingTop:StatusBarRpx+'rpx'}">
<view class='flex flex-wrap align-center justify-between flex-sub immediatePayment_fd0_0'>
<view v-if="source == 'app'" class='flex flex-wrap align-center'>
<!-- <text class='fu-iconfont2 immediatePayment_fd0_0_c0_c0'>&#xE794;</text> -->
<button class="fu-iconfont2 immediatePayment_fd0_0_c0_c0" style="background: #fff;" open-type="launchApp" app-parameter="wechat">&#xE794;</button>
</view>
<view v-else class='flex flex-wrap align-center' @tap.stop="popupShow1684575594621=true">
<text class='fu-iconfont2 immediatePayment_fd0_0_c0_c0'>&#xE794;</text>
<!-- <button class="fu-iconfont2 immediatePayment_fd0_0_c0_c0" style="background: #fff;" open-type="launchApp" app-parameter="wechat">&#xE794;</button> -->
</view>
<view class='flex flex-wrap align-stretch justify-center flex-sub'>
<text class='immediatePayment_fd0_0_c1_c0'>支付</text>
</view>
<view class='flex flex-wrap align-center immediatePayment_fd0_0_c2'>
</view>
</view>
</view>
<view :style="{height: (88+StatusBarRpx)+'rpx'}"></view>
<!---flex布局flex布局开始-->
<view class="flex flex-direction flex-wrap align-center benben-flex-layout immediatePayment_flex_1">
<view class='flex flex-wrap align-end'>
<text class='immediatePayment_fd1_0_c0'></text>
<text class='immediatePayment_fd1_0_c1' v-if="!is_agreem">{{pay_moeny}}</text>
<text class='immediatePayment_fd1_0_c1' v-else>{{Number(pay_moeny)-Number(deduct_money) > 0 ? (Number(pay_moeny)-Number(deduct_money)).toFixed(2) : 0}}</text>
</view>
<view class='flex flex-wrap align-center immediatePayment_fd1_1'>
<text class='immediatePayment_fd1_1_c0'>支付剩余时间</text>
<benben-countdown class='' :time-type='true' :count-time="time" @timeEnd="handleTimeEnd">
<template #default="{ d, h, i, s }">
<text class='immediatePayment_fd1_1_c1_c2'>{{h}}</text>
<text class='immediatePayment_fd1_1_c1_c3'>:</text>
<text class='immediatePayment_fd1_1_c1_c4'>{{i}}</text>
<text class='immediatePayment_fd1_1_c1_c5'>:</text>
<text class='immediatePayment_fd1_1_c1_c6'>{{s}}</text>
<text></text>
</template>
</benben-countdown>
</view>
</view>
<!---flex布局flex布局结束-->
<!---flex布局flex布局开始-->
<!-- && source != 'app' -->
<view class="flex benben-flex-layout flex-wrap align-center immediatePayment_flex_2" v-if="score > 0">
<view class='flex flex-wrap align-center justify-between flex-sub immediatePayment_fd2_0'>
<view class='flex flex-direction flex-sub flex-wrap'>
<text class='immediatePayment_fd2_0_c0_c0'>使用抵用券抵扣<text class="text-sm">(当前可用抵用券{{user_score}})</text></text>
<text class='immediatePayment_fd2_0_c1_c0'>抵扣{{deduct_money}}</text>
</view>
<view class='flex flex-wrap align-center'>
<benben-flex-switch-new class-name='flex flex immediatePayment_fd2_0_c1_c1' v-model="is_agreem"
:disabled='Number(deduct_money) <= 0 || isdeduction == 1 || source == "app"' :auto='true'>
<template v-slot:checked>
<view class='flex flex position-relative align-center'>
<image class='immediatePayment_checkfd2_0_c1_c1_c0_c0' mode="aspectFit" :src='STATIC_URL+"85.png"'>
</image>
</view>
</template>
<template v-slot:unchecked>
<view class='flex flex position-relative justify-end align-center'>
<image class='immediatePayment_noCheckfd2_0_c1_c1_c1_c0' mode="aspectFit" :src='STATIC_URL+"123.png"'>
</image>
</view>
</template>
</benben-flex-switch-new>
</view>
</view>
</view>
<!---flex布局flex布局结束-->
<view class="flex flex-direction flex-wrap align-stretch benben-flex-layout immediatePayment_flex_3">
<view class='flex flex-direction flex-wrap align-stretch immediatePayment_fd3_0'>
<view class='flex flex-wrap align-center immediatePayment_fd3_0_c0'>
<text class='immediatePayment_fd3_0_c0_c0'>选择支付方式</text>
</view>
<view class='flex flex-wrap align-center'>
<benben-select-diy ref="showSelectPopup1684574445816"
class-name='flex flex-direction flex-wrap align-stretch flex immediatePayment_fd3_0_c1_c0'
:items.sync="select_pay" v-model="select_id" default-type="value" default-label="name" :allow-cancel='true'
type="radio" :disabled='false'>
<template v-for='(item,key0) in select_pay'>
<view v-if="item.isSelected" class='flex align-center flex immediatePayment_fd3_0_c1_c0_c0' :key="key0"
@tap="$refs.showSelectPopup1684574445816.tapHandle(key0)">
<image class='immediatePayment_fd3_0_c1_c0_c0_c0' mode="aspectFit" :src='item.image'></image>
<text class='immediatePayment_fd3_0_c1_c0_c0_c1'>{{item.name}}</text>
<image class='immediatePayment_fd3_0_c1_c0_c0_c2' mode="aspectFit" :src='STATIC_URL+"85.png"'></image>
</view>
<view v-else class='flex align-center flex immediatePayment_fd3_0_c1_c0_c1' :key="key0"
@tap="$refs.showSelectPopup1684574445816.tapHandle(key0)">
<image class='immediatePayment_fd3_0_c1_c0_c1_c0' mode="aspectFit" :src='item.image'></image>
<text class='immediatePayment_fd3_0_c1_c0_c1_c1'>{{item.name}}</text>
<image class='immediatePayment_fd3_0_c1_c0_c1_c2' mode="aspectFit" :src='STATIC_URL+"179.png"'></image>
</view>
</template>
</benben-select-diy>
</view>
</view>
</view>
<view class="flex flex-direction flex-wrap align-center benben-position-layout flex immediatePayment_flex_4">
<button class='immediatePayment_fd4_0' @tap.stop="determineAskforFunc()">立即支付</button>
</view>
<view :style="{height: '127rpx'}"></view>
<benben-popup v-model="popupShow1684575594621" :mask="true" mode='center'>
<!---flex布局flex布局开始-->
<view class="flex flex-direction align-center benben-flex-layout immediatePayment_flex_5">
<text class='immediatePayment_fd5_0'>确认离开收银台</text>
<text class='immediatePayment_fd5_1'>您的订单还未完成支付请尽快支付</text>
<view class='flex flex-wrap align-center immediatePayment_fd5_2'>
<button class='immediatePayment_fd5_2_c0' @tap.stop="handleJumpDiy" data-type="switchTab"
:data-url="`/pages/tabBar/myOrder/myOrder`">确认离开</button>
<button class='immediatePayment_fd5_2_c1' @tap.stop="popupShow1684575594621=false">继续支付</button>
</view>
</view>
<!---flex布局flex布局结束-->
</benben-popup>
</view>
</template>
<script>
import { LOGIN_PAGE_URL ,SYSTEM_CONFIG,ACCEPT_PLATFORM} from '@/common/config.js'
export default {
components: {},
data() {
return {
orderMoney: 0,
"popupShow1684575594621": false,
time: 0,
"is_agreem": false,
score: 0,
"select_pay": [{
"name": "微信支付",
"value": "1",
"image": "https://lvtai-files.oss-cn-beijing.aliyuncs.com/mini/1d066923b9b33614a9df47ea787e5af9.png"
},
// {
// "name": "余额支付",
// "value": "3",
// "image": "https://zhongben-crm.oss-cn-zhangjiakou.aliyuncs.com/uploads/images/20220615/6188e5b4967f1b162ee2c0c93fd7cf94.png"
// },
],
"select_id": "1",
"pay_moeny": "",
"state": "",
sn: '',
deduct_money:"",
user_score:"",
payTimer: null,
source: '',
token: '',
isdeduction: '',
score: 0
};
},
computed: {
themeColor() {
return this.$store.getters.themeColor
},
},
watch: {},
onLoad(options) {
let {
money,
state,
time,
sn,
source,
isdeduction,
score
} = options
if (money !== undefined) this.pay_moeny = money
if (state !== undefined) this.state = state
if (time !== undefined) this.time = time
if (sn !== undefined) this.sn = sn
if (source !== undefined) this.source = source
if (isdeduction !== undefined) this.isdeduction = isdeduction
if (score !== undefined) this.score = score
// if (this.source != 'app') {
// this.is_agreem = this.isdeduction == 1
// }
// #ifdef APP-PLUS
this.select_pay.push({
"name": "支付宝支付",
"value": "2",
"image": "https://zhongben-crm.oss-cn-zhangjiakou.aliyuncs.com/uploads/images/20220615/6188e5b4967f1b162ee2c0c93fd7cf94.png"
})
// #endif
},
onUnload() {
if (this.payTimer) {
clearInterval(this.payTimer);
}
},
onReady() {
},
onShow() {
this.token = global.token || ''
if (!this.token) {
uni.navigateTo({
url: LOGIN_PAGE_URL
})
return
}
this.getInfo();
this.get64a62b3d77830()
},
onHide() {
},
onResize() {
},
onPullDownRefresh() {
},
onReachBottom(e) {
},
onPageScroll(e) {
},
methods: {
handleTimeEnd() {
uni.navigateBack({
delta: 1
})
},
getInfo() {
this.$api
.post(global.apiUrls.post5c78c4772da97, {
user_id: (global.userInfo && global.userInfo.id) || 0
})
.then(res => {
res = res.data;
if (res.code == 1) {
this.score = res.data.score - 0;
}
});
},
get64a62b3d77830(){
this.$api.post(global.apiUrls.get64a62b3d77830, {
order_sn: this.sn
}).then(res => {
res = res.data;
if (res.code == 1) {
this.deduct_money = res.data.deduct_money
this.user_score = res.data.user_score
}
});
},
//判断自取
determineAskforFunc() {
let that = this;
console.log(that.is_agreem)
if(that.is_agreem){
this.get64a633e0099ce()
}else{
this.paySure()
// this.post6757f462c15d3()
}
return
},
post6757f462c15d3(){
this.$api.post(global.apiUrls.post6757f462c15d3, {
order_sn: this.sn
}).then(res => {
if(res.data.code==1){
if(res.data.data.is_pay==1){
this.isdeduction = 1
this.paySure()
}else{
this.$urouter.redirectTo(`/pages/dpxq/paymentResults/paymentResults?pay=5&state=${this.state}&sn=${this.sn}`);
}
}
});
},
get64a633e0099ce(){
this.$api.post(global.apiUrls.get64a633e0099ce, {
order_sn: this.sn
}).then(res => {
if(res.data.code==1){
if(res.data.data.is_pay==1){
this.paySure()
}else{
this.$urouter.redirectTo(`/pages/dpxq/paymentResults/paymentResults?pay=5&state=${this.state}&sn=${this.sn}`);
}
}
});
},
paySure(){
let that = this;
if(that.select_id==3){
this.$api.post(global.apiUrls.postPayOrder, {order_sn: this.sn})
.then(res => {
if (res.data.code == 1) {
that.$urouter.redirectTo(`/pages/dpxq/paymentResults/paymentResults?pay=${that.select_id}&state=${that.state}&sn=${that.sn}`);
} else {
this.$message.info(res.data.msg)
}
})
.catch(err => {
console.log("err: ", err);
})
}else{
uni.showLoading({
title: '正在支付',
mask: true
})
let paytype = that.select_id == '1' ? 3 : 2
let url = that.select_id == '1' ? global.apiUrls.wxPay : global.apiUrls.aliPay;
let params = {
order_sn: this.sn
}
if (this.select_id == 1) {
params.wxpaytype = 'AppPay'
// #ifdef MP-WEIXIN
params.wxpaytype = 'MiniPay'
// #endif
}
// // #ifdef MP-WEIXIN
// paytype = 'mini'
// // #endif
that.$api.post(url, params).then(res => {
console.log(res)
uni.hideLoading()
res = res.data
if (res.code == 1) {
console.log('支付', res);
if (that.select_id == 2) {
// uni.requestPayment({
// provider: 'alipay',
// orderInfo: res.data, //微信、支付宝订单数据
// success: function(res) {
// uni.showToast({ title: '支付成功~', icon: 'none' });
// that.$urouter.redirectTo(`/pages/dpxq/paymentResults/paymentResults?pay=${that.select_id}&state=${that.state}&sn=${that.sn}`);
// },
// fail: function(err) {
// console.log('fail:' + JSON.stringify(err));
// }
// });
// #ifdef APP
plus.runtime.openWeb(res.data.result.payCode);
// #endif
if (that.payTimer) {
clearInterval(that.payTimer);
}
that.payTimer = setInterval(function() {
console.log(2);
that.$api.get(global.apiUrls.getOrderDetail, {
order_sn: that.sn
})
.then(res => {
console.log(res.data.data)
if (res.data.code == 1) {
let payStatus = res.data.data.status - 0;
console.log(payStatus);
if (payStatus > 0) {
clearInterval(that.payTimer);
uni.redirectTo({
url: `/pages/dpxq/paymentResults/paymentResults?pay=${that.select_id}&state=${that.state}&sn=${that.sn}`
})
}
}
})
.catch(err => {
console.log(err)
});
// clearInterval(this.payTimer)
}, 3000)
} else {
// console.log(JSON.stringify(res.data.result));
// #ifdef APP-PLUS
plus.share.getServices(function(res) {
console.log(res, '<--res')
var sweixin = null;
for (var i = 0; i < res.length; i++) {
var t = res[i];
if (t.id == 'weixin') {
sweixin = t;
}
}
if (sweixin) {
console.log(1);
let payMoney = Number(that.pay_moeny) - (that.is_agreem ? Number(that.deduct_money) : 0)
sweixin.launchMiniProgram({
id: 'gh_2d502cf377f1', //这里写你的小程序原始id以gh开头
type: 0, //这里是不同的环境默认0正式 2体验
path: `/pages/dpxq/immediatePayment/immediatePayment?source=app&state=${that.state}&money=${payMoney}&time=${that.time}&sn=${that.sn}&isdeduction=${that.is_agreem ? 1 : 2}` //这里是指定页的路径,如需传参直接字符串拼接(首页可以省略)
}, function(res) {
console.log(234);
console.log(JSON.stringify(res));
if (that.payTimer) {
clearInterval(that.payTimer);
}
that.payTimer = setInterval(function() {
console.log(2);
that.$api.get(global.apiUrls.getOrderDetail, {
order_sn: that.sn
})
.then(res => {
console.log(res.data.data)
if (res.data.code == 1) {
let payStatus = res.data.data.status - 0;
console.log(payStatus);
if (payStatus > 0) {
clearInterval(that.payTimer);
uni.redirectTo({
url: `/pages/dpxq/paymentResults/paymentResults?pay=${that.select_id}&state=${that.state}&sn=${that.sn}`
})
}
}
})
.catch(err => {
console.log(err)
});
// clearInterval(this.payTimer)
}, 3000)
}, function(err) {
console.log(JSON.stringify(err));
});
} else {
uni.showToast({ title: '您还没有安装微信', icon: 'none' });
}
}, function(res) {
console.log(JSON.stringify(res));
});
// `/pages/dpxq/immediatePayment/immediatePayment?state=${info.pick_type}&money=${info.payable_money}&time=${info.surplus_pay_time}&sn=${info.order_sn}`
// uni.requestPayment({
// provider: 'wxpay',
// orderInfo: res.data.result.payCode, //微信、支付宝订单数据
// success: function(res) {
// uni.showToast({ title: '支付成功~', icon: 'none' });
// that.$urouter.redirectTo(`/pages/dpxq/paymentResults/paymentResults?pay=${that.select_id}&state=${that.state}&sn=${that.sn}`);
// },
// fail: function(err) {
// console.log('fail:' + JSON.stringify(err));
// }
// });
// #endif
// #ifdef MP-WEIXIN
uni.requestPayment({
provider: 'wxpay',
timeStamp: res.data.result.payCode.timeStamp,
nonceStr: res.data.result.payCode.nonceStr,
package: res.data.result.payCode.package,
signType: res.data.result.payCode.signType,
paySign: res.data.result.payCode.paySign,
success: res => {
uni.showToast({ title: '支付成功~', icon: 'none' });
that.$urouter.redirectTo(`/pages/dpxq/paymentResults/paymentResults?source=${this.source}&pay=${this.select_id}&state=${this.state}&sn=${that.sn}`);
},
fail: err => {
console.log('fail:' + JSON.stringify(err));
}
});
// #endif
}
} else {
uni.showToast({
title: res.data.msg,
icon: 'none'
});
}
})
.catch(err => {
console.log(err);
});
}
}
}
};
</script>
<style lang="scss" scoped>
.page {
width: 100vw;
overflow-x: hidden;
min-height: calc(100vh - var(--window-bottom));
background: rgba(246, 247, 249, 1);
background-size: 100% auto !important;
}
.immediatePayment_flex_0 {
background: #fff;
width: 750rpx;
height: 88rpx;
overflow: hidden;
z-index: 10;
top: 0rpx;
background-size: 100% auto !important;
}
.immediatePayment_fd0_0_c2 {
width: 32rpx;
height: 32rpx;
}
.immediatePayment_fd0_0_c1_c0 {
font-size: 36rpx;
font-weight: 500;
color: #333;
line-height: 88rpx;
}
.immediatePayment_fd0_0_c0_c0 {
font-size: 32rpx;
font-weight: 500;
color: #333;
line-height: 88rpx;
}
.immediatePayment_fd0_0 {
margin: 0rpx 32rpx 0rpx 32rpx;
}
.immediatePayment_flex_1 {
padding: 72rpx 0rpx 120rpx 0rpx;
}
.immediatePayment_fd1_1_c1_c6 {
color: #666666;
font-size: 24rpx;
font-weight: 500;
line-height: 24rpx;
}
.immediatePayment_fd1_1_c1_c5 {
color: #666666;
font-size: 24rpx;
font-weight: 500;
line-height: 24rpx;
}
.immediatePayment_fd1_1_c1_c4 {
color: #666666;
font-size: 24rpx;
font-weight: 500;
line-height: 24rpx;
}
.immediatePayment_fd1_1_c1_c3 {
color: #666666;
font-size: 24rpx;
font-weight: 500;
line-height: 24rpx;
}
.immediatePayment_fd1_1_c1_c2 {
color: #666666;
font-size: 24rpx;
font-weight: 500;
line-height: 24rpx;
}
.immediatePayment_fd1_1_c0 {
color: #666666;
font-size: 24rpx;
font-weight: 500;
line-height: 24rpx;
}
.immediatePayment_fd1_1 {
margin: 16rpx 0rpx 0rpx 0rpx;
}
.immediatePayment_fd1_0_c1 {
color: #E32121;
font-size: 64rpx;
font-weight: 500;
line-height: 64rpx;
}
.immediatePayment_fd1_0_c0 {
color: #E32121;
font-size: 32rpx;
font-weight: 500;
line-height: 40rpx;
}
.immediatePayment_flex_2 {
padding: 0rpx 32rpx 0rpx 32rpx;
}
.immediatePayment_noCheckfd2_0_c1_c1_c1_c0 {
border-radius: 24rpx 24rpx 24rpx 24rpx;
width: 36rpx;
height: 36rpx;
}
.immediatePayment_checkfd2_0_c1_c1_c0_c0 {
width: 36rpx;
height: 36rpx;
border-radius: 24rpx 24rpx 24rpx 24rpx;
}
::v-deep .immediatePayment_fd2_0_c1_c1 {
margin: 0rpx 0rpx 0rpx 24rpx;
}
.immediatePayment_fd2_0_c1_c0 {
color: red;
font-size: 28rpx;
font-weight: 400;
line-height: 42rpx;
}
.immediatePayment_fd2_0_c0_c0 {
color: #333333;
font-size: 28rpx;
font-weight: 500;
line-height: 42rpx;
}
.immediatePayment_fd2_0 {
background: rgba(255, 255, 255, 1);
border-radius: 16rpx 16rpx 16rpx 16rpx;
background-size: 100% auto !important;
padding: 32rpx 32rpx 32rpx 24rpx;
}
.immediatePayment_flex_3 {
padding: 32rpx 30rpx 2rpx 32rpx;
}
.immediatePayment_fd3_0_c1_c0_c1_c2 {
width: 36rpx;
height: 36rpx;
margin: 0rpx 0rpx 0rpx auto;
border-radius: 18rpx 18rpx 18rpx 18rpx;
}
.immediatePayment_fd3_0_c1_c0_c1_c1 {
font-size: 28rpx;
font-weight: 400;
color: #333;
}
.immediatePayment_fd3_0_c1_c0_c1_c0 {
width: 52rpx;
height: 52rpx;
border-radius: 0rpx 0rpx 0rpx 0rpx;
margin: 0rpx 16rpx 0rpx 0rpx;
}
.immediatePayment_fd3_0_c1_c0_c1 {
border-bottom: 1px solid #eee;
padding: 28rpx 0rpx 28rpx 0rpx;
}
.immediatePayment_fd3_0_c1_c0_c0_c2 {
width: 36rpx;
height: 36rpx;
margin: 0rpx 0rpx 0rpx auto;
border-radius: 18rpx 18rpx 18rpx 18rpx;
}
.immediatePayment_fd3_0_c1_c0_c0_c1 {
font-size: 28rpx;
font-weight: 400;
color: #333;
}
.immediatePayment_fd3_0_c1_c0_c0_c0 {
width: 52rpx;
height: 52rpx;
border-radius: 0rpx 0rpx 0rpx 0rpx;
margin: 0rpx 16rpx 0rpx 0rpx;
}
.immediatePayment_fd3_0_c1_c0_c0 {
border-bottom: 1px solid #eee;
padding: 28rpx 0rpx 28rpx 0rpx;
}
::v-deep .immediatePayment_fd3_0_c1_c0 {
width: 622rpx;
}
.immediatePayment_fd3_0_c0_c0 {
font-size: 32rpx;
font-weight: 700;
color: #333;
margin: 0rpx 0rpx 8rpx 0rpx;
}
.immediatePayment_fd3_0_c0 {
border-bottom: 1px solid #eee;
padding: 40rpx 0rpx 24rpx 0rpx;
}
.immediatePayment_fd3_0 {
background: rgba(255, 255, 255, 1);
padding: 0rpx 32rpx 0rpx 32rpx;
border-radius: 16rpx 16rpx 16rpx 16rpx;
background-size: 100% auto !important;
}
.immediatePayment_flex_4 {
width: 750rpx;
height: 127rpx;
overflow: hidden;
z-index: 10;
bottom: calc(0rpx + var(--window-bottom));
}
.immediatePayment_fd4_0 {
background: rgba(255, 147, 0, 1);
border-radius: 44rpx 44rpx 44rpx 44rpx;
font-size: 32rpx;
color: #fff;
width: 686rpx;
height: 80rpx;
line-height: 80rpx;
font-weight: 400;
}
.immediatePayment_flex_5 {
background: rgba(255, 255, 255, 1);
border-radius: 16rpx 16rpx 16rpx 16rpx;
padding: 40rpx 24rpx 0 24rpx;
}
.immediatePayment_fd5_2_c1 {
background: rgba(255, 255, 255, 1);
font-size: 28rpx;
color: rgba(255, 147, 0, 1);
padding: 0rpx 61rpx 0rpx 61rpx;
margin: 0rpx 0rpx 0rpx 12rpx;
}
.immediatePayment_fd5_2_c0 {
border-right: 1px solid #eee;
background: rgba(255, 255, 255, 1);
font-size: 28rpx;
color: rgba(153, 153, 153, 1);
padding: 0rpx 61rpx 0rpx 61rpx;
margin: 0rpx 12rpx 0rpx 0rpx;
background-size: 100% auto !important;
}
.immediatePayment_fd5_2 {
border-top: 1px solid #eee;
}
.immediatePayment_fd5_1 {
line-height: 52rpx;
font-size: 28rpx;
font-weight: 400;
color: #333333;
margin: 40rpx 0rpx 40rpx 0rpx;
}
.immediatePayment_fd5_0 {
line-height: 44rpx;
font-size: 32rpx;
font-weight: 500;
color: #333333;
}
</style>

View File

@ -0,0 +1,160 @@
<template>
<view class="page" :style="themeColor" v-if="info.aid">
<view class="flex benben-position-layout flex flex-wrap align-center merchantQualification_flex_0"
:style="{height:(88+StatusBarRpx)+'rpx',paddingTop:StatusBarRpx+'rpx'}">
<view class='flex flex-wrap align-center justify-between flex-sub merchantQualification_fd0_0'>
<view class='flex flex-wrap align-center' @tap.stop="handleJumpDiy" data-type="back" data-url="1">
<text class='fu-iconfont2 merchantQualification_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='merchantQualification_fd0_0_c1_c0'>商家资质</text>
</view>
<view class='flex flex-wrap align-center merchantQualification_fd0_0_c2'>
</view>
</view>
</view>
<view :style="{height: (88+StatusBarRpx)+'rpx'}"></view>
<!---flex布局flex布局开始-->
<view class="flex flex-wrap align-center justify-between benben-flex-layout merchantQualification_flex_1">
<image class='merchantQualification_fd1_0' v-for="(item, index) in info.license_image" :key="index" mode="aspectFill" :src='item'></image>
</view>
<!---flex布局flex布局结束-->
</view>
</template>
<script>
export default {
components: {},
data() {
return {
id: '',
info: {}
};
},
computed: {
themeColor() {
return this.$store.getters.themeColor
},
},
watch: {},
onLoad(options) {
let {
id
} = options
if (id !== undefined) this.id = id
this.getShopDetail();
},
onUnload() {
},
onReady() {
},
onShow() {
},
onHide() {
},
onResize() {
},
onPullDownRefresh() {
},
onReachBottom(e) {
},
onPageScroll(e) {
},
methods: {
/**
* 获取店铺详情
*/
getShopDetail() {
console.log(123)
this.$api.post(global.apiUrls.getShopDetail, {
aid: this.id
}).then(res => {
if (res.data.code == 1) {
this.info = res.data.data;
} else {
this.$message.info(res.data.msg)
}
})
.catch(err => {
console.log(err);
});
},
}
};
</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;
}
.merchantQualification_flex_0 {
background: #fff;
width: 750rpx;
height: 88rpx;
overflow: hidden;
z-index: 10;
top: 0rpx;
background-size: 100% auto !important;
}
.merchantQualification_fd0_0_c2 {
width: 32rpx;
height: 32rpx;
}
.merchantQualification_fd0_0_c1_c0 {
font-size: 36rpx;
font-weight: 500;
color: #333;
line-height: 88rpx;
}
.merchantQualification_fd0_0_c0_c0 {
font-size: 32rpx;
font-weight: 500;
color: #333;
line-height: 88rpx;
}
.merchantQualification_fd0_0 {
margin: 0rpx 32rpx 0rpx 32rpx;
}
.merchantQualification_flex_1 {
padding: 32rpx 32rpx 0rpx 32rpx;
}
.merchantQualification_fd1_1 {
width: 330rpx;
height: 240rpx;
border-radius: 0rpx 0rpx 0rpx 0rpx;
margin: 0rpx 0rpx 24rpx 0rpx;
}
.merchantQualification_fd1_0 {
width: 330rpx;
height: 240rpx;
border-radius: 6rpx;
margin: 0rpx 0rpx 24rpx 0rpx;
}
</style>

View File

@ -0,0 +1,287 @@
<template>
<view class="page" :style="themeColor">
<view class="flex benben-position-layout flex flex-wrap align-center paymentResults_flex_0"
:style="{height:(88+StatusBarRpx)+'rpx',paddingTop:StatusBarRpx+'rpx'}">
<view class='flex flex-wrap align-center justify-between flex-sub paymentResults_fd0_0'>
<view v-if="source == 'app'" class='flex flex-wrap align-center' @tap.stop="handleJumpDiy" data-type="back" data-url="1">
<!-- <text class='fu-iconfont2 paymentResults_fd0_0_c0_c0' @tap.stop="handleJumpDiy" data-type="back" data-url="1">&#xE794;</text> -->
<button class="fu-iconfont2 immediatePayment_fd0_0_c0_c0" style="background: #fff;" open-type="launchApp" app-parameter="wechat">&#xE794;</button>
</view>
<view v-else class='flex flex-wrap align-center' @tap.stop="handleJumpDiy" data-type="back" data-url="1">
<text class='fu-iconfont2 paymentResults_fd0_0_c0_c0'>&#xE794;</text>
</view>
<view class='flex flex-wrap align-stretch justify-center flex-sub'>
<text class='paymentResults_fd0_0_c1_c0'>支付结果</text>
</view>
<view class='flex flex-wrap align-center paymentResults_fd0_0_c2'>
</view>
</view>
</view>
<view :style="{height: (88+StatusBarRpx)+'rpx'}"></view>
<view class="flex flex-direction flex-wrap align-center justify-center paymentResults_flex_1">
<image class='paymentResults_fd1_0' mode="aspectFit"
:src='STATIC_URL+"146.png"'></image>
<text class='paymentResults_fd1_1'>支付成功</text>
<view class='flex flex-wrap align-center'>
<text class='paymentResults_fd1_2_c0'>支付方式</text>
<text class='paymentResults_fd1_2_c1'>{{pay == 1 ? '微信支付' : pay == 2 ? '支付宝支付' : pay == 5 ? '抵用券抵扣' :'余额支付'}}</text>
</view>
<view class='flex flex-wrap align-center paymentResults_fd1_3'>
<text class='paymentResults_fd1_3_c0'>支付时间</text>
<text class='paymentResults_fd1_3_c1'>{{time}}</text>
</view>
<view class='flex flex-wrap align-center paymentResults_fd1_4'>
<text class='paymentResults_fd1_4_c0'>赚取积分</text>
<text class='paymentResults_fd1_4_c1'>{{score}}</text>
</view>
<button class='paymentResults_fd1_5' v-if="state == 1 && source !='app'" @tap="handleToOrder">查看订单</button>
<view class="paymentResults_fd1_7" v-if="state == 2 && source !='app'"></view>
<button v-if="source =='app'" class='paymentResults_fd1_6' open-type="launchApp" app-parameter="wechat" data-type="switchTab"
:data-url="`/pages/tabBar/homePage/homePage`">返回App</button>
<button v-else class='paymentResults_fd1_6' @tap.stop="handleJumpDiy" data-type="switchTab"
:data-url="`/pages/tabBar/homePage/homePage`">返回首页</button>
</view>
</view>
</template>
<script>
export default {
components: {},
data() {
return {
"pay": "",
"time": "",
"contribution": "",
sn:"",
score:"",
source: ''
};
},
computed: {
themeColor() {
return this.$store.getters.themeColor
},
},
watch: {},
onLoad(options) {
let {
pay,
state,
sn,
source
} = options
if (pay !== undefined) this.pay = pay
if (state !== undefined) this.state = state
if (sn !== undefined) this.sn = sn
if (source !== undefined) this.source = source
this.getFamtterTimer();
this.get64a530ab891d9()
},
onUnload() {
},
onReady() {
},
onShow() {
},
onHide() {
},
onResize() {
},
onPullDownRefresh() {
},
onReachBottom(e) {
},
onPageScroll(e) {
},
methods: {
handleToOrder() {
uni.switchTab({
url: '/pages/tabBar/myOrder/myOrder'
})
},
getFamtterTimer() { //传入时间
let date = new Date(),
Y = date.getFullYear(), // 年
M = date.getMonth() + 1, //月
D = date.getDate(), //日
h = date.getHours(), //小时
m = date.getMinutes(), //分钟
s = date.getSeconds(); //秒数
this.time = Y + '-' + this.getZero(M) + '-' + this.getZero(D) + ' ' + this.getZero(h) + ':' +
this.getZero(m) + ':' + this.getZero(s);
},
get64a530ab891d9(){
this.$api.post(global.apiUrls.get64a530ab891d9,{
order_sn:this.sn
}).then(res=>{
if(res.data.code==1){
this.score = res.data.data.score
}
})
},
getZero(num) {
if (parseInt(num) < 10) {
num = '0' + num;
}
return num;
}
}
};
</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;
}
.paymentResults_flex_0 {
background: #fff;
width: 750rpx;
height: 88rpx;
overflow: hidden;
z-index: 10;
top: 0rpx;
background-size: 100% auto !important;
}
.paymentResults_fd0_0_c2 {
width: 32rpx;
height: 32rpx;
}
.paymentResults_fd0_0_c1_c0 {
font-size: 36rpx;
font-weight: 500;
color: #333;
line-height: 88rpx;
}
.paymentResults_fd0_0_c0_c0 {
font-size: 32rpx;
font-weight: 500;
color: #333;
line-height: 88rpx;
}
.paymentResults_fd0_0 {
margin: 0rpx 32rpx 0rpx 32rpx;
}
.paymentResults_flex_1 {
margin: 88rpx 0rpx 0rpx 0rpx;
}
.paymentResults_fd1_6 {
border: 1px solid rgba(255, 147, 0, 1);
background: transparent;
line-height: 88rpx;
border-radius: 44rpx 44rpx 44rpx 44rpx;
font-size: 32rpx;
color: rgba(255, 147, 0, 1);
width: 320rpx;
height: 88rpx;
margin-top: 32rpx;
}
.paymentResults_fd1_5 {
background: rgba(255, 147, 0, 1);
border-radius: 44rpx 44rpx 44rpx 44rpx;
font-size: 32rpx;
color: #fff;
width: 320rpx;
height: 88rpx;
line-height: 88rpx;
margin: 60rpx 0rpx 0rpx 0rpx;
}
.paymentResults_fd1_7 {
border-radius: 44rpx 44rpx 44rpx 44rpx;
font-size: 32rpx;
color: #fff;
width: 320rpx;
height: 88rpx;
line-height: 88rpx;
margin: 60rpx 0rpx 0rpx 0rpx;
}
.paymentResults_fd1_4_c1 {
color: #666666;
font-size: 28rpx;
font-weight: 400;
line-height: 30rpx;
}
.paymentResults_fd1_4_c0 {
color: #666666;
font-size: 28rpx;
font-weight: 400;
line-height: 30rpx;
}
.paymentResults_fd1_4 {
margin: 16rpx 0rpx 0rpx 0rpx;
}
.paymentResults_fd1_3_c1 {
color: #666666;
font-size: 28rpx;
font-weight: 400;
line-height: 30rpx;
}
.paymentResults_fd1_3_c0 {
color: #666666;
font-size: 28rpx;
font-weight: 400;
line-height: 30rpx;
}
.paymentResults_fd1_3 {
margin: 16rpx 0rpx 0rpx 0rpx;
}
.paymentResults_fd1_2_c1 {
color: #666666;
font-size: 28rpx;
font-weight: 400;
line-height: 30rpx;
}
.paymentResults_fd1_2_c0 {
color: #666666;
font-size: 28rpx;
font-weight: 400;
line-height: 30rpx;
}
.paymentResults_fd1_1 {
font-weight: 700;
font-size: 32rpx;
line-height: 105rpx;
}
.paymentResults_fd1_0 {
width: 250rpx;
height: 180rpx;
border-radius: 0rpx 0rpx 0rpx 0rpx;
}
</style>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,555 @@
<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="1">
<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="aspectFill" :src='image'>
</image>
</view>
<image class='feedbackRecord_fd1_3_c1_c01'
@tap.stop="$refs.benbenImagesUploadfd1_3_c1_c0.manyChooseImage()" v-if="isShow" mode="aspectFill"
:src='STATIC_URL+"81.png"'></image>
<text class='image_upload_tips feedbackRecord_fd1_3_c1_c02'>可上传1张图片</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', // 是否显示图片上传
id: ''
};
},
computed: {
/**
* 反馈内容字数计算
*/
bodyLen() {
return this.body.length;
}
},
onLoad(options) {
this.id = options.id || '';
// 获取反馈类型数据
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.reportTypes)
.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;
formData.content = formData.body;
formData.store_id = this.id;
formData.mobile = formData.contact;
// 对表单数据进行校验,
let errMsg = this.doValidate(formData);
if (errMsg) {
this.$message.info(errMsg);
return;
}
console.log(errMsg, formData);
// 提交数据
if (this.isSubmit) return;
this.isSubmit = true;
uni.showLoading({
title: '正在提交~',
mask: true
})
this.$api.post(global.apiUrls.reportAdd, 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: 8rpx 8rpx 8rpx 8rpx;
}
.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>

View File

@ -0,0 +1,245 @@
<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>

View File

@ -0,0 +1,357 @@
<template>
<view class="page">
<view class="content">
<view class="title-wrap flex align-center">
<image :src='STATIC_URL+"45.png"' mode=""></image>
<text>收款商家: {{name}}</text>
</view>
<view class="input-wrap">
<input type="digit" placeholder="请输入支付金额" v-model="money" @input="handleInputMoney">
</view>
</view>
<!-- #ifdef MP-WEIXIN -->
<view class="btn" @click="handlePay1" v-if="is_bangding==1">确定支付</view>
<uni-popup ref="popup" type="bottom" border-radius="10px 10px 0 0">
<view v-if="is_bangding==0" style="height: 40vh;display: flex;align-items: center;">
<view style="margin-top: 100rpx;">
<button open-type="getPhoneNumber" @getphonenumber="getPhoneNumber" class="btn1">一键登录</button>
</view>
</view>
</uni-popup>
<!-- #endif -->
<!-- #ifndef MP-WEIXIN -->
<view class="btn" @click="handlePay">确定支付</view>
<!-- #endif -->
</view>
</template>
<script>
import {
LOGIN_PAGE_URL
} from '@/common/config.js'
export default {
components: {},
data() {
return {
id: '',
name: '',
money: '',
isSubmit: false,
loginCode: '',
openid: '',
is_bangding: 1,
userinfo: {}
};
},
watch: {},
onLoad(options) {
this.init()
this.id = options.id || ''
this.name = options.name || ''
if (options.q) {
let queryAll = decodeURIComponent(options.q);
// let queryAll = 'https://yuerzx.magic-house.cn/mp?action=scan&invite_code=IC00177';
if (queryAll.indexOf('/store?store_id=') != -1) {
let params = queryAll.split("?")[1];
let params1 = params.split("&")[0];
let params2 = params.split("&")[1];
let pair = params1.split("=")[1] ? params1.split("=")[1] : '';
let name = params2.split("=")[1] ? params2.split("=")[1] : '';
if (pair && name) {
this.id = pair
this.name = name
} else {
this.$message.info('暂不能识别此二维码');
return
}
} else {
this.$message.info('暂不能识别此二维码');
return
}
}
},
onUnload() {
},
onReady() {
},
onShow() {
},
onHide() {
},
onResize() {
},
onPullDownRefresh() {
},
onReachBottom(e) {
},
onPageScroll(e) {
},
methods: {
init() {
console.log(90909090123)
let self = this
uni.login({
provider: 'weixin', //使用微信登录
success: function(loginRes) {
console.log(loginRes.code);
self.loginCode = loginRes.code
self.$api.post(global.apiUrls.post67ac5d9302006, {
code: loginRes.code
})
.then(res => {
if (res.data.code == 1) {
console.log(res.data.data, 909090123)
self.openid = res.data.data.openid
self.is_bangding = res.data.data.is_bangding
if (self.is_bangding == 0) {
self.$refs.popup.open('top')
} else {
self.userinfo = res.data.data.userinfo
// self.$store.commit('updateUserInfo', res.data
// .data.userinfo);
// global.token = res.data.data.userinfo.user_token
// global.userInfo = res.data.data.userinfo
// uni.setStorageSync('USER_INFO', res.data.data
// .userinfo)
// uni.setStorageSync('USER_TOKEN', res.data.data
// .userinfo.user_token)
// self.handle()
}
}
})
.catch(err => {
})
}
});
},
getPhoneNumber(e) {
// if (!this.money || this.money - 0 <= 0) return this.$message.info('请输入正确的支付金额')
let self = this
if (e.detail.errMsg == "getPhoneNumber:ok") { //点击了“允许”按钮,
self.$api.post(global.apiUrls.post67ac3a198d7bd, {
openid: self.openid,
code: e.detail.code,
})
.then(res => {
if (res.data.code == 1) {
self.userinfo = res.data.data.userinfo
self.$refs.popup.close()
self.is_bangding = 1
self.$store.commit('updateUserInfo', res.data
.data.userinfo);
global.token = res.data.data.userinfo.user_token
global.userInfo = res.data.data.userinfo
uni.setStorageSync('USER_INFO', res.data.data
.userinfo)
uni.setStorageSync('USER_TOKEN', res.data.data
.userinfo.user_token)
// self.handle()
} else {
}
})
.catch(err => {
})
}
},
handlePay1() {
let self = this
if (!this.money || this.money - 0 <= 0) return this.$message.info('请输入正确的支付金额')
// if (self.is_bangding == 0) {
// self.$message.info('您还没有绑定手机号,请点击按钮绑定手机号')
// } else {
self.$store.commit('updateUserInfo', self.userinfo);
global.token = self.userinfo.user_token
global.userInfo = self.userinfo
uni.setStorageSync('USER_INFO', self.userinfo)
uni.setStorageSync('USER_TOKEN', self.userinfo.user_token)
self.handle()
// }
},
handle() {
if (this.isSubmit) return false;
this.isSubmit = true;
this.$api.post(global.apiUrls.scanPay, {
store_id: this.id,
money: this.money
})
.then(res => {
if (res.data.code == 1) {
uni.redirectTo({
url: `/pages/dpxq/immediatePayment/immediatePayment?state=5&sn=${res.data.data.order_sn}&money=${this.money}&time=${res.data.data.surplus_time}`
})
} else {
this.isSubmit = false;
this.$message.info(res.data.msg)
}
})
.catch(err => {
this.isSubmit = false;
console.log("err: ", err);
})
},
handlePay() {
if (!global.token) {
uni.navigateTo({
url: LOGIN_PAGE_URL
})
return false
}
if (!this.money || this.money - 0 <= 0) return this.$message.info('请输入正确的支付金额')
if (this.isSubmit) return false;
this.isSubmit = true;
this.$api.post(global.apiUrls.scanPay, {
store_id: this.id,
money: this.money
})
.then(res => {
if (res.data.code == 1) {
uni.redirectTo({
url: `/pages/dpxq/immediatePayment/immediatePayment?state=5&sn=${res.data.data.order_sn}&money=${this.money}&time=${res.data.data.surplus_time}`
})
// order_sn postPayOrder
// this.$api.post(global.apiUrls.postPayOrder, {order_sn: res.data.data.order_sn})
// .then(res => {
// if (res.data.code == 1) {
// } else {
// this.$message.info(res.data.msg)
// }
// })
// .catch(err => {
// console.log("err: ", err);
// })
} else {
this.isSubmit = false;
this.$message.info(res.data.msg)
}
})
.catch(err => {
this.isSubmit = false;
console.log("err: ", err);
})
},
handleInputMoney(e) {
console.log(e);
let change_money = this.money;
change_money = change_money.replace(/[^\d.]/g, ""); //清除“数字”和“.”以外的字符
change_money = change_money.replace(/\.{2,}/g, "."); //只保留第一个. 清除多余的
change_money = change_money.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
change_money = change_money.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3'); //只能输入两个小数
if (change_money.indexOf(".") < 0 && change_money != "") { //以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额
change_money = parseFloat(change_money);
} else if (change_money.indexOf(".") == 0) { //首为小数点,补全
if (change_money.length > 1) {
change_money = `0${change_money}`
} else {
change_money = change_money.replace(/[^$#$]/g, "0.");
change_money = change_money.replace(/\.{2,}/g, ".");
}
}
setTimeout(() => { //这个一定要定时器
this.money = change_money
}, 50)
},
}
};
</script>
<style lang="scss" scoped>
.page {
width: 100vw;
height: 100vh;
background-color: #f6f7f9;
}
.content {
padding: 32rpx 32rpx;
box-sizing: border-box;
background-color: #fff;
.title-wrap {
image {
width: 32rpx;
height: 28rpx;
}
text {
margin-left: 24rpx;
font-size: 28rpx;
color: #333;
font-weight: bold;
}
}
.input-wrap {
margin-top: 32rpx;
width: 100%;
height: 90rpx;
border-radius: 8rpx;
border: 1px solid #FF9300;
input {
padding: 0 32rpx;
width: 100%;
height: 100%;
font-size: 30rpx;
}
}
}
.btn {
position: fixed;
bottom: 48rpx;
left: 32rpx;
width: 686rpx;
height: 80rpx;
background: #FF9300;
border-radius: 50rpx;
opacity: 1;
display: flex;
align-items: center;
justify-content: center;
font-size: 32rpx;
color: #fff;
}
.btn1 {
width: 686rpx;
height: 80rpx;
background: #FF9300;
border-radius: 50rpx;
opacity: 1;
display: flex;
align-items: center;
justify-content: center;
font-size: 32rpx;
color: #fff;
}
</style>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,376 @@
<template>
<view class="page" :style="themeColor">
<view class="flex flex-direction align-stretch justify-between benben-position-layout flex searchPage_flex_0"
:style="{height:CustomBarRpx+'rpx',paddingTop:StatusBarRpx+'rpx', paddingRight :capsuleWidth + 'px'}">
<view class='flex flex-wrap align-center justify-between searchPage_fd0_0'>
<text class='fu-iconfont2 searchPage_fd0_0_c0' @tap.stop="handleJumpDiy" data-type="back"
data-url="1">&#xE794;</text>
<view class='flex flex-wrap align-center flex-sub searchPage_fd0_0_c1'>
<image class='searchPage_fd0_0_c1_c0' mode="aspectFit" :src='STATIC_URL+"53.png"'></image>
<input class='flex-sub searchPage_fd0_0_c1_c1' type="text" focus="true" placeholder="请输入关键字" confirm-type="done"
:maxlength="-1" placeholder-style="color:rgba(153, 153, 153, 1);font-size:28rpx" v-model="keyword" />
</view>
<text class='searchPage_fd0_0_c2' @tap.stop="handleSearch" data-type="navigateTo"
:data-url="`/pages/dpxq/searchResult/searchResult`">搜索</text>
</view>
</view>
<view :style="{height: CustomBarRpx+'rpx'}"></view>
<!---flex布局flex布局开始-->
<view class="flex flex-direction flex-wrap align-stretch benben-flex-layout searchPage_flex_1">
<view class='flex flex-wrap align-center justify-between searchPage_fd1_0'>
<view class='flex flex-wrap align-center'>
<image class='searchPage_fd1_0_c0_c0' mode="aspectFit" :src='STATIC_URL+"57.png"'></image>
<text class='searchPage_fd1_0_c0_c1'>搜索历史</text>
</view>
<image class='searchPage_fd1_0_c1' :src='STATIC_URL+"58.png"' @tap.stop="handleDelete"></image>
</view>
<view class="flex align-center padding-lr" v-if="!historyList.length">暂无历史搜索</view>
<view class='flex flex-wrap align-center'>
<view class='flex flex-wrap align-center searchPage_fd1_1_c0' v-for="(item, index) in historyList" :key="index" @tap.stop="handleJumpDiy" data-type="navigateTo"
:data-url="`/pages/dpxq/searchResult/searchResult?keyword=${item.title}&id=${sid}`">
<text class='searchPage_fd1_1_c0_c0'>{{item.title}}</text>
<!-- <image class='searchPage_fd1_1_c0_c1' :src='STATIC_URL+"60.png"' @tap.stop="deleteSearchFunc()"></image> -->
</view>
</view>
<view class='flex flex-wrap align-center justify-between searchPage_fd1_2'>
<view class='flex flex-wrap align-center'>
<image class='searchPage_fd1_2_c0_c0' mode="aspectFit" :src='STATIC_URL+"59.png"'></image>
<text class='searchPage_fd1_2_c0_c1'>热门搜索</text>
</view>
</view>
<view class="flex align-center padding-lr" v-if="!hotList.length">暂无热门搜索</view>
<view class='flex flex-wrap align-center searchPage_fd1_3'>
<view class='flex flex-wrap align-center searchPage_fd1_3_c0' v-for="(item, index) in hotList" :key="index" @tap.stop="handleJumpDiy" data-type="navigateTo"
:data-url="`/pages/dpxq/searchResult/searchResult?keyword=${item.title}&id=${sid}`">
<text class='searchPage_fd1_3_c0_c0'>{{item.title}}</text>
<!-- <image class='searchPage_fd1_3_c0_c1' :src='STATIC_URL+"60.png"' @tap.stop="deleteSearchFunc()"></image> -->
</view>
</view>
</view>
<!---flex布局flex布局结束-->
<benben-popup v-model="popupShow1681282077687" :mask="true" mode='center'>
<!---删除历史记录flex布局开始-->
<view class="flex flex-direction flex-wrap align-center searchPage_flex_2">
<text class='searchPage_fd2_0'>确定删除历史记录</text>
<view class='flex flex-wrap align-center searchPage_fd2_1'>
<button class='searchPage_fd2_1_c0' @tap.stop="popupShow1681282077687=false">取消</button>
<button class='searchPage_fd2_1_c1' @tap.stop="clearSearchFunc()">确定</button>
</view>
</view>
<!---删除历史记录flex布局结束-->
</benben-popup>
</view>
</template>
<script>
export default {
components: {},
data() {
return {
"popupShow1681282077687": false,
"keyword": "",
"length": "1",
historyList: [],
hotList: [],
sid: ''
};
},
computed: {
themeColor() {
return this.$store.getters.themeColor
},
appSearchHistory() { // 搜索历史
return this.$store.state.appSearchHistory
}
},
watch: {},
onLoad(options) {
this.sid = options.id || '';
},
onUnload() {
},
onReady() {
},
onShow() {
this.getSearchHistory();
this.getHotSearch();
},
onHide() {
},
onResize() {
},
onPullDownRefresh() {
},
onReachBottom(e) {
},
onPageScroll(e) {
},
methods: {
handleSearch() {
if (this.keyword.trim() == '') return this.$message.info('请输入搜索内容');
uni.navigateTo({
url: `/pages/dpxq/searchResult/searchResult?keyword=${this.keyword}&id=${this.sid}`
})
},
handleDelete() {
if (!this.historyList.length) return this.$message.info('暂无历史搜索记录');
this.$util.showModal({
title:'提示',
content: '确定删除历史记录?',
success: res => {
if (res.confirm) {
this.$api.post(global.apiUrls.postDelSearch).then(res => {
let data = res.data;
this.$message.info(data.msg);
if (data.code == 1) {
this.getSearchHistory();
}
})
.catch(err => {
console.log('err: ' + JSON.stringify(err));
});
}
}
});
},
getHotSearch() {
this.$api.post(global.apiUrls.getHotSearch).then(res => {
if (res.data.code == 1) {
this.hotList = res.data.data;
}
})
.catch(err => {
console.log(err);
});
},
getSearchHistory() {
this.$api.post(global.apiUrls.getSearchHistory).then(res => {
if (res.data.code == 1) {
this.historyList = res.data.data;
}
})
.catch(err => {
console.log(err);
});
},
//删除搜索记录
deleteSearchFunc(name) {
this.$store.commit('appSearchHistoryDel', {
"name": name
})
},
//清空搜索记录
clearSearchFunc() {
this.$store.commit('appSearchHistoryClean', '')
this.popupShow1681282077687 = 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;
}
.searchPage_flex_0 {
background: #fff;
width: 750rpx;
height: 88rpx;
overflow: hidden;
z-index: 10;
top: 0rpx;
background-size: #eee;
}
.searchPage_fd0_0_c2 {
font-size: 32rpx;
font-weight: 400;
color: #333333;
margin: 0rpx 0rpx 0rpx 32rpx;
line-height: 32rpx;
}
.searchPage_fd0_0_c1_c1 {
font-size: 24rpx;
font-weight: 400;
color: #333;
}
.searchPage_fd0_0_c1_c0 {
width: 28rpx;
height: 28rpx;
border-radius: 0rpx 0rpx 0rpx 0rpx;
margin: 0rpx 16rpx 0rpx 0rpx;
}
.searchPage_fd0_0_c1 {
background: rgba(246, 247, 249, 1);
height: 64rpx;
background-size: 100% auto !important;
border-radius: 34rpx 34rpx 34rpx 34rpx;
padding: 12rpx 24rpx 12rpx 24rpx;
font-size: 28rpx;
font-weight: 400;
color: #333;
}
.searchPage_fd0_0_c0 {
font-size: 36rpx;
font-weight: 500;
color: #333;
margin: 0rpx 16rpx 0rpx 0rpx;
}
.searchPage_fd0_0 {
padding: 0rpx 24rpx 0rpx 24rpx;
line-height: 88rpx;
}
.searchPage_flex_1 {
padding: 32rpx 32rpx 32rpx 32rpx;
}
.searchPage_fd1_3_c0_c1 {
width: 16rpx;
height: 16rpx;
margin: 0rpx 0rpx 0rpx 16rpx;
}
.searchPage_fd1_3_c0_c0 {
line-height: 34rpx;
font-size: 24rpx;
font-weight: 400;
color: rgba(51, 51, 51, 1);
}
.searchPage_fd1_3_c0 {
background: rgba(246, 247, 249, 1);
height: 56rpx;
border-radius: 32rpx 32rpx 32rpx 32rpx;
padding: 0rpx 32rpx 0rpx 32rpx;
margin: 12rpx 12rpx 12rpx 12rpx;
}
.searchPage_fd1_3 {
margin: 0rpx 0rpx rpx 0rpx;
}
.searchPage_fd1_2_c0_c1 {
color: #333333;
font-size: 32rpx;
font-weight: 600;
line-height: 40rpx;
}
.searchPage_fd1_2_c0_c0 {
width: 28rpx;
height: 28rpx;
border-radius: 0rpx 0rpx 0rpx 0rpx;
margin: 0rpx 16rpx 0rpx 0rpx;
}
.searchPage_fd1_2 {
margin: 64rpx 0rpx 23rpx 0rpx;
}
.searchPage_fd1_1_c0_c1 {
width: 16rpx;
height: 16rpx;
margin: 0rpx 0rpx 0rpx 16rpx;
}
.searchPage_fd1_1_c0_c0 {
line-height: 34rpx;
font-size: 24rpx;
font-weight: 400;
color: rgba(51, 51, 51, 1);
}
.searchPage_fd1_1_c0 {
background: rgba(246, 247, 249, 1);
height: 56rpx;
border-radius: 32rpx 32rpx 32rpx 32rpx;
padding: 0rpx 32rpx 0rpx 32rpx;
margin: 12rpx 12rpx 12rpx 12rpx;
}
.searchPage_fd1_0_c1 {
width: 32rpx;
height: 32rpx;
}
.searchPage_fd1_0_c0_c1 {
color: #333333;
font-size: 32rpx;
font-weight: 600;
line-height: 40rpx;
}
.searchPage_fd1_0_c0_c0 {
width: 28rpx;
height: 28rpx;
border-radius: 0rpx 0rpx 0rpx 0rpx;
margin: 0rpx 16rpx 0rpx 0rpx;
}
.searchPage_fd1_0 {
margin: 0rpx 0rpx 23rpx 0rpx;
}
.searchPage_flex_2 {
background: #fff;
margin: 0rpx 105rpx 0rpx 105rpx;
background-size: #eee;
border-radius: 25rpx 25rpx 25rpx 25rpx;
}
.searchPage_fd2_1_c1 {
background: transparent;
line-height: 45rpx;
border-radius: 0rpx 0rpx 16rpx 0rpx;
font-size: 32rpx;
color: rgba(255, 147, 0, 1);
padding: 24rpx 103rpx 24rpx 99rpx;
}
.searchPage_fd2_1_c0 {
border-right: 1px solid #EEEEEE;
background: transparent;
line-height: 45rpx;
border-radius: 0rpx 0rpx 0rpx 16rpx;
font-size: 32rpx;
color: rgba(153, 153, 153, 1);
padding: 24rpx 103rpx 24rpx 103rpx;
}
.searchPage_fd2_1 {
border-top: 1px solid #eee;
}
.searchPage_fd2_0 {
font-size: 32rpx;
font-weight: 400;
line-height: 52rpx;
color: #333333;
margin: 56rpx 0rpx 64rpx 0rpx;
}
</style>

View File

@ -0,0 +1,237 @@
<template>
<view class="page" :style="themeColor">
<view class="flex flex-direction align-stretch justify-between benben-position-layout flex searchWithin_flex_0" :style="{height:(110+StatusBarRpx)+'rpx',paddingTop:StatusBarRpx+'rpx'}">
<view class='flex flex-wrap align-center justify-between searchWithin_fd0_0' >
<text class='fu-iconfont2 searchWithin_fd0_0_c0' @tap.stop="handleJumpDiy" data-type="back" data-url="1" >&#xE794;</text>
<view class='flex flex-wrap align-center flex-sub searchWithin_fd0_0_c1' >
<image class='searchWithin_fd0_0_c1_c0' mode="aspectFit" :src='STATIC_URL+"53.png"'></image>
<input class='flex-sub searchWithin_fd0_0_c1_c1' type="text" placeholder="请输入关键字" confirm-type="done" :maxlength="-1" placeholder-style="color:rgba(153, 153, 153, 1);font-size:28rpx" @confirm="searchForFunc()" v-model="keywords" />
</view>
<text class='searchWithin_fd0_0_c2' @tap.stop="searchForFunc()" >搜索</text>
</view>
</view>
<view :style="{height: (110+StatusBarRpx)+'rpx'}" ></view>
<!---flex布局flex布局开始-->
<view class="flex flex-direction flex-wrap align-stretch benben-flex-layout searchWithin_flex_1" >
<view class='flex flex-wrap align-center justify-between searchWithin_fd1_0' >
<view class='flex flex-wrap align-center' >
<image class='searchWithin_fd1_0_c0_c0' mode="aspectFit" :src='STATIC_URL+"57.png"'></image>
<text class='searchWithin_fd1_0_c0_c1' >搜索历史</text>
</view>
<image class='searchWithin_fd1_0_c1' :src='STATIC_URL+"58.png"' @tap.stop="popupShow1681282077687=true" ></image>
</view>
<view class='flex flex-wrap align-center searchWithin_fd1_1' v-if= "appSearchHistory.length=='0'" >
<text class='searchWithin_fd1_1_c0' >暂无历史搜索</text>
</view>
<view class='flex flex-wrap align-center' v-if= "length.split(',')>'0'" >
<template v-for = '(item,key0) in appSearchHistory'>
<view class='flex flex-wrap align-center searchWithin_fd1_2_c0' @tap.stop="handleJumpDiy" data-type="navigateTo" :data-url="`/pages/dpxq/searchResult/searchResult?input=${item.name}`" :key='key0'>
<text class='searchWithin_fd1_2_c0_c0' >{{item.name}}</text>
<image class='searchWithin_fd1_2_c0_c1' :src='STATIC_URL+"60.png"' @tap.stop="deleteSearchFunc(item.name)" ></image>
</view>
</template>
</view>
<view class='flex flex-wrap align-center justify-between searchWithin_fd1_3' >
<view class='flex flex-wrap align-center' >
<image class='searchWithin_fd1_3_c0_c0' mode="aspectFit" :src='STATIC_URL+"59.png"'></image>
<text class='searchWithin_fd1_3_c0_c1' >热门搜索</text>
</view>
</view>
<view class='flex flex-wrap align-center searchWithin_fd1_4' v-if= "length.split(',')>'0'" >
<view class='flex flex-wrap align-center searchWithin_fd1_4_c0' @tap.stop="handleJumpDiy" data-type="navigateTo" :data-url="`/pages/dpxq/searchResult/searchResult`" >
<text class='searchWithin_fd1_4_c0_c0' >蓝牙耳机</text>
<image class='searchWithin_fd1_4_c0_c1' :src='STATIC_URL+"60.png"' @tap.stop="deleteSearchFunc()" ></image>
</view>
</view>
</view>
<!---flex布局flex布局结束-->
<benben-popup v-model="popupShow1681282077687" :mask="true" mode='center'>
<!---删除历史记录flex布局开始-->
<view class="flex flex-direction flex-wrap align-center searchWithin_flex_2" >
<text class='searchWithin_fd2_0' >确定删除历史记录?</text>
<view class='flex flex-wrap align-center searchWithin_fd2_1' >
<button class='searchWithin_fd2_1_c0' @tap.stop="popupShow1681282077687=false" >取消</button>
<button class='searchWithin_fd2_1_c1' @tap.stop="clearSearchFunc()" >确定</button>
</view>
</view>
<!---删除历史记录flex布局结束-->
</benben-popup>
</view>
</template>
<script>
export default {
components:{},
data(){
return {"popupShow1681282077687":false,"keywords":"","length":"1","hository_length":["小笼包","煎饼果子","黄焖鸡米饭","汉堡"],"input_content":""};
},
computed:{
themeColor() {
return this.$store.getters.themeColor
},
appSearchHistory() {// 搜索历史
return this.$store.state.appSearchHistory
}
},
watch:{},
onLoad(options){
},
onUnload() {
},
onReady(){
},
onShow(){
},
onHide(){
},
onResize(){
},
onPullDownRefresh(){
},
onReachBottom(e){
},
onPageScroll(e){
},
methods:{
//删除搜索记录
deleteSearchFunc(name){
this.$store.commit('appSearchHistoryDel',{"name":name})
},
//清空搜索记录
clearSearchFunc(){
this.$store.commit('appSearchHistoryClean','')
this.popupShow1681282077687 = false;
},
//跳转
jumpResultFunc(){
this.$store.commit('appSearchHistoryAdd',{"name":this.keywords})
},
//添加搜索记录
addSearchRecordFunc(){
this.$store.commit('appSearchHistoryAdd',{"name":this.keywords})
},
//搜索
searchForFunc(){
if( this.keywords==''){
this.$message.info('请输入要搜索的商品');
}
else if( this.keywords!=''){
this.$urouter.navigateTo(`/pages/dpxq/searchResult/searchResult?input=${this.input_content}`);
}
}
}
};
</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;
}
.searchWithin_flex_0{
background:#fff;width:750rpx;height:110rpx;overflow:hidden;z-index:10;top:0rpx;background-size:#eee;
}
.searchWithin_fd0_0_c2{
font-size:32rpx;font-weight:400;color:#333333;margin:0rpx 0rpx 0rpx 32rpx;line-height:32rpx;
}
.searchWithin_fd0_0_c1_c1{
font-size:24rpx;font-weight:400;color:#333;
}
.searchWithin_fd0_0_c1_c0{
width:28rpx;height:28rpx;border-radius:0rpx 0rpx 0rpx 0rpx;margin:0rpx 16rpx 0rpx 0rpx;
}
.searchWithin_fd0_0_c1{
background:rgba(246, 247, 249, 1);height:64rpx;background-size:100% auto !important;border-radius:34rpx 34rpx 34rpx 34rpx;padding:12rpx 24rpx 12rpx 24rpx;font-size:28rpx;font-weight:400;color:#333;
}
.searchWithin_fd0_0_c0{
font-size:36rpx;font-weight:500;color:#333;margin:0rpx 16rpx 0rpx 0rpx;
}
.searchWithin_fd0_0{
padding:0rpx 32rpx 0rpx 32rpx;line-height:110rpx;
}
.searchWithin_flex_1{
padding:32rpx 32rpx 32rpx 32rpx;
}
.searchWithin_fd1_4_c0_c1{
width:16rpx;height:16rpx;margin:0rpx 0rpx 0rpx 16rpx;
}
.searchWithin_fd1_4_c0_c0{
line-height:34rpx;font-size:24rpx;font-weight:400;color:rgba(51, 51, 51, 1);
}
.searchWithin_fd1_4_c0{
background:rgba(246, 247, 249, 1);height:56rpx;border-radius:32rpx 32rpx 32rpx 32rpx;padding:0rpx 32rpx 0rpx 32rpx;margin:12rpx 12rpx 12rpx 12rpx;
}
.searchWithin_fd1_4{
margin:0rpx 0rpx rpx 0rpx;
}
.searchWithin_fd1_3_c0_c1{
color:#333333;font-size:32rpx;font-weight:600;line-height:40rpx;
}
.searchWithin_fd1_3_c0_c0{
width:28rpx;height:28rpx;border-radius:0rpx 0rpx 0rpx 0rpx;margin:0rpx 16rpx 0rpx 0rpx;
}
.searchWithin_fd1_3{
margin:64rpx 0rpx 23rpx 0rpx;
}
.searchWithin_fd1_2_c0_c1{
width:16rpx;height:16rpx;margin:0rpx 0rpx 0rpx 16rpx;
}
.searchWithin_fd1_2_c0_c0{
line-height:34rpx;font-size:24rpx;font-weight:400;color:rgba(51, 51, 51, 1);
}
.searchWithin_fd1_2_c0{
background:rgba(246, 247, 249, 1);height:56rpx;border-radius:32rpx 32rpx 32rpx 32rpx;padding:0rpx 32rpx 0rpx 32rpx;margin:12rpx 12rpx 12rpx 12rpx;
}
.searchWithin_fd1_1_c0{
color:#BFBFBF;font-size:28rpx;font-weight:400;line-height:30rpx;
}
.searchWithin_fd1_1{
margin:0rpx 0rpx 23rpx 0rpx;
}
.searchWithin_fd1_0_c1{
width:32rpx;height:32rpx;
}
.searchWithin_fd1_0_c0_c1{
color:#333333;font-size:32rpx;font-weight:600;line-height:40rpx;
}
.searchWithin_fd1_0_c0_c0{
width:28rpx;height:28rpx;border-radius:0rpx 0rpx 0rpx 0rpx;margin:0rpx 16rpx 0rpx 0rpx;
}
.searchWithin_fd1_0{
margin:0rpx 0rpx 23rpx 0rpx;
}
.searchWithin_flex_2{
background:#fff;margin:0rpx 105rpx 0rpx 105rpx;background-size:#eee;border-radius:25rpx 25rpx 25rpx 25rpx;
}
.searchWithin_fd2_1_c1{
background:transparent;line-height:45rpx;border-radius:0rpx 0rpx 16rpx 0rpx;font-size:32rpx;color:rgba(255, 147, 0, 1);padding:24rpx 103rpx 24rpx 99rpx;
}
.searchWithin_fd2_1_c0{
border-right:1px solid #EEEEEE;background:transparent;line-height:45rpx;border-radius:0rpx 0rpx 0rpx 16rpx;font-size:32rpx;color:rgba(153, 153, 153, 1);padding:24rpx 103rpx 24rpx 103rpx;
}
.searchWithin_fd2_1{
border-top:1px solid #eee;
}
.searchWithin_fd2_0{
font-size:32rpx;font-weight:400;line-height:52rpx;color:#333333;margin:56rpx 0rpx 64rpx 0rpx;
}
</style>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,150 @@
<template>
<view class="page" :style="themeColor">
<view class="flex benben-position-layout flex flex-wrap align-center storeResults_flex_0" :style="{height:(88+StatusBarRpx)+'rpx',paddingTop:StatusBarRpx+'rpx'}">
<view class='flex flex-wrap align-center justify-between flex-sub storeResults_fd0_0' >
<view class='flex flex-wrap align-center' @tap.stop="handleJumpDiy" data-type="back" data-url="1" >
<text class='fu-iconfont2 storeResults_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='storeResults_fd0_0_c1_c0' >支付结果</text>
</view>
<view class='flex flex-wrap align-center storeResults_fd0_0_c2' >
</view>
</view>
</view>
<view :style="{height: (88+StatusBarRpx)+'rpx'}" ></view>
<view class="flex flex-direction flex-wrap align-center justify-center storeResults_flex_1" >
<image class='storeResults_fd1_0' mode="aspectFit" :src='STATIC_URL+"180.png?x-oss-process=style/logo_watermark"'></image>
<text class='storeResults_fd1_1' >支付成功</text>
<view class='flex flex-wrap align-center' >
<text class='storeResults_fd1_2_c0' >支付方式</text>
<text class='storeResults_fd1_2_c1' >微信支付</text>
</view>
<view class='flex flex-wrap align-center storeResults_fd1_3' >
<text class='storeResults_fd1_3_c0' >支付时间</text>
<text class='storeResults_fd1_3_c1' >2019.12.06 12:00</text>
</view>
<view class='flex flex-wrap align-center storeResults_fd1_4' >
<text class='storeResults_fd1_4_c0' >赚取积分</text>
<text class='storeResults_fd1_4_c1' >20</text>
</view>
<button class='storeResults_fd1_5' @tap.stop="handleJumpDiy" data-type="switchTab" :data-url="`/pages/tabBar/homePage/homePage`" >返回首页</button>
</view>
</view>
</template>
<script>
export default {
components:{},
data(){
return {"pay":"","time":"","contribution":""};
},
computed:{
themeColor() {
return this.$store.getters.themeColor
},
},
watch:{},
onLoad(options){
let {pay,time,contribution}=options
if (pay !== undefined) this.pay = pay
if (time !== undefined) this.time = time
if (contribution !== undefined) this.contribution = contribution
},
onUnload() {
},
onReady(){
},
onShow(){
},
onHide(){
},
onResize(){
},
onPullDownRefresh(){
},
onReachBottom(e){
},
onPageScroll(e){
},
methods:{
}
};
</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;
}
.storeResults_flex_0{
background:#fff;width:750rpx;height:88rpx;overflow:hidden;z-index:10;top:0rpx;background-size:100% auto !important;
}
.storeResults_fd0_0_c2{
width:32rpx;height:32rpx;
}
.storeResults_fd0_0_c1_c0{
font-size:36rpx;font-weight:500;color:#333;line-height:88rpx;
}
.storeResults_fd0_0_c0_c0{
font-size:32rpx;font-weight:500;color:#333;line-height:88rpx;
}
.storeResults_fd0_0{
margin:0rpx 32rpx 0rpx 32rpx;
}
.storeResults_flex_1{
margin:88rpx 0rpx 0rpx 0rpx;
}
.storeResults_fd1_5{
border:1px solid rgba(255, 147, 0, 1);background:transparent;line-height:88rpx;border-radius:44rpx 44rpx 44rpx 44rpx;font-size:32rpx;color:rgba(255, 147, 0, 1);width:320rpx;height:88rpx;margin:184rpx 0rpx 0rpx 0rpx;
}
.storeResults_fd1_4_c1{
color:#666666;font-size:28rpx;font-weight:400;line-height:30rpx;
}
.storeResults_fd1_4_c0{
color:#666666;font-size:28rpx;font-weight:400;line-height:30rpx;
}
.storeResults_fd1_4{
margin:16rpx 0rpx 0rpx 0rpx;
}
.storeResults_fd1_3_c1{
color:#666666;font-size:28rpx;font-weight:400;line-height:30rpx;
}
.storeResults_fd1_3_c0{
color:#666666;font-size:28rpx;font-weight:400;line-height:30rpx;
}
.storeResults_fd1_3{
margin:16rpx 0rpx 0rpx 0rpx;
}
.storeResults_fd1_2_c1{
color:#666666;font-size:28rpx;font-weight:400;line-height:30rpx;
}
.storeResults_fd1_2_c0{
color:#666666;font-size:28rpx;font-weight:400;line-height:30rpx;
}
.storeResults_fd1_1{
font-weight:700;font-size:32rpx;line-height:105rpx;
}
.storeResults_fd1_0{
width:250rpx;height:180rpx;border-radius:0rpx 0rpx 0rpx 0rpx;
}
</style>