清仓筛选

This commit is contained in:
wjsjwr 2025-01-07 17:22:49 +08:00
parent b03b59b22c
commit 0ee56aad24
6 changed files with 41 additions and 21 deletions

View File

@ -10,12 +10,12 @@
<cargoProject FILE="$PROJECT_DIR$/bookkeeper/Cargo.toml" />
</component>
<component name="ChangeListManager">
<list default="true" id="76b3b902-7a5c-4bcd-9c1b-8241d748fb44" name="更改" comment="Filter by name">
<change afterPath="$PROJECT_DIR$/bookkeeper/deploy.ps1" afterDir="false" />
<list default="true" id="76b3b902-7a5c-4bcd-9c1b-8241d748fb44" name="更改" comment="更新版本号和部署脚本">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/bookkeeper/Cargo.lock" beforeDir="false" afterPath="$PROJECT_DIR$/bookkeeper/Cargo.lock" afterDir="false" />
<change beforePath="$PROJECT_DIR$/bookkeeper/Cargo.toml" beforeDir="false" afterPath="$PROJECT_DIR$/bookkeeper/Cargo.toml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/bookkeeper/src/main.rs" beforeDir="false" afterPath="$PROJECT_DIR$/bookkeeper/src/main.rs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/bookkeeper/templates/index.html.j2" beforeDir="false" afterPath="$PROJECT_DIR$/bookkeeper/templates/index.html.j2" afterDir="false" />
<change beforePath="$PROJECT_DIR$/bookkeeper/templates/nav.html.j2" beforeDir="false" afterPath="$PROJECT_DIR$/bookkeeper/templates/nav.html.j2" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
@ -154,7 +154,7 @@
<workItem from="1735470376833" duration="16014000" />
<workItem from="1735553493290" duration="16207000" />
<workItem from="1736238929025" duration="646000" />
<workItem from="1736239592084" duration="964000" />
<workItem from="1736239592084" duration="1828000" />
</task>
<task id="LOCAL-00001" summary="Add bookkeeper">
<option name="closed" value="true" />
@ -244,7 +244,15 @@
<option name="project" value="LOCAL" />
<updated>1736239284738</updated>
</task>
<option name="localTasksCounter" value="12" />
<task id="LOCAL-00012" summary="更新版本号和部署脚本">
<option name="closed" value="true" />
<created>1736241063964</created>
<option name="number" value="00012" />
<option name="presentableId" value="LOCAL-00012" />
<option name="project" value="LOCAL" />
<updated>1736241063964</updated>
</task>
<option name="localTasksCounter" value="13" />
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
@ -273,7 +281,8 @@
<MESSAGE value="Release first version" />
<MESSAGE value="Refine gain algorithm and some UI update" />
<MESSAGE value="Filter by name" />
<option name="LAST_COMMIT_MESSAGE" value="Filter by name" />
<MESSAGE value="更新版本号和部署脚本" />
<option name="LAST_COMMIT_MESSAGE" value="更新版本号和部署脚本" />
</component>
<component name="XSLT-Support.FileAssociations.UIState">
<expand />

2
bookkeeper/Cargo.lock generated
View File

@ -423,7 +423,7 @@ dependencies = [
[[package]]
name = "bookkeeper"
version = "0.1.1"
version = "0.1.2"
dependencies = [
"chrono",
"entity",

View File

@ -1,6 +1,6 @@
[package]
name = "bookkeeper"
version = "0.1.1"
version = "0.1.2"
edition = "2021"
[dependencies]

View File

@ -57,8 +57,8 @@ impl sea_orm_rocket::Pool for SeaOrmPool {
}
}
#[get("/?<last>&<name>")]
async fn index(conn: Connection<'_, Db>, last: Option<u32>, name: Option<&str>) -> Template {
#[get("/?<last>&<name>&<is_done>")]
async fn index(conn: Connection<'_, Db>, last: Option<u32>, name: Option<&str>, is_done: Option<bool>) -> Template {
let mut partial = TE::find();
if let Some(last) = last {
@ -69,6 +69,10 @@ async fn index(conn: Connection<'_, Db>, last: Option<u32>, name: Option<&str>)
partial = partial.filter(transaction::Column::Name.eq(name));
}
if let Some(done) = is_done {
partial = partial.filter(transaction::Column::IsDone.eq(done));
}
let rows: Vec<transaction::Model> = partial
.order_by_desc(transaction::Column::Date)
.order_by_desc(transaction::Column::Id)

View File

@ -28,11 +28,11 @@
{% if loop.index == 1 %}
<td rowspan="{{ loop.length }}" style="vertical-align: middle;">{{ r.code|string|padLeft(6) }}</td>
<td rowspan="{{ loop.length }}" style="vertical-align: middle;"><a href="/?name={{ r.name }}">{{ r.name }}</a></td>
<td rowspan="{{ loop.length }}" style="vertical-align: middle;" class="{% if not r.is_done %}is-warning{% endif %}">{{ r.date }}</td>
<td rowspan="{{ loop.length }}" style="vertical-align: middle;">{{ r.date }}</td>
<td rowspan="{{ loop.length }}" style="vertical-align: middle;">{{ r.buy|float|round(4) }}</td>
<td rowspan="{{ loop.length }}" style="vertical-align: middle;">{{ r.volume }}</td>
<td rowspan="{{ loop.length }}" style="vertical-align: middle;">{{ r.net_buy|float|round(2) }}</td>
<td>{{ p.date or "" }}</td>
<td class="{% if not r.is_done %}is-warning{% endif %}">{{ p.date or "" }}</td>
<td>{{ (p.sell or 0)|float|round(4) }}</td>
<td>{{ p.volume or "" }}</td>
<td>{{ (p.net_sell or 0)|float|round(2) }}</td>
@ -65,24 +65,31 @@
<tr>
<td>{{ r.code|string|padLeft(6) }}</td>
<td><a href="/?name={{ r.name }}">{{ r.name }}</a></td>
<td class="is-warning">{{ r.date }}</td>
<td>{{ r.date }}</td>
<td>{{ r.buy|float|round(4) }}</td>
<td>{{ r.volume }}</td>
<td>{{ r.net_buy|float|round(2) }}</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>-</td>
<td>-</td>
<td class="is-warning"></td>
<td class="is-warning"></td>
<td class="is-warning"></td>
<td class="is-warning"></td>
<td class="is-warning">-</td>
<td class="is-warning">-</td>
<td><a row-id="{{ r.id }}" class="modify-row">改</a>&nbsp;<a row-id="{{ r.id }}" class="delete-row has-text-danger">删</a>
</td>
</tr>
{% endif %}
{% endfor %}
<tr class="is-light" style="position: sticky; bottom: 0;">
<td colspan="14" style="text-align: center"><a id="addEntry">添加</a><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a
id="filterEntry">高级筛选</a></td>
<td colspan="14" style="text-align: center">
<a id="addEntry">添加</a>
<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
<a id="filterEntry">高级筛选</a>
<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
<a href="/?is_done=false">未清仓</a>
<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
<a href="/?is_done=true">已清仓</a>
</td>
</tr>
</tbody>
</table>

View File

@ -3,7 +3,7 @@
<nav class="navbar" role="navigation" aria-label="main navigation">
<div id="navbarBasicExample" class="navbar-menu">
<div class="navbar-start">
<a class="navbar-item" href="/">Home</a>
<a class="navbar-item" href="/">首页</a>
<a class="navbar-item">Report</a>
<!-- <div class="navbar-item has-dropdown is-hoverable">-->
<!-- <a class="navbar-link">More</a>-->