This commit is contained in:
唐明明
2023-07-12 10:38:57 +08:00
20 changed files with 8139 additions and 8139 deletions

View File

@@ -579,8 +579,8 @@
officialGeneral(){
// 获取微信授权信息
authFollow({
url: 'https://web.douhuofalv.com/webview/webCode'
// url: 'https://web.douhuotest.douhuofalv.com/webview/webCode'
// url: 'https://web.douhuofalv.com/webview/webCode'
url: 'https://web.douhuotest.douhuofalv.com/webview/webCode'
}).then(res => {
window.location.href = res
}).catch(err => {

View File

@@ -1,232 +1,232 @@
<template>
<view class="content">
<image @click="sheetClick" class="introduce-img" src="https://douhuo-storage.oss-cn-beijing.aliyuncs.com/images/2023/06/18/8110e4f3606a37358b60f39e026cc24f.jpg" mode="widthFix"></image>
<!-- <view class="introduce-number">
你有新的预约单
<view class="number">
3
</view>
</view>
<view class="introduce-btn" @click="$Router.push({name: 'sheetIdcard'})">
<view class="btn">
立即咨询 9.9
</view>
</view> -->
<view class="tipsBack" v-if="generalShow"></view>
<view class="tipsCont" v-if="generalShow">
<view class="tipsWhite">
<image class="tipsCont-img" src="https://douhuo-storage.oss-cn-beijing.aliyuncs.com/images/2023/06/06/6b1485847b45273618f8d922ceee889c.png" mode="widthFix"></image>
<view class="tipsWhite-top">
<view class="tipsWhite-name">
请您先关注抖火法律咨询公众号
</view>
<view class="tipsWhite-text">
关注后可立即下单
</view>
</view>
<view class="tipsWhite-btn">
<view class="tipsWhite-btn-go" @click="generalShow = false">
稍后关注
</view>
<view class="tipsWhite-btn-go" @click="judgeGeneral">
马上关注
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import { judgeReal } from '@/apis/interfaces/user'
import { authFollow } from '@/apis/interfaces/index'
export default {
data() {
return {
generalShow: false // 公众号
}
},
onLoad() {
},
methods: {
// 判断是否认证
sheetClick() {
judgeReal().then(res => {
if(res.has_sign) {
if(!res.has_subscribe) {
// 弹出公众号
this.generalShow = true
} else {
// 跳到咨询单
this.$Router.replace({name: 'sheetFeerCreate'})
}
return
}
// 跳到认证页面
this.$Router.replace({name: 'sheetIdcard'})
}).catch( err => {
uni.showToast({
title: err.message,
icon: "none"
})
})
},
// 状态
judgeGeneral(){
// 获取微信授权信息
authFollow({
url: 'https://web.douhuofalv.com/webview/webCode'
// url: 'https://web.douhuotest.douhuofalv.com/webview/webCode'
}).then(res => {
window.location.href = res
}).catch(err => {
uni.showToast({
title: err.message,
icon: "none"
})
})
// 关闭公众号
this.generalShow = false
}
}
}
</script>
<style lang="scss" scoped>
// page {
// background-color: #446efe;
// }
.introduce-img {
width: 100%;
display: inline-block;
}
.introduce-number {
position: fixed;
right: $margin;
bottom: 180rpx;
z-index: 9;
background-color: #ffffff;
border-radius: $radius * 5;
color: $mian-color;
font-size: $title-size-m;
padding: 0 $padding;
line-height: 68rpx;
display: inline-block;
box-shadow: 0 2rpx 10rpx rgba(218, 43, 86, .3);
.number {
position: absolute;
z-index: 10;
top: -25rpx;
right: 0;
border-radius: 50%;
text-align: center;
background-color: $mian-color;
color: #ffffff;
width: 48rpx;
height: 48rpx;
line-height: 48rpx;
font-size: $title-size-sm;
text-align: center;
}
}
.introduce-btn {
position: fixed;
width: 100%;
left: 0;
bottom: 0;
text-align: center;
padding: $padding;
box-sizing: border-box;
.btn {
background-color: #ffffff;
color: $mian-color;
font-weight: 600;
border-radius: $radius-sm;
width: 100%;
line-height: 90rpx;
font-size: $title-size;
}
}
// 关注
.tipsBack {
position: fixed;
width: 100vw;
height: 100vh;
left: 0;
top: 0;
z-index: 9;
background-color: rgba(0, 0, 0, .8);
}
.tipsCont {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-pack: center;
position: fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
z-index: 10;
padding: 0 10%;
box-sizing: border-box;
}
.tipsWhite {
background-color: #ffffff;
border-radius: 20rpx;
overflow: hidden;
}
.tipsWhite-top {
padding: $padding;
box-sizing: border-box;
text-align: center;
}
.tipsCont-img {
width: 100%;
}
.tipsWhite-name {
text-align: center;
color: #111111;
font-size: 34rpx;
font-weight: 600;
margin-bottom: 15rpx;
}
.tipsWhite-text {
font-size: 30rpx;
color: #666666;
line-height: 48rpx;
}
.tipsWhite-btn {
display: flex;
padding: $padding 10rpx;
box-sizing: border-box;
.tipsWhite-btn-go {
flex: 2;
color: #fff;
margin: 0 15rpx;
height: 80rpx;
line-height: 80rpx;
text-align: center;
border: 2rpx solid #F6F6F6;
background-color: #007df5;
border-radius: $radius-m;
&:first-child {
color: #333333;
background-color: #ffffff;
border: 2rpx solid #cccccc;
}
}
}
<template>
<view class="content">
<image @click="sheetClick" class="introduce-img" src="https://douhuo-storage.oss-cn-beijing.aliyuncs.com/images/2023/06/18/8110e4f3606a37358b60f39e026cc24f.jpg" mode="widthFix"></image>
<!-- <view class="introduce-number">
你有新的预约单
<view class="number">
3
</view>
</view>
<view class="introduce-btn" @click="$Router.push({name: 'sheetIdcard'})">
<view class="btn">
立即咨询 9.9
</view>
</view> -->
<view class="tipsBack" v-if="generalShow"></view>
<view class="tipsCont" v-if="generalShow">
<view class="tipsWhite">
<image class="tipsCont-img" src="https://douhuo-storage.oss-cn-beijing.aliyuncs.com/images/2023/06/06/6b1485847b45273618f8d922ceee889c.png" mode="widthFix"></image>
<view class="tipsWhite-top">
<view class="tipsWhite-name">
请您先关注抖火法律咨询公众号
</view>
<view class="tipsWhite-text">
关注后可立即下单
</view>
</view>
<view class="tipsWhite-btn">
<view class="tipsWhite-btn-go" @click="generalShow = false">
稍后关注
</view>
<view class="tipsWhite-btn-go" @click="judgeGeneral">
马上关注
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import { judgeReal } from '@/apis/interfaces/user'
import { authFollow } from '@/apis/interfaces/index'
export default {
data() {
return {
generalShow: false // 公众号
}
},
onLoad() {
},
methods: {
// 判断是否认证
sheetClick() {
judgeReal().then(res => {
if(res.has_sign) {
if(!res.has_subscribe) {
// 弹出公众号
this.generalShow = true
} else {
// 跳到咨询单
this.$Router.replace({name: 'sheetFeerCreate'})
}
return
}
// 跳到认证页面
this.$Router.replace({name: 'sheetIdcard'})
}).catch( err => {
uni.showToast({
title: err.message,
icon: "none"
})
})
},
// 状态
judgeGeneral(){
// 获取微信授权信息
authFollow({
// url: 'https://web.douhuofalv.com/webview/webCode'
url: 'https://web.douhuotest.douhuofalv.com/webview/webCode'
}).then(res => {
window.location.href = res
}).catch(err => {
uni.showToast({
title: err.message,
icon: "none"
})
})
// 关闭公众号
this.generalShow = false
}
}
}
</script>
<style lang="scss" scoped>
// page {
// background-color: #446efe;
// }
.introduce-img {
width: 100%;
display: inline-block;
}
.introduce-number {
position: fixed;
right: $margin;
bottom: 180rpx;
z-index: 9;
background-color: #ffffff;
border-radius: $radius * 5;
color: $mian-color;
font-size: $title-size-m;
padding: 0 $padding;
line-height: 68rpx;
display: inline-block;
box-shadow: 0 2rpx 10rpx rgba(218, 43, 86, .3);
.number {
position: absolute;
z-index: 10;
top: -25rpx;
right: 0;
border-radius: 50%;
text-align: center;
background-color: $mian-color;
color: #ffffff;
width: 48rpx;
height: 48rpx;
line-height: 48rpx;
font-size: $title-size-sm;
text-align: center;
}
}
.introduce-btn {
position: fixed;
width: 100%;
left: 0;
bottom: 0;
text-align: center;
padding: $padding;
box-sizing: border-box;
.btn {
background-color: #ffffff;
color: $mian-color;
font-weight: 600;
border-radius: $radius-sm;
width: 100%;
line-height: 90rpx;
font-size: $title-size;
}
}
// 关注
.tipsBack {
position: fixed;
width: 100vw;
height: 100vh;
left: 0;
top: 0;
z-index: 9;
background-color: rgba(0, 0, 0, .8);
}
.tipsCont {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-pack: center;
position: fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
z-index: 10;
padding: 0 10%;
box-sizing: border-box;
}
.tipsWhite {
background-color: #ffffff;
border-radius: 20rpx;
overflow: hidden;
}
.tipsWhite-top {
padding: $padding;
box-sizing: border-box;
text-align: center;
}
.tipsCont-img {
width: 100%;
}
.tipsWhite-name {
text-align: center;
color: #111111;
font-size: 34rpx;
font-weight: 600;
margin-bottom: 15rpx;
}
.tipsWhite-text {
font-size: 30rpx;
color: #666666;
line-height: 48rpx;
}
.tipsWhite-btn {
display: flex;
padding: $padding 10rpx;
box-sizing: border-box;
.tipsWhite-btn-go {
flex: 2;
color: #fff;
margin: 0 15rpx;
height: 80rpx;
line-height: 80rpx;
text-align: center;
border: 2rpx solid #F6F6F6;
background-color: #007df5;
border-radius: $radius-m;
&:first-child {
color: #333333;
background-color: #ffffff;
border: 2rpx solid #cccccc;
}
}
}
</style>

View File

@@ -1,228 +1,228 @@
<template>
<view class="content">
<view class="sheet">
<rich-text :nodes="articleContent"></rich-text>
<!-- 立即咨询 -->
<view class="lawyerBtn">
<view class="lawyerBtn-name">您的心事我们</view>
<!-- @click="$Router.push({name: 'indexSortpay', params:{id: lawyersData.lawyer_business_id, type:'business'}})" -->
<image class="lawyerBtn-img lawyerBtn-go" @click="sheetClick" src="https://douhuo-storage.oss-cn-beijing.aliyuncs.com/images/2023/06/06/e1323131217b0ca7e1ed2e89a55a0740.png" mode="widthFix"></image>
<image class="lawyerBtn-img lawyerBtn-see" src="https://douhuo-storage.oss-cn-beijing.aliyuncs.com/images/2023/06/06/e4f37a76780df657cda85c242bfd792c.png" mode="widthFix"></image>
</view>
</view>
<!-- 关注 -->
<view class="tipsBack" v-if="generalShow"></view>
<view class="tipsCont" v-if="generalShow">
<view class="tipsWhite">
<image class="tipsCont-img" src="https://douhuo-storage.oss-cn-beijing.aliyuncs.com/images/2023/06/06/6b1485847b45273618f8d922ceee889c.png" mode="widthFix"></image>
<view class="tipsWhite-top">
<view class="tipsWhite-name">
请您先关注抖火法律咨询公众号
</view>
<view class="tipsWhite-text">
关注后可立即下单
</view>
</view>
<view class="tipsWhite-btn">
<view class="tipsWhite-btn-go" @click="generalShow = false">
稍后关注
</view>
<view class="tipsWhite-btn-go" @click="judgeGeneral">
马上关注
</view>
</view>
</view>
</view>
<template>
<view class="content">
<view class="sheet">
<rich-text :nodes="articleContent"></rich-text>
<!-- 立即咨询 -->
<view class="lawyerBtn">
<view class="lawyerBtn-name">您的心事我们</view>
<!-- @click="$Router.push({name: 'indexSortpay', params:{id: lawyersData.lawyer_business_id, type:'business'}})" -->
<image class="lawyerBtn-img lawyerBtn-go" @click="sheetClick" src="https://douhuo-storage.oss-cn-beijing.aliyuncs.com/images/2023/06/06/e1323131217b0ca7e1ed2e89a55a0740.png" mode="widthFix"></image>
<image class="lawyerBtn-img lawyerBtn-see" src="https://douhuo-storage.oss-cn-beijing.aliyuncs.com/images/2023/06/06/e4f37a76780df657cda85c242bfd792c.png" mode="widthFix"></image>
</view>
</view>
<!-- 关注 -->
<view class="tipsBack" v-if="generalShow"></view>
<view class="tipsCont" v-if="generalShow">
<view class="tipsWhite">
<image class="tipsCont-img" src="https://douhuo-storage.oss-cn-beijing.aliyuncs.com/images/2023/06/06/6b1485847b45273618f8d922ceee889c.png" mode="widthFix"></image>
<view class="tipsWhite-top">
<view class="tipsWhite-name">
请您先关注抖火法律咨询公众号
</view>
<view class="tipsWhite-text">
关注后可立即下单
</view>
</view>
<view class="tipsWhite-btn">
<view class="tipsWhite-btn-go" @click="generalShow = false">
稍后关注
</view>
<view class="tipsWhite-btn-go" @click="judgeGeneral">
马上关注
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import { businessDet, authFollow } from '@/apis/interfaces/index'
import { judgeReal } from '@/apis/interfaces/user'
export default {
data() {
return {
lawyersData : '',
articleContent : '',
generalShow : false // 公众号
}
},
onShow() {
// 律师业务详情
this.lawyersInfo()
},
methods: {
// 业务详情
lawyersInfo() {
businessDet(this.$Route.query.id).then(res => {
this.lawyersData = res
this.articleContent= res.content.replace(/\<img/gi, '<img style="max-width:100%;height:auto;display:block;"')
}).catch(err => {
uni.showToast({
title: err.message,
icon: "none"
})
})
},
// 判断是否认证
sheetClick() {
judgeReal().then(res => {
if(res.has_sign) {
if(!res.has_subscribe) {
// 弹出公众号
this.generalShow = true
} else {
// 跳到咨询单
this.$Router.replace({name: 'sheetCreate'})
}
return
}
// 跳到认证页面
this.$Router.replace({name: 'sheetIdcard'})
}).catch( err => {
uni.showToast({
title: err.message,
icon: "none"
})
})
},
// 状态
judgeGeneral(){
// 获取微信授权信息
authFollow({
// url: 'https://web.douhuotest.douhuofalv.com/webview/webCode'
url: 'https://web.douhuofalv.com/webview/webCode'
}).then(res => {
window.location.href = res
}).catch(err => {
uni.showToast({
title: err.message,
icon: "none"
})
})
// 关闭公众号
this.generalShow = false
}
}
<script>
import { businessDet, authFollow } from '@/apis/interfaces/index'
import { judgeReal } from '@/apis/interfaces/user'
export default {
data() {
return {
lawyersData : '',
articleContent : '',
generalShow : false // 公众号
}
},
onShow() {
// 律师业务详情
this.lawyersInfo()
},
methods: {
// 业务详情
lawyersInfo() {
businessDet(this.$Route.query.id).then(res => {
this.lawyersData = res
this.articleContent= res.content.replace(/\<img/gi, '<img style="max-width:100%;height:auto;display:block;"')
}).catch(err => {
uni.showToast({
title: err.message,
icon: "none"
})
})
},
// 判断是否认证
sheetClick() {
judgeReal().then(res => {
if(res.has_sign) {
if(!res.has_subscribe) {
// 弹出公众号
this.generalShow = true
} else {
// 跳到咨询单
this.$Router.replace({name: 'sheetCreate'})
}
return
}
// 跳到认证页面
this.$Router.replace({name: 'sheetIdcard'})
}).catch( err => {
uni.showToast({
title: err.message,
icon: "none"
})
})
},
// 状态
judgeGeneral(){
// 获取微信授权信息
authFollow({
url: 'https://web.douhuotest.douhuofalv.com/webview/webCode'
// url: 'https://web.douhuofalv.com/webview/webCode'
}).then(res => {
window.location.href = res
}).catch(err => {
uni.showToast({
title: err.message,
icon: "none"
})
})
// 关闭公众号
this.generalShow = false
}
}
}
</script>
<style lang="scss" scoped>
.sheet {
width: 100%;
height: 100%;
position: relative;
left: 0;
top: 0;
}
.lawyerBtn {
position: absolute;
z-index: 99;
left: 0;
bottom: $padding;
width: 100%;
padding: $padding - 10 $padding;
box-sizing: border-box;
text-align: center;
.lawyerBtn-name {
font-size: $title-size-sm - 2;
line-height: 60rpx;
opacity: .9;
color: #fff;
}
.lawyerBtn-img {
display: block;
margin: 0 auto;
}
.lawyerBtn-go {
width: 42%;
margin: 15rpx auto;
}
.lawyerBtn-see {
width: 60%;
}
}
// 关注
.tipsBack {
position: fixed;
width: 100vw;
height: 100vh;
left: 0;
top: 0;
z-index: 9;
background-color: rgba(0, 0, 0, .8);
}
.tipsCont {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-pack: center;
position: fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
z-index: 10;
padding: 0 10%;
box-sizing: border-box;
}
.tipsWhite {
background-color: #ffffff;
border-radius: 20rpx;
overflow: hidden;
}
.tipsWhite-top {
padding: $padding;
box-sizing: border-box;
text-align: center;
}
.tipsCont-img {
width: 100%;
}
.tipsWhite-name {
text-align: center;
color: #111111;
font-size: 34rpx;
font-weight: 600;
margin-bottom: 15rpx;
}
.tipsWhite-text {
font-size: 30rpx;
color: #666666;
line-height: 48rpx;
}
.tipsWhite-btn {
display: flex;
padding: $padding 10rpx;
box-sizing: border-box;
.tipsWhite-btn-go {
flex: 2;
color: #fff;
margin: 0 15rpx;
height: 80rpx;
line-height: 80rpx;
text-align: center;
border: 2rpx solid #F6F6F6;
background-color: #007df5;
border-radius: $radius-m;
&:first-child {
color: #333333;
background-color: #ffffff;
border: 2rpx solid #cccccc;
}
}
<style lang="scss" scoped>
.sheet {
width: 100%;
height: 100%;
position: relative;
left: 0;
top: 0;
}
.lawyerBtn {
position: absolute;
z-index: 99;
left: 0;
bottom: $padding;
width: 100%;
padding: $padding - 10 $padding;
box-sizing: border-box;
text-align: center;
.lawyerBtn-name {
font-size: $title-size-sm - 2;
line-height: 60rpx;
opacity: .9;
color: #fff;
}
.lawyerBtn-img {
display: block;
margin: 0 auto;
}
.lawyerBtn-go {
width: 42%;
margin: 15rpx auto;
}
.lawyerBtn-see {
width: 60%;
}
}
// 关注
.tipsBack {
position: fixed;
width: 100vw;
height: 100vh;
left: 0;
top: 0;
z-index: 9;
background-color: rgba(0, 0, 0, .8);
}
.tipsCont {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-pack: center;
position: fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
z-index: 10;
padding: 0 10%;
box-sizing: border-box;
}
.tipsWhite {
background-color: #ffffff;
border-radius: 20rpx;
overflow: hidden;
}
.tipsWhite-top {
padding: $padding;
box-sizing: border-box;
text-align: center;
}
.tipsCont-img {
width: 100%;
}
.tipsWhite-name {
text-align: center;
color: #111111;
font-size: 34rpx;
font-weight: 600;
margin-bottom: 15rpx;
}
.tipsWhite-text {
font-size: 30rpx;
color: #666666;
line-height: 48rpx;
}
.tipsWhite-btn {
display: flex;
padding: $padding 10rpx;
box-sizing: border-box;
.tipsWhite-btn-go {
flex: 2;
color: #fff;
margin: 0 15rpx;
height: 80rpx;
line-height: 80rpx;
text-align: center;
border: 2rpx solid #F6F6F6;
background-color: #007df5;
border-radius: $radius-m;
&:first-child {
color: #333333;
background-color: #ffffff;
border: 2rpx solid #cccccc;
}
}
}
</style>

View File

@@ -1,209 +1,209 @@
<template>
<view class="content">
<view class="point">
<image class="point-img" src="https://douhuo-storage.oss-cn-beijing.aliyuncs.com/images/2023/06/06/280935db4a8ee4c0b17ddcb37f489b0f.png" mode="widthFix"></image>
<view class="point-text">
<view class="point-name">
认证成功
</view>
<view class="point-tips">
<text>恭喜您已完成认证</text>
<text>专享更多安全保障,可进行选择咨询类型</text>
</view>
<view class="point-btn">
<view class="btn" @click="sheetClick">
立即咨询
</view>
</view>
</view>
</view>
<view class="tipsBack" v-if="generalShow"></view>
<view class="tipsCont" v-if="generalShow">
<view class="tipsWhite">
<image class="tipsCont-img" src="https://douhuo-storage.oss-cn-beijing.aliyuncs.com/images/2023/06/06/6b1485847b45273618f8d922ceee889c.png" mode="widthFix"></image>
<view class="tipsWhite-top">
<view class="tipsWhite-name">
请您先关注抖火法律咨询公众号
</view>
<view class="tipsWhite-text">
关注后可立即下单
</view>
</view>
<view class="tipsWhite-btn">
<view class="tipsWhite-btn-go" @click="generalShow = false">
稍后关注
</view>
<view class="tipsWhite-btn-go" @click="judgeGeneral">
马上关注
</view>
</view>
</view>
</view>
</view>
<template>
<view class="content">
<view class="point">
<image class="point-img" src="https://douhuo-storage.oss-cn-beijing.aliyuncs.com/images/2023/06/06/280935db4a8ee4c0b17ddcb37f489b0f.png" mode="widthFix"></image>
<view class="point-text">
<view class="point-name">
认证成功
</view>
<view class="point-tips">
<text>恭喜您已完成认证</text>
<text>专享更多安全保障,可进行选择咨询类型</text>
</view>
<view class="point-btn">
<view class="btn" @click="sheetClick">
立即咨询
</view>
</view>
</view>
</view>
<view class="tipsBack" v-if="generalShow"></view>
<view class="tipsCont" v-if="generalShow">
<view class="tipsWhite">
<image class="tipsCont-img" src="https://douhuo-storage.oss-cn-beijing.aliyuncs.com/images/2023/06/06/6b1485847b45273618f8d922ceee889c.png" mode="widthFix"></image>
<view class="tipsWhite-top">
<view class="tipsWhite-name">
请您先关注抖火法律咨询公众号
</view>
<view class="tipsWhite-text">
关注后可立即下单
</view>
</view>
<view class="tipsWhite-btn">
<view class="tipsWhite-btn-go" @click="generalShow = false">
稍后关注
</view>
<view class="tipsWhite-btn-go" @click="judgeGeneral">
马上关注
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import { judgeReal } from '@/apis/interfaces/user'
import { authFollow } from '@/apis/interfaces/index'
export default {
data() {
return {
generalShow: false // 公众号
}
},
onLoad() {
},
methods: {
// 判断是否认证
sheetClick() {
judgeReal().then(res => {
if(!res.has_subscribe) {
// 弹出公众号
this.generalShow = true
} else {
// 跳到首页
this.$Router.replace({name: 'Index'})
}
}).catch( err => {
uni.showToast({
title: err.message,
icon: "none"
})
})
},
// 状态
judgeGeneral(){
// 获取微信授权信息
authFollow({
url: 'https://web.douhuofalv.com/webview/webCode',
// url: 'https://web.douhuotest.douhuofalv.com/webview/webCode'
}).then(res => {
window.location.href = res
}).catch(err => {
uni.showToast({
title: err.message,
icon: "none"
})
})
// 关闭公众号
this.generalShow = false
}
}
<script>
import { judgeReal } from '@/apis/interfaces/user'
import { authFollow } from '@/apis/interfaces/index'
export default {
data() {
return {
generalShow: false // 公众号
}
},
onLoad() {
},
methods: {
// 判断是否认证
sheetClick() {
judgeReal().then(res => {
if(!res.has_subscribe) {
// 弹出公众号
this.generalShow = true
} else {
// 跳到首页
this.$Router.replace({name: 'Index'})
}
}).catch( err => {
uni.showToast({
title: err.message,
icon: "none"
})
})
},
// 状态
judgeGeneral(){
// 获取微信授权信息
authFollow({
// url: 'https://web.douhuofalv.com/webview/webCode',
url: 'https://web.douhuotest.douhuofalv.com/webview/webCode'
}).then(res => {
window.location.href = res
}).catch(err => {
uni.showToast({
title: err.message,
icon: "none"
})
})
// 关闭公众号
this.generalShow = false
}
}
}
</script>
<style lang="scss" scoped>
.point {
text-align: center;
padding: 40% 0;
.point-img {
width: 50%;
margin: 0 auto 10rpx;
}
.point-text {
.point-name {
font-size: $title-size + 14;
}
.point-tips{
margin: $margin + 20 0 $margin*3;
line-height: 52rpx;
text {
display: block;
color: #999999;
}
}
}
.point-btn {
text-align: center;
.btn {
background-image: linear-gradient(to right, #da2b56, #FBAF3B);
display: inline-block;
color: #ffffff;
border-radius: $radius-m;
padding: 0 $padding;
line-height: 90rpx;
width: 70%;
}
}
}
// 关注
.tipsBack {
position: fixed;
width: 100vw;
height: 100vh;
left: 0;
top: 0;
z-index: 9;
background-color: rgba(0, 0, 0, .8);
}
.tipsCont {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-pack: center;
position: fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
z-index: 10;
padding: 0 10%;
box-sizing: border-box;
}
.tipsWhite {
background-color: #ffffff;
border-radius: 20rpx;
overflow: hidden;
}
.tipsWhite-top {
padding: $padding;
box-sizing: border-box;
text-align: center;
}
.tipsCont-img {
width: 100%;
}
.tipsWhite-name {
text-align: center;
color: #111111;
font-size: 34rpx;
font-weight: 600;
margin-bottom: 15rpx;
}
.tipsWhite-text {
font-size: 30rpx;
color: #666666;
line-height: 48rpx;
}
.tipsWhite-btn {
display: flex;
padding: $padding 10rpx;
box-sizing: border-box;
.tipsWhite-btn-go {
flex: 2;
color: #fff;
margin: 0 15rpx;
height: 80rpx;
line-height: 80rpx;
text-align: center;
border: 2rpx solid #F6F6F6;
background-color: #007df5;
border-radius: $radius-m;
&:first-child {
color: #333333;
background-color: #ffffff;
border: 2rpx solid #cccccc;
}
}
}
<style lang="scss" scoped>
.point {
text-align: center;
padding: 40% 0;
.point-img {
width: 50%;
margin: 0 auto 10rpx;
}
.point-text {
.point-name {
font-size: $title-size + 14;
}
.point-tips{
margin: $margin + 20 0 $margin*3;
line-height: 52rpx;
text {
display: block;
color: #999999;
}
}
}
.point-btn {
text-align: center;
.btn {
background-image: linear-gradient(to right, #da2b56, #FBAF3B);
display: inline-block;
color: #ffffff;
border-radius: $radius-m;
padding: 0 $padding;
line-height: 90rpx;
width: 70%;
}
}
}
// 关注
.tipsBack {
position: fixed;
width: 100vw;
height: 100vh;
left: 0;
top: 0;
z-index: 9;
background-color: rgba(0, 0, 0, .8);
}
.tipsCont {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-pack: center;
position: fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
z-index: 10;
padding: 0 10%;
box-sizing: border-box;
}
.tipsWhite {
background-color: #ffffff;
border-radius: 20rpx;
overflow: hidden;
}
.tipsWhite-top {
padding: $padding;
box-sizing: border-box;
text-align: center;
}
.tipsCont-img {
width: 100%;
}
.tipsWhite-name {
text-align: center;
color: #111111;
font-size: 34rpx;
font-weight: 600;
margin-bottom: 15rpx;
}
.tipsWhite-text {
font-size: 30rpx;
color: #666666;
line-height: 48rpx;
}
.tipsWhite-btn {
display: flex;
padding: $padding 10rpx;
box-sizing: border-box;
.tipsWhite-btn-go {
flex: 2;
color: #fff;
margin: 0 15rpx;
height: 80rpx;
line-height: 80rpx;
text-align: center;
border: 2rpx solid #F6F6F6;
background-color: #007df5;
border-radius: $radius-m;
&:first-child {
color: #333333;
background-color: #ffffff;
border: 2rpx solid #cccccc;
}
}
}
</style>

View File

@@ -1,251 +1,251 @@
<template>
<view class="content">
<view class="idcard">
<view class="idcardTitle">
<view class="idcardTitle-name">
身份认证
</view>
<view class="idcardTitle-tips">
应监管要求请先进行身份认证
</view>
</view>
<view class="idcardImg">
<view class="idcardImg-label" @click="updImg('frontCard')">
<image class="idcardImg-img" mode="widthFix" :src="frontCard.showpath ? frontCard.showpath : 'https://douhuo-storage.oss-cn-beijing.aliyuncs.com/images/2023/06/06/5ed55d77ed9c1e818a943cd7b4b7d28a.png'"></image>
<view class="idcardImg-text">
点击上传正面
</view>
</view>
<view class="idcardImg-label" @click="updImg('backCard')">
<image class="idcardImg-img" mode="widthFix" :src="backCard.showpath ? backCard.showpath : 'https://douhuo-storage.oss-cn-beijing.aliyuncs.com/images/2023/06/06/4a266e0dec95a3b15cf50ac58e37c478.png'"></image>
<view class="idcardImg-text">
点击上传反面
</view>
</view>
</view>
<view class="idcardInfo">
<view class="idcardInfo-label">
<view class="idcardInfo-name">
姓名
</view>
<view class="idcardInfo-input active">
{{realData.name ? realData.name : '待自动输入'}}
</view>
</view>
<view class="idcardInfo-label">
<view class="idcardInfo-name">
身份证号
</view>
<view class="idcardInfo-input">
{{realData.id_card ? realData.id_card : '身份证号'}}
</view>
</view>
<view class="idcardInfo-label">
<view class="idcardInfo-name">
有效期限
</view>
<view class="idcardInfo-input">
{{realData.expiration_date ? realData.expiration_date : '待自动输入'}}
</view>
</view>
</view>
</view>
<view class="idcardBtn">
<view class="idcardBtn-tips">
<img src="@/static/imgs/card_ensure.png">个人信息安全保障中
</view>
<button class="idcardBtn-go" type="default" :disabled="realData == ''" @click="faceClick">立即认证</button>
</view>
<!-- <view @click="$Router.push({name: 'Authsuccess'})">认证成功后会-临时跳转</view> -->
<template>
<view class="content">
<view class="idcard">
<view class="idcardTitle">
<view class="idcardTitle-name">
身份认证
</view>
<view class="idcardTitle-tips">
应监管要求请先进行身份认证
</view>
</view>
<view class="idcardImg">
<view class="idcardImg-label" @click="updImg('frontCard')">
<image class="idcardImg-img" mode="widthFix" :src="frontCard.showpath ? frontCard.showpath : 'https://douhuo-storage.oss-cn-beijing.aliyuncs.com/images/2023/06/06/5ed55d77ed9c1e818a943cd7b4b7d28a.png'"></image>
<view class="idcardImg-text">
点击上传正面
</view>
</view>
<view class="idcardImg-label" @click="updImg('backCard')">
<image class="idcardImg-img" mode="widthFix" :src="backCard.showpath ? backCard.showpath : 'https://douhuo-storage.oss-cn-beijing.aliyuncs.com/images/2023/06/06/4a266e0dec95a3b15cf50ac58e37c478.png'"></image>
<view class="idcardImg-text">
点击上传反面
</view>
</view>
</view>
<view class="idcardInfo">
<view class="idcardInfo-label">
<view class="idcardInfo-name">
姓名
</view>
<view class="idcardInfo-input active">
{{realData.name ? realData.name : '待自动输入'}}
</view>
</view>
<view class="idcardInfo-label">
<view class="idcardInfo-name">
身份证号
</view>
<view class="idcardInfo-input">
{{realData.id_card ? realData.id_card : '身份证号'}}
</view>
</view>
<view class="idcardInfo-label">
<view class="idcardInfo-name">
有效期限
</view>
<view class="idcardInfo-input">
{{realData.expiration_date ? realData.expiration_date : '待自动输入'}}
</view>
</view>
</view>
</view>
<view class="idcardBtn">
<view class="idcardBtn-tips">
<img src="@/static/imgs/card_ensure.png">个人信息安全保障中
</view>
<button class="idcardBtn-go" type="default" :disabled="realData == ''" @click="faceClick">立即认证</button>
</view>
<!-- <view @click="$Router.push({name: 'Authsuccess'})">认证成功后会-临时跳转</view> -->
</view>
</template>
<script>
import { realName, faceUrl } from '@/apis/interfaces/user'
import { uploads } from '@/apis/interfaces/uploading'
export default {
data() {
return {
// 身份证正面
frontCard:{
showpath: '',
path : ''
},
// 身份证反面
backCard:{
showpath: '',
path : ''
},
realData : '', // 个人信息
authShortUrl: '' // 人脸识别地址-第三方
}
},
onLoad() {},
onShow() {
},
methods: {
// 认证信息
realInfo() {
realName({
front_card: this.frontCard.path,
back_card : this.backCard.path,
redirect_url: "https://web.douhuofalv.com/sheet/authSuccess",
// redirect_url: "https://web.douhuotest.douhuofalv.com/sheet/authSuccess"
}).then(res => {
this.realData = res.certification
this.authShortUrl = res.sign.authShortUrl
}).catch(err => {
uni.showToast({
title: err.message,
icon: "none"
})
})
},
// 上传图片
updImg(type){
uni.chooseImage({
count : 1,
success : path => {
uploads([{
uri : path.tempFilePaths[0]
}], {
driver: "private-oss"
}).then(res => {
this[type].showpath = res.url[0]
this[type].path = res.path[0]
if(this.frontCard.path !=='' && this.backCard.path !=='') {
// 获取认证信息
this.realInfo();
}
}).catch(err => {
uni.showToast({
title: err.message,
icon : 'none'
})
})
}
})
},
// 人脸识别
faceClick() {
window.location.href = this.authShortUrl
// const newUrl = this.authShortUrl
// let faceUrl= encodeURIComponent(newUrl)
// uni.navigateTo({
// url: '/webview/webview?faceUrl=' + faceUrl
// });
}
}
<script>
import { realName, faceUrl } from '@/apis/interfaces/user'
import { uploads } from '@/apis/interfaces/uploading'
export default {
data() {
return {
// 身份证正面
frontCard:{
showpath: '',
path : ''
},
// 身份证反面
backCard:{
showpath: '',
path : ''
},
realData : '', // 个人信息
authShortUrl: '' // 人脸识别地址-第三方
}
},
onLoad() {},
onShow() {
},
methods: {
// 认证信息
realInfo() {
realName({
front_card: this.frontCard.path,
back_card : this.backCard.path,
// redirect_url: "https://web.douhuofalv.com/sheet/authSuccess",
redirect_url: "https://web.douhuotest.douhuofalv.com/sheet/authSuccess"
}).then(res => {
this.realData = res.certification
this.authShortUrl = res.sign.authShortUrl
}).catch(err => {
uni.showToast({
title: err.message,
icon: "none"
})
})
},
// 上传图片
updImg(type){
uni.chooseImage({
count : 1,
success : path => {
uploads([{
uri : path.tempFilePaths[0]
}], {
driver: "private-oss"
}).then(res => {
this[type].showpath = res.url[0]
this[type].path = res.path[0]
if(this.frontCard.path !=='' && this.backCard.path !=='') {
// 获取认证信息
this.realInfo();
}
}).catch(err => {
uni.showToast({
title: err.message,
icon : 'none'
})
})
}
})
},
// 人脸识别
faceClick() {
window.location.href = this.authShortUrl
// const newUrl = this.authShortUrl
// let faceUrl= encodeURIComponent(newUrl)
// uni.navigateTo({
// url: '/webview/webview?faceUrl=' + faceUrl
// });
}
}
}
</script>
<style lang="scss" scoped>
.content {
padding: $padding;
box-sizing: border-box;
height: 100vh;
overflow-y: scroll;
}
.idcard {
background-color: #ffffff;
border-radius: $radius;
box-sizing: border-box;
}
.idcardTitle {
margin: 0 0 $margin + 20;
line-height: 60rpx;
.idcardTitle-name {
color: $text-color;
font-size: $title-size + 16;
font-weight: 600;
}
.idcardTitle-tips {
color: #7c8495;
font-size: $title-size-lg;
}
}
.idcardImg {
display: flex;
margin: $margin -15rpx;
.idcardImg-label {
flex: 2;
text-align: center;
background-color: #fdf4f5;
padding: $padding $padding + 10 $padding + 58;
margin: 0 15rpx;
position: relative;
border-radius: $radius-sm;
overflow: hidden;
.idcardImg-img {
width: 100%;
}
.idcardImg-text {
text-align: center;
position: absolute;
width: 100%;
background-color: $mian-color;
color: #ffffff;
left: 0;
bottom: 0;
line-height: 68rpx;
font-size: $title-size-m;
opacity: .9;
}
}
}
.idcardInfo-label {
display: flex;
line-height: 120rpx;
border-bottom: 2rpx solid #f5f5f5;
&:last-child {
border: none;
}
.idcardInfo-name {
flex: 1;
color: #637392;
}
.idcardInfo-input {
color: #d2d5dd;
&.active {
color: #000000;
}
}
}
.idcardBtn {
margin-top: $margin * 4;
text-align: center;
padding: 0 $padding;
box-sizing: border-box;
.idcardBtn-tips {
color: #8091aa;
line-height: 90rpx;
font-size: $title-size-m;
img {
width: 40rpx;
height: 40rpx;
vertical-align: -10rpx;
margin-right: 5rpx;
}
}
.idcardBtn-go {
background-color: $mian-color;
color: #ffffff;
border-radius: $radius * 3;
line-height: 90rpx;
font-size: $title-size + 2;
&[disabled] {
background-color: #fdc5d3;
}
}
<style lang="scss" scoped>
.content {
padding: $padding;
box-sizing: border-box;
height: 100vh;
overflow-y: scroll;
}
.idcard {
background-color: #ffffff;
border-radius: $radius;
box-sizing: border-box;
}
.idcardTitle {
margin: 0 0 $margin + 20;
line-height: 60rpx;
.idcardTitle-name {
color: $text-color;
font-size: $title-size + 16;
font-weight: 600;
}
.idcardTitle-tips {
color: #7c8495;
font-size: $title-size-lg;
}
}
.idcardImg {
display: flex;
margin: $margin -15rpx;
.idcardImg-label {
flex: 2;
text-align: center;
background-color: #fdf4f5;
padding: $padding $padding + 10 $padding + 58;
margin: 0 15rpx;
position: relative;
border-radius: $radius-sm;
overflow: hidden;
.idcardImg-img {
width: 100%;
}
.idcardImg-text {
text-align: center;
position: absolute;
width: 100%;
background-color: $mian-color;
color: #ffffff;
left: 0;
bottom: 0;
line-height: 68rpx;
font-size: $title-size-m;
opacity: .9;
}
}
}
.idcardInfo-label {
display: flex;
line-height: 120rpx;
border-bottom: 2rpx solid #f5f5f5;
&:last-child {
border: none;
}
.idcardInfo-name {
flex: 1;
color: #637392;
}
.idcardInfo-input {
color: #d2d5dd;
&.active {
color: #000000;
}
}
}
.idcardBtn {
margin-top: $margin * 4;
text-align: center;
padding: 0 $padding;
box-sizing: border-box;
.idcardBtn-tips {
color: #8091aa;
line-height: 90rpx;
font-size: $title-size-m;
img {
width: 40rpx;
height: 40rpx;
vertical-align: -10rpx;
margin-right: 5rpx;
}
}
.idcardBtn-go {
background-color: $mian-color;
color: #ffffff;
border-radius: $radius * 3;
line-height: 90rpx;
font-size: $title-size + 2;
&[disabled] {
background-color: #fdc5d3;
}
}
}
</style>

File diff suppressed because it is too large Load Diff

View File

@@ -1,217 +1,217 @@
<template>
<view class="content">
<view class="sheet">
<image class="sheet-img" v-if="type == 1" src="https://cdn.douhuofalv.com/images/2022/11/30/cb0654de804d11905d2bb539e2fb5f24.jpg" mode="widthFix"></image>
<image class="sheet-img" v-else-if="type == 2" src="https://cdn.douhuofalv.com/images/2022/11/30/365f75baeaa1b4c5d041dce7f5ad6867.jpg" mode="widthFix"></image>
<image class="sheet-img" v-else src="https://cdn.douhuofalv.com/images/2022/11/30/007cf45b7138a2552f6a80ffa390c3ad.jpg" mode="widthFix"></image>
<!-- 立即咨询 -->
<view class="lawyerBtn">
<view class="lawyerBtn-name">您的心事我们</view>
<image class="lawyerBtn-img lawyerBtn-go" @click="sheetClick" src="https://douhuo-storage.oss-cn-beijing.aliyuncs.com/images/2023/06/06/e1323131217b0ca7e1ed2e89a55a0740.png" mode="widthFix"></image>
<image class="lawyerBtn-img lawyerBtn-see" src="https://douhuo-storage.oss-cn-beijing.aliyuncs.com/images/2023/06/06/e4f37a76780df657cda85c242bfd792c.png" mode="widthFix"></image>
</view>
</view>
<!-- 关注 -->
<view class="tipsBack" v-if="generalShow"></view>
<view class="tipsCont" v-if="generalShow">
<view class="tipsWhite">
<image class="tipsCont-img" src="https://douhuo-storage.oss-cn-beijing.aliyuncs.com/images/2023/06/06/6b1485847b45273618f8d922ceee889c.png" mode="widthFix"></image>
<view class="tipsWhite-top">
<view class="tipsWhite-name">
请您先关注抖火法律咨询公众号
</view>
<view class="tipsWhite-text">
关注后可立即下单
</view>
</view>
<view class="tipsWhite-btn">
<view class="tipsWhite-btn-go" @click="generalShow = false">
稍后关注
</view>
<view class="tipsWhite-btn-go" @click="judgeGeneral">
马上关注
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import { judgeReal } from '@/apis/interfaces/user'
import { authFollow } from '@/apis/interfaces/index'
export default {
data() {
return {
type : '',
generalShow: false // 公众号
}
},
onShow() {
this.type = this.$Route.query.type
},
methods: {
// 判断是否认证
sheetClick() {
judgeReal().then(res => {
if(res.has_sign) {
if(!res.has_subscribe) {
// 弹出公众号
this.generalShow = true
} else {
// 跳到咨询单
this.$Router.replace({name: 'sheetCreate'})
}
return
}
// 跳到认证页面
this.$Router.replace({name: 'sheetIdcard'})
}).catch( err => {
uni.showToast({
title: err.message,
icon: "none"
})
})
},
// 状态
judgeGeneral(){
// 获取微信授权信息
authFollow({
url: 'https://web.douhuofalv.com/webview/webCode',
// url: 'https://web.douhuotest.douhuofalv.com/webview/webCode'
}).then(res => {
window.location.href = res
}).catch(err => {
uni.showToast({
title: err.message,
icon: "none"
})
})
// 关闭公众号
this.generalShow = false
}
}
}
</script>
<style lang="scss" scoped>
.sheet {
width: 100%;
height: 100%;
position: relative;
left: 0;
top: 0;
.sheet-img {
width: 100%;
}
}
.lawyerBtn {
position: absolute;
z-index: 99;
left: 0;
bottom: $padding;
width: 100%;
padding: $padding - 10 $padding;
box-sizing: border-box;
text-align: center;
.lawyerBtn-name {
font-size: $title-size-sm - 2;
line-height: 60rpx;
opacity: .9;
color: #fff;
}
.lawyerBtn-img {
display: block;
margin: 0 auto;
}
.lawyerBtn-go {
width: 42%;
margin: 15rpx auto;
}
.lawyerBtn-see {
width: 60%;
}
}
// 关注
.tipsBack {
position: fixed;
width: 100vw;
height: 100vh;
left: 0;
top: 0;
z-index: 9;
background-color: rgba(0, 0, 0, .8);
}
.tipsCont {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-pack: center;
position: fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
z-index: 10;
padding: 0 10%;
box-sizing: border-box;
}
.tipsWhite {
background-color: #ffffff;
border-radius: 20rpx;
overflow: hidden;
}
.tipsWhite-top {
padding: $padding;
box-sizing: border-box;
text-align: center;
}
.tipsCont-img {
width: 100%;
}
.tipsWhite-name {
text-align: center;
color: #111111;
font-size: 34rpx;
font-weight: 600;
margin-bottom: 15rpx;
}
.tipsWhite-text {
font-size: 30rpx;
color: #666666;
line-height: 48rpx;
}
.tipsWhite-btn {
display: flex;
padding: $padding 10rpx;
box-sizing: border-box;
.tipsWhite-btn-go {
flex: 2;
color: #fff;
margin: 0 15rpx;
height: 80rpx;
line-height: 80rpx;
text-align: center;
border: 2rpx solid #F6F6F6;
background-color: #007df5;
border-radius: $radius-m;
&:first-child {
color: #333333;
background-color: #ffffff;
border: 2rpx solid #cccccc;
}
}
}
<template>
<view class="content">
<view class="sheet">
<image class="sheet-img" v-if="type == 1" src="https://cdn.douhuofalv.com/images/2022/11/30/cb0654de804d11905d2bb539e2fb5f24.jpg" mode="widthFix"></image>
<image class="sheet-img" v-else-if="type == 2" src="https://cdn.douhuofalv.com/images/2022/11/30/365f75baeaa1b4c5d041dce7f5ad6867.jpg" mode="widthFix"></image>
<image class="sheet-img" v-else src="https://cdn.douhuofalv.com/images/2022/11/30/007cf45b7138a2552f6a80ffa390c3ad.jpg" mode="widthFix"></image>
<!-- 立即咨询 -->
<view class="lawyerBtn">
<view class="lawyerBtn-name">您的心事我们</view>
<image class="lawyerBtn-img lawyerBtn-go" @click="sheetClick" src="https://douhuo-storage.oss-cn-beijing.aliyuncs.com/images/2023/06/06/e1323131217b0ca7e1ed2e89a55a0740.png" mode="widthFix"></image>
<image class="lawyerBtn-img lawyerBtn-see" src="https://douhuo-storage.oss-cn-beijing.aliyuncs.com/images/2023/06/06/e4f37a76780df657cda85c242bfd792c.png" mode="widthFix"></image>
</view>
</view>
<!-- 关注 -->
<view class="tipsBack" v-if="generalShow"></view>
<view class="tipsCont" v-if="generalShow">
<view class="tipsWhite">
<image class="tipsCont-img" src="https://douhuo-storage.oss-cn-beijing.aliyuncs.com/images/2023/06/06/6b1485847b45273618f8d922ceee889c.png" mode="widthFix"></image>
<view class="tipsWhite-top">
<view class="tipsWhite-name">
请您先关注抖火法律咨询公众号
</view>
<view class="tipsWhite-text">
关注后可立即下单
</view>
</view>
<view class="tipsWhite-btn">
<view class="tipsWhite-btn-go" @click="generalShow = false">
稍后关注
</view>
<view class="tipsWhite-btn-go" @click="judgeGeneral">
马上关注
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import { judgeReal } from '@/apis/interfaces/user'
import { authFollow } from '@/apis/interfaces/index'
export default {
data() {
return {
type : '',
generalShow: false // 公众号
}
},
onShow() {
this.type = this.$Route.query.type
},
methods: {
// 判断是否认证
sheetClick() {
judgeReal().then(res => {
if(res.has_sign) {
if(!res.has_subscribe) {
// 弹出公众号
this.generalShow = true
} else {
// 跳到咨询单
this.$Router.replace({name: 'sheetCreate'})
}
return
}
// 跳到认证页面
this.$Router.replace({name: 'sheetIdcard'})
}).catch( err => {
uni.showToast({
title: err.message,
icon: "none"
})
})
},
// 状态
judgeGeneral(){
// 获取微信授权信息
authFollow({
// url: 'https://web.douhuofalv.com/webview/webCode',
url: 'https://web.douhuotest.douhuofalv.com/webview/webCode'
}).then(res => {
window.location.href = res
}).catch(err => {
uni.showToast({
title: err.message,
icon: "none"
})
})
// 关闭公众号
this.generalShow = false
}
}
}
</script>
<style lang="scss" scoped>
.sheet {
width: 100%;
height: 100%;
position: relative;
left: 0;
top: 0;
.sheet-img {
width: 100%;
}
}
.lawyerBtn {
position: absolute;
z-index: 99;
left: 0;
bottom: $padding;
width: 100%;
padding: $padding - 10 $padding;
box-sizing: border-box;
text-align: center;
.lawyerBtn-name {
font-size: $title-size-sm - 2;
line-height: 60rpx;
opacity: .9;
color: #fff;
}
.lawyerBtn-img {
display: block;
margin: 0 auto;
}
.lawyerBtn-go {
width: 42%;
margin: 15rpx auto;
}
.lawyerBtn-see {
width: 60%;
}
}
// 关注
.tipsBack {
position: fixed;
width: 100vw;
height: 100vh;
left: 0;
top: 0;
z-index: 9;
background-color: rgba(0, 0, 0, .8);
}
.tipsCont {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-pack: center;
position: fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
z-index: 10;
padding: 0 10%;
box-sizing: border-box;
}
.tipsWhite {
background-color: #ffffff;
border-radius: 20rpx;
overflow: hidden;
}
.tipsWhite-top {
padding: $padding;
box-sizing: border-box;
text-align: center;
}
.tipsCont-img {
width: 100%;
}
.tipsWhite-name {
text-align: center;
color: #111111;
font-size: 34rpx;
font-weight: 600;
margin-bottom: 15rpx;
}
.tipsWhite-text {
font-size: 30rpx;
color: #666666;
line-height: 48rpx;
}
.tipsWhite-btn {
display: flex;
padding: $padding 10rpx;
box-sizing: border-box;
.tipsWhite-btn-go {
flex: 2;
color: #fff;
margin: 0 15rpx;
height: 80rpx;
line-height: 80rpx;
text-align: center;
border: 2rpx solid #F6F6F6;
background-color: #007df5;
border-radius: $radius-m;
&:first-child {
color: #333333;
background-color: #ffffff;
border: 2rpx solid #cccccc;
}
}
}
</style>

File diff suppressed because it is too large Load Diff

View File

@@ -1,422 +1,422 @@
<template>
<view class="content">
<view class="paymentTop">
<!-- v-if="applyData.status" -->
<view class="paymentTop-name">
订单支付
<text>与人方便,与己方便,珍惜时间,请先付款</text>
</view>
<img class="paymentTop-img" src="https://douhuo-storage.oss-cn-beijing.aliyuncs.com/images/2023/06/06/d9c965766807a6e1c57da11e069c8686.png">
</view>
<view class="paymentShow">
<img class="paymentShow-img" src="https://douhuo-storage.oss-cn-beijing.aliyuncs.com/images/2023/06/06/5ccd7b6473095bf0e55c21240ca2eb90.png">
<view class="paymentShow-text">
<view class="paymentShow-top">
<view class="paymentShow-top-name">订单名称<text>{{style == 'chajia' ? '补差价' : '咨询服务费'}}</text></view>
<view class="paymentShow-top-price">{{price}}</view>
</view>
<view class="paymentShow-tips">
订单描述{{remark ? remark : '暂无描述'}}
</view>
<view class="paymentShow-top-name" style="margin-bottom: 10px; color: #9a9a9a;">支付方式</view>
<view @click="payTypeVal = 'alipay'" class="paymentList-label">
<image class="paymentList-img" :src="payTypeVal == 'alipay' ? '/static/imgs/payCheck_active.png' : '/static/imgs/payCheck.png'" mode="widthFix"></image>支付宝银联商务
</view>
<view @click="onUmsPay('mp')" class="paymentList-label">
<image class="paymentList-img" :src="payTypeVal == 'umsWx' ? '/static/imgs/payCheck_active.png' : '/static/imgs/payCheck.png'" mode="widthFix"></image>微信支付银联商务
</view>
<view @click="payTypeVal = 'dgwxalipay'" class="paymentList-label">
<image class="paymentList-img" :src="payTypeVal == 'dgwxalipay' ? '/static/imgs/payCheck_active.png' : '/static/imgs/payCheck.png'" mode="widthFix"></image>支付宝汇付
</view>
<view @click="dgwxPay('mp')" class="paymentList-label">
<image class="paymentList-img" :src="payTypeVal == 'dgwx' ? '/static/imgs/payCheck_active.png' : '/static/imgs/payCheck.png'" mode="widthFix"></image>微信支付(汇付)
</view>
</view>
</view>
<view class="paymentBtn" v-if="payTypeVal == 'umsWx'">
<!-- douhuotest dev=0是线上 dev=1是线下 -->
<wx-open-launch-weapp
username="gh_918c81628d6f"
:path="'pages/pay/pay?type=h5&dev=0&trade_id=' + tradeId + '&token=' + token"
>
<script type="text/wxtag-template">
<style>
.gobtn {
width: 280px;
background-color: #da2b56;
color: #ffffff;
border-radius: 5px;
height: 50px;
line-height: 50px;
font-size: 18px;
border: none;
}
</style>
<button type="default" class="gobtn">打开小程序收银台</button>
</script>
</wx-open-launch-weapp>
</view>
<view class="paymentBtn" v-else-if="payTypeVal == 'dgwx'">
<button type="default" class="paymentBtn-go" :disabled="disabled" @click="payChickDg">
打开小程序收银台
</button>
</view>
<view class="paymentBtn" v-else>
<button type="default" class="paymentBtn-go" :disabled="disabled" @click="payChick">
立即支付
</button>
</view>
<template>
<view class="content">
<view class="paymentTop">
<!-- v-if="applyData.status" -->
<view class="paymentTop-name">
订单支付
<text>与人方便,与己方便,珍惜时间,请先付款</text>
</view>
<img class="paymentTop-img" src="https://douhuo-storage.oss-cn-beijing.aliyuncs.com/images/2023/06/06/d9c965766807a6e1c57da11e069c8686.png">
</view>
<view class="paymentShow">
<img class="paymentShow-img" src="https://douhuo-storage.oss-cn-beijing.aliyuncs.com/images/2023/06/06/5ccd7b6473095bf0e55c21240ca2eb90.png">
<view class="paymentShow-text">
<view class="paymentShow-top">
<view class="paymentShow-top-name">订单名称<text>{{style == 'chajia' ? '补差价' : '咨询服务费'}}</text></view>
<view class="paymentShow-top-price">{{price}}</view>
</view>
<view class="paymentShow-tips">
订单描述{{remark ? remark : '暂无描述'}}
</view>
<view class="paymentShow-top-name" style="margin-bottom: 10px; color: #9a9a9a;">支付方式</view>
<view @click="payTypeVal = 'alipay'" class="paymentList-label">
<image class="paymentList-img" :src="payTypeVal == 'alipay' ? '/static/imgs/payCheck_active.png' : '/static/imgs/payCheck.png'" mode="widthFix"></image>支付宝银联商务
</view>
<view @click="onUmsPay('mp')" class="paymentList-label">
<image class="paymentList-img" :src="payTypeVal == 'umsWx' ? '/static/imgs/payCheck_active.png' : '/static/imgs/payCheck.png'" mode="widthFix"></image>微信支付银联商务
</view>
<view @click="payTypeVal = 'dgwxalipay'" class="paymentList-label">
<image class="paymentList-img" :src="payTypeVal == 'dgwxalipay' ? '/static/imgs/payCheck_active.png' : '/static/imgs/payCheck.png'" mode="widthFix"></image>支付宝汇付
</view>
<view @click="dgwxPay('mp')" class="paymentList-label">
<image class="paymentList-img" :src="payTypeVal == 'dgwx' ? '/static/imgs/payCheck_active.png' : '/static/imgs/payCheck.png'" mode="widthFix"></image>微信支付(汇付)
</view>
</view>
</view>
<view class="paymentBtn" v-if="payTypeVal == 'umsWx'">
<!-- douhuotest dev=0是线上 dev=1是线下 -->
<wx-open-launch-weapp
username="gh_918c81628d6f"
:path="'pages/pay/pay?type=h5&dev=1&trade_id=' + tradeId + '&token=' + token"
>
<script type="text/wxtag-template">
<style>
.gobtn {
width: 280px;
background-color: #da2b56;
color: #ffffff;
border-radius: 5px;
height: 50px;
line-height: 50px;
font-size: 18px;
border: none;
}
</style>
<button type="default" class="gobtn">打开小程序收银台</button>
</script>
</wx-open-launch-weapp>
</view>
<view class="paymentBtn" v-else-if="payTypeVal == 'dgwx'">
<button type="default" class="paymentBtn-go" :disabled="disabled" @click="payChickDg">
打开小程序收银台
</button>
</view>
<view class="paymentBtn" v-else>
<button type="default" class="paymentBtn-go" :disabled="disabled" @click="payChick">
立即支付
</button>
</view>
</view>
</template>
<script>
import VConsole from 'vconsole';
const jweixin = require('jweixin-module');
import { applyPay, diffPay, authFollow } from '@/apis/interfaces/index'
import { umsDiff, umsOrder, umsState, dgPay, diffDgPay } from '@/apis/interfaces/pay.js'
export default {
data() {
return {
payTypeVal : 'alipay', // 支付方式
tradeId : '', // 查询id
jumpUrlDg : '', // 抖巩支付
getState : false, // 查询支付结果
token : '', // 用户token
style : '', // 支付类型
price : '', // 价格
disabled : false // 按钮状态
}
},
onLoad() {
// new VConsole();
},
onShow() {
if(this.getState && this.tradeId != ''){
this.getUmsState(this.tradeId)
}
this.token = this.$store.getters.getToken
this.style = this.$Route.query.style
this.price = this.$Route.query.price
this.remark = this.$Route.query.remark
},
methods: {
// 查询支付结果
getUmsState(tradeId){
uni.showLoading({
title: '查询支付结果...',
mask : true
})
let outTime;
let resNumb = 0;
outTime = setInterval(() => {
if(resNumb >= 3){
clearInterval(outTime)
uni.showToast({
title: "查询支付结果失败",
icon : "none",
mask : true
})
return
}
umsState(tradeId).then(res => {
resNumb++
if(res.state === 'success'){
clearInterval(outTime)
uni.hideLoading()
this.$Router.replace({name: 'sheetPoint'})
}
}).catch(err => {
uni.showToast({
title: err.message,
icon : 'none'
})
})
}, 2000)
},
// 支付
payChick(){
switch(this.payTypeVal){
case '':
uni.showToast({
title: '请选择支付方式',
icon : 'none'
})
break;
case 'wxpay':
this.payClick()
break;
case 'alipay':
this.onUmsPay('mp_alipay')
break;
case 'dgwxalipay':
this.dgwxPay('mp_alipay')
break;
}
this.showPayMenu = false
},
// 抖供支付
payChickDg() {
window.location.href = this.jumpUrlDg.scheme_code
},
// 第三方差价支付
onUmsPay(type){
let umsFun = this.style == 'chajia' ? umsDiff : umsOrder
umsFun(this.$Route.query.id, {type}).then(res => {
this.getState = true
switch (type){
case 'mp':
this.tradeId = res.trade_id
this.payTypeVal = 'umsWx'
break;
case 'mp_alipay':
this.tradeId = res.trade_id
window.location.href = res.alipay
break;
}
}).catch(err => {
uni.showToast({
title: err.message,
icon : 'none'
})
})
},
// 斗拱支付
dgwxPay(type){
uni.showLoading({
title: '加载中...',
mask : true
})
let umsFun = this.style == 'chajia' ? dgPay : diffDgPay
dgPay(this.$Route.query.id, {type, app_schema: 'weixin://'}).then(res => {
let { params, trade_id } = res;
this.getState = true
uni.hideLoading()
switch (type){
case 'mp':
this.tradeId = trade_id
this.jumpUrlDg = JSON.parse(params.miniapp_data)
this.payTypeVal = 'dgwx'
break;
case 'mp_alipay':
this.tradeId = trade_id
// window.location.href = 'https://ds.alipay.com/?scheme=' + encodeURIComponent(params.jump_url)
window.location.href = `https://ds.alipay.com/?scheme=` + encodeURIComponent(params.jump_url)
this.payTypeVal = 'dgwxalipay'
break;
}
}).catch(err => {
uni.showToast({
title: err.message,
icon : 'none'
})
})
},
//咨询服务费 - 微信支付
payClick() {
let newOpenId = uni.getStorageSync('openId')
if(newOpenId) {
let NewUrl = ''
if(this.$Route.query.style == 'daijiao') {
NewUrl = applyPay
} else {
NewUrl = diffPay
}
NewUrl(this.$Route.query.id, {
openid : newOpenId
}).then(res => {
let wxConfig = JSON.parse(res.wechat)
jweixin.config({
appId: wxConfig.appId,
debug: false,
jsApiList: ['chooseWXPay'],
signature: wxConfig.signature,
nonceStr: wxConfig.nonceStr,
timestamp: wxConfig.timestamp,
})
jweixin.ready(() => {
jweixin.chooseWXPay({
timestamp: wxConfig.timeStamp,
nonceStr: wxConfig.nonceStr,
package: wxConfig.package,
signType: wxConfig.signType,
paySign: wxConfig.paySign,
success: payRes => {
// 先跳支付成功
uni.showToast({
title: '支付成功',
icon: "none"
})
this.disabled = true
setTimeout(()=>{
this.$Router.replace({name: 'sheetPoint'})
},3000)
},
cancel: payCancel => {
// 跳到咨询单
this.$Router.replace({name: 'sheetIndex'})
},
fail: payfail => {
// 取消支付
uni.showToast({
title: '取消支付',
icon: 'none'
})
this.disabled = true
setTimeout(()=>{
this.$Router.replace({name: 'User'})
},1000)
}
});
});
}).catch(err => {
uni.showToast({
title: err.message,
icon: "none"
})
})
return
}
// 获取微信授权信息-获取oppid
authFollow({
// url: 'https://web.douhuotest.douhuofalv.com/webWechat/index?id=' + this.$Route.query.id + '&style=' + this.$Route.query.style + '&price=' + this.$Route.query.price
url: 'https://web.douhuofalv.com/webWechat/index?id=' + this.$Route.query.id + '&style=' + this.$Route.query.style + '&price=' + this.$Route.query.price
}).then(res => {
window.location.href = res
}).catch(err => {
uni.showToast({
title: err.message,
icon: "none"
})
})
}
}
<script>
import VConsole from 'vconsole';
const jweixin = require('jweixin-module');
import { applyPay, diffPay, authFollow } from '@/apis/interfaces/index'
import { umsDiff, umsOrder, umsState, dgPay, diffDgPay } from '@/apis/interfaces/pay.js'
export default {
data() {
return {
payTypeVal : 'alipay', // 支付方式
tradeId : '', // 查询id
jumpUrlDg : '', // 抖巩支付
getState : false, // 查询支付结果
token : '', // 用户token
style : '', // 支付类型
price : '', // 价格
disabled : false // 按钮状态
}
},
onLoad() {
// new VConsole();
},
onShow() {
if(this.getState && this.tradeId != ''){
this.getUmsState(this.tradeId)
}
this.token = this.$store.getters.getToken
this.style = this.$Route.query.style
this.price = this.$Route.query.price
this.remark = this.$Route.query.remark
},
methods: {
// 查询支付结果
getUmsState(tradeId){
uni.showLoading({
title: '查询支付结果...',
mask : true
})
let outTime;
let resNumb = 0;
outTime = setInterval(() => {
if(resNumb >= 3){
clearInterval(outTime)
uni.showToast({
title: "查询支付结果失败",
icon : "none",
mask : true
})
return
}
umsState(tradeId).then(res => {
resNumb++
if(res.state === 'success'){
clearInterval(outTime)
uni.hideLoading()
this.$Router.replace({name: 'sheetPoint'})
}
}).catch(err => {
uni.showToast({
title: err.message,
icon : 'none'
})
})
}, 2000)
},
// 支付
payChick(){
switch(this.payTypeVal){
case '':
uni.showToast({
title: '请选择支付方式',
icon : 'none'
})
break;
case 'wxpay':
this.payClick()
break;
case 'alipay':
this.onUmsPay('mp_alipay')
break;
case 'dgwxalipay':
this.dgwxPay('mp_alipay')
break;
}
this.showPayMenu = false
},
// 抖供支付
payChickDg() {
window.location.href = this.jumpUrlDg.scheme_code
},
// 第三方差价支付
onUmsPay(type){
let umsFun = this.style == 'chajia' ? umsDiff : umsOrder
umsFun(this.$Route.query.id, {type}).then(res => {
this.getState = true
switch (type){
case 'mp':
this.tradeId = res.trade_id
this.payTypeVal = 'umsWx'
break;
case 'mp_alipay':
this.tradeId = res.trade_id
window.location.href = res.alipay
break;
}
}).catch(err => {
uni.showToast({
title: err.message,
icon : 'none'
})
})
},
// 斗拱支付
dgwxPay(type){
uni.showLoading({
title: '加载中...',
mask : true
})
let umsFun = this.style == 'chajia' ? dgPay : diffDgPay
dgPay(this.$Route.query.id, {type, app_schema: 'weixin://'}).then(res => {
let { params, trade_id } = res;
this.getState = true
uni.hideLoading()
switch (type){
case 'mp':
this.tradeId = trade_id
this.jumpUrlDg = JSON.parse(params.miniapp_data)
this.payTypeVal = 'dgwx'
break;
case 'mp_alipay':
this.tradeId = trade_id
// window.location.href = 'https://ds.alipay.com/?scheme=' + encodeURIComponent(params.jump_url)
window.location.href = `https://ds.alipay.com/?scheme=` + encodeURIComponent(params.jump_url)
this.payTypeVal = 'dgwxalipay'
break;
}
}).catch(err => {
uni.showToast({
title: err.message,
icon : 'none'
})
})
},
//咨询服务费 - 微信支付
payClick() {
let newOpenId = uni.getStorageSync('openId')
if(newOpenId) {
let NewUrl = ''
if(this.$Route.query.style == 'daijiao') {
NewUrl = applyPay
} else {
NewUrl = diffPay
}
NewUrl(this.$Route.query.id, {
openid : newOpenId
}).then(res => {
let wxConfig = JSON.parse(res.wechat)
jweixin.config({
appId: wxConfig.appId,
debug: false,
jsApiList: ['chooseWXPay'],
signature: wxConfig.signature,
nonceStr: wxConfig.nonceStr,
timestamp: wxConfig.timestamp,
})
jweixin.ready(() => {
jweixin.chooseWXPay({
timestamp: wxConfig.timeStamp,
nonceStr: wxConfig.nonceStr,
package: wxConfig.package,
signType: wxConfig.signType,
paySign: wxConfig.paySign,
success: payRes => {
// 先跳支付成功
uni.showToast({
title: '支付成功',
icon: "none"
})
this.disabled = true
setTimeout(()=>{
this.$Router.replace({name: 'sheetPoint'})
},3000)
},
cancel: payCancel => {
// 跳到咨询单
this.$Router.replace({name: 'sheetIndex'})
},
fail: payfail => {
// 取消支付
uni.showToast({
title: '取消支付',
icon: 'none'
})
this.disabled = true
setTimeout(()=>{
this.$Router.replace({name: 'User'})
},1000)
}
});
});
}).catch(err => {
uni.showToast({
title: err.message,
icon: "none"
})
})
return
}
// 获取微信授权信息-获取oppid
authFollow({
url: 'https://web.douhuotest.douhuofalv.com/webWechat/index?id=' + this.$Route.query.id + '&style=' + this.$Route.query.style + '&price=' + this.$Route.query.price
// url: 'https://web.douhuofalv.com/webWechat/index?id=' + this.$Route.query.id + '&style=' + this.$Route.query.style + '&price=' + this.$Route.query.price
}).then(res => {
window.location.href = res
}).catch(err => {
uni.showToast({
title: err.message,
icon: "none"
})
})
}
}
}
</script>
<style lang="scss" scoped>
.paymentTop {
background-color: #dc7f8b;
padding: $padding * 2 $padding * 2 $padding * 4;
box-sizing: border-box;
display: flex;
color: #ffffff;
.paymentTop-name {
flex: 1;
font-size: $title-size + 10;
text {
margin-top: 20rpx;
display: block;
font-size: $title-size-sm;
}
}
.paymentTop-img {
width: 100rpx;
height: 100rpx;
}
}
.paymentShow {
position: relative;
top: -80rpx;
left: 0;
width: 100%;
.paymentShow-img,
.paymentShow-text{
position: absolute;
left: 30rpx;
top: 0;
width: calc(100% - 60rpx);
}
.paymentShow-text {
padding: $padding $padding * 2 0;
box-sizing: border-box;
}
.paymentShow-top {
display: flex;
font-size: $title-size + 2;
line-height: 130rpx;
.paymentShow-top-name {
flex: 1;
display: flex;
color: #9a9a9a;
text {
color: #000000;
}
}
.paymentShow-top-price {
color: $mian-color;
}
}
.paymentShow-tips {
margin-bottom: $margin + 10;
color: #9a9a9a;
font-size: $title-size-lg;
}
.paymentShow-coupon {
display: flex;
.paymentTop-icon {
width: 42rpx;
height: 42rpx;
}
.paymentTop-usable {
flex: 1;
margin-left: 20rpx;
text {
display: block;
color: #9a9a9a;
font-size: $title-size-sm;
line-height: 48rpx;
}
}
}
}
.paymentList-label {
line-height: 80rpx;
display: flex;
}
.paymentList-icon {
width: 40rpx;
height: 40rpx;
margin-right: $margin - 10;
}
.paymentList-img {
width: 34rpx;
height: 34rpx;
margin-top: 22rpx;
margin-right: $margin - 10;
}
.paymentBtn {
position: fixed;
bottom: $margin * 2;
left: 0;
text-align: center;
padding: 0 $padding 100rpx;
box-sizing: border-box;
width: 100%;
.paymentBtn-go {
width: 70% !important;
background-color: $mian-color;
color: #ffffff;
border-radius: 10rpx;
line-height: 94rpx;
font-size: $title-size + 2;
&[disabled] {
background-color: #eba5a5;
}
}
<style lang="scss" scoped>
.paymentTop {
background-color: #dc7f8b;
padding: $padding * 2 $padding * 2 $padding * 4;
box-sizing: border-box;
display: flex;
color: #ffffff;
.paymentTop-name {
flex: 1;
font-size: $title-size + 10;
text {
margin-top: 20rpx;
display: block;
font-size: $title-size-sm;
}
}
.paymentTop-img {
width: 100rpx;
height: 100rpx;
}
}
.paymentShow {
position: relative;
top: -80rpx;
left: 0;
width: 100%;
.paymentShow-img,
.paymentShow-text{
position: absolute;
left: 30rpx;
top: 0;
width: calc(100% - 60rpx);
}
.paymentShow-text {
padding: $padding $padding * 2 0;
box-sizing: border-box;
}
.paymentShow-top {
display: flex;
font-size: $title-size + 2;
line-height: 130rpx;
.paymentShow-top-name {
flex: 1;
display: flex;
color: #9a9a9a;
text {
color: #000000;
}
}
.paymentShow-top-price {
color: $mian-color;
}
}
.paymentShow-tips {
margin-bottom: $margin + 10;
color: #9a9a9a;
font-size: $title-size-lg;
}
.paymentShow-coupon {
display: flex;
.paymentTop-icon {
width: 42rpx;
height: 42rpx;
}
.paymentTop-usable {
flex: 1;
margin-left: 20rpx;
text {
display: block;
color: #9a9a9a;
font-size: $title-size-sm;
line-height: 48rpx;
}
}
}
}
.paymentList-label {
line-height: 80rpx;
display: flex;
}
.paymentList-icon {
width: 40rpx;
height: 40rpx;
margin-right: $margin - 10;
}
.paymentList-img {
width: 34rpx;
height: 34rpx;
margin-top: 22rpx;
margin-right: $margin - 10;
}
.paymentBtn {
position: fixed;
bottom: $margin * 2;
left: 0;
text-align: center;
padding: 0 $padding 100rpx;
box-sizing: border-box;
width: 100%;
.paymentBtn-go {
width: 70% !important;
background-color: $mian-color;
color: #ffffff;
border-radius: 10rpx;
line-height: 94rpx;
font-size: $title-size + 2;
&[disabled] {
background-color: #eba5a5;
}
}
}
</style>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,499 +1,499 @@
<template>
<view class="content">
<image class="expandImg" src="https://cdn.douhuofalv.com/images/2023/04/19/df2ecf6ece3e59de1d51c4ad09aa68f3.jpg" mode="widthFix"></image>
<view class="list">
<view class="list-title">
<view class="list-title-number">expand</view>
<view class="list-title-name">法律服务拓展包</view>
<view class="list-title-trim"></view>
</view>
<view class="list-item">
<!-- @click="seekClick(item.expand_id)" -->
<view class="list-label" v-for="(item, index) in entrustArr" :key="index">
<view class="list-label-name">
{{item.title}}
</view>
<view class="list-label-price"><rich-text :nodes="item.content"></rich-text></view>
<!-- <view class="list-label-go">购买</view> -->
<!-- data[0].order.status -->
<view class="list-label-go" :class="{'hide': item.button_status === 2}" @click="onBtn(index)">
<text v-if="item.button_status === 0">购买</text>
<text v-if="item.button_status === 1">等待支付</text>
<text v-if="item.button_status === 2">待审核</text>
<text v-if="item.button_status === 3">审核驳回</text>
</view>
</view>
</view>
</view>
<image class="expandBttom" src="https://cdn.douhuofalv.com/images/2023/04/17/fc4cad00a630e3d69b3f486e9d2937e9.png" mode="widthFix"></image>
<!-- 关注公众号 -->
<view class="tipsBack" v-if="generalShow"></view>
<view class="tipsCont" v-if="generalShow">
<view class="tipsWhite">
<image class="tipsCont-img" src="https://douhuo-storage.oss-cn-beijing.aliyuncs.com/images/2023/06/06/6b1485847b45273618f8d922ceee889c.png" mode="widthFix"></image>
<view class="tipsWhite-top">
<view class="tipsWhite-name">
请您先关注抖火法律咨询公众号
</view>
<view class="tipsWhite-text">
关注后可立即下单
</view>
</view>
<view class="tipsWhite-btn">
<view class="tipsWhite-btn-go" @click="generalShow = false">
稍后关注
</view>
<view class="tipsWhite-btn-go" @click="judgeGeneral">
马上关注
</view>
</view>
</view>
</view>
<!-- 打款凭证弹出 -->
<view class="voucherBack" :class="{active : voucherState}"></view>
<view class="voucherPop" :class="{active : voucherState}">
<view class="tipsWhite">
<image class="voucherPop-img" src="https://cdn.douhuofalv.com/images/2023/04/17/f4a3c45fe9aa7db143a362fc5b13b31d.png" mode="widthFix"></image>
<view class="voucherPop-title">
<view class="voucherPop-name">支付提示</view>
<view class="voucherPop-text">抱歉此订单不支持线上支付请上传打款凭证</view>
<view class="voucherPop-btn">
<!-- @click="cancelPay" -->
<view class="voucherPop-go" @click="voucherState = false">
暂不支付
</view>
<view class="voucherPop-go voucherPop-up" @click="clickOpen">
上传凭证
</view>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import { judgeReal } from '@/apis/interfaces/user'
import { authFollow } from '@/apis/interfaces/index'
import { expandsList } from '@/apis/interfaces/synthesis'
export default {
data() {
return {
entrustArr : [], //案件委托列表
generalShow : false,
voucherState : false, // 上传凭证弹出// 公众号
orderId : '', // 订单 ID
orderType : '', // 订单类型
orderPrice : '', // 订单金额
}
},
created() {},
onShow() {
// 获取-案件委托-列表
this.yearServe();
},
methods: {
// 案件委托-列表
yearServe(){
expandsList().then(res => {
this.entrustArr = res
}).catch(err => {
uni.showToast({
title: err.message,
icon : 'none'
})
})
},
// 点击开通按钮
onBtn(index){
let obj = this.entrustArr[index]
if(obj.order === null){
this.seekClick(obj.expand_id)
return
}
// 0 购买 1 待支付 2 待审核 3 驳回
switch (obj.button_status){
case 0:
this.seekClick(obj.expand_id)
break;
case 1:
this.expressSheet(obj.order.expand_order_id, obj.order.order_type, obj.order.can, obj.order.price)
break;
case 2:
uni.showToast({
title: '打款凭证审核中,请耐心等待',
icon : 'none'
})
break;
case 3:
this.$Router.push({
name : 'VoucherOpen',
params : {
payId : obj.order.offline_pays.offline_pay_id,
type : 'edit',
orderId : obj.order.order_id,
orderType : obj.order.order_type.replace(/\\/g, '-'),
price : obj.price
}
})
break;
}
},
// 选择支付方式
expressSheet(id, type, can, price) {
this.orderId = id
this.orderType = type
this.orderPrice = price
uni.showActionSheet({
itemList: ['线上支付', '线下支付'],
success: sheetRes => {
if(sheetRes.tapIndex == 0) {
if(can.online) {
this.$Router.push({name: 'FeePay', params: {id: id, orderType: type, price: price, payForm: 'service'}})
return
}
this.voucherState = true
} else if (sheetRes.tapIndex == 1) {
this.$Router.push({name: 'VoucherOpen', params: {orderId: id, orderType: type, price: price}})
}
},
fail: sheetFail => {}
})
},
// 上传凭证
clickOpen() {
this.voucherState = false
this.$Router.push({name: 'VoucherOpen', params: {orderId: this.orderId, orderType: this.orderType, price: this.orderPrice}})
},
// 立即咨询
seekClick(entrustId) {
// 判断是否认证
judgeReal().then(res => {
if(res.has_sign) {
if(!res.has_subscribe) {
// 弹出公众号
this.generalShow = true
} else {
// 跳到咨询表单页
this.$Router.push({
name: 'ExpandWrite',
params: {
entrustId
}
})
}
return
}
// 跳到认证页面
this.$Router.replace({name: 'sheetIdcard'})
}).catch( err => {
uni.showToast({
title: err.message,
icon: "none"
})
})
},
// 状态
judgeGeneral(){
// 获取微信授权信息
authFollow({
url: 'https://web.douhuofalv.com/webview/webCode'
// url: 'https://web.douhuotest.douhuofalv.com/webview/webCode'
}).then(res => {
window.location.href = res
}).catch(err => {
uni.showToast({
title: err.message,
icon: "none"
})
})
// 关闭公众号
this.generalShow = false
},
}
}
</script>
<style lang="scss" scoped>
.content {
background-color: #121d4c;
}
.expandImg,
.expandBttom{
width: 100%;
display: block;
}
.list {
padding: 0 30rpx 30rpx;
box-sizing: border-box;
background-color: #121d4c;
.list-title {
font-size: 36rpx;
margin-bottom: 40rpx;
color: #ffffff;
.list-title-trim {
position: relative;
left: 390rpx;
bottom: 28rpx;
background-color: #2f3aae;
width: 35%;
height: 4rpx;
padding-left: 40rpx;
box-sizing: border-box;
&::after {
position: absolute;
content: '';
left: -50rpx;
top: -10rpx;
width: 20rpx;
height: 20rpx;
transform:rotate(45deg);
background-color: #2f3aae;
}
}
.list-title-number {
font-weight: 600;
font-size: 58rpx;
background-image: -webkit-linear-gradient(top,#ffffff 40%, transparent 70%);
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
text-transform: uppercase;
}
.list-title-name {
font-size: 44rpx;
margin-top: -20rpx;
width: 390rpx;
}
}
.list-item {
position: relative;
padding-left: 100rpx;
box-sizing: border-box;
&::after {
position: absolute;
content: '';
left: 10rpx;
top: 0;
border-left: 4rpx dashed #3b46d6;
width: 0;
height: calc(100% - 64rpx);
}
.list-label {
background-image: linear-gradient(to right,#3d48dd, #1f2a6f);
padding: 15rpx 40rpx 15rpx 90rpx;
box-sizing: border-box;
border-radius: 80rpx 15rpx 15rpx 80rpx;
margin-bottom: 30rpx;
color: #ffffff;
position: relative;
&::before {
position: absolute;
content: '';
left: -88rpx;
top: calc(50% - 1rpx);
border-bottom: 4rpx dashed #3b46d6;
width: 60rpx;
height: 0;
}
&::after {
position: absolute;
content: '';
left: 40rpx;
top: calc(50% - 9rpx);
background-color: #091443;
width: 18rpx;
height: 18rpx;
border-radius: 50%;
}
.list-label-name {
margin-bottom: 5rpx;
}
.list-label-price {
line-height: 48rpx;
}
.list-label-go {
position: absolute;
right: 30rpx;
top: 35rpx;
background-image: -webkit-linear-gradient(40deg,#f1c593, #fef9f2);
color: #12053d;
display: inline-block;
line-height: 54rpx;
padding: 0 30rpx;
border-radius: 54rpx;
font-size: 26rpx;
font-weight: 600;
&.hide{
opacity: .7;
}
}
}
}
}
// 关注
.tipsBack {
position: fixed;
width: 100vw;
height: 100vh;
left: 0;
top: 0;
z-index: 9;
background-color: rgba(0, 0, 0, .8);
}
.tipsCont {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-pack: center;
position: fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
z-index: 10;
padding: 0 10%;
box-sizing: border-box;
}
.tipsWhite {
background-color: #ffffff;
border-radius: 20rpx;
overflow: hidden;
}
.tipsWhite-top {
padding: $padding;
box-sizing: border-box;
text-align: center;
}
.tipsCont-img {
width: 100%;
}
.tipsWhite-name {
text-align: center;
color: #111111;
font-size: 34rpx;
font-weight: 600;
margin-bottom: 15rpx;
}
.tipsWhite-text {
font-size: 30rpx;
color: #666666;
line-height: 48rpx;
}
.tipsWhite-btn {
display: flex;
padding: $padding 10rpx;
box-sizing: border-box;
.tipsWhite-btn-go {
flex: 2;
color: #fff;
margin: 0 15rpx;
height: 80rpx;
line-height: 80rpx;
text-align: center;
border: 2rpx solid #F6F6F6;
background-color: #007df5;
border-radius: $radius-m;
&:first-child {
color: #333333;
background-color: #ffffff;
border: 2rpx solid #cccccc;
}
}
}
// 打款凭证弹出
.voucherBack {
position: fixed;
width: 100vw;
height: 100vh;
left: 0;
top: 0;
z-index: 99;
background-color: rgba(0, 0, 0, .6);
display: none;
&.active {
display: block;
}
}
.voucherPop {
-webkit-box-orient: vertical;
-webkit-box-pack: center;
position: fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
z-index: 100;
padding: 0 10%;
box-sizing: border-box;
display: none;
&.active {
display: -webkit-box;
}
.tipsWhite {
background-color: #ffffff;
border-radius: 20rpx;
position: relative;
.voucherPop-img {
position: absolute !important;
top: -80rpx;
right: calc(50% - 100rpx);
width: 200rpx;
}
.voucherPop-title {
box-sizing: border-box;
padding: 50rpx 70rpx;
margin-top: 100rpx;
text-align: center;
.voucherPop-name {
font-weight: 600;
font-size: 38rpx;
}
.voucherPop-text {
padding: 30rpx 0 35rpx;
line-height: 44rpx;
}
.voucherPop-btn {
display: flex;
.voucherPop-go {
flex: 2;
text-align: center;
border: 2rpx solid #da2b56;
color: #da2b56;
margin: 0 15rpx;
line-height: 74rpx;
border-radius: 10rpx;
background-color: #ffffff;
&.voucherPop-up {
background-color: #da2b56;
color: #ffffff;
}
}
}
}
}
}
<template>
<view class="content">
<image class="expandImg" src="https://cdn.douhuofalv.com/images/2023/04/19/df2ecf6ece3e59de1d51c4ad09aa68f3.jpg" mode="widthFix"></image>
<view class="list">
<view class="list-title">
<view class="list-title-number">expand</view>
<view class="list-title-name">法律服务拓展包</view>
<view class="list-title-trim"></view>
</view>
<view class="list-item">
<!-- @click="seekClick(item.expand_id)" -->
<view class="list-label" v-for="(item, index) in entrustArr" :key="index">
<view class="list-label-name">
{{item.title}}
</view>
<view class="list-label-price"><rich-text :nodes="item.content"></rich-text></view>
<!-- <view class="list-label-go">购买</view> -->
<!-- data[0].order.status -->
<view class="list-label-go" :class="{'hide': item.button_status === 2}" @click="onBtn(index)">
<text v-if="item.button_status === 0">购买</text>
<text v-if="item.button_status === 1">等待支付</text>
<text v-if="item.button_status === 2">待审核</text>
<text v-if="item.button_status === 3">审核驳回</text>
</view>
</view>
</view>
</view>
<image class="expandBttom" src="https://cdn.douhuofalv.com/images/2023/04/17/fc4cad00a630e3d69b3f486e9d2937e9.png" mode="widthFix"></image>
<!-- 关注公众号 -->
<view class="tipsBack" v-if="generalShow"></view>
<view class="tipsCont" v-if="generalShow">
<view class="tipsWhite">
<image class="tipsCont-img" src="https://douhuo-storage.oss-cn-beijing.aliyuncs.com/images/2023/06/06/6b1485847b45273618f8d922ceee889c.png" mode="widthFix"></image>
<view class="tipsWhite-top">
<view class="tipsWhite-name">
请您先关注抖火法律咨询公众号
</view>
<view class="tipsWhite-text">
关注后可立即下单
</view>
</view>
<view class="tipsWhite-btn">
<view class="tipsWhite-btn-go" @click="generalShow = false">
稍后关注
</view>
<view class="tipsWhite-btn-go" @click="judgeGeneral">
马上关注
</view>
</view>
</view>
</view>
<!-- 打款凭证弹出 -->
<view class="voucherBack" :class="{active : voucherState}"></view>
<view class="voucherPop" :class="{active : voucherState}">
<view class="tipsWhite">
<image class="voucherPop-img" src="https://cdn.douhuofalv.com/images/2023/04/17/f4a3c45fe9aa7db143a362fc5b13b31d.png" mode="widthFix"></image>
<view class="voucherPop-title">
<view class="voucherPop-name">支付提示</view>
<view class="voucherPop-text">抱歉此订单不支持线上支付请上传打款凭证</view>
<view class="voucherPop-btn">
<!-- @click="cancelPay" -->
<view class="voucherPop-go" @click="voucherState = false">
暂不支付
</view>
<view class="voucherPop-go voucherPop-up" @click="clickOpen">
上传凭证
</view>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import { judgeReal } from '@/apis/interfaces/user'
import { authFollow } from '@/apis/interfaces/index'
import { expandsList } from '@/apis/interfaces/synthesis'
export default {
data() {
return {
entrustArr : [], //案件委托列表
generalShow : false,
voucherState : false, // 上传凭证弹出// 公众号
orderId : '', // 订单 ID
orderType : '', // 订单类型
orderPrice : '', // 订单金额
}
},
created() {},
onShow() {
// 获取-案件委托-列表
this.yearServe();
},
methods: {
// 案件委托-列表
yearServe(){
expandsList().then(res => {
this.entrustArr = res
}).catch(err => {
uni.showToast({
title: err.message,
icon : 'none'
})
})
},
// 点击开通按钮
onBtn(index){
let obj = this.entrustArr[index]
if(obj.order === null){
this.seekClick(obj.expand_id)
return
}
// 0 购买 1 待支付 2 待审核 3 驳回
switch (obj.button_status){
case 0:
this.seekClick(obj.expand_id)
break;
case 1:
this.expressSheet(obj.order.expand_order_id, obj.order.order_type, obj.order.can, obj.order.price)
break;
case 2:
uni.showToast({
title: '打款凭证审核中,请耐心等待',
icon : 'none'
})
break;
case 3:
this.$Router.push({
name : 'VoucherOpen',
params : {
payId : obj.order.offline_pays.offline_pay_id,
type : 'edit',
orderId : obj.order.order_id,
orderType : obj.order.order_type.replace(/\\/g, '-'),
price : obj.price
}
})
break;
}
},
// 选择支付方式
expressSheet(id, type, can, price) {
this.orderId = id
this.orderType = type
this.orderPrice = price
uni.showActionSheet({
itemList: ['线上支付', '线下支付'],
success: sheetRes => {
if(sheetRes.tapIndex == 0) {
if(can.online) {
this.$Router.push({name: 'FeePay', params: {id: id, orderType: type, price: price, payForm: 'service'}})
return
}
this.voucherState = true
} else if (sheetRes.tapIndex == 1) {
this.$Router.push({name: 'VoucherOpen', params: {orderId: id, orderType: type, price: price}})
}
},
fail: sheetFail => {}
})
},
// 上传凭证
clickOpen() {
this.voucherState = false
this.$Router.push({name: 'VoucherOpen', params: {orderId: this.orderId, orderType: this.orderType, price: this.orderPrice}})
},
// 立即咨询
seekClick(entrustId) {
// 判断是否认证
judgeReal().then(res => {
if(res.has_sign) {
if(!res.has_subscribe) {
// 弹出公众号
this.generalShow = true
} else {
// 跳到咨询表单页
this.$Router.push({
name: 'ExpandWrite',
params: {
entrustId
}
})
}
return
}
// 跳到认证页面
this.$Router.replace({name: 'sheetIdcard'})
}).catch( err => {
uni.showToast({
title: err.message,
icon: "none"
})
})
},
// 状态
judgeGeneral(){
// 获取微信授权信息
authFollow({
// url: 'https://web.douhuofalv.com/webview/webCode'
url: 'https://web.douhuotest.douhuofalv.com/webview/webCode'
}).then(res => {
window.location.href = res
}).catch(err => {
uni.showToast({
title: err.message,
icon: "none"
})
})
// 关闭公众号
this.generalShow = false
},
}
}
</script>
<style lang="scss" scoped>
.content {
background-color: #121d4c;
}
.expandImg,
.expandBttom{
width: 100%;
display: block;
}
.list {
padding: 0 30rpx 30rpx;
box-sizing: border-box;
background-color: #121d4c;
.list-title {
font-size: 36rpx;
margin-bottom: 40rpx;
color: #ffffff;
.list-title-trim {
position: relative;
left: 390rpx;
bottom: 28rpx;
background-color: #2f3aae;
width: 35%;
height: 4rpx;
padding-left: 40rpx;
box-sizing: border-box;
&::after {
position: absolute;
content: '';
left: -50rpx;
top: -10rpx;
width: 20rpx;
height: 20rpx;
transform:rotate(45deg);
background-color: #2f3aae;
}
}
.list-title-number {
font-weight: 600;
font-size: 58rpx;
background-image: -webkit-linear-gradient(top,#ffffff 40%, transparent 70%);
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
text-transform: uppercase;
}
.list-title-name {
font-size: 44rpx;
margin-top: -20rpx;
width: 390rpx;
}
}
.list-item {
position: relative;
padding-left: 100rpx;
box-sizing: border-box;
&::after {
position: absolute;
content: '';
left: 10rpx;
top: 0;
border-left: 4rpx dashed #3b46d6;
width: 0;
height: calc(100% - 64rpx);
}
.list-label {
background-image: linear-gradient(to right,#3d48dd, #1f2a6f);
padding: 15rpx 40rpx 15rpx 90rpx;
box-sizing: border-box;
border-radius: 80rpx 15rpx 15rpx 80rpx;
margin-bottom: 30rpx;
color: #ffffff;
position: relative;
&::before {
position: absolute;
content: '';
left: -88rpx;
top: calc(50% - 1rpx);
border-bottom: 4rpx dashed #3b46d6;
width: 60rpx;
height: 0;
}
&::after {
position: absolute;
content: '';
left: 40rpx;
top: calc(50% - 9rpx);
background-color: #091443;
width: 18rpx;
height: 18rpx;
border-radius: 50%;
}
.list-label-name {
margin-bottom: 5rpx;
}
.list-label-price {
line-height: 48rpx;
}
.list-label-go {
position: absolute;
right: 30rpx;
top: 35rpx;
background-image: -webkit-linear-gradient(40deg,#f1c593, #fef9f2);
color: #12053d;
display: inline-block;
line-height: 54rpx;
padding: 0 30rpx;
border-radius: 54rpx;
font-size: 26rpx;
font-weight: 600;
&.hide{
opacity: .7;
}
}
}
}
}
// 关注
.tipsBack {
position: fixed;
width: 100vw;
height: 100vh;
left: 0;
top: 0;
z-index: 9;
background-color: rgba(0, 0, 0, .8);
}
.tipsCont {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-pack: center;
position: fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
z-index: 10;
padding: 0 10%;
box-sizing: border-box;
}
.tipsWhite {
background-color: #ffffff;
border-radius: 20rpx;
overflow: hidden;
}
.tipsWhite-top {
padding: $padding;
box-sizing: border-box;
text-align: center;
}
.tipsCont-img {
width: 100%;
}
.tipsWhite-name {
text-align: center;
color: #111111;
font-size: 34rpx;
font-weight: 600;
margin-bottom: 15rpx;
}
.tipsWhite-text {
font-size: 30rpx;
color: #666666;
line-height: 48rpx;
}
.tipsWhite-btn {
display: flex;
padding: $padding 10rpx;
box-sizing: border-box;
.tipsWhite-btn-go {
flex: 2;
color: #fff;
margin: 0 15rpx;
height: 80rpx;
line-height: 80rpx;
text-align: center;
border: 2rpx solid #F6F6F6;
background-color: #007df5;
border-radius: $radius-m;
&:first-child {
color: #333333;
background-color: #ffffff;
border: 2rpx solid #cccccc;
}
}
}
// 打款凭证弹出
.voucherBack {
position: fixed;
width: 100vw;
height: 100vh;
left: 0;
top: 0;
z-index: 99;
background-color: rgba(0, 0, 0, .6);
display: none;
&.active {
display: block;
}
}
.voucherPop {
-webkit-box-orient: vertical;
-webkit-box-pack: center;
position: fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
z-index: 100;
padding: 0 10%;
box-sizing: border-box;
display: none;
&.active {
display: -webkit-box;
}
.tipsWhite {
background-color: #ffffff;
border-radius: 20rpx;
position: relative;
.voucherPop-img {
position: absolute !important;
top: -80rpx;
right: calc(50% - 100rpx);
width: 200rpx;
}
.voucherPop-title {
box-sizing: border-box;
padding: 50rpx 70rpx;
margin-top: 100rpx;
text-align: center;
.voucherPop-name {
font-weight: 600;
font-size: 38rpx;
}
.voucherPop-text {
padding: 30rpx 0 35rpx;
line-height: 44rpx;
}
.voucherPop-btn {
display: flex;
.voucherPop-go {
flex: 2;
text-align: center;
border: 2rpx solid #da2b56;
color: #da2b56;
margin: 0 15rpx;
line-height: 74rpx;
border-radius: 10rpx;
background-color: #ffffff;
&.voucherPop-up {
background-color: #da2b56;
color: #ffffff;
}
}
}
}
}
}
</style>

File diff suppressed because it is too large Load Diff

View File

@@ -61,7 +61,7 @@
<!-- web.douhuotest.douhuofalv dev=0是线上 dev=1是线下 -->
<wx-open-launch-weapp
username="gh_918c81628d6f"
:path="'pages/pay/pay?type=h5&dev=0&trade_id=' + tradeId + '&token=' + token"
:path="'pages/pay/pay?type=h5&dev=1&trade_id=' + tradeId + '&token=' + token"
>
<script type="text/wxtag-template">
<style>
@@ -349,8 +349,8 @@
// 获取微信授权信息-获取oppid
authFollow({
url: 'https://web.douhuofalv.com/webWechat/index?id=' + this.$Route.query.id + '&style=' + this.$Route.query.style + '&price=' + this.$Route.query.price
// url: 'https://web.douhuotest.douhuofalv.com/webWechat/index?id=' + this.orderId + '&style=' + this.$Route.query.style + '&price=' + this.$Route.query.price
// url: 'https://web.douhuofalv.com/webWechat/index?id=' + this.$Route.query.id + '&style=' + this.$Route.query.style + '&price=' + this.$Route.query.price
url: 'https://web.douhuotest.douhuofalv.com/webWechat/index?id=' + this.orderId + '&style=' + this.$Route.query.style + '&price=' + this.$Route.query.price
}).then(res => {
window.location.href = res
}).catch(err => {

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,492 +1,492 @@
<template>
<view class="content">
<view class="orderFixed">
<view class="orderTab">
<view class="orderTab-item" :class="{active : yearType == 1}" @click="tabClick('1')">
<text>个人年费单</text>
</view>
<view class="orderTab-item" :class="{active : yearType == 2}" @click="tabClick('2')">
<text>企业年费单</text>
</view>
</view>
<view class="orderState">
<view class="orderState-item" :class="{active : yearStatus == 0}" @click="stateClick('0')">
<text>待支付</text>
</view>
<view class="orderState-item" :class="{active : yearStatus == 1}" @click="stateClick('1')">
<text>待签约</text>
</view>
<view class="orderState-item" :class="{active : yearStatus == 2}" @click="stateClick('2')">
<text>已签约</text>
</view>
<view class="orderState-item" :class="{active : yearStatus == 4}" @click="stateClick('4')">
<text>已退款</text>
</view>
</view>
</view>
<view class="list" v-if="yearArr.length > 0">
<view class="listItem" v-for="(item, index) in yearArr" :key="index">
<view class="listItem-no">
订单号{{item.order_no}}
</view>
<view class="listItem-cont">
<view class="listItem-cont-label">
<view class="listItem-cont-name">
订单状态
</view>
<view class="listItem-cont-text listItem-cont-status">
{{item.status.text}}
</view>
</view>
<view class="listItem-cont-label">
<view class="listItem-cont-name">
订单金额
</view>
<view class="listItem-cont-text listItem-cont-price">
{{item.total}}
</view>
</view>
<view class="listItem-cont-label" v-if="item.can.lawyer_status != 0">
<view class="listItem-cont-name">
律师匹配
</view>
<view class="listItem-cont-text listItem-cont-price">
<block v-if="item.can.lawyer_status == 1">待匹配律师</block>
<block v-else-if="item.can.lawyer_status == 2">已匹配律师</block>
</view>
</view>
<view class="listItem-cont-label">
<view class="listItem-cont-name">
下单时间
</view>
<view class="listItem-cont-text listItem-cont-price">
{{item.created_at}}
</view>
</view>
</view>
<view class="listItem-labor">
<view class="listItem-labor-time">
<view @click="operateMore(item.order_id)" v-if="item.can.cancel">更多</view>
</view>
<view class="listItem-labor-btn">
<view v-if="item.can.sign" @click="esignClick(item.order_id, item.order_type)" class="listItem-labor-go">
去签约
</view>
<view v-if="item.can.pay_status == 1" @click="expressSheet(item.service_order_id, item.order_type, item.can, item.price)" class="listItem-labor-go">
去支付
</view>
<view class="listItem-labor-go active" v-else-if="item.can.pay_status == 2">等待审核</view>
<view class="listItem-labor-go" v-else-if="item.can.pay_status == 3" @click="$Router.push({name: 'VoucherOpen', params: {payId: item.offline_pays.offline_pay_id, orderId: item.service_order_id, price: item.price, orderType: item.order_type, type: 'edit'}})">审核驳回</view>
<view @click="$Router.push({name: 'YearConfirm', params: {servicesId: item.service_order_id}})" class="listItem-labor-go yellow">
查看详情
</view>
</view>
</view>
</view>
</view>
<view class="pack-center pages-hint" v-else>
<image src="https://douhuo-storage.oss-cn-beijing.aliyuncs.com/images/2023/06/06/7ad417d0c215db601b8e1bead05c3a5e.png"></image>
<view>暂无订单</view>
</view>
<!-- 打款凭证弹出 -->
<view class="voucherBack" :class="{active : voucherState}"></view>
<view class="voucherPop" :class="{active : voucherState}">
<view class="tipsWhite">
<image class="voucherPop-img" src="https://cdn.douhuofalv.com/images/2023/04/17/f4a3c45fe9aa7db143a362fc5b13b31d.png" mode="widthFix"></image>
<view class="voucherPop-title">
<view class="voucherPop-name">支付提示</view>
<view class="voucherPop-text">抱歉此订单不支持线上支付请上传打款凭证</view>
<view class="voucherPop-btn">
<view class="voucherPop-go" @click="voucherState = false">
暂不支付
</view>
<view class="voucherPop-go voucherPop-up" @click="clickOpen">
上传凭证
</view>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import { yearOrder, esignUrl, yearCancel } from '@/apis/interfaces/synthesis'
export default {
data() {
return {
yearType : 1, // 1 个人 2 企业
yearStatus : 0, // 0 未付款 1 2
yearArr : [], // 年费咨询单列表
orderId : '', // 订单 ID
orderType : '', // 订单类型
orderPrice : '', // 订单金额
page : {}, // 分页信息
lodingStats : false, // 加载状态
voucherState : false, // 上传凭证弹出
}
},
created() {
this.yearType = this.$Route.query.yearType || 1
},
onShow() {
// 获取-年费咨询单列表
this.yearServe();
},
methods: {
// 年费咨询单列表
yearServe(page){
yearOrder({
type : this.yearType,
status : this.yearStatus,
page: page || 1
}).then(res => {
let esArr = res.data
let list = this.yearArr,
newData = []
if(page == 1 || page == undefined) list = []
newData = list.concat(esArr)
this.yearArr = newData
this.page = res.page
this.lodingStats = false
uni.stopPullDownRefresh()
}).catch(err => {
uni.showToast({
title: err.message,
icon : 'none'
})
})
},
// 类型选择
tabClick(type) {
this.yearType = type
// 获取-年费咨询单列表
this.yearServe();
},
// 状态选择
stateClick(state) {
this.yearStatus = state
// 获取-年费咨询单列表
this.yearServe();
},
// 选择支付方式
expressSheet(id, type, can, price) {
this.orderId = id
this.orderType = type
this.orderPrice = price
uni.showActionSheet({
itemList: ['线上支付', '线下支付'],
success: sheetRes => {
if(sheetRes.tapIndex == 0) {
if(can.online) {
this.$Router.push({name: 'FeePay', params: {id: id, orderType: type, price: price, payForm: 'service'}})
return
}
this.voucherState = true
} else if (sheetRes.tapIndex == 1) {
this.$Router.push({name: 'VoucherOpen', params: {orderId: id, orderType: type, price: price}})
}
},
fail: sheetFail => {
uni.showToast({
title: '取消支付',
icon : 'none'
})
}
})
},
// 上传凭证
clickOpen() {
this.voucherState = false
this.$Router.push({name: 'VoucherOpen', params: {orderId: this.orderId, orderType: this.orderType, price: this.orderPrice}})
},
// 去签约
esignClick(id,type) {
esignUrl({
order_id : id,
order_type: type,
redirect_url: "https://web.douhuofalv.com/user/index",
// redirect_url: "https://web.douhuotest.douhuofalv.com/user/index",
channel : 'h5',
app_scheme : ''
}).then(res => {
window.location.href= res.sign_url
}).catch(err => {
uni.showToast({
title: err.message,
icon: "none"
})
})
},
// 更多操作
operateMore(id) {
wx.showActionSheet({
itemList: ['取消订单'],
success: ()=> {
wx.showModal({
title : '提示',
content : '是否取消订单',
success : res=> {
if (res.confirm) {
yearCancel(id).then(res => {
wx.showToast({
title:'取消成功',
icon:'none'
})
// 获取-年费咨询单列表
this.yearServe();
}).catch(err => {
uni.showToast({
title: err.message,
icon : 'none'
})
})
}
}
})
},
fail: err=> {}
})
},
// 页面相关事件处理函数--监听用户下拉动作
onPullDownRefresh() {
// 获取-年费咨询单列表
this.yearServe();
},
// 上拉加载
onReachBottom(){
this.lodingStats = true
let pageNumber = this.page.current
if(this.page.has_more){
pageNumber++
// 获取-年费咨询单列表
this.yearServe(pageNumber);
}
}
}
}
</script>
<style lang="scss" scoped>
.content {
background-color: #f7f9fa;
overflow-y: scroll;
height: 100%;
position: absolute;
width: 100%;
}
.orderFixed {
position: fixed;
top: 44px;
left: 0;
width: 100%;
z-index: 9;
.orderTab {
height: 90rpx;
line-height: 90rpx;
background-color: white;
display: flex;
.orderTab-item {
flex: 2;
text-align: center;
position: relative;
color: #000000;
&::after {
position: absolute;
content: '';
left: calc(50% - 25rpx);
bottom: 0;
width: 50rpx;
height: 8rpx;
background-color: #da2b56;
display: none;
border-radius: 90rpx;
}
&.active {
font-weight: 600;
}
&.active::after {
display: block;
}
}
}
.orderState {
display: flex;
padding: 30rpx;
box-sizing: border-box;
background-color: #f7f9fa;
.orderState-item {
background-color: white;
line-height: 54rpx;
padding: 0 25rpx;
border-radius: 54rpx;
font-size: 28rpx;
margin-right: 30rpx;
&.active {
background-color: #da2b56;
color: #ffffff;
}
}
}
}
.list {
margin-top: 44px;
padding: 130rpx 30rpx 0;
box-sizing: border-box;
.listItem {
background-color: #ffffff;
border-radius: 10rpx;
margin-bottom: 30rpx;
.listItem-no {
line-height: 90rpx;
padding: 0 30rpx;
box-sizing: border-box;
border-bottom: 2rpx solid #eeeeee;
}
.listItem-cont {
padding: 15rpx 30rpx;
box-sizing: border-box;
.listItem-cont-label {
display: flex;
line-height: 60rpx;
color: #666666;
font-size: 28rpx;
.listItem-cont-name {
flex: 1;
}
.listItem-cont-text {
color: #000000;
&.listItem-cont-status {
color: #da2b56;
}
&.listItem-cont-price {
font-weight: 600;
}
}
}
}
.listItem-labor {
border-top: 2rpx solid #eeeeee;
line-height: 50rpx;
padding: 25rpx 30rpx;
box-sizing: border-box;
font-size: 26rpx;
display: flex;
.listItem-labor-time {
flex: 1;
color: #999999;
}
.listItem-labor-go {
display: inline-block;
border: 2rpx solid #da2b56;
color: #da2b56;
border-radius: 80rpx;
padding: 0 20rpx;
margin-left: 20rpx;
&.active {
border-color: #dadada;
color: #868686;
}
&.yellow {
border-color: #ec7647;
color: #ec7647;
}
}
}
}
}
// 打款凭证弹出
.voucherBack {
position: fixed;
width: 100vw;
height: 100vh;
left: 0;
top: 0;
z-index: 99;
background-color: rgba(0, 0, 0, .6);
display: none;
&.active {
display: block;
}
}
.voucherPop {
-webkit-box-orient: vertical;
-webkit-box-pack: center;
position: fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
z-index: 100;
padding: 0 10%;
box-sizing: border-box;
display: none;
&.active {
display: -webkit-box;
}
.tipsWhite {
background-color: #ffffff;
border-radius: 20rpx;
position: relative;
.voucherPop-img {
position: absolute !important;
top: -80rpx;
right: calc(50% - 100rpx);
width: 200rpx;
}
.voucherPop-title {
box-sizing: border-box;
padding: 50rpx 70rpx;
margin-top: 100rpx;
text-align: center;
.voucherPop-name {
font-weight: 600;
font-size: 38rpx;
}
.voucherPop-text {
padding: 30rpx 0 35rpx;
line-height: 44rpx;
}
.voucherPop-btn {
display: flex;
.voucherPop-go {
flex: 2;
text-align: center;
border: 2rpx solid #da2b56;
color: #da2b56;
margin: 0 15rpx;
line-height: 74rpx;
border-radius: 10rpx;
background-color: #ffffff;
&.voucherPop-up {
background-color: #da2b56;
color: #ffffff;
}
}
}
}
}
}
<template>
<view class="content">
<view class="orderFixed">
<view class="orderTab">
<view class="orderTab-item" :class="{active : yearType == 1}" @click="tabClick('1')">
<text>个人年费单</text>
</view>
<view class="orderTab-item" :class="{active : yearType == 2}" @click="tabClick('2')">
<text>企业年费单</text>
</view>
</view>
<view class="orderState">
<view class="orderState-item" :class="{active : yearStatus == 0}" @click="stateClick('0')">
<text>待支付</text>
</view>
<view class="orderState-item" :class="{active : yearStatus == 1}" @click="stateClick('1')">
<text>待签约</text>
</view>
<view class="orderState-item" :class="{active : yearStatus == 2}" @click="stateClick('2')">
<text>已签约</text>
</view>
<view class="orderState-item" :class="{active : yearStatus == 4}" @click="stateClick('4')">
<text>已退款</text>
</view>
</view>
</view>
<view class="list" v-if="yearArr.length > 0">
<view class="listItem" v-for="(item, index) in yearArr" :key="index">
<view class="listItem-no">
订单号{{item.order_no}}
</view>
<view class="listItem-cont">
<view class="listItem-cont-label">
<view class="listItem-cont-name">
订单状态
</view>
<view class="listItem-cont-text listItem-cont-status">
{{item.status.text}}
</view>
</view>
<view class="listItem-cont-label">
<view class="listItem-cont-name">
订单金额
</view>
<view class="listItem-cont-text listItem-cont-price">
{{item.total}}
</view>
</view>
<view class="listItem-cont-label" v-if="item.can.lawyer_status != 0">
<view class="listItem-cont-name">
律师匹配
</view>
<view class="listItem-cont-text listItem-cont-price">
<block v-if="item.can.lawyer_status == 1">待匹配律师</block>
<block v-else-if="item.can.lawyer_status == 2">已匹配律师</block>
</view>
</view>
<view class="listItem-cont-label">
<view class="listItem-cont-name">
下单时间
</view>
<view class="listItem-cont-text listItem-cont-price">
{{item.created_at}}
</view>
</view>
</view>
<view class="listItem-labor">
<view class="listItem-labor-time">
<view @click="operateMore(item.order_id)" v-if="item.can.cancel">更多</view>
</view>
<view class="listItem-labor-btn">
<view v-if="item.can.sign" @click="esignClick(item.order_id, item.order_type)" class="listItem-labor-go">
去签约
</view>
<view v-if="item.can.pay_status == 1" @click="expressSheet(item.service_order_id, item.order_type, item.can, item.price)" class="listItem-labor-go">
去支付
</view>
<view class="listItem-labor-go active" v-else-if="item.can.pay_status == 2">等待审核</view>
<view class="listItem-labor-go" v-else-if="item.can.pay_status == 3" @click="$Router.push({name: 'VoucherOpen', params: {payId: item.offline_pays.offline_pay_id, orderId: item.service_order_id, price: item.price, orderType: item.order_type, type: 'edit'}})">审核驳回</view>
<view @click="$Router.push({name: 'YearConfirm', params: {servicesId: item.service_order_id}})" class="listItem-labor-go yellow">
查看详情
</view>
</view>
</view>
</view>
</view>
<view class="pack-center pages-hint" v-else>
<image src="https://douhuo-storage.oss-cn-beijing.aliyuncs.com/images/2023/06/06/7ad417d0c215db601b8e1bead05c3a5e.png"></image>
<view>暂无订单</view>
</view>
<!-- 打款凭证弹出 -->
<view class="voucherBack" :class="{active : voucherState}"></view>
<view class="voucherPop" :class="{active : voucherState}">
<view class="tipsWhite">
<image class="voucherPop-img" src="https://cdn.douhuofalv.com/images/2023/04/17/f4a3c45fe9aa7db143a362fc5b13b31d.png" mode="widthFix"></image>
<view class="voucherPop-title">
<view class="voucherPop-name">支付提示</view>
<view class="voucherPop-text">抱歉此订单不支持线上支付请上传打款凭证</view>
<view class="voucherPop-btn">
<view class="voucherPop-go" @click="voucherState = false">
暂不支付
</view>
<view class="voucherPop-go voucherPop-up" @click="clickOpen">
上传凭证
</view>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import { yearOrder, esignUrl, yearCancel } from '@/apis/interfaces/synthesis'
export default {
data() {
return {
yearType : 1, // 1 个人 2 企业
yearStatus : 0, // 0 未付款 1 2
yearArr : [], // 年费咨询单列表
orderId : '', // 订单 ID
orderType : '', // 订单类型
orderPrice : '', // 订单金额
page : {}, // 分页信息
lodingStats : false, // 加载状态
voucherState : false, // 上传凭证弹出
}
},
created() {
this.yearType = this.$Route.query.yearType || 1
},
onShow() {
// 获取-年费咨询单列表
this.yearServe();
},
methods: {
// 年费咨询单列表
yearServe(page){
yearOrder({
type : this.yearType,
status : this.yearStatus,
page: page || 1
}).then(res => {
let esArr = res.data
let list = this.yearArr,
newData = []
if(page == 1 || page == undefined) list = []
newData = list.concat(esArr)
this.yearArr = newData
this.page = res.page
this.lodingStats = false
uni.stopPullDownRefresh()
}).catch(err => {
uni.showToast({
title: err.message,
icon : 'none'
})
})
},
// 类型选择
tabClick(type) {
this.yearType = type
// 获取-年费咨询单列表
this.yearServe();
},
// 状态选择
stateClick(state) {
this.yearStatus = state
// 获取-年费咨询单列表
this.yearServe();
},
// 选择支付方式
expressSheet(id, type, can, price) {
this.orderId = id
this.orderType = type
this.orderPrice = price
uni.showActionSheet({
itemList: ['线上支付', '线下支付'],
success: sheetRes => {
if(sheetRes.tapIndex == 0) {
if(can.online) {
this.$Router.push({name: 'FeePay', params: {id: id, orderType: type, price: price, payForm: 'service'}})
return
}
this.voucherState = true
} else if (sheetRes.tapIndex == 1) {
this.$Router.push({name: 'VoucherOpen', params: {orderId: id, orderType: type, price: price}})
}
},
fail: sheetFail => {
uni.showToast({
title: '取消支付',
icon : 'none'
})
}
})
},
// 上传凭证
clickOpen() {
this.voucherState = false
this.$Router.push({name: 'VoucherOpen', params: {orderId: this.orderId, orderType: this.orderType, price: this.orderPrice}})
},
// 去签约
esignClick(id,type) {
esignUrl({
order_id : id,
order_type: type,
// redirect_url: "https://web.douhuofalv.com/user/index",
redirect_url: "https://web.douhuotest.douhuofalv.com/user/index",
channel : 'h5',
app_scheme : ''
}).then(res => {
window.location.href= res.sign_url
}).catch(err => {
uni.showToast({
title: err.message,
icon: "none"
})
})
},
// 更多操作
operateMore(id) {
wx.showActionSheet({
itemList: ['取消订单'],
success: ()=> {
wx.showModal({
title : '提示',
content : '是否取消订单',
success : res=> {
if (res.confirm) {
yearCancel(id).then(res => {
wx.showToast({
title:'取消成功',
icon:'none'
})
// 获取-年费咨询单列表
this.yearServe();
}).catch(err => {
uni.showToast({
title: err.message,
icon : 'none'
})
})
}
}
})
},
fail: err=> {}
})
},
// 页面相关事件处理函数--监听用户下拉动作
onPullDownRefresh() {
// 获取-年费咨询单列表
this.yearServe();
},
// 上拉加载
onReachBottom(){
this.lodingStats = true
let pageNumber = this.page.current
if(this.page.has_more){
pageNumber++
// 获取-年费咨询单列表
this.yearServe(pageNumber);
}
}
}
}
</script>
<style lang="scss" scoped>
.content {
background-color: #f7f9fa;
overflow-y: scroll;
height: 100%;
position: absolute;
width: 100%;
}
.orderFixed {
position: fixed;
top: 44px;
left: 0;
width: 100%;
z-index: 9;
.orderTab {
height: 90rpx;
line-height: 90rpx;
background-color: white;
display: flex;
.orderTab-item {
flex: 2;
text-align: center;
position: relative;
color: #000000;
&::after {
position: absolute;
content: '';
left: calc(50% - 25rpx);
bottom: 0;
width: 50rpx;
height: 8rpx;
background-color: #da2b56;
display: none;
border-radius: 90rpx;
}
&.active {
font-weight: 600;
}
&.active::after {
display: block;
}
}
}
.orderState {
display: flex;
padding: 30rpx;
box-sizing: border-box;
background-color: #f7f9fa;
.orderState-item {
background-color: white;
line-height: 54rpx;
padding: 0 25rpx;
border-radius: 54rpx;
font-size: 28rpx;
margin-right: 30rpx;
&.active {
background-color: #da2b56;
color: #ffffff;
}
}
}
}
.list {
margin-top: 44px;
padding: 130rpx 30rpx 0;
box-sizing: border-box;
.listItem {
background-color: #ffffff;
border-radius: 10rpx;
margin-bottom: 30rpx;
.listItem-no {
line-height: 90rpx;
padding: 0 30rpx;
box-sizing: border-box;
border-bottom: 2rpx solid #eeeeee;
}
.listItem-cont {
padding: 15rpx 30rpx;
box-sizing: border-box;
.listItem-cont-label {
display: flex;
line-height: 60rpx;
color: #666666;
font-size: 28rpx;
.listItem-cont-name {
flex: 1;
}
.listItem-cont-text {
color: #000000;
&.listItem-cont-status {
color: #da2b56;
}
&.listItem-cont-price {
font-weight: 600;
}
}
}
}
.listItem-labor {
border-top: 2rpx solid #eeeeee;
line-height: 50rpx;
padding: 25rpx 30rpx;
box-sizing: border-box;
font-size: 26rpx;
display: flex;
.listItem-labor-time {
flex: 1;
color: #999999;
}
.listItem-labor-go {
display: inline-block;
border: 2rpx solid #da2b56;
color: #da2b56;
border-radius: 80rpx;
padding: 0 20rpx;
margin-left: 20rpx;
&.active {
border-color: #dadada;
color: #868686;
}
&.yellow {
border-color: #ec7647;
color: #ec7647;
}
}
}
}
}
// 打款凭证弹出
.voucherBack {
position: fixed;
width: 100vw;
height: 100vh;
left: 0;
top: 0;
z-index: 99;
background-color: rgba(0, 0, 0, .6);
display: none;
&.active {
display: block;
}
}
.voucherPop {
-webkit-box-orient: vertical;
-webkit-box-pack: center;
position: fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
z-index: 100;
padding: 0 10%;
box-sizing: border-box;
display: none;
&.active {
display: -webkit-box;
}
.tipsWhite {
background-color: #ffffff;
border-radius: 20rpx;
position: relative;
.voucherPop-img {
position: absolute !important;
top: -80rpx;
right: calc(50% - 100rpx);
width: 200rpx;
}
.voucherPop-title {
box-sizing: border-box;
padding: 50rpx 70rpx;
margin-top: 100rpx;
text-align: center;
.voucherPop-name {
font-weight: 600;
font-size: 38rpx;
}
.voucherPop-text {
padding: 30rpx 0 35rpx;
line-height: 44rpx;
}
.voucherPop-btn {
display: flex;
.voucherPop-go {
flex: 2;
text-align: center;
border: 2rpx solid #da2b56;
color: #da2b56;
margin: 0 15rpx;
line-height: 74rpx;
border-radius: 10rpx;
background-color: #ffffff;
&.voucherPop-up {
background-color: #da2b56;
color: #ffffff;
}
}
}
}
}
}
</style>

View File

@@ -1,432 +1,432 @@
<template>
<view class="content">
<view class="setupItem">
<view class="label" @click="albumClick">
<view class="label-name">
<image class="label-name-img" src="/static/imgs/zK_01.png" mode="aspectFill"></image>
<view class="label-name-text">修改头像</view>
</view>
<view class="label-tips">
<image class="label-name-head" :src="avatar ? avatar : 'https://douhuo-storage.oss-cn-beijing.aliyuncs.com/images/2023/06/06/5641d82e94651198a0a2236f368ff9ba.png'" mode="aspectFill"></image>
<image class="label-name-arrow" src="/static/imgs/zK_arrow.png" mode="widthFix"></image>
</view>
</view>
<view class="label" @click="$Router.push({name: 'Modify'})">
<view class="label-name">
<image class="label-name-img" src="/static/imgs/zK_02.png" mode="aspectFill"></image>
<view class="label-name-text">修改密码</view>
</view>
<view class="label-tips">
<image class="label-name-arrow" src="/static/imgs/zK_arrow.png" mode="widthFix"></image>
</view>
</view>
<view class="label" @click="$Router.push({name: 'Authsuccess'})" v-if="certification">
<view class="label-name">
<image class="label-name-img" src="/static/imgs/zK_03.png" mode="aspectFill"></image>
<view class="label-name-text">实名认证</view>
</view>
<view class="label-tips">
<image class="label-name-arrow" src="/static/imgs/zK_arrow.png" mode="widthFix"></image>
</view>
</view>
<view class="label" @click="$Router.push({name: 'sheetIdcard'})" v-else>
<view class="label-name">
<image class="label-name-img" src="/static/imgs/zK_03.png" mode="aspectFill"></image>
<view class="label-name-text">实名认证</view>
</view>
<view class="label-tips">
<image class="label-name-arrow" src="/static/imgs/zK_arrow.png" mode="widthFix"></image>
</view>
</view>
<!-- <view class="label" @click="$Router.push({name: 'Invite'})">
<view class="label-name">
<image class="label-name-img" src="/static/imgs/zK_03.png" mode="aspectFill"></image>
<view class="label-name-text">邀请码</view>
</view>
<view class="label-tips">
<image class="label-name-arrow" src="/static/imgs/zK_arrow.png" mode="widthFix"></image>
</view>
</view> -->
</view>
<view class="setupItem">
<view class="label" @click="$Router.push({name: 'Referee'})">
<view class="label-name">
<image class="label-name-img" src="/static/imgs/zK_04.png" mode="aspectFill"></image>
<view class="label-name-text">我的伙伴</view>
</view>
<view class="label-tips">
<view class="label-name-number" v-if="childrenCount">{{childrenCount}}</view>
<image class="label-name-arrow" src="/static/imgs/zK_arrow.png" mode="widthFix"></image>
</view>
</view>
<view class="label" @click="$Router.push({name: 'SignLog'})">
<view class="label-name">
<image class="label-name-img" src="/static/imgs/zK_08.png" mode="aspectFill"></image>
<view class="label-name-text">合同查看</view>
</view>
<view class="label-tips">
<image class="label-name-arrow" src="/static/imgs/zK_arrow.png" mode="widthFix"></image>
</view>
</view>
<view class="label" @click="$Router.push({name: 'Parent'})">
<view class="label-name">
<image class="label-name-img" src="/static/imgs/zK_05.png" mode="aspectFill"></image>
<view class="label-name-text">业务联系人</view>
</view>
<view class="label-tips">
<image class="label-name-arrow" src="/static/imgs/zK_arrow.png" mode="widthFix"></image>
</view>
</view>
<view class="label" @click="delSubscribe" v-if="hasSubscribe">
<view class="label-name">
<image class="label-name-img" src="/static/imgs/zK_07.png" mode="aspectFill"></image>
<view class="label-name-text">{{hasTitle}}</view>
</view>
<view class="label-tips">
<image class="label-name-arrow" src="/static/imgs/zK_arrow.png" mode="widthFix"></image>
</view>
</view>
<view class="label" @click="followSubscribe" v-else>
<view class="label-name">
<image class="label-name-img" src="/static/imgs/zK_07.png" mode="aspectFill"></image>
<view class="label-name-text">{{hasTitle}}</view>
</view>
<view class="label-tips">
<image class="label-name-arrow" src="/static/imgs/zK_arrow.png" mode="widthFix"></image>
</view>
</view>
</view>
<view class="setupItem">
<view class="label" @click="$Router.push({name: 'AppDown'})">
<view class="label-name">
<image class="label-name-img" src="/static/imgs/zK_06.png" mode="aspectFill"></image>
<view class="label-name-text">APP下载</view>
</view>
<view class="label-tips">
<image class="label-name-arrow" src="/static/imgs/zK_arrow.png" mode="widthFix"></image>
</view>
</view>
</view>
<view class="setupItem">
<view class="signOut" @click="outLogin">
退出登录
</view>
</view>
<!-- 关注公众号弹出 -->
<view class="tipsBack" v-if="generalShow"></view>
<view class="tipsCont" v-if="generalShow">
<view class="tipsWhite">
<image class="tipsCont-img" src="https://douhuo-storage.oss-cn-beijing.aliyuncs.com/images/2023/06/06/6b1485847b45273618f8d922ceee889c.png" mode="widthFix"></image>
<view class="tipsWhite-top">
<view class="tipsWhite-name">
关注抖火法律咨询公众号
</view>
<view class="tipsWhite-text">
关注后可立即下单
</view>
</view>
<view class="tipsWhite-btn">
<view class="tipsWhite-btn-go" @click="generalShow = false">
稍后关注
</view>
<view class="tipsWhite-btn-go" @click="judgeGeneral">
马上关注
</view>
</view>
</view>
</view>
<template>
<view class="content">
<view class="setupItem">
<view class="label" @click="albumClick">
<view class="label-name">
<image class="label-name-img" src="/static/imgs/zK_01.png" mode="aspectFill"></image>
<view class="label-name-text">修改头像</view>
</view>
<view class="label-tips">
<image class="label-name-head" :src="avatar ? avatar : 'https://douhuo-storage.oss-cn-beijing.aliyuncs.com/images/2023/06/06/5641d82e94651198a0a2236f368ff9ba.png'" mode="aspectFill"></image>
<image class="label-name-arrow" src="/static/imgs/zK_arrow.png" mode="widthFix"></image>
</view>
</view>
<view class="label" @click="$Router.push({name: 'Modify'})">
<view class="label-name">
<image class="label-name-img" src="/static/imgs/zK_02.png" mode="aspectFill"></image>
<view class="label-name-text">修改密码</view>
</view>
<view class="label-tips">
<image class="label-name-arrow" src="/static/imgs/zK_arrow.png" mode="widthFix"></image>
</view>
</view>
<view class="label" @click="$Router.push({name: 'Authsuccess'})" v-if="certification">
<view class="label-name">
<image class="label-name-img" src="/static/imgs/zK_03.png" mode="aspectFill"></image>
<view class="label-name-text">实名认证</view>
</view>
<view class="label-tips">
<image class="label-name-arrow" src="/static/imgs/zK_arrow.png" mode="widthFix"></image>
</view>
</view>
<view class="label" @click="$Router.push({name: 'sheetIdcard'})" v-else>
<view class="label-name">
<image class="label-name-img" src="/static/imgs/zK_03.png" mode="aspectFill"></image>
<view class="label-name-text">实名认证</view>
</view>
<view class="label-tips">
<image class="label-name-arrow" src="/static/imgs/zK_arrow.png" mode="widthFix"></image>
</view>
</view>
<!-- <view class="label" @click="$Router.push({name: 'Invite'})">
<view class="label-name">
<image class="label-name-img" src="/static/imgs/zK_03.png" mode="aspectFill"></image>
<view class="label-name-text">邀请码</view>
</view>
<view class="label-tips">
<image class="label-name-arrow" src="/static/imgs/zK_arrow.png" mode="widthFix"></image>
</view>
</view> -->
</view>
<view class="setupItem">
<view class="label" @click="$Router.push({name: 'Referee'})">
<view class="label-name">
<image class="label-name-img" src="/static/imgs/zK_04.png" mode="aspectFill"></image>
<view class="label-name-text">我的伙伴</view>
</view>
<view class="label-tips">
<view class="label-name-number" v-if="childrenCount">{{childrenCount}}</view>
<image class="label-name-arrow" src="/static/imgs/zK_arrow.png" mode="widthFix"></image>
</view>
</view>
<view class="label" @click="$Router.push({name: 'SignLog'})">
<view class="label-name">
<image class="label-name-img" src="/static/imgs/zK_08.png" mode="aspectFill"></image>
<view class="label-name-text">合同查看</view>
</view>
<view class="label-tips">
<image class="label-name-arrow" src="/static/imgs/zK_arrow.png" mode="widthFix"></image>
</view>
</view>
<view class="label" @click="$Router.push({name: 'Parent'})">
<view class="label-name">
<image class="label-name-img" src="/static/imgs/zK_05.png" mode="aspectFill"></image>
<view class="label-name-text">业务联系人</view>
</view>
<view class="label-tips">
<image class="label-name-arrow" src="/static/imgs/zK_arrow.png" mode="widthFix"></image>
</view>
</view>
<view class="label" @click="delSubscribe" v-if="hasSubscribe">
<view class="label-name">
<image class="label-name-img" src="/static/imgs/zK_07.png" mode="aspectFill"></image>
<view class="label-name-text">{{hasTitle}}</view>
</view>
<view class="label-tips">
<image class="label-name-arrow" src="/static/imgs/zK_arrow.png" mode="widthFix"></image>
</view>
</view>
<view class="label" @click="followSubscribe" v-else>
<view class="label-name">
<image class="label-name-img" src="/static/imgs/zK_07.png" mode="aspectFill"></image>
<view class="label-name-text">{{hasTitle}}</view>
</view>
<view class="label-tips">
<image class="label-name-arrow" src="/static/imgs/zK_arrow.png" mode="widthFix"></image>
</view>
</view>
</view>
<view class="setupItem">
<view class="label" @click="$Router.push({name: 'AppDown'})">
<view class="label-name">
<image class="label-name-img" src="/static/imgs/zK_06.png" mode="aspectFill"></image>
<view class="label-name-text">APP下载</view>
</view>
<view class="label-tips">
<image class="label-name-arrow" src="/static/imgs/zK_arrow.png" mode="widthFix"></image>
</view>
</view>
</view>
<view class="setupItem">
<view class="signOut" @click="outLogin">
退出登录
</view>
</view>
<!-- 关注公众号弹出 -->
<view class="tipsBack" v-if="generalShow"></view>
<view class="tipsCont" v-if="generalShow">
<view class="tipsWhite">
<image class="tipsCont-img" src="https://douhuo-storage.oss-cn-beijing.aliyuncs.com/images/2023/06/06/6b1485847b45273618f8d922ceee889c.png" mode="widthFix"></image>
<view class="tipsWhite-top">
<view class="tipsWhite-name">
关注抖火法律咨询公众号
</view>
<view class="tipsWhite-text">
关注后可立即下单
</view>
</view>
<view class="tipsWhite-btn">
<view class="tipsWhite-btn-go" @click="generalShow = false">
稍后关注
</view>
<view class="tipsWhite-btn-go" @click="judgeGeneral">
马上关注
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import { userIndex, setting, userSubscribe, judgeReal } from '@/apis/interfaces/user'
import { authFollow } from '@/apis/interfaces/index'
import { uploads } from '@/apis/interfaces/uploading'
export default {
data() {
return {
avatar : '', //用户头像
childrenCount: '', // 下级人数
certification: '', // 是否认证
hasSubscribe : '', // 是否关注公众号
hasTitle : '', // 是否关注公众号-标题
generalShow : false ,// 公众号
};
},
onShow() {
// 获取用户信息
this.userInfo();
// 判断是否认证
this.sheetClick();
},
methods:{
// 用户信息
userInfo() {
userIndex().then(res => {
this.avatar = res.avatar
this.childrenCount = res.children_count.one
this.certification = res.certification
}).catch(err => {
uni.showToast({
title: err.message,
icon: "none"
})
})
},
// 判断是否认证
sheetClick(){
// 获取微信授权信息
judgeReal().then(res => {
if(res.has_subscribe) {
this.hasTitle = '解除公众号'
} else {
this.hasTitle = '关注公众号'
}
this.hasSubscribe = res.has_subscribe
}).catch( err => {
uni.showToast({
title: err.message,
icon: "none"
})
})
},
// 相册选择图片
albumClick() {
var _this = this
uni.chooseImage({
count: 1, //默认9
sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
sourceType: ['album','camera'], // way是点击时传入的打开方式相机或相册
success: path=> {
uploads([{
uri : path.tempFilePaths[0]
}]).then(res => {
this.avatar = res.url[0]
// 上传头像
this.settingInfo('avatar', res.path[0])
}).catch(err => {
uni.showToast({
title: err.message,
icon : 'none'
})
})
},
});
},
// 上传用户信息
settingInfo(key, value) {
setting(key, {
value: value
}).then(res => {
}).catch(err => {
uni.showToast({
title: err.message,
icon : 'none'
})
})
},
// 退出登录
outLogin(){
this.$store.commit('setToken', '')
this.$Router.replaceAll({name: 'Index'})
},
// 删除用户微信数据和关注
delSubscribe() {
uni.showModal({
title: '温馨提示',
content: '是否解除公众号?',
confirmColor: '#da2b56',
success: res=> {
if (res.confirm) {
userSubscribe().then(res => {
// 判断是否认证
this.sheetClick();
}).catch(err => {
uni.showToast({
title: err.message,
icon: "none"
})
})
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
},
// 绑定用户微信数据和关注
followSubscribe(){
// 弹出公众号
this.generalShow = true
},
// 状态
judgeGeneral(){
// 获取微信授权信息
authFollow({
url: 'https://web.douhuofalv.com/webview/webCode'
// url: 'https://web.douhuotest.douhuofalv.com/webview/webCode'
}).then(res => {
window.location.href = res
}).catch(err => {
uni.showToast({
title: err.message,
icon: "none"
})
})
// 关闭公众号
this.generalShow = false
}
}
<script>
import { userIndex, setting, userSubscribe, judgeReal } from '@/apis/interfaces/user'
import { authFollow } from '@/apis/interfaces/index'
import { uploads } from '@/apis/interfaces/uploading'
export default {
data() {
return {
avatar : '', //用户头像
childrenCount: '', // 下级人数
certification: '', // 是否认证
hasSubscribe : '', // 是否关注公众号
hasTitle : '', // 是否关注公众号-标题
generalShow : false ,// 公众号
};
},
onShow() {
// 获取用户信息
this.userInfo();
// 判断是否认证
this.sheetClick();
},
methods:{
// 用户信息
userInfo() {
userIndex().then(res => {
this.avatar = res.avatar
this.childrenCount = res.children_count.one
this.certification = res.certification
}).catch(err => {
uni.showToast({
title: err.message,
icon: "none"
})
})
},
// 判断是否认证
sheetClick(){
// 获取微信授权信息
judgeReal().then(res => {
if(res.has_subscribe) {
this.hasTitle = '解除公众号'
} else {
this.hasTitle = '关注公众号'
}
this.hasSubscribe = res.has_subscribe
}).catch( err => {
uni.showToast({
title: err.message,
icon: "none"
})
})
},
// 相册选择图片
albumClick() {
var _this = this
uni.chooseImage({
count: 1, //默认9
sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
sourceType: ['album','camera'], // way是点击时传入的打开方式相机或相册
success: path=> {
uploads([{
uri : path.tempFilePaths[0]
}]).then(res => {
this.avatar = res.url[0]
// 上传头像
this.settingInfo('avatar', res.path[0])
}).catch(err => {
uni.showToast({
title: err.message,
icon : 'none'
})
})
},
});
},
// 上传用户信息
settingInfo(key, value) {
setting(key, {
value: value
}).then(res => {
}).catch(err => {
uni.showToast({
title: err.message,
icon : 'none'
})
})
},
// 退出登录
outLogin(){
this.$store.commit('setToken', '')
this.$Router.replaceAll({name: 'Index'})
},
// 删除用户微信数据和关注
delSubscribe() {
uni.showModal({
title: '温馨提示',
content: '是否解除公众号?',
confirmColor: '#da2b56',
success: res=> {
if (res.confirm) {
userSubscribe().then(res => {
// 判断是否认证
this.sheetClick();
}).catch(err => {
uni.showToast({
title: err.message,
icon: "none"
})
})
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
},
// 绑定用户微信数据和关注
followSubscribe(){
// 弹出公众号
this.generalShow = true
},
// 状态
judgeGeneral(){
// 获取微信授权信息
authFollow({
// url: 'https://web.douhuofalv.com/webview/webCode'
url: 'https://web.douhuotest.douhuofalv.com/webview/webCode'
}).then(res => {
window.location.href = res
}).catch(err => {
uni.showToast({
title: err.message,
icon: "none"
})
})
// 关闭公众号
this.generalShow = false
}
}
}
</script>
</script>
<style lang="scss" scoped>
.content {
background-color: #f7f9fa;
height: 100vh;
overflow-y: scroll;
}
.setupItem {
margin-bottom: $margin;
background-color: #ffffff;
.label {
line-height: 60rpx;
display: flex;
padding: $padding;
box-sizing: border-box;
border-bottom: 2rpx solid #f7f9fa;
&:last-child {
border: none;
}
.label-name {
display: flex;
flex: 1;
.label-name-img {
width: 34rpx;
height: 34rpx;
margin-top: 12rpx;
margin-right: 20rpx;
}
}
.label-tips {
display: flex;
.label-name-head {
width: 54rpx;
height: 54rpx;
border-radius: 50%;
margin-right: 20rpx;
}
.label-name-arrow {
width: 24rpx;
height: 24rpx;
margin-top: 18rpx;
}
.label-name-number {
display: inline-block;
background-color: $mian-color;
color: #ffffff;
border-radius: $radius * 3;
height: 36rpx;
line-height: 36rpx;
padding: 0 $padding - 10;
font-size: $title-size-sm;
margin: 12rpx 20rpx 0 0;
}
}
}
.signOut {
text-align: center;
line-height: 60rpx;
padding: $padding - 5 0;
color: $mian-color;
}
}
// 关注
.tipsBack {
position: fixed;
width: 100vw;
height: 100vh;
left: 0;
top: 0;
z-index: 9;
background-color: rgba(0, 0, 0, .8);
}
.tipsCont {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-pack: center;
position: fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
z-index: 10;
padding: 0 10%;
box-sizing: border-box;
}
.tipsWhite {
background-color: #ffffff;
border-radius: 20rpx;
overflow: hidden;
}
.tipsWhite-top {
padding: $padding;
box-sizing: border-box;
text-align: center;
}
.tipsCont-img {
width: 100%;
}
.tipsWhite-name {
text-align: center;
color: #111111;
font-size: 34rpx;
font-weight: 600;
margin-bottom: 15rpx;
}
.tipsWhite-text {
font-size: 30rpx;
color: #666666;
line-height: 48rpx;
}
.tipsWhite-btn {
display: flex;
padding: $padding 10rpx;
box-sizing: border-box;
.tipsWhite-btn-go {
flex: 2;
color: #fff;
margin: 0 15rpx;
height: 80rpx;
line-height: 80rpx;
text-align: center;
border: 2rpx solid #F6F6F6;
background-color: #007df5;
border-radius: $radius-m;
&:first-child {
color: #333333;
background-color: #ffffff;
border: 2rpx solid #cccccc;
}
}
<style lang="scss" scoped>
.content {
background-color: #f7f9fa;
height: 100vh;
overflow-y: scroll;
}
.setupItem {
margin-bottom: $margin;
background-color: #ffffff;
.label {
line-height: 60rpx;
display: flex;
padding: $padding;
box-sizing: border-box;
border-bottom: 2rpx solid #f7f9fa;
&:last-child {
border: none;
}
.label-name {
display: flex;
flex: 1;
.label-name-img {
width: 34rpx;
height: 34rpx;
margin-top: 12rpx;
margin-right: 20rpx;
}
}
.label-tips {
display: flex;
.label-name-head {
width: 54rpx;
height: 54rpx;
border-radius: 50%;
margin-right: 20rpx;
}
.label-name-arrow {
width: 24rpx;
height: 24rpx;
margin-top: 18rpx;
}
.label-name-number {
display: inline-block;
background-color: $mian-color;
color: #ffffff;
border-radius: $radius * 3;
height: 36rpx;
line-height: 36rpx;
padding: 0 $padding - 10;
font-size: $title-size-sm;
margin: 12rpx 20rpx 0 0;
}
}
}
.signOut {
text-align: center;
line-height: 60rpx;
padding: $padding - 5 0;
color: $mian-color;
}
}
// 关注
.tipsBack {
position: fixed;
width: 100vw;
height: 100vh;
left: 0;
top: 0;
z-index: 9;
background-color: rgba(0, 0, 0, .8);
}
.tipsCont {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-pack: center;
position: fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
z-index: 10;
padding: 0 10%;
box-sizing: border-box;
}
.tipsWhite {
background-color: #ffffff;
border-radius: 20rpx;
overflow: hidden;
}
.tipsWhite-top {
padding: $padding;
box-sizing: border-box;
text-align: center;
}
.tipsCont-img {
width: 100%;
}
.tipsWhite-name {
text-align: center;
color: #111111;
font-size: 34rpx;
font-weight: 600;
margin-bottom: 15rpx;
}
.tipsWhite-text {
font-size: 30rpx;
color: #666666;
line-height: 48rpx;
}
.tipsWhite-btn {
display: flex;
padding: $padding 10rpx;
box-sizing: border-box;
.tipsWhite-btn-go {
flex: 2;
color: #fff;
margin: 0 15rpx;
height: 80rpx;
line-height: 80rpx;
text-align: center;
border: 2rpx solid #F6F6F6;
background-color: #007df5;
border-radius: $radius-m;
&:first-child {
color: #333333;
background-color: #ffffff;
border: 2rpx solid #cccccc;
}
}
}
</style>