Files
jiapu/profile-tree.html
T
2026-07-24 18:11:32 +08:00

198 lines
9.8 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" data-genealogy-context-link>家族管理</a
><a href="profile-data.html">个人资料</a>
</nav>
<div class="nav-actions">
<a href="profile-family-home.html" data-genealogy-context-link>返回家谱主页</a
><a class="btn primary magnetic" href="#lineage-member-form">添加成员</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-generation.html" data-genealogy-context-link
>管理世代</a
>
</div>
</div>
</section>
<section class="section">
<div class="container module-layout">
<aside class="module-nav">
<a href="profile-family-home.html" data-genealogy-context-link>家谱主页</a
><a class="active" href="profile-tree.html" data-genealogy-context-link>世系图</a
><a href="profile-generation.html" data-genealogy-context-link>字辈谱</a
><a href="profile-family-admin.html" data-genealogy-context-link>家族管理</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
>
<button class="module-card module-action-card tilt-card" type="button" data-lineage-relation="siblings"
><span class="icon"></span>
<h3>添加兄弟姐妹</h3>
<p>先选择成员,再为当前成员新增同辈关系。</p></button
>
</div>
<div class="lineage-toolbar">
<select data-lineage-person-options aria-label="选择当前成员">
<option value="">请选择当前成员</option>
</select>
</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>
<p class="form-status" data-lineage-list-summary></p>
<!-- 成员列表由世系人物分页接口渲染 -->
<div class="module-list" data-lineage-list>
<div class="api-empty">成员加载中...</div>
</div>
<div class="bottom-actions" data-lineage-pagination hidden>
<button class="btn ghost" type="button" data-lineage-page-action="previous">上一页</button>
<span class="form-status" data-lineage-page-status></span>
<button class="btn ghost" type="button" data-lineage-page-action="next">下一页</button>
</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 id="lineage-member-form" class="editor-form" data-lineage-form>
<div class="editor-two">
<div class="editor-field">
<label for="lineage-person-name">姓名</label>
<input id="lineage-person-name" name="name" 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="generation" 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-field">
<label for="lineage-sort-order">排序值</label>
<input id="lineage-sort-order" name="sortOrder" type="number" step="1" placeholder="可选,数值越小越靠前" />
</div>
<div class="editor-field">
<label for="lineage-relation-name">关系称谓</label>
<input id="lineage-relation-name" name="relationName" type="text" placeholder="添加配偶时可选,例如 妻、夫" />
</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="biography" placeholder="记录成员生平简介"></textarea>
</div>
<div class="bottom-actions">
<button class="btn primary" type="submit">保存成员</button>
<button class="btn ghost" type="reset">清空</button>
<span class="form-status" data-lineage-form-status></span>
</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="config.js"></script>
<script src="utils/StorageUtil.js"></script>
<script src="utils/axios.js"></script>
<script src="utils/AxiosRequestUtil.js"></script>
<script src="utils/ApiClient.js"></script>
<script src="public/js/lineage-pages.js"></script>
<script src="public/js/page-effects.js"></script>
</body>
</html>