增加求和采集和细节修改

This commit is contained in:
2026-07-14 14:24:21 +08:00
parent 42c319877c
commit ccc041604a
12 changed files with 1438 additions and 108 deletions

View File

@@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>订单日报系统</title>
<link rel="stylesheet" href="/public/static/css/style.css">
<link rel="stylesheet" href="/public/static/css/style.css?v=20260714">
</head>
<body>
<div class="container">
@@ -14,6 +14,7 @@
<button class="tab active" onclick="switchTab('config')">配置管理</button>
<button class="tab" onclick="switchTab('generate')">日报生成</button>
<button class="tab" onclick="switchTab('history')">历史记录</button>
<button class="tab" onclick="switchTab('sum-data')">求和数据</button>
</div>
<!-- 配置管理 -->
@@ -116,6 +117,49 @@
<div id="history-pagination" style="margin-top: 20px; display: flex; justify-content: center; gap: 5px;"></div>
</div>
</div>
<!-- 求和数据 -->
<div id="sum-data-tab" class="tab-content">
<div class="card">
<div style="display: flex; gap: 10px; margin-bottom: 20px; flex-wrap: wrap; align-items: center;">
<input type="date" id="sum-data-report-date" class="form-control" style="width: auto;">
<input type="text" id="sum-data-config-name" class="form-control" style="width: 180px;" placeholder="配置名称搜索">
<select id="sum-data-source" class="form-control" style="width: auto;" onchange="loadSumData()">
<option value="">全部来源</option>
<option value="auto">自动采集</option>
<option value="manual">手动编辑</option>
</select>
<button class="btn btn-primary" onclick="loadSumData()">查询</button>
<button class="btn" onclick="clearSumDataQuery()">清除</button>
<button class="btn btn-success" onclick="showAddSumDataModal()">手动添加</button>
<button class="btn btn-warning" onclick="collectSumDataFromHistory()">从历史采集</button>
<button class="btn btn-danger" onclick="batchDeleteSumData()" style="margin-left: auto;">批量删除</button>
</div>
<div style="overflow-x: auto;">
<table id="sum-data-table">
<thead>
<tr>
<th style="min-width: 40px;"><input type="checkbox" id="select-all-sum-data" onchange="toggleSelectAllSumData()"></th>
<th style="min-width: 110px;">报表日期</th>
<th style="min-width: 100px;">配置名称</th>
<th style="min-width: 120px;">拆分值</th>
<th id="th-charge-degree" style="min-width: 120px; background: #eff6ff; color: #1d4ed8;">充电电量(kWh) <span style="font-weight: normal; font-size: 11px;">(必选)</span></th>
<th id="th-total-orders" style="min-width: 80px;">订单数</th>
<th style="min-width: 90px;">数据来源</th>
<th style="min-width: 150px;">修改原因/备注</th>
<th style="min-width: 140px;">操作</th>
</tr>
</thead>
<tbody id="sum-data-list">
<tr><td colspan="12" class="loading">加载中...</td></tr>
</tbody>
</table>
</div>
<div id="sum-data-pagination" style="margin-top: 20px; display: flex; justify-content: center; gap: 5px;"></div>
</div>
</div>
</div>
<!-- 创建/编辑配置模态框 -->
@@ -209,11 +253,83 @@
</div>
</div>
<!-- 添加/编辑求和数据模态框 -->
<div id="sum-data-modal" class="modal">
<div class="modal-content" style="max-width: 600px;">
<div class="modal-header">
<h2 id="sum-data-modal-title">添加求和数据</h2>
<button class="close-btn" onclick="closeSumDataModal()">&times;</button>
</div>
<div class="modal-body">
<input type="hidden" id="sum-data-id">
<div class="form-group">
<label>报表日期:</label>
<input type="date" id="sum-data-report-date-input" class="form-control">
</div>
<div class="form-group">
<label>配置名称:</label>
<input type="text" id="sum-data-config-name-input" class="form-control" placeholder="请输入配置名称">
</div>
<div class="form-group">
<label>拆分方式:</label>
<select id="sum-data-split-type-input" class="form-control">
<option value="company_id">按企业</option>
<option value="user_id">按用户</option>
<option value="station_id">按场站</option>
</select>
</div>
<div class="form-group">
<label>拆分值:</label>
<input type="text" id="sum-data-split-value-input" class="form-control" placeholder="请输入拆分值">
</div>
<div class="form-group">
<label>拆分显示名称:</label>
<input type="text" id="sum-data-split-name-input" class="form-control" placeholder="请输入拆分显示名称">
</div>
<div class="form-group">
<label>求和字段键名:</label>
<input type="text" id="sum-data-field-key-input" class="form-control" placeholder="例如charge_degree">
</div>
<div class="form-group">
<label>求和字段名称:</label>
<input type="text" id="sum-data-field-name-input" class="form-control" placeholder="例如:充电电量(kWh)">
</div>
<div class="form-group">
<label>求和值:</label>
<input type="number" step="0.001" id="sum-data-value-input" class="form-control" placeholder="请输入求和值">
</div>
<div class="form-group">
<label>订单数:</label>
<input type="number" id="sum-data-total-orders-input" class="form-control" placeholder="请输入订单数" value="0">
</div>
<div class="form-group">
<label>修改原因 <span style="color: red;">*</span></label>
<textarea id="sum-data-remark-input" class="form-control" rows="3" placeholder="请输入修改原因(必填)"></textarea>
</div>
</div>
<div class="modal-footer">
<button class="btn" onclick="closeSumDataModal()">取消</button>
<button class="btn btn-primary" onclick="saveSumData()">保存</button>
</div>
</div>
</div>
<!-- JavaScript 文件 -->
<script src="/public/static/js/common.js"></script>
<script src="/public/static/js/config.js"></script>
<script src="/public/static/js/entity.js"></script>
<script src="/public/static/js/report.js"></script>
<script src="/public/static/js/history.js"></script>
<script src="/public/static/js/common.js?v=20260714"></script>
<script src="/public/static/js/config.js?v=20260714"></script>
<script src="/public/static/js/entity.js?v=20260714"></script>
<script src="/public/static/js/report.js?v=20260714"></script>
<script src="/public/static/js/history.js?v=20260714"></script>
<script src="/public/static/js/sum_data.js?v=20260714"></script>
</body>
</html>