witSelectSite 站点选择
witSelectSite 是一个医院站点选择器组件,基于 Element Plus Select 实现,用于在多医院系统中切换用户当前使用的医院站点。组件支持医院列表加载、站点切换和用户信息更新等功能。
用法实例
vue
<template>
<div>
<!-- 站点选择组件 -->
<wit-select-site />
</div>
</template>
<script lang="ts" setup>
// 组件会自动加载用户可访问的医院列表并处理站点切换逻辑
</script>API
组件
vue
<wit-select-site />属性
| 属性名 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| 无 | - | - | 无自定义属性 |
插槽
| 插槽名 | 描述 |
|---|---|
| 无 | 无自定义插槽 |
事件
| 事件名 | 描述 | 参数 |
|---|---|---|
| 无 | 无自定义事件 | - |
功能特性
医院列表加载
- 组件挂载时自动从API获取用户可访问的医院列表
- 初始化时自动设置当前医院为默认选中值
站点切换功能
- 支持通过下拉选择切换医院站点
- 切换时调用API更新用户的当前医院信息
- 切换成功后更新用户令牌和医院信息
系统集成
- 与用户存储(userStore)集成,获取和更新用户信息
- 与通用存储(commonStore)集成,初始化系统配置
- 使用会话存储保存用户令牌
用户体验
- 提供搜索过滤功能,快速定位医院
- 切换过程中显示加载状态
- 操作结果给出消息提示
- 切换成功后自动刷新页面
操作流程
- 组件挂载时,从API获取用户可访问的医院列表
- 设置当前医院为默认选中值
- 用户通过下拉选择其他医院
- 调用API切换用户的当前医院
- 更新用户令牌和医院信息
- 刷新系统配置
- 刷新页面使更改生效
TIP
- 组件依赖用户权限系统,确保用户已登录且有权限访问多个医院
- 切换医院后会刷新整个页面,确保所有组件都能获取到最新的医院信息
- 组件使用了会话存储保存用户令牌,请确保浏览器支持会话存储
- 组件样式继承自Element Plus Select,可通过CSS进行自定义
