Commit f10ceec0 authored by 郑秀明's avatar 郑秀明

签署合同与支付提交

parent 10de4fd0
No preview for this file type
// php测试环境
//export const php = 'http://test.pet-dbc.cn/mobile/index.php?'
export const php = 'http://test.pet-dbc.cn/mobile/index.php?'
// php镜像
// export const php = 'https://jingxiang.pet-dbc.cn/mobile/index.php?'
// php正式环境
export const php = 'https://shop.pet-dbc.cn/mobile/index.php?'
// export const php = 'https://shop.pet-dbc.cn/mobile/index.php?'
// go测试环境
// export const go = 'https://tm.pet-dbc.cn'
export const go = 'https://tm.pet-dbc.cn'
// go镜像环境
// export const go = 'https://jxm.pet-dbc.cn'
// go正式环境
export const go = 'https://m.pet-dbc.cn';
\ No newline at end of file
// export const go = 'https://m.pet-dbc.cn';
\ No newline at end of file
This diff is collapsed.
......@@ -15,7 +15,12 @@
},
methods: {
back() {
const routes = getCurrentPages();
if(routes.length > 1){
uni.navigateBack();
}else{
history.back();
}
}
}
}
......
......@@ -2,7 +2,7 @@
"name": "shop_mobile_uni",
"appid": "__UNI__F904656",
"description": "",
"versionName": "1.0.7",
"versionName": "1.0.6",
"versionCode": "100",
"transformPx": false,
"app-plus": {
......@@ -51,7 +51,7 @@
"mode": "history",
"base": "/uni"
},
"publicPath": "https://dbc-static.oss-cn-beijing.aliyuncs.com/dbc-shop/uni/prod/1.0.7/",
"publicPath": "https://dbc-static.oss-cn-beijing.aliyuncs.com/dbc-shop/uni/test/1.0.6/",
"optimization": {
"treeShaking": {
"enable": true
......@@ -62,7 +62,7 @@
"disableHostCheck": true,
"proxy": {
"/uni/api": {
"target": "http://10.0.0.116:6564/",
"target": "http://39.96.85.45:9093/",
"changeOrigin": true,
"secure": false,
"pathRewrite": {
......
......@@ -102,6 +102,24 @@
"style": {
"navigationBarTitleText": "退定金-谛宝多多商城"
}
},
{
"path": "pages/wxpay/wxpay",
"style": {
"navigationBarTitleText": "微信支付-谛宝多多商城"
}
},
{
"path": "pages/yuepay/yuepay",
"style": {
"navigationBarTitleText": "余额支付-谛宝多多商城"
}
},
{
"path": "pages/payresult/payresult",
"style": {
"navigationBarTitleText": "支付状态-谛宝多多商城"
}
}
],
"globalStyle": {
......
......@@ -3,30 +3,30 @@
<TopBar title="谛宝收银台"/>
<view class="stand_title">分期定金</view>
<view class="stand_price">
<text class="symbol">¥</text>1998
<text class="symbol">¥</text>{{data.advance_payment}}
</view>
<view class="flex">
<image src="https://dbc-static.oss-cn-beijing.aliyuncs.com/credit_shop/20190424/goods/5cc03cef241dc.jpeg?x-oss-process=image/resize,m_lfit,w_300,h_300/auto-orient,0/quality,Q_85/format,jpg"></image>
<image :src="data.img_url"></image>
<view>
<view class="stand_goods_name">金融分期 谛宝 商品名称</view>
<view class="stand_goods_price">¥20,000</view>
<view class="stand_goods_name">{{data.equipment_name}}</view>
<view class="stand_goods_price">¥{{data.equipment_price}}</view>
</view>
</view>
<view class="stand_title" style="margin-top:60rpx">分期定金</view>
<view class="stand_tips">方案内详细信息</view>
<view class="stand_nper">10</view>
<view class="stand_nper">{{data.periods_num}}</view>
<view class="poupp_deposit">
<text>定金</text>
<text>¥ 2100</text>
<text>¥ {{data.advance_payment}}</text>
</view>
<view class="poupp_nper_detail">
<view>
<text>第1期 支付</text>
<text>¥ 2030.20</text>
<text>¥ {{data.first_payment}}</text>
</view>
<view>
<text>剩余9期 每期支付</text>
<text>¥ 11335</text>
<text>¥ {{data.remaining_payment}}</text>
</view>
</view>
<view class="pay_btn" @click="open()">确认支付</view>
......@@ -35,19 +35,37 @@
<view class="popup_top_bar">选择支付方式<text @click="close()"></text></view>
<view class="flex">
<text class="pay_title">支付定金</text>
<text class="pay_num">¥2900</text>
<text class="pay_num">¥{{data.order_price}}</text>
</view>
<view class="flex pay_item">
<view class="flex pay_item" @click="handleSelect(1)">
<view class="flex">
<text class="pay_methods_icon"></text>
<text class="pay_methods_icon yue"></text>
<view>
<view class="pay_methods_name">余额支付</view>
<view class="pay_methods_num">剩余余额:2360.20</view>
<view class="pay_methods_num">剩余余额:{{data.money}}</view>
</view>
</view>
<text class="uncheck"></text>
<text :class="type ===1 ? 'check' : 'uncheck'"></text>
</view>
<view class="pay_methods_btn">确认支付</view>
<view class="flex pay_item pay_item_other" @click="handleSelect(2)">
<view class="flex">
<text class="pay_methods_icon weixin"></text>
<view>
<view class="pay_methods_name">微信支付</view>
</view>
</view>
<text :class="type === 2 ? 'check' : 'uncheck'"></text>
</view>
<view class="flex pay_item pay_item_other" @click="handleSelect(3)">
<view class="flex">
<text class="pay_methods_icon alipay"></text>
<view>
<view class="pay_methods_name">支付宝支付</view>
</view>
</view>
<text :class="type === 3 ? 'check' : 'uncheck'"></text>
</view>
<view class="pay_methods_btn" @click="handleSubmit">确认支付</view>
</view>
</uni-popup>
</view>
......@@ -59,10 +77,88 @@
export default {
data() {
return {
data: {},
type: 1,
order_price: '',
money: ''
}
},
onLoad(){
this.loadData();
},
methods: {
loadData(){
const install = uni.getStorageSync('installment');
const {contract_no, equipment_id, property_id} = install;
uni.request({
url: `/uni/api/repayment/PayDetails?contract_no=${contract_no}`,
method: 'GET',
dataType: 'json',
success: (res) => {
const {data} = res;
if(data.data){
this.data = data.data;
this.order_price = data.data.order_price;
this.money = data.data.money;
}
}
})
},
// 选择支付方式
handleSelect(type){
this.type = type;
},
// 确认支付
handleSubmit(){
const {origin} = location;
const install = uni.getStorageSync('installment');
const {contract_no, equipment_id, property_id} = install;
if(!this.order_price || !contract_no){
uni.showToast({
title: '参数错误,无法发起支付',
icon: 'none'
})
}
// 余额支付
if(this.type === 1){
uni.navigateTo({
url: `/pages/yuepay/yuepay?amount=${this.order_price}&money=${this.money}&order_id=${contract_no}`
})
}
// 微信支付
if(this.type === 2){
this.$jump(`${origin}/uni/api/repayment/RedirectAuth?amount=${this.order_price}&order_id=${contract_no}`);
}
// 支付宝支付
if(this.type === 3){
uni.showLoading({
title: '提交中。。。'
})
uni.request({
url: `/uni/api/repayment/GoPay`,
method: 'post',
dataType: 'json',
data: {
amount: parseFloat(this.order_price),
order_id: contract_no,
payment_code: "epayalipaywap",
payment_name: "手机支付宝支付"
},
success: (res) => {
const {data} = res;
uni.hideLoading();
if(data.code === 0){
this.$jump(data.data);
}else{
uni.showToast({
title: '发起支付失败',
icon: 'none'
})
}
}
})
}
},
open() {
this.$refs.popup.open();
},
......@@ -228,7 +324,15 @@
background-size: 100% 100%;
background-repeat: no-repeat;
margin-right: 16rpx;
background-image: url(../../static/category/2641581405726_.pic.png);
&.yue{
background-image: url(../../static/paytype/yue.png);
}
&.weixin{
background-image: url(../../static/paytype/weixin.png);
}
&.alipay{
background-image: url(../../static/paytype/alipay.png);
}
}
.pay_methods_name {
font-size: 26rpx;
......@@ -248,6 +352,8 @@
background-size: 100% 100%;
}
.check {
width: 40rpx;
height: 40rpx;
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAMAAADW3miqAAACoFBMVEUhISEkIyArKR84Mx49Nh1cThhgURdiUxdqWRZwXhVzYBV+aROAahOihQ61kwu4lQu6lwq9mQrKpAjasAXwwQL3xgH9ywD/zQD/zQH/zQL/zgf/zgn/zwr/zxD/0BD/0BL/0BP/0RP/0RT/0RX/0h7/0x7/0x//0yP/1CT/1Cj/1Sf/1Sj/1Sr/1Sz/1jH/1zP/1zT/1zX/2Dn/2Dr/2T//2UD/2UL/2kH/2kT/2kX/20X/3E3/3E//3VL/3VT/3lT/3lf/3lj/31v/313/31//32H/4GH/4Gb/4Wb/4Wr/4Wz/4mn/4mv/4m3/43H/43L/43T/43X/5HP/5HT/5HX/5Hb/5Hf/5Hj/5Hn/5Hr/5Xn/5Xv/5X3/5oD/5oH/5oP/5oT/54P/54X/54b/54f/54n/6In/6Iv/6I7/6Y7/6Y//6ZL/6ZP/6ZT/6pf/6pj/6pn/65f/65n/65r/65v/657/65//7KD/7KP/7KT/7aP/7ab/7af/7aj/7an/7qr/7qv/7qz/7q3/763/767/76//77H/77P/8LT/8LX/8Lb/8Lf/8br/8bv/8b3/8r7/8sD/8sH/8sL/88L/88T/88X/88b/88n/9Mj/9Mn/9Mr/9Mv/9Mz/9M3/9c3/9c7/9dD/9dH/9tH/9tL/9tP/9tT/99b/99f/99j/99n/99r/99z/+Nv/+Nz/+N3/+N7/+N//+d7/+d//+eH/+eL/+eP/+eX/+uL/+uT/+uX/+ub/+uf/+uj/+un/+uv/++r/++v/++z/++3/++7/++//+/D//O7//O///PD//PH//PL//PP//PT//PX//fT//fX//fb//ff//fj//fn//fv//vb//vj//vn//vr//vv//vz//v3///z///3///7////If3C4AAACf0lEQVQ4y2O4TwRgQBe4BwR4FN27dfPyxfPnTp8+c+Hi5Zu372FRdO/m9bMn922ujg8Pj6/efujUhcu37qEpunfr+vljW1P0JcXBQNIgbcdxhDKIors3LxzdlSkvjgTks/acunbzHkLR7RvnD660EEcDlmuPXbhyF6bo7o3z+6doi2MA7RkHL1y5B1F07+b5/Yu1xLEAzeUHL4BsZAC6+cLBVabiWIHZ+uPXboMU3b58ZH2cOA6QtOXU5XtARTfPbZsli0uR3KK9F27dZ7h3/dCKYHGcIGzjicv3GG6d3zlLB1NSmFcETOsu2HvhNsONE2u6JTHUCDExcELCvm/z6TsMlw4sjsOmhoEbwkxecfgGw4VdM10hXAEWHjGEGlZRCNtjwf5rDGc2T3KAcNkYGLjE0NWIO03fdYHh9Lo+ewhXkBGiCkWNuOOUrVcZTq7ucYTy+cCqUNWIO0/ecgakyFccSRU7qhrxIJAioHXZEsiqUNVIFIOsAzq8RFUcWRWyGnG1KpDDgUFQYYMQ5GfmQFYjbtcACgJgYLamSOOKOpmMLlBgAqOlN88alyLb0kmgaAFFcE2COnY1Gukt4AgGJZWe/ABFbGqUIksngJMKKNHNbcn0UMBUo+iT27lkDyjRgZPv1JpUHxV0NWp+GU2zockXnBEmVqb5mUghK5EyD8monwbLCOAstWJSTUaUu5ESNOwllI29Y3Iap62DZSlI5lw1taUoKdTTxcJQT8/Qys0rIrW0fdZGROaEZPMN83vr8tNjI0L8/QOjEzNKmics3IKczaEFxso5fW01ZQWFhcXltR0T569GKzCgRc+2dUvnTJ3Q3z9x2rxlm3afQBQ9AO0gCIzNUhSlAAAAAElFTkSuQmCC') no-repeat;
background-size: 100% 100%;
}
......@@ -270,5 +376,8 @@
font-size: 28rpx;
margin-top: 22rpx;
}
.pay_item_other{
margin-top: 0;
}
}
</style>
<template>
<view class="content">
<view class="nav">支付状态</view>
<view class="icon"></view>
<view class="title">支付成功</view>
<button class="btn" type="default"><text>{{time}}</text>s)跳转个人中心</button>
</view>
</template>
<script>
export default{
data(){
return {
time: 5
}
},
onLoad(){
if(timer){
clearInterval(timer);
}
let timer = setInterval(() => {
if(this.time <= 0){
const {origin} = window.location;
this.$jump(`${origin}/index.php?app=member`);
clearInterval(timer);
return;
}
this.time = this.time - 1;
}, 1000)
}
}
</script>
<style lang="scss">
.content{
height: 100vh;
background-color: #fff;
.nav{
height: 100rpx;
line-height: 100rpx;
padding: 0 20rpx;
position: relative;
background-color: #fff;
text-align: center;
width: 100%;
font-size: 30rpx;
border-bottom: 1px solid #efefef;
}
.icon{
background: url(data:image;base64,iVBORw0KGgoAAAANSUhEUgAAAEwAAABMCAMAAADwSaEZAAAAbFBMVEX/zlb//////vv//fn/+/L/+u///Pf//PT/+ev/9+X/+Oj/9uH/9Nv/9d7/89f/8tP/8c//8Mr/0Fv/67v/02f/0WH/0F7/35D/2oD/5qf/7cL/3Yj/0mT/6bH/13b/1nH/4pr/45//4JT/1W0DuFcCAAAD/0lEQVRYw63Y2WKbMBAFUOHESQCz7+Dd//+PlQZZVws2IultH/rS0zsjOTWw4D/GB9tR/ortJEO/ZH6FPR0jEt2G4e99GIG/joEC9KXFANcxUAr6VlGgHHoVAzU7n0aESB7avcE0iqC9FQJnjrwlDBaoWfoRiXjoD+TpHDRgGFFSVEowxdCd66Ysm/rcDYUgqd4yx5wRqRVRYTW1zEg7VSFx1E5uzsRgUS9JJbcGCtLcEsmpg3AxqkUjEhVfS/Yi5TUWnBgVkwLD6mWtqKrZm9RVJMuhm9EMFl9Wx1bS8dVBAyYpWFF6Yau5pJGrMcOiEfOaeaTOxaimxnCQslfeMK80ueyGQyBM3ol5RvRa6zZPSjckUNhO3lVhxRfmnUssNHl7d8B4L7LMc1w/U9J4N4UJVi4/rNimVCEdwrMaM4ol9TasToxqDMX4kFe2MVc+KKoRJk8yTMutWJmG8kSByZNEMf9q8kRnDBsLk2Y71iQhtsa0jZ3YL3LC1jQsjPvfYH0cAqMpqVjSel7VTD+nNqFqNCfD+ke/86uCoGBaRhwBw5Q3v89jwKNv9xaHJrbf8yknn5vwEYgMDJn4nPv9jGFl51WqKYja3ZmWM5bG1Mqcz2XpHNwPWV+99flUS2NqZYfG/olgVR12ZO3PVt1DHLpYaVp8nEEvkAWU8GEPsI6dApFMjT59zlbasDXMHfM+H9t3py4XpTDrL48Zcaw2ty2rjK28XCIVc1NzLHIwa7GXnxmIenG5cL3snIFpY072PxkHCK6XnWlxZzd3G7r13bPF3BYxdyFtBgvXy0q1iKWt+yOieFph/cJqU2DaxyldmmPE9VpOn+LjpH3QDyf2QsP1cnM64IOu/Qg6ZO3iTowfX+5aD/qPIG1p9+UNv/upecfKBIalHYrt/wkXB7EyYFha2m3FuhQrM/+rS9L8uM065mmCKTWMjmDYhg20fhNDtWzaYk0ZihEW7PQjSPOHv/XIU6zf+UrFtWw8ei9szLhlfaVCNXHXssr3q3uViTtmfNkzvx8nQjt69eIWti8w5wtyLLTx4bGvUVix/QXZrEZaMa2eY0GWXsx6qICWD8e3Iw45LOuhgqrRiUIrutcPr10hLTzu4NkJa9O0fOzaJartxly35BWzMVqb1Igrhr61pH4oiCJr+RFRTqq6zeWynHune385tmXZHi/9/VTknJprUS9YFgaNynFOes9IiVNUC5b7wI9u86iCkx7lKQlqHhG9Fh74A7yKEOWonfC4SL+FRK2oFl5FBGjmvAfimuKon4roRJSqJXsBg6Zu75PjHgeRkEuR8foGvYBBs18sCZBCkNeLJXAbX3mtvIwT+fvLOHTze00IaxlDu/UXmKCQfzZUUs7ujoekAAAAAElFTkSuQmCC) no-repeat;
background-size: cover;
width: 152rpx;
height: 152rpx;
margin: 0 auto;
margin-top: 100rpx;
}
.title{
text-align: center;
margin-top: 30rpx;
font-size: 30rpx;
}
.btn{
font-size: 30rpx;
margin: 0 48rpx;
margin-top: 80rpx;
}
uni-button[type=default]{
background-color: #FFCF59;
color: rgba(0,0,0,1);
}
uni-button[loading][type=default]{
background-color: #dcb14d;
}
.button-hover[type=default]{
color: rgba(0,0,0,.5);
background-color: #dcb14d;
}
}
</style>
......@@ -4,27 +4,34 @@
<view :style="{'margin-top':'28rpx'}">
<view class="apply_title">签署合同</view>
<view class="apply_desc">请填写合同内详细信息</view>
<view v-for="(item,index) in list" :key="index">
{{item.index}}
</view>
</view>
<uni-collapse>
<uni-collapse-item title="企业信息" :open="true">
<view class="sign_title">企业名称</view>
<view v-for="(item, index) in list" :key="index">
<view class="sign_title">{{item.name}}</view>
<view>
<input type="text" class="sign_input">
<input type="text" v-model="list[index].value" value="" :name="item.key" class="sign_input">
</view>
</view>
</uni-collapse-item>
</uni-collapse>
<view class="agreement">
关于
<!-- <text>《谛宝多多金融分期协议》</text> -->
<text>《xx产品分期采购合同》</text>
</view>
<view>
<text class="sign_checkbox"></text>
<view @click="checkAgree" class="checkAgree">
<text class="sign_checkbox" :class="{act: is_agree}"></text>
<text class="agree_title">我已阅读并同意</text>
<text @click="previewContract" class="agreement">《产品分期采购合同》</text>
</view>
<!-- <text>《谛宝多多金融分期协议》</text> -->
<!-- <view class="agreement">
关于
<text @click="previewContract">《产品分期采购合同》</text>
</view> -->
<view class="sign_btn_box">
<text class="prev_step">上一步</text>
<text class="confirm_pay">缴纳定金
<text class="confirm_pay" @click="handleSubmit">缴纳定金
<i class="arrow_icon"></i>
</text>
</view>
......@@ -38,7 +45,10 @@
export default {
data() {
return {
list: []
list: [],
data: {},
is_eidt: false,
is_agree: false
}
},
components: {
......@@ -50,21 +60,134 @@
this.loadData();
},
methods:{
async loadData() {
const value = uni.getStorageSync('installment');
// 默认获取合同签署字段
loadData(){
const install = uni.getStorageSync('installment');
const {contract_no, equipment_id, property_id} = install;
// 获取合同已填的信息
uni.request({
url: `/uni/api/signcontract/GetContractField?equipment_id=${128}`,
url: `/uni/api/signcontract/GetContract?contract_no=${contract_no}`,
method: 'GET',
dataType: 'json',
success: (res) => {
const {data} = res;
if(data.code == 0){
this.hot_list = data.data || [];
if(data.data){
const { contract_content } = data.data;
if(contract_content){
this.data = JSON.parse(contract_content);
this.is_eidt = true;
}
}
uni.request({
url: `/uni/api/signcontract/GetContractField?equipment_id=${equipment_id}`,
method: 'GET',
dataType: 'json',
success: (res) => {
const {data} = res;
if(data.code == 0){
this.list = data.data || [];
for(var i=0; i< this.list.length; i++){
let key = this.list[i].key;
this.list[i].value = this.data[key] || '';
}
}
}
})
}
}
})
},
// 缴纳定金提交
handleSubmit(){
if(!this.is_agree){
uni.showToast({
title: '请阅读并同意采购分期合同',
duration: 2000,
icon: 'none'
});
return;
}
const data = this.getData();
const install = uni.getStorageSync('installment');
const {contract_no, equipment_id, property_id} = install;
const url = this.is_eidt ? '/uni/api/signcontract/EditContract' : '/uni/api/signcontract/AddContract';
uni.showLoading({
title: '提交中。。。'
})
uni.request({
url: url,
method: this.is_eidt ? 'PUT' : 'POST',
data: {
contract_no: contract_no,
equipment_id: equipment_id,
property_id: property_id,
contract_content: data
},
dataType: 'json',
success: (res) => {
const {data} = res;
uni.hideLoading();
if(data.code == 0){
this.is_eidt = true;
uni.navigateTo({
url: '/pages/checkstand/checkstand'
});
}else{
uni.showToast({
icon: 'none',
title: '提交失败,请重试'
})
}
}
});
},
// 预览合同
previewContract(){
const data = this.getData();
const install = uni.getStorageSync('installment');
const {contract_no, equipment_id, property_id} = install;
uni.showLoading({
title: '获取合同中...',
});
uni.request({
url: '/uni/api/signcontract/PreviewContract',
method: 'POST',
data: {
contract_no: contract_no,
equipment_id: equipment_id,
property_id: property_id,
contract_content: data
},
dataType: 'json',
success: (res) => {
const {data} = res;
uni.hideLoading();
if(data.code == 0){
this.$jump(data.data.viewUrl);
}else{
uni.showToast({
icon: 'none',
title: '获取失败'
})
}
}
});
},
checkAgree(){
this.is_agree = !this.is_agree;
},
// 获取签署合同提交信息
getData(){
const length = this.list.length;
let data = {};
for(var i = 0; i < length; i++){
let key = this.list[i].key;
data[key] = this.list[i].value;
}
return data;
}
}
}
</script>
......@@ -142,7 +265,8 @@
}
.agreement {
font-size: 26rpx;
color: #979797;
// color: #979797;
color: #718BCA;
margin-top: 34rpx;
text {
color: #718BCA;
......@@ -152,6 +276,9 @@
font-size: 26rpx;
color: #7C7C7C;
}
.checkAgree{
margin-top: 26rpx;
}
.sign_checkbox {
display: inline-block;
width: 36rpx;
......
<template>
<view class="content">
<view class="nav-content">
<uni-icons color="#212121" class="search-icon-arrowleft" size="24" type="arrowleft" @click="goBack" />
<view class="title">微信支付</view>
</view>
<view class="price">
{{amount}}
</view>
<button type="primary" class="submit-btn" :loading="loading" @click="handleSumit">立即支付</button>
</view>
</template>
<script>
import uniIcons from "@/components/uni-icons/uni-icons.vue";
import {parse} from 'querystring'
export default{
components: {
uniIcons
},
data(){
return {
loading: false,
amount: ''
}
},
onLoad(){
const { href } = location;
const { amount, order_id, code } = parse(href.split('?')[1]);
this.amount = amount;
},
methods: {
handleSumit(){
const { href } = location;
const { amount, order_id, code } = parse(href.split('?')[1]);
if(!amount || !order_id || !code){
uni.showToast({
title: '参数错误请重新支付',
icon: 'none'
})
return;
}
this.loading = true;
uni.request({
url: `/uni/api/repayment/GoPay`,
method: 'post',
dataType: 'json',
data: {
amount: parseFloat(amount),
order_id: order_id,
payment_code: "epaywxjs",
payment_name: "微信支付",
wx_code: code
},
success: (res) => {
const {data} = res;
this.loading = false;
if(data.code === 0){
this.onBridgeReady(data.data);
}
}
})
},
onBridgeReady(res){
if(res.package === undefined){
uni.showToast({
title: '获取参数失败,请重新支付',
duration: 2000,
icon: 'none'
});
// this.closeWindow();
return;
}
WeixinJSBridge.invoke(
'getBrandWCPayRequest', {
"appId": res.app_id, //公众号名称,由商户传入
"timeStamp": res.timeStamp, //时间戳,自1970年以来的秒数
"nonceStr": res.nonce_str, //随机串
"package": res.package,
"signType": res.sign_type, //微信签名方式:
"paySign": res.pay_sign //微信签名
},
function (res) {
WeixinJSBridge.log(res.err_msg);
const url = window.location.origin;
if (res.err_msg === "get_brand_wcpay_request:ok") {
uni.navigateTo({
url: '/pages/payresult/payresult'
})
} else if (res.err_msg === "get_brand_wcpay_request:cancel") {
Toast.info("支付取消", 2);
// 重新跳转支付页面,刷新当前code 值
this.$jump(`${url}?app=member`);
} else if (res.err_msg === "get_brand_wcpay_request:fail") {
// Toast.fail('支付失败', 3);
// 提示支付失败,关闭当前页面
setTimeout(function() {
//这个可以关闭安卓系统的手机
document.addEventListener(
"WeixinJSBridgeReady",
function() {
WeixinJSBridge.call("closeWindow");
},
false
);
//这个可以关闭ios系统的手机
WeixinJSBridge.call("closeWindow");
}, 300);
} else {
uni.showToast({
title: '未知错误,刷新重试',
duration: 2000,
icon: 'none'
});
}
}
);
}
}
}
</script>
<style lang="scss">
.nav-content{
height: 100rpx;
padding: 0 20rpx;
display: flex;
justify-content: start;
align-items: center;
position: relative;
.search-icon-arrowleft{
width: 40rpx;
position: absolute;
left: 20rpx;
}
.title{
text-align: center;
width: 100%;
font-size: 30rpx;
}
}
.price{
text-align: center;
margin-top: 150rpx;
font-size: 60rpx;
}
.submit-btn{
margin: 0 48rpx;
margin-top: 80rpx;
font-size: 34rpx;
}
uni-button[type=primary]{
background-color: #07c160;
}
uni-button[loading][type=primary]{
background-color: #06ae56;
}
.button-hover[type=primary]{
color: rgba(0,0,0,.5);
background-color: #06ae56;
}
</style>
<template>
<view class="content">
<view class="nav-content">
<uni-icons color="#212121" class="search-icon-arrowleft" size="24" type="arrowleft" @click="goBack" />
<view class="title">余额支付</view>
</view>
<view class="order_info">
<view class="info_content">
<view class="order_price">
<text>订单总价:</text>
<text style="color: #8F99A7;">{{order_price}}</text>
</view>
<view class="money">
<text>账户余额:</text>
<text style="color: #8F99A7;">{{money}}</text>
</view>
</view>
<view class="password_content">
<view class="title">
支付密码
</view>
<input type="password" class="password" v-model="password" placeholder="默认支付密码:123456" />
</view>
</view>
<button type="primary" class="submit-btn" :loading="loading" @click="handleSumit">立即支付</button>
</view>
</template>
<script>
import uniIcons from "@/components/uni-icons/uni-icons.vue";
import md5 from '../../common/md5.js';
export default{
components: {
uniIcons
},
data(){
return {
money: '',
order_price: '',
order_id: '',
password: '',
loading: false
}
},
onLoad(option){
const {amount, money, order_id} = option;
this.money = money || '0.00';
this.order_price = amount || '0.00';
this.order_id = order_id || '';
},
methods: {
handleSumit(){
this.loading = true;
uni.request({
url: `/uni/api/repayment/GoPay`,
method: 'post',
dataType: 'json',
data: {
amount: parseFloat(this.order_price),
order_id: this.order_id,
payment_code: "tbopay",
payment_name: "余额支付",
password: md5(this.password)
},
success: (res) => {
const {data} = res;
this.loading = false;
if(data.code === 0){
uni.navigateTo({
url: '/pages/payresult/payresult'
})
}else{
uni.showToast({
title: data.message,
icon: 'none'
})
}
}
})
}
}
}
</script>
<style lang="scss">
.content{
background-color: #F8F8F8;
min-height: 100vh;
.order_info{
background-color: #fff;
margin: 0 24rpx;
min-height: 228rpx;
background: rgba(255,255,255,1);
border-radius: 20rpx;
margin-top: 30rpx;
box-sizing: border-box;
padding: 24rpx;
.info_content{
border-bottom: 1rpx solid #ececec;
.order_price,.money{
color: #212121;
font-size: 28rpx;
font-family:PingFangSC-Regular,PingFang SC;
font-weight:400;
height: 40rpx;
line-height: 40rpx;
margin-bottom: 20rpx;
}
}
}
.password_content{
padding-top: 20rpx;
.title{
font-size: 28rpx;
font-family:PingFangSC-Regular,PingFang SC;
font-weight:400;
margin-bottom: 20rpx;
}
.password{
height: 96rpx;
line-height: 96rpx;
padding-bottom: 8rpx;
box-sizing: border-box;
border-bottom: 2rpx solid #ECECEC;
font-size: 30rpx;
padding-left: 20rpx;
}
}
}
.nav-content{
height: 100rpx;
padding: 0 20rpx;
display: flex;
justify-content: start;
align-items: center;
position: relative;
background-color: #fff;
.search-icon-arrowleft{
width: 40rpx;
position: absolute;
left: 20rpx;
}
.title{
text-align: center;
width: 100%;
font-size: 30rpx;
}
}
.price{
text-align: center;
margin-top: 150rpx;
font-size: 60rpx;
}
.submit-btn{
margin: 0 48rpx;
margin-top: 80rpx;
font-size: 34rpx;
}
uni-button[type=primary]{
background-color: #FFCF59;
color: rgba(0,0,0,1);
}
uni-button[loading][type=primary]{
background-color: #dcb14d;
}
.button-hover[type=primary]{
color: rgba(0,0,0,.5);
background-color: #dcb14d;
}
</style>
No preview for this file type
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