Commit 4601d53b authored by luwei's avatar luwei

修改

parent d8561934
...@@ -441,26 +441,25 @@ class PackageManagementService: ...@@ -441,26 +441,25 @@ class PackageManagementService:
if not pkg: if not pkg:
raise ValueError('数据包不存在') raise ValueError('数据包不存在')
stored_clean_rules = pkg.clean_rules if not (pkg.stored_name or pkg.file_path):
stored_row_start = pkg.row_start raise ValueError('数据包内容文件不存在')
stored_row_end = pkg.row_end
pf_rows = (
session.query(DataPackageFile)
.filter(DataPackageFile.package_id == db_id)
.order_by(DataPackageFile.sort_order.asc())
.all()
)
file_ids = [pf.file_id for pf in pf_rows]
files = session.query(DataFile).filter(DataFile.id.in_(file_ids)).all()
file_map = {f.id: f for f in files}
return self._merge_records( normalized = (pkg.file_path or '').replace('\\', '/')
file_ids, file_map, limit, if '/app/uploads/packages/' in normalized:
clean_rules=stored_clean_rules, file_name = normalized.split('/app/uploads/packages/', 1)[1]
smooth=stored_clean_rules.get('smooth') if stored_clean_rules else None, file_name = Path(file_name).name
row_start=stored_row_start, row_end=stored_row_end, else:
) file_name = pkg.stored_name or Path(normalized).name
pkg_path = self._dm._upload_dir / 'packages' / file_name
if not pkg_path.exists():
raise ValueError('数据包内容文件不存在')
records, total_count = self._dm._read_records(pkg_path, limit=limit)
return {
'records': records,
'count': total_count,
}
def preview_records( def preview_records(
self, self,
......
time,current,voltage,set_temperature,actual_temperature
2026/1/22 9:04,0.0,0.09,19.06,19.06
2026/1/22 9:05,0.0,0.09,19.06,19.053
2026/1/22 9:05,0.0,0.09,19.06,19.047
2026/1/22 9:05,0.0,0.09,19.06,19.072
2026/1/22 9:05,0.0,0.09,19.06,19.061
2026/1/22 9:05,0.0,0.09,19.06,19.082
2026/1/22 9:05,0.0,0.09,19.06,19.064
2026/1/22 9:05,0.0,0.09,19.06,19.062
2026/1/22 9:05,0.0,0.09,19.06,19.059
2026/1/22 9:05,0.0,0.09,19.06,19.067
.eval-page[data-v-ec2828d6]{flex-direction:column;gap:12px;height:100%;display:flex;overflow-y:auto}.config-card[data-v-ec2828d6],.records-card[data-v-ec2828d6]{flex-shrink:0}.config-card[data-v-ec2828d6] .el-card__header,.records-card[data-v-ec2828d6] .el-card__header{border-bottom:1px solid #e8edf3;padding:12px 20px}.config-card[data-v-ec2828d6] .el-card__body,.records-card[data-v-ec2828d6] .el-card__body{padding:16px 20px}.records-card[data-v-ec2828d6]{flex:1;min-height:200px}.card-title[data-v-ec2828d6]{color:#0f172a;font-size:14px;font-weight:600}.card-header-row[data-v-ec2828d6]{justify-content:space-between;align-items:center;display:flex}.eval-form[data-v-ec2828d6] .el-form-item{margin-bottom:0;margin-right:16px}.eval-loading[data-v-ec2828d6]{color:#64748b;align-items:center;gap:10px;padding:24px 0 8px;font-size:14px;display:flex}.metrics-row[data-v-ec2828d6]{flex-wrap:wrap;gap:10px;padding:16px 0 12px;display:flex}.metric-chip[data-v-ec2828d6]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;min-width:100px;padding:8px 16px;display:flex}.metric-label[data-v-ec2828d6]{color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:500}.metric-value[data-v-ec2828d6]{color:#0f172a;font-size:15px;font-weight:600}.metric-cell[data-v-ec2828d6]{color:#0f766e;font-size:13px;font-weight:500}
.model-list-page[data-v-c204d828]{background:var(--bg-page);height:100%;overflow:hidden}.list-card[data-v-c204d828]{border:1px solid var(--border-color);border-radius:4px;height:100%;overflow:hidden;box-shadow:var(--shadow-card)!important}.list-card[data-v-c204d828] .el-card__header{border-bottom:1px solid var(--border-color);background:#f7f8fa;align-items:center;height:44px;padding:0 20px;display:flex}.list-card[data-v-c204d828] .el-card__body{height:calc(100% - 44px);padding:16px 20px;overflow:hidden}.card-title[data-v-c204d828]{color:var(--text-primary);font-size:14px;font-weight:600}.card-header-row[data-v-c204d828]{justify-content:space-between;align-items:center;width:100%;display:flex}.params-text[data-v-c204d828],.loss-text[data-v-c204d828]{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;display:block;overflow:hidden}.loss-text[data-v-c204d828]{color:var(--primary);font-weight:500}
...@@ -5,10 +5,10 @@ ...@@ -5,10 +5,10 @@
<link rel="icon" href="/favicon.ico"> <link rel="icon" href="/favicon.ico">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>热实验温度控制系统</title> <title>热实验温度控制系统</title>
<script type="module" crossorigin src="/assets/index-BuprtPJP.js"></script> <script type="module" crossorigin src="/assets/index-B0hY3ZmP.js"></script>
<link rel="modulepreload" crossorigin href="/assets/_plugin-vue_export-helper-BeNqMkde.js"> <link rel="modulepreload" crossorigin href="/assets/_plugin-vue_export-helper-Cfb64gbu.js">
<link rel="modulepreload" crossorigin href="/assets/vue-router-DixiVDJx.js"> <link rel="modulepreload" crossorigin href="/assets/vue-router-DC92Hzt7.js">
<link rel="stylesheet" crossorigin href="/assets/index-pfQxyObg.css"> <link rel="stylesheet" crossorigin href="/assets/index-CW-Nj4Bz.css">
</head> </head>
<body> <body>
<div id="app"></div> <div id="app"></div>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment