# OpenHIS UI 风格规范文档 ## 1. 整体布局 ### 1.1 容器结构 ```
... ... ...
...
``` ### 1.2 样式说明 - `app-container`: 最外层容器,全屏背景 - `components-container`: 白色卡片容器,带阴影 - `query-form`: 查询表单,底部无间距 - `button-group`: 按钮组,间距 8px - `pagination-container`: 分页容器,顶部间距 16px ## 2. 统一样式规范 ### 2.1 颜色规范 ```scss // 主色调 --color-primary: #409EFF; --color-success: #67C23A; --color-warning: #E6A23C; --color-danger: #F56C6C; --color-info: #909399; // 文字颜色 --text-regular: #606266; // 常规文字 --text-secondary: #909399; // 次要文字 --text-placeholder: #A8ABB2; // 占位符 ``` ### 2.2 间距规范 ```scss // 容器内边距 $spacing-xs: 4px; $spacing-sm: 8px; $spacing-md: 16px; $spacing-lg: 20px; $spacing-xl: 24px; // 表单项间距 $form-item-margin-bottom: 18px; ``` ### 2.3 圆角规范 ```scss $border-radius-sm: 4px; // 小圆角 - 按钮、输入框 $border-radius-md: 8px; // 中圆角 - 卡片、对话框 $border-radius-lg: 12px; // 大圆角 - 特殊组件 ``` ### 2.4 阴影规范 ```scss // 卡片阴影 $box-shadow-card: 0 2px 8px rgba(0, 0, 0, 0.08); // 表格阴影 $box-shadow-table: 0 1px 4px rgba(0, 0, 0, 0.05); // 浮动元素阴影 $box-shadow-float: 0 2px 12px rgba(0, 0, 0, 0.1); ``` ### 2.5 字体规范 ```scss $font-size-base: 14px; // 基础字号 $font-size-sm: 12px; // 小字号 $font-size-lg: 16px; // 大字号 $font-size-xl: 18px; // 特大字号 $font-weight-regular: 400; // 常规 $font-weight-medium: 500; // 中等 $font-weight-bold: 600; // 加粗 ``` ## 3. 组件规范 ### 3.1 表单组件 #### 输入框 ```vue ``` #### 下拉框 ```vue ``` #### 按钮规范 ```vue 按钮文字 按钮文字 按钮文字 按钮文字 按钮文字 文字 ``` ### 3.2 表格组件 ```vue ``` ### 3.3 对话框组件 ```vue ``` ## 4. 响应式设计 ### 4.1 断点规范 ```scss $screen-xs: 480px; $screen-sm: 768px; $screen-md: 992px; $screen-lg: 1200px; ``` ### 4.2 响应式规范 ```vue ... ... ``` ## 5. 交互规范 ### 5.1 加载状态 ```vue 保存 提交 ``` ### 5.2 空状态 ```vue ``` ### 5.3 确认对话框 ```vue

{{ confirmMessage }}

``` ## 6. 命名规范 ### 6.1 CSS 类名 - 使用 kebab-case(短横线命名) - 遵循 BEM 命名规范 - 示例:`notice-container`, `button-group`, `action-button` ### 6.2 变量命名 - Vue:使用 camelCase - 事件处理:以 `handle` 开头 - 数据获取:以 `get`/`load` 开头 - 示例:`handleQuery`, `loadData`, `handleSubmit` ### 6.3 组件命名 - 使用 PascalCase - 多个单词时使用驼峰命名 - 示例:`NoticePanel`, `TableHeader`, `SearchForm` ## 7. 国际化规范 ```vue ``` ## 8. 性能优化 ### 8.1 图片优化 - 使用 WebP 格式 - 图片懒加载 - 响应式图片 ### 8.2 列表优化 - 虚拟滚动(大列表) - 分页加载 - 骨架屏 ### 8.3 缓存策略 - 使用 Vuex/Pinia 缓存用户数据 - 本地存储持久化配置 - 请求去重 ## 9. 无障碍规范 ### 9.1 语义化标签 ```vue