银行app转账假截图在线制作,银行转账凭证生成器app,html+js+css源码

311 阅读4分钟

下载地址:www.pan38.com/share.php?c… 提取码:8888 以下是基于HTML5+CSS3+JavaScript实现的银行转账凭证生成器完整代码,包含数据生成、样式定制和导出功能

image.png

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>银行转账凭证生成器</title>
    <style>
        :root {
            --primary-color: #1890ff;
            --success-color: #52c41a;
            --error-color: #f5222d;
            --warning-color: #faad14;
            --font-family: "PingFang SC", "Microsoft YaHei", sans-serif;
        }
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        body {
            font-family: var(--font-family);
            background-color: #f5f5f5;
            padding: 20px;
            color: #333;
        }
        .container {
            max-width: 1000px;
            margin: 0 auto;
            background: white;
            border-radius: 8px;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
            padding: 30px;
        }
        h1 {
            text-align: center;
            margin-bottom: 30px;
            color: var(--primary-color);
            font-weight: 500;
        }
        .control-panel {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 20px;
            margin-bottom: 30px;
            padding: 20px;
            background: #fafafa;
            border-radius: 6px;
        }
        .form-group {
            margin-bottom: 15px;
        }
        label {
            display: block;
            margin-bottom: 5px;
            font-weight: 500;
        }
        input, select {
            width: 100%;
            padding: 8px 12px;
            border: 1px solid #d9d9d9;
            border-radius: 4px;
            font-size: 14px;
            transition: all 0.3s;
        }
        input:focus, select:focus {
            border-color: var(--primary-color);
            outline: none;
            box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
        }
        button {
            padding: 8px 16px;
            background: var(--primary-color);
            color: white;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            font-size: 14px;
            transition: all 0.3s;
        }
        button:hover {
            background: #40a9ff;
        }
        button.secondary {
            background: white;
            color: var(--primary-color);
            border: 1px solid var(--primary-color);
        }
        button.secondary:hover {
            color: #40a9ff;
            border-color: #40a9ff;
        }
        .btn-group {
            display: flex;
            gap: 10px;
            margin-top: 20px;
        }
        .receipt {
            margin-top: 30px;
            border: 1px solid #e8e8e8;
            border-radius: 6px;
            padding: 30px;
            position: relative;
            background: white;
            box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
        }
        .receipt::before {
            content: "虚拟凭证 - 仅供测试";
            position: absolute;
            top: 10px;
            right: 10px;
            font-size: 12px;
            color: #999;
            transform: rotate(15deg);
            opacity: 0.5;
        }
        .receipt-header {
            text-align: center;
            margin-bottom: 30px;
            padding-bottom: 15px;
            border-bottom: 2px solid #e8e8e8;
        }
        .receipt-header h2 {
            font-size: 24px;
            color: var(--primary-color);
            margin-bottom: 5px;
        }
        .receipt-header p {
            color: #666;
            font-size: 14px;
        }
        .receipt-body {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 20px;
        }
        .receipt-section {
            margin-bottom: 20px;
        }
        .receipt-section h3 {
            font-size: 16px;
            margin-bottom: 10px;
            color: #444;
            border-bottom: 1px dashed #e8e8e8;
            padding-bottom: 5px;
        }
        .receipt-row {
            display: flex;
            margin-bottom: 8px;
        }
        .receipt-label {
            width: 100px;
            color: #666;
            font-size: 14px;
        }
        .receipt-value {
            flex: 1;
            font-weight: 500;
        }
        .receipt-value.amount {
            font-size: 18px;
            color: var(--primary-color);
        }
        .receipt-footer {
            margin-top: 30px;
            padding-top: 15px;
            border-top: 2px solid #e8e8e8;
            text-align: right;
            font-size: 14px;
            color: #666;
        }
        .watermark {
            position: absolute;
            bottom: 10px;
            left: 10px;
            font-size: 12px;
            color: #ccc;
        }
        @media print {
            body * {
                visibility: hidden;
            }
            .receipt, .receipt * {
                visibility: visible;
            }
            .receipt {
                position: absolute;
                left: 0;
                top: 0;
                width: 100%;
                box-shadow: none;
                border: none;
            }
            .no-print {
                display: none;
            }
        }
        @media (max-width: 768px) {
            .receipt-body {
                grid-template-columns: 1fr;
            }
            .control-panel {
                grid-template-columns: 1fr;
            }
        }
    </style>
</head>
<body>
    <div class="container">
        <h1>银行转账凭证生成器</h1>
        
        <div class="control-panel no-print">
            <div class="form-group">
                <label for="bank-from">付款银行</label>
                <select id="bank-from">
                    <option value="中国工商银行">中国工商银行</option>
                    <option value="中国建设银行">中国建设银行</option>
                    <option value="中国银行">中国银行</option>
                    <option value="中国农业银行">中国农业银行</option>
                    <option value="交通银行">交通银行</option>
                </select>
            </div>
            
            <div class="form-group">
                <label for="account-from">付款账号</label>
                <input type="text" id="account-from" placeholder="请输入付款账号">
            </div>
            
            <div class="form-group">
                <label for="name-from">付款人姓名</label>
                <input type="text" id="name-from" placeholder="请输入付款人姓名">
            </div>
            
            <div class="form-group">
                <label for="bank-to">收款银行</label>
                <select id="bank-to">
                    <option value="中国工商银行">中国工商银行</option>
                    <option value="中国建设银行">中国建设银行</option>
                    <option value="中国银行">中国银行</option>
                    <option value="中国农业银行">中国农业银行</option>
                    <option value="交通银行">交通银行</option>
                </select>
            </div>
            
            <div class="form-group">
                <label for="account-to">收款账号</label>
                <input type="text" id="account-to" placeholder="请输入收款账号">
            </div>
            
            <div class="form-group">
                <label for="name-to">收款人姓名</label>
                <input type="text" id="name-to" placeholder="请输入收款人姓名">
            </div>
            
            <div class="form-group">
                <label for="amount">转账金额</label>
                <input type="number" id="amount" placeholder="请输入转账金额" min="0.01" step="0.01">
            </div>
            
            <div class="form-group">
                <label for="date">交易日期</label>
                <input type="date" id="date">
            </div>
            
            <div class="form-group">
                <label for="remark">备注</label>
                <input type="text" id="remark" placeholder="请输入备注信息">
            </div>
            
            <div class="btn-group">
                <button id="generate-btn">生成凭证</button>
                <button id="random-btn" class="secondary">随机生成</button>
                <button id="print-btn" class="secondary">打印凭证</button>
                <button id="save-btn" class="secondary">保存为图片</button>
            </div>
        </div>
        
        <div class="receipt" id="receipt" style="display: none;">
            <div class="receipt-header">
                <h2 id="receipt-title">银行转账凭证</h2>
                <p id="receipt-number">凭证编号: <span id="receipt-number-value"></span></p>
            </div>
            
            <div class="receipt-body">
                <div>
                    <div class="receipt-section">
                        <h3>付款方信息</h3>
                        <div class="receipt-row">
                            <div class="receipt-label">银行名称:</div>
                            <div class="receipt-value" id="receipt-bank-from"></div>
                        </div>
                        <div class="receipt-row">
                            <div class="receipt-label">账号:</div>
                            <div class="receipt-value" id="receipt-account-from"></div>
                        </div>
                        <div class="receipt-row">
                            <div class="receipt-label">户名:</div>
                            <div class="receipt-value" id="receipt-name-from"></div>
                        </div>
                    </div>
                    
                    <div class="receipt-section">
                        <h3>交易信息</h3>
                        <div class="receipt-row">
                            <div class="receipt-label">交易日期:</div>
                            <div class="receipt-value" id="receipt-date"></div>
                        </div>
                        <div class="receipt-row">
                            <div class="receipt-label">交易类型:</div>
                            <div class="receipt-value">转账</div>
                        </div>
                        <div class="receipt-row">
                            <div class="receipt-label">交易金额:</div>
                            <div class="receipt-value amount" id="receipt-amount"></div>
                        </div>
                    </div>
                </div>
                
                <div>
                    <div class="receipt-section">
                        <h3>收款方信息</h3>
                        <div class="receipt-row">
                            <div class="receipt-label">银行名称:</div>
                            <div class="receipt-value" id="receipt-bank-to"></div>
                        </div>
                        <div class="receipt-row">
                            <div class="receipt-label">账号:</div>
                            <div class="receipt-value" id="receipt-account-to"></div>
                        </div>
                        <div class="receipt-row">
                            <div class="receipt-label">户名:</div>
                            <div class="receipt-value" id="receipt-name-to"></div>
                        </div>
                    </div>
                    
                    <div class="receipt-section">
                        <h3>其他信息</h3>
                        <div class="receipt-row">
                            <div class="receipt-label">交易状态:</div>
                            <div class="receipt-value" style="color: var(--success-color);">交易成功</div>
                        </div>
                        <div class="receipt-row">
                            <div class="receipt-label">手续费:</div>
                            <div class="receipt-value">0.00元</div>
                        </div>
                        <div class="receipt-row">
                            <div class="receipt-label">备注:</div>
                            <div class="receipt-value" id="receipt-remark"></div>
                        </div>
                    </div>
                </div>
            </div>
            
            <div class="receipt-footer">
                <p>经办: 电子系统自动处理</p>
                <p id="receipt-time"></p>
            </div>
            
            <div class="watermark">虚拟凭证 - 仅供测试使用</div>
        </div>
    </div>

    <script>
        document.addEventListener('DOMContentLoaded', function() {
            // 设置默认日期为今天
            const today = new Date();
            const dateStr = today.toISOString().split('T')[0];
            document.getElementById('date').value = dateStr;
            
            // 生成随机账号
            function generateRandomAccount() {
                return '62' + Math.floor(Math.random() * 10000000000).toString().padStart(10, '0');
            }
            
            // 生成随机姓名
            function generateRandomName() {
                const surnames = ['张', '王', '李', '赵', '刘', '陈', '杨', '黄', '吴', '周'];
                const givenNames = ['伟', '芳', '娜', '秀英', '敏', '静', '丽', '强', '磊', '军'];
                return surnames[Math.floor(Math.random() * surnames.length)] + 
                       givenNames[Math.floor(Math.random() * givenNames.length)];
            }
            
            // 生成随机金额
            function generateRandomAmount() {
                return (Math.random() * 10000 + 1).toFixed(2);
            }
            
            // 随机生成按钮点击事件
            document.getElementById('random-btn').addEventListener('click', function() {
                document.getElementById('account-from').value = generateRandomAccount();
                document.getElementById('name-from').value = generateRandomName();
                document.getElementById