设计完成30%

This commit is contained in:
2026-07-14 07:01:32 +08:00
parent 355f47976a
commit 1015e60ff7
95 changed files with 1991 additions and 349 deletions
+5 -3
View File
@@ -2,14 +2,14 @@
<template>
<view class="tree-page">
<PageHeader title="世系树" action="树形视图" />
<view class="tree-toolbar"><view class="branch-select">当前家谱世系</view><view class="tree-tools"><text @click="showSoon">查找</text><text @click="showSoon">编辑</text></view></view>
<view class="tree-toolbar"><view class="branch-select">当前家谱世系</view><view class="tree-tools"><text @click="toDirectory">查找</text><text @click="toRelationship">编辑</text></view></view>
<scroll-view class="tree-scroll" scroll-x scroll-y>
<view class="tree-canvas">
<view v-if="!members.length" class="tree-empty">{{ loadError || '暂未录入族人' }}</view>
<view v-for="member in members" :key="member.id" class="member-node" :class="{ selected: selected && selected.id === member.id }" :style="nodeStyle(member)" @click="selected = member"><text class="node-name">{{ member.name }}</text><text class="node-relation">{{ member.relation }}</text><text class="node-years">{{ member.years }}</text></view>
</view>
</scroll-view>
<view v-if="selected" class="member-sheet"><view><text class="sheet-name">{{ selected.name }}</text><text class="sheet-meta">第 {{ selected.generation }} 世 · {{ selected.relation }} · {{ selected.branch }}</text></view><view class="sheet-actions"><text @click="toMember">查看资料</text><text @click="showSoon">添加亲属</text></view></view>
<view v-if="selected" class="member-sheet"><view><text class="sheet-name">{{ selected.name }}</text><text class="sheet-meta">第 {{ selected.generation }} 世 · {{ selected.relation }} · {{ selected.branch }}</text></view><view class="sheet-actions"><text @click="toMember">查看资料</text><text @click="toAddRelative">添加亲属</text></view></view>
</view>
</template>
@@ -40,7 +40,9 @@ const loadTree = async (query) => {
onLoad(loadTree)
const nodeStyle = (member) => ({ left: `${member.x}%`, top: `${member.y}%` })
const toMember = () => uni.navigateTo({ url: `/pages/tree/t03-member-profile?genealogyId=${genealogyId.value}&personId=${selected.value.id}` })
const showSoon = () => uni.showToast({ title: '亲属关系编辑将在下一阶段接入', icon: 'none' })
const toDirectory = () => uni.navigateTo({ url: `/pages/tree/t07-member-directory?genealogyId=${genealogyId.value}` })
const toRelationship = () => uni.navigateTo({ url: `/pages/tree/t06-edit-relationship?genealogyId=${genealogyId.value}` })
const toAddRelative = () => uni.navigateTo({ url: `/pages/tree/t04-add-relative?genealogyId=${genealogyId.value}&personId=${selected.value.id}` })
</script>
<style scoped lang="scss">
+3
View File
@@ -0,0 +1,3 @@
<!-- 页面编号T-02用途世系图小屏无成员与加载失败状态 -->
<template><ModulePage page-id="t02" /></template>
<script setup>import ModulePage from '@/components/ModulePage.vue'</script>
+2 -2
View File
@@ -1,7 +1,7 @@
<!-- 页面编号T-03用途成员档案详情 -->
<template>
<view class="page-shell member-page">
<PageHeader title="成员档案" action="编辑" @action="showSoon" />
<PageHeader title="成员档案" action="编辑" @action="toEdit" />
<view v-if="member" class="member-hero"><view class="member-seal">{{ member.name.slice(0, 1) }}</view><view><text class="member-name">{{ member.name }}</text><text class="member-role"> {{ member.generation }} · {{ member.relation }} · 家谱成员</text></view></view>
<view v-else class="state-copy">{{ loadError || '正在载入成员档案…' }}</view>
<template v-if="member">
@@ -41,7 +41,7 @@ onLoad(async (query) => {
}
})
const showSoon = () => uni.showToast({ title: '资料编辑将在下一阶段接入', icon: 'none' })
const toEdit = () => uni.navigateTo({ url: `/pages/tree/t05-edit-member?genealogyId=${genealogyId.value}&personId=${member.value?.id || ''}` })
</script>
<style scoped lang="scss">
+3
View File
@@ -0,0 +1,3 @@
<!-- 页面编号T-04用途新增直系亲属 -->
<template><ModulePage page-id="t04" /></template>
<script setup>import ModulePage from '@/components/ModulePage.vue'</script>
+3
View File
@@ -0,0 +1,3 @@
<!-- 页面编号T-05用途编辑成员资料 -->
<template><ModulePage page-id="t05" /></template>
<script setup>import ModulePage from '@/components/ModulePage.vue'</script>
+3
View File
@@ -0,0 +1,3 @@
<!-- 页面编号T-06用途编辑亲属关系与冲突提示 -->
<template><ModulePage page-id="t06" /></template>
<script setup>import ModulePage from '@/components/ModulePage.vue'</script>
+3
View File
@@ -0,0 +1,3 @@
<!-- 页面编号T-07用途成员目录与搜索 -->
<template><ModulePage page-id="t07" /></template>
<script setup>import ModulePage from '@/components/ModulePage.vue'</script>
+3
View File
@@ -0,0 +1,3 @@
<!-- 页面编号T-08用途成员离世隐私隐藏与无权限状态 -->
<template><ModulePage page-id="t08" /></template>
<script setup>import ModulePage from '@/components/ModulePage.vue'</script>