Commit 67336a61 authored by 李俊赕's avatar 李俊赕
parents 86b1f947 35988be4
<template>
<view class="content-view">
<view class="content-list" v-for="(item, index) in info" :key="index">
<view class="content-title">{{item.title}}</view>
<view class="content-item" v-for="(i, key) in item.content" :key="key">{{i}}</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {}
},
computed: {
info() {
return [{
title: '一、入驻条件',
content: [
'1.年龄在18-60周岁之间;',
'2.初中及以上学历;',
'3.能熟练使用智能手机;',
'4.与人交流时态度良好,沟通顺畅;'
]
}, {
title: '二、注意事项',
content: [
'1.平台会对每笔订单收取一定比例的服务费抽成;',
'2.若审核通过,平台工作人员将会电话联系您,并邀约参加师傅培训会,请您耐心等待;',
'3.开关插座、线路维修、空开漏保等品类的师傅需持有电工证;',
'4.家电清洗品类的师傅需持有专业高温清洗设备,并在每一笔清洗订单中上传设备照片(单独水枪类清洗设备不符合规定);',
'5.请如实填写自己擅长品类,如有核实师傅申请的维修品类和开通账号的维修品类不一致,将不给予接单资格;'
]
}]
}
}
}
</script>
<style lang="scss" scoped>
.content-view {
padding: 16rpx 30rpx 30rpx 30rpx;
background-color: #F4F5F7;
height: 360rpx;
overflow: scroll;
.content-list {
.content-title {
font-size: 28rpx;
color: #333333;
margin-top: 14rpx;
}
.content-item {
font-size: 24rpx;
color: #666666;
padding-top: 14rpx;
}
}
}
</style>
...@@ -101,7 +101,9 @@ ...@@ -101,7 +101,9 @@
{ {
"path": "pages/settle/pay-ensure", "path": "pages/settle/pay-ensure",
"style": { "style": {
"navigationBarTitleText": "缴纳设备押金" "navigationBarTitleText": "缴纳设备押金",
"navigationStyle": "custom",
"disableScroll": true
} }
}, },
{ {
...@@ -121,7 +123,9 @@ ...@@ -121,7 +123,9 @@
{ {
"path": "pages/settle/sign-contract", "path": "pages/settle/sign-contract",
"style": { "style": {
"navigationBarTitleText": "签约页面" "navigationBarTitleText": "签约页面",
"navigationStyle": "custom", // 隐藏系统导航栏
"disableScroll": true
} }
}, },
{ {
...@@ -242,6 +246,16 @@ ...@@ -242,6 +246,16 @@
"path": "pages/settle/pay-ensure", //启动页面,必选 "path": "pages/settle/pay-ensure", //启动页面,必选
"query": "" //启动参数,在页面的onLoad函数里面得到 "query": "" //启动参数,在页面的onLoad函数里面得到
}, },
{
"name": "签约页面", //模式名称
"path": "pages/settle/sign-contract", //启动页面,必选
"query": "" //启动参数,在页面的onLoad函数里面得到
},
{
"name": "缴纳保证金", //模式名称
"path": "pages/settle/pay-ensure", //启动页面,必选
"query": "" //启动参数,在页面的onLoad函数里面得到
},
{ {
"name": "订单 - 完工配置", //模式名称 "name": "订单 - 完工配置", //模式名称
"path": "pages/order/complete", //启动页面,必选 "path": "pages/order/complete", //启动页面,必选
......
<template> <template>
<view class="content"> <view class="content">
<Settle :index="5">
<view class="base-list"> <view class="base-list">
<view class="title">充电桩安装需缴纳设备押金</view> <view class="title">充电桩安装需缴纳设备押金</view>
<view class="price"><text>¥</text>{{settledInfo.record.deposit}}</view> <view class="price"><text>¥ </text>{{settledInfo.record.deposit}}</view>
<view class="list"> <view class="list">
<view class="item u-flex u-row-between"> <view class="item u-flex u-row-between">
<view class="txt">您已缴纳金额</view> <view class="txt">您已缴纳金额</view>
<view class="txt">¥ 0.00</view> <view class="txt-value">¥ 0.00</view>
</view> </view>
<view class="line-view"></view>
<view class="item u-flex u-row-between"> <view class="item u-flex u-row-between">
<view class="txt">待缴纳金额</view> <view class="txt">待缴纳金额</view>
<view class="txt">¥ {{settledInfo.record.deposit}}</view> <view class="txt-value">¥ {{settledInfo.record.deposit}}</view>
</view> </view>
</view> </view>
<!-- <view class="tips">你已缴纳金额:1000.00元</view> <!-- <view class="tips">你已缴纳金额:1000.00元</view>
<view class="tips">充电桩安装需缴纳保证金:1000元待缴金额:1000元</view> --> <view class="tips">充电桩安装需缴纳保证金:1000元待缴金额:1000元</view> -->
</view> </view>
<view class="seat"></view>
<template v-slot:bottom>
<view class="btn-wrap flex-xc"> <view class="btn-wrap flex-xc">
<button class="btn-submit" :disabled="saving" @click="paySubmit"> <button class="btn-submit" :disabled="saving" @click="paySubmit">
{{saving ? '支付中……' : '微信支付'}} <image class="button-image" mode="widthFix" src="../../static/settle/weixin@3x.png"></image>
<text>{{saving ? '支付中……' : '微信支付'}}</text>
</button> </button>
</view> </view>
</template>
</Settle>
</view> </view>
</template> </template>
<script> <script>
import Settle from '@/components/settle/index.vue'
import pingpp from '@/include/libs/pingpp.js' import pingpp from '@/include/libs/pingpp.js'
const globalUrl = process.uniEnv || {} const globalUrl = process.uniEnv || {}
import util from '@/utils/util.js' import util from '@/utils/util.js'
export default { export default {
components: {
Settle
},
data() { data() {
return { return {
saving: false, saving: false,
paySuccess:false, paySuccess: false,
payResult:{ payResult: {
oid:'' oid: ''
},
isRefresh: false,
settledInfo: {
record: {
deposit: ''
}
}, },
isRefresh:false,
settledInfo:null,
} }
}, },
onLoad(e) { onLoad(e) {
}, },
onShow(){ onShow() {
if(!this.settledInfo){ if (!this.settledInfo.record.deposit) {
this.getBaseInfo() this.getBaseInfo()
} }
}, },
computed: {}, computed: {},
watch:{ watch: {
isRefresh(val){ isRefresh(val) {
this.getBaseInfo() this.getBaseInfo()
} }
}, },
...@@ -59,42 +73,42 @@ ...@@ -59,42 +73,42 @@
}, },
methods: { methods: {
successCallback(){ successCallback() {
uni.navigateTo({ uni.navigateTo({
url:'/pages/settle/prompt' url: '/pages/settle/prompt'
}) })
}, },
async getBaseInfo(){ async getBaseInfo() {
const app = getApp() const app = getApp()
const callBack = (vm,result)=>{ const callBack = (vm, result) => {
vm.settledInfo = result vm.settledInfo = result
} }
let settledInfo = app.globalData.settledInfo let settledInfo = app.globalData.settledInfo
if(settledInfo){ if (settledInfo) {
callBack(this,settledInfo) callBack(this, settledInfo)
return return
} }
await app.getBaseInfo(this,callBack) await app.getBaseInfo(this, callBack)
}, },
async pending(){ async pending() {
// const timer = setTimeout(async ()=>{ // const timer = setTimeout(async ()=>{
// clearTimeout(timer) // clearTimeout(timer)
const params = { const params = {
...this.payResult ...this.payResult
} }
const res = await this.$u.api.getSettleDepositResult(params); const res = await this.$u.api.getSettleDepositResult(params);
if(res.status!==true){ if (res.status !== true) {
this.saving = false this.saving = false
return return
} }
uni.showToast({ uni.showToast({
title:'支付成功', title: '支付成功',
}) })
let timer = setTimeout(()=>{ let timer = setTimeout(() => {
clearTimeout(timer) clearTimeout(timer)
this.successCallback() this.successCallback()
},3000) }, 3000)
}, },
getCode: async function() { getCode: async function() {
let that = this let that = this
...@@ -127,33 +141,33 @@ ...@@ -127,33 +141,33 @@
const self = this const self = this
this.saving = true this.saving = true
uni.showLoading({ uni.showLoading({
title:'支付中……' title: '支付中……'
}) })
// 提交支付订单 // 提交支付订单
const code = await this.getCode() const code = await this.getCode()
const params = { const params = {
oid: this.settledInfo.record.id, oid: this.settledInfo.record.id,
type: 'wx_lite', type: 'wx_lite',
openid:util.getOpenid(), openid: util.getOpenid(),
code:code code: code
// appid:'wxd1d6eede324b0465' // appid:'wxd1d6eede324b0465'
} }
const response = await this.$u.api.paySettleDeposit(params) const response = await this.$u.api.paySettleDeposit(params)
if (response.status!==true) { if (response.status !== true) {
uni.showToast({ uni.showToast({
title: response.message, title: response.message,
icon:'none' icon: 'none'
}) })
return return
} }
let timer = setTimeout(res=>{ let timer = setTimeout(res => {
clearTimeout(timer) clearTimeout(timer)
uni.showModal({ uni.showModal({
title: '提示', title: '提示',
content: '支付结果', content: '支付结果',
confirmText:'成功', confirmText: '成功',
cancelText:'失败', cancelText: '失败',
success: function (res) { success: function(res) {
if (res.confirm) { if (res.confirm) {
// console.log(res.confirm,'res.confirm') // console.log(res.confirm,'res.confirm')
self.pending() self.pending()
...@@ -163,7 +177,7 @@ ...@@ -163,7 +177,7 @@
} }
} }
}); });
},1000) }, 1000)
const { const {
charge, charge,
...@@ -177,7 +191,7 @@ ...@@ -177,7 +191,7 @@
// 支付成功的结果会在这里返回,其他的支付结果都会跳转到 extra 中对应的 URL。 // 支付成功的结果会在这里返回,其他的支付结果都会跳转到 extra 中对应的 URL。
uni.showToast({ uni.showToast({
title: '支付成功', title: '支付成功',
icon:'none' icon: 'none'
}) })
} else if (result == "fail") { } else if (result == "fail") {
// charge 不正确或者微信公众账号/QQ 公众号/支付宝口碑支付失败时会在此处返回 // charge 不正确或者微信公众账号/QQ 公众号/支付宝口碑支付失败时会在此处返回
...@@ -186,7 +200,7 @@ ...@@ -186,7 +200,7 @@
// 微信公众账号、QQ 公众号、支付宝口碑支付取消支付 // 微信公众账号、QQ 公众号、支付宝口碑支付取消支付
uni.showToast({ uni.showToast({
title: '您已经取消了支付', title: '您已经取消了支付',
icon:'none' icon: 'none'
}) })
} }
}); });
...@@ -195,45 +209,80 @@ ...@@ -195,45 +209,80 @@
} }
</script> </script>
<style lang="scss"> <style lang="scss" scoped>
.content {
background-color: #F4F5F7;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
}
.base-list { .base-list {
background-color: #FFFFFF;
border-radius: 12rpx;
padding: 30rpx;
min-height: 160rpx;
margin-bottom: 188rpx;
text-align: center; text-align: center;
.txt{
.txt {
line-height: 50rpx; line-height: 50rpx;
font-size:36rpx; font-size: 36rpx;
color: #333; color: #333;
} }
.title{
margin-top:120rpx; .title {
margin-top: 80rpx;
font-weight: bold; font-weight: bold;
line-height: 50rpx; line-height: 50rpx;
font-size:36rpx; font-size: 40rpx;
color: #333; color: #333;
} }
.price{
margin-top:120rpx; .price {
margin-top: 100rpx;
font-weight: bold; font-weight: bold;
line-height: 90rpx; line-height: 90rpx;
font-size:64rpx; font-size: 64rpx;
color: #333; color: #2272FF;
text{
font-size:32rpx; text {
font-size: 32rpx;
} }
} }
.list{
margin-top:200rpx; .list {
padding:0 50rpx; margin-top: 200rpx;
.item{ padding: 0 50rpx;
padding:28rpx 0;
border-bottom: 1rpx solid #FDFDFD; .line-view {
background-color: #F4F5F7;
height: 2rpx;
width: 100%;
}
.item {
padding: 28rpx 0;
}
.txt {
line-height: 44rpx;
font-size: 28rpx;
color: #666666;
} }
.txt{
.txt-value {
line-height: 44rpx; line-height: 44rpx;
font-size:32rpx; font-size: 28rpx;
color: #333; color: #333;
} }
} }
.tips { .tips {
margin-top: 20rpx; margin-top: 20rpx;
padding: 0 30rpx; padding: 0 30rpx;
...@@ -249,29 +298,28 @@ ...@@ -249,29 +298,28 @@
/*提交按钮*/ /*提交按钮*/
.btn-wrap { .btn-wrap {
position: fixed; width: 100%;
// margin: px2rem(36); display: flex;
left: 0; align-items: center;
right: 0; justify-content: center;
bottom: 0;
padding: 30rpx 0; .button-image {
background: #f3f3f3; width: 38rpx;
padding-right: 20rpx;
}
.btn-submit { .btn-submit {
width: 600rpx; width: 600rpx;
border-radius: 52rpx;
// left: 5%;
// bottom: px2rem(36);
height: 104rpx; height: 104rpx;
line-height: 104rpx; line-height: 104rpx;
background: #2272ff; border-radius: 52rpx;
background: #2272FF;
font-size: 32rpx; font-size: 32rpx;
color: #fff; color: #fff;
&:disabled { &[disabled] {
border: 2rpx solid #999; background-color: #D1D4D4;
background-color: #f3f3f3; color: #FFFFFF;
color: #999;
} }
} }
} }
......
<template> <template>
<view class="container u-row-between" v-if="info"> <view class="container u-row-between" v-if="info">
<Settle :index="2"> <Settle :index="pageIndex">
<view class="content-view"> <view class="content-view">
<view class="u-flex u-row-center"> <view class="u-flex u-row-center">
<image :class="['icon', {active: status != 1}]" <image :class="['icon', {active: status != 1}]"
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
data() { data() {
return { return {
pageIndex: 2,
settledInfo: null, settledInfo: null,
promptList: [{ promptList: [{
status: 1, status: 1,
...@@ -93,9 +94,15 @@ ...@@ -93,9 +94,15 @@
} }
}, },
onLoad(e) { onLoad(e) {
if (e) {
if (e.pageIndex) {
this.pageIndex = e.pageIndex;
}
}
// if(!this.settledInfo){ // if(!this.settledInfo){
// this.getBaseInfo() // this.getBaseInfo()
// } // }
}, },
onShow() { onShow() {
if (!this.settledInfo) { if (!this.settledInfo) {
......
This diff is collapsed.
src/static/settle/top4@3x.png

577 KB | W: | H:

src/static/settle/top4@3x.png

189 KB | W: | H:

src/static/settle/top4@3x.png
src/static/settle/top4@3x.png
src/static/settle/top4@3x.png
src/static/settle/top4@3x.png
  • 2-up
  • Swipe
  • Onion skin
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment