|
@@ -8,6 +8,7 @@ import {
|
|
queryOrderStatusApi,
|
|
queryOrderStatusApi,
|
|
queryParamsApi,
|
|
queryParamsApi,
|
|
saveReportApi,
|
|
saveReportApi,
|
|
|
|
+ cancelPayApi
|
|
} from "@/services/home";
|
|
} from "@/services/home";
|
|
import type { QueryPa } from "@/types/home";
|
|
import type { QueryPa } from "@/types/home";
|
|
import HomeList from "./components/HomeList.vue";
|
|
import HomeList from "./components/HomeList.vue";
|
|
@@ -30,6 +31,12 @@ const userInfo = useMemberStore();
|
|
*
|
|
*
|
|
*/
|
|
*/
|
|
|
|
|
|
|
|
+/**
|
|
|
|
+ * flag = 1 表示未支付
|
|
|
|
+ * flag = 4 表示已支付,且当前扫码用户userId = 已支付用户userId
|
|
|
|
+ * flag = 5 已支付,且当前扫码用户userId != 已支付用户userId
|
|
|
|
+*/
|
|
|
|
+
|
|
//获取到的传输过来的唯一值
|
|
//获取到的传输过来的唯一值
|
|
const params = reactive<any>({
|
|
const params = reactive<any>({
|
|
title: "", //标题
|
|
title: "", //标题
|
|
@@ -184,61 +191,60 @@ const formatterData = (date: any, day: any) => {
|
|
return y + "-" + m + "-" + d;
|
|
return y + "-" + m + "-" + d;
|
|
};
|
|
};
|
|
|
|
|
|
-//1先生成订单号
|
|
|
|
-//2订单号生成后调用后台获取核心参数 核心参数获取到以后
|
|
|
|
-//3调用位置支付、、 查看成功与否
|
|
|
|
-//4如果是成功支付和用户取消了订单
|
|
|
|
-//5否则循环调用查询支付接口
|
|
|
|
-//支付完成后进行下边的逻辑--开始查询报告
|
|
|
|
-
|
|
|
|
//点击支付按钮生成的方法
|
|
//点击支付按钮生成的方法
|
|
const payButton = () => {
|
|
const payButton = () => {
|
|
//先调用订单生成
|
|
//先调用订单生成
|
|
- creatOrderFun(orderParams)
|
|
|
|
|
|
+ creatOrderFun({ 'linkId': orderParams.linId, 'userId': orderParams.userId })
|
|
};
|
|
};
|
|
-//生成订单号
|
|
|
|
|
|
+
|
|
|
|
+// 预支付,生成支付信息
|
|
const creatOrderFun = async (val: any) => {
|
|
const creatOrderFun = async (val: any) => {
|
|
const res = await createOrderApi(val);
|
|
const res = await createOrderApi(val);
|
|
|
|
+ // 预支付成功,拉起微信支付
|
|
if (res.code == '200') {
|
|
if (res.code == '200') {
|
|
- uni.showToast({
|
|
|
|
- title: '支付成功'
|
|
|
|
- })
|
|
|
|
- queryParams(scene.value)
|
|
|
|
|
|
+ let payInfo = {
|
|
|
|
+ "timeStamp": res.data.timeStamp,
|
|
|
|
+ "nonceStr": res.data.nonceStr,
|
|
|
|
+ "package": res.data.package,
|
|
|
|
+ "signType": "RSA",
|
|
|
|
+ "paySign": res.data.paySign,
|
|
|
|
+ }
|
|
|
|
+ payFun(payInfo);
|
|
}
|
|
}
|
|
- //获取到订单号了
|
|
|
|
-
|
|
|
|
- //然后调用预支付接口后去核心数据
|
|
|
|
- //payFun(val)
|
|
|
|
};
|
|
};
|
|
-//支付接口调用
|
|
|
|
-//调用后台接口返回订单号
|
|
|
|
-//调用后台接口返回 下单核心数据
|
|
|
|
|
|
+
|
|
|
|
+// 拉起微信支付收银台
|
|
const payFun = async (val: any) => {
|
|
const payFun = async (val: any) => {
|
|
- const res = await payAppointmentApi(val);
|
|
|
|
- //调用微信支付方法
|
|
|
|
uni.requestPayment({
|
|
uni.requestPayment({
|
|
...val,
|
|
...val,
|
|
success: (res: any) => {
|
|
success: (res: any) => {
|
|
if (res) {
|
|
if (res) {
|
|
- console.log(res);
|
|
|
|
if (res.errMsg == "requestPayment:ok") {
|
|
if (res.errMsg == "requestPayment:ok") {
|
|
|
|
+ params.flag = 4;
|
|
// console.log("支付成功");
|
|
// console.log("支付成功");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- fail: (res: any) => {
|
|
|
|
- console.log(res);
|
|
|
|
- if (res.errMsg == "requestPayment:fail cancel") {
|
|
|
|
- console.log("用户取消了支付");
|
|
|
|
|
|
+ fail: (err: any) => {
|
|
|
|
+ console.log(err);
|
|
|
|
+ if (err.errMsg == "requestPayment:fail cancel") {
|
|
|
|
+ cancelPay(orderParams.linId)
|
|
} else {
|
|
} else {
|
|
- queryOrderFor();
|
|
|
|
- //调用支付失败的具体原因
|
|
|
|
- //这时是不是就应该定时器调用订单状态
|
|
|
|
}
|
|
}
|
|
},
|
|
},
|
|
});
|
|
});
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+// 查询支付结果
|
|
|
|
+const queryPayResult = () => {
|
|
|
|
+
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// 用户取消支付
|
|
|
|
+const cancelPay = async (val: any) => {
|
|
|
|
+ const res = await cancelPayApi(val);
|
|
|
|
+}
|
|
|
|
+
|
|
//点击税务风险检测--弹出输入税务号的信息
|
|
//点击税务风险检测--弹出输入税务号的信息
|
|
const swGet = ref<any>();
|
|
const swGet = ref<any>();
|
|
const openSW = () => {
|
|
const openSW = () => {
|
|
@@ -252,21 +258,19 @@ const goCheck = () => {
|
|
//查询订单状态
|
|
//查询订单状态
|
|
const queryOrderStatus = async (val: any) => {
|
|
const queryOrderStatus = async (val: any) => {
|
|
const res = await queryOrderStatusApi(val);
|
|
const res = await queryOrderStatusApi(val);
|
|
- //判定返回参数
|
|
|
|
- //如果订单完成了
|
|
|
|
- //如果是满了返回了
|
|
|
|
- //需要去掉定时器
|
|
|
|
clearInterval(timeMe.value);
|
|
clearInterval(timeMe.value);
|
|
};
|
|
};
|
|
|
|
+
|
|
//定时器参数
|
|
//定时器参数
|
|
const timeMe = ref<any>();
|
|
const timeMe = ref<any>();
|
|
//创建一个定时器
|
|
//创建一个定时器
|
|
|
|
+
|
|
const queryOrderFor = () => {
|
|
const queryOrderFor = () => {
|
|
//进来的时候清除定时器
|
|
//进来的时候清除定时器
|
|
clearInterval(timeMe.value);
|
|
clearInterval(timeMe.value);
|
|
timeMe.value = setInterval(() => {
|
|
timeMe.value = setInterval(() => {
|
|
//嗲用方法
|
|
//嗲用方法
|
|
- queryOrderStatus({});
|
|
|
|
|
|
+ queryOrderStatus(orderParams.linId);
|
|
}, 3000);
|
|
}, 3000);
|
|
};
|
|
};
|
|
|
|
|