feat: 合同签署

This commit is contained in:
2025-08-12 20:03:50 +08:00
parent cd8ecd0a48
commit a41db76b4b
3 changed files with 36 additions and 32 deletions
+10 -8
View File
@@ -75,14 +75,6 @@ export function isSignContract() {
}); });
} }
// 获取H5签署链接
export function getSignUrl(data) {
return request({
url: "/signature/createFlowSignUrl",
method: "post",
data,
});
}
// 发起合同签章 // 发起合同签章
export function signContract(data) { export function signContract(data) {
@@ -93,6 +85,16 @@ export function signContract(data) {
}); });
} }
// 获取H5签署链接
export function getSignUrl(data) {
return request({
url: "/signature/createFlowSignUrl",
method: "post",
data,
});
}
// 获取跳转至腾讯电子签小程序的签署链接 // 获取跳转至腾讯电子签小程序的签署链接
export function getMiniProgramSignUrl(data) { export function getMiniProgramSignUrl(data) {
return request({ return request({
+24 -23
View File
@@ -77,7 +77,8 @@
<view class="operate_comm operate_but_2" v-if="!isCheckSigne && item.status === ORDER_TYPE.NOT_RECEIVE" <view class="operate_comm operate_but_2" v-if="!isCheckSigne && item.status === ORDER_TYPE.NOT_RECEIVE"
@click="onSignContract(item)">去签署 @click="onSignContract(item)">去签署
</view> </view>
<view v-if="isCheckSigne && item.status === ORDER_TYPE.NOT_RECEIVE" @click="confirmReceiptOk(item)">确认收货 <view class="operate_comm operate_but_2" v-if="isCheckSigne && item.status === ORDER_TYPE.NOT_RECEIVE"
@click="confirmReceiptOk(item)">确认收货
</view> </view>
<!-- <view class="operate_comm operate_but_3" v-if="item.status === ORDER_TYPE.UNSHIPPED">提醒发货</view> --> <!-- <view class="operate_comm operate_but_3" v-if="item.status === ORDER_TYPE.UNSHIPPED">提醒发货</view> -->
<view class="operate_comm operate_but_1" <view class="operate_comm operate_but_1"
@@ -442,24 +443,36 @@ export default {
const params = { const params = {
// 需要的参数 // 需要的参数
orderId: item.id, orderId: item.id,
// orderId: 'yDt4ZUUckp9j355lUEEr2XwS6QZTaLFb'
} }
const { bizcode, data } = await signContract(params); const { bizcode, data } = await signContract(params);
if (bizcode === 100) { if (bizcode === 100) {
this.flowId = item.flowId this.flowId = data.flowId;
if (this.flowId) if (this.flowId)
// #ifdef APP-PLUS || WEB
this.onGetSignUrl(this.flowId); this.onGetSignUrl(this.flowId);
// #endif
// #ifdef MP-WEIXIN
// 小程序
this.onGetMiniProgramSignUrl(this.flowId)
// #endif
} }
}, },
// 获取H5签署链接 // 获取H5签署链接
async onGetSignUrl(flowId) { async onGetSignUrl(flowId) {
console.log("获取H5签署链接", flowId)
const params = { const params = {
// 需要的参数 // 需要的参数
orderId: flowId, flowId: flowId,
} }
const { bizcode, data } = await getSignUrl(params); const { bizcode, data } = await getSignUrl(params);
console.log("获取H5签署链接-1", data)
if (bizcode === 100) { if (bizcode === 100) {
this.onGetMiniProgramSignUrl(data) this.signUrl = data.flowApproverUrlInfos[0].longUrl
// this.onGetMiniProgramSignUrl(data)
} else { } else {
this.$refs.uToastRef.show({ this.$refs.uToastRef.show({
type: 'error', type: 'error',
@@ -470,25 +483,15 @@ export default {
}, },
// 获取跳转至腾讯电子签小程序的签署链接 // 获取跳转至腾讯电子签小程序的签署链接
async onGetMiniProgramSignUrl(item) { async onGetMiniProgramSignUrl(flowId) {
const params = { const params = {
// 需要的参数 flowId: flowId,
flowId: this.flowId, endPoint: 'HTTP_SHORT_URL'
endPoint: item.flowApproverUrlInfos.signUrl
} }
const { bizcode, data } = await getMiniProgramSignUrl(params); const { bizcode, data } = await getMiniProgramSignUrl(params);
if (bizcode === 100) { if (bizcode === 100) {
// return data;
console.log("跳转至腾讯电子签小程序的签署链接", data); console.log("跳转至腾讯电子签小程序的签署链接", data);
this.openTencentESign(data.schemeUrl);
// #ifdef APP-PLUS || WEB
// #endif
// #ifdef MP-WEIXIN
// 小程序
this.openTencentESign(data);
// #endif
} else { } else {
this.$refs.uToastRef.show({ this.$refs.uToastRef.show({
type: 'error', type: 'error',
@@ -506,13 +509,12 @@ export default {
// } // }
}, },
// 小程序签名 // 小程序签名
openTencentESign() { openTencentESign(data) {
// 这个链接需要后端调用腾讯电子签 API 获取 // 这个链接需要后端调用腾讯电子签 API 获取
// 类似:https://esign.tencent.com/miniprogram?flowId=xxxx&token=xxxx const signPath = `/pages/sign/sign?flowId=${data.flowId}&token=${data.token}` // 腾讯电子签小程序内部页面路径
const signPath = '/pages/sign/sign?flowId=xxxxx&token=yyyyy' // 腾讯电子签小程序内部页面路径
uni.navigateToMiniProgram({ uni.navigateToMiniProgram({
appId: 'wxXXXXXXXXXXXXXXX', // 腾讯电子签官方小程序的 appId appId: 'wxa023b292fd19d41d', // 腾讯电子签官方小程序的 appId
path: signPath, // 跳转到的页面路径 + 参数 path: signPath, // 跳转到的页面路径 + 参数
extraData: {}, // 如果需要传额外参数 extraData: {}, // 如果需要传额外参数
envVersion: 'release', // 小程序版本 release / trial / develop envVersion: 'release', // 小程序版本 release / trial / develop
@@ -525,7 +527,6 @@ export default {
}) })
} }
} }
} }
</script> </script>
+2 -1
View File
@@ -2,7 +2,8 @@
// export const BASE_URL="https://frontend.jdns360.com/api"; // 正式环境 // export const BASE_URL="https://frontend.jdns360.com/api"; // 正式环境
// export const BASE_URL="http://cl55un59859.vicp.fun:24346"; // 测试环境 // export const BASE_URL="http://cl55un59859.vicp.fun:24346"; // 测试环境
export const BASE_URL = "https://api.gtn9.art"; export const BASE_URL = "https://api.tbmall.xin";
export const PRIVACY_EN = "https://www.finecc.net/?Privacy-Agreement/";//隐私协议地址(英文版) export const PRIVACY_EN = "https://www.finecc.net/?Privacy-Agreement/";//隐私协议地址(英文版)
export const PRIVACY_CN = "https://www.finecc.net/?Privac |y/";//隐私协议地址(中文版) export const PRIVACY_CN = "https://www.finecc.net/?Privac |y/";//隐私协议地址(中文版)