170 lines
7.9 KiB
HTML
170 lines
7.9 KiB
HTML
<!doctype html>
|
|
<html lang="zh-CN">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<title>世系图 - 个人中心 - 代代相传</title>
|
|
<link rel="stylesheet" href="public/css/public.css" />
|
|
<link rel="stylesheet" href="public/layui/css/layui.css" />
|
|
<link rel="stylesheet" href="public/css/profile-module.css" />
|
|
</head>
|
|
<body class="page-profile-module" data-lineage-page>
|
|
<header class="site-header">
|
|
<div class="container nav">
|
|
<a class="brand magnetic" href="profile.html"
|
|
><img class="brand-logo brand-logo-mark" src="public/images/logo-mark.png" alt="" /><span class="brand-text">个人中心</span></a
|
|
>
|
|
<nav class="nav-links">
|
|
<a href="profile-families.html">我的家谱</a
|
|
><a class="active" href="profile-family-admin.html">家族管理</a
|
|
><a href="profile-data.html">个人资料</a>
|
|
</nav>
|
|
<div class="nav-actions">
|
|
<a href="profile-family-home.html">返回家谱主页</a
|
|
><a class="btn primary magnetic" href="profile-data.html">添加成员</a>
|
|
</div>
|
|
</div>
|
|
</header>
|
|
<main>
|
|
<section class="module-hero">
|
|
<div class="container">
|
|
<div class="module-kicker">Tree Mode</div>
|
|
<div class="module-title-row">
|
|
<div>
|
|
<h1>世系图</h1>
|
|
<p>
|
|
个人中心内的树谱管理视图,用于查看成员关系、添加亲属和搜索成员。
|
|
</p>
|
|
</div>
|
|
<a class="btn ghost magnetic" href="profile-family-admin.html"
|
|
>管理世代</a
|
|
>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
<section class="section">
|
|
<div class="container module-layout">
|
|
<aside class="module-nav">
|
|
<a href="profile-family-home.html">家谱主页</a
|
|
><a class="active" href="profile-tree.html">世系图</a
|
|
><a href="profile-generation.html">字辈谱</a
|
|
><a href="profile-family-admin.html">家族管理</a>
|
|
</aside>
|
|
<div class="module-main">
|
|
<section class="module-panel">
|
|
<h2>树谱操作</h2>
|
|
<div class="module-grid">
|
|
<button class="module-card module-action-card tilt-card" type="button" data-lineage-relation="parents"
|
|
><span class="icon">父</span>
|
|
<h3>添加父亲 / 母亲</h3>
|
|
<p>先选择成员,再为当前成员补充上一代关系。</p></button
|
|
><button class="module-card module-action-card tilt-card" type="button" data-lineage-relation="spouses"
|
|
><span class="icon">配</span>
|
|
<h3>添加配偶</h3>
|
|
<p>先选择成员,再维护配偶关系。</p></button
|
|
><button
|
|
class="module-card module-action-card tilt-card"
|
|
type="button"
|
|
data-lineage-relation="children"
|
|
><span class="icon">排</span>
|
|
<h3>添加子女</h3>
|
|
<p>先选择成员,再为当前成员补充下一代关系。</p></button
|
|
>
|
|
</div>
|
|
</section>
|
|
<section class="module-panel">
|
|
<h2>世系树</h2>
|
|
<!-- 世系树由 public/js/lineage-pages.js 按接口数据渲染 -->
|
|
<div class="lineage-tree-wrap" data-lineage-tree>
|
|
<div class="api-empty">世系树加载中...</div>
|
|
</div>
|
|
</section>
|
|
<section class="module-panel">
|
|
<h2>成员搜索</h2>
|
|
<div class="lineage-toolbar">
|
|
<input type="search" data-lineage-keyword placeholder="输入姓名或字辈搜索" />
|
|
<button class="btn primary" type="button" data-lineage-search>搜索</button>
|
|
</div>
|
|
<!-- 成员列表由世系人物分页接口渲染 -->
|
|
<div class="module-list" data-lineage-list>
|
|
<div class="api-empty">成员加载中...</div>
|
|
</div>
|
|
</section>
|
|
<section class="module-panel">
|
|
<h2>成员详情</h2>
|
|
<!-- 点击成员列表或世系树节点后渲染详情 -->
|
|
<div data-lineage-detail>
|
|
<div class="api-empty">请选择一个成员查看资料</div>
|
|
</div>
|
|
</section>
|
|
<section class="module-panel">
|
|
<h2>新增成员</h2>
|
|
<form class="editor-form" data-lineage-form>
|
|
<!-- 字段名称对应 APP.openapi.json 的 LineagePersonBody -->
|
|
<div class="editor-two">
|
|
<div class="editor-field">
|
|
<label for="lineage-person-name">姓名</label>
|
|
<input id="lineage-person-name" name="personName" type="text" placeholder="请输入成员姓名" required />
|
|
</div>
|
|
<div class="editor-field">
|
|
<label for="lineage-sex">性别</label>
|
|
<select id="lineage-sex" name="sex">
|
|
<option value="0">男</option>
|
|
<option value="1">女</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="editor-two">
|
|
<div class="editor-field">
|
|
<label for="lineage-generation-no">世代序号</label>
|
|
<input id="lineage-generation-no" name="generationNo" type="number" min="1" placeholder="例如 3" />
|
|
</div>
|
|
<div class="editor-field">
|
|
<label for="lineage-generation-name">字辈</label>
|
|
<input id="lineage-generation-name" name="generationName" type="text" placeholder="例如 忠" />
|
|
</div>
|
|
</div>
|
|
<div class="editor-two">
|
|
<div class="editor-field">
|
|
<label for="lineage-person-no">人物编号</label>
|
|
<input id="lineage-person-no" name="personNo" type="text" placeholder="可选" />
|
|
</div>
|
|
<div class="editor-field">
|
|
<label for="lineage-alias-name">别名</label>
|
|
<input id="lineage-alias-name" name="aliasName" type="text" placeholder="可选" />
|
|
</div>
|
|
</div>
|
|
<div class="editor-two">
|
|
<div class="editor-field">
|
|
<label for="lineage-birth-date">出生日期</label>
|
|
<input id="lineage-birth-date" name="birthDate" type="date" />
|
|
</div>
|
|
<div class="editor-field">
|
|
<label for="lineage-death-date">逝世日期</label>
|
|
<input id="lineage-death-date" name="deathDate" type="date" />
|
|
</div>
|
|
</div>
|
|
<div class="editor-field">
|
|
<label for="lineage-introduction">简介</label>
|
|
<textarea id="lineage-introduction" name="introduction" placeholder="记录成员生平简介"></textarea>
|
|
</div>
|
|
<div class="bottom-actions">
|
|
<button class="btn primary" type="submit">保存成员</button>
|
|
<button class="btn ghost" type="reset">清空</button>
|
|
</div>
|
|
</form>
|
|
</section>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</main>
|
|
<script src="public/js/jquery360.js"></script>
|
|
<script src="public/layui/layui.js"></script>
|
|
<script src="public/js/lay-config.js"></script>
|
|
<script src="public/js/profile-common.js"></script>
|
|
<script src="public/js/api-client.js"></script>
|
|
<script src="public/js/lineage-pages.js"></script>
|
|
<script src="public/js/page-effects.js"></script>
|
|
</body>
|
|
</html>
|