This commit is contained in:
2023-05-23 16:47:13 +08:00
parent b84661015a
commit aa1312f5da
17 changed files with 1280 additions and 139 deletions

View File

@@ -1,7 +1,9 @@
<template> <template>
<view> <view>
<block v-if="inputType == 'price'"> <block v-if="inputType == 'price'">
<input type="digit" :placeholder="'请输入' + inputTitle" placeholder-class="placeholderClass" :value="blurValue" @blur="blurInput"/> <input v-if="blurPrice" type="digit" :placeholder="'最小金额为:' + blurPrice" placeholder-class="placeholderClass" :value="blurValue" @blur="minInput($event, blurPrice)"/>
<input v-else type="digit" :placeholder="'请输入' + inputTitle" placeholder-class="placeholderClass" :value="blurValue" @blur="blurInput"/>
<text></text> <text></text>
</block> </block>
<block v-else-if="inputType == 'number'"> <block v-else-if="inputType == 'number'">
@@ -48,12 +50,29 @@
inputTitle: { inputTitle: {
type : String, type : String,
default : '' default : ''
},
blurPrice: {
type : String,
default : ''
} }
}, },
onLoad() {}, onLoad() {},
methods: { methods: {
blurInput(e){ blurInput(e){
this.$emit('onValue', e.detail.value) this.$emit('onValue', e.detail.value)
},
minInput(e, blurPrice){
if(parseInt(e.detail.value) < parseInt(blurPrice)) {
uni.showToast({
title: '最小值不可以小于' + blurPrice,
duration: 2000,
icon: 'none'
});
this.$emit('onValue', '')
return
}
this.$emit('onValue', e.detail.value)
} }
} }
} }

View File

@@ -1,17 +1,17 @@
<template> <template>
<view class="content"> <view class="content">
<view class="orderTab"> <view class="orderTab">
<view class="orderTab-item" :class="{active : entrustId == item.entrust_id}" @click="tabClick(item.entrust_id, item.title)" v-for="(item, index) in entrustArr" :key="index"> <view class="orderTab-item" :class="{active : entrustId == item.entrust_id}" @click="tabClick(item.entrust_id, item.type.value)" v-for="(item, index) in entrustArr" :key="index">
<text>{{item.title}}</text> <text>{{item.title}}</text>
</view> </view>
</view> </view>
<view class="module"> <view class="module">
<view class="entrustTop"> <view class="entrustTop">
<image class="entrustTop-img" :src="entrustData.cover" mode="widthFix"></image> <image class="entrustTop-img" :src="entrustData.cover" mode="widthFix"></image>
<view class="entrustTop-btn" @click="seekClick">立即咨询 ></view> <view class="entrustTop-btn" @click="seekClick">立即购买 ></view>
</view> </view>
<view class="entrustCont"> <view class="entrustCont">
<block v-if="title == '民事诉讼'"> <block v-if="type == 0">
<view class="entrustCivil"> <view class="entrustCivil">
<view class="entrustCivil-top"> <view class="entrustCivil-top">
<view class="entrustCivil-top-name">民事诉讼阶段</view> <view class="entrustCivil-top-name">民事诉讼阶段</view>
@@ -29,7 +29,7 @@
</view> </view>
</view> </view>
</block> </block>
<block v-else-if="title == '刑事辩护'"> <block v-else-if="type == 1">
<view class="entrustBrief"> <view class="entrustBrief">
<view class="entrustBrief-title"> <view class="entrustBrief-title">
<image class="entrustBrief-title-img" src="https://cdn.douhuofalv.com/images/2023/04/18/4d57907913a7d9ca5f3c7417421c894d.png" mode="aspectFill"></image> <image class="entrustBrief-title-img" src="https://cdn.douhuofalv.com/images/2023/04/18/4d57907913a7d9ca5f3c7417421c894d.png" mode="aspectFill"></image>
@@ -46,7 +46,7 @@
</view> </view>
<image class="entrustBrief-text" src="https://cdn.douhuofalv.com/images/2023/04/18/e0dbc0ce562b479b9ff3ad3820971612.png" mode="widthFix"></image> <image class="entrustBrief-text" src="https://cdn.douhuofalv.com/images/2023/04/18/e0dbc0ce562b479b9ff3ad3820971612.png" mode="widthFix"></image>
</block> </block>
<block v-else-if="title == '行政诉讼'"> <block v-else-if="type == 2">
<view class="entrustPolitics"> <view class="entrustPolitics">
<view class="entrustPolitics-item"> <view class="entrustPolitics-item">
<view class="entrustPolitics-back"> <view class="entrustPolitics-back">
@@ -89,19 +89,46 @@
</view> </view>
<image class="entrustBottom" src="https://cdn.douhuofalv.com/images/2023/04/18/f08e45875d7dba6c3116690978a8a999.png" mode="widthFix"></image> <image class="entrustBottom" src="https://cdn.douhuofalv.com/images/2023/04/18/f08e45875d7dba6c3116690978a8a999.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="@/static/imgs/general_back.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> </view>
</template> </template>
<script> <script>
import { judgeReal } from '@/apis/interfaces/user'
import { authFollow } from '@/apis/interfaces/index'
import { entrustList, entrustInfo, entrustSon } from '@/apis/interfaces/synthesis' import { entrustList, entrustInfo, entrustSon } from '@/apis/interfaces/synthesis'
export default { export default {
data() { data() {
return { return {
title : '', type : '',
entrustId : '', entrustId : '',
sonArr : [], // 民事子分类 sonArr : [], // 民事子分类
entrustData: '', // 案件委托详情 entrustData: '', // 案件委托详情
entrustArr : [], // 案件委托列表 entrustArr : [], // 案件委托列表
generalShow : false // 公众号
} }
}, },
@@ -117,12 +144,12 @@
this.entrustArr = res this.entrustArr = res
if(this.entrustId == '') { if(this.entrustId == '') {
this.entrustId = res[0].entrust_id this.entrustId = res[0].entrust_id
this.title = res[0].title this.type = res[0].type.value
} }
// 获取-案件委托-详情 // 获取-案件委托-详情
this.yearInfo(); this.yearInfo();
if(this.title == '民事诉讼') { if(this.type == 0) {
// 获取-案件委托子分类 // 获取-案件委托子分类
this.yearSon(); this.yearSon();
} }
@@ -159,10 +186,10 @@
}, },
// 顶级 // 顶级
tabClick(id, title) { tabClick(id, type) {
this.entrustId = id this.entrustId = id
this.title = title this.type = type
if(title == '民事诉讼') { if(type == 0) {
// 获取-案件委托子分类 // 获取-案件委托子分类
this.yearSon(); this.yearSon();
} }
@@ -171,14 +198,53 @@
this.yearInfo(); this.yearInfo();
}, },
// 立即咨询 // 立即咨询
seekClick() { seekClick() {
if(this.title == '民事诉讼') { // 判断是否认证
judgeReal().then(res => {
if(res.has_sign) {
if(!res.has_subscribe) {
// 弹出公众号
this.generalShow = true
} else {
if(this.type == 0) {
this.$Router.push({name: 'EntrustCivil', params: {entrustId: this.entrustId}}) this.$Router.push({name: 'EntrustCivil', params: {entrustId: this.entrustId}})
return return
} }
this.$Router.push({name: 'EntrustWrite', params: {entrustId: this.entrustId}}) this.$Router.push({name: 'EntrustWrite', params: {entrustId: this.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> </script>
@@ -462,4 +528,80 @@
.entrustBottom { .entrustBottom {
width: 100%; width: 100%;
} }
// 关注
.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> </style>

View File

@@ -247,6 +247,9 @@
childrenChange(e){ childrenChange(e){
this.childrenValue = e.detail.value this.childrenValue = e.detail.value
this.entrustId = this.childrenArr[e.detail.value].value this.entrustId = this.childrenArr[e.detail.value].value
// 获取-案件委托子分类
this.yearSon();
}, },
// 综法咨询-详情 // 综法咨询-详情

View File

@@ -46,7 +46,7 @@
订单金额 订单金额
</view> </view>
<view class="listItem-cont-text listItem-cont-price"> <view class="listItem-cont-text listItem-cont-price">
{{item.price}} {{item.total}}
</view> </view>
</view> </view>
<view class="listItem-cont-label" v-if="item.need_pay_diff_prices != 0"> <view class="listItem-cont-label" v-if="item.need_pay_diff_prices != 0">
@@ -73,7 +73,7 @@
<view v-else-if="item.can.pay_status == 3" @click="$Router.push({name: 'VoucherOpen', params: {payId: item.offline_pays.offline_pay_id, orderId: item.entrust_order_id, orderType: item.order_type, type: 'edit'}})" class="listItem-labor-go"> <view v-else-if="item.can.pay_status == 3" @click="$Router.push({name: 'VoucherOpen', params: {payId: item.offline_pays.offline_pay_id, orderId: item.entrust_order_id, orderType: item.order_type, type: 'edit'}})" class="listItem-labor-go">
审核驳回 审核驳回
</view> </view>
<view v-if="item.can.sign" @click="returnGo(item.entrust_order_id, item.order_type, item.can, item.price)" class="listItem-labor-go yellow"> <view v-if="item.can.sign" @click="esignClick(item.entrust_order_id, item.order_type)" class="listItem-labor-go yellow">
去签约 去签约
</view> </view>
<view v-if="item.can.diff_price" @click="returnGo(item.entrust_order_id, item.order_type, item.can, item.price)" class="listItem-labor-go"> <view v-if="item.can.diff_price" @click="returnGo(item.entrust_order_id, item.order_type, item.can, item.price)" class="listItem-labor-go">
@@ -130,7 +130,7 @@
</template> </template>
<script> <script>
import { entrustOrder, entrustPay } from '@/apis/interfaces/synthesis' import { entrustOrder, entrustPay, esignUrl } from '@/apis/interfaces/synthesis'
export default { export default {
data() { data() {
return { return {
@@ -139,6 +139,7 @@
yearArr : [], // 委托单列表 yearArr : [], // 委托单列表
orderType : '', // 委托单列表-类型 orderType : '', // 委托单列表-类型
orderId : '', // 委托单列表-id orderId : '', // 委托单列表-id
orderPrice : '', // 订单金额
orderCan : '', // 委托单列表-操作 orderCan : '', // 委托单列表-操作
price : '', // 缴费金额 price : '', // 缴费金额
payStatus : false, // 缴费弹出 payStatus : false, // 缴费弹出
@@ -198,6 +199,25 @@
this.yearServe(); this.yearServe();
}, },
// 去签约
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"
})
})
},
// 手动支付弹出 // 手动支付弹出
returnGo(id, type, can) { returnGo(id, type, can) {
this.payStatus = !this.payStatus this.payStatus = !this.payStatus
@@ -231,6 +251,7 @@
expressSheet(id, type, can, price) { expressSheet(id, type, can, price) {
this.orderId = id this.orderId = id
this.orderType = type this.orderType = type
this.orderPrice = price
uni.showActionSheet({ uni.showActionSheet({
itemList: ['线上支付', '线下支付'], itemList: ['线上支付', '线下支付'],
success: sheetRes => { success: sheetRes => {
@@ -241,7 +262,7 @@
} }
this.voucherState = true this.voucherState = true
} else if (sheetRes.tapIndex == 1) { } else if (sheetRes.tapIndex == 1) {
this.$Router.push({name: 'VoucherOpen', params: {orderId: id, orderType: type}}) this.$Router.push({name: 'VoucherOpen', params: {orderId: id, orderType: type, price: price}})
} }
this.price = '' this.price = ''
@@ -253,7 +274,7 @@
// 上传凭证 // 上传凭证
clickOpen() { clickOpen() {
this.voucherState = false this.voucherState = false
this.$Router.push({name: 'VoucherOpen', params: {orderId: this.orderId, orderType: this.orderType}}) this.$Router.push({name: 'VoucherOpen', params: {orderId: this.orderId, orderType: this.orderType, price: this.orderPrice}})
}, },
// 后台-补差价 // 后台-补差价

View File

@@ -137,6 +137,7 @@
disabled : false, disabled : false,
orderId : '', // 订单 ID orderId : '', // 订单 ID
orderType : '', // 订单类型 orderType : '', // 订单类型
orderPrice : '', // 订单金额
voucherState : false, // 上传凭证弹出 voucherState : false, // 上传凭证弹出
} }
}, },
@@ -260,6 +261,7 @@
expressSheet(id, type, can, price) { expressSheet(id, type, can, price) {
this.orderId = id this.orderId = id
this.orderType = type this.orderType = type
this.orderPrice = price
uni.showActionSheet({ uni.showActionSheet({
itemList: ['线上支付', '线下支付'], itemList: ['线上支付', '线下支付'],
success: sheetRes => { success: sheetRes => {
@@ -270,7 +272,7 @@
} }
this.voucherState = true this.voucherState = true
} else if (sheetRes.tapIndex == 1) { } else if (sheetRes.tapIndex == 1) {
this.$Router.replace({name: 'VoucherOpen', params: {orderId: id, orderType: type}}) this.$Router.replace({name: 'VoucherOpen', params: {orderId: id, orderType: type, price: price}})
} }
}, },
fail: sheetFail => { fail: sheetFail => {
@@ -300,7 +302,7 @@
// 上传凭证 // 上传凭证
clickOpen() { clickOpen() {
this.voucherState = false this.voucherState = false
this.$Router.replace({name: 'VoucherOpen', params: {orderId: this.orderId, orderType: this.orderType}}) this.$Router.replace({name: 'VoucherOpen', params: {orderId: this.orderId, orderType: this.orderType, price: this.orderPrice}})
}, },
} }
} }

View File

@@ -8,25 +8,52 @@
<view class="list-title-trim"></view> <view class="list-title-trim"></view>
</view> </view>
<view class="list-item"> <view class="list-item">
<view class="list-label" v-for="(item, index) in entrustArr" :key="index" @click="$Router.push({name: 'ExpandWrite', params: {entrustId: item.expand_id}})"> <view class="list-label" v-for="(item, index) in entrustArr" :key="index" @click="seekClick(item.expand_id)">
<view class="list-label-name"> <view class="list-label-name">
{{item.title}} {{item.title}}
</view> </view>
<view class="list-label-price"><rich-text :nodes="item.content"></rich-text></view> <view class="list-label-price"><rich-text :nodes="item.content"></rich-text></view>
<view class="list-label-go">咨询</view> <view class="list-label-go">购买</view>
</view> </view>
</view> </view>
</view> </view>
<image class="expandBttom" src="https://cdn.douhuofalv.com/images/2023/04/17/fc4cad00a630e3d69b3f486e9d2937e9.png" mode="widthFix"></image> <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="@/static/imgs/general_back.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> </view>
</template> </template>
<script> <script>
import { judgeReal } from '@/apis/interfaces/user'
import { authFollow } from '@/apis/interfaces/index'
import { expandsList } from '@/apis/interfaces/synthesis' import { expandsList } from '@/apis/interfaces/synthesis'
export default { export default {
data() { data() {
return { return {
entrustArr : [], //案件委托列表 entrustArr : [], //案件委托列表
generalShow : false // 公众号
} }
}, },
@@ -39,7 +66,6 @@
// 案件委托-列表 // 案件委托-列表
yearServe(){ yearServe(){
expandsList().then(res => { expandsList().then(res => {
console.log(res)
this.entrustArr = res this.entrustArr = res
}).catch(err => { }).catch(err => {
uni.showToast({ uni.showToast({
@@ -47,6 +73,55 @@
icon : 'none' icon : 'none'
}) })
}) })
},
// 立即咨询
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
} }
} }
} }
@@ -167,4 +242,81 @@
} }
} }
} }
// 关注
.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> </style>

View File

@@ -39,7 +39,7 @@
订单金额 订单金额
</view> </view>
<view class="listItem-cont-text listItem-cont-price"> <view class="listItem-cont-text listItem-cont-price">
{{item.price}} {{item.total}}
</view> </view>
</view> </view>
<view class="listItem-cont-label" v-if="item.need_pay_diff_prices != 0"> <view class="listItem-cont-label" v-if="item.need_pay_diff_prices != 0">
@@ -66,6 +66,9 @@
<view v-else-if="item.can.pay_status == 3" @click="$Router.push({name: 'VoucherOpen', params: {payId: item.offline_pays.offline_pay_id, orderId: item.expand_order_id, orderType: item.order_type, type: 'edit'}})" class="listItem-labor-go"> <view v-else-if="item.can.pay_status == 3" @click="$Router.push({name: 'VoucherOpen', params: {payId: item.offline_pays.offline_pay_id, orderId: item.expand_order_id, orderType: item.order_type, type: 'edit'}})" class="listItem-labor-go">
审核驳回 审核驳回
</view> </view>
<view v-if="item.can.sign" @click="esignClick(item.expand_order_id, item.order_type)" class="listItem-labor-go yellow">
去签约
</view>
<view v-if="item.can.diff_price" @click="returnGo(item.expand_order_id, item.order_type, item.can, item.price)" class="listItem-labor-go"> <view v-if="item.can.diff_price" @click="returnGo(item.expand_order_id, item.order_type, item.can, item.price)" class="listItem-labor-go">
去缴费 去缴费
</view> </view>
@@ -120,7 +123,7 @@
</template> </template>
<script> <script>
import { expandOrder, entrustPay } from '@/apis/interfaces/synthesis' import { expandOrder, entrustPay, esignUrl } from '@/apis/interfaces/synthesis'
export default { export default {
data() { data() {
return { return {
@@ -133,6 +136,7 @@
voucherState : false, // 上传凭证弹出 voucherState : false, // 上传凭证弹出
orderType : '', // 委托单列表-类型 orderType : '', // 委托单列表-类型
orderId : '', // 委托单列表-id orderId : '', // 委托单列表-id
orderPrice : '', // 订单金额
} }
}, },
@@ -177,7 +181,7 @@
// 上传凭证 // 上传凭证
clickOpen() { clickOpen() {
this.voucherState = false this.voucherState = false
this.$Router.push({name: 'VoucherOpen', params: {orderId: this.orderId, orderType: this.orderType }}) this.$Router.push({name: 'VoucherOpen', params: {orderId: this.orderId, orderType: this.orderType, price: this.orderPrice }})
}, },
// 后台-补差价 // 后台-补差价
@@ -185,6 +189,25 @@
this.$Router.push({name: 'DiffList', params: {orderId: e.expand_order_id, orderType:e.order_type, payForm: 'expand'}}) this.$Router.push({name: 'DiffList', params: {orderId: e.expand_order_id, orderType:e.order_type, payForm: 'expand'}})
}, },
// 去签约
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"
})
})
},
// 手动支付弹出 // 手动支付弹出
returnGo(id, type, can) { returnGo(id, type, can) {
this.payStatus = !this.payStatus this.payStatus = !this.payStatus
@@ -220,6 +243,7 @@
expressSheet(id, type, can, price) { expressSheet(id, type, can, price) {
this.orderId = id this.orderId = id
this.orderType = type this.orderType = type
this.orderPrice = price
uni.showActionSheet({ uni.showActionSheet({
itemList: ['线上支付', '线下支付'], itemList: ['线上支付', '线下支付'],
success: sheetRes => { success: sheetRes => {
@@ -230,7 +254,7 @@
} }
this.voucherState = true this.voucherState = true
} else if (sheetRes.tapIndex == 1) { } else if (sheetRes.tapIndex == 1) {
this.$Router.push({name: 'VoucherOpen', params: {orderId: id, orderType: type}}) this.$Router.push({name: 'VoucherOpen', params: {orderId: id, orderType: type, price: price}})
} }
}, },
fail: sheetFail => { fail: sheetFail => {

View File

@@ -20,7 +20,7 @@
<!-- 单输入框 --> <!-- 单输入框 -->
<view class="idcardAdd-block-write" v-if="item.type === 'price' || item.type === 'number' || item.type === 'text' || item.type === 'password' || item.type === 'mobile' || item.type === 'day'"> <view class="idcardAdd-block-write" v-if="item.type === 'price' || item.type === 'number' || item.type === 'text' || item.type === 'password' || item.type === 'mobile' || item.type === 'day'">
<mouldInput class="idcardAdd-input" :blur-value="item.value" :input-type="item.type" :input-title="item.title" :input-key="item.key" @onValue="($event) => {item.value = $event}"></mouldInput> <mouldInput class="idcardAdd-input" :blur-value="item.value" :blur-price="blurPrice" :input-type="item.type" :input-title="item.title" :input-key="item.key" @onValue="($event) => {item.value = $event}"></mouldInput>
</view> </view>
@@ -133,7 +133,9 @@
disabled : false, disabled : false,
orderId : '', // 订单 ID orderId : '', // 订单 ID
orderType : '', // 订单类型 orderType : '', // 订单类型
orderPrice : '', // 订单金额
voucherState : false, // 上传凭证弹出 voucherState : false, // 上传凭证弹出
blurPrice : '' // 最小金额
} }
}, },
@@ -161,6 +163,7 @@
// 综法咨询-详情 // 综法咨询-详情
getBusiness(){ getBusiness(){
expandsInfo(this.$Route.query.entrustId).then(res => { expandsInfo(this.$Route.query.entrustId).then(res => {
this.blurPrice = res.price
let froms = res.params let froms = res.params
froms.map(val => { froms.map(val => {
if(val.type === 'checkbox'){ if(val.type === 'checkbox'){
@@ -243,6 +246,7 @@
expressSheet(id, type, can, price) { expressSheet(id, type, can, price) {
this.orderId = id this.orderId = id
this.orderType = type this.orderType = type
this.orderPrice = price
uni.showActionSheet({ uni.showActionSheet({
itemList: ['线上支付', '线下支付'], itemList: ['线上支付', '线下支付'],
success: sheetRes => { success: sheetRes => {
@@ -253,7 +257,7 @@
} }
this.voucherState = true this.voucherState = true
} else if (sheetRes.tapIndex == 1) { } else if (sheetRes.tapIndex == 1) {
this.$Router.replace({name: 'VoucherOpen', params: {orderId: id, orderType: type}}) this.$Router.replace({name: 'VoucherOpen', params: {orderId: id, orderType: type, price: price}})
} }
}, },
fail: sheetFail => { fail: sheetFail => {
@@ -283,7 +287,7 @@
// 上传凭证 // 上传凭证
clickOpen() { clickOpen() {
this.voucherState = false this.voucherState = false
this.$Router.replace({name: 'VoucherOpen', params: {orderId: this.orderId, orderType: this.orderType}}) this.$Router.replace({name: 'VoucherOpen', params: {orderId: this.orderId, orderType: this.orderType, price: this.orderPrice}})
}, },
} }
} }

View File

@@ -7,7 +7,10 @@
<image class="title-img" src="https://cdn.douhuofalv.com/images/2023/04/17/79426f8fe9395c1c1f5be41d0a6f2eb8.png" mode="widthFix"></image> <image class="title-img" src="https://cdn.douhuofalv.com/images/2023/04/17/79426f8fe9395c1c1f5be41d0a6f2eb8.png" mode="widthFix"></image>
</view> </view>
<view class="item" v-for="(item, index) in synthesisArr" :key="index"> <view class="item" v-for="(item, index) in synthesisArr" :key="index">
<view class="item-back"> <view class="item-back" :class="{active : item.service_user != null}">
<view class="endedAt" v-if="item.service_user">
<view class="endedAt-time">到期时间{{item.service_user.ended_at}}</view>
</view>
<view class="item-title">{{item.title}}</view> <view class="item-title">{{item.title}}</view>
<view class="range"> <view class="range">
<view class="range-label"> <view class="range-label">
@@ -38,26 +41,84 @@
<image class="shapeWhite-back" src="https://cdn.douhuofalv.com/images/2023/04/17/705af638ddaed151ce5bc5ead85f604d.png" mode="widthFix"></image> <image class="shapeWhite-back" src="https://cdn.douhuofalv.com/images/2023/04/17/705af638ddaed151ce5bc5ead85f604d.png" mode="widthFix"></image>
</view> </view>
<view class="btn"> <view class="btn">
<view class="btn-go" @click="$Router.push({name: 'PersonWrite', params: {serveId: item.synthesis_service_id}})"> <!-- button_status 0 可开通 1 可续费 2 待支付 3 待审核 4 已驳回 -->
{{item.is_open ? '立即续费' : '立即开通'}} <view class="btn-go" :class="{'hide': item.button_status === 3}" @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>
<text v-if="item.button_status === 4">打款被驳回</text>
</view> </view>
</view> </view>
</view> </view>
</view> </view>
<image class="yearBttom" src="https://cdn.douhuofalv.com/images/2023/04/17/fc4cad00a630e3d69b3f486e9d2937e9.png" mode="widthFix"></image> <image class="yearBttom" 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="@/static/imgs/general_back.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">
<view class="voucherPop-go" @click="voucherState = false">
暂不支付
</view>
<view class="voucherPop-go voucherPop-up" @click="clickOpen">
上传凭证
</view>
</view>
</view>
</view>
</view>
</view> </view>
</template> </template>
<script> <script>
import { judgeReal } from '@/apis/interfaces/user'
import { authFollow } from '@/apis/interfaces/index'
import { yearSynthList } from '@/apis/interfaces/synthesis' import { yearSynthList } from '@/apis/interfaces/synthesis'
export default { export default {
data() { data() {
return { return {
synthesisArr : [], //个人-年费服务包 synthesisArr : [], //个人-年费服务包
generalShow : false ,// 公众号
voucherState : false, // 上传凭证弹出
orderId : '', // 订单 ID
orderType : '', // 订单类型
orderPrice : '', // 订单金额
} }
}, },
created() { created() {},
onShow() {
// 获取-个人-年费服务包列表 // 获取-个人-年费服务包列表
this.yearServe(); this.yearServe();
}, },
@@ -75,6 +136,126 @@
icon : 'none' icon : 'none'
}) })
}) })
},
// 点击开通按钮
onBtn(index){
let obj = this.synthesisArr[index]
if(obj.service_order === null){
this.onOpenPAY(obj.synthesis_service_id)
return
}
switch (obj.button_status){
case 1:
this.onOpenPAY(obj.synthesis_service_id)
break;
case 2:
this.expressSheet(obj.service_order.service_order_id, obj.service_order.order_type, obj.service_order.can, obj.service_order.price)
break;
case 3:
uni.showToast({
title: '打款凭证审核中,请耐心等待',
icon : 'none'
})
break;
case 4:
uni.showModal({
title : '审核被驳回',
content : '驳回原因:' + obj.service_order.offline_pays.remark,
showCancel : false,
success : modalRes => {
if(modalRes.confirm){
this.$Router.push({
name : 'VoucherOpen',
params : {
payId : obj.service_order.offline_pays.offline_pay_id,
type : 'edit',
orderId : obj.service_order.order_id,
orderType : obj.service_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}})
},
// 填写支付信息
onOpenPAY(serveId){
// 判断是否认证
judgeReal().then(res => {
if(res.has_sign) {
if(!res.has_subscribe) {
// 弹出公众号
this.generalShow = true
} else {
// 跳到咨询表单页
this.$Router.push({
name: 'PersonWrite',
params: {
serveId
}
})
}
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
} }
} }
} }
@@ -137,6 +318,28 @@
padding: 30rpx; padding: 30rpx;
box-sizing: border-box; box-sizing: border-box;
position: relative; position: relative;
&.active {
padding-top: 70rpx;
}
.endedAt {
position: absolute;
top: 0;
left: 0;
display: inline-block;
color: #2c3c66;
width: 100%;
text-align: center;
.endedAt-time {
background-image: -webkit-linear-gradient(40deg,#f1c593, #fef9f2);
margin: 0 auto;
display: inline-block;
padding: 0 20rpx;
line-height: 52rpx;
font-size: 26rpx;
border-radius: 0 0 5rpx 5rpx;
color: #582700;
}
}
.item-title { .item-title {
font-weight: 600; font-weight: 600;
font-size:36rpx; font-size:36rpx;
@@ -176,7 +379,7 @@
} }
} }
.btn { .btn {
padding: 40rpx; padding: 40rpx 40rpx 0;
box-sizing: border-box; box-sizing: border-box;
text-align: center; text-align: center;
.btn-go { .btn-go {
@@ -189,9 +392,160 @@
line-height: 88rpx; line-height: 88rpx;
border-radius: 50rpx; border-radius: 50rpx;
box-shadow: 0 8rpx 6rpx rgba(0, 0, 0, .3); box-shadow: 0 8rpx 6rpx rgba(0, 0, 0, .3);
&.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> </style>

View File

@@ -70,7 +70,7 @@
<view class="voucherPop-name">支付提示</view> <view class="voucherPop-name">支付提示</view>
<view class="voucherPop-text">抱歉此订单不支持线上支付请上传打款凭证</view> <view class="voucherPop-text">抱歉此订单不支持线上支付请上传打款凭证</view>
<view class="voucherPop-btn"> <view class="voucherPop-btn">
<view class="voucherPop-go" @click="cancelPay"> <view class="voucherPop-go" @click="voucherState = false">
暂不支付 暂不支付
</view> </view>
<view class="voucherPop-go voucherPop-up" @click="clickOpen"> <view class="voucherPop-go voucherPop-up" @click="clickOpen">
@@ -101,6 +101,7 @@
disabled : false, disabled : false,
orderId : '', // 订单 ID orderId : '', // 订单 ID
orderType : '', // 订单类型 orderType : '', // 订单类型
orderPrice : '', // 订单金额
voucherState : false, // 上传凭证弹出 voucherState : false, // 上传凭证弹出
} }
}, },
@@ -200,6 +201,7 @@
expressSheet(id, type, can, price) { expressSheet(id, type, can, price) {
this.orderId = id this.orderId = id
this.orderType = type this.orderType = type
this.orderPrice = price
uni.showActionSheet({ uni.showActionSheet({
itemList: ['线上支付', '线下支付'], itemList: ['线上支付', '线下支付'],
success: sheetRes => { success: sheetRes => {
@@ -210,37 +212,29 @@
} }
this.voucherState = true this.voucherState = true
} else if (sheetRes.tapIndex == 1) { } else if (sheetRes.tapIndex == 1) {
this.$Router.replace({name: 'VoucherOpen', params: {orderId: id, orderType: type}}) this.$Router.replace({name: 'VoucherOpen', params: {orderId: id, orderType: type, price: price}})
} }
}, },
fail: sheetFail => { fail: sheetFail => {}
uni.showToast({
title: '取消支付',
icon : 'none'
})
setTimeout(()=>{
this.$Router.replace({name: 'YearOrder', params: {yearType: 1}})
},3000)
}
}) })
}, },
// 取消支付 // 取消支付
cancelPay() { // cancelPay() {
this.voucherState = false // this.voucherState = false
uni.showToast({ // uni.showToast({
title: '取消支付', // title: '取消支付',
icon : 'none' // icon : 'none'
}) // })
setTimeout(()=>{ // setTimeout(()=>{
this.$Router.replace({name: 'YearOrder', params: {yearType: 1}}) // this.$Router.replace({name: 'YearOrder', params: {yearType: 1}})
},3000) // },3000)
}, // },
// 上传凭证 // 上传凭证
clickOpen() { clickOpen() {
this.voucherState = false this.voucherState = false
this.$Router.replace({name: 'VoucherOpen', params: {orderId: this.orderId, orderType: this.orderType}}) this.$Router.replace({name: 'VoucherOpen', params: {orderId: this.orderId, orderType: this.orderType, price: this.orderPrice}})
}, },
} }
} }

View File

@@ -105,7 +105,6 @@
// 选择支付方式 // 选择支付方式
expressSheet(item) { expressSheet(item) {
console.log(item)
uni.showActionSheet({ uni.showActionSheet({
itemList: ['微信支付', '打款凭证'], itemList: ['微信支付', '打款凭证'],
success: sheetRes => { success: sheetRes => {

View File

@@ -6,13 +6,19 @@
<view class="title-name"><text>企业法律咨询服务包</text></view> <view class="title-name"><text>企业法律咨询服务包</text></view>
<view class="title-text">legal advice</view> <view class="title-text">legal advice</view>
</view> </view>
<view class="item" :class="{active : item.service_order != null}" v-for="(item, index) in synthesisArr" :key="index"> <view class="item" :class="{active : item.service_user != null}" v-for="(item, index) in synthesisArr" :key="index">
<view class="endedAt" v-if="item.service_order"> <view class="endedAt" v-if="item.service_user">
<view class="endedAt-time">到期时间{{item.service_order.ended_at}}</view> <view class="endedAt-time">到期时间{{item.service_user.ended_at}}</view>
</view> </view>
<view class="top"> <view class="top">
<view class="top-title">{{item.title}}</view> <view class="top-title">{{item.title}}</view>
<view class="top-btn" @click="$Router.push({name: 'StandWrite', params: {serveId: item.synthesis_service_id}})">{{item.is_open ? '续费' : '开通'}}</view> <view class="top-btn" :class="{'hide': item.button_status === 3}" @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>
<text v-if="item.button_status === 4">打款被驳回</text>
</view>
</view> </view>
<view class="range"> <view class="range">
<view class="range-label"> <view class="range-label">
@@ -58,19 +64,74 @@
</view> </view>
<image class="yearBttom" src="https://cdn.douhuofalv.com/images/2023/04/17/fc4cad00a630e3d69b3f486e9d2937e9.png" mode="widthFix"></image> <image class="yearBttom" 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="@/static/imgs/general_back.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> </view>
</template> </template>
<script> <script>
import { judgeReal } from '@/apis/interfaces/user'
import { authFollow } from '@/apis/interfaces/index'
import { yearSynthList } from '@/apis/interfaces/synthesis' import { yearSynthList } from '@/apis/interfaces/synthesis'
export default { export default {
data() { data() {
return { return {
synthesisArr : [], //企业-年费服务包列表 synthesisArr : [], //企业-年费服务包列表
generalShow : false ,// 公众号
voucherState : false, // 上传凭证弹出
orderId : '', // 订单 ID
orderType : '', // 订单类型
orderPrice : '', // 订单金额
} }
}, },
created() { created() {},
onShow() {
// 获取-个人-年费服务包列表 // 获取-个人-年费服务包列表
this.yearServe(); this.yearServe();
}, },
@@ -88,6 +149,138 @@
icon : 'none' icon : 'none'
}) })
}) })
},
// 点击开通按钮
onBtn(index){
let obj = this.synthesisArr[index]
if(obj.service_order === null){
this.onOpenPAY(obj.synthesis_service_id)
return
}
switch (obj.button_status){
case 1:
this.onOpenPAY(obj.synthesis_service_id)
break;
case 2:
this.expressSheet(obj.service_order.service_order_id, obj.service_order.order_type, obj.service_order.can, obj.service_order.price)
break;
case 3:
uni.showToast({
title: '打款凭证审核中,请耐心等待',
icon : 'none'
})
break;
case 4:
uni.showModal({
title : '审核被驳回',
content : '驳回原因:' + obj.service_order.offline_pays.remark,
showCancel : false,
success : modalRes => {
if(modalRes.confirm){
this.$Router.push({
name : 'VoucherOpen',
params : {
payId : obj.service_order.offline_pays.offline_pay_id,
type : 'edit',
orderId : obj.service_order.order_id,
orderType : obj.service_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 => {}
})
},
// 取消支付
// cancelPay() {
// this.voucherState = false
// uni.showToast({
// title: '取消支付',
// icon : 'none'
// })
// setTimeout(()=>{
// this.$Router.replace({name: 'YearOrder', params: {yearType: 2}})
// },3000)
// },
// 上传凭证
clickOpen() {
this.voucherState = false
this.$Router.push({name: 'VoucherOpen', params: {orderId: this.orderId, orderType: this.orderType, price: this.orderPrice}})
},
// 填写支付信息
onOpenPAY(serveId){
// 判断是否认证
judgeReal().then(res => {
if(res.has_sign) {
if(!res.has_subscribe) {
// 弹出公众号
this.generalShow = true
} else {
// 跳到咨询表单页
this.$Router.push({
name: 'StandWrite',
params: {
serveId
}
})
}
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
} }
} }
} }
@@ -192,6 +385,9 @@
padding: 0 30rpx; padding: 0 30rpx;
border-radius: 50rpx; border-radius: 50rpx;
box-shadow: 0 8rpx 6rpx rgba(0, 0, 0, .3); box-shadow: 0 8rpx 6rpx rgba(0, 0, 0, .3);
&.hide{
opacity: .7;
}
} }
} }
.range { .range {
@@ -268,4 +464,153 @@
} }
} }
// 关注
.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> </style>

View File

@@ -118,6 +118,7 @@
disabled : false, disabled : false,
orderId : '', // 订单 ID orderId : '', // 订单 ID
orderType : '', // 订单类型 orderType : '', // 订单类型
orderPrice : '', // 订单金额
voucherState : false, // 上传凭证弹出 voucherState : false, // 上传凭证弹出
} }
}, },
@@ -226,6 +227,7 @@
expressSheet(id, type, can, price) { expressSheet(id, type, can, price) {
this.orderId = id this.orderId = id
this.orderType = type this.orderType = type
this.orderPrice = price
uni.showActionSheet({ uni.showActionSheet({
itemList: ['线上支付', '线下支付'], itemList: ['线上支付', '线下支付'],
success: sheetRes => { success: sheetRes => {
@@ -236,17 +238,11 @@
} }
this.voucherState = true this.voucherState = true
} else if (sheetRes.tapIndex == 1) { } else if (sheetRes.tapIndex == 1) {
this.$Router.replace({name: 'VoucherOpen', params: {orderId: id, orderType: type}}) this.$Router.replace({name: 'VoucherOpen', params: {orderId: id, orderType: type, price: price}})
} }
}, },
fail: sheetFail => { fail: sheetFail => {
uni.showToast({ this.disabled = false
title: '取消支付',
icon : 'none'
})
setTimeout(()=>{
this.$Router.replace({name: 'YearOrder', params: {yearType: 2}})
},3000)
} }
}) })
}, },
@@ -254,19 +250,20 @@
// 取消支付 // 取消支付
cancelPay() { cancelPay() {
this.voucherState = false this.voucherState = false
uni.showToast({ this.disabled = false
title: '取消支付', // uni.showToast({
icon : 'none' // title: '取消支付',
}) // icon : 'none'
setTimeout(()=>{ // })
this.$Router.replace({name: 'YearOrder', params: {yearType: 2}}) // setTimeout(()=>{
},3000) // this.$Router.replace({name: 'YearOrder', params: {yearType: 2}})
// },3000)
}, },
// 上传凭证 // 上传凭证
clickOpen() { clickOpen() {
this.voucherState = false this.voucherState = false
this.$Router.replace({name: 'VoucherOpen', params: {orderId: this.orderId, orderType: this.orderType}}) this.$Router.replace({name: 'VoucherOpen', params: {orderId: this.orderId, orderType: this.orderType, price: this.orderPrice}})
}, },
} }
} }

View File

@@ -27,6 +27,12 @@
<view class="time">{{bankData.no}}</view> <view class="time">{{bankData.no}}</view>
</view> </view>
<view class="item"> <view class="item">
<view class="name">
<image src="@/static/icon/takeIcon_03.png" mode="widthFix"></image>支付金额
</view>
<view class="time">{{price}}</view>
</view>
<!-- <view class="item">
<view class="name"> <view class="name">
<image src="@/static/icon/takeIcon_03.png" mode="widthFix"></image>打款金额 <image src="@/static/icon/takeIcon_03.png" mode="widthFix"></image>打款金额
</view> </view>
@@ -40,16 +46,44 @@
<image src="@/static/icon/takeIcon_04.png" mode="widthFix"></image>转款账户 <image src="@/static/icon/takeIcon_04.png" mode="widthFix"></image>转款账户
</view> </view>
<input class="entry" type="text" :value="name" name="name" placeholder-style="color: #000000" placeholder="请输入转款人账户名" /> <input class="entry" type="text" :value="name" name="name" placeholder-style="color: #000000" placeholder="请输入转款人账户名" />
</view> </view> -->
<view class="item"> <view class="item">
<view class="name"> <view class="name">
<image src="@/static/icon/takeIcon_05.png" mode="widthFix"></image>打款凭证 <image src="@/static/icon/takeIcon_05.png" mode="widthFix"></image>
<view class="name-cont">
<view class="name-cont-top">
<view class="name-cont-title">上传打款凭证</view>
<view class="name-cont-number">{{pathArr.length}}/9</view>
</view> </view>
<view class="issueNew" @click="albumClick"> <view class="name-cont-tips">长按图片可删除已上传图片</view>
<image class="issueNew-icon" :src="showpath || '/static/imgs/cover_img.png'" mode="aspectFill"></image>
<view class="issueNew-text">请上传转款电子回单</view>
</view> </view>
</view> </view>
<view class="cover-flex">
<view class="cover-item" v-for="(item, index) in pathArr" :key="index" @longpress="onRemove(index)">
<image class="cover-item-src" :src="item" mode="aspectFill"></image>
</view>
<view class="cover-item border" @click="albumClick" v-if="pathArr.length < 9">
<image class="cover-item-add" src="@/static/imgs/cover_add.png" mode="aspectFill"></image>
</view>
</view>
</view>
<!-- <view class="cover-header">
<view>
<view class="cover-title">上传打款凭证</view>
<view class="cover-subtitle">长按图片可删除已上传图片</view>
</view>
<view class="cover-num">{{pathArr.length}}/9</view>
</view>
<view class="cover-flex">
<view class="cover-item" v-for="(item, index) in pathArr" :key="index" @longpress="onRemove(index)">
<image class="cover-item-src" :src="item" mode="aspectFill"></image>
</view>
<view class="cover-item border" @click="albumClick" v-if="pathArr.length < 9">
<image class="cover-item-add" src="@/static/imgs/cover_img.png" mode="aspectFill"></image>
</view>
</view> -->
</view> </view>
<view class="idcardBtn"> <view class="idcardBtn">
<button class="idcardBtn-go" form-type="submit" :disabled="disabled">{{disabled ? '数据正在提交中' : '确认提交'}}</button> <button class="idcardBtn-go" form-type="submit" :disabled="disabled">{{disabled ? '数据正在提交中' : '确认提交'}}</button>
@@ -68,7 +102,7 @@
bankData : '', // 账户信息 bankData : '', // 账户信息
price : '', // 打款金额 price : '', // 打款金额
name : '', // 打卡账户 name : '', // 打卡账户
showpath : '', // 凭证图片 pathArr : [], // 上传的图片
type : '', // 是否为编辑 type : '', // 是否为编辑
remark : '', // 驳回原因 remark : '', // 驳回原因
disabled : false, // 按钮状态 disabled : false, // 按钮状态
@@ -77,6 +111,7 @@
created() { created() {
this.type = this.$Route.query.type this.type = this.$Route.query.type
this.price = this.$Route.query.price
// 查看打款凭证-查看提交信息 // 查看打款凭证-查看提交信息
this.yearServe(); this.yearServe();
@@ -89,7 +124,7 @@
}).then(res => { }).then(res => {
this.price = res.price this.price = res.price
this.name = res.name this.name = res.name
this.showpath = res.cover this.pathArr = res.cover
this.remark = res.remark this.remark = res.remark
}).catch(err => { }).catch(err => {
uni.showToast({ uni.showToast({
@@ -117,14 +152,19 @@
albumClick() { albumClick() {
var _this = this var _this = this
uni.chooseImage({ uni.chooseImage({
count: 1, //默认9 count : 9 - this.pathArr.length,
sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有 sizeType : ['original', 'compressed'],
sourceType: ['album','camera'], // way是点击时传入的打开方式相机或相册 sourceType : ['album','camera'],
success: path=> { success: path=> {
uploads([{ let { tempFilePaths } = path
uri : path.tempFilePaths[0] let paths = tempFilePaths.map((val, index) => {
}]).then(res => { return {
this.showpath = res.url[0] name: 'file' + index,
uri : val
}
})
uploads(paths).then(res => {
this.pathArr = this.pathArr.concat(res.url)
}).catch(err => { }).catch(err => {
uni.showToast({ uni.showToast({
title: err.message, title: err.message,
@@ -135,15 +175,20 @@
}); });
}, },
// 删除图片数据
onRemove(index){
uni.vibrateShort()
this.pathArr.splice(index, 1)
},
// 表单提交 // 表单提交
issueForm(e) { issueForm(e) {
let value = e.detail.value; let value = e.detail.value;
let data = { let data = {
order_type : this.$Route.query.orderType, order_type : this.$Route.query.orderType,
order_id : this.$Route.query.orderId, order_id : this.$Route.query.orderId,
name : value.name, price : this.price,
price : value.price, cover : this.pathArr
cover : this.showpath
} }
if(this.$Route.query.type == 'edit') { if(this.$Route.query.type == 'edit') {
bankEdit(this.$Route.query.payId,data).then(res => { bankEdit(this.$Route.query.payId,data).then(res => {
@@ -273,6 +318,26 @@
margin-right: 15rpx; margin-right: 15rpx;
} }
.name-cont {
width: calc(100% - 59rpx);
}
.name-cont-top {
display: flex;
.name-cont-title {
flex: 1;
}
.name-cont-number {
color: #da2b56;
font-size: 28rpx;
}
}
.name-cont-tips {
font-size: 26rpx;
color: #999;
}
.time { .time {
width: 100%; width: 100%;
color: #9d9d99; color: #9d9d99;
@@ -304,15 +369,33 @@
} }
} }
.issueNew { .cover-flex{
background-color: #f4f4f4; margin: -20rpx 20rpx 0 40rpx;
text-align: center; display: flex;
margin: 30rpx auto 0; flex-wrap: wrap;
width: 400rpx; .cover-item{
height: 400rpx; position: relative;
padding-top: 80rpx; width: calc(33.33% - 40rpx);
box-sizing: border-box; margin: 20rpx;
border-radius: 15rpx; padding-top: calc(33.33% - 40rpx);
background: #f8f8f8;
.cover-item-src{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.cover-item-add{
width: 68rpx;
height: 68rpx;
position: absolute;
top: 50%;
left: 50%;
margin-top: -34rpx;
margin-left: -34rpx;
}
}
} }
.issueNew-icon { .issueNew-icon {

View File

@@ -19,7 +19,7 @@
<view class="orderState-item" :class="{active : yearStatus == 2}" @click="stateClick('2')"> <view class="orderState-item" :class="{active : yearStatus == 2}" @click="stateClick('2')">
<text>已签约</text> <text>已签约</text>
</view> </view>
<view class="orderState-item" :class="{active : yearStatus == 3}" @click="stateClick('3')"> <view class="orderState-item" :class="{active : yearStatus == 4}" @click="stateClick('4')">
<text>已退款</text> <text>已退款</text>
</view> </view>
</view> </view>
@@ -44,7 +44,7 @@
订单金额 订单金额
</view> </view>
<view class="listItem-cont-text listItem-cont-price"> <view class="listItem-cont-text listItem-cont-price">
{{item.price}} {{item.total}}
</view> </view>
</view> </view>
</view> </view>
@@ -60,7 +60,7 @@
去支付 去支付
</view> </view>
<view class="listItem-labor-go active" v-else-if="item.can.pay_status == 2">等待审核</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, orderType: item.order_type, type: 'edit'}})">审核驳回</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 @click="$Router.push({name: 'YearConfirm', params: {servicesId: item.service_order_id}})" class="listItem-labor-go yellow">
查看详情 查看详情
</view> </view>
@@ -106,6 +106,7 @@
yearArr : [], // 年费咨询单列表 yearArr : [], // 年费咨询单列表
orderId : '', // 订单 ID orderId : '', // 订单 ID
orderType : '', // 订单类型 orderType : '', // 订单类型
orderPrice : '', // 订单金额
page : {}, // 分页信息 page : {}, // 分页信息
lodingStats : false, // 加载状态 lodingStats : false, // 加载状态
voucherState : false, // 上传凭证弹出 voucherState : false, // 上传凭证弹出
@@ -166,6 +167,7 @@
expressSheet(id, type, can, price) { expressSheet(id, type, can, price) {
this.orderId = id this.orderId = id
this.orderType = type this.orderType = type
this.orderPrice = price
uni.showActionSheet({ uni.showActionSheet({
itemList: ['线上支付', '线下支付'], itemList: ['线上支付', '线下支付'],
success: sheetRes => { success: sheetRes => {
@@ -176,7 +178,7 @@
} }
this.voucherState = true this.voucherState = true
} else if (sheetRes.tapIndex == 1) { } else if (sheetRes.tapIndex == 1) {
this.$Router.push({name: 'VoucherOpen', params: {orderId: id, orderType: type}}) this.$Router.push({name: 'VoucherOpen', params: {orderId: id, orderType: type, price: price}})
} }
}, },
fail: sheetFail => { fail: sheetFail => {
@@ -191,7 +193,7 @@
// 上传凭证 // 上传凭证
clickOpen() { clickOpen() {
this.voucherState = false this.voucherState = false
this.$Router.push({name: 'VoucherOpen', params: {orderId: this.orderId, orderType: this.orderType}}) this.$Router.push({name: 'VoucherOpen', params: {orderId: this.orderId, orderType: this.orderType, price: this.orderPrice}})
}, },
// 去签约 // 去签约
@@ -199,8 +201,8 @@
esignUrl({ esignUrl({
order_id : id, order_id : id,
order_type: type, order_type: type,
// redirect_url: "https://web.douhuofalv.com/synthesis/yearOrder", // redirect_url: "https://web.douhuofalv.com/user/index",
redirect_url: "https://web.douhuotest.douhuofalv.com/synthesis/yearOrder", redirect_url: "https://web.douhuotest.douhuofalv.com/user/index",
channel : 'h5', channel : 'h5',
app_scheme : '' app_scheme : ''
}).then(res => { }).then(res => {

View File

@@ -30,20 +30,20 @@ router.beforeEach((to, from, next) => {
return return
} }
// 检查用户是否授权了微信 // 检查用户是否授权了微信
if(to.name != 'webWechatIndex' && openId === ''){ // if(to.name != 'webWechatIndex' && openId === ''){
authFollow({ // authFollow({
url: 'https://web.douhuotest.douhuofalv.com/webWechat/index' // url: 'https://web.douhuotest.douhuofalv.com/webWechat/index'
// url: 'https://web.douhuofalv.com/webWechat/index' // // url: 'https://web.douhuofalv.com/webWechat/index'
}).then(res => { // }).then(res => {
window.location.href = res // window.location.href = res
}).catch(err => { // }).catch(err => {
uni.showToast({ // uni.showToast({
title: err.message, // title: err.message,
icon: "none" // icon: "none"
}) // })
}) // })
return // return
} // }
// 检查是否需要登录 // 检查是否需要登录
if(to.auth && token === ''){ if(to.auth && token === ''){

BIN
static/imgs/cover_add.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB