fix(contract): 合同签署页面和模板优化

1. 合同模板:身份证号和联系方式显示完整信息,不再使用星号掩码
2. 签署页面:checkbox 默认不选中,用户阅读到底部后才可点击确认

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
hailin 2025-12-25 09:31:39 -08:00
parent fba91ec256
commit 7a1e789f4d
2 changed files with 13 additions and 10 deletions

View File

@ -158,15 +158,10 @@ export class ContractTemplate {
const now = new Date();
const dateStr = `${now.getFullYear()}${now.getMonth() + 1}${now.getDate()}`;
// 身份证号脱敏: 只显示前6位和后4位
const maskedIdCard = params.userIdCardNumber
? `${params.userIdCardNumber.slice(0, 6)}********${params.userIdCardNumber.slice(-4)}`
: '';
let content = this._content;
content = content.replace(/\{\{USER_PHONE\}\}/g, params.userPhoneNumber || '未认证');
content = content.replace(/\{\{USER_REAL_NAME\}\}/g, params.userRealName || '未认证');
content = content.replace(/\{\{USER_ID_CARD\}\}/g, maskedIdCard || '未认证');
content = content.replace(/\{\{USER_ID_CARD\}\}/g, params.userIdCardNumber || '未认证');
content = content.replace(/\{\{TREE_COUNT\}\}/g, params.treeCount.toString());
content = content.replace(/\{\{TOTAL_AMOUNT\}\}/g, params.totalAmount.toFixed(2));
content = content.replace(/\{\{PROVINCE_NAME\}\}/g, params.provinceName);

View File

@ -836,12 +836,12 @@ class _ContractSigningPageState extends ConsumerState<ContractSigningPage> {
width: 24,
height: 24,
decoration: BoxDecoration(
color: _hasScrolledToBottom ? const Color(0xFFD4AF37) : const Color(0xFFE0E0E0),
color: const Color(0xFFE0E0E0),
borderRadius: BorderRadius.circular(4),
border: _hasScrolledToBottom
? Border.all(color: const Color(0xFFD4AF37), width: 2)
: null,
),
child: _hasScrolledToBottom
? const Icon(Icons.check, color: Colors.white, size: 16)
: null,
),
const SizedBox(width: 12),
Expanded(
@ -853,6 +853,14 @@ class _ContractSigningPageState extends ConsumerState<ContractSigningPage> {
),
),
),
if (!_hasScrolledToBottom)
const Text(
'(请先阅读完合同)',
style: TextStyle(
fontSize: 12,
color: Color(0xFF999999),
),
),
],
),
),