From bb54f833d3b9eab99a3a8bd61f5f1be7a7fb3c40 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=B5=B5=E6=AF=85?= <1335909236@qq.com>
Date: Fri, 5 Dec 2025 14:04:51 +0800
Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=8A=9F=E8=83=BD=20--=20?=
=?UTF-8?q?=E5=90=88=E5=90=8C=E7=94=B3=E8=AF=B7=E4=B9=8B=E5=90=8E=E5=BC=B9?=
=?UTF-8?q?=E7=AA=97=E6=8F=90=E9=86=92=E7=94=A8=E6=88=B7=E8=B7=B3=E8=BD=AC?=
=?UTF-8?q?=E9=A1=B5=E9=9D=A2=E8=BE=93=E5=85=A5=E4=BF=A1=E6=81=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
packages/customerService/sign/index.css | 105 ++++++++++++++++++++++++
packages/customerService/sign/index.vue | 60 ++++++++++----
2 files changed, 151 insertions(+), 14 deletions(-)
diff --git a/packages/customerService/sign/index.css b/packages/customerService/sign/index.css
index 7685e8cd..4b825175 100644
--- a/packages/customerService/sign/index.css
+++ b/packages/customerService/sign/index.css
@@ -138,4 +138,109 @@ page {
.contract-form {
padding: 20rpx;
}
+}
+
+/* 自定义弹窗样式 */
+.custom-modal-overlay {
+ position: fixed;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ background-color: rgba(0, 0, 0, 0.5);
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ z-index: 9999;
+}
+
+.custom-modal {
+ width: 100%;
+ max-width: 650rpx;
+ background-color: #fff;
+ border-radius: 12rpx;
+ overflow: hidden;
+ box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.15);
+}
+
+.modal-header {
+ padding: 30rpx;
+ border-bottom: 2rpx solid #f0f0f0;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.modal-header h3 {
+ margin: 0;
+ font-size: 32rpx;
+ font-weight: 600;
+ color: #333;
+}
+
+.close-btn {
+ background: none;
+ border: none;
+ font-size: 40rpx;
+ color: #999;
+ cursor: pointer;
+ padding: 0;
+ width: 40rpx;
+ height: 40rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.modal-content {
+ padding: 40rpx 30rpx;
+}
+
+.modal-content p {
+ margin: 0 0 30rpx 0;
+ font-size: 28rpx;
+ color: #666;
+ line-height: 1.5;
+}
+
+.link-container {
+ background-color: #f5f5f5;
+ padding: 20rpx;
+ border-radius: 8rpx;
+ word-break: break-all;
+}
+
+.link-text {
+ color: #007aff;
+ font-size: 26rpx;
+ text-decoration: underline;
+ cursor: pointer;
+}
+
+.modal-footer {
+ padding: 0 30rpx 30rpx;
+ display: flex;
+ justify-content: center;
+}
+
+.confirm-btn {
+ background-color: #007aff;
+ color: #fff;
+ border: none;
+ line-height: 80rpx;
+ border-radius: 8rpx;
+ font-size: 28rpx;
+ cursor: pointer;
+ min-width: 200rpx;
+ height: 80rpx;
+}
+
+.confirm-btn2 {
+ border: none;
+ line-height: 80rpx;
+ border-radius: 8rpx;
+ font-size: 28rpx;
+ cursor: pointer;
+ min-width: 200rpx;
+ height: 80rpx;
}
\ No newline at end of file
diff --git a/packages/customerService/sign/index.vue b/packages/customerService/sign/index.vue
index 43641f8d..a4ba9316 100644
--- a/packages/customerService/sign/index.vue
+++ b/packages/customerService/sign/index.vue
@@ -108,6 +108,22 @@
+
+
+
+
+
+ 查询结果前请先确认是否在以下页面中填写信息
+
+ {{ applyUrl || '暂无链接' }}
+
+
+
+
+
@@ -149,7 +165,10 @@ export default {
acctTypeOptions: [
{ label: '对公', value: '57' },
{ label: '对私', value: '58' }
- ]
+ ],
+ // 自定义弹窗状态
+ showCustomModal: false,
+ applyUrl: ''
};
},
onLoad(options) {
@@ -243,6 +262,30 @@ export default {
},
// 合同查询
ecQuery() {
+ // 显示自定义弹窗
+ this.applyUrl = uni.getStorageSync('applyUrl');
+ this.showCustomModal = true;
+ },
+
+ // 关闭自定义弹窗
+ closeModal() {
+ this.showCustomModal = false;
+ },
+
+ // 打开申请链接
+ openApplyUrl() {
+ if (this.applyUrl) {
+ uni.navigateTo({
+ url: `/pages/webview/webview?url=${encodeURIComponent(this.applyUrl)}`
+ });
+ }
+ },
+
+ // 确认查询
+ confirmQuery() {
+ this.showCustomModal = false;
+
+ // 继续查询流程
const storeValue = uni.getStorageSync('storeValue');
if (!storeValue || !storeValue.ec_apply_id) {
uni.showToast({
@@ -268,6 +311,7 @@ export default {
}
})
},
+
// 获取合同类别显示文本
getEcTypeLabel(code) {
// 兼容直接传入value或者包含value属性的对象
@@ -282,24 +326,16 @@ export default {
},
// 调试点击事件
handleEcTypeClick() {
- console.log('点击了合同类别,当前状态:', this.showEcTypePicker);
this.showEcTypePicker = true;
- console.log('设置后状态:', this.showEcTypePicker);
},
handleCertTypeClick() {
- console.log('点击了证件类型,当前状态:', this.showCertTypePicker);
this.showCertTypePicker = true;
- console.log('设置后状态:', this.showCertTypePicker);
},
handleAcctTypeClick() {
- console.log('点击了结算卡性质,当前状态:', this.showAcctTypePicker);
this.showAcctTypePicker = true;
- console.log('设置后状态:', this.showAcctTypePicker);
},
// 合同类别选择确认
onEcTypeConfirm(e) {
- console.log('合同类别确认事件:', e);
- // uview-ui的u-picker组件返回的数据格式
const selectedValue = e.value[0];
// 查找对应的选项对象
const selectedOption = this.ecTypeOptions.find(item => item.value === selectedValue);
@@ -308,7 +344,6 @@ export default {
},
// 证件类型选择确认
onCertTypeConfirm(e) {
- console.log('证件类型确认事件:', e);
const selectedValue = e.value[0];
const selectedOption = this.certTypeOptions.find(item => item.value === selectedValue.value);
this.formData.cert_type = selectedOption ? selectedOption.value : selectedValue;
@@ -316,7 +351,6 @@ export default {
},
// 结算卡性质选择确认
onAcctTypeConfirm(e) {
- console.log('结算卡性质确认事件:', e);
const selectedValue = e.value[0];
const selectedOption = this.acctTypeOptions.find(item => item.value === selectedValue.value);
this.formData.acct_type_code = selectedOption ? selectedOption.value : selectedValue;
@@ -341,15 +375,13 @@ export default {
if (!this.validateForm()) {
return;
}
- // 整合参数并输出到控制台
- console.log('提交的合同申请参数:', this.formData);
request(apiArr.ecApply, "POST", this.formData).then(res => {
uni.showToast({
title: '提交成功',
icon: 'success'
});
- // 保存合同申请ID
uni.setStorageSync('storeValue', { ec_apply_id: res.resp_data.ec_apply_id });
+ uni.setStorageSync('applyUrl', res.resp_data.result_url);
})
},