<td style="cursor:pointer">

介绍了一种样式,其作用是当鼠标移动到单元格上时,鼠标形状会由箭头变为手形,呈现出链接的样式。
这是一种样式,作用是当鼠标移动到该单元格上时,鼠标会由箭头形状改为手的形状,造成链接的样式。
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <title>动态编辑 t_accounts 数据表</title> <style> body { font-family: Arial, sans-serif; margin: 20px; background-color: #f7f7f7; } table { width: 100%; border-collapse: collapse; margin-top: 20px; background-color: #fff; } th, td { border: 1px solid #ccc; padding: 10px; text-align: left; } th { background-color: #007BFF; color: white; } input[type="text"], input[type="password"] { width: 100%; padding: 5px; box-sizing: border-box; } button.save { background-color: #28a745; color: white; border: none; padding: 5px 10px; cursor: pointer; } .pagination { margin: 20px 0; text-align: center; } .pagination a, .pagination span { display: inline-block; margin: 0 3px; padding: 8px 12px; text-decoration: none; border: 1px solid #ccc; background-color: #fff; color: #007BFF; } .pagination a:hover { background-color: #007BFF; color: white; } .pagination .current { background-color: #007BFF; color: white; font-weight: bold; } .pagination .ellipsis { color: #999; background-color: transparent; border: none; } </style> </head> <body> <h1>MySQL 数据表:t_accounts(自动识别主键)</h1> <p>本页面自动识别主键字段,支持安全更新。</p> <table> <thead> <tr> <th>Uid</th> <th>Name</th> <th>Email</th> <th>Type</th> <th>玩家昵称</th> <th>操作</th> </tr> </thead> <tbody> <tr> <form method="post" style="display:inline;"> <input type="hidden" name="action" value="update"> <input type="hidden" name="uid" value="11"> <td> 11 <input type="hidden" name="uid" value="11"> </td> <td> <input type="text" name="name" value="B0A539C5" style="width:100%; padding:5px;"> </td> <td> <input type="text" name="email" value="syxywl.cn@qq.com" style="width:100%; padding:5px;"> </td> <td> <input type="text" name="type" value="1" style="width:100%; padding:5px;"> </td> <!-- 显示从 db_hk4e_user_gio.t_player_uid 查到的 name --> <td> <i style="color:#999;">未找到</i> </td> <!-- 隐藏其他字段防止丢失 --> <input type="hidden" name="mobile" value="12345678910"> <input type="hidden" name="password" value="syxywlcn"> <input type="hidden" name="epoch_created" value="1757223346"> <td><button type="submit" class="save">保存</button></td> </form> </tr> <tr> <form method="post" style="display:inline;"> <input type="hidden" name="action" value="update"> <input type="hidden" name="uid" value="12"> <td> 12 <input type="hidden" name="uid" value="12"> </td> <td> <input type="text" name="name" value="A45FE7FA" style="width:100%; padding:5px;"> </td> <td> <input type="text" name="email" value="syxywl.cn@qq.com" style="width:100%; padding:5px;"> </td> <td> <input type="text" name="type" value="1" style="width:100%; padding:5px;"> </td> <!-- 显示从 db_hk4e_user_gio.t_player_uid 查到的 name --> <td> <i style="color:#999;">未找到</i> </td> <!-- 隐藏其他字段防止丢失 --> <input type="hidden" name="mobile" value="12345678910"> <input type="hidden" name="password" value="syxywlcn"> <input type="hidden" name="epoch_created" value="1757223346"> <td><button type="submit" class="save">保存</button></td> </form> </tr> <tr> <form method="post" style="display:inline;"> <input type="hidden" name="action" value="update"> <input type="hidden" name="uid" value="13"> <td> 13 <input type="hidden" name="uid" value="13"> </td> <td> <input type="text" name="name" value="BB7D2BDD" style="width:100%; padding:5px;"> </td> <td> <input type="text" name="email" value="syxywl.cn@qq.com" style="width:100%; padding:5px;"> </td> <td> <input type="text" name="type" value="1" style="width:100%; padding:5px;"> </td> <!-- 显示从 db_hk4e_user_gio.t_player_uid 查到的 name --> <td> <i style="color:#999;">未找到</i> </td> <!-- 隐藏其他字段防止丢失 --> <input type="hidden" name="mobile" value="12345678910"> <input type="hidden" name="password" value="syxywlcn"> <input type="hidden" name="epoch_created" value="1757223346"> <td><button type="submit" class="save">保存</button></td> </form> </tr> <tr> <form method="post" style="display:inline;"> <input type="hidden" name="action" value="update"> <input type="hidden" name="uid" value="14"> <td> 14 <input type="hidden" name="uid" value="14"> </td> <td> <input type="text" name="name" value="A6B0C80F" style="width:100%; padding:5px;"> </td> <td> <input type="text" name="email" value="syxywl.cn@qq.com" style="width:100%; padding:5px;"> </td> <td> <input type="text" name="type" value="1" style="width:100%; padding:5px;"> </td> <!-- 显示从 db_hk4e_user_gio.t_player_uid 查到的 name --> <td> <i style="color:#999;">未找到</i> </td> <!-- 隐藏其他字段防止丢失 --> <input type="hidden" name="mobile" value="12345678910"> <input type="hidden" name="password" value="syxywlcn"> <input type="hidden" name="epoch_created" value="1757223346"> <td><button type="submit" class="save">保存</button></td> </form> </tr> <tr> <form method="post" style="display:inline;"> <input type="hidden" name="action" value="update"> <input type="hidden" name="uid" value="15"> <td> 15 <input type="hidden" name="uid" value="15"> </td> <td> <input type="text" name="name" value="3DDF7141" style="width:100%; padding:5px;"> </td> <td> <input type="text" name="email" value="syxywl.cn@qq.com" style="width:100%; padding:5px;"> </td> <td> <input type="text" name="type" value="1" style="width:100%; padding:5px;"> </td> <!-- 显示从 db_hk4e_user_gio.t_player_uid 查到的 name --> <td> <i style="color:#999;">未找到</i> </td> <!-- 隐藏其他字段防止丢失 --> <input type="hidden" name="mobile" value="12345678910"> <input type="hidden" name="password" value="syxywlcn"> <input type="hidden" name="epoch_created" value="1757223346"> <td><button type="submit" class="save">保存</button></td> </form> </tr> <tr> <form method="post" style="display:inline;"> <input type="hidden" name="action" value="update"> <input type="hidden" name="uid" value="16"> <td> 16 <input type="hidden" name="uid" value="16"> </td> <td> <input type="text" name="name" value="4C17A206" style="width:100%; padding:5px;"> </td> <td> <input type="text" name="email" value="syxywl.cn@qq.com" style="width:100%; padding:5px;"> </td> <td> <input type="text" name="type" value="1" style="width:100%; padding:5px;"> </td> <!-- 显示从 db_hk4e_user_gio.t_player_uid 查到的 name --> <td> <i style="color:#999;">未找到</i> </td> <!-- 隐藏其他字段防止丢失 --> <input type="hidden" name="mobile" value="12345678910"> <input type="hidden" name="password" value="syxywlcn"> <input type="hidden" name="epoch_created" value="1757223346"> <td><button type="submit" class="save">保存</button></td> </form> </tr> <tr> <form method="post" style="display:inline;"> <input type="hidden" name="action" value="update"> <input type="hidden" name="uid" value="17"> <td> 17 <input type="hidden" name="uid" value="17"> </td> <td> <input type="text" name="name" value="A781F182" style="width:100%; padding:5px;"> </td> <td> <input type="text" name="email" value="syxywl.cn@qq.com" style="width:100%; padding:5px;"> </td> <td> <input type="text" name="type" value="1" style="width:100%; padding:5px;"> </td> <!-- 显示从 db_hk4e_user_gio.t_player_uid 查到的 name --> <td> <i style="color:#999;">未找到</i> </td> <!-- 隐藏其他字段防止丢失 --> <input type="hidden" name="mobile" value="12345678910"> <input type="hidden" name="password" value="syxywlcn"> <input type="hidden" name="epoch_created" value="1757223346"> <td><button type="submit" class="save">保存</button></td> </form> </tr> <tr> <form method="post" style="display:inline;"> <input type="hidden" name="action" value="update"> <input type="hidden" name="uid" value="18"> <td> 18 <input type="hidden" name="uid" value="18"> </td> <td> <input type="text" name="name" value="15391F13" style="width:100%; padding:5px;"> </td> <td> <input type="text" name="email" value="syxywl.cn@qq.com" style="width:100%; padding:5px;"> </td> <td> <input type="text" name="type" value="1" style="width:100%; padding:5px;"> </td> <!-- 显示从 db_hk4e_user_gio.t_player_uid 查到的 name --> <td> <i style="color:#999;">未找到</i> </td> <!-- 隐藏其他字段防止丢失 --> <input type="hidden" name="mobile" value="12345678910"> <input type="hidden" name="password" value="syxywlcn"> <input type="hidden" name="epoch_created" value="1757223346"> <td><button type="submit" class="save">保存</button></td> </form> </tr> <tr> <form method="post" style="display:inline;"> <input type="hidden" name="action" value="update"> <input type="hidden" name="uid" value="19"> <td> 19 <input type="hidden" name="uid" value="19"> </td> <td> <input type="text" name="name" value="17CE0F27" style="width:100%; padding:5px;"> </td> <td> <input type="text" name="email" value="syxywl.cn@qq.com" style="width:100%; padding:5px;"> </td> <td> <input type="text" name="type" value="1" style="width:100%; padding:5px;"> </td> <!-- 显示从 db_hk4e_user_gio.t_player_uid 查到的 name --> <td> <i style="color:#999;">未找到</i> </td> <!-- 隐藏其他字段防止丢失 --> <input type="hidden" name="mobile" value="12345678910"> <input type="hidden" name="password" value="syxywlcn"> <input type="hidden" name="epoch_created" value="1757223346"> <td><button type="submit" class="save">保存</button></td> </form> </tr> <tr> <form method="post" style="display:inline;"> <input type="hidden" name="action" value="update"> <input type="hidden" name="uid" value="20"> <td> 20 <input type="hidden" name="uid" value="20"> </td> <td> <input type="text" name="name" value="A8D2363B" style="width:100%; padding:5px;"> </td> <td> <input type="text" name="email" value="syxywl.cn@qq.com" style="width:100%; padding:5px;"> </td> <td> <input type="text" name="type" value="1" style="width:100%; padding:5px;"> </td> <!-- 显示从 db_hk4e_user_gio.t_player_uid 查到的 name --> <td> <i style="color:#999;">未找到</i> </td> <!-- 隐藏其他字段防止丢失 --> <input type="hidden" name="mobile" value="12345678910"> <input type="hidden" name="password" value="syxywlcn"> <input type="hidden" name="epoch_created" value="1757223346"> <td><button type="submit" class="save">保存</button></td> </form> </tr> </tbody> </table> <!-- 调试:显示 db_hk4e_user_gio.t_player_uid 的前 10 条数据 --> <div style="margin-top:50px; border:1px solid #ccc; padding:20px; background:#f9f9f9;"> <h3>🔍 调试信息:db_hk4e_user_gio.t_player_uid 表前 10 条记录</h3> <table border='1' cellpadding='8' cellspacing='0' style='border-collapse:collapse; width:100%;'><thead><tr><th style='text-align:left; background:#eee;'>uid</th><th style='text-align:left; background:#eee;'>account_type</th><th style='text-align:left; background:#eee;'>account_uid</th><th style='text-align:left; background:#eee;'>create_time</th><th style='text-align:left; background:#eee;'>ext</th><th style='text-align:left; background:#eee;'>tag</th></tr></thead><tbody><tr><td>1</td><td>1</td><td>1</td><td>2025-03-19 01:45:28</td><td>{"reg_platform":3} </td><td>0</td></tr><tr><td>202590100</td><td>1</td><td>6</td><td>2025-09-07 19:06:24</td><td>{"reg_platform":3} </td><td>0</td></tr><tr><td>202590101</td><td>0</td><td>1</td><td>2025-09-09 23:39:53</td><td>{"reg_platform":1} </td><td>0</td></tr><tr><td>202590102</td><td>1</td><td>5</td><td>2025-09-10 21:50:04</td><td>{"reg_platform":3} </td><td>0</td></tr><tr><td>202590103</td><td>1</td><td>107</td><td>2025-09-13 21:53:01</td><td>{"reg_platform":3} </td><td>0</td></tr><tr><td>202590104</td><td>1</td><td>108</td><td>2025-09-15 22:22:06</td><td>{"reg_platform":2} </td><td>0</td></tr><tr><td>202590105</td><td>1</td><td>109</td><td>2025-09-15 22:42:28</td><td>{"reg_platform":3} </td><td>0</td></tr><tr><td>202590106</td><td>1</td><td>110</td><td>2025-09-16 04:40:10</td><td>{"reg_platform":3} </td><td>0</td></tr><tr><td>202590107</td><td>1</td><td>112</td><td>2025-09-18 18:03:13</td><td>{"reg_platform":2} </td><td>0</td></tr><tr><td>202590108</td><td>1</td><td>115</td><td>2025-09-18 19:12:09</td><td>{"reg_platform":2} </td><td>0</td></tr></tbody></table></div> <!-- 分页导航 --> <div class="pagination"> <a href="?page=1">上一页</a> <a href="?page=1">1</a> <span class="current">2</span> <a href="?page=3">3</a> <span class="ellipsis">...</span> <a href="?page=366">366</a> <a href="?page=3">下一页</a> <span style="margin-left: 20px;">共 3657 条记录,366 页</span> </div> </body> </html> 全部重写整理完毕整体发我
10-09
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0"/> <title>会计信息管理系统</title> <style> body { font-family: "Microsoft YaHei", sans-serif; background-color: #f4f6f9; margin: 0; padding: 0; } header { background-color: #2c3e50; color: white; padding: 20px; text-align: center; } nav { background-color: #34495e; overflow: hidden; } nav a { float: left; display: block; color: white; text-align: center; padding: 14px 20px; text-decoration: none; } nav a:hover { background-color: #ddd; color: black; } .container { max-width: 1200px; margin: 20px auto; padding: 20px; background-color: white; border-radius: 8px; box-shadow: 0 0 10px rgba(0,0,0,0.1); } table { width: 100%; border-collapse: collapse; margin-top: 20px; } table, th, td { border: 1px solid #ccc; } th, td { padding: 12px; text-align: center; } th { background-color: #ecf0f1; } .form-group { margin-bottom: 15px; } .form-group label { display: block; margin-bottom: 5px; font-weight: bold; } .form-group input, .form-group select { width: 100%; padding: 8px; border: 1px solid #ccc; border-radius: 4px; } button { background-color: #27ae60; color: white; padding: 10px 15px; border: none; border-radius: 4px; cursor: pointer; } button:hover { background-color: #219a52; } .chart-container { margin-top: 30px; text-align: center; } footer { text-align: center; padding: 20px; background-color: #2c3e50; color: white; margin-top: 40px; } </style> </head> <body> <header> <h1>会计信息网络化管理系统</h1> <p>实时财务数据 · 安全高效 · 多端同步</p> </header> <nav> <a href="#home">首页</a> <a href="#balance-sheet">资产负债表</a> <a href="#income-statement">利润表</a> <a href="#entry">凭证录入</a> <a href="#charts">数据可视化</a> </nav> <div class="container" id="home"> <h2>欢迎使用会计信息管理系统</h2> <p>本系统提供企业财务数据的在线录入、查询、分析与可视化功能,支持多用户权限管理和数据加密传输。</p> <!-- 凭证录入表单 --> <section id="entry"> <h3>会计凭证录入</h3> <form id="accountingForm"> <div class="form-group"> <label>凭证编号</label> <input type="text" id="voucherNo" required /> </div> <div class="form-group"> <label>日期</label> <input type="date" id="date" required /> </div> <div class="form-group"> <label>摘要</label> <input type="text" id="summary" placeholder="如:销售商品收入" required /> </div> <div class="form-group"> <label>科目</label> <select id="account" required> <option value="">--选择会计科目--</option> <option value="cash">库存现金</option> <option value="bank">银行存款</option> <option value="revenue">主营业务收入</option> <option value="payable">应付账款</option> <option value="receivable">应收账款</option> </select> </div> <div class="form-group"> <label>借方金额</label> <input type="number" id="debit" step="0.01" placeholder="请输入借方金额" /> </div> <div class="form-group"> <label>贷方金额</label> <input type="number" id="credit" step="0.01" placeholder="请输入贷方金额" /> </div> <button type="submit">保存凭证</button> </form> </section> <!-- 资产负债表示例 --> <section id="balance-sheet" style="display: none;"> <h3>资产负债表(示例)</h3> <table> <thead> <tr> <th>项目</th> <th>期末余额(元)</th> <th>期初余额(元)</th> </tr> </thead> <tbody> <tr><td>货币资金</td><td>150,000.00</td><td>130,000.00</td></tr> <tr><td>应收账款</td><td>80,000.00</td><td>75,000.00</td></tr> <tr><td>存货</td><td>200,000.00</td><td>190,000.00</td></tr> <tr><td><strong>资产合计</strong></td><td><strong>430,000.00</strong></td><td><strong>395,000.00</strong></td></tr> <tr><td>应付账款</td><td>60,000.00</td><td>55,000.00</td></tr> <tr><td>应交税费</td><td>20,000.00</td><td>18,000.00</td></tr> <tr><td><strong>负债合计</strong></td><td><strong>80,000.00</strong></td><td><strong>73,000.00</strong></td></tr> <tr><td><strong>所有者权益</strong></td><td><strong>350,000.00</strong></td><td><strong>322,000.00</strong></td></tr> </tbody> </table> </section> <!-- 利润表示例 --> <section id="income-statement" style="display: none;"> <h3>利润表(示例)</h3> <table> <thead> <tr> <th>项目</th> <th>本期金额(元)</th> <th>上期金额(元)</th> </tr> </thead> <tbody> <tr><td>一、营业收入</td><td>500,000.00</td><td>450,000.00</td></tr> <tr><td>减:营业成本</td><td>300,000.00</td><td>270,000.00</td></tr> <tr><td>税金及附加</td><td>20,000.00</td><td>18,000.00</td></tr> <tr><td>销售费用</td><td>30,000.00</td><td>28,000.00</td></tr> <tr><td>管理费用</td><td>40,000.00</td><td>38,000.00</td></tr> <tr><td><strong>二、营业利润</strong></td><td><strong>110,000.00</strong></td><td><strong>96,000.00</strong></td></tr> <tr><td>加:营业外收入</td><td>5,000.00</td><td>4,000.00</td></tr> <tr><td><strong>三、利润总额</strong></td><td><strong>115,000.00</strong></td><td><strong>100,000.00</strong></td></tr> <tr><td>减:所得税费用</td><td>28,750.00</td><td>25,000.00</td></tr> <tr><td><strong>四、净利润</strong></td><td><strong>86,250.00</strong></td><td><strong>75,000.00</strong></td></tr> </tbody> </table> </section> <!-- 图表占位 --> <section id="charts" style="display: none;" class="chart-container"> <h3>财务数据可视化</h3> <p>此处可集成 ECharts 或 Chart.js 实现柱状图、折线图等。</p> <img src="https://via.placeholder.com/600x300?text=收入+支出+趋势图" alt="图表占位图" /> </section> </div> <footer> © 2025 会计信息网络化管理系统 | 技术支持:Web开发团队 </footer> <script> // 简单的页面切换功能 document.querySelectorAll('nav a').forEach(link => { link.addEventListener('click', function(e) { e.preventDefault(); const targetId = this.getAttribute('href').substring(1); document.querySelectorAll('.container > section').forEach(section => { section.style.display = 'none'; }); if (targetId === 'home') { document.getElementById('home').style.display = 'block'; } else { document.getElementById(targetId).style.display = 'block'; } }); }); // 表单提交处理(演示) document.getElementById('accountingForm').addEventListener('submit', function(e) { e.preventDefault(); const voucherNo = document.getElementById('voucherNo').value; const date = document.getElementById('date').value; const summary = document.getElementById('summary').value; const account = document.getElementById('account').value; const debit = document.getElementById('debit').value; const credit = document.getElementById('credit').value; alert(`凭证已保存!\n编号:${voucherNo}\n摘要:${summary}\n借方:${debit}元\n贷方:${credit}元`); // 这里可以发送到后端API进行存储 // fetch('/api/voucher', { method: 'POST', body: JSON.stringify(...) }) }); </script> </body> </html> 首页加点内容,我需要完整代码
10-18
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0"/> <title>会计信息管理系统</title> <style> body { font-family: "Microsoft YaHei", sans-serif; background-color: #f4f6f9; margin: 0; padding: 0; color: #333; } header { background-color: #2c3e50; color: white; padding: 20px; text-align: center; } nav { background-color: #34495e; overflow: hidden; } nav a { float: left; display: block; color: white; text-align: center; padding: 14px 20px; text-decoration: none; } nav a:hover { background-color: #ddd; color: black; } .container { max-width: 1200px; margin: 20px auto; padding: 20px; background-color: white; border-radius: 8px; box-shadow: 0 0 10px rgba(0,0,0,0.1); } /* 卡片样式 */ .card-container { display: flex; flex-wrap: wrap; gap: 20px; margin-bottom: 30px; } .card { flex: 1; min-width: 250px; border: 1px solid #ddd; border-radius: 8px; padding: 20px; background-color: #f8f9fa; box-shadow: 0 2px 5px rgba(0,0,0,0.05); transition: transform 0.3s ease; } .card:hover { transform: translateY(-5px); box-shadow: 0 5px 15px rgba(0,0,0,0.1); } .card h3 { color: #2c3e50; margin-top: 0; } .card p { color: #666; line-height: 1.6; } table { width: 100%; border-collapse: collapse; margin-top: 20px; } table, th, td { border: 1px solid #ccc; } th, td { padding: 12px; text-align: center; } th { background-color: #ecf0f1; } .form-group { margin-bottom: 15px; } .form-group label { display: block; margin-bottom: 5px; font-weight: bold; } .form-group input, .form-group select { width: 100%; padding: 8px; border: 1px solid #ccc; border-radius: 4px; } button { background-color: #27ae60; color: white; padding: 10px 15px; border: none; border-radius: 4px; cursor: pointer; } button:hover { background-color: #219a52; } .btn-group { margin: 20px 0; } .btn { display: inline-block; padding: 10px 18px; background-color: #3498db; color: white; text-decoration: none; border-radius: 4px; margin-right: 10px; font-size: 14px; } .btn:hover { background-color: #2980b9; } .chart-container { margin-top: 30px; text-align: center; } footer { text-align: center; padding: 20px; background-color: #2c3e50; color: white; margin-top: 40px; } /* 隐藏非当前页面 */ .container > section { display: none; } </style> </head> <body> <header> <h1>会计信息网络化管理系统</h1> <p>实时财务数据 · 安全高效 · 多端同步</p> </header> <nav> <a href="#home">首页</a> <a href="#balance-sheet">资产负债表</a> <a href="#income-statement">利润表</a> <a href="#entry">凭证录入</a> <a href="#charts">数据可视化</a> </nav> <div class="container"> <!-- ============ 首页内容 ============ --> <section id="home"> <h2>欢迎使用会计信息管理系统</h2> <p>本系统提供企业财务数据的在线录入、查询、分析与可视化功能,支持多用户权限管理和数据加密传输。</p> <!-- 功能卡片 --> <div class="card-container"> <div class="card"> <h3>📊 财务报表</h3> <p>一键生成资产负债表、利润表、现金流量表,支持导出为 Excel 或 PDF 格式。</p> </div> <div class="card"> <h3>📝 凭证管理</h3> <p>支持会计凭证的增删改查,自动校验借贷平衡,确保账务准确无误。</p> </div> <div class="card"> <h3>📈 数据可视化</h3> <p>通过图表直观展示收入、支出、利润趋势,辅助管理层决策。</p> </div> <div class="card"> <h3>🔐 权限控制</h3> <p>支持多角色登录(管理员、会计、出纳),不同角色拥有不同操作权限。</p> </div> </div> <!-- 快捷操作 --> <div class="btn-group"> <!-- 使用 JavaScript 强制跳转并显示 entry 表单 --> <a href="javascript:void(0)" onclick="goToSection('entry')" class="btn">➕ 录入新凭证</a> <a href="javascript:void(0)" onclick="goToSection('balance-sheet')" class="btn">📄 查看资产负债表</a> <a href="javascript:void(0)" onclick="goToSection('income-statement')" class="btn">📉 查看利润表</a> <a href="javascript:void(0)" onclick="goToSection('charts')" class="btn">📊 查看图表分析</a> </div> <!-- 最近凭证记录 --> <h3>近期凭证记录</h3> <table id="recentVouchers"> <thead> <tr> <th>编号</th> <th>日期</th> <th>摘要</th> <th>科目</th> <th>借方金额</th> <th>贷方金额</th> </tr> </thead> <tbody> <tr><td>PZ001</td><td>2025-04-01</td><td>销售商品收款</td><td>银行存款</td><td>50,000.00</td><td>-</td></tr> <tr><td>PZ002</td><td>2025-04-02</td><td>采购原材料</td><td>应付账款</td><td>-</td><td>30,000.00</td></tr> <tr><td>PZ003</td><td>2025-04-03</td><td>支付工资</td><td>银行存款</td><td>20,000.00</td><td>-</td></tr> <tr><td>PZ004</td><td>2025-04-04</td><td>收到投资款</td><td>实收资本</td><td>-</td><td>100,000.00</td></tr> </tbody> </table> </section> <!-- ============ 凭证录入 ============ --> <section id="entry"> <h3>会计凭证录入</h3> <form id="accountingForm"> <div class="form-group"> <label>凭证编号</label> <input type="text" id="voucherNo" required placeholder="如:PZ005" /> </div> <div class="form-group"> <label>日期</label> <input type="date" id="date" required /> </div> <div class="form-group"> <label>摘要</label> <input type="text" id="summary" placeholder="如:销售商品收入" required /> </div> <div class="form-group"> <label>科目</label> <select id="account" required> <option value="">--选择会计科目--</option> <option value="cash">库存现金</option> <option value="bank">银行存款</option> <option value="revenue">主营业务收入</option> <option value="payable">应付账款</option> <option value="receivable">应收账款</option> <option value="expense">管理费用</option> </select> </div> <div class="form-group"> <label>借方金额</label> <input type="number" id="debit" step="0.01" placeholder="请输入借方金额" /> </div> <div class="form-group"> <label>贷方金额</label> <input type="number" id="credit" step="0.01" placeholder="请输入贷方金额" /> </div> <button type="submit">保存凭证</button> </form> </section> <!-- ============ 资产负债表 ============ --> <section id="balance-sheet"> <h3>资产负债表(示例)</h3> <table> <thead> <tr> <th>项目</th> <th>期末余额(元)</th> <th>期初余额(元)</th> </tr> </thead> <tbody> <tr><td>货币资金</td><td>150,000.00</td><td>130,000.00</td></tr> <tr><td>应收账款</td><td>80,000.00</td><td>75,000.00</td></tr> <tr><td>存货</td><td>200,000.00</td><td>190,000.00</td></tr> <tr><td><strong>资产合计</strong></td><td><strong>430,000.00</strong></td><td><strong>395,000.00</strong></td></tr> <tr><td>应付账款</td><td>60,000.00</td><td>55,000.00</td></tr> <tr><td>应交税费</td><td>20,000.00</td><td>18,000.00</td></tr> <tr><td><strong>负债合计</strong></td><td><strong>80,000.00</strong></td><td><strong>73,000.00</strong></td></tr> <tr><td><strong>所有者权益</strong></td><td><strong>350,000.00</strong></td><td><strong>322,000.00</strong></td></tr> </tbody> </table> </section> <!-- ============ 利润表 ============ --> <section id="income-statement"> <h3>利润表(示例)</h3> <table> <thead> <tr> <th>项目</th> <th>本期金额(元)</th> <th>上期金额(元)</th> </tr> </thead> <tbody> <tr><td>一、营业收入</td><td>500,000.00</td><td>450,000.00</td></tr> <tr><td>减:营业成本</td><td>300,000.00</td><td>270,000.00</td></tr> <tr><td>税金及附加</td><td>20,000.00</td><td>18,000.00</td></tr> <tr><td>销售费用</td><td>30,000.00</td><td>28,000.00</td></tr> <tr><td>管理费用</td><td>40,000.00</td><td>38,000.00</td></tr> <tr><td><strong>二、营业利润</strong></td><td><strong>110,000.00</strong></td><td><strong>96,000.00</strong></td></tr> <tr><td>加:营业外收入</td><td>5,000.00</td><td>4,000.00</td></tr> <tr><td><strong>三、利润总额</strong></td><td><strong>115,000.00</strong></td><td><strong>100,000.00</strong></td></tr> <tr><td>减:所得税费用</td><td>28,750.00</td><td>25,000.00</td></tr> <tr><td><strong>四、净利润</strong></td><td><strong>86,250.00</strong></td><td><strong>75,000.00</strong></td></tr> </tbody> </table> </section> <!-- ============ 数据可视化 ============ --> <section id="charts" class="chart-container"> <h3>财务数据可视化</h3> <p>此处可集成 ECharts 或 Chart.js 实现柱状图、折线图等。</p> <img src="https://via.placeholder.com/600x300?text=收入+支出+趋势图" alt="图表占位图" style="max-width: 100%;" /> <p><small>提示:可添加月度收入对比图、利润变化趋势图等。</small></p> </section> </div> <footer> © 2025 会计信息网络化管理系统 | 技术支持:Web开发团队 </footer> <script> // 统一跳转函数:显示指定 section 并滚动到其位置 function goToSection(id) { // 隐藏所有 section document.querySelectorAll('.container > section').forEach(sec => { sec.style.display = 'none'; }); // 显示目标 section const target = document.getElementById(id); if (target) { target.style.display = 'block'; // 平滑滚动到该元素顶部 target.scrollIntoView({ behavior: 'smooth', block: 'start' }); } } // 通用导航绑定(也可用于顶部导航栏) document.querySelectorAll('nav a').forEach(link => { link.addEventListener('click', function(e) { e.preventDefault(); const targetId = this.getAttribute('href').substring(1); // 去掉 # goToSection(targetId); }); }); // 表单提交处理 document.getElementById('accountingForm').addEventListener('submit', function(e) { e.preventDefault(); const voucherNo = document.getElementById('voucherNo').value; const date = document.getElementById('date').value; const summary = document.getElementById('summary').value; const account = document.getElementById('account').value; const debitVal = parseFloat(document.getElementById('debit').value || 0).toFixed(2); const creditVal = parseFloat(document.getElementById('credit').value || 0).toFixed(2); // 校验借贷是否至少有一项大于0 if (parseFloat(debitVal) === 0 && parseFloat(creditVal) === 0) { alert("请填写借方或贷方金额!"); return; } alert(`凭证已保存!\n编号:${voucherNo}\n摘要:${summary}\n借方:${debitVal}元\n贷方:${creditVal}元`); // ===== 将新凭证添加到首页的“最近凭证记录”表格中 ===== const recentTableBody = document.querySelector('#recentVouchers tbody'); const newRow = document.createElement('tr'); // 获取科目文本 const accountText = document.querySelector(`#account option[value="${account}"]`).text; newRow.innerHTML = ` <td>${voucherNo}</td> <td>${date}</td> <td>${summary}</td> <td>${accountText}</td> <td>${debitVal !== "0.00" ? debitVal : "-"}</td> <td>${creditVal !== "0.00" ? creditVal : "-"}</td> `; recentTableBody.prepend(newRow); // 添加在最前面 // 清空表单 this.reset(); // 可选:返回首页或其他页面 // goToSection('home'); }); // 页面加载时默认显示首页 window.onload = () => { goToSection('home'); }; </script> </body> </html> 添加登录页面,登录以后才能进会计信息网络化管理系统
最新发布
10-18
<?php // 配置数据库连接 $host = 'localhost'; $dbname = 'syxywl.cn_sdk-14'; // 主数据库 $username = 'root'; $password = 'qq28009618'; $dsn = "mysql:host=$host;dbname=$dbname;charset=utf8mb4"; try { $pdo = new PDO($dsn, $username, $password); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { die("数据库连接失败: " . htmlspecialchars($e->getMessage())); } // 设置分页参数 $limit = 10; $page = isset($_GET['page']) ? (int)$_GET['page'] : 1; $page = max(1, $page); $offset = ($page - 1) * $limit; // === 获取主键字段名 === function getPrimaryKey($pdo, $table) { $stmt = $pdo->prepare("DESCRIBE `$table`"); $stmt->execute(); $columns = $stmt->fetchAll(PDO::FETCH_ASSOC); foreach ($columns as $col) { if ($col['Key'] === 'PRI') { return $col['Field']; } } return null; } $primaryKey = getPrimaryKey($pdo, 't_accounts'); if (!$primaryKey) { die("错误:t_accounts 表没有定义主键!"); } // 处理封禁/解封请求 if ($_SERVER['REQUEST_METHOD'] === 'POST') { $pkValue = $_POST[$primaryKey] ?? null; if ($pkValue && in_array($_POST['action'], ['ban', 'unban'])) { try { $type = $_POST['action'] === 'ban' ? 99 : 1; $sql = "UPDATE `t_accounts` SET `type` = ? WHERE `$primaryKey` = ?"; $stmt = $pdo->prepare($sql); $stmt->execute([$type, $pkValue]); $successMsg = "用户 <strong>" . htmlspecialchars($pkValue) . "</strong> 已成功 " . ($_POST['action'] === 'ban' ? '<span style="color:red;">封禁</span>(type=99)' : '<span style="color:green;">解封</span>(type=1)') . "!"; } catch (PDOException $e) { $errorMsg = "操作失败: " . htmlspecialchars($e->getMessage()); } } } // ======== 搜索逻辑开始 ======== $searchResult = null; $searchError = null; if (isset($_GET['search_player_uid']) && trim($_GET['search_player_uid']) !== '') { $rawInput = trim($_GET['search_player_uid']); // 验证是否为纯数字 if (!preg_match('/^\d+$/', $rawInput)) { $searchError = "请输入有效的角色 UID(必须是纯数字)"; } else { $playerUid = (string)$rawInput; try { // 第一步:从 db_hk4e_user_gio.t_player_uid 查 account_uid $sql = "SELECT `account_uid` FROM `db_hk4e_user_gio`.`t_player_uid` WHERE `uid` = ?"; $stmt = $pdo->prepare($sql); $stmt->execute([$playerUid]); $link = $stmt->fetch(PDO::FETCH_ASSOC); if (!$link) { $searchError = "❌ 未找到游戏 UID <strong>$playerUid</strong> 的绑定记录"; } else { $accountUid = $link['account_uid']; // 第二步:在 t_accounts 中查找用户 $sql = "SELECT `uid`, `name`, `type` FROM `t_accounts` WHERE `uid` = ?"; $stmt = $pdo->prepare($sql); $stmt->execute([$accountUid]); $user = $stmt->fetch(PDO::FETCH_ASSOC); if (!$user) { $searchError = "✅ 找到绑定关系,但 SDK 账户 <strong>$accountUid</strong> 在系统中不存在!"; } else { // 第三步:获取该账号所有绑定的角色 $roles = getPlayerRoles($pdo, $user['uid']); $searchResult = [ 'player_uid' => $playerUid, 'account' => $user, 'roles' => $roles ]; } } } catch (PDOException $e) { $searchError = "⚠️ 数据库查询异常: " . htmlspecialchars($e->getMessage()); } } } // ======== 搜索逻辑结束 ======== // === 函数:获取某 account_uid 绑定的所有角色 UID === function getPlayerRoles($pdo, $accountUid) { try { // 检查数据库是否存在 $dbCheck = $pdo->query("SELECT 1 FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = 'db_hk4e_user_gio'"); if ($dbCheck->rowCount() == 0) { return ['error' => '数据库 `db_hk4e_user_gio` 不存在']; } // 检查表是否存在 $tableCheck = $pdo->query(" SELECT 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'db_hk4e_user_gio' AND TABLE_NAME = 't_player_uid' "); if ($tableCheck->rowCount() == 0) { return ['error' => '表 `t_player_uid` 不存在']; } // 查询绑定的角色 UID $sql = "SELECT `uid` FROM `db_hk4e_user_gio`.`t_player_uid` WHERE `account_uid` = ?"; $stmt = $pdo->prepare($sql); $stmt->execute([(string)$accountUid]); $results = $stmt->fetchAll(PDO::FETCH_ASSOC); return empty($results) ? ['empty' => true] : $results; } catch (PDOException $e) { return ['exception' => $e->getMessage()]; } } // 查询总行数(用于分页) $totalStmt = $pdo->query("SELECT COUNT(*) FROM `t_accounts`"); $totalRows = $totalStmt->fetchColumn(); $totalPages = ceil($totalRows / $limit); // 获取当前页数据 $stmt = $pdo->prepare("SELECT `uid`, `name`, `type` FROM `t_accounts` LIMIT ? OFFSET ?"); $stmt->bindValue(1, $limit, PDO::PARAM_INT); $stmt->bindValue(2, $offset, PDO::PARAM_INT); $stmt->execute(); $rows = $stmt->fetchAll(PDO::FETCH_ASSOC); ?> <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <title>封禁/解封管理系统 + 角色绑定 & 搜索</title> <style> body { font-family: Arial, sans-serif; margin: 20px; background-color: #f7f7f7; color: #333; } h1 { color: #d32f2f; } h2 { color: #1976D2; border-bottom: 1px solid #ddd; padding-bottom: 5px; } table { width: 100%; border-collapse: collapse; margin-top: 20px; background-color: #fff; box-shadow: 0 2px 8px rgba(0,0,0,0.1); } th, td { border: 1px solid #ddd; padding: 10px; text-align: left; } th { background-color: #333; color: white; } .status-banned { background-color: #ffcdd2; color: #c62828; padding: 2px 6px; border-radius: 3px; font-weight: bold; } .status-normal { background-color: #e8f5e8; color: #2e7d32; padding: 2px 6px; border-radius: 3px; } button.ban { background-color: #d32f2f; color: white; border: none; padding: 5px 10px; cursor: pointer; border-radius: 4px; font-weight: bold; margin-right: 5px; } button.unban { background-color: #2e7d32; color: white; border: none; padding: 5px 10px; cursor: pointer; border-radius: 4px; font-weight: bold; } button:hover { opacity: 0.9; } .pagination { margin: 20px 0; text-align: center; } .pagination a, .pagination span { display: inline-block; margin: 0 3px; padding: 8px 12px; text-decoration: none; border: 1px solid #ccc; background-color: #fff; color: #333; border-radius: 4px; } .pagination a:hover { background-color: #333; color: white; } .pagination .current { background-color: #333; color: white; font-weight: bold; } .msg { padding: 10px; margin: 10px 0; border-radius: 4px; } .msg.success { background-color: #d4edda; color: #155724; border: 1px solid #c3e6cb; } .msg.error { background-color: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; } /* 搜索区域样式 */ .search-box { background: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 1px 6px rgba(0,0,0,0.1); margin-bottom: 20px; } .search-box form { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; } .search-box input[type="text"] { padding: 8px; width: 250px; border: 1px solid #ccc; border-radius: 4px; font-size: 1em; } .search-box button { padding: 8px 15px; background: #007BFF; color: white; border: none; border-radius: 4px; cursor: pointer; } .search-box button:hover { background: #0056b3; } </style> </head> <body> <h1>🔐 用户封禁与解封管理系统 + 角色绑定信息</h1> <!-- 搜索框 --> <div class="search-box"> <form method="get"> <label for="search_player_uid"><strong>🔍 通过游戏内UID查找账号:</strong></label> <input type="text" name="search_player_uid" id="search_player_uid" value="<?= htmlspecialchars($_GET['search_player_uid'] ?? '') ?>" placeholder="输入角色 UID(如:2000123)" > <button type="submit">搜索</button> <?php if (isset($_GET['page'])): ?> <input type="hidden" name="page" value="<?= (int)$_GET['page'] ?>"> <?php endif; ?> </form> <!-- 搜索结果提示 --> <?php if ($searchError): ?> <p class="msg error" style="margin-top:10px;"><?= $searchError ?></p> <?php elseif ($searchResult): ?> <p class="msg success" style="margin-top:10px;"> <strong>✅ 找到匹配账号:</strong><br> 游戏角色 UID: <code><?= htmlspecialchars($searchResult['player_uid']) ?></code> ➜ SDK账户排序: <strong><?= htmlspecialchars($searchResult['account']['uid']) ?></strong>, 登陆账户: <strong><?= htmlspecialchars($searchResult['account']['name']) ?></strong> </p> <?php endif; ?> </div> <!-- 操作反馈消息 --> <?php if (isset($successMsg)): ?> <div class="msg success"><?= $successMsg ?></div> <?php endif; ?> <?php if (isset($errorMsg)): ?> <div class="msg error"><?= $errorMsg ?></div> <?php endif; ?> <!-- 搜索结果详情(单独显示) --> <?php if ($searchResult): ?> <h2>📌 搜索结果详情</h2> <table> <thead> <tr> <th>sdk账户排序</th> <th>登陆账户</th> <th>账户状态</th> <th>操作</th> <th>游戏内UID</th> </tr> </thead> <tbody> <tr> <td><?= htmlspecialchars($searchResult['account']['uid']) ?></td> <td><?= htmlspecialchars($searchResult['account']['name']) ?></td> <td> <?php if ($searchResult['account']['type'] == 99): ?> <span class="status-banned">🔴 已封禁</span> <?php else: ?> <span class="status-normal">🟢 正常</span> <?php endif; ?> </td> <td> <form method="post" style="display:inline;"> <input type="hidden" name="<?= htmlspecialchars($primaryKey) ?>" value="<?= htmlspecialchars($searchResult['account']['uid']) ?>"> <?php if ($searchResult['account']['type'] == 99): ?> <input type="hidden" name="action" value="unban"> <button type="submit" class="unban" onclick="return confirm('确定要解封用户 UID=<?= $searchResult['account']['uid'] ?> 吗?')">解封</button> <?php else: ?> <input type="hidden" name="action" value="ban"> <button type="submit" class="ban" onclick="return confirm('确定要封禁用户 UID=<?= $searchResult['account']['uid'] ?> 吗?')">封禁</button> <?php endif; ?> </form> </td> <td> <?php $roles = $searchResult['roles']; ?> <?php if (isset($roles['error'])): ?> <span class="error">❌ <?= htmlspecialchars($roles['error']) ?></span> <?php elseif (isset($roles['exception'])): ?> <span class="error">💥 <?= htmlspecialchars($roles['exception']) ?></span> <?php elseif ($roles['empty']): ?> 此登陆账户未绑定 <?php else: ?> <?php $uids = array_column($roles, 'uid'); echo implode(', ', array_map('htmlspecialchars', $uids)); ?> <?php endif; ?> </td> </tr> </tbody> </table> <br> <?php endif; ?> <!-- 主表格:所有用户列表 --> <?php if (!empty($rows)): ?> <h2>📋 所有 SDK 账户列表</h2> <table> <thead> <tr> <th>sdk账户排序</th> <th>登陆账户</th> <th>账户状态</th> <th>操作</th> <th>游戏内UID</th> </tr> </thead> <tbody> <?php foreach ($rows as $row): ?> <tr> <td><?= htmlspecialchars($row['uid']) ?></td> <td><?= htmlspecialchars($row['name']) ?></td> <td> <?php if ($row['type'] == 99): ?> <span class="status-banned">🔴 已封禁</span> <?php else: ?> <span class="status-normal">🟢 正常</span> <?php endif; ?> </td> <td> <form method="post" style="display:inline;"> <input type="hidden" name="<?= htmlspecialchars($primaryKey) ?>" value="<?= htmlspecialchars($row['uid']) ?>"> <?php if ($row['type'] == 99): ?> <input type="hidden" name="action" value="unban"> <button type="submit" class="unban" onclick="return confirm('确定要解封用户 UID=<?= $row['uid'] ?> 吗?')">解封</button> <?php else: ?> <input type="hidden" name="action" value="ban"> <button type="submit" class="ban" onclick="return confirm('确定要封禁用户 UID=<?= $row['uid'] ?> 吗?')">封禁</button> <?php endif; ?> </form> </td> <td> <?php $roles = getPlayerRoles($pdo, $row['uid']); ?> <?php if (isset($roles['error'])): ?> <span class="error">❌ <?= htmlspecialchars($roles['error']) ?></span> <?php elseif (isset($roles['exception'])): ?> <span class="error">💥 <?= htmlspecialchars($roles['exception']) ?></span> <?php elseif ($roles['empty']): ?> 此登陆账户未绑定 <?php else: ?> <?php $uids = array_column($roles, 'uid'); echo implode(', ', array_map('htmlspecialchars', $uids)); ?> <?php endif; ?> </td> </tr> <?php endforeach; ?> </tbody> </table> <!-- 分页 --> <div class="pagination"> <?php if ($page > 1): ?> <a href="?<?= http_build_query(array_merge($_GET, ['page' => $page - 1])) ?>">上一页</a> <?php else: ?> <span>上一页</span> <?php endif; ?> <?php $start = max(1, $page - 1); $end = min($totalPages, $start + 2); if ($start > 1): ?> <a href="?<?= http_build_query(array_merge($_GET, ['page' => 1])) ?>">1</a> <?php if ($start > 2): ?><span>...</span><?php endif; ?> <?php endif; ?> <?php for ($i = $start; $i <= $end; $i++): ?> <?php if ($i == $page): ?> <span class="current"><?= $i ?></span> <?php else: ?> <a href="?<?= http_build_query(array_merge($_GET, ['page' => $i])) ?>"><?= $i ?></a> <?php endif; ?> <?php endfor; ?> <?php if ($end < $totalPages): ?> <?php if ($end < $totalPages - 1): ?><span>...</span><?php endif; ?> <a href="?<?= http_build_query(array_merge($_GET, ['page' => $totalPages])) ?>"><?= $totalPages ?></a> <?php endif; ?> <?php if ($page < $totalPages): ?> <a href="?<?= http_build_query(array_merge($_GET, ['page' => $page + 1])) ?>">下一页</a> <?php else: ?> <span>下一页</span> <?php endif; ?> <span style="margin-left: 20px;">共 <?= number_format($totalRows) ?> 条记录,<?= $totalPages ?> 页</span> </div> <?php else: ?> <p>该表中没有数据。</p> <?php endif; ?> </body> </html> 点击封禁或解封后重新跳转至指定链接 http://150.138.84.7:333 完整写出
10-09
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值