Browse Source

安心签

腾讯ocr渠道不签约
yangteng 5 months ago
parent
commit
9cf1bfe63e

+ 1
- 1
composables/order/orderJump.ts View File

*/ */
import { onLoad, onShow, onUnload } from "@dcloudio/uni-app"; import { onLoad, onShow, onUnload } from "@dcloudio/uni-app";
import { reactive, ref } from 'vue'; import { reactive, ref } from 'vue';
import { hasLogin, msg } from "@/utils/utils";
import { msg } from "@/utils/utils";
import { orderList } from "@/utils/network/api.js"; import { orderList } from "@/utils/network/api.js";
import useOrderSkip from "@/composables/order/useOrderSkip"; import useOrderSkip from "@/composables/order/useOrderSkip";
//办理订单按钮跳转业务逻辑 //办理订单按钮跳转业务逻辑

+ 0
- 7
pages.json View File

"navigationBarTitleText": "签署用户协议" "navigationBarTitleText": "签署用户协议"
} }
}, },
{
"path": "webView",
"style": {
"navigationBarTitleText": "签署用户协议",
"navigationStyle": "custom"
}
},
{ {
"path": "payment/payment", "path": "payment/payment",
"style": { "style": {

+ 29
- 8
subpackage/orders/order_payment.vue View File

data: { data: {
orderId: state.orderId, orderId: state.orderId,
wxOpenId: openidData.openid, wxOpenId: openidData.openid,
payType: val.payType
payType: val.payType,
longitude:state.longitude, //经度
latitude:state.latitude //纬度
}, },
method: "POST", method: "POST",
showLoading: true, showLoading: true,
if (data.paymentStatus == 'ALLSUCCESS') { if (data.paymentStatus == 'ALLSUCCESS') {
// isValueCard 1 储值卡 2 记账卡 // isValueCard 1 储值卡 2 记账卡
if (state.isValueCard == 1) { if (state.isValueCard == 1) {
uni.switchTab({
url: "/pages/order/order"
})
if(state.orderQuery == '1'){
uni.navigateBack()
}else{
uni.switchTab({
url: "/pages/order/order"
})
}
} else { } else {
navTo( navTo(
`/subpackage/orders/release-products?orderId=${state.orderId}&orderQuery=${state.orderQuery}`, `/subpackage/orders/release-products?orderId=${state.orderId}&orderQuery=${state.orderQuery}`,
} }
console.log("state.dataArray", state.dataArray) console.log("state.dataArray", state.dataArray)
}); });
uni.getLocation({
type: 'wgs84',
success: function (res) {
console.log("经纬福",res)
state.longitude = res.longitude;
state.latitude = res.latitude;
},
})
}); });
//解析URL获取参数 //解析URL获取参数
const getRequest = (urlStr) => { const getRequest = (urlStr) => {
// isValueCard 1 储值卡 2 记账卡 // isValueCard 1 储值卡 2 记账卡
const gotoEditUserOrUnitInfo = () => { const gotoEditUserOrUnitInfo = () => {
if (state.isValueCard == 1) { if (state.isValueCard == 1) {
uni.switchTab({
url: "/pages/index/index"
})
if(state.orderQuery == '1'){
uni.navigateBack()
}else{
uni.switchTab({
url: "/pages/order/order"
})
}
} else { } else {
navTo( navTo(
`/subpackage/orders/release-products?orderId=${state.orderId}&orderQuery=${state.orderQuery}`, `/subpackage/orders/release-products?orderId=${state.orderId}&orderQuery=${state.orderQuery}`,
openid: "", openid: "",
isclick: true,//防止重复点击 isclick: true,//防止重复点击
vehicleId: "", vehicleId: "",
orderQuery:"0"
orderQuery:"0",
longitude:"",
latitude:""
}); });
</script> </script>



+ 9
- 2
subpackage/orders/product-detail.vue View File

showLoading: true, showLoading: true,
}; };
requestNew(accountSign, options).then((res) => { requestNew(accountSign, options).then((res) => {
navTo(`/subpackage/orders/webView?url=${res.shortUrl}`)
console.log("去签署协议", res.shortUrl)
uni.navigateToMiniProgram({
appId: 'wxeee4ac6e61915479',
path: `/pages/externel/view/view?random=${res.random}&envType=product`,
envVersion: 'release',
fail:(error)=>{
console.log(error);
}
})
console.log("去签署协议", res)
}); });
} }
// 查询是否签署协议 // 查询是否签署协议

+ 54
- 12
subpackage/orders/transfer-page-sign.vue View File

<view><text>车主姓名</text><text class="car">{{state.details['ownerName']}}</text></view> <view><text>车主姓名</text><text class="car">{{state.details['ownerName']}}</text></view>
<view v-if="state.details['handlerName']"><text>办理人</text><text class="car">{{state.details['handlerName']}}</text></view> <view v-if="state.details['handlerName']"><text>办理人</text><text class="car">{{state.details['handlerName']}}</text></view>
<view><text>产品名称</text><text class="car">{{state.details['productName']}}</text></view> <view><text>产品名称</text><text class="car">{{state.details['productName']}}</text></view>
<view><text>权益说明</text><text class="car">{{state.details['rightsDesc']}}</text></view>
<view><text style="width:60%;">权益说明</text><text class="car">{{state.details['rightsDesc']}}</text></view>
<view><text>产品金额</text><text class="car">¥{{state.details['productAmount']*0.01}}</text></view> <view><text>产品金额</text><text class="car">¥{{state.details['productAmount']*0.01}}</text></view>
<view><text>应付金额</text><text class="car">¥{{state.details['productAmount']*0.01}}</text></view> <view><text>应付金额</text><text class="car">¥{{state.details['productAmount']*0.01}}</text></view>
<view class="noborder other-free">无其他费用</view> <view class="noborder other-free">无其他费用</view>
import { import {
navTo,hasLogin navTo,hasLogin
} from "@/utils/utils" } from "@/utils/utils"
import {agreementInSertOrder,contractQuery,orderQuery,accountSign,agreeOrderProdcut,envs} from "@/utils/network/api.js";
import {agreementInSertOrder,contractQuery,orderQuery,accountSign,agreeOrderProdcut,envs,queryKey} from "@/utils/network/api.js";
import { import {
getItem, getItem,
StorageKeys, StorageKeys,
if(state.orderId){ if(state.orderId){
contractRequest() contractRequest()
} }
})
onLoad(() => {
// 没登录情况
if (!hasLogin()) {
quanKeyAction()
navTo( `/login/login?back=1`)
}
if(getItem('key')){
let getColor = getItem('key')['VEHICLE_COLOR_TYPE']; let getColor = getItem('key')['VEHICLE_COLOR_TYPE'];
for (var k = 0; k < getColor.length; k++) { for (var k = 0; k < getColor.length; k++) {
let obj = {}; let obj = {};
obj['text'] = getColor[k]['name'] obj['text'] = getColor[k]['name']
state.colorRange.push(obj) state.colorRange.push(obj)
} }
// 没登录情况
if (!hasLogin()) {
navTo( `/login/login?back=1`)
}
}
})
const quanKeyAction = () => {
var data = {};
const options = {
type: 2,
data: data,
method: "POST",
};
requestNew(queryKey, options).then((res) => {
const data =res
console.log("枚举", data)
setItem('key', data.dictTypeAndItem)
})
.catch((err) => {
console.log(err);
});
}
onLoad(() => {
}) })
const query=()=>{ const query=()=>{
}) })
}else if(state.details['orderStep'] == OrderStatus['已支付/待签约']){ }else if(state.details['orderStep'] == OrderStatus['已支付/待签约']){
// 去签约 // 去签约
navTo(`/subpackage/orders/release-products?orderId=${state.orderId}&orderQuery=1`);
if(state.details['qtSign']==0){
// 不需要在我们这边签约提示
uni.showModal({
title: '提示',
content: '请在渠道工具完成签约',
success: function (res) {
if (res.confirm) {
console.log('用户点击确定');
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
}else{
navTo(`/subpackage/orders/release-products?orderId=${state.orderId}&orderQuery=1`);
}
}else if(state.details['orderStep'] == OrderStatus['待激活']){ }else if(state.details['orderStep'] == OrderStatus['待激活']){
// 待激活 // 待激活
gotoActiveOrder(state.details) gotoActiveOrder(state.details)
showLoading: true, showLoading: true,
}; };
requestNew(accountSign, options).then((res) => { requestNew(accountSign, options).then((res) => {
navTo(`/subpackage/orders/webView?url=${res.shortUrl}`)
console.log("去签署协议", res.shortUrl)
uni.navigateToMiniProgram({
appId: 'wxeee4ac6e61915479',
path: `/pages/externel/view/view?random=${res.random}&envType=product`,
envVersion: 'release',
fail:(error)=>{
console.log(error);
}
})
console.log("去签署协议", res)
}); });
} }
const changeColor = (e) => { const changeColor = (e) => {
margin-top: 30rpx; margin-top: 30rpx;
view{ view{
border-bottom: 1rpx solid #ccc; border-bottom: 1rpx solid #ccc;
height: 62rpx;
// height: 62rpx;
line-height: 62rpx; line-height: 62rpx;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;

+ 0
- 48
subpackage/orders/webView.vue View File

<template>
<web-view :src="state.url">
<!-- <cover-view class="custom-nav" @click="closeWebView">
<cover-image class="close-icon" src="/static/image/icon-back.png" ></cover-image>
<cover-view>返回</cover-view>
</cover-view> -->
</web-view>
</template>

<script setup>
import {onLoad} from "@dcloudio/uni-app";
import {reactive} from "vue";
const state = reactive({
url:"",
visitCount:0
})
onLoad((option) => {
console.log("option",option)
state.url=option.url
state.visitCount++
});
const closeWebView=()=>{
uni.navigateBack({
delta:state.visitCount
})
}
</script>

<style scoped>
.custom-nav {
position: fixed;
top: 0;
width: 100%;
height: 44px;
background-color: #fff;
display: flex;
justify-content: flex-start;
align-items: center;
z-index: 999;
box-sizing: border-box;
padding: 0 10rpx;
}
.close-icon{
width: 30rpx;
height: 30rpx;
transform:rotateX(180deg);
}
</style>

Loading…
Cancel
Save