docs: 添加系统设计图
包含用例图、类图、实体图、序列图、活动图、功能结构图、界面设计图 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
91
example/爱维宠物医院管理系统-4.6界面设计图.drawio
Normal file
91
example/爱维宠物医院管理系统-4.6界面设计图.drawio
Normal file
@@ -0,0 +1,91 @@
|
||||
<mxfile host="app.diagrams.net" modified="2026-02-27T16:05:00.000Z" agent="OpenCode" version="24.7.17" type="device">
|
||||
<diagram id="fig411" name="图4.11 预约挂号界面设计图">
|
||||
<mxGraphModel dx="1800" dy="1200" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1600" pageHeight="1000" math="0" shadow="0" background="none">
|
||||
<root>
|
||||
<mxCell id="0"/>
|
||||
<mxCell id="1" parent="0"/>
|
||||
<mxCell id="10" value="预约挂号界面设计(依据 customer/AppointmentPage.vue)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontStyle=1;strokeWidth=2;fontSize=20;" vertex="1" parent="1"><mxGeometry x="220" y="20" width="1160" height="56" as="geometry"/></mxCell>
|
||||
<mxCell id="11" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;strokeWidth=2;" vertex="1" parent="1"><mxGeometry x="80" y="100" width="1440" height="800" as="geometry"/></mxCell>
|
||||
<mxCell id="12" value="CustomerLayout 顶部导航: 首页 | 我的宠物 | 预约挂号 | 检查报告 | 我的订单" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;align=left;spacingLeft=12;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="80" y="100" width="1440" height="56" as="geometry"/></mxCell>
|
||||
<mxCell id="13" value="页面标题:预约挂号" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontStyle=1;align=left;spacingLeft=12;" vertex="1" parent="1"><mxGeometry x="110" y="180" width="980" height="48" as="geometry"/></mxCell>
|
||||
<mxCell id="14" value="按钮:新增预约" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="1210" y="180" width="280" height="48" as="geometry"/></mxCell>
|
||||
|
||||
<mxCell id="20" value="预约列表(appointments)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontStyle=1;align=left;spacingLeft=10;" vertex="1" parent="1"><mxGeometry x="110" y="250" width="940" height="44" as="geometry"/></mxCell>
|
||||
<mxCell id="21" value="预约卡片:日期(月/日) + 宠物名(getPetName) + 时间(timeSlot) + 备注(remark) + 状态(getStatusText)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;align=left;spacingLeft=10;" vertex="1" parent="1"><mxGeometry x="110" y="294" width="940" height="66" as="geometry"/></mxCell>
|
||||
<mxCell id="22" value="状态为 PENDING 时显示操作按钮:取消" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;align=left;spacingLeft=10;" vertex="1" parent="1"><mxGeometry x="110" y="360" width="940" height="48" as="geometry"/></mxCell>
|
||||
<mxCell id="23" value="空状态:暂无预约记录 + 按钮“立即预约”" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;align=left;spacingLeft=10;" vertex="1" parent="1"><mxGeometry x="110" y="408" width="940" height="54" as="geometry"/></mxCell>
|
||||
|
||||
<mxCell id="30" value="新增预约弹窗(t-dialog: 新增预约)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="1080" y="250" width="410" height="44" as="geometry"/></mxCell>
|
||||
<mxCell id="31" value="表单项1:选择宠物(t-select, petOptions)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;align=left;spacingLeft=8;" vertex="1" parent="1"><mxGeometry x="1080" y="294" width="410" height="54" as="geometry"/></mxCell>
|
||||
<mxCell id="32" value="表单项2:预约日期(t-date-picker)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;align=left;spacingLeft=8;" vertex="1" parent="1"><mxGeometry x="1080" y="348" width="410" height="54" as="geometry"/></mxCell>
|
||||
<mxCell id="33" value="表单项3:时间段(t-select, timeSlotOptions)\n09:00-10:00 ... 17:00-18:00" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;align=left;spacingLeft=8;" vertex="1" parent="1"><mxGeometry x="1080" y="402" width="410" height="74" as="geometry"/></mxCell>
|
||||
<mxCell id="34" value="表单项4:备注(t-textarea, maxlength=200)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;align=left;spacingLeft=8;" vertex="1" parent="1"><mxGeometry x="1080" y="476" width="410" height="54" as="geometry"/></mxCell>
|
||||
<mxCell id="35" value="确认提交:submit() -> createAppointment(payload) -> 状态默认 PENDING" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;align=left;spacingLeft=8;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="1080" y="530" width="410" height="62" as="geometry"/></mxCell>
|
||||
|
||||
<mxCell id="40" value="数据加载:loadData() 同时请求 appointments 与 pets;卡片宠物名来自 pets 映射。" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;align=left;spacingLeft=8;" vertex="1" parent="1"><mxGeometry x="110" y="490" width="940" height="52" as="geometry"/></mxCell>
|
||||
<mxCell id="41" value="路由:/appointments(顾客端) | 组件:frontend/src/pages/customer/AppointmentPage.vue" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;align=left;spacingLeft=8;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="110" y="840" width="1380" height="42" as="geometry"/></mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
|
||||
<diagram id="fig412" name="图4.12 药品库存管理界面设计图">
|
||||
<mxGraphModel dx="1800" dy="1200" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1600" pageHeight="1000" math="0" shadow="0" background="none">
|
||||
<root>
|
||||
<mxCell id="0"/>
|
||||
<mxCell id="1" parent="0"/>
|
||||
<mxCell id="110" value="药品库存管理界面设计(依据 DrugPage + StockInPage + StockOutPage)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontStyle=1;strokeWidth=2;fontSize=20;" vertex="1" parent="1"><mxGeometry x="180" y="20" width="1240" height="56" as="geometry"/></mxCell>
|
||||
<mxCell id="111" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;strokeWidth=2;" vertex="1" parent="1"><mxGeometry x="80" y="100" width="1440" height="800" as="geometry"/></mxCell>
|
||||
|
||||
<mxCell id="112" value="MainLayout 左侧菜单(管理员)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="100" y="130" width="260" height="46" as="geometry"/></mxCell>
|
||||
<mxCell id="113" value="药品管理(/admin/drugs)\n入库流水(/admin/stock-in)\n出库流水(/admin/stock-out)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;align=left;spacingLeft=8;" vertex="1" parent="1"><mxGeometry x="100" y="176" width="260" height="138" as="geometry"/></mxCell>
|
||||
|
||||
<mxCell id="120" value="A. 药品管理页面(DrugPage.vue)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="390" y="130" width="1110" height="44" as="geometry"/></mxCell>
|
||||
<mxCell id="121" value="标题:药品管理 | 查询区:关键词输入 + 查询按钮 + 新增药品按钮" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;align=left;spacingLeft=8;" vertex="1" parent="1"><mxGeometry x="390" y="174" width="1110" height="54" as="geometry"/></mxCell>
|
||||
<mxCell id="122" value="列表(t-table columns):ID | 名称 | 规格 | 单位 | 库存 | 操作" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;align=left;spacingLeft=8;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="390" y="228" width="1110" height="46" as="geometry"/></mxCell>
|
||||
<mxCell id="123" value="操作列:编辑 | 删除" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;align=left;spacingLeft=8;" vertex="1" parent="1"><mxGeometry x="390" y="274" width="1110" height="44" as="geometry"/></mxCell>
|
||||
<mxCell id="124" value="新增/编辑弹窗字段:名称、规格、单位、库存、状态(启用/禁用)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;align=left;spacingLeft=8;" vertex="1" parent="1"><mxGeometry x="390" y="318" width="1110" height="52" as="geometry"/></mxCell>
|
||||
|
||||
<mxCell id="130" value="B. 入库流水页面(StockInPage.vue)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="390" y="390" width="540" height="44" as="geometry"/></mxCell>
|
||||
<mxCell id="131" value="标题:入库流水 | 按钮:刷新、新增入库" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;align=left;spacingLeft=8;" vertex="1" parent="1"><mxGeometry x="390" y="434" width="540" height="48" as="geometry"/></mxCell>
|
||||
<mxCell id="132" value="表格列:ID | 药品(drugId映射名称) | 数量 | 入库时间" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;align=left;spacingLeft=8;" vertex="1" parent="1"><mxGeometry x="390" y="482" width="540" height="52" as="geometry"/></mxCell>
|
||||
<mxCell id="133" value="新增入库弹窗字段:药品(t-select) | 数量" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;align=left;spacingLeft=8;" vertex="1" parent="1"><mxGeometry x="390" y="534" width="540" height="48" as="geometry"/></mxCell>
|
||||
|
||||
<mxCell id="140" value="C. 出库流水页面(StockOutPage.vue)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="960" y="390" width="540" height="44" as="geometry"/></mxCell>
|
||||
<mxCell id="141" value="标题:出库流水 | 按钮:刷新、新增出库" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;align=left;spacingLeft=8;" vertex="1" parent="1"><mxGeometry x="960" y="434" width="540" height="48" as="geometry"/></mxCell>
|
||||
<mxCell id="142" value="表格列:ID | 药品(drugId映射名称) | 数量 | 出库时间" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;align=left;spacingLeft=8;" vertex="1" parent="1"><mxGeometry x="960" y="482" width="540" height="52" as="geometry"/></mxCell>
|
||||
<mxCell id="143" value="新增出库弹窗字段:药品(t-select) | 数量" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;align=left;spacingLeft=8;" vertex="1" parent="1"><mxGeometry x="960" y="534" width="540" height="48" as="geometry"/></mxCell>
|
||||
|
||||
<mxCell id="150" value="路由与组件:/admin/drugs -> DrugPage.vue;/admin/stock-in -> StockInPage.vue;/admin/stock-out -> StockOutPage.vue" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;align=left;spacingLeft=8;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="100" y="840" width="1400" height="42" as="geometry"/></mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
|
||||
<diagram id="fig413" name="图4.13 病历书写界面设计图">
|
||||
<mxGraphModel dx="1800" dy="1200" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1600" pageHeight="1000" math="0" shadow="0" background="none">
|
||||
<root>
|
||||
<mxCell id="0"/>
|
||||
<mxCell id="1" parent="0"/>
|
||||
<mxCell id="210" value="病历书写界面设计(依据 MedicalRecordPage.vue)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontStyle=1;strokeWidth=2;fontSize=20;" vertex="1" parent="1"><mxGeometry x="240" y="20" width="1120" height="56" as="geometry"/></mxCell>
|
||||
<mxCell id="211" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;strokeWidth=2;" vertex="1" parent="1"><mxGeometry x="80" y="100" width="1440" height="800" as="geometry"/></mxCell>
|
||||
<mxCell id="212" value="MainLayout 左侧菜单(医生/管理员):就诊记录 | 病历管理 | 处方管理" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;align=left;spacingLeft=10;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="100" y="130" width="300" height="70" as="geometry"/></mxCell>
|
||||
|
||||
<mxCell id="220" value="页面标题:病历管理" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontStyle=1;align=left;spacingLeft=10;" vertex="1" parent="1"><mxGeometry x="430" y="130" width="1070" height="44" as="geometry"/></mxCell>
|
||||
<mxCell id="221" value="查询区(inline-form):就诊ID 输入框 + 查询按钮 + 新增病历按钮" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;align=left;spacingLeft=10;" vertex="1" parent="1"><mxGeometry x="430" y="174" width="1070" height="52" as="geometry"/></mxCell>
|
||||
|
||||
<mxCell id="222" value="病历列表(t-table)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontStyle=1;align=left;spacingLeft=10;" vertex="1" parent="1"><mxGeometry x="430" y="246" width="1070" height="42" as="geometry"/></mxCell>
|
||||
<mxCell id="223" value="列定义:ID | 就诊(visitId 插槽显示 getVisitLabel) | 主诉 | 诊断 | 状态(getStatusText) | 操作" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;align=left;spacingLeft=10;" vertex="1" parent="1"><mxGeometry x="430" y="288" width="1070" height="58" as="geometry"/></mxCell>
|
||||
<mxCell id="224" value="操作:编辑 | 删除" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;align=left;spacingLeft=10;" vertex="1" parent="1"><mxGeometry x="430" y="346" width="1070" height="42" as="geometry"/></mxCell>
|
||||
|
||||
<mxCell id="230" value="新增/编辑病历弹窗(t-dialog)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="430" y="410" width="1070" height="42" as="geometry"/></mxCell>
|
||||
<mxCell id="231" value="字段1:就诊ID(t-select, visitOptions;选项标签=宠物名/医生名)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;align=left;spacingLeft=10;" vertex="1" parent="1"><mxGeometry x="430" y="452" width="1070" height="54" as="geometry"/></mxCell>
|
||||
<mxCell id="232" value="字段2:主诉(chiefComplaint)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;align=left;spacingLeft=10;" vertex="1" parent="1"><mxGeometry x="430" y="506" width="1070" height="46" as="geometry"/></mxCell>
|
||||
<mxCell id="233" value="字段3:诊断(diagnosis)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;align=left;spacingLeft=10;" vertex="1" parent="1"><mxGeometry x="430" y="552" width="1070" height="46" as="geometry"/></mxCell>
|
||||
<mxCell id="234" value="字段4:状态(status:DRAFT=草稿,COMPLETED=已完成)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;align=left;spacingLeft=10;" vertex="1" parent="1"><mxGeometry x="430" y="598" width="1070" height="50" as="geometry"/></mxCell>
|
||||
<mxCell id="235" value="确认提交:submit() -> createMedicalRecord / updateMedicalRecord;保存成功后刷新列表" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;align=left;spacingLeft=10;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="430" y="648" width="1070" height="56" as="geometry"/></mxCell>
|
||||
|
||||
<mxCell id="240" value="辅助数据加载:onMounted 时加载 visits、pets、doctors,用于就诊下拉标签显示。" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;align=left;spacingLeft=10;" vertex="1" parent="1"><mxGeometry x="430" y="724" width="1070" height="46" as="geometry"/></mxCell>
|
||||
<mxCell id="241" value="路由:/admin/records | 组件:frontend/src/pages/MedicalRecordPage.vue" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;align=left;spacingLeft=8;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="100" y="840" width="1400" height="42" as="geometry"/></mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
||||
132
example/爱维宠物医院管理系统-实体图.drawio
Normal file
132
example/爱维宠物医院管理系统-实体图.drawio
Normal file
@@ -0,0 +1,132 @@
|
||||
<mxfile host="app.diagrams.net" modified="2026-02-27T13:20:00.000Z" agent="OpenCode" version="24.7.17" type="device">
|
||||
<diagram id="entity-diagram" name="图4.9 实体属性图(示例风格)">
|
||||
<mxGraphModel dx="2200" dy="1400" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="3600" pageHeight="1800" math="0" shadow="0" background="none">
|
||||
<root>
|
||||
<mxCell id="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
|
||||
<mxCell id="10" value="爱维宠物医院管理系统实体图" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=2;fillColor=none;strokeColor=#000000;fontColor=#000000;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="1460" y="30" width="420" height="56" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="e1" value="<b>用户</b>" style="shape=rectangle;whiteSpace=wrap;html=1;rounded=0;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=14;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="240" y="235" width="120" height="50" as="geometry" /></mxCell>
|
||||
<mxCell id="e1a1" value="用户ID(PK)" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="250" y="130" width="100" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e1a2" value="用户名" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="90" y="220" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e1a3" value="手机号" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="90" y="310" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e1a4" value="角色" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="390" y="220" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e1a5" value="状态" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="390" y="310" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e1l1" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e1a1" target="e1"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e1l2" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e1a2" target="e1"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e1l3" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e1a3" target="e1"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e1l4" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e1a4" target="e1"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e1l5" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e1a5" target="e1"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="e2" value="<b>医生</b>" style="shape=rectangle;whiteSpace=wrap;html=1;rounded=0;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=14;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="920" y="235" width="120" height="50" as="geometry" /></mxCell>
|
||||
<mxCell id="e2a1" value="医生ID(PK)" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="930" y="130" width="100" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e2a2" value="姓名" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="770" y="220" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e2a3" value="科室" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="770" y="310" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e2a4" value="职称" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="1070" y="220" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e2a5" value="状态" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="1070" y="310" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e2l1" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e2a1" target="e2"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e2l2" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e2a2" target="e2"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e2l3" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e2a3" target="e2"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e2l4" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e2a4" target="e2"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e2l5" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e2a5" target="e2"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="e3" value="<b>宠物</b>" style="shape=rectangle;whiteSpace=wrap;html=1;rounded=0;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=14;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="1600" y="235" width="120" height="50" as="geometry" /></mxCell>
|
||||
<mxCell id="e3a1" value="宠物ID(PK)" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="1610" y="130" width="100" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e3a2" value="主人ID(FK)" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="1450" y="220" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e3a3" value="宠物名" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="1450" y="310" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e3a4" value="品种" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="1750" y="220" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e3a5" value="性别" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="1750" y="310" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e3l1" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e3a1" target="e3"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e3l2" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e3a2" target="e3"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e3l3" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e3a3" target="e3"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e3l4" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e3a4" target="e3"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e3l5" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e3a5" target="e3"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="e4" value="<b>预约</b>" style="shape=rectangle;whiteSpace=wrap;html=1;rounded=0;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=14;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="2280" y="235" width="120" height="50" as="geometry" /></mxCell>
|
||||
<mxCell id="e4a1" value="预约ID(PK)" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="2290" y="130" width="100" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e4a2" value="顾客ID(FK)" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="2130" y="220" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e4a3" value="宠物ID(FK)" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="2130" y="310" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e4a4" value="医生ID(FK)" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="2430" y="220" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e4a5" value="预约状态" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="2430" y="310" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e4l1" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e4a1" target="e4"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e4l2" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e4a2" target="e4"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e4l3" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e4a3" target="e4"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e4l4" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e4a4" target="e4"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e4l5" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e4a5" target="e4"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="e5" value="<b>就诊</b>" style="shape=rectangle;whiteSpace=wrap;html=1;rounded=0;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=14;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="2960" y="235" width="120" height="50" as="geometry" /></mxCell>
|
||||
<mxCell id="e5a1" value="就诊ID(PK)" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="2970" y="130" width="100" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e5a2" value="预约ID(FK)" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="2810" y="220" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e5a3" value="宠物ID(FK)" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="2810" y="310" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e5a4" value="医生ID(FK)" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="3110" y="220" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e5a5" value="诊断结果" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="3110" y="310" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e5l1" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e5a1" target="e5"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e5l2" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e5a2" target="e5"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e5l3" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e5a3" target="e5"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e5l4" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e5a4" target="e5"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e5l5" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e5a5" target="e5"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="e6" value="<b>病历</b>" style="shape=rectangle;whiteSpace=wrap;html=1;rounded=0;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=14;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="240" y="955" width="120" height="50" as="geometry" /></mxCell>
|
||||
<mxCell id="e6a1" value="病历ID(PK)" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="250" y="850" width="100" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e6a2" value="就诊ID(FK)" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="90" y="940" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e6a3" value="医生ID(FK)" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="90" y="1030" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e6a4" value="记录类型" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="390" y="940" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e6a5" value="记录内容" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="390" y="1030" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e6l1" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e6a1" target="e6"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e6l2" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e6a2" target="e6"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e6l3" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e6a3" target="e6"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e6l4" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e6a4" target="e6"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e6l5" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e6a5" target="e6"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="e7" value="<b>处方</b>" style="shape=rectangle;whiteSpace=wrap;html=1;rounded=0;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=14;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="920" y="955" width="120" height="50" as="geometry" /></mxCell>
|
||||
<mxCell id="e7a1" value="处方ID(PK)" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="930" y="850" width="100" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e7a2" value="就诊ID(FK)" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="770" y="940" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e7a3" value="顾客ID(FK)" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="770" y="1030" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e7a4" value="医生ID(FK)" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="1070" y="940" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e7a5" value="总金额" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="1070" y="1030" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e7l1" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e7a1" target="e7"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e7l2" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e7a2" target="e7"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e7l3" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e7a3" target="e7"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e7l4" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e7a4" target="e7"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e7l5" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e7a5" target="e7"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="e8" value="<b>处方明细</b>" style="shape=rectangle;whiteSpace=wrap;html=1;rounded=0;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=14;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="1600" y="955" width="120" height="50" as="geometry" /></mxCell>
|
||||
<mxCell id="e8a1" value="明细ID(PK)" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="1610" y="850" width="100" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e8a2" value="处方ID(FK)" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="1450" y="940" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e8a3" value="药品ID(FK)" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="1450" y="1030" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e8a4" value="数量" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="1750" y="940" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e8a5" value="用法用量" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="1750" y="1030" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e8l1" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e8a1" target="e8"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e8l2" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e8a2" target="e8"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e8l3" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e8a3" target="e8"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e8l4" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e8a4" target="e8"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e8l5" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e8a5" target="e8"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="e9" value="<b>药品</b>" style="shape=rectangle;whiteSpace=wrap;html=1;rounded=0;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=14;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="2280" y="955" width="120" height="50" as="geometry" /></mxCell>
|
||||
<mxCell id="e9a1" value="药品ID(PK)" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="2290" y="850" width="100" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e9a2" value="药品名称" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="2130" y="940" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e9a3" value="分类" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="2130" y="1030" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e9a4" value="单价" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="2430" y="940" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e9a5" value="库存数量" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="2430" y="1030" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e9l1" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e9a1" target="e9"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e9l2" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e9a2" target="e9"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e9l3" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e9a3" target="e9"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e9l4" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e9a4" target="e9"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e9l5" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e9a5" target="e9"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="e10" value="<b>订单</b>" style="shape=rectangle;whiteSpace=wrap;html=1;rounded=0;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=14;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="2960" y="955" width="120" height="50" as="geometry" /></mxCell>
|
||||
<mxCell id="e10a1" value="订单ID(PK)" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="2970" y="850" width="100" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e10a2" value="就诊ID(FK)" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="2810" y="940" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e10a3" value="顾客ID(FK)" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="2810" y="1030" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e10a4" value="支付方式" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="3110" y="940" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e10a5" value="金额" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1"><mxGeometry x="3110" y="1030" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="e10l1" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e10a1" target="e10"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e10l2" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e10a2" target="e10"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e10l3" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e10a3" target="e10"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e10l4" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e10a4" target="e10"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e10l5" style="html=1;endArrow=none;startArrow=none;strokeColor=#000000;" edge="1" parent="1" source="e10a5" target="e10"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
||||
374
example/爱维宠物医院管理系统-序列图.drawio
Normal file
374
example/爱维宠物医院管理系统-序列图.drawio
Normal file
@@ -0,0 +1,374 @@
|
||||
<mxfile host="app.diagrams.net" modified="2026-02-26T21:30:00.000Z" agent="OpenCode" version="24.7.17" type="device">
|
||||
<diagram id="seq-customer-appointment" name="图4.5 顾客预约序列图">
|
||||
<mxGraphModel dx="1600" dy="1000" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1600" pageHeight="1200" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
|
||||
<!-- 参与者:人物图标 -->
|
||||
<mxCell id="actor1" value="顾客" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;strokeColor=#000000;fillColor=#FFFFFF;" vertex="1" parent="1">
|
||||
<mxGeometry x="80" y="40" width="30" height="55" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 参与者:系统组件矩形 -->
|
||||
<mxCell id="obj2" value="系统前台" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;fillColor=#FFFFFF;fontStyle=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="260" y="50" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="obj3" value="后台系统" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;fillColor=#FFFFFF;fontStyle=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="540" y="50" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="obj4" value="数据库" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;fillColor=#FFFFFF;fontStyle=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="820" y="50" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 生命线(虚线) -->
|
||||
<mxCell id="ll1" value="" style="endArrow=none;dashed=1;html=1;strokeColor=#000000;" edge="1" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="95" y="95" as="sourcePoint" />
|
||||
<mxPoint x="95" y="920" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="ll2" value="" style="endArrow=none;dashed=1;html=1;strokeColor=#000000;" edge="1" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="320" y="90" as="sourcePoint" />
|
||||
<mxPoint x="320" y="920" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="ll3" value="" style="endArrow=none;dashed=1;html=1;strokeColor=#000000;" edge="1" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="600" y="90" as="sourcePoint" />
|
||||
<mxPoint x="600" y="920" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="ll4" value="" style="endArrow=none;dashed=1;html=1;strokeColor=#000000;" edge="1" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="880" y="90" as="sourcePoint" />
|
||||
<mxPoint x="880" y="920" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
|
||||
<!-- 激活条 -->
|
||||
<mxCell id="act1" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;fillColor=#FFFFFF;" vertex="1" parent="1">
|
||||
<mxGeometry x="88" y="130" width="14" height="760" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="act2" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;fillColor=#FFFFFF;" vertex="1" parent="1">
|
||||
<mxGeometry x="313" y="150" width="14" height="720" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="act3" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;fillColor=#FFFFFF;" vertex="1" parent="1">
|
||||
<mxGeometry x="593" y="280" width="14" height="460" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="act4" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;fillColor=#FFFFFF;" vertex="1" parent="1">
|
||||
<mxGeometry x="873" y="360" width="14" height="300" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 消息1:顾客 → 前台:进入预约页面 -->
|
||||
<mxCell id="m1" value="进入预约页面" style="endArrow=block;endFill=1;html=1;strokeColor=#000000;fontColor=#000000;align=center;" edge="1" parent="1">
|
||||
<mxGeometry x="-0.2" relative="1" as="geometry">
|
||||
<mxPoint x="102" y="160" as="sourcePoint" />
|
||||
<mxPoint x="313" y="160" as="targetPoint" />
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
|
||||
<!-- 消息2:前台 → 顾客:提示选择宠物与时段 -->
|
||||
<mxCell id="m2" value="提示选择宠物与时段" style="endArrow=open;endFill=0;dashed=1;html=1;strokeColor=#000000;fontColor=#000000;align=center;" edge="1" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="313" y="210" as="sourcePoint" />
|
||||
<mxPoint x="102" y="210" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
|
||||
<!-- 消息3:顾客 → 前台:填写预约信息并提交 -->
|
||||
<mxCell id="m3" value="填写预约信息并提交" style="endArrow=block;endFill=1;html=1;strokeColor=#000000;fontColor=#000000;align=center;" edge="1" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="102" y="270" as="sourcePoint" />
|
||||
<mxPoint x="313" y="270" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
|
||||
<!-- 消息4:前台 → 后台:提交预约请求 -->
|
||||
<mxCell id="m4" value="提交预约请求" style="endArrow=block;endFill=1;html=1;strokeColor=#000000;fontColor=#000000;align=center;" edge="1" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="327" y="310" as="sourcePoint" />
|
||||
<mxPoint x="593" y="310" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
|
||||
<!-- 消息5:后台 → 数据库:校验宠物与时段可用性 -->
|
||||
<mxCell id="m5" value="校验宠物与时段可用性" style="endArrow=block;endFill=1;html=1;strokeColor=#000000;fontColor=#000000;align=center;" edge="1" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="607" y="380" as="sourcePoint" />
|
||||
<mxPoint x="873" y="380" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
|
||||
<!-- 消息6:数据库 → 后台:返回校验结果 -->
|
||||
<mxCell id="m6" value="返回校验结果" style="endArrow=open;endFill=0;dashed=1;html=1;strokeColor=#000000;fontColor=#000000;align=center;" edge="1" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="873" y="430" as="sourcePoint" />
|
||||
<mxPoint x="607" y="430" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
|
||||
<!-- alt 片段框 -->
|
||||
<mxCell id="alt_frame" value="" style="shape=mxgraph.sysml.package;html=1;overflow=fill;whiteSpace=wrap;strokeColor=#000000;fillColor=none;align=left;verticalAlign=top;spacingLeft=5;tabWidth=120;tabHeight=20;tabPosition=left;fontSize=12;" vertex="1" parent="1">
|
||||
<mxGeometry x="60" y="470" width="870" height="390" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="alt_label" value="alt" style="text;html=1;align=left;verticalAlign=top;fontStyle=1;fontSize=12;fontColor=#000000;" vertex="1" parent="1">
|
||||
<mxGeometry x="65" y="472" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="alt_guard1" value="[校验通过]" style="text;html=1;align=left;verticalAlign=middle;fontStyle=0;fontSize=11;fontColor=#000000;" vertex="1" parent="1">
|
||||
<mxGeometry x="70" y="498" width="100" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 成功路径 -->
|
||||
<!-- 消息7:后台 → 数据库:保存预约记录 -->
|
||||
<mxCell id="m7" value="保存预约记录" style="endArrow=block;endFill=1;html=1;strokeColor=#000000;fontColor=#000000;align=center;" edge="1" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="607" y="530" as="sourcePoint" />
|
||||
<mxPoint x="873" y="530" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
|
||||
<!-- 消息8:数据库 → 后台:返回保存结果 -->
|
||||
<mxCell id="m8" value="返回保存结果" style="endArrow=open;endFill=0;dashed=1;html=1;strokeColor=#000000;fontColor=#000000;align=center;" edge="1" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="873" y="580" as="sourcePoint" />
|
||||
<mxPoint x="607" y="580" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
|
||||
<!-- 消息9:后台 → 前台:返回预约成功 -->
|
||||
<mxCell id="m9" value="返回预约成功" style="endArrow=open;endFill=0;dashed=1;html=1;strokeColor=#000000;fontColor=#000000;align=center;" edge="1" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="593" y="620" as="sourcePoint" />
|
||||
<mxPoint x="327" y="620" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
|
||||
<!-- 消息10:前台 → 顾客:显示预约成功 -->
|
||||
<mxCell id="m10" value="显示预约成功" style="endArrow=open;endFill=0;dashed=1;html=1;strokeColor=#000000;fontColor=#000000;align=center;" edge="1" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="313" y="660" as="sourcePoint" />
|
||||
<mxPoint x="102" y="660" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
|
||||
<!-- 分隔虚线 -->
|
||||
<mxCell id="alt_divider" value="" style="endArrow=none;dashed=1;html=1;strokeColor=#000000;" edge="1" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="60" y="700" as="sourcePoint" />
|
||||
<mxPoint x="930" y="700" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="alt_guard2" value="[校验失败]" style="text;html=1;align=left;verticalAlign=middle;fontStyle=0;fontSize=11;fontColor=#000000;" vertex="1" parent="1">
|
||||
<mxGeometry x="70" y="708" width="100" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 失败路径 -->
|
||||
<!-- 消息11:后台 → 前台:返回错误码 -->
|
||||
<mxCell id="m11" value="返回错误码" style="endArrow=open;endFill=0;dashed=1;html=1;strokeColor=#000000;fontColor=#000000;align=center;" edge="1" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="593" y="750" as="sourcePoint" />
|
||||
<mxPoint x="327" y="750" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
|
||||
<!-- 消息12:前台 → 顾客:提示预约失败信息 -->
|
||||
<mxCell id="m12" value="提示预约失败信息" style="endArrow=open;endFill=0;dashed=1;html=1;strokeColor=#000000;fontColor=#000000;align=center;" edge="1" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="313" y="800" as="sourcePoint" />
|
||||
<mxPoint x="102" y="800" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
|
||||
<diagram id="seq-admin-user-management" name="图4.6 管理员账号管理序列图">
|
||||
<mxGraphModel dx="1600" dy="1000" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1600" pageHeight="1200" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
|
||||
<!-- 参与者:人物图标 -->
|
||||
<mxCell id="actor1" value="管理员" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;strokeColor=#000000;fillColor=#FFFFFF;" vertex="1" parent="1">
|
||||
<mxGeometry x="80" y="40" width="30" height="55" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 参与者:系统组件矩形 -->
|
||||
<mxCell id="obj2" value="系统前台" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;fillColor=#FFFFFF;fontStyle=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="260" y="50" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="obj3" value="后台系统" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;fillColor=#FFFFFF;fontStyle=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="540" y="50" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="obj4" value="数据库" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;fillColor=#FFFFFF;fontStyle=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="820" y="50" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 生命线(虚线) -->
|
||||
<mxCell id="ll1" value="" style="endArrow=none;dashed=1;html=1;strokeColor=#000000;" edge="1" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="95" y="95" as="sourcePoint" />
|
||||
<mxPoint x="95" y="920" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="ll2" value="" style="endArrow=none;dashed=1;html=1;strokeColor=#000000;" edge="1" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="320" y="90" as="sourcePoint" />
|
||||
<mxPoint x="320" y="920" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="ll3" value="" style="endArrow=none;dashed=1;html=1;strokeColor=#000000;" edge="1" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="600" y="90" as="sourcePoint" />
|
||||
<mxPoint x="600" y="920" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="ll4" value="" style="endArrow=none;dashed=1;html=1;strokeColor=#000000;" edge="1" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="880" y="90" as="sourcePoint" />
|
||||
<mxPoint x="880" y="920" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
|
||||
<!-- 激活条 -->
|
||||
<mxCell id="act1" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;fillColor=#FFFFFF;" vertex="1" parent="1">
|
||||
<mxGeometry x="88" y="130" width="14" height="760" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="act2" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;fillColor=#FFFFFF;" vertex="1" parent="1">
|
||||
<mxGeometry x="313" y="150" width="14" height="720" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="act3" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;fillColor=#FFFFFF;" vertex="1" parent="1">
|
||||
<mxGeometry x="593" y="280" width="14" height="460" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="act4" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;fillColor=#FFFFFF;" vertex="1" parent="1">
|
||||
<mxGeometry x="873" y="360" width="14" height="300" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 消息1:管理员 → 前台:进入用户管理页面 -->
|
||||
<mxCell id="m1" value="进入用户管理页面" style="endArrow=block;endFill=1;html=1;strokeColor=#000000;fontColor=#000000;align=center;" edge="1" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="102" y="160" as="sourcePoint" />
|
||||
<mxPoint x="313" y="160" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
|
||||
<!-- 消息2:前台 → 管理员:展示用户列表 -->
|
||||
<mxCell id="m2" value="展示用户列表" style="endArrow=open;endFill=0;dashed=1;html=1;strokeColor=#000000;fontColor=#000000;align=center;" edge="1" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="313" y="210" as="sourcePoint" />
|
||||
<mxPoint x="102" y="210" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
|
||||
<!-- 消息3:管理员 → 前台:选择新增/更新/禁用操作 -->
|
||||
<mxCell id="m3" value="选择新增/更新/禁用操作" style="endArrow=block;endFill=1;html=1;strokeColor=#000000;fontColor=#000000;align=center;" edge="1" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="102" y="270" as="sourcePoint" />
|
||||
<mxPoint x="313" y="270" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
|
||||
<!-- 消息4:前台 → 后台:提交账号管理请求 -->
|
||||
<mxCell id="m4" value="提交账号管理请求" style="endArrow=block;endFill=1;html=1;strokeColor=#000000;fontColor=#000000;align=center;" edge="1" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="327" y="310" as="sourcePoint" />
|
||||
<mxPoint x="593" y="310" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
|
||||
<!-- 消息5:后台 → 数据库:校验管理员权限 -->
|
||||
<mxCell id="m5" value="校验管理员权限" style="endArrow=block;endFill=1;html=1;strokeColor=#000000;fontColor=#000000;align=center;" edge="1" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="607" y="380" as="sourcePoint" />
|
||||
<mxPoint x="873" y="380" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
|
||||
<!-- 消息6:数据库 → 后台:返回权限信息 -->
|
||||
<mxCell id="m6" value="返回权限信息" style="endArrow=open;endFill=0;dashed=1;html=1;strokeColor=#000000;fontColor=#000000;align=center;" edge="1" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="873" y="430" as="sourcePoint" />
|
||||
<mxPoint x="607" y="430" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
|
||||
<!-- alt 片段框 -->
|
||||
<mxCell id="alt_frame" value="" style="shape=mxgraph.sysml.package;html=1;overflow=fill;whiteSpace=wrap;strokeColor=#000000;fillColor=none;align=left;verticalAlign=top;spacingLeft=5;tabWidth=120;tabHeight=20;tabPosition=left;fontSize=12;" vertex="1" parent="1">
|
||||
<mxGeometry x="60" y="470" width="870" height="390" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="alt_label" value="alt" style="text;html=1;align=left;verticalAlign=top;fontStyle=1;fontSize=12;fontColor=#000000;" vertex="1" parent="1">
|
||||
<mxGeometry x="65" y="472" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="alt_guard1" value="[权限校验通过]" style="text;html=1;align=left;verticalAlign=middle;fontStyle=0;fontSize=11;fontColor=#000000;" vertex="1" parent="1">
|
||||
<mxGeometry x="70" y="498" width="120" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 成功路径 -->
|
||||
<!-- 消息7:后台 → 数据库:更新目标用户信息/状态 -->
|
||||
<mxCell id="m7" value="更新目标用户信息/状态" style="endArrow=block;endFill=1;html=1;strokeColor=#000000;fontColor=#000000;align=center;" edge="1" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="607" y="530" as="sourcePoint" />
|
||||
<mxPoint x="873" y="530" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
|
||||
<!-- 消息8:数据库 → 后台:返回更新结果 -->
|
||||
<mxCell id="m8" value="返回更新结果" style="endArrow=open;endFill=0;dashed=1;html=1;strokeColor=#000000;fontColor=#000000;align=center;" edge="1" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="873" y="580" as="sourcePoint" />
|
||||
<mxPoint x="607" y="580" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
|
||||
<!-- 消息9:后台 → 前台:返回操作成功 -->
|
||||
<mxCell id="m9" value="返回操作成功" style="endArrow=open;endFill=0;dashed=1;html=1;strokeColor=#000000;fontColor=#000000;align=center;" edge="1" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="593" y="620" as="sourcePoint" />
|
||||
<mxPoint x="327" y="620" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
|
||||
<!-- 消息10:前台 → 管理员:刷新列表并提示成功 -->
|
||||
<mxCell id="m10" value="刷新列表并提示成功" style="endArrow=open;endFill=0;dashed=1;html=1;strokeColor=#000000;fontColor=#000000;align=center;" edge="1" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="313" y="660" as="sourcePoint" />
|
||||
<mxPoint x="102" y="660" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
|
||||
<!-- 分隔虚线 -->
|
||||
<mxCell id="alt_divider" value="" style="endArrow=none;dashed=1;html=1;strokeColor=#000000;" edge="1" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="60" y="700" as="sourcePoint" />
|
||||
<mxPoint x="930" y="700" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="alt_guard2" value="[权限校验失败]" style="text;html=1;align=left;verticalAlign=middle;fontStyle=0;fontSize=11;fontColor=#000000;" vertex="1" parent="1">
|
||||
<mxGeometry x="70" y="708" width="120" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 失败路径 -->
|
||||
<!-- 消息11:后台 → 前台:返回错误码 -->
|
||||
<mxCell id="m11" value="返回错误码" style="endArrow=open;endFill=0;dashed=1;html=1;strokeColor=#000000;fontColor=#000000;align=center;" edge="1" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="593" y="750" as="sourcePoint" />
|
||||
<mxPoint x="327" y="750" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
|
||||
<!-- 消息12:前台 → 管理员:提示操作失败信息 -->
|
||||
<mxCell id="m12" value="提示操作失败信息" style="endArrow=open;endFill=0;dashed=1;html=1;strokeColor=#000000;fontColor=#000000;align=center;" edge="1" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="313" y="800" as="sourcePoint" />
|
||||
<mxPoint x="102" y="800" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
||||
347
example/爱维宠物医院管理系统-活动图.drawio
Normal file
347
example/爱维宠物医院管理系统-活动图.drawio
Normal file
@@ -0,0 +1,347 @@
|
||||
<mxfile host="app.diagrams.net" modified="2026-02-26T21:40:00.000Z" agent="OpenCode" version="24.7.17" type="device">
|
||||
<diagram id="act-doctor" name="图4.7 医生接诊活动图">
|
||||
<mxGraphModel dx="1600" dy="1000" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1200" pageHeight="1600" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
|
||||
<!-- 泳道边框 -->
|
||||
<mxCell id="pool" value="" style="shape=table;startSize=0;container=1;collapsible=0;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=0;strokeColor=#000000;fillColor=none;" vertex="1" parent="1">
|
||||
<mxGeometry x="40" y="30" width="1100" height="1500" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 泳道标题行 -->
|
||||
<mxCell id="lane1_header" value="医生" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeColor=#000000;fillColor=none;verticalAlign=middle;align=center;" vertex="1" parent="1">
|
||||
<mxGeometry x="40" y="30" width="360" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lane2_header" value="后台系统" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeColor=#000000;fillColor=none;verticalAlign=middle;align=center;" vertex="1" parent="1">
|
||||
<mxGeometry x="400" y="30" width="380" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lane3_header" value="数据库" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeColor=#000000;fillColor=none;verticalAlign=middle;align=center;" vertex="1" parent="1">
|
||||
<mxGeometry x="780" y="30" width="360" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 泳道竖线 -->
|
||||
<mxCell id="lane_div1" value="" style="endArrow=none;html=1;strokeColor=#000000;" edge="1" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="400" y="70" as="sourcePoint" />
|
||||
<mxPoint x="400" y="1530" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="lane_div2" value="" style="endArrow=none;html=1;strokeColor=#000000;" edge="1" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="780" y="70" as="sourcePoint" />
|
||||
<mxPoint x="780" y="1530" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
|
||||
<!-- 开始节点(实心圆)- 医生泳道 -->
|
||||
<mxCell id="start" value="" style="ellipse;html=1;shape=mxgraph.flowchart.start_2;fillColor=#000000;strokeColor=#000000;" vertex="1" parent="1">
|
||||
<mxGeometry x="200" y="100" width="30" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 步骤1:登录系统 - 医生泳道 -->
|
||||
<mxCell id="s1" value="登录系统" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;fillColor=#FFFFFF;" vertex="1" parent="1">
|
||||
<mxGeometry x="150" y="170" width="130" height="44" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 步骤2:查看预约列表 - 后台系统泳道 -->
|
||||
<mxCell id="s2" value="加载预约列表" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;fillColor=#FFFFFF;" vertex="1" parent="1">
|
||||
<mxGeometry x="520" y="260" width="140" height="44" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 步骤3:查询预约数据 - 数据库泳道 -->
|
||||
<mxCell id="s3" value="查询预约数据" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;fillColor=#FFFFFF;" vertex="1" parent="1">
|
||||
<mxGeometry x="895" y="350" width="140" height="44" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 步骤4:展示预约列表 - 医生泳道 -->
|
||||
<mxCell id="s4" value="查看预约列表" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;fillColor=#FFFFFF;" vertex="1" parent="1">
|
||||
<mxGeometry x="150" y="440" width="130" height="44" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 决策:是否有待接诊预约 -->
|
||||
<mxCell id="d1" value="是否有待接诊预约" style="rhombus;whiteSpace=wrap;html=1;strokeColor=#000000;fillColor=#FFFFFF;" vertex="1" parent="1">
|
||||
<mxGeometry x="145" y="530" width="140" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 步骤5:确认到诊 - 医生泳道 -->
|
||||
<mxCell id="s5" value="确认到诊" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;fillColor=#FFFFFF;" vertex="1" parent="1">
|
||||
<mxGeometry x="150" y="660" width="130" height="44" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 步骤6:创建就诊记录 - 后台系统泳道 -->
|
||||
<mxCell id="s6" value="创建就诊记录" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;fillColor=#FFFFFF;" vertex="1" parent="1">
|
||||
<mxGeometry x="520" y="750" width="140" height="44" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 步骤7:保存就诊记录 - 数据库泳道 -->
|
||||
<mxCell id="s7" value="保存就诊记录" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;fillColor=#FFFFFF;" vertex="1" parent="1">
|
||||
<mxGeometry x="895" y="840" width="140" height="44" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 步骤8:录入病历信息 - 医生泳道 -->
|
||||
<mxCell id="s8" value="录入病历信息" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;fillColor=#FFFFFF;" vertex="1" parent="1">
|
||||
<mxGeometry x="150" y="930" width="130" height="44" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 步骤9:保存病历 - 后台系统泳道 -->
|
||||
<mxCell id="s9" value="保存病历记录" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;fillColor=#FFFFFF;" vertex="1" parent="1">
|
||||
<mxGeometry x="520" y="1020" width="140" height="44" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 决策:是否需要开具处方 -->
|
||||
<mxCell id="d2" value="是否需要开具处方" style="rhombus;whiteSpace=wrap;html=1;strokeColor=#000000;fillColor=#FFFFFF;" vertex="1" parent="1">
|
||||
<mxGeometry x="145" y="1110" width="140" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 步骤10:开具处方 - 医生泳道 -->
|
||||
<mxCell id="s10" value="开具处方" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;fillColor=#FFFFFF;" vertex="1" parent="1">
|
||||
<mxGeometry x="150" y="1240" width="130" height="44" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 步骤11:保存处方与明细 - 后台系统泳道 -->
|
||||
<mxCell id="s11" value="保存处方与明细" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;fillColor=#FFFFFF;" vertex="1" parent="1">
|
||||
<mxGeometry x="520" y="1330" width="140" height="44" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 结束节点 - 医生泳道 -->
|
||||
<mxCell id="end" value="" style="ellipse;html=1;shape=doubleCircle;fillColor=#000000;strokeColor=#000000;" vertex="1" parent="1">
|
||||
<mxGeometry x="200" y="1440" width="30" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 连线 -->
|
||||
<mxCell id="e1" style="endArrow=block;endFill=1;html=1;strokeColor=#000000;" edge="1" parent="1" source="start" target="s1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="e2" style="endArrow=block;endFill=1;html=1;strokeColor=#000000;" edge="1" parent="1" source="s1" target="s2">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="e3" style="endArrow=block;endFill=1;html=1;strokeColor=#000000;" edge="1" parent="1" source="s2" target="s3">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="e4" style="endArrow=block;endFill=1;html=1;strokeColor=#000000;" edge="1" parent="1" source="s3" target="s4">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="e5" style="endArrow=block;endFill=1;html=1;strokeColor=#000000;" edge="1" parent="1" source="s4" target="d1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 决策1:否 → 结束 -->
|
||||
<mxCell id="e6_no" value="否" style="endArrow=block;endFill=1;html=1;strokeColor=#000000;fontColor=#000000;" edge="1" parent="1" source="d1" target="end">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="60" y="570" />
|
||||
<mxPoint x="60" y="1455" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
|
||||
<!-- 决策1:是 → 确认到诊 -->
|
||||
<mxCell id="e6_yes" value="是" style="endArrow=block;endFill=1;html=1;strokeColor=#000000;fontColor=#000000;" edge="1" parent="1" source="d1" target="s5">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<mxCell id="e7" style="endArrow=block;endFill=1;html=1;strokeColor=#000000;" edge="1" parent="1" source="s5" target="s6">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="e8" style="endArrow=block;endFill=1;html=1;strokeColor=#000000;" edge="1" parent="1" source="s6" target="s7">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="e9" style="endArrow=block;endFill=1;html=1;strokeColor=#000000;" edge="1" parent="1" source="s7" target="s8">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="e10" style="endArrow=block;endFill=1;html=1;strokeColor=#000000;" edge="1" parent="1" source="s8" target="s9">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="e11" style="endArrow=block;endFill=1;html=1;strokeColor=#000000;" edge="1" parent="1" source="s9" target="d2">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 决策2:否 → 结束 -->
|
||||
<mxCell id="e12_no" value="否" style="endArrow=block;endFill=1;html=1;strokeColor=#000000;fontColor=#000000;" edge="1" parent="1" source="d2" target="end">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="60" y="1150" />
|
||||
<mxPoint x="60" y="1455" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
|
||||
<!-- 决策2:是 → 开具处方 -->
|
||||
<mxCell id="e12_yes" value="是" style="endArrow=block;endFill=1;html=1;strokeColor=#000000;fontColor=#000000;" edge="1" parent="1" source="d2" target="s10">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<mxCell id="e13" style="endArrow=block;endFill=1;html=1;strokeColor=#000000;" edge="1" parent="1" source="s10" target="s11">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="e14" style="endArrow=block;endFill=1;html=1;strokeColor=#000000;" edge="1" parent="1" source="s11" target="end">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
|
||||
<diagram id="act-customer-appointment" name="图4.8 顾客预约活动图">
|
||||
<mxGraphModel dx="1600" dy="1000" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1200" pageHeight="1400" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
|
||||
<!-- 泳道边框 -->
|
||||
<mxCell id="pool" value="" style="shape=table;startSize=0;container=1;collapsible=0;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=0;strokeColor=#000000;fillColor=none;" vertex="1" parent="1">
|
||||
<mxGeometry x="40" y="30" width="1100" height="1300" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 泳道标题行 -->
|
||||
<mxCell id="lane1_header" value="顾客" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeColor=#000000;fillColor=none;verticalAlign=middle;align=center;" vertex="1" parent="1">
|
||||
<mxGeometry x="40" y="30" width="360" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lane2_header" value="后台系统" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeColor=#000000;fillColor=none;verticalAlign=middle;align=center;" vertex="1" parent="1">
|
||||
<mxGeometry x="400" y="30" width="380" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lane3_header" value="数据库" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeColor=#000000;fillColor=none;verticalAlign=middle;align=center;" vertex="1" parent="1">
|
||||
<mxGeometry x="780" y="30" width="360" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 泳道竖线 -->
|
||||
<mxCell id="lane_div1" value="" style="endArrow=none;html=1;strokeColor=#000000;" edge="1" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="400" y="70" as="sourcePoint" />
|
||||
<mxPoint x="400" y="1330" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="lane_div2" value="" style="endArrow=none;html=1;strokeColor=#000000;" edge="1" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="780" y="70" as="sourcePoint" />
|
||||
<mxPoint x="780" y="1330" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
|
||||
<!-- 开始节点 - 顾客泳道 -->
|
||||
<mxCell id="start" value="" style="ellipse;html=1;shape=mxgraph.flowchart.start_2;fillColor=#000000;strokeColor=#000000;" vertex="1" parent="1">
|
||||
<mxGeometry x="200" y="100" width="30" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 步骤1:登录系统 - 顾客泳道 -->
|
||||
<mxCell id="s1" value="登录系统" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;fillColor=#FFFFFF;" vertex="1" parent="1">
|
||||
<mxGeometry x="150" y="170" width="130" height="44" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 步骤2:选择宠物与时段 - 顾客泳道 -->
|
||||
<mxCell id="s2" value="选择宠物与时段" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;fillColor=#FFFFFF;" vertex="1" parent="1">
|
||||
<mxGeometry x="150" y="270" width="130" height="44" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 步骤3:填写预约信息并提交 - 顾客泳道 -->
|
||||
<mxCell id="s3" value="填写预约信息并提交" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;fillColor=#FFFFFF;" vertex="1" parent="1">
|
||||
<mxGeometry x="140" y="370" width="150" height="44" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 步骤4:参数校验 - 后台系统泳道 -->
|
||||
<mxCell id="s4" value="参数校验" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;fillColor=#FFFFFF;" vertex="1" parent="1">
|
||||
<mxGeometry x="520" y="470" width="140" height="44" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 决策:校验是否通过 -->
|
||||
<mxCell id="d1" value="校验是否通过" style="rhombus;whiteSpace=wrap;html=1;strokeColor=#000000;fillColor=#FFFFFF;" vertex="1" parent="1">
|
||||
<mxGeometry x="525" y="560" width="130" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 步骤5:查询时段可用性 - 数据库泳道 -->
|
||||
<mxCell id="s5" value="查询时段可用性" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;fillColor=#FFFFFF;" vertex="1" parent="1">
|
||||
<mxGeometry x="895" y="700" width="140" height="44" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 决策:时段是否可用 -->
|
||||
<mxCell id="d2" value="时段是否可用" style="rhombus;whiteSpace=wrap;html=1;strokeColor=#000000;fillColor=#FFFFFF;" vertex="1" parent="1">
|
||||
<mxGeometry x="525" y="790" width="130" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 步骤6:保存预约记录 - 数据库泳道 -->
|
||||
<mxCell id="s6" value="保存预约记录" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;fillColor=#FFFFFF;" vertex="1" parent="1">
|
||||
<mxGeometry x="895" y="920" width="140" height="44" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 步骤7:显示预约成功 - 顾客泳道 -->
|
||||
<mxCell id="s7" value="显示预约成功" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;fillColor=#FFFFFF;" vertex="1" parent="1">
|
||||
<mxGeometry x="150" y="1040" width="130" height="44" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 步骤8:提示预约失败 - 顾客泳道(失败路径共用) -->
|
||||
<mxCell id="s_fail" value="提示预约失败信息" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;fillColor=#FFFFFF;" vertex="1" parent="1">
|
||||
<mxGeometry x="150" y="1140" width="130" height="44" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 结束节点 - 顾客泳道 -->
|
||||
<mxCell id="end" value="" style="ellipse;html=1;shape=doubleCircle;fillColor=#000000;strokeColor=#000000;" vertex="1" parent="1">
|
||||
<mxGeometry x="200" y="1240" width="30" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 连线 -->
|
||||
<mxCell id="e1" style="endArrow=block;endFill=1;html=1;strokeColor=#000000;" edge="1" parent="1" source="start" target="s1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="e2" style="endArrow=block;endFill=1;html=1;strokeColor=#000000;" edge="1" parent="1" source="s1" target="s2">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="e3" style="endArrow=block;endFill=1;html=1;strokeColor=#000000;" edge="1" parent="1" source="s2" target="s3">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="e4" style="endArrow=block;endFill=1;html=1;strokeColor=#000000;" edge="1" parent="1" source="s3" target="s4">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="e5" style="endArrow=block;endFill=1;html=1;strokeColor=#000000;" edge="1" parent="1" source="s4" target="d1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 决策1:否 → 返回重新填写 -->
|
||||
<mxCell id="e6_no" value="否" style="endArrow=block;endFill=1;html=1;strokeColor=#000000;fontColor=#000000;dashed=1;" edge="1" parent="1" source="d1" target="s3">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="80" y="600" />
|
||||
<mxPoint x="80" y="392" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
|
||||
<!-- 决策1:是 → 查询时段 -->
|
||||
<mxCell id="e6_yes" value="是" style="endArrow=block;endFill=1;html=1;strokeColor=#000000;fontColor=#000000;" edge="1" parent="1" source="d1" target="s5">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<mxCell id="e7" style="endArrow=block;endFill=1;html=1;strokeColor=#000000;" edge="1" parent="1" source="s5" target="d2">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- 决策2:否 → 提示失败 -->
|
||||
<mxCell id="e8_no" value="否" style="endArrow=block;endFill=1;html=1;strokeColor=#000000;fontColor=#000000;" edge="1" parent="1" source="d2" target="s_fail">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="80" y="830" />
|
||||
<mxPoint x="80" y="1162" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
|
||||
<!-- 决策2:是 → 保存预约 -->
|
||||
<mxCell id="e8_yes" value="是" style="endArrow=block;endFill=1;html=1;strokeColor=#000000;fontColor=#000000;" edge="1" parent="1" source="d2" target="s6">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<mxCell id="e9" style="endArrow=block;endFill=1;html=1;strokeColor=#000000;" edge="1" parent="1" source="s6" target="s7">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="e10" style="endArrow=block;endFill=1;html=1;strokeColor=#000000;" edge="1" parent="1" source="s7" target="end">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="e11" style="endArrow=block;endFill=1;html=1;strokeColor=#000000;" edge="1" parent="1" source="s_fail" target="end">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
||||
146
example/爱维宠物医院管理系统-用例图.drawio
Normal file
146
example/爱维宠物医院管理系统-用例图.drawio
Normal file
@@ -0,0 +1,146 @@
|
||||
<mxfile host="app.diagrams.net" modified="2026-02-25T20:44:00.000Z" agent="OpenCode" version="24.7.17" type="device">
|
||||
<diagram id="customer-usecase" name="顾客用例图">
|
||||
<mxGraphModel dx="1400" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1600" pageHeight="1000" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
<mxCell id="2" value="爱维宠物医院管理系统" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=2;" vertex="1" parent="1"><mxGeometry x="210" y="40" width="1260" height="860" as="geometry" /></mxCell>
|
||||
<mxCell id="10" value="顾客" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;" vertex="1" parent="1"><mxGeometry x="80" y="360" width="50" height="100" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="100" value="登录" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="300" y="90" width="160" height="56" as="geometry" /></mxCell>
|
||||
<mxCell id="101" value="维护宠物档案" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="550" y="150" width="180" height="56" as="geometry" /></mxCell>
|
||||
<mxCell id="102" value="提交预约" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="840" y="150" width="180" height="56" as="geometry" /></mxCell>
|
||||
<mxCell id="103" value="取消预约" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="840" y="240" width="180" height="56" as="geometry" /></mxCell>
|
||||
<mxCell id="104" value="查询预约记录" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="840" y="330" width="180" height="56" as="geometry" /></mxCell>
|
||||
<mxCell id="105" value="查看订单" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="840" y="420" width="180" height="56" as="geometry" /></mxCell>
|
||||
<mxCell id="106" value="查询报告" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="840" y="510" width="180" height="56" as="geometry" /></mxCell>
|
||||
<mxCell id="107" value="查看公告" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="550" y="510" width="180" height="56" as="geometry" /></mxCell>
|
||||
<mxCell id="108" value="修改个人信息" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="550" y="600" width="180" height="56" as="geometry" /></mxCell>
|
||||
<mxCell id="109" value="修改密码" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="550" y="690" width="180" height="56" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="200" style="endArrow=none;html=1;" edge="1" parent="1" source="10" target="101"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="201" style="endArrow=none;html=1;" edge="1" parent="1" source="10" target="102"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="202" style="endArrow=none;html=1;" edge="1" parent="1" source="10" target="103"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="203" style="endArrow=none;html=1;" edge="1" parent="1" source="10" target="104"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="204" style="endArrow=none;html=1;" edge="1" parent="1" source="10" target="105"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="205" style="endArrow=none;html=1;" edge="1" parent="1" source="10" target="106"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="206" style="endArrow=none;html=1;" edge="1" parent="1" source="10" target="107"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="207" style="endArrow=none;html=1;" edge="1" parent="1" source="10" target="108"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="208" style="endArrow=none;html=1;" edge="1" parent="1" source="10" target="109"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="300" value="<<include>>" style="dashed=1;endArrow=open;html=1;" edge="1" parent="1" source="101" target="100"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="301" value="<<include>>" style="dashed=1;endArrow=open;html=1;" edge="1" parent="1" source="102" target="100"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="302" value="<<include>>" style="dashed=1;endArrow=open;html=1;" edge="1" parent="1" source="103" target="100"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="303" value="<<include>>" style="dashed=1;endArrow=open;html=1;" edge="1" parent="1" source="104" target="100"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="304" value="<<include>>" style="dashed=1;endArrow=open;html=1;" edge="1" parent="1" source="105" target="100"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="305" value="<<include>>" style="dashed=1;endArrow=open;html=1;" edge="1" parent="1" source="106" target="100"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="306" value="<<include>>" style="dashed=1;endArrow=open;html=1;" edge="1" parent="1" source="107" target="100"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="307" value="<<include>>" style="dashed=1;endArrow=open;html=1;" edge="1" parent="1" source="108" target="100"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="308" value="<<include>>" style="dashed=1;endArrow=open;html=1;" edge="1" parent="1" source="109" target="100"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="309" value="<<include>>" style="dashed=1;endArrow=open;html=1;" edge="1" parent="1" source="102" target="101"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
|
||||
<diagram id="doctor-usecase" name="医生用例图">
|
||||
<mxGraphModel dx="1400" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1600" pageHeight="1000" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
<mxCell id="2" value="爱维宠物医院管理系统" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=2;" vertex="1" parent="1"><mxGeometry x="210" y="40" width="1260" height="860" as="geometry" /></mxCell>
|
||||
<mxCell id="10" value="医生" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;" vertex="1" parent="1"><mxGeometry x="80" y="360" width="50" height="100" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="100" value="登录" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="300" y="90" width="160" height="56" as="geometry" /></mxCell>
|
||||
<mxCell id="101" value="查看预约" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="560" y="140" width="180" height="56" as="geometry" /></mxCell>
|
||||
<mxCell id="102" value="接诊确认" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="840" y="140" width="180" height="56" as="geometry" /></mxCell>
|
||||
<mxCell id="103" value="创建就诊记录" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="840" y="230" width="180" height="56" as="geometry" /></mxCell>
|
||||
<mxCell id="104" value="编辑病历" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="840" y="320" width="180" height="56" as="geometry" /></mxCell>
|
||||
<mxCell id="105" value="开具处方" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="840" y="410" width="180" height="56" as="geometry" /></mxCell>
|
||||
<mxCell id="106" value="查看处方" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="840" y="500" width="180" height="56" as="geometry" /></mxCell>
|
||||
<mxCell id="107" value="查询历史病历" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="560" y="500" width="180" height="56" as="geometry" /></mxCell>
|
||||
<mxCell id="108" value="查询历史处方" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="560" y="590" width="180" height="56" as="geometry" /></mxCell>
|
||||
<mxCell id="109" value="查看公告" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="560" y="680" width="180" height="56" as="geometry" /></mxCell>
|
||||
<mxCell id="110" value="修改个人信息" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="840" y="680" width="180" height="56" as="geometry" /></mxCell>
|
||||
<mxCell id="111" value="修改密码" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1080" y="680" width="180" height="56" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="200" style="endArrow=none;html=1;" edge="1" parent="1" source="10" target="101"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="201" style="endArrow=none;html=1;" edge="1" parent="1" source="10" target="102"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="202" style="endArrow=none;html=1;" edge="1" parent="1" source="10" target="103"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="203" style="endArrow=none;html=1;" edge="1" parent="1" source="10" target="104"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="204" style="endArrow=none;html=1;" edge="1" parent="1" source="10" target="105"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="205" style="endArrow=none;html=1;" edge="1" parent="1" source="10" target="106"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="206" style="endArrow=none;html=1;" edge="1" parent="1" source="10" target="107"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="207" style="endArrow=none;html=1;" edge="1" parent="1" source="10" target="108"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="208" style="endArrow=none;html=1;" edge="1" parent="1" source="10" target="109"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="209" style="endArrow=none;html=1;" edge="1" parent="1" source="10" target="110"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="210" style="endArrow=none;html=1;" edge="1" parent="1" source="10" target="111"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="300" value="<<include>>" style="dashed=1;endArrow=open;html=1;" edge="1" parent="1" source="101" target="100"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="301" value="<<include>>" style="dashed=1;endArrow=open;html=1;" edge="1" parent="1" source="102" target="100"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="302" value="<<include>>" style="dashed=1;endArrow=open;html=1;" edge="1" parent="1" source="103" target="100"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="303" value="<<include>>" style="dashed=1;endArrow=open;html=1;" edge="1" parent="1" source="104" target="100"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="304" value="<<include>>" style="dashed=1;endArrow=open;html=1;" edge="1" parent="1" source="105" target="100"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="305" value="<<include>>" style="dashed=1;endArrow=open;html=1;" edge="1" parent="1" source="106" target="100"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="306" value="<<include>>" style="dashed=1;endArrow=open;html=1;" edge="1" parent="1" source="107" target="100"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="307" value="<<include>>" style="dashed=1;endArrow=open;html=1;" edge="1" parent="1" source="108" target="100"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="308" value="<<include>>" style="dashed=1;endArrow=open;html=1;" edge="1" parent="1" source="109" target="100"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="309" value="<<include>>" style="dashed=1;endArrow=open;html=1;" edge="1" parent="1" source="110" target="100"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="310" value="<<include>>" style="dashed=1;endArrow=open;html=1;" edge="1" parent="1" source="111" target="100"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="311" value="<<include>>" style="dashed=1;endArrow=open;html=1;" edge="1" parent="1" source="103" target="101"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="312" value="<<include>>" style="dashed=1;endArrow=open;html=1;" edge="1" parent="1" source="104" target="103"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="313" value="<<include>>" style="dashed=1;endArrow=open;html=1;" edge="1" parent="1" source="105" target="103"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="314" value="<<include>>" style="dashed=1;endArrow=open;html=1;" edge="1" parent="1" source="105" target="104"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
|
||||
<diagram id="admin-usecase" name="管理员用例图">
|
||||
<mxGraphModel dx="1400" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1600" pageHeight="1000" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
<mxCell id="2" value="爱维宠物医院管理系统" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=2;" vertex="1" parent="1"><mxGeometry x="210" y="40" width="1260" height="860" as="geometry" /></mxCell>
|
||||
<mxCell id="10" value="管理员" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;" vertex="1" parent="1"><mxGeometry x="80" y="360" width="50" height="100" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="100" value="登录" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="300" y="90" width="160" height="56" as="geometry" /></mxCell>
|
||||
<mxCell id="101" value="用户管理" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="560" y="140" width="180" height="56" as="geometry" /></mxCell>
|
||||
<mxCell id="102" value="医生管理" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="840" y="140" width="180" height="56" as="geometry" /></mxCell>
|
||||
<mxCell id="103" value="公告管理" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1120" y="140" width="180" height="56" as="geometry" /></mxCell>
|
||||
<mxCell id="104" value="药品管理" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="560" y="250" width="180" height="56" as="geometry" /></mxCell>
|
||||
<mxCell id="105" value="药品入库" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="840" y="250" width="180" height="56" as="geometry" /></mxCell>
|
||||
<mxCell id="106" value="药品出库" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1120" y="250" width="180" height="56" as="geometry" /></mxCell>
|
||||
<mxCell id="107" value="库存查询" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="560" y="360" width="180" height="56" as="geometry" /></mxCell>
|
||||
<mxCell id="108" value="统计报表查看" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="840" y="360" width="180" height="56" as="geometry" /></mxCell>
|
||||
<mxCell id="109" value="查看公告" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1120" y="360" width="180" height="56" as="geometry" /></mxCell>
|
||||
<mxCell id="110" value="修改个人信息" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="700" y="520" width="180" height="56" as="geometry" /></mxCell>
|
||||
<mxCell id="111" value="修改密码" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="980" y="520" width="180" height="56" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="200" style="endArrow=none;html=1;" edge="1" parent="1" source="10" target="101"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="201" style="endArrow=none;html=1;" edge="1" parent="1" source="10" target="102"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="202" style="endArrow=none;html=1;" edge="1" parent="1" source="10" target="103"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="203" style="endArrow=none;html=1;" edge="1" parent="1" source="10" target="104"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="204" style="endArrow=none;html=1;" edge="1" parent="1" source="10" target="105"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="205" style="endArrow=none;html=1;" edge="1" parent="1" source="10" target="106"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="206" style="endArrow=none;html=1;" edge="1" parent="1" source="10" target="107"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="207" style="endArrow=none;html=1;" edge="1" parent="1" source="10" target="108"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="208" style="endArrow=none;html=1;" edge="1" parent="1" source="10" target="109"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="209" style="endArrow=none;html=1;" edge="1" parent="1" source="10" target="110"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="210" style="endArrow=none;html=1;" edge="1" parent="1" source="10" target="111"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="300" value="<<include>>" style="dashed=1;endArrow=open;html=1;" edge="1" parent="1" source="101" target="100"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="301" value="<<include>>" style="dashed=1;endArrow=open;html=1;" edge="1" parent="1" source="102" target="100"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="302" value="<<include>>" style="dashed=1;endArrow=open;html=1;" edge="1" parent="1" source="103" target="100"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="303" value="<<include>>" style="dashed=1;endArrow=open;html=1;" edge="1" parent="1" source="104" target="100"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="304" value="<<include>>" style="dashed=1;endArrow=open;html=1;" edge="1" parent="1" source="105" target="100"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="305" value="<<include>>" style="dashed=1;endArrow=open;html=1;" edge="1" parent="1" source="106" target="100"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="306" value="<<include>>" style="dashed=1;endArrow=open;html=1;" edge="1" parent="1" source="107" target="100"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="307" value="<<include>>" style="dashed=1;endArrow=open;html=1;" edge="1" parent="1" source="108" target="100"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="308" value="<<include>>" style="dashed=1;endArrow=open;html=1;" edge="1" parent="1" source="109" target="100"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="309" value="<<include>>" style="dashed=1;endArrow=open;html=1;" edge="1" parent="1" source="110" target="100"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="310" value="<<include>>" style="dashed=1;endArrow=open;html=1;" edge="1" parent="1" source="111" target="100"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="311" value="<<include>>" style="dashed=1;endArrow=open;html=1;" edge="1" parent="1" source="105" target="104"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="312" value="<<include>>" style="dashed=1;endArrow=open;html=1;" edge="1" parent="1" source="106" target="104"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
||||
251
example/爱维宠物医院管理系统-第4章功能结构图.drawio
Normal file
251
example/爱维宠物医院管理系统-第4章功能结构图.drawio
Normal file
@@ -0,0 +1,251 @@
|
||||
<mxfile host="app.diagrams.net" modified="2026-02-26T20:58:00.000Z" agent="OpenCode" version="24.7.17" type="device">
|
||||
<diagram id="fig4-1-customer" name="图4.1 顾客功能结构图">
|
||||
<mxGraphModel dx="1500" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="2200" pageHeight="1400" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
|
||||
<mxCell id="10" value="顾客功能结构" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=2;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="980" y="40" width="220" height="60" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="20" value="账户与安全" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="130" y="180" width="180" height="50" as="geometry" /></mxCell>
|
||||
<mxCell id="21" value="注册登录" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="40" y="290" width="160" height="44" as="geometry" /></mxCell>
|
||||
<mxCell id="22" value="修改密码" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="220" y="290" width="160" height="44" as="geometry" /></mxCell>
|
||||
<mxCell id="23" value="登录认证" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="20" y="390" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="24" value="身份保持" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="140" y="390" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="25" value="密码校验" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="260" y="390" width="120" height="40" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="30" value="个人中心" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="430" y="180" width="180" height="50" as="geometry" /></mxCell>
|
||||
<mxCell id="31" value="查看个人信息" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="340" y="290" width="160" height="44" as="geometry" /></mxCell>
|
||||
<mxCell id="32" value="修改个人信息" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="520" y="290" width="160" height="44" as="geometry" /></mxCell>
|
||||
<mxCell id="33" value="联系方式维护" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="360" y="390" width="140" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="34" value="头像信息维护" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="520" y="390" width="140" height="40" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="40" value="宠物档案管理" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="730" y="180" width="180" height="50" as="geometry" /></mxCell>
|
||||
<mxCell id="41" value="新增宠物档案" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="640" y="290" width="160" height="44" as="geometry" /></mxCell>
|
||||
<mxCell id="42" value="编辑宠物档案" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="820" y="290" width="160" height="44" as="geometry" /></mxCell>
|
||||
<mxCell id="43" value="删除宠物档案" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1000" y="290" width="160" height="44" as="geometry" /></mxCell>
|
||||
<mxCell id="44" value="基础信息录入" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="640" y="390" width="160" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="45" value="健康备注维护" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="820" y="390" width="160" height="40" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="50" value="预约管理" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1130" y="180" width="180" height="50" as="geometry" /></mxCell>
|
||||
<mxCell id="51" value="提交预约" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1040" y="290" width="150" height="44" as="geometry" /></mxCell>
|
||||
<mxCell id="52" value="取消预约" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1200" y="290" width="150" height="44" as="geometry" /></mxCell>
|
||||
<mxCell id="53" value="查询预约记录" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1360" y="290" width="150" height="44" as="geometry" /></mxCell>
|
||||
<mxCell id="54" value="选择宠物与时段" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1040" y="390" width="150" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="55" value="状态跟踪" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1200" y="390" width="150" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="56" value="取消确认" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1360" y="390" width="150" height="40" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="60" value="订单与报告" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1530" y="180" width="180" height="50" as="geometry" /></mxCell>
|
||||
<mxCell id="61" value="查看订单" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1460" y="290" width="140" height="44" as="geometry" /></mxCell>
|
||||
<mxCell id="62" value="查询报告" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1610" y="290" width="140" height="44" as="geometry" /></mxCell>
|
||||
<mxCell id="63" value="订单详情查看" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1460" y="390" width="140" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="64" value="报告内容浏览" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1610" y="390" width="140" height="40" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="70" value="公告与消息" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1880" y="180" width="180" height="50" as="geometry" /></mxCell>
|
||||
<mxCell id="71" value="查看公告" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1810" y="290" width="140" height="44" as="geometry" /></mxCell>
|
||||
<mxCell id="72" value="留言反馈" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1960" y="290" width="140" height="44" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="e100" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="10" target="20"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e101" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="10" target="30"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e102" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="10" target="40"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e103" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="10" target="50"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e104" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="10" target="60"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e105" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="10" target="70"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="e110" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="20" target="21"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e111" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="20" target="22"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e112" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="21" target="23"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e113" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="21" target="24"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e114" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="22" target="25"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="e120" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="30" target="31"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e121" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="30" target="32"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e122" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="32" target="33"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e123" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="32" target="34"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="e130" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="40" target="41"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e131" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="40" target="42"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e132" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="40" target="43"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e133" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="41" target="44"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e134" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="42" target="45"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="e140" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="50" target="51"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e141" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="50" target="52"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e142" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="50" target="53"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e143" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="51" target="54"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e144" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="53" target="55"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e145" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="52" target="56"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="e150" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="60" target="61"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e151" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="60" target="62"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e152" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="61" target="63"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e153" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="62" target="64"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="e160" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="70" target="71"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e161" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="70" target="72"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
|
||||
<diagram id="fig4-2-doctor" name="图4.2 医生功能结构图">
|
||||
<mxGraphModel dx="1500" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="2200" pageHeight="1400" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
|
||||
<mxCell id="10" value="医生功能结构" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=2;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="980" y="40" width="220" height="60" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="20" value="接诊工作台" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="180" y="180" width="190" height="50" as="geometry" /></mxCell>
|
||||
<mxCell id="21" value="查看预约" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="90" y="290" width="160" height="44" as="geometry" /></mxCell>
|
||||
<mxCell id="22" value="接诊确认" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="270" y="290" width="160" height="44" as="geometry" /></mxCell>
|
||||
<mxCell id="23" value="创建就诊记录" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="160" y="390" width="180" height="40" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="30" value="病历管理" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="520" y="180" width="190" height="50" as="geometry" /></mxCell>
|
||||
<mxCell id="31" value="编辑病历" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="430" y="290" width="160" height="44" as="geometry" /></mxCell>
|
||||
<mxCell id="32" value="查询历史病历" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="610" y="290" width="160" height="44" as="geometry" /></mxCell>
|
||||
<mxCell id="33" value="主诉录入" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="390" y="390" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="34" value="检查结果录入" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="520" y="390" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="35" value="诊断结论录入" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="650" y="390" width="120" height="40" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="40" value="处方管理" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="860" y="180" width="190" height="50" as="geometry" /></mxCell>
|
||||
<mxCell id="41" value="开具处方" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="770" y="290" width="160" height="44" as="geometry" /></mxCell>
|
||||
<mxCell id="42" value="查看处方" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="950" y="290" width="160" height="44" as="geometry" /></mxCell>
|
||||
<mxCell id="43" value="查询历史处方" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1130" y="290" width="160" height="44" as="geometry" /></mxCell>
|
||||
<mxCell id="44" value="处方明细维护" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="830" y="390" width="140" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="45" value="用法用量录入" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="980" y="390" width="140" height="40" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="50" value="业务查询与协同" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1370" y="180" width="200" height="50" as="geometry" /></mxCell>
|
||||
<mxCell id="51" value="查看公告" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1300" y="290" width="140" height="44" as="geometry" /></mxCell>
|
||||
<mxCell id="52" value="修改个人信息" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1450" y="290" width="140" height="44" as="geometry" /></mxCell>
|
||||
<mxCell id="53" value="修改密码" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1600" y="290" width="140" height="44" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="60" value="诊疗闭环" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=2;" vertex="1" parent="1"><mxGeometry x="840" y="520" width="300" height="50" as="geometry" /></mxCell>
|
||||
<mxCell id="61" value="查看预约" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="700" y="620" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="62" value="接诊确认" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="830" y="620" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="63" value="病历录入" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="960" y="620" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="64" value="处方开具" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1090" y="620" width="120" height="40" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="e100" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="10" target="20"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e101" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="10" target="30"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e102" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="10" target="40"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e103" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="10" target="50"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e104" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="10" target="60"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="e110" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="20" target="21"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e111" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="20" target="22"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e112" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="22" target="23"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="e120" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="30" target="31"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e121" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="30" target="32"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e122" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="31" target="33"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e123" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="31" target="34"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e124" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="31" target="35"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="e130" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="40" target="41"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e131" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="40" target="42"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e132" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="40" target="43"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e133" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="41" target="44"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e134" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="41" target="45"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="e140" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="50" target="51"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e141" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="50" target="52"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e142" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="50" target="53"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="e150" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="60" target="61"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e151" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="60" target="62"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e152" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="60" target="63"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e153" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="60" target="64"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
|
||||
<diagram id="fig4-3-admin" name="图4.3 管理员功能结构图">
|
||||
<mxGraphModel dx="1500" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="2400" pageHeight="1400" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
|
||||
<mxCell id="10" value="管理员功能结构" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=2;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="1080" y="40" width="220" height="60" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="20" value="账户与权限管理" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="120" y="180" width="220" height="50" as="geometry" /></mxCell>
|
||||
<mxCell id="21" value="用户管理" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="40" y="290" width="140" height="44" as="geometry" /></mxCell>
|
||||
<mxCell id="22" value="医生管理" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="190" y="290" width="140" height="44" as="geometry" /></mxCell>
|
||||
<mxCell id="23" value="新增用户" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="10" y="390" width="110" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="24" value="编辑用户" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="120" y="390" width="110" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="25" value="禁用/启用用户" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="230" y="390" width="120" height="40" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="30" value="公告管理" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="470" y="180" width="220" height="50" as="geometry" /></mxCell>
|
||||
<mxCell id="31" value="发布公告" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="410" y="290" width="120" height="44" as="geometry" /></mxCell>
|
||||
<mxCell id="32" value="编辑公告" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="540" y="290" width="120" height="44" as="geometry" /></mxCell>
|
||||
<mxCell id="33" value="删除公告" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="670" y="290" width="120" height="44" as="geometry" /></mxCell>
|
||||
<mxCell id="34" value="公告列表查询" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="490" y="390" width="170" height="40" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="40" value="药品基础管理" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="850" y="180" width="220" height="50" as="geometry" /></mxCell>
|
||||
<mxCell id="41" value="新增药品" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="790" y="290" width="120" height="44" as="geometry" /></mxCell>
|
||||
<mxCell id="42" value="编辑药品" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="920" y="290" width="120" height="44" as="geometry" /></mxCell>
|
||||
<mxCell id="43" value="禁用/启用药品" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1050" y="290" width="140" height="44" as="geometry" /></mxCell>
|
||||
<mxCell id="44" value="药品分类维护" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="850" y="390" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="45" value="规格价格维护" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="980" y="390" width="120" height="40" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="50" value="库存流水管理" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1260" y="180" width="220" height="50" as="geometry" /></mxCell>
|
||||
<mxCell id="51" value="药品入库" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1200" y="290" width="120" height="44" as="geometry" /></mxCell>
|
||||
<mxCell id="52" value="药品出库" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1330" y="290" width="120" height="44" as="geometry" /></mxCell>
|
||||
<mxCell id="53" value="库存查询" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1460" y="290" width="120" height="44" as="geometry" /></mxCell>
|
||||
<mxCell id="54" value="入库记录查询" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1210" y="390" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="55" value="出库记录查询" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1340" y="390" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="56" value="低库存预警查看" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1470" y="390" width="140" height="40" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="60" value="统计分析" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1650" y="180" width="220" height="50" as="geometry" /></mxCell>
|
||||
<mxCell id="61" value="预约统计" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1590" y="290" width="120" height="44" as="geometry" /></mxCell>
|
||||
<mxCell id="62" value="订单统计" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1720" y="290" width="120" height="44" as="geometry" /></mxCell>
|
||||
<mxCell id="63" value="药品消耗统计" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1850" y="290" width="140" height="44" as="geometry" /></mxCell>
|
||||
<mxCell id="64" value="时间范围筛选" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1670" y="390" width="120" height="40" as="geometry" /></mxCell>
|
||||
<mxCell id="65" value="可视化展示" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1810" y="390" width="120" height="40" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="70" value="系统维护" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="2010" y="180" width="180" height="50" as="geometry" /></mxCell>
|
||||
<mxCell id="71" value="修改个人信息" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1940" y="290" width="140" height="44" as="geometry" /></mxCell>
|
||||
<mxCell id="72" value="修改密码" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="2090" y="290" width="120" height="44" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="e100" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="10" target="20"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e101" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="10" target="30"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e102" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="10" target="40"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e103" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="10" target="50"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e104" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="10" target="60"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e105" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="10" target="70"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="e110" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="20" target="21"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e111" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="20" target="22"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e112" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="21" target="23"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e113" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="21" target="24"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e114" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="21" target="25"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="e120" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="30" target="31"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e121" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="30" target="32"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e122" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="30" target="33"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e123" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="32" target="34"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="e130" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="40" target="41"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e131" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="40" target="42"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e132" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="40" target="43"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e133" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="41" target="44"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e134" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="42" target="45"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="e140" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="50" target="51"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e141" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="50" target="52"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e142" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="50" target="53"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e143" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="51" target="54"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e144" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="52" target="55"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e145" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="53" target="56"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="e150" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="60" target="61"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e151" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="60" target="62"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e152" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="60" target="63"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e153" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="61" target="64"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e154" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="63" target="65"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="e160" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="70" target="71"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="e161" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" edge="1" parent="1" source="70" target="72"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
||||
42
example/爱维宠物医院管理系统-类图.drawio
Normal file
42
example/爱维宠物医院管理系统-类图.drawio
Normal file
@@ -0,0 +1,42 @@
|
||||
<mxfile host="app.diagrams.net" modified="2026-02-26T21:12:00.000Z" agent="OpenCode" version="24.7.17" type="device">
|
||||
<diagram id="class-diagram" name="图4.4 系统类图">
|
||||
<mxGraphModel dx="1600" dy="1000" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="2600" pageHeight="1600" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
|
||||
<mxCell id="10" value="系统类图(核心实体类)" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=2;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="1160" y="20" width="260" height="56" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="100" value="<b>用户类</b><hr/>+ id: Long<br/>+ username: String<br/>+ phone: String<br/>+ email: String<br/>+ password: String<br/>+ role: String<br/>+ status: Integer<br/>+ avatar: String<br/>+ createTime: DateTime<br/>+ updateTime: DateTime<br/>+ deleted: Integer" style="shape=umlClass;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="80" y="140" width="250" height="280" as="geometry" /></mxCell>
|
||||
<mxCell id="101" value="<b>医生类</b><hr/>+ id: Long<br/>+ name: String<br/>+ department: String<br/>+ title: String<br/>+ phone: String<br/>+ email: String<br/>+ status: Integer<br/>+ createTime: DateTime<br/>+ updateTime: DateTime<br/>+ deleted: Integer" style="shape=umlClass;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="380" y="140" width="250" height="260" as="geometry" /></mxCell>
|
||||
<mxCell id="102" value="<b>宠物类</b><hr/>+ id: Long<br/>+ ownerId: Long<br/>+ name: String<br/>+ species: String<br/>+ breed: String<br/>+ gender: String<br/>+ birthday: Date<br/>+ weight: Decimal<br/>+ remark: String<br/>+ createTime: DateTime<br/>+ updateTime: DateTime<br/>+ deleted: Integer" style="shape=umlClass;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="80" y="520" width="260" height="300" as="geometry" /></mxCell>
|
||||
<mxCell id="103" value="<b>预约类</b><hr/>+ id: Long<br/>+ customerId: Long<br/>+ petId: Long<br/>+ doctorId: Long<br/>+ department: String<br/>+ appointmentDate: Date<br/>+ timeSlot: String<br/>+ status: String<br/>+ remark: String<br/>+ createTime: DateTime<br/>+ updateTime: DateTime<br/>+ deleted: Integer" style="shape=umlClass;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="390" y="520" width="270" height="300" as="geometry" /></mxCell>
|
||||
<mxCell id="104" value="<b>就诊类</b><hr/>+ id: Long<br/>+ appointmentId: Long<br/>+ customerId: Long<br/>+ petId: Long<br/>+ doctorId: Long<br/>+ symptoms: String<br/>+ diagnosis: String<br/>+ treatmentPlan: String<br/>+ status: String<br/>+ paymentStatus: String<br/>+ createTime: DateTime<br/>+ updateTime: DateTime<br/>+ deleted: Integer" style="shape=umlClass;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="710" y="520" width="280" height="320" as="geometry" /></mxCell>
|
||||
<mxCell id="105" value="<b>病历类</b><hr/>+ id: Long<br/>+ visitId: Long<br/>+ doctorId: Long<br/>+ content: Text<br/>+ recordType: String<br/>+ createTime: DateTime<br/>+ updateTime: DateTime<br/>+ deleted: Integer" style="shape=umlClass;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1030" y="520" width="250" height="230" as="geometry" /></mxCell>
|
||||
<mxCell id="106" value="<b>处方类</b><hr/>+ id: Long<br/>+ visitId: Long<br/>+ doctorId: Long<br/>+ customerId: Long<br/>+ totalAmount: Decimal<br/>+ status: String<br/>+ createTime: DateTime<br/>+ updateTime: DateTime<br/>+ deleted: Integer" style="shape=umlClass;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1320" y="520" width="260" height="250" as="geometry" /></mxCell>
|
||||
<mxCell id="107" value="<b>处方明细类</b><hr/>+ id: Long<br/>+ prescriptionId: Long<br/>+ drugId: Long<br/>+ quantity: Integer<br/>+ dosage: String<br/>+ frequency: String<br/>+ duration: String<br/>+ createTime: DateTime<br/>+ updateTime: DateTime<br/>+ deleted: Integer" style="shape=umlClass;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1620" y="520" width="280" height="270" as="geometry" /></mxCell>
|
||||
<mxCell id="108" value="<b>药品类</b><hr/>+ id: Long<br/>+ name: String<br/>+ category: String<br/>+ specification: String<br/>+ unitPrice: Decimal<br/>+ stockQuantity: Integer<br/>+ alertThreshold: Integer<br/>+ status: Integer<br/>+ createTime: DateTime<br/>+ updateTime: DateTime<br/>+ deleted: Integer" style="shape=umlClass;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1940" y="520" width="280" height="290" as="geometry" /></mxCell>
|
||||
<mxCell id="109" value="<b>订单类</b><hr/>+ id: Long<br/>+ visitId: Long<br/>+ customerId: Long<br/>+ amount: Decimal<br/>+ status: String<br/>+ paymentMethod: String<br/>+ paymentTime: DateTime<br/>+ createTime: DateTime<br/>+ updateTime: DateTime<br/>+ deleted: Integer" style="shape=umlClass;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="710" y="930" width="280" height="270" as="geometry" /></mxCell>
|
||||
<mxCell id="110" value="<b>入库类</b><hr/>+ id: Long<br/>+ drugId: Long<br/>+ quantity: Integer<br/>+ unitPrice: Decimal<br/>+ supplier: String<br/>+ operatorId: Long<br/>+ createTime: DateTime<br/>+ updateTime: DateTime<br/>+ deleted: Integer" style="shape=umlClass;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1940" y="930" width="270" height="250" as="geometry" /></mxCell>
|
||||
<mxCell id="111" value="<b>出库类</b><hr/>+ id: Long<br/>+ drugId: Long<br/>+ quantity: Integer<br/>+ purpose: String<br/>+ operatorId: Long<br/>+ createTime: DateTime<br/>+ updateTime: DateTime<br/>+ deleted: Integer" style="shape=umlClass;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="2240" y="930" width="260" height="230" as="geometry" /></mxCell>
|
||||
<mxCell id="112" value="<b>公告类</b><hr/>+ id: Long<br/>+ title: String<br/>+ content: Text<br/>+ publishTime: DateTime<br/>+ status: Integer<br/>+ createTime: DateTime<br/>+ updateTime: DateTime<br/>+ deleted: Integer" style="shape=umlClass;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1030" y="140" width="250" height="230" as="geometry" /></mxCell>
|
||||
<mxCell id="113" value="<b>报告类</b><hr/>+ id: Long<br/>+ visitId: Long<br/>+ customerId: Long<br/>+ petId: Long<br/>+ reportType: String<br/>+ content: Text<br/>+ createTime: DateTime<br/>+ updateTime: DateTime<br/>+ deleted: Integer" style="shape=umlClass;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1320" y="140" width="260" height="250" as="geometry" /></mxCell>
|
||||
|
||||
<mxCell id="200" value="1:N" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=none;" edge="1" parent="1" source="100" target="102"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="201" value="1:N" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=none;" edge="1" parent="1" source="100" target="103"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="202" value="1:N" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=none;" edge="1" parent="1" source="101" target="103"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="203" value="1:N" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=none;" edge="1" parent="1" source="102" target="103"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="204" value="1:1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=none;" edge="1" parent="1" source="103" target="104"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="205" value="1:N" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=none;" edge="1" parent="1" source="104" target="105"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="206" value="1:N" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=none;" edge="1" parent="1" source="104" target="106"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="207" value="1:N" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=none;" edge="1" parent="1" source="106" target="107"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="208" value="N:1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=none;" edge="1" parent="1" source="107" target="108"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="209" value="1:1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=none;" edge="1" parent="1" source="104" target="109"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="210" value="1:N" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=none;" edge="1" parent="1" source="108" target="110"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="211" value="1:N" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=none;" edge="1" parent="1" source="108" target="111"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="212" value="1:N" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=none;" edge="1" parent="1" source="104" target="113"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
<mxCell id="213" value="1:N" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=none;" edge="1" parent="1" source="100" target="112"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
||||
Reference in New Issue
Block a user